chatlab-cli 0.37.3 → 0.37.4

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 (141) hide show
  1. package/LICENSE +661 -0
  2. package/dist/{chat-command-RQC44FPF.mjs → chat-command-DJKSQP6Y.mjs} +8 -8
  3. package/dist/{chunk-E6IRRNBQ.mjs → chunk-3K7F2SRZ.mjs} +3 -3
  4. package/dist/{chunk-GDKQKHJT.mjs → chunk-ARRFRJOH.mjs} +2 -2
  5. package/dist/{chunk-HJWBFHNR.mjs → chunk-D6BRSG3V.mjs} +4 -4
  6. package/dist/{chunk-4FAEB4C2.mjs → chunk-DJ7QEJNO.mjs} +12 -12
  7. package/dist/{chunk-O57SQSCO.mjs → chunk-JWWWLW5G.mjs} +2 -2
  8. package/dist/{chunk-ZOHSWBD2.mjs → chunk-NKSPJN6X.mjs} +108 -7
  9. package/dist/chunk-NKSPJN6X.mjs.map +1 -0
  10. package/dist/{chunk-5OA4QI3Q.mjs → chunk-NVW3ZCYD.mjs} +3 -3
  11. package/dist/{chunk-LUENE6L7.mjs → chunk-OXRS2UPE.mjs} +4 -4
  12. package/dist/{chunk-ZGXXAPLX.mjs → chunk-QP77JL6O.mjs} +2 -2
  13. package/dist/{chunk-E2ZFGNZQ.mjs → chunk-VCKF7RYB.mjs} +11 -11
  14. package/dist/{chunk-IDDTW5JN.mjs → chunk-WBPOMYBE.mjs} +8 -6
  15. package/dist/{chunk-IDDTW5JN.mjs.map → chunk-WBPOMYBE.mjs.map} +1 -1
  16. package/dist/{chunk-IMJVOODY.mjs → chunk-YPP3N2AX.mjs} +2 -2
  17. package/dist/cli.mjs +9 -9
  18. package/dist/contacts-worker.mjs +2 -2
  19. package/dist/global-insight-worker.mjs +1 -1
  20. package/dist/{http-QJDZKDNJ.mjs → http-O4AZUIOD.mjs} +12 -12
  21. package/dist/{import-XK6YM26A.mjs → import-IALJQB7V.mjs} +7 -7
  22. package/dist/index.mjs +12 -12
  23. package/dist/{mcp-DMGZFSYN.mjs → mcp-VNBL4WMM.mjs} +8 -8
  24. package/dist/people-relationships-worker.mjs +2 -2
  25. package/dist/semantic-index-worker.mjs +1 -1
  26. package/dist/{src-4AHJUFCW.mjs → src-6ICLBMOR.mjs} +6 -6
  27. package/dist/{stream-import-7VQVT5ST.mjs → stream-import-NKQYYSGZ.mjs} +7 -7
  28. package/dist/{worker-runtime-PQBAV75N.mjs → worker-runtime-AE2I6U2G.mjs} +5 -5
  29. package/dist-cli-web/assets/{AISettingsTab-qS3XKnvh.js → AISettingsTab-mecu-HsX.js} +1 -1
  30. package/dist-cli-web/assets/{AboutTab-K-i40dPv.js → AboutTab-CgXYD50w.js} +1 -1
  31. package/dist-cli-web/assets/{Alert-GSvA5B7J.js → Alert-DR892gaV.js} +1 -1
  32. package/dist-cli-web/assets/{ApiSettingsTab-DIVGTR3g.js → ApiSettingsTab-Cvw8gStg.js} +1 -1
  33. package/dist-cli-web/assets/{BatchManageTab-CJhwvYWV.js → BatchManageTab-DqSEzAtr.js} +1 -1
  34. package/dist-cli-web/assets/{BufferResource-Cjm0m7sF.js → BufferResource-rydt5j-b.js} +1 -1
  35. package/dist-cli-web/assets/{CanvasRenderer-C-fmrahh.js → CanvasRenderer-Ci5IaFxW.js} +1 -1
  36. package/dist-cli-web/assets/{CardDecoration-Cz54ZPyh.js → CardDecoration-8F4sZO4v.js} +1 -1
  37. package/dist-cli-web/assets/{ChatRecordDrawer-Cst8zTUv.js → ChatRecordDrawer-D3LzSRkL.js} +1 -1
  38. package/dist-cli-web/assets/{ChatRecordWorkspace-DKVKaimw.js → ChatRecordWorkspace-BDCIAjm3.js} +1 -1
  39. package/dist-cli-web/assets/{Checkbox-CrlY3jiJ.js → Checkbox-I1cjN4s_.js} +1 -1
  40. package/dist-cli-web/assets/{DataDirCleanupNotice-Cjqiub4e.js → DataDirCleanupNotice-8zcIOyGl.js} +1 -1
  41. package/dist-cli-web/assets/{DatePicker.vue_vue_type_script_setup_true_lang-BYY2UmPA.js → DatePicker.vue_vue_type_script_setup_true_lang-DWWzQOTU.js} +1 -1
  42. package/dist-cli-web/assets/{DebugToolsPanel-I00RV_Lr.js → DebugToolsPanel-CiGd5ttA.js} +1 -1
  43. package/dist-cli-web/assets/{EChart.vue_vue_type_script_setup_true_lang-CRTZh9kh.js → EChart.vue_vue_type_script_setup_true_lang-Rk-Bu-rv.js} +1 -1
  44. package/dist-cli-web/assets/{EChartBar.vue_vue_type_script_setup_true_lang-DjDFhnN9.js → EChartBar.vue_vue_type_script_setup_true_lang-CB_KuKt4.js} +1 -1
  45. package/dist-cli-web/assets/{EChartLine.vue_vue_type_script_setup_true_lang-BLqlW9E4.js → EChartLine.vue_vue_type_script_setup_true_lang-5iW9KPRe.js} +1 -1
  46. package/dist-cli-web/assets/{EChartWordcloud-ChKJM8bU.js → EChartWordcloud-BiN68kpp.js} +1 -1
  47. package/dist-cli-web/assets/{FileDropZone.vue_vue_type_script_setup_true_lang-CsRmQhVQ.js → FileDropZone.vue_vue_type_script_setup_true_lang-DpK_xXUN.js} +1 -1
  48. package/dist-cli-web/assets/{Filter-Duzxgudo.js → Filter-Tmam9FK9.js} +1 -1
  49. package/dist-cli-web/assets/{GlobalTaskBar-DL0IJxlt.js → GlobalTaskBar-B77auVn7.js} +1 -1
  50. package/dist-cli-web/assets/{GroupRelationshipGalaxyView-BZrB2o2g.js → GroupRelationshipGalaxyView-DAmdqVxU.js} +1 -1
  51. package/dist-cli-web/assets/{Label-CaVKlQnJ.js → Label-DTrL45eR.js} +1 -1
  52. package/dist-cli-web/assets/{LoadingState.vue_vue_type_script_setup_true_lang-uF54r-dT.js → LoadingState.vue_vue_type_script_setup_true_lang-DH0zYa8f.js} +1 -1
  53. package/dist-cli-web/assets/{MessageExportModal-JpurBsUW.js → MessageExportModal-DgvQvcc5.js} +1 -1
  54. package/dist-cli-web/assets/{PageHeader-BciykZ_-.js → PageHeader-C-UYITO9.js} +1 -1
  55. package/dist-cli-web/assets/{PageTabs.vue_vue_type_script_setup_true_lang-2Xe2iUFO.js → PageTabs.vue_vue_type_script_setup_true_lang-BV344PR7.js} +1 -1
  56. package/dist-cli-web/assets/{RelationshipGalaxyCanvas-BO5-MowG.js → RelationshipGalaxyCanvas-Bzh-vQI8.js} +3 -3
  57. package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-Dp4CcWU5.js → RelationshipGalaxyThreeCanvas--DDkxCCc.js} +1 -1
  58. package/dist-cli-web/assets/{RenderTargetSystem-CfuoUG_y.js → RenderTargetSystem-BP0KBa7R.js} +1 -1
  59. package/dist-cli-web/assets/{RovingFocusItem-FpYwYEP_.js → RovingFocusItem-BAQO8BlG.js} +1 -1
  60. package/dist-cli-web/assets/{ScreenCaptureModal-cElYPaSj.js → ScreenCaptureModal-DtAB4lyN.js} +1 -1
  61. package/dist-cli-web/assets/{SectionTabs.vue_vue_type_script_setup_true_lang-pVQMbTsj.js → SectionTabs.vue_vue_type_script_setup_true_lang-DjUq1i7-.js} +1 -1
  62. package/dist-cli-web/assets/{Select-H8Fz6RkU.js → Select-CaRAtYOu.js} +1 -1
  63. package/dist-cli-web/assets/{SettingsModal-52Fw4fVW.js → SettingsModal-BKu9l7vR.js} +2 -2
  64. package/dist-cli-web/assets/{StorageTab-BnugE5BO.js → StorageTab-DWUzStD4.js} +1 -1
  65. package/dist-cli-web/assets/{Switch-K4aqYC4Y.js → Switch-mMuTJ87v.js} +1 -1
  66. package/dist-cli-web/assets/{Tabs-DJ5p8gb6.js → Tabs-B0DXvZn9.js} +1 -1
  67. package/dist-cli-web/assets/{Tabs-BXjD45rO.js → Tabs-Bw65ChMB.js} +1 -1
  68. package/dist-cli-web/assets/{ThemeCard.vue_vue_type_script_setup_true_lang-BLmTpx4f.js → ThemeCard.vue_vue_type_script_setup_true_lang-CFSCaL65.js} +1 -1
  69. package/dist-cli-web/assets/{TimeSelect.vue_vue_type_script_setup_true_lang-geQAlopO.js → TimeSelect.vue_vue_type_script_setup_true_lang-sP4Z2nbi.js} +1 -1
  70. package/dist-cli-web/assets/{VisuallyHiddenInput-J2KEIQBX.js → VisuallyHiddenInput-Cy3d6wW5.js} +1 -1
  71. package/dist-cli-web/assets/{WebGLRenderer-BDFzRniS.js → WebGLRenderer-C86bSgXH.js} +1 -1
  72. package/dist-cli-web/assets/{WebGPURenderer-BKYZyUCZ.js → WebGPURenderer-EcnRVF_C.js} +1 -1
  73. package/dist-cli-web/assets/{aiChat-CdJzpNYW.js → aiChat-ZrHuq9Eb.js} +3 -3
  74. package/dist-cli-web/assets/{base-129JztT1.js → base-DwqzgeyP.js} +1 -1
  75. package/dist-cli-web/assets/{browserAll-CZNZDK1i.js → browserAll-DUX8qJC8.js} +1 -1
  76. package/dist-cli-web/assets/{chatMessages-zmzHCUCy.js → chatMessages-By6kR5_1.js} +3 -3
  77. package/dist-cli-web/assets/{cli-web-_WGCg-ZY.js → cli-web-JlckDfz0.js} +1 -1
  78. package/dist-cli-web/assets/{fetch-Dw33HaVP.js → fetch-Bhl8mtJ2.js} +1 -1
  79. package/dist-cli-web/assets/{fetch-B7Tdp7Uo.js → fetch-BjtwVVBg.js} +1 -1
  80. package/dist-cli-web/assets/{fetch-DaeoNUip.js → fetch-BpoJa14b.js} +1 -1
  81. package/dist-cli-web/assets/{fetch-DTPDtL38.js → fetch-CY5yJNTL.js} +1 -1
  82. package/dist-cli-web/assets/{fetch-DOsmgros.js → fetch-ChSI9rRd.js} +1 -1
  83. package/dist-cli-web/assets/{fetch-BBdyPNj3.js → fetch-CuySZ9TW.js} +1 -1
  84. package/dist-cli-web/assets/{fetch-C4W6tD-D.js → fetch-DS-lTLBb.js} +1 -1
  85. package/dist-cli-web/assets/{fetch-Di4QpfqL.js → fetch-Dkyidev6.js} +1 -1
  86. package/dist-cli-web/assets/{fetch-sbr95ipd.js → fetch-DtqHZHIT.js} +1 -1
  87. package/dist-cli-web/assets/{fetch-DgHdAlO7.js → fetch-GYzy1nua.js} +1 -1
  88. package/dist-cli-web/assets/{fetch-Bafz8jLM.js → fetch-LZAcmdq3.js} +1 -1
  89. package/dist-cli-web/assets/{fetch-IP6i-mtr.js → fetch-w66ywFn5.js} +1 -1
  90. package/dist-cli-web/assets/{host-CMnAiJSx.js → host-CBXwW7_e.js} +1 -1
  91. package/dist-cli-web/assets/{host-CuuNLUWx.js → host-CDCKLdfF.js} +1 -1
  92. package/dist-cli-web/assets/{index-DhRaZS6z.js → index-3KDkw8sV.js} +1 -1
  93. package/dist-cli-web/assets/{index-fsLAooCi.js → index-BAjafcRU.js} +1 -1
  94. package/dist-cli-web/assets/{index-BOXh7X5Y.js → index-BLO0CYvx.js} +1 -1
  95. package/dist-cli-web/assets/{index-BepItDCQ.js → index-BVoFqt2r.js} +4 -4
  96. package/dist-cli-web/assets/{index-Dz4yfeg6.js → index-CYmoNVAj.js} +1 -1
  97. package/dist-cli-web/assets/{index-bQ9oj54q.js → index-D07viL9P.js} +4 -4
  98. package/dist-cli-web/assets/{index-CN9WMxb3.js → index-DD7RFB6N.js} +2 -2
  99. package/dist-cli-web/assets/index-DEafpen2.js +137 -0
  100. package/dist-cli-web/assets/{index-BmGA3geF.js → index-D_CX3gzo.js} +1 -1
  101. package/dist-cli-web/assets/{index-EtteazuD.js → index-D_SJKdur.js} +1 -1
  102. package/dist-cli-web/assets/{index-DgCXdbsG.js → index-RqQZ2vvr.js} +2 -2
  103. package/dist-cli-web/assets/{index-BBYtZa7g.js → index-T_aveLoS.js} +1 -1
  104. package/dist-cli-web/assets/{index-BZpR015e.css → index-XC-s67UA.css} +1 -1
  105. package/dist-cli-web/assets/{index-Chh0gCp7.js → index-fhyFEtxF.js} +1 -1
  106. package/dist-cli-web/assets/{index-C-u3l4Uh.js → index-sMeHjrc9.js} +1 -1
  107. package/dist-cli-web/assets/{people-page-header-CKXRSnpl.js → people-page-header-DPOKmbHG.js} +1 -1
  108. package/dist-cli-web/assets/{prompt-DNxAd1Bj.js → prompt-ipERjPzE.js} +1 -1
  109. package/dist-cli-web/assets/{semantic-index-config-builder-CQ27G4TK.js → semantic-index-config-builder-CjJ4q8PF.js} +1 -1
  110. package/dist-cli-web/assets/service-2UJZvVpa.js +1 -0
  111. package/dist-cli-web/assets/{service-BwbGKwDn.js → service-CAdsM9Hy.js} +1 -1
  112. package/dist-cli-web/assets/service-i_PJfTaR.js +1 -0
  113. package/dist-cli-web/assets/useFormControl-BPt9mIxj.js +1 -0
  114. package/dist-cli-web/assets/{useInsightTabAnalytics-DaU_ADbQ.js → useInsightTabAnalytics-s3wcN9Eo.js} +4 -4
  115. package/dist-cli-web/assets/{useTable-BYXxnZMd.js → useTable-DOM-gqX0.js} +1 -1
  116. package/dist-cli-web/assets/{useToast-DPkgv34s.js → useToast-BzK6i1Tk.js} +1 -1
  117. package/dist-cli-web/assets/{webworkerAll-Um4PrCaA.js → webworkerAll-ClkzpxNT.js} +1 -1
  118. package/dist-cli-web/index.html +2 -2
  119. package/package.json +1 -1
  120. package/dist/chunk-ZOHSWBD2.mjs.map +0 -1
  121. package/dist-cli-web/assets/index-GNMlsoVH.js +0 -137
  122. package/dist-cli-web/assets/service-DQjyjQZx.js +0 -1
  123. package/dist-cli-web/assets/service-Dtve_40X.js +0 -1
  124. package/dist-cli-web/assets/useFormControl-CNmp_2bd.js +0 -1
  125. /package/dist/{chat-command-RQC44FPF.mjs.map → chat-command-DJKSQP6Y.mjs.map} +0 -0
  126. /package/dist/{chunk-E6IRRNBQ.mjs.map → chunk-3K7F2SRZ.mjs.map} +0 -0
  127. /package/dist/{chunk-GDKQKHJT.mjs.map → chunk-ARRFRJOH.mjs.map} +0 -0
  128. /package/dist/{chunk-HJWBFHNR.mjs.map → chunk-D6BRSG3V.mjs.map} +0 -0
  129. /package/dist/{chunk-4FAEB4C2.mjs.map → chunk-DJ7QEJNO.mjs.map} +0 -0
  130. /package/dist/{chunk-O57SQSCO.mjs.map → chunk-JWWWLW5G.mjs.map} +0 -0
  131. /package/dist/{chunk-5OA4QI3Q.mjs.map → chunk-NVW3ZCYD.mjs.map} +0 -0
  132. /package/dist/{chunk-LUENE6L7.mjs.map → chunk-OXRS2UPE.mjs.map} +0 -0
  133. /package/dist/{chunk-ZGXXAPLX.mjs.map → chunk-QP77JL6O.mjs.map} +0 -0
  134. /package/dist/{chunk-E2ZFGNZQ.mjs.map → chunk-VCKF7RYB.mjs.map} +0 -0
  135. /package/dist/{chunk-IMJVOODY.mjs.map → chunk-YPP3N2AX.mjs.map} +0 -0
  136. /package/dist/{http-QJDZKDNJ.mjs.map → http-O4AZUIOD.mjs.map} +0 -0
  137. /package/dist/{import-XK6YM26A.mjs.map → import-IALJQB7V.mjs.map} +0 -0
  138. /package/dist/{mcp-DMGZFSYN.mjs.map → mcp-VNBL4WMM.mjs.map} +0 -0
  139. /package/dist/{src-4AHJUFCW.mjs.map → src-6ICLBMOR.mjs.map} +0 -0
  140. /package/dist/{stream-import-7VQVT5ST.mjs.map → stream-import-NKQYYSGZ.mjs.map} +0 -0
  141. /package/dist/{worker-runtime-PQBAV75N.mjs.map → worker-runtime-AE2I6U2G.mjs.map} +0 -0
@@ -6,18 +6,18 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __pathDirname(__filename);
7
7
  import {
8
8
  createCliRunAgentStream
9
- } from "./chunk-LUENE6L7.mjs";
10
- import "./chunk-IDDTW5JN.mjs";
11
- import "./chunk-E6IRRNBQ.mjs";
12
- import "./chunk-HJWBFHNR.mjs";
13
- import "./chunk-ZGXXAPLX.mjs";
14
- import "./chunk-IMJVOODY.mjs";
9
+ } from "./chunk-OXRS2UPE.mjs";
10
+ import "./chunk-WBPOMYBE.mjs";
11
+ import "./chunk-3K7F2SRZ.mjs";
12
+ import "./chunk-D6BRSG3V.mjs";
13
+ import "./chunk-QP77JL6O.mjs";
14
+ import "./chunk-YPP3N2AX.mjs";
15
15
  import "./chunk-YKMQLAVP.mjs";
16
16
  import {
17
17
  extractToolResultText,
18
18
  getDefaultGeneralAssistantId,
19
19
  truncateToolResultText
20
- } from "./chunk-ZOHSWBD2.mjs";
20
+ } from "./chunk-NKSPJN6X.mjs";
21
21
  import "./chunk-VSOWNKPA.mjs";
22
22
 
23
23
  // src/ai/chat-command.ts
@@ -351,4 +351,4 @@ export {
351
351
  runChatCommand,
352
352
  runChatTurn
353
353
  };
354
- //# sourceMappingURL=chat-command-RQC44FPF.mjs.map
354
+ //# sourceMappingURL=chat-command-DJKSQP6Y.mjs.map
@@ -69,7 +69,7 @@ import {
69
69
  semanticSearch,
70
70
  vecTableName,
71
71
  vecTableSchema
72
- } from "./chunk-HJWBFHNR.mjs";
72
+ } from "./chunk-D6BRSG3V.mjs";
73
73
  import {
74
74
  CHATLAB_FORMAT_VERSION,
75
75
  DESENSITIZE_RULES_SCHEMA_VERSION,
@@ -98,7 +98,7 @@ import {
98
98
  withFileLock,
99
99
  writeConfigField,
100
100
  writeJsonFileAtomically
101
- } from "./chunk-ZOHSWBD2.mjs";
101
+ } from "./chunk-NKSPJN6X.mjs";
102
102
  import {
103
103
  __export
104
104
  } from "./chunk-VSOWNKPA.mjs";
@@ -2232,4 +2232,4 @@ export {
2232
2232
  createSemanticIndexWorkerRuntimeClient,
2233
2233
  semantic_index_exports
2234
2234
  };
2235
- //# sourceMappingURL=chunk-E6IRRNBQ.mjs.map
2235
+ //# sourceMappingURL=chunk-3K7F2SRZ.mjs.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  DataDirCompatibilityError,
12
12
  assertDataDirCompatible
13
- } from "./chunk-ZOHSWBD2.mjs";
13
+ } from "./chunk-NKSPJN6X.mjs";
14
14
 
15
15
  // src/runtime-compat.ts
16
16
  function assertCliDataDirCompatible(pathProvider, kind, options) {
@@ -37,4 +37,4 @@ function formatCliDataDirCompatibilityError(error, runtime) {
37
37
  export {
38
38
  assertCliDataDirCompatible
39
39
  };
40
- //# sourceMappingURL=chunk-GDKQKHJT.mjs.map
40
+ //# sourceMappingURL=chunk-ARRFRJOH.mjs.map
@@ -9,7 +9,7 @@ import {
9
9
  createEmptyContactsDiagnostics,
10
10
  normalizeContactsTimeRangePreset,
11
11
  resolveContactsTimeRange
12
- } from "./chunk-ZGXXAPLX.mjs";
12
+ } from "./chunk-QP77JL6O.mjs";
13
13
  import {
14
14
  PEOPLE_RELATIONSHIPS_ALGORITHM_VERSION,
15
15
  buildPeopleRelationshipsNeighborhoodGraph,
@@ -18,7 +18,7 @@ import {
18
18
  computePeopleRelationshipsSnapshot,
19
19
  normalizePeopleRelationshipsTimeRangePreset,
20
20
  resolvePeopleRelationshipsTimeRange
21
- } from "./chunk-IMJVOODY.mjs";
21
+ } from "./chunk-YPP3N2AX.mjs";
22
22
  import {
23
23
  ANNUAL_SUMMARY_ALGORITHM_VERSION,
24
24
  TIME_INVESTMENT_ALGORITHM_VERSION,
@@ -114,7 +114,7 @@ import {
114
114
  writeAuthProfile,
115
115
  writeParseResultToDb,
116
116
  writeTimeInvestmentSnapshot
117
- } from "./chunk-ZOHSWBD2.mjs";
117
+ } from "./chunk-NKSPJN6X.mjs";
118
118
  import {
119
119
  __commonJS,
120
120
  __export,
@@ -18424,4 +18424,4 @@ export {
18424
18424
  hashImportBody,
18425
18425
  ImportIdempotencyCache
18426
18426
  };
18427
- //# sourceMappingURL=chunk-HJWBFHNR.mjs.map
18427
+ //# sourceMappingURL=chunk-D6BRSG3V.mjs.map
@@ -8,14 +8,14 @@ import {
8
8
  formatPortInUseError,
9
9
  installCliLocalEmbeddingRuntime,
10
10
  isPortAvailable
11
- } from "./chunk-O57SQSCO.mjs";
11
+ } from "./chunk-JWWWLW5G.mjs";
12
12
  import {
13
13
  analyzeAutoImport,
14
14
  autoImport
15
- } from "./chunk-5OA4QI3Q.mjs";
15
+ } from "./chunk-NVW3ZCYD.mjs";
16
16
  import {
17
17
  assertCliDataDirCompatible
18
- } from "./chunk-GDKQKHJT.mjs";
18
+ } from "./chunk-ARRFRJOH.mjs";
19
19
  import {
20
20
  getVersion
21
21
  } from "./chunk-5ADKYYNA.mjs";
@@ -29,14 +29,14 @@ import {
29
29
  computeWordFrequency,
30
30
  getSystemLogsDir,
31
31
  hasPendingElectronDataWarning
32
- } from "./chunk-E6IRRNBQ.mjs";
32
+ } from "./chunk-3K7F2SRZ.mjs";
33
33
  import {
34
34
  IMPORT_IN_PROGRESS_ERROR_KEY,
35
35
  detectFormat,
36
36
  logNativeParserStatus,
37
37
  owner_profile_service_exports,
38
38
  validateChatLabFile
39
- } from "./chunk-HJWBFHNR.mjs";
39
+ } from "./chunk-D6BRSG3V.mjs";
40
40
  import {
41
41
  AIChatManager,
42
42
  ConfigSetError,
@@ -79,7 +79,7 @@ import {
79
79
  searchMessagesLike,
80
80
  setConfigField,
81
81
  verifyCliDataPath
82
- } from "./chunk-ZOHSWBD2.mjs";
82
+ } from "./chunk-NKSPJN6X.mjs";
83
83
 
84
84
  // src/cli.ts
85
85
  import * as fs4 from "fs";
@@ -2314,7 +2314,7 @@ registerImportCommand(program);
2314
2314
  registerValidateCommand(program);
2315
2315
  registerRuntimeCommand(program);
2316
2316
  program.command("formats").description("List all supported chat history formats").action(async () => {
2317
- const { getSupportedFormats } = await import("./import-XK6YM26A.mjs");
2317
+ const { getSupportedFormats } = await import("./import-IALJQB7V.mjs");
2318
2318
  const formats = getSupportedFormats();
2319
2319
  console.log(`${formats.length} supported format(s):
2320
2320
  `);
@@ -2323,11 +2323,11 @@ program.command("formats").description("List all supported chat history formats"
2323
2323
  }
2324
2324
  });
2325
2325
  program.command("mcp").description("Start MCP Server (stdio transport, for ClaudeCode / Cursor / AI agents)").action(async () => {
2326
- const { startCliMcpServer } = await import("./mcp-DMGZFSYN.mjs");
2326
+ const { startCliMcpServer } = await import("./mcp-VNBL4WMM.mjs");
2327
2327
  await startCliMcpServer();
2328
2328
  });
2329
2329
  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) => {
2330
- const { runChatCommand } = await import("./chat-command-RQC44FPF.mjs");
2330
+ const { runChatCommand } = await import("./chat-command-DJKSQP6Y.mjs");
2331
2331
  const { dbManager, pathProvider } = initRuntime();
2332
2332
  const aiChatManager = new AIChatManager(pathProvider.getAiDataDir(), { nativeBinding: resolveNativeBinding() });
2333
2333
  try {
@@ -2367,7 +2367,7 @@ program.command("web").alias("start").description("Start ChatLab (HTTP API + Web
2367
2367
  });
2368
2368
  return;
2369
2369
  }
2370
- const { startHttpServer } = await import("./http-QJDZKDNJ.mjs");
2370
+ const { startHttpServer } = await import("./http-O4AZUIOD.mjs");
2371
2371
  const port = parseInt(options.port, 10);
2372
2372
  let webRoot;
2373
2373
  if (!options.headless) {
@@ -2430,7 +2430,7 @@ Press Ctrl+C to stop.
2430
2430
  }
2431
2431
  const shutdown = async () => {
2432
2432
  console.log("\nShutting down...");
2433
- const { stopHttpServer } = await import("./http-QJDZKDNJ.mjs");
2433
+ const { stopHttpServer } = await import("./http-O4AZUIOD.mjs");
2434
2434
  await stopHttpServer();
2435
2435
  process.exit(0);
2436
2436
  };
@@ -2523,4 +2523,4 @@ if (isDirectRun) {
2523
2523
  export {
2524
2524
  run
2525
2525
  };
2526
- //# sourceMappingURL=chunk-4FAEB4C2.mjs.map
2526
+ //# sourceMappingURL=chunk-DJ7QEJNO.mjs.map
@@ -6,7 +6,7 @@ const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __pathDirname(__filename);
7
7
  import {
8
8
  createLocalEmbeddingRuntimeManager
9
- } from "./chunk-HJWBFHNR.mjs";
9
+ } from "./chunk-D6BRSG3V.mjs";
10
10
 
11
11
  // src/http/port.ts
12
12
  import * as fs from "fs/promises";
@@ -98,4 +98,4 @@ export {
98
98
  resolveCliLocalEmbeddingRuntimeConfig,
99
99
  installCliLocalEmbeddingRuntime
100
100
  };
101
- //# sourceMappingURL=chunk-O57SQSCO.mjs.map
101
+ //# sourceMappingURL=chunk-JWWWLW5G.mjs.map
@@ -9598,7 +9598,7 @@ function formatData(data) {
9598
9598
  if (data === void 0) return "";
9599
9599
  if (data instanceof Error) {
9600
9600
  const info = extractErrorInfo(data);
9601
- const stack = extractErrorStack(data);
9601
+ const stack = data.stack;
9602
9602
  return JSON.stringify(info) + (stack ? `
9603
9603
  ${stack}` : "");
9604
9604
  }
@@ -13601,6 +13601,10 @@ function applyPreprocessingPipeline(options) {
13601
13601
  // ../../packages/node-runtime/src/ai/i18n/locales/zh-CN.ts
13602
13602
  var zh_CN_default = {
13603
13603
  ai: {
13604
+ topics: {
13605
+ reasoningLimitReached: "\u6A21\u578B\u8FBE\u5230\u8F93\u51FA\u4E0A\u9650\uFF0C\u4F46\u4EC5\u8FD4\u56DE\u4E86\u601D\u8003\u5185\u5BB9\uFF0C\u672A\u751F\u6210\u8BDD\u9898\u7ED3\u679C\u3002\u8BF7\u66F4\u6362\u5FEB\u901F\u6A21\u578B\uFF0C\u6216\u4F7F\u7528\u652F\u6301\u5173\u95ED\u601D\u8003\u7684\u63A5\u53E3\u3002",
13606
+ outputLimitReached: "\u8BDD\u9898\u7ED3\u679C\u8FBE\u5230\u6A21\u578B\u8F93\u51FA\u4E0A\u9650\uFF0C\u5185\u5BB9\u53EF\u80FD\u4E0D\u5B8C\u6574\u3002\u8BF7\u66F4\u6362\u5FEB\u901F\u6A21\u578B\u540E\u91CD\u8BD5\u3002"
13607
+ },
13604
13608
  tools: {
13605
13609
  search_messages: {
13606
13610
  desc: "\u6839\u636E\u5173\u952E\u8BCD\u641C\u7D22\u804A\u5929\u8BB0\u5F55\uFF0C\u662F\u56DE\u7B54\u5173\u952E\u8BCD\u3001\u6210\u5458\u53D1\u8A00\u3001\u662F\u5426\u51FA\u73B0\u8FC7\u67D0\u8BDD\u9898\u7B49\u4E8B\u5B9E\u95EE\u9898\u7684\u4E3B\u8981\u8BC1\u636E\u5DE5\u5177\u3002\u53EF\u4EE5\u6307\u5B9A\u65F6\u95F4\u8303\u56F4\u548C\u53D1\u9001\u8005\u6765\u7B5B\u9009\u6D88\u606F\u3002\u652F\u6301\u7CBE\u786E\u5230\u5206\u949F\u7EA7\u522B\u7684\u65F6\u95F4\u67E5\u8BE2\u3002",
@@ -13967,6 +13971,10 @@ var zh_CN_default = {
13967
13971
  // ../../packages/node-runtime/src/ai/i18n/locales/en-US.ts
13968
13972
  var en_US_default = {
13969
13973
  ai: {
13974
+ topics: {
13975
+ reasoningLimitReached: "The model reached its output limit with only reasoning and no topic result. Use a different fast model or an endpoint that supports disabling thinking.",
13976
+ outputLimitReached: "The topic response reached the model output limit and may be incomplete. Use a different fast model and retry."
13977
+ },
13970
13978
  tools: {
13971
13979
  search_messages: {
13972
13980
  desc: "Search chat records by keywords. This is the primary evidence tool for factual questions about keywords, member messages, or whether a topic appeared. Can specify time range and sender to filter messages. Supports minute-level time queries.",
@@ -14335,6 +14343,10 @@ Usage rules:
14335
14343
  // ../../packages/node-runtime/src/ai/i18n/locales/ja-JP.ts
14336
14344
  var ja_JP_default = {
14337
14345
  ai: {
14346
+ topics: {
14347
+ reasoningLimitReached: "\u30E2\u30C7\u30EB\u304C\u51FA\u529B\u4E0A\u9650\u306B\u9054\u3057\u307E\u3057\u305F\u304C\u3001\u601D\u8003\u5185\u5BB9\u306E\u307F\u304C\u8FD4\u3055\u308C\u3001\u30C8\u30D4\u30C3\u30AF\u306E\u7D50\u679C\u306F\u751F\u6210\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u9AD8\u901F\u30E2\u30C7\u30EB\u3092\u5909\u66F4\u3059\u308B\u304B\u3001\u601D\u8003\u3092\u7121\u52B9\u306B\u3067\u304D\u308B\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
14348
+ outputLimitReached: "\u30C8\u30D4\u30C3\u30AF\u306E\u5FDC\u7B54\u304C\u30E2\u30C7\u30EB\u306E\u51FA\u529B\u4E0A\u9650\u306B\u9054\u3057\u3001\u5185\u5BB9\u304C\u4E0D\u5B8C\u5168\u306A\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u9AD8\u901F\u30E2\u30C7\u30EB\u3092\u5909\u66F4\u3057\u3066\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002"
14349
+ },
14338
14350
  tools: {
14339
14351
  search_messages: {
14340
14352
  desc: "\u30AD\u30FC\u30EF\u30FC\u30C9\u3067\u30C1\u30E3\u30C3\u30C8\u5C65\u6B74\u3092\u691C\u7D22\u3059\u308B\u3002\u30AD\u30FC\u30EF\u30FC\u30C9\u3001\u30E1\u30F3\u30D0\u30FC\u306E\u767A\u8A00\u3001\u7279\u5B9A\u30C8\u30D4\u30C3\u30AF\u304C\u51FA\u305F\u304B\u3069\u3046\u304B\u306A\u3069\u306E\u4E8B\u5B9F\u8CEA\u554F\u306B\u5BFE\u3059\u308B\u4E3B\u8981\u306A\u8A3C\u62E0\u53D6\u5F97\u30C4\u30FC\u30EB\u3002\u6642\u9593\u7BC4\u56F2\u3084\u9001\u4FE1\u8005\u3067\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u30D5\u30A3\u30EB\u30BF\u30EA\u30F3\u30B0\u3067\u304D\u308B\u3002\u5206\u5358\u4F4D\u306E\u7CBE\u5EA6\u3067\u6642\u9593\u30AF\u30A8\u30EA\u3092\u30B5\u30DD\u30FC\u30C8\u3059\u308B\u3002",
@@ -14699,6 +14711,10 @@ var ja_JP_default = {
14699
14711
  // ../../packages/node-runtime/src/ai/i18n/locales/zh-TW.ts
14700
14712
  var zh_TW_default = {
14701
14713
  ai: {
14714
+ topics: {
14715
+ reasoningLimitReached: "\u6A21\u578B\u9054\u5230\u8F38\u51FA\u4E0A\u9650\uFF0C\u4F46\u50C5\u56DE\u50B3\u4E86\u601D\u8003\u5167\u5BB9\uFF0C\u672A\u7522\u751F\u8A71\u984C\u7D50\u679C\u3002\u8ACB\u66F4\u63DB\u5FEB\u901F\u6A21\u578B\uFF0C\u6216\u4F7F\u7528\u652F\u63F4\u95DC\u9589\u601D\u8003\u7684\u4ECB\u9762\u3002",
14716
+ outputLimitReached: "\u8A71\u984C\u7D50\u679C\u9054\u5230\u6A21\u578B\u8F38\u51FA\u4E0A\u9650\uFF0C\u5167\u5BB9\u53EF\u80FD\u4E0D\u5B8C\u6574\u3002\u8ACB\u66F4\u63DB\u5FEB\u901F\u6A21\u578B\u5F8C\u91CD\u8A66\u3002"
14717
+ },
14702
14718
  tools: {
14703
14719
  search_messages: {
14704
14720
  desc: "\u6839\u64DA\u95DC\u9375\u8A5E\u641C\u5C0B\u804A\u5929\u7D00\u9304\uFF0C\u662F\u56DE\u7B54\u95DC\u9375\u8A5E\u3001\u6210\u54E1\u767C\u8A00\u3001\u662F\u5426\u51FA\u73FE\u904E\u67D0\u8A71\u984C\u7B49\u4E8B\u5BE6\u554F\u984C\u7684\u4E3B\u8981\u8B49\u64DA\u5DE5\u5177\u3002\u53EF\u4EE5\u6307\u5B9A\u6642\u9593\u7BC4\u570D\u548C\u50B3\u9001\u8005\u4F86\u7BE9\u9078\u8A0A\u606F\u3002\u652F\u63F4\u7CBE\u78BA\u5230\u5206\u9418\u7D1A\u5225\u7684\u6642\u9593\u67E5\u8A62\u3002",
@@ -15104,6 +15120,75 @@ import {
15104
15120
  function isPiMessage(message) {
15105
15121
  return message.role === "user" || message.role === "assistant" || message.role === "toolResult";
15106
15122
  }
15123
+ function fitToolResults(context, contextWindow, maxTokens) {
15124
+ const safetyTokens = Math.min(4096, Math.floor(contextWindow / 2));
15125
+ const budget = contextWindow - safetyTokens - Math.min(maxTokens, Math.floor(contextWindow / 4));
15126
+ const estimate = (text) => {
15127
+ let tokens2 = 0;
15128
+ for (let i = 0; i < text.length; i += 256) tokens2 += countTokens(text.slice(i, i + 256));
15129
+ return Math.max(tokens2, Math.ceil(text.length / 4));
15130
+ };
15131
+ const messageTokens = (message) => 8 + estimate(
15132
+ JSON.stringify({
15133
+ role: message.role,
15134
+ content: message.content,
15135
+ ...message.role === "toolResult" ? { toolCallId: message.toolCallId, toolName: message.toolName } : {}
15136
+ })
15137
+ );
15138
+ let tokens = 8 + estimate(context.systemPrompt ?? "") + estimate(
15139
+ JSON.stringify(
15140
+ context.tools?.map(({ name, description, parameters }) => ({ name, description, parameters })) ?? []
15141
+ )
15142
+ ) + context.messages.reduce((sum, message) => sum + messageTokens(message), 0);
15143
+ if (tokens <= budget) return { context, maxTokens: Math.min(maxTokens, contextWindow - tokens - 16) };
15144
+ const messages = context.messages.slice();
15145
+ const marker = "\n[Tool result truncated to fit the context window. Use a narrower query if needed.]";
15146
+ for (let i = 0; i < messages.length && tokens > budget; i++) {
15147
+ const message = messages[i];
15148
+ if (message.role !== "toolResult") continue;
15149
+ const content = message.content.slice();
15150
+ for (let j = 0; j < content.length && tokens > budget; j++) {
15151
+ const block = content[j];
15152
+ if (block.type !== "text") continue;
15153
+ const before = messageTokens({ ...message, content });
15154
+ content[j] = { ...block, text: marker };
15155
+ const after = messageTokens({ ...message, content });
15156
+ if (after >= before) {
15157
+ content[j] = block;
15158
+ continue;
15159
+ }
15160
+ if (tokens - before + after <= budget) {
15161
+ let low = 0;
15162
+ let high = block.text.length;
15163
+ while (low < high) {
15164
+ const mid = Math.ceil((low + high) / 2);
15165
+ content[j] = { ...block, text: block.text.slice(0, mid) + marker };
15166
+ if (tokens - before + messageTokens({ ...message, content }) <= budget) low = mid;
15167
+ else high = mid - 1;
15168
+ }
15169
+ content[j] = { ...block, text: block.text.slice(0, low) + marker };
15170
+ }
15171
+ tokens += messageTokens({ ...message, content }) - before;
15172
+ }
15173
+ messages[i] = { ...message, content };
15174
+ }
15175
+ if (tokens + 16 > contextWindow)
15176
+ throw new Error(
15177
+ "Agent context exceeds the model window after trimming tool results. Start a new conversation or shorten the request."
15178
+ );
15179
+ return {
15180
+ context: {
15181
+ ...context,
15182
+ messages: messages.map(
15183
+ (message) => message.role === "assistant" ? {
15184
+ ...message,
15185
+ usage: { ...message.usage, input: 0, output: 0, cacheRead: 0, cacheWrite: 0, totalTokens: 0 }
15186
+ } : message
15187
+ )
15188
+ },
15189
+ maxTokens: Math.max(1, Math.min(maxTokens, contextWindow - tokens - 16))
15190
+ };
15191
+ }
15107
15192
  async function runAgentCore(options) {
15108
15193
  const {
15109
15194
  piModel,
@@ -15173,12 +15258,15 @@ async function runAgentCore(options) {
15173
15258
  messages: toPiHistoryMessages(history, replayOptions)
15174
15259
  },
15175
15260
  getApiKey: () => apiKey,
15176
- streamFn: resolvedStreamFn,
15261
+ streamFn: (model, context, streamOptions) => {
15262
+ const fitted = fitToolResults(context, model.contextWindow, model.maxTokens);
15263
+ onConvertToLlm?.(fitted.context.messages);
15264
+ return resolvedStreamFn(model, fitted.context, { ...streamOptions, maxTokens: fitted.maxTokens });
15265
+ },
15177
15266
  convertToLlm: (messages) => {
15178
15267
  const filtered = messages.filter(
15179
15268
  (msg) => msg.role === "user" || msg.role === "assistant" || msg.role === "toolResult"
15180
15269
  );
15181
- onConvertToLlm?.(filtered);
15182
15270
  return filtered;
15183
15271
  },
15184
15272
  afterToolCall: async ({ result }) => result.isError === true ? { isError: true } : void 0,
@@ -18457,16 +18545,23 @@ function createChatTopicModelClient(config, deps = {}) {
18457
18545
  if (result.stopReason === "error" || result.stopReason === "aborted") {
18458
18546
  throw new Error(result.errorMessage || `Topic model request ${result.stopReason}`);
18459
18547
  }
18548
+ const text = result.content.filter((item) => item.type === "text").map((item) => item.text).join("");
18549
+ const outputLimit = result.stopReason === "length" ? !text.trim() && result.content.some((item) => item.type === "thinking") ? "reasoning" : "text" : void 0;
18460
18550
  return {
18461
- text: result.content.filter((item) => item.type === "text").map((item) => item.text).join(""),
18551
+ text,
18462
18552
  inputTokens: result.usage.input,
18463
- outputTokens: result.usage.output
18553
+ outputTokens: result.usage.output,
18554
+ ...outputLimit ? { outputLimit } : {}
18464
18555
  };
18465
18556
  }
18466
18557
  };
18467
18558
  }
18468
18559
  function normalizeTopicModelPayload(payload, model) {
18469
- if (!isRecord5(payload) || !isDeepSeekEndpoint(model)) return void 0;
18560
+ if (!isRecord5(payload)) return void 0;
18561
+ if (model.api === "anthropic-messages" && /\bqwen/i.test(model.id)) {
18562
+ return { ...payload, thinking: { type: "disabled" } };
18563
+ }
18564
+ if (!isDeepSeekEndpoint(model)) return void 0;
18470
18565
  const normalized = {
18471
18566
  ...payload,
18472
18567
  thinking: { type: "disabled" }
@@ -20339,6 +20434,12 @@ Your previous response was invalid: ${validationErrorMessage(lastValidationError
20339
20434
  };
20340
20435
  const response = await modelClient.complete(attemptPrompts, { signal, sessionId });
20341
20436
  run = recordModelUsage(run, response);
20437
+ if (response.outputLimit) {
20438
+ const t2 = createAiTranslate(run.locale ?? void 0);
20439
+ throw new Error(
20440
+ t2(response.outputLimit === "reasoning" ? "ai.topics.reasoningLimitReached" : "ai.topics.outputLimitReached")
20441
+ );
20442
+ }
20342
20443
  try {
20343
20444
  return { run, value: validate(response.text) };
20344
20445
  } catch (error) {
@@ -21346,4 +21447,4 @@ export {
21346
21447
  StaticPathProvider,
21347
21448
  createDatabaseManagerAdapter
21348
21449
  };
21349
- //# sourceMappingURL=chunk-ZOHSWBD2.mjs.map
21450
+ //# sourceMappingURL=chunk-NKSPJN6X.mjs.map