@deepseek-insight/dsi 0.6.12 → 0.6.14
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/.agents/skills/dsi-thin/SKILL.md +140 -0
- package/.agents/skills/dsi-thin/references/ADR-0019-snapshot.md +363 -0
- package/.agents/skills/dsi-thin/references/authority-adr.md +28 -0
- package/.agents/skills/dsi-thin/references/input-contract.md +42 -0
- package/.agents/skills/dsi-thin/references/proven-gates.md +61 -0
- package/.agents/skills/dsi-thin/references/two-lane-contract.md +53 -0
- package/build/client/_app/immutable/assets/0.B-dIufDc.css +2 -0
- package/build/client/_app/immutable/assets/2.B70dfiy3.css +1 -0
- package/build/client/_app/immutable/chunks/{B9fOkvHb.js → 0HT0ILkA.js} +1 -1
- package/build/client/_app/immutable/chunks/{Dwt_JXeR.js → 2KTqoQH-.js} +1 -1
- package/build/client/_app/immutable/chunks/{BIvFR1xA.js → 2M1KS72j.js} +1 -1
- package/build/client/_app/immutable/chunks/{a1Hqq5w-.js → 2XtVrxH4.js} +1 -1
- package/build/client/_app/immutable/chunks/38H6DLwz.js +1 -0
- package/build/client/_app/immutable/chunks/{Cdn_bzx2.js → 3E8jbhSl.js} +1 -1
- package/build/client/_app/immutable/chunks/{CmNEu9LM.js → A5Iiq81h.js} +1 -1
- package/build/client/_app/immutable/chunks/{C48u-2qp.js → ANnPTMPF.js} +1 -1
- package/build/client/_app/immutable/chunks/{BfChGCnE.js → B5S0Wke9.js} +1 -1
- package/build/client/_app/immutable/chunks/BBDOLPkB.js +1 -0
- package/build/client/_app/immutable/chunks/{DJ36HFmi.js → BImoJlJo.js} +1 -1
- package/build/client/_app/immutable/chunks/{DqRXQwgi.js → BJsp4NMH.js} +1 -1
- package/build/client/_app/immutable/chunks/{C7a8i7sD.js → BKU5-8Td.js} +1 -1
- package/build/client/_app/immutable/chunks/BMgyB-Sy.js +1 -0
- package/build/client/_app/immutable/chunks/BYHxHjHc.js +1 -0
- package/build/client/_app/immutable/chunks/{BC5nqwvj.js → BZ6uvzU8.js} +1 -1
- package/build/client/_app/immutable/chunks/{CvjdFV1E.js → B_Gknb5_.js} +1 -1
- package/build/client/_app/immutable/chunks/{CDTTZjYW.js → Bf1I5ROF.js} +1 -1
- package/build/client/_app/immutable/chunks/{CaAId7nh.js → Bh_Z0-Fh.js} +1 -1
- package/build/client/_app/immutable/chunks/{CLvIgAhR.js → BjafRUyA.js} +1 -1
- package/build/client/_app/immutable/chunks/{CG77uzLI.js → Bq4mG8qS.js} +1 -1
- package/build/client/_app/immutable/chunks/{CI1tkkzb.js → BqX9BB0G.js} +1 -1
- package/build/client/_app/immutable/chunks/BwNsQhd8.js +1 -0
- package/build/client/_app/immutable/chunks/{CvWnUnS1.js → Bx68-tOf.js} +1 -1
- package/build/client/_app/immutable/chunks/{RIIj2qfU.js → C1dC47iq.js} +1 -1
- package/build/client/_app/immutable/chunks/{BNx4_m7U.js → C6zqVyWx.js} +1 -1
- package/build/client/_app/immutable/chunks/{GLtnCmfd.js → C8seIiU_.js} +1 -1
- package/build/client/_app/immutable/chunks/{B_6pr4k2.js → CCWXLdgd.js} +1 -1
- package/build/client/_app/immutable/chunks/{D5ecapQY.js → CHYEvS-6.js} +1 -1
- package/build/client/_app/immutable/chunks/{OVDjSnH6.js → CIH5Juz4.js} +1 -1
- package/build/client/_app/immutable/chunks/CMByLjfJ.js +1 -0
- package/build/client/_app/immutable/chunks/{CnAA0dO8.js → CNJYmM8n.js} +1 -1
- package/build/client/_app/immutable/chunks/CP4wchdA.js +2 -0
- package/build/client/_app/immutable/chunks/{B2hm1w7K.js → CQTGR8fW.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bp4vT1Ke.js → CW2uYEvb.js} +1 -1
- package/build/client/_app/immutable/chunks/{BPFR73BS.js → C_Gd0Wor.js} +1 -1
- package/build/client/_app/immutable/chunks/{Dn4fSUjR.js → C_MwBDNt.js} +1 -1
- package/build/client/_app/immutable/chunks/{Dea0pTfN.js → Ch7rc-L7.js} +4 -4
- package/build/client/_app/immutable/chunks/{J3KpJGd_.js → ChC4viXw.js} +1 -1
- package/build/client/_app/immutable/chunks/{4pCoNSa4.js → CiLhSVIj.js} +1 -1
- package/build/client/_app/immutable/chunks/{C7iYNw8X.js → Cx8YXmgi.js} +1 -1
- package/build/client/_app/immutable/chunks/{BRNBFqQ_.js → D4I0Dqwh.js} +1 -1
- package/build/client/_app/immutable/chunks/D6mTYwDH.js +6 -0
- package/build/client/_app/immutable/chunks/{l5GiMY16.js → D7-uGicP.js} +1 -1
- package/build/client/_app/immutable/chunks/{C8wGq5T2.js → D7XrPGMK.js} +1 -1
- package/build/client/_app/immutable/chunks/{xRO38jd8.js → D7eKc9ur.js} +1 -1
- package/build/client/_app/immutable/chunks/{CEj_BGCY.js → DCmONIPx.js} +1 -1
- package/build/client/_app/immutable/chunks/DJWLLhNJ.js +1 -0
- package/build/client/_app/immutable/chunks/{qkxAgKjo.js → DNf96C-O.js} +1 -1
- package/build/client/_app/immutable/chunks/{D4Ogpdhb.js → DSqRqQNp.js} +1 -1
- package/build/client/_app/immutable/chunks/{D4xFb7_b.js → DT1b6JaK.js} +1 -1
- package/build/client/_app/immutable/chunks/{D3bC95qg.js → DWYSL4om.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bi5NvDds.js → DYfx-RRD.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bi25XSWW.js → DfIqw6WM.js} +1 -1
- package/build/client/_app/immutable/chunks/{CGux-rdo.js → Dj4_qcIH.js} +4 -4
- package/build/client/_app/immutable/chunks/{Cx__ttXF.js → Dk9aRp2m.js} +1 -1
- package/build/client/_app/immutable/chunks/{C-58cZAk.js → DmLHHlla.js} +3 -3
- package/build/client/_app/immutable/chunks/{GNZHLVjs.js → Do0VAo0_.js} +1 -1
- package/build/client/_app/immutable/chunks/{BFsDYOFz.js → DrVddB75.js} +1 -1
- package/build/client/_app/immutable/chunks/{CdFbOrCf.js → Dso_gKeU.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bl78Sc72.js → DykTZ90H.js} +1 -1
- package/build/client/_app/immutable/chunks/{DNlR6G0m.js → GdM4UPkS.js} +1 -1
- package/build/client/_app/immutable/chunks/{B52Khb6E.js → IBXFCASw.js} +1 -1
- package/build/client/_app/immutable/chunks/{BIUi504d.js → IoX9lmZK.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bn64J6A-.js → bpkmZ_Dv.js} +1 -1
- package/build/client/_app/immutable/chunks/{iK_uzrhN.js → crRp5OG4.js} +1 -1
- package/build/client/_app/immutable/chunks/da2fibLv.js +8 -0
- package/build/client/_app/immutable/chunks/{BOKyldQm.js → dcghWWmq.js} +1 -1
- package/build/client/_app/immutable/chunks/{CItDRTlN.js → fJBuRi-A.js} +1 -1
- package/build/client/_app/immutable/chunks/{CRe9IZg0.js → gXyYVhfn.js} +1 -1
- package/build/client/_app/immutable/chunks/{C2vkjTiv.js → j2lJ25s0.js} +1 -1
- package/build/client/_app/immutable/chunks/{DypDva7F.js → l3etNtOh.js} +1 -1
- package/build/client/_app/immutable/chunks/{BGQXNvll.js → olUfRNXS.js} +1 -1
- package/build/client/_app/immutable/chunks/{D3W5wGWM.js → uEyn1Z7p.js} +1 -1
- package/build/client/_app/immutable/entry/app.CCuVGpQc.js +2 -0
- package/build/client/_app/immutable/entry/start.BtgtnpyB.js +1 -0
- package/build/client/_app/immutable/nodes/0.GHtnahSb.js +1 -0
- package/build/client/_app/immutable/nodes/1.CaQ_jAq8.js +1 -0
- package/build/client/_app/immutable/nodes/2.DxOLlTKc.js +337 -0
- package/build/client/_app/version.json +1 -1
- package/build/handler.js +7 -6
- package/build/index.js +7 -6
- package/build/server/chunks/chunks/{app-config.svelte.js-BW7TwbBy.js → app-config.svelte.js-D7wkLUkK.js} +2 -2
- package/build/server/chunks/chunks/{db.js-BylhmazO.js → db.js-DRhjT6xK.js} +2 -2
- package/build/server/chunks/chunks/{db2.js-Cm8FBINY.js → db2.js-DUta2B-n.js} +207 -222
- package/build/server/chunks/chunks/{dsh-connection.js-Lnv7PlHw.js → dsh-connection.js-DRtqPR_j.js} +959 -752
- package/build/server/chunks/chunks/{dsh-events.js-D9tSYE7f.js → dsh-events.js-B_E1BU9F.js} +141 -350
- package/build/server/chunks/chunks/{git-probe.js-D_H3YQbR.js → git-probe.js-Daf6r7Z9.js} +3 -3
- package/build/server/chunks/chunks/index-server.js-CV2lq-ha.js +147 -0
- package/build/server/chunks/chunks/{insight-config.js-XUD5BN0g.js → insight-config.js-CA-iT3lB.js} +5 -3
- package/build/server/chunks/chunks/{internal2.js-BcS47nI-.js → internal.js-BcS47nI-.js} +1 -1
- package/build/server/chunks/chunks/{internal.js-D_QJoxN-.js → internal2.js-DAPn3Vk8.js} +11 -153
- package/build/server/chunks/chunks/merge.js-yMwW440S.js +228 -0
- package/build/server/chunks/chunks/{server.js-11-pxAWV.js → server.js-DqHGsQU2.js} +2 -2
- package/build/server/chunks/chunks/{state.js-DbUk4Hrz.js → state.js-CsIZcr7q.js} +5 -4
- package/build/server/chunks/chunks/theme-prefs.svelte.js-8CaWz46g.js +109 -0
- package/build/server/chunks/chunks/{watcher.js-DU-MZGLU.js → watcher.js-CoR53lwR.js} +5 -5
- package/build/server/chunks/entries/endpoints/api/a2a/_id_/{_server.ts.js-DQenu1Rx.js → _server.ts.js-CpeC2QLb.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/a2a/{_server.ts.js-BvEDeAhP.js → _server.ts.js-BKlF4XGH.js} +7 -6
- package/build/server/chunks/entries/endpoints/api/a2a/register/{_server.ts.js-DLJ4sQBq.js → _server.ts.js-BpEhlidV.js} +7 -6
- package/build/server/chunks/entries/endpoints/api/config/{_server.ts.js-zogZnK_B.js → _server.ts.js-BG78X__J.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/directory/{_server.ts.js-BAfRDeE_.js → _server.ts.js-Dmh7f-hU.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/{_server.ts.js-N21TnqYh.js → _server.ts.js-BEci0ZAx.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/presets/{_server.ts.js-C5ckDTov.js → _server.ts.js-OXFzXBSp.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/attachment/{_server.ts.js-CEPz4kVZ.js → _server.ts.js-x44GKy4R.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/cancel/{_server.ts.js-CUB5TKnW.js → _server.ts.js-Da5ZqeJ7.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/catalog/{_server.ts.js-BfDAa0Vb.js → _server.ts.js-BACv9hW-.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/changes/{_server.ts.js-QiLS5yAj.js → _server.ts.js-BtiUS3iD.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/command/{_server.ts.js-C5kJrRx-.js → _server.ts.js-BOOyd1LI.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/{_server.ts.js-vydjdEkJ.js → _server.ts.js-D0GwQbdF.js} +5 -4
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/fork/{_server.ts.js-y5sqH_UC.js → _server.ts.js-Bd0JYMlf.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/goal/{_server.ts.js-BoYIpj-f.js → _server.ts.js-DqAV7OOv.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/{_server.ts.js-SchAEll8.js → _server.ts.js-Cz4P-68E.js} +5 -4
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/models/{_server.ts.js-B8bmQCwT.js → _server.ts.js-C4fXXBIM.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/path/{_server.ts.js-DxiKkvE-.js → _server.ts.js-_SIiC8sn.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/permission/{_server.ts.js-BBexDstc.js → _server.ts.js-BiqNZiiN.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/prompt/{_server.ts.js-fd9StFXw.js → _server.ts.js-Bdx9V4oY.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/rename/{_server.ts.js-98HaDusY.js → _server.ts.js-CuBqoV3c.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/respond/{_server.ts.js-DN9APffn.js → _server.ts.js-CXPFI_Pn.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/select-model/{_server.ts.js-CeROEmUY.js → _server.ts.js-CRcaw4Yo.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/sessions/{_server.ts.js-DKHmiqIs.js → _server.ts.js-dYrtVHDP.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/{_server.ts.js-S6XZDJmC.js → _server.ts.js-BtlfuMjf.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-tree/{_server.ts.js-CA4PUERZ.js → _server.ts.js-D12kAP9B.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/{_server.ts.js-BObM3Axz.js → _server.ts.js-C9JHp1WU.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/delete/{_server.ts.js-CA34p4GV.js → _server.ts.js-bLF4Fbgn.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/rename/{_server.ts.js-DPoRM_7u.js → _server.ts.js-BSw_zD-0.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/prompts/_id_/{_server.ts.js-u-regI3R.js → _server.ts.js-bRLZ5TWI.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/prompts/{_server.ts.js-YtkQGu7O.js → _server.ts.js-ChzWZoFk.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/prompts/use/{_server.ts.js-tv0ivn2x.js → _server.ts.js-DdH5QmPS.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/settings/{_server.ts.js-DmU2MBc5.js → _server.ts.js-DwGQj520.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/terminal/{_server.ts.js-DHhod6dT.js → _server.ts.js-CwXC6Stk.js} +3 -2
- package/build/server/chunks/entries/endpoints/api/workspace/file-write/{_server.ts.js-BmEUPTSa.js → _server.ts.js-CqyKA9g2.js} +6 -5
- package/build/server/chunks/entries/endpoints/api/workspace/git-events/{_server.ts.js-_1uYvYEA.js → _server.ts.js-yu695YoE.js} +6 -5
- package/build/server/chunks/entries/endpoints/api/workspace/git-file-head/{_server.ts.js-DaXO3et9.js → _server.ts.js-BhDAvM6y.js} +6 -5
- package/build/server/chunks/entries/endpoints/api/workspace/git-map/{_server.ts.js-hp85iKSu.js → _server.ts.js-BRUgPrJ2.js} +6 -5
- package/build/server/chunks/entries/endpoints/api/workspace/git-status/{_server.ts.js-CPB-9252.js → _server.ts.js-C7VJ2G4_.js} +6 -5
- package/build/server/chunks/entries/endpoints/api/workspace/write-gate/{_server.ts.js-DKqzSQBE.js → _server.ts.js-BH5BRA_d.js} +6 -5
- package/build/server/chunks/entries/pages/{_error.svelte.js-AsgAVyDR.js → _error.svelte.js-B5TEtccE.js} +10 -9
- package/build/server/chunks/entries/pages/_layout.svelte.js-DRfiLzlz.js +20 -0
- package/build/server/chunks/entries/pages/{_page.server.ts.js-DTjoTdYK.js → _page.server.ts.js-CityLNBO.js} +3 -3
- package/build/server/chunks/entries/pages/{_page.svelte.js-CFdCjELr.js → _page.svelte.js-i6KsWK9O.js} +4654 -2413
- package/build/server/chunks/{handler-Bx2fbkEJ.js → handler-XuK3Ihhf.js} +3 -3
- package/build/server/chunks/{index.js-BldXQ38P.js → index.js-D2FEiD0I.js} +5 -4
- package/build/server/chunks/{manifest.js-Du-9DaEd.js → manifest.js-B_kahcFI.js} +45 -45
- package/build/server/chunks/nodes/0.js-C0B2o0le.js +12 -0
- package/build/server/chunks/nodes/1.js-C2e7NFqd.js +9 -0
- package/build/server/chunks/nodes/{2.js-DGLcInR6.js → 2.js-Bh3kLeYq.js} +9 -8
- package/package.json +2 -2
- package/skills/dsi-sloc/SKILL.md +117 -0
- package/skills/dsi-sloc/references/measurement.md +79 -0
- package/skills/dsi-sloc/references/report-skeleton.md +79 -0
- package/skills/dsi-thin/SKILL.md +214 -0
- package/skills/dsi-thin/references/ADR-0019-snapshot.md +363 -0
- package/skills/dsi-thin/references/authority-adr.md +28 -0
- package/skills/dsi-thin/references/input-contract.md +42 -0
- package/skills/dsi-thin/references/proven-gates.md +61 -0
- package/skills/dsi-thin/references/two-lane-contract.md +53 -0
- package/template/.dsi/prompts.sqlite +0 -0
- package/template/.dsi/prompts.sqlite-shm +0 -0
- package/template/.dsi/prompts.sqlite-wal +0 -0
- package/template/.dsi/resources/skills-reff.md +5 -4
- package/build/client/_app/immutable/assets/0.CRU0GiZX.css +0 -2
- package/build/client/_app/immutable/assets/2.Bzy6Q5kl.css +0 -1
- package/build/client/_app/immutable/chunks/-BV4MEqr.js +0 -1
- package/build/client/_app/immutable/chunks/66qbK5h1.js +0 -2
- package/build/client/_app/immutable/chunks/BLxS3bAX.js +0 -6
- package/build/client/_app/immutable/chunks/CPhcxli7.js +0 -1
- package/build/client/_app/immutable/chunks/CT1m72HM.js +0 -1
- package/build/client/_app/immutable/chunks/CxnI-Htc.js +0 -8
- package/build/client/_app/immutable/chunks/D0uZseUH.js +0 -1
- package/build/client/_app/immutable/chunks/D73RufXg.js +0 -1
- package/build/client/_app/immutable/chunks/HwuqC1sa.js +0 -1
- package/build/client/_app/immutable/chunks/NtHUheoE.js +0 -1
- package/build/client/_app/immutable/entry/app.D8WfdLSe.js +0 -2
- package/build/client/_app/immutable/entry/start.CVl0g0cv.js +0 -1
- package/build/client/_app/immutable/nodes/0.k1Ikzbp6.js +0 -1
- package/build/client/_app/immutable/nodes/1.X0If5xAN.js +0 -1
- package/build/client/_app/immutable/nodes/2.CELzu2i6.js +0 -337
- package/build/server/chunks/entries/pages/_layout.svelte.js-EFiihTdF.js +0 -18
- package/build/server/chunks/nodes/0.js-B0560RI0.js +0 -12
- package/build/server/chunks/nodes/1.js-D55AmdZs.js +0 -9
package/build/server/chunks/chunks/{insight-config.js-XUD5BN0g.js → insight-config.js-CA-iT3lB.js}
RENAMED
|
@@ -278,7 +278,8 @@ function readSettingsHomes() {
|
|
|
278
278
|
};
|
|
279
279
|
}
|
|
280
280
|
var DEFAULT_TERMINAL_CONFIG = {
|
|
281
|
-
enabled:
|
|
281
|
+
enabled: true,
|
|
282
|
+
theming: false,
|
|
282
283
|
maxSessions: 8
|
|
283
284
|
};
|
|
284
285
|
function boolOr(v, fallback) {
|
|
@@ -291,6 +292,7 @@ function readTerminalConfig(configPath) {
|
|
|
291
292
|
const section = isConfigRecord(rec) ? rec : {};
|
|
292
293
|
return {
|
|
293
294
|
enabled: boolOr(section.enabled, DEFAULT_TERMINAL_CONFIG.enabled),
|
|
295
|
+
theming: boolOr(section.theming, DEFAULT_TERMINAL_CONFIG.theming),
|
|
294
296
|
tailBytes: intWithin(section.tailBytes, 4096, 8e6, DEFAULT_TERMINAL_TAIL_BYTES),
|
|
295
297
|
spillMaxBytes: intWithin(section.spillMaxBytes, 1e6, 1e9, DEFAULT_TERMINAL_SPILL_BYTES),
|
|
296
298
|
graceMs: intWithin(section.graceMs, 250, 3e4, DEFAULT_TERMINAL_GRACE_MS),
|
|
@@ -299,5 +301,5 @@ function readTerminalConfig(configPath) {
|
|
|
299
301
|
};
|
|
300
302
|
}
|
|
301
303
|
|
|
302
|
-
export { DSI_CONFIG_PATH as D,
|
|
303
|
-
//# sourceMappingURL=insight-config.js-
|
|
304
|
+
export { DSI_CONFIG_PATH as D, readServerConfig as a, readDshPresetEnglishConfig as b, readA2aConfig as c, readPromptsConfig as d, readSettingsHomes as e, readSidebarConfig as f, readPanelConfig as g, readHomeConfig as h, readConversationConfig as i, joinTagWords as j, readChatConfig as k, readDshSessionsRootConfig as l, isValidTagWord as m, DEFAULT_DSH_PRESET_ENGLISH as n, DEFAULT_SERVER_CONFIG as o, parseTagWords as p, DEFAULT_PROMPTS_CONFIG as q, readDshAuthConfig as r, DEFAULT_SIDEBAR_CONFIG as s, DEFAULT_PANEL_CONFIG as t, DEFAULT_A2A_CONFIG as u, DEFAULT_HOME_CONFIG as v, DEFAULT_CONVERSATION_CONFIG as w, DEFAULT_CHAT_CONFIG as x, readTerminalConfig as y };
|
|
305
|
+
//# sourceMappingURL=insight-config.js-CA-iT3lB.js.map
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import { u as
|
|
2
|
-
import { r as render, s as set, L as LEGACY_PROPS, g as get, f as flushSync, d as define_property, m as mutable_source, i as init_operations, a as get_first_child, b as get_next_sibling, H as HYDRATION_ERROR, c as set_hydrating, e as set_hydrate_node, h as hydration_failed, j as clear_text_content, k as component_root, l as hydrate_node, n as create_text, o as boundary, p as array_from, q as is_passive_event, t as set_active_reaction, u as set_active_effect, v as active_reaction, w as active_effect, x as setContext, y as derived, z as ssr_context, A as hydrating, B as push$1, C as component_context, D as hydration_mismatch, E as pop$1, F as run, G as noop, I as hasContext, J as getContext, K as getAllContexts, M as getAbortSignal, N as createContext, O as lifecycle_function_unavailable, P as experimental_async_required, Q as get_render_context, R as hydratable_serialization_failed } from './server.js-11-pxAWV.js';
|
|
1
|
+
import { j as render, k as set, L as LEGACY_PROPS, m as get, o as flushSync, p as define_property, q as mutable_source, t as init_operations, u as get_first_child, v as get_next_sibling, H as HYDRATION_ERROR, w as set_hydrating, x as set_hydrate_node, y as hydration_failed, z as clear_text_content, A as component_root, B as hydrate_node, C as create_text, D as boundary, E as array_from, F as is_passive_event, G as set_active_reaction, I as set_active_effect, J as active_reaction, K as active_effect, a as setContext, M as derived, N as hydrating, O as push$1, P as component_context, Q as hydration_mismatch, R as pop$1 } from './server.js-DqHGsQU2.js';
|
|
3
2
|
|
|
4
|
-
//#region \0rolldown/runtime.js
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
7
|
-
var __exportAll = (all, no_symbols) => {
|
|
8
|
-
let target = {};
|
|
9
|
-
for (var name in all) __defProp(target, name, {
|
|
10
|
-
get: all[name],
|
|
11
|
-
enumerable: true
|
|
12
|
-
});
|
|
13
|
-
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
14
|
-
return target;
|
|
15
|
-
};
|
|
16
3
|
/**
|
|
17
4
|
* `$env/dynamic/public`
|
|
18
5
|
* @type {Record<string, string>}
|
|
@@ -146,7 +133,7 @@ function assign_nodes(start, end) {
|
|
|
146
133
|
* @param {MountOptions<Props>} options
|
|
147
134
|
* @returns {Exports}
|
|
148
135
|
*/
|
|
149
|
-
function mount
|
|
136
|
+
function mount(component, options) {
|
|
150
137
|
return _mount(component, options);
|
|
151
138
|
}
|
|
152
139
|
/**
|
|
@@ -174,7 +161,7 @@ function mount$1(component, options) {
|
|
|
174
161
|
* }} options
|
|
175
162
|
* @returns {Exports}
|
|
176
163
|
*/
|
|
177
|
-
function hydrate
|
|
164
|
+
function hydrate(component, options) {
|
|
178
165
|
init_operations();
|
|
179
166
|
options.intro = options.intro ?? false;
|
|
180
167
|
const target = options.target;
|
|
@@ -199,7 +186,7 @@ function hydrate$1(component, options) {
|
|
|
199
186
|
init_operations();
|
|
200
187
|
clear_text_content(target);
|
|
201
188
|
set_hydrating(false);
|
|
202
|
-
return mount
|
|
189
|
+
return mount(component, options);
|
|
203
190
|
} finally {
|
|
204
191
|
set_hydrating(was_hydrating);
|
|
205
192
|
set_hydrate_node(previous_hydrate_node);
|
|
@@ -303,7 +290,7 @@ var mounted_components = /* @__PURE__ */ new WeakMap();
|
|
|
303
290
|
* @param {{ outro?: boolean }} [options]
|
|
304
291
|
* @returns {Promise<void>}
|
|
305
292
|
*/
|
|
306
|
-
function unmount
|
|
293
|
+
function unmount(component, options) {
|
|
307
294
|
const fn = mounted_components.get(component);
|
|
308
295
|
if (fn) {
|
|
309
296
|
mounted_components.delete(component);
|
|
@@ -380,7 +367,7 @@ var Svelte4Component = class {
|
|
|
380
367
|
return Reflect.set(target, prop, value);
|
|
381
368
|
}
|
|
382
369
|
});
|
|
383
|
-
this.#instance = (options.hydrate ? hydrate
|
|
370
|
+
this.#instance = (options.hydrate ? hydrate : mount)(options.component, {
|
|
384
371
|
target: options.target,
|
|
385
372
|
anchor: options.anchor,
|
|
386
373
|
props,
|
|
@@ -408,7 +395,7 @@ var Svelte4Component = class {
|
|
|
408
395
|
Object.assign(props, next);
|
|
409
396
|
};
|
|
410
397
|
this.#instance.$destroy = () => {
|
|
411
|
-
unmount
|
|
398
|
+
unmount(this.#instance);
|
|
412
399
|
};
|
|
413
400
|
}
|
|
414
401
|
/** @param {Record<string, any>} props */
|
|
@@ -497,135 +484,6 @@ value: (onfulfilled, onrejected) => {
|
|
|
497
484
|
return component_constructor;
|
|
498
485
|
}
|
|
499
486
|
//#endregion
|
|
500
|
-
//#region node_modules/.pnpm/svelte@5.56.10/node_modules/svelte/src/internal/server/hydratable.js
|
|
501
|
-
/** @import { HydratableLookupEntry } from '#server' */
|
|
502
|
-
/**
|
|
503
|
-
* @template T
|
|
504
|
-
* @param {string} key
|
|
505
|
-
* @param {() => T} fn
|
|
506
|
-
* @returns {T}
|
|
507
|
-
*/
|
|
508
|
-
function hydratable(key, fn) {
|
|
509
|
-
experimental_async_required();
|
|
510
|
-
const { hydratable } = get_render_context();
|
|
511
|
-
let entry = hydratable.lookup.get(key);
|
|
512
|
-
if (entry !== void 0) return entry.value;
|
|
513
|
-
const value = fn();
|
|
514
|
-
entry = encode(key, value, hydratable.unresolved_promises);
|
|
515
|
-
hydratable.lookup.set(key, entry);
|
|
516
|
-
return value;
|
|
517
|
-
}
|
|
518
|
-
/**
|
|
519
|
-
* @param {string} key
|
|
520
|
-
* @param {any} value
|
|
521
|
-
* @param {Map<Promise<any>, string>} [unresolved]
|
|
522
|
-
*/
|
|
523
|
-
function encode(key, value, unresolved) {
|
|
524
|
-
/** @type {HydratableLookupEntry} */
|
|
525
|
-
const entry = {
|
|
526
|
-
value,
|
|
527
|
-
serialized: ""
|
|
528
|
-
};
|
|
529
|
-
let uid = 1;
|
|
530
|
-
entry.serialized = uneval(entry.value, (value, uneval) => {
|
|
531
|
-
if (is_promise(value)) {
|
|
532
|
-
const placeholder = `"${uid++}"`;
|
|
533
|
-
const p = value.then((v) => {
|
|
534
|
-
entry.serialized = entry.serialized.replace(placeholder, () => `r(${uneval(v)})`);
|
|
535
|
-
}).catch((devalue_error) => hydratable_serialization_failed(key, serialization_stack(entry.stack, devalue_error?.stack)));
|
|
536
|
-
p.catch(() => {}).finally(() => unresolved?.delete(p));
|
|
537
|
-
(entry.promises ??= []).push(p);
|
|
538
|
-
return placeholder;
|
|
539
|
-
}
|
|
540
|
-
});
|
|
541
|
-
return entry;
|
|
542
|
-
}
|
|
543
|
-
/**
|
|
544
|
-
* @param {any} value
|
|
545
|
-
* @returns {value is Promise<any>}
|
|
546
|
-
*/
|
|
547
|
-
function is_promise(value) {
|
|
548
|
-
return Object.prototype.toString.call(value) === "[object Promise]";
|
|
549
|
-
}
|
|
550
|
-
/**
|
|
551
|
-
* @param {string | undefined} root_stack
|
|
552
|
-
* @param {string | undefined} uneval_stack
|
|
553
|
-
*/
|
|
554
|
-
function serialization_stack(root_stack, uneval_stack) {
|
|
555
|
-
let out = "";
|
|
556
|
-
if (root_stack) out += root_stack + "\n";
|
|
557
|
-
if (uneval_stack) out += "Caused by:\n" + uneval_stack + "\n";
|
|
558
|
-
return out || "<missing stack trace>";
|
|
559
|
-
}
|
|
560
|
-
//#endregion
|
|
561
|
-
//#region node_modules/.pnpm/svelte@5.56.10/node_modules/svelte/src/internal/server/blocks/snippet.js
|
|
562
|
-
/** @import { Snippet } from 'svelte' */
|
|
563
|
-
/** @import { Renderer } from '../renderer' */
|
|
564
|
-
/** @import { Getters } from '#shared' */
|
|
565
|
-
/**
|
|
566
|
-
* Create a snippet programmatically
|
|
567
|
-
* @template {unknown[]} Params
|
|
568
|
-
* @param {(...params: Getters<Params>) => {
|
|
569
|
-
* render: () => string
|
|
570
|
-
* setup?: (element: Element) => void | (() => void)
|
|
571
|
-
* }} fn
|
|
572
|
-
* @returns {Snippet<Params>}
|
|
573
|
-
*/
|
|
574
|
-
function createRawSnippet(fn) {
|
|
575
|
-
return (renderer, ...args) => {
|
|
576
|
-
var getters = args.map((value) => () => value);
|
|
577
|
-
renderer.push(fn(...getters).render().trim());
|
|
578
|
-
};
|
|
579
|
-
}
|
|
580
|
-
//#endregion
|
|
581
|
-
//#region node_modules/.pnpm/svelte@5.56.10/node_modules/svelte/src/index-server.js
|
|
582
|
-
/** @import { SSRContext } from '#server' */
|
|
583
|
-
/** @import { Renderer } from './internal/server/renderer.js' */
|
|
584
|
-
var index_server_exports = /* @__PURE__ */ __exportAll({
|
|
585
|
-
afterUpdate: () => noop,
|
|
586
|
-
beforeUpdate: () => noop,
|
|
587
|
-
createContext: () => createContext,
|
|
588
|
-
createEventDispatcher: () => createEventDispatcher,
|
|
589
|
-
createRawSnippet: () => createRawSnippet,
|
|
590
|
-
flushSync: () => noop,
|
|
591
|
-
fork: () => fork,
|
|
592
|
-
getAbortSignal: () => getAbortSignal,
|
|
593
|
-
getAllContexts: () => getAllContexts,
|
|
594
|
-
getContext: () => getContext,
|
|
595
|
-
hasContext: () => hasContext,
|
|
596
|
-
hydratable: () => hydratable,
|
|
597
|
-
hydrate: () => hydrate,
|
|
598
|
-
mount: () => mount,
|
|
599
|
-
onDestroy: () => onDestroy,
|
|
600
|
-
onMount: () => noop,
|
|
601
|
-
setContext: () => setContext,
|
|
602
|
-
settled: () => settled,
|
|
603
|
-
tick: () => tick,
|
|
604
|
-
unmount: () => unmount,
|
|
605
|
-
untrack: () => run
|
|
606
|
-
});
|
|
607
|
-
/** @param {() => void} fn */
|
|
608
|
-
function onDestroy(fn) {
|
|
609
|
-
/** @type {Renderer} */ ssr_context.r.on_destroy(fn);
|
|
610
|
-
}
|
|
611
|
-
function createEventDispatcher() {
|
|
612
|
-
return noop;
|
|
613
|
-
}
|
|
614
|
-
function mount() {
|
|
615
|
-
lifecycle_function_unavailable("mount");
|
|
616
|
-
}
|
|
617
|
-
function hydrate() {
|
|
618
|
-
lifecycle_function_unavailable("hydrate");
|
|
619
|
-
}
|
|
620
|
-
function unmount() {
|
|
621
|
-
lifecycle_function_unavailable("unmount");
|
|
622
|
-
}
|
|
623
|
-
function fork() {
|
|
624
|
-
lifecycle_function_unavailable("fork");
|
|
625
|
-
}
|
|
626
|
-
async function tick() {}
|
|
627
|
-
async function settled() {}
|
|
628
|
-
//#endregion
|
|
629
487
|
//#region .svelte-kit/generated/root.svelte
|
|
630
488
|
function Root($$renderer, $$props) {
|
|
631
489
|
$$renderer.component(($$renderer) => {
|
|
@@ -719,10 +577,10 @@ var options = {
|
|
|
719
577
|
service_worker_options: void 0,
|
|
720
578
|
server_error_boundaries: false,
|
|
721
579
|
templates: {
|
|
722
|
-
app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"%paraglide.locale%\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"" + assets + "/favicon.svg\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n " + head + "\n </head>\n <body data-sveltekit-preload-data=\"tap\">\n <div style=\"display: contents\">" + body + "</div>\n </body>\n</html>\n",
|
|
580
|
+
app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"%paraglide.locale%\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"" + assets + "/favicon.svg\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <script>\n /* The Three-State Lamp pre-paint (ADR-0023 D3, 2026-10-11): resolve\n * the choice and set html[data-theme] BEFORE the bundle paints —\n * no flash of light on a dark reload. The key 'dsi-theme' is\n * pinned identical to src/lib/utils/theme-prefs.svelte.ts by\n * tests/unit/theme-prefs.test.ts; change both together. */\n try {\n var m = location.search.match(/[?&]profile=([^&]*)/);\n var prof = m ? m[1].replace(/[^A-Za-z0-9_-]/g, '').slice(0, 40) : '';\n var k = 'dsi-theme' + (prof ? '_' + prof : '');\n var t = localStorage.getItem(k);\n if (t !== 'light' && t !== 'dark' && t !== 'system') t = 'system';\n document.documentElement.dataset.theme =\n t === 'dark' || (t === 'system' && window.matchMedia && matchMedia('(prefers-color-scheme: dark)').matches)\n ? 'dark'\n : 'light';\n } catch (e) {\n document.documentElement.dataset.theme = 'light';\n }\n <\/script>\n " + head + "\n </head>\n <body data-sveltekit-preload-data=\"tap\">\n <div style=\"display: contents\">" + body + "</div>\n </body>\n</html>\n",
|
|
723
581
|
error: error_template_default
|
|
724
582
|
},
|
|
725
|
-
version_hash: "
|
|
583
|
+
version_hash: "133rlis"
|
|
726
584
|
};
|
|
727
585
|
async function get_hooks() {
|
|
728
586
|
let handle;
|
|
@@ -744,5 +602,5 @@ async function get_hooks() {
|
|
|
744
602
|
};
|
|
745
603
|
}
|
|
746
604
|
|
|
747
|
-
export {
|
|
748
|
-
//# sourceMappingURL=
|
|
605
|
+
export { set_public_env as a, set_read_implementation as b, get_hooks as g, options as o, public_env as p, read_implementation as r, set_private_env as s };
|
|
606
|
+
//# sourceMappingURL=internal2.js-DAPn3Vk8.js.map
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
//#region src/lib/utils/truncate.ts
|
|
2
|
+
/**
|
|
3
|
+
* Cut `text` to at most `max` characters. `max` <= 0 returns the full text
|
|
4
|
+
* (max means "no limit" — documented contract, pinned by tests).
|
|
5
|
+
*/
|
|
6
|
+
function truncate(text, max) {
|
|
7
|
+
if (max <= 0 || text.length <= max) return {
|
|
8
|
+
head: text,
|
|
9
|
+
truncated: false,
|
|
10
|
+
cutChars: 0
|
|
11
|
+
};
|
|
12
|
+
return {
|
|
13
|
+
head: text.slice(0, max),
|
|
14
|
+
truncated: true,
|
|
15
|
+
cutChars: text.length - max
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/lib/services/conversation/events/merge.ts
|
|
20
|
+
/**
|
|
21
|
+
* Merge incoming DsiEntry deltas into an existing list (id-keyed, idempotent):
|
|
22
|
+
*
|
|
23
|
+
* assistant-message, same id, finalized — REPLACES (the assembled message
|
|
24
|
+
* is authoritative over any streamed prefix, text AND reasoning; this
|
|
25
|
+
* is how the durable assistant/message finalizes the live-tail bubble
|
|
26
|
+
* folded by the store's applyLiveStream);
|
|
27
|
+
* any other kind, known id — ignored (retransmit);
|
|
28
|
+
* unknown id — appended.
|
|
29
|
+
*
|
|
30
|
+
* (Ledger v2 removed the durable chunk events whose fragments CONCAT'ed
|
|
31
|
+
* here while streaming; the live tail carries the full accumulation each
|
|
32
|
+
* poll and replaces wholesale in the store, outside this merge.)
|
|
33
|
+
*
|
|
34
|
+
* Tool lifecycle (Wave 1, task 1.2): tool/call is born status:'pending';
|
|
35
|
+
* a paired tool/result flips it to pass/fail (result.ok, i.e. isError on the
|
|
36
|
+
* wire) and carries durationMs = result.time − call.time — both directions of
|
|
37
|
+
* arrival (cold load has call+result together; polls may deliver result into
|
|
38
|
+
* a list that already holds the call). An orphan result (no call in the list)
|
|
39
|
+
* keeps its honest state: name unknown → 'tool', duration undefined.
|
|
40
|
+
*
|
|
41
|
+
* Also pairs tool-result entries with their tool-call by callId (fills
|
|
42
|
+
* toolName). Server cold load and client poll deltas share these rules.
|
|
43
|
+
*/
|
|
44
|
+
function mergeEntries(existing, incoming) {
|
|
45
|
+
const merged = existing.map((e) => ({ ...e }));
|
|
46
|
+
for (const entry of incoming) {
|
|
47
|
+
const at = merged.findIndex((e) => e.id === entry.id);
|
|
48
|
+
if (at === -1) {
|
|
49
|
+
merged.push({ ...entry });
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const candidate = merged[at];
|
|
53
|
+
if (candidate.kind === "workflow-run" && entry.kind === "workflow-run") {
|
|
54
|
+
merged[at] = mergeWorkflowRun(candidate, entry);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (candidate.kind === "code-dispatch" && entry.kind === "code-dispatch") {
|
|
58
|
+
if (entry.argsRaw !== void 0) candidate.argsRaw = entry.argsRaw;
|
|
59
|
+
candidate.time = entry.time > candidate.time ? entry.time : candidate.time;
|
|
60
|
+
if (entry.settled) {
|
|
61
|
+
candidate.settled = true;
|
|
62
|
+
candidate.isError = entry.isError;
|
|
63
|
+
candidate.contentText = entry.contentText;
|
|
64
|
+
}
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const prev = candidate;
|
|
68
|
+
if (prev.kind === "assistant-message" && entry.kind === "assistant-message") {
|
|
69
|
+
if (!entry.streaming) {
|
|
70
|
+
const next = { ...entry };
|
|
71
|
+
if (next.reasoning === void 0 && prev.reasoning !== void 0) {
|
|
72
|
+
next.reasoning = prev.reasoning;
|
|
73
|
+
next.reasoningStreaming = false;
|
|
74
|
+
}
|
|
75
|
+
if (next.text === "") next.text = prev.text;
|
|
76
|
+
merged[at] = next;
|
|
77
|
+
}
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (candidate.kind === "files-edited" && entry.kind === "files-edited") {
|
|
81
|
+
if (entry.seq > candidate.seq) merged[at] = { ...entry };
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const calls = /* @__PURE__ */ new Map();
|
|
86
|
+
for (const e of merged) if (e.kind === "tool-call") calls.set(e.callId, e);
|
|
87
|
+
for (const e of merged) {
|
|
88
|
+
if (e.kind !== "tool-result") continue;
|
|
89
|
+
const call = calls.get(e.callId);
|
|
90
|
+
if (call) {
|
|
91
|
+
if (!e.toolName || e.toolName === "" || e.toolName === "tool") e.toolName = call.toolName;
|
|
92
|
+
if (!e.durationMs && e.time >= call.time) e.durationMs = e.time - call.time;
|
|
93
|
+
}
|
|
94
|
+
if (!e.toolName || e.toolName === "") e.toolName = "tool";
|
|
95
|
+
if (call && call.status === "pending") call.status = e.ok ? "pass" : "fail";
|
|
96
|
+
}
|
|
97
|
+
foldCodeDispatches(merged);
|
|
98
|
+
return merged;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Fold `code-dispatch` partials onto their parent tool-call entries
|
|
102
|
+
* (ADR D1/D2, 2026-09-05). Start and settled partials merge by subCallId —
|
|
103
|
+
* a settle fills content/isError and never un-settles; a late start after a
|
|
104
|
+
* settle keeps the settle's facts. Entries fold by parentCallId → the call's
|
|
105
|
+
* `dispatches` list in `<n>` submission order. Orphans (no parent call in
|
|
106
|
+
* the list) are dropped — the fold never guesses a parent. Idempotent:
|
|
107
|
+
* retransmitted partials rewrite the same facts; the folded entry carries
|
|
108
|
+
* fresh arrays, so re-running never aliases a prior list.
|
|
109
|
+
*/
|
|
110
|
+
function foldCodeDispatches(entries) {
|
|
111
|
+
const bySub = /* @__PURE__ */ new Map();
|
|
112
|
+
for (const e of entries) {
|
|
113
|
+
if (e.kind !== "code-dispatch") continue;
|
|
114
|
+
const prev = bySub.get(e.subCallId);
|
|
115
|
+
if (prev === void 0) {
|
|
116
|
+
bySub.set(e.subCallId, e);
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
prev.time = e.time > prev.time ? e.time : prev.time;
|
|
120
|
+
if (e.argsRaw !== void 0) prev.argsRaw = e.argsRaw;
|
|
121
|
+
if (e.settled) {
|
|
122
|
+
prev.settled = true;
|
|
123
|
+
prev.isError = e.isError;
|
|
124
|
+
prev.contentText = e.contentText;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (bySub.size === 0) return;
|
|
128
|
+
const calls = /* @__PURE__ */ new Map();
|
|
129
|
+
for (const e of entries) if (e.kind === "tool-call") calls.set(e.callId, e);
|
|
130
|
+
const grouped = /* @__PURE__ */ new Map();
|
|
131
|
+
for (const d of bySub.values()) {
|
|
132
|
+
const list = grouped.get(d.parentCallId) ?? [];
|
|
133
|
+
list.push(d);
|
|
134
|
+
grouped.set(d.parentCallId, list);
|
|
135
|
+
}
|
|
136
|
+
const orderOf = (subCallId) => {
|
|
137
|
+
const m = /:(?:code|ptc):(\d+)$/.exec(subCallId);
|
|
138
|
+
return m !== null ? Number(m[1]) : Number.MAX_SAFE_INTEGER;
|
|
139
|
+
};
|
|
140
|
+
for (const [parentCallId, list] of grouped) {
|
|
141
|
+
list.sort((a, b) => orderOf(a.subCallId) - orderOf(b.subCallId));
|
|
142
|
+
const call = calls.get(parentCallId);
|
|
143
|
+
if (call === void 0) continue;
|
|
144
|
+
const kept = new Map(call.dispatches?.map((d) => [d.subCallId, d]) ?? []);
|
|
145
|
+
const next = [];
|
|
146
|
+
const seen = /* @__PURE__ */ new Set();
|
|
147
|
+
for (const d of list) {
|
|
148
|
+
seen.add(d.subCallId);
|
|
149
|
+
const k = kept.get(d.subCallId);
|
|
150
|
+
const winner = d.settled ? d : k?.settled ? k : d;
|
|
151
|
+
next.push({
|
|
152
|
+
subCallId: d.subCallId,
|
|
153
|
+
name: d.name,
|
|
154
|
+
...winner.argsRaw !== void 0 ? { argsRaw: winner.argsRaw } : k?.argsRaw !== void 0 ? { argsRaw: k.argsRaw } : {},
|
|
155
|
+
settled: d.settled || (k?.settled ?? false),
|
|
156
|
+
...winner.isError !== void 0 ? { isError: winner.isError } : {},
|
|
157
|
+
...winner.contentText !== void 0 ? { contentText: winner.contentText } : {}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
for (const d of kept.values()) if (!seen.has(d.subCallId)) next.push({ ...d });
|
|
161
|
+
next.sort((a, b) => orderOf(a.subCallId) - orderOf(b.subCallId));
|
|
162
|
+
call.dispatches = next;
|
|
163
|
+
}
|
|
164
|
+
for (let i = entries.length - 1; i >= 0; i--) if (entries[i].kind === "code-dispatch") entries.splice(i, 1);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Collapse repeated `system-prompt` entries to one row per DISTINCT text
|
|
168
|
+
* (2026-09-01): a request/header is appended per epoch — initial, resume,
|
|
169
|
+
* change, series — so an uncollapsed transcript would repeat the identical
|
|
170
|
+
* "System prompt" row after every host restart or tools-only header bump.
|
|
171
|
+
* DSH's own Chat decides per header (`showsPrompt`); DSI cannot, because
|
|
172
|
+
* scroll-up pages map through fresh calls with no earlier-page state — so
|
|
173
|
+
* the rule is textual and stateless: keep a system-prompt row only when its
|
|
174
|
+
* text differs from the last KEPT one. Pure, order-preserving, idempotent;
|
|
175
|
+
* safe to re-run at every merge point (mapped batches, client deltas,
|
|
176
|
+
* prepended older pages).
|
|
177
|
+
*/
|
|
178
|
+
function collapseSystemPromptEntries(entries) {
|
|
179
|
+
let lastKept;
|
|
180
|
+
const out = [];
|
|
181
|
+
for (const e of entries) {
|
|
182
|
+
if (e.kind === "system-prompt") {
|
|
183
|
+
if (e.text === lastKept) continue;
|
|
184
|
+
lastKept = e.text;
|
|
185
|
+
}
|
|
186
|
+
out.push(e);
|
|
187
|
+
}
|
|
188
|
+
return out;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Fold ONE workflow-run partial into the running entry (2026-08-31).
|
|
192
|
+
* Partials carry only what their event proved — run-start owns the name,
|
|
193
|
+
* agent-start appends a member, agent-end settles a member by its member
|
|
194
|
+
* seq (label/childId are NEVER overwritten by a settle partial's empty
|
|
195
|
+
* strings), run-end sets the terminal status. Idempotent: a retransmitted
|
|
196
|
+
* partial rewrites the same facts; a running status never un-settles a
|
|
197
|
+
* terminal one.
|
|
198
|
+
*/
|
|
199
|
+
function mergeWorkflowRun(prev, incoming) {
|
|
200
|
+
const agents = [...prev.agents];
|
|
201
|
+
for (const a of incoming.agents) {
|
|
202
|
+
const at = agents.findIndex((x) => x.seq === a.seq);
|
|
203
|
+
if (at === -1) {
|
|
204
|
+
agents.push({ ...a });
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
agents[at] = {
|
|
208
|
+
...agents[at],
|
|
209
|
+
label: agents[at].label === "" && a.label !== "" ? a.label : agents[at].label,
|
|
210
|
+
childId: agents[at].childId === "" && a.childId !== "" ? a.childId : agents[at].childId,
|
|
211
|
+
startedAt: agents[at].startedAt > 0 ? agents[at].startedAt : a.startedAt,
|
|
212
|
+
status: a.status !== "running" ? a.status : agents[at].status,
|
|
213
|
+
...a.phase !== void 0 ? { phase: a.phase } : {},
|
|
214
|
+
...a.endedAt !== void 0 ? { endedAt: a.endedAt } : {}
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
...prev,
|
|
219
|
+
seq: Math.max(prev.seq, incoming.seq),
|
|
220
|
+
time: Math.max(prev.time, incoming.time),
|
|
221
|
+
name: prev.name !== "" ? prev.name : incoming.name,
|
|
222
|
+
status: incoming.status !== "running" ? incoming.status : prev.status,
|
|
223
|
+
agents
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export { collapseSystemPromptEntries as c, mergeEntries as m, truncate as t };
|
|
228
|
+
//# sourceMappingURL=merge.js-yMwW440S.js.map
|
|
@@ -4171,5 +4171,5 @@ function derived(fn) {
|
|
|
4171
4171
|
};
|
|
4172
4172
|
}
|
|
4173
4173
|
|
|
4174
|
-
export { spread_props as $,
|
|
4175
|
-
//# sourceMappingURL=server.js-
|
|
4174
|
+
export { spread_props as $, component_root as A, hydrate_node as B, create_text as C, boundary as D, array_from as E, is_passive_event as F, set_active_reaction as G, HYDRATION_ERROR as H, set_active_effect as I, active_reaction as J, active_effect as K, LEGACY_PROPS as L, derived as M, hydrating as N, push$1 as O, component_context as P, hydration_mismatch as Q, pop$1 as R, writable as S, readable as T, snapshot as U, head as V, escape_html as W, bind_props as X, attr as Y, attr_style as Z, attr_class as _, setContext as a, attributes as a0, clsx as a1, ensure_array_like as a2, element as a3, stringify as a4, html as a5, props_id as a6, getAllContexts as b, getAbortSignal as c, createContext as d, experimental_async_required as e, get_render_context as f, getContext as g, hasContext as h, hydratable_serialization_failed as i, render as j, set as k, lifecycle_function_unavailable as l, get as m, noop as n, flushSync as o, define_property as p, mutable_source as q, run as r, ssr_context as s, init_operations as t, get_first_child as u, get_next_sibling as v, set_hydrating as w, set_hydrate_node as x, hydration_failed as y, clear_text_content as z };
|
|
4175
|
+
//# sourceMappingURL=server.js-DqHGsQU2.js.map
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { i as index_server_exports } from './
|
|
1
|
+
import { i as index_server_exports } from './index-server.js-CV2lq-ha.js';
|
|
2
2
|
import './shared.js-HQ0rfhm4.js';
|
|
3
|
+
import './internal2.js-DAPn3Vk8.js';
|
|
3
4
|
import './exports.js-DH_tjtdv.js';
|
|
4
|
-
import { U as snapshot,
|
|
5
|
+
import { U as snapshot, g as getContext, n as noop } from './server.js-DqHGsQU2.js';
|
|
5
6
|
import { U as UI_LOCALES } from './config.js-B0w1-uCA.js';
|
|
6
7
|
import { c as getLocale } from './runtime.js-CCJi3XaY.js';
|
|
7
8
|
import './utils.js-CAdNO8Tu.js';
|
|
@@ -302,5 +303,5 @@ var page = {
|
|
|
302
303
|
}
|
|
303
304
|
};
|
|
304
305
|
|
|
305
|
-
export { afterNavigate as a, backtoworkspace2 as b,
|
|
306
|
-
//# sourceMappingURL=state.js-
|
|
306
|
+
export { afterNavigate as a, backtoworkspace2 as b, currentLocale as c, dshunreachable1 as d, replaceState as e, page as p, reapednote1 as r, sessionnotfound2 as s, t, unexpectederror1 as u };
|
|
307
|
+
//# sourceMappingURL=state.js-CsIZcr7q.js.map
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
//#region src/lib/utils/storage-profile.ts
|
|
2
|
+
/**
|
|
3
|
+
* Storage profile — the ONE home of the workspace-profile key convention
|
|
4
|
+
* (extends the 2026-08-24 profile desks from dsi-panels to EVERY dsi-*
|
|
5
|
+
* localStorage key):
|
|
6
|
+
*
|
|
7
|
+
* no profile → dsi-panels · dsi-sidebar · dsi-session-filter
|
|
8
|
+
* ?profile=widi → dsi-panels_widi · dsi-sidebar_widi · dsi-session-filter_widi
|
|
9
|
+
*
|
|
10
|
+
* The profile is sticky (?profile= survives the seed strip, keys the
|
|
11
|
+
* desks) and sanitized here once — every prefs module routes its key
|
|
12
|
+
* through dsiKey so no two call sites re-implement the suffix.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Sanitize a raw `?profile=` value into a storage-key-safe segment.
|
|
16
|
+
* Keeps `[A-Za-z0-9_-]` (case preserved — profiles are exact ids), caps at
|
|
17
|
+
* 40 chars; anything that sanitizes to nothing is not a profile.
|
|
18
|
+
* @returns the safe segment, or null when the value carries no usable
|
|
19
|
+
* characters (the caller then behaves as if no profile were set).
|
|
20
|
+
*/
|
|
21
|
+
function sanitizeWorkspaceProfile(raw) {
|
|
22
|
+
const safe = raw.replace(/[^A-Za-z0-9_-]/g, "").slice(0, 40);
|
|
23
|
+
return safe.length > 0 ? safe : null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The storage key for a workspace profile.
|
|
27
|
+
* @param base the un-suffixed dsi-* key (e.g. 'dsi-panels').
|
|
28
|
+
* @param profile sanitized profile segment, or null/undefined for the
|
|
29
|
+
* default desk (the base key unchanged).
|
|
30
|
+
*/
|
|
31
|
+
function dsiKey(base, profile) {
|
|
32
|
+
return profile ? `${base}_${profile}` : base;
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/lib/utils/theme-prefs.svelte.ts
|
|
36
|
+
var THEME_BASE_KEY = "dsi-theme";
|
|
37
|
+
var currentProfile = () => typeof location === "undefined" ? null : sanitizeWorkspaceProfile(new URLSearchParams(location.search).get("profile") ?? "");
|
|
38
|
+
var storageKey = () => dsiKey(THEME_BASE_KEY, currentProfile());
|
|
39
|
+
var osPrefersDark = () => typeof window !== "undefined" && !!window.matchMedia?.("(prefers-color-scheme: dark)").matches;
|
|
40
|
+
var readStoredChoice = () => {
|
|
41
|
+
if (typeof localStorage === "undefined") return "system";
|
|
42
|
+
try {
|
|
43
|
+
const raw = localStorage.getItem(storageKey());
|
|
44
|
+
return raw === "light" || raw === "dark" || raw === "system" ? raw : "system";
|
|
45
|
+
} catch {
|
|
46
|
+
return "system";
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var resolve = (choice) => choice === "system" ? osPrefersDark() ? "dark" : "light" : choice;
|
|
50
|
+
function createThemePrefs() {
|
|
51
|
+
let choice = "system";
|
|
52
|
+
let resolved = "light";
|
|
53
|
+
let listeningMq = null;
|
|
54
|
+
const apply = () => {
|
|
55
|
+
if (typeof document !== "undefined") document.documentElement.dataset.theme = resolved;
|
|
56
|
+
};
|
|
57
|
+
const persist = () => {
|
|
58
|
+
if (typeof localStorage === "undefined") return;
|
|
59
|
+
try {
|
|
60
|
+
localStorage.setItem(storageKey(), choice);
|
|
61
|
+
} catch {}
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
get choice() {
|
|
65
|
+
return choice;
|
|
66
|
+
},
|
|
67
|
+
get resolved() {
|
|
68
|
+
return resolved;
|
|
69
|
+
},
|
|
70
|
+
/** Mount-time adoption: the pre-paint script (D3) already resolved and
|
|
71
|
+
* set the attribute before the bundle ran — we ADOPT it (flash-free),
|
|
72
|
+
* re-deriving the choice from storage. We only paint ourselves when
|
|
73
|
+
* the attribute was somehow missing. */
|
|
74
|
+
adopt() {
|
|
75
|
+
choice = readStoredChoice();
|
|
76
|
+
const attr = typeof document !== "undefined" ? document.documentElement.dataset.theme : void 0;
|
|
77
|
+
if (attr === "dark" || attr === "light") resolved = attr;
|
|
78
|
+
else {
|
|
79
|
+
resolved = resolve(choice);
|
|
80
|
+
apply();
|
|
81
|
+
}
|
|
82
|
+
this.listen();
|
|
83
|
+
},
|
|
84
|
+
/** The operator picked a state. Persist the CHOICE (never the resolved
|
|
85
|
+
* value — system must keep following the OS), then paint. */
|
|
86
|
+
set(next) {
|
|
87
|
+
choice = next;
|
|
88
|
+
resolved = resolve(next);
|
|
89
|
+
persist();
|
|
90
|
+
apply();
|
|
91
|
+
},
|
|
92
|
+
/** Live OS following, only while the choice is system (D2). */
|
|
93
|
+
listen() {
|
|
94
|
+
if (typeof window === "undefined" || !window.matchMedia) return;
|
|
95
|
+
const mq = window.matchMedia("(prefers-color-scheme: dark)");
|
|
96
|
+
if (listeningMq === mq) return;
|
|
97
|
+
listeningMq = mq;
|
|
98
|
+
mq.addEventListener("change", (e) => {
|
|
99
|
+
if (choice !== "system") return;
|
|
100
|
+
resolved = e.matches ? "dark" : "light";
|
|
101
|
+
apply();
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
var themePrefs = createThemePrefs();
|
|
107
|
+
|
|
108
|
+
export { dsiKey as d, sanitizeWorkspaceProfile as s, themePrefs as t };
|
|
109
|
+
//# sourceMappingURL=theme-prefs.svelte.js-8CaWz46g.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as readA2aConfig } from './insight-config.js-
|
|
2
|
-
import { i as insertWaiting, o as openA2aDb, s as settleRow, p as pruneTerminalBefore, l as listWaiting } from './db.js-
|
|
3
|
-
import { g as getDshConnection } from './dsh-connection.js-
|
|
4
|
-
import { a as entryForEvent, h as historyToEvents } from './dsh-events.js-
|
|
1
|
+
import { c as readA2aConfig } from './insight-config.js-CA-iT3lB.js';
|
|
2
|
+
import { i as insertWaiting, o as openA2aDb, s as settleRow, p as pruneTerminalBefore, l as listWaiting } from './db.js-DRhjT6xK.js';
|
|
3
|
+
import { g as getDshConnection } from './dsh-connection.js-DRtqPR_j.js';
|
|
4
|
+
import { a as entryForEvent, h as historyToEvents } from './dsh-events.js-B_E1BU9F.js';
|
|
5
5
|
|
|
6
6
|
//#region src/lib/server/a2a/matcher.ts
|
|
7
7
|
/**
|
|
@@ -470,4 +470,4 @@ function registerWatch(row) {
|
|
|
470
470
|
}
|
|
471
471
|
|
|
472
472
|
export { configureWatcher as c, ensureStarted as e, registerWatch as r };
|
|
473
|
-
//# sourceMappingURL=watcher.js-
|
|
473
|
+
//# sourceMappingURL=watcher.js-CoR53lwR.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as getRow } from '../../../../../chunks/db.js-
|
|
1
|
+
import { g as getRow } from '../../../../../chunks/db.js-DRhjT6xK.js';
|
|
2
2
|
import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
|
|
3
|
-
import '../../../../../chunks/insight-config.js-
|
|
3
|
+
import '../../../../../chunks/insight-config.js-CA-iT3lB.js';
|
|
4
4
|
import '../../../../../chunks/config.js-B0w1-uCA.js';
|
|
5
5
|
import '../../../../../chunks/settings-document.js-BRTO59Al.js';
|
|
6
6
|
import 'node:fs';
|
|
@@ -36,4 +36,4 @@ var GET = ({ params }) => {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export { GET };
|
|
39
|
-
//# sourceMappingURL=_server.ts.js-
|
|
39
|
+
//# sourceMappingURL=_server.ts.js-CpeC2QLb.js.map
|