@maudecode/talaria-web 1.11.0 → 1.13.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/LICENSE +22 -0
- package/_release.json +4 -4
- package/dist/api/chat-router.d.ts +68 -4
- package/dist/api/chat-router.js +11 -8
- package/dist/api/chat-router.js.map +1 -1
- package/dist/api/router.d.ts +10 -0
- package/dist/api/router.js +2 -1
- package/dist/api/router.js.map +1 -1
- package/dist/api/sessions-router.d.ts +407 -51
- package/dist/api/sessions-router.js +2 -2
- package/dist/api/sessions-router.js.map +1 -1
- package/dist/api/sse-routes.js +52 -8
- package/dist/api/sse-routes.js.map +1 -1
- package/dist/api/tools-router.d.ts +443 -0
- package/dist/api/tools-router.js +99 -4
- package/dist/api/tools-router.js.map +1 -1
- package/dist/app.d.ts +926 -55
- package/dist/auth/oidc.js +2 -0
- package/dist/auth/oidc.js.map +1 -1
- package/dist/auth/passkeys.js +1 -1
- package/dist/auth/passkeys.js.map +1 -1
- package/dist/auth/store.d.ts +17 -0
- package/dist/auth/store.js +77 -19
- package/dist/auth/store.js.map +1 -1
- package/dist/cli/ctl.d.ts +6 -3
- package/dist/cli/ctl.js +25 -16
- package/dist/cli/ctl.js.map +1 -1
- package/dist/cli/launcher.js +2 -2
- package/dist/cli/launcher.js.map +1 -1
- package/dist/fs/atomic.d.ts +8 -1
- package/dist/fs/atomic.js +52 -3
- package/dist/fs/atomic.js.map +1 -1
- package/dist/http/context.d.ts +2 -0
- package/dist/http/context.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/redact.d.ts +15 -0
- package/dist/redact.js +1393 -9
- package/dist/redact.js.map +1 -1
- package/dist/release.js +3 -1
- package/dist/release.js.map +1 -1
- package/dist/runtime.js +20 -9
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +12 -6
- package/dist/server.js.map +1 -1
- package/dist/sessions/anchor.d.ts +2 -0
- package/dist/sessions/anchor.js +22 -17
- package/dist/sessions/anchor.js.map +1 -1
- package/dist/sessions/export.js +1 -1
- package/dist/sessions/export.js.map +1 -1
- package/dist/sessions/file-changes.d.ts +15 -0
- package/dist/sessions/file-changes.js +58 -0
- package/dist/sessions/file-changes.js.map +1 -0
- package/dist/sessions/journal.d.ts +6 -1
- package/dist/sessions/journal.js +9 -15
- package/dist/sessions/journal.js.map +1 -1
- package/dist/sessions/list.d.ts +21 -1
- package/dist/sessions/list.js +81 -17
- package/dist/sessions/list.js.map +1 -1
- package/dist/sessions/merge.d.ts +66 -2
- package/dist/sessions/merge.js +291 -9
- package/dist/sessions/merge.js.map +1 -1
- package/dist/sessions/pending.d.ts +11 -2
- package/dist/sessions/pending.js +52 -3
- package/dist/sessions/pending.js.map +1 -1
- package/dist/sessions/relay.js +1 -1
- package/dist/sessions/relay.js.map +1 -1
- package/dist/sessions/service.d.ts +16 -3
- package/dist/sessions/service.js +92 -54
- package/dist/sessions/service.js.map +1 -1
- package/dist/sessions/state-db.d.ts +5 -0
- package/dist/sessions/state-db.js +34 -0
- package/dist/sessions/state-db.js.map +1 -1
- package/dist/sessions/streams.d.ts +4 -1
- package/dist/sessions/streams.js +3 -0
- package/dist/sessions/streams.js.map +1 -1
- package/dist/sessions/tool-display.d.ts +21 -0
- package/dist/sessions/tool-display.js +113 -0
- package/dist/sessions/tool-display.js.map +1 -0
- package/dist/sessions/turn.d.ts +25 -7
- package/dist/sessions/turn.js +153 -90
- package/dist/sessions/turn.js.map +1 -1
- package/dist/spa.d.ts +2 -0
- package/dist/spa.js +9 -0
- package/dist/spa.js.map +1 -1
- package/dist/test/harness.d.ts +2 -0
- package/dist/test/harness.js +1 -1
- package/dist/test/harness.js.map +1 -1
- package/dist/tools/terminal.d.ts +6 -0
- package/dist/tools/terminal.js +24 -3
- package/dist/tools/terminal.js.map +1 -1
- package/dist/tools/update-notifications.d.ts +133 -0
- package/dist/tools/update-notifications.js +407 -0
- package/dist/tools/update-notifications.js.map +1 -0
- package/dist/tools/updates.d.ts +53 -16
- package/dist/tools/updates.js +314 -351
- package/dist/tools/updates.js.map +1 -1
- package/package.json +3 -2
- package/sidecar/scripts/replay_sidecar.py +17 -0
- package/sidecar/talaria_sidecar/__init__.py +1 -1
- package/sidecar/talaria_sidecar/home.py +39 -16
- package/sidecar/talaria_sidecar/methods/chat.py +113 -4
- package/static/dist/FILES.txt +116 -116
- package/static/dist/THIRD_PARTY_LICENSES.md +5170 -0
- package/static/dist/assets/AppShell-irdqom6e.js +1 -0
- package/static/dist/assets/ChatPage-ldhqevjn.js +20 -0
- package/static/dist/assets/HubRoute-hq24vhj8.js +2 -0
- package/static/dist/assets/{Markdown-ftyfzds0.js → Markdown-bx4n7qs4.js} +7 -7
- package/static/dist/assets/{RightPanel-febk3dkd.js → RightPanel-ds4majj3.js} +1 -1
- package/static/dist/assets/Select-gpqmt6x1.js +1 -0
- package/static/dist/assets/SessionListPanel-hkvipik4.js +1 -0
- package/static/dist/assets/{SettingsLayout-pdpmhy1o.js → SettingsLayout-oigbg9rl.js} +1 -1
- package/static/dist/assets/States-fn4o2wdf.js +1 -0
- package/static/dist/assets/Toaster-cwnut53k.js +1 -0
- package/static/dist/assets/_app-h6ago6y6.js +1 -0
- package/static/dist/assets/_app.ext._extensionId-erqnfff5.js +1 -0
- package/static/dist/assets/_app.index-cq2fxmda.js +1 -0
- package/static/dist/assets/_app.insights-nzhld9gu.js +1 -0
- package/static/dist/assets/_app.kanban-m5uggety.js +1 -0
- package/static/dist/assets/_app.logs-d2kk9lza.js +1 -0
- package/static/dist/assets/_app.memory-gcmop1e7.js +1 -0
- package/static/dist/assets/_app.profiles-e9b2my7x.js +1 -0
- package/static/dist/assets/{_app.session._sessionId-n1ggcf5e.js → _app.session._sessionId-ciix6itb.js} +1 -1
- package/static/dist/assets/_app.settings-kcjum3c1.js +1 -0
- package/static/dist/assets/_app.settings._section-bi4jjex0.js +1 -0
- package/static/dist/assets/_app.skills-e4e61l23.js +1 -0
- package/static/dist/assets/_app.tasks-f1evdhbl.js +2 -0
- package/static/dist/assets/_app.todos-o7ijtk42.js +1 -0
- package/static/dist/assets/_app.workspaces-o18voh0w.js +1 -0
- package/static/dist/assets/{abnfDiagram-VCTEODGH-i4bgzu83.js → abnfDiagram-VCTEODGH-krt0yaru.js} +1 -1
- package/static/dist/assets/architecture-7GRP2DOG-notdhmpv.js +1 -0
- package/static/dist/assets/{architectureDiagram-5GKGNRK7-mx21lwqa.js → architectureDiagram-5GKGNRK7-i54t9ywl.js} +1 -1
- package/static/dist/assets/{blockDiagram-I7D4REHJ-o1hhchxv.js → blockDiagram-I7D4REHJ-fevbz4mz.js} +1 -1
- package/static/dist/assets/{c4Diagram-7LVT6UL2-jygqtvd8.js → c4Diagram-7LVT6UL2-np8eclmc.js} +1 -1
- package/static/dist/assets/channel-jpk1nas2.js +1 -0
- package/static/dist/assets/{chunk-4HAMMTFA-hjcpubgk.js → chunk-4HAMMTFA-owoi036m.js} +1 -1
- package/static/dist/assets/{chunk-75Z2AOVW-eibnex6m.js → chunk-75Z2AOVW-md44zf1n.js} +1 -1
- package/static/dist/assets/{chunk-DU6HZSFF-k1tp3qnp.js → chunk-DU6HZSFF-ka3rw8d6.js} +3 -3
- package/static/dist/assets/{chunk-F27PBJKO-lvcgn16f.js → chunk-F27PBJKO-iasnjsky.js} +1 -1
- package/static/dist/assets/{chunk-GMAD6QVW-ldlzruv1.js → chunk-GMAD6QVW-ex1up6tz.js} +1 -1
- package/static/dist/assets/{chunk-GVQU2GXP-hs1mva9d.js → chunk-GVQU2GXP-d4kmmg9p.js} +1 -1
- package/static/dist/assets/{chunk-IMKFNOWR-o7eqx3yb.js → chunk-IMKFNOWR-mwy42t85.js} +1 -1
- package/static/dist/assets/{chunk-L3NEJ4N5-bp1ofl70.js → chunk-L3NEJ4N5-fv7ry213.js} +1 -1
- package/static/dist/assets/{chunk-OSK3NFVY-o8m6mdz5.js → chunk-OSK3NFVY-jg9ir8ac.js} +1 -1
- package/static/dist/assets/{chunk-P2QGCYS3-kx83fti2.js → chunk-P2QGCYS3-pe9ms3ua.js} +1 -1
- package/static/dist/assets/{chunk-POPQ4Y6H-mwl99e9y.js → chunk-POPQ4Y6H-dimsjrn1.js} +1 -1
- package/static/dist/assets/{chunk-PWAF6VOD-oriuokxy.js → chunk-PWAF6VOD-m4hv98dy.js} +1 -1
- package/static/dist/assets/{chunk-SHT3W25Y-ab5cf00v.js → chunk-SHT3W25Y-gkjgl6qe.js} +1 -1
- package/static/dist/assets/{chunk-SVP7TREG-kqdrpr17.js → chunk-SVP7TREG-bc8qss5l.js} +1 -1
- package/static/dist/assets/{chunk-TICWLB2K-kfbnjabk.js → chunk-TICWLB2K-k9wzw38w.js} +1 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-hld301gc.js +1 -0
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-hld301gc.js +1 -0
- package/static/dist/assets/{copied-dp33szhq.js → copied-d5joolw7.js} +1 -1
- package/static/dist/assets/{cynefin-OW5HDTMX-mm5sj9s7.js → cynefin-OW5HDTMX-hueklikk.js} +1 -1
- package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-nfon5q38.js → cynefinDiagram-5FMLGOSQ-e83o1wr1.js} +1 -1
- package/static/dist/assets/{dagre-GXQ25YYZ-dzdp9ypb.js → dagre-GXQ25YYZ-ir1tj2ar.js} +1 -1
- package/static/dist/assets/{diagram-S7CK7UJ4-ckxzqo01.js → diagram-S7CK7UJ4-o5218p2q.js} +1 -1
- package/static/dist/assets/{diagram-UQ7AKVKN-hw16h1um.js → diagram-UQ7AKVKN-ciad4o1i.js} +1 -1
- package/static/dist/assets/{diagram-VSXAHHWV-mu7wu2zg.js → diagram-VSXAHHWV-oharqjbt.js} +1 -1
- package/static/dist/assets/{diagram-VX7I27RA-k9uprwtj.js → diagram-VX7I27RA-wkwy62iv.js} +1 -1
- package/static/dist/assets/{diagram-Z3DM3KII-csdjzrg9.js → diagram-Z3DM3KII-bl252i7r.js} +1 -1
- package/static/dist/assets/{ebnfDiagram-PWID7BFC-n8mbw2jj.js → ebnfDiagram-PWID7BFC-nm0rcly7.js} +1 -1
- package/static/dist/assets/endpoints-d8n28yf3.js +64 -0
- package/static/dist/assets/{erDiagram-RLTQ6QDP-fsfe1uj0.js → erDiagram-RLTQ6QDP-m1w0vta2.js} +1 -1
- package/static/dist/assets/eventmodeling-NTZA5JFV-eaqs19mj.js +1 -0
- package/static/dist/assets/flowDiagram-HODETNUW-eli5764n.js +1 -0
- package/static/dist/assets/{ganttDiagram-EL5Y4UJY-gsba3iq9.js → ganttDiagram-EL5Y4UJY-czxo6iew.js} +1 -1
- package/static/dist/assets/{gitGraph-4MIJSDKK-na86q1pu.js → gitGraph-4MIJSDKK-ip9j1rph.js} +1 -1
- package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-g72ew3xz.js → gitGraphDiagram-WWUBYQGX-kalxdole.js} +1 -1
- package/static/dist/assets/{highlighted-body-KPVGNVTW-okn18cp1.js → highlighted-body-KPVGNVTW-lgsj6fsk.js} +1 -1
- package/static/dist/assets/index-l08181vr.js +11 -0
- package/static/dist/assets/index-pdtcl20t.css +2 -0
- package/static/dist/assets/{info-A6RAGUB7-i01jeltk.js → info-A6RAGUB7-fv4fbc5m.js} +1 -1
- package/static/dist/assets/{infoDiagram-27XIBGKW-cayiv6fa.js → infoDiagram-27XIBGKW-kinx5jsl.js} +1 -1
- package/static/dist/assets/{ishikawaDiagram-5VMMS53U-g4rf14bv.js → ishikawaDiagram-5VMMS53U-kozvlqdv.js} +1 -1
- package/static/dist/assets/{journeyDiagram-3NMN7TZE-fusb2424.js → journeyDiagram-3NMN7TZE-lgpouxoe.js} +1 -1
- package/static/dist/assets/{kanban-definition-UXKFOSKX-g831pwlr.js → kanban-definition-UXKFOSKX-b320wo7b.js} +1 -1
- package/static/dist/assets/{lazyRouteComponent-ol965zwk.js → lazyRouteComponent-hy8doeye.js} +1 -1
- package/static/dist/assets/{line-md6em6gc.js → line-gxfwyhjq.js} +1 -1
- package/static/dist/assets/{login-kfclsqd2.js → login-llplsuey.js} +1 -1
- package/static/dist/assets/mermaid-HWGCJPDP-f3scrlds.js +1 -0
- package/static/dist/assets/{mermaid-parser.core-mq3uns9m.js → mermaid-parser.core-loxeqsu3.js} +3 -3
- package/static/dist/assets/{mindmap-definition-YA3MSWOX-oxafrned.js → mindmap-definition-YA3MSWOX-edi534gc.js} +1 -1
- package/static/dist/assets/{onboarding-fo6hnkyv.js → onboarding-n1xhlgym.js} +1 -1
- package/static/dist/assets/{packet-AYTQ26CC-ggxyvbym.js → packet-AYTQ26CC-gmb3yy71.js} +1 -1
- package/static/dist/assets/{pegDiagram-XKGWAZYB-nk7xcqgp.js → pegDiagram-XKGWAZYB-fxy5j8cx.js} +1 -1
- package/static/dist/assets/{pie-WAS4IAKB-ito2razh.js → pie-WAS4IAKB-do2pm4s6.js} +1 -1
- package/static/dist/assets/{pieDiagram-E7YTZNPT-g02xexar.js → pieDiagram-E7YTZNPT-mgjvb365.js} +1 -1
- package/static/dist/assets/{quadrantDiagram-AXDQQJYC-d4jn4xq5.js → quadrantDiagram-AXDQQJYC-dhok6m1j.js} +1 -1
- package/static/dist/assets/{radar-RG4KPBEZ-nebvfdzt.js → radar-RG4KPBEZ-n5giw3vb.js} +1 -1
- package/static/dist/assets/{railroad-74A4TZTK-ny3gebse.js → railroad-74A4TZTK-h6nfs9bj.js} +1 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-d5gaaud9.js +1 -0
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-ihudnbec.js +1 -0
- package/static/dist/assets/railroad-peg-WCYAUIDC-lgpvhel7.js +1 -0
- package/static/dist/assets/{railroadDiagram-O6MQD6OU-m09mmu67.js → railroadDiagram-O6MQD6OU-lfwg92r4.js} +1 -1
- package/static/dist/assets/{refresh-cw-eitd7yva.js → refresh-cw-bg6oc499.js} +1 -1
- package/static/dist/assets/{requirementDiagram-BXWQKSXE-evggpcbk.js → requirementDiagram-BXWQKSXE-c5k5pg07.js} +1 -1
- package/static/dist/assets/{sankeyDiagram-P5KCCOFB-bun89039.js → sankeyDiagram-P5KCCOFB-o9auio4y.js} +1 -1
- package/static/dist/assets/{saved-culx14ii.js → saved-j5wyhbik.js} +1 -1
- package/static/dist/assets/{search-nu6kzq55.js → search-ipa17zlr.js} +1 -1
- package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-hhs9f09o.js → sequenceDiagram-WJ2MYXX4-pfgodnmk.js} +1 -1
- package/static/dist/assets/{settings_section_extensions_title-mj0gcozh.js → settings_section_extensions_title-fcfjf6l8.js} +1 -1
- package/static/dist/assets/share._token-i339gqj4.js +2 -0
- package/static/dist/assets/{sliders-horizontal-b9ljga1o.js → sliders-horizontal-bfrh4rch.js} +1 -1
- package/static/dist/assets/{stateDiagram-D77RDMKH-gi7t1tro.js → stateDiagram-D77RDMKH-m1y2cr3q.js} +1 -1
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hehvfv55.js +1 -0
- package/static/dist/assets/{swimlanes-42K2YHIH-ea5urvph.js → swimlanes-42K2YHIH-hzai6fwo.js} +1 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-nfk9mtst.js +8 -0
- package/static/dist/assets/{timeline-definition-24CTP7MA-mq64rm3b.js → timeline-definition-24CTP7MA-gwefy9gi.js} +1 -1
- package/static/dist/assets/todoStore-fhvdsen0.js +1 -0
- package/static/dist/assets/{treeView-Q6P3EWNA-cimbtxlz.js → treeView-Q6P3EWNA-7q91p0dn.js} +1 -1
- package/static/dist/assets/{treemap-WGGIJYW6-wig5gi1y.js → treemap-WGGIJYW6-occom39a.js} +1 -1
- package/static/dist/assets/{untitled-mbwemvxf.js → untitled-cgw2enra.js} +1 -1
- package/static/dist/assets/{useForm-li4bljlv.js → useForm-jwbfla68.js} +1 -1
- package/static/dist/assets/useLocale-gieo1fn7.js +1 -0
- package/static/dist/assets/{vennDiagram-4TSXK5OY-ez63kh7n.js → vennDiagram-4TSXK5OY-ew4bhldi.js} +1 -1
- package/static/dist/assets/{wardley-WFR3VGLG-r7rftz31.js → wardley-WFR3VGLG-njdacy0u.js} +1 -1
- package/static/dist/assets/{wardleyDiagram-VM6X3IG4-mvqg9eqc.js → wardleyDiagram-VM6X3IG4-mkvxx7u9.js} +1 -1
- package/static/dist/assets/{xychartDiagram-S5SC5T6Z-eqxdfc91.js → xychartDiagram-S5SC5T6Z-8uriotdw.js} +1 -1
- package/static/dist/index.html +1 -1
- package/static/dist/manifest.webmanifest +1 -1
- package/static/dist/sw.js +114 -152
- package/static/dist/assets/AppShell-hikzkcql.js +0 -1
- package/static/dist/assets/ChatPage-ofqn89h9.js +0 -21
- package/static/dist/assets/HubRoute-f2zrs9si.js +0 -2
- package/static/dist/assets/Select-lvx8gihl.js +0 -1
- package/static/dist/assets/SessionListPanel-o70ljmik.js +0 -1
- package/static/dist/assets/States-i46tz8an.js +0 -1
- package/static/dist/assets/Toaster-fklyeeyh.js +0 -1
- package/static/dist/assets/_app-j3rors25.js +0 -1
- package/static/dist/assets/_app.ext._extensionId-c0ey5ec9.js +0 -1
- package/static/dist/assets/_app.index-coy9jrto.js +0 -1
- package/static/dist/assets/_app.insights-ebd2k0i5.js +0 -1
- package/static/dist/assets/_app.kanban-e2p7ypi5.js +0 -1
- package/static/dist/assets/_app.logs-ml21mfyz.js +0 -1
- package/static/dist/assets/_app.memory-lhu5mm47.js +0 -1
- package/static/dist/assets/_app.profiles-egx0fgjo.js +0 -1
- package/static/dist/assets/_app.settings-d0vqtyid.js +0 -1
- package/static/dist/assets/_app.settings._section-cnzj6pli.js +0 -1
- package/static/dist/assets/_app.skills-kkug8obu.js +0 -1
- package/static/dist/assets/_app.tasks-nf285d2o.js +0 -2
- package/static/dist/assets/_app.todos-dxalqp1e.js +0 -1
- package/static/dist/assets/_app.workspaces-bqtduujs.js +0 -1
- package/static/dist/assets/architecture-7GRP2DOG-o8zqevhv.js +0 -1
- package/static/dist/assets/channel-mw8l793e.js +0 -1
- package/static/dist/assets/classDiagram-ZZMXUADV-egajr1wp.js +0 -1
- package/static/dist/assets/classDiagram-v2-VYDZK3BY-egajr1wp.js +0 -1
- package/static/dist/assets/endpoints-f6ngsyu5.js +0 -64
- package/static/dist/assets/eventmodeling-NTZA5JFV-k3zhqcyl.js +0 -1
- package/static/dist/assets/flowDiagram-HODETNUW-bdxes51f.js +0 -1
- package/static/dist/assets/index-ab0wj9ik.css +0 -2
- package/static/dist/assets/index-fd27xooo.js +0 -11
- package/static/dist/assets/mermaid-HWGCJPDP-ejk0d88t.js +0 -1
- package/static/dist/assets/railroad-abnf-HS5TGJTU-gtd38edw.js +0 -1
- package/static/dist/assets/railroad-ebnf-LZEXJU2U-o238oax2.js +0 -1
- package/static/dist/assets/railroad-peg-WCYAUIDC-c4acqp2j.js +0 -1
- package/static/dist/assets/share._token-k4pcnxqu.js +0 -2
- package/static/dist/assets/stateDiagram-v2-MP3YSRHH-jtadbol7.js +0 -1
- package/static/dist/assets/swimlanesDiagram-VR7AAH4N-ki7weepw.js +0 -8
- package/static/dist/assets/todoStore-azvfuqbv.js +0 -1
- package/static/dist/assets/trash-osyo895g.js +0 -1
- package/static/dist/assets/useLocale-kdew6auf.js +0 -1
package/dist/tools/updates.d.ts
CHANGED
|
@@ -4,8 +4,6 @@ export declare const REPOSITORY_URL = "https://github.com/MaudeCode/talaria";
|
|
|
4
4
|
export declare const API_ROOT = "https://api.github.com/repos/MaudeCode/talaria";
|
|
5
5
|
/** Anchored paths work from both the git root and Web's nested working directory. */
|
|
6
6
|
export declare const WEB_UPDATE_PATHS: string[];
|
|
7
|
-
/** Relative to the git root: the release stamp and the blobs it is verified against. */
|
|
8
|
-
export declare const RELEASE_STAMP = "web/_release.json";
|
|
9
7
|
export declare const CACHE_TTL_S = 1800;
|
|
10
8
|
export declare const AUTO_UPDATE_INTERVAL_MS: number;
|
|
11
9
|
export declare const RESTART_MAX_WAIT_S = 300;
|
|
@@ -21,17 +19,19 @@ export type GitRun = (args: string[], cwd: string, timeoutMs?: number) => Promis
|
|
|
21
19
|
export declare const runGit: GitRun;
|
|
22
20
|
/** Runs one `npm` command in `cwd`; same outcome shape as `GitRun`. */
|
|
23
21
|
export type BuildRun = (args: string[], cwd: string, timeoutMs: number) => Promise<GitOutcome>;
|
|
24
|
-
/** The steps a source checkout needs after its files change (README "From a source checkout"), run from `<root>/web`. */
|
|
25
|
-
export declare const WEB_BUILD_STEPS: readonly string[][];
|
|
26
22
|
export declare const WEB_BUILD_TIMEOUT_MS: number;
|
|
27
|
-
/**
|
|
28
|
-
export declare const
|
|
29
|
-
export declare const runNpm: BuildRun;
|
|
23
|
+
/** Source checkouts are contributor-only: they update with git, and the updater never mutates them (TAL-379). */
|
|
24
|
+
export declare const CONTRIBUTOR_CHECKOUT_MESSAGE = "This is a contributor source checkout. Update it with git and rebuild Web (see web/README.md); only npm installs update automatically.";
|
|
30
25
|
export declare const runPackageNpm: BuildRun;
|
|
31
26
|
export declare const isGitLockError: (output: string) => boolean;
|
|
32
27
|
/** Python `_sanitize_git_diagnostic`: strip URL userinfo, GitHub token shapes, and secret query values. */
|
|
33
28
|
export declare function sanitizeGitDiagnostic(output: string, limit?: number): string;
|
|
29
|
+
/** One delayed retry absorbs a transient network blip; a lock conflict is not transient. */
|
|
30
|
+
export declare const FETCH_RETRY_MS = 1000;
|
|
31
|
+
/** `transient`: GitHub was unreachable, slow, or overloaded, so a retry can succeed; the rest describe published state. */
|
|
34
32
|
export declare class ReleaseUnavailable extends Error {
|
|
33
|
+
readonly transient: boolean;
|
|
34
|
+
constructor(message: string, transient?: boolean);
|
|
35
35
|
}
|
|
36
36
|
export type GetJson = (path: string, opts: {
|
|
37
37
|
asset: boolean;
|
|
@@ -51,6 +51,22 @@ export interface PublishedRelease {
|
|
|
51
51
|
}
|
|
52
52
|
/** Python `published_web_release`: the newest completed `release-set-<sha>` whose Web component matches the channel's tag family. */
|
|
53
53
|
export declare function publishedWebRelease(channel: Channel, getJson: GetJson, now?: () => number): Promise<PublishedRelease>;
|
|
54
|
+
export declare const EXPERIMENTAL_TARBALL_CAP = 200000000;
|
|
55
|
+
/** The `experimental` tag of the public GHCR artifact: identity from its annotations, content by digest. */
|
|
56
|
+
export interface ExperimentalRelease {
|
|
57
|
+
tag: string;
|
|
58
|
+
version: string;
|
|
59
|
+
sourceRevision: string;
|
|
60
|
+
digest: string;
|
|
61
|
+
size: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ExperimentalRegistry {
|
|
64
|
+
release: () => Promise<ExperimentalRelease>;
|
|
65
|
+
/** The layer bytes, verified against the release digest and size. */
|
|
66
|
+
download: (release: ExperimentalRelease) => Promise<Buffer>;
|
|
67
|
+
}
|
|
68
|
+
/** Anonymous GHCR client with `githubJson`'s timeouts, caps, and transient classification. */
|
|
69
|
+
export declare function ghcrExperimental(fetchImpl: typeof fetch): ExperimentalRegistry;
|
|
54
70
|
/** The git root when `webRoot` is `<root>/web` of a Talaria checkout with a GitHub `maudecode/talaria` origin; else null. */
|
|
55
71
|
export declare function checkoutRoot(webRoot: string | null, git: GitRun): Promise<string | null>;
|
|
56
72
|
export interface NpmInstallInfo {
|
|
@@ -59,8 +75,6 @@ export interface NpmInstallInfo {
|
|
|
59
75
|
}
|
|
60
76
|
/** A real global npm install of this package; local, npx, linked and container trees fail closed. */
|
|
61
77
|
export declare function npmInstallInfo(webRoot: string | null, npm?: BuildRun, container?: boolean): Promise<NpmInstallInfo | null>;
|
|
62
|
-
/** Python `verify_release_source`: the stamp Web expects for `release`, computed from immutable blobs at its source revision. */
|
|
63
|
-
export declare function verifyReleaseSource(root: string, release: PublishedRelease, git: GitRun): Promise<Dict>;
|
|
64
78
|
export interface ReleaseIdentity {
|
|
65
79
|
/** `RELEASE_INFO`: the stamp when it matches the checkout, else development info. */
|
|
66
80
|
release: () => Dict;
|
|
@@ -69,10 +83,18 @@ export interface ReleaseIdentity {
|
|
|
69
83
|
/** `RUNNING_SOURCE_REVISION`: HEAD when this process started. */
|
|
70
84
|
runningSourceRevision: () => string | null;
|
|
71
85
|
}
|
|
72
|
-
/** Python `check_web_update
|
|
73
|
-
export declare function checkWebUpdate(webRoot: string | null, currentVersion: string, channel: Channel, git: GitRun, getJson: GetJson, id: ReleaseIdentity, npmRun?: BuildRun): Promise<Dict>;
|
|
74
|
-
/**
|
|
75
|
-
export
|
|
86
|
+
/** Python `check_web_update`: npm and packaged installs; a source checkout is contributor-only (TAL-379). */
|
|
87
|
+
export declare function checkWebUpdate(webRoot: string | null, currentVersion: string, channel: Channel, git: GitRun, getJson: GetJson, id: ReleaseIdentity, npmRun?: BuildRun, registry?: ExperimentalRegistry): Promise<Dict>;
|
|
88
|
+
/** Packaged-install collaborators: the Experimental registry and Web's state dir for channel-switch backups. */
|
|
89
|
+
export interface PackagedUpdateOptions {
|
|
90
|
+
registry?: ExperimentalRegistry | undefined;
|
|
91
|
+
stateDir?: string | undefined;
|
|
92
|
+
}
|
|
93
|
+
export declare const CHANNEL_SWITCH_BACKUPS = 5;
|
|
94
|
+
/** Copy the persisted stores to `<stateDir>/backups/channel-switch-<UTC timestamp>/`, keeping the newest few; throws on failure. */
|
|
95
|
+
export declare function backupPersistedStores(stateDir: string, now?: Date, keep?: number): string;
|
|
96
|
+
/** Python `apply_web_update`: installs npm releases; a source checkout is never mutated (TAL-379). */
|
|
97
|
+
export declare function applyWebUpdate(webRoot: string | null, channel: Channel, git: GitRun, getJson: GetJson, id: ReleaseIdentity, npmRun?: BuildRun, canApply?: () => boolean, packaged?: PackagedUpdateOptions): Promise<Dict>;
|
|
76
98
|
export interface AgentUpdatePolicy {
|
|
77
99
|
supportedRevision: string;
|
|
78
100
|
supportedVersion: string;
|
|
@@ -109,19 +131,30 @@ export interface UpdateServiceDeps {
|
|
|
109
131
|
/** `web/` of this installation (a Talaria checkout has it at `<root>/web`). */
|
|
110
132
|
webRoot: string;
|
|
111
133
|
git?: GitRun;
|
|
112
|
-
/** Runs
|
|
113
|
-
build?: BuildRun;
|
|
114
|
-
/** Runs global npm discovery/install for packaged Stable updates. */
|
|
134
|
+
/** Runs global npm discovery/install for packaged updates. */
|
|
115
135
|
npm?: BuildRun;
|
|
116
136
|
getJson: GetJson;
|
|
137
|
+
/** The public GHCR Experimental artifact that npm installs follow on the Experimental channel. */
|
|
138
|
+
experimental?: ExperimentalRegistry;
|
|
139
|
+
/** Web's state dir; channel switches back up its persisted stores here first. */
|
|
140
|
+
stateDir?: string;
|
|
117
141
|
identity: ReleaseIdentity;
|
|
118
142
|
webuiVersion: string;
|
|
143
|
+
/** Re-derive the installed Web version after a check (tags can arrive after startup); returns the current label. */
|
|
144
|
+
refreshWebuiVersion?: () => string;
|
|
119
145
|
agentDir: () => string | null;
|
|
120
146
|
channel: () => Channel;
|
|
121
147
|
agentChannel?: () => Channel;
|
|
122
148
|
includeAgent: () => boolean;
|
|
123
149
|
autoApply?: () => boolean;
|
|
124
150
|
checkEnabled?: () => boolean;
|
|
151
|
+
autoNotification?: {
|
|
152
|
+
begin: () => string;
|
|
153
|
+
transition: (id: string, phase: 'restarting' | 'succeeded' | 'blocked' | 'failed', expectedIdentity?: string | null, verifiedIdentity?: {
|
|
154
|
+
revision: string | null;
|
|
155
|
+
version: string | null;
|
|
156
|
+
}, detail?: unknown) => void;
|
|
157
|
+
};
|
|
125
158
|
blockers: () => RestartBlockers;
|
|
126
159
|
/** Re-exec the server once active work drains (`restartWhenSafe`). */
|
|
127
160
|
scheduleRestart: () => void;
|
|
@@ -138,6 +171,7 @@ export declare class UpdateService {
|
|
|
138
171
|
private readonly cache;
|
|
139
172
|
private checking;
|
|
140
173
|
private checkingKey;
|
|
174
|
+
private readonly lastGood;
|
|
141
175
|
private applying;
|
|
142
176
|
private autoTimer;
|
|
143
177
|
private autoStarted;
|
|
@@ -155,10 +189,13 @@ export declare class UpdateService {
|
|
|
155
189
|
cachedStatus(includeAgent?: boolean, channel?: Channel, agentChannel?: Channel): Dict;
|
|
156
190
|
/** 30 min cache keyed on both channels + include_agent; one in-flight check per key. */
|
|
157
191
|
check(force?: boolean, includeAgent?: boolean, channel?: Channel, agentChannel?: Channel): Promise<Dict>;
|
|
192
|
+
/** A failed fetch (`stale_check`) keeps the channel's last good result until the cache TTL, so a network blip never flips the status; persistent failures surface. */
|
|
193
|
+
private keepLastGood;
|
|
158
194
|
startAutoApply(intervalMs?: number): void;
|
|
159
195
|
stopAutoApply(): void;
|
|
160
196
|
/** Shared turn admission stays closed from update start through the supervisor restart. */
|
|
161
197
|
blocksNewWork(): boolean;
|
|
198
|
+
private pendingRestartResponse;
|
|
162
199
|
autoApplyOnce(): Promise<Dict | null>;
|
|
163
200
|
blockedResponse(target: string): Dict | null;
|
|
164
201
|
private locked;
|