@deepseek-insight/dsi 0.10.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.agents/skills/glass-dsi/scripts/_connect.mjs +21 -2
  2. package/.agents/skills/glass-url/scripts/_connect.mjs +4 -2
  3. package/README.md +34 -26
  4. package/bin/dsi.mjs +23 -12
  5. package/bin/lib/glass-browser-bootstrap.mjs +19 -2
  6. package/bin/lib/plugin-chain.mjs +6 -5
  7. package/bin/lib/zai-patch.mjs +3 -1
  8. package/build/client/_app/immutable/assets/0.Bjw4vcZl.css +2 -0
  9. package/build/client/_app/immutable/assets/2.glyfXGzi.css +1 -0
  10. package/build/client/_app/immutable/chunks/Dj8AK3pr.js +1 -0
  11. package/build/client/_app/immutable/chunks/UPlr67N1.js +2 -0
  12. package/build/client/_app/immutable/chunks/WySTHi46.js +1 -0
  13. package/build/client/_app/immutable/chunks/{UcxQDPMg.js → e-3PBXxJ.js} +1 -1
  14. package/build/client/_app/immutable/entry/{app.GxH1nznH.js → app.ezxtVZch.js} +2 -2
  15. package/build/client/_app/immutable/entry/start.DdPLwPDt.js +1 -0
  16. package/build/client/_app/immutable/nodes/{1.BVvBJtMj.js → 1.CGppLUrN.js} +1 -1
  17. package/build/client/_app/immutable/nodes/{2.D0JzdegJ.js → 2.9BE7-E5x.js} +197 -199
  18. package/build/client/_app/version.json +1 -1
  19. package/build/handler.js +5 -5
  20. package/build/index.js +5 -5
  21. package/build/server/chunks/chunks/{db.js-f2PmBjyD.js → db.js-BGSxIVb3.js} +2 -2
  22. package/build/server/chunks/chunks/{db2.js-DkwY64WO.js → db2.js-vQNFcVO7.js} +2 -2
  23. package/build/server/chunks/chunks/{dsh-connection.js-BW07Aicl.js → dsh-connection.js-Dcdxqp52.js} +27 -7
  24. package/build/server/chunks/chunks/{exports.js-DH_tjtdv.js → exports.js-D5zA1U7A.js} +42 -4
  25. package/build/server/chunks/chunks/{git-probe.js-CQqTV7XX.js → git-probe.js-BIieYqLU.js} +2 -2
  26. package/build/server/chunks/chunks/{insight-config.js-C5-Rhh5A.js → insight-config.js-ylYA2CXm.js} +2 -2
  27. package/build/server/chunks/chunks/{internal2.js-BRzR_ZGp.js → internal2.js-Cu5N8_4R.js} +3 -3
  28. package/build/server/chunks/chunks/{registry.js-6St5Biiy.js → registry.js-Bwc2MNSZ.js} +53 -50
  29. package/build/server/chunks/chunks/{registry2.js-CFzpvj9c.js → registry2.js-BZfrwsOy.js} +20 -1
  30. package/build/server/chunks/chunks/{settings-document.js-DxKURfc_.js → settings-document.js-BIxaivJ1.js} +23 -8
  31. package/build/server/chunks/chunks/{state.js-Ct6h8rMl.js → state.js-CRPhnJJH.js} +3 -3
  32. package/build/server/chunks/chunks/{watcher.js-DvlNn8X0.js → watcher.js-Bcm29AuA.js} +4 -4
  33. package/build/server/chunks/entries/endpoints/api/a2a/_id_/{_server.ts.js-DItDXV23.js → _server.ts.js-BbIEpZB5.js} +4 -4
  34. package/build/server/chunks/entries/endpoints/api/a2a/{_server.ts.js-Hor8QZb1.js → _server.ts.js-Daho1I-l.js} +6 -6
  35. package/build/server/chunks/entries/endpoints/api/a2a/register/{_server.ts.js-CEvvsa8B.js → _server.ts.js-C5X77Uef.js} +6 -6
  36. package/build/server/chunks/entries/endpoints/api/browser/_id_/activate/{_server.ts.js-DYvCel9L.js → _server.ts.js-BxfB-QXT.js} +4 -4
  37. package/build/server/chunks/entries/endpoints/api/browser/_id_/close/{_server.ts.js-CDNbpOqu.js → _server.ts.js-DT6rU-EU.js} +4 -4
  38. package/build/server/chunks/entries/endpoints/api/browser/_id_/closetab/{_server.ts.js-C8UZMTcb.js → _server.ts.js-Cwu4C98Y.js} +4 -4
  39. package/build/server/chunks/entries/endpoints/api/browser/_id_/element/{_server.ts.js-CERwttQS.js → _server.ts.js-B55tx3-S.js} +4 -4
  40. package/build/server/chunks/entries/endpoints/api/browser/_id_/history/{_server.ts.js-DtVkS-mH.js → _server.ts.js-D2ft7u0s.js} +4 -4
  41. package/build/server/chunks/entries/endpoints/api/browser/_id_/input/{_server.ts.js-C85umKKr.js → _server.ts.js-BO1uO6i3.js} +4 -4
  42. package/build/server/chunks/entries/endpoints/api/browser/_id_/mcp/{_server.ts.js-CrTtygPQ.js → _server.ts.js-zOccgfJZ.js} +4 -4
  43. package/build/server/chunks/entries/endpoints/api/browser/_id_/navigate/{_server.ts.js-DgJ6DXVr.js → _server.ts.js-DgyR0sLf.js} +4 -4
  44. package/build/server/chunks/entries/endpoints/api/browser/_id_/opentab/{_server.ts.js-Bj9bKEEv.js → _server.ts.js-CPCIL2MG.js} +4 -4
  45. package/build/server/chunks/entries/endpoints/api/browser/_id_/page/{_server.ts.js--1WTGEfT.js → _server.ts.js-Cjvr5nEt.js} +4 -4
  46. package/build/server/chunks/entries/endpoints/api/browser/_id_/stream/{_server.ts.js-D8hQe810.js → _server.ts.js-Bb3DkB-H.js} +4 -4
  47. package/build/server/chunks/entries/endpoints/api/browser/_id_/tabs/{_server.ts.js-CSYYFlm2.js → _server.ts.js-DVcq1pYf.js} +4 -4
  48. package/build/server/chunks/entries/endpoints/api/browser/_id_/viewport/{_server.ts.js-KJjT8zXH.js → _server.ts.js-D1xgkwTO.js} +4 -4
  49. package/build/server/chunks/entries/endpoints/api/browser/_id_/zoom/{_server.ts.js-DQtzgPeG.js → _server.ts.js-DFo94fTq.js} +4 -4
  50. package/build/server/chunks/entries/endpoints/api/browser/{_server.ts.js-DSkCBGRA.js → _server.ts.js-0Gye8oLN.js} +4 -4
  51. package/build/server/chunks/entries/endpoints/api/config/{_server.ts.js-C_9kwANR.js → _server.ts.js-DqPIv-gn.js} +4 -4
  52. package/build/server/chunks/entries/endpoints/api/dsh/directory/{_server.ts.js-h1OTHcL4.js → _server.ts.js-DzFVVhO_.js} +4 -4
  53. package/build/server/chunks/entries/endpoints/api/dsh/jobs/{_server.ts.js-B6nih9Sd.js → _server.ts.js-DvuZUgbK.js} +4 -4
  54. package/build/server/chunks/entries/endpoints/api/dsh/jobs/follow/{_server.ts.js-Cf17SVmD.js → _server.ts.js-D6brRlYZ.js} +4 -4
  55. package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/{_server.ts.js-DjNwMbdS.js → _server.ts.js-8nNlcikK.js} +4 -4
  56. package/build/server/chunks/entries/endpoints/api/dsh/presets/{_server.ts.js-Cz5aaEhC.js → _server.ts.js-C8AZBt63.js} +4 -4
  57. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/attachment/{_server.ts.js-BFBy5O9Y.js → _server.ts.js-BFfr6uJh.js} +4 -4
  58. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/cancel/{_server.ts.js-CgEdCo3T.js → _server.ts.js-DSSgbD87.js} +4 -4
  59. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/catalog/{_server.ts.js-Bo_aEnHh.js → _server.ts.js-DYtrYC2P.js} +4 -4
  60. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/changes/{_server.ts.js-Bd2G_GaH.js → _server.ts.js-HxI5M4jg.js} +4 -4
  61. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/command/{_server.ts.js-DL64FyRw.js → _server.ts.js-Ch0dMm33.js} +4 -4
  62. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/{_server.ts.js-MhOGB66D.js → _server.ts.js-BG5C--Ok.js} +4 -4
  63. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/fork/{_server.ts.js-MjPgXgGO.js → _server.ts.js-B64YyaFI.js} +4 -4
  64. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/goal/{_server.ts.js-BUjDae5H.js → _server.ts.js-0RtL-9Zr.js} +4 -4
  65. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/{_server.ts.js-dTKd7Hsv.js → _server.ts.js-C4k-RTIw.js} +4 -4
  66. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/models/{_server.ts.js-B82rvKoI.js → _server.ts.js-CU38DxMt.js} +4 -4
  67. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/path/{_server.ts.js-Cqijsi-c.js → _server.ts.js-BXphf5ux.js} +3 -3
  68. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/permission/{_server.ts.js-CL_vVv2p.js → _server.ts.js-DQ5FG9Pc.js} +4 -4
  69. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/prompt/{_server.ts.js-WS4W9Ly4.js → _server.ts.js-In3bXhUO.js} +4 -4
  70. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/rename/{_server.ts.js-B72KGRGh.js → _server.ts.js-Bd0KF8Qm.js} +4 -4
  71. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/respond/{_server.ts.js-DK5xb2b5.js → _server.ts.js-4Y-KAw2r.js} +4 -4
  72. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/select-model/{_server.ts.js-lhT87EQu.js → _server.ts.js-zXYA1AJD.js} +4 -4
  73. package/build/server/chunks/entries/endpoints/api/dsh/sessions/{_server.ts.js-CMhfhbkN.js → _server.ts.js-vh7lFV0n.js} +4 -4
  74. package/build/server/chunks/entries/endpoints/api/dsh/subagents/{_server.ts.js-BLvcFsg6.js → _server.ts.js-DH7OEWm0.js} +4 -4
  75. package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/{_server.ts.js-D_rw2Uq6.js → _server.ts.js-CDwgBp7D.js} +4 -4
  76. package/build/server/chunks/entries/endpoints/api/dsh/workspace-tree/{_server.ts.js-DfXpMMpw.js → _server.ts.js-CtFxC_yV.js} +4 -4
  77. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/{_server.ts.js-2mJCJVxk.js → _server.ts.js-DRNzGdAj.js} +4 -4
  78. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/delete/{_server.ts.js-BCx0Lzjf.js → _server.ts.js-DIjNfN0d.js} +4 -4
  79. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/rename/{_server.ts.js-DECaSjwp.js → _server.ts.js-CtV7JhrK.js} +4 -4
  80. package/build/server/chunks/entries/endpoints/api/prompts/_id_/{_server.ts.js-i_ciJzlb.js → _server.ts.js-Cg9zHbUP.js} +4 -4
  81. package/build/server/chunks/entries/endpoints/api/prompts/{_server.ts.js-BO1pScn7.js → _server.ts.js-DOHmlKvl.js} +4 -4
  82. package/build/server/chunks/entries/endpoints/api/prompts/use/{_server.ts.js-Buhpf7WE.js → _server.ts.js-COVyy224.js} +4 -4
  83. package/build/server/chunks/entries/endpoints/api/settings/{_server.ts.js-DngUQzcT.js → _server.ts.js-HjpfRAaT.js} +3 -3
  84. package/build/server/chunks/entries/endpoints/api/terminal/_id_/delete/_server.ts.js-D9UU6xR6.js +42 -0
  85. package/build/server/chunks/entries/endpoints/api/terminal/_id_/output/{_server.ts.js-DLETP4yQ.js → _server.ts.js-BqJRMRsb.js} +2 -2
  86. package/build/server/chunks/entries/endpoints/api/terminal/_id_/reattach/{_server.ts.js-uWl6oxPS.js → _server.ts.js-D6bMXeOk.js} +2 -2
  87. package/build/server/chunks/entries/endpoints/api/terminal/_id_/send/{_server.ts.js-DYNmXaAd.js → _server.ts.js-BRgsqPFM.js} +2 -2
  88. package/build/server/chunks/entries/endpoints/api/terminal/_id_/stream/{_server.ts.js-C5m3Ktho.js → _server.ts.js-EWo4sSmg.js} +2 -2
  89. package/build/server/chunks/entries/endpoints/api/terminal/{_server.ts.js-DoTNvcOa.js → _server.ts.js-v1ixRdpN.js} +4 -4
  90. package/build/server/chunks/entries/endpoints/api/terminal/stream/_server.ts.js-BQOQyT7o.js +185 -0
  91. package/build/server/chunks/entries/endpoints/api/workspace/file-write/{_server.ts.js-BzYOJSkI.js → _server.ts.js-CjU6bLOf.js} +5 -5
  92. package/build/server/chunks/entries/endpoints/api/workspace/git-events/{_server.ts.js-xcNesei9.js → _server.ts.js-CYU0btiH.js} +5 -5
  93. package/build/server/chunks/entries/endpoints/api/workspace/git-file-head/{_server.ts.js-DsJWYdxt.js → _server.ts.js-Du9YcwLw.js} +5 -5
  94. package/build/server/chunks/entries/endpoints/api/workspace/git-map/{_server.ts.js-CNCku9BR.js → _server.ts.js-BdV_KDjb.js} +5 -5
  95. package/build/server/chunks/entries/endpoints/api/workspace/git-status/{_server.ts.js-nLsNjOxj.js → _server.ts.js-C-C84Yzu.js} +5 -5
  96. package/build/server/chunks/entries/endpoints/api/workspace/write-gate/{_server.ts.js-urQk2-ds.js → _server.ts.js-D9uFvZya.js} +5 -5
  97. package/build/server/chunks/entries/{hooks.server.js-CU2RE5vs.js → hooks.server.js-YJQlamhk.js} +2 -2
  98. package/build/server/chunks/entries/pages/{_error.svelte.js-BXD7Pthk.js → _error.svelte.js-CJ9RHd_3.js} +4 -4
  99. package/build/server/chunks/entries/pages/{_page.server.ts.js-BK3Y6eff.js → _page.server.ts.js-BFDPRDEm.js} +2 -2
  100. package/build/server/chunks/entries/pages/{_page.svelte.js-DaZfwP76.js → _page.svelte.js-DlLAziUY.js} +477 -139
  101. package/build/server/chunks/{handler-C5_-AjlT.js → handler-BRlzTcii.js} +3 -3
  102. package/build/server/chunks/{index.js-BECscw6k.js → index.js-D2umW-Cg.js} +3 -44
  103. package/build/server/chunks/{manifest.js-aksIjogg.js → manifest.js-CaT4HRXz.js} +81 -67
  104. package/build/server/chunks/nodes/{0.js-xX4GZsu5.js → 0.js-B8ciwPSu.js} +3 -3
  105. package/build/server/chunks/nodes/1.js-cXTCbvze.js +9 -0
  106. package/build/server/chunks/nodes/{2.js-CBdFoBFK.js → 2.js-CF_m1q-z.js} +8 -8
  107. package/package.json +1 -1
  108. package/skills/dsi-drive-terminal/SKILL.md +23 -1
  109. package/skills/dsi-spec/SKILL.md +8 -0
  110. package/skills/dsi-task/SKILL.md +34 -0
  111. package/skills/dsi-token-spent/SKILL.md +122 -0
  112. package/template/.dsi/prompts.sqlite +0 -0
  113. package/template/.dsi/prompts.sqlite-shm +0 -0
  114. package/template/.dsi/prompts.sqlite-wal +0 -0
  115. package/build/client/_app/immutable/assets/0.CxUWwepa.css +0 -2
  116. package/build/client/_app/immutable/assets/2.CSFboNRO.css +0 -1
  117. package/build/client/_app/immutable/chunks/C4M9oU_3.js +0 -1
  118. package/build/client/_app/immutable/chunks/CNT-CapI.js +0 -1
  119. package/build/client/_app/immutable/chunks/DttyJZuo.js +0 -2
  120. package/build/client/_app/immutable/entry/start.P-LmBYpD.js +0 -1
  121. package/build/server/chunks/nodes/1.js-BaNGyV1A.js +0 -9
  122. /package/build/client/_app/immutable/nodes/{0.CfpMgVS-.js → 0.DopnsZUT.js} +0 -0
@@ -1,8 +1,8 @@
1
- import { a as isPromptImageMediaType, g as getDshConnection, b as buildPromptContent, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { a as isPromptImageMediaType, g as getDshConnection, b as buildPromptContent, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -93,4 +93,4 @@ var POST = async ({ params, request }) => {
93
93
  };
94
94
 
95
95
  export { POST };
96
- //# sourceMappingURL=_server.ts.js-WS4W9Ly4.js.map
96
+ //# sourceMappingURL=_server.ts.js-In3bXhUO.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -56,4 +56,4 @@ var POST = async ({ params, request }) => {
56
56
  };
57
57
 
58
58
  export { POST };
59
- //# sourceMappingURL=_server.ts.js-B72KGRGh.js.map
59
+ //# sourceMappingURL=_server.ts.js-Bd0KF8Qm.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -68,4 +68,4 @@ var POST = async ({ params, request }) => {
68
68
  };
69
69
 
70
70
  export { POST };
71
- //# sourceMappingURL=_server.ts.js-DK5xb2b5.js.map
71
+ //# sourceMappingURL=_server.ts.js-4Y-KAw2r.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -68,4 +68,4 @@ var POST = async ({ params, request }) => {
68
68
  };
69
69
 
70
70
  export { POST };
71
- //# sourceMappingURL=_server.ts.js-lhT87EQu.js.map
71
+ //# sourceMappingURL=_server.ts.js-zXYA1AJD.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -84,4 +84,4 @@ var POST = async ({ request }) => {
84
84
  };
85
85
 
86
86
  export { GET, POST };
87
- //# sourceMappingURL=_server.ts.js-CMhfhbkN.js.map
87
+ //# sourceMappingURL=_server.ts.js-vh7lFV0n.js.map
@@ -1,9 +1,9 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { l as ledgerStatsFromProjections } from '../../../../../chunks/ledger-stats.js-BWACyDPg.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
4
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
4
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
5
5
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
6
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
6
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
9
  import 'node:os';
@@ -69,4 +69,4 @@ var GET = async ({ setHeaders, url }) => {
69
69
  };
70
70
 
71
71
  export { GET };
72
- //# sourceMappingURL=_server.ts.js-BLvcFsg6.js.map
72
+ //# sourceMappingURL=_server.ts.js-DH7OEWm0.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -98,4 +98,4 @@ var GET = async ({ url }) => {
98
98
  };
99
99
 
100
100
  export { GET };
101
- //# sourceMappingURL=_server.ts.js-D_rw2Uq6.js.map
101
+ //# sourceMappingURL=_server.ts.js-CDwgBp7D.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, D as DshRpcError, m as mapRpcFailure, s as statusFor } from '../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -58,4 +58,4 @@ var GET = async ({ url }) => {
58
58
  };
59
59
 
60
60
  export { GET };
61
- //# sourceMappingURL=_server.ts.js-DfXpMMpw.js.map
61
+ //# sourceMappingURL=_server.ts.js-CtFxC_yV.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -54,4 +54,4 @@ var POST = async ({ request }) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts.js-2mJCJVxk.js.map
57
+ //# sourceMappingURL=_server.ts.js-DRNzGdAj.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -44,4 +44,4 @@ var POST = async ({ params }) => {
44
44
  };
45
45
 
46
46
  export { POST };
47
- //# sourceMappingURL=_server.ts.js-BCx0Lzjf.js.map
47
+ //# sourceMappingURL=_server.ts.js-DIjNfN0d.js.map
@@ -1,8 +1,8 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-BW07Aicl.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -62,4 +62,4 @@ var POST = async ({ params, request }) => {
62
62
  };
63
63
 
64
64
  export { POST };
65
- //# sourceMappingURL=_server.ts.js-DECaSjwp.js.map
65
+ //# sourceMappingURL=_server.ts.js-CtV7JhrK.js.map
@@ -1,8 +1,8 @@
1
- import { d as deletePrompt, u as updatePrompt, b as renamePromptLabel } from '../../../../../chunks/db2.js-DkwY64WO.js';
1
+ import { d as deletePrompt, u as updatePrompt, b as renamePromptLabel } from '../../../../../chunks/db2.js-vQNFcVO7.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -65,4 +65,4 @@ var DELETE = async ({ params }) => {
65
65
  };
66
66
 
67
67
  export { DELETE, PATCH };
68
- //# sourceMappingURL=_server.ts.js-i_ciJzlb.js.map
68
+ //# sourceMappingURL=_server.ts.js-Cg9zHbUP.js.map
@@ -1,8 +1,8 @@
1
- import { p as parseTagWords, q as isValidTagWord } from '../../../../chunks/insight-config.js-C5-Rhh5A.js';
2
- import { l as listPrompts, s as searchPrompts, c as createPrompt } from '../../../../chunks/db2.js-DkwY64WO.js';
1
+ import { p as parseTagWords, q as isValidTagWord } from '../../../../chunks/insight-config.js-ylYA2CXm.js';
2
+ import { l as listPrompts, s as searchPrompts, c as createPrompt } from '../../../../chunks/db2.js-vQNFcVO7.js';
3
3
  import { j as json } from '../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import '../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -101,4 +101,4 @@ var POST = async ({ request }) => {
101
101
  };
102
102
 
103
103
  export { GET, POST };
104
- //# sourceMappingURL=_server.ts.js-BO1pScn7.js.map
104
+ //# sourceMappingURL=_server.ts.js-DOHmlKvl.js.map
@@ -1,8 +1,8 @@
1
- import { a as countPromptUse } from '../../../../../chunks/db2.js-DkwY64WO.js';
1
+ import { a as countPromptUse } from '../../../../../chunks/db2.js-vQNFcVO7.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
3
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
4
4
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
5
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
5
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
@@ -43,4 +43,4 @@ var POST = async ({ request }) => {
43
43
  };
44
44
 
45
45
  export { POST };
46
- //# sourceMappingURL=_server.ts.js-Buhpf7WE.js.map
46
+ //# sourceMappingURL=_server.ts.js-COVyy224.js.map
@@ -1,5 +1,5 @@
1
- import { s as DEFAULT_DSH_PRESET_ENGLISH, t as DEFAULT_SERVER_CONFIG, u as DEFAULT_PROMPTS_CONFIG, v as DEFAULT_SIDEBAR_CONFIG, w as DEFAULT_PANEL_CONFIG, x as DEFAULT_A2A_CONFIG, y as DEFAULT_HOME_CONFIG, z as DEFAULT_CONVERSATION_CONFIG, A as DEFAULT_CHAT_CONFIG } from '../../../../chunks/insight-config.js-C5-Rhh5A.js';
2
- import { r as readSettingsDocument, s as saveSettingsDocument, S as SettingsParseError } from '../../../../chunks/settings-document.js-DxKURfc_.js';
1
+ import { s as DEFAULT_DSH_PRESET_ENGLISH, t as DEFAULT_SERVER_CONFIG, u as DEFAULT_PROMPTS_CONFIG, v as DEFAULT_SIDEBAR_CONFIG, w as DEFAULT_PANEL_CONFIG, x as DEFAULT_A2A_CONFIG, y as DEFAULT_HOME_CONFIG, z as DEFAULT_CONVERSATION_CONFIG, A as DEFAULT_CHAT_CONFIG } from '../../../../chunks/insight-config.js-ylYA2CXm.js';
2
+ import { r as readSettingsDocument, s as saveSettingsDocument, S as SettingsParseError } from '../../../../chunks/settings-document.js-BIxaivJ1.js';
3
3
  import { j as json } from '../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import { stringify } from 'yaml';
5
5
  import '../../../../chunks/config.js-r_jw_bQQ.js';
@@ -100,4 +100,4 @@ var PUT = async ({ url, request }) => {
100
100
  };
101
101
 
102
102
  export { GET, PUT };
103
- //# sourceMappingURL=_server.ts.js-DngUQzcT.js.map
103
+ //# sourceMappingURL=_server.ts.js-HjpfRAaT.js.map
@@ -0,0 +1,42 @@
1
+ import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../../chunks/registry2.js-BZfrwsOy.js';
2
+ import { j as json } from '../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
+ import 'node:path';
4
+ import 'node:os';
5
+ import 'node:child_process';
6
+ import 'node:crypto';
7
+ import 'node:fs/promises';
8
+ import 'node:events';
9
+ import 'node-pty';
10
+ import '../../../../../../chunks/shared.js-HQ0rfhm4.js';
11
+ import '../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
12
+
13
+ //#region src/routes/api/terminal/[id]/delete/+server.ts
14
+ /**
15
+ * DELETE /api/terminal/[id]/delete — kill + PRUNE (ADR amendment
16
+ * 2026-11-07, D2 extension; spec 2026-11-07 Terminal Prune Verb).
17
+ *
18
+ * Runs the proven close ladder over terminalRegistry.destroy, then the
19
+ * registry entry (id + ring) is gone from list() in the same call. The
20
+ * fence applies: the request presents the session's token; a wrong one
21
+ * is refused FOREIGN_SESSION (the desk heals once — reattach, retry the
22
+ * SAME verb — per the 2026-11-04 auto-heal law).
23
+ */
24
+ var DELETE = async ({ params, request }) => {
25
+ let token = null;
26
+ try {
27
+ token = (await request.json())?.token;
28
+ } catch {
29
+ token = null;
30
+ }
31
+ if (typeof token !== "string" || token.length === 0) return json({ error: "FOREIGN_SESSION" }, { status: 403 });
32
+ try {
33
+ const result = await terminalRegistry.destroy(params.id, token);
34
+ return json(result);
35
+ } catch (err) {
36
+ if (err instanceof TerminalRegistryRefusal) return json({ error: err.code }, { status: err.code === "NO_SESSION" ? 404 : 403 });
37
+ throw err;
38
+ }
39
+ };
40
+
41
+ export { DELETE };
42
+ //# sourceMappingURL=_server.ts.js-D9UU6xR6.js.map
@@ -1,4 +1,4 @@
1
- import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../../chunks/registry2.js-CFzpvj9c.js';
1
+ import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../../chunks/registry2.js-BZfrwsOy.js';
2
2
  import { j as json } from '../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:path';
4
4
  import 'node:os';
@@ -28,4 +28,4 @@ var GET = (ctx) => {
28
28
  };
29
29
 
30
30
  export { GET };
31
- //# sourceMappingURL=_server.ts.js-DLETP4yQ.js.map
31
+ //# sourceMappingURL=_server.ts.js-BqJRMRsb.js.map
@@ -1,4 +1,4 @@
1
- import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../../chunks/registry2.js-CFzpvj9c.js';
1
+ import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../../chunks/registry2.js-BZfrwsOy.js';
2
2
  import { j as json } from '../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:path';
4
4
  import 'node:os';
@@ -31,4 +31,4 @@ var POST = (ctx) => {
31
31
  };
32
32
 
33
33
  export { POST };
34
- //# sourceMappingURL=_server.ts.js-uWl6oxPS.js.map
34
+ //# sourceMappingURL=_server.ts.js-D6bMXeOk.js.map
@@ -1,4 +1,4 @@
1
- import { t as terminalRegistry, T as TerminalRegistryRefusal, a as TerminalSendRefusal } from '../../../../../../chunks/registry2.js-CFzpvj9c.js';
1
+ import { t as terminalRegistry, T as TerminalRegistryRefusal, a as TerminalSendRefusal } from '../../../../../../chunks/registry2.js-BZfrwsOy.js';
2
2
  import { j as json } from '../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:path';
4
4
  import 'node:os';
@@ -64,4 +64,4 @@ var POST = async (ctx) => {
64
64
  };
65
65
 
66
66
  export { POST };
67
- //# sourceMappingURL=_server.ts.js-DYNmXaAd.js.map
67
+ //# sourceMappingURL=_server.ts.js-BRgsqPFM.js.map
@@ -1,4 +1,4 @@
1
- import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../../chunks/registry2.js-CFzpvj9c.js';
1
+ import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../../chunks/registry2.js-BZfrwsOy.js';
2
2
  import { j as json } from '../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:path';
4
4
  import 'node:os';
@@ -113,4 +113,4 @@ var GET = (ctx) => {
113
113
  };
114
114
 
115
115
  export { GET };
116
- //# sourceMappingURL=_server.ts.js-C5m3Ktho.js.map
116
+ //# sourceMappingURL=_server.ts.js-EWo4sSmg.js.map
@@ -1,9 +1,9 @@
1
- import { B as readTerminalConfig } from '../../../../chunks/insight-config.js-C5-Rhh5A.js';
2
- import { t as terminalRegistry } from '../../../../chunks/registry2.js-CFzpvj9c.js';
1
+ import { B as readTerminalConfig } from '../../../../chunks/insight-config.js-ylYA2CXm.js';
2
+ import { t as terminalRegistry } from '../../../../chunks/registry2.js-BZfrwsOy.js';
3
3
  import { j as json } from '../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import { homedir } from 'node:os';
5
5
  import '../../../../chunks/config.js-r_jw_bQQ.js';
6
- import '../../../../chunks/settings-document.js-DxKURfc_.js';
6
+ import '../../../../chunks/settings-document.js-BIxaivJ1.js';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
9
  import 'yaml';
@@ -73,4 +73,4 @@ var POST = async ({ request }) => {
73
73
  };
74
74
 
75
75
  export { GET, POST };
76
- //# sourceMappingURL=_server.ts.js-DoTNvcOa.js.map
76
+ //# sourceMappingURL=_server.ts.js-v1ixRdpN.js.map
@@ -0,0 +1,185 @@
1
+ import { t as terminalRegistry, T as TerminalRegistryRefusal } from '../../../../../chunks/registry2.js-BZfrwsOy.js';
2
+ import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
+ import 'node:path';
4
+ import 'node:os';
5
+ import 'node:child_process';
6
+ import 'node:crypto';
7
+ import 'node:fs/promises';
8
+ import 'node:events';
9
+ import 'node-pty';
10
+ import '../../../../../chunks/shared.js-HQ0rfhm4.js';
11
+ import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
12
+
13
+ //#region src/routes/api/terminal/stream/+server.ts
14
+ /**
15
+ * /api/terminal/stream — the ONE multiplexed SSE hub (ADR-0053 Wave 1).
16
+ *
17
+ * Plain terms: instead of one private pipe per terminal row (the browser's
18
+ * 6-per-host HTTP/1.1 budget — RCA 2026-11-07), this endpoint carries every
19
+ * subscribed session's frames down ONE stream, each frame labelled with its
20
+ * sessionId; the client hub fans them back out by id.
21
+ *
22
+ * Wire: GET ?ids=<url-encoded JSON array>&resume=<url-encoded JSON object
23
+ * mapping id -> byte offset>. EventSource cannot POST, so both ride the
24
+ * query string (ADR-0053 constraint). Per id:
25
+ * - tail replay via registry.readFrom(id, resume[id] ?? 0) — the FIRST
26
+ * output frame carries nextOffset/lossy/spillPath (same shape as the
27
+ * per-session endpoint, plus the sessionId tag);
28
+ * - live subscription via registry.events(id), frames tagged sessionId;
29
+ * - a dead/unknown id is NOT fatal to the hub: it emits one per-session
30
+ * error frame (NO_SESSION) and keeps serving the rest (AC5).
31
+ *
32
+ * Cancel arm (crash RCA 2026-09-24, AC7): a client going away cancels the
33
+ * ReadableStream — ALL per-session listeners are dropped there so no live
34
+ * PTY can enqueue into a dead controller. Each session's own closed frame
35
+ * drops only that id's listener; the hub keeps serving the other ids.
36
+ *
37
+ * The per-session endpoint /api/terminal/[id]/stream stays untouched as
38
+ * the fallback (ADR-0053 D6).
39
+ */
40
+ var SSE_HEADERS = {
41
+ "content-type": "text/event-stream",
42
+ "cache-control": "no-store",
43
+ connection: "keep-alive",
44
+ "x-accel-buffering": "no"
45
+ };
46
+ function sseFrame(event, data) {
47
+ return "event: " + event + "\ndata: " + JSON.stringify(data) + "\n\n";
48
+ }
49
+ /** Parse the ids query param — a JSON array of session ids (deduped). */
50
+ function parseIds(raw) {
51
+ if (!raw) return [];
52
+ try {
53
+ const parsed = JSON.parse(raw);
54
+ if (!Array.isArray(parsed)) return [];
55
+ return [...new Set(parsed.filter((v) => typeof v === "string" && v.length > 0))];
56
+ } catch {
57
+ return [];
58
+ }
59
+ }
60
+ /** Parse the resume query param — a JSON object mapping id -> byte offset. */
61
+ function parseResume(raw) {
62
+ if (!raw) return {};
63
+ try {
64
+ const parsed = JSON.parse(raw);
65
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) return {};
66
+ const out = {};
67
+ for (const [id, value] of Object.entries(parsed)) if (typeof value === "number" && Number.isFinite(value) && value >= 0) out[id] = value;
68
+ return out;
69
+ } catch {
70
+ return {};
71
+ }
72
+ }
73
+ var GET = (ctx) => {
74
+ const ids = parseIds(ctx.url.searchParams.get("ids"));
75
+ const resume = parseResume(ctx.url.searchParams.get("resume"));
76
+ if (ids.length === 0) return json({ error: "NO_IDS" }, { status: 400 });
77
+ const encoder = new TextEncoder();
78
+ const state = { closed: false };
79
+ const detachFns = [];
80
+ const stream = new ReadableStream({
81
+ start(controller) {
82
+ const enqueue = (chunk) => {
83
+ if (state.closed) return;
84
+ try {
85
+ controller.enqueue(encoder.encode(chunk));
86
+ } catch {
87
+ state.closed = true;
88
+ }
89
+ };
90
+ const makeOnEvent = (id) => {
91
+ return (event) => {
92
+ if (event.type === "output") {
93
+ enqueue(sseFrame("output", {
94
+ sessionId: id,
95
+ text: event.bytes,
96
+ nextOffset: event.nextOffset,
97
+ lossy: false
98
+ }));
99
+ return;
100
+ }
101
+ if (event.type === "settled") {
102
+ enqueue(sseFrame("settled", {
103
+ sessionId: id,
104
+ reason: event.reason
105
+ }));
106
+ return;
107
+ }
108
+ if (event.type === "exit") {
109
+ enqueue(sseFrame("exit", {
110
+ sessionId: id,
111
+ outcome: event.outcome
112
+ }));
113
+ return;
114
+ }
115
+ if (event.type === "closed") {
116
+ enqueue(sseFrame("closed", {
117
+ sessionId: id,
118
+ quiescent: event.quiescent,
119
+ lingeringPids: event.lingeringPids
120
+ }));
121
+ detachFns.find((fn) => fn === detach.get(id))?.();
122
+ }
123
+ };
124
+ };
125
+ const detach = /* @__PURE__ */ new Map();
126
+ for (const id of ids) {
127
+ try {
128
+ terminalRegistry.peek(id);
129
+ } catch (err) {
130
+ if (err instanceof TerminalRegistryRefusal) {
131
+ enqueue(sseFrame("error", {
132
+ sessionId: id,
133
+ error: err.code
134
+ }));
135
+ continue;
136
+ }
137
+ throw err;
138
+ }
139
+ const session = terminalRegistry.events(id);
140
+ if (!session) {
141
+ enqueue(sseFrame("error", {
142
+ sessionId: id,
143
+ error: "NO_SESSION"
144
+ }));
145
+ continue;
146
+ }
147
+ const fromByte = resume[id] ?? 0;
148
+ const read = terminalRegistry.readFrom(id, fromByte);
149
+ enqueue(sseFrame("output", {
150
+ sessionId: id,
151
+ text: read.text,
152
+ nextOffset: read.nextOffset,
153
+ lossy: read.lossy,
154
+ spillPath: read.spillPath
155
+ }));
156
+ const onEvent = makeOnEvent(id);
157
+ session.on("event", onEvent);
158
+ const off = () => {
159
+ session.off("event", onEvent);
160
+ detach.delete(id);
161
+ const idx = detachFns.indexOf(off);
162
+ if (idx >= 0) detachFns.splice(idx, 1);
163
+ };
164
+ detach.set(id, off);
165
+ detachFns.push(off);
166
+ if (session.isExited() && terminalRegistry.exitOutcome(id) !== null && !terminalRegistry.list().some((s) => s.id === id)) {
167
+ enqueue(sseFrame("error", {
168
+ sessionId: id,
169
+ error: "NO_SESSION"
170
+ }));
171
+ off();
172
+ }
173
+ }
174
+ },
175
+ cancel() {
176
+ state.closed = true;
177
+ for (const off of [...detachFns]) off();
178
+ detachFns.length = 0;
179
+ }
180
+ });
181
+ return new Response(stream, { headers: SSE_HEADERS });
182
+ };
183
+
184
+ export { GET };
185
+ //# sourceMappingURL=_server.ts.js-BQOQyT7o.js.map
@@ -1,11 +1,11 @@
1
- import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-BW07Aicl.js';
2
- import { g as gitGateEnabled, i as isInsideRoot } from '../../../../../chunks/git-probe.js-CQqTV7XX.js';
1
+ import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
+ import { g as gitGateEnabled, i as isInsideRoot } from '../../../../../chunks/git-probe.js-BIieYqLU.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import { promises } from 'node:fs';
5
5
  import * as nodePath from 'node:path';
6
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
6
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
7
7
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
8
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
8
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
9
9
  import 'node:os';
10
10
  import 'yaml';
11
11
  import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
@@ -108,4 +108,4 @@ var POST = async ({ request }) => {
108
108
  };
109
109
 
110
110
  export { POST };
111
- //# sourceMappingURL=_server.ts.js-BzYOJSkI.js.map
111
+ //# sourceMappingURL=_server.ts.js-CjU6bLOf.js.map
@@ -1,12 +1,12 @@
1
- import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-BW07Aicl.js';
2
- import { g as gitGateEnabled, i as isInsideRoot, a as gitStatus, p as parsePorcelainStatus } from '../../../../../chunks/git-probe.js-CQqTV7XX.js';
1
+ import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-Dcdxqp52.js';
2
+ import { g as gitGateEnabled, i as isInsideRoot, a as gitStatus, p as parsePorcelainStatus } from '../../../../../chunks/git-probe.js-BIieYqLU.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import { watch } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import { execFileSync } from 'node:child_process';
7
- import '../../../../../chunks/insight-config.js-C5-Rhh5A.js';
7
+ import '../../../../../chunks/insight-config.js-ylYA2CXm.js';
8
8
  import '../../../../../chunks/config.js-r_jw_bQQ.js';
9
- import '../../../../../chunks/settings-document.js-DxKURfc_.js';
9
+ import '../../../../../chunks/settings-document.js-BIxaivJ1.js';
10
10
  import 'node:os';
11
11
  import 'yaml';
12
12
  import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
@@ -312,4 +312,4 @@ var GET = async ({ url, request }) => {
312
312
  };
313
313
 
314
314
  export { GET };
315
- //# sourceMappingURL=_server.ts.js-xcNesei9.js.map
315
+ //# sourceMappingURL=_server.ts.js-CYU0btiH.js.map