kakaotalk-chat-analyzer 0.18.3 → 0.18.6

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.
@@ -0,0 +1,67 @@
1
+ import { type MachineProfile } from "./analysis-capability.js";
2
+ import { type AnalysisPresetName } from "./analysis-preset.js";
3
+ import { type LlmTier } from "./llm-policy.js";
4
+ import type { BuildReportProvenanceOptions } from "./report-provenance.js";
5
+ import type { PrivacyMode, ReportData } from "./types.js";
6
+ export type PresetSource = "cli" | "env" | "auto-ram" | "auto-corpus" | "legacy-fast";
7
+ export interface PhaseEffectiveState {
8
+ requested: boolean | "auto";
9
+ used: boolean;
10
+ model?: string;
11
+ sampleCap?: number;
12
+ skippedReason?: string;
13
+ }
14
+ export interface AnalysisEffectiveConfig {
15
+ preset: AnalysisPresetName;
16
+ presetSource: PresetSource;
17
+ profile: "quality" | "fast";
18
+ privacy: PrivacyMode;
19
+ top: number;
20
+ since?: string;
21
+ workerRequested: boolean | "auto";
22
+ workerUsed: boolean;
23
+ semantic: PhaseEffectiveState;
24
+ sentiment: PhaseEffectiveState;
25
+ llm: {
26
+ tier: LlmTier;
27
+ used: boolean;
28
+ modelId?: string;
29
+ skippedReason?: string;
30
+ };
31
+ topicModel: "graph" | "embedding" | "hybrid";
32
+ embeddingTopics: boolean;
33
+ budgetMs: number;
34
+ envOverrides: string[];
35
+ invokedVia?: {
36
+ name: "kcachat";
37
+ version: string;
38
+ };
39
+ messageCount: number;
40
+ machine: Pick<MachineProfile, "freeMemGb" | "totalMemGb" | "gpu">;
41
+ }
42
+ export interface CliPipelineOptions {
43
+ privacy: PrivacyMode;
44
+ top: number;
45
+ since?: string;
46
+ preset?: AnalysisPresetName;
47
+ worker?: boolean;
48
+ semanticKeywords?: boolean;
49
+ sentiment?: boolean;
50
+ }
51
+ export declare function resolvePresetSource(cliPreset: AnalysisPresetName | undefined, worker: boolean | undefined, messageCount: number, machine: MachineProfile): PresetSource;
52
+ /** 집계 완료 후 실제 적용 설정 */
53
+ export declare function buildAnalysisEffectiveConfig(data: ReportData, cli: CliPipelineOptions, machine?: MachineProfile): AnalysisEffectiveConfig;
54
+ export declare function withWorkerUsed(config: AnalysisEffectiveConfig, workerUsed: boolean): AnalysisEffectiveConfig;
55
+ /** 집계 전 예상 preset (stderr 힌트) */
56
+ export declare function estimatePresetBeforeParse(cli: Pick<CliPipelineOptions, "preset" | "worker">, messageEstimate?: number): {
57
+ preset: AnalysisPresetName;
58
+ source: PresetSource;
59
+ };
60
+ export declare function formatEstimatedPresetHint(cli: Pick<CliPipelineOptions, "preset" | "worker">, messageEstimate?: number): string;
61
+ export declare function formatConfigSummaryKo(config: AnalysisEffectiveConfig): string;
62
+ export declare function configToJson(config: AnalysisEffectiveConfig): string;
63
+ export declare function toProvenanceOptions(config: AnalysisEffectiveConfig, data: ReportData, extras: {
64
+ kiwiAvailable: boolean;
65
+ buildTiming?: BuildReportProvenanceOptions["buildTiming"];
66
+ htmlBytes?: number;
67
+ }): BuildReportProvenanceOptions;
@@ -0,0 +1,304 @@
1
+ import { analysisBudgetMs, probeMachineProfileSync, } from "./analysis-capability.js";
2
+ import { autoPresetFromMachine, presetForcesSemanticOff, presetForcesSentimentOff, resolvePresetName, resolvePresetNameWithAuto, } from "./analysis-preset.js";
3
+ import { getAnalysisProfileSettings } from "./analysis-profile.js";
4
+ import { resolveLlmTier, qwenModelIdForTier } from "./llm-policy.js";
5
+ import { parseKcaInvokerEnv } from "./report-provenance.js";
6
+ import { resolveTopicModel } from "./report-provenance.js";
7
+ import { effectiveSemanticSampleCap, semanticEmbeddingModelId, } from "./semantic-policy.js";
8
+ import { sentimentModelId } from "./sentiment-policy.js";
9
+ function collectEnvOverrides() {
10
+ const keys = [
11
+ "KCA_PRESET",
12
+ "KCA_PROFILE",
13
+ "KCA_NO_SEMANTIC",
14
+ "KCA_SEMANTIC",
15
+ "KCA_SEMANTIC_DEFAULT",
16
+ "KCA_SEMANTIC_MODEL",
17
+ "KCA_NO_SENTIMENT",
18
+ "KCA_SENTIMENT",
19
+ "KCA_SENTIMENT_DEFAULT",
20
+ "KCA_SENTIMENT_MODEL",
21
+ "KCA_LLM",
22
+ "KCA_LLM_MODEL",
23
+ "KCA_LLM_MOCK",
24
+ "KCA_LLM_BACKEND",
25
+ "KCA_EMBEDDING_TOPICS",
26
+ "KCA_INVOKER",
27
+ ];
28
+ const out = [];
29
+ for (const key of keys) {
30
+ const v = process.env[key];
31
+ if (v !== undefined && v !== "")
32
+ out.push(`${key}=${v}`);
33
+ }
34
+ return out;
35
+ }
36
+ export function resolvePresetSource(cliPreset, worker, messageCount, machine) {
37
+ if (cliPreset)
38
+ return "cli";
39
+ const env = process.env.KCA_PRESET?.trim().toLowerCase();
40
+ if (env === "speed" || env === "balanced" || env === "quality" || env === "custom")
41
+ return "env";
42
+ if (worker === true || process.env.KCA_PROFILE === "fast")
43
+ return "legacy-fast";
44
+ const auto = autoPresetFromMachine(machine, messageCount);
45
+ const ramOnly = autoPresetFromMachine(machine, 0);
46
+ if (auto !== ramOnly)
47
+ return "auto-corpus";
48
+ return "auto-ram";
49
+ }
50
+ function presetSourceLabel(source) {
51
+ const labels = {
52
+ cli: "CLI --preset",
53
+ env: "환경 변수 KCA_PRESET",
54
+ "auto-ram": "RAM 기준 자동",
55
+ "auto-corpus": "RAM·메시지 수 기준 자동",
56
+ "legacy-fast": "CLI --fast / KCA_PROFILE=fast",
57
+ };
58
+ return labels[source];
59
+ }
60
+ function resolveWorkerRequested(worker) {
61
+ if (worker === false)
62
+ return false;
63
+ if (worker === true)
64
+ return true;
65
+ return "auto";
66
+ }
67
+ function resolveSemanticRequested(semanticKeywords) {
68
+ if (semanticKeywords === false)
69
+ return false;
70
+ if (semanticKeywords === true)
71
+ return true;
72
+ return "auto";
73
+ }
74
+ function resolveSentimentRequested(sentiment) {
75
+ if (sentiment === false)
76
+ return false;
77
+ if (sentiment === true)
78
+ return true;
79
+ return "auto";
80
+ }
81
+ function inferSemanticSkipReason(options, preset, used) {
82
+ if (used)
83
+ return undefined;
84
+ if (process.env.KCA_NO_SEMANTIC === "1")
85
+ return "KCA_NO_SEMANTIC=1";
86
+ if (options?.semanticKeywords === false)
87
+ return "CLI --no-semantic-keywords";
88
+ if (presetForcesSemanticOff(options))
89
+ return `${preset} preset`;
90
+ if (process.env.KCA_SEMANTIC === "0")
91
+ return "KCA_SEMANTIC=0";
92
+ if (process.env.KCA_SEMANTIC_DEFAULT === "opt-in")
93
+ return "KCA_SEMANTIC_DEFAULT=opt-in";
94
+ if (options?.semanticKeywords !== true && process.env.KCA_SEMANTIC !== "1") {
95
+ return "auto: 한국어 비중·샘플 조건 미충족 또는 실행 중 오류";
96
+ }
97
+ return "실행 중 오류 또는 샘플 부족";
98
+ }
99
+ function inferSentimentSkipReason(options, preset, used) {
100
+ if (used)
101
+ return undefined;
102
+ if (process.env.KCA_NO_SENTIMENT === "1")
103
+ return "KCA_NO_SENTIMENT=1";
104
+ if (options?.sentiment === false)
105
+ return "CLI --no-sentiment";
106
+ if (presetForcesSentimentOff(options))
107
+ return `${preset} preset`;
108
+ if (process.env.KCA_SENTIMENT === "0")
109
+ return "KCA_SENTIMENT=0";
110
+ if (process.env.KCA_SENTIMENT_DEFAULT === "opt-in")
111
+ return "KCA_SENTIMENT_DEFAULT=opt-in";
112
+ if (options?.sentiment !== true && process.env.KCA_SENTIMENT !== "1") {
113
+ return "auto: 한국어 비중·샘플 조건 미충족 또는 실행 중 오류";
114
+ }
115
+ return "실행 중 오류 또는 샘플 부족";
116
+ }
117
+ function inferLlmSkipReason(preset, tier, used, profile) {
118
+ if (used)
119
+ return undefined;
120
+ if (process.env.KCA_LLM === "0")
121
+ return "KCA_LLM=0";
122
+ if (tier !== "off") {
123
+ return "GGUF 없음·예산 부족·추론 실패 또는 JSON 파싱 실패";
124
+ }
125
+ if (preset === "speed" || preset === "balanced") {
126
+ return `${preset} preset (KCA_LLM=1 없음)`;
127
+ }
128
+ if (preset === "custom" && process.env.KCA_LLM !== "1")
129
+ return "custom preset (KCA_LLM=1 필요)";
130
+ if (profile.freeMemGb < 8)
131
+ return `여유 RAM ${profile.freeMemGb}GB (< 8GB)`;
132
+ return "LLM tier off";
133
+ }
134
+ /** 집계 완료 후 실제 적용 설정 */
135
+ export function buildAnalysisEffectiveConfig(data, cli, machine) {
136
+ const profileMachine = machine ?? probeMachineProfileSync();
137
+ const buildOpts = {
138
+ preset: cli.preset,
139
+ worker: cli.worker,
140
+ semanticKeywords: cli.semanticKeywords,
141
+ sentiment: cli.sentiment,
142
+ since: cli.since,
143
+ };
144
+ const messageCount = data.summary.totalMessages;
145
+ const preset = resolvePresetNameWithAuto(buildOpts, messageCount);
146
+ const presetSource = resolvePresetSource(cli.preset, cli.worker, messageCount, profileMachine);
147
+ const profileSettings = getAnalysisProfileSettings(buildOpts);
148
+ const semanticModel = semanticEmbeddingModelId(buildOpts, messageCount);
149
+ const sentimentModel = sentimentModelId(preset);
150
+ const semanticCap = effectiveSemanticSampleCap(messageCount, buildOpts);
151
+ const llmTier = resolveLlmTier(preset, profileMachine);
152
+ const semanticUsed = data.summary.usedSemanticKeywords === true;
153
+ const sentimentUsed = data.summary.usedSentimentAnalysis === true;
154
+ const llmUsed = data.summary.usedLlmAnalysis === true;
155
+ return {
156
+ preset,
157
+ presetSource,
158
+ profile: profileSettings.profile,
159
+ privacy: cli.privacy,
160
+ top: cli.top,
161
+ since: cli.since,
162
+ workerRequested: resolveWorkerRequested(cli.worker),
163
+ workerUsed: false,
164
+ semantic: {
165
+ requested: resolveSemanticRequested(cli.semanticKeywords),
166
+ used: semanticUsed,
167
+ model: semanticModel,
168
+ sampleCap: semanticCap,
169
+ skippedReason: inferSemanticSkipReason(buildOpts, preset, semanticUsed),
170
+ },
171
+ sentiment: {
172
+ requested: resolveSentimentRequested(cli.sentiment),
173
+ used: sentimentUsed,
174
+ model: sentimentModel,
175
+ skippedReason: inferSentimentSkipReason(buildOpts, preset, sentimentUsed),
176
+ },
177
+ llm: {
178
+ tier: llmTier,
179
+ used: llmUsed,
180
+ modelId: qwenModelIdForTier(llmTier),
181
+ skippedReason: inferLlmSkipReason(preset, llmTier, llmUsed, profileMachine),
182
+ },
183
+ topicModel: resolveTopicModel(data),
184
+ embeddingTopics: profileSettings.useEmbeddingTopics,
185
+ budgetMs: analysisBudgetMs(preset, messageCount, profileMachine),
186
+ envOverrides: collectEnvOverrides(),
187
+ invokedVia: parseKcaInvokerEnv(process.env.KCA_INVOKER),
188
+ messageCount,
189
+ machine: {
190
+ freeMemGb: profileMachine.freeMemGb,
191
+ totalMemGb: profileMachine.totalMemGb,
192
+ gpu: profileMachine.gpu,
193
+ },
194
+ };
195
+ }
196
+ export function withWorkerUsed(config, workerUsed) {
197
+ return { ...config, workerUsed };
198
+ }
199
+ /** 집계 전 예상 preset (stderr 힌트) */
200
+ export function estimatePresetBeforeParse(cli, messageEstimate) {
201
+ const machine = probeMachineProfileSync();
202
+ if (cli.preset) {
203
+ return {
204
+ preset: cli.preset,
205
+ source: "cli",
206
+ };
207
+ }
208
+ const env = process.env.KCA_PRESET?.trim().toLowerCase();
209
+ if (env === "speed" || env === "balanced" || env === "quality" || env === "custom") {
210
+ return { preset: env, source: "env" };
211
+ }
212
+ if (cli.worker === true || process.env.KCA_PROFILE === "fast") {
213
+ return {
214
+ preset: resolvePresetName({ worker: cli.worker }),
215
+ source: "legacy-fast",
216
+ };
217
+ }
218
+ const n = messageEstimate ?? 0;
219
+ return {
220
+ preset: autoPresetFromMachine(machine, n),
221
+ source: resolvePresetSource(undefined, undefined, n, machine),
222
+ };
223
+ }
224
+ export function formatEstimatedPresetHint(cli, messageEstimate) {
225
+ const machine = probeMachineProfileSync();
226
+ const { preset, source } = estimatePresetBeforeParse(cli, messageEstimate);
227
+ const n = messageEstimate !== undefined
228
+ ? ` · 메시지 ~${messageEstimate.toLocaleString("ko-KR")}건`
229
+ : "";
230
+ return `[kca] 예상 preset: ${preset} (${presetSourceLabel(source)} · RAM ${machine.freeMemGb}GB${n})`;
231
+ }
232
+ function formatRequested(req) {
233
+ if (req === "auto")
234
+ return "auto";
235
+ return req ? "on" : "off";
236
+ }
237
+ export function formatConfigSummaryKo(config) {
238
+ const lines = [
239
+ "=== kca 분석 설정 ===",
240
+ `preset: ${config.preset} (${presetSourceLabel(config.presetSource)})`,
241
+ `프로필: ${config.profile} · 프라이버시: ${config.privacy} · 상위 목록: ${config.top}`,
242
+ `메시지: ${config.messageCount.toLocaleString("ko-KR")}건 · RAM ${config.machine.freeMemGb}/${config.machine.totalMemGb}GB · GPU ${config.machine.gpu}`,
243
+ `Worker: 요청 ${formatRequested(config.workerRequested)} · 실제 ${config.workerUsed ? "사용" : "미사용"}`,
244
+ ];
245
+ if (config.since)
246
+ lines.push(`기간 필터: ${config.since} 이후`);
247
+ const sem = config.semantic;
248
+ lines.push(`시맨틱: 요청 ${formatRequested(sem.requested)} · 실제 ${sem.used ? "사용" : "미사용"} · 모델 ${sem.model}${sem.sampleCap ? ` · 상한 ${sem.sampleCap}` : ""}`);
249
+ if (!sem.used && sem.skippedReason)
250
+ lines.push(` ↳ 미사용 사유: ${sem.skippedReason}`);
251
+ const sent = config.sentiment;
252
+ lines.push(`감정: 요청 ${formatRequested(sent.requested)} · 실제 ${sent.used ? "사용" : "미사용"} · 모델 ${sent.model}`);
253
+ if (!sent.used && sent.skippedReason)
254
+ lines.push(` ↳ 미사용 사유: ${sent.skippedReason}`);
255
+ const llm = config.llm;
256
+ lines.push(`LLM: tier ${llm.tier} · 실제 ${llm.used ? "사용" : "미사용"}${llm.modelId ? ` · ${llm.modelId}` : ""}`);
257
+ if (!llm.used && llm.skippedReason)
258
+ lines.push(` ↳ 미사용 사유: ${llm.skippedReason}`);
259
+ lines.push(`주제: ${config.topicModel} · 임베딩 주제 레인: ${config.embeddingTopics ? "on" : "off"} · 분석 예산 ~${Math.round(config.budgetMs / 1000)}s`);
260
+ if (config.invokedVia) {
261
+ lines.push(`실행 경로: ${config.invokedVia.name} ${config.invokedVia.version} → kca`);
262
+ }
263
+ if (config.envOverrides.length > 0) {
264
+ lines.push(`환경 변수: ${config.envOverrides.join(", ")}`);
265
+ }
266
+ return lines.join("\n");
267
+ }
268
+ export function configToJson(config) {
269
+ return JSON.stringify(config, null, 2);
270
+ }
271
+ export function toProvenanceOptions(config, data, extras) {
272
+ return {
273
+ privacy: config.privacy,
274
+ top: config.top,
275
+ since: config.since,
276
+ workerRequested: config.workerRequested,
277
+ workerUsed: config.workerUsed,
278
+ semanticRequested: config.semantic.requested,
279
+ sentimentRequested: config.sentiment.requested,
280
+ kiwiAvailable: extras.kiwiAvailable,
281
+ preset: config.preset,
282
+ presetSource: config.presetSource,
283
+ semanticModel: config.semantic.model,
284
+ semanticCap: config.semantic.sampleCap,
285
+ semanticSkippedReason: !config.semantic.used && config.semantic.skippedReason
286
+ ? config.semantic.skippedReason
287
+ : undefined,
288
+ sentimentModel: config.sentiment.model,
289
+ sentimentSkippedReason: !config.sentiment.used && config.sentiment.skippedReason
290
+ ? config.sentiment.skippedReason
291
+ : undefined,
292
+ llmTier: config.llm.tier,
293
+ llmUsed: config.llm.used,
294
+ llmSkippedReason: !config.llm.used && config.llm.skippedReason ? config.llm.skippedReason : undefined,
295
+ llmModelId: config.llm.modelId,
296
+ gpu: config.machine.gpu,
297
+ budgetMs: config.budgetMs,
298
+ envOverrides: config.envOverrides.length > 0 ? config.envOverrides : undefined,
299
+ embeddingTopics: config.embeddingTopics,
300
+ buildTiming: extras.buildTiming,
301
+ htmlBytes: extras.htmlBytes,
302
+ };
303
+ }
304
+ //# sourceMappingURL=analysis-effective-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-effective-config.js","sourceRoot":"","sources":["../../src/analysis-effective-config.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.js CHANGED
@@ -13,10 +13,10 @@ import { renderCompareHtml } from "./compare-report.js";
13
13
  import { parseSinceOption } from "./report-date-filter.js";
14
14
  import { renderReportHtml } from "./report.js";
15
15
  import { formatCapabilitiesReport, probeMachineProfile } from "./analysis-capability.js";
16
- import { autoPresetFromMachine, resolvePresetNameWithAuto } from "./analysis-preset.js";
17
- import { resolveLlmTier } from "./llm-policy.js";
16
+ import { buildAnalysisEffectiveConfig, configToJson, formatConfigSummaryKo, formatEstimatedPresetHint, toProvenanceOptions, withWorkerUsed, } from "./analysis-effective-config.js";
17
+ import { autoPresetFromMachine } from "./analysis-preset.js";
18
18
  import { parsePullTier, pullLlmGguf } from "./llm-pull.js";
19
- import { semanticEmbeddingModelId } from "./semantic-policy.js";
19
+ import { estimateKakaoMessageCount } from "./stream-parser.js";
20
20
  import { VERSION } from "./version.js";
21
21
  const DEFAULT_NAMESPACE = "kakao-chat-report";
22
22
  const DEFAULT_OUT = ".tmp/kca-report";
@@ -57,7 +57,9 @@ function registerPipelineOptions(cmd) {
57
57
  .option("--semantic-keywords", "한국어 비중과 관계없이 시맨틱 키워드를 강제합니다(e5-small, 최초 다운로드).", false)
58
58
  .option("--no-sentiment", "한국어 방 기본 감정 분석(transformers)을 끕니다.", false)
59
59
  .option("--sentiment", "한국어 비중과 관계없이 감정 분석을 강제합니다(최초 모델 다운로드).", false)
60
- .option("--since <date>", "YYYY-MM-DD 이후 메시지만 집계합니다.");
60
+ .option("--since <date>", "YYYY-MM-DD 이후 메시지만 집계합니다.")
61
+ .option("--json-config", "완료 후 적용된 분석 설정을 JSON으로 stdout에 추가합니다.", false)
62
+ .option("--json-config-only", "리포트 경로 없이 분석 설정 JSON만 stdout에 출력합니다(리포트 생성 후).", false);
61
63
  }
62
64
  function registerDiscoveryOptions(cmd) {
63
65
  cmd
@@ -101,24 +103,33 @@ async function runMainPipeline(csvPath, options) {
101
103
  const namespace = sanitizeNamespace(options.ns);
102
104
  const privacy = parsePrivacy(options.privacy);
103
105
  const top = parsePositiveInt(options.top, DEFAULT_TOP);
104
- const htmlPath = await generateReport(csvPath, {
106
+ const pipeline = buildPipelineOptions(options);
107
+ let messageEstimate;
108
+ try {
109
+ messageEstimate = await estimateKakaoMessageCount(csvPath);
110
+ console.error(formatEstimatedPresetHint(pipeline, messageEstimate));
111
+ }
112
+ catch {
113
+ console.error(formatEstimatedPresetHint(pipeline));
114
+ }
115
+ const { htmlPath, config } = await generateReport(csvPath, {
105
116
  outDir: options.out,
106
117
  privacy,
107
118
  top,
108
119
  profile: options.profile,
109
- preset: parsePresetOption(options.preset, options.fast),
110
- worker: options.fast || options.worker ? true : options.noWorker ? false : undefined,
120
+ ...pipeline,
111
121
  progress: !options.noProgress,
112
- semanticKeywords: options.noSemanticKeywords
113
- ? false
114
- : options.semanticKeywords
115
- ? true
116
- : undefined,
117
- sentiment: options.noSentiment ? false : options.sentiment ? true : undefined,
118
- since: parseSinceOption(options.since),
119
122
  });
123
+ if (options.jsonConfigOnly) {
124
+ console.log(configToJson(config));
125
+ return;
126
+ }
127
+ console.log(formatConfigSummaryKo(config));
120
128
  console.log(`리포트: ${htmlPath}`);
121
129
  console.log(`크기: ${await formatFileSize(htmlPath)}`);
130
+ if (options.jsonConfig) {
131
+ console.log(configToJson(config));
132
+ }
122
133
  if (options.local) {
123
134
  console.log("--local: 업로드를 하지 않습니다.");
124
135
  return;
@@ -269,6 +280,19 @@ function parsePresetOption(preset, fast) {
269
280
  throw new Error(`지원하지 않는 preset: "${preset}". speed|balanced|quality|custom`);
270
281
  return undefined;
271
282
  }
283
+ function buildPipelineOptions(options) {
284
+ return {
285
+ preset: parsePresetOption(options.preset, options.fast),
286
+ worker: options.fast || options.worker ? true : options.noWorker ? false : undefined,
287
+ semanticKeywords: options.noSemanticKeywords
288
+ ? false
289
+ : options.semanticKeywords
290
+ ? true
291
+ : undefined,
292
+ sentiment: options.noSentiment ? false : options.sentiment ? true : undefined,
293
+ since: parseSinceOption(options.since),
294
+ };
295
+ }
272
296
  function parsePickIndex(value) {
273
297
  const n = Number.parseInt(value, 10);
274
298
  if (!Number.isFinite(n) || n < 0) {
@@ -303,43 +327,33 @@ async function generateReport(csv, options) {
303
327
  totalMs: parseAggregateMs,
304
328
  };
305
329
  const machine = await probeMachineProfile();
306
- const preset = resolvePresetNameWithAuto({ preset: options.preset, worker: options.worker }, data.summary.totalMessages);
307
- const preliminaryProvenance = buildReportProvenance(data, {
330
+ let config = withWorkerUsed(buildAnalysisEffectiveConfig(data, {
308
331
  privacy: options.privacy,
309
332
  top: options.top,
310
333
  since: options.since,
311
- workerRequested: resolveWorkerRequested(options.worker),
312
- workerUsed,
313
- semanticRequested: resolveSemanticRequested(options.semanticKeywords),
314
- sentimentRequested: resolveSentimentRequested(options.sentiment),
334
+ preset: options.preset,
335
+ worker: options.worker,
336
+ semanticKeywords: options.semanticKeywords,
337
+ sentiment: options.sentiment,
338
+ }, machine), workerUsed);
339
+ const buildProvenance = (timing, htmlBytes) => buildReportProvenance(data, toProvenanceOptions(config, data, {
315
340
  kiwiAvailable: data.kiwiAvailableAtAnalysis === true,
316
- preset,
317
- semanticModel: semanticEmbeddingModelId({ preset: options.preset, worker: options.worker }),
318
- llmTier: resolveLlmTier(preset, machine),
319
- llmUsed: data.summary.usedLlmAnalysis === true,
320
- gpu: machine.gpu,
321
- buildTiming: { ...buildTiming },
322
- });
341
+ buildTiming: timing,
342
+ htmlBytes,
343
+ }));
323
344
  t0 = performance.now();
324
- let html = renderReportHtml({ ...data, buildTiming, provenance: preliminaryProvenance });
345
+ let html = renderReportHtml({
346
+ ...data,
347
+ buildTiming,
348
+ provenance: buildProvenance(buildTiming),
349
+ });
325
350
  buildTiming.renderHtmlMs = Math.round(performance.now() - t0);
326
351
  log("render HTML", buildTiming.renderHtmlMs);
327
352
  if (options.profile) {
328
353
  console.error(`[kca] messages: ${data.summary.totalMessages.toLocaleString("ko-KR")}`);
329
354
  }
330
355
  buildTiming.totalMs = buildTiming.parseAggregateMs + buildTiming.renderHtmlMs;
331
- const provenance = buildReportProvenance(data, {
332
- privacy: options.privacy,
333
- top: options.top,
334
- since: options.since,
335
- workerRequested: resolveWorkerRequested(options.worker),
336
- workerUsed,
337
- semanticRequested: resolveSemanticRequested(options.semanticKeywords),
338
- sentimentRequested: resolveSentimentRequested(options.sentiment),
339
- kiwiAvailable: data.kiwiAvailableAtAnalysis === true,
340
- buildTiming: { ...buildTiming },
341
- htmlBytes: Buffer.byteLength(html, "utf8"),
342
- });
356
+ const provenance = buildProvenance(buildTiming, Buffer.byteLength(html, "utf8"));
343
357
  html = patchReportProvenance(html, provenance);
344
358
  t0 = performance.now();
345
359
  await mkdir(outDir, { recursive: true });
@@ -350,33 +364,12 @@ async function generateReport(csv, options) {
350
364
  if (options.profile) {
351
365
  console.error(`[kca] build total: ${buildTiming.totalMs}ms (aggregate ${buildTiming.parseAggregateMs} · html ${buildTiming.renderHtmlMs} · write ${buildTiming.writeFileMs})`);
352
366
  }
353
- return htmlPath;
367
+ return { htmlPath, config };
354
368
  }
355
369
  async function readReportHtml(htmlPath) {
356
370
  const { readFile } = await import("node:fs/promises");
357
371
  return readFile(htmlPath, "utf8");
358
372
  }
359
- function resolveWorkerRequested(worker) {
360
- if (worker === false)
361
- return false;
362
- if (worker === true)
363
- return true;
364
- return "auto";
365
- }
366
- function resolveSemanticRequested(semanticKeywords) {
367
- if (semanticKeywords === false)
368
- return false;
369
- if (semanticKeywords === true)
370
- return true;
371
- return "auto";
372
- }
373
- function resolveSentimentRequested(sentiment) {
374
- if (sentiment === false)
375
- return false;
376
- if (sentiment === true)
377
- return true;
378
- return "auto";
379
- }
380
373
  function parsePrivacy(value) {
381
374
  if (value === "public-masked" || value === "public-anonymous")
382
375
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}