@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
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TAL-551: read-only Claude Code transcripts (Python `get_claude_code_sessions`). Each top-level `*.jsonl` in a
|
|
3
|
+
* project directory under `~/.claude/projects` (or `HERMES_WEBUI_CLAUDE_PROJECTS_DIR`) is one imported session. The
|
|
4
|
+
* scan skips symlinks, oversized files, malformed lines and unreadable files, and caches each parse on the file's stat
|
|
5
|
+
* signature, so a sidebar refresh re-reads only transcripts that changed.
|
|
6
|
+
*/
|
|
7
|
+
import { createHash } from 'node:crypto';
|
|
8
|
+
import { closeSync, constants, fstatSync, lstatSync, openSync, readdirSync, readSync, realpathSync, statSync } from 'node:fs';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { str } from '../util.js';
|
|
11
|
+
export const CLAUDE_CODE_SOURCE = 'claude_code';
|
|
12
|
+
const MAX_FILES = 200;
|
|
13
|
+
const MAX_FILE_BYTES = 10 * 1024 * 1024;
|
|
14
|
+
const MAX_MESSAGES_PER_FILE = 1000;
|
|
15
|
+
const MAX_CONTENT_CHARS = 200_000;
|
|
16
|
+
const ROLES = new Set(['user', 'assistant', 'system', 'tool']);
|
|
17
|
+
/** The projects directory: the env override (`~` expanded), else `<home>/.claude/projects`. */
|
|
18
|
+
export function claudeCodeProjectsDir(env, home) {
|
|
19
|
+
const override = (env.HERMES_WEBUI_CLAUDE_PROJECTS_DIR ?? '').trim();
|
|
20
|
+
return override ? override.replace(/^~(?=$|\/)/, home) : join(home, '.claude', 'projects');
|
|
21
|
+
}
|
|
22
|
+
export function isClaudeCodeSessionId(sid) {
|
|
23
|
+
return sid.startsWith(`${CLAUDE_CODE_SOURCE}_`);
|
|
24
|
+
}
|
|
25
|
+
function sessionId(path) {
|
|
26
|
+
return `${CLAUDE_CODE_SOURCE}_${createHash('sha256').update(path, 'utf8').digest('hex').slice(0, 24)}`;
|
|
27
|
+
}
|
|
28
|
+
function timestamp(value) {
|
|
29
|
+
if (typeof value === 'number')
|
|
30
|
+
return Number.isFinite(value) ? value : null;
|
|
31
|
+
if (typeof value !== 'string' || !value.trim())
|
|
32
|
+
return null;
|
|
33
|
+
const text = value.trim();
|
|
34
|
+
const n = Number(text);
|
|
35
|
+
if (Number.isFinite(n))
|
|
36
|
+
return n;
|
|
37
|
+
const ms = Date.parse(text);
|
|
38
|
+
return Number.isNaN(ms) ? null : ms / 1000;
|
|
39
|
+
}
|
|
40
|
+
function text(content) {
|
|
41
|
+
if (content === null || content === undefined)
|
|
42
|
+
return '';
|
|
43
|
+
if (typeof content === 'string')
|
|
44
|
+
return content.slice(0, MAX_CONTENT_CHARS);
|
|
45
|
+
if (Array.isArray(content)) {
|
|
46
|
+
const parts = [];
|
|
47
|
+
let used = 0;
|
|
48
|
+
for (const item of content) {
|
|
49
|
+
const raw = typeof item === 'string' ? item : item && typeof item === 'object' ? item.text || item.content || '' : '';
|
|
50
|
+
if (!raw)
|
|
51
|
+
continue;
|
|
52
|
+
const remaining = MAX_CONTENT_CHARS - used;
|
|
53
|
+
if (remaining <= 0)
|
|
54
|
+
break;
|
|
55
|
+
const part = (typeof raw === 'string' ? raw : JSON.stringify(raw)).slice(0, remaining);
|
|
56
|
+
parts.push(part);
|
|
57
|
+
used += part.length;
|
|
58
|
+
}
|
|
59
|
+
return parts.join('\n');
|
|
60
|
+
}
|
|
61
|
+
if (typeof content === 'object')
|
|
62
|
+
return text(content.text || content.content);
|
|
63
|
+
return str(content).slice(0, MAX_CONTENT_CHARS);
|
|
64
|
+
}
|
|
65
|
+
const asDict = (v) => (v && typeof v === 'object' && !Array.isArray(v) ? v : null);
|
|
66
|
+
/** Python `_parse_claude_code_jsonl`: user/assistant/system/tool rows with text, a summary title, and the time span. */
|
|
67
|
+
function parse(path) {
|
|
68
|
+
const messages = [];
|
|
69
|
+
let summaryTitle = null;
|
|
70
|
+
let firstTs = null;
|
|
71
|
+
let lastTs = null;
|
|
72
|
+
let body;
|
|
73
|
+
// One bounded read without following links: a transcript swapped for a symlink, or grown past the cap since the scan,
|
|
74
|
+
// is skipped rather than read in full.
|
|
75
|
+
let fd = null;
|
|
76
|
+
try {
|
|
77
|
+
fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
78
|
+
// One byte past the size it has now (at most the cap) shows whether it has outgrown the cap since.
|
|
79
|
+
const buf = Buffer.alloc(Math.min(fstatSync(fd).size, MAX_FILE_BYTES) + 1);
|
|
80
|
+
let n = 0;
|
|
81
|
+
for (let got = -1; got !== 0 && n < buf.length;) {
|
|
82
|
+
got = readSync(fd, buf, n, buf.length - n, n);
|
|
83
|
+
n += got;
|
|
84
|
+
}
|
|
85
|
+
if (n > MAX_FILE_BYTES)
|
|
86
|
+
return { messages, summaryTitle, firstTs, lastTs };
|
|
87
|
+
body = buf.toString('utf8', 0, n);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return { messages, summaryTitle, firstTs, lastTs };
|
|
91
|
+
}
|
|
92
|
+
finally {
|
|
93
|
+
if (fd !== null)
|
|
94
|
+
closeSync(fd);
|
|
95
|
+
}
|
|
96
|
+
for (const line of body.split('\n')) {
|
|
97
|
+
if (messages.length >= MAX_MESSAGES_PER_FILE)
|
|
98
|
+
break;
|
|
99
|
+
if (!line.trim())
|
|
100
|
+
continue;
|
|
101
|
+
let raw;
|
|
102
|
+
try {
|
|
103
|
+
raw = asDict(JSON.parse(line));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (!raw)
|
|
109
|
+
continue;
|
|
110
|
+
if (!summaryTitle) {
|
|
111
|
+
const summary = raw.summary || raw.title;
|
|
112
|
+
if (typeof summary === 'string' && summary.trim())
|
|
113
|
+
summaryTitle = summary.split(/\s+/).filter(Boolean).join(' ').slice(0, 80);
|
|
114
|
+
}
|
|
115
|
+
const records = Array.isArray(raw.messages) ? raw.messages : [asDict(raw.message) ?? raw];
|
|
116
|
+
for (const record of records) {
|
|
117
|
+
if (messages.length >= MAX_MESSAGES_PER_FILE)
|
|
118
|
+
break;
|
|
119
|
+
const rec = asDict(record);
|
|
120
|
+
if (!rec)
|
|
121
|
+
continue;
|
|
122
|
+
const msg = asDict(rec.message) ?? rec;
|
|
123
|
+
let role = str(msg.role || rec.role || raw.role || raw.type).trim().toLowerCase();
|
|
124
|
+
if (role === 'human')
|
|
125
|
+
role = 'user';
|
|
126
|
+
if (!ROLES.has(role))
|
|
127
|
+
continue;
|
|
128
|
+
const content = text('content' in msg ? msg.content : rec.content);
|
|
129
|
+
if (!content.trim())
|
|
130
|
+
continue;
|
|
131
|
+
const ts = timestamp(msg.timestamp || rec.timestamp || raw.timestamp || raw.created_at);
|
|
132
|
+
if (ts !== null) {
|
|
133
|
+
firstTs = firstTs === null ? ts : Math.min(firstTs, ts);
|
|
134
|
+
lastTs = lastTs === null ? ts : Math.max(lastTs, ts);
|
|
135
|
+
}
|
|
136
|
+
messages.push(ts === null ? { role, content } : { role, content, timestamp: ts });
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return { messages, summaryTitle, firstTs, lastTs };
|
|
140
|
+
}
|
|
141
|
+
function title(parsed) {
|
|
142
|
+
if (parsed.summaryTitle)
|
|
143
|
+
return parsed.summaryTitle;
|
|
144
|
+
for (const m of parsed.messages) {
|
|
145
|
+
if (m.role !== 'user')
|
|
146
|
+
continue;
|
|
147
|
+
const t = str(m.content).split(/\s+/).filter(Boolean).join(' ');
|
|
148
|
+
if (t)
|
|
149
|
+
return t.slice(0, 80);
|
|
150
|
+
}
|
|
151
|
+
return 'Claude Code Session';
|
|
152
|
+
}
|
|
153
|
+
export class ClaudeCodeSessionSource {
|
|
154
|
+
dir;
|
|
155
|
+
cache = new Map();
|
|
156
|
+
constructor(dir) {
|
|
157
|
+
this.dir = dir;
|
|
158
|
+
}
|
|
159
|
+
/** Python `_iter_claude_code_jsonl_files`: the 200 most recently modified regular `*.jsonl` files. */
|
|
160
|
+
files() {
|
|
161
|
+
const out = [];
|
|
162
|
+
let root;
|
|
163
|
+
try {
|
|
164
|
+
if (lstatSync(this.dir()).isSymbolicLink())
|
|
165
|
+
return out;
|
|
166
|
+
root = realpathSync(this.dir());
|
|
167
|
+
if (!statSync(root).isDirectory())
|
|
168
|
+
return out;
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return out;
|
|
172
|
+
}
|
|
173
|
+
let projects;
|
|
174
|
+
try {
|
|
175
|
+
projects = readdirSync(root).sort();
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
return out;
|
|
179
|
+
}
|
|
180
|
+
for (const project of projects) {
|
|
181
|
+
const projectDir = join(root, project);
|
|
182
|
+
let names;
|
|
183
|
+
try {
|
|
184
|
+
if (!lstatSync(projectDir).isDirectory())
|
|
185
|
+
continue;
|
|
186
|
+
names = readdirSync(projectDir).sort();
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
for (const name of names) {
|
|
192
|
+
if (!name.toLowerCase().endsWith('.jsonl'))
|
|
193
|
+
continue;
|
|
194
|
+
const path = join(projectDir, name);
|
|
195
|
+
try {
|
|
196
|
+
const st = lstatSync(path, { bigint: true });
|
|
197
|
+
if (!st.isFile() || st.size > BigInt(MAX_FILE_BYTES))
|
|
198
|
+
continue;
|
|
199
|
+
out.push({ path, stamp: `${st.size.toString()}:${st.mtimeNs.toString()}:${st.ctimeNs.toString()}`, mtime: Number(st.mtimeMs) / 1000 });
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
// The cap keeps the newest transcripts, so a new conversation is never crowded out by older ones.
|
|
207
|
+
return out.sort((a, b) => b.mtime - a.mtime).slice(0, MAX_FILES);
|
|
208
|
+
}
|
|
209
|
+
parsed(file) {
|
|
210
|
+
const hit = this.cache.get(file.path);
|
|
211
|
+
if (hit?.stamp === file.stamp)
|
|
212
|
+
return hit.parsed;
|
|
213
|
+
const parsed = parse(file.path);
|
|
214
|
+
this.cache.set(file.path, { stamp: file.stamp, parsed });
|
|
215
|
+
return parsed;
|
|
216
|
+
}
|
|
217
|
+
/** The sidebar rows, newest first: read-only external-agent sessions that belong to no Hermes profile. */
|
|
218
|
+
rows(workspace) {
|
|
219
|
+
const files = this.files();
|
|
220
|
+
// Drop cache entries for transcripts that left the scan, so the cache stays bounded by it.
|
|
221
|
+
const live = new Set(files.map((f) => f.path));
|
|
222
|
+
for (const path of this.cache.keys())
|
|
223
|
+
if (!live.has(path))
|
|
224
|
+
this.cache.delete(path);
|
|
225
|
+
const rows = [];
|
|
226
|
+
for (const file of files) {
|
|
227
|
+
const parsed = this.parsed(file);
|
|
228
|
+
if (!parsed.messages.length)
|
|
229
|
+
continue;
|
|
230
|
+
const fallback = !parsed.firstTs && !parsed.lastTs ? file.mtime : null;
|
|
231
|
+
const createdAt = parsed.firstTs || parsed.lastTs || fallback;
|
|
232
|
+
const updatedAt = parsed.lastTs || parsed.firstTs || fallback;
|
|
233
|
+
rows.push({
|
|
234
|
+
session_id: sessionId(file.path), title: title(parsed), workspace, model: 'claude-code', message_count: parsed.messages.length,
|
|
235
|
+
created_at: createdAt, updated_at: updatedAt, last_message_at: updatedAt, pinned: false, archived: false, project_id: null, profile: null,
|
|
236
|
+
source_tag: CLAUDE_CODE_SOURCE, raw_source: CLAUDE_CODE_SOURCE, session_source: 'external_agent', source_label: 'Claude Code',
|
|
237
|
+
is_cli_session: true, read_only: true,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return rows.sort((a, b) => Number(b.last_message_at ?? 0) - Number(a.last_message_at ?? 0));
|
|
241
|
+
}
|
|
242
|
+
/** One transcript's messages, or none when no scanned file has this id. */
|
|
243
|
+
messages(sid) {
|
|
244
|
+
if (!isClaudeCodeSessionId(sid))
|
|
245
|
+
return [];
|
|
246
|
+
const file = this.files().find((f) => sessionId(f.path) === sid);
|
|
247
|
+
return file ? [...this.parsed(file).messages] : [];
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=claude-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/sessions/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,21 @@ export declare class CliSessionSource {
|
|
|
24
24
|
dbPath(profile: string): string;
|
|
25
25
|
invalidate(): void;
|
|
26
26
|
/** Python `get_cli_sessions(profile=...)` for one profile; Claude Code imports are not projected here. */
|
|
27
|
-
load(profile: string, opts?: CliLoadOptions): Dict[]
|
|
27
|
+
load(profile: string, opts?: CliLoadOptions): Promise<Dict[]>;
|
|
28
28
|
/** `load` plus the source kinds whose rows stopped at the per-kind window, from the same read (TAL-482). */
|
|
29
|
-
read(profile: string, opts?: CliLoadOptions): CliSessionRead
|
|
30
|
-
|
|
29
|
+
read(profile: string, opts?: CliLoadOptions): Promise<CliSessionRead>;
|
|
30
|
+
/** `read` with the state.db queries on this thread, for single-session lookups whose callers are synchronous. */
|
|
31
|
+
readSync(profile: string, opts?: CliLoadOptions): CliSessionRead;
|
|
32
|
+
private slot;
|
|
33
|
+
private cached;
|
|
34
|
+
/** Build the rows, degrade a failed read or build to none with the Python log line, and cache the outcome. */
|
|
35
|
+
private store;
|
|
36
|
+
private queries;
|
|
37
|
+
/**
|
|
38
|
+
* The UI-owned title and archived flag of each state.db row's WebUI sidecar, from the session index parsed once per
|
|
39
|
+
* build; only a sidecar file the index does not list is read (TAL-920).
|
|
40
|
+
*/
|
|
41
|
+
private sidecarMetaLookup;
|
|
31
42
|
private cronJobNames;
|
|
32
|
-
private
|
|
43
|
+
private build;
|
|
33
44
|
}
|
|
@@ -4,14 +4,18 @@
|
|
|
4
4
|
* window plus bounded cron, webhook, and kanban passes, with UI-owned title and
|
|
5
5
|
* archived state from any WebUI sidecar file and the deleted-session tombstone
|
|
6
6
|
* honoured. Results are cached for 5 s per profile keyed on the database stamp.
|
|
7
|
+
* `read` queries `state.db` on the listing worker so the event loop stays free
|
|
8
|
+
* (TAL-920); `readSync` serves single-session lookups that are still synchronous.
|
|
7
9
|
*/
|
|
8
10
|
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
9
11
|
import { join } from 'node:path';
|
|
10
|
-
import { isCliSessionRow, normalizeAgentSessionSource, readImportableAgentSessionRows } from './state-db.js';
|
|
12
|
+
import { isCliSessionRow, normalizeAgentSessionSource, readImportableAgentSessionRows, readImportableAgentSessionRowsAsync } from './state-db.js';
|
|
13
|
+
import { sanitizeSessionRow } from './list.js';
|
|
11
14
|
import { str } from '../util.js';
|
|
12
15
|
export const CLI_VISIBLE_SESSION_LIMIT = 20;
|
|
13
16
|
const BACKGROUND_PROJECT_CHIP_LIMIT = 200;
|
|
14
17
|
const CACHE_TTL_S = 5;
|
|
18
|
+
const BACKGROUND_KINDS = ['cron', 'webhook', 'kanban'];
|
|
15
19
|
function dbStamp(path) {
|
|
16
20
|
try {
|
|
17
21
|
const st = statSync(path, { bigint: true });
|
|
@@ -21,6 +25,12 @@ function dbStamp(path) {
|
|
|
21
25
|
return 'missing';
|
|
22
26
|
}
|
|
23
27
|
}
|
|
28
|
+
/** A background kind's failed read is kept as its result; the interactive read's failure fails the build. */
|
|
29
|
+
function backgroundFailure(query, error) {
|
|
30
|
+
if (query.kind === null)
|
|
31
|
+
throw error;
|
|
32
|
+
return error;
|
|
33
|
+
}
|
|
24
34
|
export class CliSessionSource {
|
|
25
35
|
deps;
|
|
26
36
|
cache = new Map();
|
|
@@ -30,36 +40,118 @@ export class CliSessionSource {
|
|
|
30
40
|
dbPath(profile) { return join(this.deps.profileHome(profile), 'state.db'); }
|
|
31
41
|
invalidate() { this.cache.clear(); }
|
|
32
42
|
/** Python `get_cli_sessions(profile=...)` for one profile; Claude Code imports are not projected here. */
|
|
33
|
-
load(profile, opts = {}) {
|
|
34
|
-
return this.read(profile, opts).rows;
|
|
43
|
+
async load(profile, opts = {}) {
|
|
44
|
+
return (await this.read(profile, opts)).rows;
|
|
35
45
|
}
|
|
36
46
|
/** `load` plus the source kinds whose rows stopped at the per-kind window, from the same read (TAL-482). */
|
|
37
|
-
read(profile, opts = {}) {
|
|
47
|
+
async read(profile, opts = {}) {
|
|
48
|
+
const slot = this.slot(profile, opts);
|
|
49
|
+
const hit = this.cached(slot);
|
|
50
|
+
if (hit)
|
|
51
|
+
return hit;
|
|
52
|
+
const now = this.deps.now();
|
|
53
|
+
let results = null;
|
|
54
|
+
try {
|
|
55
|
+
if (existsSync(slot.dbPath)) {
|
|
56
|
+
const settled = [];
|
|
57
|
+
for (const query of this.queries(slot))
|
|
58
|
+
settled.push(await readImportableAgentSessionRowsAsync(slot.dbPath, query.opts).catch((error) => backgroundFailure(query, error)));
|
|
59
|
+
results = settled;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
results = error;
|
|
64
|
+
}
|
|
65
|
+
return this.store(slot, now, profile, results);
|
|
66
|
+
}
|
|
67
|
+
/** `read` with the state.db queries on this thread, for single-session lookups whose callers are synchronous. */
|
|
68
|
+
readSync(profile, opts = {}) {
|
|
69
|
+
const slot = this.slot(profile, opts);
|
|
70
|
+
const hit = this.cached(slot);
|
|
71
|
+
if (hit)
|
|
72
|
+
return hit;
|
|
73
|
+
const now = this.deps.now();
|
|
74
|
+
let results;
|
|
75
|
+
try {
|
|
76
|
+
results = existsSync(slot.dbPath) ? this.queries(slot).map((query) => { try {
|
|
77
|
+
return readImportableAgentSessionRows(slot.dbPath, query.opts);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
return backgroundFailure(query, error);
|
|
81
|
+
} }) : null;
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
results = error;
|
|
85
|
+
}
|
|
86
|
+
return this.store(slot, now, profile, results);
|
|
87
|
+
}
|
|
88
|
+
slot(profile, opts) {
|
|
38
89
|
const dbPath = this.dbPath(profile);
|
|
39
90
|
const sourceFilter = str(opts.sourceFilter).trim().toLowerCase() || null;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
if (hit?.key
|
|
45
|
-
return
|
|
91
|
+
return { cacheKey: `${profile}\n${sourceFilter ?? ''}`, key: `${dbPath}\n${dbStamp(dbPath)}\n${dbStamp(`${dbPath}-wal`)}`, dbPath, sourceFilter };
|
|
92
|
+
}
|
|
93
|
+
cached(slot) {
|
|
94
|
+
const hit = this.cache.get(slot.cacheKey);
|
|
95
|
+
if (hit?.key !== slot.key || hit.until <= this.deps.now())
|
|
96
|
+
return null;
|
|
97
|
+
return { rows: hit.rows.map((r) => ({ ...r })), truncated: hit.truncated };
|
|
98
|
+
}
|
|
99
|
+
/** Build the rows, degrade a failed read or build to none with the Python log line, and cache the outcome. */
|
|
100
|
+
store(slot, now, profile, results) {
|
|
46
101
|
let rows;
|
|
47
102
|
const truncated = new Set();
|
|
48
103
|
try {
|
|
49
|
-
|
|
104
|
+
if (results instanceof Error)
|
|
105
|
+
throw results;
|
|
106
|
+
rows = results ? this.build(profile, slot, results, truncated) : [];
|
|
50
107
|
}
|
|
51
108
|
catch (error) {
|
|
52
|
-
this.deps.log(`[webui] get_cli_sessions() failed; check state.db schema or path (${dbPath}): ${error.message}`);
|
|
109
|
+
this.deps.log(`[webui] get_cli_sessions() failed; check state.db schema or path (${slot.dbPath}): ${error.message}`);
|
|
53
110
|
rows = [];
|
|
54
111
|
}
|
|
55
|
-
this.cache.set(cacheKey, { key, until: now + CACHE_TTL_S, rows, truncated });
|
|
112
|
+
this.cache.set(slot.cacheKey, { key: slot.key, until: now + CACHE_TTL_S, rows, truncated });
|
|
56
113
|
return { rows: rows.map((r) => ({ ...r })), truncated };
|
|
57
114
|
}
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
115
|
+
queries(slot) {
|
|
116
|
+
const { sourceFilter } = slot;
|
|
117
|
+
const log = this.deps.log;
|
|
118
|
+
const interactiveLimit = sourceFilter === null ? CLI_VISIBLE_SESSION_LIMIT : BACKGROUND_PROJECT_CHIP_LIMIT;
|
|
119
|
+
// A filtered read takes one row past its window too, so a single-source list knows more exist (TAL-482).
|
|
120
|
+
const out = [{ kind: null, opts: { limit: sourceFilter === null ? interactiveLimit : interactiveLimit + 1, excludeSources: sourceFilter === null ? [...BACKGROUND_KINDS] : null, includeSources: sourceFilter === null ? null : [sourceFilter], log } }];
|
|
121
|
+
// One row past the cap tells the sidebar that more sessions of this kind exist than it lists (TAL-482).
|
|
122
|
+
if (sourceFilter === null)
|
|
123
|
+
for (const kind of BACKGROUND_KINDS)
|
|
124
|
+
out.push({ kind, opts: { limit: BACKGROUND_PROJECT_CHIP_LIMIT + 1, excludeSources: null, includeSources: [kind], log } });
|
|
125
|
+
return out;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* The UI-owned title and archived flag of each state.db row's WebUI sidecar, from the session index parsed once per
|
|
129
|
+
* build; only a sidecar file the index does not list is read (TAL-920).
|
|
130
|
+
*/
|
|
131
|
+
sidecarMetaLookup() {
|
|
132
|
+
const store = this.deps.store;
|
|
133
|
+
let persisted = null;
|
|
134
|
+
let indexed = null;
|
|
135
|
+
return (sid) => {
|
|
136
|
+
persisted ??= store.persistedIds();
|
|
137
|
+
if (!persisted.has(sid))
|
|
138
|
+
return { title: null, archived: false };
|
|
139
|
+
if (indexed === null) {
|
|
140
|
+
let entries = [];
|
|
141
|
+
try {
|
|
142
|
+
entries = store.readIndexEntries();
|
|
143
|
+
}
|
|
144
|
+
catch { /* every sidecar falls back to its file */ }
|
|
145
|
+
indexed = new Map(entries.flatMap((entry) => { const row = sanitizeSessionRow(entry, store, '_index.json'); return row ? [[str(row.session_id), row]] : []; }));
|
|
146
|
+
}
|
|
147
|
+
const entry = indexed.get(sid);
|
|
148
|
+
if (entry)
|
|
149
|
+
return { title: (str(entry.title) || 'Untitled').trim() || null, archived: Boolean(entry.archived) };
|
|
150
|
+
const session = store.loadMetadataOnly(sid);
|
|
151
|
+
if (!session)
|
|
152
|
+
return { title: null, archived: false };
|
|
153
|
+
return { title: str(session.title).trim() || null, archived: session.archived };
|
|
154
|
+
};
|
|
63
155
|
}
|
|
64
156
|
cronJobNames(home) {
|
|
65
157
|
const names = new Map();
|
|
@@ -75,9 +167,8 @@ export class CliSessionSource {
|
|
|
75
167
|
catch { /* degrade to the generic title */ }
|
|
76
168
|
return names;
|
|
77
169
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return [];
|
|
170
|
+
build(profile, slot, results, truncated) {
|
|
171
|
+
const { sourceFilter } = slot;
|
|
81
172
|
const home = this.deps.profileHome(profile);
|
|
82
173
|
let workspace = null;
|
|
83
174
|
const cliWorkspace = () => { workspace ??= this.deps.lastWorkspace(profile); return workspace; };
|
|
@@ -91,6 +182,7 @@ export class CliSessionSource {
|
|
|
91
182
|
cronNames ??= this.cronJobNames(home);
|
|
92
183
|
return cronNames.get(parts[1] ?? '') ?? null;
|
|
93
184
|
};
|
|
185
|
+
const sidecarMeta = this.sidecarMetaLookup();
|
|
94
186
|
const tombstone = this.deps.store.loadDeletedTombstone();
|
|
95
187
|
const out = [];
|
|
96
188
|
const seen = new Set();
|
|
@@ -113,7 +205,7 @@ export class CliSessionSource {
|
|
|
113
205
|
let title = str(row.title) || null;
|
|
114
206
|
if (!title && sourceTag === 'cron')
|
|
115
207
|
title = cronTitle(sid) ?? title;
|
|
116
|
-
const sidecar =
|
|
208
|
+
const sidecar = sidecarMeta(sid);
|
|
117
209
|
if (sidecar.title)
|
|
118
210
|
title = sidecar.title;
|
|
119
211
|
return {
|
|
@@ -131,10 +223,8 @@ export class CliSessionSource {
|
|
|
131
223
|
is_cli_session: isCliSessionRow({ ...row, ...meta }),
|
|
132
224
|
};
|
|
133
225
|
};
|
|
134
|
-
const background = new Set(['cron', 'webhook', 'kanban']);
|
|
135
226
|
const interactiveLimit = sourceFilter === null ? CLI_VISIBLE_SESSION_LIMIT : BACKGROUND_PROJECT_CHIP_LIMIT;
|
|
136
|
-
|
|
137
|
-
const interactive = readImportableAgentSessionRows(dbPath, { limit: sourceFilter === null ? interactiveLimit : interactiveLimit + 1, excludeSources: sourceFilter === null ? ['cron', 'webhook', 'kanban'] : null, includeSources: sourceFilter === null ? null : [sourceFilter], log: this.deps.log });
|
|
227
|
+
const interactive = results[0];
|
|
138
228
|
if (sourceFilter !== null && interactive.length > interactiveLimit)
|
|
139
229
|
truncated.add(sourceFilter);
|
|
140
230
|
for (const row of sourceFilter === null ? interactive : interactive.slice(0, interactiveLimit)) {
|
|
@@ -147,10 +237,11 @@ export class CliSessionSource {
|
|
|
147
237
|
}
|
|
148
238
|
if (sourceFilter !== null)
|
|
149
239
|
return out;
|
|
150
|
-
|
|
240
|
+
BACKGROUND_KINDS.forEach((kind, i) => {
|
|
151
241
|
try {
|
|
152
|
-
|
|
153
|
-
|
|
242
|
+
const rows = results[i + 1] ?? [];
|
|
243
|
+
if (rows instanceof Error)
|
|
244
|
+
throw rows;
|
|
154
245
|
if (rows.length > BACKGROUND_PROJECT_CHIP_LIMIT)
|
|
155
246
|
truncated.add(kind);
|
|
156
247
|
for (const row of rows.slice(0, BACKGROUND_PROJECT_CHIP_LIMIT)) {
|
|
@@ -164,7 +255,7 @@ export class CliSessionSource {
|
|
|
164
255
|
catch (error) {
|
|
165
256
|
this.deps.log(`[webui] ${kind} sidebar second pass failed: ${error.message}`);
|
|
166
257
|
}
|
|
167
|
-
}
|
|
258
|
+
});
|
|
168
259
|
return out;
|
|
169
260
|
}
|
|
170
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-sessions.js","sourceRoot":"","sources":["../../src/sessions/cli-sessions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-sessions.js","sourceRoot":"","sources":["../../src/sessions/cli-sessions.ts"],"names":[],"mappings":"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"}
|