chatlab-cli 0.31.3 → 0.33.0

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.
Files changed (152) hide show
  1. package/README.md +2 -1
  2. package/dist/{chat-command-ZIXKNLSE.mjs → chat-command-IHRNO7J4.mjs} +8 -8
  3. package/dist/{chunk-3J7WTUEE.mjs → chunk-4V6UP7EW.mjs} +2 -2
  4. package/dist/{chunk-YVNZ73O5.mjs → chunk-C3B7RXES.mjs} +3919 -3773
  5. package/dist/chunk-C3B7RXES.mjs.map +1 -0
  6. package/dist/{chunk-FDLLEDNW.mjs → chunk-HGV4MUIW.mjs} +4 -4
  7. package/dist/{chunk-75FZ26HM.mjs → chunk-KWJ5FZ74.mjs} +1196 -1045
  8. package/dist/chunk-KWJ5FZ74.mjs.map +1 -0
  9. package/dist/{chunk-DV4U34MR.mjs → chunk-NHTOSDYI.mjs} +2 -2
  10. package/dist/{chunk-UIUEG7JB.mjs → chunk-NSWFHMBZ.mjs} +112 -16
  11. package/dist/chunk-NSWFHMBZ.mjs.map +1 -0
  12. package/dist/{chunk-EINCXXWY.mjs → chunk-RHA534GU.mjs} +3 -3
  13. package/dist/{chunk-23AIEWCD.mjs → chunk-S7YPBKQ3.mjs} +2 -2
  14. package/dist/{chunk-BLOBEOCG.mjs → chunk-U4F6BNGZ.mjs} +2 -2
  15. package/dist/{chunk-MFOCDGCC.mjs → chunk-ZERQIKI4.mjs} +121 -19
  16. package/dist/chunk-ZERQIKI4.mjs.map +1 -0
  17. package/dist/{chunk-GZO3NAHC.mjs → chunk-ZTMZ7S7T.mjs} +65 -16
  18. package/dist/chunk-ZTMZ7S7T.mjs.map +1 -0
  19. package/dist/cli.mjs +8 -8
  20. package/dist/contacts-worker.mjs +2 -2
  21. package/dist/global-insight-worker.mjs +1 -1
  22. package/dist/{http-WDG2OHOV.mjs → http-Y2WC2UK4.mjs} +11 -11
  23. package/dist/{import-4BDC37F7.mjs → import-4HF2UNQI.mjs} +7 -7
  24. package/dist/index.mjs +11 -11
  25. package/dist/{mcp-4KUVRGFF.mjs → mcp-DJPDRFTW.mjs} +8 -8
  26. package/dist/people-relationships-worker.mjs +2 -2
  27. package/dist/semantic-index-worker.mjs +1 -1
  28. package/dist/{src-ZOCLFBCJ.mjs → src-R7MZLKXQ.mjs} +17 -9
  29. package/dist/{stream-import-ERTT7U6V.mjs → stream-import-DX57ANUL.mjs} +7 -7
  30. package/dist/{worker-runtime-2TUZHV7W.mjs → worker-runtime-QMN7OKOZ.mjs} +5 -5
  31. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-hwRVh048.js +110 -0
  32. package/{dist-web/assets/BufferResource-DgKoy0Ii.js → dist-cli-web/assets/BufferResource-DwfMBlAa.js} +1 -1
  33. package/dist-cli-web/assets/CanvasRenderer-q312LRsp.js +1 -0
  34. package/dist-cli-web/assets/DataDirCleanupNotice--ee1dY0d.js +1 -0
  35. package/dist-cli-web/assets/EChartWordcloud-BaMgUl0Y.js +1 -0
  36. package/{dist-web/assets/Filter-D32zqY5x.js → dist-cli-web/assets/Filter-BOb5cLBx.js} +1 -1
  37. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-DK2z0Jrh.js +1 -0
  38. package/dist-cli-web/assets/MessageExportModal-CFbovWh1.js +1 -0
  39. package/dist-cli-web/assets/PageHeader-B3-W9mvh.js +1 -0
  40. package/{dist-web/assets/RelationshipGalaxyCanvas-DsMOubHV.js → dist-cli-web/assets/RelationshipGalaxyCanvas-GEpsKHxV.js} +4 -4
  41. package/{dist-web/assets/RelationshipGalaxyThreeCanvas-Dh5HjVHr.js → dist-cli-web/assets/RelationshipGalaxyThreeCanvas-DHOU66Gj.js} +2 -2
  42. package/{dist-web/assets/RenderTargetSystem-CovK4x_D.js → dist-cli-web/assets/RenderTargetSystem-PEnnW2yb.js} +1 -1
  43. package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-sNw3hP4c.js +1 -0
  44. package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-BtUvMehe.js +1 -0
  45. package/{dist-web/assets/WebGLRenderer-CawhbcYU.js → dist-cli-web/assets/WebGLRenderer-BjP_1do7.js} +2 -2
  46. package/{dist-web/assets/WebGPURenderer-B7P1D2sA.js → dist-cli-web/assets/WebGPURenderer-ldVv92u7.js} +2 -2
  47. package/dist-cli-web/assets/annual-summary-time-range-BHClzNvd.js +1 -0
  48. package/dist-cli-web/assets/base-DBJ95yXf.js +1 -0
  49. package/{dist-web/assets/browserAll-CtQkc1DF.js → dist-cli-web/assets/browserAll-CPoMOLKh.js} +1 -1
  50. package/dist-cli-web/assets/cli-web-B5VYO-Dh.js +1 -0
  51. package/{dist-web/assets/dateFormat-Cfb89ZjM.js → dist-cli-web/assets/dateFormat-Cf2xuaE-.js} +1 -1
  52. package/dist-cli-web/assets/fetch-80O3EH4a.js +1 -0
  53. package/dist-cli-web/assets/fetch-B1km2u3N.js +1 -0
  54. package/dist-cli-web/assets/fetch-BFDKzf1P.js +1 -0
  55. package/dist-cli-web/assets/fetch-BuWxo6oK.js +1 -0
  56. package/{dist-web/assets/fetch-DkfUUq-R.js → dist-cli-web/assets/fetch-C0HHT1Yn.js} +3 -3
  57. package/dist-cli-web/assets/fetch-CXIdj2-_.js +1 -0
  58. package/{dist-web/assets/fetch-DVGCzZ0E.js → dist-cli-web/assets/fetch-CtyVktRW.js} +3 -3
  59. package/{dist-web/assets/fetch-D2hvh7lO.js → dist-cli-web/assets/fetch-DGi_9my2.js} +2 -2
  60. package/dist-cli-web/assets/fetch-Dr41uuXL.js +1 -0
  61. package/dist-cli-web/assets/fetch-J67jyI2k.js +1 -0
  62. package/dist-cli-web/assets/index-5UdyJtVU.js +1 -0
  63. package/dist-cli-web/assets/index-7jm3YI9u.js +53 -0
  64. package/dist-cli-web/assets/index-B7R74Yp7.js +1 -0
  65. package/dist-cli-web/assets/index-BGiTw98l.js +1 -0
  66. package/dist-cli-web/assets/index-Ba21yU86.js +1 -0
  67. package/{dist-web/assets/index-CuPE4SSh.js → dist-cli-web/assets/index-Bf3gFaid.js} +4 -4
  68. package/dist-cli-web/assets/index-ByQSR8Bj.js +2 -0
  69. package/dist-cli-web/assets/index-CPZYydbc.js +2 -0
  70. package/dist-cli-web/assets/index-D8Q3U-6e.js +1 -0
  71. package/dist-cli-web/assets/index-DGtDxRCd.js +173 -0
  72. package/{dist-web/assets/index-DBb03wVF.css → dist-cli-web/assets/index-DTxnpQiv.css} +1 -1
  73. package/dist-cli-web/assets/index-DmrrdYXH.css +1 -0
  74. package/dist-cli-web/assets/index-DtlTo3nt.js +1 -0
  75. package/dist-cli-web/assets/index-DzQT-qXF.js +1 -0
  76. package/dist-cli-web/assets/index-gpTDI3sq.js +64 -0
  77. package/{dist-web/assets/index-D8Uq3_Dc.css → dist-cli-web/assets/index-lwhCMqhd.css} +1 -1
  78. package/dist-cli-web/assets/index-qsbWn8VP.css +1 -0
  79. package/dist-cli-web/assets/people-page-header-BvQy1GQj.js +1 -0
  80. package/{dist-web/assets/webworkerAll-BzRoT-6m.js → dist-cli-web/assets/webworkerAll-DgKQKbNn.js} +1 -1
  81. package/{dist-web → dist-cli-web}/index.html +2 -4
  82. package/package.json +4 -4
  83. package/dist/chunk-75FZ26HM.mjs.map +0 -1
  84. package/dist/chunk-GZO3NAHC.mjs.map +0 -1
  85. package/dist/chunk-MFOCDGCC.mjs.map +0 -1
  86. package/dist/chunk-UIUEG7JB.mjs.map +0 -1
  87. package/dist/chunk-YVNZ73O5.mjs.map +0 -1
  88. package/dist-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-GgQ5ueMX.js +0 -110
  89. package/dist-web/assets/CanvasRenderer-CKpp71xg.js +0 -1
  90. package/dist-web/assets/EChartWordcloud-CSOuFvyM.js +0 -1
  91. package/dist-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-DUAtrSZD.js +0 -1
  92. package/dist-web/assets/MessageExportModal-BYLw4vZ8.js +0 -1
  93. package/dist-web/assets/PageHeader-Dmu6cdAk.js +0 -1
  94. package/dist-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-DhUfYrEx.js +0 -1
  95. package/dist-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-CaumhCAS.js +0 -1
  96. package/dist-web/assets/annual-summary-time-range-Bya4h2j6.js +0 -1
  97. package/dist-web/assets/base-ClGWE9aq.js +0 -1
  98. package/dist-web/assets/electron-Brd7jS6W.js +0 -1
  99. package/dist-web/assets/electron-DGxVMsvC.js +0 -1
  100. package/dist-web/assets/electron-hcWiB7Gg.js +0 -1
  101. package/dist-web/assets/fetch-BJ3lnhzK.js +0 -1
  102. package/dist-web/assets/fetch-BoB63ns8.js +0 -1
  103. package/dist-web/assets/fetch-BtK7YvLp.js +0 -1
  104. package/dist-web/assets/fetch-CeREJiFL.js +0 -1
  105. package/dist-web/assets/fetch-DWoMmOlr.js +0 -1
  106. package/dist-web/assets/fetch-Dr_Fjtvp.js +0 -1
  107. package/dist-web/assets/fetch-u7ivV7Uy.js +0 -1
  108. package/dist-web/assets/index-BHnQaeQY.js +0 -1
  109. package/dist-web/assets/index-BKFGuwJu.css +0 -1
  110. package/dist-web/assets/index-BXaKyn8J.js +0 -2
  111. package/dist-web/assets/index-BzH9cnfy.js +0 -1
  112. package/dist-web/assets/index-D-qNxFxp.js +0 -173
  113. package/dist-web/assets/index-D494nYee.js +0 -64
  114. package/dist-web/assets/index-DJ8kB4US.js +0 -2
  115. package/dist-web/assets/index-DNMWR2Vj.js +0 -1
  116. package/dist-web/assets/index-DSPls1YV.js +0 -1
  117. package/dist-web/assets/index-DcAqhCpS.js +0 -1
  118. package/dist-web/assets/index-DnkaYOFI.js +0 -1
  119. package/dist-web/assets/index-_UKteDZB.js +0 -25
  120. package/dist-web/assets/index-gi0wgh0M.css +0 -1
  121. package/dist-web/assets/index-w_1EjXiF.js +0 -1
  122. package/dist-web/assets/people-page-header-YGQM9G53.js +0 -1
  123. package/dist-web/assets/types-CZnACqaB.js +0 -1
  124. package/dist-web/assets/vendor-nuxt-ui-DmkGVKod.js +0 -15
  125. package/dist-web/assets/vendor-reka-ui-BkhadcDj.js +0 -15
  126. package/dist-web/assets/web-zXxtk2KZ.js +0 -1
  127. /package/dist/{chat-command-ZIXKNLSE.mjs.map → chat-command-IHRNO7J4.mjs.map} +0 -0
  128. /package/dist/{chunk-3J7WTUEE.mjs.map → chunk-4V6UP7EW.mjs.map} +0 -0
  129. /package/dist/{chunk-FDLLEDNW.mjs.map → chunk-HGV4MUIW.mjs.map} +0 -0
  130. /package/dist/{chunk-DV4U34MR.mjs.map → chunk-NHTOSDYI.mjs.map} +0 -0
  131. /package/dist/{chunk-EINCXXWY.mjs.map → chunk-RHA534GU.mjs.map} +0 -0
  132. /package/dist/{chunk-23AIEWCD.mjs.map → chunk-S7YPBKQ3.mjs.map} +0 -0
  133. /package/dist/{chunk-BLOBEOCG.mjs.map → chunk-U4F6BNGZ.mjs.map} +0 -0
  134. /package/dist/{http-WDG2OHOV.mjs.map → http-Y2WC2UK4.mjs.map} +0 -0
  135. /package/dist/{import-4BDC37F7.mjs.map → import-4HF2UNQI.mjs.map} +0 -0
  136. /package/dist/{mcp-4KUVRGFF.mjs.map → mcp-DJPDRFTW.mjs.map} +0 -0
  137. /package/dist/{src-ZOCLFBCJ.mjs.map → src-R7MZLKXQ.mjs.map} +0 -0
  138. /package/dist/{stream-import-ERTT7U6V.mjs.map → stream-import-DX57ANUL.mjs.map} +0 -0
  139. /package/dist/{worker-runtime-2TUZHV7W.mjs.map → worker-runtime-QMN7OKOZ.mjs.map} +0 -0
  140. /package/{dist-web → dist-cli-web}/assets/ActionToolsPanel-Dp-ojXjO.css +0 -0
  141. /package/{dist-web → dist-cli-web}/assets/PageHeader-XIXMTomn.css +0 -0
  142. /package/{dist-web → dist-cli-web}/assets/RelationshipGalaxyThreeCanvas-BluPHjCR.css +0 -0
  143. /package/{dist-web → dist-cli-web}/assets/index-BfO_LpDv.css +0 -0
  144. /package/{dist-web → dist-cli-web}/assets/index-ByUaiVQK.css +0 -0
  145. /package/{dist-web → dist-cli-web}/assets/index-ZsZwPLWy.css +0 -0
  146. /package/{dist-web → dist-cli-web}/assets/logo-DXIuG_WE.svg +0 -0
  147. /package/{dist-web → dist-cli-web}/assets/relationship-galaxy-viewport-Cwfa51ER.js +0 -0
  148. /package/{dist-web → dist-cli-web}/assets/vendor-echarts-B-i_56Av.js +0 -0
  149. /package/{dist-web → dist-cli-web}/assets/vendor-echarts-wordcloud-Ca8n6qS6.js +0 -0
  150. /package/{dist-web → dist-cli-web}/assets/vendor-snapdom--nZvo8Sg.js +0 -0
  151. /package/{dist-web → dist-cli-web}/assets/vendor-zrender-5DcYjSZk.js +0 -0
  152. /package/{dist-web → dist-cli-web}/favicon.ico +0 -0
@@ -28,7 +28,7 @@ import {
28
28
  getWeekdayActivity,
29
29
  queryMessages,
30
30
  searchMessagesByKeywords
31
- } from "./chunk-YVNZ73O5.mjs";
31
+ } from "./chunk-C3B7RXES.mjs";
32
32
 
33
33
  // ../../packages/tools/src/utils/limits.ts
34
34
  function resolveMessageLimit(requestedLimit, defaultLimit, maxMessagesLimit) {
@@ -1927,4 +1927,4 @@ export {
1927
1927
  toAgentToolParameters,
1928
1928
  executeToolForAgent
1929
1929
  };
1930
- //# sourceMappingURL=chunk-DV4U34MR.mjs.map
1930
+ //# sourceMappingURL=chunk-NHTOSDYI.mjs.map
@@ -7,10 +7,10 @@ const __dirname = __pathDirname(__filename);
7
7
  import {
8
8
  analyzeAutoImport,
9
9
  autoImport
10
- } from "./chunk-EINCXXWY.mjs";
10
+ } from "./chunk-RHA534GU.mjs";
11
11
  import {
12
12
  assertCliDataDirCompatible
13
- } from "./chunk-BLOBEOCG.mjs";
13
+ } from "./chunk-U4F6BNGZ.mjs";
14
14
  import {
15
15
  getVersion
16
16
  } from "./chunk-5ADKYYNA.mjs";
@@ -20,7 +20,7 @@ import {
20
20
  applyPendingNodeDataDirMigrationIfNeeded,
21
21
  getSystemLogsDir,
22
22
  hasPendingElectronDataWarning
23
- } from "./chunk-MFOCDGCC.mjs";
23
+ } from "./chunk-ZERQIKI4.mjs";
24
24
  import {
25
25
  AIChatManager,
26
26
  IMPORT_IN_PROGRESS_ERROR_KEY,
@@ -32,8 +32,9 @@ import {
32
32
  matchesBlacklist,
33
33
  mergeRulesForLocale,
34
34
  owner_profile_service_exports,
35
- preprocessMessages
36
- } from "./chunk-75FZ26HM.mjs";
35
+ preprocessMessages,
36
+ validateChatLabFile
37
+ } from "./chunk-KWJ5FZ74.mjs";
37
38
  import {
38
39
  resolveCliPath
39
40
  } from "./chunk-FJ35V3TE.mjs";
@@ -73,10 +74,10 @@ import {
73
74
  searchMessagesLike,
74
75
  setConfigField,
75
76
  verifyCliDataPath
76
- } from "./chunk-YVNZ73O5.mjs";
77
+ } from "./chunk-C3B7RXES.mjs";
77
78
 
78
79
  // src/cli.ts
79
- import * as fs3 from "fs";
80
+ import * as fs4 from "fs";
80
81
  import { execSync } from "child_process";
81
82
  import { Command } from "commander";
82
83
 
@@ -2199,6 +2200,100 @@ function registerImportCommand(program2) {
2199
2200
  });
2200
2201
  }
2201
2202
 
2203
+ // src/validate/command.ts
2204
+ import fs3 from "fs";
2205
+ function buildEnvelope(report) {
2206
+ return report.valid ? { ok: true, command: "validate", data: report, meta: { apiVersion: 1 } } : {
2207
+ ok: false,
2208
+ command: "validate",
2209
+ data: report,
2210
+ error: {
2211
+ code: "INVALID_CHATLAB_FORMAT",
2212
+ message: `Validation found ${report.errorCount} error(s).`,
2213
+ hint: 'Fix every error, rerun validation, then preview the import with "chatlab import <file> --dry-run --json".'
2214
+ },
2215
+ meta: { apiVersion: 1 }
2216
+ };
2217
+ }
2218
+ function buildFileError(file) {
2219
+ return {
2220
+ ok: false,
2221
+ command: "validate",
2222
+ error: {
2223
+ code: "FILE_NOT_FOUND",
2224
+ message: `File not found: ${file}`,
2225
+ hint: "Pass an absolute path or a path relative to the current working directory."
2226
+ },
2227
+ meta: { apiVersion: 1 }
2228
+ };
2229
+ }
2230
+ function printHumanReport(report) {
2231
+ const status = report.valid ? "Validation passed." : "Validation failed.";
2232
+ console.log(status);
2233
+ console.log(` Format: ${report.format}`);
2234
+ if (report.version) console.log(` Version: ${report.version}`);
2235
+ console.log(` Members: ${report.stats.memberCount}`);
2236
+ console.log(` Messages: ${report.stats.messageCount}`);
2237
+ console.log(` Errors: ${report.errorCount}`);
2238
+ console.log(` Warnings: ${report.warningCount}`);
2239
+ for (const issue of report.issues) {
2240
+ const location = [issue.line ? `line ${issue.line}` : "", issue.path ?? ""].filter(Boolean).join(", ");
2241
+ console.log(
2242
+ ` [${issue.severity.toUpperCase()}] ${issue.code}${location ? ` (${location})` : ""}: ${issue.message}`
2243
+ );
2244
+ }
2245
+ if (report.truncatedIssueCount > 0) {
2246
+ console.log(` ... ${report.truncatedIssueCount} more issue(s) not shown`);
2247
+ }
2248
+ }
2249
+ function registerValidateCommand(program2) {
2250
+ program2.command("validate <file>").description("Strictly validate a ChatLab JSON or JSONL file without importing it").option("--json", "Output one machine-readable JSON envelope").action(async (file, options) => {
2251
+ if (!fs3.existsSync(file)) {
2252
+ const envelope = buildFileError(file);
2253
+ if (options.json) process.stdout.write(`${JSON.stringify(envelope)}
2254
+ `);
2255
+ else {
2256
+ console.error(envelope.error?.message);
2257
+ if (envelope.error?.hint) console.error(` Hint: ${envelope.error.hint}`);
2258
+ }
2259
+ process.exitCode = 3;
2260
+ return;
2261
+ }
2262
+ try {
2263
+ appLogger.info("validate", "ChatLab format validation started", {
2264
+ extension: file.toLowerCase().endsWith(".jsonl") ? ".jsonl" : file.toLowerCase().endsWith(".json") ? ".json" : "other",
2265
+ fileSize: fs3.statSync(file).size
2266
+ });
2267
+ const report = await validateChatLabFile(file);
2268
+ const envelope = buildEnvelope(report);
2269
+ if (options.json) process.stdout.write(`${JSON.stringify(envelope)}
2270
+ `);
2271
+ else printHumanReport(report);
2272
+ appLogger.info("validate", "ChatLab format validation completed", {
2273
+ valid: report.valid,
2274
+ errors: report.errorCount,
2275
+ warnings: report.warningCount,
2276
+ members: report.stats.memberCount,
2277
+ messages: report.stats.messageCount
2278
+ });
2279
+ if (!report.valid) process.exitCode = 1;
2280
+ } catch (error) {
2281
+ const message = error instanceof Error ? error.message : String(error);
2282
+ const envelope = {
2283
+ ok: false,
2284
+ command: "validate",
2285
+ error: { code: "VALIDATION_FAILED", message },
2286
+ meta: { apiVersion: 1 }
2287
+ };
2288
+ if (options.json) process.stdout.write(`${JSON.stringify(envelope)}
2289
+ `);
2290
+ else console.error(`Validation failed: ${message}`);
2291
+ appLogger.error("validate", "ChatLab format validation failed", error);
2292
+ process.exitCode = 1;
2293
+ }
2294
+ });
2295
+ }
2296
+
2202
2297
  // src/cli.ts
2203
2298
  var program = new Command();
2204
2299
  program.name("chatlab").description("ChatLab - Chat history analysis tool").version(getVersion(), "-v, --version");
@@ -2223,8 +2318,9 @@ program.command("update").description("Update ChatLab CLI to the latest version"
2223
2318
  registerQueryCommands(program);
2224
2319
  registerManifestCommand(program, getVersion());
2225
2320
  registerImportCommand(program);
2321
+ registerValidateCommand(program);
2226
2322
  program.command("formats").description("List all supported chat history formats").action(async () => {
2227
- const { getSupportedFormats } = await import("./import-4BDC37F7.mjs");
2323
+ const { getSupportedFormats } = await import("./import-4HF2UNQI.mjs");
2228
2324
  const formats = getSupportedFormats();
2229
2325
  console.log(`${formats.length} supported format(s):
2230
2326
  `);
@@ -2233,11 +2329,11 @@ program.command("formats").description("List all supported chat history formats"
2233
2329
  }
2234
2330
  });
2235
2331
  program.command("mcp").description("Start MCP Server (stdio transport, for ClaudeCode / Cursor / AI agents)").action(async () => {
2236
- const { startCliMcpServer } = await import("./mcp-4KUVRGFF.mjs");
2332
+ const { startCliMcpServer } = await import("./mcp-DJPDRFTW.mjs");
2237
2333
  await startCliMcpServer();
2238
2334
  });
2239
2335
  program.command("chat").description("Ask ChatLab AI about an imported chat session").option("--session-id <id>", "Source chat session ID").option("--ai-chat-id <id>", "Existing AI chat ID to continue").option("-q, --question <text>", "Question to ask").option("--json", "Output structured JSON").option("--include-events", "Include all agent stream chunks in JSON output").option("--no-stream", "Disable streaming output").option("--locale <locale>", "AI response locale", "zh-CN").action(async (options) => {
2240
- const { runChatCommand } = await import("./chat-command-ZIXKNLSE.mjs");
2336
+ const { runChatCommand } = await import("./chat-command-IHRNO7J4.mjs");
2241
2337
  const { dbManager, pathProvider } = initRuntime();
2242
2338
  const aiChatManager = new AIChatManager(pathProvider.getAiDataDir(), { nativeBinding: resolveNativeBinding() });
2243
2339
  try {
@@ -2273,15 +2369,15 @@ program.command("start").description("Start ChatLab (HTTP API + Web UI)").option
2273
2369
  });
2274
2370
  return;
2275
2371
  }
2276
- const { startHttpServer } = await import("./http-WDG2OHOV.mjs");
2372
+ const { startHttpServer } = await import("./http-Y2WC2UK4.mjs");
2277
2373
  const port = parseInt(options.port, 10);
2278
2374
  let webRoot;
2279
2375
  if (!options.headless) {
2280
- const webDir = resolveCliPath("dist-web");
2281
- if (fs3.existsSync(webDir)) {
2376
+ const webDir = resolveCliPath("dist-cli-web");
2377
+ if (fs4.existsSync(webDir)) {
2282
2378
  webRoot = webDir;
2283
2379
  } else {
2284
- console.warn("Warning: dist-web/ not found, starting in API-only mode");
2380
+ console.warn("Warning: dist-cli-web/ not found, starting in API-only mode");
2285
2381
  }
2286
2382
  }
2287
2383
  try {
@@ -2320,7 +2416,7 @@ Press Ctrl+C to stop.
2320
2416
  }
2321
2417
  const shutdown = async () => {
2322
2418
  console.log("\nShutting down...");
2323
- const { stopHttpServer } = await import("./http-WDG2OHOV.mjs");
2419
+ const { stopHttpServer } = await import("./http-Y2WC2UK4.mjs");
2324
2420
  await stopHttpServer();
2325
2421
  process.exit(0);
2326
2422
  };
@@ -2413,4 +2509,4 @@ if (isDirectRun) {
2413
2509
  export {
2414
2510
  run
2415
2511
  };
2416
- //# sourceMappingURL=chunk-UIUEG7JB.mjs.map
2512
+ //# sourceMappingURL=chunk-NSWFHMBZ.mjs.map