@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
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
* detail payload, list and search, and every mutation with its guards.
|
|
4
4
|
* Runtime concerns owned by other domains arrive through `SessionServiceDeps`.
|
|
5
5
|
*/
|
|
6
|
-
import type { PendingSteer } from '@maudecode/talaria-web-contracts';
|
|
6
|
+
import type { PendingSteer, RecoveryAudit, RecoveryRepair } from '@maudecode/talaria-web-contracts';
|
|
7
7
|
import type { RunJournal } from './journal.js';
|
|
8
8
|
import type { DraftStore } from './drafts.js';
|
|
9
9
|
import type { SessionEventBus } from './events.js';
|
|
10
10
|
import { type ListParams, type ListResponse, type Row, type RuntimeOverlay } from './list.js';
|
|
11
11
|
import { Session, titleFrom, type Message } from './session.js';
|
|
12
12
|
import { type SessionStore } from './store.js';
|
|
13
|
+
import { type ClaudeCodeSessionSource } from './claude-code.js';
|
|
14
|
+
import { type StateDbRead } from './state-db.js';
|
|
13
15
|
import { type CompressionJob } from './compress.js';
|
|
14
16
|
import { type SidecarLike } from '../sidecar/client.js';
|
|
15
17
|
import { type ToolResultView } from './merge.js';
|
|
@@ -30,6 +32,8 @@ export declare class HttpFailure extends Error {
|
|
|
30
32
|
*/
|
|
31
33
|
export declare function ensureAgentRuntimeCurrent(sidecar: SidecarLike | null): Promise<void>;
|
|
32
34
|
export interface SessionServiceDeps {
|
|
35
|
+
/** TAL-259: epoch seconds of the state directory's `recovery_stamping_since` marker. */
|
|
36
|
+
recoveryStampingSince: () => number;
|
|
33
37
|
/** TAL-255: the Agent sidecar for manual compression (`chat.compress`); null while it is down. */
|
|
34
38
|
sidecar?: () => SidecarLike | null;
|
|
35
39
|
/** Detached sidecar work for a profile: deletion waits for the returned release, so the home outlives the work. */
|
|
@@ -73,8 +77,10 @@ export interface SessionServiceDeps {
|
|
|
73
77
|
journal?: RunJournal;
|
|
74
78
|
hermesHome: string;
|
|
75
79
|
home: string;
|
|
76
|
-
/** Sync title-only metadata to state.db when `sync_to_insights` is on. */
|
|
77
|
-
syncTitle: (session: Session) => Promise<void>;
|
|
80
|
+
/** Sync title-only metadata to state.db when `sync_to_insights` is on; `manual` marks a user-requested title (rename or regenerate). */
|
|
81
|
+
syncTitle: (session: Session, manual?: boolean) => Promise<void>;
|
|
82
|
+
/** TAL-591: the background title job for a CLI session a mutation just claimed (Python `import_cli` queued one). */
|
|
83
|
+
titleClaimed?: (session: Session) => void;
|
|
78
84
|
/** Context length lookup for a model (checkpoint 7 wires the catalog). */
|
|
79
85
|
contextLengthFor: (model: string | null, provider: string | null) => number | null;
|
|
80
86
|
/** TAL-301: the catalog entry id a stored `(model, provider)` pair selects (null when none or not yet known). */
|
|
@@ -85,6 +91,10 @@ export interface SessionServiceDeps {
|
|
|
85
91
|
resolveContextLength?: (model: string | null, provider: string | null, profile: string | null) => Promise<number | null>;
|
|
86
92
|
/** `(model, provider)` normalisation from a request (checkpoint 7 wires provider-qualified ids). */
|
|
87
93
|
modelStateFromRequest: (model: unknown, requestedProvider: unknown, currentProvider: string | null) => [string | null, string | null];
|
|
94
|
+
/** TAL-542: the pair a stale session model starts on, from the profile's catalog; `null` keeps it. */
|
|
95
|
+
repairSessionModel?: (profile: string | null, model: string, provider: string | null) => [string, string] | null;
|
|
96
|
+
/** TAL-542: builds the catalog `repairSessionModel` reads unless a fresh enough one exists. */
|
|
97
|
+
warmSessionModelRepair?: (profile?: string | null) => Promise<void>;
|
|
88
98
|
yolo: {
|
|
89
99
|
isEnabled: (sid: string) => boolean;
|
|
90
100
|
set: (sid: string, enabled: boolean) => void;
|
|
@@ -93,10 +103,19 @@ export interface SessionServiceDeps {
|
|
|
93
103
|
/** `truncated`: source kinds whose rows stopped at the per-kind window on this read (TAL-482). */
|
|
94
104
|
cliSessions: (profile: string, opts: {
|
|
95
105
|
sourceFilter: string | null;
|
|
106
|
+
}) => Promise<{
|
|
107
|
+
rows: Row[];
|
|
108
|
+
truncated: ReadonlySet<string>;
|
|
109
|
+
}>;
|
|
110
|
+
/** `cliSessions` read on this thread, for the synchronous single-session lookups. */
|
|
111
|
+
cliSessionsSync: (profile: string, opts: {
|
|
112
|
+
sourceFilter: string | null;
|
|
96
113
|
}) => {
|
|
97
114
|
rows: Row[];
|
|
98
115
|
truncated: ReadonlySet<string>;
|
|
99
116
|
};
|
|
117
|
+
/** TAL-551: read-only Claude Code transcripts, listed with the CLI rows when both toggles are on. */
|
|
118
|
+
claudeCode?: ClaudeCodeSessionSource;
|
|
100
119
|
profileHome: (profile: string) => string;
|
|
101
120
|
/** Python `commit_session_memory` (fire-and-forget): the cached Agent flushes memory for a session the user left. */
|
|
102
121
|
commitSessionMemory?: (sid: string) => void;
|
|
@@ -112,6 +131,13 @@ export declare class SessionService {
|
|
|
112
131
|
private readonly compressionJobs;
|
|
113
132
|
constructor(deps: SessionServiceDeps);
|
|
114
133
|
private get store();
|
|
134
|
+
/**
|
|
135
|
+
* TAL-577: user-turn admission shared by `chat.start` and server-side wakeups, after `ensureAgentRuntimeCurrent`.
|
|
136
|
+
* A requested workspace must be trusted; the session's own one, when its directory is gone, falls back to the last one.
|
|
137
|
+
*/
|
|
138
|
+
turnWorkspace(s: Session, requested?: unknown): string;
|
|
139
|
+
/** A `@provider:` id is split; any other model an explicit pick did not just choose is checked against the catalog (TAL-542). */
|
|
140
|
+
turnModel(s: Session, body?: Record<string, unknown>): [string | null, string | null, boolean];
|
|
115
141
|
/**
|
|
116
142
|
* TAL-186: rewrites a session's media references to their URLs. A local path is rewritten only when `/api/media`
|
|
117
143
|
* serves it for this session, under the same resolution, so every rewritten reference loads.
|
|
@@ -131,6 +157,20 @@ export declare class SessionService {
|
|
|
131
157
|
isSubagentViewOnly(sid: string): boolean;
|
|
132
158
|
/** TAL-358: batched `sessions.source` owners from the active profile's state.db. */
|
|
133
159
|
readonly stateDbSources: (ids: string[]) => Map<string, string> | null;
|
|
160
|
+
/**
|
|
161
|
+
* TAL-590 (Python #3238): the read-only CLI or API-server imports among `rows` whose active-profile state.db row is
|
|
162
|
+
* gone, so their source was deleted outside Web and no Web action could remove them. An unreadable state.db proves
|
|
163
|
+
* nothing (`agentSessionRowsExisting`); another profile's session or one with a run the runtime still holds is never
|
|
164
|
+
* an orphan, while a stream id a crash left behind does not count as one.
|
|
165
|
+
*/
|
|
166
|
+
private orphanedImports;
|
|
167
|
+
private orphanCandidates;
|
|
168
|
+
private isOrphanedImport;
|
|
169
|
+
/**
|
|
170
|
+
* The list's owner locks and orphan prune (an orphan's sidecar goes, as nothing else ever removes it), with their
|
|
171
|
+
* state.db reads made on the listing worker up front so the synchronous build never opens state.db (TAL-920).
|
|
172
|
+
*/
|
|
173
|
+
private listStateDbLookups;
|
|
134
174
|
/** The persisted flag folded with the state.db owner lock (TAL-358): the one read-only rule for mutation gates and the wire. */
|
|
135
175
|
isReadOnly(s: Session): boolean;
|
|
136
176
|
/** Full session for mutation, refusing read-only imports (Python `_get_or_materialize_session`). */
|
|
@@ -138,12 +178,52 @@ export declare class SessionService {
|
|
|
138
178
|
private get404;
|
|
139
179
|
/** The Agent's state.db rows for this session (empty for subagent views, which never merge). */
|
|
140
180
|
stateDbRows(s: Session): Message[];
|
|
181
|
+
/** `stateDbRows` and whether the read succeeded on a state.db whose messages carry ids (TAL-493). */
|
|
182
|
+
stateDbRead(s: Session): StateDbRead;
|
|
183
|
+
private stateDbPath;
|
|
141
184
|
/**
|
|
142
185
|
* Python `_merged_session_messages_for_display`: the sidecar transcript merged append-only with the Agent's state.db
|
|
143
186
|
* rows (a WebUI conversation continued from the CLI shows the CLI turns). This is the coordinate space `GET
|
|
144
187
|
* /api/session` exposes, so branching and the next model history slice/extend the same list.
|
|
145
188
|
*/
|
|
146
189
|
mergedTranscript(s: Session, local?: Message[], stateRows?: Message[]): Message[];
|
|
190
|
+
/**
|
|
191
|
+
* TAL-493: record the highest state.db id this boundary or settled turn read, under the session lock in the same save,
|
|
192
|
+
* so the merge never replays a covered row and appends every row committed after the read. Call it after the boundary
|
|
193
|
+
* fields are set: the marker holds only while they and the row it names stay as recorded.
|
|
194
|
+
*/
|
|
195
|
+
markStateDbSeen(s: Session, read?: StateDbRead, opts?: {
|
|
196
|
+
boundary?: boolean;
|
|
197
|
+
}): void;
|
|
198
|
+
/**
|
|
199
|
+
* TAL-493: a turn's settlement. Each state.db row the merge shows now is matched to what the turn holds: a row already
|
|
200
|
+
* in the context it started from (by id), or one row the Agent added this turn (`agentRows` past that context, matched
|
|
201
|
+
* one to one by full text). An unmatched row is a CLI or gateway row committed while the turn ran: it joins the
|
|
202
|
+
* transcript and the model context before the marker passes it. Without the Agent's rows (`agentRows` empty), rows past
|
|
203
|
+
* `startId` (the highest id the turn read when it started) are its own unreported work: covered, never shown. Rows the
|
|
204
|
+
* turn started from but the transcript lacks (a CLI continuation read into its context) are kept before the turn.
|
|
205
|
+
*/
|
|
206
|
+
settleStateDb(s: Session, turn: {
|
|
207
|
+
turnId: string;
|
|
208
|
+
previousContext: Message[];
|
|
209
|
+
agentRows?: Message[] | null;
|
|
210
|
+
startId?: number | null;
|
|
211
|
+
read?: StateDbRead;
|
|
212
|
+
}): void;
|
|
213
|
+
/**
|
|
214
|
+
* TAL-921: the model context a turn leaves when it ends without its settled result (an error, a Stop, a dead run), as a
|
|
215
|
+
* Stop's: the Agent's rows when they hold the turn's prompt, else its own rows among `stateRows` (the state.db rows
|
|
216
|
+
* committed after it started), then the prose that streamed past them. Null when it captured nothing the model can use.
|
|
217
|
+
*/
|
|
218
|
+
unsettledTurnContext(turn: {
|
|
219
|
+
previousContext: Message[];
|
|
220
|
+
prompt: string | Record<string, unknown>[];
|
|
221
|
+
msgText: string;
|
|
222
|
+
streamedText: string;
|
|
223
|
+
historyLength: number;
|
|
224
|
+
agentRows?: Message[] | null;
|
|
225
|
+
stateRows: Message[];
|
|
226
|
+
}): Message[] | null;
|
|
147
227
|
/**
|
|
148
228
|
* Python `reconciled_state_db_messages_for_session(prefer_context=True)`: the model history is the owner context
|
|
149
229
|
* extended append-only with the Agent's state.db rows (a CLI continuation of this session reaches the model), except
|
|
@@ -155,8 +235,11 @@ export declare class SessionService {
|
|
|
155
235
|
* deferred save keeps out of `messages` and `context_messages` until settlement.
|
|
156
236
|
*/
|
|
157
237
|
sideQuestionContext(s: Session): Message[];
|
|
238
|
+
/** Python `_is_messaging_session_id`: from the WebUI metadata or the Agent's row. */
|
|
239
|
+
private isMessagingSession;
|
|
158
240
|
/** Python `_lookup_cli_session_metadata`: the sidebar row for a state.db session in the active profile. */
|
|
159
241
|
private lookupCliMeta;
|
|
242
|
+
private claudeCodeRows;
|
|
160
243
|
/** Python `_session_index_marks_was_webui`: an index row that once owned a WebUI sidecar (self-heal 404). */
|
|
161
244
|
private indexMarksWasWebui;
|
|
162
245
|
/**
|
|
@@ -169,6 +252,11 @@ export declare class SessionService {
|
|
|
169
252
|
reason: 'materialized' | 'not_claimable' | 'was_webui' | 'no_foreign_state' | 'invalid_sid';
|
|
170
253
|
};
|
|
171
254
|
private mutationTarget;
|
|
255
|
+
/**
|
|
256
|
+
* TAL-551: a Claude Code import is a live view of a transcript Claude Code keeps writing. Web never stores a copy,
|
|
257
|
+
* which would freeze its messages and pin it to one profile.
|
|
258
|
+
*/
|
|
259
|
+
private rejectClaudeCode;
|
|
172
260
|
private rejectSubagent;
|
|
173
261
|
/** TAL-372: each delegation row of a turn's scene carries the status of the work it started. */
|
|
174
262
|
backgroundLinked(s: Session, messages: unknown[]): unknown[];
|
|
@@ -196,6 +284,11 @@ export declare class SessionService {
|
|
|
196
284
|
msg_before?: string | null | undefined;
|
|
197
285
|
resolve_model?: string | null | undefined;
|
|
198
286
|
}): Record<string, unknown>;
|
|
287
|
+
/**
|
|
288
|
+
* TAL-454: the chat `/branch` copied, while it still loads (archived included). A compression continuation is also a
|
|
289
|
+
* fork of its parent but not a branch, so it links nowhere.
|
|
290
|
+
*/
|
|
291
|
+
private branchedFrom;
|
|
199
292
|
/**
|
|
200
293
|
* TAL-316: the active run whose journal can replay its output from the start. The detail then leaves that output to the
|
|
201
294
|
* replay; with no active run, no identifiable prompt, or no complete journal, it returns the persisted transcript unchanged.
|
|
@@ -207,12 +300,12 @@ export declare class SessionService {
|
|
|
207
300
|
private foreignSession;
|
|
208
301
|
/** Python `_handle_session_get` without a sidecar: the state.db transcript as a (read-only or claimable) foreign stub. */
|
|
209
302
|
private foreignSessionDetail;
|
|
210
|
-
/** Clear persisted streaming flags when no live stream backs them (Python `_clear_stale_stream_state
|
|
303
|
+
/** Clear persisted streaming flags when no live stream backs them (Python `_clear_stale_stream_state`). */
|
|
211
304
|
clearStaleStreamState(session: Session): boolean;
|
|
212
|
-
list(params: Omit<ListParams, 'activeProfile' | 'isolatedProfileMode' | 'profilesMatch' | 'cliRows' | 'gatewayIdentity' | 'stateDbSources' | 'truncatedSources'>): {
|
|
305
|
+
list(params: Omit<ListParams, 'activeProfile' | 'isolatedProfileMode' | 'profilesMatch' | 'cliRows' | 'gatewayIdentity' | 'stateDbSources' | 'truncatedSources' | 'pruneOrphanedImports' | 'webuiRows'>): Promise<{
|
|
213
306
|
body: ListResponse;
|
|
214
307
|
etag: string;
|
|
215
|
-
}
|
|
308
|
+
}>;
|
|
216
309
|
search(q: string, opts: {
|
|
217
310
|
content: boolean;
|
|
218
311
|
depth: number;
|
|
@@ -227,12 +320,13 @@ export declare class SessionService {
|
|
|
227
320
|
content: boolean;
|
|
228
321
|
depth: number;
|
|
229
322
|
projectId: string | null;
|
|
230
|
-
}): Record<string, unknown
|
|
231
|
-
/** The first of a stored session's first `depth` messages (0: all) containing
|
|
323
|
+
}): Promise<Record<string, unknown>>;
|
|
324
|
+
/** The first of a stored session's first `depth` messages (0: all) containing every term, with its redacted excerpt. */
|
|
232
325
|
private contentMatch;
|
|
233
326
|
status(sid: string): Record<string, unknown>;
|
|
234
327
|
usage(sid: string): Record<string, unknown>;
|
|
235
328
|
resolveNewSessionWorkspace(body: Record<string, unknown>, visiblePrevSessionId: string | null, profile: string | null): string | null;
|
|
329
|
+
/** The server owns the names' normalization (TAL-631): trimmed, blanks dropped, and nothing left is the profile's defaults. */
|
|
236
330
|
validateToolsetsShape(toolsets: unknown): string[] | null;
|
|
237
331
|
create(body: Record<string, unknown>, opts?: {
|
|
238
332
|
worktree?: {
|
|
@@ -263,6 +357,40 @@ export declare class SessionService {
|
|
|
263
357
|
/** The session a compression may run on now, and the model history it compresses: the context a turn would send, so a
|
|
264
358
|
* repeat compression builds on the previous summary instead of re-reading the whole display transcript. */
|
|
265
359
|
private compressionTarget;
|
|
360
|
+
/** The loaded session's own compression guards: no running turn and enough model history. */
|
|
361
|
+
private compressionHistory;
|
|
362
|
+
/** TAL-614: whether a manual compression would start now: `compressionTarget`'s gates, with `readOnly` the wire flag. */
|
|
363
|
+
private canCompress;
|
|
364
|
+
/** TAL-258: the session's WebUI record (absent for a CLI or gateway session) and the profile whose state.db holds its rows. */
|
|
365
|
+
private handoffTarget;
|
|
366
|
+
/** Python `_handle_conversation_rounds` (TAL-258): the session's rounds and whether the handoff dock is due. */
|
|
367
|
+
conversationRounds(sid: string, since: number | null): {
|
|
368
|
+
ok: true;
|
|
369
|
+
rounds: number;
|
|
370
|
+
threshold: number;
|
|
371
|
+
should_show: boolean;
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* Python `_handle_handoff_summary` (TAL-258): the session's main model summarizes its last 50 state.db messages after
|
|
375
|
+
* `since`, and the summary is appended as a display-only `handoff_summary` tool row. A failed or cut-off answer falls
|
|
376
|
+
* back to a deterministic local summary rather than an error.
|
|
377
|
+
*/
|
|
378
|
+
handoffSummary(sid: string, since: number | null): Promise<{
|
|
379
|
+
ok: true;
|
|
380
|
+
summary: string;
|
|
381
|
+
message_count: number;
|
|
382
|
+
rounds: number;
|
|
383
|
+
fallback: boolean;
|
|
384
|
+
warning?: string;
|
|
385
|
+
}>;
|
|
386
|
+
/** The main model's summary at 700 tokens, once more at 1400 when it was cut off, else the local fallback. */
|
|
387
|
+
private generateHandoffSummary;
|
|
388
|
+
/**
|
|
389
|
+
* Python `_persist_handoff_summary`: a messaging session gets the marker in state.db and its WebUI record; any other
|
|
390
|
+
* session in its WebUI record, or in state.db when it has none. Each store skips a marker its tail already holds, and
|
|
391
|
+
* the session lock keeps two summaries from both passing that check. A card neither store saved answers 503.
|
|
392
|
+
*/
|
|
393
|
+
private persistHandoffMarker;
|
|
266
394
|
/** The session's compression job; a deleted session's finished result is dropped rather than served. */
|
|
267
395
|
compressionJob(sid: string): CompressionJob | undefined;
|
|
268
396
|
/**
|
|
@@ -277,6 +405,22 @@ export declare class SessionService {
|
|
|
277
405
|
undo(sid: string): Promise<Record<string, unknown>>;
|
|
278
406
|
duplicate(sid: string): Record<string, unknown>;
|
|
279
407
|
branch(sid: string, body: Record<string, unknown>): Record<string, unknown>;
|
|
408
|
+
/** Python `read_session_lineage_report` on the active profile's state.db. */
|
|
409
|
+
lineageReport(sid: string): Record<string, unknown>;
|
|
410
|
+
/** TAL-259: recovery reads the active profile's state.db, and a recovered sidecar joins that profile. */
|
|
411
|
+
private recoveryDeps;
|
|
412
|
+
recoveryAudit(): RecoveryAudit;
|
|
413
|
+
recoveryRepairSafe(): Promise<RecoveryRepair>;
|
|
414
|
+
/**
|
|
415
|
+
* Python `_handle_session_compression_recovery_start`: open a compression-exhausted session's focused continuation, an
|
|
416
|
+
* empty fork keeping its workspace, model, profile, toolsets and worktree. A retry opens the oldest continuation
|
|
417
|
+
* already started from it in the same profile; the source's lock makes concurrent starts converge on one child.
|
|
418
|
+
*/
|
|
419
|
+
compressionRecoveryStart(sid: string): Promise<Record<string, unknown>>;
|
|
420
|
+
/** Python `find_compression_recovery_session`: the oldest same-profile continuation started from `sid`, cached or persisted. */
|
|
421
|
+
private compressionRecoveryChild;
|
|
422
|
+
/** The run that keeps `delete` answering 409, if any; stream status reports it so a draining client can wait on it (TAL-622). */
|
|
423
|
+
activeRunBlocking(sid: string): string | null;
|
|
280
424
|
delete(sid: string): Promise<Record<string, unknown>>;
|
|
281
425
|
cleanup(zeroOnly: boolean): Record<string, unknown>;
|
|
282
426
|
import(body: Record<string, unknown>): Record<string, unknown>;
|