@deepseek-insight/dsi 0.5.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.
- package/LICENSE +204 -0
- package/README.md +98 -0
- package/bin/dsi.mjs +147 -0
- package/build/client/_app/immutable/assets/0.DqFt8jIM.css +2 -0
- package/build/client/_app/immutable/assets/2.YlW45hiM.css +1 -0
- package/build/client/_app/immutable/assets/codicon.Brq4_Ui5.ttf +0 -0
- package/build/client/_app/immutable/assets/editor.jjEx9u7D.css +1 -0
- package/build/client/_app/immutable/assets/settings-monaco.C1CMdMvw.css +1 -0
- package/build/client/_app/immutable/chunks/-g7BcI22.js +4 -0
- package/build/client/_app/immutable/chunks/08VXUWAP.js +1 -0
- package/build/client/_app/immutable/chunks/2irkVCIh.js +10 -0
- package/build/client/_app/immutable/chunks/43DmfD33.js +1 -0
- package/build/client/_app/immutable/chunks/6GKQw8m6.js +99 -0
- package/build/client/_app/immutable/chunks/6RTg0lbw.js +1 -0
- package/build/client/_app/immutable/chunks/9TvT6fta.js +120 -0
- package/build/client/_app/immutable/chunks/B1YSaoU7.js +96 -0
- package/build/client/_app/immutable/chunks/B2J2w5EN.js +1 -0
- package/build/client/_app/immutable/chunks/B5-_aFwp.js +2 -0
- package/build/client/_app/immutable/chunks/B8-Q2PIv.js +1 -0
- package/build/client/_app/immutable/chunks/B8J7ngcE.js +1 -0
- package/build/client/_app/immutable/chunks/B9JPFI3C.js +2 -0
- package/build/client/_app/immutable/chunks/BAZKJuQw.js +1 -0
- package/build/client/_app/immutable/chunks/BBKpNcUe.js +1 -0
- package/build/client/_app/immutable/chunks/BEEn4gHE.js +1 -0
- package/build/client/_app/immutable/chunks/BEtHBSE6.js +1 -0
- package/build/client/_app/immutable/chunks/BFoDCU3G.js +1 -0
- package/build/client/_app/immutable/chunks/BHtPwB2y.js +847 -0
- package/build/client/_app/immutable/chunks/BI-MrBd-.js +1 -0
- package/build/client/_app/immutable/chunks/BI4pMaIG.js +1 -0
- package/build/client/_app/immutable/chunks/BJL7RCQE.js +4 -0
- package/build/client/_app/immutable/chunks/BKxtCVv1.js +1 -0
- package/build/client/_app/immutable/chunks/BOfSXrr7.js +1 -0
- package/build/client/_app/immutable/chunks/BOotOW0E.js +1 -0
- package/build/client/_app/immutable/chunks/BTzV9O1M.js +3 -0
- package/build/client/_app/immutable/chunks/BW-FRVGs.js +1 -0
- package/build/client/_app/immutable/chunks/BWPQTe0t.js +1 -0
- package/build/client/_app/immutable/chunks/BYgofb2h.js +1 -0
- package/build/client/_app/immutable/chunks/Ba7i2nA0.js +1 -0
- package/build/client/_app/immutable/chunks/Bb19NAkg.js +1 -0
- package/build/client/_app/immutable/chunks/Bc_sGQ0U.js +1 -0
- package/build/client/_app/immutable/chunks/BeGwcela.js +1 -0
- package/build/client/_app/immutable/chunks/BeZqd5lB.js +1 -0
- package/build/client/_app/immutable/chunks/Beo7Z46k.js +7 -0
- package/build/client/_app/immutable/chunks/BhNEBkk_.js +39 -0
- package/build/client/_app/immutable/chunks/BifhSqXX.js +1 -0
- package/build/client/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/build/client/_app/immutable/chunks/BlltJnm0.js +1 -0
- package/build/client/_app/immutable/chunks/Bn9NRi0R.js +168 -0
- package/build/client/_app/immutable/chunks/BnF5Jm-h.js +1 -0
- package/build/client/_app/immutable/chunks/Bp4uuUjI.js +3 -0
- package/build/client/_app/immutable/chunks/BrTsmS-o.js +57 -0
- package/build/client/_app/immutable/chunks/Bri6UV-V.js +1 -0
- package/build/client/_app/immutable/chunks/Btk-1DaX.js +1 -0
- package/build/client/_app/immutable/chunks/BwWrilGY.js +1 -0
- package/build/client/_app/immutable/chunks/Bxkupp3x.js +1 -0
- package/build/client/_app/immutable/chunks/Bz4Y3fRF.js +1 -0
- package/build/client/_app/immutable/chunks/C-OQMol4.js +1 -0
- package/build/client/_app/immutable/chunks/C-y9NEjX.js +1 -0
- package/build/client/_app/immutable/chunks/C1JXY9b5.js +30 -0
- package/build/client/_app/immutable/chunks/C2x7inlt.js +321 -0
- package/build/client/_app/immutable/chunks/C531GsRP.js +2 -0
- package/build/client/_app/immutable/chunks/C5TAQhFO.js +1 -0
- package/build/client/_app/immutable/chunks/C5_-GSwl.js +1 -0
- package/build/client/_app/immutable/chunks/C6lv30UQ.js +1 -0
- package/build/client/_app/immutable/chunks/C7h46wYY.js +1 -0
- package/build/client/_app/immutable/chunks/C8Ef5oNN.js +1 -0
- package/build/client/_app/immutable/chunks/CA_WNCsl.js +41 -0
- package/build/client/_app/immutable/chunks/CC2rA5mh.js +1 -0
- package/build/client/_app/immutable/chunks/CHdTS7qa.js +15 -0
- package/build/client/_app/immutable/chunks/CIPQ_RoX.js +1 -0
- package/build/client/_app/immutable/chunks/CJ_zvTBg.js +72 -0
- package/build/client/_app/immutable/chunks/CPEyWost.js +1 -0
- package/build/client/_app/immutable/chunks/CPgSxomx.js +1 -0
- package/build/client/_app/immutable/chunks/CRfGWb83.js +1 -0
- package/build/client/_app/immutable/chunks/CTgm3pse.js +1 -0
- package/build/client/_app/immutable/chunks/CVaqCwHa.js +1 -0
- package/build/client/_app/immutable/chunks/CWKM3f5q.js +1 -0
- package/build/client/_app/immutable/chunks/CWVpRRWx.js +162 -0
- package/build/client/_app/immutable/chunks/CXMH3UgJ.js +257 -0
- package/build/client/_app/immutable/chunks/CZ-RNlot.js +1 -0
- package/build/client/_app/immutable/chunks/CZXl7qUb.js +70 -0
- package/build/client/_app/immutable/chunks/C_N-eONP.js +1 -0
- package/build/client/_app/immutable/chunks/Cb1pwoev.js +1 -0
- package/build/client/_app/immutable/chunks/CcL1k2On.js +11 -0
- package/build/client/_app/immutable/chunks/CcWV7GYH.js +1 -0
- package/build/client/_app/immutable/chunks/CcwsVR0C.js +1 -0
- package/build/client/_app/immutable/chunks/Cd6K7Y8m.js +1 -0
- package/build/client/_app/immutable/chunks/CfSJPG6W.js +1 -0
- package/build/client/_app/immutable/chunks/CfZ7uSQe.js +38 -0
- package/build/client/_app/immutable/chunks/Cimd5fb3.js +1 -0
- package/build/client/_app/immutable/chunks/Cj-Zm41R.js +36 -0
- package/build/client/_app/immutable/chunks/CjZ_QSbm.js +1 -0
- package/build/client/_app/immutable/chunks/CkrcOjFY.js +1 -0
- package/build/client/_app/immutable/chunks/ClamHrr6.js +1 -0
- package/build/client/_app/immutable/chunks/Cm7r79vr.js +1 -0
- package/build/client/_app/immutable/chunks/CmbEK4CY.js +84 -0
- package/build/client/_app/immutable/chunks/CmvnEPtD.js +7 -0
- package/build/client/_app/immutable/chunks/CopQ2nXW.js +1 -0
- package/build/client/_app/immutable/chunks/CpzslTdj.js +1 -0
- package/build/client/_app/immutable/chunks/CsHVnZCH.js +1 -0
- package/build/client/_app/immutable/chunks/CsQS60Ue.js +1 -0
- package/build/client/_app/immutable/chunks/CuRJVwEq.js +1 -0
- package/build/client/_app/immutable/chunks/D-oSqn_W.js +1 -0
- package/build/client/_app/immutable/chunks/D-ptJ9y-.js +1 -0
- package/build/client/_app/immutable/chunks/D05T4iGw.js +1 -0
- package/build/client/_app/immutable/chunks/D0I62FkS.js +1 -0
- package/build/client/_app/immutable/chunks/D16vkywU.js +1 -0
- package/build/client/_app/immutable/chunks/D1qzYj9m.js +1 -0
- package/build/client/_app/immutable/chunks/D3hlyOfw.js +1 -0
- package/build/client/_app/immutable/chunks/D4gq_dik.js +1 -0
- package/build/client/_app/immutable/chunks/D7fX-3xy.js +1 -0
- package/build/client/_app/immutable/chunks/D8-5qLJg.js +231 -0
- package/build/client/_app/immutable/chunks/D8hlhfM3.js +1 -0
- package/build/client/_app/immutable/chunks/DAS1CLuE.js +24 -0
- package/build/client/_app/immutable/chunks/DGarjVZC.js +1 -0
- package/build/client/_app/immutable/chunks/DGd2pJF5.js +1 -0
- package/build/client/_app/immutable/chunks/DHpiXF5c.js +1 -0
- package/build/client/_app/immutable/chunks/DHwB1DNv.js +161 -0
- package/build/client/_app/immutable/chunks/DIMkf-bt.js +3 -0
- package/build/client/_app/immutable/chunks/DISqw1ZD.js +1 -0
- package/build/client/_app/immutable/chunks/DITEY8D_.js +62 -0
- package/build/client/_app/immutable/chunks/DL0yNkAA.js +1 -0
- package/build/client/_app/immutable/chunks/DL1Hc2zs.js +1 -0
- package/build/client/_app/immutable/chunks/DLOOos_8.js +292 -0
- package/build/client/_app/immutable/chunks/DMUM7wLl.js +1 -0
- package/build/client/_app/immutable/chunks/DPKol_4Z.js +139 -0
- package/build/client/_app/immutable/chunks/DS17s2tU.js +1 -0
- package/build/client/_app/immutable/chunks/DT7zqm-g.js +1 -0
- package/build/client/_app/immutable/chunks/DTj74zXo.js +1 -0
- package/build/client/_app/immutable/chunks/DV3o63ZY.js +1 -0
- package/build/client/_app/immutable/chunks/DVXVVWkX.js +129 -0
- package/build/client/_app/immutable/chunks/DWDfcLfy.js +206 -0
- package/build/client/_app/immutable/chunks/DXeGLmed.js +8 -0
- package/build/client/_app/immutable/chunks/DYqsupvX.js +1 -0
- package/build/client/_app/immutable/chunks/DZ6u0Z-K.js +1 -0
- package/build/client/_app/immutable/chunks/DZFCIeNp.js +1 -0
- package/build/client/_app/immutable/chunks/D_Lu-MrJ.js +1 -0
- package/build/client/_app/immutable/chunks/DauUninz.js +1 -0
- package/build/client/_app/immutable/chunks/DbInun42.js +1 -0
- package/build/client/_app/immutable/chunks/DbcKN35_.js +3 -0
- package/build/client/_app/immutable/chunks/DcZe4Woe.js +1 -0
- package/build/client/_app/immutable/chunks/DdL9SqIa.js +1 -0
- package/build/client/_app/immutable/chunks/De2hgUGE.js +1 -0
- package/build/client/_app/immutable/chunks/DezsRK8O.js +1 -0
- package/build/client/_app/immutable/chunks/Dg_UWGX7.js +24 -0
- package/build/client/_app/immutable/chunks/Dj2t5yNg.js +1 -0
- package/build/client/_app/immutable/chunks/DkqhCAOL.js +1 -0
- package/build/client/_app/immutable/chunks/DlQrSOw4.js +7 -0
- package/build/client/_app/immutable/chunks/DmHpPYUd.js +1 -0
- package/build/client/_app/immutable/chunks/Dmn-tsie.js +1 -0
- package/build/client/_app/immutable/chunks/DpFanUEy.js +298 -0
- package/build/client/_app/immutable/chunks/DqwfDHZH.js +89 -0
- package/build/client/_app/immutable/chunks/Dr0pcX_F.js +1 -0
- package/build/client/_app/immutable/chunks/DrH0SRf2.js +1 -0
- package/build/client/_app/immutable/chunks/DsF7k-Jl.js +1 -0
- package/build/client/_app/immutable/chunks/DtBGId5S.js +2 -0
- package/build/client/_app/immutable/chunks/DuM1hSCa.js +1 -0
- package/build/client/_app/immutable/chunks/Du_ODUAO.js +1 -0
- package/build/client/_app/immutable/chunks/DvCMcJ3P.js +1 -0
- package/build/client/_app/immutable/chunks/Dy-Kn_BL.js +1 -0
- package/build/client/_app/immutable/chunks/DzVMo6mB.js +62 -0
- package/build/client/_app/immutable/chunks/ESmLJICu.js +1 -0
- package/build/client/_app/immutable/chunks/FvmIjYaQ.js +1 -0
- package/build/client/_app/immutable/chunks/GBaNblmo.js +1 -0
- package/build/client/_app/immutable/chunks/HclGiUj8.js +1 -0
- package/build/client/_app/immutable/chunks/Ju5jF6hy.js +1 -0
- package/build/client/_app/immutable/chunks/KythIMN8.js +1 -0
- package/build/client/_app/immutable/chunks/LWre5GKl.js +40 -0
- package/build/client/_app/immutable/chunks/NEE52Syq.js +1 -0
- package/build/client/_app/immutable/chunks/No6lfiAw.js +1 -0
- package/build/client/_app/immutable/chunks/OmE6SGvs.js +106 -0
- package/build/client/_app/immutable/chunks/P_ok0Z_j.js +2 -0
- package/build/client/_app/immutable/chunks/PaZBB01u.js +1 -0
- package/build/client/_app/immutable/chunks/Rh9cy7xg.js +2 -0
- package/build/client/_app/immutable/chunks/SOo6toE5.js +1 -0
- package/build/client/_app/immutable/chunks/TNLUqJaC.js +1 -0
- package/build/client/_app/immutable/chunks/UNxFjlik.js +1 -0
- package/build/client/_app/immutable/chunks/UmdltqoE.js +1 -0
- package/build/client/_app/immutable/chunks/Z5eAx3Zn.js +1 -0
- package/build/client/_app/immutable/chunks/bTuwJoIa.js +1 -0
- package/build/client/_app/immutable/chunks/fmXr3nnJ.js +1 -0
- package/build/client/_app/immutable/chunks/fybaL0A-.js +1 -0
- package/build/client/_app/immutable/chunks/gp-XZpBa.js +3 -0
- package/build/client/_app/immutable/chunks/h-p5ZdY8.js +1 -0
- package/build/client/_app/immutable/chunks/hxYEUgOo.js +1 -0
- package/build/client/_app/immutable/chunks/i0VQdJtv.js +1 -0
- package/build/client/_app/immutable/chunks/i0X4ZdIN.js +1 -0
- package/build/client/_app/immutable/chunks/mVHw7KEX.js +7 -0
- package/build/client/_app/immutable/chunks/nDMCpPkF.js +1 -0
- package/build/client/_app/immutable/chunks/nr791fC2.js +1 -0
- package/build/client/_app/immutable/chunks/onAF5SnQ.js +1 -0
- package/build/client/_app/immutable/chunks/oz_6vUea.js +1 -0
- package/build/client/_app/immutable/chunks/qEGLx2Wc.js +78 -0
- package/build/client/_app/immutable/chunks/raVGrKQy.js +44 -0
- package/build/client/_app/immutable/chunks/sBoK_t0W.js +1 -0
- package/build/client/_app/immutable/chunks/sIEmSkn6.js +34 -0
- package/build/client/_app/immutable/chunks/wFIeY1Cf.js +88 -0
- package/build/client/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/build/client/_app/immutable/chunks/zpcgJjUg.js +127 -0
- package/build/client/_app/immutable/entry/app.B2QxMn0t.js +2 -0
- package/build/client/_app/immutable/entry/start.BR3A4iFi.js +1 -0
- package/build/client/_app/immutable/nodes/0.B_ZEZy7b.js +1 -0
- package/build/client/_app/immutable/nodes/1.By3Gd2cs.js +1 -0
- package/build/client/_app/immutable/nodes/2.1TAwiWw1.js +69 -0
- package/build/client/_app/immutable/workers/css.worker-DRH2OcAG.js +93 -0
- package/build/client/_app/immutable/workers/html.worker-DQLddT9h.js +506 -0
- package/build/client/_app/immutable/workers/json.worker-D_Dqrls5.js +62 -0
- package/build/client/_app/immutable/workers/settings-editor-worker-D9zwrD0f.js +30 -0
- package/build/client/_app/immutable/workers/ts.worker-DkYoA6bF.js +67738 -0
- package/build/client/_app/immutable/workers/yaml.worker-BTGFEDOA.js +449 -0
- package/build/client/_app/version.json +1 -0
- package/build/client/favicon.svg +7 -0
- package/build/env.js +70 -0
- package/build/handler.js +23 -0
- package/build/index.js +146 -0
- package/build/server/chunks/chunks/a2a-protocol.js-C77mVg2Q.js +52 -0
- package/build/server/chunks/chunks/app-config.svelte.js-Co9jacqT.js +52 -0
- package/build/server/chunks/chunks/config.js-BBYogCe7.js +123 -0
- package/build/server/chunks/chunks/db.js-DcmO3JAx.js +120 -0
- package/build/server/chunks/chunks/db2.js-DBltVUGg.js +717 -0
- package/build/server/chunks/chunks/dsh-connection.js-DwihVtk_.js +1957 -0
- package/build/server/chunks/chunks/dsh-events.js-BtDxaV6Q.js +706 -0
- package/build/server/chunks/chunks/env.js-l0sNRNKZ.js +2 -0
- package/build/server/chunks/chunks/exports.js-DMiPee3x.js +263 -0
- package/build/server/chunks/chunks/goal-projection.js-0_34t60K.js +44 -0
- package/build/server/chunks/chunks/image-limits.js-BMPZ55kJ.js +186 -0
- package/build/server/chunks/chunks/insight-config.js-CfMPTA6Z.js +352 -0
- package/build/server/chunks/chunks/internal.js-CQzEjdyk.js +747 -0
- package/build/server/chunks/chunks/internal2.js-D-DAuSVh.js +22 -0
- package/build/server/chunks/chunks/server.js-DoCd0fEo.js +4104 -0
- package/build/server/chunks/chunks/shared.js-C4-Py8s_.js +775 -0
- package/build/server/chunks/chunks/state.js-CpmOS0a2.js +114 -0
- package/build/server/chunks/chunks/uneval.js-BJ9Qq2SF.js +488 -0
- package/build/server/chunks/chunks/utils.js-tOWCe9Wk.js +933 -0
- package/build/server/chunks/chunks/watcher.js-BelxjMOP.js +473 -0
- package/build/server/chunks/entries/endpoints/api/a2a/_id_/_server.ts.js-B4HUNFZv.js +37 -0
- package/build/server/chunks/entries/endpoints/api/a2a/_server.ts.js-JDV_oqbX.js +61 -0
- package/build/server/chunks/entries/endpoints/api/a2a/register/_server.ts.js-Dxwc-7-5.js +99 -0
- package/build/server/chunks/entries/endpoints/api/config/_server.ts.js-D8i35bGH.js +35 -0
- package/build/server/chunks/entries/endpoints/api/dsh/directory/_server.ts.js-CeBU1G85.js +43 -0
- package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/_server.ts.js-CyrVUxv3.js +36 -0
- package/build/server/chunks/entries/endpoints/api/dsh/presets/_server.ts.js-qeO_1htT.js +33 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/attachment/_server.ts.js-DnHffohz.js +44 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/cancel/_server.ts.js-fm6MFyjP.js +33 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/catalog/_server.ts.js-wJ9V_Ue7.js +42 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/command/_server.ts.js-o83L4GUY.js +85 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/_server.ts.js-DLCHSC1M.js +212 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/fork/_server.ts.js-Ca6NU9HO.js +58 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/goal/_server.ts.js-RteR85vn.js +138 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/_server.ts.js-CEKDkK7v.js +55 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/models/_server.ts.js-D7ziyW3d.js +35 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/permission/_server.ts.js-DbkD4JZb.js +92 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/prompt/_server.ts.js-eOLNlf1-.js +94 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/rename/_server.ts.js-txQRocK9.js +57 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/respond/_server.ts.js-D3WGYzkE.js +69 -0
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/select-model/_server.ts.js-g2GtvLTs.js +69 -0
- package/build/server/chunks/entries/endpoints/api/dsh/sessions/_server.ts.js-17yKojU_.js +85 -0
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/_server.ts.js-D16pEhvd.js +99 -0
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/save/_server.ts.js-BXpZNLK8.js +110 -0
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-file-bytes/_server.ts.js-hBlyjq-x.js +113 -0
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-tree/_server.ts.js-KWRnsAkm.js +59 -0
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_server.ts.js-DzNvvCxK.js +55 -0
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/delete/_server.ts.js-MK5925CY.js +45 -0
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/rename/_server.ts.js-w3Mo0nf7.js +63 -0
- package/build/server/chunks/entries/endpoints/api/prompts/_id_/_server.ts.js-CInfjM-i.js +64 -0
- package/build/server/chunks/entries/endpoints/api/prompts/_server.ts.js-C1lqP1OV.js +87 -0
- package/build/server/chunks/entries/endpoints/api/prompts/use/_server.ts.js-B36YMKMt.js +54 -0
- package/build/server/chunks/entries/endpoints/api/settings/_server.ts.js-CHvHNzeB.js +101 -0
- package/build/server/chunks/entries/pages/_error.svelte.js-BE3-BWDd.js +41 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-EFiihTdF.js +18 -0
- package/build/server/chunks/entries/pages/_layout.ts.js-CNSo-Z1U.js +22 -0
- package/build/server/chunks/entries/pages/_page.server.ts.js-Bk8UuUXA.js +85 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-CfmKQYLK.js +13883 -0
- package/build/server/chunks/handler-BshnD4Y4.js +1735 -0
- package/build/server/chunks/index.js-I_pMeIwQ.js +3864 -0
- package/build/server/chunks/manifest.js-DwhpAk_y.js +273 -0
- package/build/server/chunks/nodes/0.js-DCyDo8-C.js +12 -0
- package/build/server/chunks/nodes/1.js-Dx7z_VWN.js +9 -0
- package/build/server/chunks/nodes/2.js-CLw9pxho.js +24 -0
- package/build/shims.js +33 -0
- package/package.json +65 -0
- package/template/.dsi/a2a.sqlite +0 -0
- package/template/.dsi/config.json +42 -0
- package/template/.dsi/prompts.sqlite +0 -0
- package/template/.dsi/settings.yaml +33 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { d as readSidebarConfig, e as readPanelConfig, c as readA2aConfig, f as readHomeConfig, g as readConversationConfig, h as readChatConfig } from '../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
2
|
+
import { j as json } from '../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import 'node:fs';
|
|
5
|
+
import 'node:path';
|
|
6
|
+
import 'node:os';
|
|
7
|
+
import 'yaml';
|
|
8
|
+
import '../../../../chunks/shared.js-C4-Py8s_.js';
|
|
9
|
+
import '../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
10
|
+
|
|
11
|
+
//#region src/routes/api/config/+server.ts
|
|
12
|
+
/**
|
|
13
|
+
* GET /api/config
|
|
14
|
+
*
|
|
15
|
+
* Returns DSI's operator-tunable browser config, read from
|
|
16
|
+
* ~/.dsi/settings.yaml (OCI /api/config pattern, ported 2026-08-25).
|
|
17
|
+
* The browser store (app-config.svelte.ts) applies this on load; every
|
|
18
|
+
* section falls back to defaults on missing/invalid values. The server-only
|
|
19
|
+
* section (server.ringCapacity) is intentionally absent — dsh-connection
|
|
20
|
+
* reads it directly server-side.
|
|
21
|
+
*/
|
|
22
|
+
var GET = async () => {
|
|
23
|
+
return json({
|
|
24
|
+
ok: true,
|
|
25
|
+
chat: readChatConfig(),
|
|
26
|
+
conversation: readConversationConfig(),
|
|
27
|
+
home: readHomeConfig(),
|
|
28
|
+
a2a: readA2aConfig(),
|
|
29
|
+
panel: readPanelConfig(),
|
|
30
|
+
sidebar: readSidebarConfig()
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { GET };
|
|
35
|
+
//# sourceMappingURL=_server.ts.js-D8i35bGH.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/directory/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — GET /api/dsh/directory?path=…
|
|
15
|
+
*
|
|
16
|
+
* One browsed directory level for the Add-workspace folder picker
|
|
17
|
+
* (2026-08-24, DSH parity: the directory-picker browse capability).
|
|
18
|
+
* Absent path lists the host home directory. The browser never reaches
|
|
19
|
+
* the DSH Host directly (BC-1); wire bytes live behind dsh-connection
|
|
20
|
+
* (BC-6).
|
|
21
|
+
*/
|
|
22
|
+
var GET = async ({ url }) => {
|
|
23
|
+
const raw = url.searchParams.get("path");
|
|
24
|
+
if (raw !== null && raw.trim().length === 0) return json({
|
|
25
|
+
ok: false,
|
|
26
|
+
error: {
|
|
27
|
+
code: "bad-path",
|
|
28
|
+
message: "path must be a non-empty absolute path when present"
|
|
29
|
+
}
|
|
30
|
+
}, { status: 400 });
|
|
31
|
+
try {
|
|
32
|
+
const listing = await getDshConnection().listDirectory(raw === null ? void 0 : raw);
|
|
33
|
+
return json({
|
|
34
|
+
ok: true,
|
|
35
|
+
listing
|
|
36
|
+
});
|
|
37
|
+
} catch (err) {
|
|
38
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { GET };
|
|
43
|
+
//# sourceMappingURL=_server.ts.js-CeBU1G85.js.map
|
package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/_server.ts.js-CyrVUxv3.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/pick-directory/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — POST /api/dsh/pick-directory
|
|
15
|
+
*
|
|
16
|
+
* The NATIVE folder pick for the Add-workspace flow (2026-08-24, DSH
|
|
17
|
+
* parity): host.pickDirectory opens one OS chooser on the host's own
|
|
18
|
+
* display (the auto backend mounts native on a local darwin/win32 host)
|
|
19
|
+
* and resolves the picked absolute path — null when the operator cancels.
|
|
20
|
+
* The browser request's abort follows through: closing the DSI panel
|
|
21
|
+
* closes the host's dialog mid-choice.
|
|
22
|
+
*/
|
|
23
|
+
var POST = async ({ request }) => {
|
|
24
|
+
try {
|
|
25
|
+
const result = await getDshConnection().pickDirectory(request.signal);
|
|
26
|
+
return json({
|
|
27
|
+
ok: true,
|
|
28
|
+
path: result.path
|
|
29
|
+
});
|
|
30
|
+
} catch (err) {
|
|
31
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { POST };
|
|
36
|
+
//# sourceMappingURL=_server.ts.js-CyrVUxv3.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/presets/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — GET /api/dsh/presets
|
|
15
|
+
*
|
|
16
|
+
* POC-2 W3: agentPreset.list through the choke point (BC-6) → picker rows
|
|
17
|
+
* {ok:true, presets:[{id,name,description,isDefault}]}. The picker's only
|
|
18
|
+
* source of truth — a preset the host doesn't list can't be created with.
|
|
19
|
+
*/
|
|
20
|
+
var GET = async () => {
|
|
21
|
+
try {
|
|
22
|
+
const { presets } = await getDshConnection().listPresets();
|
|
23
|
+
return json({
|
|
24
|
+
ok: true,
|
|
25
|
+
presets
|
|
26
|
+
});
|
|
27
|
+
} catch (err) {
|
|
28
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { GET };
|
|
33
|
+
//# sourceMappingURL=_server.ts.js-qeO_1htT.js.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/session/[sessionId]/attachment/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — GET /api/dsh/session/[sessionId]/attachment?attachmentId=…
|
|
15
|
+
*
|
|
16
|
+
* The echo's authorized read (task 3.2, ADR D7): proxies session.attachment
|
|
17
|
+
* — the ledger stores refs; bytes are fetched through this route only when
|
|
18
|
+
* rendered, session-authorized by the host (BC-A5: the echo renders from
|
|
19
|
+
* the ledger, never from the browser draft).
|
|
20
|
+
*/
|
|
21
|
+
var GET = async ({ params, url }) => {
|
|
22
|
+
const sessionId = params.sessionId;
|
|
23
|
+
const attachmentId = url.searchParams.get("attachmentId");
|
|
24
|
+
if (attachmentId === null || attachmentId.length === 0) return json({
|
|
25
|
+
ok: false,
|
|
26
|
+
error: {
|
|
27
|
+
code: "missing-attachment-id",
|
|
28
|
+
message: "attachmentId query parameter is required"
|
|
29
|
+
}
|
|
30
|
+
}, { status: 400 });
|
|
31
|
+
try {
|
|
32
|
+
const value = await getDshConnection().readAttachment(sessionId, attachmentId);
|
|
33
|
+
return json({
|
|
34
|
+
ok: true,
|
|
35
|
+
attachment: value.attachment,
|
|
36
|
+
data: value.data
|
|
37
|
+
});
|
|
38
|
+
} catch (err) {
|
|
39
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { GET };
|
|
44
|
+
//# sourceMappingURL=_server.ts.js-DnHffohz.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/session/[sessionId]/cancel/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — POST /api/dsh/session/[sessionId]/cancel
|
|
15
|
+
*
|
|
16
|
+
* session.cancel → {accepted:true}. One POST away from stopping a running
|
|
17
|
+
* turn; error mapping identical to the other routes.
|
|
18
|
+
*/
|
|
19
|
+
var POST = async ({ params }) => {
|
|
20
|
+
const sessionId = params.sessionId;
|
|
21
|
+
try {
|
|
22
|
+
const receipt = await getDshConnection().cancel(sessionId);
|
|
23
|
+
return json({
|
|
24
|
+
ok: true,
|
|
25
|
+
accepted: receipt.accepted === true
|
|
26
|
+
});
|
|
27
|
+
} catch (err) {
|
|
28
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export { POST };
|
|
33
|
+
//# sourceMappingURL=_server.ts.js-fm6MFyjP.js.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/session/[sessionId]/catalog/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — GET /api/dsh/session/[sessionId]/catalog (Slash Menu W1, task 1.2)
|
|
15
|
+
*
|
|
16
|
+
* The composer's `/` menu read path: BOTH host catalogs in one round-trip —
|
|
17
|
+
* commands/list + skills/list fired in parallel (PRD §5), merged into one
|
|
18
|
+
* payload. Fetched on first menu open per session, never on panel mount
|
|
19
|
+
* (ADR §3.3 — commands/list may resume a cold session); the client cache
|
|
20
|
+
* (slash-directory.svelte.ts) owns that discipline, this route only serves.
|
|
21
|
+
*
|
|
22
|
+
* Honest failure (PRD §5): EITHER leg failing fails the whole catalog — a
|
|
23
|
+
* half catalog is a lie about the session's vocabulary. DshRpcError → 502
|
|
24
|
+
* with the host's code; transport down → 503 (mapRpcFailure/statusFor).
|
|
25
|
+
*/
|
|
26
|
+
var GET = async ({ params }) => {
|
|
27
|
+
const sessionId = params.sessionId;
|
|
28
|
+
try {
|
|
29
|
+
const conn = getDshConnection();
|
|
30
|
+
const [commands, skills] = await Promise.all([conn.listCommands(sessionId), conn.listSkills(sessionId)]);
|
|
31
|
+
return json({
|
|
32
|
+
ok: true,
|
|
33
|
+
commands,
|
|
34
|
+
skills: skills.skills
|
|
35
|
+
});
|
|
36
|
+
} catch (err) {
|
|
37
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { GET };
|
|
42
|
+
//# sourceMappingURL=_server.ts.js-wJ9V_Ue7.js.map
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/session/[sessionId]/command/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — POST /api/dsh/session/[sessionId]/command (Slash Menu W1, task 1.2)
|
|
15
|
+
*
|
|
16
|
+
* The menu's command-pick and the executor ladder rung share this route: the
|
|
17
|
+
* FULL line goes to commands/execute VERBATIM — the client never re-parses a
|
|
18
|
+
* host command's arguments (ADR §4.4). The permission route's generalization,
|
|
19
|
+
* not its replacement (PRD §4): …/permission keeps its own route.
|
|
20
|
+
*
|
|
21
|
+
* Receipts are honest (PRD §5, Resolved decision 2):
|
|
22
|
+
* - success → {ok:true, executed:true, commandId, text?}
|
|
23
|
+
* - admission miss → {ok:true, executed:false} — the host admitted no
|
|
24
|
+
* command; a NEGATIVE ANSWER, never a 5xx (the RCA
|
|
25
|
+
* incident stays impossible: the caller keeps the
|
|
26
|
+
* draft and shows an honest note, never a model send)
|
|
27
|
+
* - command's own error→ {ok:false, code:'command-error', message} — the
|
|
28
|
+
* pick landed but the command refused (unknown preset…)
|
|
29
|
+
* - wire/RpcError → mapRpcFailure/statusFor (502/503)
|
|
30
|
+
*/
|
|
31
|
+
var POST = async ({ params, request }) => {
|
|
32
|
+
const sessionId = params.sessionId;
|
|
33
|
+
let body;
|
|
34
|
+
try {
|
|
35
|
+
body = await request.json();
|
|
36
|
+
} catch {
|
|
37
|
+
return json({
|
|
38
|
+
ok: false,
|
|
39
|
+
error: {
|
|
40
|
+
code: "bad-json",
|
|
41
|
+
message: "request body is not valid JSON"
|
|
42
|
+
}
|
|
43
|
+
}, { status: 400 });
|
|
44
|
+
}
|
|
45
|
+
const line = body?.line;
|
|
46
|
+
if (typeof line !== "string" || line.trim().length === 0) return json({
|
|
47
|
+
ok: false,
|
|
48
|
+
error: {
|
|
49
|
+
code: "empty-line",
|
|
50
|
+
message: "line must be a non-empty string"
|
|
51
|
+
}
|
|
52
|
+
}, { status: 400 });
|
|
53
|
+
if (!line.startsWith("/")) return json({
|
|
54
|
+
ok: false,
|
|
55
|
+
error: {
|
|
56
|
+
code: "not-a-command",
|
|
57
|
+
message: "line must start with /"
|
|
58
|
+
}
|
|
59
|
+
}, { status: 400 });
|
|
60
|
+
try {
|
|
61
|
+
const receipt = await getDshConnection().executeCommand(sessionId, line);
|
|
62
|
+
if (receipt === null) return json({
|
|
63
|
+
ok: true,
|
|
64
|
+
executed: false
|
|
65
|
+
});
|
|
66
|
+
if (receipt.result.kind === "error") return json({
|
|
67
|
+
ok: false,
|
|
68
|
+
error: {
|
|
69
|
+
code: "command-error",
|
|
70
|
+
message: receipt.result.text ?? "the command reported an error"
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return json({
|
|
74
|
+
ok: true,
|
|
75
|
+
executed: true,
|
|
76
|
+
commandId: receipt.commandId,
|
|
77
|
+
...receipt.result.text !== void 0 ? { text: receipt.result.text } : {}
|
|
78
|
+
});
|
|
79
|
+
} catch (err) {
|
|
80
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export { POST };
|
|
85
|
+
//# sourceMappingURL=_server.ts.js-o83L4GUY.js.map
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { h as historyToEvents, e as eventsToEntries, a as entryForEvent } from '../../../../../../../chunks/dsh-events.js-BtDxaV6Q.js';
|
|
3
|
+
import { f as filterKnobEvents, i as imageLimitsFromProjection, p as permissionFromProjection } from '../../../../../../../chunks/image-limits.js-BMPZ55kJ.js';
|
|
4
|
+
import { g as goalFromProjection } from '../../../../../../../chunks/goal-projection.js-0_34t60K.js';
|
|
5
|
+
import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
6
|
+
import '../../../../../../../chunks/config.js-BBYogCe7.js';
|
|
7
|
+
import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'node:os';
|
|
11
|
+
import 'yaml';
|
|
12
|
+
import '../../../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
13
|
+
import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
14
|
+
|
|
15
|
+
//#region src/lib/services/conversation/todo-projection.ts
|
|
16
|
+
var STATUSES = /* @__PURE__ */ new Set([
|
|
17
|
+
"pending",
|
|
18
|
+
"in_progress",
|
|
19
|
+
"completed"
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Validate the projections block's todos value.
|
|
23
|
+
*
|
|
24
|
+
* @param raw - the projection value (projections.values.todos), untyped.
|
|
25
|
+
* @returns undefined when the key is absent (not delivered), null when the
|
|
26
|
+
* host cleared the plan, else the validated items — a malformed ITEM drops
|
|
27
|
+
* from the list; a list left empty that way reads as null (never a plan of
|
|
28
|
+
* zero tasks).
|
|
29
|
+
*/
|
|
30
|
+
function todosFromProjection(raw) {
|
|
31
|
+
if (raw === void 0) return void 0;
|
|
32
|
+
if (raw === null) return null;
|
|
33
|
+
if (!Array.isArray(raw)) return null;
|
|
34
|
+
const items = [];
|
|
35
|
+
for (const entry of raw) {
|
|
36
|
+
if (entry === null || typeof entry !== "object") continue;
|
|
37
|
+
const o = entry;
|
|
38
|
+
if (typeof o.content !== "string" || o.content.length === 0) continue;
|
|
39
|
+
if (typeof o.status !== "string" || !STATUSES.has(o.status)) continue;
|
|
40
|
+
items.push({
|
|
41
|
+
content: o.content,
|
|
42
|
+
status: o.status
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return items.length > 0 ? items : null;
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/lib/services/conversation/plan-projection.ts
|
|
49
|
+
/**
|
|
50
|
+
* Validate the projections block's plan value.
|
|
51
|
+
*
|
|
52
|
+
* @param raw - the projection value (projections.values.plan), untyped.
|
|
53
|
+
* @returns the {active, pending} pair, or null when absent/malformed —
|
|
54
|
+
* the caller then hides the indicator.
|
|
55
|
+
*/
|
|
56
|
+
function planFromProjection(raw) {
|
|
57
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) return null;
|
|
58
|
+
const value = raw;
|
|
59
|
+
if (typeof value.active !== "boolean" || typeof value.pending !== "boolean") return null;
|
|
60
|
+
return {
|
|
61
|
+
active: value.active,
|
|
62
|
+
pending: value.pending
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/lib/services/conversation/ledger-stats.ts
|
|
67
|
+
/** Non-negative finite number guard (projection values are JSON). */
|
|
68
|
+
function nn(v) {
|
|
69
|
+
return typeof v === "number" && Number.isFinite(v) && v >= 0 ? v : null;
|
|
70
|
+
}
|
|
71
|
+
/** Validate one projection record field-by-field; null on any miss. */
|
|
72
|
+
function statsRecord(raw, fields) {
|
|
73
|
+
if (raw === null || typeof raw !== "object" || Array.isArray(raw)) return null;
|
|
74
|
+
const o = raw;
|
|
75
|
+
const out = {};
|
|
76
|
+
for (const field of fields) {
|
|
77
|
+
const v = nn(o[field]);
|
|
78
|
+
if (v === null) return null;
|
|
79
|
+
out[field] = v;
|
|
80
|
+
}
|
|
81
|
+
return out;
|
|
82
|
+
}
|
|
83
|
+
var SESSION_STATS_FIELDS = [
|
|
84
|
+
"turns",
|
|
85
|
+
"steps",
|
|
86
|
+
"llmMs",
|
|
87
|
+
"toolMs",
|
|
88
|
+
"ttftMs",
|
|
89
|
+
"ttftSteps",
|
|
90
|
+
"decodeMs",
|
|
91
|
+
"decodeTokens"
|
|
92
|
+
];
|
|
93
|
+
var TOKEN_USAGE_FIELDS = [
|
|
94
|
+
"uncachedInputTokens",
|
|
95
|
+
"cacheReadTokens",
|
|
96
|
+
"cacheWriteTokens",
|
|
97
|
+
"outputTokens"
|
|
98
|
+
];
|
|
99
|
+
/**
|
|
100
|
+
* Validate the projections block's ledger-stats pair.
|
|
101
|
+
*
|
|
102
|
+
* @param sessionStats - projections.values.sessionStats (sessionStats wire view).
|
|
103
|
+
* @param tokenUsage - projections.values.tokenUsage (the flat
|
|
104
|
+
* TokenUsageProjection wire value — the persisted fold state's totals
|
|
105
|
+
* wrapper never rides the projection stream).
|
|
106
|
+
* @returns the merged ledger stats, or null when either projection is
|
|
107
|
+
* absent or malformed (the caller keeps the partial fold).
|
|
108
|
+
*/
|
|
109
|
+
function ledgerStatsFromProjections(sessionStats, tokenUsage) {
|
|
110
|
+
const stats = statsRecord(sessionStats, SESSION_STATS_FIELDS);
|
|
111
|
+
if (stats === null) return null;
|
|
112
|
+
const totals = statsRecord(tokenUsage, TOKEN_USAGE_FIELDS);
|
|
113
|
+
if (totals === null) return null;
|
|
114
|
+
return {
|
|
115
|
+
turns: stats.turns,
|
|
116
|
+
steps: stats.steps,
|
|
117
|
+
llmMs: stats.llmMs,
|
|
118
|
+
toolMs: stats.toolMs,
|
|
119
|
+
ttftMs: stats.ttftMs,
|
|
120
|
+
ttftSteps: stats.ttftSteps,
|
|
121
|
+
decodeMs: stats.decodeMs,
|
|
122
|
+
decodeTokens: stats.decodeTokens,
|
|
123
|
+
uncachedInputTokens: totals.uncachedInputTokens,
|
|
124
|
+
cacheReadTokens: totals.cacheReadTokens,
|
|
125
|
+
cacheWriteTokens: totals.cacheWriteTokens,
|
|
126
|
+
outputTokens: totals.outputTokens
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/routes/api/dsh/session/[sessionId]/events/+server.ts
|
|
131
|
+
/**
|
|
132
|
+
* api-dsh — GET /api/dsh/session/[sessionId]/events?since=N
|
|
133
|
+
*
|
|
134
|
+
* PollResponse: entries (DsiEntry render list), lastSeq, running — plus the
|
|
135
|
+
* POC-3 W1 additive answerer fields pendingAnswers/settledAnswers (BC-E:
|
|
136
|
+
* control state rides the poll, never the ledger entries).
|
|
137
|
+
*
|
|
138
|
+
* Wave 3 wiring: raw ring-buffer events pass through dsh-events.entryForEvent
|
|
139
|
+
* (the shared mapper) before serving — the same rules as the cold load.
|
|
140
|
+
*/
|
|
141
|
+
var GET = async ({ params, url, setHeaders }) => {
|
|
142
|
+
setHeaders({ "cache-control": "no-store" });
|
|
143
|
+
const sessionId = params.sessionId;
|
|
144
|
+
const sinceRaw = url.searchParams.get("since");
|
|
145
|
+
const since = sinceRaw !== null && Number.isFinite(Number(sinceRaw)) ? Number(sinceRaw) : -1;
|
|
146
|
+
const conn = getDshConnection();
|
|
147
|
+
conn.ensureDownlinks();
|
|
148
|
+
conn.subscribe(sessionId);
|
|
149
|
+
const acked = url.searchParams.get("acked");
|
|
150
|
+
if (acked) conn.pruneSettlements(sessionId, acked.split(",").filter((id) => id.length > 0));
|
|
151
|
+
const pendingAnswers = conn.pendingFor(sessionId);
|
|
152
|
+
const settledAnswers = conn.settlementsFor(sessionId);
|
|
153
|
+
try {
|
|
154
|
+
if (url.searchParams.get("full") === "1") {
|
|
155
|
+
const page = await conn.history(sessionId);
|
|
156
|
+
const ledgerEvents = historyToEvents(page.events);
|
|
157
|
+
const entries = eventsToEntries(ledgerEvents);
|
|
158
|
+
const lastSeq = ledgerEvents.at(-1)?.seq ?? -1;
|
|
159
|
+
return json({
|
|
160
|
+
ok: true,
|
|
161
|
+
entries,
|
|
162
|
+
lastSeq,
|
|
163
|
+
running: conn.isRunning(sessionId),
|
|
164
|
+
liveStream: conn.liveAssistantStream(sessionId),
|
|
165
|
+
pendingAnswers,
|
|
166
|
+
settledAnswers,
|
|
167
|
+
permission: permissionFromProjection(page.projections?.values?.["permissions"]) ?? null,
|
|
168
|
+
imageLimits: imageLimitsFromProjection(page.projections?.values?.["imageLimits"]),
|
|
169
|
+
todos: todosFromProjection(page.projections?.values?.["todos"]),
|
|
170
|
+
plan: planFromProjection(page.projections?.values?.["plan"]),
|
|
171
|
+
goal: goalFromProjection(page.projections?.values?.["goal"]),
|
|
172
|
+
ledgerStats: ledgerStatsFromProjections(conn.projectionValue(sessionId, "sessionStats"), conn.projectionValue(sessionId, "tokenUsage")),
|
|
173
|
+
knobEvents: filterKnobEvents(ledgerEvents)
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
const { events, lastSeq, running, gap } = conn.eventsSince(sessionId, since);
|
|
177
|
+
const entries = [];
|
|
178
|
+
for (const e of events) {
|
|
179
|
+
const mapped = entryForEvent(e);
|
|
180
|
+
if (mapped) entries.push(mapped);
|
|
181
|
+
}
|
|
182
|
+
const liveStream = conn.liveAssistantStream(sessionId);
|
|
183
|
+
const permission = permissionFromProjection(conn.projectionValue(sessionId, "permissions")) ?? null;
|
|
184
|
+
const imageLimits = imageLimitsFromProjection(conn.projectionValue(sessionId, "imageLimits"));
|
|
185
|
+
const todos = todosFromProjection(conn.projectionValue(sessionId, "todos"));
|
|
186
|
+
const plan = planFromProjection(conn.projectionValue(sessionId, "plan"));
|
|
187
|
+
const goal = goalFromProjection(conn.projectionValue(sessionId, "goal"));
|
|
188
|
+
const ledgerStats = ledgerStatsFromProjections(conn.projectionValue(sessionId, "sessionStats"), conn.projectionValue(sessionId, "tokenUsage"));
|
|
189
|
+
return json({
|
|
190
|
+
ok: true,
|
|
191
|
+
entries,
|
|
192
|
+
lastSeq,
|
|
193
|
+
running,
|
|
194
|
+
gap,
|
|
195
|
+
liveStream,
|
|
196
|
+
pendingAnswers,
|
|
197
|
+
settledAnswers,
|
|
198
|
+
...permission === null ? {} : { permission },
|
|
199
|
+
...imageLimits === null ? {} : { imageLimits },
|
|
200
|
+
...todos === void 0 ? {} : { todos },
|
|
201
|
+
...plan === null ? {} : { plan },
|
|
202
|
+
...goal === void 0 ? {} : { goal },
|
|
203
|
+
...ledgerStats === null ? {} : { ledgerStats },
|
|
204
|
+
knobEvents: filterKnobEvents(events)
|
|
205
|
+
});
|
|
206
|
+
} catch (err) {
|
|
207
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
export { GET };
|
|
212
|
+
//# sourceMappingURL=_server.ts.js-DLCHSC1M.js.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DwihVtk_.js';
|
|
2
|
+
import { j as json } from '../../../../../../../chunks/utils.js-tOWCe9Wk.js';
|
|
3
|
+
import '../../../../../../../chunks/config.js-BBYogCe7.js';
|
|
4
|
+
import '../../../../../../../chunks/insight-config.js-CfMPTA6Z.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'yaml';
|
|
9
|
+
import '../../../../../../../chunks/shared.js-C4-Py8s_.js';
|
|
10
|
+
import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/api/dsh/session/[sessionId]/fork/+server.ts
|
|
13
|
+
/**
|
|
14
|
+
* api-dsh — POST /api/dsh/session/[sessionId]/fork (The Fork Button ADR, 2026-09-01)
|
|
15
|
+
*
|
|
16
|
+
* Body {atSeq?} → session.fork. An absent atSeq is the normal path: the host
|
|
17
|
+
* cuts at the source's last completed turn. A present atSeq anchors to the
|
|
18
|
+
* first turn/end at or after it; an anchor inside an open turn is a host
|
|
19
|
+
* refusal (`session/fork-unavailable` → 502 here), never a silent clip.
|
|
20
|
+
* Success → {ok:true, sessionId} (the fork child). Error mapping identical
|
|
21
|
+
* to the sibling routes (mapRpcFailure/statusFor): host refusals surface as
|
|
22
|
+
* 502 with the host's code, transport failure as 503 host-unreachable.
|
|
23
|
+
*/
|
|
24
|
+
var POST = async ({ params, request }) => {
|
|
25
|
+
const sessionId = params.sessionId;
|
|
26
|
+
let body;
|
|
27
|
+
try {
|
|
28
|
+
body = await request.json();
|
|
29
|
+
} catch {
|
|
30
|
+
return json({
|
|
31
|
+
ok: false,
|
|
32
|
+
error: {
|
|
33
|
+
code: "bad-json",
|
|
34
|
+
message: "request body is not valid JSON"
|
|
35
|
+
}
|
|
36
|
+
}, { status: 400 });
|
|
37
|
+
}
|
|
38
|
+
const atSeq = body?.atSeq;
|
|
39
|
+
if (atSeq !== void 0 && (typeof atSeq !== "number" || !Number.isInteger(atSeq) || atSeq < 0)) return json({
|
|
40
|
+
ok: false,
|
|
41
|
+
error: {
|
|
42
|
+
code: "bad-atSeq",
|
|
43
|
+
message: "atSeq must be a non-negative integer when present"
|
|
44
|
+
}
|
|
45
|
+
}, { status: 400 });
|
|
46
|
+
try {
|
|
47
|
+
const forked = await getDshConnection().forkSession(sessionId, atSeq === void 0 ? void 0 : atSeq);
|
|
48
|
+
return json({
|
|
49
|
+
ok: true,
|
|
50
|
+
sessionId: forked.sessionId
|
|
51
|
+
});
|
|
52
|
+
} catch (err) {
|
|
53
|
+
return json(mapRpcFailure(err), { status: statusFor(err) });
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export { POST };
|
|
58
|
+
//# sourceMappingURL=_server.ts.js-Ca6NU9HO.js.map
|