@maudecode/talaria-web 1.16.1 → 1.18.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/_release.json +8 -8
- package/dist/api/auth-raw.d.ts +1 -1
- package/dist/api/auth-raw.js +4 -4
- package/dist/api/auth-raw.js.map +1 -1
- package/dist/api/automation-raw.d.ts +6 -0
- package/dist/api/automation-raw.js +59 -9
- package/dist/api/automation-raw.js.map +1 -1
- package/dist/api/automation-router.d.ts +163 -10
- package/dist/api/automation-router.js +25 -8
- package/dist/api/automation-router.js.map +1 -1
- package/dist/api/chat-router.d.ts +700 -15
- package/dist/api/chat-router.js +74 -55
- package/dist/api/chat-router.js.map +1 -1
- package/dist/api/git-router.d.ts +47 -2
- package/dist/api/git-router.js +31 -22
- package/dist/api/git-router.js.map +1 -1
- package/dist/api/raw-routes.d.ts +14 -0
- package/dist/api/raw-routes.js +277 -36
- package/dist/api/raw-routes.js.map +1 -1
- package/dist/api/router.d.ts +10 -0
- package/dist/api/router.js +10 -8
- package/dist/api/router.js.map +1 -1
- package/dist/api/sessions-router.d.ts +1710 -73
- package/dist/api/sessions-router.js +164 -10
- package/dist/api/sessions-router.js.map +1 -1
- package/dist/api/settings-router.d.ts +132 -2
- package/dist/api/settings-router.js +15 -5
- package/dist/api/settings-router.js.map +1 -1
- package/dist/api/sse-routes.d.ts +16 -3
- package/dist/api/sse-routes.js +194 -67
- package/dist/api/sse-routes.js.map +1 -1
- package/dist/api/tools-raw.js +12 -25
- package/dist/api/tools-raw.js.map +1 -1
- package/dist/api/tools-router.d.ts +425 -19
- package/dist/api/tools-router.js +157 -26
- package/dist/api/tools-router.js.map +1 -1
- package/dist/app.d.ts +0 -9377
- package/dist/app.js +42 -17
- package/dist/app.js.map +1 -1
- package/dist/auth/gate.js +8 -2
- package/dist/auth/gate.js.map +1 -1
- package/dist/auth/oidc.d.ts +5 -2
- package/dist/auth/oidc.js +8 -7
- package/dist/auth/oidc.js.map +1 -1
- package/dist/bin/talaria-web.js +1 -1
- package/dist/bin/talaria-web.js.map +1 -1
- package/dist/cli/dotenv.js +1 -0
- package/dist/cli/dotenv.js.map +1 -1
- package/dist/config/agent-config.d.ts +2 -0
- package/dist/config/agent-config.js +12 -2
- package/dist/config/agent-config.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/http/context.d.ts +20 -3
- package/dist/http/context.js +41 -8
- package/dist/http/context.js.map +1 -1
- package/dist/http/csp.d.ts +2 -1
- package/dist/http/csp.js +3 -2
- package/dist/http/csp.js.map +1 -1
- package/dist/onboarding.js +4 -0
- package/dist/onboarding.js.map +1 -1
- package/dist/profiles/profiles.d.ts +10 -0
- package/dist/profiles/profiles.js +40 -2
- package/dist/profiles/profiles.js.map +1 -1
- package/dist/providers/catalog.d.ts +101 -8
- package/dist/providers/catalog.js +463 -123
- package/dist/providers/catalog.js.map +1 -1
- package/dist/raster-image.d.ts +7 -0
- package/dist/raster-image.js +267 -0
- package/dist/raster-image.js.map +1 -0
- package/dist/redact.d.ts +1 -0
- package/dist/redact.js +354 -44
- package/dist/redact.js.map +1 -1
- package/dist/runtime.js +111 -27
- package/dist/runtime.js.map +1 -1
- package/dist/server.js +5 -0
- package/dist/server.js.map +1 -1
- package/dist/sessions/anchor.d.ts +2 -0
- package/dist/sessions/anchor.js +8 -3
- package/dist/sessions/anchor.js.map +1 -1
- package/dist/sessions/background-tasks.d.ts +2 -9
- package/dist/sessions/background-tasks.js +2 -12
- package/dist/sessions/background-tasks.js.map +1 -1
- package/dist/sessions/claude-code.d.ts +19 -0
- package/dist/sessions/claude-code.js +250 -0
- package/dist/sessions/claude-code.js.map +1 -0
- package/dist/sessions/cli-sessions.d.ts +15 -4
- package/dist/sessions/cli-sessions.js +120 -29
- package/dist/sessions/cli-sessions.js.map +1 -1
- package/dist/sessions/completions.d.ts +61 -9
- package/dist/sessions/completions.js +282 -34
- package/dist/sessions/completions.js.map +1 -1
- package/dist/sessions/compress.d.ts +14 -1
- package/dist/sessions/compress.js +52 -11
- package/dist/sessions/compress.js.map +1 -1
- package/dist/sessions/export.d.ts +5 -0
- package/dist/sessions/export.js +30 -0
- package/dist/sessions/export.js.map +1 -1
- package/dist/sessions/gateway-watcher.d.ts +7 -3
- package/dist/sessions/gateway-watcher.js +31 -19
- package/dist/sessions/gateway-watcher.js.map +1 -1
- package/dist/sessions/handoff.d.ts +32 -0
- package/dist/sessions/handoff.js +114 -0
- package/dist/sessions/handoff.js.map +1 -0
- package/dist/sessions/journal.d.ts +8 -0
- package/dist/sessions/journal.js +44 -10
- package/dist/sessions/journal.js.map +1 -1
- package/dist/sessions/list.d.ts +13 -3
- package/dist/sessions/list.js +46 -15
- package/dist/sessions/list.js.map +1 -1
- package/dist/sessions/merge.d.ts +53 -5
- package/dist/sessions/merge.js +219 -23
- package/dist/sessions/merge.js.map +1 -1
- package/dist/sessions/recovery.d.ts +22 -0
- package/dist/sessions/recovery.js +506 -0
- package/dist/sessions/recovery.js.map +1 -0
- package/dist/sessions/relay.d.ts +21 -2
- package/dist/sessions/relay.js +156 -11
- package/dist/sessions/relay.js.map +1 -1
- package/dist/sessions/service.d.ts +152 -8
- package/dist/sessions/service.js +640 -72
- package/dist/sessions/service.js.map +1 -1
- package/dist/sessions/session.d.ts +17 -1
- package/dist/sessions/session.js +63 -4
- package/dist/sessions/session.js.map +1 -1
- package/dist/sessions/state-db-worker.d.ts +1 -0
- package/dist/sessions/state-db-worker.js +33 -0
- package/dist/sessions/state-db-worker.js.map +1 -0
- package/dist/sessions/state-db.d.ts +87 -4
- package/dist/sessions/state-db.js +417 -8
- package/dist/sessions/state-db.js.map +1 -1
- package/dist/sessions/store.d.ts +7 -0
- package/dist/sessions/store.js +36 -22
- package/dist/sessions/store.js.map +1 -1
- package/dist/sessions/streams.d.ts +10 -0
- package/dist/sessions/streams.js +14 -3
- package/dist/sessions/streams.js.map +1 -1
- package/dist/sessions/titles.d.ts +2 -0
- package/dist/sessions/titles.js +4 -0
- package/dist/sessions/titles.js.map +1 -1
- package/dist/sessions/todo.d.ts +6 -1
- package/dist/sessions/todo.js +11 -4
- package/dist/sessions/todo.js.map +1 -1
- package/dist/sessions/tool-display.d.ts +12 -1
- package/dist/sessions/tool-display.js +50 -1
- package/dist/sessions/tool-display.js.map +1 -1
- package/dist/sessions/turn-context.d.ts +1 -1
- package/dist/sessions/turn-context.js +11 -7
- package/dist/sessions/turn-context.js.map +1 -1
- package/dist/sessions/turn.d.ts +67 -11
- package/dist/sessions/turn.js +413 -111
- package/dist/sessions/turn.js.map +1 -1
- package/dist/sessions/wakeup-pause.d.ts +59 -0
- package/dist/sessions/wakeup-pause.js +181 -0
- package/dist/sessions/wakeup-pause.js.map +1 -0
- package/dist/settings.d.ts +20 -2
- package/dist/settings.js +45 -9
- package/dist/settings.js.map +1 -1
- package/dist/sidecar/fake.d.ts +4 -4
- package/dist/sidecar/fake.js +5 -2
- package/dist/sidecar/fake.js.map +1 -1
- package/dist/spa.js +2 -1
- package/dist/spa.js.map +1 -1
- package/dist/startup.d.ts +13 -5
- package/dist/startup.js +48 -0
- package/dist/startup.js.map +1 -1
- package/dist/test/harness.js +2 -0
- package/dist/test/harness.js.map +1 -1
- package/dist/test/ts-worker-hooks.d.ts +1 -0
- package/dist/test/ts-worker-hooks.js +24 -0
- package/dist/test/ts-worker-hooks.js.map +1 -0
- package/dist/text/diff.d.ts +9 -14
- package/dist/text/diff.js +74 -108
- package/dist/text/diff.js.map +1 -1
- package/dist/tools/crons.js +45 -8
- package/dist/tools/crons.js.map +1 -1
- package/dist/tools/dashboard-plugins.d.ts +53 -0
- package/dist/tools/dashboard-plugins.js +188 -0
- package/dist/tools/dashboard-plugins.js.map +1 -0
- package/dist/tools/extensions.d.ts +13 -1
- package/dist/tools/extensions.js +132 -60
- package/dist/tools/extensions.js.map +1 -1
- package/dist/tools/health.d.ts +32 -0
- package/dist/tools/health.js +111 -19
- package/dist/tools/health.js.map +1 -1
- package/dist/tools/insights.d.ts +8 -2
- package/dist/tools/insights.js +18 -2
- package/dist/tools/insights.js.map +1 -1
- package/dist/tools/kanban.d.ts +41 -1
- package/dist/tools/kanban.js +113 -2
- package/dist/tools/kanban.js.map +1 -1
- package/dist/tools/mcp.d.ts +15 -1
- package/dist/tools/mcp.js +99 -5
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/project-os.d.ts +11 -0
- package/dist/tools/project-os.js +267 -0
- package/dist/tools/project-os.js.map +1 -0
- package/dist/tools/skills.d.ts +5 -1
- package/dist/tools/skills.js +5 -3
- package/dist/tools/skills.js.map +1 -1
- package/dist/tools/terminal.d.ts +1 -0
- package/dist/tools/terminal.js +1 -1
- package/dist/tools/terminal.js.map +1 -1
- package/dist/tools/updates.d.ts +33 -8
- package/dist/tools/updates.js +236 -57
- package/dist/tools/updates.js.map +1 -1
- package/dist/tools/wiki.d.ts +68 -0
- package/dist/tools/wiki.js +413 -0
- package/dist/tools/wiki.js.map +1 -0
- package/dist/workspace/escape.d.ts +61 -0
- package/dist/workspace/escape.js +149 -0
- package/dist/workspace/escape.js.map +1 -0
- package/dist/workspace/extract.d.ts +22 -0
- package/dist/workspace/extract.js +308 -0
- package/dist/workspace/extract.js.map +1 -0
- package/dist/workspace/fs.d.ts +19 -3
- package/dist/workspace/fs.js +96 -23
- package/dist/workspace/fs.js.map +1 -1
- package/dist/workspace/git.d.ts +18 -0
- package/dist/workspace/git.js +38 -25
- package/dist/workspace/git.js.map +1 -1
- package/dist/workspace/media.d.ts +4 -4
- package/dist/workspace/media.js +18 -45
- package/dist/workspace/media.js.map +1 -1
- package/dist/workspace/preview.d.ts +28 -0
- package/dist/workspace/preview.js +110 -0
- package/dist/workspace/preview.js.map +1 -0
- package/dist/workspace/rollback.d.ts +36 -21
- package/dist/workspace/rollback.js +179 -270
- package/dist/workspace/rollback.js.map +1 -1
- package/dist/workspace/unzip.js +4 -1
- package/dist/workspace/unzip.js.map +1 -1
- package/dist/workspace/upload.d.ts +9 -4
- package/dist/workspace/upload.js +9 -3
- package/dist/workspace/upload.js.map +1 -1
- package/dist/workspace/worktrees.d.ts +2 -1
- package/dist/workspace/worktrees.js +14 -15
- package/dist/workspace/worktrees.js.map +1 -1
- package/package.json +4 -2
- package/sidecar/agent_dependency.json +4 -4
- package/sidecar/scripts/replay_sidecar.py +25 -1
- package/sidecar/talaria_sidecar/__init__.py +1 -1
- package/sidecar/talaria_sidecar/__main__.py +7 -1
- package/sidecar/talaria_sidecar/home.py +52 -2
- package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
- package/sidecar/talaria_sidecar/methods/aux.py +39 -5
- package/sidecar/talaria_sidecar/methods/chat.py +431 -43
- package/sidecar/talaria_sidecar/methods/checkpoints.py +89 -0
- package/sidecar/talaria_sidecar/methods/commands.py +96 -2
- package/sidecar/talaria_sidecar/methods/cron.py +39 -8
- package/sidecar/talaria_sidecar/methods/gateway.py +32 -15
- package/sidecar/talaria_sidecar/methods/kanban.py +140 -19
- package/sidecar/talaria_sidecar/methods/mcp.py +1 -1
- package/sidecar/talaria_sidecar/methods/process.py +115 -2
- package/sidecar/talaria_sidecar/methods/profiles.py +84 -8
- package/sidecar/talaria_sidecar/methods/providers.py +27 -8
- package/sidecar/talaria_sidecar/methods/runtime.py +3 -0
- package/sidecar/talaria_sidecar/methods/state_db.py +39 -5
- package/sidecar/talaria_sidecar/methods/text.py +17 -1
- package/sidecar/talaria_sidecar/methods/usage.py +257 -4
- package/sidecar/talaria_sidecar/runtime.py +17 -1
- package/static/dist/FILES.txt +127 -125
- package/static/dist/assets/AppShell-g3bkgnvt.js +1 -0
- package/static/dist/assets/ChatPage-oo7bdan6.js +25 -0
- package/static/dist/assets/Dialog-g355qxhp.js +1 -0
- package/static/dist/assets/ExtensionRoute-i2y9fvjm.js +1 -0
- package/static/dist/assets/HubRoute-lmkrbw47.js +2 -0
- package/static/dist/assets/{Markdown-jqrx5es0.js → Markdown-j4kut4j2.js} +125 -125
- package/static/dist/assets/RightPanel-ohlsdzfl.js +1 -0
- package/static/dist/assets/Select-kddq75qc.js +1 -0
- package/static/dist/assets/SessionListPanel-lu3oy0hw.js +1 -0
- package/static/dist/assets/SettingsLayout-o9bv4mgb.js +1 -0
- package/static/dist/assets/States-eq6fe29m.js +1 -0
- package/static/dist/assets/Toaster-pc247u9f.js +1 -0
- package/static/dist/assets/_app-f8n1i0m1.js +1 -0
- package/static/dist/assets/_app.ext._extensionId-gfbzpoou.js +1 -0
- package/static/dist/assets/_app.index-bzzv80hk.js +1 -0
- package/static/dist/assets/_app.insights-dzixbryi.js +1 -0
- package/static/dist/assets/_app.kanban-c6hep2us.js +1 -0
- package/static/dist/assets/_app.logs-i69qds98.js +1 -0
- package/static/dist/assets/_app.memory-kl4vf0gd.js +1 -0
- package/static/dist/assets/_app.profiles-b8zinmyp.js +1 -0
- package/static/dist/assets/{_app.session._sessionId-hh27wwu2.js → _app.session._sessionId-fn1bhde6.js} +1 -1
- package/static/dist/assets/_app.settings-cg8plwmf.js +1 -0
- package/static/dist/assets/_app.settings._section-bkwbi9zn.js +3 -0
- package/static/dist/assets/_app.skills-cs47sbvs.js +1 -0
- package/static/dist/assets/_app.tasks-dwvk64tc.js +1 -0
- package/static/dist/assets/_app.todos-c8xjm8p3.js +1 -0
- package/static/dist/assets/_app.workspaces-ehvd1gds.js +1 -0
- package/static/dist/assets/{abnfDiagram-VCTEODGH-oity9y4o.js → abnfDiagram-VCTEODGH-c8kdixke.js} +1 -1
- package/static/dist/assets/architecture-7GRP2DOG-6crvnylg.js +1 -0
- package/static/dist/assets/{architectureDiagram-5GKGNRK7-ceaepnyr.js → architectureDiagram-5GKGNRK7-cku06x1p.js} +1 -1
- package/static/dist/assets/{back-eu64w89w.js → back-h7aun7ew.js} +1 -1
- package/static/dist/assets/{blockDiagram-I7D4REHJ-n79st4pj.js → blockDiagram-I7D4REHJ-jzthp1wa.js} +1 -1
- package/static/dist/assets/{c4Diagram-7LVT6UL2-mi73akzk.js → c4Diagram-7LVT6UL2-mwr67mt8.js} +1 -1
- package/static/dist/assets/{cancel-mzvkdjg8.js → cancel-fhi0vcnu.js} +1 -1
- package/static/dist/assets/channel-b2zo73z1.js +1 -0
- package/static/dist/assets/{chunk-4HAMMTFA-laat0g1q.js → chunk-4HAMMTFA-gpq1y228.js} +1 -1
- package/static/dist/assets/{chunk-75Z2AOVW-0psy1tr2.js → chunk-75Z2AOVW-ktje58c4.js} +1 -1
- package/static/dist/assets/{chunk-DU6HZSFF-lw8uox8x.js → chunk-DU6HZSFF-ofajdixh.js} +3 -3
- package/static/dist/assets/{chunk-F27PBJKO-erassib3.js → chunk-F27PBJKO-cmev85ti.js} +1 -1
- package/static/dist/assets/{chunk-GMAD6QVW-fz7rx619.js → chunk-GMAD6QVW-htjgt22y.js} +1 -1
- package/static/dist/assets/{chunk-GVQU2GXP-gdb0epb2.js → chunk-GVQU2GXP-qndvoxl7.js} +1 -1
- package/static/dist/assets/{chunk-IMKFNOWR-ea8t26qw.js → chunk-IMKFNOWR-e5bkd5q6.js} +1 -1
- package/static/dist/assets/{chunk-L3NEJ4N5-mb1gu9kz.js → chunk-L3NEJ4N5-mj1155r6.js} +1 -1
- package/static/dist/assets/{chunk-OSK3NFVY-eovmccvy.js → chunk-OSK3NFVY-e7gkikcw.js} +1 -1
- package/static/dist/assets/{chunk-P2QGCYS3-bo55zjo5.js → chunk-P2QGCYS3-f7t54xfm.js} +1 -1
- package/static/dist/assets/{chunk-POPQ4Y6H-ja7ohe4h.js → chunk-POPQ4Y6H-i927v9oa.js} +1 -1
- package/static/dist/assets/{chunk-PWAF6VOD-e30g9nus.js → chunk-PWAF6VOD-m84lmnyt.js} +1 -1
- package/static/dist/assets/{chunk-SHT3W25Y-gbb798f7.js → chunk-SHT3W25Y-mi0tlcu9.js} +1 -1
- package/static/dist/assets/{chunk-SVP7TREG-h2iw8urm.js → chunk-SVP7TREG-dnau702j.js} +1 -1
- package/static/dist/assets/{chunk-TICWLB2K-fd2cottz.js → chunk-TICWLB2K-edem1gkg.js} +1 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-oe99st8x.js +1 -0
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-oe99st8x.js +1 -0
- package/static/dist/assets/{copied-h65fc3cx.js → copied-hcplv46p.js} +1 -1
- package/static/dist/assets/copy-magtofyp.js +1 -0
- package/static/dist/assets/{cynefin-OW5HDTMX-lbltyl5j.js → cynefin-OW5HDTMX-siqlulkl.js} +1 -1
- package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-lxhsqq4a.js → cynefinDiagram-5FMLGOSQ-i648tah9.js} +1 -1
- package/static/dist/assets/{dagre-GXQ25YYZ-gn4nnaln.js → dagre-GXQ25YYZ-mwn6uc17.js} +1 -1
- package/static/dist/assets/{diagram-S7CK7UJ4-pa3ij6q7.js → diagram-S7CK7UJ4-l8abxaes.js} +1 -1
- package/static/dist/assets/{diagram-UQ7AKVKN-zbipyz57.js → diagram-UQ7AKVKN-mekq7zgq.js} +1 -1
- package/static/dist/assets/{diagram-VSXAHHWV-d1kbpzgf.js → diagram-VSXAHHWV-fnky6lvc.js} +1 -1
- package/static/dist/assets/{diagram-VX7I27RA-i3ty14xl.js → diagram-VX7I27RA-xe6r5qfw.js} +1 -1
- package/static/dist/assets/{diagram-Z3DM3KII-m8xefqa7.js → diagram-Z3DM3KII-nq07dg7k.js} +1 -1
- package/static/dist/assets/{ebnfDiagram-PWID7BFC-nz7wj05l.js → ebnfDiagram-PWID7BFC-c62ipm3g.js} +1 -1
- package/static/dist/assets/endpoints-klbxod4t.js +64 -0
- package/static/dist/assets/{erDiagram-RLTQ6QDP-fa41ib83.js → erDiagram-RLTQ6QDP-h39kmnzy.js} +1 -1
- package/static/dist/assets/eventmodeling-NTZA5JFV-obfede4u.js +1 -0
- package/static/dist/assets/flowDiagram-HODETNUW-kdpsp1je.js +1 -0
- package/static/dist/assets/{ganttDiagram-EL5Y4UJY-n7zq01qu.js → ganttDiagram-EL5Y4UJY-ngbsyp37.js} +1 -1
- package/static/dist/assets/{gitGraph-4MIJSDKK-c89emb07.js → gitGraph-4MIJSDKK-fr2i7caa.js} +1 -1
- package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-cz7cgr6w.js → gitGraphDiagram-WWUBYQGX-eravdti4.js} +1 -1
- package/static/dist/assets/{highlighted-body-KPVGNVTW-d9bapmni.js → highlighted-body-KPVGNVTW-jwpop9p8.js} +1 -1
- package/static/dist/assets/host-i828xuo7.js +1 -0
- package/static/dist/assets/index-eh8zilnv.css +2 -0
- package/static/dist/assets/index-r648f4o1.js +11 -0
- package/static/dist/assets/{info-A6RAGUB7-ndddhhhh.js → info-A6RAGUB7-h11x0dxo.js} +1 -1
- package/static/dist/assets/{infoDiagram-27XIBGKW-ccxigcpf.js → infoDiagram-27XIBGKW-dfh47dw9.js} +1 -1
- package/static/dist/assets/{ishikawaDiagram-5VMMS53U-le0z9vtc.js → ishikawaDiagram-5VMMS53U-i6ypq351.js} +1 -1
- package/static/dist/assets/{journeyDiagram-3NMN7TZE-ivsmb26o.js → journeyDiagram-3NMN7TZE-lduf1z95.js} +1 -1
- package/static/dist/assets/{kanban-definition-UXKFOSKX-h6n2awt0.js → kanban-definition-UXKFOSKX-e18bu4pg.js} +1 -1
- package/static/dist/assets/lazyRouteComponent-e1y4t2i9.js +1 -0
- package/static/dist/assets/{line-dmzlfe0u.js → line-meizqsvn.js} +1 -1
- package/static/dist/assets/link-oot2yn73.js +1 -0
- package/static/dist/assets/login-gu28l9ou.js +1 -0
- package/static/dist/assets/mermaid-HWGCJPDP-mtwrj8fn.js +1 -0
- package/static/dist/assets/{mermaid-parser.core-gwyd5bnq.js → mermaid-parser.core-ntne45i9.js} +3 -3
- package/static/dist/assets/{mindmap-definition-YA3MSWOX-l68gg5h7.js → mindmap-definition-YA3MSWOX-27b26eok.js} +1 -1
- package/static/dist/assets/onboarding-lkphzu1s.js +1 -0
- package/static/dist/assets/onboarding_model_label-ftpjdwqk.js +1 -0
- package/static/dist/assets/{packet-AYTQ26CC-gpv06065.js → packet-AYTQ26CC-l6jdka8p.js} +1 -1
- package/static/dist/assets/{pegDiagram-XKGWAZYB-e52vs23u.js → pegDiagram-XKGWAZYB-g1er3bxj.js} +1 -1
- package/static/dist/assets/{pie-WAS4IAKB-l6m7nz5s.js → pie-WAS4IAKB-i0ylcrt9.js} +1 -1
- package/static/dist/assets/{pieDiagram-E7YTZNPT-b4is36bq.js → pieDiagram-E7YTZNPT-fbz1e55z.js} +1 -1
- package/static/dist/assets/{quadrantDiagram-AXDQQJYC-m8vt2788.js → quadrantDiagram-AXDQQJYC-hhue7d8o.js} +1 -1
- package/static/dist/assets/{radar-RG4KPBEZ-nxbrhiov.js → radar-RG4KPBEZ-f9b70aa4.js} +1 -1
- package/static/dist/assets/{railroad-74A4TZTK-222mu9hi.js → railroad-74A4TZTK-lgsuoeda.js} +1 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-nf9d6pdx.js +1 -0
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-f7ummkt5.js +1 -0
- package/static/dist/assets/railroad-peg-WCYAUIDC-oczq5tqs.js +1 -0
- package/static/dist/assets/{railroadDiagram-O6MQD6OU-o8lldfzv.js → railroadDiagram-O6MQD6OU-eqpy9fnz.js} +1 -1
- package/static/dist/assets/refresh-abtu93ke.js +1 -0
- package/static/dist/assets/refresh-cw-hlwb02qv.js +1 -0
- package/static/dist/assets/{requirementDiagram-BXWQKSXE-ovyq38kv.js → requirementDiagram-BXWQKSXE-ogf6puhi.js} +1 -1
- package/static/dist/assets/{sankeyDiagram-P5KCCOFB-ou7lznor.js → sankeyDiagram-P5KCCOFB-fqb8xcjf.js} +1 -1
- package/static/dist/assets/{saved-bazmcup9.js → saved-girnabkf.js} +1 -1
- package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-ovckdzf2.js → sequenceDiagram-WJ2MYXX4-dlcz6qjz.js} +1 -1
- package/static/dist/assets/{settings_section_extensions_title-ertwwhlx.js → settings_section_extensions_title-h14cwk6f.js} +1 -1
- package/static/dist/assets/share._token-kl0r7ido.js +2 -0
- package/static/dist/assets/sliders-horizontal-n1zm34qq.js +1 -0
- package/static/dist/assets/sse-iwku0sjo.js +1 -0
- package/static/dist/assets/{stateDiagram-D77RDMKH-fcrexkkv.js → stateDiagram-D77RDMKH-fyoznpcs.js} +1 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-ixhx8r46.js +1 -0
- package/static/dist/assets/{swimlanes-42K2YHIH-f7usu8fw.js → swimlanes-42K2YHIH-oefldhfy.js} +1 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-h9ersk2e.js +8 -0
- package/static/dist/assets/{timeline-definition-24CTP7MA-gp1hvz9f.js → timeline-definition-24CTP7MA-b1vl2zil.js} +1 -1
- package/static/dist/assets/todoStore-jjr5yr78.js +1 -0
- package/static/dist/assets/{treeView-Q6P3EWNA-gb9gf11u.js → treeView-Q6P3EWNA-f7hcci5o.js} +1 -1
- package/static/dist/assets/{treemap-WGGIJYW6-nuvfnvvi.js → treemap-WGGIJYW6-nl85071a.js} +1 -1
- package/static/dist/assets/units-kgxzxfhi.js +1 -0
- package/static/dist/assets/{untitled-htelhc68.js → untitled-cikfjntn.js} +1 -1
- package/static/dist/assets/{useForm-h2t0u14e.js → useForm-kqoqg0k9.js} +1 -1
- package/static/dist/assets/useLocale-o59tbiea.js +1 -0
- package/static/dist/assets/{useParams-dqd64jv7.js → useParams-b4dq6n4q.js} +1 -1
- package/static/dist/assets/{useSearch-j30pvsy7.js → useSearch-ipfmv3he.js} +1 -1
- package/static/dist/assets/{vennDiagram-4TSXK5OY-fzchbzaj.js → vennDiagram-4TSXK5OY-h5hzbk0n.js} +1 -1
- package/static/dist/assets/{wardley-WFR3VGLG-m47mhfbh.js → wardley-WFR3VGLG-jftvpm3e.js} +1 -1
- package/static/dist/assets/{wardleyDiagram-VM6X3IG4-odg6ct1z.js → wardleyDiagram-VM6X3IG4-hedh85ge.js} +1 -1
- package/static/dist/assets/{xychartDiagram-S5SC5T6Z-mrhms5um.js → xychartDiagram-S5SC5T6Z-e49523ab.js} +1 -1
- package/static/dist/index.html +1 -1
- package/static/dist/sw.js +2 -2
- package/static/dist/assets/AppShell-ef3bhu32.js +0 -1
- package/static/dist/assets/Button-nx37f4u1.js +0 -1
- package/static/dist/assets/ChatPage-cdcpykcg.js +0 -25
- package/static/dist/assets/Dialog-mec42hvb.js +0 -1
- package/static/dist/assets/HubRoute-ecb65zpr.js +0 -2
- package/static/dist/assets/RightPanel-d1lgvk4s.js +0 -1
- package/static/dist/assets/Select-h4ivl9qf.js +0 -1
- package/static/dist/assets/SessionListPanel-ewib046b.js +0 -1
- package/static/dist/assets/SettingsLayout-lx654cup.js +0 -1
- package/static/dist/assets/States-ehsb6lzo.js +0 -1
- package/static/dist/assets/Toaster-mch1pa3t.js +0 -1
- package/static/dist/assets/_app-m8d961ef.js +0 -1
- package/static/dist/assets/_app.ext._extensionId-mp33hbzi.js +0 -1
- package/static/dist/assets/_app.index-dk6zp7e0.js +0 -1
- package/static/dist/assets/_app.insights-jt2fk4i1.js +0 -1
- package/static/dist/assets/_app.kanban-if4pubeu.js +0 -1
- package/static/dist/assets/_app.logs-mfaw9m6g.js +0 -1
- package/static/dist/assets/_app.memory-h3eaarb6.js +0 -1
- package/static/dist/assets/_app.profiles-ienktovs.js +0 -1
- package/static/dist/assets/_app.settings-dpoe0bzf.js +0 -1
- package/static/dist/assets/_app.settings._section-l468ynag.js +0 -3
- package/static/dist/assets/_app.skills-kcbncc8i.js +0 -1
- package/static/dist/assets/_app.tasks-occdrqhw.js +0 -2
- package/static/dist/assets/_app.todos-nnke2rcc.js +0 -1
- package/static/dist/assets/_app.workspaces-cdlatvwj.js +0 -1
- package/static/dist/assets/architecture-7GRP2DOG-hj11333z.js +0 -1
- package/static/dist/assets/channel-mbvmf2vv.js +0 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-o8r05k0n.js +0 -1
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-o8r05k0n.js +0 -1
- package/static/dist/assets/copy-e6977uwq.js +0 -1
- package/static/dist/assets/endpoints-k7yf25m0.js +0 -64
- package/static/dist/assets/eventmodeling-NTZA5JFV-kpbq09bx.js +0 -1
- package/static/dist/assets/flowDiagram-HODETNUW-lcz0kx14.js +0 -1
- package/static/dist/assets/index-h00usru2.js +0 -11
- package/static/dist/assets/index-n73ijkv2.css +0 -2
- package/static/dist/assets/lazyRouteComponent-m1rtyk4t.js +0 -1
- package/static/dist/assets/link-budeg5t9.js +0 -1
- package/static/dist/assets/login-kjhasvp8.js +0 -1
- package/static/dist/assets/matchContext-f8oy3lo7.js +0 -1
- package/static/dist/assets/mermaid-HWGCJPDP-jb5d211j.js +0 -1
- package/static/dist/assets/onboarding-cdfrk0pj.js +0 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-kdvgl6x8.js +0 -1
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-itiqslby.js +0 -1
- package/static/dist/assets/railroad-peg-WCYAUIDC-go7kov78.js +0 -1
- package/static/dist/assets/refresh-cw-kbcje1uy.js +0 -1
- package/static/dist/assets/search-jen74z4u.js +0 -1
- package/static/dist/assets/share._token-dan9hgvj.js +0 -2
- package/static/dist/assets/sliders-horizontal-f9cb3lh3.js +0 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-lcfraua2.js +0 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-ogmanni0.js +0 -8
- package/static/dist/assets/todoStore-eqtid4r4.js +0 -1
- package/static/dist/assets/useLocale-hcsb84pj.js +0 -1
- package/static/dist/assets/useNavigate-nwy70ztj.js +0 -1
package/dist/api/chat-router.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/** Chat turn admission, control, approvals, clarify, goals, background tasks, and side questions. */
|
|
2
2
|
import { GATEWAY_APPROVAL_RELAY_UNAVAILABLE, isGenericContinuationIntent } from '../sessions/turn.js';
|
|
3
3
|
import { implement } from '@orpc/server';
|
|
4
|
-
import { chatContract } from '@maudecode/talaria-web-contracts';
|
|
4
|
+
import { chatContract, MAX_CHAT_ATTACHMENTS } from '@maudecode/talaria-web-contracts';
|
|
5
5
|
import { randomUUID } from 'node:crypto';
|
|
6
6
|
import { HttpError } from './router.js';
|
|
7
|
-
import { requestSessionIdGuard, streamVisibleToRequest } from './session-visibility.js';
|
|
7
|
+
import { requestSessionIdGuard, streamOwnerSessionId, streamVisibleToRequest } from './session-visibility.js';
|
|
8
8
|
import { ensureAgentRuntimeCurrent, HttpFailure } from '../sessions/service.js';
|
|
9
9
|
import { SessionNotFound } from '../sessions/store.js';
|
|
10
|
-
import { isSafeSessionId } from '../sessions/session.js';
|
|
10
|
+
import { compressionRecoveryPayload, isSafeSessionId } from '../sessions/session.js';
|
|
11
|
+
import { messageText } from '../sessions/merge.js';
|
|
11
12
|
import { str } from '../util.js';
|
|
12
13
|
const os = implement(chatContract).$context().use(requestSessionIdGuard);
|
|
13
14
|
const STEER_ID_RE = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;
|
|
@@ -87,34 +88,8 @@ function visibleOrRetag(ctx, s, requestedProfile) {
|
|
|
87
88
|
}
|
|
88
89
|
throw new HttpError(404, 'Session not found');
|
|
89
90
|
}
|
|
90
|
-
function resolveWorkspace(ctx, s, requested) {
|
|
91
|
-
const ws = ctx.deps.workspaces;
|
|
92
|
-
if (requested !== undefined && requested !== null && requested !== '') {
|
|
93
|
-
try {
|
|
94
|
-
return ws.resolveTrusted(str(requested), s.profile);
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
throw new HttpError(400, error.message);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
const [workspace, recovered] = ws.resolveImplicitWithRecovery(s.workspace, (p) => ws.lastWorkspace(p), s.profile);
|
|
102
|
-
if (recovered)
|
|
103
|
-
s.workspace = workspace;
|
|
104
|
-
return workspace;
|
|
105
|
-
}
|
|
106
|
-
catch (error) {
|
|
107
|
-
throw new HttpError(400, error.message);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
function modelState(ctx, s, body) {
|
|
111
|
-
const requestedModel = str(body.model) || s.model;
|
|
112
|
-
const requestedProvider = 'model_provider' in body ? body.model_provider : s.model_provider;
|
|
113
|
-
const [model, provider] = ctx.deps.sessions.deps.modelStateFromRequest(requestedModel, requestedProvider, s.model_provider);
|
|
114
|
-
return [model, provider, model !== requestedModel];
|
|
115
|
-
}
|
|
116
91
|
/** `chat.start`; a `chat.steer` sent while a background turn runs starts the user's turn through it too (TAL-460). */
|
|
117
|
-
async function startChat(ctx, body) {
|
|
92
|
+
async function startChat(ctx, body, settle = {}) {
|
|
118
93
|
requireField(body, 'session_id');
|
|
119
94
|
if (str(body.message).trim() === '[SILENT]')
|
|
120
95
|
return { status: 'suppressed', reason: 'silent_control_message' };
|
|
@@ -124,6 +99,8 @@ async function startChat(ctx, body) {
|
|
|
124
99
|
// Python `_agent_runtime_barrier_response`: a stale local Agent checkout is refused with a typed 409 before any
|
|
125
100
|
// session state is materialised, claimed, or mutated.
|
|
126
101
|
await ensureAgentRuntimeCurrent(ctx.deps.sidecar());
|
|
102
|
+
// TAL-542: the stale-model check reads this catalog; it is built before the session is read so no await follows that read.
|
|
103
|
+
await ctx.deps.sessions.deps.warmSessionModelRepair?.();
|
|
127
104
|
let s;
|
|
128
105
|
try {
|
|
129
106
|
s = ctx.deps.sessionStore.get(sid);
|
|
@@ -148,30 +125,68 @@ async function startChat(ctx, body) {
|
|
|
148
125
|
throw new HttpError(400, 'invalid profile');
|
|
149
126
|
visibleOrRetag(ctx, s, requestedProfile);
|
|
150
127
|
const msg = str(body.message).trim();
|
|
151
|
-
const attachments = normalizeChatAttachments(body.attachments).slice(0,
|
|
128
|
+
const attachments = normalizeChatAttachments(body.attachments).slice(0, MAX_CHAT_ATTACHMENTS);
|
|
152
129
|
// TAL-276: an attached file alone makes a turn; one with neither text nor a file path is refused.
|
|
153
130
|
if (!msg && !attachments.some((att) => str(att.path)))
|
|
154
131
|
throw new HttpError(400, 'message is required');
|
|
155
132
|
// TAL-460: the user's message never joins a background turn; that turn stops quietly and this one takes its place.
|
|
156
|
-
if (await ctx.deps.turns.yieldBackgroundTurn(sid))
|
|
133
|
+
if (await ctx.deps.turns.yieldBackgroundTurn(sid)) {
|
|
134
|
+
await ctx.deps.sessions.deps.warmSessionModelRepair?.();
|
|
157
135
|
s = ctx.deps.sessionStore.get(sid);
|
|
136
|
+
}
|
|
158
137
|
// Python `compression_recovery_payload_for_session` + `is_generic_continuation_intent`.
|
|
159
|
-
|
|
160
|
-
const recoveryLive = recovery.terminal_state === 'compression_exhausted' && str(recovery.recommended_action || s.recommended_recovery_action) === 'start_focused_continuation';
|
|
161
|
-
if (recoveryLive && !attachments.length && isGenericContinuationIntent(msg)) {
|
|
138
|
+
if (compressionRecoveryPayload(s) && !attachments.length && isGenericContinuationIntent(msg)) {
|
|
162
139
|
throw new HttpError(409, 'This session exhausted context compression. Start a focused continuation, then describe the next narrow task.', { type: 'compression_recovery_required', compression_recovery: s.compression_recovery, session_id: s.session_id });
|
|
163
140
|
}
|
|
164
|
-
const workspace =
|
|
165
|
-
const [model, provider, normalized] =
|
|
141
|
+
const workspace = ctx.deps.sessions.turnWorkspace(s, body.workspace);
|
|
142
|
+
const [model, provider, normalized] = ctx.deps.sessions.turnModel(s, body);
|
|
166
143
|
if (body.moa_config)
|
|
167
144
|
throw new HttpError(503, 'MoA overrides need the Agent command registry (checkpoint 7).');
|
|
168
|
-
const response = ctx.deps.turns.start(s, { msg, attachments, workspace, model, modelProvider: provider, normalizedModel: normalized, source: 'webui' });
|
|
145
|
+
const response = ctx.deps.turns.start(s, { msg, attachments, workspace, model, modelProvider: provider, normalizedModel: normalized, source: 'webui', ...settle });
|
|
169
146
|
if (response._status !== undefined && response._status >= 400)
|
|
170
147
|
throw new HttpError(response._status, response.error ?? 'chat start failed', response.active_stream_id ? { active_stream_id: response.active_stream_id } : {});
|
|
171
148
|
return startPayload(response);
|
|
172
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Legacy `POST /api/chat`: the `chat.start` admission, then the turn awaited to its end. A turn that was cancelled, or
|
|
152
|
+
* failed after streaming text, answers `partial` with that text; any other failure answers with its error frame.
|
|
153
|
+
*/
|
|
154
|
+
async function syncChat(ctx, body) {
|
|
155
|
+
if (ctx.deps.sessions.isSubagentViewOnly(str(body.session_id)))
|
|
156
|
+
throw new HttpError(400, 'Subagent sessions are view-only and cannot be written from WebUI');
|
|
157
|
+
if (!str(body.message).trim())
|
|
158
|
+
throw new HttpError(400, 'empty message');
|
|
159
|
+
let outcome = null;
|
|
160
|
+
const started = await startChat(ctx, { session_id: body.session_id, message: body.message, workspace: body.workspace, model: body.model, ...('model_provider' in body ? { model_provider: body.model_provider } : {}) }, {
|
|
161
|
+
onDone: (answer) => { outcome = { answer }; },
|
|
162
|
+
onFailed: (failure) => { outcome = failure; },
|
|
163
|
+
});
|
|
164
|
+
const streamId = str(started.stream_id);
|
|
165
|
+
if (streamId)
|
|
166
|
+
await ctx.deps.turns.finished(streamId);
|
|
167
|
+
const s = getSession(ctx, str(body.session_id));
|
|
168
|
+
const session = ctx.deps.turns.publicTerminalSession(s);
|
|
169
|
+
const ended = outcome;
|
|
170
|
+
// A `[SILENT]` control message starts no turn.
|
|
171
|
+
if (!streamId || (ended && 'answer' in ended)) {
|
|
172
|
+
const answer = ended && 'answer' in ended ? ended.answer : '';
|
|
173
|
+
return { answer, status: 'done', session, result: { final_response: answer, completed: true, interrupted: false } };
|
|
174
|
+
}
|
|
175
|
+
const partial = s.messages.filter((m) => m._turn_id === streamId && m._partial).map((m) => messageText(m.content)).join('').trim();
|
|
176
|
+
const cancelled = ended?.cancelled ?? false;
|
|
177
|
+
if (cancelled || (ended?.apperror && partial))
|
|
178
|
+
return { answer: partial, status: 'partial', session, result: { final_response: partial, completed: false, interrupted: cancelled } };
|
|
179
|
+
if (ended?.apperror) {
|
|
180
|
+
const { message, ...rest } = ended.apperror;
|
|
181
|
+
const type = str(rest.type);
|
|
182
|
+
throw new HttpError(type === 'agent_runtime_stale' ? 409 : type === 'sidecar_unavailable' ? 503 : 500, str(message) || 'chat failed', rest);
|
|
183
|
+
}
|
|
184
|
+
// Python `_chat_writeback_timeout_response`: the turn ended but another stream owned the session at writeback.
|
|
185
|
+
throw new HttpError(503, 'response persistence is uncertain', { code: 'chat_writeback_timeout', message: 'The response finished but could not be persisted because this session remained busy. Do not retry automatically; refresh the session first.', retryable: false, outcome_unknown: true });
|
|
186
|
+
}
|
|
173
187
|
export const chatRouter = os.router({
|
|
174
188
|
chat: {
|
|
189
|
+
sync: os.chat.sync.handler(({ input, context: { ctx } }) => run(() => syncChat(ctx, input))),
|
|
175
190
|
start: os.chat.start.handler(({ input, context: { ctx } }) => run(() => startChat(ctx, input))),
|
|
176
191
|
steer: os.chat.steer.handler(({ input, context: { ctx } }) => run(async () => {
|
|
177
192
|
const sid = str(input.session_id).trim();
|
|
@@ -220,7 +235,8 @@ export const chatRouter = os.router({
|
|
|
220
235
|
if (!streamVisibleToRequest(ctx, streamId))
|
|
221
236
|
throw new HttpError(404, 'Session not found');
|
|
222
237
|
const active = ctx.deps.registry.liveIds.has(streamId);
|
|
223
|
-
const
|
|
238
|
+
const owner = streamOwnerSessionId(ctx, streamId);
|
|
239
|
+
const payload = { active, stream_id: streamId, replay_available: false, blocking_stream_id: owner ? ctx.deps.sessions.activeRunBlocking(owner) : null };
|
|
224
240
|
const summary = streamId ? ctx.deps.journal.findRunSummary(streamId) : null;
|
|
225
241
|
if (summary) {
|
|
226
242
|
payload.replay_available = true;
|
|
@@ -318,8 +334,10 @@ export const chatRouter = os.router({
|
|
|
318
334
|
throw new HttpError(payload.error === 'agent_running' ? 409 : 400, str(payload.message || payload.error || 'goal command failed'), payload);
|
|
319
335
|
const kickoff = str(payload.kickoff_prompt).trim();
|
|
320
336
|
if (kickoff) {
|
|
321
|
-
|
|
322
|
-
|
|
337
|
+
// TAL-542: after the goal RPCs, so the stale-model check reads a catalog for the profile the session now runs under.
|
|
338
|
+
await ctx.deps.sessions.deps.warmSessionModelRepair?.(s.profile);
|
|
339
|
+
const workspace = ctx.deps.sessions.turnWorkspace(s, body.workspace);
|
|
340
|
+
const [model, provider, normalized] = ctx.deps.sessions.turnModel(s, body);
|
|
323
341
|
const started = ctx.deps.turns.start(s, { msg: kickoff, attachments: [], workspace, model, modelProvider: provider, normalizedModel: normalized, source: 'webui', goalRelated: true });
|
|
324
342
|
if (started._status !== undefined && started._status >= 400) {
|
|
325
343
|
try {
|
|
@@ -333,22 +351,25 @@ export const chatRouter = os.router({
|
|
|
333
351
|
return payload;
|
|
334
352
|
})),
|
|
335
353
|
background: {
|
|
336
|
-
start: os.background.start.handler(({ input, context: { ctx } }) => run(() => {
|
|
354
|
+
start: os.background.start.handler(({ input, context: { ctx } }) => run(async () => {
|
|
337
355
|
const body = input;
|
|
338
356
|
requireField(body, 'session_id', 'prompt');
|
|
339
357
|
// A subagent child's profile/workspace/context must never seed a runnable background session.
|
|
340
358
|
if (ctx.deps.sessions.isSubagentViewOnly(str(body.session_id)))
|
|
341
359
|
throw new HttpError(400, 'Subagent sessions are view-only and cannot run background tasks from WebUI');
|
|
360
|
+
// TAL-542: the background turn starts on the parent's repaired pair; the catalog is built before the parent is read.
|
|
361
|
+
await ctx.deps.sessions.deps.warmSessionModelRepair?.();
|
|
342
362
|
const parent = getSession(ctx, str(body.session_id));
|
|
343
363
|
if (ctx.deps.sessions.isReadOnly(parent) || parent.branchSourceReadonly)
|
|
344
364
|
throw new HttpError(403, 'Read-only imported sessions cannot be continued from WebUI');
|
|
345
365
|
const prompt = str(body.prompt).trim();
|
|
346
366
|
if (!prompt)
|
|
347
367
|
throw new HttpError(400, 'prompt is required');
|
|
348
|
-
const
|
|
368
|
+
const [model, modelProvider] = ctx.deps.sessions.turnModel(parent, {});
|
|
369
|
+
const bg = ctx.deps.sessionStore.newSession({ workspace: parent.workspace, model, modelProvider, profile: parent.profile });
|
|
349
370
|
bg.title = `bg: ${prompt.slice(0, 60)}`;
|
|
350
371
|
ctx.deps.sessionStore.save(bg);
|
|
351
|
-
// Python: `uuid.uuid4().hex[:8]`; a failed run still completes the task so `/api/background/
|
|
372
|
+
// Python: `uuid.uuid4().hex[:8]`; a failed run still completes the task so `/api/background/tasks` reports it,
|
|
352
373
|
// and the hidden bg session file is removed afterwards.
|
|
353
374
|
const taskId = randomUUID().replace(/-/g, '').slice(0, 8);
|
|
354
375
|
// TAL-372: the parent session keeps the task's record and result, so every client and a restart see it.
|
|
@@ -358,8 +379,9 @@ export const chatRouter = os.router({
|
|
|
358
379
|
}
|
|
359
380
|
catch { /* best effort */ } };
|
|
360
381
|
const started = ctx.deps.turns.start(bg, {
|
|
361
|
-
msg: prompt, attachments: [], workspace: parent.workspace, model
|
|
362
|
-
|
|
382
|
+
msg: prompt, attachments: [], workspace: parent.workspace, model, modelProvider, source: 'webui',
|
|
383
|
+
// Python: the last non-error assistant reply with content, else "(no answer produced)".
|
|
384
|
+
onDone: (answer) => { ctx.deps.background.settleCommand(parent.session_id, taskId, 'completed', answer || '(no answer produced)'); cleanup(); },
|
|
363
385
|
onFailed: () => { ctx.deps.background.settleCommand(parent.session_id, taskId, 'failed', '(background task failed)'); cleanup(); },
|
|
364
386
|
});
|
|
365
387
|
if (started._status !== undefined && started._status >= 400) {
|
|
@@ -372,12 +394,6 @@ export const chatRouter = os.router({
|
|
|
372
394
|
ctx.deps.background.setCommandStream(parent.session_id, taskId, str(started.stream_id));
|
|
373
395
|
return { ok: true, task_id: taskId, stream_id: str(started.stream_id), session_id: bg.session_id };
|
|
374
396
|
})),
|
|
375
|
-
status: os.background.status.handler(({ input, context: { ctx } }) => run(() => {
|
|
376
|
-
const sid = str(input.session_id);
|
|
377
|
-
if (!sid)
|
|
378
|
-
throw new HttpError(400, 'Missing session_id');
|
|
379
|
-
return { results: ctx.deps.background.legacyResults(sid) };
|
|
380
|
-
})),
|
|
381
397
|
tasks: os.background.tasks.handler(({ input, context: { ctx } }) => run(async () => {
|
|
382
398
|
const s = visibleSession(ctx, input.session_id);
|
|
383
399
|
const snapshot = await ctx.deps.background.snapshot(s.session_id, s.profile);
|
|
@@ -408,7 +424,7 @@ export const chatRouter = os.router({
|
|
|
408
424
|
return { ok: true, session_id: s.session_id, task_id: pid, noop: true };
|
|
409
425
|
})),
|
|
410
426
|
},
|
|
411
|
-
btw: os.btw.handler(({ input, context: { ctx } }) => run(() => {
|
|
427
|
+
btw: os.btw.handler(({ input, context: { ctx } }) => run(async () => {
|
|
412
428
|
const body = input;
|
|
413
429
|
requireField(body, 'session_id', 'question');
|
|
414
430
|
const sid = str(body.session_id);
|
|
@@ -417,6 +433,8 @@ export const chatRouter = os.router({
|
|
|
417
433
|
// Python: a subagent child's context must not be cloned into a runnable ephemeral session.
|
|
418
434
|
if (ctx.deps.sessions.isSubagentViewOnly(sid))
|
|
419
435
|
throw new HttpError(400, 'Subagent sessions are view-only and cannot be used for /btw from WebUI');
|
|
436
|
+
// TAL-542: the side question starts on the chat's repaired pair; the catalog is built before the chat is read.
|
|
437
|
+
await ctx.deps.sessions.deps.warmSessionModelRepair?.();
|
|
420
438
|
const s = getSession(ctx, sid);
|
|
421
439
|
if (ctx.deps.sessions.isReadOnly(s) || s.branchSourceReadonly)
|
|
422
440
|
throw new HttpError(403, 'Read-only imported sessions cannot be continued from WebUI');
|
|
@@ -424,7 +442,8 @@ export const chatRouter = os.router({
|
|
|
424
442
|
if (!question)
|
|
425
443
|
throw new HttpError(400, 'question is required');
|
|
426
444
|
// TAL-518: a side question runs in its own hidden session, so the chat's running turn does not block it.
|
|
427
|
-
const
|
|
445
|
+
const [model, modelProvider] = ctx.deps.sessions.turnModel(s, {});
|
|
446
|
+
const ephemeral = ctx.deps.sessionStore.newSession({ workspace: s.workspace, model, modelProvider, profile: s.profile });
|
|
428
447
|
ephemeral.messages = structuredClone(s.messages);
|
|
429
448
|
ephemeral.context_messages = ctx.deps.sessions.sideQuestionContext(s);
|
|
430
449
|
ephemeral.title = `btw: ${question.slice(0, 60)}`;
|
|
@@ -434,7 +453,7 @@ export const chatRouter = os.router({
|
|
|
434
453
|
ctx.deps.sessionStore.deleteFiles(ephemeral.session_id, { tombstone: false });
|
|
435
454
|
}
|
|
436
455
|
catch { /* best effort */ } };
|
|
437
|
-
const started = ctx.deps.turns.start(ephemeral, { msg: question, attachments: [], workspace: s.workspace, model
|
|
456
|
+
const started = ctx.deps.turns.start(ephemeral, { msg: question, attachments: [], workspace: s.workspace, model, modelProvider, source: 'webui', ephemeral: true, onFailed: cleanup });
|
|
438
457
|
if (started._status !== undefined && started._status >= 400) {
|
|
439
458
|
cleanup();
|
|
440
459
|
throw new HttpError(started._status, started.error ?? 'btw start failed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-router.js","sourceRoot":"","sources":["../../src/api/chat-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-router.js","sourceRoot":"","sources":["../../src/api/chat-router.ts"],"names":[],"mappings":"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"}
|
package/dist/api/git-router.d.ts
CHANGED
|
@@ -108,6 +108,24 @@ export declare const gitRouter: {
|
|
|
108
108
|
additions: import("zod").ZodNumber;
|
|
109
109
|
deletions: import("zod").ZodNumber;
|
|
110
110
|
diff: import("zod").ZodString;
|
|
111
|
+
hunks: import("zod").ZodArray<import("zod").ZodObject<{
|
|
112
|
+
header: import("zod").ZodString;
|
|
113
|
+
old_start: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
114
|
+
new_start: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
115
|
+
new_end: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
116
|
+
additions: import("zod").ZodNumber;
|
|
117
|
+
deletions: import("zod").ZodNumber;
|
|
118
|
+
lines: import("zod").ZodArray<import("zod").ZodObject<{
|
|
119
|
+
kind: import("zod").ZodEnum<{
|
|
120
|
+
context: "context";
|
|
121
|
+
addition: "addition";
|
|
122
|
+
deletion: "deletion";
|
|
123
|
+
}>;
|
|
124
|
+
old_line: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
125
|
+
new_line: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
126
|
+
text: import("zod").ZodString;
|
|
127
|
+
}, import("zod/v4/core").$strip>>;
|
|
128
|
+
}, import("zod/v4/core").$strip>>;
|
|
111
129
|
}, import("zod/v4/core").$strip>;
|
|
112
130
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
113
131
|
stage: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<import("@orpc/server").MergedInitialContext<ApiContext & Record<never, never>, ApiContext & Record<never, never>, ApiContext>, ApiContext & Record<never, never> & Omit<ApiContext & Record<never, never>, "ctx">, import("@orpc/server").MergedCurrentContext<ApiContext, Record<never, never>>>, Omit<ApiContext, never> & Record<never, never>, import("zod").ZodObject<{
|
|
@@ -618,13 +636,23 @@ export declare const gitRouter: {
|
|
|
618
636
|
rollback: {
|
|
619
637
|
list: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<import("@orpc/server").MergedInitialContext<ApiContext & Record<never, never>, ApiContext & Record<never, never>, ApiContext>, ApiContext & Record<never, never> & Omit<ApiContext & Record<never, never>, "ctx">, import("@orpc/server").MergedCurrentContext<ApiContext, Record<never, never>>>, Omit<ApiContext, never> & Record<never, never>, import("zod").ZodObject<{
|
|
620
638
|
workspace: import("zod").ZodOptional<import("zod").ZodString>;
|
|
639
|
+
session_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
621
640
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
622
|
-
checkpoints: import("zod").ZodArray<import("zod").
|
|
641
|
+
checkpoints: import("zod").ZodArray<import("zod").ZodObject<{
|
|
642
|
+
id: import("zod").ZodString;
|
|
643
|
+
commit: import("zod").ZodString;
|
|
644
|
+
message: import("zod").ZodString;
|
|
645
|
+
date: import("zod").ZodString;
|
|
646
|
+
date_display: import("zod").ZodString;
|
|
647
|
+
files: import("zod").ZodNumber;
|
|
648
|
+
path: import("zod").ZodString;
|
|
649
|
+
}, import("zod/v4/core").$strip>>;
|
|
623
650
|
workspace: import("zod").ZodString;
|
|
624
651
|
checkpoint_dir: import("zod").ZodString;
|
|
625
652
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
626
653
|
diff: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<import("@orpc/server").MergedInitialContext<ApiContext & Record<never, never>, ApiContext & Record<never, never>, ApiContext>, ApiContext & Record<never, never> & Omit<ApiContext & Record<never, never>, "ctx">, import("@orpc/server").MergedCurrentContext<ApiContext, Record<never, never>>>, Omit<ApiContext, never> & Record<never, never>, import("zod").ZodObject<{
|
|
627
654
|
workspace: import("zod").ZodOptional<import("zod").ZodString>;
|
|
655
|
+
session_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
628
656
|
checkpoint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
629
657
|
id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
630
658
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -639,6 +667,7 @@ export declare const gitRouter: {
|
|
|
639
667
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
640
668
|
restore: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<import("@orpc/server").MergedInitialContext<ApiContext & Record<never, never>, ApiContext & Record<never, never>, ApiContext>, ApiContext & Record<never, never> & Omit<ApiContext & Record<never, never>, "ctx">, import("@orpc/server").MergedCurrentContext<ApiContext, Record<never, never>>>, Omit<ApiContext, never> & Record<never, never>, import("zod").ZodObject<{
|
|
641
669
|
workspace: import("zod").ZodOptional<import("zod").ZodString>;
|
|
670
|
+
session_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
642
671
|
checkpoint: import("zod").ZodOptional<import("zod").ZodString>;
|
|
643
672
|
id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
644
673
|
}, import("zod/v4/core").$catchall<import("zod").ZodUnknown>>, import("zod").ZodObject<{
|
|
@@ -657,7 +686,23 @@ export declare const gitRouter: {
|
|
|
657
686
|
status: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<import("@orpc/server").MergedInitialContext<ApiContext & Record<never, never>, ApiContext & Record<never, never>, ApiContext>, ApiContext & Record<never, never> & Omit<ApiContext & Record<never, never>, "ctx">, import("@orpc/server").MergedCurrentContext<ApiContext, Record<never, never>>>, Omit<ApiContext, never> & Record<never, never>, import("zod").ZodObject<{
|
|
658
687
|
session_id: import("zod").ZodString;
|
|
659
688
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
660
|
-
status: import("zod").
|
|
689
|
+
status: import("zod").ZodObject<{
|
|
690
|
+
path: import("zod").ZodString;
|
|
691
|
+
exists: import("zod").ZodBoolean;
|
|
692
|
+
listed: import("zod").ZodBoolean;
|
|
693
|
+
dirty: import("zod").ZodBoolean;
|
|
694
|
+
untracked_count: import("zod").ZodNumber;
|
|
695
|
+
ahead_behind: import("zod").ZodObject<{
|
|
696
|
+
ahead: import("zod").ZodNumber;
|
|
697
|
+
behind: import("zod").ZodNumber;
|
|
698
|
+
available: import("zod").ZodBoolean;
|
|
699
|
+
upstream: import("zod").ZodNullable<import("zod").ZodString>;
|
|
700
|
+
}, import("zod/v4/core").$strip>;
|
|
701
|
+
locked_by_stream: import("zod").ZodBoolean;
|
|
702
|
+
locked_by_terminal: import("zod").ZodBoolean;
|
|
703
|
+
removable: import("zod").ZodBoolean;
|
|
704
|
+
force_required: import("zod").ZodBoolean;
|
|
705
|
+
}, import("zod/v4/core").$strip>;
|
|
661
706
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
662
707
|
remove: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<import("@orpc/server").MergedInitialContext<ApiContext & Record<never, never>, ApiContext & Record<never, never>, ApiContext>, ApiContext & Record<never, never> & Omit<ApiContext & Record<never, never>, "ctx">, import("@orpc/server").MergedCurrentContext<ApiContext, Record<never, never>>>, Omit<ApiContext, never> & Record<never, never>, import("zod").ZodObject<{
|
|
663
708
|
session_id: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
package/dist/api/git-router.js
CHANGED
|
@@ -3,12 +3,12 @@ import { implement } from '@orpc/server';
|
|
|
3
3
|
import { gitContract } from '@maudecode/talaria-web-contracts';
|
|
4
4
|
import { HttpError, requireFields } from './router.js';
|
|
5
5
|
import { requestSessionIdGuard } from './session-visibility.js';
|
|
6
|
-
import { cleanGeneratedCommitMessage, enclosingRepoRoot,
|
|
6
|
+
import { cleanGeneratedCommitMessage, enclosingRepoRoot, gitBadge, GitWorkspaceError, WORKSPACE_GIT_DESTRUCTIVE_ENV } from '../workspace/git.js';
|
|
7
7
|
import { REMOTE_WORKSPACE_UNSUPPORTED_CODE, REMOTE_WORKSPACE_UNSUPPORTED_MESSAGE } from '../workspace/workspaces.js';
|
|
8
8
|
import { removeWorktreeForSession, worktreeStatusForSession } from '../workspace/worktrees.js';
|
|
9
9
|
import { isSafeSessionId } from '../sessions/session.js';
|
|
10
10
|
import { sanitizeError } from '../workspace/media.js';
|
|
11
|
-
import {
|
|
11
|
+
import { SidecarError } from '../sidecar/client.js';
|
|
12
12
|
import { str } from '../util.js';
|
|
13
13
|
const os = implement(gitContract).$context().use(requestSessionIdGuard);
|
|
14
14
|
/** Python `_git_bad`: `{error, code}` with the classified reason. */
|
|
@@ -83,20 +83,28 @@ async function generateCommitMessage(ctx, session, prompt) {
|
|
|
83
83
|
return { ok: true, message, truncated: prompt.truncated };
|
|
84
84
|
}
|
|
85
85
|
const asStatus = (s) => s;
|
|
86
|
-
/**
|
|
86
|
+
/** A rollback request names a configured workspace, or a session that vouches for its own workspace (a worktree chat's is not a configured one). */
|
|
87
|
+
function rollbackTarget(ctx, input) {
|
|
88
|
+
if (!input.session_id)
|
|
89
|
+
return { workspace: input.workspace, allowed: [] };
|
|
90
|
+
const { workspace } = gitSession(ctx, input.session_id);
|
|
91
|
+
return { workspace, allowed: [workspace] };
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A request or Agent refusal (unknown checkpoint, uncaptured nested repository) is a 400 with its message; a workspace Git
|
|
95
|
+
* or a run holds is a 409; a sidecar that cannot answer is a 503/500.
|
|
96
|
+
*/
|
|
87
97
|
function rollbackError(error) {
|
|
88
|
-
if (error instanceof
|
|
89
|
-
return new HttpError(
|
|
98
|
+
if (error instanceof GitWorkspaceError)
|
|
99
|
+
return new HttpError(409, error.message, { code: error.code });
|
|
100
|
+
if (error instanceof SidecarError && error.condition !== 'checkpoint_failed')
|
|
101
|
+
return new HttpError(error.condition === 'sidecar_unavailable' ? 503 : 500, sanitizeError(error), { condition: error.condition });
|
|
90
102
|
return new HttpError(400, error.message);
|
|
91
103
|
}
|
|
92
104
|
export const gitRouter = os.router({
|
|
93
105
|
gitInfo: os.gitInfo.handler(({ input, context: { ctx } }) => guard(async () => {
|
|
94
106
|
const { workspace } = gitSession(ctx, input.session_id);
|
|
95
|
-
|
|
96
|
-
if (!status.is_git)
|
|
97
|
-
return { git: null };
|
|
98
|
-
const totals = status.totals ?? { changed: 0, staged: 0, unstaged: 0, untracked: 0, conflicts: 0 };
|
|
99
|
-
return { git: { branch: status.branch ?? 'HEAD', dirty: totals.changed, modified: totals.staged + totals.unstaged, untracked: totals.untracked, ahead: status.ahead ?? 0, behind: status.behind ?? 0, is_git: true } };
|
|
107
|
+
return { git: gitBadge(await ctx.deps.git.status(workspace, { useCache: true })) };
|
|
100
108
|
})),
|
|
101
109
|
git: {
|
|
102
110
|
status: os.git.status.handler(({ input, context: { ctx } }) => guard(async () => ({ git: asStatus(await ctx.deps.git.status(gitSession(ctx, input.session_id).workspace, { useCache: true })) }))),
|
|
@@ -169,38 +177,39 @@ export const gitRouter = os.router({
|
|
|
169
177
|
})),
|
|
170
178
|
},
|
|
171
179
|
rollback: {
|
|
172
|
-
list: os.rollback.list.handler(({ input, context: { ctx } }) => {
|
|
173
|
-
|
|
180
|
+
list: os.rollback.list.handler(async ({ input, context: { ctx } }) => {
|
|
181
|
+
const { workspace, allowed } = rollbackTarget(ctx, input);
|
|
182
|
+
if (!workspace)
|
|
174
183
|
throw new HttpError(400, 'workspace query parameter is required');
|
|
175
184
|
try {
|
|
176
|
-
return ctx.deps.rollback.list(
|
|
185
|
+
return await ctx.deps.rollback.list(workspace, allowed);
|
|
177
186
|
}
|
|
178
187
|
catch (error) {
|
|
179
188
|
throw rollbackError(error);
|
|
180
189
|
}
|
|
181
190
|
}),
|
|
182
|
-
diff: os.rollback.diff.handler(({ input, context: { ctx } }) => {
|
|
191
|
+
diff: os.rollback.diff.handler(async ({ input, context: { ctx } }) => {
|
|
183
192
|
const checkpoint = input.checkpoint ?? input.id;
|
|
184
|
-
|
|
193
|
+
const { workspace, allowed } = rollbackTarget(ctx, input);
|
|
194
|
+
if (!workspace || !checkpoint)
|
|
185
195
|
throw new HttpError(400, 'workspace and checkpoint query parameters are required');
|
|
186
196
|
try {
|
|
187
|
-
return ctx.deps.rollback.diff(
|
|
197
|
+
return await ctx.deps.git.holdCheckpoint(workspace, () => ctx.deps.rollback.diff(workspace, checkpoint, allowed));
|
|
188
198
|
}
|
|
189
199
|
catch (error) {
|
|
190
200
|
throw rollbackError(error);
|
|
191
201
|
}
|
|
192
202
|
}),
|
|
193
|
-
restore: os.rollback.restore.handler(({ input, context: { ctx } }) => {
|
|
203
|
+
restore: os.rollback.restore.handler(async ({ input, context: { ctx } }) => {
|
|
194
204
|
if (!Object.keys(input).length)
|
|
195
205
|
throw new HttpError(400, 'request body is required');
|
|
196
206
|
const checkpoint = input.checkpoint ?? input.id;
|
|
197
|
-
|
|
207
|
+
const { workspace, allowed } = rollbackTarget(ctx, input);
|
|
208
|
+
if (!workspace || !checkpoint)
|
|
198
209
|
throw new HttpError(400, 'workspace and checkpoint are required');
|
|
199
|
-
//
|
|
200
|
-
if (ctx.deps.git.workspaceBusy(input.workspace))
|
|
201
|
-
throw new HttpError(409, WORKSPACE_BUSY_MESSAGE);
|
|
210
|
+
// Held for the whole restore so no run, terminal, file write, or Git mutation starts there while the Agent rewrites its files.
|
|
202
211
|
try {
|
|
203
|
-
return ctx.deps.rollback.restore(
|
|
212
|
+
return await ctx.deps.git.holdCheckpoint(workspace, () => ctx.deps.rollback.restore(workspace, checkpoint, allowed));
|
|
204
213
|
}
|
|
205
214
|
catch (error) {
|
|
206
215
|
throw rollbackError(error);
|