@deepseek-insight/dsi 0.8.3 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/.agents/skills/dsi-gb-verifier/SKILL.md +143 -0
  2. package/build/client/_app/immutable/assets/0.C6AGVUc8.css +2 -0
  3. package/build/client/_app/immutable/assets/{2.BPprd30B.css → 2.gXzZuuwh.css} +1 -1
  4. package/build/client/_app/immutable/chunks/BFOY8uwF.js +1 -0
  5. package/build/client/_app/immutable/chunks/CrTRqozz.js +1 -0
  6. package/build/client/_app/immutable/chunks/DxGYLnDH.js +1 -0
  7. package/build/client/_app/immutable/chunks/HD-mJtOS.js +6 -0
  8. package/build/client/_app/immutable/chunks/{BoHeiMOU.js → b4-Ro8NH.js} +1 -1
  9. package/build/client/_app/immutable/chunks/hC0DBYN6.js +2 -0
  10. package/build/client/_app/immutable/entry/{app.S_mxIoOg.js → app.DHewwbUQ.js} +2 -2
  11. package/build/client/_app/immutable/entry/start.C0PcwkeZ.js +1 -0
  12. package/build/client/_app/immutable/nodes/{0.6dTmg1Xv.js → 0.CP10wY64.js} +1 -1
  13. package/build/client/_app/immutable/nodes/{1.D20V6eTe.js → 1.qWvE0DiU.js} +1 -1
  14. package/build/client/_app/immutable/nodes/{2.BHcBdFqH.js → 2.Nw7iFtoh.js} +224 -223
  15. package/build/client/_app/version.json +1 -1
  16. package/build/handler.js +4 -4
  17. package/build/index.js +4 -4
  18. package/build/server/chunks/chunks/{app-config.svelte.js-BM4WbMFB.js → app-config.svelte.js-DCc9d7A4.js} +6 -2
  19. package/build/server/chunks/chunks/{config.js-vThvQeMn.js → config.js-s6iKwHD7.js} +3 -2
  20. package/build/server/chunks/chunks/{db.js-DQm6CZ_r.js → db.js-CxxWK5sn.js} +2 -2
  21. package/build/server/chunks/chunks/{db2.js-DUhFxA3a.js → db2.js-DwJ9lySe.js} +2 -2
  22. package/build/server/chunks/chunks/{dsh-connection.js-BgeraFA2.js → dsh-connection.js-Chtudg1p.js} +3 -3
  23. package/build/server/chunks/chunks/{dsh-events.js-BUkLR6ZV.js → dsh-events.js-BUdvZQmd.js} +6 -3
  24. package/build/server/chunks/chunks/{git-probe.js-CLF37SRh.js → git-probe.js-BX9FPnet.js} +3 -3
  25. package/build/server/chunks/chunks/{insight-config.js-Dp_2gB5J.js → insight-config.js-Db5fe5Df.js} +9 -5
  26. package/build/server/chunks/chunks/{internal2.js-Ba5p8uFM.js → internal2.js-CaZaz-a9.js} +3 -3
  27. package/build/server/chunks/chunks/ledger-stats.js-BWACyDPg.js +72 -0
  28. package/build/server/chunks/chunks/{registry.js-C2MdrfNv.js → registry.js-syaTZ_-A.js} +403 -34
  29. package/build/server/chunks/chunks/{settings-document.js-Gw1puaik.js → settings-document.js-BHESJ7im.js} +2 -2
  30. package/build/server/chunks/chunks/{state.js-BSiAgink.js → state.js-oYjf745s.js} +3 -3
  31. package/build/server/chunks/chunks/{watcher.js-BVKnoQUw.js → watcher.js-Ci9jsM5l.js} +5 -5
  32. package/build/server/chunks/entries/endpoints/api/a2a/_id_/{_server.ts.js-BjzdVwdY.js → _server.ts.js-CHaYhzjy.js} +5 -5
  33. package/build/server/chunks/entries/endpoints/api/a2a/{_server.ts.js-3kQCQuHT.js → _server.ts.js-CdyqA85c.js} +8 -8
  34. package/build/server/chunks/entries/endpoints/api/a2a/register/{_server.ts.js-BUBTCLFn.js → _server.ts.js-DO_FS5b4.js} +8 -8
  35. package/build/server/chunks/entries/endpoints/api/browser/_id_/activate/{_server.ts.js-CogDOHKu.js → _server.ts.js-D7Be4JUf.js} +5 -5
  36. package/build/server/chunks/entries/endpoints/api/browser/_id_/close/{_server.ts.js-xOt7LnS1.js → _server.ts.js-CGkm2H-U.js} +5 -5
  37. package/build/server/chunks/entries/endpoints/api/browser/_id_/closetab/{_server.ts.js-CSmVPvSM.js → _server.ts.js-D7SLUfOo.js} +5 -5
  38. package/build/server/chunks/entries/endpoints/api/browser/_id_/element/{_server.ts.js-BA40oCDW.js → _server.ts.js-C3d_JV-q.js} +5 -5
  39. package/build/server/chunks/entries/endpoints/api/browser/_id_/input/{_server.ts.js-EX7eVzjp.js → _server.ts.js-DW0hyVML.js} +5 -5
  40. package/build/server/chunks/entries/endpoints/api/browser/_id_/mcp/{_server.ts.js-B_EcmyFt.js → _server.ts.js-Ev-hdBlf.js} +5 -5
  41. package/build/server/chunks/entries/endpoints/api/browser/_id_/navigate/{_server.ts.js-C3dYbyS3.js → _server.ts.js-DZ8-wocV.js} +5 -5
  42. package/build/server/chunks/entries/endpoints/api/browser/_id_/opentab/{_server.ts.js-CMhJJO25.js → _server.ts.js-aapPrIQK.js} +11 -9
  43. package/build/server/chunks/entries/endpoints/api/browser/_id_/page/{_server.ts.js-DIW4uI2S.js → _server.ts.js-DANA_hMd.js} +5 -5
  44. package/build/server/chunks/entries/endpoints/api/browser/_id_/stream/{_server.ts.js-CIPIlq5X.js → _server.ts.js-BqfseXFy.js} +26 -9
  45. package/build/server/chunks/entries/endpoints/api/browser/_id_/tabs/{_server.ts.js-CoEdOiml.js → _server.ts.js-DFFF9qe-.js} +5 -5
  46. package/build/server/chunks/entries/endpoints/api/browser/_id_/viewport/{_server.ts.js-CdELUoGT.js → _server.ts.js-ek6-D4Zm.js} +5 -5
  47. package/build/server/chunks/entries/endpoints/api/browser/{_server.ts.js-ea6HpNGh.js → _server.ts.js-CPjKy3ma.js} +5 -5
  48. package/build/server/chunks/entries/endpoints/api/config/{_server.ts.js-C8XDnDwe.js → _server.ts.js-CWE9NP6g.js} +12 -5
  49. package/build/server/chunks/entries/endpoints/api/dsh/directory/{_server.ts.js-BFmWshpv.js → _server.ts.js-D-raYQon.js} +5 -5
  50. package/build/server/chunks/entries/endpoints/api/dsh/jobs/{_server.ts.js-DATWy5mQ.js → _server.ts.js-CI4dEHFY.js} +5 -5
  51. package/build/server/chunks/entries/endpoints/api/dsh/jobs/follow/{_server.ts.js-CugOD1Zd.js → _server.ts.js-cnjoSLtY.js} +5 -5
  52. package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/{_server.ts.js-DCupM4da.js → _server.ts.js-0UUtapX5.js} +5 -5
  53. package/build/server/chunks/entries/endpoints/api/dsh/presets/{_server.ts.js-Bh1btvr9.js → _server.ts.js-MK5ezU8u.js} +5 -5
  54. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/attachment/{_server.ts.js-Cb8SBWVw.js → _server.ts.js-CEiMgzjC.js} +5 -5
  55. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/cancel/{_server.ts.js-WI9yH2iG.js → _server.ts.js-wGEl1fuF.js} +5 -5
  56. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/catalog/{_server.ts.js-bN9adUqz.js → _server.ts.js-Bz7u2BlD.js} +5 -5
  57. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/changes/{_server.ts.js-Bxlm966G.js → _server.ts.js-yue5aEjr.js} +5 -5
  58. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/command/{_server.ts.js-CM-raN_Q.js → _server.ts.js-BFSs5T2m.js} +5 -5
  59. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/{_server.ts.js-BzP30TXW.js → _server.ts.js-C2i85wQy.js} +7 -70
  60. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/fork/{_server.ts.js-DvNkrTaY.js → _server.ts.js-_toO4f4W.js} +5 -5
  61. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/goal/{_server.ts.js-DXbCrefw.js → _server.ts.js-BGJnDV85.js} +5 -5
  62. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/{_server.ts.js-B7YRQhuJ.js → _server.ts.js-CQCJg8U8.js} +6 -6
  63. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/models/{_server.ts.js-C_AEaLLJ.js → _server.ts.js-0ADvdE79.js} +5 -5
  64. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/path/{_server.ts.js-Dj-pF5ik.js → _server.ts.js-DyO4T1Ro.js} +4 -4
  65. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/permission/{_server.ts.js-BX9FWJ6g.js → _server.ts.js-CIY7oimw.js} +5 -5
  66. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/prompt/{_server.ts.js-CQ2Bmtu4.js → _server.ts.js-B-9faNHX.js} +5 -5
  67. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/rename/{_server.ts.js-Ha7xjnKW.js → _server.ts.js-E7-0zfiH.js} +5 -5
  68. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/respond/{_server.ts.js-BOg6llHk.js → _server.ts.js-CODtLQ3Q.js} +5 -5
  69. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/select-model/{_server.ts.js-DBqGALzZ.js → _server.ts.js-BiSxsU-j.js} +5 -5
  70. package/build/server/chunks/entries/endpoints/api/dsh/sessions/{_server.ts.js-CvA8WDDb.js → _server.ts.js-C0WJnv2b.js} +5 -5
  71. package/build/server/chunks/entries/endpoints/api/dsh/subagents/_server.ts.js-D5bc4xg4.js +72 -0
  72. package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/{_server.ts.js-BfjNH40j.js → _server.ts.js-23ycAyUg.js} +5 -5
  73. package/build/server/chunks/entries/endpoints/api/dsh/workspace-tree/{_server.ts.js-De_qumyr.js → _server.ts.js-B4w5Jh7f.js} +5 -5
  74. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/{_server.ts.js-tFpJJHCb.js → _server.ts.js-VQLxDbFE.js} +5 -5
  75. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/delete/{_server.ts.js-DVx5GGA_.js → _server.ts.js-vs5N5Cya.js} +5 -5
  76. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/rename/{_server.ts.js-DuKT-aZp.js → _server.ts.js-BOWhoBHV.js} +5 -5
  77. package/build/server/chunks/entries/endpoints/api/prompts/_id_/{_server.ts.js-DsWFidFY.js → _server.ts.js-aDEAGfJe.js} +5 -5
  78. package/build/server/chunks/entries/endpoints/api/prompts/{_server.ts.js-C6j0adQs.js → _server.ts.js-BZ-nRrTp.js} +5 -5
  79. package/build/server/chunks/entries/endpoints/api/prompts/use/{_server.ts.js-BChAg4hm.js → _server.ts.js-CkDY1PQ7.js} +5 -5
  80. package/build/server/chunks/entries/endpoints/api/settings/{_server.ts.js-BPSHqbZN.js → _server.ts.js-CHvgF47Y.js} +4 -4
  81. package/build/server/chunks/entries/endpoints/api/terminal/{_server.ts.js-D5CbUe5k.js → _server.ts.js-CbRT4vBo.js} +4 -4
  82. package/build/server/chunks/entries/endpoints/api/workspace/file-write/{_server.ts.js-B-5YihUA.js → _server.ts.js-BwD0KaXy.js} +7 -7
  83. package/build/server/chunks/entries/endpoints/api/workspace/git-events/{_server.ts.js-DT5jRZFE.js → _server.ts.js-DgbMRh3d.js} +7 -7
  84. package/build/server/chunks/entries/endpoints/api/workspace/git-file-head/{_server.ts.js-DtW-utrd.js → _server.ts.js-DRqZawic.js} +7 -7
  85. package/build/server/chunks/entries/endpoints/api/workspace/git-map/{_server.ts.js-8AIAo9jX.js → _server.ts.js-CTXwwwB1.js} +7 -7
  86. package/build/server/chunks/entries/endpoints/api/workspace/git-status/{_server.ts.js-CMw96vjY.js → _server.ts.js-B4aJBY2w.js} +7 -7
  87. package/build/server/chunks/entries/endpoints/api/workspace/write-gate/{_server.ts.js-DKufa14_.js → _server.ts.js-CDJJA18L.js} +7 -7
  88. package/build/server/chunks/entries/{hooks.server.js-B-e4_ekh.js → hooks.server.js-Iel6oE7w.js} +3 -3
  89. package/build/server/chunks/entries/pages/{_error.svelte.js-D8-G0evO.js → _error.svelte.js-B-wdFjVG.js} +4 -4
  90. package/build/server/chunks/entries/pages/{_page.server.ts.js-7x6ZfGoB.js → _page.server.ts.js-CaoeQzem.js} +3 -3
  91. package/build/server/chunks/entries/pages/{_page.svelte.js-7xWLRsiZ.js → _page.svelte.js-CY7zcWr4.js} +1713 -1077
  92. package/build/server/chunks/{handler-BedQ0jP-.js → handler-DYk4NJto.js} +3 -3
  93. package/build/server/chunks/{index.js-BF6tPPQs.js → index.js-kL9MZ99b.js} +2 -2
  94. package/build/server/chunks/{manifest.js-3c0p7QAl.js → manifest.js-BrMLQqec.js} +67 -60
  95. package/build/server/chunks/nodes/{0.js-B3i7sGR_.js → 0.js-BembYTTr.js} +3 -3
  96. package/build/server/chunks/nodes/1.js-CKJjyWGZ.js +9 -0
  97. package/build/server/chunks/nodes/{2.js-CgnRGwm6.js → 2.js-BezA2RPm.js} +10 -10
  98. package/package.json +1 -1
  99. package/skills/{dsi-kb-scenario → dsi-fc-scenario}/SKILL.md +11 -6
  100. package/template/.dsi/prompts.sqlite-shm +0 -0
  101. package/template/.dsi/prompts.sqlite-wal +0 -0
  102. package/template/.dsi/settings.yaml +2 -2
  103. package/build/client/_app/immutable/assets/0.DyOAkKS-.css +0 -2
  104. package/build/client/_app/immutable/chunks/C9QAOGL1.js +0 -2
  105. package/build/client/_app/immutable/chunks/D-Rolhzs.js +0 -1
  106. package/build/client/_app/immutable/chunks/NcOjFWr3.js +0 -6
  107. package/build/client/_app/immutable/chunks/QJuSx3RG.js +0 -1
  108. package/build/client/_app/immutable/chunks/sC_8Ss7w.js +0 -1
  109. package/build/client/_app/immutable/entry/start.BPQAB3iV.js +0 -1
  110. package/build/server/chunks/nodes/1.js-eUf50uxI.js +0 -9
@@ -1 +1 @@
1
- {"version":"1792901739906"}
1
+ {"version":"1793120089007"}
package/build/handler.js CHANGED
@@ -2,9 +2,9 @@ import './shims.js';
2
2
  import 'node:fs';
3
3
  import 'node:path';
4
4
  import 'node:process';
5
- export { h as handler } from './server/chunks/handler-BedQ0jP-.js';
6
- import './server/chunks/index.js-BF6tPPQs.js';
7
- import './server/chunks/manifest.js-3c0p7QAl.js';
5
+ export { h as handler } from './server/chunks/handler-DYk4NJto.js';
6
+ import './server/chunks/index.js-kL9MZ99b.js';
7
+ import './server/chunks/manifest.js-BrMLQqec.js';
8
8
  import './env.js';
9
9
  import 'node:buffer';
10
10
  import 'node:crypto';
@@ -19,6 +19,6 @@ import 'node:url';
19
19
  import './server/chunks/chunks/index-server.js-DmIEbDVz.js';
20
20
  import './server/chunks/chunks/server.js-B1bDXhHu.js';
21
21
  import './server/chunks/chunks/internal.js-BcS47nI-.js';
22
- import './server/chunks/chunks/internal2.js-Ba5p8uFM.js';
22
+ import './server/chunks/chunks/internal2.js-CaZaz-a9.js';
23
23
  import './server/chunks/chunks/exports.js-DH_tjtdv.js';
24
24
  //# sourceMappingURL=handler.js.map
package/build/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import fs__default from 'node:fs';
3
3
  import process from 'node:process';
4
- import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-BedQ0jP-.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-DYk4NJto.js';
5
5
  import { env, timeout_env } from './env.js';
6
6
  import { rm } from 'node:fs/promises';
7
7
  import './shims.js';
@@ -14,13 +14,13 @@ import 'node:stream';
14
14
  import './server/chunks/chunks/shared.js-HQ0rfhm4.js';
15
15
  import './server/chunks/chunks/uneval.js-BJ9Qq2SF.js';
16
16
  import './server/chunks/chunks/utils.js-CAdNO8Tu.js';
17
- import './server/chunks/index.js-BF6tPPQs.js';
17
+ import './server/chunks/index.js-kL9MZ99b.js';
18
18
  import './server/chunks/chunks/index-server.js-DmIEbDVz.js';
19
19
  import './server/chunks/chunks/server.js-B1bDXhHu.js';
20
20
  import './server/chunks/chunks/internal.js-BcS47nI-.js';
21
- import './server/chunks/chunks/internal2.js-Ba5p8uFM.js';
21
+ import './server/chunks/chunks/internal2.js-CaZaz-a9.js';
22
22
  import './server/chunks/chunks/exports.js-DH_tjtdv.js';
23
- import './server/chunks/manifest.js-3c0p7QAl.js';
23
+ import './server/chunks/manifest.js-BrMLQqec.js';
24
24
  import 'node:url';
25
25
 
26
26
  const path = env('SOCKET_PATH', false);
@@ -1,4 +1,4 @@
1
- import { D as DEFAULT_PROMPT_TAGS, a as DEFAULT_SIDEBAR_PLACEMENT, b as DEFAULT_PANEL_MAX_ZOOM, c as DEFAULT_PANEL_MIN_ZOOM, d as DEFAULT_A2A_WATCH_TIMEOUT_MS, e as DEFAULT_A2A_FAST_POLL_MS, f as DEFAULT_HOME_REFRESH_MS, g as DEFAULT_HEARTBEAT_TYPE, h as DEFAULT_STATS_BAR_MODE, j as DEFAULT_POLL_IDLE_MS, k as DEFAULT_ACCESS_CONFIRM_TIMEOUT_MS } from './config.js-vThvQeMn.js';
1
+ import { D as DEFAULT_PROMPT_TAGS, a as DEFAULT_SIDEBAR_PLACEMENT, b as DEFAULT_PANEL_MAX_ZOOM, c as DEFAULT_PANEL_MIN_ZOOM, d as DEFAULT_A2A_WATCH_TIMEOUT_MS, e as DEFAULT_A2A_FAST_POLL_MS, f as DEFAULT_BROWSER_MAX_WIDTH, g as DEFAULT_HOME_REFRESH_MS, h as DEFAULT_HEARTBEAT_TYPE, j as DEFAULT_STATS_BAR_MODE, k as DEFAULT_POLL_IDLE_MS, l as DEFAULT_ACCESS_CONFIRM_TIMEOUT_MS } from './config.js-s6iKwHD7.js';
2
2
 
3
3
  //#region src/lib/services/chat/prompt-trigger.ts
4
4
  /** Which mode a trigger query is in — the char after nothing: the FIRST
@@ -292,6 +292,10 @@ function freshDefault() {
292
292
  heartbeatType: DEFAULT_HEARTBEAT_TYPE
293
293
  },
294
294
  home: { refreshMs: DEFAULT_HOME_REFRESH_MS },
295
+ browserWidths: {
296
+ defaultWidth: 860,
297
+ maxWidth: DEFAULT_BROWSER_MAX_WIDTH
298
+ },
295
299
  a2a: {
296
300
  fastPollMs: DEFAULT_A2A_FAST_POLL_MS,
297
301
  watchTimeoutMs: DEFAULT_A2A_WATCH_TIMEOUT_MS,
@@ -331,4 +335,4 @@ function appConfig() {
331
335
  }
332
336
 
333
337
  export { appConfig as a, parseTagWords as b, searchKey as c, textPreviewOf as d, getTrigger as g, isValidTagWord as i, previewSegments as p, shouldRecordPrompt as s, triggerMode as t };
334
- //# sourceMappingURL=app-config.svelte.js-BM4WbMFB.js.map
338
+ //# sourceMappingURL=app-config.svelte.js-DCc9d7A4.js.map
@@ -83,6 +83,7 @@ var DEFAULT_PROMPT_TAGS = [
83
83
  "rca",
84
84
  "kb"
85
85
  ];
86
+ var DEFAULT_BROWSER_MAX_WIDTH = 1024;
86
87
  var DEFAULT_PANEL_MIN_ZOOM = .25;
87
88
  var DEFAULT_PANEL_MAX_ZOOM = 1.25;
88
89
  /** `sidebar.placement` default — the out-of-zoom rail (by-design layout). */
@@ -158,5 +159,5 @@ var DEFAULT_TERMINAL_GRACE_MS = 3e3;
158
159
  /** Output-silence bound a send-wait may settle on as inferred_idle. */
159
160
  var DEFAULT_TERMINAL_IDLE_MS = 1200;
160
161
 
161
- export { DEFAULT_PROMPT_TAGS as D, UI_LOCALES as U, DEFAULT_SIDEBAR_PLACEMENT as a, DEFAULT_PANEL_MAX_ZOOM as b, DEFAULT_PANEL_MIN_ZOOM as c, DEFAULT_A2A_WATCH_TIMEOUT_MS as d, DEFAULT_A2A_FAST_POLL_MS as e, DEFAULT_HOME_REFRESH_MS as f, DEFAULT_HEARTBEAT_TYPE as g, DEFAULT_STATS_BAR_MODE as h, isConfigRecord as i, DEFAULT_POLL_IDLE_MS as j, DEFAULT_ACCESS_CONFIRM_TIMEOUT_MS as k, resolveSidebarPlacement as l, resolveWidthBounds as m, resolveZoomBounds as n, intWithin as o, resolveConversationFlags as p, resolveStatsBarMode as q, resolveA2aConfig as r, DEFAULT_TERMINAL_IDLE_MS as s, DEFAULT_TERMINAL_GRACE_MS as t, DEFAULT_TERMINAL_SPILL_BYTES as u, DEFAULT_TERMINAL_TAIL_BYTES as v, dshBaseUrl as w };
162
- //# sourceMappingURL=config.js-vThvQeMn.js.map
162
+ export { DEFAULT_PROMPT_TAGS as D, UI_LOCALES as U, DEFAULT_SIDEBAR_PLACEMENT as a, DEFAULT_PANEL_MAX_ZOOM as b, DEFAULT_PANEL_MIN_ZOOM as c, DEFAULT_A2A_WATCH_TIMEOUT_MS as d, DEFAULT_A2A_FAST_POLL_MS as e, DEFAULT_BROWSER_MAX_WIDTH as f, DEFAULT_HOME_REFRESH_MS as g, DEFAULT_HEARTBEAT_TYPE as h, isConfigRecord as i, DEFAULT_STATS_BAR_MODE as j, DEFAULT_POLL_IDLE_MS as k, DEFAULT_ACCESS_CONFIRM_TIMEOUT_MS as l, intWithin as m, resolveSidebarPlacement as n, resolveWidthBounds as o, resolveZoomBounds as p, resolveConversationFlags as q, resolveA2aConfig as r, resolveStatsBarMode as s, DEFAULT_TERMINAL_IDLE_MS as t, DEFAULT_TERMINAL_GRACE_MS as u, DEFAULT_TERMINAL_SPILL_BYTES as v, DEFAULT_TERMINAL_TAIL_BYTES as w, dshBaseUrl as x };
163
+ //# sourceMappingURL=config.js-s6iKwHD7.js.map
@@ -1,4 +1,4 @@
1
- import { D as DSI_CONFIG_PATH } from './insight-config.js-Dp_2gB5J.js';
1
+ import { D as DSI_CONFIG_PATH } from './insight-config.js-Db5fe5Df.js';
2
2
  import { mkdirSync } from 'node:fs';
3
3
  import { dirname, join } from 'node:path';
4
4
  import { DatabaseSync } from 'node:sqlite';
@@ -117,4 +117,4 @@ function pruneTerminalBefore(cutoffMs, db = openA2aDb()) {
117
117
  }
118
118
 
119
119
  export { listRecent as a, getRow as g, insertWaiting as i, listWaiting as l, openA2aDb as o, pruneTerminalBefore as p, settleRow as s };
120
- //# sourceMappingURL=db.js-DQm6CZ_r.js.map
120
+ //# sourceMappingURL=db.js-CxxWK5sn.js.map
@@ -1,4 +1,4 @@
1
- import { e as readPromptsConfig, D as DSI_CONFIG_PATH, j as joinTagWords, p as parseTagWords } from './insight-config.js-Dp_2gB5J.js';
1
+ import { e as readPromptsConfig, D as DSI_CONFIG_PATH, j as joinTagWords, p as parseTagWords } from './insight-config.js-Db5fe5Df.js';
2
2
  import { mkdirSync } from 'node:fs';
3
3
  import { join, dirname } from 'node:path';
4
4
  import { DatabaseSync } from 'node:sqlite';
@@ -762,4 +762,4 @@ function updatePrompt(id, fields) {
762
762
  }
763
763
 
764
764
  export { countPromptUse as a, renamePromptLabel as b, createPrompt as c, deletePrompt as d, listPrompts as l, resolvePromptsDbPath as r, searchPrompts as s, updatePrompt as u };
765
- //# sourceMappingURL=db2.js-DUhFxA3a.js.map
765
+ //# sourceMappingURL=db2.js-DwJ9lySe.js.map
@@ -1,5 +1,5 @@
1
- import { r as readDshAuthConfig, a as readServerConfig, b as readDshPresetEnglishConfig } from './insight-config.js-Dp_2gB5J.js';
2
- import { w as dshBaseUrl } from './config.js-vThvQeMn.js';
1
+ import { r as readDshAuthConfig, a as readServerConfig, b as readDshPresetEnglishConfig } from './insight-config.js-Db5fe5Df.js';
2
+ import { x as dshBaseUrl } from './config.js-s6iKwHD7.js';
3
3
 
4
4
  //#region src/lib/server/dsh-rpc.ts
5
5
  /**
@@ -2628,4 +2628,4 @@ var DshConnection = class {
2628
2628
  };
2629
2629
 
2630
2630
  export { DshRpcError as D, isPromptImageMediaType as a, buildPromptContent as b, getDshConnection as g, isSubagentRejection as i, mapRpcFailure as m, statusFor as s };
2631
- //# sourceMappingURL=dsh-connection.js-BgeraFA2.js.map
2631
+ //# sourceMappingURL=dsh-connection.js-Chtudg1p.js.map
@@ -483,7 +483,10 @@ function entryForEvent(event) {
483
483
  const message = data?.message;
484
484
  const callId = readStr(message?.source?.callId) ?? `seq:${event.seq}`;
485
485
  const resultPart = firstOfType(message?.content, "tool-result");
486
- const resultText = textOfContent(resultPart?.content) || void 0;
486
+ const blockIsError = resultPart?.isError === true;
487
+ const messageIsError = message?.isError === true;
488
+ const dataHasError = data?.error !== void 0;
489
+ const resultText = (resultPart ? textOfContent(resultPart.content) : "") || (!resultPart ? textOfContent(message?.content) : "") || void 0;
487
490
  return {
488
491
  kind: "tool-result",
489
492
  id: `tr:${callId}`,
@@ -491,7 +494,7 @@ function entryForEvent(event) {
491
494
  time: event.time,
492
495
  callId,
493
496
  toolName: "",
494
- ok: !resultPart || resultPart.isError !== true,
497
+ ok: !(blockIsError || messageIsError || dataHasError),
495
498
  summary: resultText,
496
499
  resultText,
497
500
  ...readViewFrom(event.view) !== void 0 ? { readView: readViewFrom(event.view) } : {}
@@ -550,4 +553,4 @@ function historyToEvents(history) {
550
553
  }
551
554
 
552
555
  export { entryForEvent as a, eventsToEntries as e, historyToEvents as h };
553
- //# sourceMappingURL=dsh-events.js-BUkLR6ZV.js.map
556
+ //# sourceMappingURL=dsh-events.js-BUdvZQmd.js.map
@@ -1,5 +1,5 @@
1
- import { g as getDshConnection } from './dsh-connection.js-BgeraFA2.js';
2
- import { h as historyToEvents } from './dsh-events.js-BUkLR6ZV.js';
1
+ import { g as getDshConnection } from './dsh-connection.js-Chtudg1p.js';
2
+ import { h as historyToEvents } from './dsh-events.js-BUdvZQmd.js';
3
3
  import { a as foldKnobs, f as filterKnobEvents, F as FULL_ACCESS_PRESET } from './permission-state.js-B7UpAHBv.js';
4
4
  import { promises } from 'node:fs';
5
5
  import * as nodePath from 'node:path';
@@ -216,4 +216,4 @@ async function gitStatus(repo) {
216
216
  }
217
217
 
218
218
  export { GitUnavailableError as G, gitStatus as a, gitFileHead as b, detectRepos as d, gitGateEnabled as g, isInsideRoot as i, parsePorcelainStatus as p, resolveEnclosingRepo as r };
219
- //# sourceMappingURL=git-probe.js-CLF37SRh.js.map
219
+ //# sourceMappingURL=git-probe.js-BX9FPnet.js.map
@@ -1,5 +1,5 @@
1
- import { r as resolveA2aConfig, i as isConfigRecord, D as DEFAULT_PROMPT_TAGS, l as resolveSidebarPlacement, m as resolveWidthBounds, n as resolveZoomBounds, o as intWithin, p as resolveConversationFlags, q as resolveStatsBarMode, a as DEFAULT_SIDEBAR_PLACEMENT, b as DEFAULT_PANEL_MAX_ZOOM, c as DEFAULT_PANEL_MIN_ZOOM, d as DEFAULT_A2A_WATCH_TIMEOUT_MS, e as DEFAULT_A2A_FAST_POLL_MS, f as DEFAULT_HOME_REFRESH_MS, g as DEFAULT_HEARTBEAT_TYPE, h as DEFAULT_STATS_BAR_MODE, j as DEFAULT_POLL_IDLE_MS, k as DEFAULT_ACCESS_CONFIRM_TIMEOUT_MS, s as DEFAULT_TERMINAL_IDLE_MS, t as DEFAULT_TERMINAL_GRACE_MS, u as DEFAULT_TERMINAL_SPILL_BYTES, v as DEFAULT_TERMINAL_TAIL_BYTES } from './config.js-vThvQeMn.js';
2
- import { e as ensureDsiHome, m as migrateLegacyDsiConfig, p as parseYamlSettings } from './settings-document.js-Gw1puaik.js';
1
+ import { r as resolveA2aConfig, i as isConfigRecord, D as DEFAULT_PROMPT_TAGS, m as intWithin, n as resolveSidebarPlacement, o as resolveWidthBounds, p as resolveZoomBounds, q as resolveConversationFlags, s as resolveStatsBarMode, a as DEFAULT_SIDEBAR_PLACEMENT, b as DEFAULT_PANEL_MAX_ZOOM, c as DEFAULT_PANEL_MIN_ZOOM, d as DEFAULT_A2A_WATCH_TIMEOUT_MS, e as DEFAULT_A2A_FAST_POLL_MS, g as DEFAULT_HOME_REFRESH_MS, h as DEFAULT_HEARTBEAT_TYPE, j as DEFAULT_STATS_BAR_MODE, k as DEFAULT_POLL_IDLE_MS, l as DEFAULT_ACCESS_CONFIRM_TIMEOUT_MS, t as DEFAULT_TERMINAL_IDLE_MS, u as DEFAULT_TERMINAL_GRACE_MS, v as DEFAULT_TERMINAL_SPILL_BYTES, w as DEFAULT_TERMINAL_TAIL_BYTES } from './config.js-s6iKwHD7.js';
2
+ import { e as ensureDsiHome, m as migrateLegacyDsiConfig, p as parseYamlSettings } from './settings-document.js-BHESJ7im.js';
3
3
  import { s as settingsHomeDir } from './settings-home2.js-f75-B6RI.js';
4
4
  import { readFileSync } from 'node:fs';
5
5
  import { dirname, join } from 'node:path';
@@ -316,7 +316,9 @@ var DEFAULT_BROWSER_CONFIG = {
316
316
  maxSessions: 4,
317
317
  idleMs: 6e5,
318
318
  screencastQuality: 90,
319
- screencastMaxFps: 15
319
+ screencastMaxFps: 15,
320
+ defaultWidth: 860,
321
+ maxWidth: 1024
320
322
  };
321
323
  function strOr(v, fallback) {
322
324
  return typeof v === "string" && v.length > 0 ? v : fallback;
@@ -335,9 +337,11 @@ function readBrowserConfig(configPath) {
335
337
  maxSessions: intWithin(section.maxSessions, 1, 32, DEFAULT_BROWSER_CONFIG.maxSessions),
336
338
  idleMs: intWithin(section.idleMs, 1e4, 864e5, DEFAULT_BROWSER_CONFIG.idleMs),
337
339
  screencastQuality: intWithin(section.screencastQuality, 10, 100, DEFAULT_BROWSER_CONFIG.screencastQuality),
338
- screencastMaxFps: intWithin(section.screencastMaxFps, 1, 60, DEFAULT_BROWSER_CONFIG.screencastMaxFps)
340
+ screencastMaxFps: intWithin(section.screencastMaxFps, 1, 60, DEFAULT_BROWSER_CONFIG.screencastMaxFps),
341
+ defaultWidth: intWithin(section.defaultWidth, 200, 4e3, DEFAULT_BROWSER_CONFIG.defaultWidth),
342
+ maxWidth: intWithin(section.maxWidth, 200, 4e3, DEFAULT_BROWSER_CONFIG.maxWidth)
339
343
  };
340
344
  }
341
345
 
342
346
  export { readTerminalConfig as A, DSI_CONFIG_PATH as D, readServerConfig as a, readDshPresetEnglishConfig as b, readA2aConfig as c, readBrowserConfig as d, readPromptsConfig as e, readSettingsHomes as f, readJobsConfig as g, readSidebarConfig as h, readPanelConfig as i, joinTagWords as j, readHomeConfig as k, readConversationConfig as l, readChatConfig as m, readDshSessionsRootConfig as n, isValidTagWord as o, parseTagWords as p, DEFAULT_DSH_PRESET_ENGLISH as q, readDshAuthConfig as r, DEFAULT_SERVER_CONFIG as s, DEFAULT_PROMPTS_CONFIG as t, DEFAULT_SIDEBAR_CONFIG as u, DEFAULT_PANEL_CONFIG as v, DEFAULT_A2A_CONFIG as w, DEFAULT_HOME_CONFIG as x, DEFAULT_CONVERSATION_CONFIG as y, DEFAULT_CHAT_CONFIG as z };
343
- //# sourceMappingURL=insight-config.js-Dp_2gB5J.js.map
347
+ //# sourceMappingURL=insight-config.js-Db5fe5Df.js.map
@@ -580,7 +580,7 @@ var options = {
580
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",
581
581
  error: error_template_default
582
582
  },
583
- version_hash: "1k3urn6"
583
+ version_hash: "dssz5o"
584
584
  };
585
585
  async function get_hooks() {
586
586
  let handle;
@@ -588,7 +588,7 @@ async function get_hooks() {
588
588
  let handleError;
589
589
  let handleValidationError;
590
590
  let init;
591
- ({handle, handleFetch, handleError, handleValidationError, init} = await import('../entries/hooks.server.js-B-e4_ekh.js'));
591
+ ({handle, handleFetch, handleError, handleValidationError, init} = await import('../entries/hooks.server.js-Iel6oE7w.js'));
592
592
  let reroute;
593
593
  let transport;
594
594
  return {
@@ -603,4 +603,4 @@ async function get_hooks() {
603
603
  }
604
604
 
605
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-Ba5p8uFM.js.map
606
+ //# sourceMappingURL=internal2.js-CaZaz-a9.js.map
@@ -0,0 +1,72 @@
1
+ //#region src/lib/services/conversation/ledger-stats.ts
2
+ /** Non-negative finite number guard (projection values are JSON).
3
+ * Exported (Subagent Anchor ADR D2) so the /api/dsh/subagents join
4
+ * validates the same JSON projection values with the same guard —
5
+ * behavior byte-identical, one validator per house. */
6
+ function nn(v) {
7
+ return typeof v === "number" && Number.isFinite(v) && v >= 0 ? v : null;
8
+ }
9
+ /** Validate one projection record field-by-field; null on any miss.
10
+ * Exported (Subagent Anchor ADR D2) alongside `nn` for the subagents
11
+ * endpoint — the SAME validator, so the popup's numbers and the panel's
12
+ * stats bar can never disagree on what counts as present. */
13
+ function statsRecord(raw, fields) {
14
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) return null;
15
+ const o = raw;
16
+ const out = {};
17
+ for (const field of fields) {
18
+ const v = nn(o[field]);
19
+ if (v === null) return null;
20
+ out[field] = v;
21
+ }
22
+ return out;
23
+ }
24
+ var SESSION_STATS_FIELDS = [
25
+ "turns",
26
+ "steps",
27
+ "llmMs",
28
+ "toolMs",
29
+ "ttftMs",
30
+ "ttftSteps",
31
+ "decodeMs",
32
+ "decodeTokens"
33
+ ];
34
+ var TOKEN_USAGE_FIELDS = [
35
+ "uncachedInputTokens",
36
+ "cacheReadTokens",
37
+ "cacheWriteTokens",
38
+ "outputTokens"
39
+ ];
40
+ /**
41
+ * Validate the projections block's ledger-stats pair.
42
+ *
43
+ * @param sessionStats - projections.values.sessionStats (sessionStats wire view).
44
+ * @param tokenUsage - projections.values.tokenUsage (the flat
45
+ * TokenUsageProjection wire value — the persisted fold state's totals
46
+ * wrapper never rides the projection stream).
47
+ * @returns the merged ledger stats, or null when either projection is
48
+ * absent or malformed (the caller keeps the partial fold).
49
+ */
50
+ function ledgerStatsFromProjections(sessionStats, tokenUsage) {
51
+ const stats = statsRecord(sessionStats, SESSION_STATS_FIELDS);
52
+ if (stats === null) return null;
53
+ const totals = statsRecord(tokenUsage, TOKEN_USAGE_FIELDS);
54
+ if (totals === null) return null;
55
+ return {
56
+ turns: stats.turns,
57
+ steps: stats.steps,
58
+ llmMs: stats.llmMs,
59
+ toolMs: stats.toolMs,
60
+ ttftMs: stats.ttftMs,
61
+ ttftSteps: stats.ttftSteps,
62
+ decodeMs: stats.decodeMs,
63
+ decodeTokens: stats.decodeTokens,
64
+ uncachedInputTokens: totals.uncachedInputTokens,
65
+ cacheReadTokens: totals.cacheReadTokens,
66
+ cacheWriteTokens: totals.cacheWriteTokens,
67
+ outputTokens: totals.outputTokens
68
+ };
69
+ }
70
+
71
+ export { ledgerStatsFromProjections as l };
72
+ //# sourceMappingURL=ledger-stats.js-BWACyDPg.js.map