refactor(suggestion): drive suggestion decisions from one core step and split SuggestionService collaborators

This commit is contained in:
Yun Chan 2026-09-28 00:53:42 +09:00
parent 9aa7302944
commit 190b6db284
13 changed files with 1994 additions and 496 deletions

View file

@ -46,6 +46,8 @@ export function registerSuggestionHandlers(): void {
async (_event, params: SetSuggestionConfigParams) => {
try {
const service = getSuggestionService()
const modelChangeRequested = params.modelId !== undefined
const previousModel = modelChangeRequested ? service.resolveModel() : null
if (params.enabled !== undefined) service.setEnabled(params.enabled === true)
if (params.modelId !== undefined) configSet('suggestionModelId', params.modelId || null)
if (params.triggerDelayMs !== undefined) {
@ -75,6 +77,8 @@ export function registerSuggestionHandlers(): void {
}
service.applyConfig()
// 새 모델은 콜드일 수 있다 — 첫 멈춤에서 타임아웃되기 전에 미리 올린다.
if (modelChangeRequested && service.resolveModel() !== previousModel) service.handleModelChanged()
return ipcSuccess(service.getState())
} catch (error) {
return ipcError(