@svenroth-ai/shipwright 0.24.7-next.0 → 0.26.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.
- package/client/dist/assets/{EmbeddedTerminal-D2BLGWdW.js → EmbeddedTerminal-D3wpPNZP.js} +20 -20
- package/client/dist/assets/{abnfDiagram-VRR7QNED-C-W_2Jd4.js → abnfDiagram-VRR7QNED-BkLIltB3.js} +1 -1
- package/client/dist/assets/{arc-CpqwESP5.js → arc-Sw-Gh0nI.js} +1 -1
- package/client/dist/assets/{architectureDiagram-ZJ3FMSHR-DZVZ895V.js → architectureDiagram-ZJ3FMSHR-rdxUi9Ks.js} +1 -1
- package/client/dist/assets/{blockDiagram-677ZJIJ3-CCCZiAA7.js → blockDiagram-677ZJIJ3-Ch_9dj8a.js} +1 -1
- package/client/dist/assets/{c4Diagram-LMCZKHZV-Bg1beZAE.js → c4Diagram-LMCZKHZV-CkFlO65x.js} +1 -1
- package/client/dist/assets/channel-BYPbLjRl.js +1 -0
- package/client/dist/assets/{chunk-2Q5K7J3B-CoaXSarh.js → chunk-2Q5K7J3B-CypX83xu.js} +1 -1
- package/client/dist/assets/{chunk-32BRIVSS-CeFXS-CM.js → chunk-32BRIVSS-DxVLYGdl.js} +1 -1
- package/client/dist/assets/{chunk-5VM5RSS4-QyJMVe0m.js → chunk-5VM5RSS4-Cxk1evhx.js} +1 -1
- package/client/dist/assets/{chunk-EX3LRPZG-BIOtWVF8.js → chunk-EX3LRPZG-n9q5S4yJ.js} +1 -1
- package/client/dist/assets/{chunk-JWPE2WC7-Dcq-lWyX.js → chunk-JWPE2WC7-jeL4xvir.js} +1 -1
- package/client/dist/assets/{chunk-MOJQB5TN-C95323ja.js → chunk-MOJQB5TN-DDSHN0cj.js} +1 -1
- package/client/dist/assets/{chunk-RYQCIY6F-C0HPwpWy.js → chunk-RYQCIY6F-C0bo383g.js} +1 -1
- package/client/dist/assets/{chunk-V7JOEXUC-BPrTbZqA.js → chunk-V7JOEXUC-C0jDXXAU.js} +1 -1
- package/client/dist/assets/{chunk-VR4S4FIN--BCnNoqt.js → chunk-VR4S4FIN-h-Rr4Pn2.js} +1 -1
- package/client/dist/assets/{chunk-XXDRQBXY-Dj8vtcXf.js → chunk-XXDRQBXY-BexSo0-s.js} +1 -1
- package/client/dist/assets/classDiagram-OUVF2IWQ-CsFIeTju.js +1 -0
- package/client/dist/assets/classDiagram-v2-EOCWNBFH-CsFIeTju.js +1 -0
- package/client/dist/assets/{cose-bilkent-JH36ORCC-y51otZKz.js → cose-bilkent-JH36ORCC-BQXzaioj.js} +1 -1
- package/client/dist/assets/{cynefin-VYW2F7L2-BRfS3cHo.js → cynefin-VYW2F7L2-BJIofhfe.js} +1 -1
- package/client/dist/assets/{cynefinDiagram-TSTJHNR4-Dpg2RtfL.js → cynefinDiagram-TSTJHNR4-DmPqTM1T.js} +1 -1
- package/client/dist/assets/{dagre-VKFMJZFB-BdZtXgKZ.js → dagre-VKFMJZFB-1xljvw6X.js} +1 -1
- package/client/dist/assets/{diagram-FQU43EPY-K-RCwWxW.js → diagram-FQU43EPY-iyL9muCG.js} +1 -1
- package/client/dist/assets/{diagram-G47NLZAW-CHNn7F2-.js → diagram-G47NLZAW-DREp2Th6.js} +1 -1
- package/client/dist/assets/{diagram-NH7WQ7WH-B3zu6xib.js → diagram-NH7WQ7WH-h0X3Is2S.js} +1 -1
- package/client/dist/assets/{diagram-OA4YK3LP-Wp5ju7L7.js → diagram-OA4YK3LP-Bj8YZRFJ.js} +1 -1
- package/client/dist/assets/{diagram-WEI45ONY-C94GpsRk.js → diagram-WEI45ONY-BZOf805d.js} +1 -1
- package/client/dist/assets/{ebnfDiagram-CCIWWBDH-DXrTPOrP.js → ebnfDiagram-CCIWWBDH-DO5JnXda.js} +1 -1
- package/client/dist/assets/{erDiagram-Q63AITRT-CGejnW0f.js → erDiagram-Q63AITRT-DRgcqg1T.js} +1 -1
- package/client/dist/assets/{flowDiagram-23GEKE2U-CFJMM637.js → flowDiagram-23GEKE2U-C3J9QmrW.js} +1 -1
- package/client/dist/assets/{ganttDiagram-NO4QXBWP-DnaH94Su.js → ganttDiagram-NO4QXBWP-BIEl3Tkm.js} +1 -1
- package/client/dist/assets/{gitGraphDiagram-IHSO6WYX-DT-D0gbn.js → gitGraphDiagram-IHSO6WYX-BNF0tFWC.js} +1 -1
- package/client/dist/assets/index-BnTOrFHb.js +829 -0
- package/client/dist/assets/index-CYPc6qxw.css +1 -0
- package/client/dist/assets/{infoDiagram-FWYZ7A6U-DW3Ps00w.js → infoDiagram-FWYZ7A6U-DEyFxiyY.js} +1 -1
- package/client/dist/assets/{ishikawaDiagram-FXEZZL3T-DjxjIT3n.js → ishikawaDiagram-FXEZZL3T-B_ehlg3I.js} +1 -1
- package/client/dist/assets/{journeyDiagram-5HDEW3XC-DTQRI93Y.js → journeyDiagram-5HDEW3XC-Dp00FyJS.js} +1 -1
- package/client/dist/assets/{kanban-definition-HUTT4EX6-BeDvbiEs.js → kanban-definition-HUTT4EX6-CTAf16q8.js} +1 -1
- package/client/dist/assets/{linear-B4foxDlh.js → linear-9vNUgmYd.js} +1 -1
- package/client/dist/assets/{mermaid.core-c-L4qgSB.js → mermaid.core-A6tjaEVD.js} +4 -4
- package/client/dist/assets/{mindmap-definition-LN4V7U3C-dh8v0J8T.js → mindmap-definition-LN4V7U3C-DRW3bmCY.js} +1 -1
- package/client/dist/assets/{pegDiagram-2B236MQR-D5vNrtFh.js → pegDiagram-2B236MQR-DJFCjHp2.js} +1 -1
- package/client/dist/assets/{pieDiagram-ENE6RG2P-CIjg_6lR.js → pieDiagram-ENE6RG2P-KRd-sGvC.js} +1 -1
- package/client/dist/assets/{quadrantDiagram-ABIIQ3AL-CF37qWQD.js → quadrantDiagram-ABIIQ3AL-9TLZE3Hu.js} +1 -1
- package/client/dist/assets/{railroadDiagram-RFXS5EU6-x0Hn30Kj.js → railroadDiagram-RFXS5EU6-y4tLtjXg.js} +1 -1
- package/client/dist/assets/{requirementDiagram-TGXJPOKE-BE2QnVbN.js → requirementDiagram-TGXJPOKE-B9EOQDQM.js} +1 -1
- package/client/dist/assets/{sankeyDiagram-HTMAVEWB-CUv6cIlV.js → sankeyDiagram-HTMAVEWB-zfwiDzkT.js} +1 -1
- package/client/dist/assets/{sequenceDiagram-DBY2YBRQ-C3ACj5LS.js → sequenceDiagram-DBY2YBRQ-DW1LWepL.js} +1 -1
- package/client/dist/assets/{sizeCapture-X5ZJPWSS-DTMIb5gX.js → sizeCapture-X5ZJPWSS-BM81Mik0.js} +1 -1
- package/client/dist/assets/{stateDiagram-2N3HPSRC-DI1Z8P74.js → stateDiagram-2N3HPSRC-D0EMIw1w.js} +1 -1
- package/client/dist/assets/stateDiagram-v2-6OUMAXLB-B3E4_xxT.js +1 -0
- package/client/dist/assets/{swimlanes-5IMT3BWC-CLSr9w29.js → swimlanes-5IMT3BWC-CKXNCX6M.js} +2 -2
- package/client/dist/assets/swimlanesDiagram-G3AALYLV-BegQBqnC.js +8 -0
- package/client/dist/assets/{timeline-definition-FHXFAJF6-BTWmUhDh.js → timeline-definition-FHXFAJF6-ByzIfvL5.js} +1 -1
- package/client/dist/assets/{vennDiagram-L72KCM5P-Ce1dlLCM.js → vennDiagram-L72KCM5P-Xep38xBH.js} +1 -1
- package/client/dist/assets/{wardleyDiagram-EHGQE667-ClOE-aae.js → wardleyDiagram-EHGQE667-DKWDpx6g.js} +1 -1
- package/client/dist/assets/{xychartDiagram-FW5EYKEG-Fa2pqWKw.js → xychartDiagram-FW5EYKEG-BGcwZTnu.js} +1 -1
- package/client/dist/index.html +27 -27
- package/lib/claude-cli.mjs +173 -173
- package/lib/preflight.mjs +252 -252
- package/lib/probe-path.mjs +84 -84
- package/lib/server.mjs +369 -369
- package/lib/util.mjs +157 -157
- package/lib/win32-spawn.mjs +253 -253
- package/package.json +1 -1
- package/scripts/deploy-procs.mjs +208 -208
- package/scripts/deploy-swap.mjs +276 -276
- package/scripts/kill-targets.js +140 -140
- package/scripts/repair-claude-json.mjs +295 -295
- package/server/dist/config/default-actions.json +90 -90
- package/server/dist/core/grade-runner.d.ts +4 -4
- package/server/dist/core/grade-runner.d.ts.map +1 -1
- package/server/dist/core/grade-runner.js +51 -26
- package/server/dist/core/grade-runner.js.map +1 -1
- package/server/dist/core/grade-target.d.ts +8 -0
- package/server/dist/core/grade-target.d.ts.map +1 -1
- package/server/dist/core/grade-target.js +10 -0
- package/server/dist/core/grade-target.js.map +1 -1
- package/server/dist/core/mission-context/association.d.ts +46 -0
- package/server/dist/core/mission-context/association.d.ts.map +1 -1
- package/server/dist/core/mission-context/association.js +69 -0
- package/server/dist/core/mission-context/association.js.map +1 -1
- package/server/dist/core/mission-context/resolver-iterate.d.ts +6 -0
- package/server/dist/core/mission-context/resolver-iterate.d.ts.map +1 -0
- package/server/dist/core/mission-context/resolver-iterate.js +202 -0
- package/server/dist/core/mission-context/resolver-iterate.js.map +1 -0
- package/server/dist/core/mission-context/resolver-parts.d.ts +20 -0
- package/server/dist/core/mission-context/resolver-parts.d.ts.map +1 -1
- package/server/dist/core/mission-context/resolver-parts.js +92 -0
- package/server/dist/core/mission-context/resolver-parts.js.map +1 -1
- package/server/dist/core/mission-context/resolver.d.ts +1 -1
- package/server/dist/core/mission-context/resolver.d.ts.map +1 -1
- package/server/dist/core/mission-context/resolver.js +17 -199
- package/server/dist/core/mission-context/resolver.js.map +1 -1
- package/server/dist/core/mission-context/run-id-recovery.d.ts +21 -5
- package/server/dist/core/mission-context/run-id-recovery.d.ts.map +1 -1
- package/server/dist/core/mission-context/run-id-recovery.js +32 -5
- package/server/dist/core/mission-context/run-id-recovery.js.map +1 -1
- package/server/dist/core/mission-context/scenario.d.ts +18 -11
- package/server/dist/core/mission-context/scenario.d.ts.map +1 -1
- package/server/dist/core/mission-context/scenario.js +40 -3
- package/server/dist/core/mission-context/scenario.js.map +1 -1
- package/server/dist/core/path-guard.d.ts +1 -1
- package/server/dist/core/path-guard.d.ts.map +1 -1
- package/server/dist/core/path-guard.js +9 -2
- package/server/dist/core/path-guard.js.map +1 -1
- package/server/dist/core/shipslog-docs-reader.d.ts +4 -0
- package/server/dist/core/shipslog-docs-reader.d.ts.map +1 -0
- package/server/dist/core/shipslog-docs-reader.js +181 -0
- package/server/dist/core/shipslog-docs-reader.js.map +1 -0
- package/server/dist/core/shipslog-docs-types.d.ts +15 -0
- package/server/dist/core/shipslog-docs-types.d.ts.map +1 -0
- package/server/dist/core/shipslog-docs-types.js +14 -0
- package/server/dist/core/shipslog-docs-types.js.map +1 -0
- package/server/dist/core/triage-cli-runner.d.ts.map +1 -1
- package/server/dist/core/triage-cli-runner.js +29 -10
- package/server/dist/core/triage-cli-runner.js.map +1 -1
- package/server/dist/core/uv-runner.d.ts +23 -0
- package/server/dist/core/uv-runner.d.ts.map +1 -0
- package/server/dist/core/uv-runner.js +39 -0
- package/server/dist/core/uv-runner.js.map +1 -0
- package/server/dist/external/design-review/serve.js +27 -27
- package/server/dist/external/file/exists-routes.d.ts +7 -0
- package/server/dist/external/file/exists-routes.d.ts.map +1 -0
- package/server/dist/external/file/exists-routes.js +91 -0
- package/server/dist/external/file/exists-routes.js.map +1 -0
- package/server/dist/external/mission-context/association-write.d.ts +22 -0
- package/server/dist/external/mission-context/association-write.d.ts.map +1 -0
- package/server/dist/external/mission-context/association-write.js +90 -0
- package/server/dist/external/mission-context/association-write.js.map +1 -0
- package/server/dist/external/mission-context/routes.d.ts.map +1 -1
- package/server/dist/external/mission-context/routes.js +18 -31
- package/server/dist/external/mission-context/routes.js.map +1 -1
- package/server/dist/external/org/audit-log.d.ts +27 -0
- package/server/dist/external/org/audit-log.d.ts.map +1 -0
- package/server/dist/external/org/audit-log.js +92 -0
- package/server/dist/external/org/audit-log.js.map +1 -0
- package/server/dist/external/org/beat-register.d.ts +15 -22
- package/server/dist/external/org/beat-register.d.ts.map +1 -1
- package/server/dist/external/org/beat-register.js +37 -32
- package/server/dist/external/org/beat-register.js.map +1 -1
- package/server/dist/external/org/file-read.d.ts +16 -0
- package/server/dist/external/org/file-read.d.ts.map +1 -1
- package/server/dist/external/org/file-read.js +86 -46
- package/server/dist/external/org/file-read.js.map +1 -1
- package/server/dist/external/org/file-write-core.d.ts +18 -0
- package/server/dist/external/org/file-write-core.d.ts.map +1 -0
- package/server/dist/external/org/file-write-core.js +97 -0
- package/server/dist/external/org/file-write-core.js.map +1 -0
- package/server/dist/external/org/file-write.d.ts +25 -0
- package/server/dist/external/org/file-write.d.ts.map +1 -1
- package/server/dist/external/org/file-write.js +82 -132
- package/server/dist/external/org/file-write.js.map +1 -1
- package/server/dist/external/org/last-run.d.ts +25 -16
- package/server/dist/external/org/last-run.d.ts.map +1 -1
- package/server/dist/external/org/last-run.js +78 -64
- package/server/dist/external/org/last-run.js.map +1 -1
- package/server/dist/external/org/lead-doc-read.d.ts +21 -0
- package/server/dist/external/org/lead-doc-read.d.ts.map +1 -0
- package/server/dist/external/org/lead-doc-read.js +84 -0
- package/server/dist/external/org/lead-doc-read.js.map +1 -0
- package/server/dist/external/org/mount.d.ts +12 -0
- package/server/dist/external/org/mount.d.ts.map +1 -0
- package/server/dist/external/org/mount.js +34 -0
- package/server/dist/external/org/mount.js.map +1 -0
- package/server/dist/external/org/org-chart-lookup.d.ts +13 -0
- package/server/dist/external/org/org-chart-lookup.d.ts.map +1 -1
- package/server/dist/external/org/org-chart-lookup.js +40 -5
- package/server/dist/external/org/org-chart-lookup.js.map +1 -1
- package/server/dist/external/org/org-chart.d.ts +21 -12
- package/server/dist/external/org/org-chart.d.ts.map +1 -1
- package/server/dist/external/org/org-chart.js +50 -32
- package/server/dist/external/org/org-chart.js.map +1 -1
- package/server/dist/external/org/role-extract.d.ts +8 -0
- package/server/dist/external/org/role-extract.d.ts.map +1 -0
- package/server/dist/external/org/role-extract.js +72 -0
- package/server/dist/external/org/role-extract.js.map +1 -0
- package/server/dist/external/org/usage.d.ts +15 -11
- package/server/dist/external/org/usage.d.ts.map +1 -1
- package/server/dist/external/org/usage.js +64 -54
- package/server/dist/external/org/usage.js.map +1 -1
- package/server/dist/external/routes.d.ts +1 -1
- package/server/dist/external/routes.d.ts.map +1 -1
- package/server/dist/external/routes.js +19 -17
- package/server/dist/external/routes.js.map +1 -1
- package/server/dist/external/shipslog-docs/routes.d.ts +10 -0
- package/server/dist/external/shipslog-docs/routes.d.ts.map +1 -0
- package/server/dist/external/shipslog-docs/routes.js +41 -0
- package/server/dist/external/shipslog-docs/routes.js.map +1 -0
- package/server/dist/routes/grade.d.ts.map +1 -1
- package/server/dist/routes/grade.js +3 -2
- package/server/dist/routes/grade.js.map +1 -1
- package/server/dist/routes/org-leads-composite.d.ts +21 -0
- package/server/dist/routes/org-leads-composite.d.ts.map +1 -0
- package/server/dist/routes/org-leads-composite.js +95 -0
- package/server/dist/routes/org-leads-composite.js.map +1 -0
- package/server/dist/routes/org.d.ts +15 -0
- package/server/dist/routes/org.d.ts.map +1 -0
- package/server/dist/routes/org.js +198 -0
- package/server/dist/routes/org.js.map +1 -0
- package/server/dist/terminal/pty-manager.d.ts +9 -0
- package/server/dist/terminal/pty-manager.d.ts.map +1 -1
- package/server/dist/terminal/pty-manager.js +15 -0
- package/server/dist/terminal/pty-manager.js.map +1 -1
- package/server/dist/terminal/replay-snapshot.d.ts +10 -1
- package/server/dist/terminal/replay-snapshot.d.ts.map +1 -1
- package/server/dist/terminal/replay-snapshot.js +36 -1
- package/server/dist/terminal/replay-snapshot.js.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.d.ts +17 -1
- package/server/dist/terminal/ws-upgrade-handler.d.ts.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts +1 -0
- package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.fixtures.js +3 -2
- package/server/dist/terminal/ws-upgrade-handler.fixtures.js.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.js +45 -4
- package/server/dist/terminal/ws-upgrade-handler.js.map +1 -1
- package/server/dist/test/python-spawn-guard-util.d.ts +14 -0
- package/server/dist/test/python-spawn-guard-util.d.ts.map +1 -0
- package/server/dist/test/python-spawn-guard-util.js +124 -0
- package/server/dist/test/python-spawn-guard-util.js.map +1 -0
- package/server/dist/types/org.d.ts +115 -0
- package/server/dist/types/org.d.ts.map +1 -0
- package/server/dist/types/org.js +16 -0
- package/server/dist/types/org.js.map +1 -0
- package/server/package.json +1 -1
- package/server/profiles/PROFILE_SCHEMA_VERSION +1 -1
- package/server/profiles/README.md +27 -27
- package/server/profiles/python-plugin-monorepo.json +35 -35
- package/server/profiles/supabase-nextjs.json +253 -253
- package/server/profiles/vite-hono.json +92 -92
- package/client/dist/assets/MarkdownEditorModal-CP5yG9OU.js +0 -212
- package/client/dist/assets/channel-BNXbCvDS.js +0 -1
- package/client/dist/assets/classDiagram-OUVF2IWQ-w-wCtLx3.js +0 -1
- package/client/dist/assets/classDiagram-v2-EOCWNBFH-w-wCtLx3.js +0 -1
- package/client/dist/assets/index-CU2QJgvx.js +0 -609
- package/client/dist/assets/index-ftvVcUT8.css +0 -1
- package/client/dist/assets/stateDiagram-v2-6OUMAXLB-DvwiHlJv.js +0 -1
- package/client/dist/assets/swimlanesDiagram-G3AALYLV-JTQZTlZ3.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay-snapshot.js","sourceRoot":"","sources":["../../src/terminal/replay-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAChE,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,sBAAsB,GAAG,GAAG,GAAG,QAAQ,CAAC;AAE9C,MAAM,UAAU,2BAA2B,CACzC,GAAmB;
|
|
1
|
+
{"version":3,"file":"replay-snapshot.js","sourceRoot":"","sources":["../../src/terminal/replay-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAChE,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,sBAAsB,GAAG,GAAG,GAAG,QAAQ,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,yBAAyB,GAC7B,iEAAiE,CAAC;AAYpE,MAAM,UAAU,2BAA2B,CACzC,GAAmB,EACnB,IAAyC;IAEzC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7E,IAAI,GAAG,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC7C,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,EAAE,wBAAwB,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,GAAG,yBAAyB,CAAC;IAC1C,CAAC;IACD,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,IAAI;QACJ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,eAAe,EAAE,GAAG,CAAC,eAAe;KACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAgC,EAChC,MAAc,EACd,eAAmC,EACnC,UAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,GAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CACL,uCAAuC,MAAM,KAAM,GAAa,CAAC,OAAO,EAAE,CAC3E,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,eAAe,IAAI,GAAG,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;QAC/D,OAAO,CACL,4CAA4C,MAAM,UAAU,GAAG,CAAC,eAAe,aAAa,eAAe,mCAAmC,CAC/I,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -7,6 +7,22 @@ interface WSMessageData {
|
|
|
7
7
|
type: "data";
|
|
8
8
|
payload: string;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* SGR mouse report (iterate-2026-08-24-terminal-readonly-scroll-copy). Wire
|
|
12
|
+
* mirror of the client's `terminal-mouse-report.ts` classification — carries
|
|
13
|
+
* the SAME bytes as `data` but is honoured for a READER too (see the writer
|
|
14
|
+
* gate in `onMessage` below): Claude's live TUI implements scroll and
|
|
15
|
+
* selection-for-copy purely via these reports (alt-screen + any-motion
|
|
16
|
+
* tracking, `?1003h`), so gating them like real keystrokes left a read-only
|
|
17
|
+
* viewer unable to scroll or copy. `isSgrMouseReport` re-validates the shape
|
|
18
|
+
* server-side rather than trusting the client's tag — only a bounded
|
|
19
|
+
* button+coordinate SGR frame ever reaches the pty from a non-writer, never
|
|
20
|
+
* arbitrary text a client could mislabel.
|
|
21
|
+
*/
|
|
22
|
+
interface WSMessageMouse {
|
|
23
|
+
type: "mouse";
|
|
24
|
+
payload: string;
|
|
25
|
+
}
|
|
10
26
|
interface WSMessageResize {
|
|
11
27
|
type: "resize";
|
|
12
28
|
cols: number;
|
|
@@ -37,7 +53,7 @@ interface WSMessageRedraw {
|
|
|
37
53
|
interface WSMessageResync {
|
|
38
54
|
type: "resync";
|
|
39
55
|
}
|
|
40
|
-
export type WSInbound = WSMessageData | WSMessageResize | WSMessageRedraw | WSMessageResync;
|
|
56
|
+
export type WSInbound = WSMessageData | WSMessageMouse | WSMessageResize | WSMessageRedraw | WSMessageResync;
|
|
41
57
|
export declare function isWSInbound(v: unknown): v is WSInbound;
|
|
42
58
|
/**
|
|
43
59
|
* `ValidatedWsUpgradeContext` encodes the strict precondition that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-upgrade-handler.d.ts","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAEV,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ws-upgrade-handler.d.ts","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAEV,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAczE,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AACD;;;;;;;;;;;GAWG;AACH,UAAU,cAAc;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,UAAU,eAAe;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AACD;;;;;;GAMG;AACH,UAAU,eAAe;IACvB,IAAI,EAAE,QAAQ,CAAC;CAChB;AACD;;;;;;;;;;;GAWG;AACH,UAAU,eAAe;IACvB,IAAI,EAAE,QAAQ,CAAC;CAChB;AACD,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,cAAc,GACd,eAAe,GACf,eAAe,GACf,eAAe,CAAC;AAEpB,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAWtD;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,CAAC;CACrC;AA+CD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,yBAAyB,GAC7B,QAAQ,CAAC,SAAS,CAAC,CAQrB"}
|
|
@@ -22,6 +22,7 @@ export interface MockPtyManager extends PtyManager {
|
|
|
22
22
|
flushMirrorSnapshot: ReturnType<typeof vi.fn>;
|
|
23
23
|
getRole: ReturnType<typeof vi.fn>;
|
|
24
24
|
write: ReturnType<typeof vi.fn>;
|
|
25
|
+
writeMouseReport: ReturnType<typeof vi.fn>;
|
|
25
26
|
resize: ReturnType<typeof vi.fn>;
|
|
26
27
|
};
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-upgrade-handler.fixtures.d.ts","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.fixtures.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,+BAA+B,CAAC;AAMvC,wBAAgB,QAAQ,CAAC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,YAAY,CAiB5E;AAED,wBAAgB,QAAQ,CAAC,SAAS,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,aAAa,CAQ9E;AAMD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CACjC;AAED,wBAAgB,MAAM,IAAI,MAAM,CAK/B;AAMD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,OAAO,EAAE;QACP,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,sBAAsB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,qBAAqB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,cAAc,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACzC,mBAAmB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KAClC,CAAC;CACH;AAED,wBAAgB,cAAc,CAC5B,IAAI,GAAE;IACJ,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;IACtE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;CACnB,GACL,cAAc,
|
|
1
|
+
{"version":3,"file":"ws-upgrade-handler.fixtures.d.ts","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.fixtures.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,+BAA+B,CAAC;AAMvC,wBAAgB,QAAQ,CAAC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,YAAY,CAiB5E;AAED,wBAAgB,QAAQ,CAAC,SAAS,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,aAAa,CAQ9E;AAMD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CACjC;AAED,wBAAgB,MAAM,IAAI,MAAM,CAK/B;AAMD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,OAAO,EAAE;QACP,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACjC,sBAAsB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,qBAAqB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChD,cAAc,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACzC,mBAAmB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,gBAAgB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KAClC,CAAC;CACH;AAED,wBAAgB,cAAc,CAC5B,IAAI,GAAE;IACJ,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;IACtE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;CACnB,GACL,cAAc,CAqChB;AAMD,wBAAgB,SAAS,IAAI;IAC3B,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CACnC,CAMA;AAMD,wBAAgB,OAAO,CACrB,SAAS,GAAE,OAAO,CAAC,yBAAyB,CAAM,GACjD,yBAAyB,CAY3B;AAMD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,EAAE,CAK9C;AAED,2EAA2E;AAC3E,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhD"}
|
|
@@ -63,6 +63,7 @@ export function makePtyManager(opts = {}) {
|
|
|
63
63
|
const flushMirrorSnapshot = vi.fn(async () => undefined);
|
|
64
64
|
const getRole = vi.fn(() => attachResult.role);
|
|
65
65
|
const write = vi.fn();
|
|
66
|
+
const writeMouseReport = vi.fn();
|
|
66
67
|
const resize = vi.fn();
|
|
67
68
|
// Post-replay redraw nudge (iterate-2026-07-27). NOTE the server tsconfig
|
|
68
69
|
// EXCLUDES **/*.test.ts, so a mock missing a real method fails at RUNTIME,
|
|
@@ -72,12 +73,12 @@ export function makePtyManager(opts = {}) {
|
|
|
72
73
|
get, spawn, attach, subscribeForConnection,
|
|
73
74
|
pauseForConn, resumeForConn,
|
|
74
75
|
serializeMirrorIfLive, detachAndCount, flushMirrorSnapshot,
|
|
75
|
-
getRole, write, resize, forceRedraw,
|
|
76
|
+
getRole, write, writeMouseReport, resize, forceRedraw,
|
|
76
77
|
__mocks: {
|
|
77
78
|
get, spawn, attach, subscribeForConnection,
|
|
78
79
|
pauseForConn, resumeForConn,
|
|
79
80
|
serializeMirrorIfLive, detachAndCount, flushMirrorSnapshot,
|
|
80
|
-
getRole, write, resize, forceRedraw,
|
|
81
|
+
getRole, write, writeMouseReport, resize, forceRedraw,
|
|
81
82
|
},
|
|
82
83
|
};
|
|
83
84
|
return m;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-upgrade-handler.fixtures.js","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAS5B,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,UAAU,QAAQ,CAAC,YAAmC,EAAE;IAC5D,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,sCAAsC;QACnD,GAAG,EAAE,WAAW;QAChB,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,QAA6B;QACpC,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,YAAY;QACvB,SAAS,EAAE,0BAA0B;QACrC,KAAK,EAAE;YACL,iBAAiB,EAAE,EAAE;YACrB,mBAAmB,EAAE,EAAE;YACvB,uBAAuB,EAAE,CAAC;SAC3B;QACD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,YAAoC,EAAE;IAC7D,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,MAAM;QACjB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,MAAM;IACpB,OAAO;QACL,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"ws-upgrade-handler.fixtures.js","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,8 @@ export function isWSInbound(v) {
|
|
|
39
39
|
const o = v;
|
|
40
40
|
if (o.type === "data" && typeof o.payload === "string")
|
|
41
41
|
return true;
|
|
42
|
+
if (o.type === "mouse" && typeof o.payload === "string")
|
|
43
|
+
return true;
|
|
42
44
|
if (o.type === "resize" && typeof o.cols === "number" && typeof o.rows === "number") {
|
|
43
45
|
return true;
|
|
44
46
|
}
|
|
@@ -48,6 +50,16 @@ export function isWSInbound(v) {
|
|
|
48
50
|
return true;
|
|
49
51
|
return false;
|
|
50
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* SGR mouse report: ESC [ < Cb ; Cx ; Cy (M|m) — mirror of the client's
|
|
55
|
+
* `terminal-mouse-report.ts` (no cross-package import, DO-NOT #7). The
|
|
56
|
+
* server-side re-check on a `mouse` message's payload before it bypasses the
|
|
57
|
+
* writer gate below.
|
|
58
|
+
*/
|
|
59
|
+
const SGR_MOUSE_REPORT = /^\x1b\[<\d+;\d+;\d+[Mm]$/;
|
|
60
|
+
function isSgrMouseReport(data) {
|
|
61
|
+
return SGR_MOUSE_REPORT.test(data);
|
|
62
|
+
}
|
|
51
63
|
// ---------------------------------------------------------------------------
|
|
52
64
|
// Private helpers (formerly factory-closure helpers inside routes.ts).
|
|
53
65
|
// Moved here as one cohesive unit per external plan review HIGH #2 so
|
|
@@ -63,9 +75,9 @@ const resolveReplaySnapshot = async (ctx) => {
|
|
|
63
75
|
};
|
|
64
76
|
// ADR-089 — single-envelope replay emit. Backpressure stays trivial
|
|
65
77
|
// because the entire snapshot is one WS frame.
|
|
66
|
-
const sendReplaySnapshot = (ws, rec) => {
|
|
78
|
+
const sendReplaySnapshot = (ws, rec, opts) => {
|
|
67
79
|
try {
|
|
68
|
-
ws.send(JSON.stringify(buildReplaySnapshotEnvelope(rec)));
|
|
80
|
+
ws.send(JSON.stringify(buildReplaySnapshotEnvelope(rec, opts)));
|
|
69
81
|
return true;
|
|
70
82
|
}
|
|
71
83
|
catch {
|
|
@@ -141,7 +153,10 @@ function buildReplayOnlyHandlers(ctx) {
|
|
|
141
153
|
// emission has been retired.
|
|
142
154
|
const snap = await tryReadSnapshot(ctx.snapshotStore, taskId, ctx.expectedTerminalVersion);
|
|
143
155
|
if (snap) {
|
|
144
|
-
sendReplaySnapshot(ws, snap
|
|
156
|
+
sendReplaySnapshot(ws, snap,
|
|
157
|
+
// Iterate-2026-08-27 — this attach is final: no live pty will
|
|
158
|
+
// ever follow up to turn mouse-tracking / alt-scroll back off.
|
|
159
|
+
{ tearDownInteractionModes: true });
|
|
145
160
|
}
|
|
146
161
|
// Close cleanly — no live shell to keep open.
|
|
147
162
|
try {
|
|
@@ -402,7 +417,21 @@ function buildLiveHandlers(ctx) {
|
|
|
402
417
|
// snapshot; a live pty resolves here exactly as before.
|
|
403
418
|
const snap = await (preSpawnReplay ?? resolveReplaySnapshot(ctx));
|
|
404
419
|
if (snap) {
|
|
405
|
-
sendReplaySnapshot(ws, snap
|
|
420
|
+
sendReplaySnapshot(ws, snap,
|
|
421
|
+
// doubt-reviewer (HIGH) — `!ptyExistedBeforeAttach` means this
|
|
422
|
+
// attach just spawned a BARE, unrelated shell; the disk
|
|
423
|
+
// snapshot being replayed may still encode mouse-tracking /
|
|
424
|
+
// alt-scroll from whatever last ran (typically Claude's TUI),
|
|
425
|
+
// and unlike the ptyExistedBeforeAttach=true case, no live pty
|
|
426
|
+
// will ever follow up to turn those modes back off — the same
|
|
427
|
+
// dead-scroll/dead-copy defect Bug A's replay-only teardown
|
|
428
|
+
// exists to fix, reached through this reaped-pty reconnect
|
|
429
|
+
// path instead. `terminalReset` is NOT the right gate here
|
|
430
|
+
// (it additionally requires `firstJsonlObservedAt`, which is
|
|
431
|
+
// orthogonal to whether a live pty exists) — this uses the
|
|
432
|
+
// same synchronous pre-spawn probe `terminalReset` itself is
|
|
433
|
+
// derived from.
|
|
434
|
+
!ptyExistedBeforeAttach ? { tearDownInteractionModes: true } : undefined);
|
|
406
435
|
}
|
|
407
436
|
flushLiveBuffer(ws);
|
|
408
437
|
replayDone = true;
|
|
@@ -464,6 +493,18 @@ function buildLiveHandlers(ctx) {
|
|
|
464
493
|
// reader. attach() is idempotent for same-conn since the
|
|
465
494
|
// F6 fix, but getRole() is the cheaper + safer entrypoint.
|
|
466
495
|
const actualRole = ctx.ptyManager.getRole(taskId, connToken);
|
|
496
|
+
// Reader-scroll/copy exception (iterate-2026-08-24-terminal-readonly-
|
|
497
|
+
// scroll-copy) — honoured for BOTH roles, ahead of the writer gate
|
|
498
|
+
// below. See WSMessageMouse for why, and isSgrMouseReport for the
|
|
499
|
+
// server-side re-validation of the client's tag. writeMouseReport()
|
|
500
|
+
// also skips the `hadDataWritten` latch: scrolling/selecting is not
|
|
501
|
+
// "real input" for the new-plain-resume heuristic that latch feeds.
|
|
502
|
+
if (parsed.type === "mouse") {
|
|
503
|
+
if (actualRole !== null && isSgrMouseReport(parsed.payload)) {
|
|
504
|
+
ctx.ptyManager.writeMouseReport(taskId, parsed.payload);
|
|
505
|
+
}
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
467
508
|
if (actualRole !== "writer") {
|
|
468
509
|
try {
|
|
469
510
|
ws.send(JSON.stringify({ type: "read_only" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-upgrade-handler.js","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ws-upgrade-handler.js","sourceRoot":"","sources":["../../src/terminal/ws-upgrade-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const SERVER_SRC: string;
|
|
2
|
+
export declare function walk(dir: string, acc?: string[]): string[];
|
|
3
|
+
/** `file` relative to server/src, forward-slash normalized — full-path
|
|
4
|
+
* match, never a bare basename (a bare basename would let a same-named file
|
|
5
|
+
* dropped anywhere else in the tree inherit an allowance it was never
|
|
6
|
+
* granted). */
|
|
7
|
+
export declare function relToServerSrc(file: string): string;
|
|
8
|
+
export declare function readSource(file: string): string;
|
|
9
|
+
/** Strip block/line comments while preserving line breaks and string
|
|
10
|
+
* contents, so a doc-comment mentioning these patterns never false-positives
|
|
11
|
+
* while a real `"python3"` spawn literal still matches. */
|
|
12
|
+
export declare function stripCommentsPreserveLines(src: string): string;
|
|
13
|
+
export declare function indexToLine(src: string, index: number): number;
|
|
14
|
+
//# sourceMappingURL=python-spawn-guard-util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-spawn-guard-util.d.ts","sourceRoot":"","sources":["../../src/test/python-spawn-guard-util.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,UAAU,QAA2B,CAAC;AAEnD,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAiB9D;AAED;;;gBAGgB;AAChB,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;4DAE4D;AAC5D,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiE9D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM9D"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Shared source-scan helpers for the python-spawn drift guards
|
|
3
|
+
* (no-direct-python-spawn.test.ts + no-indirect-python-spawn.test.ts,
|
|
4
|
+
* iterate-2026-08-26-grade-uv-run). Split out once the guard grew past one
|
|
5
|
+
* check per file — mirrors the walk + comment-strip convention of
|
|
6
|
+
* no-cross-package-imports.test.ts, but factored so the two guard files don't
|
|
7
|
+
* duplicate it between themselves.
|
|
8
|
+
*/
|
|
9
|
+
import { readdirSync, readFileSync, statSync } from "node:fs";
|
|
10
|
+
import { dirname, join, relative, resolve } from "node:path";
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
14
|
+
// server/src/test/ → server/src
|
|
15
|
+
export const SERVER_SRC = resolve(__dirname, "..");
|
|
16
|
+
export function walk(dir, acc = []) {
|
|
17
|
+
for (const entry of readdirSync(dir)) {
|
|
18
|
+
const full = join(dir, entry);
|
|
19
|
+
const st = statSync(full);
|
|
20
|
+
if (st.isDirectory()) {
|
|
21
|
+
if (entry === "node_modules" || entry === "dist")
|
|
22
|
+
continue;
|
|
23
|
+
walk(full, acc);
|
|
24
|
+
}
|
|
25
|
+
else if (st.isFile() &&
|
|
26
|
+
entry.endsWith(".ts") &&
|
|
27
|
+
!entry.endsWith(".d.ts") &&
|
|
28
|
+
!entry.endsWith(".test.ts")) {
|
|
29
|
+
acc.push(full);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return acc;
|
|
33
|
+
}
|
|
34
|
+
/** `file` relative to server/src, forward-slash normalized — full-path
|
|
35
|
+
* match, never a bare basename (a bare basename would let a same-named file
|
|
36
|
+
* dropped anywhere else in the tree inherit an allowance it was never
|
|
37
|
+
* granted). */
|
|
38
|
+
export function relToServerSrc(file) {
|
|
39
|
+
return relative(SERVER_SRC, file).split("\\").join("/");
|
|
40
|
+
}
|
|
41
|
+
export function readSource(file) {
|
|
42
|
+
return readFileSync(file, "utf-8");
|
|
43
|
+
}
|
|
44
|
+
/** Strip block/line comments while preserving line breaks and string
|
|
45
|
+
* contents, so a doc-comment mentioning these patterns never false-positives
|
|
46
|
+
* while a real `"python3"` spawn literal still matches. */
|
|
47
|
+
export function stripCommentsPreserveLines(src) {
|
|
48
|
+
let out = "";
|
|
49
|
+
let i = 0;
|
|
50
|
+
let inBlock = false;
|
|
51
|
+
let inLine = false;
|
|
52
|
+
let inString = null;
|
|
53
|
+
let escape = false;
|
|
54
|
+
while (i < src.length) {
|
|
55
|
+
const ch = src[i];
|
|
56
|
+
const next = src[i + 1];
|
|
57
|
+
if (inBlock) {
|
|
58
|
+
if (ch === "*" && next === "/") {
|
|
59
|
+
out += " ";
|
|
60
|
+
i += 2;
|
|
61
|
+
inBlock = false;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
out += ch === "\n" ? "\n" : " ";
|
|
65
|
+
i++;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (inLine) {
|
|
69
|
+
if (ch === "\n") {
|
|
70
|
+
out += "\n";
|
|
71
|
+
inLine = false;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
out += " ";
|
|
75
|
+
}
|
|
76
|
+
i++;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (inString) {
|
|
80
|
+
out += ch;
|
|
81
|
+
if (escape) {
|
|
82
|
+
escape = false;
|
|
83
|
+
}
|
|
84
|
+
else if (ch === "\\") {
|
|
85
|
+
escape = true;
|
|
86
|
+
}
|
|
87
|
+
else if (ch === inString) {
|
|
88
|
+
inString = null;
|
|
89
|
+
}
|
|
90
|
+
i++;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (ch === "/" && next === "*") {
|
|
94
|
+
out += " ";
|
|
95
|
+
i += 2;
|
|
96
|
+
inBlock = true;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (ch === "/" && next === "/") {
|
|
100
|
+
out += " ";
|
|
101
|
+
i += 2;
|
|
102
|
+
inLine = true;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (ch === '"' || ch === "'" || ch === "`") {
|
|
106
|
+
inString = ch;
|
|
107
|
+
out += ch;
|
|
108
|
+
i++;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
out += ch;
|
|
112
|
+
i++;
|
|
113
|
+
}
|
|
114
|
+
return out;
|
|
115
|
+
}
|
|
116
|
+
export function indexToLine(src, index) {
|
|
117
|
+
let line = 1;
|
|
118
|
+
for (let i = 0; i < index; i++) {
|
|
119
|
+
if (src[i] === "\n")
|
|
120
|
+
line++;
|
|
121
|
+
}
|
|
122
|
+
return line;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=python-spawn-guard-util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-spawn-guard-util.js","sourceRoot":"","sources":["../../src/test/python-spawn-guard-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { Staleness } from "../external/org/cron.js";
|
|
2
|
+
import type { LeadOrgInfoReason } from "../external/org/org-chart-lookup.js";
|
|
3
|
+
export interface OrgChartLeadView {
|
|
4
|
+
domain: string;
|
|
5
|
+
name: string;
|
|
6
|
+
reports_to: string | null;
|
|
7
|
+
manages: string[];
|
|
8
|
+
charter_path: string;
|
|
9
|
+
}
|
|
10
|
+
export interface OrgChartView {
|
|
11
|
+
version: number;
|
|
12
|
+
po: string;
|
|
13
|
+
leads: Record<string, OrgChartLeadView>;
|
|
14
|
+
}
|
|
15
|
+
export type UsageResponse = {
|
|
16
|
+
leadId: string;
|
|
17
|
+
measured: false;
|
|
18
|
+
} | {
|
|
19
|
+
leadId: string;
|
|
20
|
+
measured: true;
|
|
21
|
+
costUsd: number;
|
|
22
|
+
runCount: number;
|
|
23
|
+
windowDays: number;
|
|
24
|
+
asOf: string;
|
|
25
|
+
};
|
|
26
|
+
export type CadenceUnresolvedReason = LeadOrgInfoReason | "invalid_cron";
|
|
27
|
+
export type LastRunResponse = {
|
|
28
|
+
leadId: string;
|
|
29
|
+
measured: false;
|
|
30
|
+
} | {
|
|
31
|
+
leadId: string;
|
|
32
|
+
measured: true;
|
|
33
|
+
lastRunAt: string;
|
|
34
|
+
sessionId: string;
|
|
35
|
+
staleness: Staleness | "unknown";
|
|
36
|
+
thresholdMs: number | null;
|
|
37
|
+
cadenceMs: number | null;
|
|
38
|
+
cadenceUnresolvedReason?: CadenceUnresolvedReason;
|
|
39
|
+
};
|
|
40
|
+
export interface BeatRegisterEntryView {
|
|
41
|
+
sessionId: string;
|
|
42
|
+
beatId: string;
|
|
43
|
+
leadId: string;
|
|
44
|
+
pid: number;
|
|
45
|
+
startedAt: string;
|
|
46
|
+
closedAt: string | null;
|
|
47
|
+
}
|
|
48
|
+
export type BeatRegisterHealthResponse = {
|
|
49
|
+
leadId: string;
|
|
50
|
+
status: "clear";
|
|
51
|
+
} | {
|
|
52
|
+
leadId: string;
|
|
53
|
+
status: "open";
|
|
54
|
+
entry: BeatRegisterEntryView;
|
|
55
|
+
} | {
|
|
56
|
+
leadId: string;
|
|
57
|
+
status: "fault";
|
|
58
|
+
reason: "duplicate-session-id";
|
|
59
|
+
sessionId: string;
|
|
60
|
+
entries: BeatRegisterEntryView[];
|
|
61
|
+
};
|
|
62
|
+
/** The Now block's four states (iterate spec AC-2) — "waiting on you" is
|
|
63
|
+
* deliberately absent, see the iterate spec's Design Notes. */
|
|
64
|
+
export type LeadNowState = {
|
|
65
|
+
state: "running";
|
|
66
|
+
} | {
|
|
67
|
+
state: "resting";
|
|
68
|
+
lastRun: {
|
|
69
|
+
measured: false;
|
|
70
|
+
} | {
|
|
71
|
+
measured: true;
|
|
72
|
+
lastRunAt: string;
|
|
73
|
+
};
|
|
74
|
+
} | {
|
|
75
|
+
state: "needs-attention";
|
|
76
|
+
reason: "duplicate-session";
|
|
77
|
+
} | {
|
|
78
|
+
state: "not-measured";
|
|
79
|
+
};
|
|
80
|
+
export type LeadRoleView = {
|
|
81
|
+
measured: false;
|
|
82
|
+
} | {
|
|
83
|
+
measured: true;
|
|
84
|
+
text: string;
|
|
85
|
+
};
|
|
86
|
+
export type LeadCadenceView = {
|
|
87
|
+
measured: false;
|
|
88
|
+
} | {
|
|
89
|
+
measured: true;
|
|
90
|
+
text: string;
|
|
91
|
+
cron: string;
|
|
92
|
+
};
|
|
93
|
+
export interface LeadRosterEntry {
|
|
94
|
+
leadId: string;
|
|
95
|
+
domain: string;
|
|
96
|
+
name: string;
|
|
97
|
+
reportsTo: string | null;
|
|
98
|
+
role: LeadRoleView;
|
|
99
|
+
now: LeadNowState;
|
|
100
|
+
cadence: LeadCadenceView;
|
|
101
|
+
usage: UsageResponse;
|
|
102
|
+
}
|
|
103
|
+
export interface LeadsRosterResponse {
|
|
104
|
+
leads: LeadRosterEntry[];
|
|
105
|
+
}
|
|
106
|
+
export interface AuditLogEntry {
|
|
107
|
+
raw: string;
|
|
108
|
+
parsed: Record<string, unknown> | null;
|
|
109
|
+
}
|
|
110
|
+
export interface AuditLogPage {
|
|
111
|
+
entries: AuditLogEntry[];
|
|
112
|
+
total: number;
|
|
113
|
+
nextCursor: number | null;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=org.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* types/org.ts — canonical TS shapes for the leadwright org-directory route
|
|
3
|
+
* family (`/api/external/org/*`, and its plain-surface mirror `/api/org/*`,
|
|
4
|
+
* see `server/src/routes/org.ts`).
|
|
5
|
+
*
|
|
6
|
+
* `external/org/*.ts` import their response types from here instead of
|
|
7
|
+
* declaring them inline, so the secret-gated route and the browser-facing
|
|
8
|
+
* proxy can never drift on wire shape. Client-side mirrors (`client/src/lib/
|
|
9
|
+
* orgApi.ts`) are verbatim copies of these — same discipline as
|
|
10
|
+
* `triage.ts` / `action-schema.ts` (CLAUDE.md rule 7), guarded here by
|
|
11
|
+
* `org-schema-sync.test.ts`'s union-arm comparison (these are discriminated
|
|
12
|
+
* unions, not flat interfaces — the flat-interface field-name guard those
|
|
13
|
+
* two files use does not apply).
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=org.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
package/server/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1
|
|
1
|
+
1
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# Bundled stack profiles
|
|
2
|
-
|
|
3
|
-
This directory holds a **snapshot** of `shared/profiles/*.json` from the
|
|
4
|
-
Shipwright monorepo. The WebUI ships this snapshot so it can run
|
|
5
|
-
standalone — no Shipwright repo required at runtime.
|
|
6
|
-
|
|
7
|
-
## Lookup order (see `server/src/core/profile-loader.ts::getProfilesDir`)
|
|
8
|
-
|
|
9
|
-
1. `SHIPWRIGHT_PROFILES_DIR` — explicit user override (absolute path).
|
|
10
|
-
2. `SHIPWRIGHT_MONOREPO_PATH` → `<path>/shared/profiles/` — dev-loop
|
|
11
|
-
helper: when you're iterating on the Shipwright monorepo itself and
|
|
12
|
-
want profile edits to take effect without re-syncing the snapshot.
|
|
13
|
-
3. This directory (bundled snapshot) — the default when neither env
|
|
14
|
-
var is set.
|
|
15
|
-
|
|
16
|
-
## Keeping the snapshot fresh
|
|
17
|
-
|
|
18
|
-
The source of truth is `shipwright/shared/profiles/`. When profiles
|
|
19
|
-
change upstream, re-run:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
npm run sync-profiles # (from webui/server/)
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
…or just copy the changed files manually. There is no automatic sync —
|
|
26
|
-
the snapshot-vs-live drift is intentional so Shipwright and the WebUI
|
|
27
|
-
can release independently.
|
|
1
|
+
# Bundled stack profiles
|
|
2
|
+
|
|
3
|
+
This directory holds a **snapshot** of `shared/profiles/*.json` from the
|
|
4
|
+
Shipwright monorepo. The WebUI ships this snapshot so it can run
|
|
5
|
+
standalone — no Shipwright repo required at runtime.
|
|
6
|
+
|
|
7
|
+
## Lookup order (see `server/src/core/profile-loader.ts::getProfilesDir`)
|
|
8
|
+
|
|
9
|
+
1. `SHIPWRIGHT_PROFILES_DIR` — explicit user override (absolute path).
|
|
10
|
+
2. `SHIPWRIGHT_MONOREPO_PATH` → `<path>/shared/profiles/` — dev-loop
|
|
11
|
+
helper: when you're iterating on the Shipwright monorepo itself and
|
|
12
|
+
want profile edits to take effect without re-syncing the snapshot.
|
|
13
|
+
3. This directory (bundled snapshot) — the default when neither env
|
|
14
|
+
var is set.
|
|
15
|
+
|
|
16
|
+
## Keeping the snapshot fresh
|
|
17
|
+
|
|
18
|
+
The source of truth is `shipwright/shared/profiles/`. When profiles
|
|
19
|
+
change upstream, re-run:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm run sync-profiles # (from webui/server/)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
…or just copy the changed files manually. There is no automatic sync —
|
|
26
|
+
the snapshot-vs-live drift is intentional so Shipwright and the WebUI
|
|
27
|
+
can release independently.
|