@cloudcli-ai/cloudcli 1.37.2 → 1.37.3
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/README.md +269 -0
- package/dist/assets/{abnfDiagram-N423BO3Z-C4UAoHJb.js → abnfDiagram-N423BO3Z-CJntskwA.js} +1 -1
- package/dist/assets/{arc-B8jF-ja9.js → arc-CIfH4uMN.js} +1 -1
- package/dist/assets/{architectureDiagram-T3A2C74G-C_Wur_CU.js → architectureDiagram-T3A2C74G-_IpEkukg.js} +1 -1
- package/dist/assets/{blockDiagram-VBNYF7ZC-Cq4P1i8t.js → blockDiagram-VBNYF7ZC-BttxrpgZ.js} +1 -1
- package/dist/assets/{c4Diagram-5PPSVZJV-C1wG4eUj.js → c4Diagram-5PPSVZJV-g51dSRr1.js} +1 -1
- package/dist/assets/channel-C5xU9jMw.js +1 -0
- package/dist/assets/{chunk-2GRJ4B5K-B8fnBG6E.js → chunk-2GRJ4B5K-D_-LbQUa.js} +1 -1
- package/dist/assets/{chunk-2Q5K7J3B-WdfPooPJ.js → chunk-2Q5K7J3B-BtlHzwaO.js} +1 -1
- package/dist/assets/{chunk-5RXB4S5H-DhZJuG2E.js → chunk-5RXB4S5H-UzkpvpAT.js} +1 -1
- package/dist/assets/{chunk-5VM5RSS4-B0rjslal.js → chunk-5VM5RSS4-BKwx5Gag.js} +1 -1
- package/dist/assets/{chunk-6Q2QTUOP-CG2Oj4jL.js → chunk-6Q2QTUOP-D_KEBH5f.js} +1 -1
- package/dist/assets/{chunk-GF5L2VYU-rrl2lRxY.js → chunk-GF5L2VYU-rK2DGyto.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-CjVbrVMA.js → chunk-JWPE2WC7-CeBl_N9i.js} +1 -1
- package/dist/assets/{chunk-KBJHAD2P-CRzKgU8S.js → chunk-KBJHAD2P-BiQLWVIr.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-DBz4GTZF.js → chunk-RYQCIY6F-C1knVGV5.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-wHxalsXk.js → chunk-XXDRQBXY-CtKbJkvF.js} +1 -1
- package/dist/assets/classDiagram-JCYQIIEL-CRrL3vp7.js +1 -0
- package/dist/assets/classDiagram-v2-OCEON4UE-CRrL3vp7.js +1 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-s1hygY8e.js → cose-bilkent-JH36ORCC-DjX8y40Z.js} +1 -1
- package/dist/assets/{cynefin-VYW2F7L2-C4LGV15i.js → cynefin-VYW2F7L2-DM6YeRba.js} +1 -1
- package/dist/assets/{cynefinDiagram-MW4NZA55-C5uhu7B3.js → cynefinDiagram-MW4NZA55-wZJ-vy5B.js} +1 -1
- package/dist/assets/{dagre-VZM6K2ZE-B-OBTewm.js → dagre-VZM6K2ZE-BzP0ejkH.js} +1 -1
- package/dist/assets/{diagram-7IWD3JNH-BjGKQxih.js → diagram-7IWD3JNH-BTL_j23J.js} +1 -1
- package/dist/assets/{diagram-B4RE2ZJO-BMKz1X2L.js → diagram-B4RE2ZJO-Cf1Norgu.js} +1 -1
- package/dist/assets/{diagram-LBJQPF4R-DNh-GhKC.js → diagram-LBJQPF4R-DPiUEKr-.js} +1 -1
- package/dist/assets/{diagram-Q27KOJAE-BaTG9jPT.js → diagram-Q27KOJAE-CTcTpiz5.js} +1 -1
- package/dist/assets/{diagram-UB23O5K3-BUwo2OvJ.js → diagram-UB23O5K3-DPMSdYm0.js} +1 -1
- package/dist/assets/{ebnfDiagram-BXEA7PRR-DAZgfzX2.js → ebnfDiagram-BXEA7PRR-7yvD6uiF.js} +1 -1
- package/dist/assets/{erDiagram-JOGREHBK-1w1CcGEb.js → erDiagram-JOGREHBK-CfgeDoV6.js} +1 -1
- package/dist/assets/{flowDiagram-UKHOOZJN-D4EII8Jj.js → flowDiagram-UKHOOZJN-B27ng5zu.js} +1 -1
- package/dist/assets/{ganttDiagram-PKOTCBZU-ChvJZAgB.js → ganttDiagram-PKOTCBZU-CcC6b_7t.js} +1 -1
- package/dist/assets/{gitGraphDiagram-DS77QQ5N-DtOn41S8.js → gitGraphDiagram-DS77QQ5N-BX5kPGrO.js} +1 -1
- package/dist/assets/index-BTDHQ6Id.css +32 -0
- package/dist/assets/index-sFfz8iBR.js +4931 -0
- package/dist/assets/{infoDiagram-6WML65LV-DN_PVEJZ.js → infoDiagram-6WML65LV-CUP-SlN4.js} +1 -1
- package/dist/assets/{ishikawaDiagram-WSZJBQD7-DbkF1kXb.js → ishikawaDiagram-WSZJBQD7-BTTDhOpX.js} +1 -1
- package/dist/assets/{journeyDiagram-NVQOT4AX-pJwmhddE.js → journeyDiagram-NVQOT4AX-ARXcc61m.js} +1 -1
- package/dist/assets/{kanban-definition-27J2QSJJ-PPAPgNp5.js → kanban-definition-27J2QSJJ-BieMpqMA.js} +1 -1
- package/dist/assets/{linear-iPR-J9f7.js → linear-61vxjRnP.js} +1 -1
- package/dist/assets/{mermaid.core-BEUL86Z6.js → mermaid.core-nhnwkfQx.js} +5 -5
- package/dist/assets/{mindmap-definition-FAOFIHXS-BvZoBib7.js → mindmap-definition-FAOFIHXS-Cm6x5vT1.js} +1 -1
- package/dist/assets/{pegDiagram-VL7TDLO6-DhYreaUd.js → pegDiagram-VL7TDLO6-CcYBq_9H.js} +1 -1
- package/dist/assets/{pieDiagram-7S7Q4E2Y-CrOHlyD0.js → pieDiagram-7S7Q4E2Y-CfvIjfzo.js} +1 -1
- package/dist/assets/{quadrantDiagram-CIZ2JOQS-D4g5yH3t.js → quadrantDiagram-CIZ2JOQS-SgYoWPNb.js} +1 -1
- package/dist/assets/{railroadDiagram-AXF67PYL-Dj39lHlf.js → railroadDiagram-AXF67PYL-D2Mu5E_f.js} +1 -1
- package/dist/assets/{requirementDiagram-LRYGKXZP-1AS4Zgm_.js → requirementDiagram-LRYGKXZP-Azwe_k4Q.js} +1 -1
- package/dist/assets/{sankeyDiagram-W5VNT64P-CKlMn19P.js → sankeyDiagram-W5VNT64P-DN1Ju3PA.js} +1 -1
- package/dist/assets/{sequenceDiagram-SI44F4Z6-B_j3qyvo.js → sequenceDiagram-SI44F4Z6-Bj4qC34S.js} +1 -1
- package/dist/assets/server.browser-CtX3Hdl5.js +27 -0
- package/dist/assets/{sizeCapture-X5ZJPWSS-Bp2Op16v.js → sizeCapture-X5ZJPWSS-Co4PdklG.js} +1 -1
- package/dist/assets/{stateDiagram-OKZ733FA-C0cN6DoY.js → stateDiagram-OKZ733FA-nOvL9dRC.js} +1 -1
- package/dist/assets/stateDiagram-v2-UEYNNEHI-DNv8ppw7.js +1 -0
- package/dist/assets/{swimlanes-SLNWSIFB-BEvXOV9b.js → swimlanes-SLNWSIFB-CCK3wMid.js} +2 -2
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-DnfbNQEp.js +8 -0
- package/dist/assets/{timeline-definition-Z64GVDOM-zdJQinvZ.js → timeline-definition-Z64GVDOM-BC29RNFm.js} +1 -1
- package/dist/assets/{vendor-codemirror-OwyKSvPE.js → vendor-codemirror-CYrSt7-U.js} +18 -18
- package/dist/assets/{vennDiagram-T6HMQDX7-DuF1uZMY.js → vennDiagram-T6HMQDX7-pZlZCtEo.js} +1 -1
- package/dist/assets/{wardleyDiagram-T6FBY63Y-B9AlLQup.js → wardleyDiagram-T6FBY63Y-De8k2-zM.js} +1 -1
- package/dist/assets/{xychartDiagram-ELKLHX3M-DTJX48Qg.js → xychartDiagram-ELKLHX3M-Bk8ykH0w.js} +1 -1
- package/dist/index.html +3 -3
- package/dist-server/server/index.js +7 -3
- package/dist-server/server/index.js.map +1 -1
- package/dist-server/server/modules/agent/agent.routes.js +2 -2
- package/dist-server/server/modules/agent/agent.routes.js.map +1 -1
- package/dist-server/server/modules/agent/tests/agent.routes.test.js +30 -1
- package/dist-server/server/modules/agent/tests/agent.routes.test.js.map +1 -1
- package/dist-server/server/modules/browser-use/browser-use.routes.js +39 -33
- package/dist-server/server/modules/browser-use/browser-use.routes.js.map +1 -1
- package/dist-server/server/modules/database/connection.js +1 -1
- package/dist-server/server/modules/database/connection.js.map +1 -1
- package/dist-server/server/modules/database/index.js +5 -0
- package/dist-server/server/modules/database/index.js.map +1 -1
- package/dist-server/server/modules/database/migrations.js +32 -1
- package/dist-server/server/modules/database/migrations.js.map +1 -1
- package/dist-server/server/modules/database/repositories/scheduled-messages.db.js +71 -0
- package/dist-server/server/modules/database/repositories/scheduled-messages.db.js.map +1 -0
- package/dist-server/server/modules/database/repositories/session-drafts.db.js +105 -0
- package/dist-server/server/modules/database/repositories/session-drafts.db.js.map +1 -0
- package/dist-server/server/modules/database/repositories/sessions.db.js +137 -5
- package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -1
- package/dist-server/server/modules/database/repositories/user-preferences.db.js +65 -0
- package/dist-server/server/modules/database/repositories/user-preferences.db.js.map +1 -0
- package/dist-server/server/modules/database/schema.js +92 -0
- package/dist-server/server/modules/database/schema.js.map +1 -1
- package/dist-server/server/modules/database/tests/sessions.db.integration.test.js +39 -0
- package/dist-server/server/modules/database/tests/sessions.db.integration.test.js.map +1 -1
- package/dist-server/server/modules/database/tests/user-preferences.db.integration.test.js +105 -0
- package/dist-server/server/modules/database/tests/user-preferences.db.integration.test.js.map +1 -0
- package/dist-server/server/modules/projects/services/project-delete.service.js +12 -1
- package/dist-server/server/modules/projects/services/project-delete.service.js.map +1 -1
- package/dist-server/server/modules/projects/services/project-star.service.js +2 -2
- package/dist-server/server/modules/projects/services/project-star.service.js.map +1 -1
- package/dist-server/server/modules/providers/index.js +3 -0
- package/dist-server/server/modules/providers/index.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +20 -1
- package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-fork.provider.js +46 -0
- package/dist-server/server/modules/providers/list/claude/claude-fork.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +35 -6
- package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js +168 -38
- package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +388 -50
- package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js +4 -1
- package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/claude/claude.provider.js +2 -0
- package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-app-server.client.js +204 -0
- package/dist-server/server/modules/providers/list/codex/codex-app-server.client.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-fork.provider.js +32 -0
- package/dist-server/server/modules/providers/list/codex/codex-fork.provider.js.map +1 -0
- package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +16 -0
- package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js +60 -49
- package/dist-server/server/modules/providers/list/codex/codex-runtime.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +8 -0
- package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +1565 -432
- package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/codex/codex.provider.js +2 -0
- package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js +8 -6
- package/dist-server/server/modules/providers/list/cursor/cursor-runtime.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.js.map +1 -1
- package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +258 -6
- package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js.map +1 -1
- package/dist-server/server/modules/providers/provider.routes.js +24 -0
- package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
- package/dist-server/server/modules/providers/services/provider-capabilities.service.js +14 -0
- package/dist-server/server/modules/providers/services/provider-capabilities.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/provider-token-usage.service.js +139 -35
- package/dist-server/server/modules/providers/services/provider-token-usage.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/session-history-cache.service.js +87 -0
- package/dist-server/server/modules/providers/services/session-history-cache.service.js.map +1 -0
- package/dist-server/server/modules/providers/services/session-synchronizer.service.js +105 -32
- package/dist-server/server/modules/providers/services/session-synchronizer.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/sessions-watcher.service.js +3 -60
- package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -1
- package/dist-server/server/modules/providers/services/sessions.service.js +179 -9
- package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
- package/dist-server/server/modules/providers/tests/claude-auth.test.js +52 -0
- package/dist-server/server/modules/providers/tests/claude-auth.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/claude-models.test.js +39 -0
- package/dist-server/server/modules/providers/tests/claude-models.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/claude-sessions.test.js +465 -39
- package/dist-server/server/modules/providers/tests/claude-sessions.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/claude-subagent-echo.test.js +16 -0
- package/dist-server/server/modules/providers/tests/claude-subagent-echo.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/claude-token-budget.test.js +85 -0
- package/dist-server/server/modules/providers/tests/claude-token-budget.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-message-editing.test.js +338 -0
- package/dist-server/server/modules/providers/tests/codex-message-editing.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-runtime.test.js +51 -0
- package/dist-server/server/modules/providers/tests/codex-runtime.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-session-fork.test.js +54 -0
- package/dist-server/server/modules/providers/tests/codex-session-fork.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/codex-sessions.test.js +304 -15
- package/dist-server/server/modules/providers/tests/codex-sessions.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/opencode-models.test.js +117 -4
- package/dist-server/server/modules/providers/tests/opencode-models.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js +164 -1
- package/dist-server/server/modules/providers/tests/provider-token-usage.service.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/session-fork.test.js +113 -0
- package/dist-server/server/modules/providers/tests/session-fork.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/session-history-cache.service.test.js +120 -0
- package/dist-server/server/modules/providers/tests/session-history-cache.service.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/session-orphan-prune.test.js +90 -0
- package/dist-server/server/modules/providers/tests/session-orphan-prune.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/session-synchronizer-coalescing.test.js +122 -0
- package/dist-server/server/modules/providers/tests/session-synchronizer-coalescing.test.js.map +1 -0
- package/dist-server/server/modules/providers/tests/sessions.service.test.js +45 -1
- package/dist-server/server/modules/providers/tests/sessions.service.test.js.map +1 -1
- package/dist-server/server/modules/providers/tests/skills.test.js +15 -3
- package/dist-server/server/modules/providers/tests/skills.test.js.map +1 -1
- package/dist-server/server/modules/scheduled-messages/index.js +5 -0
- package/dist-server/server/modules/scheduled-messages/index.js.map +1 -0
- package/dist-server/server/modules/scheduled-messages/scheduled-messages.routes.js +47 -0
- package/dist-server/server/modules/scheduled-messages/scheduled-messages.routes.js.map +1 -0
- package/dist-server/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.js +163 -0
- package/dist-server/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.js.map +1 -0
- package/dist-server/server/modules/scheduled-messages/services/scheduled-messages.service.js +95 -0
- package/dist-server/server/modules/scheduled-messages/services/scheduled-messages.service.js.map +1 -0
- package/dist-server/server/modules/scheduled-messages/tests/scheduled-messages.test.js +255 -0
- package/dist-server/server/modules/scheduled-messages/tests/scheduled-messages.test.js.map +1 -0
- package/dist-server/server/modules/taskmaster/taskmaster.routes.js +23 -23
- package/dist-server/server/modules/taskmaster/taskmaster.routes.js.map +1 -1
- package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js +48 -0
- package/dist-server/server/modules/taskmaster/tests/taskmaster.routes.test.js.map +1 -1
- package/dist-server/server/modules/user/tests/user.service.test.js +70 -0
- package/dist-server/server/modules/user/tests/user.service.test.js.map +1 -1
- package/dist-server/server/modules/user/user.module.js +10 -1
- package/dist-server/server/modules/user/user.module.js.map +1 -1
- package/dist-server/server/modules/user/user.routes.js +44 -0
- package/dist-server/server/modules/user/user.routes.js.map +1 -1
- package/dist-server/server/modules/user/user.service.js +75 -0
- package/dist-server/server/modules/user/user.service.js.map +1 -1
- package/dist-server/server/modules/voice/tests/voice.service.test.js +3 -2
- package/dist-server/server/modules/voice/tests/voice.service.test.js.map +1 -1
- package/dist-server/server/modules/websocket/index.js +7 -0
- package/dist-server/server/modules/websocket/index.js.map +1 -1
- package/dist-server/server/modules/websocket/services/chat-run-registry.service.js +10 -44
- package/dist-server/server/modules/websocket/services/chat-run-registry.service.js.map +1 -1
- package/dist-server/server/modules/websocket/services/chat-session-writer.service.js +35 -5
- package/dist-server/server/modules/websocket/services/chat-session-writer.service.js.map +1 -1
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js +166 -9
- package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
- package/dist-server/server/modules/websocket/services/session-upsert-broadcast.service.js +94 -0
- package/dist-server/server/modules/websocket/services/session-upsert-broadcast.service.js.map +1 -0
- package/dist-server/server/modules/websocket/services/shell-websocket.service.js +9 -3
- package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
- package/dist-server/server/modules/websocket/tests/chat-edit-send.test.js +263 -0
- package/dist-server/server/modules/websocket/tests/chat-edit-send.test.js.map +1 -0
- package/dist-server/server/modules/websocket/tests/chat-run-registry.test.js +29 -3
- package/dist-server/server/modules/websocket/tests/chat-run-registry.test.js.map +1 -1
- package/dist-server/server/modules/websocket/tests/session-upsert-broadcast.test.js +106 -0
- package/dist-server/server/modules/websocket/tests/session-upsert-broadcast.test.js.map +1 -0
- package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js +80 -0
- package/dist-server/server/modules/websocket/tests/shell-websocket.service.test.js.map +1 -1
- package/dist-server/server/shared/claude-cli-path.js +22 -5
- package/dist-server/server/shared/claude-cli-path.js.map +1 -1
- package/dist-server/server/shared/index.js +3 -0
- package/dist-server/server/shared/index.js.map +1 -0
- package/dist-server/server/shared/message-unification.js +376 -0
- package/dist-server/server/shared/message-unification.js.map +1 -0
- package/dist-server/server/shared/tests/claude-cli-path.test.js +45 -1
- package/dist-server/server/shared/tests/claude-cli-path.test.js.map +1 -1
- package/dist-server/server/shared/tests/message-unification.test.js +174 -0
- package/dist-server/server/shared/tests/message-unification.test.js.map +1 -0
- package/dist-server/server/shared/utils.js +34 -0
- package/dist-server/server/shared/utils.js.map +1 -1
- package/package.json +19 -16
- package/server/index.ts +11 -4
- package/server/modules/agent/agent.routes.ts +2 -2
- package/server/modules/agent/tests/agent.routes.test.ts +33 -1
- package/server/modules/browser-use/browser-use.routes.ts +96 -33
- package/server/modules/database/connection.ts +2 -1
- package/server/modules/database/index.ts +10 -0
- package/server/modules/database/migrations.ts +37 -0
- package/server/modules/database/repositories/scheduled-messages.db.ts +127 -0
- package/server/modules/database/repositories/session-drafts.db.ts +171 -0
- package/server/modules/database/repositories/sessions.db.ts +196 -3
- package/server/modules/database/repositories/user-preferences.db.ts +80 -0
- package/server/modules/database/schema.ts +96 -0
- package/server/modules/database/tests/sessions.db.integration.test.ts +52 -0
- package/server/modules/database/tests/user-preferences.db.integration.test.ts +135 -0
- package/server/modules/projects/services/project-delete.service.ts +13 -1
- package/server/modules/projects/services/project-star.service.ts +2 -2
- package/server/modules/providers/index.ts +4 -0
- package/server/modules/providers/list/claude/claude-auth.provider.ts +21 -1
- package/server/modules/providers/list/claude/claude-fork.provider.ts +57 -0
- package/server/modules/providers/list/claude/claude-models.provider.ts +38 -6
- package/server/modules/providers/list/claude/claude-runtime.provider.js +188 -39
- package/server/modules/providers/list/claude/claude-sessions.provider.ts +478 -54
- package/server/modules/providers/list/claude/claude-skills.provider.ts +4 -1
- package/server/modules/providers/list/claude/claude.provider.ts +3 -0
- package/server/modules/providers/list/codex/codex-app-server.client.ts +243 -0
- package/server/modules/providers/list/codex/codex-fork.provider.ts +40 -0
- package/server/modules/providers/list/codex/codex-models.provider.ts +16 -0
- package/server/modules/providers/list/codex/{codex-runtime.provider.js → codex-runtime.provider.ts} +93 -66
- package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +9 -0
- package/server/modules/providers/list/codex/codex-sessions.provider.ts +1806 -477
- package/server/modules/providers/list/codex/codex.provider.ts +3 -0
- package/server/modules/providers/list/cursor/cursor-runtime.provider.js +8 -6
- package/server/modules/providers/list/cursor/cursor-session-synchronizer.provider.ts +0 -1
- package/server/modules/providers/list/opencode/opencode-models.provider.ts +279 -6
- package/server/modules/providers/provider.routes.ts +31 -0
- package/server/modules/providers/services/provider-capabilities.service.ts +23 -0
- package/server/modules/providers/services/provider-token-usage.service.ts +166 -39
- package/server/modules/providers/services/session-history-cache.service.ts +139 -0
- package/server/modules/providers/services/session-synchronizer.service.ts +125 -38
- package/server/modules/providers/services/sessions-watcher.service.ts +3 -64
- package/server/modules/providers/services/sessions.service.ts +201 -9
- package/server/modules/providers/tests/claude-auth.test.ts +58 -0
- package/server/modules/providers/tests/claude-models.test.ts +87 -0
- package/server/modules/providers/tests/claude-sessions.test.ts +552 -40
- package/server/modules/providers/tests/claude-subagent-echo.test.ts +25 -0
- package/server/modules/providers/tests/claude-token-budget.test.ts +104 -0
- package/server/modules/providers/tests/codex-message-editing.test.ts +419 -0
- package/server/modules/providers/tests/codex-runtime.test.ts +58 -0
- package/server/modules/providers/tests/codex-session-fork.test.ts +59 -0
- package/server/modules/providers/tests/codex-sessions.test.ts +337 -15
- package/server/modules/providers/tests/opencode-models.test.ts +166 -8
- package/server/modules/providers/tests/provider-token-usage.service.test.ts +188 -1
- package/server/modules/providers/tests/session-fork.test.ts +173 -0
- package/server/modules/providers/tests/session-history-cache.service.test.ts +143 -0
- package/server/modules/providers/tests/session-orphan-prune.test.ts +107 -0
- package/server/modules/providers/tests/session-synchronizer-coalescing.test.ts +136 -0
- package/server/modules/providers/tests/sessions.service.test.ts +67 -1
- package/server/modules/providers/tests/skills.test.ts +21 -5
- package/server/modules/scheduled-messages/index.ts +8 -0
- package/server/modules/scheduled-messages/scheduled-messages.routes.ts +68 -0
- package/server/modules/scheduled-messages/services/scheduled-message-dispatcher.service.ts +203 -0
- package/server/modules/scheduled-messages/services/scheduled-messages.service.ts +121 -0
- package/server/modules/scheduled-messages/tests/scheduled-messages.test.ts +310 -0
- package/server/modules/taskmaster/taskmaster.routes.ts +23 -33
- package/server/modules/taskmaster/tests/taskmaster.routes.test.ts +57 -0
- package/server/modules/user/tests/user.service.test.ts +90 -0
- package/server/modules/user/user.module.ts +10 -1
- package/server/modules/user/user.routes.ts +44 -0
- package/server/modules/user/user.service.ts +105 -0
- package/server/modules/voice/tests/voice.service.test.ts +3 -2
- package/server/modules/websocket/index.ts +8 -0
- package/server/modules/websocket/services/chat-run-registry.service.ts +17 -50
- package/server/modules/websocket/services/chat-session-writer.service.ts +36 -6
- package/server/modules/websocket/services/chat-websocket.service.ts +244 -15
- package/server/modules/websocket/services/session-upsert-broadcast.service.ts +108 -0
- package/server/modules/websocket/services/shell-websocket.service.ts +10 -3
- package/server/modules/websocket/tests/chat-edit-send.test.ts +309 -0
- package/server/modules/websocket/tests/chat-run-registry.test.ts +34 -3
- package/server/modules/websocket/tests/session-upsert-broadcast.test.ts +138 -0
- package/server/modules/websocket/tests/shell-websocket.service.test.ts +108 -0
- package/server/shared/claude-cli-path.ts +24 -6
- package/server/shared/index.ts +3 -0
- package/server/shared/interfaces.ts +62 -0
- package/server/shared/message-unification.ts +449 -0
- package/server/shared/tests/claude-cli-path.test.ts +58 -1
- package/server/shared/tests/message-unification.test.ts +218 -0
- package/server/shared/types.ts +123 -2
- package/server/shared/utils.ts +40 -0
- package/dist/assets/channel-_falYbU1.js +0 -1
- package/dist/assets/classDiagram-JCYQIIEL-Dn-3CfpR.js +0 -1
- package/dist/assets/classDiagram-v2-OCEON4UE-Dn-3CfpR.js +0 -1
- package/dist/assets/index-CzPLBvXT.css +0 -32
- package/dist/assets/index-DFkBBuSA.js +0 -1549
- package/dist/assets/stateDiagram-v2-UEYNNEHI-BvBxUUrZ.js +0 -1
- package/dist/assets/swimlanesDiagram-ULZ7WXOC-CsE-x4YK.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-writer.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/chat-session-writer.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAMxF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAuB5E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,iBAAiB;IAC5B,
|
|
1
|
+
{"version":3,"file":"chat-session-writer.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/chat-session-writer.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { sessionsDb } from '../../../modules/database/index.js';
|
|
3
|
-
import { providerModelsService } from '../../../modules/providers/index.js';
|
|
3
|
+
import { providerModelsService, sessionsService } from '../../../modules/providers/index.js';
|
|
4
4
|
import { chatRunRegistry } from '../../../modules/websocket/services/chat-run-registry.service.js';
|
|
5
5
|
import { connectedClients, WS_OPEN_STATE } from '../../../modules/websocket/services/websocket-state.service.js';
|
|
6
6
|
import { getGlobalImageAssetsDir, isImageAttachmentDescriptor, normalizeAttachmentDescriptors, } from '../../../shared/image-attachments.js';
|
|
@@ -84,21 +84,42 @@ function readRequiredSessionId(data) {
|
|
|
84
84
|
* registers the run, and dispatches to the provider runtime.
|
|
85
85
|
*/
|
|
86
86
|
async function handleChatSend(ws, userId, data, dependencies) {
|
|
87
|
+
const resolved = resolveSendTarget(ws, data, dependencies, 'chat.send');
|
|
88
|
+
if (!resolved) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
await dispatchRun(ws, userId, resolved.sessionId, resolved.session, data, dependencies);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Shared front half of `chat.send` and `chat.edit-send`: the session row and
|
|
95
|
+
* provider come from the database, never from the client.
|
|
96
|
+
*/
|
|
97
|
+
function resolveSendTarget(ws, data, dependencies, frameName) {
|
|
87
98
|
const sessionId = readRequiredSessionId(data);
|
|
88
99
|
if (!sessionId) {
|
|
89
|
-
sendProtocolError(ws, 'SESSION_ID_REQUIRED',
|
|
90
|
-
return;
|
|
100
|
+
sendProtocolError(ws, 'SESSION_ID_REQUIRED', `${frameName} requires a sessionId.`);
|
|
101
|
+
return null;
|
|
91
102
|
}
|
|
92
103
|
const session = sessionsDb.getSessionById(sessionId);
|
|
93
104
|
if (!session) {
|
|
94
105
|
sendProtocolError(ws, 'SESSION_NOT_FOUND', `Session "${sessionId}" was not found. Create it via POST /api/providers/sessions first.`, sessionId);
|
|
95
|
-
return;
|
|
106
|
+
return null;
|
|
96
107
|
}
|
|
97
108
|
const provider = session.provider;
|
|
98
109
|
if (!dependencies.runtime.hasRuntime(provider)) {
|
|
99
110
|
sendProtocolError(ws, 'UNSUPPORTED_PROVIDER', `Provider "${provider}" is not available.`, sessionId);
|
|
100
|
-
return;
|
|
111
|
+
return null;
|
|
101
112
|
}
|
|
113
|
+
return { sessionId, session, provider };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Registers the run and hands the turn to the provider runtime.
|
|
117
|
+
*
|
|
118
|
+
* `extraRuntimeOptions` is how an edited message asks the provider to resume
|
|
119
|
+
* partway instead of continuing from the tip; a normal send passes nothing.
|
|
120
|
+
*/
|
|
121
|
+
async function dispatchRun(ws, userId, sessionId, session, data, dependencies, extraRuntimeOptions = {}, beforeRun) {
|
|
122
|
+
const provider = session.provider;
|
|
102
123
|
const run = chatRunRegistry.startRun({
|
|
103
124
|
appSessionId: sessionId,
|
|
104
125
|
provider,
|
|
@@ -107,8 +128,10 @@ async function handleChatSend(ws, userId, data, dependencies) {
|
|
|
107
128
|
userId,
|
|
108
129
|
});
|
|
109
130
|
if (!run) {
|
|
110
|
-
|
|
111
|
-
|
|
131
|
+
if (ws) {
|
|
132
|
+
sendProtocolError(ws, 'RUN_IN_PROGRESS', `Session "${sessionId}" already has a run in progress.`, sessionId);
|
|
133
|
+
}
|
|
134
|
+
return { started: false, error: 'A run is already in progress for this session.' };
|
|
112
135
|
}
|
|
113
136
|
const clientOptions = (data.options ?? {});
|
|
114
137
|
const command = typeof data.content === 'string' ? data.content : '';
|
|
@@ -136,6 +159,7 @@ async function handleChatSend(ws, userId, data, dependencies) {
|
|
|
136
159
|
// app session id.
|
|
137
160
|
const runtimeOptions = {
|
|
138
161
|
...clientOptions,
|
|
162
|
+
...extraRuntimeOptions,
|
|
139
163
|
// Attachments are re-validated server-side: only direct children of the
|
|
140
164
|
// global upload store may reach provider runtimes or their file tools.
|
|
141
165
|
attachments: uniqueAttachments,
|
|
@@ -145,12 +169,18 @@ async function handleChatSend(ws, userId, data, dependencies) {
|
|
|
145
169
|
cwd: clientOptions.cwd ?? session.project_path ?? undefined,
|
|
146
170
|
projectPath: session.project_path ?? clientOptions.projectPath,
|
|
147
171
|
};
|
|
172
|
+
let failure = null;
|
|
148
173
|
try {
|
|
174
|
+
// Runs only now that the session is reserved, because an edit rewinds the
|
|
175
|
+
// conversation here and a rewind for a run that was never admitted cannot
|
|
176
|
+
// be taken back. Inside the try so a rewind that throws still releases the
|
|
177
|
+
// run instead of leaving the session processing forever.
|
|
178
|
+
await beforeRun?.(run);
|
|
149
179
|
await dependencies.runtime.run(provider, command, runtimeOptions, run.writer);
|
|
150
180
|
}
|
|
151
181
|
catch (error) {
|
|
152
|
-
|
|
153
|
-
console.error(`[Chat] Provider runtime "${provider}" failed`, { sessionId, error:
|
|
182
|
+
failure = error instanceof Error ? error.message : String(error);
|
|
183
|
+
console.error(`[Chat] Provider runtime "${provider}" failed`, { sessionId, error: failure });
|
|
154
184
|
}
|
|
155
185
|
finally {
|
|
156
186
|
// Safety net: a runtime that crashed (or resolved) without emitting its
|
|
@@ -160,6 +190,90 @@ async function handleChatSend(ws, userId, data, dependencies) {
|
|
|
160
190
|
// settles, and the session-keyed completeRun would kill that new run.
|
|
161
191
|
chatRunRegistry.completeRunIfCurrent(run, { exitCode: 1 });
|
|
162
192
|
}
|
|
193
|
+
return { started: true, error: failure };
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Handles `chat.edit-send`: replaces an already-sent message and everything
|
|
197
|
+
* after it with a new turn.
|
|
198
|
+
*
|
|
199
|
+
* Nothing is deleted. The provider resumes the conversation partway and
|
|
200
|
+
* appends the replacement, so the abandoned attempt stays in the transcript
|
|
201
|
+
* file and is simply no longer part of the live conversation — the same shape
|
|
202
|
+
* Claude Code's rewind and Codex's fork-with-cut-point produce.
|
|
203
|
+
*/
|
|
204
|
+
async function handleChatEditSend(ws, userId, data, dependencies) {
|
|
205
|
+
const resolved = resolveSendTarget(ws, data, dependencies, 'chat.edit-send');
|
|
206
|
+
if (!resolved) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const { sessionId, session, provider } = resolved;
|
|
210
|
+
const anchorId = typeof data.anchorId === 'string' ? data.anchorId.trim() : '';
|
|
211
|
+
if (!anchorId) {
|
|
212
|
+
sendProtocolError(ws, 'ANCHOR_REQUIRED', 'chat.edit-send requires the anchorId of the message being replaced.', sessionId);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
let resumeThroughId;
|
|
216
|
+
try {
|
|
217
|
+
const anchor = await sessionsService.resolveEditAnchor(sessionId, anchorId);
|
|
218
|
+
if (!anchor) {
|
|
219
|
+
sendProtocolError(ws, 'EDIT_NOT_SUPPORTED', `Provider "${provider}" cannot replace an already-sent message.`, sessionId);
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (!anchor.found) {
|
|
223
|
+
sendProtocolError(ws, 'ANCHOR_NOT_FOUND', 'That message is no longer in the transcript.', sessionId);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
resumeThroughId = anchor.resumeThroughId;
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
230
|
+
sendProtocolError(ws, 'ANCHOR_LOOKUP_FAILED', `Could not read the transcript: ${message}`, sessionId);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
// Providers split here on what their runtime can do. Claude resumes its
|
|
234
|
+
// transcript partway, so the anchor rides along as a run option. Codex
|
|
235
|
+
// cannot — a thread only grows — so the conversation is rewound on disk and
|
|
236
|
+
// the run that follows is an ordinary resume of whatever the session then
|
|
237
|
+
// points at. Which of the two applies is decided here; the rewind itself
|
|
238
|
+
// waits until the run has actually been admitted.
|
|
239
|
+
const rewinds = sessionsService.providerRewindsForEdit(sessionId);
|
|
240
|
+
await dispatchRun(ws, userId, sessionId, session, data, dependencies,
|
|
241
|
+
// `null` is meaningful: the edited turn was the first prompt, so the
|
|
242
|
+
// conversation starts over instead of resuming.
|
|
243
|
+
rewinds
|
|
244
|
+
? {}
|
|
245
|
+
: { resumeAnchorId: resumeThroughId ?? undefined, resumeFromScratch: resumeThroughId === null }, async (run) => {
|
|
246
|
+
// Emitted through the run's writer so it is sequenced and replayed like
|
|
247
|
+
// any other event — a second tab watching this session has to truncate
|
|
248
|
+
// too.
|
|
249
|
+
//
|
|
250
|
+
// Before the rewind, not after it. A rewind that has to branch spawns a
|
|
251
|
+
// process and waits on a JSON-RPC round trip, and holding the frame
|
|
252
|
+
// until that came back left the message the user had just edited away
|
|
253
|
+
// sitting on screen for about a second — the very flicker this feature
|
|
254
|
+
// exists to avoid. Announcing first is safe because a rewind that fails
|
|
255
|
+
// still ends the run, and the terminal `complete` makes every client
|
|
256
|
+
// re-read the transcript, which puts back anything that turned out not
|
|
257
|
+
// to have been replaced after all.
|
|
258
|
+
run.writer.send({
|
|
259
|
+
kind: 'history_truncated',
|
|
260
|
+
provider,
|
|
261
|
+
sessionId,
|
|
262
|
+
anchorId,
|
|
263
|
+
});
|
|
264
|
+
if (rewinds) {
|
|
265
|
+
try {
|
|
266
|
+
await sessionsService.rewindSessionForEdit(sessionId, resumeThroughId);
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
270
|
+
sendProtocolError(ws, 'EDIT_REWIND_FAILED', `Could not rewind the conversation: ${message}`, sessionId);
|
|
271
|
+
// Ends the run before the provider is asked to continue a
|
|
272
|
+
// conversation that was not rewound after all.
|
|
273
|
+
throw error;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
});
|
|
163
277
|
}
|
|
164
278
|
/**
|
|
165
279
|
* Handles `chat.abort`: cancels the run for one app session and emits the
|
|
@@ -266,6 +380,46 @@ function handlePermissionResponse(data, dependencies) {
|
|
|
266
380
|
* (`chat_subscribed`, `session_upserted`, `loading_progress`,
|
|
267
381
|
* `protocol_error`).
|
|
268
382
|
*/
|
|
383
|
+
/**
|
|
384
|
+
* Runs a turn for a session with no client attached.
|
|
385
|
+
*
|
|
386
|
+
* Used by scheduled messages, which fire from a timer: there is no socket to
|
|
387
|
+
* report errors to and no audience to stream to. The run is registered exactly
|
|
388
|
+
* like an interactive one, so anyone who opens the session while it is going
|
|
389
|
+
* subscribes and replays it from the start, and the session shows as busy
|
|
390
|
+
* everywhere in the meantime.
|
|
391
|
+
*
|
|
392
|
+
* Resolves when the provider run settles. Returns false when the session has
|
|
393
|
+
* gone away or is busy without `interruptActiveRun`, which the caller reports
|
|
394
|
+
* on the schedule.
|
|
395
|
+
*/
|
|
396
|
+
export async function runDetachedChatTurn(input, dependencies) {
|
|
397
|
+
const session = sessionsDb.getSessionById(input.sessionId);
|
|
398
|
+
if (!session) {
|
|
399
|
+
return { started: false, error: 'The session no longer exists.' };
|
|
400
|
+
}
|
|
401
|
+
const provider = session.provider;
|
|
402
|
+
if (!dependencies.runtime.hasRuntime(provider)) {
|
|
403
|
+
return { started: false, error: `Provider "${provider}" is not available.` };
|
|
404
|
+
}
|
|
405
|
+
const activeRun = chatRunRegistry.getRun(input.sessionId);
|
|
406
|
+
if (activeRun && activeRun.status === 'running') {
|
|
407
|
+
if (!input.interruptActiveRun) {
|
|
408
|
+
return { started: false, error: 'A run was already in progress for this session.' };
|
|
409
|
+
}
|
|
410
|
+
// Same shape as `chat.abort`: cancel the provider run and emit the
|
|
411
|
+
// terminal `complete` on its behalf, so every watching client sees the
|
|
412
|
+
// interrupted run end before this turn's stream begins. The interrupted
|
|
413
|
+
// run's own dispatch settles later through completeRunIfCurrent, which is
|
|
414
|
+
// scoped to that run and cannot touch the one started here.
|
|
415
|
+
const aborted = await dependencies.runtime.abort(activeRun.provider, input.sessionId);
|
|
416
|
+
chatRunRegistry.completeRun(input.sessionId, {
|
|
417
|
+
exitCode: aborted ? 0 : 1,
|
|
418
|
+
aborted: true,
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
return dispatchRun(null, input.userId, input.sessionId, session, { sessionId: input.sessionId, content: input.content, options: input.options ?? {} }, dependencies);
|
|
422
|
+
}
|
|
269
423
|
export function handleChatConnection(ws, request, dependencies) {
|
|
270
424
|
console.log('[INFO] Chat WebSocket connected');
|
|
271
425
|
connectedClients.add(ws);
|
|
@@ -279,6 +433,9 @@ export function handleChatConnection(ws, request, dependencies) {
|
|
|
279
433
|
const data = parsed;
|
|
280
434
|
const messageType = typeof data.type === 'string' ? data.type : '';
|
|
281
435
|
switch (messageType) {
|
|
436
|
+
case 'chat.edit-send':
|
|
437
|
+
await handleChatEditSend(ws, userId, data, dependencies);
|
|
438
|
+
return;
|
|
282
439
|
case 'chat.send':
|
|
283
440
|
await handleChatSend(ws, userId, data, dependencies);
|
|
284
441
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-websocket.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/chat-websocket.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-websocket.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/chat-websocket.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { projectsDb, sessionsDb } from '../../../modules/database/index.js';
|
|
3
|
+
import { generateDisplayName } from '../../../modules/projects/index.js';
|
|
4
|
+
import { connectedClients, WS_OPEN_STATE } from '../../../modules/websocket/services/websocket-state.service.js';
|
|
5
|
+
/**
|
|
6
|
+
* The single producer of the `session_upserted` delta.
|
|
7
|
+
*
|
|
8
|
+
* The event carries everything a sidebar needs to upsert a session in place
|
|
9
|
+
* (its summary plus the owning project's metadata), so clients never refetch
|
|
10
|
+
* the whole project list because one transcript changed on disk.
|
|
11
|
+
*
|
|
12
|
+
* It used to be built in two places — the on-disk sessions watcher and the
|
|
13
|
+
* chat run registry — and only the registry's copy set `providerSessionId`.
|
|
14
|
+
* That field is how the client notices a row it is showing has been merged
|
|
15
|
+
* into its canonical app-session row, so a merge announced by any other path
|
|
16
|
+
* left a stale duplicate in the sidebar. One builder, one shape.
|
|
17
|
+
*/
|
|
18
|
+
async function buildSessionUpsertedEvent(sessionIdOrProviderSessionId) {
|
|
19
|
+
// Resolving by provider id first covers the watcher, which only ever sees
|
|
20
|
+
// the id written in the transcript. For a row where the two ids are equal
|
|
21
|
+
// — legacy rows, and any session indexed from disk before its mapping
|
|
22
|
+
// existed — both lookups land on the same row anyway.
|
|
23
|
+
const row = sessionsDb.getSessionByProviderSessionId(sessionIdOrProviderSessionId)
|
|
24
|
+
?? sessionsDb.getSessionById(sessionIdOrProviderSessionId);
|
|
25
|
+
if (!row || row.isArchived) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const projectPath = row.project_path;
|
|
29
|
+
const project = projectPath ? projectsDb.getProjectPath(projectPath) : null;
|
|
30
|
+
const displayName = project?.custom_project_name?.trim()
|
|
31
|
+
? project.custom_project_name
|
|
32
|
+
: await generateDisplayName(path.basename(projectPath ?? '') || (projectPath ?? ''), projectPath);
|
|
33
|
+
return {
|
|
34
|
+
kind: 'session_upserted',
|
|
35
|
+
sessionId: row.session_id,
|
|
36
|
+
providerSessionId: row.provider_session_id ?? null,
|
|
37
|
+
// The column is a plain TEXT and typed as `string` on the row, but only
|
|
38
|
+
// provider adapters ever write it.
|
|
39
|
+
provider: row.provider,
|
|
40
|
+
session: {
|
|
41
|
+
id: row.session_id,
|
|
42
|
+
summary: row.custom_name || '',
|
|
43
|
+
messageCount: 0,
|
|
44
|
+
lastActivity: row.updated_at ?? row.created_at ?? new Date().toISOString(),
|
|
45
|
+
},
|
|
46
|
+
project: project
|
|
47
|
+
? {
|
|
48
|
+
projectId: project.project_id,
|
|
49
|
+
path: project.project_path,
|
|
50
|
+
fullPath: project.project_path,
|
|
51
|
+
displayName,
|
|
52
|
+
isStarred: Boolean(project.isStarred),
|
|
53
|
+
}
|
|
54
|
+
: null,
|
|
55
|
+
timestamp: new Date().toISOString(),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function sendToConnectedClients(payloads) {
|
|
59
|
+
if (payloads.length === 0) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
connectedClients.forEach((client) => {
|
|
63
|
+
if (client.readyState === WS_OPEN_STATE) {
|
|
64
|
+
for (const payload of payloads) {
|
|
65
|
+
client.send(payload);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/** Announces one session. Used by the chat run registry when a run reports its provider-native id. */
|
|
71
|
+
export async function broadcastSessionUpserted(sessionIdOrProviderSessionId) {
|
|
72
|
+
const event = await buildSessionUpsertedEvent(sessionIdOrProviderSessionId);
|
|
73
|
+
if (event) {
|
|
74
|
+
sendToConnectedClients([JSON.stringify(event)]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Announces a batch of sessions. Used by the providers module's sessions
|
|
79
|
+
* watcher, whose debounced flush can carry dozens of ids at once — the client
|
|
80
|
+
* set is walked once for the whole batch rather than once per session.
|
|
81
|
+
*/
|
|
82
|
+
export async function broadcastSessionUpsertedBatch(sessionIds) {
|
|
83
|
+
const payloads = [];
|
|
84
|
+
for (const sessionId of sessionIds) {
|
|
85
|
+
const event = await buildSessionUpsertedEvent(sessionId);
|
|
86
|
+
if (event) {
|
|
87
|
+
payloads.push(JSON.stringify(event));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
sendToConnectedClients(payloads);
|
|
91
|
+
}
|
|
92
|
+
/** @internal Exported for the broadcast tests, which assert the payload shape directly. */
|
|
93
|
+
export { buildSessionUpsertedEvent };
|
|
94
|
+
//# sourceMappingURL=session-upsert-broadcast.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-upsert-broadcast.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/session-upsert-broadcast.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,12 +149,18 @@ function buildShellCommand(message, dependencies) {
|
|
|
149
149
|
}
|
|
150
150
|
return initialCommand || 'opencode';
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
// Launching with the flag is what unlocks "bypass permissions" in the CLI's
|
|
153
|
+
// shift+tab permission-mode cycle; it cannot be enabled from inside a
|
|
154
|
+
// session started without it.
|
|
155
|
+
const bypassFlag = readBoolean(message.bypassPermissions)
|
|
156
|
+
? ' --dangerously-skip-permissions'
|
|
157
|
+
: '';
|
|
158
|
+
const command = initialCommand || `claude${bypassFlag}`;
|
|
153
159
|
if (resumeSessionId) {
|
|
154
160
|
if (os.platform() === 'win32') {
|
|
155
|
-
return `claude --resume "${resumeSessionId}"; if ($LASTEXITCODE -ne 0) { claude }`;
|
|
161
|
+
return `claude --resume "${resumeSessionId}"${bypassFlag}; if ($LASTEXITCODE -ne 0) { claude${bypassFlag} }`;
|
|
156
162
|
}
|
|
157
|
-
return `claude --resume "${resumeSessionId}" || claude`;
|
|
163
|
+
return `claude --resume "${resumeSessionId}"${bypassFlag} || claude${bypassFlag}`;
|
|
158
164
|
}
|
|
159
165
|
return command;
|
|
160
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-websocket.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/shell-websocket.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-websocket.service.js","sourceRoot":"","sources":["../../../../../server/modules/websocket/services/shell-websocket.service.ts"],"names":[],"mappings":"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"}
|