chatlab-cli 0.34.3 → 0.36.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.
- package/dist/{chat-command-QH7DXCAJ.mjs → chat-command-SXW67RF7.mjs} +9 -9
- package/dist/{chunk-AWXHYTD5.mjs → chunk-4YPNYQSP.mjs} +701 -7065
- package/dist/chunk-4YPNYQSP.mjs.map +1 -0
- package/dist/{chunk-SWUTRDGZ.mjs → chunk-AAGDVTP2.mjs} +2 -2
- package/dist/{chunk-ZVGDOSGG.mjs → chunk-BSGLH6G3.mjs} +188 -41
- package/dist/chunk-BSGLH6G3.mjs.map +1 -0
- package/dist/{chunk-2Q3HHVTS.mjs → chunk-CNEWMCGX.mjs} +18 -18
- package/dist/{chunk-3X26JJIP.mjs → chunk-GVW3BDGZ.mjs} +3 -3
- package/dist/{chunk-WJVE5Q4Y.mjs → chunk-JHON5FN7.mjs} +2 -2
- package/dist/{chunk-JYBPJWE2.mjs → chunk-LZGOIRLV.mjs} +13 -23
- package/dist/chunk-LZGOIRLV.mjs.map +1 -0
- package/dist/chunk-OWOEWZIC.mjs +19072 -0
- package/dist/chunk-OWOEWZIC.mjs.map +1 -0
- package/dist/{chunk-XIWVJAXH.mjs → chunk-U2NXHIJK.mjs} +34 -24
- package/dist/chunk-U2NXHIJK.mjs.map +1 -0
- package/dist/{chunk-6U2QZO3N.mjs → chunk-UNIKQFI5.mjs} +2 -2
- package/dist/{chunk-C2PD3BS7.mjs → chunk-VDWI4A4U.mjs} +2 -2
- package/dist/{chunk-AWGXYFIC.mjs → chunk-XDF6PMVZ.mjs} +2 -2
- package/dist/chunk-YKMQLAVP.mjs +25 -0
- package/dist/chunk-YKMQLAVP.mjs.map +1 -0
- package/dist/cli.mjs +10 -10
- package/dist/contacts-worker.mjs +2 -2
- package/dist/global-insight-worker.mjs +136 -4
- package/dist/global-insight-worker.mjs.map +1 -1
- package/dist/{http-D2F4QTQW.mjs → http-LVOGJFDL.mjs} +13 -13
- package/dist/{import-H7X2JU2O.mjs → import-7OU57ZHM.mjs} +8 -8
- package/dist/index.mjs +13 -13
- package/dist/{mcp-UURXRGDF.mjs → mcp-CUKHTTII.mjs} +9 -9
- package/dist/people-relationships-worker.mjs +2 -2
- package/dist/semantic-index-worker.mjs +1 -1
- package/dist/{src-MHCO4HYY.mjs → src-LORFXAUE.mjs} +121 -97
- package/dist/{stream-import-BHXACUCA.mjs → stream-import-7YUWIAD6.mjs} +8 -8
- package/dist/{worker-runtime-JOUCP2L4.mjs → worker-runtime-GQ5SY7E3.mjs} +6 -6
- package/dist-cli-web/assets/AISettingsTab-BmhNcUEh.js +1 -0
- package/dist-cli-web/assets/AboutTab-CFklrZt8.js +1 -0
- package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-B-dIPvcs.js +110 -0
- package/dist-cli-web/assets/Alert-DJzXKcec.js +1 -0
- package/dist-cli-web/assets/ApiSettingsTab-DvDm421U.js +2 -0
- package/dist-cli-web/assets/BatchManageTab-DhIDH3Q1.js +1 -0
- package/dist-cli-web/assets/{BufferResource-Dak23r3B.js → BufferResource-DY3P-dGs.js} +1 -1
- package/dist-cli-web/assets/CanvasRenderer-As2MJTWZ.js +1 -0
- package/dist-cli-web/assets/ChatRecordDrawer-DHdas7Jp.js +1 -0
- package/dist-cli-web/assets/ChatRecordWorkspace-CVDPBmcl.js +11 -0
- package/dist-cli-web/assets/ChatRecordWorkspace-D_oJMtqh.css +1 -0
- package/dist-cli-web/assets/Checkbox-4F1WAuVF.js +1 -0
- package/dist-cli-web/assets/DataDirCleanupNotice-jebQ9il3.js +1 -0
- package/dist-cli-web/assets/DatePicker.vue_vue_type_script_setup_true_lang-Cal624eP.js +1 -0
- package/dist-cli-web/assets/DebugToolsPanel-BLU6SY8a.js +1 -0
- package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-CsgJ-Xn3.js +1 -0
- package/dist-cli-web/assets/EChartLine.vue_vue_type_script_setup_true_lang-BYhukELX.js +1 -0
- package/dist-cli-web/assets/EChartWordcloud-C16xh7Tx.js +1 -0
- package/dist-cli-web/assets/{Filter-CHKZVYB3.js → Filter-BEtPORqF.js} +1 -1
- package/dist-cli-web/assets/GlobalTaskBar-BvNmFO7q.js +1 -0
- package/dist-cli-web/assets/GlobalTaskBar-COW_uBX6.css +1 -0
- package/dist-cli-web/assets/GroupRelationshipGalaxyView-DEUIrvgz.js +1 -0
- package/dist-cli-web/assets/Label-Dgl3ghzT.js +1 -0
- package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CwDIA0UP.js +1 -0
- package/dist-cli-web/assets/MessageExportModal-DYjhBuzO.js +1 -0
- package/dist-cli-web/assets/PageHeader-CL9AFfvl.js +1 -0
- package/dist-cli-web/assets/PageTabs.vue_vue_type_script_setup_true_lang-C22kOxIK.js +1 -0
- package/dist-cli-web/assets/{RelationshipGalaxyCanvas-mJhEPzsY.js → RelationshipGalaxyCanvas-BnkcrIpk.js} +3 -3
- package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-Bf76yzmQ.js → RelationshipGalaxyThreeCanvas-CqdqveEJ.js} +166 -166
- package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-CMuibfiA.css → RelationshipGalaxyThreeCanvas-TYGOUDiv.css} +1 -1
- package/dist-cli-web/assets/{RenderTargetSystem-1rM7OF-M.js → RenderTargetSystem-CPwnC2X3.js} +1 -1
- package/dist-cli-web/assets/RovingFocusItem-j33Nsbbn.js +1 -0
- package/dist-cli-web/assets/ScreenCaptureModal-ByKxzNQe.js +1 -0
- package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-C6EHKB_i.js +1 -0
- package/dist-cli-web/assets/Select-jVtfc_xc.js +1 -0
- package/dist-cli-web/assets/SettingsModal-CjVax3I6.css +1 -0
- package/dist-cli-web/assets/SettingsModal-Dg27piEO.js +2 -0
- package/dist-cli-web/assets/StorageTab-QdcDqA6Q.js +1 -0
- package/dist-cli-web/assets/Switch-DYHM64k9.js +1 -0
- package/dist-cli-web/assets/Tabs-B6Nzq2NQ.js +1 -0
- package/dist-cli-web/assets/Tabs-CRZdCcU4.js +1 -0
- package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-Bsq7gpC0.js +1 -0
- package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-BLpQds4F.js +1 -0
- package/dist-cli-web/assets/VisuallyHiddenInput-IQpmK9yR.js +1 -0
- package/dist-cli-web/assets/{WebGLRenderer-Y0jQtBvK.js → WebGLRenderer-8JHbnkTc.js} +2 -2
- package/dist-cli-web/assets/{WebGPURenderer-BcUvCPhd.js → WebGPURenderer-CLWfB4CC.js} +2 -2
- package/dist-cli-web/assets/aiChat-4JvxWGXZ.js +8 -0
- package/dist-cli-web/assets/base-D6fxqD_X.js +1 -0
- package/dist-cli-web/assets/{browserAll-BsR1UaCC.js → browserAll-Cin6ghNg.js} +2 -2
- package/dist-cli-web/assets/chatlabSiteLocale-CrCNb8QP.js +1 -0
- package/dist-cli-web/assets/clamp-jFYhBC76.js +1 -0
- package/dist-cli-web/assets/cli-web-D7IBc3AX.js +1 -0
- package/dist-cli-web/assets/{dateFormat-B6JnNCxp.js → dateFormat-Bu4-Ux3L.js} +1 -1
- package/dist-cli-web/assets/{fetch-BAJ_VjWE.js → fetch-1NiXh-_B.js} +1 -1
- package/dist-cli-web/assets/{fetch-BNcHe2-O.js → fetch-2QEQPA9q.js} +8 -5
- package/dist-cli-web/assets/fetch-B2agy1hy.js +1 -0
- package/dist-cli-web/assets/{fetch-CPloHijF.js → fetch-B7kuohCt.js} +1 -1
- package/dist-cli-web/assets/{fetch-D7vgaLpy.js → fetch-BR71C0K9.js} +1 -1
- package/dist-cli-web/assets/{fetch-bdY0RMM3.js → fetch-Bk-7vxHV.js} +1 -1
- package/dist-cli-web/assets/fetch-C8tTTsCm.js +1 -0
- package/dist-cli-web/assets/{fetch-DtnhbqTN.js → fetch-CuUeyk0N.js} +1 -1
- package/dist-cli-web/assets/{fetch-bhHY8rO7.js → fetch-DPRDSI39.js} +1 -1
- package/dist-cli-web/assets/{fetch-DGvqctIb.js → fetch-OnnCjzee.js} +1 -1
- package/dist-cli-web/assets/{fetch-Clj_RVUD.js → fetch-_CN1EVMt.js} +1 -1
- package/dist-cli-web/assets/index-B4J99zv3.css +1 -0
- package/dist-cli-web/assets/index-BBeqtL8d.css +1 -0
- package/dist-cli-web/assets/index-BCEk6ZpL.js +64 -0
- package/dist-cli-web/assets/index-BIHFuCJK.js +1 -0
- package/dist-cli-web/assets/index-BUz_Vl9U.js +2 -0
- package/dist-cli-web/assets/index-BWZIoPV3.css +1 -0
- package/dist-cli-web/assets/index-BYQV3OA5.js +1 -0
- package/dist-cli-web/assets/index-CVVv_6qu.js +2 -0
- package/dist-cli-web/assets/index-CacwXQL4.js +1 -0
- package/dist-cli-web/assets/{index-DMYFpctK.js → index-Colc58j-.js} +3 -3
- package/dist-cli-web/assets/index-DImo7TQN.js +1 -0
- package/dist-cli-web/assets/index-DV9zQVPV.js +137 -0
- package/dist-cli-web/assets/index-DXKS-q-w.css +1 -0
- package/dist-cli-web/assets/index-DZc5A4_J.js +1 -0
- package/dist-cli-web/assets/index-DkWTvE7d.js +36 -0
- package/dist-cli-web/assets/index-DmEn0PAI.js +1 -0
- package/dist-cli-web/assets/index-b9eEQeVt.js +1 -0
- package/dist-cli-web/assets/index-waDxab2e.css +1 -0
- package/dist-cli-web/assets/insight-time-range-MJxLEu6o.js +1 -0
- package/dist-cli-web/assets/people-page-header-DNPjaSt4.js +1 -0
- package/dist-cli-web/assets/prompt-BgywZQ_g.js +1 -0
- package/dist-cli-web/assets/relationship-galaxy-connections-Cg4G5yYE.js +1 -0
- package/dist-cli-web/assets/semantic-index-config-builder-bji_UxYE.js +1 -0
- package/dist-cli-web/assets/service-DpU9fa-l.js +1 -0
- package/dist-cli-web/assets/useFormControl-De24E2zT.js +1 -0
- package/dist-cli-web/assets/useTable-C7BH94MF.js +1 -0
- package/dist-cli-web/assets/useToast-CxhJkhXK.js +1 -0
- package/dist-cli-web/assets/vendor-echarts-DfAMQxdr.js +11 -0
- package/dist-cli-web/assets/{vendor-echarts-wordcloud-Ca8n6qS6.js → vendor-echarts-wordcloud-BsaEJTPY.js} +1 -1
- package/dist-cli-web/assets/vendor-zrender-PFmZe1EY.js +8 -0
- package/dist-cli-web/assets/{webworkerAll-CfZWlukP.js → webworkerAll-BRnv6GvJ.js} +1 -1
- package/dist-cli-web/index.html +2 -2
- package/package.json +1 -1
- package/dist/chunk-2WYXD5ZP.mjs +0 -9451
- package/dist/chunk-2WYXD5ZP.mjs.map +0 -1
- package/dist/chunk-AWXHYTD5.mjs.map +0 -1
- package/dist/chunk-JYBPJWE2.mjs.map +0 -1
- package/dist/chunk-QZCNVAH6.mjs +0 -14
- package/dist/chunk-QZCNVAH6.mjs.map +0 -1
- package/dist/chunk-XIWVJAXH.mjs.map +0 -1
- package/dist/chunk-ZVGDOSGG.mjs.map +0 -1
- package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-kN3uxTW8.js +0 -110
- package/dist-cli-web/assets/CanvasRenderer-Cmjtvski.js +0 -1
- package/dist-cli-web/assets/DataDirCleanupNotice-B5tyDzK-.js +0 -1
- package/dist-cli-web/assets/EChartWordcloud-Bd3L3G8I.js +0 -1
- package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CKf_gC1k.js +0 -1
- package/dist-cli-web/assets/MessageExportModal-ODYCcSnk.js +0 -1
- package/dist-cli-web/assets/PageHeader-Bn7Jn8JW.js +0 -1
- package/dist-cli-web/assets/ThemeCard.vue_vue_type_script_setup_true_lang-CADZpPia.js +0 -1
- package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-I3FYjhfs.js +0 -1
- package/dist-cli-web/assets/annual-summary-time-range-BIADd8qE.js +0 -1
- package/dist-cli-web/assets/base-BpxxC5Z5.js +0 -1
- package/dist-cli-web/assets/cli-web-BiWUOncc.js +0 -1
- package/dist-cli-web/assets/fetch-DSxgaVBO.js +0 -1
- package/dist-cli-web/assets/index-B6Gq11lw.css +0 -1
- package/dist-cli-web/assets/index-BJ2lywiG.js +0 -1
- package/dist-cli-web/assets/index-BT3_fSP6.js +0 -2
- package/dist-cli-web/assets/index-BVZhP1J5.js +0 -1
- package/dist-cli-web/assets/index-Br8r4pu8.js +0 -1
- package/dist-cli-web/assets/index-Byok4VaA.css +0 -1
- package/dist-cli-web/assets/index-CKnnxOci.js +0 -1
- package/dist-cli-web/assets/index-CXnYfvTv.js +0 -137
- package/dist-cli-web/assets/index-CsFLLk3T.css +0 -1
- package/dist-cli-web/assets/index-CzoOQ7zg.js +0 -1
- package/dist-cli-web/assets/index-D-dTTUGj.js +0 -1
- package/dist-cli-web/assets/index-DEbvEKzi.js +0 -2
- package/dist-cli-web/assets/index-KO7uPd8W.js +0 -64
- package/dist-cli-web/assets/index-ZsZwPLWy.css +0 -1
- package/dist-cli-web/assets/index-lkmJ6dI7.js +0 -1
- package/dist-cli-web/assets/index-y7xPDpsW.js +0 -53
- package/dist-cli-web/assets/people-page-header-gjTyODWs.js +0 -1
- package/dist-cli-web/assets/vendor-echarts-B-i_56Av.js +0 -11
- package/dist-cli-web/assets/vendor-zrender-5DcYjSZk.js +0 -8
- /package/dist/{chat-command-QH7DXCAJ.mjs.map → chat-command-SXW67RF7.mjs.map} +0 -0
- /package/dist/{chunk-SWUTRDGZ.mjs.map → chunk-AAGDVTP2.mjs.map} +0 -0
- /package/dist/{chunk-2Q3HHVTS.mjs.map → chunk-CNEWMCGX.mjs.map} +0 -0
- /package/dist/{chunk-3X26JJIP.mjs.map → chunk-GVW3BDGZ.mjs.map} +0 -0
- /package/dist/{chunk-WJVE5Q4Y.mjs.map → chunk-JHON5FN7.mjs.map} +0 -0
- /package/dist/{chunk-6U2QZO3N.mjs.map → chunk-UNIKQFI5.mjs.map} +0 -0
- /package/dist/{chunk-C2PD3BS7.mjs.map → chunk-VDWI4A4U.mjs.map} +0 -0
- /package/dist/{chunk-AWGXYFIC.mjs.map → chunk-XDF6PMVZ.mjs.map} +0 -0
- /package/dist/{http-D2F4QTQW.mjs.map → http-LVOGJFDL.mjs.map} +0 -0
- /package/dist/{import-H7X2JU2O.mjs.map → import-7OU57ZHM.mjs.map} +0 -0
- /package/dist/{mcp-UURXRGDF.mjs.map → mcp-CUKHTTII.mjs.map} +0 -0
- /package/dist/{src-MHCO4HYY.mjs.map → src-LORFXAUE.mjs.map} +0 -0
- /package/dist/{stream-import-BHXACUCA.mjs.map → stream-import-7YUWIAD6.mjs.map} +0 -0
- /package/dist/{worker-runtime-JOUCP2L4.mjs.map → worker-runtime-GQ5SY7E3.mjs.map} +0 -0
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
resolveOwnerMember,
|
|
22
22
|
setCache,
|
|
23
23
|
shouldScopeContactToSession
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-OWOEWZIC.mjs";
|
|
25
25
|
|
|
26
26
|
// ../../packages/node-runtime/src/services/people/relationships/facts-cache.ts
|
|
27
27
|
var PEOPLE_RELATIONSHIPS_FACTS_FORMAT_VERSION = 3;
|
|
@@ -1326,4 +1326,4 @@ export {
|
|
|
1326
1326
|
compareNodes,
|
|
1327
1327
|
compareEdges
|
|
1328
1328
|
};
|
|
1329
|
-
//# sourceMappingURL=chunk-
|
|
1329
|
+
//# sourceMappingURL=chunk-AAGDVTP2.mjs.map
|
|
@@ -11,14 +11,14 @@ import {
|
|
|
11
11
|
getServerAiLogger,
|
|
12
12
|
getSkillManagerCore,
|
|
13
13
|
initServerAiLogger
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-LZGOIRLV.mjs";
|
|
15
15
|
import {
|
|
16
16
|
AGENT_TOOL_REGISTRY,
|
|
17
17
|
CoreDataProvider
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JHON5FN7.mjs";
|
|
19
19
|
import {
|
|
20
20
|
resolveCliLocalEmbeddingRuntimeConfig
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-UNIKQFI5.mjs";
|
|
22
22
|
import {
|
|
23
23
|
analyzeIncrementalImport,
|
|
24
24
|
analyzeNewImport,
|
|
@@ -26,10 +26,10 @@ import {
|
|
|
26
26
|
autoImportBatch,
|
|
27
27
|
incrementalImport,
|
|
28
28
|
streamImport
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-GVW3BDGZ.mjs";
|
|
30
30
|
import {
|
|
31
31
|
assertCliDataDirCompatible
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-VDWI4A4U.mjs";
|
|
33
33
|
import {
|
|
34
34
|
getVersion
|
|
35
35
|
} from "./chunk-5ADKYYNA.mjs";
|
|
@@ -62,9 +62,8 @@ import {
|
|
|
62
62
|
isDictDownloaded,
|
|
63
63
|
segmentText,
|
|
64
64
|
serializeChatLabToJsonl
|
|
65
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-U2NXHIJK.mjs";
|
|
66
66
|
import {
|
|
67
|
-
AIChatManager,
|
|
68
67
|
ArchiveImportError,
|
|
69
68
|
ArchiveImportSourceManager,
|
|
70
69
|
IMPORT_IN_PROGRESS_ERROR_KEY,
|
|
@@ -75,41 +74,35 @@ import {
|
|
|
75
74
|
SEMANTIC_INDEX_CONFIG_FILE,
|
|
76
75
|
SemanticIndexConfigStore,
|
|
77
76
|
TempDbWriter,
|
|
78
|
-
buildPiModel,
|
|
79
|
-
countMessagesTokens,
|
|
80
77
|
createChatLabTempDir,
|
|
81
78
|
createContactsService,
|
|
82
79
|
createGlobalInsightService,
|
|
83
|
-
createLlmRuntimeStores,
|
|
84
80
|
createPeopleRelationshipsService,
|
|
81
|
+
createTimeInvestmentService,
|
|
85
82
|
detectAllFormats,
|
|
86
83
|
detectFormat,
|
|
87
84
|
exportSessionToJson,
|
|
88
85
|
export_service_exports,
|
|
89
|
-
fetchRemoteModels,
|
|
90
86
|
findEntryFileInDirectory,
|
|
91
87
|
getChatLabTempScopeDir,
|
|
92
|
-
getDefaultRulesForLocale,
|
|
93
88
|
getSupportedFormats,
|
|
94
89
|
hashImportBody,
|
|
95
90
|
isSemanticIndexConfigured,
|
|
96
91
|
isValidImportSessionId,
|
|
97
92
|
logNativeParserStatus,
|
|
98
93
|
member_service_exports,
|
|
99
|
-
mergeRulesForLocale,
|
|
100
94
|
owner_profile_service_exports,
|
|
101
95
|
persistSemanticIndexConfig,
|
|
102
96
|
pushImport,
|
|
103
97
|
resolveSemanticIndexApiKeySet,
|
|
104
|
-
runSimpleLlmStream,
|
|
105
98
|
scanMultiChatFile,
|
|
106
99
|
session_index_service_exports,
|
|
107
100
|
session_service_exports,
|
|
108
101
|
streamParseFileInfo,
|
|
109
|
-
summary_service_exports
|
|
110
|
-
|
|
111
|
-
} from "./chunk-AWXHYTD5.mjs";
|
|
102
|
+
summary_service_exports
|
|
103
|
+
} from "./chunk-4YPNYQSP.mjs";
|
|
112
104
|
import {
|
|
105
|
+
AIChatManager,
|
|
113
106
|
ALL_MIGRATIONS,
|
|
114
107
|
BUILTIN_MODELS,
|
|
115
108
|
BUILTIN_PROVIDERS,
|
|
@@ -118,12 +111,21 @@ import {
|
|
|
118
111
|
CONTACTS_TIME_RANGE_PRESETS,
|
|
119
112
|
DataDirCompatibilityError,
|
|
120
113
|
DatabaseManager,
|
|
114
|
+
GROUP_RELATIONSHIP_GALAXY_ALGORITHM_VERSION,
|
|
121
115
|
MigrationRunner,
|
|
122
116
|
POS_TAG_DEFINITIONS,
|
|
123
117
|
appLogger,
|
|
118
|
+
assertValidTopicDayKey,
|
|
119
|
+
buildPiModel,
|
|
120
|
+
chatTopicWorkCoordinator,
|
|
121
|
+
countMessagesTokens,
|
|
122
|
+
createChatTopicModelClient,
|
|
123
|
+
createChatTopicService,
|
|
124
124
|
createDatabaseManagerAdapter,
|
|
125
|
+
createLlmRuntimeStores,
|
|
125
126
|
executeReadonlySql,
|
|
126
127
|
executeSql,
|
|
128
|
+
fetchRemoteModels,
|
|
127
129
|
getAvailableYears,
|
|
128
130
|
getBuiltinModelsByProvider,
|
|
129
131
|
getCatchphraseAnalysis,
|
|
@@ -131,8 +133,10 @@ import {
|
|
|
131
133
|
getClusterGraph,
|
|
132
134
|
getDailyActivity,
|
|
133
135
|
getDbFileVersion,
|
|
136
|
+
getDefaultRulesForLocale,
|
|
134
137
|
getDivingAnalysis,
|
|
135
138
|
getDragonKingAnalysis,
|
|
139
|
+
getGroupRelationshipGalaxy,
|
|
136
140
|
getHourlyActivity,
|
|
137
141
|
getJourneyStats,
|
|
138
142
|
getLanguagePreferenceAnalysis,
|
|
@@ -144,7 +148,6 @@ import {
|
|
|
144
148
|
getMembersWithAliases,
|
|
145
149
|
getMemeBattleAnalysis,
|
|
146
150
|
getMentionAnalysis,
|
|
147
|
-
getMentionGraph,
|
|
148
151
|
getMessageLengthDistribution,
|
|
149
152
|
getMessageTypeStats,
|
|
150
153
|
getMonthlyActivity,
|
|
@@ -164,11 +167,14 @@ import {
|
|
|
164
167
|
initAppLogger,
|
|
165
168
|
isNewerStableVersion,
|
|
166
169
|
loadConfig,
|
|
170
|
+
mergeRulesForLocale,
|
|
167
171
|
queryMessages,
|
|
172
|
+
runSimpleLlmStream,
|
|
168
173
|
stripAvatarFields,
|
|
174
|
+
validateApiKey,
|
|
169
175
|
verifyCliDataPath,
|
|
170
176
|
writeConfigField
|
|
171
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-OWOEWZIC.mjs";
|
|
172
178
|
|
|
173
179
|
// src/http/index.ts
|
|
174
180
|
import * as fs11 from "fs";
|
|
@@ -822,6 +828,7 @@ data: ${JSON.stringify(data)}
|
|
|
822
828
|
reply.raw.end();
|
|
823
829
|
};
|
|
824
830
|
safeSendSSE("meta", { requestId });
|
|
831
|
+
const releaseInteractiveWork = chatTopicWorkCoordinator.beginInteractiveWork();
|
|
825
832
|
reply.raw.on("close", () => {
|
|
826
833
|
if (!abortController.signal.aborted) {
|
|
827
834
|
abortController.abort();
|
|
@@ -841,6 +848,7 @@ data: ${JSON.stringify(data)}
|
|
|
841
848
|
const msg = error instanceof Error ? error.message : String(error);
|
|
842
849
|
safeSendSSE("error", { type: "error", error: { name: "ServerError", message: msg } });
|
|
843
850
|
} finally {
|
|
851
|
+
releaseInteractiveWork();
|
|
844
852
|
if (!emittedDone) safeSendSSE("done", { type: "done", isFinished: true });
|
|
845
853
|
activeAgentAborts.delete(requestId);
|
|
846
854
|
safeEnd();
|
|
@@ -1023,6 +1031,93 @@ function registerAiChatRoutes(server2, ctx) {
|
|
|
1023
1031
|
});
|
|
1024
1032
|
}
|
|
1025
1033
|
|
|
1034
|
+
// ../../packages/http-routes/src/routes/web/ai-chat-topics.ts
|
|
1035
|
+
function registerAiChatTopicRoutes(server2, ctx) {
|
|
1036
|
+
let service = null;
|
|
1037
|
+
const getService = () => {
|
|
1038
|
+
if (!ctx.runtimeIdentity) throw new Error("Chat topic routes require a runtime identity");
|
|
1039
|
+
service ??= createChatTopicService({
|
|
1040
|
+
runtime: ctx.sessionAdapter,
|
|
1041
|
+
pathProvider: ctx.pathProvider,
|
|
1042
|
+
runtimeIdentity: ctx.runtimeIdentity,
|
|
1043
|
+
nativeBinding: ctx.nativeBinding,
|
|
1044
|
+
getModelClient() {
|
|
1045
|
+
const config = ctx.llmConfigStore?.getFastModelConfig();
|
|
1046
|
+
return config ? createChatTopicModelClient(config) : null;
|
|
1047
|
+
}
|
|
1048
|
+
});
|
|
1049
|
+
return service;
|
|
1050
|
+
};
|
|
1051
|
+
server2.addHook("onClose", async () => {
|
|
1052
|
+
service?.close();
|
|
1053
|
+
});
|
|
1054
|
+
server2.post(
|
|
1055
|
+
"/_web/sessions/:id/topics/preflight",
|
|
1056
|
+
async (request) => getService().preflight(request.params.id, requireCreateRequest(request.body))
|
|
1057
|
+
);
|
|
1058
|
+
server2.post(
|
|
1059
|
+
"/_web/sessions/:id/topics/runs",
|
|
1060
|
+
async (request, reply) => {
|
|
1061
|
+
const run = getService().start(request.params.id, requireCreateRequest(request.body));
|
|
1062
|
+
return reply.code(run.status === "completed" ? 200 : 202).send(run);
|
|
1063
|
+
}
|
|
1064
|
+
);
|
|
1065
|
+
server2.post("/_web/sessions/:id/topics/days/:dayKey/generate", async (request, reply) => {
|
|
1066
|
+
const run = getService().generateDay(
|
|
1067
|
+
request.params.id,
|
|
1068
|
+
request.params.dayKey,
|
|
1069
|
+
requireTimezone(request.body?.timezone),
|
|
1070
|
+
request.body?.locale
|
|
1071
|
+
);
|
|
1072
|
+
return reply.code(run.status === "completed" ? 200 : 202).send(run);
|
|
1073
|
+
});
|
|
1074
|
+
server2.get(
|
|
1075
|
+
"/_web/sessions/:id/topics/runs/latest",
|
|
1076
|
+
async (request) => getService().getLatestRun(request.params.id)
|
|
1077
|
+
);
|
|
1078
|
+
server2.get(
|
|
1079
|
+
"/_web/sessions/:id/topics/runs/:runId",
|
|
1080
|
+
async (request, reply) => {
|
|
1081
|
+
const run = getService().getRun(request.params.id, request.params.runId);
|
|
1082
|
+
return run ?? reply.code(404).send({ error: "Chat topic run not found" });
|
|
1083
|
+
}
|
|
1084
|
+
);
|
|
1085
|
+
for (const action of ["pause", "resume", "cancel"]) {
|
|
1086
|
+
server2.post(
|
|
1087
|
+
`/_web/sessions/:id/topics/runs/:runId/${action}`,
|
|
1088
|
+
async (request) => getService()[action](request.params.id, request.params.runId)
|
|
1089
|
+
);
|
|
1090
|
+
}
|
|
1091
|
+
server2.get(
|
|
1092
|
+
"/_web/sessions/:id/topics/days/:dayKey",
|
|
1093
|
+
async (request) => getService().getDay(request.params.id, request.params.dayKey, requireTimezone(request.query.timezone))
|
|
1094
|
+
);
|
|
1095
|
+
server2.delete(
|
|
1096
|
+
"/_web/sessions/:id/topics/days/:dayKey",
|
|
1097
|
+
async (request) => ({ success: getService().deleteDay(request.params.id, request.params.dayKey) })
|
|
1098
|
+
);
|
|
1099
|
+
}
|
|
1100
|
+
function requireCreateRequest(value) {
|
|
1101
|
+
if (!value || !["today", "year", "custom", "all"].includes(value.rangeKind)) {
|
|
1102
|
+
throw Object.assign(new Error("Invalid chat topic range"), { statusCode: 400 });
|
|
1103
|
+
}
|
|
1104
|
+
const timezone = requireTimezone(value.timezone);
|
|
1105
|
+
if (value.rangeKind === "custom") {
|
|
1106
|
+
if (typeof value.startDay !== "string" || value.startDay.trim() === "") {
|
|
1107
|
+
throw Object.assign(new Error("A start day is required for a custom topic range"), { statusCode: 400 });
|
|
1108
|
+
}
|
|
1109
|
+
assertValidTopicDayKey(value.startDay);
|
|
1110
|
+
return { ...value, timezone, startDay: value.startDay };
|
|
1111
|
+
}
|
|
1112
|
+
return { rangeKind: value.rangeKind, timezone, locale: value.locale };
|
|
1113
|
+
}
|
|
1114
|
+
function requireTimezone(value) {
|
|
1115
|
+
if (typeof value !== "string" || value.trim() === "") {
|
|
1116
|
+
throw Object.assign(new Error("Timezone is required"), { statusCode: 400 });
|
|
1117
|
+
}
|
|
1118
|
+
return value;
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1026
1121
|
// ../../packages/http-routes/src/routes/web/ai-llm-stream.ts
|
|
1027
1122
|
function registerAiLlmStreamRoutes(server2, ctx) {
|
|
1028
1123
|
const store = ctx.llmConfigStore;
|
|
@@ -1549,6 +1644,7 @@ function registerAiRoutes(server2, ctx, options) {
|
|
|
1549
1644
|
registerAiAgentStreamRoutes(server2, ctx);
|
|
1550
1645
|
registerAiToolRoutes(server2, ctx);
|
|
1551
1646
|
registerAiChatRoutes(server2, ctx);
|
|
1647
|
+
registerAiChatTopicRoutes(server2, ctx);
|
|
1552
1648
|
registerAiSummaryRoutes(server2, ctx);
|
|
1553
1649
|
registerAiLogRoutes(server2, ctx);
|
|
1554
1650
|
registerSemanticIndexRoutes(server2, ctx);
|
|
@@ -1676,11 +1772,17 @@ function registerAnalyticsRoutes(server2, ctx) {
|
|
|
1676
1772
|
}
|
|
1677
1773
|
);
|
|
1678
1774
|
server2.get(
|
|
1679
|
-
"/_web/sessions/:id/analytics/
|
|
1775
|
+
"/_web/sessions/:id/analytics/relationship-galaxy",
|
|
1680
1776
|
async (request) => {
|
|
1681
1777
|
const id = request.params.id;
|
|
1682
1778
|
const filter = parseTimeFilter(request.query);
|
|
1683
|
-
return cached(
|
|
1779
|
+
return cached(
|
|
1780
|
+
"relationship-galaxy",
|
|
1781
|
+
id,
|
|
1782
|
+
{ ...filter },
|
|
1783
|
+
() => getGroupRelationshipGalaxy(adapter.ensureReadonly(id), filter),
|
|
1784
|
+
{ extraVersion: GROUP_RELATIONSHIP_GALAXY_ALGORITHM_VERSION }
|
|
1785
|
+
);
|
|
1684
1786
|
}
|
|
1685
1787
|
);
|
|
1686
1788
|
server2.post(
|
|
@@ -2229,13 +2331,28 @@ function registerExportRoutes(server2, ctx) {
|
|
|
2229
2331
|
|
|
2230
2332
|
// ../../packages/http-routes/src/routes/web/global-insight.ts
|
|
2231
2333
|
function registerGlobalInsightRoutes(server2, ctx) {
|
|
2334
|
+
let preferences = ctx.preferencesManager;
|
|
2335
|
+
const getExcludedSessionIds = () => {
|
|
2336
|
+
preferences ??= new PreferencesManager(ctx.pathProvider.getSystemDir());
|
|
2337
|
+
return preferences.load().ownerExcludedSessionIds;
|
|
2338
|
+
};
|
|
2232
2339
|
const service = ctx.globalInsightService ?? createGlobalInsightService({
|
|
2233
2340
|
adapter: ctx.sessionAdapter,
|
|
2234
2341
|
pathProvider: ctx.pathProvider,
|
|
2235
2342
|
runtimeIdentity: ctx.runtimeIdentity,
|
|
2236
|
-
nativeBinding: ctx.nativeBinding
|
|
2343
|
+
nativeBinding: ctx.nativeBinding,
|
|
2344
|
+
getExcludedSessionIds
|
|
2345
|
+
});
|
|
2346
|
+
const timeInvestmentService = ctx.timeInvestmentService ?? createTimeInvestmentService({
|
|
2347
|
+
adapter: ctx.sessionAdapter,
|
|
2348
|
+
pathProvider: ctx.pathProvider,
|
|
2349
|
+
runtimeIdentity: ctx.runtimeIdentity,
|
|
2350
|
+
nativeBinding: ctx.nativeBinding,
|
|
2351
|
+
getExcludedSessionIds
|
|
2352
|
+
});
|
|
2353
|
+
server2.addHook("onClose", async () => {
|
|
2354
|
+
await Promise.all([service.close(), timeInvestmentService.close()]);
|
|
2237
2355
|
});
|
|
2238
|
-
server2.addHook("onClose", async () => service.close());
|
|
2239
2356
|
server2.get("/_web/global-insight/annual-summary", async (request) => {
|
|
2240
2357
|
return service.getAnnualSummary({
|
|
2241
2358
|
...parseRange(request.query),
|
|
@@ -2246,6 +2363,17 @@ function registerGlobalInsightRoutes(server2, ctx) {
|
|
|
2246
2363
|
"/_web/global-insight/annual-summary/recompute",
|
|
2247
2364
|
async (request) => service.startRecompute(parseRange(request.query))
|
|
2248
2365
|
);
|
|
2366
|
+
server2.get(
|
|
2367
|
+
"/_web/global-insight/time-investment",
|
|
2368
|
+
async (request) => timeInvestmentService.getTimeInvestment({
|
|
2369
|
+
...parseRange(request.query),
|
|
2370
|
+
acceptStale: isTruthy2(request.query.acceptStale)
|
|
2371
|
+
})
|
|
2372
|
+
);
|
|
2373
|
+
server2.post(
|
|
2374
|
+
"/_web/global-insight/time-investment/recompute",
|
|
2375
|
+
async (request) => timeInvestmentService.startRecompute(parseRange(request.query))
|
|
2376
|
+
);
|
|
2249
2377
|
}
|
|
2250
2378
|
function parseRange(query) {
|
|
2251
2379
|
const mode = query.mode === "recent" ? "recent" : "year";
|
|
@@ -2280,6 +2408,7 @@ ${stack}` : null].filter(Boolean).join(" ");
|
|
|
2280
2408
|
// ../../packages/http-routes/src/routes/web/members.ts
|
|
2281
2409
|
function registerMemberRoutes(server2, ctx) {
|
|
2282
2410
|
const { sessionAdapter: adapter } = ctx;
|
|
2411
|
+
const cacheDir = ctx.pathProvider.getCacheDir();
|
|
2283
2412
|
server2.get("/_web/sessions/:id/members", async (request) => {
|
|
2284
2413
|
return member_service_exports.getMembers(adapter, request.params.id);
|
|
2285
2414
|
});
|
|
@@ -2303,7 +2432,7 @@ function registerMemberRoutes(server2, ctx) {
|
|
|
2303
2432
|
"/_web/sessions/:id/members/:memberId",
|
|
2304
2433
|
async (request) => {
|
|
2305
2434
|
const memberId = parseInt(request.params.memberId, 10);
|
|
2306
|
-
member_service_exports.deleteMember(adapter, request.params.id, memberId);
|
|
2435
|
+
member_service_exports.deleteMember(adapter, request.params.id, memberId, cacheDir);
|
|
2307
2436
|
return { success: true };
|
|
2308
2437
|
}
|
|
2309
2438
|
);
|
|
@@ -2319,7 +2448,7 @@ function registerMemberRoutes(server2, ctx) {
|
|
|
2319
2448
|
}
|
|
2320
2449
|
const uniqueMemberIds = Array.from(new Set(memberIds));
|
|
2321
2450
|
try {
|
|
2322
|
-
const success = member_service_exports.deleteMembers(adapter, request.params.id, uniqueMemberIds);
|
|
2451
|
+
const success = member_service_exports.deleteMembers(adapter, request.params.id, uniqueMemberIds, cacheDir);
|
|
2323
2452
|
if (!success) {
|
|
2324
2453
|
throw new Error("Member deletion transaction returned no result");
|
|
2325
2454
|
}
|
|
@@ -2339,7 +2468,7 @@ function registerMemberRoutes(server2, ctx) {
|
|
|
2339
2468
|
"/_web/sessions/:id/members/merge",
|
|
2340
2469
|
async (request) => {
|
|
2341
2470
|
const { memberId1, memberId2 } = request.body;
|
|
2342
|
-
member_service_exports.mergeMembers(adapter, request.params.id, memberId1, memberId2);
|
|
2471
|
+
member_service_exports.mergeMembers(adapter, request.params.id, memberId1, memberId2, cacheDir);
|
|
2343
2472
|
return { success: true };
|
|
2344
2473
|
}
|
|
2345
2474
|
);
|
|
@@ -2660,6 +2789,13 @@ function registerPreferencesRoutes(server2, ctx) {
|
|
|
2660
2789
|
server2.get("/_web/preferences", async () => {
|
|
2661
2790
|
return prefManager.load();
|
|
2662
2791
|
});
|
|
2792
|
+
server2.get("/_web/preferences/bootstrap", async () => {
|
|
2793
|
+
const config = loadConfig();
|
|
2794
|
+
return {
|
|
2795
|
+
locale: config.locale.lang,
|
|
2796
|
+
uiConfig: config.ui
|
|
2797
|
+
};
|
|
2798
|
+
});
|
|
2663
2799
|
server2.patch("/_web/preferences", async (request) => {
|
|
2664
2800
|
return prefManager.save(request.body);
|
|
2665
2801
|
});
|
|
@@ -2718,6 +2854,7 @@ function registerSessionIndexRoutes(server2, ctx) {
|
|
|
2718
2854
|
// ../../packages/http-routes/src/routes/web/sessions.ts
|
|
2719
2855
|
function registerSessionRoutes(server2, ctx) {
|
|
2720
2856
|
const { sessionAdapter: adapter } = ctx;
|
|
2857
|
+
const cacheDir = ctx.pathProvider.getCacheDir();
|
|
2721
2858
|
let preferencesInstance = null;
|
|
2722
2859
|
const preferences = () => {
|
|
2723
2860
|
preferencesInstance ??= ctx.preferencesManager ?? new PreferencesManager(ctx.pathProvider.getSystemDir());
|
|
@@ -2725,12 +2862,22 @@ function registerSessionRoutes(server2, ctx) {
|
|
|
2725
2862
|
};
|
|
2726
2863
|
server2.get("/_web/sessions", async () => {
|
|
2727
2864
|
const aiChatCounts = ctx.aiChatManager?.getAIChatCountsBySession();
|
|
2865
|
+
const excludedSessionIds = new Set(preferences().load().ownerExcludedSessionIds);
|
|
2728
2866
|
return session_service_exports.listAnalysisSessions(adapter, {
|
|
2729
|
-
|
|
2867
|
+
resolveOverview: (db, sessionId) => session_service_exports.resolveValidatedSessionOverview(db, sessionId, cacheDir),
|
|
2868
|
+
enrichSession: (dto) => ({
|
|
2869
|
+
...dto,
|
|
2870
|
+
aiConversationCount: aiChatCounts?.get(dto.id) ?? 0,
|
|
2871
|
+
ownerExcluded: excludedSessionIds.has(dto.id)
|
|
2872
|
+
})
|
|
2730
2873
|
});
|
|
2731
2874
|
});
|
|
2732
2875
|
server2.get("/_web/sessions/:id", async (request) => {
|
|
2733
|
-
const
|
|
2876
|
+
const excludedSessionIds = new Set(preferences().load().ownerExcludedSessionIds);
|
|
2877
|
+
const session = session_service_exports.getAnalysisSession(adapter, request.params.id, {
|
|
2878
|
+
resolveOverview: (db, sessionId) => session_service_exports.resolveValidatedSessionOverview(db, sessionId, cacheDir),
|
|
2879
|
+
enrichSession: (dto) => ({ ...dto, ownerExcluded: excludedSessionIds.has(dto.id) })
|
|
2880
|
+
});
|
|
2734
2881
|
if (!session) {
|
|
2735
2882
|
throw Object.assign(new Error(`Session not found: ${request.params.id}`), { statusCode: 404 });
|
|
2736
2883
|
}
|
|
@@ -2741,15 +2888,14 @@ function registerSessionRoutes(server2, ctx) {
|
|
|
2741
2888
|
});
|
|
2742
2889
|
server2.delete("/_web/sessions/:id", async (request, reply) => {
|
|
2743
2890
|
const { id } = request.params;
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
}
|
|
2749
|
-
return { success: true };
|
|
2750
|
-
} catch (err) {
|
|
2751
|
-
return reply.code(500).send({ success: false, error: String(err) });
|
|
2891
|
+
await chatTopicWorkCoordinator.prepareSessionDelete(id);
|
|
2892
|
+
await ctx.beforeDeleteSession?.(id);
|
|
2893
|
+
const deleted = session_service_exports.deleteSession(adapter, id);
|
|
2894
|
+
if (!deleted) {
|
|
2895
|
+
return reply.code(404).send({ success: false, error: "File not found" });
|
|
2752
2896
|
}
|
|
2897
|
+
owner_profile_service_exports.clearOwnerExclusions(preferences(), [id]);
|
|
2898
|
+
return { success: true };
|
|
2753
2899
|
});
|
|
2754
2900
|
server2.patch("/_web/sessions/:id/name", async (request) => {
|
|
2755
2901
|
session_service_exports.renameSession(adapter, request.params.id, request.body.name);
|
|
@@ -2759,6 +2905,7 @@ function registerSessionRoutes(server2, ctx) {
|
|
|
2759
2905
|
"/_web/sessions/:id/owner",
|
|
2760
2906
|
async (request) => {
|
|
2761
2907
|
session_service_exports.updateSessionOwnerId(adapter, request.params.id, request.body.ownerId ?? null);
|
|
2908
|
+
if (request.body.ownerId) owner_profile_service_exports.clearOwnerExclusions(preferences(), [request.params.id]);
|
|
2762
2909
|
return { success: true };
|
|
2763
2910
|
}
|
|
2764
2911
|
);
|
|
@@ -2776,8 +2923,8 @@ function registerSessionRoutes(server2, ctx) {
|
|
|
2776
2923
|
);
|
|
2777
2924
|
}
|
|
2778
2925
|
);
|
|
2779
|
-
server2.post("/_web/sessions/:id/owner/
|
|
2780
|
-
owner_profile_service_exports.
|
|
2926
|
+
server2.post("/_web/sessions/:id/owner/exclude", async (request) => {
|
|
2927
|
+
owner_profile_service_exports.excludeOwnerSession(preferences(), request.params.id);
|
|
2781
2928
|
return { success: true };
|
|
2782
2929
|
});
|
|
2783
2930
|
}
|
|
@@ -3552,10 +3699,10 @@ function registerWebRoutes2(server2, dbManager2, options) {
|
|
|
3552
3699
|
const resolvedPathProvider = options?.pathProvider ?? fallbackPathProvider;
|
|
3553
3700
|
const ai = options?.aiContext;
|
|
3554
3701
|
const cliStreamImport = async (dm, filePath) => {
|
|
3555
|
-
const { streamImport: streamImport2 } = await import("./stream-import-
|
|
3702
|
+
const { streamImport: streamImport2 } = await import("./stream-import-7YUWIAD6.mjs");
|
|
3556
3703
|
const result = await streamImport2(dm, filePath);
|
|
3557
3704
|
if (!result.success) {
|
|
3558
|
-
const { IMPORT_IN_PROGRESS_ERROR_KEY: IMPORT_IN_PROGRESS_ERROR_KEY2, ImportInProgressError: ImportInProgressError2 } = await import("./src-
|
|
3705
|
+
const { IMPORT_IN_PROGRESS_ERROR_KEY: IMPORT_IN_PROGRESS_ERROR_KEY2, ImportInProgressError: ImportInProgressError2 } = await import("./src-LORFXAUE.mjs");
|
|
3559
3706
|
if (result.error === IMPORT_IN_PROGRESS_ERROR_KEY2) throw new ImportInProgressError2();
|
|
3560
3707
|
throw new Error(result.error || "Import failed");
|
|
3561
3708
|
}
|
|
@@ -4731,4 +4878,4 @@ export {
|
|
|
4731
4878
|
startHttpServer,
|
|
4732
4879
|
stopHttpServer
|
|
4733
4880
|
};
|
|
4734
|
-
//# sourceMappingURL=chunk-
|
|
4881
|
+
//# sourceMappingURL=chunk-BSGLH6G3.mjs.map
|