@maudecode/talaria-web 1.15.0 → 1.17.2
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 +4 -4
- package/dist/api/automation-raw.js +6 -3
- package/dist/api/automation-raw.js.map +1 -1
- package/dist/api/automation-router.d.ts +158 -16
- package/dist/api/automation-router.js +12 -6
- package/dist/api/automation-router.js.map +1 -1
- package/dist/api/chat-router.d.ts +193 -6
- package/dist/api/chat-router.js +39 -16
- package/dist/api/chat-router.js.map +1 -1
- package/dist/api/git-router.d.ts +12 -1
- package/dist/api/git-router.js +60 -38
- package/dist/api/git-router.js.map +1 -1
- package/dist/api/raw-routes.d.ts +6 -0
- package/dist/api/raw-routes.js +35 -58
- package/dist/api/raw-routes.js.map +1 -1
- package/dist/api/router.d.ts +4 -2
- package/dist/api/router.js +8 -8
- package/dist/api/router.js.map +1 -1
- package/dist/api/sessions-router.d.ts +974 -42
- package/dist/api/sessions-router.js +87 -25
- package/dist/api/sessions-router.js.map +1 -1
- package/dist/api/settings-router.d.ts +254 -11
- package/dist/api/settings-router.js +68 -18
- package/dist/api/settings-router.js.map +1 -1
- package/dist/api/sse-routes.d.ts +11 -3
- package/dist/api/sse-routes.js +145 -65
- package/dist/api/sse-routes.js.map +1 -1
- package/dist/api/tools-raw.js +6 -2
- package/dist/api/tools-raw.js.map +1 -1
- package/dist/api/tools-router.d.ts +86 -9
- package/dist/api/tools-router.js +19 -15
- package/dist/api/tools-router.js.map +1 -1
- package/dist/app.d.ts +0 -8397
- package/dist/app.js +7 -2
- package/dist/app.js.map +1 -1
- package/dist/auth/gate.js +11 -4
- package/dist/auth/gate.js.map +1 -1
- package/dist/auth/oidc.d.ts +6 -2
- package/dist/auth/oidc.js +16 -11
- package/dist/auth/oidc.js.map +1 -1
- package/dist/auth/store.d.ts +14 -2
- package/dist/auth/store.js +26 -1
- package/dist/auth/store.js.map +1 -1
- package/dist/cli/dotenv.d.ts +1 -1
- package/dist/cli/dotenv.js +36 -3
- package/dist/cli/dotenv.js.map +1 -1
- package/dist/config/agent-config.d.ts +2 -0
- package/dist/config/agent-config.js +9 -0
- package/dist/config/agent-config.js.map +1 -1
- package/dist/http/addresses.d.ts +6 -0
- package/dist/http/addresses.js +26 -0
- package/dist/http/addresses.js.map +1 -1
- package/dist/http/context.d.ts +6 -3
- package/dist/http/context.js +10 -4
- package/dist/http/context.js.map +1 -1
- package/dist/links.d.ts +26 -0
- package/dist/links.js +60 -0
- package/dist/links.js.map +1 -0
- package/dist/onboarding.js +30 -7
- package/dist/onboarding.js.map +1 -1
- package/dist/profiles/profiles.js +1 -1
- package/dist/profiles/profiles.js.map +1 -1
- package/dist/providers/catalog.d.ts +167 -5
- package/dist/providers/catalog.js +662 -135
- package/dist/providers/catalog.js.map +1 -1
- package/dist/providers/tables.d.ts +3 -1
- package/dist/providers/tables.js +9 -4
- package/dist/providers/tables.js.map +1 -1
- package/dist/redact.d.ts +1 -0
- package/dist/redact.js +518 -15
- package/dist/redact.js.map +1 -1
- package/dist/runtime.js +79 -37
- package/dist/runtime.js.map +1 -1
- package/dist/sessions/anchor.d.ts +24 -3
- package/dist/sessions/anchor.js +94 -44
- package/dist/sessions/anchor.js.map +1 -1
- package/dist/sessions/background-tasks.d.ts +4 -1
- package/dist/sessions/background-tasks.js +7 -4
- 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/completions.d.ts +13 -1
- package/dist/sessions/completions.js +64 -12
- 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/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 -5
- package/dist/sessions/list.js +56 -26
- package/dist/sessions/list.js.map +1 -1
- package/dist/sessions/merge.d.ts +122 -9
- package/dist/sessions/merge.js +544 -33
- package/dist/sessions/merge.js.map +1 -1
- package/dist/sessions/pending.d.ts +5 -0
- package/dist/sessions/pending.js +30 -10
- package/dist/sessions/pending.js.map +1 -1
- package/dist/sessions/service.d.ts +100 -4
- package/dist/sessions/service.js +567 -102
- package/dist/sessions/service.js.map +1 -1
- package/dist/sessions/session.d.ts +16 -1
- package/dist/sessions/session.js +29 -2
- package/dist/sessions/session.js.map +1 -1
- package/dist/sessions/shares.js +11 -2
- package/dist/sessions/shares.js.map +1 -1
- package/dist/sessions/state-db.d.ts +26 -4
- package/dist/sessions/state-db.js +126 -8
- package/dist/sessions/state-db.js.map +1 -1
- package/dist/sessions/store.js +6 -1
- 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/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 +76 -1
- package/dist/sessions/tool-display.js.map +1 -1
- package/dist/sessions/turn.d.ts +49 -10
- package/dist/sessions/turn.js +459 -185
- package/dist/sessions/turn.js.map +1 -1
- package/dist/settings.d.ts +20 -2
- package/dist/settings.js +49 -2
- package/dist/settings.js.map +1 -1
- package/dist/sidecar/fake.d.ts +2 -2
- package/dist/sidecar/fake.js +7 -2
- package/dist/sidecar/fake.js.map +1 -1
- package/dist/spa.js +2 -1
- package/dist/spa.js.map +1 -1
- package/dist/test/harness.js +2 -0
- package/dist/test/harness.js.map +1 -1
- package/dist/tools/commands.d.ts +15 -0
- package/dist/tools/commands.js +52 -0
- package/dist/tools/commands.js.map +1 -0
- package/dist/tools/crons.d.ts +4 -1
- package/dist/tools/crons.js +58 -11
- package/dist/tools/crons.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 +2 -1
- package/dist/tools/mcp.js +16 -6
- package/dist/tools/mcp.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/update-notifications.d.ts +1 -1
- package/dist/tools/update-notifications.js +1 -1
- package/dist/tools/update-notifications.js.map +1 -1
- package/dist/tools/updates.d.ts +15 -3
- package/dist/tools/updates.js +207 -41
- package/dist/tools/updates.js.map +1 -1
- package/dist/workspace/fs.d.ts +7 -3
- package/dist/workspace/fs.js +5 -1
- package/dist/workspace/fs.js.map +1 -1
- package/dist/workspace/git.d.ts +57 -10
- package/dist/workspace/git.js +302 -195
- package/dist/workspace/git.js.map +1 -1
- package/dist/workspace/media-refs.d.ts +13 -0
- package/dist/workspace/media-refs.js +165 -0
- package/dist/workspace/media-refs.js.map +1 -0
- package/dist/workspace/media.d.ts +19 -0
- package/dist/workspace/media.js +63 -2
- 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 +5 -4
- package/dist/workspace/rollback.js +12 -9
- package/dist/workspace/rollback.js.map +1 -1
- package/dist/workspace/upload.d.ts +2 -0
- package/dist/workspace/upload.js +4 -1
- package/dist/workspace/upload.js.map +1 -1
- package/dist/workspace/workspaces.d.ts +7 -1
- package/dist/workspace/workspaces.js +30 -21
- package/dist/workspace/workspaces.js.map +1 -1
- package/dist/workspace/worktrees.d.ts +2 -4
- package/dist/workspace/worktrees.js +28 -33
- package/dist/workspace/worktrees.js.map +1 -1
- package/package.json +4 -2
- package/sidecar/scripts/replay_sidecar.py +4 -2
- package/sidecar/talaria_sidecar/__init__.py +1 -1
- package/sidecar/talaria_sidecar/__main__.py +7 -1
- package/sidecar/talaria_sidecar/home.py +98 -2
- package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
- package/sidecar/talaria_sidecar/methods/aux.py +19 -3
- package/sidecar/talaria_sidecar/methods/chat.py +551 -61
- package/sidecar/talaria_sidecar/methods/commands.py +61 -33
- package/sidecar/talaria_sidecar/methods/config.py +14 -10
- package/sidecar/talaria_sidecar/methods/cron.py +10 -6
- package/sidecar/talaria_sidecar/methods/kanban.py +115 -15
- package/sidecar/talaria_sidecar/methods/oauth.py +439 -0
- package/sidecar/talaria_sidecar/methods/process.py +60 -1
- package/sidecar/talaria_sidecar/methods/profiles.py +12 -5
- package/sidecar/talaria_sidecar/methods/providers.py +161 -1
- package/sidecar/talaria_sidecar/methods/runtime.py +5 -0
- package/sidecar/talaria_sidecar/methods/text.py +18 -21
- package/sidecar/talaria_sidecar/methods/usage.py +264 -5
- package/static/dist/FILES.txt +126 -121
- package/static/dist/assets/AppShell-fb2td9zi.js +1 -0
- package/static/dist/assets/ChatPage-cj96kiy9.js +25 -0
- package/static/dist/assets/Dialog-kxcg7ard.js +1 -0
- package/static/dist/assets/ExtensionRoute-jf7h0754.js +1 -0
- package/static/dist/assets/HubRoute-gmanpd5y.js +2 -0
- package/static/dist/assets/{Markdown-dy8t4dy7.js → Markdown-mdwlvj3w.js} +125 -125
- package/static/dist/assets/RightPanel-ftvrjlcp.js +1 -0
- package/static/dist/assets/Select-bilaypej.js +1 -0
- package/static/dist/assets/SessionListPanel-og8n36qs.js +1 -0
- package/static/dist/assets/SettingsLayout-jonjefmj.js +1 -0
- package/static/dist/assets/States-nmejrwrm.js +1 -0
- package/static/dist/assets/Toaster-nnl8zkt9.js +1 -0
- package/static/dist/assets/_app-gdidzd94.js +1 -0
- package/static/dist/assets/_app.ext._extensionId-opyh9y0v.js +1 -0
- package/static/dist/assets/_app.index-hbarzbjx.js +1 -0
- package/static/dist/assets/_app.insights-luywlarz.js +1 -0
- package/static/dist/assets/_app.kanban-kincnbr8.js +1 -0
- package/static/dist/assets/_app.logs-oi2gr3gs.js +1 -0
- package/static/dist/assets/_app.memory-b6jfivt6.js +1 -0
- package/static/dist/assets/_app.profiles-lpvixmqp.js +1 -0
- package/static/dist/assets/{_app.session._sessionId-gyoh5ylx.js → _app.session._sessionId-bfd4h3id.js} +1 -1
- package/static/dist/assets/_app.settings-vowx3iq0.js +1 -0
- package/static/dist/assets/_app.settings._section-cnntg1tu.js +3 -0
- package/static/dist/assets/_app.skills-fb57lpau.js +1 -0
- package/static/dist/assets/_app.tasks-eszpx1q7.js +2 -0
- package/static/dist/assets/_app.todos-nr05ac6w.js +1 -0
- package/static/dist/assets/_app.workspaces-d2luomu6.js +1 -0
- package/static/dist/assets/{abnfDiagram-VCTEODGH-cjqletra.js → abnfDiagram-VCTEODGH-b2x1lqot.js} +1 -1
- package/static/dist/assets/architecture-7GRP2DOG-hd0o7bde.js +1 -0
- package/static/dist/assets/architectureDiagram-5GKGNRK7-h38o5l7b.js +36 -0
- package/static/dist/assets/{back-e4m6nsnm.js → back-bemaer09.js} +1 -1
- package/static/dist/assets/{blockDiagram-I7D4REHJ-b195z021.js → blockDiagram-I7D4REHJ-bqquxv2u.js} +1 -1
- package/static/dist/assets/{c4Diagram-7LVT6UL2-olu212k1.js → c4Diagram-7LVT6UL2-f3fb8w6z.js} +1 -1
- package/static/dist/assets/cancel-drd0g6d9.js +1 -0
- package/static/dist/assets/channel-cpdgf867.js +1 -0
- package/static/dist/assets/{chunk-4HAMMTFA-b8o1nufs.js → chunk-4HAMMTFA-bzfyyzp3.js} +1 -1
- package/static/dist/assets/{chunk-75Z2AOVW-l1seddto.js → chunk-75Z2AOVW-ly99rfx5.js} +1 -1
- package/static/dist/assets/{chunk-DU6HZSFF-lo5zg15v.js → chunk-DU6HZSFF-bg6ecfqf.js} +3 -3
- package/static/dist/assets/{chunk-F27PBJKO-dsdzrp16.js → chunk-F27PBJKO-e8k7mmqw.js} +1 -1
- package/static/dist/assets/{chunk-GMAD6QVW-f3fxqq8b.js → chunk-GMAD6QVW-cmalnoaj.js} +1 -1
- package/static/dist/assets/{chunk-GVQU2GXP-h8egxtf6.js → chunk-GVQU2GXP-gmif5o01.js} +1 -1
- package/static/dist/assets/{chunk-IMKFNOWR-iolwd8s0.js → chunk-IMKFNOWR-f1nwwh6u.js} +1 -1
- package/static/dist/assets/{chunk-L3NEJ4N5-b88bbtwi.js → chunk-L3NEJ4N5-oktfh5v7.js} +1 -1
- package/static/dist/assets/{chunk-OSK3NFVY-e3e7nr6s.js → chunk-OSK3NFVY-b1sdx96z.js} +1 -1
- package/static/dist/assets/{chunk-P2QGCYS3-mdc46rt1.js → chunk-P2QGCYS3-fhu4nzxt.js} +1 -1
- package/static/dist/assets/{chunk-POPQ4Y6H-kqlllrrm.js → chunk-POPQ4Y6H-em31rnef.js} +1 -1
- package/static/dist/assets/{chunk-PWAF6VOD-he585k2x.js → chunk-PWAF6VOD-bxhhyftw.js} +1 -1
- package/static/dist/assets/{chunk-SHT3W25Y-gh94y9a4.js → chunk-SHT3W25Y-fmrvwcav.js} +3 -3
- package/static/dist/assets/{chunk-SVP7TREG-euxp9y7e.js → chunk-SVP7TREG-lymukl2j.js} +1 -1
- package/static/dist/assets/{chunk-TICWLB2K-c8cxes1q.js → chunk-TICWLB2K-lmza6k23.js} +1 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-ko09sguk.js +1 -0
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-ko09sguk.js +1 -0
- package/static/dist/assets/{copied-kq0u3ht7.js → copied-ima3pysb.js} +1 -1
- package/static/dist/assets/copy-fw5b1pc6.js +1 -0
- package/static/dist/assets/{cynefin-OW5HDTMX-lxd44ux4.js → cynefin-OW5HDTMX-czlhbyhs.js} +1 -1
- package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-njpiwat8.js → cynefinDiagram-5FMLGOSQ-gq7mvswb.js} +1 -1
- package/static/dist/assets/{dagre-GXQ25YYZ-nvgy6yju.js → dagre-GXQ25YYZ-cqdbf7dr.js} +4 -4
- package/static/dist/assets/{diagram-S7CK7UJ4-g98nyv72.js → diagram-S7CK7UJ4-o6arxa58.js} +3 -3
- package/static/dist/assets/{diagram-UQ7AKVKN-ovgm6lvv.js → diagram-UQ7AKVKN-nhnd68tz.js} +1 -1
- package/static/dist/assets/{diagram-VSXAHHWV-pb2bn2e4.js → diagram-VSXAHHWV-dk2sclzn.js} +1 -1
- package/static/dist/assets/{diagram-VX7I27RA-6j4mvfqo.js → diagram-VX7I27RA-n3k5nyx3.js} +1 -1
- package/static/dist/assets/{diagram-Z3DM3KII-dqmb982r.js → diagram-Z3DM3KII-m6q9cwdh.js} +1 -1
- package/static/dist/assets/{ebnfDiagram-PWID7BFC-ozbpzb6d.js → ebnfDiagram-PWID7BFC-lsa5641p.js} +1 -1
- package/static/dist/assets/endpoints-d33siokx.js +64 -0
- package/static/dist/assets/{erDiagram-RLTQ6QDP-hl7m8vua.js → erDiagram-RLTQ6QDP-fo2ckbe6.js} +1 -1
- package/static/dist/assets/eventmodeling-NTZA5JFV-emctlo64.js +1 -0
- package/static/dist/assets/flowDiagram-HODETNUW-bfi3moqa.js +1 -0
- package/static/dist/assets/{ganttDiagram-EL5Y4UJY-ompixqmh.js → ganttDiagram-EL5Y4UJY-nzqz6x9g.js} +1 -1
- package/static/dist/assets/{gitGraph-4MIJSDKK-b6vxwp9q.js → gitGraph-4MIJSDKK-gukvcxe6.js} +1 -1
- package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-k98f57on.js → gitGraphDiagram-WWUBYQGX-lqhdp8f0.js} +1 -1
- package/static/dist/assets/{highlighted-body-KPVGNVTW-cd3ff6ge.js → highlighted-body-KPVGNVTW-igw6cp39.js} +1 -1
- package/static/dist/assets/index-cxq58xb1.js +11 -0
- package/static/dist/assets/index-hgtx08n5.css +2 -0
- package/static/dist/assets/{info-A6RAGUB7-hjcwjami.js → info-A6RAGUB7-gvu7a93l.js} +1 -1
- package/static/dist/assets/infoDiagram-27XIBGKW-m8t8g6w1.js +2 -0
- package/static/dist/assets/{ishikawaDiagram-5VMMS53U-bxak4mwu.js → ishikawaDiagram-5VMMS53U-l07vkbgj.js} +1 -1
- package/static/dist/assets/{journeyDiagram-3NMN7TZE-khmihclr.js → journeyDiagram-3NMN7TZE-hybkgj8l.js} +1 -1
- package/static/dist/assets/{kanban-definition-UXKFOSKX-h1r32wdx.js → kanban-definition-UXKFOSKX-by13uvtn.js} +1 -1
- package/static/dist/assets/{lazyRouteComponent-b2eg0fws.js → lazyRouteComponent-af0lvgjx.js} +1 -1
- package/static/dist/assets/{line-friyjof3.js → line-osxq6fq7.js} +1 -1
- package/static/dist/assets/link-jyxicdhg.js +1 -0
- package/static/dist/assets/login-ec21t39x.js +1 -0
- package/static/dist/assets/mermaid-HWGCJPDP-gfl8z3ep.js +1 -0
- package/static/dist/assets/{mermaid-parser.core-f1gvpwrt.js → mermaid-parser.core-i91oxmou.js} +3 -3
- package/static/dist/assets/{mindmap-definition-YA3MSWOX-mt2oxwue.js → mindmap-definition-YA3MSWOX-m82mx8ww.js} +1 -1
- package/static/dist/assets/onboarding-btnltvyz.js +1 -0
- package/static/dist/assets/onboarding_model_label-dp7xffoh.js +1 -0
- package/static/dist/assets/{packet-AYTQ26CC-jik4ixlf.js → packet-AYTQ26CC-nbtgge2o.js} +1 -1
- package/static/dist/assets/{pegDiagram-XKGWAZYB-erxlv6cc.js → pegDiagram-XKGWAZYB-f1zxzga1.js} +1 -1
- package/static/dist/assets/{pie-WAS4IAKB-mnkoldfl.js → pie-WAS4IAKB-of8vuhxs.js} +1 -1
- package/static/dist/assets/{pieDiagram-E7YTZNPT-i7lwrada.js → pieDiagram-E7YTZNPT-o7y8ftio.js} +3 -3
- package/static/dist/assets/{quadrantDiagram-AXDQQJYC-fr8ejdoy.js → quadrantDiagram-AXDQQJYC-iqiwia1t.js} +1 -1
- package/static/dist/assets/{radar-RG4KPBEZ-otarjte2.js → radar-RG4KPBEZ-delnsy2v.js} +1 -1
- package/static/dist/assets/{railroad-74A4TZTK-lw362oto.js → railroad-74A4TZTK-nspnyq9u.js} +1 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-nst1qxyn.js +1 -0
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-ci37x8qy.js +1 -0
- package/static/dist/assets/railroad-peg-WCYAUIDC-aimkk07z.js +1 -0
- package/static/dist/assets/{railroadDiagram-O6MQD6OU-esyn75pw.js → railroadDiagram-O6MQD6OU-z41tqx5z.js} +1 -1
- package/static/dist/assets/refresh-b4uams1i.js +1 -0
- package/static/dist/assets/refresh-cw-nt1dtsx4.js +1 -0
- package/static/dist/assets/{requirementDiagram-BXWQKSXE-cyhi5u29.js → requirementDiagram-BXWQKSXE-bdvif194.js} +1 -1
- package/static/dist/assets/{sankeyDiagram-P5KCCOFB-jljpbo0h.js → sankeyDiagram-P5KCCOFB-h73e0rol.js} +1 -1
- package/static/dist/assets/{saved-do49si3v.js → saved-kg52csy7.js} +1 -1
- package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-fz0dhlu7.js → sequenceDiagram-WJ2MYXX4-iv95mb1z.js} +1 -1
- package/static/dist/assets/{settings_section_extensions_title-b7lojn0o.js → settings_section_extensions_title-ej0iapxe.js} +1 -1
- package/static/dist/assets/share._token-f97e94r0.js +2 -0
- package/static/dist/assets/sliders-horizontal-fj18it47.js +1 -0
- package/static/dist/assets/sse-fwpqtzbg.js +1 -0
- package/static/dist/assets/{stateDiagram-D77RDMKH-kdnithdx.js → stateDiagram-D77RDMKH-k417ixmf.js} +1 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hwn4apct.js +1 -0
- package/static/dist/assets/{swimlanes-42K2YHIH-esd6gmz3.js → swimlanes-42K2YHIH-esola70w.js} +1 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d1h97oyg.js +8 -0
- package/static/dist/assets/{timeline-definition-24CTP7MA-g0qygccv.js → timeline-definition-24CTP7MA-getrz2y8.js} +1 -1
- package/static/dist/assets/todoStore-eginf9h4.js +1 -0
- package/static/dist/assets/{treeView-Q6P3EWNA-ndchzkuu.js → treeView-Q6P3EWNA-hc7ap1q7.js} +1 -1
- package/static/dist/assets/{treemap-WGGIJYW6-hwjxj0zz.js → treemap-WGGIJYW6-b7k1syy5.js} +1 -1
- package/static/dist/assets/tts-lxdxnmjd.js +1 -0
- package/static/dist/assets/{untitled-mbr6tuhu.js → untitled-ovpfthg4.js} +1 -1
- package/static/dist/assets/useForm-bcblv1rx.js +1 -0
- package/static/dist/assets/useLocale-fi5jb8ma.js +1 -0
- package/static/dist/assets/{useParams-lo9u33d1.js → useParams-lhg566ew.js} +1 -1
- package/static/dist/assets/{useSearch-lq1mr090.js → useSearch-lbrh6ejn.js} +1 -1
- package/static/dist/assets/{vennDiagram-4TSXK5OY-gubovd1r.js → vennDiagram-4TSXK5OY-n6pcy5qb.js} +1 -1
- package/static/dist/assets/{wardley-WFR3VGLG-ir3om65j.js → wardley-WFR3VGLG-lpa18vz1.js} +1 -1
- package/static/dist/assets/{wardleyDiagram-VM6X3IG4-ce0or1ie.js → wardleyDiagram-VM6X3IG4-kpclwwg7.js} +2 -2
- package/static/dist/assets/{xychartDiagram-S5SC5T6Z-dexylcjg.js → xychartDiagram-S5SC5T6Z-paa2n8y0.js} +1 -1
- package/static/dist/index.html +1 -1
- package/static/dist/sw.js +2 -2
- package/static/dist/assets/AppShell-orat1s43.js +0 -1
- package/static/dist/assets/ChatPage-ojhka3hy.js +0 -22
- package/static/dist/assets/HubRoute-gxgw1t33.js +0 -2
- package/static/dist/assets/RightPanel-c66ani1s.js +0 -1
- package/static/dist/assets/Select-fswf66up.js +0 -1
- package/static/dist/assets/SessionListPanel-goh5mtt8.js +0 -1
- package/static/dist/assets/SettingsLayout-n5d4wq4m.js +0 -1
- package/static/dist/assets/States-kxyu50at.js +0 -1
- package/static/dist/assets/Toaster-6zmbcqgg.js +0 -1
- package/static/dist/assets/_app-fowyruiu.js +0 -1
- package/static/dist/assets/_app.ext._extensionId-nvjyrwhy.js +0 -1
- package/static/dist/assets/_app.index-c9zv4y7w.js +0 -1
- package/static/dist/assets/_app.insights-jf12nofo.js +0 -1
- package/static/dist/assets/_app.kanban-lri5a4yu.js +0 -1
- package/static/dist/assets/_app.logs-md1p0zqo.js +0 -1
- package/static/dist/assets/_app.memory-bzvf2e28.js +0 -1
- package/static/dist/assets/_app.profiles-jpg7zmbn.js +0 -1
- package/static/dist/assets/_app.settings-mpuwlx4j.js +0 -1
- package/static/dist/assets/_app.settings._section-knz8rwoj.js +0 -1
- package/static/dist/assets/_app.skills-fwu1dkir.js +0 -1
- package/static/dist/assets/_app.tasks-h9gphtl3.js +0 -2
- package/static/dist/assets/_app.todos-hd1dnvrh.js +0 -1
- package/static/dist/assets/_app.workspaces-l8toyn5f.js +0 -1
- package/static/dist/assets/architecture-7GRP2DOG-cavnusaw.js +0 -1
- package/static/dist/assets/architectureDiagram-5GKGNRK7-k5a7v36n.js +0 -36
- package/static/dist/assets/channel-gozy3dp3.js +0 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-n0vs2f2q.js +0 -1
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-n0vs2f2q.js +0 -1
- package/static/dist/assets/endpoints-k8agnro8.js +0 -9
- package/static/dist/assets/eventmodeling-NTZA5JFV-j1y2ekec.js +0 -1
- package/static/dist/assets/flowDiagram-HODETNUW-g2cvcbm5.js +0 -1
- package/static/dist/assets/index-nfy0ezs6.css +0 -2
- package/static/dist/assets/index-nqed3oum.js +0 -11
- package/static/dist/assets/infoDiagram-27XIBGKW-fm06rj36.js +0 -2
- package/static/dist/assets/link-m90ahx3n.js +0 -1
- package/static/dist/assets/login-bw7m2fzo.js +0 -1
- package/static/dist/assets/matchContext-f8oy3lo7.js +0 -1
- package/static/dist/assets/mermaid-HWGCJPDP-njwcl62n.js +0 -1
- package/static/dist/assets/onboarding-ret37j1e.js +0 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-m741owar.js +0 -1
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-noa4fbia.js +0 -1
- package/static/dist/assets/railroad-peg-WCYAUIDC-o4bpw4nb.js +0 -1
- package/static/dist/assets/refresh-cw-k66keho6.js +0 -1
- package/static/dist/assets/search-j5ki6a9o.js +0 -1
- package/static/dist/assets/share._token-kg8w647b.js +0 -2
- package/static/dist/assets/sliders-horizontal-c4wya4dy.js +0 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-k2wg2645.js +0 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-n5kvjtgr.js +0 -8
- package/static/dist/assets/tabBuild-bjmyvmn5.js +0 -56
- package/static/dist/assets/todoStore-kjk5l0sy.js +0 -1
- package/static/dist/assets/useForm-ocxu460f.js +0 -1
- package/static/dist/assets/useLocale-fzy5jhg6.js +0 -1
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { SidecarLike } from '../sidecar/client.js';
|
|
2
|
+
import type { SidecarResult } from '@maudecode/talaria-web-contracts';
|
|
3
|
+
import { type QuotaThresholds } from '../settings.js';
|
|
2
4
|
import { type AgentConfig, type Config, type Dict } from '../config/agent-config.js';
|
|
3
5
|
export interface ModelEntry {
|
|
4
6
|
id: string;
|
|
5
7
|
label: string;
|
|
6
8
|
supports_fast_tier?: boolean;
|
|
9
|
+
provider_id?: string;
|
|
10
|
+
bare_id?: string;
|
|
7
11
|
}
|
|
8
12
|
export interface ModelGroup {
|
|
9
13
|
provider: string;
|
|
@@ -11,11 +15,24 @@ export interface ModelGroup {
|
|
|
11
15
|
models: ModelEntry[];
|
|
12
16
|
extra_models?: ModelEntry[];
|
|
13
17
|
}
|
|
18
|
+
/** TAL-301: the catalog entry a stored `(model, provider)` pair selects, so clients render the pairing instead of computing it. */
|
|
19
|
+
export declare function catalogOptionId(catalog: ModelsCatalog, model: string | null, provider: string | null): string | null;
|
|
20
|
+
/**
|
|
21
|
+
* TAL-542 (Python `_resolve_compatible_session_model_state` + `_repair_foreign_session_model_provider`): the pair a
|
|
22
|
+
* session's stale model starts on. A model its provider's catalog group does not list moves to the one other provider
|
|
23
|
+
* that lists it; else, when the model names another vendor than a first-party provider, to the profile default. No
|
|
24
|
+
* evidence (no group for the provider, a group built from a failed live lookup in `unlisted`, which never names an owner either) keeps the pair, and so does a stored
|
|
25
|
+
* provider that is the profile's own unless the model names another vendor. `null` keeps the pair.
|
|
26
|
+
*/
|
|
27
|
+
export declare function repairSessionModel(catalog: ModelsCatalog, model: string, provider: string | null, unlisted?: ReadonlySet<string>): [string, string] | null;
|
|
14
28
|
/** Python `_split_picker_overflow_models`: past 25 rows the picker shows 15, keeping the selected model visible. */
|
|
15
29
|
export declare function splitPickerOverflow(models: ModelEntry[], selected: string, providerId: string): [ModelEntry[], ModelEntry[]];
|
|
16
30
|
export interface ModelsCatalog {
|
|
17
31
|
active_provider: string | null;
|
|
18
32
|
default_model: string;
|
|
33
|
+
default_provider_id?: string | null;
|
|
34
|
+
default_bare_id?: string;
|
|
35
|
+
default_option_id?: string | null;
|
|
19
36
|
groups: ModelGroup[];
|
|
20
37
|
aliases: Record<string, string>;
|
|
21
38
|
configured_model_badges: Record<string, {
|
|
@@ -43,12 +60,80 @@ export interface CatalogDeps {
|
|
|
43
60
|
log: (line: string) => void;
|
|
44
61
|
/** Settings `provider_cost_budget` (monthly). */
|
|
45
62
|
costBudget: () => number | null;
|
|
46
|
-
fetch?: typeof fetch;
|
|
47
63
|
/** Whether `profileHome` is the default profile's home (`$HERMES_HOME`). */
|
|
48
64
|
isRootProfileHome: (profileHome: string) => boolean;
|
|
49
65
|
/** WebUI state directory; holds `.quota_scope_id`, the stable public identity namespace for quota sources. */
|
|
50
66
|
stateDir?: string;
|
|
67
|
+
/** Settings `provider_quota_thresholds` for a profile; defaults when absent. */
|
|
68
|
+
quotaThresholds?: (profile: string) => QuotaThresholds;
|
|
69
|
+
}
|
|
70
|
+
/** ISO-8601 UTC for epoch seconds, without a `.000` fraction. */
|
|
71
|
+
export declare const isoAt: (seconds: number) => string;
|
|
72
|
+
/** ISO-8601 UTC (`…Z`) or null. Accepts the pre-TAL-409 sidecar's `str(datetime)` space form; a zone-less stamp is UTC. */
|
|
73
|
+
export declare function isoUtc(value: unknown): string | null;
|
|
74
|
+
export interface QuotaPace {
|
|
75
|
+
expected_remaining_percent: number;
|
|
76
|
+
pace_delta_percent: number;
|
|
77
|
+
burn_rate: number;
|
|
78
|
+
minutes_to_reset: number;
|
|
79
|
+
projected_minutes_to_empty: number | null;
|
|
80
|
+
elapsed_minutes: number;
|
|
81
|
+
valid_until: string;
|
|
82
|
+
}
|
|
83
|
+
export interface QuotaForecast {
|
|
84
|
+
outcome: 'safe' | 'warning';
|
|
85
|
+
budget_unit: 'hour' | 'day';
|
|
86
|
+
budget_percent: number | null;
|
|
87
|
+
depletion_margin_minutes: number | null;
|
|
88
|
+
}
|
|
89
|
+
export interface QuotaWindow {
|
|
90
|
+
label: string;
|
|
91
|
+
used_percent: number | null;
|
|
92
|
+
remaining_percent: number | null;
|
|
93
|
+
reset_at: string | null;
|
|
94
|
+
detail: string | null;
|
|
95
|
+
window_seconds: number | null;
|
|
96
|
+
pace: QuotaPace | null;
|
|
97
|
+
forecast: QuotaForecast | null;
|
|
98
|
+
}
|
|
99
|
+
export interface QuotaWindows {
|
|
100
|
+
windows: QuotaWindow[];
|
|
101
|
+
pace_window_index: number | null;
|
|
102
|
+
session_window_index: number | null;
|
|
103
|
+
weekly_window_index: number | null;
|
|
104
|
+
}
|
|
105
|
+
/** The forecast a pace implies: per-hour or per-day budget until reset, and whether the projection empties the window first. */
|
|
106
|
+
export declare function quotaForecast(pace: QuotaPace, remaining: number | null): QuotaForecast;
|
|
107
|
+
/**
|
|
108
|
+
* TAL-409: the one normaliser for account-usage windows (Python `_snapshot_windows_payload` plus the pace math the
|
|
109
|
+
* App used to run). Blank labels drop; `reset_at` becomes ISO `Z`; each window gets its duration, pace and forecast
|
|
110
|
+
* as of `nowSeconds`; the indexes name the windows the App shows for pace, session and weekly selections.
|
|
111
|
+
*/
|
|
112
|
+
export declare function normalizeQuotaWindows(raw: unknown, nowSeconds: number): QuotaWindows;
|
|
113
|
+
export type QuotaLevel = 'healthy' | 'warning' | 'critical' | 'stale' | 'unavailable';
|
|
114
|
+
export interface QuotaUrgency {
|
|
115
|
+
remaining: QuotaLevel;
|
|
116
|
+
pace: QuotaLevel;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* TAL-411: each window's `projection_eligible`, `urgency` per colour basis, and `pace.status` (over/on/under the
|
|
120
|
+
* tolerance), and the source's `urgency` on the windows a widget shows by default (the first; the pace window for pace).
|
|
121
|
+
*/
|
|
122
|
+
export interface ClassifiedQuotaWindow extends Omit<QuotaWindow, 'pace'> {
|
|
123
|
+
pace: (QuotaPace & {
|
|
124
|
+
status: 'over' | 'on' | 'under';
|
|
125
|
+
}) | null;
|
|
126
|
+
projection_eligible: boolean;
|
|
127
|
+
urgency: QuotaUrgency;
|
|
51
128
|
}
|
|
129
|
+
export declare function classifyQuotaSource<T extends {
|
|
130
|
+
status: string;
|
|
131
|
+
windows: QuotaWindow[];
|
|
132
|
+
pace_window_index: number | null;
|
|
133
|
+
}>(source: T, t: QuotaThresholds): Omit<T, 'windows'> & {
|
|
134
|
+
windows: ClassifiedQuotaWindow[];
|
|
135
|
+
urgency: QuotaUrgency;
|
|
136
|
+
};
|
|
52
137
|
export declare function displayName(pid: string): string;
|
|
53
138
|
/** Python `_format_ollama_label`. */
|
|
54
139
|
export declare function formatOllamaLabel(mid: string): string;
|
|
@@ -59,12 +144,27 @@ export declare function providerEnvVar(pid: string): string | null;
|
|
|
59
144
|
export declare function applyProviderPrefix(models: ModelEntry[], pid: string, active: string | null): ModelEntry[];
|
|
60
145
|
/** Python `_deduplicate_model_ids`: later duplicate ids (by provider-id order) gain an `@provider:` prefix. */
|
|
61
146
|
export declare function deduplicateModelIds(groups: ModelGroup[]): void;
|
|
147
|
+
/** TAL-548: one credential-pool account's local state, as the sidecar reads it without probing. */
|
|
148
|
+
type PoolEntry = SidecarResult<'usage.pool'>['entries'][number];
|
|
149
|
+
/** Quota sources keep the first row per source id, ordered by provider id, account label, then source id (TAL-272). */
|
|
150
|
+
export declare function uniqueQuotaSources<T extends {
|
|
151
|
+
source_id: string;
|
|
152
|
+
provider_id: string;
|
|
153
|
+
account_label: string;
|
|
154
|
+
}>(sources: T[]): T[];
|
|
62
155
|
export declare class ProviderCatalog {
|
|
63
156
|
private readonly deps;
|
|
157
|
+
/** Failed live lookups by home, provider, and the `sourceFingerprint` they ran under (TAL-542). */
|
|
64
158
|
private readonly liveFailed;
|
|
159
|
+
/** `source`: the `sourceFingerprint` the ids were fetched under; another one makes them stale (TAL-542). */
|
|
65
160
|
private readonly liveIds;
|
|
66
161
|
private readonly liveInflight;
|
|
162
|
+
/** `pooled`: the fill's `poolProviders` answer, null when unknown (TAL-638). */
|
|
67
163
|
private readonly providersCache;
|
|
164
|
+
/** TAL-301: the last catalog served per profile home, for the sync session payloads' `model_option_id`. */
|
|
165
|
+
private readonly lastModels;
|
|
166
|
+
/** TAL-542: per `lastModels` catalog, the `sourceFingerprint` it was built from, when, and the providers whose group came from a failed live lookup. */
|
|
167
|
+
private readonly lastModelsMeta;
|
|
68
168
|
constructor(deps: CatalogDeps);
|
|
69
169
|
/** Python `models_cache` diagnostics: live-id groups held, ids across them, and the oldest snapshot's age. */
|
|
70
170
|
diagnosticSnapshot(): {
|
|
@@ -73,26 +173,59 @@ export declare class ProviderCatalog {
|
|
|
73
173
|
age_seconds: number | null;
|
|
74
174
|
};
|
|
75
175
|
invalidate(profileHome?: string, provider?: string): void;
|
|
176
|
+
/** TAL-301: the entry id a stored `(model, provider)` pair selects in the last catalog built for this home; a cold home starts building one. */
|
|
177
|
+
modelOptionFor(profileHome: string, model: string | null, provider: string | null): string | null;
|
|
178
|
+
/**
|
|
179
|
+
* TAL-542: the identity of the files a catalog and its live ids derive from: config.yaml, `.env`, the Agent's sign-in
|
|
180
|
+
* store (`auth.json`, rewritten by an account switch), and the installed plugins directory, so a change outside Web
|
|
181
|
+
* makes both stale.
|
|
182
|
+
*/
|
|
183
|
+
private sourceFingerprint;
|
|
184
|
+
/** The last catalog built for this home, younger than `maxAgeS`, while its source files are unchanged since (TAL-542). */
|
|
185
|
+
private currentModels;
|
|
186
|
+
/**
|
|
187
|
+
* TAL-542: `repairSessionModel` against this home's catalog. Agent-owned sign-in and plugin state has no file to
|
|
188
|
+
* fingerprint, so the repair also needs a catalog no older than the providers listing it read (`PROVIDERS_TTL_S`);
|
|
189
|
+
* a cold or stale one keeps the pair and starts a rebuild.
|
|
190
|
+
*/
|
|
191
|
+
sessionModelRepair(profileHome: string, model: string, provider: string | null): [string, string] | null;
|
|
192
|
+
/**
|
|
193
|
+
* Builds the catalog `sessionModelRepair` reads unless a fresh enough one exists; call it after the request's last
|
|
194
|
+
* await. A source that changed while the build awaited makes that build stale, so it is rebuilt once.
|
|
195
|
+
*/
|
|
196
|
+
warmSessionModelRepair(profileHome: string): Promise<void>;
|
|
197
|
+
/** Builds the catalog `modelOptionFor` reads once per home, again after config.yaml or `.env` changes; an unavailable catalog leaves every option id null. */
|
|
198
|
+
warmModelOptions(profileHome: string): Promise<void>;
|
|
76
199
|
/**
|
|
77
200
|
* The process-environment value of `name` as a named profile may see it: values `loadStartupEnv` copied from the
|
|
78
201
|
* default profile's `.env` belong to that profile only, so they never count for another profile.
|
|
79
202
|
*/
|
|
80
203
|
private processEnv;
|
|
81
|
-
/** Python `_provider_has_key` minus the credential pool
|
|
204
|
+
/** Python `_provider_has_key` minus the credential pool, which `probeKey` reads from the sidecar. */
|
|
82
205
|
providerHasKey(pid: string, config: Config, envValues: Record<string, string>, profileHome: string): boolean;
|
|
83
206
|
private authStatus;
|
|
207
|
+
/** `pooled`: the providers whose persisted credential pool holds an added account (TAL-638). */
|
|
84
208
|
private probeKey;
|
|
85
209
|
/** Live model ids from the Agent for one provider, cached per profile home. */
|
|
86
210
|
liveModelIds(profileHome: string, pid: string, opts?: {
|
|
87
211
|
force?: boolean;
|
|
88
212
|
}): Promise<string[]>;
|
|
213
|
+
/**
|
|
214
|
+
* TAL-288: the model-provider plugins installed and enabled in this profile, as the sidecar reads them from the Agent.
|
|
215
|
+
* A failed lookup lists none, so every other provider stays usable; an id that cannot be a provider routing hint is dropped.
|
|
216
|
+
*/
|
|
217
|
+
private pluginProviders;
|
|
89
218
|
/** Python `get_providers`. */
|
|
90
219
|
providers(profileHome: string): Promise<{
|
|
91
220
|
providers: Dict[];
|
|
92
221
|
active_provider: string | null;
|
|
93
222
|
}>;
|
|
223
|
+
/** The cached `providers` answer, shared with `quotas`; callers never mutate it. */
|
|
224
|
+
private providerRows;
|
|
94
225
|
/** Python `get_available_models` (static catalog + live ids for keyed providers). */
|
|
95
226
|
models(profileHome: string): Promise<ModelsCatalog>;
|
|
227
|
+
/** Stamps the default's entry id and keeps the catalog for `modelOptionFor`. */
|
|
228
|
+
private remember;
|
|
96
229
|
/** Python `_configured_model_badges_from_static_catalog`: which picker rows are the main/fallback selections. */
|
|
97
230
|
private badges;
|
|
98
231
|
/** Python `_handle_live_models`. */
|
|
@@ -107,23 +240,52 @@ export declare class ProviderCatalog {
|
|
|
107
240
|
config_context_length?: number | null;
|
|
108
241
|
}>;
|
|
109
242
|
private apiKeyFor;
|
|
110
|
-
/**
|
|
243
|
+
/** Account-usage snapshots by profile home, provider, and pool account. */
|
|
111
244
|
private readonly accountUsageCache;
|
|
245
|
+
/**
|
|
246
|
+
* Python `get_provider_quota`. `credential` scopes the read to one credential-pool account (TAL-548): a benched account
|
|
247
|
+
* answers with its local pool state, and every other read uses that account's key.
|
|
248
|
+
*/
|
|
112
249
|
quota(profileHome: string, providerRaw: string | null, opts?: {
|
|
113
250
|
refresh?: boolean;
|
|
251
|
+
at?: number;
|
|
252
|
+
credential?: PoolEntry | null;
|
|
114
253
|
}): Promise<Dict>;
|
|
115
|
-
|
|
254
|
+
/**
|
|
255
|
+
* TAL-548: the provider's credential-pool accounts as the sidecar reads them locally. Each says whether it holds
|
|
256
|
+
* `apiKey`, the provider's configured key. Null when the pool is unknown (see `poolLookup`).
|
|
257
|
+
*/
|
|
258
|
+
private poolEntries;
|
|
259
|
+
/** The last answer of each credential-pool lookup, by profile home and lookup. */
|
|
260
|
+
private readonly lastPoolAnswers;
|
|
261
|
+
/**
|
|
262
|
+
* TAL-548: one credential-pool lookup through the sidecar. A failed lookup answers with the last answer to the same
|
|
263
|
+
* lookup, else null: an unknown pool, never an empty one, so no pool account is ever reported as removed.
|
|
264
|
+
*/
|
|
265
|
+
private poolLookup;
|
|
266
|
+
/** TAL-548: the providers whose persisted credential pool holds an added account; none when the sidecar cannot say. */
|
|
267
|
+
private poolProviders;
|
|
268
|
+
/** TAL-548: one key-based balance read through the sidecar, which resolves a pool account's key itself; null when it fails. */
|
|
269
|
+
private balance;
|
|
116
270
|
private quotaScopeCache;
|
|
117
271
|
/** Python `_quota_server_scope_id`: a 32-hex id persisted at `<state>/.quota_scope_id` (created atomically once). */
|
|
118
272
|
private quotaServerScopeId;
|
|
119
273
|
/** Python `_quota_profile_scope_id`. */
|
|
120
274
|
quotaProfileScopeId(profile: string): string;
|
|
121
|
-
/**
|
|
275
|
+
/**
|
|
276
|
+
* Python `get_provider_quotas`: the stable-identity envelope the iOS widget persists. A keyed provider is one source per
|
|
277
|
+
* credential-pool account, else one for its own key (Python `_quota_source_descriptors`, TAL-548). Each source id appears
|
|
278
|
+
* once (two custom providers can share a slug), ordered by provider, account label, then source id.
|
|
279
|
+
*/
|
|
122
280
|
quotas(profileHome: string, profile: string, opts?: {
|
|
123
281
|
sourceId?: string | null;
|
|
124
282
|
refresh?: boolean;
|
|
125
283
|
}): Promise<Dict>;
|
|
126
284
|
/** Python `get_provider_cost_history` (OpenRouter only; daily snapshots under `<home>/cost-snapshots`). */
|
|
127
285
|
costHistory(profileHome: string, providerRaw: string | null, days: number): Promise<Dict>;
|
|
286
|
+
private readCostSnapshots;
|
|
287
|
+
/** Writes or updates the UTC day's OpenRouter usage snapshot; every successful key read (quota or cost history) records one. */
|
|
288
|
+
private recordCostSnapshot;
|
|
128
289
|
}
|
|
129
290
|
export declare const envFileExists: (profileHome: string) => boolean;
|
|
291
|
+
export {};
|