@deepseek-insight/dsi 0.5.7 → 0.5.9

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 (76) hide show
  1. package/bin/dsi.mjs +64 -12
  2. package/build/client/_app/immutable/assets/{2.YlW45hiM.css → 2.CybNpyHE.css} +1 -1
  3. package/build/client/_app/immutable/chunks/{BBKpNcUe.js → B38Unp4-.js} +1 -1
  4. package/build/client/_app/immutable/chunks/{BrTsmS-o.js → BD8HEhdy.js} +4 -4
  5. package/build/client/_app/immutable/chunks/COnL3E7k.js +1 -0
  6. package/build/client/_app/immutable/chunks/{CcL1k2On.js → Cy8ZCjxB.js} +1 -1
  7. package/build/client/_app/immutable/chunks/{D7fX-3xy.js → DI6I60fv.js} +1 -1
  8. package/build/client/_app/immutable/chunks/{DlQrSOw4.js → DlLP-Tuk.js} +1 -1
  9. package/build/client/_app/immutable/chunks/{DYqsupvX.js → Kcoq1pzq.js} +1 -1
  10. package/build/client/_app/immutable/chunks/{CNCc63cf.js → Y2GhLLeG.js} +1 -1
  11. package/build/client/_app/immutable/chunks/c6YVk1M6.js +2 -0
  12. package/build/client/_app/immutable/entry/{app.DdfkU4fy.js → app.BleekCCN.js} +2 -2
  13. package/build/client/_app/immutable/entry/start.BpFQKF_D.js +1 -0
  14. package/build/client/_app/immutable/nodes/{1.D7ywikn9.js → 1.CY-dc03C.js} +1 -1
  15. package/build/client/_app/immutable/nodes/{2.DxfAoh0r.js → 2.DbShW3bE.js} +29 -29
  16. package/build/client/_app/immutable/workers/settings-css-worker-DRH2OcAG.js +93 -0
  17. package/build/client/_app/immutable/workers/settings-html-worker-DQLddT9h.js +506 -0
  18. package/build/client/_app/immutable/workers/settings-json-worker-D_Dqrls5.js +62 -0
  19. package/build/client/_app/immutable/workers/settings-ts-worker-DkYoA6bF.js +67738 -0
  20. package/build/client/_app/version.json +1 -1
  21. package/build/handler.js +4 -4
  22. package/build/index.js +4 -4
  23. package/build/server/chunks/chunks/{db.js-DcmO3JAx.js → db.js-C4EPtpZT.js} +2 -2
  24. package/build/server/chunks/chunks/{db2.js-DBltVUGg.js → db2.js-BYr2lzQs.js} +50 -3
  25. package/build/server/chunks/chunks/{dsh-connection.js-DwihVtk_.js → dsh-connection.js-D52KwDXm.js} +3 -3
  26. package/build/server/chunks/chunks/{insight-config.js-CfMPTA6Z.js → insight-config.js-BAitz0O1.js} +15 -5
  27. package/build/server/chunks/chunks/{internal.js-B528fyJg.js → internal.js-kXJJJomG.js} +2 -2
  28. package/build/server/chunks/chunks/{state.js-BLMt6IZw.js → state.js-7BOeaoQB.js} +2 -2
  29. package/build/server/chunks/chunks/{watcher.js-BelxjMOP.js → watcher.js-CZl6B1Gm.js} +4 -4
  30. package/build/server/chunks/entries/endpoints/api/a2a/_id_/{_server.ts.js-B4HUNFZv.js → _server.ts.js-BiJNs-w9.js} +3 -3
  31. package/build/server/chunks/entries/endpoints/api/a2a/{_server.ts.js-JDV_oqbX.js → _server.ts.js-DpYiPNfK.js} +5 -5
  32. package/build/server/chunks/entries/endpoints/api/a2a/register/{_server.ts.js-Dxwc-7-5.js → _server.ts.js-hsrqtyai.js} +5 -5
  33. package/build/server/chunks/entries/endpoints/api/config/{_server.ts.js-D8i35bGH.js → _server.ts.js-C22-pOYW.js} +2 -2
  34. package/build/server/chunks/entries/endpoints/api/dsh/directory/{_server.ts.js-CeBU1G85.js → _server.ts.js-GB8GCnt9.js} +3 -3
  35. package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/{_server.ts.js-CyrVUxv3.js → _server.ts.js-1f1lp4p6.js} +3 -3
  36. package/build/server/chunks/entries/endpoints/api/dsh/presets/{_server.ts.js-qeO_1htT.js → _server.ts.js-bQ6fWiaE.js} +3 -3
  37. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/attachment/{_server.ts.js-DnHffohz.js → _server.ts.js-Dpn0vlL4.js} +3 -3
  38. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/cancel/{_server.ts.js-fm6MFyjP.js → _server.ts.js-BCKU6r0e.js} +3 -3
  39. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/catalog/{_server.ts.js-wJ9V_Ue7.js → _server.ts.js-B6CP7Ox-.js} +3 -3
  40. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/command/{_server.ts.js-o83L4GUY.js → _server.ts.js-CuIGYst7.js} +3 -3
  41. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/{_server.ts.js-DLCHSC1M.js → _server.ts.js-BJk9GfEb.js} +3 -3
  42. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/fork/{_server.ts.js-Ca6NU9HO.js → _server.ts.js-BRjJibko.js} +3 -3
  43. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/goal/{_server.ts.js-RteR85vn.js → _server.ts.js-Du0XmI7X.js} +3 -3
  44. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/{_server.ts.js-CEKDkK7v.js → _server.ts.js-BmxbonR_.js} +3 -3
  45. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/models/{_server.ts.js-D7ziyW3d.js → _server.ts.js-B03gh2aZ.js} +3 -3
  46. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/permission/{_server.ts.js-DbkD4JZb.js → _server.ts.js-BO9Iy5Ki.js} +3 -3
  47. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/prompt/{_server.ts.js-eOLNlf1-.js → _server.ts.js-qr2peU-n.js} +3 -3
  48. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/rename/{_server.ts.js-txQRocK9.js → _server.ts.js-D4PIEynR.js} +3 -3
  49. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/respond/{_server.ts.js-D3WGYzkE.js → _server.ts.js-CcBAtZWB.js} +3 -3
  50. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/select-model/{_server.ts.js-g2GtvLTs.js → _server.ts.js-CE1gTwwX.js} +3 -3
  51. package/build/server/chunks/entries/endpoints/api/dsh/sessions/{_server.ts.js-17yKojU_.js → _server.ts.js-GugaguYO.js} +3 -3
  52. package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/{_server.ts.js-D16pEhvd.js → _server.ts.js-D7ZCMRXo.js} +3 -3
  53. package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/save/{_server.ts.js-BXpZNLK8.js → _server.ts.js-CO9iOVa4.js} +3 -3
  54. package/build/server/chunks/entries/endpoints/api/dsh/workspace-file-bytes/{_server.ts.js-hBlyjq-x.js → _server.ts.js-BeLFfBNx.js} +3 -3
  55. package/build/server/chunks/entries/endpoints/api/dsh/workspace-tree/{_server.ts.js-KWRnsAkm.js → _server.ts.js-CUMrE1yT.js} +3 -3
  56. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/{_server.ts.js-DzNvvCxK.js → _server.ts.js-CPTg8pND.js} +3 -3
  57. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/delete/{_server.ts.js-MK5925CY.js → _server.ts.js-ikZ2NK35.js} +3 -3
  58. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/rename/{_server.ts.js-w3Mo0nf7.js → _server.ts.js-DO-sihfI.js} +3 -3
  59. package/build/server/chunks/entries/endpoints/api/prompts/_id_/{_server.ts.js-CInfjM-i.js → _server.ts.js-CtWIL8u1.js} +3 -3
  60. package/build/server/chunks/entries/endpoints/api/prompts/{_server.ts.js-C1lqP1OV.js → _server.ts.js-CCV5F65b.js} +3 -3
  61. package/build/server/chunks/entries/endpoints/api/prompts/use/{_server.ts.js-B36YMKMt.js → _server.ts.js-5zjPgL0k.js} +3 -3
  62. package/build/server/chunks/entries/endpoints/api/settings/{_server.ts.js-CHvHNzeB.js → _server.ts.js-DGy6xjPE.js} +2 -2
  63. package/build/server/chunks/entries/pages/{_error.svelte.js-zqZ-hO6l.js → _error.svelte.js-COiCqUkC.js} +3 -3
  64. package/build/server/chunks/entries/pages/{_page.server.ts.js-Bk8UuUXA.js → _page.server.ts.js-BGXwU4Ay.js} +2 -2
  65. package/build/server/chunks/entries/pages/{_page.svelte.js-BZdgGX88.js → _page.svelte.js-N0F4WBmN.js} +95 -22
  66. package/build/server/chunks/{handler-6FdOC1hB.js → handler-DonVRS0X.js} +3 -3
  67. package/build/server/chunks/{index.js-CxWMBVzx.js → index.js-BeG-TgOY.js} +2 -2
  68. package/build/server/chunks/{manifest.js-1QUJI2Hj.js → manifest.js-CjHfy5rn.js} +37 -37
  69. package/build/server/chunks/nodes/{1.js-DQnTbcWA.js → 1.js-_W3O7q0J.js} +3 -3
  70. package/build/server/chunks/nodes/{2.js-Dcckemtw.js → 2.js-BKYP_GxW.js} +7 -7
  71. package/package.json +4 -1
  72. package/scripts/dsh-web-synced.sh +9 -5
  73. package/template/.dsi/prompts.sqlite +0 -0
  74. package/build/client/_app/immutable/chunks/CuUDwdgs.js +0 -1
  75. package/build/client/_app/immutable/chunks/r_hBJCJ9.js +0 -2
  76. package/build/client/_app/immutable/entry/start.D5MJ3lP3.js +0 -1
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -82,4 +82,4 @@ var POST = async ({ request }) => {
82
82
  };
83
83
 
84
84
  export { GET, POST };
85
- //# sourceMappingURL=_server.ts.js-17yKojU_.js.map
85
+ //# sourceMappingURL=_server.ts.js-GugaguYO.js.map
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -96,4 +96,4 @@ var GET = async ({ url }) => {
96
96
  };
97
97
 
98
98
  export { GET };
99
- //# sourceMappingURL=_server.ts.js-D16pEhvd.js.map
99
+ //# sourceMappingURL=_server.ts.js-D7ZCMRXo.js.map
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -107,4 +107,4 @@ var POST = async ({ request }) => {
107
107
  };
108
108
 
109
109
  export { POST };
110
- //# sourceMappingURL=_server.ts.js-BXpZNLK8.js.map
110
+ //# sourceMappingURL=_server.ts.js-CO9iOVa4.js.map
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -110,4 +110,4 @@ var GET = async ({ url }) => {
110
110
  };
111
111
 
112
112
  export { GET };
113
- //# sourceMappingURL=_server.ts.js-hBlyjq-x.js.map
113
+ //# sourceMappingURL=_server.ts.js-BeLFfBNx.js.map
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -56,4 +56,4 @@ var GET = async ({ url }) => {
56
56
  };
57
57
 
58
58
  export { GET };
59
- //# sourceMappingURL=_server.ts.js-KWRnsAkm.js.map
59
+ //# sourceMappingURL=_server.ts.js-CUMrE1yT.js.map
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -52,4 +52,4 @@ var POST = async ({ request }) => {
52
52
  };
53
53
 
54
54
  export { POST };
55
- //# sourceMappingURL=_server.ts.js-DzNvvCxK.js.map
55
+ //# sourceMappingURL=_server.ts.js-CPTg8pND.js.map
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -42,4 +42,4 @@ var POST = async ({ params }) => {
42
42
  };
43
43
 
44
44
  export { POST };
45
- //# sourceMappingURL=_server.ts.js-MK5925CY.js.map
45
+ //# sourceMappingURL=_server.ts.js-ikZ2NK35.js.map
@@ -1,7 +1,7 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import '../../../../../../../chunks/config.js-BBYogCe7.js';
4
- import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
4
+ import '../../../../../../../chunks/insight-config.js-BAitz0O1.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
7
  import 'node:os';
@@ -60,4 +60,4 @@ var POST = async ({ params, request }) => {
60
60
  };
61
61
 
62
62
  export { POST };
63
- //# sourceMappingURL=_server.ts.js-w3Mo0nf7.js.map
63
+ //# sourceMappingURL=_server.ts.js-DO-sihfI.js.map
@@ -1,6 +1,6 @@
1
- import { d as deletePrompt, u as updatePrompt, a as renamePromptLabel } from '../../../../../chunks/db2.js-DBltVUGg.js';
1
+ import { d as deletePrompt, u as updatePrompt, a as renamePromptLabel } from '../../../../../chunks/db2.js-BYr2lzQs.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
3
- import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
3
+ import '../../../../../chunks/insight-config.js-BAitz0O1.js';
4
4
  import '../../../../../chunks/config.js-BBYogCe7.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
@@ -61,4 +61,4 @@ var DELETE = async ({ params }) => {
61
61
  };
62
62
 
63
63
  export { DELETE, PATCH };
64
- //# sourceMappingURL=_server.ts.js-CInfjM-i.js.map
64
+ //# sourceMappingURL=_server.ts.js-CtWIL8u1.js.map
@@ -1,6 +1,6 @@
1
- import { l as listPrompts, s as searchPrompts, c as createPrompt } from '../../../../chunks/db2.js-DBltVUGg.js';
1
+ import { l as listPrompts, s as searchPrompts, c as createPrompt } from '../../../../chunks/db2.js-BYr2lzQs.js';
2
2
  import { j as json } from '../../../../chunks/utils.js-tOWCe9Wk.js';
3
- import '../../../../chunks/insight-config.js-CfMPTA6Z.js';
3
+ import '../../../../chunks/insight-config.js-BAitz0O1.js';
4
4
  import '../../../../chunks/config.js-BBYogCe7.js';
5
5
  import 'node:fs';
6
6
  import 'node:path';
@@ -84,4 +84,4 @@ var POST = async ({ request }) => {
84
84
  };
85
85
 
86
86
  export { GET, POST };
87
- //# sourceMappingURL=_server.ts.js-C1lqP1OV.js.map
87
+ //# sourceMappingURL=_server.ts.js-CCV5F65b.js.map
@@ -1,5 +1,5 @@
1
- import { i as readPromptsConfig } from '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
2
- import { f as findPromptByText, r as recordPromptUse } from '../../../../../chunks/db2.js-DBltVUGg.js';
1
+ import { i as readPromptsConfig } from '../../../../../chunks/insight-config.js-BAitz0O1.js';
2
+ import { f as findPromptByText, r as recordPromptUse } from '../../../../../chunks/db2.js-BYr2lzQs.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
4
4
  import '../../../../../chunks/config.js-BBYogCe7.js';
5
5
  import 'node:fs';
@@ -51,4 +51,4 @@ var POST = async ({ request }) => {
51
51
  };
52
52
 
53
53
  export { POST };
54
- //# sourceMappingURL=_server.ts.js-B36YMKMt.js.map
54
+ //# sourceMappingURL=_server.ts.js-5zjPgL0k.js.map
@@ -1,4 +1,4 @@
1
- import { j as readSettingsDocument, s as saveSettingsDocument, S as SettingsParseError, k as DEFAULT_DSH_PRESET_ENGLISH, l as DEFAULT_SERVER_CONFIG, m as DEFAULT_PROMPTS_CONFIG, n as DEFAULT_SIDEBAR_CONFIG, o as DEFAULT_PANEL_CONFIG, p as DEFAULT_A2A_CONFIG, q as DEFAULT_HOME_CONFIG, t as DEFAULT_CONVERSATION_CONFIG, u as DEFAULT_CHAT_CONFIG } from '../../../../chunks/insight-config.js-CfMPTA6Z.js';
1
+ import { j as readSettingsDocument, s as saveSettingsDocument, S as SettingsParseError, k as DEFAULT_DSH_PRESET_ENGLISH, l as DEFAULT_SERVER_CONFIG, m as DEFAULT_PROMPTS_CONFIG, n as DEFAULT_SIDEBAR_CONFIG, o as DEFAULT_PANEL_CONFIG, p as DEFAULT_A2A_CONFIG, q as DEFAULT_HOME_CONFIG, t as DEFAULT_CONVERSATION_CONFIG, u as DEFAULT_CHAT_CONFIG } from '../../../../chunks/insight-config.js-BAitz0O1.js';
2
2
  import { j as json } from '../../../../chunks/utils.js-tOWCe9Wk.js';
3
3
  import { stringify } from 'yaml';
4
4
  import '../../../../chunks/config.js-BBYogCe7.js';
@@ -98,4 +98,4 @@ var PUT = async ({ url, request }) => {
98
98
  };
99
99
 
100
100
  export { GET, PUT };
101
- //# sourceMappingURL=_server.ts.js-CHvHNzeB.js.map
101
+ //# sourceMappingURL=_server.ts.js-DGy6xjPE.js.map
@@ -1,7 +1,7 @@
1
1
  import { U as head, V as escape_html, y as derived } from '../../chunks/server.js-DoCd0fEo.js';
2
- import { p as page } from '../../chunks/state.js-BLMt6IZw.js';
2
+ import { p as page } from '../../chunks/state.js-7BOeaoQB.js';
3
3
  import '../../chunks/uneval.js-BJ9Qq2SF.js';
4
- import '../../chunks/internal.js-B528fyJg.js';
4
+ import '../../chunks/internal.js-kXJJJomG.js';
5
5
  import '../../chunks/shared.js-C4-Py8s_.js';
6
6
  import '../../chunks/exports.js-DMiPee3x.js';
7
7
  import '../../chunks/utils.js-tOWCe9Wk.js';
@@ -38,4 +38,4 @@ function _error($$renderer, $$props) {
38
38
  }
39
39
 
40
40
  export { _error as default };
41
- //# sourceMappingURL=_error.svelte.js-zqZ-hO6l.js.map
41
+ //# sourceMappingURL=_error.svelte.js-COiCqUkC.js.map
@@ -1,4 +1,4 @@
1
- import { g as getDshConnection, D as DshRpcError, i as isSubagentRejection } from '../../chunks/dsh-connection.js-DwihVtk_.js';
1
+ import { g as getDshConnection, D as DshRpcError, i as isSubagentRejection } from '../../chunks/dsh-connection.js-D52KwDXm.js';
2
2
  import { h as historyToEvents, e as eventsToEntries } from '../../chunks/dsh-events.js-BtDxaV6Q.js';
3
3
  import { p as permissionFromProjection, i as imageLimitsFromProjection, f as filterKnobEvents } from '../../chunks/image-limits.js-BMPZ55kJ.js';
4
4
  import { v as error } from '../../chunks/utils.js-tOWCe9Wk.js';
@@ -82,4 +82,4 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
82
82
  });
83
83
 
84
84
  export { _page_server_ts as _ };
85
- //# sourceMappingURL=_page.server.ts.js-Bk8UuUXA.js.map
85
+ //# sourceMappingURL=_page.server.ts.js-BGXwU4Ay.js.map
@@ -1,10 +1,10 @@
1
- import '../../chunks/internal.js-B528fyJg.js';
1
+ import '../../chunks/internal.js-kXJJJomG.js';
2
2
  import { U as head, y as derived, W as bind_props, X as attr, Y as attr_style, Z as attr_class, x as setContext, V as escape_html, _ as stringify, $ as spread_props, a0 as attributes, a1 as clsx, a2 as ensure_array_like, a3 as element, I as getContext, a4 as html, a5 as props_id, E as run } from '../../chunks/server.js-DoCd0fEo.js';
3
3
  import { m as mergeEntries, c as collapseSystemPromptEntries, t as truncate } from '../../chunks/dsh-events.js-BtDxaV6Q.js';
4
4
  import { p as parseA2aSignature, m as mintA2aId, b as buildDeliveredText } from '../../chunks/a2a-protocol.js-C77mVg2Q.js';
5
5
  import { a as applyKnobEvent, r as resolvePermission, l as localPermission, E as EMPTY_KNOBS, D as DEFAULT_IMAGE_LIMITS, b as presetLabel, c as presetDescription } from '../../chunks/image-limits.js-BMPZ55kJ.js';
6
6
  import { a as appConfig } from '../../chunks/app-config.svelte.js-Co9jacqT.js';
7
- import { p as page, a as afterNavigate, r as replaceState } from '../../chunks/state.js-BLMt6IZw.js';
7
+ import { p as page, a as afterNavigate, r as replaceState } from '../../chunks/state.js-7BOeaoQB.js';
8
8
  import 'html-to-image';
9
9
  import hljs from 'highlight.js/lib/core';
10
10
  import javascript from 'highlight.js/lib/languages/javascript';
@@ -2029,7 +2029,7 @@ function StripTip($$renderer, $$props) {
2029
2029
  let { active = false, menuOpen = false, anyMenuOpen = false, text } = $$props;
2030
2030
  /** Tooltip box; null = hidden. Mirrors the STRIP's horizontal geometry
2031
2031
  * — same left edge, same width — regardless of which chip is active;
2032
- * y anchors above the chip. Hides whenever any ⋯ menu is open. */
2032
+ * y anchors above the whole strip. Hides whenever any ⋯ menu is open. */
2033
2033
  let tipPos = null;
2034
2034
  if (active && text.includes("\n") && !menuOpen && !anyMenuOpen && tipPos);
2035
2035
  else $$renderer.push("<!--[-1-->");
@@ -11990,8 +11990,19 @@ var workspacePanelCopy = {
11990
11990
  copyFilename: "Copy Filename fullpath",
11991
11991
  /** Edit tab label. */
11992
11992
  edit: "Edit",
11993
+ /** Dirty-edit indicator — a reload would discard the draft. */
11994
+ dirty: "Unsaved changes",
11993
11995
  /** Save button label (the Delegated Save, 2026-09-11 D4). */
11994
- save: "Save"}};
11996
+ save: "Save",
11997
+ /** Save button label while the delegated turn is unanswered. */
11998
+ saving: "Saving…",
11999
+ /** Post-receipt note — the receipt is acceptance, not proof of bytes. */
12000
+ stale: "Saved — refresh to confirm the written file"},
12001
+ common: {
12002
+ /** Canvas-copy button tooltip — captures the whole panel column. */
12003
+ copyColumn: "Copy panel column as image (Shift+Click to save)"
12004
+ }
12005
+ };
11995
12006
  var CODE_FILE_TYPE_SET = /* @__PURE__ */ new Set([
11996
12007
  "angular",
11997
12008
  "c",
@@ -12417,6 +12428,7 @@ function FileTypeIcon($$renderer, $$props) {
12417
12428
  //#region src/lib/components/panels/WorkspaceExplorerHeader.svelte
12418
12429
  function WorkspaceExplorerHeader($$renderer, $$props) {
12419
12430
  $$renderer.component(($$renderer) => {
12431
+ let columnEl = null;
12420
12432
  $$renderer.push(`<div data-svelte="WorkspaceExplorerHeader" class="explorer-head svelte-376ndl"><button class="head-btn svelte-376ndl" data-testid="explorer-refresh"${attr("aria-label", workspacePanelCopy.explorer.refresh)}${attr("title", workspacePanelCopy.explorer.refresh)}>`);
12421
12433
  Refresh_cw($$renderer, {
12422
12434
  size: 12,
@@ -12427,7 +12439,13 @@ function WorkspaceExplorerHeader($$renderer, $$props) {
12427
12439
  size: 12,
12428
12440
  "aria-hidden": "true"
12429
12441
  });
12430
- $$renderer.push(`<!----></button></div>`);
12442
+ $$renderer.push(`<!----></button> `);
12443
+ CanvasCopyButton($$renderer, {
12444
+ container: columnEl,
12445
+ title: workspacePanelCopy.common.copyColumn,
12446
+ size: 12
12447
+ });
12448
+ $$renderer.push(`<!----></div>`);
12431
12449
  });
12432
12450
  }
12433
12451
  //#endregion
@@ -12541,7 +12559,7 @@ function WorkspaceExplorerPanel($$renderer, $$props) {
12541
12559
  }
12542
12560
  $$renderer.push(`<div data-svelte="WorkspaceExplorerPanel" class="explorer svelte-v4uero" data-testid="workspace-explorer">`);
12543
12561
  WorkspaceExplorerHeader($$renderer);
12544
- $$renderer.push(`<!----> <ul class="tree svelte-v4uero" role="tree"${attr("aria-label", workspacePanelCopy.explorer.title + ": " + root)}><!--[-->`);
12562
+ $$renderer.push(`<!----> <div class="tree-scroll svelte-v4uero"><ul class="tree svelte-v4uero" role="tree"${attr("aria-label", workspacePanelCopy.explorer.title + ": " + root)}><!--[-->`);
12545
12563
  const each_array_1 = ensure_array_like(sorted(levels[""]?.kind === "ready" ? levels[""].entries : []));
12546
12564
  for (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {
12547
12565
  let entry = each_array_1[$$index];
@@ -12555,7 +12573,38 @@ function WorkspaceExplorerPanel($$renderer, $$props) {
12555
12573
  $$renderer.push("<!--[1-->");
12556
12574
  $$renderer.push(`<li class="note fail svelte-v4uero" data-testid="explorer-failed">${escape_html(workspacePanelCopy.explorer.loadFailed)}${escape_html(levels[""]?.kind === "failed" ? ` — ${levels[""].reason}` : "")}</li>`);
12557
12575
  } else $$renderer.push("<!--[-1-->");
12558
- $$renderer.push(`<!--]--></ul></div>`);
12576
+ $$renderer.push(`<!--]--></ul></div></div>`);
12577
+ });
12578
+ }
12579
+ //#endregion
12580
+ //#region src/lib/components/panels/WorkspaceFileToolbar.svelte
12581
+ function WorkspaceFileToolbar($$renderer, $$props) {
12582
+ $$renderer.component(($$renderer) => {
12583
+ let columnEl = null;
12584
+ let { dirty, saveState = "idle", hasTabs = false, tab = "preview", onsave } = $$props;
12585
+ $$renderer.push(`<div data-svelte="WorkspaceFileToolbar" class="file-toolbar svelte-cqlxfy"><button type="button" class="save-btn svelte-cqlxfy" data-testid="file-save"${attr("disabled", !dirty || saveState === "saving", true)}>${escape_html(saveState === "saving" ? workspacePanelCopy.file.saving : workspacePanelCopy.file.save)}</button> `);
12586
+ if (dirty) {
12587
+ $$renderer.push("<!--[0-->");
12588
+ $$renderer.push(`<span class="dirty svelte-cqlxfy" data-testid="file-dirty">${escape_html(workspacePanelCopy.file.dirty)}</span>`);
12589
+ } else $$renderer.push("<!--[-1-->");
12590
+ $$renderer.push(`<!--]--> `);
12591
+ if (saveState === "saved" && !dirty) {
12592
+ $$renderer.push("<!--[0-->");
12593
+ $$renderer.push(`<span class="stale svelte-cqlxfy" data-testid="file-stale">${escape_html(workspacePanelCopy.file.stale)}</span>`);
12594
+ } else $$renderer.push("<!--[-1-->");
12595
+ $$renderer.push(`<!--]--> `);
12596
+ if (hasTabs) {
12597
+ $$renderer.push("<!--[0-->");
12598
+ $$renderer.push(`<div class="tabs svelte-cqlxfy" role="tablist"><button role="tab"${attr("aria-selected", tab === "preview")} data-testid="tab-preview"${attr_class("svelte-cqlxfy", void 0, { "active": tab === "preview" })}>${escape_html(workspacePanelCopy.file.preview)}</button> <button role="tab"${attr("aria-selected", tab === "edit")} data-testid="tab-edit"${attr_class("svelte-cqlxfy", void 0, { "active": tab === "edit" })}>${escape_html(workspacePanelCopy.file.edit)}</button></div>`);
12599
+ } else $$renderer.push("<!--[-1-->");
12600
+ $$renderer.push(`<!--]--> <span${attr_class("copy-slot svelte-cqlxfy", void 0, { "push": !hasTabs })}>`);
12601
+ CanvasCopyButton($$renderer, {
12602
+ container: columnEl,
12603
+ title: workspacePanelCopy.common.copyColumn,
12604
+ size: 12
12605
+ });
12606
+ $$renderer.push(`<!----></span></div>`);
12607
+ bind_props($$props, { tab });
12559
12608
  });
12560
12609
  }
12561
12610
  //#endregion
@@ -12587,6 +12636,12 @@ function WorkspaceFilePanel($$renderer, $$props) {
12587
12636
  */
12588
12637
  /** The read receipt (api/dsh/workspace-file body, DshWorkspaceFileText). */
12589
12638
  let { path} = $$props;
12639
+ let tab = "preview";
12640
+ /** Dirty = the edit buffer differs from the baseline. */
12641
+ let dirty = false;
12642
+ /** The delegated save's progress (ADR D4): idle → saving → saved /
12643
+ * failed; a further edit re-arms the button from any state. */
12644
+ let saveState = "idle";
12590
12645
  const isMarkdown = derived(() => path.toLowerCase().endsWith(".md"));
12591
12646
  /** HTML documents preview like markdown (two tabs): the preview tab
12592
12647
  * mounts a SANDBOXED iframe (srcdoc, no scripts — a read-only render
@@ -12594,21 +12649,39 @@ function WorkspaceFilePanel($$renderer, $$props) {
12594
12649
  * every text file (2026-09-10). */
12595
12650
  const isHtml = derived(() => /\.html?$/.test(path.toLowerCase()));
12596
12651
  const hasTabs = derived(() => isMarkdown() || isHtml());
12597
- $$renderer.push(`<div data-svelte="WorkspaceFilePanel" class="file-panel svelte-1pgc8hn" data-testid="workspace-file-panel"${attr("data-file-path", path)}><div class="file-toolbar svelte-1pgc8hn"><button type="button" class="save-btn svelte-1pgc8hn" data-testid="file-save"${attr("disabled", true, true)}>${escape_html(workspacePanelCopy.file.save)}</button> `);
12598
- $$renderer.push("<!--[-1-->");
12599
- $$renderer.push(`<!--]--> `);
12600
- $$renderer.push("<!--[-1-->");
12601
- $$renderer.push(`<!--]--> `);
12602
- if (hasTabs()) {
12652
+ /** The delegated save (ADR D1/D4): POST the composed turn; the receipt
12653
+ * advances the baseline so dirty clears, or the failure surfaces. */
12654
+ async function save() {}
12655
+ let $$settled = true;
12656
+ let $$inner_renderer;
12657
+ function $$render_inner($$renderer) {
12658
+ $$renderer.push(`<div data-svelte="WorkspaceFilePanel" class="file-panel svelte-1pgc8hn" data-testid="workspace-file-panel"${attr("data-file-path", path)}>`);
12659
+ WorkspaceFileToolbar($$renderer, {
12660
+ dirty,
12661
+ saveState,
12662
+ hasTabs: hasTabs(),
12663
+ onsave: save,
12664
+ get tab() {
12665
+ return tab;
12666
+ },
12667
+ set tab($$value) {
12668
+ tab = $$value;
12669
+ $$settled = false;
12670
+ }
12671
+ });
12672
+ $$renderer.push(`<!----> `);
12673
+ $$renderer.push("<!--[-1-->");
12674
+ $$renderer.push(`<!--]--> `);
12603
12675
  $$renderer.push("<!--[0-->");
12604
- $$renderer.push(`<div class="tabs svelte-1pgc8hn" role="tablist"><button role="tab"${attr("aria-selected", true)} data-testid="tab-preview"${attr_class("svelte-1pgc8hn", void 0, { "active": true })}>${escape_html(workspacePanelCopy.file.preview)}</button> <button role="tab"${attr("aria-selected", false)} data-testid="tab-edit"${attr_class("svelte-1pgc8hn", void 0, { "active": false })}>${escape_html(workspacePanelCopy.file.edit)}</button></div>`);
12605
- } else $$renderer.push("<!--[-1-->");
12606
- $$renderer.push(`<!--]--></div> `);
12607
- $$renderer.push("<!--[-1-->");
12608
- $$renderer.push(`<!--]--> `);
12609
- $$renderer.push("<!--[0-->");
12610
- $$renderer.push(`<p class="note svelte-1pgc8hn">${escape_html(workspacePanelCopy.explorer.loading)}</p>`);
12611
- $$renderer.push(`<!--]--></div>`);
12676
+ $$renderer.push(`<p class="note svelte-1pgc8hn">${escape_html(workspacePanelCopy.explorer.loading)}</p>`);
12677
+ $$renderer.push(`<!--]--></div>`);
12678
+ }
12679
+ do {
12680
+ $$settled = true;
12681
+ $$inner_renderer = $$renderer.copy();
12682
+ $$render_inner($$inner_renderer);
12683
+ } while (!$$settled);
12684
+ $$renderer.subsume($$inner_renderer);
12612
12685
  });
12613
12686
  }
12614
12687
  //#endregion
@@ -13880,4 +13953,4 @@ function _page($$renderer, $$props) {
13880
13953
  }
13881
13954
 
13882
13955
  export { _page as default };
13883
- //# sourceMappingURL=_page.svelte.js-BZdgGX88.js.map
13956
+ //# sourceMappingURL=_page.svelte.js-N0F4WBmN.js.map
@@ -9,8 +9,8 @@ import * as qs from 'node:querystring';
9
9
  import { Readable } from 'node:stream';
10
10
  import { S as SvelteKitError } from './chunks/shared.js-C4-Py8s_.js';
11
11
  import './chunks/utils.js-tOWCe9Wk.js';
12
- import { S as Server } from './index.js-CxWMBVzx.js';
13
- import { m as manifest } from './manifest.js-1QUJI2Hj.js';
12
+ import { S as Server } from './index.js-BeG-TgOY.js';
13
+ import { m as manifest } from './manifest.js-CjHfy5rn.js';
14
14
  import { env, dir, env_prefix } from '../../env.js';
15
15
  import { format } from 'node:url';
16
16
 
@@ -1732,4 +1732,4 @@ const handler = sequence(
1732
1732
  );
1733
1733
 
1734
1734
  export { format_listening_address as f, handler as h, polka as p };
1735
- //# sourceMappingURL=handler-6FdOC1hB.js.map
1735
+ //# sourceMappingURL=handler-DonVRS0X.js.map
@@ -1,4 +1,4 @@
1
- import { _ as __commonJSMin, o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-B528fyJg.js';
1
+ import { _ as __commonJSMin, o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-kXJJJomG.js';
2
2
  import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, R as Redirect, b as get_relative_path, S as SvelteKitError, g as get_status, t as text_encoder, o as once, H as HttpError, d as normalize_error, e as create_remote_key, f as parse_remote_arg, s as stringify, h as stringify$1, A as ActionFailure, i as split_remote_key, j as base64_encode } from './chunks/shared.js-C4-Py8s_.js';
3
3
  import { b as base, o as override, a as assets, r as reset, c as app_dir } from './chunks/internal2.js-D-DAuSVh.js';
4
4
  import { f as format_server_error, j as json, i as is_form_content_type, t as text, h as has_prerendered_path, a as handle_fatal_error, r as redirect_response, g as get_set_cookies, n as negotiate, w as with_request_store, p as parseString, m as merge_tracing, b as method_not_allowed, s as static_error_page, c as handle_error_and_jsonify, d as get_global_name, e as create_replacer, k as serialize_uses, l as clarify_devalue_error, E as ENDPOINT_METHODS, P as PAGE_METHODS, o as get_node_type, q as isRedirect, u as escape_html, v as error, x as deserialize_binary_form } from './chunks/utils.js-tOWCe9Wk.js';
@@ -3861,4 +3861,4 @@ var Server = class {
3861
3861
  };
3862
3862
 
3863
3863
  export { Server as S };
3864
- //# sourceMappingURL=index.js-CxWMBVzx.js.map
3864
+ //# sourceMappingURL=index.js-BeG-TgOY.js.map