kakaotalk-chat-analyzer 0.19.6 → 0.19.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,10 +8,12 @@ export declare function phaseReserveMs(phase: BudgetSkippablePhase, preset: Anal
8
8
  export declare class AnalysisBudgetTracker {
9
9
  private readonly preset;
10
10
  private readonly profile;
11
- private readonly llmSize?;
11
+ private llmSize?;
12
12
  private readonly budgetMs;
13
13
  private readonly started;
14
14
  constructor(preset: AnalysisPresetName, messageCount: number, profile: MachineProfile, llmSize?: Qwen35Size | undefined);
15
+ /** LLM 직전 RAM 재프로브 후 예약 시간 갱신 */
16
+ updateLlmSize(size: Qwen35Size | undefined): void;
15
17
  remainingMs(): number;
16
18
  shouldSkip(phase: BudgetSkippablePhase): boolean;
17
19
  }
@@ -44,6 +44,10 @@ export class AnalysisBudgetTracker {
44
44
  this.llmSize = llmSize;
45
45
  this.budgetMs = analysisBudgetMs(preset, messageCount, profile);
46
46
  }
47
+ /** LLM 직전 RAM 재프로브 후 예약 시간 갱신 */
48
+ updateLlmSize(size) {
49
+ this.llmSize = size;
50
+ }
47
51
  remainingMs() {
48
52
  return Math.max(0, this.budgetMs - (performance.now() - this.started));
49
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-budget.js","sourceRoot":"","sources":["../../src/analysis-budget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAuB,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,MAAM,eAAe,GAAyC;IAC5D,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,MAAM;IACjB,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,iCAAiC;AACjC,MAAM,UAAU,cAAc,CAC5B,KAA2B,EAC3B,MAA0B,EAC1B,OAAuB,EACvB,OAAoB;IAEpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAC1D,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAC1D,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAClC,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAClC,OAAO,eAAe,CAAC,SAAS,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,iCAAiC;AACjC,MAAM,OAAO,qBAAqB;IAKb;IAEA;IACA;IAPF,QAAQ,CAAS;IACjB,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAE7C,YACmB,MAA0B,EAC3C,YAAoB,EACH,OAAuB,EACvB,OAAoB;QAHpB,WAAM,GAAN,MAAM,CAAoB;QAE1B,YAAO,GAAP,OAAO,CAAgB;QACvB,YAAO,GAAP,OAAO,CAAa;QAErC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,KAA2B;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1E,IACE,KAAK,KAAK,UAAU;YACpB,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACpC,MAAM,IAAI,MAAM;YAChB,MAAM,GAAG,IAAI,EACb,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,SAAS,KAAK,eAAe,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CACjG,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"analysis-budget.js","sourceRoot":"","sources":["../../src/analysis-budget.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,9 @@ function collectEnvOverrides() {
29
29
  "KCA_LLM_MOCK",
30
30
  "KCA_LLM_BACKEND",
31
31
  "KCA_LLM_GPU",
32
+ "KCA_LLM_TIMEOUT_MS",
33
+ "KCA_LLM_RAM_RESERVE_GB",
34
+ "KCA_DEBUG_LLM",
32
35
  "KCA_EMBEDDING_TOPICS",
33
36
  "KCA_INVOKER",
34
37
  "KCA_MEMORY_PROBE",
@@ -122,9 +125,11 @@ function inferSentimentSkipReason(options, preset, used, messageCount) {
122
125
  }
123
126
  return "실행 중 오류 또는 샘플 부족";
124
127
  }
125
- function inferLlmSkipReason(used, plan) {
128
+ function inferLlmSkipReason(used, plan, summarySkippedReason) {
126
129
  if (used)
127
130
  return undefined;
131
+ if (summarySkippedReason?.trim())
132
+ return summarySkippedReason.trim();
128
133
  if (!plan.enabled)
129
134
  return plan.reason;
130
135
  return "GGUF 없음·예산 부족·추론 실패 또는 JSON 파싱 실패";
@@ -188,7 +193,7 @@ export function buildAnalysisEffectiveConfig(data, cli, machine) {
188
193
  reason: llmPlan.reason,
189
194
  used: llmUsed,
190
195
  modelId: qwenModelIdForPlan(llmPlan),
191
- skippedReason: inferLlmSkipReason(llmUsed, llmPlan),
196
+ skippedReason: inferLlmSkipReason(llmUsed, llmPlan, data.summary.llmSkippedReason),
192
197
  },
193
198
  topicModel: resolveTopicModel(data),
194
199
  embeddingTopics: profileSettings.useEmbeddingTopics,
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-effective-config.js","sourceRoot":"","sources":["../../src/analysis-effective-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-effective-config.js","sourceRoot":"","sources":["../../src/analysis-effective-config.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ import { enrichReportWithLlm } from "./llm-apply.js";
17
17
  import { resolvePresetNameWithAuto } from "./analysis-preset.js";
18
18
  import { probeMachineProfileSync } from "./analysis-capability.js";
19
19
  import { resolveLlmRunPlan } from "./llm-policy.js";
20
- import { AnalysisBudgetTracker } from "./analysis-budget.js";
20
+ import { AnalysisBudgetTracker, phaseReserveMs } from "./analysis-budget.js";
21
21
  import { createMessageSpoolPath, iterateSpoolRecords, removeSpool, } from "./analysis-spool.js";
22
22
  import { createWriteStream } from "node:fs";
23
23
  import { stat } from "node:fs/promises";
@@ -188,6 +188,31 @@ async function runKeywordPass(filePath, agg, streamOpts) {
188
188
  }
189
189
  }
190
190
  }
191
+ function reportWithLlmSkipped(report, reason) {
192
+ return {
193
+ ...report,
194
+ summary: {
195
+ ...report.summary,
196
+ usedLlmAnalysis: false,
197
+ llmSkippedReason: reason,
198
+ },
199
+ };
200
+ }
201
+ async function runLlmPhaseIfAllowed(report, options, preset, budget, llmPlanHint) {
202
+ const profile = probeMachineProfileSync();
203
+ const llmPlan = llmPlanHint ??
204
+ resolveLlmRunPlan({ preset, profile, messageCount: report.summary.totalMessages });
205
+ budget.updateLlmSize(llmPlan.size);
206
+ if (!llmPlan.enabled) {
207
+ return reportWithLlmSkipped(report, llmPlan.reason);
208
+ }
209
+ if (budget.shouldSkip("llm")) {
210
+ const remainSec = Math.round(budget.remainingMs() / 1000);
211
+ const needSec = Math.round(phaseReserveMs("llm", preset, profile, llmPlan.size) / 1000);
212
+ return reportWithLlmSkipped(report, `예산 부족 (남은 ~${remainSec}s, LLM 필요 ~${needSec}s)`);
213
+ }
214
+ return enrichReportWithLlm(report, options);
215
+ }
191
216
  export async function buildReportFromExportSync(filePath, options) {
192
217
  const showProgress = options?.progress !== false;
193
218
  if (showProgress)
@@ -332,15 +357,17 @@ export async function buildReportFromExportSync(filePath, options) {
332
357
  usedToxicityAnalysis: usedToxicityOverlap,
333
358
  koreanPrimary: prepass.isPrimarilyKorean(),
334
359
  }, prepass.messageCount));
335
- llmPlan = resolveLlmRunPlan({ preset, profile: profileMachine, messageCount: prepass.messageCount });
360
+ llmPlan = resolveLlmRunPlan({
361
+ preset,
362
+ profile: probeMachineProfileSync(),
363
+ messageCount: prepass.messageCount,
364
+ });
336
365
  phaseProfiler.start("llm");
337
- if (llmPlan.enabled && !budget.shouldSkip("llm")) {
338
- if (showProgress)
339
- logReportProgress({ phase: "LLM 서사", current: 0, total: 1 });
340
- report = await enrichReportWithLlm(report, options);
341
- if (showProgress)
342
- logReportProgress({ phase: "LLM 서사", current: 1, total: 1 });
343
- }
366
+ if (showProgress)
367
+ logReportProgress({ phase: "LLM 서사", current: 0, total: 1 });
368
+ report = await runLlmPhaseIfAllowed(report, options, preset, budget, llmPlan);
369
+ if (showProgress)
370
+ logReportProgress({ phase: "LLM 서사", current: 1, total: 1 });
344
371
  phaseProfiler.end("llm");
345
372
  if (showProgress) {
346
373
  logReportProgress({ phase: "리포트 마무리", current: 1, total: 1 });
@@ -416,14 +443,17 @@ export async function buildReportFromExportSync(filePath, options) {
416
443
  usedToxicityAnalysis: usedToxicity,
417
444
  koreanPrimary: prepass.isPrimarilyKorean(),
418
445
  }, prepass.messageCount));
446
+ llmPlan = resolveLlmRunPlan({
447
+ preset,
448
+ profile: probeMachineProfileSync(),
449
+ messageCount: prepass.messageCount,
450
+ });
419
451
  phaseProfiler.start("llm");
420
- if (llmPlan.enabled && !budget.shouldSkip("llm")) {
421
- if (showProgress)
422
- logReportProgress({ phase: "LLM 서사", current: 0, total: 1 });
423
- report = await enrichReportWithLlm(report, options);
424
- if (showProgress)
425
- logReportProgress({ phase: "LLM 서사", current: 1, total: 1 });
426
- }
452
+ if (showProgress)
453
+ logReportProgress({ phase: "LLM 서사", current: 0, total: 1 });
454
+ report = await runLlmPhaseIfAllowed(report, options, preset, budget, llmPlan);
455
+ if (showProgress)
456
+ logReportProgress({ phase: "LLM 서사", current: 1, total: 1 });
427
457
  phaseProfiler.end("llm");
428
458
  if (showProgress) {
429
459
  logReportProgress({ phase: "리포트 마무리", current: 1, total: 1 });
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../src/analysis.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,11 @@ export async function enrichReportWithLlm(report, options) {
5
5
  if (!result.used) {
6
6
  return {
7
7
  ...report,
8
- summary: { ...report.summary, usedLlmAnalysis: false },
8
+ summary: {
9
+ ...report.summary,
10
+ usedLlmAnalysis: false,
11
+ ...(result.skipReason ? { llmSkippedReason: result.skipReason } : {}),
12
+ },
9
13
  };
10
14
  }
11
15
  return {
@@ -13,7 +17,11 @@ export async function enrichReportWithLlm(report, options) {
13
17
  topics: result.topics ?? report.topics,
14
18
  narrative: result.narrative ?? report.narrative,
15
19
  llmInsights: result.llmInsights ?? report.llmInsights,
16
- summary: { ...report.summary, usedLlmAnalysis: true },
20
+ summary: {
21
+ ...report.summary,
22
+ usedLlmAnalysis: true,
23
+ llmSkippedReason: undefined,
24
+ },
17
25
  };
18
26
  }
19
27
  //# sourceMappingURL=llm-apply.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-apply.js","sourceRoot":"","sources":["../../src/llm-apply.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,iCAAiC;AACjC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAkB,EAClB,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;SACvD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;QACrD,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE;KACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"llm-apply.js","sourceRoot":"","sources":["../../src/llm-apply.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,iCAAiC;AACjC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAkB,EAClB,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,eAAe,EAAE,KAAK;gBACtB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;QACrD,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,OAAO;YACjB,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,SAAS;SAC5B;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import type { ReportData } from "./types.js";
2
+ export interface BuildLlmPromptOptions {
3
+ compact?: boolean;
4
+ }
2
5
  /** LLM 입력 — 원문 메시지·PII 없이 통계·키워드·주제만 */
3
- export declare function buildLlmPromptPayload(data: ReportData): string;
6
+ export declare function buildLlmPromptPayload(data: ReportData, opts?: BuildLlmPromptOptions): string;
4
7
  export declare const LLM_SYSTEM_PROMPT = "\uB2F9\uC2E0\uC740 \uCE74\uCE74\uC624\uD1A1 \uB300\uD654\uBC29 \uD1B5\uACC4 \uB9AC\uD3EC\uD2B8 \uD3B8\uC9D1\uC790\uC785\uB2C8\uB2E4.\n\uC0AC\uC6A9\uC790 \uBA54\uC2DC\uC9C0 \uC6D0\uBB38\uC740 \uC5C6\uC2B5\uB2C8\uB2E4. \uD1B5\uACC4\uB9CC \uBCF4\uACE0 JSON\uB9CC \uCD9C\uB825\uD558\uC138\uC694.\n\uD615\uC2DD:\n{\"topicTitles\":[{\"i\":0,\"title\":\"\uC9E7\uC740 \uD55C\uAD6D\uC5B4 \uC81C\uBAA9\"}],\"topicProposals\":[{\"title\":\"AI \uCF54\uB529\",\"terms\":[\"\uD074\uB85C\uB4DC\"],\"keywordEvidence\":[\"\uD074\uB85C\uB4DC\"]}],\"paragraphs\":[\"\uC11C\uC0AC \uBB38\uB2E81\",\"\uC11C\uC0AC \uBB38\uB2E82\"]}\ntopicTitles\uB294 \uC8FC\uC81C\uD6C4\uBCF4 \uC778\uB371\uC2A4 i\uC5D0 \uB9DE\uCDB0 \uCD5C\uB300 12\uAC1C, title 40\uC790 \uC774\uB0B4.\ntopicProposals\uB294 \uD0A4\uC6CC\uB4DC \uBAA9\uB85D\uC5D0 \uC788\uB294 \uB2E8\uC5B4\uB9CC keywordEvidence\uC5D0 \uB123\uC5B4 \uCD5C\uB300 3\uAC1C(\uC0C8 \uD14C\uB9C8 \uC81C\uC548).\nparagraphs\uB294 2~3\uAC1C, \uAC01 120\uC790 \uC774\uB0B4, \uB9C8\uD06C\uB2E4\uC6B4 **\uAC15\uC870**\uB9CC \uD5C8\uC6A9.\ninsightBullets\uB294 \uD1B5\uACC4 \uADFC\uAC70 \uD55C \uC904 2~4\uAC1C(\uC22B\uC790\uB294 \uC785\uB825\uC5D0 \uC788\uB294 \uAC83\uB9CC).\nshopSearchSummary, dyadInsight\uB294 \uAC01 120\uC790 \uC774\uB0B4 \uD55C\uAD6D\uC5B4(\uD574\uB2F9 \uB370\uC774\uD130 \uC5C6\uC73C\uBA74 \uC0DD\uB7B5).";
@@ -1,32 +1,41 @@
1
1
  /** LLM 입력 — 원문 메시지·PII 없이 통계·키워드·주제만 */
2
- export function buildLlmPromptPayload(data) {
2
+ export function buildLlmPromptPayload(data, opts) {
3
+ const compact = opts?.compact === true;
3
4
  const lines = [];
4
5
  lines.push(`방: 대화방(이름 미전송)`);
5
6
  lines.push(`메시지: ${data.summary.totalMessages} · 참여자: ${data.summary.participants}`);
6
- lines.push(`리듬: ${data.conversationPace.label} (${data.insights.rhythmScore}/100)`);
7
- lines.push(`참여: 지니 ${data.insights.participantGini ?? "n/a"} · 상위3 ${data.insights.top3ParticipantSharePercent}%`);
8
- const kw = data.keywords.slice(0, 25).map((k) => `${k.label}(${k.count})`);
7
+ if (!compact) {
8
+ lines.push(`리듬: ${data.conversationPace.label} (${data.insights.rhythmScore}/100)`);
9
+ lines.push(`참여: 지니 ${data.insights.participantGini ?? "n/a"} · 상위3 ${data.insights.top3ParticipantSharePercent}%`);
10
+ }
11
+ const kwLimit = compact ? 12 : 25;
12
+ const kw = data.keywords.slice(0, kwLimit).map((k) => `${k.label}(${k.count})`);
9
13
  if (kw.length)
10
14
  lines.push(`키워드: ${kw.join(", ")}`);
11
- const topics = data.topics.slice(0, 12).map((t, i) => `${i}:${t.title} [${t.terms.slice(0, 5).join(" ")}]`);
15
+ const topicLimit = compact ? 6 : 12;
16
+ const topics = data.topics
17
+ .slice(0, topicLimit)
18
+ .map((t, i) => `${i}:${t.title} [${t.terms.slice(0, compact ? 3 : 5).join(" ")}]`);
12
19
  if (topics.length)
13
20
  lines.push(`주제후보: ${topics.join(" | ")}`);
14
- const bullets = data.highlights.slice(0, 15);
21
+ const bullets = data.highlights.slice(0, compact ? 8 : 15);
15
22
  if (bullets.length)
16
23
  lines.push(`하이라이트: ${bullets.join(" / ")}`);
17
- if (data.interaction?.topPairs?.length) {
24
+ if (!compact && data.interaction?.topPairs?.length) {
18
25
  const pairs = data.interaction.topPairs
19
26
  .slice(0, 6)
20
27
  .map((p) => `${p.fromAlias}→${p.toAlias}(${p.replies})`);
21
28
  lines.push(`응답쌍: ${pairs.join(", ")}`);
22
29
  }
23
- const ev = data.roomEvents;
24
- if (ev.shopSearchCount > 0) {
25
- lines.push(`샵검색: 알림${ev.shopSearchCount} 태그추출${ev.shopSearchTagExtractions} 고유${ev.shopSearchUniqueTags}`);
26
- }
27
- const shift = data.periodCompare.keywordShift;
28
- if (shift.onlyHead.length || shift.onlyTail.length) {
29
- lines.push(`키워드전환: 초반[${shift.onlyHead.slice(0, 5).join(",")}] 후반[${shift.onlyTail.slice(0, 5).join(",")}]`);
30
+ if (!compact) {
31
+ const ev = data.roomEvents;
32
+ if (ev.shopSearchCount > 0) {
33
+ lines.push(`샵검색: 알림${ev.shopSearchCount} 태그추출${ev.shopSearchTagExtractions} 고유${ev.shopSearchUniqueTags}`);
34
+ }
35
+ const shift = data.periodCompare.keywordShift;
36
+ if (shift.onlyHead.length || shift.onlyTail.length) {
37
+ lines.push(`키워드전환: 초반[${shift.onlyHead.slice(0, 5).join(",")}] 후반[${shift.onlyTail.slice(0, 5).join(",")}]`);
38
+ }
30
39
  }
31
40
  return lines.join("\n");
32
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm-input.js","sourceRoot":"","sources":["../../src/llm-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-input.js","sourceRoot":"","sources":["../../src/llm-input.ts"],"names":[],"mappings":"AAMA,wCAAwC;AACxC,MAAM,UAAU,qBAAqB,CAAC,IAAgB,EAAE,IAA4B;IAClF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,aAAa,WAAW,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,OAAO,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CACR,UAAU,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,2BAA2B,GAAG,CACvG,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAChF,IAAI,EAAE,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;SACvB,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrF,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;aACpC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,EAAE,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CACR,UAAU,EAAE,CAAC,eAAe,QAAQ,EAAE,CAAC,wBAAwB,MAAM,EAAE,CAAC,oBAAoB,EAAE,CAC/F,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CACR,aAAa,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;8DAQ6B,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface LlmJsonShape {
2
+ topicTitles?: {
3
+ i: number;
4
+ title: string;
5
+ }[];
6
+ topicProposals?: {
7
+ title: string;
8
+ terms?: string[];
9
+ keywordEvidence?: string[];
10
+ }[];
11
+ paragraphs?: string[];
12
+ insightBullets?: string[];
13
+ shopSearchSummary?: string;
14
+ dyadInsight?: string;
15
+ }
16
+ /** 첫 `{`부터 중괄호 깊이로 닫는 `}` 위치 (문자열 내부 무시) */
17
+ export declare function findBalancedJsonEnd(text: string, start: number): number;
18
+ /** LLM 응답에서 JSON 객체 추출 (thinking·fence·서문 허용) */
19
+ export declare function extractLlmJsonObject(text: string): LlmJsonShape | null;
@@ -0,0 +1,72 @@
1
+ function stripThinkingBlocks(text) {
2
+ let out = text;
3
+ out = out.replace(/[\s\S]*?<\/think>/gi, "");
4
+ out = out.replace(/```json\s*/gi, "");
5
+ out = out.replace(/```\s*/g, "");
6
+ return out.trim();
7
+ }
8
+ function repairJsonSlice(slice) {
9
+ let s = slice;
10
+ s = s.replace(/,\s*([}\]])/g, "$1");
11
+ s = s.replace(/'/g, '"');
12
+ return s;
13
+ }
14
+ function tryParseObject(slice) {
15
+ try {
16
+ return JSON.parse(slice);
17
+ }
18
+ catch {
19
+ try {
20
+ return JSON.parse(repairJsonSlice(slice));
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ }
26
+ }
27
+ /** 첫 `{`부터 중괄호 깊이로 닫는 `}` 위치 (문자열 내부 무시) */
28
+ export function findBalancedJsonEnd(text, start) {
29
+ let depth = 0;
30
+ let inString = false;
31
+ let escaped = false;
32
+ for (let i = start; i < text.length; i++) {
33
+ const ch = text[i];
34
+ if (inString) {
35
+ if (escaped) {
36
+ escaped = false;
37
+ continue;
38
+ }
39
+ if (ch === "\\") {
40
+ escaped = true;
41
+ continue;
42
+ }
43
+ if (ch === '"')
44
+ inString = false;
45
+ continue;
46
+ }
47
+ if (ch === '"') {
48
+ inString = true;
49
+ continue;
50
+ }
51
+ if (ch === "{")
52
+ depth += 1;
53
+ else if (ch === "}") {
54
+ depth -= 1;
55
+ if (depth === 0)
56
+ return i;
57
+ }
58
+ }
59
+ return -1;
60
+ }
61
+ /** LLM 응답에서 JSON 객체 추출 (thinking·fence·서문 허용) */
62
+ export function extractLlmJsonObject(text) {
63
+ const cleaned = stripThinkingBlocks(text);
64
+ const start = cleaned.indexOf("{");
65
+ if (start < 0)
66
+ return null;
67
+ const end = findBalancedJsonEnd(cleaned, start);
68
+ if (end <= start)
69
+ return null;
70
+ return tryParseObject(cleaned.slice(start, end + 1));
71
+ }
72
+ //# sourceMappingURL=llm-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-json.js","sourceRoot":"","sources":["../../src/llm-json.ts"],"names":[],"mappings":"AAaA,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAC7C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACtC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAiB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAiB,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,KAAa;IAC7D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,GAAG,IAAI,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG;gBAAE,QAAQ,GAAG,KAAK,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;aACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -4,7 +4,7 @@ import { type Qwen35Size } from "./llm-qwen35.js";
4
4
  import { type LlmRunPlan } from "./llm-resolve.js";
5
5
  export type { Qwen35Size } from "./llm-qwen35.js";
6
6
  export type { LlmRunPlan } from "./llm-resolve.js";
7
- export { resolveLlmRunPlan, pickLargestQwen35ForRam, isLlmAutoEnabled, llmPhaseReserveMs, } from "./llm-resolve.js";
7
+ export { resolveLlmRunPlan, pickLargestQwen35ForRam, isLlmAutoEnabled, llmPhaseReserveMs, llmLoadTimeoutMs, llmInferTimeoutMs, memoryHeadroomForLlmLoad, llmRamReserveGb, } from "./llm-resolve.js";
8
8
  export { parseQwen35Size } from "./llm-qwen35.js";
9
9
  /** @deprecated LlmRunPlan 사용 */
10
10
  export type LlmTier = "off" | Qwen35Size;
@@ -1,6 +1,6 @@
1
1
  import { qwen35Entry, parseQwen35Size } from "./llm-qwen35.js";
2
2
  import { resolveLlmRunPlan } from "./llm-resolve.js";
3
- export { resolveLlmRunPlan, pickLargestQwen35ForRam, isLlmAutoEnabled, llmPhaseReserveMs, } from "./llm-resolve.js";
3
+ export { resolveLlmRunPlan, pickLargestQwen35ForRam, isLlmAutoEnabled, llmPhaseReserveMs, llmLoadTimeoutMs, llmInferTimeoutMs, memoryHeadroomForLlmLoad, llmRamReserveGb, } from "./llm-resolve.js";
4
4
  export { parseQwen35Size } from "./llm-qwen35.js";
5
5
  const LLM_TIMEOUT_MS = 45_000;
6
6
  export function resolveLlmRunPlanForPreset(preset, profile, messageCount) {
@@ -1 +1 @@
1
- {"version":3,"file":"llm-policy.js","sourceRoot":"","sources":["../../src/llm-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,WAAW,EAAE,eAAe,EAAmB,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAItE,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,cAAc,GAAG,MAAM,CAAC;AAK9B,MAAM,UAAU,0BAA0B,CACxC,MAA0B,EAC1B,OAAuB,EACvB,YAAqB;IAErB,OAAO,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,MAA0B,EAAE,OAAuB;IAChF,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACzD,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"llm-policy.js","sourceRoot":"","sources":["../../src/llm-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,WAAW,EAAE,eAAe,EAAmB,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAItE,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,cAAc,GAAG,MAAM,CAAC;AAK9B,MAAM,UAAU,0BAA0B,CACxC,MAA0B,EAC1B,OAAuB,EACvB,YAAqB;IAErB,OAAO,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,MAA0B,EAAE,OAAuB;IAChF,MAAM,IAAI,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACzD,CAAC;AAED,kBAAkB;AAClB,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACtC,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import { type MachineProfile } from "./analysis-capability.js";
2
- /** GGUF 로드 시점 — macOS 등에서 available ≫ free 이면 free 기준으로 다운그레이드 */
3
- export declare function memoryHeadroomForLlmLoad(profile: MachineProfile): number;
4
2
  import type { AnalysisPresetName } from "./analysis-preset.js";
5
3
  import { type Qwen35Size } from "./llm-qwen35.js";
4
+ /** OS·ONNX·집계 버퍼 — `KCA_LLM_RAM_RESERVE_GB`로 조정 */
5
+ export declare function llmRamReserveGb(profile: MachineProfile): number;
6
+ /**
7
+ * GGUF 로드 시점 가용 RAM — available−예약 우선, free+회수 가능분으로 OOM만 완화.
8
+ */
9
+ export declare function memoryHeadroomForLlmLoad(profile: MachineProfile): number;
6
10
  export interface LlmRunPlan {
7
11
  enabled: boolean;
8
12
  size?: Qwen35Size;
@@ -21,5 +25,9 @@ export interface ResolveLlmRunPlanInput {
21
25
  export declare function pickLargestQwen35ForRam(headroomGb: number): Qwen35Size | undefined;
22
26
  export declare function resolveLlmRunPlan(input: ResolveLlmRunPlanInput): LlmRunPlan;
23
27
  export declare function isLlmAutoEnabled(): boolean;
24
- /** 분석 예산용 LLM 단계 예약(ms) */
28
+ /** GGUF 로드 상한(ms) */
29
+ export declare function llmLoadTimeoutMs(size: Qwen35Size): number;
30
+ /** 추론 단계 상한(ms) */
31
+ export declare function llmInferTimeoutMs(size: Qwen35Size, plan?: LlmRunPlan): number;
32
+ /** 분석 예산용 LLM 단계 예약(ms) — 로드+추론 */
25
33
  export declare function llmPhaseReserveMs(size: Qwen35Size | undefined, preset: AnalysisPresetName): number;
@@ -1,15 +1,40 @@
1
1
  import { memoryHeadroomGb } from "./analysis-capability.js";
2
- const LLM_LOAD_RAM_GAP_GB = 4;
3
- /** GGUF 로드 시점 — macOS 등에서 available ≫ free 이면 free 기준으로 다운그레이드 */
2
+ import { QWEN35_CATALOG, qwen35DisplayLabel, qwen35Entry, parseQwen35Size, } from "./llm-qwen35.js";
3
+ const DEFAULT_LLM_RAM_RESERVE_GB = 7;
4
+ const DEFAULT_LLM_TIMEOUT_MS = 45_000;
5
+ const MIN_LLM_LOAD_HEADROOM_GB = 3;
6
+ const MAX_RECLAIM_GB = 8;
7
+ const RECLAIM_FRACTION = 0.35;
8
+ /** OS·ONNX·집계 버퍼 — `KCA_LLM_RAM_RESERVE_GB`로 조정 */
9
+ export function llmRamReserveGb(profile) {
10
+ const env = Number(process.env.KCA_LLM_RAM_RESERVE_GB);
11
+ if (Number.isFinite(env) && env >= 3)
12
+ return env;
13
+ const total = profile.totalMemGb;
14
+ if (total >= 48)
15
+ return 8;
16
+ if (total >= 32)
17
+ return 7;
18
+ if (total >= 16)
19
+ return 6;
20
+ return DEFAULT_LLM_RAM_RESERVE_GB;
21
+ }
22
+ /**
23
+ * GGUF 로드 시점 가용 RAM — available−예약 우선, free+회수 가능분으로 OOM만 완화.
24
+ */
4
25
  export function memoryHeadroomForLlmLoad(profile) {
5
26
  const available = memoryHeadroomGb(profile);
6
27
  const free = profile.freeMemGb;
7
- if (available - free > LLM_LOAD_RAM_GAP_GB) {
8
- return Math.min(available, Math.max(free, 3));
28
+ const reserve = llmRamReserveGb(profile);
29
+ let headroom = available - reserve;
30
+ const reclaimable = Math.max(0, available - free);
31
+ const reclaimGb = Math.min(MAX_RECLAIM_GB, reclaimable * RECLAIM_FRACTION);
32
+ const freeCeiling = free + reclaimGb;
33
+ if (freeCeiling < headroom) {
34
+ headroom = freeCeiling;
9
35
  }
10
- return available;
36
+ return Math.round(headroom * 10) / 10;
11
37
  }
12
- import { QWEN35_CATALOG, qwen35DisplayLabel, qwen35Entry, parseQwen35Size, } from "./llm-qwen35.js";
13
38
  /** RAM 에 맞는 최대 Qwen3.5 (9B→4B→2B→0.8B) */
14
39
  export function pickLargestQwen35ForRam(headroomGb) {
15
40
  for (const entry of QWEN35_CATALOG) {
@@ -18,13 +43,18 @@ export function pickLargestQwen35ForRam(headroomGb) {
18
43
  }
19
44
  return undefined;
20
45
  }
46
+ function formatRamNote(profile, loadHeadroom, available) {
47
+ const reserve = llmRamReserveGb(profile);
48
+ if (loadHeadroom < available - reserve + 0.5) {
49
+ return `RAM 로드 ${loadHeadroom}GB (가용 ${available}GB−예약 ${reserve}GB·free ${profile.freeMemGb}GB)`;
50
+ }
51
+ return `RAM ${loadHeadroom}GB (가용 ${available}GB−예약 ${reserve}GB)`;
52
+ }
21
53
  export function resolveLlmRunPlan(input) {
22
54
  const { preset, profile } = input;
23
55
  const available = memoryHeadroomGb(profile);
24
56
  const loadHeadroom = memoryHeadroomForLlmLoad(profile);
25
- const ramNote = loadHeadroom < available - 0.5
26
- ? `RAM 로드 ${loadHeadroom}GB (가용 ${available}GB·free ${profile.freeMemGb}GB)`
27
- : `RAM ${loadHeadroom}GB`;
57
+ const ramNote = formatRamNote(profile, loadHeadroom, available);
28
58
  if (process.env.KCA_LLM === "0") {
29
59
  return { enabled: false, reason: "KCA_LLM=0" };
30
60
  }
@@ -85,17 +115,40 @@ export function resolveLlmRunPlan(input) {
85
115
  export function isLlmAutoEnabled() {
86
116
  return process.env.KCA_LLM !== "0";
87
117
  }
88
- /** 분석 예산용 LLM 단계 예약(ms) */
118
+ /** GGUF 로드 상한(ms) */
119
+ export function llmLoadTimeoutMs(size) {
120
+ const entry = qwen35Entry(size);
121
+ return Math.max(90_000, entry.timeoutMs);
122
+ }
123
+ function envLlmTimeoutMs() {
124
+ const env = Number(process.env.KCA_LLM_TIMEOUT_MS);
125
+ return Number.isFinite(env) && env > 0 ? env : DEFAULT_LLM_TIMEOUT_MS;
126
+ }
127
+ /** 추론 단계 상한(ms) */
128
+ export function llmInferTimeoutMs(size, plan) {
129
+ if (plan?.timeoutMs && plan.timeoutMs > 0)
130
+ return plan.timeoutMs;
131
+ const env = envLlmTimeoutMs();
132
+ if (env !== DEFAULT_LLM_TIMEOUT_MS)
133
+ return env;
134
+ return qwen35Entry(size).timeoutMs;
135
+ }
136
+ /** 분석 예산용 LLM 단계 예약(ms) — 로드+추론 */
89
137
  export function llmPhaseReserveMs(size, preset) {
90
138
  if (!size)
91
139
  return 50_000;
92
- const entry = qwen35Entry(size);
93
- if (size === "9B" && preset === "quality")
94
- return Math.max(entry.timeoutMs - 15_000, 55_000);
95
- if (size === "9B")
96
- return 75_000;
97
- if (size === "4B")
98
- return 55_000;
99
- return 45_000;
140
+ const load = llmLoadTimeoutMs(size);
141
+ const infer = llmInferTimeoutMs(size);
142
+ let reserve = load + infer + 5_000;
143
+ if (size === "9B" && preset === "quality") {
144
+ reserve = Math.max(reserve, 150_000);
145
+ }
146
+ else if (size === "9B") {
147
+ reserve = Math.max(reserve, 130_000);
148
+ }
149
+ else if (size === "4B") {
150
+ reserve = Math.max(reserve, 100_000);
151
+ }
152
+ return reserve;
100
153
  }
101
154
  //# sourceMappingURL=llm-resolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-resolve.js","sourceRoot":"","sources":["../../src/llm-resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-resolve.js","sourceRoot":"","sources":["../../src/llm-resolve.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,11 @@ export interface RunLlamaPromptOptions {
26
26
  modelPath: string;
27
27
  prompt: string;
28
28
  maxTokens?: number;
29
- timeoutMs: number;
29
+ /** 추론 단계 상한(ms) */
30
+ inferTimeoutMs: number;
31
+ /** GGUF 로드+컨텍스트 생성 상한(ms) */
32
+ loadTimeoutMs: number;
30
33
  }
31
- /** GGUF 로드 → 채팅 1회 → 리소스 해제 */
34
+ /** GGUF 로드 → 채팅 1회 → 리소스 해제 (로드·추론 타임아웃 분리) */
32
35
  export declare function runLlamaPrompt(options: RunLlamaPromptOptions): Promise<string>;
33
36
  export {};
@@ -54,34 +54,38 @@ export async function getLlamaForKca() {
54
54
  return getLlama({ gpu: false });
55
55
  }
56
56
  }
57
- /** GGUF 로드 채팅 1회 → 리소스 해제 */
57
+ function raceTimeout(promise, timeoutMs, label) {
58
+ let timeoutHandle;
59
+ return Promise.race([
60
+ promise,
61
+ new Promise((_, reject) => {
62
+ timeoutHandle = setTimeout(() => reject(new Error(label)), timeoutMs);
63
+ }),
64
+ ]).finally(() => {
65
+ if (timeoutHandle !== undefined)
66
+ clearTimeout(timeoutHandle);
67
+ });
68
+ }
69
+ /** GGUF 로드 → 채팅 1회 → 리소스 해제 (로드·추론 타임아웃 분리) */
58
70
  export async function runLlamaPrompt(options) {
59
- const { modelPath, prompt, maxTokens = 768, timeoutMs } = options;
71
+ const { modelPath, prompt, maxTokens = 768, inferTimeoutMs, loadTimeoutMs } = options;
60
72
  const mod = "node-llama-cpp";
61
73
  const { LlamaChatSession } = await import(mod);
62
74
  const llama = await getLlamaForKca();
63
- const model = await llama.loadModel({ modelPath });
64
- const context = await model.createContext({ contextSize: 4096 });
65
- const session = new LlamaChatSession({
66
- contextSequence: context.getSequence(),
67
- });
68
- let timeoutHandle;
75
+ let model;
76
+ let context;
69
77
  try {
70
- const run = session.prompt(prompt, { maxTokens });
71
- const timed = Promise.race([
72
- run,
73
- new Promise((_, reject) => {
74
- timeoutHandle = setTimeout(() => reject(new Error("LLM timeout")), timeoutMs);
75
- }),
76
- ]);
77
- const reply = await timed;
78
+ model = await raceTimeout(llama.loadModel({ modelPath }), loadTimeoutMs, "LLM load timeout");
79
+ context = await raceTimeout(model.createContext({ contextSize: 4096 }), Math.min(loadTimeoutMs, 30_000), "LLM context timeout");
80
+ const session = new LlamaChatSession({
81
+ contextSequence: context.getSequence(),
82
+ });
83
+ const reply = await raceTimeout(session.prompt(prompt, { maxTokens }), inferTimeoutMs, "LLM timeout");
78
84
  return typeof reply === "string" ? reply : String(reply);
79
85
  }
80
86
  finally {
81
- if (timeoutHandle !== undefined)
82
- clearTimeout(timeoutHandle);
83
- await context.dispose?.();
84
- await model.dispose?.();
87
+ await context?.dispose?.();
88
+ await model?.dispose?.();
85
89
  }
86
90
  }
87
91
  //# sourceMappingURL=llm-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-runtime.js","sourceRoot":"","sources":["../../src/llm-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-runtime.js","sourceRoot":"","sources":["../../src/llm-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,38 @@
1
1
  import { type LlmRunPlan } from "./llm-policy.js";
2
+ import { type Qwen35Size } from "./llm-qwen35.js";
2
3
  import type { AnalysisPresetName } from "./analysis-preset.js";
3
4
  import type { BuildReportOptions } from "./analyze-pool.js";
4
5
  import type { LlmInsights, ReportData, ReportTopic } from "./types.js";
5
6
  import type { RoomNarrative } from "./room-narrative.js";
7
+ export type LlmSkipReasonCode = "disabled" | "gguf_missing" | "timeout" | "json_parse" | "inference_error";
6
8
  export interface LlmEnrichmentResult {
7
9
  used: boolean;
8
10
  plan: LlmRunPlan;
9
11
  narrative?: RoomNarrative;
10
12
  topics?: ReportTopic[];
11
13
  llmInsights?: LlmInsights;
14
+ skipReason?: string;
12
15
  }
13
- export declare function runLlmCompletion(data: ReportData, plan: LlmRunPlan): Promise<string | null>;
16
+ interface LlmCompletionOk {
17
+ ok: true;
18
+ raw: string;
19
+ size: Qwen35Size;
20
+ elapsedMs: number;
21
+ }
22
+ interface LlmCompletionFail {
23
+ ok: false;
24
+ skipReason: string;
25
+ code: LlmSkipReasonCode;
26
+ size: Qwen35Size;
27
+ elapsedMs: number;
28
+ }
29
+ type LlmCompletionResult = LlmCompletionOk | LlmCompletionFail;
30
+ export declare function runLlmCompletion(data: ReportData, plan: LlmRunPlan, opts?: {
31
+ compact?: boolean;
32
+ sizeOverride?: Qwen35Size;
33
+ }): Promise<LlmCompletionResult>;
14
34
  /** preset·RAM 기준 Qwen3.5 자동 선택 후 서사·주제 보강 */
15
35
  export declare function applyLlmEnrichment(data: ReportData, options?: BuildReportOptions, messageCount?: number): Promise<LlmEnrichmentResult>;
16
36
  /** @deprecated use applyLlmEnrichment */
17
37
  export declare function summarizeTopicsWithLlm(preset: AnalysisPresetName, topics: string[], sampleLines: string[]): Promise<null>;
38
+ export {};
@@ -1,29 +1,20 @@
1
1
  import { stat } from "node:fs/promises";
2
+ import { performance } from "node:perf_hooks";
2
3
  import { buildLlmPromptPayload, LLM_SYSTEM_PROMPT } from "./llm-input.js";
3
4
  import { ggufPathForSize } from "./llm-cache.js";
4
- import { llmTimeoutMs, resolveLlmRunPlan } from "./llm-policy.js";
5
+ import { llmInferTimeoutMs, llmLoadTimeoutMs, resolveLlmRunPlan, } from "./llm-policy.js";
5
6
  import { ensureLlmGgufReady } from "./llm-ensure.js";
6
- import { qwen35DisplayLabel } from "./llm-qwen35.js";
7
+ import { qwen35DisplayLabel, qwen35Entry } from "./llm-qwen35.js";
7
8
  import { probeMachineProfileSync } from "./analysis-capability.js";
8
9
  import { resolvePresetNameWithAuto } from "./analysis-preset.js";
10
+ import { extractLlmJsonObject } from "./llm-json.js";
9
11
  import { mergeTopicProposals } from "./topic-merge.js";
10
12
  import { runLlamaPrompt } from "./llm-runtime.js";
11
- function parseLlmJson(text) {
12
- const start = text.indexOf("{");
13
- const end = text.lastIndexOf("}");
14
- if (start < 0 || end <= start)
15
- return null;
16
- try {
17
- return JSON.parse(text.slice(start, end + 1));
18
- }
19
- catch {
20
- return null;
21
- }
22
- }
23
- function resolveTimeoutMs(plan, size) {
24
- if (plan.timeoutMs && plan.timeoutMs > 0)
25
- return plan.timeoutMs;
26
- return llmTimeoutMs();
13
+ function debugLlmRaw(raw, label) {
14
+ if (process.env.KCA_DEBUG_LLM !== "1")
15
+ return;
16
+ const tail = raw.slice(-500);
17
+ process.stderr.write(`[kca] LLM debug (${label}, tail ${tail.length} chars):\n${tail}\n`);
27
18
  }
28
19
  async function runOllama(prompt, plan, size, timeoutMs) {
29
20
  const host = process.env.KCA_OLLAMA_HOST?.trim() || "http://127.0.0.1:11434";
@@ -54,7 +45,7 @@ async function runOllama(prompt, plan, size, timeoutMs) {
54
45
  clearTimeout(timer);
55
46
  }
56
47
  }
57
- async function runNodeLlama(prompt, size, timeoutMs) {
48
+ async function runNodeLlama(prompt, size, plan) {
58
49
  const ready = await ensureLlmGgufReady(size);
59
50
  const modelPath = ggufPathForSize(size);
60
51
  if (!ready) {
@@ -62,7 +53,13 @@ async function runNodeLlama(prompt, size, timeoutMs) {
62
53
  }
63
54
  await stat(modelPath);
64
55
  const fullPrompt = `${LLM_SYSTEM_PROMPT}\n\n---\n\n${prompt}`;
65
- return runLlamaPrompt({ modelPath, prompt: fullPrompt, maxTokens: 768, timeoutMs });
56
+ return runLlamaPrompt({
57
+ modelPath,
58
+ prompt: fullPrompt,
59
+ maxTokens: 768,
60
+ loadTimeoutMs: llmLoadTimeoutMs(size),
61
+ inferTimeoutMs: llmInferTimeoutMs(size, plan),
62
+ });
66
63
  }
67
64
  async function runMockLlm() {
68
65
  return JSON.stringify({
@@ -83,25 +80,62 @@ async function runMockLlm() {
83
80
  dyadInsight: "상위 두 명이 대화 허브 역할을 합니다.",
84
81
  });
85
82
  }
86
- export async function runLlmCompletion(data, plan) {
87
- if (!plan.enabled || !plan.size)
88
- return null;
89
- const size = plan.size;
90
- const prompt = buildLlmPromptPayload(data);
91
- const timeoutMs = resolveTimeoutMs(plan, size);
83
+ function classifyError(error) {
84
+ const msg = error instanceof Error ? error.message : String(error);
85
+ if (msg.includes("GGUF 없음"))
86
+ return { code: "gguf_missing", message: msg };
87
+ if (msg.includes("timeout") || msg.includes("abort"))
88
+ return { code: "timeout", message: msg };
89
+ return { code: "inference_error", message: msg };
90
+ }
91
+ export async function runLlmCompletion(data, plan, opts) {
92
+ if (!plan.enabled) {
93
+ return {
94
+ ok: false,
95
+ skipReason: plan.reason,
96
+ code: "disabled",
97
+ size: opts?.sizeOverride ?? plan.size ?? "0.8B",
98
+ elapsedMs: 0,
99
+ };
100
+ }
101
+ const size = opts?.sizeOverride ?? plan.size;
102
+ if (!size) {
103
+ return {
104
+ ok: false,
105
+ skipReason: plan.reason,
106
+ code: "disabled",
107
+ size: "0.8B",
108
+ elapsedMs: 0,
109
+ };
110
+ }
111
+ const prompt = buildLlmPromptPayload(data, { compact: opts?.compact });
112
+ const inferMs = llmInferTimeoutMs(size, plan);
113
+ const started = performance.now();
92
114
  try {
115
+ let raw;
93
116
  if (process.env.KCA_LLM_MOCK === "1") {
94
- return runMockLlm();
117
+ raw = await runMockLlm();
118
+ }
119
+ else if (process.env.KCA_LLM_BACKEND?.trim().toLowerCase() === "ollama") {
120
+ raw = await runOllama(prompt, plan, size, inferMs + llmLoadTimeoutMs(size));
95
121
  }
96
- if (process.env.KCA_LLM_BACKEND?.trim().toLowerCase() === "ollama") {
97
- return await runOllama(prompt, plan, size, timeoutMs);
122
+ else {
123
+ raw = await runNodeLlama(prompt, size, plan);
98
124
  }
99
- return await runNodeLlama(prompt, size, timeoutMs);
125
+ const elapsedMs = Math.round(performance.now() - started);
126
+ debugLlmRaw(raw, `${qwen35DisplayLabel(size)} ok ${elapsedMs}ms`);
127
+ return { ok: true, raw, size, elapsedMs };
100
128
  }
101
129
  catch (error) {
102
- const msg = error instanceof Error ? error.message : String(error);
103
- process.stderr.write(`[kca] LLM 건너뜀 (${qwen35DisplayLabel(size)}): ${msg}\n`);
104
- return null;
130
+ const elapsedMs = Math.round(performance.now() - started);
131
+ const { code, message } = classifyError(error);
132
+ const skipReason = code === "timeout"
133
+ ? `추론 타임아웃 (${qwen35DisplayLabel(size)}, ${elapsedMs}ms, 상한 load ${llmLoadTimeoutMs(size)}ms + infer ${inferMs}ms)`
134
+ : code === "gguf_missing"
135
+ ? message
136
+ : `추론 실패 (${qwen35DisplayLabel(size)}, ${elapsedMs}ms): ${message}`;
137
+ process.stderr.write(`[kca] LLM 건너뜀 — ${skipReason}\n`);
138
+ return { ok: false, skipReason, code, size, elapsedMs };
105
139
  }
106
140
  }
107
141
  function mergeTopics(data, parsed) {
@@ -124,28 +158,6 @@ function mergeNarrative(data, parsed, base) {
124
158
  paragraphs: merged.slice(0, 5),
125
159
  };
126
160
  }
127
- /** preset·RAM 기준 Qwen3.5 자동 선택 후 서사·주제 보강 */
128
- export async function applyLlmEnrichment(data, options, messageCount) {
129
- const preset = resolvePresetNameWithAuto(options, messageCount ?? data.summary.totalMessages);
130
- const profile = probeMachineProfileSync();
131
- const plan = resolveLlmRunPlan({ preset, profile, messageCount });
132
- if (!plan.enabled || !plan.size) {
133
- return { used: false, plan };
134
- }
135
- const raw = await runLlmCompletion(data, plan);
136
- if (!raw)
137
- return { used: false, plan };
138
- const parsed = parseLlmJson(raw);
139
- if (!parsed) {
140
- process.stderr.write("[kca] LLM JSON 파싱 실패 — 규칙 기반 서사 유지\n");
141
- return { used: false, plan };
142
- }
143
- let topics = mergeTopics(data, parsed);
144
- topics = mergeTopicProposals(topics, parsed.topicProposals, data.keywords, data.summary.totalMessages);
145
- const narrative = mergeNarrative(data, parsed, data.narrative);
146
- const llmInsights = mergeLlmInsights(parsed, parsed.topicProposals);
147
- return { used: true, plan, topics, narrative, llmInsights };
148
- }
149
161
  function mergeLlmInsights(parsed, proposals) {
150
162
  const insightBullets = (parsed.insightBullets ?? []).filter((s) => s.trim().length > 4).slice(0, 5);
151
163
  const shopSearchSummary = parsed.shopSearchSummary?.trim().slice(0, 200);
@@ -162,6 +174,58 @@ function mergeLlmInsights(parsed, proposals) {
162
174
  }
163
175
  return { insightBullets, shopSearchSummary, dyadInsight, topicProposals };
164
176
  }
177
+ function buildEnrichmentFromParsed(data, parsed, plan) {
178
+ let topics = mergeTopics(data, parsed);
179
+ topics = mergeTopicProposals(topics, parsed.topicProposals, data.keywords, data.summary.totalMessages);
180
+ const narrative = mergeNarrative(data, parsed, data.narrative);
181
+ const llmInsights = mergeLlmInsights(parsed, parsed.topicProposals);
182
+ return { used: true, plan, topics, narrative, llmInsights };
183
+ }
184
+ function shouldRetryAfterPrimaryFailure(primary) {
185
+ return primary.code === "timeout";
186
+ }
187
+ /** preset·RAM 기준 Qwen3.5 자동 선택 후 서사·주제 보강 */
188
+ export async function applyLlmEnrichment(data, options, messageCount) {
189
+ const preset = resolvePresetNameWithAuto(options, messageCount ?? data.summary.totalMessages);
190
+ const profile = probeMachineProfileSync();
191
+ const plan = resolveLlmRunPlan({ preset, profile, messageCount });
192
+ if (!plan.enabled || !plan.size) {
193
+ return { used: false, plan, skipReason: plan.reason };
194
+ }
195
+ const primary = await runLlmCompletion(data, plan);
196
+ if (primary.ok) {
197
+ const parsed = extractLlmJsonObject(primary.raw);
198
+ if (parsed)
199
+ return buildEnrichmentFromParsed(data, parsed, plan);
200
+ process.stderr.write(`[kca] LLM JSON 파싱 실패 (${qwen35DisplayLabel(primary.size)}, ${primary.elapsedMs}ms) — 0.8B 축약 재시도\n`);
201
+ debugLlmRaw(primary.raw, "parse_fail primary");
202
+ }
203
+ else if (!shouldRetryAfterPrimaryFailure(primary)) {
204
+ return { used: false, plan, skipReason: primary.skipReason };
205
+ }
206
+ const retrySize = "0.8B";
207
+ const retryPlan = {
208
+ ...plan,
209
+ size: retrySize,
210
+ reason: `${plan.reason} → 재시도 ${qwen35DisplayLabel(retrySize)} compact`,
211
+ timeoutMs: qwen35Entry(retrySize).timeoutMs,
212
+ };
213
+ const retry = await runLlmCompletion(data, retryPlan, { compact: true, sizeOverride: retrySize });
214
+ if (!retry.ok) {
215
+ const skipReason = !primary.ok && primary.code === "timeout"
216
+ ? `${primary.skipReason}; 재시도: ${retry.skipReason}`
217
+ : retry.skipReason;
218
+ return { used: false, plan, skipReason };
219
+ }
220
+ const parsedRetry = extractLlmJsonObject(retry.raw);
221
+ if (!parsedRetry) {
222
+ const skipReason = `JSON 파싱 실패 (${qwen35DisplayLabel(retrySize)}, ${retry.elapsedMs}ms)`;
223
+ process.stderr.write(`[kca] LLM ${skipReason} — 규칙 기반 서사 유지\n`);
224
+ debugLlmRaw(retry.raw, "parse_fail retry");
225
+ return { used: false, plan, skipReason };
226
+ }
227
+ return buildEnrichmentFromParsed(data, parsedRetry, plan);
228
+ }
165
229
  /** @deprecated use applyLlmEnrichment */
166
230
  export async function summarizeTopicsWithLlm(preset, topics, sampleLines) {
167
231
  void preset;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-summarize.js","sourceRoot":"","sources":["../../src/llm-summarize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-summarize.js","sourceRoot":"","sources":["../../src/llm-summarize.ts"],"names":[],"mappings":"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"}
@@ -444,6 +444,8 @@ export interface ReportData {
444
444
  usedToxicityAnalysis?: boolean;
445
445
  /** 로컬 LLM(Qwen GGUF) 서사·주제 보강 사용 여부 */
446
446
  usedLlmAnalysis?: boolean;
447
+ /** LLM 미사용 시 구체적 사유 (추론·파싱·타임아웃 등) */
448
+ llmSkippedReason?: string;
447
449
  };
448
450
  insights: ReportInsights;
449
451
  participants: ParticipantStat[];
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.19.6";
2
- export declare const USER_AGENT = "kakaotalk-chat-analyzer/0.19.6";
1
+ export declare const VERSION = "0.19.7";
2
+ export declare const USER_AGENT = "kakaotalk-chat-analyzer/0.19.7";
@@ -1,3 +1,3 @@
1
- export const VERSION = "0.19.6";
1
+ export const VERSION = "0.19.7";
2
2
  export const USER_AGENT = `kakaotalk-chat-analyzer/${VERSION}`;
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kakaotalk-chat-analyzer",
3
- "version": "0.19.6",
3
+ "version": "0.19.7",
4
4
  "description": "카카오톡 CSV 보내기 → 한글 리포트 → 선택적 임시 공유. npx 한 줄로 실행 가능한 CLI.",
5
5
  "type": "module",
6
6
  "homepage": "https://claudianus.github.io/kakaotalk-chat-analyzer/",