chatlab-cli 0.36.0 → 0.36.1
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.
- package/README.md +7 -7
- package/dist/{chat-command-SXW67RF7.mjs → chat-command-XPJ43KSW.mjs} +10 -10
- package/dist/chat-command-XPJ43KSW.mjs.map +1 -0
- package/dist/{chunk-BSGLH6G3.mjs → chunk-2JPFBIAG.mjs} +144 -79
- package/dist/chunk-2JPFBIAG.mjs.map +1 -0
- package/dist/{chunk-VDWI4A4U.mjs → chunk-5MJO4AJB.mjs} +2 -2
- package/dist/{chunk-GVW3BDGZ.mjs → chunk-67HNPYZJ.mjs} +3 -3
- package/dist/{chunk-UNIKQFI5.mjs → chunk-6QP47LID.mjs} +2 -2
- package/dist/{chunk-4YPNYQSP.mjs → chunk-FJOGBUXU.mjs} +390 -96
- package/dist/chunk-FJOGBUXU.mjs.map +1 -0
- package/dist/{chunk-XDF6PMVZ.mjs → chunk-JOVL7OTW.mjs} +2 -2
- package/dist/{chunk-CNEWMCGX.mjs → chunk-L7TIIVAY.mjs} +57 -57
- package/dist/chunk-L7TIIVAY.mjs.map +1 -0
- package/dist/{chunk-U2NXHIJK.mjs → chunk-NFTCEJBJ.mjs} +3 -3
- package/dist/{chunk-AAGDVTP2.mjs → chunk-NQHZPSW2.mjs} +2 -2
- package/dist/{chunk-OWOEWZIC.mjs → chunk-Q3NEL2KK.mjs} +82 -28
- package/dist/chunk-Q3NEL2KK.mjs.map +1 -0
- package/dist/{chunk-LZGOIRLV.mjs → chunk-R73XMAB2.mjs} +9 -5
- package/dist/chunk-R73XMAB2.mjs.map +1 -0
- package/dist/{chunk-JHON5FN7.mjs → chunk-X2QBH24F.mjs} +8 -3
- package/dist/chunk-X2QBH24F.mjs.map +1 -0
- package/dist/cli.mjs +9 -9
- package/dist/contacts-worker.mjs +2 -2
- package/dist/global-insight-worker.mjs +1 -1
- package/dist/{http-LVOGJFDL.mjs → http-5RVY5J5U.mjs} +12 -12
- package/dist/{import-7OU57ZHM.mjs → import-ILTWVHKU.mjs} +7 -7
- package/dist/index.mjs +12 -12
- package/dist/{mcp-CUKHTTII.mjs → mcp-Y2YXOFB4.mjs} +8 -8
- package/dist/people-relationships-worker.mjs +2 -2
- package/dist/semantic-index-worker.mjs +1 -1
- package/dist/{service-KZTHBDQ5.mjs → service-ZAHXRSFD.mjs} +6 -6
- package/dist/service-ZAHXRSFD.mjs.map +1 -0
- package/dist/{src-LORFXAUE.mjs → src-OV5ZNE3Z.mjs} +10 -6
- package/dist/{stream-import-7YUWIAD6.mjs → stream-import-XOUM3Z5W.mjs} +7 -7
- package/dist/{undici-MU5I3L6Q.mjs → undici-UGXDRJLV.mjs} +193 -193
- package/dist/undici-UGXDRJLV.mjs.map +1 -0
- package/dist/{update-checker-3N7HQEP2.mjs → update-checker-UL2FBLXH.mjs} +3 -5
- package/dist/{update-checker-3N7HQEP2.mjs.map → update-checker-UL2FBLXH.mjs.map} +1 -1
- package/dist/{worker-runtime-GQ5SY7E3.mjs → worker-runtime-JNGURHDM.mjs} +5 -5
- package/dist-cli-web/assets/AISettingsTab-vvjijrc5.js +1 -0
- package/dist-cli-web/assets/AboutTab-CxI8zJNz.js +1 -0
- package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-w0hHEodr.js +110 -0
- package/dist-cli-web/assets/{Alert-DJzXKcec.js → Alert-_MYcI_E2.js} +1 -1
- package/dist-cli-web/assets/ApiSettingsTab-CK7U6dVA.js +2 -0
- package/dist-cli-web/assets/BatchManageTab-1WnEqqpB.js +1 -0
- package/dist-cli-web/assets/{BufferResource-DY3P-dGs.js → BufferResource-i64DlwQT.js} +1 -1
- package/dist-cli-web/assets/{CanvasRenderer-As2MJTWZ.js → CanvasRenderer-B76mEt9A.js} +1 -1
- package/dist-cli-web/assets/ChatRecordDrawer-Bp6OSCrz.js +1 -0
- package/dist-cli-web/assets/{ChatRecordWorkspace-CVDPBmcl.js → ChatRecordWorkspace-CyfPIlIy.js} +1 -1
- package/dist-cli-web/assets/{Checkbox-4F1WAuVF.js → Checkbox-Ci7IeRw1.js} +1 -1
- package/dist-cli-web/assets/DataDirCleanupNotice-Dh63pOLt.js +1 -0
- package/dist-cli-web/assets/DatePicker.vue_vue_type_script_setup_true_lang-DqNBNa1D.js +1 -0
- package/dist-cli-web/assets/{DebugToolsPanel-BLU6SY8a.js → DebugToolsPanel-CbNsD9co.js} +1 -1
- package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-YeqmodwE.js +1 -0
- package/dist-cli-web/assets/EChartBar.vue_vue_type_script_setup_true_lang-C3pZmq0v.js +1 -0
- package/dist-cli-web/assets/{EChartLine.vue_vue_type_script_setup_true_lang-BYhukELX.js → EChartLine.vue_vue_type_script_setup_true_lang-Co6olfwv.js} +1 -1
- package/dist-cli-web/assets/{EChartWordcloud-C16xh7Tx.js → EChartWordcloud-rDusZwSq.js} +1 -1
- package/dist-cli-web/assets/{Filter-BEtPORqF.js → Filter-yxkeHO78.js} +1 -1
- package/dist-cli-web/assets/GlobalTaskBar-BlZ-fFiq.js +1 -0
- package/dist-cli-web/assets/GroupRelationshipGalaxyView-BXQBX0zJ.js +1 -0
- package/dist-cli-web/assets/{Label-Dgl3ghzT.js → Label-CFAZFBQX.js} +1 -1
- package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CwgpqtMZ.js +1 -0
- package/dist-cli-web/assets/MessageExportModal-DU71grc7.js +1 -0
- package/dist-cli-web/assets/{PageHeader-CL9AFfvl.js → PageHeader-BDPf4NuI.js} +1 -1
- package/dist-cli-web/assets/{PageTabs.vue_vue_type_script_setup_true_lang-C22kOxIK.js → PageTabs.vue_vue_type_script_setup_true_lang-_j82asQU.js} +1 -1
- package/dist-cli-web/assets/{RelationshipGalaxyCanvas-BnkcrIpk.js → RelationshipGalaxyCanvas-BODk18aA.js} +14 -14
- package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-BJyuRiC-.js +4168 -0
- package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-CCasBcBQ.css +1 -0
- package/dist-cli-web/assets/{RenderTargetSystem-CPwnC2X3.js → RenderTargetSystem-CVMvAUSv.js} +1 -1
- package/dist-cli-web/assets/RovingFocusItem-DC_06OmN.js +1 -0
- package/dist-cli-web/assets/{ScreenCaptureModal-ByKxzNQe.js → ScreenCaptureModal-DrBFDOtC.js} +1 -1
- package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-C-Zj2biH.js +1 -0
- package/dist-cli-web/assets/{Select-jVtfc_xc.js → Select-DLK2LYhO.js} +1 -1
- package/dist-cli-web/assets/SettingsModal-BFkxzo0Y.css +1 -0
- package/dist-cli-web/assets/SettingsModal-DqaR4Dx5.js +2 -0
- package/dist-cli-web/assets/{StorageTab-QdcDqA6Q.js → StorageTab-B0ebN0f8.js} +1 -1
- package/dist-cli-web/assets/{Switch-DYHM64k9.js → Switch-CokhQWxm.js} +1 -1
- package/dist-cli-web/assets/{Tabs-B6Nzq2NQ.js → Tabs-D1UiZNaZ.js} +1 -1
- package/dist-cli-web/assets/Tabs-N3Q-Mpqi.js +1 -0
- package/dist-cli-web/assets/{ThemeCard.vue_vue_type_script_setup_true_lang-Bsq7gpC0.js → ThemeCard.vue_vue_type_script_setup_true_lang-OT-I0mbU.js} +1 -1
- package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-Ccunouyf.js +1 -0
- package/dist-cli-web/assets/{VisuallyHiddenInput-IQpmK9yR.js → VisuallyHiddenInput-OAJEt_Y5.js} +1 -1
- package/dist-cli-web/assets/{WebGLRenderer-8JHbnkTc.js → WebGLRenderer-DuUeftYD.js} +1 -1
- package/dist-cli-web/assets/{WebGPURenderer-CLWfB4CC.js → WebGPURenderer-DoWQxiWZ.js} +1 -1
- package/dist-cli-web/assets/aiChat-CdADfRnU.js +8 -0
- package/dist-cli-web/assets/{browserAll-Cin6ghNg.js → browserAll-Cb-mtR2y.js} +1 -1
- package/dist-cli-web/assets/{cli-web-D7IBc3AX.js → cli-web-BHQCZLLg.js} +1 -1
- package/dist-cli-web/assets/{fetch-B7kuohCt.js → fetch-AvsnJLWJ.js} +1 -1
- package/dist-cli-web/assets/{fetch-BR71C0K9.js → fetch-B-6tyYWu.js} +1 -1
- package/dist-cli-web/assets/{fetch-OnnCjzee.js → fetch-B4PYy5JS.js} +1 -1
- package/dist-cli-web/assets/{fetch-_CN1EVMt.js → fetch-BbcFaCRB.js} +1 -1
- package/dist-cli-web/assets/{fetch-C8tTTsCm.js → fetch-BkA_so1e.js} +1 -1
- package/dist-cli-web/assets/{fetch-2QEQPA9q.js → fetch-BzXuAaT3.js} +1 -1
- package/dist-cli-web/assets/fetch-CW2fKvGp.js +1 -0
- package/dist-cli-web/assets/{fetch-CuUeyk0N.js → fetch-DEub4tOo.js} +1 -1
- package/dist-cli-web/assets/{fetch-1NiXh-_B.js → fetch-DLTlYnDB.js} +1 -1
- package/dist-cli-web/assets/{fetch-B2agy1hy.js → fetch-Qs38Hx1V.js} +1 -1
- package/dist-cli-web/assets/{fetch-Bk-7vxHV.js → fetch-sYDJ-Zs8.js} +1 -1
- package/dist-cli-web/assets/{fetch-DPRDSI39.js → fetch-ul8-uQIb.js} +1 -1
- package/dist-cli-web/assets/host-B6SQ6OGo.js +1 -0
- package/dist-cli-web/assets/host-DYIkQqvY.js +1 -0
- package/dist-cli-web/assets/{index-BCEk6ZpL.js → index--IEkRjKe.js} +10 -10
- package/dist-cli-web/assets/index-9iaY_EWG.js +1 -0
- package/dist-cli-web/assets/index-BnaLj2dx.css +1 -0
- package/dist-cli-web/assets/index-C7omDgiJ.js +2 -0
- package/dist-cli-web/assets/index-CHsM84U1.js +2 -0
- package/dist-cli-web/assets/index-CL8u01Pf.js +137 -0
- package/dist-cli-web/assets/{index-BIHFuCJK.js → index-CShh95fU.js} +1 -1
- package/dist-cli-web/assets/index-C_OS8Y8W.js +1 -0
- package/dist-cli-web/assets/{index-Colc58j-.js → index-D64XYYts.js} +1 -1
- package/dist-cli-web/assets/index-DrCc8p_I.css +1 -0
- package/dist-cli-web/assets/index-Dz_ddyZS.css +1 -0
- package/dist-cli-web/assets/index-UpTe1KzQ.js +1 -0
- package/dist-cli-web/assets/index-a8Hw6eD8.js +1 -0
- package/dist-cli-web/assets/index-jwjzZNKm.js +1 -0
- package/dist-cli-web/assets/index-pkxlF8Ee.js +1 -0
- package/dist-cli-web/assets/index-sWxuTsa7.js +36 -0
- package/dist-cli-web/assets/{people-page-header-DNPjaSt4.js → people-page-header-0jvXFFnh.js} +1 -1
- package/dist-cli-web/assets/{prompt-BgywZQ_g.js → prompt-BPYj29Vq.js} +1 -1
- package/dist-cli-web/assets/{semantic-index-config-builder-bji_UxYE.js → semantic-index-config-builder-vO37z355.js} +1 -1
- package/dist-cli-web/assets/service-CVoA9yNf.js +1 -0
- package/dist-cli-web/assets/{service-DpU9fa-l.js → service-D29Vftq9.js} +1 -1
- package/dist-cli-web/assets/service-DMysyLCa.js +1 -0
- package/dist-cli-web/assets/{useFormControl-De24E2zT.js → useFormControl-DVawP2DO.js} +1 -1
- package/dist-cli-web/assets/useTable-Bv3R_Hux.js +1 -0
- package/dist-cli-web/assets/useToast-BA0EwImD.js +1 -0
- package/dist-cli-web/assets/{vendor-echarts-DfAMQxdr.js → vendor-echarts-hTLhTs52.js} +5 -5
- package/dist-cli-web/assets/{vendor-echarts-wordcloud-BsaEJTPY.js → vendor-echarts-wordcloud-B8CF_NgP.js} +1 -1
- package/dist-cli-web/assets/{vendor-zrender-PFmZe1EY.js → vendor-zrender-D8psf1AA.js} +2 -2
- package/dist-cli-web/assets/{webworkerAll-BRnv6GvJ.js → webworkerAll-ZPE_yGnC.js} +1 -1
- package/dist-cli-web/index.html +2 -2
- package/package.json +4 -4
- package/dist/chat-command-SXW67RF7.mjs.map +0 -1
- package/dist/chunk-4YPNYQSP.mjs.map +0 -1
- package/dist/chunk-BSGLH6G3.mjs.map +0 -1
- package/dist/chunk-CNEWMCGX.mjs.map +0 -1
- package/dist/chunk-JHON5FN7.mjs.map +0 -1
- package/dist/chunk-LZGOIRLV.mjs.map +0 -1
- package/dist/chunk-OWOEWZIC.mjs.map +0 -1
- package/dist/service-KZTHBDQ5.mjs.map +0 -1
- package/dist/undici-MU5I3L6Q.mjs.map +0 -1
- package/dist-cli-web/assets/AISettingsTab-BmhNcUEh.js +0 -1
- package/dist-cli-web/assets/AboutTab-CFklrZt8.js +0 -1
- package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-B-dIPvcs.js +0 -110
- package/dist-cli-web/assets/ApiSettingsTab-DvDm421U.js +0 -2
- package/dist-cli-web/assets/BatchManageTab-DhIDH3Q1.js +0 -1
- package/dist-cli-web/assets/ChatRecordDrawer-DHdas7Jp.js +0 -1
- package/dist-cli-web/assets/DataDirCleanupNotice-jebQ9il3.js +0 -1
- package/dist-cli-web/assets/DatePicker.vue_vue_type_script_setup_true_lang-Cal624eP.js +0 -1
- package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-CsgJ-Xn3.js +0 -1
- package/dist-cli-web/assets/GlobalTaskBar-BvNmFO7q.js +0 -1
- package/dist-cli-web/assets/GroupRelationshipGalaxyView-DEUIrvgz.js +0 -1
- package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CwDIA0UP.js +0 -1
- package/dist-cli-web/assets/MessageExportModal-DYjhBuzO.js +0 -1
- package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-CqdqveEJ.js +0 -4108
- package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-TYGOUDiv.css +0 -1
- package/dist-cli-web/assets/RovingFocusItem-j33Nsbbn.js +0 -1
- package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-C6EHKB_i.js +0 -1
- package/dist-cli-web/assets/SettingsModal-CjVax3I6.css +0 -1
- package/dist-cli-web/assets/SettingsModal-Dg27piEO.js +0 -2
- package/dist-cli-web/assets/Tabs-CRZdCcU4.js +0 -1
- package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-BLpQds4F.js +0 -1
- package/dist-cli-web/assets/aiChat-4JvxWGXZ.js +0 -8
- package/dist-cli-web/assets/base-D6fxqD_X.js +0 -1
- package/dist-cli-web/assets/dateFormat-Bu4-Ux3L.js +0 -1
- package/dist-cli-web/assets/index-BUz_Vl9U.js +0 -2
- package/dist-cli-web/assets/index-BWZIoPV3.css +0 -1
- package/dist-cli-web/assets/index-BYQV3OA5.js +0 -1
- package/dist-cli-web/assets/index-CVVv_6qu.js +0 -2
- package/dist-cli-web/assets/index-CacwXQL4.js +0 -1
- package/dist-cli-web/assets/index-DImo7TQN.js +0 -1
- package/dist-cli-web/assets/index-DV9zQVPV.js +0 -137
- package/dist-cli-web/assets/index-DXKS-q-w.css +0 -1
- package/dist-cli-web/assets/index-DZc5A4_J.js +0 -1
- package/dist-cli-web/assets/index-DkWTvE7d.js +0 -36
- package/dist-cli-web/assets/index-DmEn0PAI.js +0 -1
- package/dist-cli-web/assets/index-b9eEQeVt.js +0 -1
- package/dist-cli-web/assets/index-waDxab2e.css +0 -1
- package/dist-cli-web/assets/insight-time-range-MJxLEu6o.js +0 -1
- package/dist-cli-web/assets/useTable-C7BH94MF.js +0 -1
- package/dist-cli-web/assets/useToast-CxhJkhXK.js +0 -1
- /package/dist/{chunk-VDWI4A4U.mjs.map → chunk-5MJO4AJB.mjs.map} +0 -0
- /package/dist/{chunk-GVW3BDGZ.mjs.map → chunk-67HNPYZJ.mjs.map} +0 -0
- /package/dist/{chunk-UNIKQFI5.mjs.map → chunk-6QP47LID.mjs.map} +0 -0
- /package/dist/{chunk-XDF6PMVZ.mjs.map → chunk-JOVL7OTW.mjs.map} +0 -0
- /package/dist/{chunk-U2NXHIJK.mjs.map → chunk-NFTCEJBJ.mjs.map} +0 -0
- /package/dist/{chunk-AAGDVTP2.mjs.map → chunk-NQHZPSW2.mjs.map} +0 -0
- /package/dist/{http-LVOGJFDL.mjs.map → http-5RVY5J5U.mjs.map} +0 -0
- /package/dist/{import-7OU57ZHM.mjs.map → import-ILTWVHKU.mjs.map} +0 -0
- /package/dist/{mcp-CUKHTTII.mjs.map → mcp-Y2YXOFB4.mjs.map} +0 -0
- /package/dist/{src-LORFXAUE.mjs.map → src-OV5ZNE3Z.mjs.map} +0 -0
- /package/dist/{stream-import-7YUWIAD6.mjs.map → stream-import-XOUM3Z5W.mjs.map} +0 -0
- /package/dist/{worker-runtime-GQ5SY7E3.mjs.map → worker-runtime-JNGURHDM.mjs.map} +0 -0
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
setCache,
|
|
22
22
|
shouldEnableContactsEntry,
|
|
23
23
|
shouldScopeContactToSession
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-Q3NEL2KK.mjs";
|
|
25
25
|
|
|
26
26
|
// ../../packages/node-runtime/src/services/contacts/facts-cache.ts
|
|
27
27
|
var CONTACTS_FACTS_FORMAT_VERSION = 1;
|
|
@@ -517,4 +517,4 @@ export {
|
|
|
517
517
|
computeContactsSnapshot,
|
|
518
518
|
createEmptyContactsDiagnostics
|
|
519
519
|
};
|
|
520
|
-
//# sourceMappingURL=chunk-
|
|
520
|
+
//# sourceMappingURL=chunk-JOVL7OTW.mjs.map
|
|
@@ -6,14 +6,14 @@ const __filename = __fileURLToPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __pathDirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
installCliLocalEmbeddingRuntime
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-6QP47LID.mjs";
|
|
10
10
|
import {
|
|
11
11
|
analyzeAutoImport,
|
|
12
12
|
autoImport
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-67HNPYZJ.mjs";
|
|
14
14
|
import {
|
|
15
15
|
assertCliDataDirCompatible
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5MJO4AJB.mjs";
|
|
17
17
|
import {
|
|
18
18
|
getVersion
|
|
19
19
|
} from "./chunk-5ADKYYNA.mjs";
|
|
@@ -28,14 +28,14 @@ import {
|
|
|
28
28
|
getSystemLogsDir,
|
|
29
29
|
hasPendingElectronDataWarning,
|
|
30
30
|
initNlpDir
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-NFTCEJBJ.mjs";
|
|
32
32
|
import {
|
|
33
33
|
IMPORT_IN_PROGRESS_ERROR_KEY,
|
|
34
34
|
detectFormat,
|
|
35
35
|
logNativeParserStatus,
|
|
36
36
|
owner_profile_service_exports,
|
|
37
37
|
validateChatLabFile
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-FJOGBUXU.mjs";
|
|
39
39
|
import {
|
|
40
40
|
AIChatManager,
|
|
41
41
|
ConfigSetError,
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
searchMessagesLike,
|
|
78
78
|
setConfigField,
|
|
79
79
|
verifyCliDataPath
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-Q3NEL2KK.mjs";
|
|
81
81
|
|
|
82
82
|
// src/cli.ts
|
|
83
83
|
import * as fs4 from "fs";
|
|
@@ -106,7 +106,7 @@ function formatPortInUseError(port) {
|
|
|
106
106
|
` \u2716 Error: port ${port} is already in use.`,
|
|
107
107
|
``,
|
|
108
108
|
` Another process (possibly a ChatLab instance) is using this port. You can:`,
|
|
109
|
-
` \u2022 Use another port:
|
|
109
|
+
` \u2022 Use another port: clb web --port <port>`,
|
|
110
110
|
` \u2022 Find the process: lsof -iTCP:${port} -sTCP:LISTEN`,
|
|
111
111
|
``
|
|
112
112
|
].join("\n");
|
|
@@ -332,7 +332,7 @@ function resolveSession(source, ref) {
|
|
|
332
332
|
throw new QueryError({
|
|
333
333
|
code: "SESSION_NOT_FOUND",
|
|
334
334
|
message: "No chat sessions found",
|
|
335
|
-
hint: "Import a chat export first (
|
|
335
|
+
hint: "Import a chat export first (clb import <file>)"
|
|
336
336
|
});
|
|
337
337
|
}
|
|
338
338
|
throw new QueryError({
|
|
@@ -366,7 +366,7 @@ function resolveSession(source, ref) {
|
|
|
366
366
|
throw new QueryError({
|
|
367
367
|
code: "SESSION_NOT_FOUND",
|
|
368
368
|
message: `Session '${ref}' not found`,
|
|
369
|
-
hint: "Run `
|
|
369
|
+
hint: "Run `clb sessions list` to see available sessions"
|
|
370
370
|
});
|
|
371
371
|
}
|
|
372
372
|
function resolveMember(db, ref) {
|
|
@@ -389,7 +389,7 @@ function resolveMember(db, ref) {
|
|
|
389
389
|
throw new QueryError({
|
|
390
390
|
code: "MEMBER_NOT_FOUND",
|
|
391
391
|
message: `Member id ${ref} not found`,
|
|
392
|
-
hint: "Run `
|
|
392
|
+
hint: "Run `clb members list` to see available members"
|
|
393
393
|
});
|
|
394
394
|
}
|
|
395
395
|
const exact = members.filter(
|
|
@@ -410,7 +410,7 @@ function resolveMember(db, ref) {
|
|
|
410
410
|
throw new QueryError({
|
|
411
411
|
code: "MEMBER_NOT_FOUND",
|
|
412
412
|
message: `Member '${ref}' not found`,
|
|
413
|
-
hint: "Run `
|
|
413
|
+
hint: "Run `clb members list` to see available members"
|
|
414
414
|
});
|
|
415
415
|
}
|
|
416
416
|
|
|
@@ -438,7 +438,7 @@ function assertRawAllowed(ctx, options) {
|
|
|
438
438
|
throw new QueryError({
|
|
439
439
|
code: "RAW_DISABLED",
|
|
440
440
|
message: "--raw output is disabled by default",
|
|
441
|
-
hint: "The user must opt in: set CHATLAB_CLI_ALLOW_RAW=1 or `
|
|
441
|
+
hint: "The user must opt in: set CHATLAB_CLI_ALLOW_RAW=1 or `clb config set cli.allow_raw true`"
|
|
442
442
|
});
|
|
443
443
|
}
|
|
444
444
|
}
|
|
@@ -692,7 +692,7 @@ function epochOrNull(ts) {
|
|
|
692
692
|
}
|
|
693
693
|
function registerSessionCommands(program2) {
|
|
694
694
|
const sessionsCmd = program2.command("sessions").description("Chat sessions (list, show)").option("--format <format>", "Output format (table|json for legacy list; agent|json|text for subcommands)").action((options) => {
|
|
695
|
-
console.error("[Deprecated] `
|
|
695
|
+
console.error("[Deprecated] `clb sessions` \u2014 use `clb sessions list`; alias kept for one major version");
|
|
696
696
|
legacySessionsList(options);
|
|
697
697
|
});
|
|
698
698
|
sessionsCmd.command("list").description("List imported chat sessions").option("--query <kw>", "Filter by session name substring").option("--platform <p>", "Filter by platform id").option("--format <format>", "Output format: agent|json|text").action(async (options) => {
|
|
@@ -766,7 +766,7 @@ function registerMemberCommands(program2) {
|
|
|
766
766
|
return;
|
|
767
767
|
}
|
|
768
768
|
console.error(
|
|
769
|
-
"[Deprecated] `
|
|
769
|
+
"[Deprecated] `clb members <session-id>` \u2014 use `clb members list --session <id>`; alias kept for one major version"
|
|
770
770
|
);
|
|
771
771
|
legacyMembersList(sessionId, options);
|
|
772
772
|
});
|
|
@@ -1350,7 +1350,7 @@ function registerStatsCommands(program2) {
|
|
|
1350
1350
|
return;
|
|
1351
1351
|
}
|
|
1352
1352
|
console.error(
|
|
1353
|
-
"[Deprecated] `
|
|
1353
|
+
"[Deprecated] `clb stats <session-id>` \u2014 use `clb stats overview --session <id>`; alias kept for one major version"
|
|
1354
1354
|
);
|
|
1355
1355
|
legacyStats(sessionId, options);
|
|
1356
1356
|
});
|
|
@@ -1694,7 +1694,7 @@ function registerTopicCommands(program2) {
|
|
|
1694
1694
|
if (items.length === 0) {
|
|
1695
1695
|
const any = getSegmentSummaries(ctx.db, { limit: 1 });
|
|
1696
1696
|
if (any.length === 0) {
|
|
1697
|
-
const hint = "Run summary generation in the ChatLab app, or use `
|
|
1697
|
+
const hint = "Run summary generation in the ChatLab app, or use `clb stats keywords` as a fallback.";
|
|
1698
1698
|
return {
|
|
1699
1699
|
data: format === "agent" ? { text: "No AI summaries generated yet.", status: "summaries_not_generated" } : { items: [], status: "summaries_not_generated" },
|
|
1700
1700
|
meta: { session: ctx.session, hint }
|
|
@@ -1727,7 +1727,7 @@ function registerTopicCommands(program2) {
|
|
|
1727
1727
|
throw new QueryError({
|
|
1728
1728
|
code: "INVALID_ARGUMENT",
|
|
1729
1729
|
message: `Invalid --id value: ${options.id}`,
|
|
1730
|
-
hint: "Segment ids come from `
|
|
1730
|
+
hint: "Segment ids come from `clb topics list`"
|
|
1731
1731
|
});
|
|
1732
1732
|
}
|
|
1733
1733
|
const ctx = createQueryContext(options);
|
|
@@ -1739,7 +1739,7 @@ function registerTopicCommands(program2) {
|
|
|
1739
1739
|
throw new QueryError({
|
|
1740
1740
|
code: "SEGMENT_NOT_FOUND",
|
|
1741
1741
|
message: `Segment ${segmentId} not found`,
|
|
1742
|
-
hint: "Run `
|
|
1742
|
+
hint: "Run `clb topics list` to see available segments"
|
|
1743
1743
|
});
|
|
1744
1744
|
}
|
|
1745
1745
|
const meta = {
|
|
@@ -1772,7 +1772,7 @@ function registerSqlCommands(program2) {
|
|
|
1772
1772
|
throw new QueryError({
|
|
1773
1773
|
code: "SQL_DISABLED",
|
|
1774
1774
|
message: "The sql command is disabled by configuration",
|
|
1775
|
-
hint: "The user can re-enable it with `
|
|
1775
|
+
hint: "The user can re-enable it with `clb config set cli.allow_sql true`"
|
|
1776
1776
|
});
|
|
1777
1777
|
}
|
|
1778
1778
|
assertRawAllowed(ctx, options);
|
|
@@ -1785,7 +1785,7 @@ function registerSqlCommands(program2) {
|
|
|
1785
1785
|
throw new QueryError({
|
|
1786
1786
|
code: "SQL_ERROR",
|
|
1787
1787
|
message: err instanceof Error ? err.message : String(err),
|
|
1788
|
-
hint: "Run `
|
|
1788
|
+
hint: "Run `clb schema` to inspect available tables and columns"
|
|
1789
1789
|
});
|
|
1790
1790
|
}
|
|
1791
1791
|
assertSqlResultPrivacyAllowed(result.columns, !!options.raw);
|
|
@@ -1862,15 +1862,15 @@ function assertLegacySqlAllowed(config, sql) {
|
|
|
1862
1862
|
throw new QueryError({
|
|
1863
1863
|
code: "SQL_DISABLED",
|
|
1864
1864
|
message: "The sql command is disabled by configuration",
|
|
1865
|
-
hint: "The user can re-enable it with `
|
|
1865
|
+
hint: "The user can re-enable it with `clb config set cli.allow_sql true`"
|
|
1866
1866
|
});
|
|
1867
1867
|
}
|
|
1868
1868
|
if (sql) assertSqlPrivacyAllowed(sql, false);
|
|
1869
1869
|
}
|
|
1870
1870
|
function registerLegacyAliases(program2) {
|
|
1871
|
-
program2.command("search <session-id> <keyword>", { hidden: true }).description("Deprecated: use `
|
|
1871
|
+
program2.command("search <session-id> <keyword>", { hidden: true }).description("Deprecated: use `clb messages search`").option("--limit <n>", "Max results to return", "20").option("--format <format>", "Output format (table|json)", "table").action((sessionId, keyword, options) => {
|
|
1872
1872
|
console.error(
|
|
1873
|
-
"[Deprecated] `
|
|
1873
|
+
"[Deprecated] `clb search` \u2014 use `clb messages search <keyword> --session <id>`; alias kept for one major version"
|
|
1874
1874
|
);
|
|
1875
1875
|
const { dbManager } = initRuntime();
|
|
1876
1876
|
const db = dbManager.open(sessionId);
|
|
@@ -1894,9 +1894,9 @@ function registerLegacyAliases(program2) {
|
|
|
1894
1894
|
}
|
|
1895
1895
|
dbManager.closeAll();
|
|
1896
1896
|
});
|
|
1897
|
-
program2.command("query <session-id>", { hidden: true }).description("Deprecated: use `
|
|
1897
|
+
program2.command("query <session-id>", { hidden: true }).description("Deprecated: use `clb sql`").requiredOption("--sql <sql>", "SQL query statement").option("--format <format>", "Output format (table|json)", "table").action((sessionId, options) => {
|
|
1898
1898
|
console.error(
|
|
1899
|
-
'[Deprecated] `
|
|
1899
|
+
'[Deprecated] `clb query` \u2014 use `clb sql "<SELECT ...>" --session <id>`; alias kept for one major version'
|
|
1900
1900
|
);
|
|
1901
1901
|
const { config, dbManager } = initRuntime();
|
|
1902
1902
|
const db = dbManager.open(sessionId);
|
|
@@ -1963,31 +1963,31 @@ var EXIT_CODES = {
|
|
|
1963
1963
|
"5": "SQL error"
|
|
1964
1964
|
};
|
|
1965
1965
|
var EXAMPLES = [
|
|
1966
|
-
{ task: "What did this group talk about today?", command: "
|
|
1966
|
+
{ task: "What did this group talk about today?", command: "clb messages list --since today --format agent" },
|
|
1967
1967
|
{
|
|
1968
1968
|
task: "Search a topic within a time range",
|
|
1969
|
-
command: "
|
|
1969
|
+
command: "clb messages search \u65C5\u6E38 --since 2026-01-01 --limit 20 --format agent"
|
|
1970
1970
|
},
|
|
1971
1971
|
{
|
|
1972
1972
|
task: "Who mentioned it first (message ids)?",
|
|
1973
|
-
command: "
|
|
1973
|
+
command: "clb messages search \u62A5\u9500 --sort asc --limit 5 --format agent"
|
|
1974
1974
|
},
|
|
1975
1975
|
{
|
|
1976
1976
|
task: "Follow up a single [#id] marker with context",
|
|
1977
|
-
command: "
|
|
1977
|
+
command: "clb messages context --id 1021 --window 10 --format agent"
|
|
1978
1978
|
},
|
|
1979
1979
|
{
|
|
1980
1980
|
task: "Conversation between me and a member last month",
|
|
1981
|
-
command: "
|
|
1981
|
+
command: "clb messages between --member me --member \u5C0F\u7EA2 --last 30d --format agent"
|
|
1982
1982
|
},
|
|
1983
|
-
{ task: "Most active members", command: "
|
|
1984
|
-
{ task: "Monthly hot topics", command: "
|
|
1985
|
-
{ task: "High-frequency words", command: "
|
|
1983
|
+
{ task: "Most active members", command: "clb stats activity --top 10 --format json" },
|
|
1984
|
+
{ task: "Monthly hot topics", command: "clb topics list --since 2026-06-01 --until 2026-06-30 --format agent" },
|
|
1985
|
+
{ task: "High-frequency words", command: "clb stats keywords --last 30d --top 20 --format json" },
|
|
1986
1986
|
{
|
|
1987
1987
|
task: "Structural scouting without content",
|
|
1988
|
-
command: "
|
|
1988
|
+
command: "clb messages list --last 7d --no-content --fields id,senderName,time --format json"
|
|
1989
1989
|
},
|
|
1990
|
-
{ task: "Discover sessions first", command: "
|
|
1990
|
+
{ task: "Discover sessions first", command: "clb sessions list --format json" }
|
|
1991
1991
|
];
|
|
1992
1992
|
var NOTES = [
|
|
1993
1993
|
"Always pass --format explicitly: agent for message bodies, json for structural data.",
|
|
@@ -2042,7 +2042,7 @@ function buildManifest(program2, version) {
|
|
|
2042
2042
|
}
|
|
2043
2043
|
}
|
|
2044
2044
|
return {
|
|
2045
|
-
name: "
|
|
2045
|
+
name: "clb",
|
|
2046
2046
|
version,
|
|
2047
2047
|
apiVersion: API_VERSION,
|
|
2048
2048
|
formats: ["agent", "json", "text"],
|
|
@@ -2080,7 +2080,7 @@ function normalizeImportError(message) {
|
|
|
2080
2080
|
return {
|
|
2081
2081
|
code: "UNRECOGNIZED_FORMAT",
|
|
2082
2082
|
message: "The chat export format could not be recognized.",
|
|
2083
|
-
hint: 'Run "
|
|
2083
|
+
hint: 'Run "clb formats" and retry with --format <id>.'
|
|
2084
2084
|
};
|
|
2085
2085
|
}
|
|
2086
2086
|
if (message.includes("sessionId contains invalid characters")) {
|
|
@@ -2214,7 +2214,7 @@ function buildEnvelope(report) {
|
|
|
2214
2214
|
error: {
|
|
2215
2215
|
code: "INVALID_CHATLAB_FORMAT",
|
|
2216
2216
|
message: `Validation found ${report.errorCount} error(s).`,
|
|
2217
|
-
hint: 'Fix every error, rerun validation, then preview the import with "
|
|
2217
|
+
hint: 'Fix every error, rerun validation, then preview the import with "clb import <file> --dry-run --json".'
|
|
2218
2218
|
},
|
|
2219
2219
|
meta: { apiVersion: 1 }
|
|
2220
2220
|
};
|
|
@@ -2315,19 +2315,19 @@ function registerRuntimeCommand(program2) {
|
|
|
2315
2315
|
|
|
2316
2316
|
// src/cli.ts
|
|
2317
2317
|
var program = new Command();
|
|
2318
|
-
program.name("
|
|
2318
|
+
program.name("clb").description("ChatLab - Chat history analysis tool").version(getVersion(), "-v, --version");
|
|
2319
2319
|
program.hook("preAction", async (_thisCommand, actionCommand) => {
|
|
2320
2320
|
if (actionCommand.name() === "update" || actionCommand.parent?.name() === "runtime") return;
|
|
2321
|
-
const { checkForUpdatesInteractive } = await import("./update-checker-
|
|
2321
|
+
const { checkForUpdatesInteractive } = await import("./update-checker-UL2FBLXH.mjs");
|
|
2322
2322
|
await checkForUpdatesInteractive();
|
|
2323
2323
|
});
|
|
2324
2324
|
program.command("update").description("Update ChatLab CLI to the latest version").action(async () => {
|
|
2325
|
-
const { performCliSelfUpdate } = await import("./update-checker-
|
|
2325
|
+
const { performCliSelfUpdate } = await import("./update-checker-UL2FBLXH.mjs");
|
|
2326
2326
|
const result = await performCliSelfUpdate({
|
|
2327
2327
|
write: (text) => process.stderr.write(text)
|
|
2328
2328
|
});
|
|
2329
2329
|
if (result.success) {
|
|
2330
|
-
console.error(" Updated successfully. Please restart
|
|
2330
|
+
console.error(" Updated successfully. Please restart clb to use the new version.\n");
|
|
2331
2331
|
return;
|
|
2332
2332
|
}
|
|
2333
2333
|
console.error(` Update failed: ${result.error || "unknown error"}
|
|
@@ -2340,7 +2340,7 @@ registerImportCommand(program);
|
|
|
2340
2340
|
registerValidateCommand(program);
|
|
2341
2341
|
registerRuntimeCommand(program);
|
|
2342
2342
|
program.command("formats").description("List all supported chat history formats").action(async () => {
|
|
2343
|
-
const { getSupportedFormats } = await import("./import-
|
|
2343
|
+
const { getSupportedFormats } = await import("./import-ILTWVHKU.mjs");
|
|
2344
2344
|
const formats = getSupportedFormats();
|
|
2345
2345
|
console.log(`${formats.length} supported format(s):
|
|
2346
2346
|
`);
|
|
@@ -2349,11 +2349,11 @@ program.command("formats").description("List all supported chat history formats"
|
|
|
2349
2349
|
}
|
|
2350
2350
|
});
|
|
2351
2351
|
program.command("mcp").description("Start MCP Server (stdio transport, for ClaudeCode / Cursor / AI agents)").action(async () => {
|
|
2352
|
-
const { startCliMcpServer } = await import("./mcp-
|
|
2352
|
+
const { startCliMcpServer } = await import("./mcp-Y2YXOFB4.mjs");
|
|
2353
2353
|
await startCliMcpServer();
|
|
2354
2354
|
});
|
|
2355
2355
|
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) => {
|
|
2356
|
-
const { runChatCommand } = await import("./chat-command-
|
|
2356
|
+
const { runChatCommand } = await import("./chat-command-XPJ43KSW.mjs");
|
|
2357
2357
|
const { dbManager, pathProvider } = initRuntime();
|
|
2358
2358
|
const aiChatManager = new AIChatManager(pathProvider.getAiDataDir(), { nativeBinding: resolveNativeBinding() });
|
|
2359
2359
|
try {
|
|
@@ -2377,9 +2377,9 @@ program.command("chat").description("Ask ChatLab AI about an imported chat sessi
|
|
|
2377
2377
|
dbManager.closeAll();
|
|
2378
2378
|
}
|
|
2379
2379
|
});
|
|
2380
|
-
program.command("start").description("Start ChatLab (HTTP API + Web UI)").option("--port <port>", "Server port", String(DEFAULT_API_PORT)).option("--host <host>", "Listen address", "127.0.0.1").option("--token <token>", "Custom Bearer Token (reads from config or auto-generates if omitted)").option("--headless", "API-only mode, do not serve the Web UI").option("--require-auth", "Require Bearer token for all routes including /_web/*").option("--no-open", "Do not auto-open the browser").option("--daemon", "Run as a resident system service (auto-start on login, macOS/Linux)").action(async (options) => {
|
|
2380
|
+
program.command("web").alias("start").description("Start ChatLab (HTTP API + Web UI)").option("--port <port>", "Server port", String(DEFAULT_API_PORT)).option("--host <host>", "Listen address", "127.0.0.1").option("--token <token>", "Custom Bearer Token (reads from config or auto-generates if omitted)").option("--headless", "API-only mode, do not serve the Web UI").option("--require-auth", "Require Bearer token for all routes including /_web/*").option("--no-open", "Do not auto-open the browser").option("--daemon", "Run as a resident system service (auto-start on login, macOS/Linux)").action(async (options) => {
|
|
2381
2381
|
if (options.daemon) {
|
|
2382
|
-
const { serviceInstall } = await import("./service-
|
|
2382
|
+
const { serviceInstall } = await import("./service-ZAHXRSFD.mjs");
|
|
2383
2383
|
serviceInstall({
|
|
2384
2384
|
port: parseInt(options.port, 10),
|
|
2385
2385
|
host: options.host,
|
|
@@ -2389,7 +2389,7 @@ program.command("start").description("Start ChatLab (HTTP API + Web UI)").option
|
|
|
2389
2389
|
});
|
|
2390
2390
|
return;
|
|
2391
2391
|
}
|
|
2392
|
-
const { startHttpServer } = await import("./http-
|
|
2392
|
+
const { startHttpServer } = await import("./http-5RVY5J5U.mjs");
|
|
2393
2393
|
const port = parseInt(options.port, 10);
|
|
2394
2394
|
let webRoot;
|
|
2395
2395
|
if (!options.headless) {
|
|
@@ -2412,7 +2412,7 @@ program.command("start").description("Start ChatLab (HTTP API + Web UI)").option
|
|
|
2412
2412
|
webRoot,
|
|
2413
2413
|
requireAuth: options.requireAuth || void 0
|
|
2414
2414
|
});
|
|
2415
|
-
const { startPeriodicUpdateCheck } = await import("./update-checker-
|
|
2415
|
+
const { startPeriodicUpdateCheck } = await import("./update-checker-UL2FBLXH.mjs");
|
|
2416
2416
|
startPeriodicUpdateCheck();
|
|
2417
2417
|
const displayHost = info.host === "0.0.0.0" ? "127.0.0.1" : info.host;
|
|
2418
2418
|
const url = `http://${displayHost}:${info.port}`;
|
|
@@ -2436,7 +2436,7 @@ Press Ctrl+C to stop.
|
|
|
2436
2436
|
}
|
|
2437
2437
|
const shutdown = async () => {
|
|
2438
2438
|
console.log("\nShutting down...");
|
|
2439
|
-
const { stopHttpServer } = await import("./http-
|
|
2439
|
+
const { stopHttpServer } = await import("./http-5RVY5J5U.mjs");
|
|
2440
2440
|
await stopHttpServer();
|
|
2441
2441
|
process.exit(0);
|
|
2442
2442
|
};
|
|
@@ -2460,7 +2460,7 @@ configCmd.command("show").description("Show current configuration").action(() =>
|
|
|
2460
2460
|
const config = loadConfig();
|
|
2461
2461
|
console.log(JSON.stringify(config, null, 2));
|
|
2462
2462
|
});
|
|
2463
|
-
configCmd.command("set <key> <value>").description("Set a config field, e.g. `
|
|
2463
|
+
configCmd.command("set <key> <value>").description("Set a config field, e.g. `clb config set cli.allow_raw true`").action((key, value) => {
|
|
2464
2464
|
try {
|
|
2465
2465
|
const result = setConfigField(key, value);
|
|
2466
2466
|
console.log(`${result.section}.${result.key} = ${JSON.stringify(result.value)}`);
|
|
@@ -2473,12 +2473,12 @@ configCmd.command("set <key> <value>").description("Set a config field, e.g. `ch
|
|
|
2473
2473
|
throw err;
|
|
2474
2474
|
}
|
|
2475
2475
|
});
|
|
2476
|
-
program.command("stop").description("Stop the resident service and remove auto-start (reverse of
|
|
2477
|
-
const { serviceUninstall } = await import("./service-
|
|
2476
|
+
program.command("stop").description("Stop the resident service and remove auto-start (reverse of web --daemon)").action(async () => {
|
|
2477
|
+
const { serviceUninstall } = await import("./service-ZAHXRSFD.mjs");
|
|
2478
2478
|
serviceUninstall();
|
|
2479
2479
|
});
|
|
2480
2480
|
program.command("status").description("Show resident service status").action(async () => {
|
|
2481
|
-
const { getServiceStatus } = await import("./service-
|
|
2481
|
+
const { getServiceStatus } = await import("./service-ZAHXRSFD.mjs");
|
|
2482
2482
|
const svc = getServiceStatus();
|
|
2483
2483
|
console.log("\nChatLab Status");
|
|
2484
2484
|
console.log("\u2500".repeat(36));
|
|
@@ -2489,13 +2489,13 @@ program.command("status").description("Show resident service status").action(asy
|
|
|
2489
2489
|
if (portStr) console.log(` Address: ${portStr}`);
|
|
2490
2490
|
console.log(` Auto-start: enabled`);
|
|
2491
2491
|
console.log(`
|
|
2492
|
-
Use \`
|
|
2492
|
+
Use \`clb stop\` to remove the service.
|
|
2493
2493
|
`);
|
|
2494
2494
|
} else {
|
|
2495
2495
|
console.log(` Service: not installed`);
|
|
2496
2496
|
console.log(` Auto-start: disabled`);
|
|
2497
2497
|
console.log(`
|
|
2498
|
-
Use \`
|
|
2498
|
+
Use \`clb web --daemon\` to install as a system service.
|
|
2499
2499
|
`);
|
|
2500
2500
|
}
|
|
2501
2501
|
});
|
|
@@ -2529,4 +2529,4 @@ if (isDirectRun) {
|
|
|
2529
2529
|
export {
|
|
2530
2530
|
run
|
|
2531
2531
|
};
|
|
2532
|
-
//# sourceMappingURL=chunk-
|
|
2532
|
+
//# sourceMappingURL=chunk-L7TIIVAY.mjs.map
|