kakaotalk-chat-analyzer 0.18.6 → 0.18.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.
@@ -1,12 +1,16 @@
1
1
  export type GpuKind = "none" | "cuda" | "dml" | "metal" | "webgpu";
2
2
  export interface MachineProfile {
3
3
  totalMemGb: number;
4
+ /** os.freemem() — 즉시 해제 가능( macOS에서 과소 ) */
4
5
  freeMemGb: number;
6
+ /** OS별 가용 추정 — preset·배치·LLM 판단 */
7
+ availableMemGb: number;
5
8
  cpuCores: number;
6
9
  platform: NodeJS.Platform;
7
10
  arch: string;
8
11
  gpu: GpuKind;
9
12
  }
13
+ export declare function memoryHeadroomGb(profile: MachineProfile): number;
10
14
  export declare function probeMachineProfileSync(): MachineProfile;
11
15
  export declare function probeMachineProfile(): Promise<MachineProfile>;
12
16
  /** preset·코퍼스·RAM 기준 분석 예산(ms) — 5분 SLA 휴리스틱 */
@@ -1,11 +1,17 @@
1
- import { freemem, totalmem, cpus, platform, arch } from "node:os";
1
+ import { totalmem, cpus, platform, arch } from "node:os";
2
+ import { formatMemoryLine, probeAvailableMemoryBytes, probeFreeMemoryBytes, } from "./memory-probe.js";
2
3
  import { probeOnnxGpu } from "./ml-runtime.js";
4
+ export function memoryHeadroomGb(profile) {
5
+ return profile.availableMemGb ?? profile.freeMemGb;
6
+ }
3
7
  export function probeMachineProfileSync() {
4
8
  const totalMemGb = totalmem() / 1024 ** 3;
5
- const freeMemGb = freemem() / 1024 ** 3;
9
+ const freeMemGb = probeFreeMemoryBytes() / 1024 ** 3;
10
+ const availableMemGb = probeAvailableMemoryBytes() / 1024 ** 3;
6
11
  return {
7
12
  totalMemGb: Math.round(totalMemGb * 10) / 10,
8
13
  freeMemGb: Math.round(freeMemGb * 10) / 10,
14
+ availableMemGb: Math.round(availableMemGb * 10) / 10,
9
15
  cpuCores: cpus().length,
10
16
  platform: platform(),
11
17
  arch: arch(),
@@ -27,13 +33,14 @@ export function analysisBudgetMs(preset, messageCount, profile) {
27
33
  export function estimateAnalysisSeconds(preset, messageCount, profile) {
28
34
  const n = Math.max(messageCount, 1);
29
35
  const base = n / 900;
30
- const memFactor = profile.freeMemGb < 6 ? 1.4 : profile.freeMemGb < 12 ? 1.1 : 1;
36
+ const headroom = memoryHeadroomGb(profile);
37
+ const memFactor = headroom < 6 ? 1.4 : headroom < 12 ? 1.1 : 1;
31
38
  const presetFactor = preset === "speed" ? 0.55 : preset === "balanced" ? 1 : preset === "quality" ? 1.45 : 1.1;
32
39
  return Math.max(1, Math.round(base * memFactor * presetFactor));
33
40
  }
34
41
  export function formatCapabilitiesReport(profile, opts) {
35
42
  const lines = [
36
- `RAM: ${profile.freeMemGb} GiB free / ${profile.totalMemGb} GiB total`,
43
+ formatMemoryLine(profile),
37
44
  `CPU: ${profile.cpuCores} cores · ${profile.platform}/${profile.arch}`,
38
45
  `GPU (ONNX): ${profile.gpu}`,
39
46
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-capability.js","sourceRoot":"","sources":["../../src/analysis-capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-capability.js","sourceRoot":"","sources":["../../src/analysis-capability.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export interface AnalysisEffectiveConfig {
37
37
  version: string;
38
38
  };
39
39
  messageCount: number;
40
- machine: Pick<MachineProfile, "freeMemGb" | "totalMemGb" | "gpu">;
40
+ machine: Pick<MachineProfile, "freeMemGb" | "availableMemGb" | "totalMemGb" | "gpu">;
41
41
  }
42
42
  export interface CliPipelineOptions {
43
43
  privacy: PrivacyMode;
@@ -1,4 +1,5 @@
1
- import { analysisBudgetMs, probeMachineProfileSync, } from "./analysis-capability.js";
1
+ import { analysisBudgetMs, memoryHeadroomGb, probeMachineProfileSync, } from "./analysis-capability.js";
2
+ import { formatMemoryLine } from "./memory-probe.js";
2
3
  import { autoPresetFromMachine, presetForcesSemanticOff, presetForcesSentimentOff, resolvePresetName, resolvePresetNameWithAuto, } from "./analysis-preset.js";
3
4
  import { getAnalysisProfileSettings } from "./analysis-profile.js";
4
5
  import { resolveLlmTier, qwenModelIdForTier } from "./llm-policy.js";
@@ -24,6 +25,7 @@ function collectEnvOverrides() {
24
25
  "KCA_LLM_BACKEND",
25
26
  "KCA_EMBEDDING_TOPICS",
26
27
  "KCA_INVOKER",
28
+ "KCA_MEMORY_PROBE",
27
29
  ];
28
30
  const out = [];
29
31
  for (const key of keys) {
@@ -127,8 +129,9 @@ function inferLlmSkipReason(preset, tier, used, profile) {
127
129
  }
128
130
  if (preset === "custom" && process.env.KCA_LLM !== "1")
129
131
  return "custom preset (KCA_LLM=1 필요)";
130
- if (profile.freeMemGb < 8)
131
- return `여유 RAM ${profile.freeMemGb}GB (< 8GB)`;
132
+ const headroom = memoryHeadroomGb(profile);
133
+ if (headroom < 8)
134
+ return `가용 RAM ${headroom}GB (< 8GB)`;
132
135
  return "LLM tier off";
133
136
  }
134
137
  /** 집계 완료 후 실제 적용 설정 */
@@ -144,7 +147,7 @@ export function buildAnalysisEffectiveConfig(data, cli, machine) {
144
147
  const messageCount = data.summary.totalMessages;
145
148
  const preset = resolvePresetNameWithAuto(buildOpts, messageCount);
146
149
  const presetSource = resolvePresetSource(cli.preset, cli.worker, messageCount, profileMachine);
147
- const profileSettings = getAnalysisProfileSettings(buildOpts);
150
+ const profileSettings = getAnalysisProfileSettings(buildOpts, messageCount);
148
151
  const semanticModel = semanticEmbeddingModelId(buildOpts, messageCount);
149
152
  const sentimentModel = sentimentModelId(preset);
150
153
  const semanticCap = effectiveSemanticSampleCap(messageCount, buildOpts);
@@ -188,6 +191,7 @@ export function buildAnalysisEffectiveConfig(data, cli, machine) {
188
191
  messageCount,
189
192
  machine: {
190
193
  freeMemGb: profileMachine.freeMemGb,
194
+ availableMemGb: profileMachine.availableMemGb,
191
195
  totalMemGb: profileMachine.totalMemGb,
192
196
  gpu: profileMachine.gpu,
193
197
  },
@@ -227,7 +231,10 @@ export function formatEstimatedPresetHint(cli, messageEstimate) {
227
231
  const n = messageEstimate !== undefined
228
232
  ? ` · 메시지 ~${messageEstimate.toLocaleString("ko-KR")}건`
229
233
  : "";
230
- return `[kca] 예상 preset: ${preset} (${presetSourceLabel(source)} · RAM ${machine.freeMemGb}GB${n})`;
234
+ const ram = Math.abs(machine.availableMemGb - machine.freeMemGb) < 0.3
235
+ ? `가용 RAM ${machine.availableMemGb}GB`
236
+ : `가용 RAM ${machine.availableMemGb}GB (free ${machine.freeMemGb}GB)`;
237
+ return `[kca] 예상 preset: ${preset} (${presetSourceLabel(source)} · ${ram}${n})`;
231
238
  }
232
239
  function formatRequested(req) {
233
240
  if (req === "auto")
@@ -239,7 +246,7 @@ export function formatConfigSummaryKo(config) {
239
246
  "=== kca 분석 설정 ===",
240
247
  `preset: ${config.preset} (${presetSourceLabel(config.presetSource)})`,
241
248
  `프로필: ${config.profile} · 프라이버시: ${config.privacy} · 상위 목록: ${config.top}`,
242
- `메시지: ${config.messageCount.toLocaleString("ko-KR")}건 · RAM ${config.machine.freeMemGb}/${config.machine.totalMemGb}GB · GPU ${config.machine.gpu}`,
249
+ `메시지: ${config.messageCount.toLocaleString("ko-KR")}건 · ${formatMemoryLine(config.machine).replace(/^RAM: /, "")} · GPU ${config.machine.gpu}`,
243
250
  `Worker: 요청 ${formatRequested(config.workerRequested)} · 실제 ${config.workerUsed ? "사용" : "미사용"}`,
244
251
  ];
245
252
  if (config.since)
@@ -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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"}
@@ -10,7 +10,7 @@ export interface PresetEffectiveFlags {
10
10
  preferWorker: boolean;
11
11
  }
12
12
  export declare function resolvePresetName(options?: BuildReportOptions): AnalysisPresetName;
13
- /** CLI 인자 없을 때 RAM·메시지 수 기반 자동 preset */
13
+ /** CLI 인자 없을 때 가용 RAM·총 RAM·메시지 수 기반 자동 preset (품질 우선) */
14
14
  export declare function autoPresetFromMachine(profile: MachineProfile, messageCount?: number): AnalysisPresetName;
15
15
  export declare function resolvePresetNameWithAuto(options?: BuildReportOptions, messageCount?: number): AnalysisPresetName;
16
16
  export declare function getPresetEffectiveFlags(options?: BuildReportOptions, messageCount?: number): PresetEffectiveFlags;
@@ -1,4 +1,4 @@
1
- import { probeMachineProfileSync } from "./analysis-capability.js";
1
+ import { memoryHeadroomGb, probeMachineProfileSync, } from "./analysis-capability.js";
2
2
  function presetFromEnv() {
3
3
  const raw = process.env.KCA_PRESET?.trim().toLowerCase();
4
4
  if (raw === "speed" || raw === "balanced" || raw === "quality" || raw === "custom")
@@ -15,13 +15,23 @@ export function resolvePresetName(options) {
15
15
  return "speed";
16
16
  return "balanced";
17
17
  }
18
- /** CLI 인자 없을 때 RAM·메시지 수 기반 자동 preset */
18
+ /** CLI 인자 없을 때 가용 RAM·총 RAM·메시지 수 기반 자동 preset (품질 우선) */
19
19
  export function autoPresetFromMachine(profile, messageCount) {
20
- if (profile.freeMemGb < 6)
20
+ const headroom = memoryHeadroomGb(profile);
21
+ const total = profile.totalMemGb;
22
+ const n = messageCount ?? 0;
23
+ if (headroom < 4 || (headroom < 6 && total < 16))
21
24
  return "speed";
22
- if (profile.freeMemGb < 12)
25
+ if (total >= 32 && headroom >= 12) {
26
+ return n >= 80_000 ? "balanced" : "quality";
27
+ }
28
+ if (total >= 16 && headroom >= 10) {
29
+ return n >= 40_000 ? "balanced" : "quality";
30
+ }
31
+ if (headroom < 8)
32
+ return "speed";
33
+ if (headroom < 12)
23
34
  return "balanced";
24
- const n = messageCount ?? 0;
25
35
  if (n >= 30_000)
26
36
  return "balanced";
27
37
  return "quality";
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-preset.js","sourceRoot":"","sources":["../../src/analysis-preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-preset.js","sourceRoot":"","sources":["../../src/analysis-preset.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@ export interface AnalysisProfileSettings {
6
6
  semanticSupplementRrfWeight: number;
7
7
  semanticClusterMinCoherence: number;
8
8
  }
9
- export declare function resolveAnalysisProfile(options?: BuildReportOptions): AnalysisProfile;
10
- export declare function getAnalysisProfileSettings(options?: BuildReportOptions): AnalysisProfileSettings;
9
+ export declare function resolveAnalysisProfile(options?: BuildReportOptions, messageCount?: number): AnalysisProfile;
10
+ export declare function getAnalysisProfileSettings(options?: BuildReportOptions, messageCount?: number): AnalysisProfileSettings;
@@ -1,14 +1,14 @@
1
1
  import { getPresetEffectiveFlags } from "./analysis-preset.js";
2
- export function resolveAnalysisProfile(options) {
3
- const preset = getPresetEffectiveFlags(options);
2
+ export function resolveAnalysisProfile(options, messageCount) {
3
+ const preset = getPresetEffectiveFlags(options, messageCount);
4
4
  if (preset.profile === "fast")
5
5
  return "fast";
6
6
  if (options?.worker === true || process.env.KCA_PROFILE === "fast")
7
7
  return "fast";
8
8
  return "quality";
9
9
  }
10
- export function getAnalysisProfileSettings(options) {
11
- const profile = resolveAnalysisProfile(options);
10
+ export function getAnalysisProfileSettings(options, messageCount) {
11
+ const profile = resolveAnalysisProfile(options, messageCount);
12
12
  if (profile === "fast") {
13
13
  return {
14
14
  profile,
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-profile.js","sourceRoot":"","sources":["../../src/analysis-profile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAW/D,MAAM,UAAU,sBAAsB,CAAC,OAA4B;IACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,OAAO,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAA4B;IACrE,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO;YACL,OAAO;YACP,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;YAC5D,2BAA2B,EAAE,IAAI;YACjC,2BAA2B,EAAE,IAAI;SAClC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO;QACP,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;QAC5D,2BAA2B,EAAE,GAAG;QAChC,2BAA2B,EAAE,IAAI;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"analysis-profile.js","sourceRoot":"","sources":["../../src/analysis-profile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAW/D,MAAM,UAAU,sBAAsB,CACpC,OAA4B,EAC5B,YAAqB;IAErB,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,OAAO,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAA4B,EAC5B,YAAqB;IAErB,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO;YACL,OAAO;YACP,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;YAC5D,2BAA2B,EAAE,IAAI;YACjC,2BAA2B,EAAE,IAAI;SAClC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO;QACP,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;QAC5D,2BAA2B,EAAE,GAAG;QAChC,2BAA2B,EAAE,IAAI;KAClC,CAAC;AACJ,CAAC"}
@@ -25,8 +25,8 @@ import { stat } from "node:fs/promises";
25
25
  import { estimateKakaoMessageCount, streamKakaoExport } from "./stream-parser.js";
26
26
  import { recordOnOrAfter } from "./report-date-filter.js";
27
27
  const DEFAULT_TOP = 30;
28
- function finalizeProfileOpts(options, extra) {
29
- const settings = getAnalysisProfileSettings(options);
28
+ function finalizeProfileOpts(options, extra, messageCount) {
29
+ const settings = getAnalysisProfileSettings(options, messageCount);
30
30
  return {
31
31
  ...extra,
32
32
  useEmbeddingTopics: settings.useEmbeddingTopics,
@@ -60,7 +60,7 @@ async function applySemanticKeywords(agg, enabled, showProgress, options) {
60
60
  const samples = agg.drainSemanticSamples(options);
61
61
  if (samples.length < 48)
62
62
  return false;
63
- const profileSettings = getAnalysisProfileSettings(options);
63
+ const profileSettings = getAnalysisProfileSettings(options, corpusMessages);
64
64
  if (showProgress)
65
65
  logReportProgress({ phase: "시맨틱 키워드", current: 0 });
66
66
  try {
@@ -135,7 +135,7 @@ export function buildReportData(result, options) {
135
135
  encoding: result.encoding,
136
136
  physicalLines: result.physicalLines,
137
137
  warningCount: result.warnings.length,
138
- }, finalizeProfileOpts(options, { koreanPrimary: korean })));
138
+ }, finalizeProfileOpts(options, { koreanPrimary: korean }, result.records.length)));
139
139
  }
140
140
  export async function buildReportDataAsync(result, options) {
141
141
  await prepareReportEngine();
@@ -167,7 +167,7 @@ export async function buildReportDataAsync(result, options) {
167
167
  usedSemanticKeywords: usedSemantic,
168
168
  usedSentimentAnalysis: usedSentiment,
169
169
  koreanPrimary: prepass.isPrimarilyKorean(),
170
- })));
170
+ }, result.records.length)));
171
171
  }
172
172
  function messageTextFromRecord(record) {
173
173
  return record.message;
@@ -359,7 +359,7 @@ export async function buildReportFromExportSync(filePath, options) {
359
359
  usedSemanticKeywords: usedSemanticOverlap,
360
360
  usedSentimentAnalysis: usedSentimentOverlap,
361
361
  koreanPrimary: prepass.isPrimarilyKorean(),
362
- }));
362
+ }, prepass.messageCount));
363
363
  const llmTier = resolveLlmTier(preset, probeMachineProfileSync());
364
364
  phaseProfiler.start("llm");
365
365
  if (llmTier !== "off" && !budget.shouldSkip("llm")) {
@@ -432,7 +432,7 @@ export async function buildReportFromExportSync(filePath, options) {
432
432
  usedSemanticKeywords: usedSemantic,
433
433
  usedSentimentAnalysis: usedSentiment,
434
434
  koreanPrimary: prepass.isPrimarilyKorean(),
435
- }));
435
+ }, prepass.messageCount));
436
436
  const llmTier = resolveLlmTier(preset, probeMachineProfileSync());
437
437
  phaseProfiler.start("llm");
438
438
  if (llmTier !== "off" && !budget.shouldSkip("llm")) {
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import { cpus } from "node:os";
2
- import { probeMachineProfileSync } from "./analysis-capability.js";
2
+ import { memoryHeadroomGb, probeMachineProfileSync } from "./analysis-capability.js";
3
3
  /** Kiwi spool 병렬 토큰화 worker 수 (1 = 비활성, 메인 스레드만) */
4
4
  export function resolveKiwiWorkerCount() {
5
5
  if (process.env.KCA_NO_KIWI === "1" || process.env.KCA_NO_KIWI_WORKERS === "1")
@@ -11,10 +11,11 @@ export function resolveKiwiWorkerCount() {
11
11
  return Math.min(16, n);
12
12
  }
13
13
  const profile = probeMachineProfileSync();
14
- if (profile.freeMemGb < 8)
14
+ const headroom = memoryHeadroomGb(profile);
15
+ if (headroom < 8)
15
16
  return 1;
16
17
  const cores = profile.cpuCores || cpus().length;
17
- const byMem = profile.freeMemGb >= 16 ? 4 : profile.freeMemGb >= 12 ? 3 : 2;
18
+ const byMem = headroom >= 16 ? 4 : headroom >= 12 ? 3 : 2;
18
19
  return Math.max(1, Math.min(byMem, Math.max(1, cores - 1)));
19
20
  }
20
21
  export function kiwiWorkerPoolEnabled(workerCount, messageCount) {
@@ -1 +1 @@
1
- {"version":3,"file":"kiwi-worker-config.js","sourceRoot":"","sources":["../../src/kiwi-worker-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,oDAAoD;AACpD,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG;QAAE,OAAO,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,YAAoB;IAC7E,OAAO,WAAW,GAAG,CAAC,IAAI,YAAY,IAAI,KAAK,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"kiwi-worker-config.js","sourceRoot":"","sources":["../../src/kiwi-worker-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAErF,oDAAoD;AACpD,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG;QAAE,OAAO,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,YAAoB;IAC7E,OAAO,WAAW,GAAG,CAAC,IAAI,YAAY,IAAI,KAAK,CAAC;AAClD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { MachineProfile } from "./analysis-capability.js";
1
+ import { type MachineProfile } from "./analysis-capability.js";
2
2
  import type { AnalysisPresetName } from "./analysis-preset.js";
3
3
  /** Qwen3.5 Instruct GGUF — 텍스트 요약·주제 보강용 */
4
4
  export declare const QWEN35_MODELS: {
@@ -1,3 +1,4 @@
1
+ import { memoryHeadroomGb } from "./analysis-capability.js";
1
2
  /** Qwen3.5 Instruct GGUF — 텍스트 요약·주제 보강용 */
2
3
  export const QWEN35_MODELS = {
3
4
  "0.8b": "Qwen/Qwen3.5-0.8B-Instruct-GGUF",
@@ -22,17 +23,18 @@ export function resolveLlmTier(preset, profile) {
22
23
  return "off";
23
24
  if (preset === "custom" && process.env.KCA_LLM === "1" && forced !== "9b")
24
25
  return "2b";
25
- if (profile.freeMemGb < 8)
26
+ const headroom = memoryHeadroomGb(profile);
27
+ if (headroom < 8)
26
28
  return "off";
27
29
  if (forced === "9b") {
28
30
  if (preset === "custom") {
29
31
  process.stderr.write("[kca] Qwen3.5-9B는 custom 전용입니다. node-llama-cpp 대신 KCA_LLM_BACKEND=ollama 를 권장합니다.\n");
30
32
  }
31
- if (profile.freeMemGb >= 20)
33
+ if (headroom >= 20)
32
34
  return "4b";
33
35
  return "off";
34
36
  }
35
- if (preset === "quality" && profile.freeMemGb >= 14)
37
+ if (preset === "quality" && headroom >= 14)
36
38
  return "4b";
37
39
  return "2b";
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm-policy.js","sourceRoot":"","sources":["../../src/llm-policy.ts"],"names":[],"mappings":"AAGA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,iCAAiC;IACzC,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,+BAA+B;CAC7B,CAAC;AAIX,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,UAAU,cAAc,CAC5B,MAA0B,EAC1B,OAAuB;IAEvB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/D,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC3E,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,IAAI,CAAC;AACd,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,IAAa;IAC9C,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"llm-policy.js","sourceRoot":"","sources":["../../src/llm-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,0BAA0B,CAAC;AAGjF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,iCAAiC;IACzC,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,+BAA+B;CAC7B,CAAC;AAIX,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,UAAU,cAAc,CAC5B,MAA0B,EAC1B,OAAuB;IAEvB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/D,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC3E,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,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,IAAa;IAC9C,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,18 @@
1
+ export type MemoryProbeMode = "available" | "free";
2
+ /** vm_stat 페이지 수 × page size (darwin) */
3
+ export declare function parseDarwinVmStatPages(vmStatText: string): {
4
+ free: number;
5
+ inactive: number;
6
+ speculative: number;
7
+ };
8
+ export declare function darwinAvailableBytesFromVmStat(vmStatText: string, pageSize: number): number;
9
+ /** Linux MemAvailable (kB) */
10
+ export declare function parseLinuxMemAvailableKb(meminfoText: string): number | null;
11
+ /** OS별 가용 메모리 추정(바이트). 실패 시 fallback. */
12
+ export declare function probeAvailableMemoryBytes(): number;
13
+ export declare function probeFreeMemoryBytes(): number;
14
+ export declare function formatMemoryLine(profile: {
15
+ freeMemGb: number;
16
+ availableMemGb: number;
17
+ totalMemGb: number;
18
+ }): string;
@@ -0,0 +1,115 @@
1
+ import { execSync } from "node:child_process";
2
+ import { readFileSync } from "node:fs";
3
+ import { freemem, totalmem, platform } from "node:os";
4
+ function roundGb(bytes) {
5
+ return Math.round((bytes / 1024 ** 3) * 10) / 10;
6
+ }
7
+ function probeMode() {
8
+ const raw = process.env.KCA_MEMORY_PROBE?.trim().toLowerCase();
9
+ if (raw === "free")
10
+ return "free";
11
+ return "available";
12
+ }
13
+ /** vm_stat 페이지 수 × page size (darwin) */
14
+ export function parseDarwinVmStatPages(vmStatText) {
15
+ let free = 0;
16
+ let inactive = 0;
17
+ let speculative = 0;
18
+ for (const line of vmStatText.split("\n")) {
19
+ const m = line.match(/^\s*Pages\s+(\w+):\s+(\d+)/);
20
+ if (!m)
21
+ continue;
22
+ const n = Number.parseInt(m[2], 10);
23
+ if (m[1] === "free")
24
+ free = n;
25
+ else if (m[1] === "inactive")
26
+ inactive = n;
27
+ else if (m[1] === "speculative")
28
+ speculative = n;
29
+ }
30
+ return { free, inactive, speculative };
31
+ }
32
+ export function darwinAvailableBytesFromVmStat(vmStatText, pageSize) {
33
+ const { free, inactive, speculative } = parseDarwinVmStatPages(vmStatText);
34
+ return (free + inactive + speculative) * pageSize;
35
+ }
36
+ function darwinPageSize() {
37
+ try {
38
+ const out = execSync("sysctl -n hw.pagesize", { encoding: "utf8", timeout: 2000 }).trim();
39
+ const n = Number.parseInt(out, 10);
40
+ if (Number.isFinite(n) && n > 0)
41
+ return n;
42
+ }
43
+ catch {
44
+ /* fallback */
45
+ }
46
+ return 4096;
47
+ }
48
+ function probeDarwinAvailableBytes() {
49
+ try {
50
+ const vmStat = execSync("vm_stat", { encoding: "utf8", timeout: 3000 });
51
+ return darwinAvailableBytesFromVmStat(vmStat, darwinPageSize());
52
+ }
53
+ catch {
54
+ return null;
55
+ }
56
+ }
57
+ /** Linux MemAvailable (kB) */
58
+ export function parseLinuxMemAvailableKb(meminfoText) {
59
+ for (const line of meminfoText.split("\n")) {
60
+ if (line.startsWith("MemAvailable:")) {
61
+ const kb = Number.parseInt(line.split(/\s+/)[1] ?? "", 10);
62
+ if (Number.isFinite(kb) && kb > 0)
63
+ return kb;
64
+ }
65
+ }
66
+ for (const line of meminfoText.split("\n")) {
67
+ if (line.startsWith("MemFree:")) {
68
+ const kb = Number.parseInt(line.split(/\s+/)[1] ?? "", 10);
69
+ if (Number.isFinite(kb) && kb > 0)
70
+ return kb;
71
+ }
72
+ }
73
+ return null;
74
+ }
75
+ function probeLinuxAvailableBytes() {
76
+ try {
77
+ const text = readFileSync("/proc/meminfo", "utf8");
78
+ const kb = parseLinuxMemAvailableKb(text);
79
+ if (kb === null)
80
+ return null;
81
+ return kb * 1024;
82
+ }
83
+ catch {
84
+ return null;
85
+ }
86
+ }
87
+ function probeFallbackAvailableBytes() {
88
+ const free = freemem();
89
+ const total = totalmem();
90
+ return Math.max(free, total * 0.15);
91
+ }
92
+ /** OS별 가용 메모리 추정(바이트). 실패 시 fallback. */
93
+ export function probeAvailableMemoryBytes() {
94
+ if (probeMode() === "free")
95
+ return freemem();
96
+ const plat = platform();
97
+ let specific = null;
98
+ if (plat === "darwin")
99
+ specific = probeDarwinAvailableBytes();
100
+ else if (plat === "linux")
101
+ specific = probeLinuxAvailableBytes();
102
+ if (specific !== null && specific > 0)
103
+ return specific;
104
+ return probeFallbackAvailableBytes();
105
+ }
106
+ export function probeFreeMemoryBytes() {
107
+ return freemem();
108
+ }
109
+ export function formatMemoryLine(profile) {
110
+ if (Math.abs(profile.availableMemGb - profile.freeMemGb) < 0.3) {
111
+ return `RAM: ${profile.availableMemGb} GiB available / ${profile.totalMemGb} GiB total`;
112
+ }
113
+ return `RAM: ${profile.availableMemGb} GiB available (${profile.freeMemGb} GiB free) / ${profile.totalMemGb} GiB total`;
114
+ }
115
+ //# sourceMappingURL=memory-probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-probe.js","sourceRoot":"","sources":["../../src/memory-probe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { probeMachineProfileSync } from "./analysis-capability.js";
1
+ import { memoryHeadroomGb, probeMachineProfileSync } from "./analysis-capability.js";
2
2
  import { probeOnnxGpu } from "./ml-runtime.js";
3
3
  function envInt(name) {
4
4
  const raw = process.env[name]?.trim();
@@ -13,7 +13,8 @@ export function resolveEmbedBatchSize() {
13
13
  if (forced)
14
14
  return Math.min(128, forced);
15
15
  const profile = probeMachineProfileSync();
16
- let batch = profile.freeMemGb >= 20 ? 32 : profile.freeMemGb >= 12 ? 24 : profile.freeMemGb >= 8 ? 16 : 12;
16
+ const headroom = memoryHeadroomGb(profile);
17
+ let batch = headroom >= 20 ? 32 : headroom >= 12 ? 24 : headroom >= 8 ? 16 : 12;
17
18
  const gpu = process.env.KCA_ONNX_GPU?.trim().toLowerCase();
18
19
  if (gpu && gpu !== "none" && gpu !== "cpu")
19
20
  batch = Math.min(64, batch * 2);
@@ -24,7 +25,8 @@ export function resolveSentimentBatchSize() {
24
25
  if (forced)
25
26
  return Math.min(128, forced);
26
27
  const profile = probeMachineProfileSync();
27
- let batch = profile.freeMemGb >= 20 ? 32 : profile.freeMemGb >= 12 ? 24 : 16;
28
+ const headroom = memoryHeadroomGb(profile);
29
+ let batch = headroom >= 20 ? 32 : headroom >= 12 ? 24 : 16;
28
30
  const gpu = process.env.KCA_ONNX_GPU?.trim().toLowerCase();
29
31
  if (gpu && gpu !== "none" && gpu !== "cpu")
30
32
  batch = Math.min(64, batch * 2);
@@ -36,8 +38,9 @@ export async function resolveEmbedBatchSizeAsync() {
36
38
  if (forced)
37
39
  return Math.min(128, forced);
38
40
  const profile = probeMachineProfileSync();
41
+ const headroom = memoryHeadroomGb(profile);
39
42
  const gpu = await probeOnnxGpu();
40
- let batch = profile.freeMemGb >= 20 ? 32 : profile.freeMemGb >= 12 ? 24 : profile.freeMemGb >= 8 ? 16 : 12;
43
+ let batch = headroom >= 20 ? 32 : headroom >= 12 ? 24 : headroom >= 8 ? 16 : 12;
41
44
  if (gpu !== "none")
42
45
  batch = Math.min(64, batch * 2);
43
46
  return batch;
@@ -1 +1 @@
1
- {"version":3,"file":"ml-batch-size.js","sourceRoot":"","sources":["../../src/ml-batch-size.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ml-batch-size.js","sourceRoot":"","sources":["../../src/ml-batch-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,SAAS,MAAM,CAAC,IAAY;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACzC,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3D,IAAI,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK;QAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC7C,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3D,IAAI,GAAG,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK;QAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mCAAmC;AACnC,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACzC,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,YAAY,EAAE,CAAC;IACjC,IAAI,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,IAAI,GAAG,KAAK,MAAM;QAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.18.6";
2
- export declare const USER_AGENT = "kakaotalk-chat-analyzer/0.18.6";
1
+ export declare const VERSION = "0.18.7";
2
+ export declare const USER_AGENT = "kakaotalk-chat-analyzer/0.18.7";
@@ -1,3 +1,3 @@
1
- export const VERSION = "0.18.6";
1
+ export const VERSION = "0.18.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.18.6",
3
+ "version": "0.18.7",
4
4
  "description": "카카오톡 CSV 보내기 → 한글 리포트 → 선택적 임시 공유. npx 한 줄로 실행 가능한 CLI.",
5
5
  "type": "module",
6
6
  "homepage": "https://claudianus.github.io/kakaotalk-chat-analyzer/",