@maudecode/talaria-web 1.11.0 → 1.12.1

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.
Files changed (247) hide show
  1. package/_release.json +4 -4
  2. package/dist/api/chat-router.d.ts +68 -4
  3. package/dist/api/chat-router.js +11 -8
  4. package/dist/api/chat-router.js.map +1 -1
  5. package/dist/api/router.d.ts +10 -0
  6. package/dist/api/router.js +2 -1
  7. package/dist/api/router.js.map +1 -1
  8. package/dist/api/sessions-router.d.ts +407 -51
  9. package/dist/api/sessions-router.js +2 -2
  10. package/dist/api/sessions-router.js.map +1 -1
  11. package/dist/api/sse-routes.js +52 -8
  12. package/dist/api/sse-routes.js.map +1 -1
  13. package/dist/api/tools-router.d.ts +329 -0
  14. package/dist/api/tools-router.js +97 -4
  15. package/dist/api/tools-router.js.map +1 -1
  16. package/dist/app.d.ts +812 -55
  17. package/dist/auth/oidc.js +2 -0
  18. package/dist/auth/oidc.js.map +1 -1
  19. package/dist/auth/store.d.ts +17 -0
  20. package/dist/auth/store.js +77 -19
  21. package/dist/auth/store.js.map +1 -1
  22. package/dist/fs/atomic.d.ts +8 -1
  23. package/dist/fs/atomic.js +52 -3
  24. package/dist/fs/atomic.js.map +1 -1
  25. package/dist/http/context.d.ts +2 -0
  26. package/dist/http/context.js.map +1 -1
  27. package/dist/redact.d.ts +15 -0
  28. package/dist/redact.js +1393 -9
  29. package/dist/redact.js.map +1 -1
  30. package/dist/release.js +3 -1
  31. package/dist/release.js.map +1 -1
  32. package/dist/runtime.js +20 -9
  33. package/dist/runtime.js.map +1 -1
  34. package/dist/server.d.ts +1 -1
  35. package/dist/server.js +11 -5
  36. package/dist/server.js.map +1 -1
  37. package/dist/sessions/anchor.d.ts +2 -0
  38. package/dist/sessions/anchor.js +22 -17
  39. package/dist/sessions/anchor.js.map +1 -1
  40. package/dist/sessions/file-changes.d.ts +15 -0
  41. package/dist/sessions/file-changes.js +58 -0
  42. package/dist/sessions/file-changes.js.map +1 -0
  43. package/dist/sessions/journal.d.ts +6 -1
  44. package/dist/sessions/journal.js +9 -15
  45. package/dist/sessions/journal.js.map +1 -1
  46. package/dist/sessions/list.d.ts +21 -1
  47. package/dist/sessions/list.js +81 -17
  48. package/dist/sessions/list.js.map +1 -1
  49. package/dist/sessions/merge.d.ts +66 -2
  50. package/dist/sessions/merge.js +291 -9
  51. package/dist/sessions/merge.js.map +1 -1
  52. package/dist/sessions/pending.d.ts +11 -2
  53. package/dist/sessions/pending.js +52 -3
  54. package/dist/sessions/pending.js.map +1 -1
  55. package/dist/sessions/service.d.ts +16 -3
  56. package/dist/sessions/service.js +92 -54
  57. package/dist/sessions/service.js.map +1 -1
  58. package/dist/sessions/state-db.d.ts +5 -0
  59. package/dist/sessions/state-db.js +34 -0
  60. package/dist/sessions/state-db.js.map +1 -1
  61. package/dist/sessions/streams.d.ts +4 -1
  62. package/dist/sessions/streams.js +3 -0
  63. package/dist/sessions/streams.js.map +1 -1
  64. package/dist/sessions/tool-display.d.ts +21 -0
  65. package/dist/sessions/tool-display.js +113 -0
  66. package/dist/sessions/tool-display.js.map +1 -0
  67. package/dist/sessions/turn.d.ts +25 -7
  68. package/dist/sessions/turn.js +153 -90
  69. package/dist/sessions/turn.js.map +1 -1
  70. package/dist/spa.d.ts +2 -0
  71. package/dist/spa.js +9 -0
  72. package/dist/spa.js.map +1 -1
  73. package/dist/test/harness.d.ts +2 -0
  74. package/dist/test/harness.js +1 -1
  75. package/dist/test/harness.js.map +1 -1
  76. package/dist/tools/terminal.d.ts +6 -0
  77. package/dist/tools/terminal.js +24 -3
  78. package/dist/tools/terminal.js.map +1 -1
  79. package/dist/tools/update-notifications.d.ts +120 -0
  80. package/dist/tools/update-notifications.js +387 -0
  81. package/dist/tools/update-notifications.js.map +1 -0
  82. package/dist/tools/updates.d.ts +49 -3
  83. package/dist/tools/updates.js +319 -53
  84. package/dist/tools/updates.js.map +1 -1
  85. package/package.json +2 -2
  86. package/sidecar/scripts/replay_sidecar.py +17 -0
  87. package/sidecar/talaria_sidecar/__init__.py +1 -1
  88. package/sidecar/talaria_sidecar/home.py +39 -16
  89. package/sidecar/talaria_sidecar/methods/chat.py +113 -4
  90. package/static/dist/FILES.txt +115 -116
  91. package/static/dist/assets/AppShell-m4w420jl.js +1 -0
  92. package/static/dist/assets/ChatPage-cuqcnisv.js +20 -0
  93. package/static/dist/assets/HubRoute-hqgqtm35.js +2 -0
  94. package/static/dist/assets/{Markdown-ftyfzds0.js → Markdown-j2hlu30v.js} +7 -7
  95. package/static/dist/assets/RightPanel-oid5q557.js +1 -0
  96. package/static/dist/assets/Select-ot2zr0il.js +1 -0
  97. package/static/dist/assets/SessionListPanel-o3sgjnrq.js +1 -0
  98. package/static/dist/assets/{SettingsLayout-pdpmhy1o.js → SettingsLayout-b0idn649.js} +1 -1
  99. package/static/dist/assets/States-htz1oee5.js +1 -0
  100. package/static/dist/assets/Toaster-h49pk1hy.js +1 -0
  101. package/static/dist/assets/_app-h7eaezs7.js +1 -0
  102. package/static/dist/assets/_app.ext._extensionId-h8oaqzsj.js +1 -0
  103. package/static/dist/assets/_app.index-xinao3xh.js +1 -0
  104. package/static/dist/assets/_app.insights-cxplvhkm.js +1 -0
  105. package/static/dist/assets/_app.kanban-hhli8h0h.js +1 -0
  106. package/static/dist/assets/_app.logs-f6srwjfl.js +1 -0
  107. package/static/dist/assets/_app.memory-lntcea85.js +1 -0
  108. package/static/dist/assets/_app.profiles-lftyp6of.js +1 -0
  109. package/static/dist/assets/{_app.session._sessionId-n1ggcf5e.js → _app.session._sessionId-hhpcqih4.js} +1 -1
  110. package/static/dist/assets/_app.settings-rs93zpvw.js +1 -0
  111. package/static/dist/assets/_app.settings._section-nafqsbwm.js +1 -0
  112. package/static/dist/assets/_app.skills-jzoi1ivd.js +1 -0
  113. package/static/dist/assets/_app.tasks-ijphsw56.js +2 -0
  114. package/static/dist/assets/_app.todos-emyh8inv.js +1 -0
  115. package/static/dist/assets/_app.workspaces-fwr1cum8.js +1 -0
  116. package/static/dist/assets/{abnfDiagram-VCTEODGH-i4bgzu83.js → abnfDiagram-VCTEODGH-egykbz8h.js} +1 -1
  117. package/static/dist/assets/architecture-7GRP2DOG-l6y92mbn.js +1 -0
  118. package/static/dist/assets/{architectureDiagram-5GKGNRK7-mx21lwqa.js → architectureDiagram-5GKGNRK7-b2e0wk3y.js} +1 -1
  119. package/static/dist/assets/{blockDiagram-I7D4REHJ-o1hhchxv.js → blockDiagram-I7D4REHJ-i3cq67dn.js} +1 -1
  120. package/static/dist/assets/{c4Diagram-7LVT6UL2-jygqtvd8.js → c4Diagram-7LVT6UL2-lg1p1s7a.js} +1 -1
  121. package/static/dist/assets/channel-gq8cwu71.js +1 -0
  122. package/static/dist/assets/{chunk-4HAMMTFA-hjcpubgk.js → chunk-4HAMMTFA-i0s1s7zi.js} +1 -1
  123. package/static/dist/assets/{chunk-75Z2AOVW-eibnex6m.js → chunk-75Z2AOVW-kwinpapo.js} +1 -1
  124. package/static/dist/assets/{chunk-DU6HZSFF-k1tp3qnp.js → chunk-DU6HZSFF-hb8qrbc3.js} +3 -3
  125. package/static/dist/assets/{chunk-F27PBJKO-lvcgn16f.js → chunk-F27PBJKO-dy2tqtcs.js} +1 -1
  126. package/static/dist/assets/{chunk-GMAD6QVW-ldlzruv1.js → chunk-GMAD6QVW-fqox5yvt.js} +1 -1
  127. package/static/dist/assets/{chunk-GVQU2GXP-hs1mva9d.js → chunk-GVQU2GXP-bo3x6ze4.js} +1 -1
  128. package/static/dist/assets/{chunk-IMKFNOWR-o7eqx3yb.js → chunk-IMKFNOWR-nxs6rrcq.js} +1 -1
  129. package/static/dist/assets/{chunk-L3NEJ4N5-bp1ofl70.js → chunk-L3NEJ4N5-f9yeq1fi.js} +1 -1
  130. package/static/dist/assets/{chunk-OSK3NFVY-o8m6mdz5.js → chunk-OSK3NFVY-c7df44qv.js} +1 -1
  131. package/static/dist/assets/{chunk-P2QGCYS3-kx83fti2.js → chunk-P2QGCYS3-eyjzf5o5.js} +1 -1
  132. package/static/dist/assets/{chunk-POPQ4Y6H-mwl99e9y.js → chunk-POPQ4Y6H-iy3hp9rc.js} +1 -1
  133. package/static/dist/assets/{chunk-PWAF6VOD-oriuokxy.js → chunk-PWAF6VOD-co2yoefz.js} +1 -1
  134. package/static/dist/assets/{chunk-SHT3W25Y-ab5cf00v.js → chunk-SHT3W25Y-obzqmn9k.js} +1 -1
  135. package/static/dist/assets/{chunk-SVP7TREG-kqdrpr17.js → chunk-SVP7TREG-hqwdo6vt.js} +1 -1
  136. package/static/dist/assets/{chunk-TICWLB2K-kfbnjabk.js → chunk-TICWLB2K-l8t1mdfd.js} +1 -1
  137. package/static/dist/assets/classDiagram-ZZMXUADV-fg9sc5r8.js +1 -0
  138. package/static/dist/assets/classDiagram-v2-VYDZK3BY-fg9sc5r8.js +1 -0
  139. package/static/dist/assets/{copied-dp33szhq.js → copied-hurn8vn4.js} +1 -1
  140. package/static/dist/assets/{cynefin-OW5HDTMX-mm5sj9s7.js → cynefin-OW5HDTMX-ngx2ihay.js} +1 -1
  141. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-nfon5q38.js → cynefinDiagram-5FMLGOSQ-fiyooys3.js} +1 -1
  142. package/static/dist/assets/{dagre-GXQ25YYZ-dzdp9ypb.js → dagre-GXQ25YYZ-fctryel6.js} +1 -1
  143. package/static/dist/assets/{diagram-S7CK7UJ4-ckxzqo01.js → diagram-S7CK7UJ4-m27jopok.js} +1 -1
  144. package/static/dist/assets/{diagram-UQ7AKVKN-hw16h1um.js → diagram-UQ7AKVKN-ojgkbmp4.js} +1 -1
  145. package/static/dist/assets/{diagram-VSXAHHWV-mu7wu2zg.js → diagram-VSXAHHWV-gfafpgyj.js} +1 -1
  146. package/static/dist/assets/{diagram-VX7I27RA-k9uprwtj.js → diagram-VX7I27RA-daobicg4.js} +1 -1
  147. package/static/dist/assets/{diagram-Z3DM3KII-csdjzrg9.js → diagram-Z3DM3KII-mi475zvk.js} +1 -1
  148. package/static/dist/assets/{ebnfDiagram-PWID7BFC-n8mbw2jj.js → ebnfDiagram-PWID7BFC-daf4zvsy.js} +1 -1
  149. package/static/dist/assets/endpoints-cyjhnrbn.js +64 -0
  150. package/static/dist/assets/{erDiagram-RLTQ6QDP-fsfe1uj0.js → erDiagram-RLTQ6QDP-gxfhxvfp.js} +1 -1
  151. package/static/dist/assets/eventmodeling-NTZA5JFV-manga0bq.js +1 -0
  152. package/static/dist/assets/flowDiagram-HODETNUW-bpt13uny.js +1 -0
  153. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-gsba3iq9.js → ganttDiagram-EL5Y4UJY-k3208e0p.js} +1 -1
  154. package/static/dist/assets/{gitGraph-4MIJSDKK-na86q1pu.js → gitGraph-4MIJSDKK-gjuhj4zk.js} +1 -1
  155. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-g72ew3xz.js → gitGraphDiagram-WWUBYQGX-jglxvux1.js} +1 -1
  156. package/static/dist/assets/{highlighted-body-KPVGNVTW-okn18cp1.js → highlighted-body-KPVGNVTW-gh24xc9c.js} +1 -1
  157. package/static/dist/assets/index-gsg78cb4.css +2 -0
  158. package/static/dist/assets/index-jb47los5.js +11 -0
  159. package/static/dist/assets/{info-A6RAGUB7-i01jeltk.js → info-A6RAGUB7-huf0xaoq.js} +1 -1
  160. package/static/dist/assets/{infoDiagram-27XIBGKW-cayiv6fa.js → infoDiagram-27XIBGKW-jk3n96ix.js} +1 -1
  161. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-g4rf14bv.js → ishikawaDiagram-5VMMS53U-o95uo5dx.js} +1 -1
  162. package/static/dist/assets/{journeyDiagram-3NMN7TZE-fusb2424.js → journeyDiagram-3NMN7TZE-h5ye2l70.js} +1 -1
  163. package/static/dist/assets/{kanban-definition-UXKFOSKX-g831pwlr.js → kanban-definition-UXKFOSKX-lgrpk5yi.js} +1 -1
  164. package/static/dist/assets/{lazyRouteComponent-ol965zwk.js → lazyRouteComponent-owywngyt.js} +1 -1
  165. package/static/dist/assets/{line-md6em6gc.js → line-cihmc0pn.js} +1 -1
  166. package/static/dist/assets/{login-kfclsqd2.js → login-g063apx6.js} +1 -1
  167. package/static/dist/assets/mermaid-HWGCJPDP-okd1mnvj.js +1 -0
  168. package/static/dist/assets/{mermaid-parser.core-mq3uns9m.js → mermaid-parser.core-d1609aga.js} +3 -3
  169. package/static/dist/assets/{mindmap-definition-YA3MSWOX-oxafrned.js → mindmap-definition-YA3MSWOX-lbvtir31.js} +1 -1
  170. package/static/dist/assets/{onboarding-fo6hnkyv.js → onboarding-ngw0x0pr.js} +1 -1
  171. package/static/dist/assets/{packet-AYTQ26CC-ggxyvbym.js → packet-AYTQ26CC-o4cp5z3k.js} +1 -1
  172. package/static/dist/assets/{pegDiagram-XKGWAZYB-nk7xcqgp.js → pegDiagram-XKGWAZYB-e8xqu1qj.js} +1 -1
  173. package/static/dist/assets/{pie-WAS4IAKB-ito2razh.js → pie-WAS4IAKB-hm9icuov.js} +1 -1
  174. package/static/dist/assets/{pieDiagram-E7YTZNPT-g02xexar.js → pieDiagram-E7YTZNPT-hj96x7hn.js} +1 -1
  175. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-d4jn4xq5.js → quadrantDiagram-AXDQQJYC-80utbxhm.js} +1 -1
  176. package/static/dist/assets/{radar-RG4KPBEZ-nebvfdzt.js → radar-RG4KPBEZ-k39b6100.js} +1 -1
  177. package/static/dist/assets/{railroad-74A4TZTK-ny3gebse.js → railroad-74A4TZTK-ewyqz67j.js} +1 -1
  178. package/static/dist/assets/railroad-abnf-HS5TGJTU-dx2q0evz.js +1 -0
  179. package/static/dist/assets/railroad-ebnf-LZEXJU2U-l8xt49t5.js +1 -0
  180. package/static/dist/assets/railroad-peg-WCYAUIDC-kuxha9yz.js +1 -0
  181. package/static/dist/assets/{railroadDiagram-O6MQD6OU-m09mmu67.js → railroadDiagram-O6MQD6OU-iwv9dby8.js} +1 -1
  182. package/static/dist/assets/{refresh-cw-eitd7yva.js → refresh-cw-hjzomwlo.js} +1 -1
  183. package/static/dist/assets/{requirementDiagram-BXWQKSXE-evggpcbk.js → requirementDiagram-BXWQKSXE-cdgh5jha.js} +1 -1
  184. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-bun89039.js → sankeyDiagram-P5KCCOFB-dbu6p97m.js} +1 -1
  185. package/static/dist/assets/{saved-culx14ii.js → saved-feqhycco.js} +1 -1
  186. package/static/dist/assets/{search-nu6kzq55.js → search-n3jdc20p.js} +1 -1
  187. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-hhs9f09o.js → sequenceDiagram-WJ2MYXX4-b0wchifg.js} +1 -1
  188. package/static/dist/assets/{settings_section_extensions_title-mj0gcozh.js → settings_section_extensions_title-mtyviexd.js} +1 -1
  189. package/static/dist/assets/{share._token-k4pcnxqu.js → share._token-cwov8uqh.js} +2 -2
  190. package/static/dist/assets/{sliders-horizontal-b9ljga1o.js → sliders-horizontal-i1lseyg0.js} +1 -1
  191. package/static/dist/assets/{stateDiagram-D77RDMKH-gi7t1tro.js → stateDiagram-D77RDMKH-mb4b38xh.js} +1 -1
  192. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-cn1fnqrg.js +1 -0
  193. package/static/dist/assets/{swimlanes-42K2YHIH-ea5urvph.js → swimlanes-42K2YHIH-ofrpfwj0.js} +1 -1
  194. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d652ummv.js +8 -0
  195. package/static/dist/assets/{timeline-definition-24CTP7MA-mq64rm3b.js → timeline-definition-24CTP7MA-hlw0jg6o.js} +1 -1
  196. package/static/dist/assets/todoStore-mfy9lpio.js +1 -0
  197. package/static/dist/assets/{treeView-Q6P3EWNA-cimbtxlz.js → treeView-Q6P3EWNA-d93wr19c.js} +1 -1
  198. package/static/dist/assets/{treemap-WGGIJYW6-wig5gi1y.js → treemap-WGGIJYW6-g7ezdedz.js} +1 -1
  199. package/static/dist/assets/{untitled-mbwemvxf.js → untitled-mqxhd1eh.js} +1 -1
  200. package/static/dist/assets/{useForm-li4bljlv.js → useForm-hh33yrwa.js} +1 -1
  201. package/static/dist/assets/useLocale-cr30vl7r.js +1 -0
  202. package/static/dist/assets/{vennDiagram-4TSXK5OY-ez63kh7n.js → vennDiagram-4TSXK5OY-m5vgeba5.js} +1 -1
  203. package/static/dist/assets/{wardley-WFR3VGLG-r7rftz31.js → wardley-WFR3VGLG-gpao9bxv.js} +1 -1
  204. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-mvqg9eqc.js → wardleyDiagram-VM6X3IG4-g2yzwshm.js} +1 -1
  205. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-eqxdfc91.js → xychartDiagram-S5SC5T6Z-itakhpic.js} +1 -1
  206. package/static/dist/index.html +1 -1
  207. package/static/dist/sw.js +114 -152
  208. package/static/dist/assets/AppShell-hikzkcql.js +0 -1
  209. package/static/dist/assets/ChatPage-ofqn89h9.js +0 -21
  210. package/static/dist/assets/HubRoute-f2zrs9si.js +0 -2
  211. package/static/dist/assets/RightPanel-febk3dkd.js +0 -1
  212. package/static/dist/assets/Select-lvx8gihl.js +0 -1
  213. package/static/dist/assets/SessionListPanel-o70ljmik.js +0 -1
  214. package/static/dist/assets/States-i46tz8an.js +0 -1
  215. package/static/dist/assets/Toaster-fklyeeyh.js +0 -1
  216. package/static/dist/assets/_app-j3rors25.js +0 -1
  217. package/static/dist/assets/_app.ext._extensionId-c0ey5ec9.js +0 -1
  218. package/static/dist/assets/_app.index-coy9jrto.js +0 -1
  219. package/static/dist/assets/_app.insights-ebd2k0i5.js +0 -1
  220. package/static/dist/assets/_app.kanban-e2p7ypi5.js +0 -1
  221. package/static/dist/assets/_app.logs-ml21mfyz.js +0 -1
  222. package/static/dist/assets/_app.memory-lhu5mm47.js +0 -1
  223. package/static/dist/assets/_app.profiles-egx0fgjo.js +0 -1
  224. package/static/dist/assets/_app.settings-d0vqtyid.js +0 -1
  225. package/static/dist/assets/_app.settings._section-cnzj6pli.js +0 -1
  226. package/static/dist/assets/_app.skills-kkug8obu.js +0 -1
  227. package/static/dist/assets/_app.tasks-nf285d2o.js +0 -2
  228. package/static/dist/assets/_app.todos-dxalqp1e.js +0 -1
  229. package/static/dist/assets/_app.workspaces-bqtduujs.js +0 -1
  230. package/static/dist/assets/architecture-7GRP2DOG-o8zqevhv.js +0 -1
  231. package/static/dist/assets/channel-mw8l793e.js +0 -1
  232. package/static/dist/assets/classDiagram-ZZMXUADV-egajr1wp.js +0 -1
  233. package/static/dist/assets/classDiagram-v2-VYDZK3BY-egajr1wp.js +0 -1
  234. package/static/dist/assets/endpoints-f6ngsyu5.js +0 -64
  235. package/static/dist/assets/eventmodeling-NTZA5JFV-k3zhqcyl.js +0 -1
  236. package/static/dist/assets/flowDiagram-HODETNUW-bdxes51f.js +0 -1
  237. package/static/dist/assets/index-ab0wj9ik.css +0 -2
  238. package/static/dist/assets/index-fd27xooo.js +0 -11
  239. package/static/dist/assets/mermaid-HWGCJPDP-ejk0d88t.js +0 -1
  240. package/static/dist/assets/railroad-abnf-HS5TGJTU-gtd38edw.js +0 -1
  241. package/static/dist/assets/railroad-ebnf-LZEXJU2U-o238oax2.js +0 -1
  242. package/static/dist/assets/railroad-peg-WCYAUIDC-c4acqp2j.js +0 -1
  243. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-jtadbol7.js +0 -1
  244. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-ki7weepw.js +0 -8
  245. package/static/dist/assets/todoStore-azvfuqbv.js +0 -1
  246. package/static/dist/assets/trash-osyo895g.js +0 -1
  247. package/static/dist/assets/useLocale-kdew6auf.js +0 -1
@@ -31,7 +31,12 @@ export declare const runPackageNpm: BuildRun;
31
31
  export declare const isGitLockError: (output: string) => boolean;
32
32
  /** Python `_sanitize_git_diagnostic`: strip URL userinfo, GitHub token shapes, and secret query values. */
33
33
  export declare function sanitizeGitDiagnostic(output: string, limit?: number): string;
34
+ /** One delayed retry absorbs a transient network blip; a lock conflict is not transient. */
35
+ export declare const FETCH_RETRY_MS = 1000;
36
+ /** `transient`: GitHub was unreachable, slow, or overloaded, so a retry can succeed; the rest describe published state. */
34
37
  export declare class ReleaseUnavailable extends Error {
38
+ readonly transient: boolean;
39
+ constructor(message: string, transient?: boolean);
35
40
  }
36
41
  export type GetJson = (path: string, opts: {
37
42
  asset: boolean;
@@ -51,6 +56,22 @@ export interface PublishedRelease {
51
56
  }
52
57
  /** Python `published_web_release`: the newest completed `release-set-<sha>` whose Web component matches the channel's tag family. */
53
58
  export declare function publishedWebRelease(channel: Channel, getJson: GetJson, now?: () => number): Promise<PublishedRelease>;
59
+ export declare const EXPERIMENTAL_TARBALL_CAP = 200000000;
60
+ /** The `experimental` tag of the public GHCR artifact: identity from its annotations, content by digest. */
61
+ export interface ExperimentalRelease {
62
+ tag: string;
63
+ version: string;
64
+ sourceRevision: string;
65
+ digest: string;
66
+ size: number;
67
+ }
68
+ export interface ExperimentalRegistry {
69
+ release: () => Promise<ExperimentalRelease>;
70
+ /** The layer bytes, verified against the release digest and size. */
71
+ download: (release: ExperimentalRelease) => Promise<Buffer>;
72
+ }
73
+ /** Anonymous GHCR client with `githubJson`'s timeouts, caps, and transient classification. */
74
+ export declare function ghcrExperimental(fetchImpl: typeof fetch): ExperimentalRegistry;
54
75
  /** The git root when `webRoot` is `<root>/web` of a Talaria checkout with a GitHub `maudecode/talaria` origin; else null. */
55
76
  export declare function checkoutRoot(webRoot: string | null, git: GitRun): Promise<string | null>;
56
77
  export interface NpmInstallInfo {
@@ -70,9 +91,17 @@ export interface ReleaseIdentity {
70
91
  runningSourceRevision: () => string | null;
71
92
  }
72
93
  /** 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>;
94
+ export declare function checkWebUpdate(webRoot: string | null, currentVersion: string, channel: Channel, git: GitRun, getJson: GetJson, id: ReleaseIdentity, npmRun?: BuildRun, registry?: ExperimentalRegistry): Promise<Dict>;
95
+ /** Packaged-install collaborators: the Experimental registry and Web's state dir for channel-switch backups. */
96
+ export interface PackagedUpdateOptions {
97
+ registry?: ExperimentalRegistry | undefined;
98
+ stateDir?: string | undefined;
99
+ }
100
+ export declare const CHANNEL_SWITCH_BACKUPS = 5;
101
+ /** Copy the persisted stores to `<stateDir>/backups/channel-switch-<UTC timestamp>/`, keeping the newest few; throws on failure. */
102
+ export declare function backupPersistedStores(stateDir: string, now?: Date, keep?: number): string;
74
103
  /** Python `apply_web_update`: fast-forward a recognized clean checkout to main or a published Stable tag. */
75
- export declare function applyWebUpdate(webRoot: string | null, channel: Channel, git: GitRun, getJson: GetJson, id: ReleaseIdentity, build?: BuildRun, npmRun?: BuildRun, canApply?: () => boolean): Promise<Dict>;
104
+ export declare function applyWebUpdate(webRoot: string | null, channel: Channel, git: GitRun, getJson: GetJson, id: ReleaseIdentity, build?: BuildRun, npmRun?: BuildRun, canApply?: () => boolean, packaged?: PackagedUpdateOptions): Promise<Dict>;
76
105
  export interface AgentUpdatePolicy {
77
106
  supportedRevision: string;
78
107
  supportedVersion: string;
@@ -111,17 +140,30 @@ export interface UpdateServiceDeps {
111
140
  git?: GitRun;
112
141
  /** Runs the checkout's npm install/build steps after a source update (default: the npm beside this node). */
113
142
  build?: BuildRun;
114
- /** Runs global npm discovery/install for packaged Stable updates. */
143
+ /** Runs global npm discovery/install for packaged updates. */
115
144
  npm?: BuildRun;
116
145
  getJson: GetJson;
146
+ /** The public GHCR Experimental artifact that npm installs follow on the Experimental channel. */
147
+ experimental?: ExperimentalRegistry;
148
+ /** Web's state dir; channel switches back up its persisted stores here first. */
149
+ stateDir?: string;
117
150
  identity: ReleaseIdentity;
118
151
  webuiVersion: string;
152
+ /** Re-derive the installed Web version after a check (tags can arrive after startup); returns the current label. */
153
+ refreshWebuiVersion?: () => string;
119
154
  agentDir: () => string | null;
120
155
  channel: () => Channel;
121
156
  agentChannel?: () => Channel;
122
157
  includeAgent: () => boolean;
123
158
  autoApply?: () => boolean;
124
159
  checkEnabled?: () => boolean;
160
+ autoNotification?: {
161
+ begin: () => string;
162
+ transition: (id: string, phase: 'restarting' | 'succeeded' | 'blocked' | 'failed', expectedIdentity?: string | null, verifiedIdentity?: {
163
+ revision: string | null;
164
+ version: string | null;
165
+ }) => void;
166
+ };
125
167
  blockers: () => RestartBlockers;
126
168
  /** Re-exec the server once active work drains (`restartWhenSafe`). */
127
169
  scheduleRestart: () => void;
@@ -138,6 +180,7 @@ export declare class UpdateService {
138
180
  private readonly cache;
139
181
  private checking;
140
182
  private checkingKey;
183
+ private readonly lastGood;
141
184
  private applying;
142
185
  private autoTimer;
143
186
  private autoStarted;
@@ -155,10 +198,13 @@ export declare class UpdateService {
155
198
  cachedStatus(includeAgent?: boolean, channel?: Channel, agentChannel?: Channel): Dict;
156
199
  /** 30 min cache keyed on both channels + include_agent; one in-flight check per key. */
157
200
  check(force?: boolean, includeAgent?: boolean, channel?: Channel, agentChannel?: Channel): Promise<Dict>;
201
+ /** 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. */
202
+ private keepLastGood;
158
203
  startAutoApply(intervalMs?: number): void;
159
204
  stopAutoApply(): void;
160
205
  /** Shared turn admission stays closed from update start through the supervisor restart. */
161
206
  blocksNewWork(): boolean;
207
+ private pendingRestartResponse;
162
208
  autoApplyOnce(): Promise<Dict | null>;
163
209
  blockedResponse(target: string): Dict | null;
164
210
  private locked;