@maudecode/talaria-web 1.12.1 → 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.
Files changed (182) hide show
  1. package/LICENSE +22 -0
  2. package/_release.json +4 -4
  3. package/dist/api/tools-router.d.ts +114 -0
  4. package/dist/api/tools-router.js +10 -8
  5. package/dist/api/tools-router.js.map +1 -1
  6. package/dist/app.d.ts +114 -0
  7. package/dist/auth/passkeys.js +1 -1
  8. package/dist/auth/passkeys.js.map +1 -1
  9. package/dist/cli/ctl.d.ts +6 -3
  10. package/dist/cli/ctl.js +25 -16
  11. package/dist/cli/ctl.js.map +1 -1
  12. package/dist/cli/launcher.js +2 -2
  13. package/dist/cli/launcher.js.map +1 -1
  14. package/dist/mcp/server.js +1 -1
  15. package/dist/mcp/server.js.map +1 -1
  16. package/dist/runtime.js +1 -1
  17. package/dist/runtime.js.map +1 -1
  18. package/dist/server.js +1 -1
  19. package/dist/server.js.map +1 -1
  20. package/dist/sessions/export.js +1 -1
  21. package/dist/sessions/export.js.map +1 -1
  22. package/dist/sessions/relay.js +1 -1
  23. package/dist/sessions/relay.js.map +1 -1
  24. package/dist/tools/update-notifications.d.ts +15 -2
  25. package/dist/tools/update-notifications.js +28 -8
  26. package/dist/tools/update-notifications.js.map +1 -1
  27. package/dist/tools/updates.d.ts +6 -15
  28. package/dist/tools/updates.js +16 -319
  29. package/dist/tools/updates.js.map +1 -1
  30. package/package.json +3 -2
  31. package/static/dist/FILES.txt +116 -115
  32. package/static/dist/THIRD_PARTY_LICENSES.md +5170 -0
  33. package/static/dist/assets/AppShell-irdqom6e.js +1 -0
  34. package/static/dist/assets/ChatPage-ldhqevjn.js +20 -0
  35. package/static/dist/assets/{HubRoute-hqgqtm35.js → HubRoute-hq24vhj8.js} +2 -2
  36. package/static/dist/assets/{Markdown-j2hlu30v.js → Markdown-bx4n7qs4.js} +7 -7
  37. package/static/dist/assets/RightPanel-ds4majj3.js +1 -0
  38. package/static/dist/assets/Select-gpqmt6x1.js +1 -0
  39. package/static/dist/assets/SessionListPanel-hkvipik4.js +1 -0
  40. package/static/dist/assets/{SettingsLayout-b0idn649.js → SettingsLayout-oigbg9rl.js} +1 -1
  41. package/static/dist/assets/States-fn4o2wdf.js +1 -0
  42. package/static/dist/assets/{Toaster-h49pk1hy.js → Toaster-cwnut53k.js} +1 -1
  43. package/static/dist/assets/_app-h6ago6y6.js +1 -0
  44. package/static/dist/assets/{_app.ext._extensionId-h8oaqzsj.js → _app.ext._extensionId-erqnfff5.js} +1 -1
  45. package/static/dist/assets/_app.index-cq2fxmda.js +1 -0
  46. package/static/dist/assets/_app.insights-nzhld9gu.js +1 -0
  47. package/static/dist/assets/_app.kanban-m5uggety.js +1 -0
  48. package/static/dist/assets/_app.logs-d2kk9lza.js +1 -0
  49. package/static/dist/assets/_app.memory-gcmop1e7.js +1 -0
  50. package/static/dist/assets/_app.profiles-e9b2my7x.js +1 -0
  51. package/static/dist/assets/{_app.session._sessionId-hhpcqih4.js → _app.session._sessionId-ciix6itb.js} +1 -1
  52. package/static/dist/assets/_app.settings-kcjum3c1.js +1 -0
  53. package/static/dist/assets/_app.settings._section-bi4jjex0.js +1 -0
  54. package/static/dist/assets/_app.skills-e4e61l23.js +1 -0
  55. package/static/dist/assets/{_app.tasks-ijphsw56.js → _app.tasks-f1evdhbl.js} +2 -2
  56. package/static/dist/assets/_app.todos-o7ijtk42.js +1 -0
  57. package/static/dist/assets/_app.workspaces-o18voh0w.js +1 -0
  58. package/static/dist/assets/{abnfDiagram-VCTEODGH-egykbz8h.js → abnfDiagram-VCTEODGH-krt0yaru.js} +1 -1
  59. package/static/dist/assets/architecture-7GRP2DOG-notdhmpv.js +1 -0
  60. package/static/dist/assets/{architectureDiagram-5GKGNRK7-b2e0wk3y.js → architectureDiagram-5GKGNRK7-i54t9ywl.js} +1 -1
  61. package/static/dist/assets/{blockDiagram-I7D4REHJ-i3cq67dn.js → blockDiagram-I7D4REHJ-fevbz4mz.js} +1 -1
  62. package/static/dist/assets/{c4Diagram-7LVT6UL2-lg1p1s7a.js → c4Diagram-7LVT6UL2-np8eclmc.js} +1 -1
  63. package/static/dist/assets/channel-jpk1nas2.js +1 -0
  64. package/static/dist/assets/{chunk-4HAMMTFA-i0s1s7zi.js → chunk-4HAMMTFA-owoi036m.js} +1 -1
  65. package/static/dist/assets/{chunk-75Z2AOVW-kwinpapo.js → chunk-75Z2AOVW-md44zf1n.js} +1 -1
  66. package/static/dist/assets/{chunk-DU6HZSFF-hb8qrbc3.js → chunk-DU6HZSFF-ka3rw8d6.js} +3 -3
  67. package/static/dist/assets/{chunk-F27PBJKO-dy2tqtcs.js → chunk-F27PBJKO-iasnjsky.js} +1 -1
  68. package/static/dist/assets/{chunk-GMAD6QVW-fqox5yvt.js → chunk-GMAD6QVW-ex1up6tz.js} +1 -1
  69. package/static/dist/assets/{chunk-GVQU2GXP-bo3x6ze4.js → chunk-GVQU2GXP-d4kmmg9p.js} +1 -1
  70. package/static/dist/assets/{chunk-IMKFNOWR-nxs6rrcq.js → chunk-IMKFNOWR-mwy42t85.js} +1 -1
  71. package/static/dist/assets/{chunk-L3NEJ4N5-f9yeq1fi.js → chunk-L3NEJ4N5-fv7ry213.js} +1 -1
  72. package/static/dist/assets/{chunk-OSK3NFVY-c7df44qv.js → chunk-OSK3NFVY-jg9ir8ac.js} +1 -1
  73. package/static/dist/assets/{chunk-P2QGCYS3-eyjzf5o5.js → chunk-P2QGCYS3-pe9ms3ua.js} +1 -1
  74. package/static/dist/assets/{chunk-POPQ4Y6H-iy3hp9rc.js → chunk-POPQ4Y6H-dimsjrn1.js} +1 -1
  75. package/static/dist/assets/{chunk-PWAF6VOD-co2yoefz.js → chunk-PWAF6VOD-m4hv98dy.js} +1 -1
  76. package/static/dist/assets/{chunk-SHT3W25Y-obzqmn9k.js → chunk-SHT3W25Y-gkjgl6qe.js} +1 -1
  77. package/static/dist/assets/{chunk-SVP7TREG-hqwdo6vt.js → chunk-SVP7TREG-bc8qss5l.js} +1 -1
  78. package/static/dist/assets/{chunk-TICWLB2K-l8t1mdfd.js → chunk-TICWLB2K-k9wzw38w.js} +1 -1
  79. package/static/dist/assets/classDiagram-ZZMXUADV-hld301gc.js +1 -0
  80. package/static/dist/assets/classDiagram-v2-VYDZK3BY-hld301gc.js +1 -0
  81. package/static/dist/assets/{copied-hurn8vn4.js → copied-d5joolw7.js} +1 -1
  82. package/static/dist/assets/{cynefin-OW5HDTMX-ngx2ihay.js → cynefin-OW5HDTMX-hueklikk.js} +1 -1
  83. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-fiyooys3.js → cynefinDiagram-5FMLGOSQ-e83o1wr1.js} +1 -1
  84. package/static/dist/assets/{dagre-GXQ25YYZ-fctryel6.js → dagre-GXQ25YYZ-ir1tj2ar.js} +1 -1
  85. package/static/dist/assets/{diagram-S7CK7UJ4-m27jopok.js → diagram-S7CK7UJ4-o5218p2q.js} +1 -1
  86. package/static/dist/assets/{diagram-UQ7AKVKN-ojgkbmp4.js → diagram-UQ7AKVKN-ciad4o1i.js} +1 -1
  87. package/static/dist/assets/{diagram-VSXAHHWV-gfafpgyj.js → diagram-VSXAHHWV-oharqjbt.js} +1 -1
  88. package/static/dist/assets/{diagram-VX7I27RA-daobicg4.js → diagram-VX7I27RA-wkwy62iv.js} +1 -1
  89. package/static/dist/assets/{diagram-Z3DM3KII-mi475zvk.js → diagram-Z3DM3KII-bl252i7r.js} +1 -1
  90. package/static/dist/assets/{ebnfDiagram-PWID7BFC-daf4zvsy.js → ebnfDiagram-PWID7BFC-nm0rcly7.js} +1 -1
  91. package/static/dist/assets/{endpoints-cyjhnrbn.js → endpoints-d8n28yf3.js} +1 -1
  92. package/static/dist/assets/{erDiagram-RLTQ6QDP-gxfhxvfp.js → erDiagram-RLTQ6QDP-m1w0vta2.js} +1 -1
  93. package/static/dist/assets/eventmodeling-NTZA5JFV-eaqs19mj.js +1 -0
  94. package/static/dist/assets/flowDiagram-HODETNUW-eli5764n.js +1 -0
  95. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-k3208e0p.js → ganttDiagram-EL5Y4UJY-czxo6iew.js} +1 -1
  96. package/static/dist/assets/{gitGraph-4MIJSDKK-gjuhj4zk.js → gitGraph-4MIJSDKK-ip9j1rph.js} +1 -1
  97. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-jglxvux1.js → gitGraphDiagram-WWUBYQGX-kalxdole.js} +1 -1
  98. package/static/dist/assets/{highlighted-body-KPVGNVTW-gh24xc9c.js → highlighted-body-KPVGNVTW-lgsj6fsk.js} +1 -1
  99. package/static/dist/assets/{index-jb47los5.js → index-l08181vr.js} +3 -3
  100. package/static/dist/assets/index-pdtcl20t.css +2 -0
  101. package/static/dist/assets/{info-A6RAGUB7-huf0xaoq.js → info-A6RAGUB7-fv4fbc5m.js} +1 -1
  102. package/static/dist/assets/{infoDiagram-27XIBGKW-jk3n96ix.js → infoDiagram-27XIBGKW-kinx5jsl.js} +1 -1
  103. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-o95uo5dx.js → ishikawaDiagram-5VMMS53U-kozvlqdv.js} +1 -1
  104. package/static/dist/assets/{journeyDiagram-3NMN7TZE-h5ye2l70.js → journeyDiagram-3NMN7TZE-lgpouxoe.js} +1 -1
  105. package/static/dist/assets/{kanban-definition-UXKFOSKX-lgrpk5yi.js → kanban-definition-UXKFOSKX-b320wo7b.js} +1 -1
  106. package/static/dist/assets/{lazyRouteComponent-owywngyt.js → lazyRouteComponent-hy8doeye.js} +1 -1
  107. package/static/dist/assets/{line-cihmc0pn.js → line-gxfwyhjq.js} +1 -1
  108. package/static/dist/assets/{login-g063apx6.js → login-llplsuey.js} +1 -1
  109. package/static/dist/assets/mermaid-HWGCJPDP-f3scrlds.js +1 -0
  110. package/static/dist/assets/{mermaid-parser.core-d1609aga.js → mermaid-parser.core-loxeqsu3.js} +3 -3
  111. package/static/dist/assets/{mindmap-definition-YA3MSWOX-lbvtir31.js → mindmap-definition-YA3MSWOX-edi534gc.js} +1 -1
  112. package/static/dist/assets/{onboarding-ngw0x0pr.js → onboarding-n1xhlgym.js} +1 -1
  113. package/static/dist/assets/{packet-AYTQ26CC-o4cp5z3k.js → packet-AYTQ26CC-gmb3yy71.js} +1 -1
  114. package/static/dist/assets/{pegDiagram-XKGWAZYB-e8xqu1qj.js → pegDiagram-XKGWAZYB-fxy5j8cx.js} +1 -1
  115. package/static/dist/assets/{pie-WAS4IAKB-hm9icuov.js → pie-WAS4IAKB-do2pm4s6.js} +1 -1
  116. package/static/dist/assets/{pieDiagram-E7YTZNPT-hj96x7hn.js → pieDiagram-E7YTZNPT-mgjvb365.js} +1 -1
  117. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-80utbxhm.js → quadrantDiagram-AXDQQJYC-dhok6m1j.js} +1 -1
  118. package/static/dist/assets/{radar-RG4KPBEZ-k39b6100.js → radar-RG4KPBEZ-n5giw3vb.js} +1 -1
  119. package/static/dist/assets/{railroad-74A4TZTK-ewyqz67j.js → railroad-74A4TZTK-h6nfs9bj.js} +1 -1
  120. package/static/dist/assets/railroad-abnf-HS5TGJTU-d5gaaud9.js +1 -0
  121. package/static/dist/assets/railroad-ebnf-LZEXJU2U-ihudnbec.js +1 -0
  122. package/static/dist/assets/railroad-peg-WCYAUIDC-lgpvhel7.js +1 -0
  123. package/static/dist/assets/{railroadDiagram-O6MQD6OU-iwv9dby8.js → railroadDiagram-O6MQD6OU-lfwg92r4.js} +1 -1
  124. package/static/dist/assets/{refresh-cw-hjzomwlo.js → refresh-cw-bg6oc499.js} +1 -1
  125. package/static/dist/assets/{requirementDiagram-BXWQKSXE-cdgh5jha.js → requirementDiagram-BXWQKSXE-c5k5pg07.js} +1 -1
  126. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-dbu6p97m.js → sankeyDiagram-P5KCCOFB-o9auio4y.js} +1 -1
  127. package/static/dist/assets/{saved-feqhycco.js → saved-j5wyhbik.js} +1 -1
  128. package/static/dist/assets/{search-n3jdc20p.js → search-ipa17zlr.js} +1 -1
  129. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-b0wchifg.js → sequenceDiagram-WJ2MYXX4-pfgodnmk.js} +1 -1
  130. package/static/dist/assets/{settings_section_extensions_title-mtyviexd.js → settings_section_extensions_title-fcfjf6l8.js} +1 -1
  131. package/static/dist/assets/{share._token-cwov8uqh.js → share._token-i339gqj4.js} +1 -1
  132. package/static/dist/assets/{sliders-horizontal-i1lseyg0.js → sliders-horizontal-bfrh4rch.js} +1 -1
  133. package/static/dist/assets/{stateDiagram-D77RDMKH-mb4b38xh.js → stateDiagram-D77RDMKH-m1y2cr3q.js} +1 -1
  134. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-hehvfv55.js +1 -0
  135. package/static/dist/assets/{swimlanes-42K2YHIH-ofrpfwj0.js → swimlanes-42K2YHIH-hzai6fwo.js} +1 -1
  136. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-nfk9mtst.js +8 -0
  137. package/static/dist/assets/{timeline-definition-24CTP7MA-hlw0jg6o.js → timeline-definition-24CTP7MA-gwefy9gi.js} +1 -1
  138. package/static/dist/assets/{todoStore-mfy9lpio.js → todoStore-fhvdsen0.js} +1 -1
  139. package/static/dist/assets/{treeView-Q6P3EWNA-d93wr19c.js → treeView-Q6P3EWNA-7q91p0dn.js} +1 -1
  140. package/static/dist/assets/{treemap-WGGIJYW6-g7ezdedz.js → treemap-WGGIJYW6-occom39a.js} +1 -1
  141. package/static/dist/assets/{untitled-mqxhd1eh.js → untitled-cgw2enra.js} +1 -1
  142. package/static/dist/assets/{useForm-hh33yrwa.js → useForm-jwbfla68.js} +1 -1
  143. package/static/dist/assets/useLocale-gieo1fn7.js +1 -0
  144. package/static/dist/assets/{vennDiagram-4TSXK5OY-m5vgeba5.js → vennDiagram-4TSXK5OY-ew4bhldi.js} +1 -1
  145. package/static/dist/assets/{wardley-WFR3VGLG-gpao9bxv.js → wardley-WFR3VGLG-njdacy0u.js} +1 -1
  146. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-g2yzwshm.js → wardleyDiagram-VM6X3IG4-mkvxx7u9.js} +1 -1
  147. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-itakhpic.js → xychartDiagram-S5SC5T6Z-8uriotdw.js} +1 -1
  148. package/static/dist/index.html +1 -1
  149. package/static/dist/manifest.webmanifest +1 -1
  150. package/static/dist/sw.js +1 -1
  151. package/static/dist/assets/AppShell-m4w420jl.js +0 -1
  152. package/static/dist/assets/ChatPage-cuqcnisv.js +0 -20
  153. package/static/dist/assets/RightPanel-oid5q557.js +0 -1
  154. package/static/dist/assets/Select-ot2zr0il.js +0 -1
  155. package/static/dist/assets/SessionListPanel-o3sgjnrq.js +0 -1
  156. package/static/dist/assets/States-htz1oee5.js +0 -1
  157. package/static/dist/assets/_app-h7eaezs7.js +0 -1
  158. package/static/dist/assets/_app.index-xinao3xh.js +0 -1
  159. package/static/dist/assets/_app.insights-cxplvhkm.js +0 -1
  160. package/static/dist/assets/_app.kanban-hhli8h0h.js +0 -1
  161. package/static/dist/assets/_app.logs-f6srwjfl.js +0 -1
  162. package/static/dist/assets/_app.memory-lntcea85.js +0 -1
  163. package/static/dist/assets/_app.profiles-lftyp6of.js +0 -1
  164. package/static/dist/assets/_app.settings-rs93zpvw.js +0 -1
  165. package/static/dist/assets/_app.settings._section-nafqsbwm.js +0 -1
  166. package/static/dist/assets/_app.skills-jzoi1ivd.js +0 -1
  167. package/static/dist/assets/_app.todos-emyh8inv.js +0 -1
  168. package/static/dist/assets/_app.workspaces-fwr1cum8.js +0 -1
  169. package/static/dist/assets/architecture-7GRP2DOG-l6y92mbn.js +0 -1
  170. package/static/dist/assets/channel-gq8cwu71.js +0 -1
  171. package/static/dist/assets/classDiagram-ZZMXUADV-fg9sc5r8.js +0 -1
  172. package/static/dist/assets/classDiagram-v2-VYDZK3BY-fg9sc5r8.js +0 -1
  173. package/static/dist/assets/eventmodeling-NTZA5JFV-manga0bq.js +0 -1
  174. package/static/dist/assets/flowDiagram-HODETNUW-bpt13uny.js +0 -1
  175. package/static/dist/assets/index-gsg78cb4.css +0 -2
  176. package/static/dist/assets/mermaid-HWGCJPDP-okd1mnvj.js +0 -1
  177. package/static/dist/assets/railroad-abnf-HS5TGJTU-dx2q0evz.js +0 -1
  178. package/static/dist/assets/railroad-ebnf-LZEXJU2U-l8xt49t5.js +0 -1
  179. package/static/dist/assets/railroad-peg-WCYAUIDC-kuxha9yz.js +0 -1
  180. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-cn1fnqrg.js +0 -1
  181. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-d652ummv.js +0 -8
  182. package/static/dist/assets/useLocale-cr30vl7r.js +0 -1
@@ -61,4 +61,4 @@ data: `)}
61
61
  `),e.retry!==void 0&&(nd(e.retry),t+=`retry: ${e.retry}
62
62
  `),e.id!==void 0&&(ed(e.id),t+=`id: ${e.id}
63
63
  `),t+=id(e.data),t+=`
64
- `,t}var sd=Symbol(`ORPC_EVENT_SOURCE_META`);function cd(e,t){if(t.id===void 0&&t.retry===void 0&&!t.comments?.length)return e;if(t.id!==void 0&&ed(t.id),t.retry!==void 0&&nd(t.retry),t.comments!==void 0)for(let e of t.comments)rd(e);return new Proxy(e,{get(e,n,r){return n===sd?t:Reflect.get(e,n,r)}})}function ld(e){return yu(e)?Reflect.get(e,sd):void 0}function ud(e,t=`inline`){return`${t}; filename="${e.replace(/[^\x20-\x7E]/g,`_`).replace(/"/g,`\\"`)}"; filename*=utf-8''${encodeURIComponent(e).replace(/['()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`).replace(/%(7C|60|5E)/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}`}function dd(e){let t=e.match(/filename\*=(UTF-8'')?([^;]*)/i);if(t&&typeof t[2]==`string`)return Eu(t[2]);let n=e.match(/filename="((?:\\"|[^"])*)"/i);if(n&&typeof n[1]==`string`)return n[1].replace(/\\"/g,`"`)}function fd(e,t){let n={...e};for(let e in t)Array.isArray(t[e])?n[e]=[...Yl(n[e]),...t[e]]:t[e]!==void 0&&(n[e]=Array.isArray(n[e])?[...n[e],t[e]]:n[e]===void 0?t[e]:[n[e],t[e]]);return n}function pd(e,t){let n=async e=>{let n=await t.error(e);if(n!==e){let t=ld(e);t&&yu(n)&&(n=cd(n,t))}return n};return new fu(async()=>{let{done:r,value:i}=await(async()=>{try{return await e.next()}catch(e){throw await n(e)}})(),a=await t.value(i,r);if(a!==i){let e=ld(i);e&&yu(a)&&(a=cd(a,e))}return{done:r,value:a}},async()=>{try{await e.return?.()}catch(e){throw await n(e)}})}function md(e){return{...e,context:e.context??{}}}function hd(e,t={}){let n=t.path??[];return Cu(new Proxy(async(...[t,r={}])=>await e.call(n,t,md(r)),{get(r,i){return typeof i!=`string`||ku.has(i)?Reflect.get(r,i):hd(e,{...t,path:[...n,i]})}}))}function gd(e,t){return{...e,...t}}var _d=class{"~orpc";constructor(e){if(e.route?.successStatus&&Iu(e.route.successStatus))throw Error(`[ContractProcedure] Invalid successStatus.`);if(Object.values(e.errorMap).some(e=>e&&e.status&&!Iu(e.status)))throw Error(`[ContractProcedure] Invalid error status code.`);this[`~orpc`]=e}};function vd(e){return e instanceof _d||(typeof e==`object`||typeof e==`function`)&&e!==null&&`~orpc`in e&&typeof e[`~orpc`]==`object`&&e[`~orpc`]!==null&&`errorMap`in e[`~orpc`]&&`route`in e[`~orpc`]&&`meta`in e[`~orpc`]}function yd(e,t={}){let n=(e?.pipeThrough(new TextDecoderStream).pipeThrough(new Xu))?.getReader(),r,i=!1;return new fu(async()=>{r??=au(`consume_event_iterator_stream`);try{for(;;){if(n===void 0)return{done:!0,value:void 0};let{done:e,value:t}=await lu(r,()=>n.read());if(e){if(i)throw new $l(`Stream was cancelled`);return{done:!0,value:void 0}}switch(t.event){case`message`:{let e=hu(t.data);return yu(e)&&(e=cd(e,t)),r?.addEvent(`message`),{done:!1,value:e}}case`error`:{let e=new Vu({data:hu(t.data)});throw e=cd(e,t),r?.addEvent(`error`),e}case`done`:{let e=hu(t.data);return yu(e)&&(e=cd(e,t)),r?.addEvent(`done`),{done:!0,value:e}}default:r?.addEvent(`maybe_keepalive`)}}}catch(e){throw e instanceof Vu||ou(r,e,t),e}},async e=>{try{e!==`next`&&(i=!0,r?.addEvent(`cancelled`)),await lu(r,()=>n?.cancel())}catch(e){throw ou(r,e,t),e}finally{r?.end()}})}function bd(e,t={}){let n=t.eventIteratorKeepAliveEnabled??!0,r=t.eventIteratorKeepAliveInterval??5e3,i=t.eventIteratorKeepAliveComment??``,a=t.eventIteratorInitialCommentEnabled??!0,o=t.eventIteratorInitialComment??``,s=!1,c,l;return new ReadableStream({start(e){l=au(`stream_event_iterator`),a&&e.enqueue(od({comments:[o]}))},async pull(t){try{n&&(c=setInterval(()=>{t.enqueue(od({comments:[i]})),l?.addEvent(`keepalive`)},r));let a=await lu(l,()=>e.next());if(clearInterval(c),s)return;let o=ld(a.value);if(!a.done||a.value!==void 0||o!==void 0){let e=a.done?`done`:`message`;t.enqueue(od({...o,event:e,data:gu(a.value)})),l?.addEvent(e)}a.done&&(t.close(),l?.end())}catch(e){if(clearInterval(c),s)return;e instanceof Vu?(t.enqueue(od({...ld(e),event:`error`,data:gu(e.data)})),l?.addEvent(`error`),t.close()):(ou(l,e),t.error(e)),l?.end()}},async cancel(){try{s=!0,clearInterval(c),l?.addEvent(`cancelled`),await lu(l,()=>e.return?.())}catch(e){throw ou(l,e),e}finally{l?.end()}}}).pipeThrough(new TextEncoderStream)}function xd(e,t={}){return cu({name:`parse_standard_body`,signal:t.signal},async()=>{let n=e.headers.get(`content-disposition`);if(typeof n==`string`){let t=dd(n)??`blob`,r=await e.blob();return new File([r],t,{type:r.type})}let r=e.headers.get(`content-type`);if(!r||r.startsWith(`application/json`))return hu(await e.text());if(r.startsWith(`multipart/form-data`))return await e.formData();if(r.startsWith(`application/x-www-form-urlencoded`)){let t=await e.text();return new URLSearchParams(t)}if(r.startsWith(`text/event-stream`))return yd(e.body,t);if(r.startsWith(`text/plain`))return await e.text();let i=await e.blob();return new File([i],`blob`,{type:i.type})})}function Sd(e,t,n={}){if(e instanceof ReadableStream)return e;let r=t.get(`content-disposition`);if(t.delete(`content-type`),t.delete(`content-disposition`),e!==void 0)return e instanceof Blob?(t.set(`content-type`,e.type),t.set(`content-length`,e.size.toString()),t.set(`content-disposition`,r??ud(e instanceof File?e.name:`blob`)),e):e instanceof FormData||e instanceof URLSearchParams?e:uu(e)?(t.set(`content-type`,`text/event-stream`),bd(e,n)):(t.set(`content-type`,`application/json`),gu(e))}function Cd(e,t={}){return e.forEach((e,n)=>{Array.isArray(t[n])?t[n].push(e):t[n]=t[n]===void 0?e:[t[n],e]}),t}function wd(e,t=new Headers){for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.append(n,r);return t}function Td(e,t={}){let n=wd(e.headers),r=Sd(e.body,n,t);return new Request(e.url,{signal:e.signal,method:e.method,headers:n,body:r})}function Ed(e,t={}){return{body:eu(()=>xd(e,t)),status:e.status,get headers(){let t=Cd(e.headers);return Object.defineProperty(this,"headers",{value:t,writable:!0}),t},set headers(e){Object.defineProperty(this,"headers",{value:e,writable:!0})}}}var Dd=class{plugins;constructor(e=[]){this.plugins=[...e].sort((e,t)=>(e.order??0)-(t.order??0))}init(e){for(let t of this.plugins)t.init?.(e)}},Od=class{constructor(e,t,n={}){this.codec=e,this.sender=t,new Dd(n.plugins).init(n),this.interceptors=Yl(n.interceptors),this.clientInterceptors=Yl(n.clientInterceptors)}interceptors;clientInterceptors;call(e,t,n){return cu({name:`${Xl}.${e.join(`/`)}`,signal:n.signal},r=>(r?.setAttribute(`rpc.system`,Xl),r?.setAttribute(`rpc.method`,e.join(`.`)),uu(t)&&(t=pu({name:`consume_event_iterator_input`,signal:n.signal},t)),mu(this.interceptors,{...n,path:e,input:t},async({path:e,input:t,...n})=>{let i=iu(),a,o=i?.trace.getActiveSpan()??r;o&&i&&(a=i?.trace.setSpan(i.context.active(),o));let s=await cu({name:`encode_request`,context:a},()=>this.codec.encode(e,t,n)),c=await mu(this.clientInterceptors,{...n,input:t,path:e,request:s},({input:e,path:t,request:n,...r})=>cu({name:`send_request`,signal:r.signal,context:a},()=>this.sender.call(n,r,t,e))),l=await cu({name:`decode_response`,context:a},()=>this.codec.decode(c,n,e,t));return uu(l)?pu({name:`consume_event_iterator_output`,signal:n.signal},l):l})))}};new Set(Object.values({BIGINT:0,DATE:1,NAN:2,UNDEFINED:3,URL:4,REGEXP:5,SET:6,MAP:7}));function kd(e){return`/${e.map(encodeURIComponent).join(`/`)}`}function Ad(e){return typeof e.forEach==`function`?Cd(e):e}function jd(e){return Object.entries(Au).find(([,t])=>t.status===e)?.[0]??`MALFORMED_ORPC_ERROR_RESPONSE`}function Md(e,t){return{...e,...t}}function Nd(e,t){return{...e,...t}}function Pd(e,t){return e.path?{...e,path:`${t}${e.path}`}:e}function Fd(e,t){return{...e,tags:[...t,...e.tags??[]]}}function Id(e,t){return e?`${e}${t}`:t}function Ld(e,t){return e?[...e,...t]:t}function Rd(e,t){let n=e;return t.prefix&&(n=Pd(n,t.prefix)),t.tags?.length&&(n=Fd(n,t.tags)),n}function zd(e,t){if(vd(e))return new _d({...e[`~orpc`],errorMap:gd(t.errorMap,e[`~orpc`].errorMap),route:Rd(e[`~orpc`].route,t)});if(typeof e!=`object`||!e)return e;let n={};for(let r in e)n[r]=zd(e[r],t);return n}var B=new class e extends _d{constructor(e){super(e),this[`~orpc`].prefix=e.prefix,this[`~orpc`].tags=e.tags}$meta(t){return new e({...this[`~orpc`],meta:t})}$route(t){return new e({...this[`~orpc`],route:t})}$input(t){return new e({...this[`~orpc`],inputSchema:t})}errors(t){return new e({...this[`~orpc`],errorMap:gd(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:Md(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:Nd(this[`~orpc`].route,t)})}input(t){return new e({...this[`~orpc`],inputSchema:t})}output(t){return new e({...this[`~orpc`],outputSchema:t})}prefix(t){return new e({...this[`~orpc`],prefix:Id(this[`~orpc`].prefix,t)})}tag(...t){return new e({...this[`~orpc`],tags:Ld(this[`~orpc`].tags,t)})}router(e){return zd(e,this[`~orpc`])}}({errorMap:{},route:{},meta:{}}),Bd={defaultMethod:`POST`,defaultSuccessStatus:200,defaultSuccessDescription:`OK`,defaultInputStructure:`compact`,defaultOutputStructure:`compact`};function Vd(e,t){return t===void 0?Bd[e]:t}var V=O(),H=w().nullable(),U=E().nullable(),Hd=E(),Ud=w().regex(/^[A-Za-z0-9_.:-]{1,128}$/,`invalid session id`),Wd=j({filename:w().optional(),name:w().optional(),path:w().optional(),size:E().optional(),mime:w().optional(),is_image:D().optional(),rollback_token:w().optional()}),Gd=P([`shell`,`read`,`list`,`search`,`web`,`write`,`skill`,`memory`,`delegate`,`unknown`]),Kd={kind:Gd.optional(),target:w().optional()},qd=j({...Kd,name:w().optional(),args:V.optional(),function:j({name:w().optional(),arguments:V.optional()}).optional(),id:w().optional(),call_id:w().optional(),tool_call_id:w().optional(),done:D().optional(),is_error:D().optional(),preview:w().nullable().optional(),result:V.optional(),output:V.optional(),duration:E().nullable().optional(),cost_usd:E().nullable().optional(),timestamp:E().nullable().optional(),event_type:w().optional()}),Jd=j({type:w(),text:w().optional()}),Yd=M([w(),k(Jd),Ws()]);P([`user`,`assistant`,`system`,`tool`]);var Xd=M([w(),E()]),Zd=j({row_id:w(),order_index:E().int(),role:P([`prose`,`reasoning`,`tool`,`steering`]),created_at:E().optional(),text:w().optional(),titles:k(w()).optional(),tool:j({id:w(),name:w(),...Kd,args:V.optional(),preview:w().nullable(),result:V.optional(),done:D(),is_error:D(),duration:E().nullable(),cost_usd:E().nullable()}).optional(),steering:j({steer_id:w(),consumed:D(),submitted_at:E().nullable(),consumed_at:E().nullable(),phase_duration:E().nullable().optional()}).optional()}),Qd=j({path:w(),action:P([`added`,`edited`,`deleted`,`renamed`])}),$d=P([`completed`,`no_response`,`cancelled`,`interrupted`,`tool_limit_reached`,`compression_exhausted`,`error`]),ef=j({version:F(`activity_scene_v1`),activity_rows:k(Zd),final_answer:w().optional(),turn_duration:E().nullable().optional(),terminal_state:w().optional(),expanded_by_default:D().optional(),final_phase_duration:E().optional(),has_consumed_steering:D().optional(),file_changes:k(Qd).optional(),activity_rows_total:E().int().optional(),activity_rows_offset:E().int().optional(),activity_rows_complete:D().optional(),activity_rows_omitted:E().int().optional(),activity_scene_ref:w().optional()}),tf=j({role:w(),content:Yd.optional(),id:Xd.optional(),message_id:Xd.optional(),timestamp:E().nullable().optional(),attachments:k(Wd).optional(),tool_calls:k(qd).optional(),reasoning:M([w(),k(V)]).nullable().optional(),reasoning_content:w().nullable().optional(),thinking:w().nullable().optional(),tool_call_id:w().optional(),tool_use_id:w().optional(),name:w().optional(),badge:w().optional(),label:w().optional(),provider_details:V.optional(),provider_details_label:w().optional(),recovery_control:V.optional(),_anchor_activity_scene:ef.optional(),_turn_id:w().optional(),_active_turn_user:D().optional(),_steer:j({steer_id:w(),submitted_at:E().nullable().optional(),consumed_at:E().optional(),phase_duration:E().optional()}).optional(),_final_phase_duration:E().optional()}),nf=j({text:w().optional(),files:k(V).optional()}),rf=D().describe(`True only while the session's run is a live stream on this server.`),af=H.optional().describe("The live stream id; non-null only while `is_streaming` is true."),of=D().describe(`The session cannot be modified from Web: a read-only import, a view-only subagent child, or a foreign session whose owner refuses claiming.`),sf=D().describe(`Web may branch this session: never a subagent child, and a read-only session only when it is a cron run.`),cf=D().describe(`Web may pin or unpin this session: never a subagent child.`),lf=D().describe(`Web may archive or unarchive this session: never a subagent child.`),uf=D().describe(`Web may duplicate this session: it has a WebUI copy and is not a subagent child.`),df=j({session_id:Ud,title:w(),workspace:w().optional(),created_workspace:w().nullable().optional(),model:H.optional(),model_provider:H.optional(),messages:k(tf).optional(),tool_calls:k(qd).optional(),created_at:Hd.optional(),updated_at:Hd.optional(),last_message_at:U.optional(),message_count:E().optional(),user_message_count:E().optional(),pinned:D().optional(),archived:D().optional(),project_id:H.optional(),profile:H.optional(),personality:H.optional(),input_tokens:E().optional(),output_tokens:E().optional(),cache_read_tokens:E().optional(),cache_write_tokens:E().optional(),cache_hit_percent:U.optional(),estimated_cost:U.optional(),active_stream_id:af,is_streaming:rf,has_pending_user_message:D().optional(),pending_user_message:H.optional(),pending_attachments:k(Wd).optional(),pending_started_at:U.optional(),pending_user_source:H.optional(),context_length:U.optional(),threshold_tokens:U.optional(),last_prompt_tokens:U.optional(),post_compression_context_tokens_estimate:U.optional(),enabled_toolsets:k(w()).nullable().optional(),composer_draft:nf.optional(),is_cli_session:D().optional(),read_only:of,can_branch:sf,can_pin:cf,can_archive:lf,can_duplicate:uf,source_tag:H.optional(),source_label:H.optional(),session_source:H.optional(),raw_source:H.optional(),parent_session_id:H.optional(),worktree_path:H.optional(),worktree_branch:H.optional(),worktree_repo_root:H.optional(),share_token:H.optional(),share_created_at:U.optional(),manual_title:D().optional(),compression_anchor_summary:H.optional(),compression_recovery:N(w(),V).optional(),recommended_recovery_action:H.optional(),compression_recovery_action:H.optional(),compression_recovery_source_session_id:H.optional(),gateway_routing:V.optional(),_messages_offset:E().optional(),_messages_truncated:D().optional(),_msg_limit_max:E().optional(),_load_revision:w().optional(),transcript_seq:A({stream_id:w(),seq:E().int().nonnegative()}).nullable().optional()}),ff=j({session:df}),pf=j({session_id:Ud,title:w(),workspace:w().optional(),model:H.optional(),created_at:Hd.optional(),updated_at:Hd.optional(),last_message_at:U.optional(),message_count:E().optional(),pinned:D().optional(),archived:D().optional(),project_id:H.optional(),profile:H.optional(),is_streaming:rf,is_cli_session:D().optional(),cron_running:D().optional(),read_only:of,can_branch:sf,can_pin:cf,can_archive:lf,can_duplicate:uf,attention:j({kind:w().optional(),count:E().optional()}).nullable().optional(),source_tag:H.optional(),source_label:H.optional(),session_source:H.optional(),raw_source:H.optional(),parent_session_id:H.optional(),active_stream_id:af,share_token:H.optional(),worktree_branch:H.optional(),match_type:w().optional(),match_preview:H.optional()}),mf=j({sessions:k(pf),sidebar_reference_sessions:k(pf),server_time:E(),server_tz:w(),active_profile:w(),all_profiles:D(),include_archived:D(),archived_count:E().int(),archived_webui_count:E().int(),archived_cli_count:E().int(),other_profile_count:E().int(),cli_count:E().int(),webui_session_count:E().int(),cli_session_count:E().int(),archived_limit:E().int().nullable().optional(),archived_offset:E().int().optional()}),hf=j({session_id:Ud,title:w().optional(),active_stream_id:af,agent_running:rf,is_streaming:rf,read_only:of,message_count:E().optional(),model:H.optional(),profile:H.optional(),workspace:w().optional(),input_tokens:E().optional(),output_tokens:E().optional(),total_tokens:E().optional(),estimated_cost:U.optional(),updated_at:Hd.optional()}),gf=j({input_tokens:E().optional(),output_tokens:E().optional(),total_tokens:E().optional(),estimated_cost:U.optional(),model:H.optional()}),_f=j({project_id:w(),name:w(),color:w().nullable().optional(),profile:H.optional(),created_at:E().optional()}),vf=j({projects:k(_f),active_profile:w(),all_profiles:D(),other_profile_count:E().int()}),yf=j({ok:F(!0),state_db_cleanup_failed:D().optional()}),bf=j({session_id:Ud,message:w().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional(),workspace:w().nullable().optional(),profile:w().nullable().optional(),explicit_model_pick:D().optional(),attachments:k(M([Wd,w()])).optional(),moa_config:D().optional(),regenerate:D().optional(),regeneration_revision:w().optional()}),xf=j({stream_id:w().optional(),session_id:Ud.optional(),turn_id:w().optional(),user_message_id:M([w(),E()]).nullable().optional(),pending_started_at:E().nullable().optional(),title:w().optional(),effective_model:w().optional(),effective_model_provider:w().optional(),queued:D().optional(),ok:D().optional(),status:w().optional(),reason:w().optional(),session:df.optional()}),Sf=j({active:D(),stream_id:w(),replay_available:D().optional(),journal:V.optional()}),Cf=j({ok:D(),cancelled:D(),stream_id:w().optional(),error:w().optional()});j({session_id:Ud,text:w().min(1),display_text:w().optional(),steer_id:w().optional()});var wf=j({accepted:D(),fallback:H.optional(),stream_id:H.optional(),steer_id:w().optional()}),Tf=j({pending:j({approval_id:w().optional(),session_id:w().optional(),command:w().optional(),description:w().optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),question:w().optional(),status:w().optional(),pending_count:E().optional(),run_id:w().optional(),mirror_token:w().optional()}).nullable(),pending_count:E().int()});j({session_id:Ud,choice:P([`once`,`session`,`always`,`deny`]),approval_id:w().optional(),command:w().optional(),yolo:D().optional(),run_id:w().optional(),mirror_token:w().optional()});var Ef=j({ok:D(),choice:w().optional(),yolo_enabled:D().optional(),stale_cleared:D().optional(),error:w().optional(),pending_count:E().optional()}),Df=M([w(),j({label:w().optional(),value:w().optional(),text:w().optional()})]),Of=j({qid:w(),question:w(),choices:k(w()),multi_select:D()}),kf=N(w(),M([w(),k(w())])),Af=j({pending:j({steps:k(Of).optional(),clarify_id:w().optional(),session_id:w().optional(),question:w().optional(),description:w().optional(),choices:k(Df).optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),status:w().optional(),raw_preview:w().optional(),timeout_at:E().optional(),timeout_seconds:E().optional(),pending_count:E().optional(),index:E().optional(),total:E().optional()}).nullable(),pending_count:E().int()});j({session_id:Ud,answers:kf.optional(),response:w().optional(),answer:w().optional(),choice:w().optional(),clarify_id:w().optional()});var jf=j({ok:D(),response:w().optional(),error:w().optional(),stale:D().optional()}),Mf=j({text:w(),files:k(V)}),Nf=j({ok:F(!0),draft:Mf,draft_version:w().nullable(),unchanged:D().optional()}),Pf=j({filename:w(),path:w(),size:E(),mime:w(),is_image:D().optional(),rollback_token:w().optional()}),Ff=j({text:w().optional(),state:w().optional(),status:w().optional(),turns:E().optional(),max_turns:E().optional(),reason:w().optional()}),If=j({ok:D().optional(),action:w().optional(),goal:Ff.nullable().optional(),message:w().optional(),message_key:w().optional(),stream_id:w().optional(),status:w().optional(),reason:w().optional()}),Lf=j({results:k(j({id:w().optional(),task_id:w().optional(),status:w().optional(),title:w().optional(),summary:w().optional(),prompt:w().optional(),answer:H.optional(),error:w().optional(),completed_at:E().nullable().optional()}))}),Rf=j({ok:F(!0),share:j({token:w(),url:w(),title:w(),message_count:E().int(),created_at:E(),updated_at:E()}),session:pf}),zf=j({role:w(),content:M([w(),Ws(),k(V)]).optional()}),Bf=j({share:j({title:w(),messages:k(zf),message_count:E().int(),created_at:E().optional(),updated_at:E().optional(),model:H.optional()})}),Vf=j({title:w().optional(),workspace:w().optional(),workspace_inherited_from_prev_session:D().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional(),profile:w().nullable().optional(),prev_session_id:w().optional(),project_id:w().nullable().optional(),worktree:V.optional(),enabled_toolsets:k(w()).nullable().optional(),parent_session_id:w().optional()}),Hf=j({ok:F(!0),available:D(),provider:w()}),Uf=j({ok:F(!0),message:w().optional()}),Wf=j({bot_name:w().optional(),default_model:w().optional(),default_workspace:w().optional(),language:w().optional(),send_key:w().optional(),font_size:w().optional(),full_width_chat:D().optional(),auto_scroll_follow:D().optional(),render_user_markdown:D().optional(),chat_activity_display_mode:w().optional(),default_message_mode:w().optional(),fade_text_effect:D().optional(),hidden_tabs:k(w()).optional(),composer_control_order:k(w()).optional(),show_cli_sessions:D().optional(),show_claude_code_sessions:D().optional(),show_cron_sessions:D().optional(),show_webhook_sessions:D().optional(),show_kanban_sessions:D().optional(),check_for_updates:D().optional(),ignore_agent_updates:D().optional(),auth_enabled:D().optional(),password_auth_enabled:D().optional(),password_env_var:D().optional(),passkeys_enabled:D().optional(),passwordless_enabled:D().optional(),auth_disabled_acknowledged:D().optional(),webui_version:w().optional(),agent_version:w().optional(),update_channel:w().optional(),agent_update_channel:P([`stable`,`experimental`]).optional(),update_channel_version:H.optional(),max_tokens:U.optional(),max_tokens_effective:U.optional(),max_tokens_fallback:U.optional(),tts_engine:w().optional(),tts_voice:w().optional(),dictation_append:D().optional(),persisted_speech_keys:k(w()).optional()}),Gf=j({name:w(),path:w().optional(),is_active:D().optional(),is_default:D().optional(),model:H.optional(),provider:H.optional(),skill_count:E().optional(),total_skills:E().optional(),enabled_skills:E().optional(),gateway_running:D().optional(),has_env:D().optional(),visible:D().optional()}),Kf=j({profiles:k(Gf),active:w(),single_profile_mode:D().optional()}),qf=j({name:w(),path:w().optional(),is_default:D().optional(),default_workspace:H.optional()}),Jf=Kf.extend({is_default:D(),default_model:V,default_model_provider:V,default_workspace:w().nullable()}),Yf=j({show_reasoning:D().optional(),reasoning_effort:w().nullable().optional(),supported_efforts:k(w()).optional(),supports_reasoning_effort:D().optional(),supports_thinking_toggle:D().optional()}),Xf=j({id:w(),label:w().optional(),provider:w().optional(),supports_fast_tier:D().optional()}),Zf=j({provider:w(),provider_id:w().optional(),models:k(Xf),extra_models:k(Xf).optional()}),Qf=j({active_provider:H.optional(),default_model:w().optional(),groups:k(Zf),aliases:N(w(),V).optional(),configured_model_badges:N(w(),V).optional()}),$f=j({providers:k(j({id:w(),display_name:w().optional(),has_key:D().optional(),configurable:D().optional(),is_oauth:D().optional(),is_plugin_provider:D().optional(),is_self_hosted:D().optional(),is_custom:D().optional(),key_source:w().optional(),base_url:H.optional(),auth_error:H.optional(),env_var:H.optional(),models:k(Xf).optional(),models_total:E().optional()})),active_provider:H.optional()}),ep=j({source_id:w(),provider_id:w().optional(),provider_label:w().optional(),account_label:w().optional(),status:w().optional(),supported:D().optional(),message:w().nullable().optional(),is_active_provider:D().optional(),quota:V.optional(),windows:V.optional(),balances:V.optional(),plan:V.optional(),details:V.optional(),unavailable_reason:V.optional(),retry_after:V.optional(),fetched_at:V.optional()}),tp=j({version:E(),scope_id:w(),profile_id:w(),active_provider:H,requested_source_id:H,missing_source:D(),sources:k(ep)}),np=j({personalities:k(j({name:w(),description:w().optional()}))}),rp=j({task:w(),label:w().optional(),description:w().optional(),model:w().optional(),provider:w().optional(),base_url:w().optional(),api_key_set:D().optional()}),ip=j({main:j({model:w().optional(),provider:w().optional(),base_url:w().optional(),api_key_set:D().optional()}).optional(),tasks:k(rp).optional()});j({max_tokens:U,max_tokens_effective:U,max_tokens_fallback:U});var ap=j({name:w().optional(),path:w()}),op=j({workspaces:k(ap),last:H.optional(),terminal_remote_backend:D().optional()}),sp=j({name:w(),path:w().optional(),is_dir:D().optional(),type:w().optional(),size:E().nullable().optional(),mtime:E().nullable().optional(),mtime_ns:M([E(),w()]).nullable().optional(),birthtime_ns:M([E(),w()]).nullable().optional(),hidden:D().optional(),workspace_sort_rank:E().int().optional(),target:w().optional(),target_outside_workspace:D().optional()}),cp=j({path:w().optional(),entries:k(sp),signature:w().optional(),workspace:w().optional(),workspace_recovered:D().optional(),is_git:D().optional()}),lp=j({path:w().optional(),content:w().optional(),lines:E().optional(),size:E().optional(),truncated:D().optional(),binary:D().optional(),mime:w().optional()}),up=j({git:j({is_git:D().optional(),branch:H.optional(),dirty:E().optional(),modified:E().optional(),untracked:E().optional(),ahead:E().optional(),behind:E().optional()}).nullable().optional()}),dp=j({skills:k(j({name:w(),description:H.optional(),category:H.optional(),disabled:D().optional()})),categories:k(V).optional()}),fp=j({name:w().optional(),content:w().optional(),path:w().optional(),success:D().optional(),message:w().optional(),ok:D().optional()}),pp=j({usage:N(w(),j({use_count:E().optional(),view_count:E().optional(),patch_count:E().optional()})),skill_names:k(w()).optional(),total_invocations:E().optional(),unique_skills_used:E().optional()}),mp=j({memory:w(),user:w(),soul:w(),project_context:w().optional(),memory_path:w().optional(),user_path:w().optional(),soul_path:w().optional(),project_context_path:w().optional(),project_context_name:w().optional(),project_context_workspace:w().optional(),memory_mtime:U.optional(),user_mtime:U.optional(),soul_mtime:U.optional(),project_context_mtime:U.optional(),project_context_shadowed:k(V).optional(),external_notes_enabled:D().optional()}),hp=j({id:w().optional(),name:w().optional(),title:w().optional(),label:w().optional(),text:w().optional(),content:w().optional(),created_at:E().optional()}),gp=j({prompts:k(hp)}),_p=j({commands:k(j({name:w(),description:w().optional(),aliases:k(w()).optional(),args_hint:w().optional(),category:w().optional(),cli_only:D().optional(),gateway_only:D().optional(),subcommands:k(V).optional()}))}),vp=j({file:w(),tail:E().optional(),lines:k(w()),truncated:D().optional(),total_bytes:E().optional(),mtime:U.optional(),hint:w().optional()}),yp=j({period_days:E().optional(),total_sessions:E().optional(),total_messages:E().optional(),total_tokens:E().optional(),total_input_tokens:E().optional(),total_output_tokens:E().optional(),total_cache_read_tokens:E().optional(),total_cache_hit_percent:U.optional(),total_cost:E().optional(),activity_by_day:k(j({day:w(),sessions:E()})).optional(),activity_by_hour:k(j({hour:E(),sessions:E()})).optional(),daily_tokens:k(j({date:w(),input_tokens:E().optional(),output_tokens:E().optional(),cache_read_tokens:E().optional(),cost:E().optional(),sessions:E().optional()})).optional(),models:k(j({model:w().optional(),sessions:E().optional(),tokens:E().optional(),cost:E().optional()})).optional()}),bp=j({running:D(),enabled:w().optional(),url:w().optional(),browser_url:w().optional(),host:w().optional(),port:E().int().optional(),version:w().optional(),error:w().optional()}),xp=j({alive:D().nullable().optional(),checked_at:w().optional(),details:j({state:w().optional(),reason:w().optional()}).optional(),gateway_chat:j({enabled:D().optional(),backend:w().optional(),base_url_configured:D().optional(),api_key_configured:D().optional()}).optional(),error:w().optional()}),Sp=j({available:D().optional(),status:w().optional(),checked_at:w().optional(),cpu:V.nullable().optional(),memory:V.nullable().optional(),disk:j({percent:E().optional(),total_bytes:E().optional(),used_bytes:E().optional()}).nullable().optional(),errors:k(j({code:w().optional(),metric:w().optional()})).optional(),webui_runtime:V.optional()}),Cp=j({name:w().optional(),channel:P([`stable`,`experimental`]).optional(),unsupported:D().optional(),supported_revision:w().optional(),supported_version:w().optional(),candidate_revision:w().optional(),behind:E().nullable().optional(),current_sha:w().nullable().optional(),latest_sha:w().nullable().optional(),compare_url:w().optional(),repo_url:w().optional(),error:w().optional(),ok:D().optional(),manual_update:D().optional(),no_git:D().optional(),install_kind:F(`npm`).optional(),npm:w().optional(),channel_switch:D().optional(),dirty:D().optional(),metadata_repair:D().optional(),release_url:w().optional(),ignored:D().optional(),stale_check:D().optional(),current_version:w().optional()}),wp=j({disabled:D().optional(),cached:D().optional(),channel:w().optional(),agent_channel:P([`stable`,`experimental`]).optional(),checked_at:E().optional(),include_agent:D().optional(),webui:Cp.nullable().optional(),agent:Cp.nullable().optional()}),Tp=j({summary:w().optional(),text:w().optional(),ok:D().optional(),error:w().optional(),diff_links:k(V).optional()}),Ep=j({ok:D().optional(),status:w().optional(),error:w().optional(),message:w().optional(),lock:V.optional(),confirmation_required:D().optional(),candidate_revision:w().optional(),supported_revision:w().optional(),supported_version:w().optional(),agent_channel:P([`stable`,`experimental`]).optional(),notification_id:xs().optional(),channel_switch:D().optional(),backup_dir:w().nullable().optional(),backup_failed:D().optional()}),Dp=P([`applying`,`awaiting_confirmation`,`restarting`,`succeeded`,`blocked`,`failed`,`unknown`]),Op=A({id:w().min(1).max(64).regex(/^[a-z0-9][a-z0-9_-]*$/),label:w().min(1).max(80),style:P([`default`,`primary`,`destructive`]),acknowledges:D()}),kp=A({key:w().min(1).max(64).regex(/^[a-z0-9][a-z0-9_.-]*$/),label:w().min(1).max(80)}),Ap=A({id:xs(),kind:w().min(1).max(64).regex(/^[a-z0-9][a-z0-9_-]*$/),target:P([`webui`,`agent`]).nullable(),phase:M([Dp,w().min(1).max(64)]),severity:P([`info`,`warning`,`critical`]),persistent:D(),requires_acknowledgement:D(),actions:k(Op).max(4),destination:kp.nullable(),title:w(),message:w(),created_at:Dc(),updated_at:Dc(),read_at:Dc().nullable(),acknowledged_at:Dc().nullable(),acknowledged_action_id:w().nullable(),verified_revision:w().regex(/^[a-f0-9]{40}$/).nullable(),verified_version:w().min(1).max(80).nullable(),unread:D(),active:D(),requires_interaction:D(),can_dismiss:D()}),jp=w().regex(/^[a-f0-9]{64}$/),Mp=w().regex(/^[A-Za-z0-9_-]{8,64}$/),Np=A({current_build:jp.nullable(),loaded_build:jp.nullable(),refresh_required:D(),notification_id:xs().nullable()}),Pp=A({scope_id:w().min(1).max(64),frontend_build:Np,notifications:k(Ap),unread_count:E().int().nonnegative(),clearable_count:E().int().nonnegative(),can_clear:D()}),Fp=j({plugins:k(j({key:w(),name:w().optional(),kind:w().optional(),enabled:D().optional(),description:w().optional(),version:w().optional(),activation:w().optional(),is_active_provider:D().optional(),hooks:k(V).optional()})),empty:D().optional(),read_only:D().optional(),supported_hooks:k(w()).optional(),unavailable:D().optional()}),Ip=j({name:w(),id:w().optional(),transport:w().optional(),enabled:D().optional(),active:D().optional(),status:w().optional(),tools:E().optional(),tool_count:E().int().nullable().optional(),health:w().optional(),health_detail:w().optional(),health_checked_at:V.optional(),health_pending:D().optional()}),Lp=j({servers:k(Ip),health_pending:D().optional(),reload_required:D().optional(),toggle_supported:D().optional()}),Rp=j({tools:k(j({name:w().optional(),server:w().optional(),description:w().optional()})),total:E().int().optional(),source:w().optional(),inventory_scope:w().optional(),unavailable_servers:k(w()).optional()}),zp=j({enabled:D().optional(),sources:k(V).optional(),source:w().optional(),inventory_scope:w().optional(),recent_ai_notes:k(V).optional(),attach_supported:D().optional(),automatic_recall_unchanged:D().optional()}),Bp=j({id:M([w(),E()]).optional(),text:w().optional(),content:w().optional(),title:w().optional(),status:w().optional(),done:D().optional(),completed:D().optional()}),Vp=j({session_id:w().optional(),todos:k(Bp).optional(),version:E().optional(),ts:E().optional(),source:w().optional(),description:w().optional(),pending_count:E().optional()}),Hp=j({id:w(),name:w().optional(),label:w().optional(),kind:w().optional(),oauth:D().optional(),needs_key:D().optional(),base_url:H.optional(),models:k(V).optional(),category:w().optional()}),Up=j({completed:D(),settings:j({bot_name:w().optional(),default_model:w().optional(),default_workspace:H.optional(),password_enabled:D().optional()}).optional(),setup:j({providers:k(Hp).optional(),categories:k(V).optional(),current:j({provider:w().optional(),model:w().optional(),base_url:w().optional()}).optional(),current_is_oauth:D().optional(),unsupported_note:w().optional()}).optional(),system:j({hermes_found:D().optional(),imports_ok:D().optional(),chat_ready:D().optional(),provider_ready:D().optional(),provider_configured:D().optional(),setup_state:w().optional(),provider_note:w().optional(),provider_note_key:w().optional(),missing_modules:k(w()).optional(),import_errors:N(w(),w()).optional(),config_path:w().optional(),env_path:w().optional()}).optional(),workspaces:j({items:k(ap).optional(),last:H.optional()}).optional(),models:Qf.optional()}),Wp=j({ok:D().optional(),success:D().optional(),error:w().optional(),message:w().optional(),models:k(V).optional()}),Gp=j({ok:D().optional(),status:w().optional(),url:w().optional(),verification_url:w().optional(),user_code:w().optional(),message:w().optional(),error:w().optional(),flow_id:w().optional()}),Kp=j({kind:w().optional(),expr:w().optional(),minutes:E().optional(),run_at:w().optional(),display:w().optional()}),qp=j({times:U.optional(),completed:E().optional()}),Jp=j({read_only:D().optional(),owner_profile:H.optional(),id:w().optional(),job_id:w().optional(),name:w().nullable().optional(),prompt:w().optional(),schedule:M([w(),Kp]).optional(),schedule_display:w().optional(),enabled:D().optional(),paused:D().optional(),paused_reason:H.optional(),state:H.optional(),last_status:H.optional(),last_error:H.optional(),last_delivery_error:H.optional(),next_run_at:M([w(),E(),Ws()]).optional(),last_run_at:M([w(),E(),Ws()]).optional(),repeat:M([qp,E(),Ws()]).optional(),status:w().optional(),last_run:V.optional(),next_run:V.optional(),profile:H.optional(),session_id:H.optional(),model:H.optional(),provider:H.optional(),workspace:H.optional(),workdir:H.optional(),deliver:H.optional(),skills:k(w()).optional(),no_agent:D().optional(),script:H.optional(),monitor:H.optional(),continuity:D().optional(),context_from:M([k(w()),w(),Ws()]).optional(),reasoning_effort:H.optional(),toast_notifications:D().optional(),running:D().optional()}),Yp=j({jobs:k(Jp),active_profile:w().optional(),all_profiles:D().optional(),other_profile_count:E().optional(),cron_unavailable:D().optional()}),Xp=j({ok:D().optional(),job:Jp.optional(),job_id:w().optional(),status:w().optional(),error:w().optional(),elapsed:E().optional()}),Zp=j({input_tokens:U.optional(),output_tokens:U.optional(),total_tokens:U.optional(),estimated_cost_usd:U.optional(),duration_seconds:U.optional(),model:w().optional(),provider:w().optional()}),Qp=j({filename:w(),size:E(),modified:E(),usage:Zp.optional()}),$p=j({job_id:w().optional(),runs:k(Qp),total:E().optional(),offset:E().optional()}),em=j({content:w().optional(),snippet:w().optional(),usage:Zp.optional(),error:w().optional()}),tm=j({running:M([D(),N(w(),E())]).optional()}),nm=j({id:M([w(),E()]),title:w().optional(),status:w().optional(),assignee:H.optional(),priority:M([w(),E()]).nullable().optional(),description:w().optional(),tags:k(w()).optional(),session_id:H.optional(),archived:D().optional(),created_at:V.optional(),updated_at:V.optional()}),rm=j({columns:k(j({name:w(),tasks:k(nm)})).optional(),assignees:k(V).optional(),filters:V.optional(),latest_event_id:E().optional(),read_only:D().optional(),tenants:k(V).optional(),changed:D().optional()}),im=j({boards:k(j({slug:w(),name:w().nullable().optional(),is_current:D().optional(),total:E().optional(),archived:D().optional(),color:w().optional(),icon:w().optional(),description:w().optional()})),current:w().optional(),read_only:D().optional()}),am=j({enabled:D(),extension_dir_configured:D().optional(),extension_dir_valid:D().optional(),script_urls:k(w()).optional(),stylesheet_urls:k(w()).optional(),sidecars:k(V).optional(),extensions:k(j({id:w(),enabled:D().optional(),name:w().optional(),version:w().optional()})).optional(),warnings:k(V).optional(),manifest:j({configured:D().optional(),loaded:D().optional(),status:w().optional(),entry_count:E().optional()}).optional(),counts:N(w(),E()).optional(),gallery_installed:N(w(),V).optional()}),om=w().nullable();A({error:w()}).catchall(O());var sm=A({auth_enabled:D(),logged_in:D(),oidc_enabled:D(),oidc_native_handoff_enabled:D(),password_auth_enabled:D(),passwordless_enabled:D(),passkeys_enabled:D(),passkeys_count:E().int(),passkey_feature_flag:D(),auth_disabled_acknowledged:D(),can_manage_server:D(),trusted_auth_enabled:D().optional(),auth_type:w().optional(),user:om.optional(),bound_profile:om.optional()}),cm=A({dashboard:D(),terminal_remote_backend:D(),extensions:D(),single_profile_mode:D()}),lm=A({webui_version:w(),max_upload_bytes:E().int().positive(),csrf_token:w(),language:w(),bot_name:w(),auth:sm,profile:A({name:w(),is_default:D()}).nullable(),onboarding:A({completed:D()}).nullable(),features:cm}),um=w().regex(/^[a-f0-9]{40}$/),dm=A({release:A({tag:w().nullable(),version:w(),sourceRevision:um.nullable(),releaseSet:um.nullable(),contracts:A({appWeb:k(E().int()),webRelay:k(E().int())}),compatibleAgent:A({sourceRevision:um,version:w(),image:w()}).catchall(O())}),status:P([`ok`,`degraded`,`starting`]),phase:w().optional(),sessions:E().int(),active_streams:E().int(),active_runs:E().int(),runs:k(N(w(),O())),last_run_finished_at:E().nullable(),server_started_at:E(),uptime_seconds:E(),accept_loop:A({requests_total:E().int(),last_request_at:E()}),checks:N(w(),O()).optional(),agent:A({status:P([`ready`,`starting`,`restarting`,`incompatible`,`stopped`,`unavailable`])})}),fm=A({password:w().optional()}),pm=A({ok:F(!0),trusted_logout_url:w().optional()}),mm=A({callback_url:w(),state:w(),code_challenge:w(),code_challenge_method:w()}),hm=A({flow_id:w(),authorization_url:w(),server_id:w(),expires_in:E().int()}),gm=A({flow_id:w(),code:w(),state:w(),code_verifier:w()}),_m=A({flow_id:w(),state:w()}),vm=A({ok:F(!0)}),ym=A({ok:D()}),bm=A({ok:F(!0),publicKey:N(w(),O())}),xm=A({id:w(),label:w(),created_at:E(),last_used_at:E().nullable(),sign_count:E().int()}),Sm=A({id:w().optional(),rawId:w().optional(),type:w().optional(),name:w().optional(),response:N(w(),O()).optional()}).catchall(O()),Cm=A({ok:F(!0),credential:A({id:w(),label:w()}),credentials:k(xm)}),wm=A({ok:F(!0)}),Tm=A({id:w()}),Em=A({ok:F(!0),credentials:k(xm)}),Dm=A({credentials:k(xm),disabled:D().optional()}),Om={health:B.route({method:`GET`,path:`/health`,tags:[`core`],summary:"Liveness and release identity; `deep=1` adds startup and store probes."}).input(A({deep:w().optional()})).output(dm),bootstrap:B.route({method:`GET`,path:`/api/bootstrap`,tags:[`core`],summary:`Public runtime configuration and initial state for the shell.`}).output(lm),auth:{status:B.route({method:`GET`,path:`/api/auth/status`,tags:[`auth`]}).output(sm),login:B.route({method:`POST`,path:`/api/auth/login`,tags:[`auth`]}).input(fm).output(Uf),logout:B.route({method:`POST`,path:`/api/auth/logout`,tags:[`auth`]}).output(pm),oidcNativeStart:B.route({method:`POST`,path:`/api/auth/oidc/native/start`,tags:[`auth`],summary:`Begin a native-app OIDC handoff (S256 PKCE, rate limited per client IP).`}).input(mm).output(hm),oidcNativeExchange:B.route({method:`POST`,path:`/api/auth/oidc/native/exchange`,tags:[`auth`],summary:`Redeem the one-time native handoff code for a session cookie.`}).input(gm).output(vm),oidcNativeCancel:B.route({method:`POST`,path:`/api/auth/oidc/native/cancel`,tags:[`auth`],summary:`Abandon a pending native handoff.`}).input(_m).output(ym),passkeyOptions:B.route({method:`POST`,path:`/api/auth/passkey/options`,tags:[`auth`],summary:`WebAuthn assertion options for login (public; CSRF exempt).`}).output(bm),passkeyLogin:B.route({method:`POST`,path:`/api/auth/passkey/login`,tags:[`auth`],summary:`Verify a passkey assertion and start a session (public; CSRF exempt).`}).input(Sm).output(wm),passkeyRegisterOptions:B.route({method:`POST`,path:`/api/auth/passkey/register/options`,tags:[`auth`],summary:`WebAuthn creation options (owner session or local first-run bootstrap).`}).output(bm),passkeyRegister:B.route({method:`POST`,path:`/api/auth/passkey/register`,tags:[`auth`],summary:`Store a new ES256 passkey credential.`}).input(Sm).output(Cm),passkeyDelete:B.route({method:`POST`,path:`/api/auth/passkey/delete`,tags:[`auth`],summary:`Remove a passkey; the last one is kept while no password is set (409).`}).input(Tm).output(Em),passkeys:B.route({method:`GET`,path:`/api/auth/passkeys`,tags:[`auth`],summary:"Registered passkey metadata (`disabled: true` when the feature flag is off)."}).output(Dm)}},km=O(),Am=A({ok:F(!0)}).catchall(km),jm=A({session_id:Ud}),Mm=A({session_id:w()}),Nm=A({include_archived:w().optional(),all_profiles:w().optional(),exclude_hidden:w().optional(),sidebar_source:w().optional(),archived_limit:w().optional(),archived_offset:w().optional(),show_cli_sessions:w().optional(),show_claude_code_sessions:w().optional(),show_cron_sessions:w().optional(),show_webhook_sessions:w().optional(),show_kanban_sessions:w().optional()}),Pm=A({session_id:w(),messages:w().optional(),msg_limit:w().optional(),msg_before:w().optional(),resolve_model:w().optional(),expand_renderable:w().optional()}),W=[`sessions`],Fm=j({status:P([`running`,`done`,`error`,`idle`]),session_id:w().nullable().optional(),session:pf.optional(),error:w().optional(),started_at:E().optional(),updated_at:E().optional()}),Im={sessions:{list:B.route({method:`GET`,path:`/api/sessions`,tags:W,summary:`Sidebar rows for the active profile.`}).input(Nm).output(mf),search:B.route({method:`GET`,path:`/api/sessions/search`,tags:W}).input(A({q:w().optional(),content:w().optional(),depth:w().optional(),all_profiles:w().optional()})).output(j({sessions:k(pf),query:w().optional(),count:E().int().optional(),all_profiles:D(),active_profile:w()})),cleanupZeroMessage:B.route({method:`POST`,path:`/api/sessions/cleanup_zero_message`,tags:W}).input(A({}).catchall(km)).output(A({ok:F(!0),cleaned:E().int()}))},session:{get:B.route({method:`GET`,path:`/api/session`,tags:W,summary:`One session with a bounded message window.`}).input(Pm).output(ff),status:B.route({method:`GET`,path:`/api/session/status`,tags:W}).input(Mm).output(hf),usage:B.route({method:`GET`,path:`/api/session/usage`,tags:W}).input(Mm).output(gf),new:B.route({method:`POST`,path:`/api/session/new`,tags:W}).input(Vf).output(ff.extend({worktree_skipped:w().optional()})),rename:B.route({method:`POST`,path:`/api/session/rename`,tags:W}).input(jm.extend({title:w()})).output(ff),delete:B.route({method:`POST`,path:`/api/session/delete`,tags:W}).input(A({session_id:w()})).output(yf),pin:B.route({method:`POST`,path:`/api/session/pin`,tags:W}).input(jm.extend({pinned:D().optional()})).output(Am.extend({session:pf})),archive:B.route({method:`POST`,path:`/api/session/archive`,tags:W}).input(jm.extend({archived:D().optional()})).output(Am.extend({session:pf})),move:B.route({method:`POST`,path:`/api/session/move`,tags:W}).input(jm.extend({project_id:w().nullable().optional()})).output(Am.extend({session:pf})),duplicate:B.route({method:`POST`,path:`/api/session/duplicate`,tags:W}).input(A({session_id:w()})).output(ff),branch:B.route({method:`POST`,path:`/api/session/branch`,tags:W}).input(jm.extend({keep_count:E().int().nullable().optional(),title:w().nullable().optional()})).output(A({session_id:w(),title:w(),parent_session_id:w()})),truncate:B.route({method:`POST`,path:`/api/session/truncate`,tags:W}).input(jm.extend({keep_count:km.optional()})).output(Am.extend({session:pf})),clear:B.route({method:`POST`,path:`/api/session/clear`,tags:W}).input(jm).output(Am.extend({session:pf})),retry:B.route({method:`POST`,path:`/api/session/retry`,tags:W}).input(jm).output(A({ok:F(!0),last_user_text:w(),removed_count:E().int()}).or(A({error:w()}))),undo:B.route({method:`POST`,path:`/api/session/undo`,tags:W}).input(jm).output(A({ok:F(!0),removed_count:E().int(),removed_preview:w()}).or(A({error:w()}))),update:B.route({method:`POST`,path:`/api/session/update`,tags:W}).input(jm.extend({workspace:w().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional()})).output(ff),toolsets:B.route({method:`POST`,path:`/api/session/toolsets`,tags:W}).input(jm.extend({toolsets:k(w()).nullable().optional()})).output(A({ok:F(!0),enabled_toolsets:k(w()).nullable()})),yoloGet:B.route({method:`GET`,path:`/api/session/yolo`,tags:W}).input(Mm).output(A({yolo_enabled:D()})),yoloSet:B.route({method:`POST`,path:`/api/session/yolo`,tags:W}).input(A({session_id:w(),enabled:km.optional()})).output(A({ok:F(!0),yolo_enabled:D(),stale_cleared:D().optional()})),import:B.route({method:`POST`,path:`/api/session/import`,tags:W}).input(A({messages:km.optional(),tool_calls:km.optional(),title:w().optional(),workspace:w().optional(),model:w().optional(),pinned:D().optional()}).catchall(km)).output(Am.extend({session:pf})),regenerateTitle:B.route({method:`POST`,path:`/api/session/title/regenerate`,tags:W,summary:`Generate a title from the first (or latest) complete exchange through the auxiliary model and persist it.`}).input(jm.extend({prefer_latest:D().optional()})).output(j({session:pf,title:w(),status:w(),raw_preview:w()})),compressStart:B.route({method:`POST`,path:`/api/session/compress/start`,tags:W,summary:"Manual compression is not available in this release (501 `manual_compression_unavailable`)."}).input(jm.extend({focus_topic:w().optional(),topic:w().optional()})).output(Fm),compressStatus:B.route({method:`GET`,path:`/api/session/compress/status`,tags:W}).input(Mm).output(Fm),draftGet:B.route({method:`GET`,path:`/api/session/draft`,tags:W}).input(Mm).output(A({draft:Mf,draft_version:w().nullable()})),draftSave:B.route({method:`POST`,path:`/api/session/draft`,tags:W}).input(A({session_id:w(),text:km.optional(),files:km.optional(),draft_version:km.optional()})).output(Nf),anchorSceneGet:B.route({method:`GET`,path:`/api/session/anchor-scene`,tags:W}).input(A({session_id:w(),message_ref:w().optional(),message_index:w().optional(),before:w().optional(),limit:w().optional()})).output(A({scene_ref:w(),rows:k(Zd),start:E().int(),end:E().int(),total:E().int(),complete:D()})),anchorSceneSave:B.route({method:`POST`,path:`/api/session/anchor-scene`,tags:W}).input(A({session_id:w(),scene:km.optional(),message_ref:w().optional(),message_index:km.optional(),message_offset:km.optional(),message_window_index:km.optional(),stream_id:w().optional()})).output(A({ok:F(!0),message_index:E().int(),message_ref:w()}))},projects:{list:B.route({method:`GET`,path:`/api/projects`,tags:[`projects`]}).input(A({all_profiles:w().optional()})).output(vf),create:B.route({method:`POST`,path:`/api/projects/create`,tags:[`projects`]}).input(A({name:w(),color:w().nullable().optional(),profile:w().nullable().optional()})).output(A({ok:F(!0),project:_f})),rename:B.route({method:`POST`,path:`/api/projects/rename`,tags:[`projects`]}).input(A({project_id:w(),name:w(),color:w().nullable().optional()})).output(A({ok:F(!0),project:_f})),delete:B.route({method:`POST`,path:`/api/projects/delete`,tags:[`projects`]}).input(A({project_id:w()})).output(A({ok:F(!0)}))},share:{create:B.route({method:`POST`,path:`/api/share/create`,tags:[`shares`]}).input(A({session_id:w()})).output(Rf),revoke:B.route({method:`POST`,path:`/api/share/revoke`,tags:[`shares`]}).input(A({session_id:w()})).output(Am.extend({session:pf})),read:B.route({method:`GET`,path:`/api/share/{token}`,tags:[`shares`],summary:`Public read of a shared conversation snapshot.`}).input(A({token:w()})).output(Bf)},talaria:{pair:B.route({method:`POST`,path:`/api/talaria/relay/pair`,tags:[`talaria`],summary:`Register this server with Talaria Relay (owner) or enroll the active profile (any session).`}).input(A({relay_url:w(),publisher_id:w(),publisher_invitation:w(),label:w().optional()})).output(A({ok:F(!0),publisher_id:w()})),presence:B.route({method:`POST`,path:`/api/talaria/presence`,tags:[`talaria`],summary:`Renew or revoke one browser tab's activity lease; a fresh lease mutes relay alerts for the profile.`}).input(A({tab_id:w(),active:D(),seq:E().int()})).output(A({ok:F(!0),lease_seconds:E().int()}))}},Lm=O(),Rm=[`workspaces`],zm=A({ok:F(!0),workspaces:k(ap)}),Bm=A({session_id:w(),path:w()}),Vm=A({ok:F(!0),path:w()}),Hm={workspaces:{list:B.route({method:`GET`,path:`/api/workspaces`,tags:Rm}).output(op),suggest:B.route({method:`GET`,path:`/api/workspaces/suggest`,tags:Rm}).input(A({prefix:w().optional()})).output(A({suggestions:k(w()),prefix:w()})),add:B.route({method:`POST`,path:`/api/workspaces/add`,tags:Rm}).input(A({path:w(),name:w().optional(),create:Lm.optional()})).output(zm),remove:B.route({method:`POST`,path:`/api/workspaces/remove`,tags:Rm}).input(A({path:w()})).output(zm),rename:B.route({method:`POST`,path:`/api/workspaces/rename`,tags:Rm}).input(A({path:w(),name:w()})).output(zm),reorder:B.route({method:`POST`,path:`/api/workspaces/reorder`,tags:Rm}).input(A({paths:Lm})).output(zm)},files:{list:B.route({method:`GET`,path:`/api/list`,tags:[`files`]}).input(A({session_id:w(),path:w().optional()})).output(cp),read:B.route({method:`GET`,path:`/api/file`,tags:[`files`]}).input(Bm).output(lp),save:B.route({method:`POST`,path:`/api/file/save`,tags:[`files`]}).input(Bm.extend({content:w().optional()})).output(Vm.extend({size:E().int()})),create:B.route({method:`POST`,path:`/api/file/create`,tags:[`files`]}).input(Bm.extend({content:w().optional()})).output(Vm),createDir:B.route({method:`POST`,path:`/api/file/create-dir`,tags:[`files`]}).input(Bm).output(Vm),delete:B.route({method:`POST`,path:`/api/file/delete`,tags:[`files`]}).input(Bm.extend({recursive:Lm.optional()})).output(Vm),rename:B.route({method:`POST`,path:`/api/file/rename`,tags:[`files`]}).input(Bm.extend({new_name:w()})).output(A({ok:F(!0),old_path:w(),new_path:w()})),move:B.route({method:`POST`,path:`/api/file/move`,tags:[`files`]}).input(Bm.extend({dest_dir:w().optional(),destination:w().optional()})).output(A({ok:F(!0),old_path:w(),new_path:w()})),reveal:B.route({method:`POST`,path:`/api/file/reveal`,tags:[`files`]}).input(Bm).output(Vm),openVsCode:B.route({method:`POST`,path:`/api/file/open-vscode`,tags:[`files`]}).input(Bm).output(Vm)}},Um=O(),Wm=N(w(),O()),G=[`git`],Gm=A({changed:E().int(),staged:E().int(),unstaged:E().int(),untracked:E().int(),conflicts:E().int()}),Km=A({path:w(),old_path:w().nullable(),workspace_path:w(),status:w(),staged:D(),unstaged:D(),untracked:D(),ignored:D(),conflict:D(),additions:E().int(),deletions:E().int(),binary:D()}),qm=A({is_git:D(),branch:w().optional(),upstream:w().optional(),ahead:E().int().optional(),behind:E().int().optional(),totals:Gm.optional(),files:k(Km).optional(),truncated:D().optional(),noise_filtering:A({filemode_only:E().int(),crlf_only:E().int(),active:D()}).optional()}),Jm=A({name:w(),sha:w(),updated:E().int(),updated_relative:w(),author:w(),subject:w(),upstream:w(),ahead:E().int(),behind:E().int()}),Ym=A({is_git:F(!0),current:w(),detached:D(),head:w(),local:k(Jm),remote:k(Jm),upstream:w(),ahead:E().int(),behind:E().int()}),Xm=A({path:w(),kind:w(),binary:D(),too_large:D(),additions:E().int(),deletions:E().int(),diff:w()});A({error:w(),code:w()});var Zm=A({session_id:w()}),Qm=A({session_id:w()}),$m=Qm.extend({paths:M([k(Um),w()]).optional(),path:w().optional()}),eh=A({ok:F(!0),git:qm}),th=A({ok:F(!0),message:w(),status:qm}),nh=Qm.extend({ref:w(),mode:w(),new_branch:w().nullable().optional(),track:Um.optional(),dirty_mode:w().optional()}),rh=A({ok:F(!0),git:qm,branches:Ym,current_branch:w(),message:w()}),ih={gitInfo:B.route({method:`GET`,path:`/api/git-info`,tags:G,summary:`Lightweight branch badge for a session workspace.`}).input(Zm).output(up),git:{status:B.route({method:`GET`,path:`/api/git/status`,tags:G}).input(Zm).output(A({git:qm})),branches:B.route({method:`GET`,path:`/api/git/branches`,tags:G}).input(Zm).output(A({branches:Ym})),diff:B.route({method:`GET`,path:`/api/git/diff`,tags:G}).input(Zm.extend({path:w().optional(),kind:w().optional(),staged:w().optional()})).output(A({diff:Xm})),stage:B.route({method:`POST`,path:`/api/git/stage`,tags:G}).input($m).output(eh),unstage:B.route({method:`POST`,path:`/api/git/unstage`,tags:G}).input($m).output(eh),discard:B.route({method:`POST`,path:`/api/git/discard`,tags:G}).input($m.extend({delete_untracked:Um.optional()})).output(eh),commit:B.route({method:`POST`,path:`/api/git/commit`,tags:G}).input(Qm.extend({message:w()})).output(A({ok:F(!0),commit:w(),status:qm})),commitSelected:B.route({method:`POST`,path:`/api/git/commit-selected`,tags:G}).input($m.extend({message:w()})).output(A({ok:F(!0),commit:w(),paths:k(w()),status:qm})),commitMessage:B.route({method:`POST`,path:`/api/git/commit-message`,tags:G,summary:`Generate a commit message for the staged diff through the auxiliary model.`}).input(Qm).output(A({ok:F(!0),message:w(),truncated:D()})),commitMessageSelected:B.route({method:`POST`,path:`/api/git/commit-message-selected`,tags:G}).input($m).output(A({ok:F(!0),message:w(),truncated:D()})),fetch:B.route({method:`POST`,path:`/api/git/fetch`,tags:G}).input(Qm).output(th),pull:B.route({method:`POST`,path:`/api/git/pull`,tags:G}).input(Qm).output(th),push:B.route({method:`POST`,path:`/api/git/push`,tags:G}).input(Qm).output(th),checkout:B.route({method:`POST`,path:`/api/git/checkout`,tags:G}).input(nh).output(rh),stashCheckout:B.route({method:`POST`,path:`/api/git/stash-checkout`,tags:G}).input(nh.omit({dirty_mode:!0})).output(rh.extend({stash_name:w(),stashed:D(),restored_stash:Wm.nullable(),restore_failed:D(),restore_error:w(),restore_stash:Wm.nullable()}))},rollback:{list:B.route({method:`GET`,path:`/api/rollback/list`,tags:[`rollback`]}).input(A({workspace:w().optional()})).output(A({checkpoints:k(Wm),workspace:w(),checkpoint_dir:w()})),diff:B.route({method:`GET`,path:`/api/rollback/diff`,tags:[`rollback`]}).input(A({workspace:w().optional(),checkpoint:w().optional(),id:w().optional()})).output(A({checkpoint:w(),workspace:w(),diff:w(),files_changed:k(A({file:w(),status:w()})),total_changes:E().int()})),restore:B.route({method:`POST`,path:`/api/rollback/restore`,tags:[`rollback`]}).input(A({workspace:w().optional(),checkpoint:w().optional(),id:w().optional()}).catchall(Um)).output(A({ok:F(!0),checkpoint:w(),workspace:w(),files_restored:k(w()),files_restored_count:E().int(),errors:k(A({file:w(),error:w()}))}))},worktree:{status:B.route({method:`GET`,path:`/api/session/worktree/status`,tags:[`sessions`]}).input(Zm).output(A({status:Wm})),remove:B.route({method:`POST`,path:`/api/session/worktree/remove`,tags:[`sessions`]}).input(A({session_id:Um.optional(),force:Um.optional()})).output(A({ok:F(!0),removed_path:w(),warnings:k(w()).nullable()}))},upload:{rollback:B.route({method:`POST`,path:`/api/upload/rollback`,tags:[`files`],summary:`Remove the successful prefix of one failed multi-file chat upload.`}).input(A({session_id:Um.optional(),rollback_tokens:Um.optional()})).output(A({ok:D(),rolled_back:E().int(),failed:E().int()}))}},ah=O(),oh=[`chat`],sh=A({session_id:w().optional(),choice:w().optional(),approval_id:w().optional(),yolo:D().optional(),run_id:w().optional(),mirror_token:w().optional()}).catchall(ah),ch=A({session_id:w().optional(),answers:kf.optional(),response:w().optional(),answer:w().optional(),choice:w().optional(),clarify_id:w().optional()}).catchall(ah),lh=A({session_id:w().optional(),args:w().optional(),text:w().optional(),profile:w().optional(),workspace:w().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional(),explicit_model_pick:D().optional()}).catchall(ah),uh={chat:{start:B.route({method:`POST`,path:`/api/chat/start`,tags:oh,summary:"Admit one agent turn and return the stream id for `/api/chat/stream`."}).input(bf).output(xf),steer:B.route({method:`POST`,path:`/api/chat/steer`,tags:oh}).input(A({session_id:w().optional(),text:w().optional(),display_text:w().optional(),steer_id:w().optional()}).catchall(ah)).output(wf),cancel:B.route({method:`GET`,path:`/api/chat/cancel`,tags:oh}).input(A({stream_id:w().optional()})).output(Cf),streamStatus:B.route({method:`GET`,path:`/api/chat/stream/status`,tags:oh}).input(A({stream_id:w().optional()})).output(Sf)},approval:{pending:B.route({method:`GET`,path:`/api/approval/pending`,tags:[`approval`]}).input(A({session_id:w().optional()})).output(Tf),respond:B.route({method:`POST`,path:`/api/approval/respond`,tags:[`approval`]}).input(sh).output(Ef)},clarify:{pending:B.route({method:`GET`,path:`/api/clarify/pending`,tags:[`approval`]}).input(A({session_id:w().optional()})).output(Af),respond:B.route({method:`POST`,path:`/api/clarify/respond`,tags:[`approval`]}).input(ch).output(jf)},goal:B.route({method:`POST`,path:`/api/goal`,tags:oh}).input(lh).output(If),background:{start:B.route({method:`POST`,path:`/api/background`,tags:oh}).input(A({session_id:w().optional(),prompt:w().optional()}).catchall(ah)).output(A({ok:F(!0),task_id:w(),stream_id:w(),session_id:w()})),status:B.route({method:`GET`,path:`/api/background/status`,tags:oh}).input(A({session_id:w().optional()})).output(Lf),ack:B.route({method:`POST`,path:`/api/bg-task-complete-ack`,tags:oh}).input(A({session_id:w().optional(),task_id:w().optional(),process_id:w().optional()}).catchall(ah)).output(A({ok:F(!0),session_id:w(),task_id:w(),noop:F(!0)}))},btw:B.route({method:`POST`,path:`/api/btw`,tags:oh,summary:`Ephemeral side question answered in a hidden session that inherits the transcript.`}).input(A({session_id:w().optional(),question:w().optional()}).catchall(ah)).output(A({stream_id:w(),session_id:w(),parent_session_id:w()}))},dh=O(),fh=N(w(),O()),K=[`settings`];A({error:w()});var ph=A({advanced:fh.nullable().optional()}),mh={settings:{get:B.route({method:`GET`,path:`/api/settings`,tags:K,summary:`Server settings plus auth-state, max_tokens, and version badges.`}).output(Wf),save:B.route({method:`POST`,path:`/api/settings`,tags:K,summary:"Save settings; `_set_password`, `_clear_password`, `_passwordless`, `_current_password`, and `max_tokens` are handled specially."}).input(fh).output(Wf)},profiles:{list:B.route({method:`GET`,path:`/api/profiles`,tags:K}).output(Kf),active:B.route({method:`GET`,path:`/api/profile/active`,tags:K}).output(qf),switch:B.route({method:`POST`,path:`/api/profile/switch`,tags:K,summary:`Per-client switch: sets the profile cookie; never mutates the process-wide profile.`}).input(A({name:w().optional(),profile:w().optional()})).output(Jf),create:B.route({method:`POST`,path:`/api/profile/create`,tags:K}).input(A({name:w().optional(),clone_from:w().nullable().optional(),clone_config:dh.optional(),base_url:w().nullable().optional(),api_key:w().nullable().optional(),default_model:w().nullable().optional(),model_provider:w().nullable().optional()})).output(A({ok:F(!0),profile:Gf})),delete:B.route({method:`POST`,path:`/api/profile/delete`,tags:K}).input(A({name:w().optional(),profile:w().optional()})).output(A({ok:F(!0),name:w()}))},models:{list:B.route({method:`GET`,path:`/api/models`,tags:K}).input(A({freshness:w().optional()})).output(Qf),live:B.route({method:`GET`,path:`/api/models/live`,tags:K}).input(A({provider:w().optional()})).output(fh),refresh:B.route({method:`POST`,path:`/api/models/refresh`,tags:K,summary:`Evict the live model cache for one provider (or all when omitted) and answer the rebuilt catalog.`}).input(A({provider:w().optional()})).output(A({ok:F(!0),provider:w().nullable(),models:Qf})),auxiliary:B.route({method:`GET`,path:`/api/model/auxiliary`,tags:K}).output(ip),set:B.route({method:`POST`,path:`/api/model/set`,tags:K,summary:"scope=main sets config.yaml model.default; scope=auxiliary assigns one task slot (`__reset__` clears all)."}).input(ph.extend({scope:w().optional(),task:w().optional(),provider:w().optional(),model:w().optional(),session_id:w().optional(),model_provider:w().nullable().optional(),explicit:D().optional()})).output(j({ok:D().optional(),session:dh.optional(),error:w().optional()})),setDefault:B.route({method:`POST`,path:`/api/default-model`,tags:K}).input(ph.extend({model:w().optional(),provider:w().nullable().optional()})).output(A({ok:F(!0),model:w(),provider:w().nullable()}))},providers:{list:B.route({method:`GET`,path:`/api/providers`,tags:K}).output($f),setKey:B.route({method:`POST`,path:`/api/providers`,tags:K,summary:`Write (or clear when api_key is empty) a provider API key in the profile .env.`}).input(A({provider:w().optional(),api_key:w().nullable().optional()})).output(A({ok:F(!0),provider:w(),display_name:w(),action:w()})),delete:B.route({method:`POST`,path:`/api/providers/delete`,tags:K}).input(A({provider:w().optional()})).output(A({ok:F(!0),provider:w(),display_name:w(),action:w()})),selfHosted:B.route({method:`POST`,path:`/api/providers/self-hosted`,tags:K}).input(fh).output(fh),quota:B.route({method:`GET`,path:`/api/provider/quota`,tags:K}).input(A({provider:w().optional(),refresh:w().optional()})).output(fh),quotas:B.route({method:`GET`,path:`/api/provider/quotas`,tags:K}).input(A({source:w().optional(),refresh:w().optional()})).output(tp),costHistory:B.route({method:`GET`,path:`/api/provider/cost-history`,tags:K}).input(A({provider:w().optional(),days:w().optional()})).output(j({history:k(dh).optional(),days:k(dh).optional()}))},reasoning:{get:B.route({method:`GET`,path:`/api/reasoning`,tags:K}).input(A({model:w().optional(),provider:w().optional(),base_url:w().optional()})).output(Yf),set:B.route({method:`POST`,path:`/api/reasoning`,tags:K,summary:"Body is `{display: show|hide}` or `{effort, model?, provider?, base_url?}`."}).input(A({display:dh.optional(),effort:dh.optional(),model:w().nullable().optional(),provider:w().nullable().optional(),base_url:w().nullable().optional()})).output(Yf)},personalities:{list:B.route({method:`GET`,path:`/api/personalities`,tags:K}).output(np),set:B.route({method:`POST`,path:`/api/personality/set`,tags:K}).input(A({session_id:w().optional(),name:w().optional()})).output(A({ok:F(!0),personality:w().nullable(),prompt:w()}))},onboarding:{status:B.route({method:`GET`,path:`/api/onboarding/status`,tags:K}).output(Up),setup:B.route({method:`POST`,path:`/api/onboarding/setup`,tags:K}).input(fh).output(j({ok:D().optional(),error:w().optional(),status:dh.optional()})),complete:B.route({method:`POST`,path:`/api/onboarding/complete`,tags:K}).input(fh.optional()).output(Up),probe:B.route({method:`POST`,path:`/api/onboarding/probe`,tags:K}).input(A({provider:w().optional(),base_url:w().optional(),api_key:w().nullable().optional()})).output(Wp),oauthStart:B.route({method:`POST`,path:`/api/onboarding/oauth/start`,tags:K,summary:`Browser OAuth flows are not available in this release (501).`}).input(fh).output(Gp),oauthCancel:B.route({method:`POST`,path:`/api/onboarding/oauth/cancel`,tags:K}).input(fh).output(Gp),oauthPoll:B.route({method:`GET`,path:`/api/onboarding/oauth/poll`,tags:K}).input(A({flow_id:w().optional()})).output(Gp)}},hh=O(),gh=N(w(),O()),q=[`tools`],_h=A({ok:F(!0)}),vh={agent_channel:P([`stable`,`experimental`]).optional(),confirmed_agent_revision:w().regex(/^[a-f0-9]{40}$/).optional()},yh=A({target:w().optional(),channel:w().nullable().optional(),...vh}),bh={skills:{list:B.route({method:`GET`,path:`/api/skills`,tags:q}).input(A({category:w().optional()})).output(dp),usage:B.route({method:`GET`,path:`/api/skills/usage`,tags:q}).output(pp),content:B.route({method:`GET`,path:`/api/skills/content`,tags:q,summary:"Skill view, or one linked file when `file` is given."}).input(A({name:w().optional(),file:w().optional()})).output(fp),save:B.route({method:`POST`,path:`/api/skills/save`,tags:q}).input(A({name:w().optional(),content:w().optional(),category:w().optional()})).output(A({ok:F(!0),name:w(),path:w()})),delete:B.route({method:`POST`,path:`/api/skills/delete`,tags:q}).input(A({name:w().optional()})).output(A({ok:F(!0),name:w()})),toggle:B.route({method:`POST`,path:`/api/skills/toggle`,tags:q,summary:"Writes `skills.disabled` (and `skills.platform_disabled.webui` when present) in config.yaml."}).input(A({name:w().optional(),enabled:hh.optional()})).output(A({ok:F(!0),name:w(),enabled:D()}))},memory:{get:B.route({method:`GET`,path:`/api/memory`,tags:q}).input(A({session_id:w().optional(),workspace:w().optional()})).output(mp),write:B.route({method:`POST`,path:`/api/memory/write`,tags:q,summary:"`section` names the file (memory, user, soul); the legacy `target` alias is accepted."}).input(A({section:w().optional(),target:w().optional(),content:w().optional()})).output(A({ok:F(!0),section:w(),path:w()}))},prompts:{list:B.route({method:`GET`,path:`/api/prompts`,tags:q}).output(gp),create:B.route({method:`POST`,path:`/api/prompts`,tags:q}).input(A({text:w().optional(),label:w().optional()})).output(A({ok:F(!0),prompt:hp})),delete:B.route({method:`DELETE`,path:`/api/prompts`,tags:q}).input(A({id:w().optional()})).output(_h)},commands:{list:B.route({method:`GET`,path:`/api/commands`,tags:q}).output(_p),exec:B.route({method:`POST`,path:`/api/commands/exec`,tags:q}).input(A({command:w().optional(),session_id:w().optional()})).output(A({output:w()}))},notes:{sources:B.route({method:`GET`,path:`/api/notes/sources`,tags:q}).output(zp),search:B.route({method:`GET`,path:`/api/notes/search`,tags:q}).input(A({source:w().optional(),q:w().optional(),limit:w().optional()})).output(j({results:k(hh).optional()}))},insights:B.route({method:`GET`,path:`/api/insights`,tags:q}).input(A({days:w().optional()})).output(yp),logs:B.route({method:`GET`,path:`/api/logs`,tags:q}).input(A({file:w().optional(),tail:w().optional()})).output(vp),ops:{agent:B.route({method:`GET`,path:`/api/health/agent`,tags:q}).output(xp),system:B.route({method:`GET`,path:`/api/system/health`,tags:q}).output(Sp),restart:B.route({method:`POST`,path:`/api/health/restart`,tags:q,summary:`Restart the Hermes gateway for the active profile (operator only).`}).input(gh.optional()).output(A({ok:F(!0),message:w()})),dashboard:B.route({method:`GET`,path:`/api/dashboard/status`,tags:q}).output(bp),shutdown:B.route({method:`POST`,path:`/api/shutdown`,tags:q,summary:`Stop the server process (operator only).`}).input(gh.optional()).output(A({status:F(`shutting_down`)}))},mcp:{servers:B.route({method:`GET`,path:`/api/mcp/servers`,tags:q}).output(Lp),tools:B.route({method:`GET`,path:`/api/mcp/tools`,tags:q}).output(Rp),action:B.route({method:`POST`,path:`/api/mcp/servers/{name}`,tags:q,summary:"`{enabled}` toggles, `{delete: true}` removes, `{url|command, ...}` adds or updates the server in config.yaml."}).input(A({name:w()}).catchall(hh)).output(gh),toggle:B.route({method:`PATCH`,path:`/api/mcp/servers/{name}`,tags:q}).input(A({name:w(),enabled:hh.optional()})).output(A({ok:F(!0),name:w(),enabled:D()})),update:B.route({method:`PUT`,path:`/api/mcp/servers/{name}`,tags:q}).input(A({name:w()}).catchall(hh)).output(A({ok:F(!0),server:Ip})),delete:B.route({method:`DELETE`,path:`/api/mcp/servers/{name}`,tags:q}).input(A({name:w()})).output(A({ok:F(!0),deleted:w()}))},plugins:B.route({method:`GET`,path:`/api/plugins`,tags:q}).output(Fp),updates:{check:B.route({method:`GET`,path:`/api/updates/check`,tags:q,summary:"Cached status; `POST` runs the check. Git source installs can update from completed releases (stable) or origin/main (experimental); direct global npm installs can update to completed stable npm releases."}).output(wp),checkNow:B.route({method:`POST`,path:`/api/updates/check`,tags:q}).input(A({force:hh.optional(),channel:w().nullable().optional(),agent_channel:vh.agent_channel})).output(wp),apply:B.route({method:`POST`,path:`/api/updates/apply`,tags:q}).input(yh).output(Ep),force:B.route({method:`POST`,path:`/api/updates/force`,tags:q}).input(yh).output(Ep),clearLock:B.route({method:`POST`,path:`/api/updates/clear_lock`,tags:q}).input(yh).output(Ep),summary:B.route({method:`POST`,path:`/api/updates/summary`,tags:q}).input(A({updates:gh.optional(),target:w().nullable().optional()})).output(Tp)},updateNotifications:{list:B.route({method:`GET`,path:`/api/update-notifications`,tags:q,summary:`Server-owned update operation history for the authenticated owner and active profile. A Web tab passes its tab_id and loaded_build so the server compares that build and keeps its tab-scoped refresh notice.`}).input(A({tab_id:Mp.optional(),loaded_build:jp.optional()})).output(Pp),read:B.route({method:`POST`,path:`/api/update-notifications/{id}/read`,tags:q}).input(A({id:xs(),read:F(!0),tab_id:Mp.optional()})).output(Ap),dismiss:B.route({method:`POST`,path:`/api/update-notifications/{id}/dismiss`,tags:q}).input(A({id:xs(),dismiss:F(!0),tab_id:Mp.optional()})).output(A({ok:F(!0)})),clear:B.route({method:`POST`,path:`/api/update-notifications/clear`,tags:q}).input(A({clear:F(!0),tab_id:Mp.optional(),loaded_build:jp.optional()})).output(Pp),cancel:B.route({method:`POST`,path:`/api/update-notifications/{id}/cancel`,tags:q}).input(A({id:xs(),cancel:F(!0)})).output(Ap),action:B.route({method:`POST`,path:`/api/update-notifications/{id}/actions/{action_id}`,tags:q}).input(A({id:xs(),action_id:w().min(1).max(64),perform:F(!0),tab_id:Mp.optional()})).output(Ap)},transcribeCapability:B.route({method:`GET`,path:`/api/transcribe/capability`,tags:q}).output(Hf),clientEvents:B.route({method:`POST`,path:`/api/client-events/log`,tags:q,summary:`Bounded browser diagnostics; only whitelisted scalar fields are logged.`}).input(gh).output(A({ok:F(!0),event:w().nullable()}))},J=O(),Y=N(w(),O()),X=[`automation`],xh=A({ok:F(!0)}),Sh=A({job_id:w().optional()}),Ch=A({task:cl,read_only:D()}),wh=A({session_id:w().optional()}),Th={crons:{list:B.route({method:`GET`,path:`/api/crons`,tags:X}).input(A({all_profiles:w().optional()})).output(Yp),history:B.route({method:`GET`,path:`/api/crons/history`,tags:X}).input(Sh.extend({offset:w().optional(),limit:w().optional()})).output($p),output:B.route({method:`GET`,path:`/api/crons/output`,tags:X}).input(Sh.extend({limit:w().optional()})).output(Y),run:B.route({method:`GET`,path:`/api/crons/run`,tags:X}).input(Sh.extend({filename:w().optional()})).output(em),status:B.route({method:`GET`,path:`/api/crons/status`,tags:X}).input(Sh).output(tm),deliveryOptions:B.route({method:`GET`,path:`/api/crons/delivery-options`,tags:X}).output(A({platforms:k(A({value:w(),label:w()}))})),create:B.route({method:`POST`,path:`/api/crons/create`,tags:X}).input(Y).output(Xp),update:B.route({method:`POST`,path:`/api/crons/update`,tags:X}).input(Y).output(Xp),delete:B.route({method:`POST`,path:`/api/crons/delete`,tags:X}).input(Sh).output(Xp),runNow:B.route({method:`POST`,path:`/api/crons/run`,tags:X,summary:"Start a manual run in the sidecar; answers immediately with `status: running` (or `already_running`)."}).input(Sh).output(Xp),pause:B.route({method:`POST`,path:`/api/crons/pause`,tags:X}).input(Sh.extend({reason:w().nullable().optional()})).output(Xp),resume:B.route({method:`POST`,path:`/api/crons/resume`,tags:X}).input(Sh).output(Xp)},kanban:{boards:B.route({method:`GET`,path:`/api/kanban/boards`,tags:X}).input(A({include_archived:w().optional()})).output(im),board:B.route({method:`GET`,path:`/api/kanban/board`,tags:X}).input(A({board:w().optional(),tenant:w().optional(),assignee:w().optional(),include_archived:w().optional(),only_mine:w().optional(),since:w().optional()})).output(rm),config:B.route({method:`GET`,path:`/api/kanban/config`,tags:X}).input(A({board:w().optional()})).output(Y),updateConfig:B.route({method:`PATCH`,path:`/api/kanban/config`,tags:X}).input(A({lane_by_profile:J.optional()})).output(Y),stats:B.route({method:`GET`,path:`/api/kanban/stats`,tags:X}).input(A({board:w().optional()})).output(Y),assignees:B.route({method:`GET`,path:`/api/kanban/assignees`,tags:X}).input(A({board:w().optional()})).output(A({assignees:k(dl)})),events:B.route({method:`GET`,path:`/api/kanban/events`,tags:X}).input(A({board:w().optional(),since:w().optional(),limit:w().optional()})).output(A({events:k(fl),cursor:E().int(),latest_event_id:E().int(),read_only:D()})),createBoard:B.route({method:`POST`,path:`/api/kanban/boards`,tags:X}).input(Y).output(A({board:pl,current:w(),read_only:D()})),switchBoard:B.route({method:`POST`,path:`/api/kanban/boards/{slug}/switch`,tags:X}).input(A({slug:w()})).output(A({current:w(),read_only:D()})),updateBoard:B.route({method:`PATCH`,path:`/api/kanban/boards/{slug}`,tags:X}).input(A({slug:w()}).catchall(J)).output(A({board:pl,read_only:D()})),deleteBoard:B.route({method:`DELETE`,path:`/api/kanban/boards/{slug}`,tags:X}).input(A({slug:w(),delete:w().optional()})).output(A({result:J,current:w(),read_only:D()})),dispatch:B.route({method:`POST`,path:`/api/kanban/dispatch`,tags:X}).input(A({board:w().optional(),dry_run:w().optional(),max:w().optional()})).output(Y),bulk:B.route({method:`POST`,path:`/api/kanban/tasks/bulk`,tags:X}).input(Y).output(A({results:k(Y),read_only:D()})),createTask:B.route({method:`POST`,path:`/api/kanban/tasks`,tags:X}).input(Y).output(Ch),link:B.route({method:`POST`,path:`/api/kanban/links`,tags:X}).input(Y).output(Y),unlink:B.route({method:`POST`,path:`/api/kanban/links/delete`,tags:X}).input(Y).output(Y),unlinkDelete:B.route({method:`DELETE`,path:`/api/kanban/links`,tags:X}).input(Y).output(Y),task:B.route({method:`GET`,path:`/api/kanban/tasks/{task_id}`,tags:X}).input(A({task_id:w(),board:w().optional()})).output(Y),taskLog:B.route({method:`GET`,path:`/api/kanban/tasks/{task_id}/log`,tags:X}).input(A({task_id:w(),board:w().optional(),tail:w().optional()})).output(j({log:k(J).optional(),entries:k(J).optional()})),comment:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/comments`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Y),block:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/block`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch),unblock:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/unblock`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch),patch:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/patch`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch),patchTask:B.route({method:`PATCH`,path:`/api/kanban/tasks/{task_id}`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch)},extensions:{status:B.route({method:`GET`,path:`/api/extensions/status`,tags:X}).output(am),registry:B.route({method:`GET`,path:`/api/extensions/registry`,tags:X}).output(j({entries:k(J),error:w().optional(),unavailable:D().optional()})),manifests:B.route({method:`GET`,path:`/api/extensions/manifests`,tags:X}).output(A({protocol_version:F(1),manifests:k(Y)})),toggle:B.route({method:`POST`,path:`/api/extensions/toggle`,tags:X}).input(A({id:J.optional(),enabled:J.optional()})).output(am),consent:B.route({method:`POST`,path:`/api/extensions/sidecar-proxy-consent`,tags:X}).input(A({id:J.optional(),approved:J.optional()})).output(am),install:B.route({method:`POST`,path:`/api/extensions/install`,tags:X}).input(A({id:J.optional(),download_url:J.optional(),sha256:J.optional()})).output(A({installed:F(!0),id:w(),version:w()})),uninstall:B.route({method:`POST`,path:`/api/extensions/uninstall`,tags:X}).input(A({id:J.optional()})).output(A({uninstalled:F(!0),id:w()}))},terminal:{start:B.route({method:`POST`,path:`/api/terminal/start`,tags:X,summary:`Spawn (or reuse) the embedded PTY shell for a session workspace (local origin when auth is off).`}).input(wh.extend({rows:J.optional(),cols:J.optional(),restart:J.optional()})).output(A({ok:F(!0),session_id:w(),workspace:w(),running:D()})),input:B.route({method:`POST`,path:`/api/terminal/input`,tags:X}).input(wh.extend({data:w().optional()})).output(xh),resize:B.route({method:`POST`,path:`/api/terminal/resize`,tags:X}).input(wh.extend({rows:J.optional(),cols:J.optional()})).output(xh),close:B.route({method:`POST`,path:`/api/terminal/close`,tags:X}).input(wh).output(A({ok:F(!0),closed:D()}))}},Eh=j({text:w().optional(),already_streamed:D().optional(),reasoning_echo:D().optional(),session_id:w().optional()}),Dh=j({text:w().optional(),titles:k(w()).optional(),name:w().optional(),session_id:w().optional()}),Oh=j({name:w().optional(),...Kd,preview:w().nullable().optional(),args:O().optional(),event_type:w().optional(),session_id:w().optional(),id:w(),timestamp:E().optional()}),kh=Oh.extend({duration:E().nullable().optional(),is_error:D().optional(),cost_usd:E().nullable().optional(),result:O().optional(),output:O().optional()}),Ah=j({approval_id:w().optional(),session_id:w().optional(),command:w().optional(),description:w().optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),question:w().optional(),status:w().optional(),pending_count:E().optional(),run_id:w().optional(),mirror_token:w().optional()}),jh=j({steps:k(Of).optional(),clarify_id:w().optional(),session_id:w().optional(),question:w().optional(),choices:k(O()).optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),status:w().optional(),raw_preview:w().optional(),timeout_seconds:E().optional(),timeout_at:E().optional(),index:E().optional(),total:E().optional()}),Mh=j({session_id:w().optional(),old_session_id:w().optional(),new_session_id:w().optional(),continuation_session_id:w().optional(),usage:O().optional()}),Nh=j({session_id:w().optional(),title:w().optional(),status:w().optional(),reason:w().optional(),message:w().optional(),message_key:w().optional(),message_args:k(O()).optional(),raw_preview:w().optional(),prefill:O().optional()}),Ph=j({type:w().optional(),message:w().optional()}),Fh=j({terminal_state:$d.optional(),type:w().optional(),message:w().optional(),details:O().optional(),hint:w().optional(),session_id:w().optional(),old_session_id:w().optional(),new_session_id:w().optional(),continuation_session_id:w().optional(),status:M([w(),E()]).optional(),session:O().optional(),code:w().optional()}),Ih=j({terminal_state:$d.optional(),session:O().optional(),usage:O().optional(),status:w().optional(),ephemeral:D().optional(),answer:w().optional()}),Lh=j({terminal_state:$d.optional(),type:w().optional(),message:w().optional(),hint:w().optional(),status:w().optional(),session_id:w().optional(),session:O().optional()}),Rh=j({session_id:w().optional()}),zh=j({session_id:w().optional(),usage:O().optional(),tps:E().nullable().optional(),tps_available:D().optional(),estimated:D().optional()}),Bh=j({session_id:w().optional(),state:w().optional(),decision:w().optional(),message:w().optional(),message_key:w().optional(),message_args:k(O()).optional(),prefill:O().optional()}),Vh=j({session_id:w().optional(),state:O().optional(),text:w().optional(),decision:w().optional(),continuation_prompt:w().optional()}),Hh=j({session_id:w().optional(),steer_id:w().optional(),text:w().optional(),consumed_at:E().optional(),after_tool_call_id:w().nullable().optional()}),Uh=j({session_id:w().optional(),status:w().optional(),kind:w().optional(),name:w().optional(),reason:w().optional(),action:w().optional()}),Wh=j({session_id:w().optional(),todos:k(O()).optional(),version:E().optional(),ts:E().optional(),source:w().optional(),description:w().optional(),pending_count:E().optional()}),Gh=j({session_id:w().optional(),task_id:w().optional(),id:w().optional(),title:w().optional(),status:w().optional(),summary:w().optional(),error:w().optional()}),Kh=j({session_id:w().optional(),stream_id:w().optional(),turn_id:w().optional(),user_message_id:M([w(),E()]).optional()}),qh=j({}),Jh=`token.reasoning.tool.tool_complete.interim_assistant.approval.clarify.compressing.compressed.title.title_status.warning.apperror.cancel.error.done.stream_end.metering.context_status.goal.goal_continue.pending_steer_leftover.steer_consumed.state_saved.todo_state.bg_task_complete.server_turn_started.hello.initial.events.gateway_status.sessions_changed`.split(`.`),Yh=Qs(`event`,[A({event:F(`token`),data:Eh}),A({event:F(`interim_assistant`),data:Eh}),A({event:F(`reasoning`),data:Dh}),A({event:F(`tool`),data:Oh}),A({event:F(`tool_complete`),data:kh}),A({event:F(`approval`),data:Ah}),A({event:F(`clarify`),data:jh}),A({event:F(`compressing`),data:Mh}),A({event:F(`compressed`),data:Mh}),A({event:F(`title`),data:Nh}),A({event:F(`title_status`),data:Nh}),A({event:F(`warning`),data:Ph}),A({event:F(`apperror`),data:Fh}),A({event:F(`error`),data:Fh}),A({event:F(`cancel`),data:Lh}),A({event:F(`done`),data:Ih}),A({event:F(`stream_end`),data:Rh}),A({event:F(`metering`),data:zh}),A({event:F(`context_status`),data:Bh}),A({event:F(`goal`),data:Vh}),A({event:F(`goal_continue`),data:Vh}),A({event:F(`pending_steer_leftover`),data:Hh}),A({event:F(`steer_consumed`),data:Hh}),A({event:F(`state_saved`),data:Uh}),A({event:F(`todo_state`),data:Wh}),A({event:F(`bg_task_complete`),data:Gh}),A({event:F(`server_turn_started`),data:Kh}),A({event:F(`hello`),data:qh}),A({event:F(`initial`),data:qh}),A({event:F(`events`),data:qh}),A({event:F(`gateway_status`),data:qh}),A({event:F(`sessions_changed`),data:qh})]),Xh=new Set([`stream_end`,`cancel`,`apperror`,`error`]),Zh=j({type:F(`sessions_changed`).optional(),version:E().optional(),reason:w().optional(),profile:w().nullable().optional(),session_id:w().nullable().optional()}),Qh=Qs(`event`,[A({event:F(`initial`),data:qh}),A({event:F(`sessions_changed`),data:Zh}),A({event:F(`gateway_status`),data:qh}),A({event:F(`hello`),data:qh})]);function $h(e,t){let n;try{n=t===``?{}:JSON.parse(t)}catch{return null}let r=Yh.safeParse({event:e,data:n});return r.success?r.data:null}var eg=B.router({...Om,...Im,...Hm,...ih,...uh,...mh,...bh,...Th}),tg=class{maxArrayIndex;constructor(e={}){this.maxArrayIndex=e.maxBracketNotationArrayIndex??9999}serialize(e,t=[],n=[]){if(Array.isArray(e))e.forEach((e,r)=>{this.serialize(e,[...t,r],n)});else if(vu(e))for(let r in e)this.serialize(e[r],[...t,r],n);else n.push([this.stringifyPath(t),e]);return n}deserialize(e){if(e.length===0)return{};let t=new WeakSet,n={value:[]};for(let[r,i]of e){let e=this.parsePath(r),a=n,o=`value`;e.forEach((n,r)=>{!Array.isArray(a[o])&&!vu(a[o])&&(a[o]=[]),r===e.length-1?Array.isArray(a[o])&&(n===``?a[o].length&&!t.has(a[o])&&(a[o]=rg(a[o])):t.has(a[o])?(t.delete(a[o]),a[o]=ig(a[o])):ng(n,this.maxArrayIndex)||(a[o]=rg(a[o]))):Array.isArray(a[o])&&!ng(n,this.maxArrayIndex)&&(t.has(a[o])?(t.delete(a[o]),a[o]=ig(a[o])):a[o]=rg(a[o])),a=a[o],o=n}),Array.isArray(a)&&o===``?(t.add(a),a.push(i)):o in a?Array.isArray(a[o])?a[o].push(i):a[o]=[a[o],i]:a[o]=i}return n.value}stringifyPath(e){return e.map(e=>e.toString().replace(/[\\[\]]/g,e=>{switch(e){case`\\`:return`\\\\`;case`[`:return`\\[`;case`]`:return`\\]`;default:return e}})).reduce((e,t,n)=>n===0?t:`${e}[${t}]`,``)}parsePath(e){let t=[],n=!1,r=``,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=e[a+1];n&&o===`]`&&(s===void 0||s===`[`)&&i%2==0?(s===void 0&&(n=!1),t.push(r),r=``,a++):t.length===0&&o===`[`&&i%2==0?(n=!0,t.push(r),r=``):o===`\\`?i++:(r+=`\\`.repeat(i/2)+o,i=0)}return n||t.length===0?[e]:t}};function ng(e,t){return/^0$|^[1-9]\d*$/.test(e)&&Number(e)<=t}function rg(e){let t=new xu;return e.forEach((e,n)=>{t[n]=e}),t}function ig(e){let t=new xu;return t[``]=e.length===1?e[0]:e,t}var ag=class{customSerializers;constructor(e={}){this.customSerializers=e.customJsonSerializers??[]}serialize(e,t={value:!1}){for(let n of this.customSerializers)if(n.condition(e))return this.serialize(n.serialize(e),t);if(e instanceof Blob)return t.value=!0,[e,t.value];if(e instanceof Set)return this.serialize(Array.from(e),t);if(e instanceof Map)return this.serialize(Array.from(e.entries()),t);if(Array.isArray(e))return[e.map(e=>e===void 0?null:this.serialize(e,t)[0]),t.value];if(vu(e)){let n={};for(let r in e)(r!==`toJSON`||typeof e[r]!=`function`)&&(n[r]=this.serialize(e[r],t)[0]);return[n,t.value]}return typeof e==`bigint`||e instanceof RegExp||e instanceof URL?[e.toString(),t.value]:e instanceof Date?[Number.isNaN(e.getTime())?null:e.toISOString(),t.value]:Number.isNaN(e)?[null,t.value]:[e,t.value]}};function og(e){return`/${e.replace(/\/{2,}/g,`/`).replace(/^\/|\/$/g,``)}`}function sg(e){return e?og(e).match(/\/\{[^}]+\}/g)?.map(e=>({raw:e,name:e.match(/\{\+?([^}]+)\}/)[1]})):void 0}var cg=class{constructor(e,t,n){this.contract=e,this.serializer=t,this.baseUrl=n.url,this.headers=n.headers??{},this.customErrorResponseBodyDecoder=n.customErrorResponseBodyDecoder}baseUrl;headers;customErrorResponseBodyDecoder;async encode(e,t,n){let r=Ad(await Su(this.headers,n,e,t));n.lastEventId!==void 0&&(r=fd(r,{"last-event-id":n.lastEventId}));let i=await Su(this.baseUrl,n,e,t),a=bu(this.contract,e);if(!vd(a))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${e.join(`.`)}`);return Vd(`defaultInputStructure`,a[`~orpc`].route.inputStructure)===`compact`?this.#e(a,e,t,n,i,r):this.#t(a,e,t,n,i,r)}#e(e,t,n,r,i,a){let o=og(e[`~orpc`].route.path??kd(t)),s=n,c=sg(o);if(c?.length){if(!vu(n))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "compact" structure when has dynamic params at ${t.join(`.`)}.`);let e={...n};for(let t of c){let r=n[t.name];o=o.replace(t.raw,`/${encodeURIComponent(`${this.serializer.serialize(r)}`)}`),delete e[t.name]}s=Object.keys(e).length?e:void 0}let l=Vd(`defaultMethod`,e[`~orpc`].route.method),u=new URL(i);if(u.pathname=`${u.pathname.replace(/\/$/,``)}${o}`,l===`GET`){let e=this.serializer.serialize(s,{outputFormat:`URLSearchParams`});for(let[t,n]of e)u.searchParams.append(t,n);return{url:u,method:l,headers:a,body:void 0,signal:r.signal}}return{url:u,method:l,headers:a,body:this.serializer.serialize(s),signal:r.signal}}#t(e,t,n,r,i,a){let o=og(e[`~orpc`].route.path??kd(t)),s=sg(o);if(!vu(n)&&n!==void 0)throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "detailed" structure at ${t.join(`.`)}.`);if(s?.length){if(!vu(n?.params))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.params shape for "detailed" structure when has dynamic params at ${t.join(`.`)}.`);for(let e of s){let t=n.params[e.name];o=o.replace(e.raw,`/${encodeURIComponent(`${this.serializer.serialize(t)}`)}`)}}let c=a;if(n?.headers!==void 0){if(!vu(n.headers))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.headers shape for "detailed" structure at ${t.join(`.`)}.`);c=fd(n.headers,a)}let l=Vd(`defaultMethod`,e[`~orpc`].route.method),u=new URL(i);if(u.pathname=`${u.pathname.replace(/\/$/,``)}${o}`,n?.query!==void 0){let e=this.serializer.serialize(n.query,{outputFormat:`URLSearchParams`});for(let[t,n]of e)u.searchParams.append(t,n)}return l===`GET`?{url:u,method:l,headers:c,body:void 0,signal:r.signal}:{url:u,method:l,headers:c,body:this.serializer.serialize(n?.body),signal:r.signal}}async decode(e,t,n){let r=!Iu(e.status),i=await(async()=>{let t=!1;try{let n=await e.body();return t=!0,this.serializer.deserialize(n)}catch(e){throw Error(t?`Invalid OpenAPI response format.`:`Cannot parse response body, please check the response body and content-type.`,{cause:e})}})();if(!r)throw this.customErrorResponseBodyDecoder?.(i,e)??(Lu(i)?Ru(i):new Pu(jd(e.status),{status:e.status,data:{...e,body:i}}));let a=bu(this.contract,n);if(!vd(a))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${n.join(`.`)}`);return Vd(`defaultOutputStructure`,a[`~orpc`].route.outputStructure)===`compact`?i:{status:e.status,headers:e.headers,body:i}}},lg=class{constructor(e,t){this.jsonSerializer=e,this.bracketNotation=t}serialize(e,t={}){return uu(e)&&!t.outputFormat?pd(e,{value:async e=>this.#e(e,{outputFormat:`plain`}),error:async e=>new Vu({data:this.#e(Fu(e).toJSON(),{outputFormat:`plain`}),cause:e})}):this.#e(e,t)}#e(e,t){let[n,r]=this.jsonSerializer.serialize(e);if(t.outputFormat===`plain`)return n;if(t.outputFormat===`URLSearchParams`){let e=new URLSearchParams;for(let[t,r]of this.bracketNotation.serialize(n))(typeof r==`string`||typeof r==`number`||typeof r==`boolean`)&&e.append(t,r.toString());return e}if(n instanceof Blob||n===void 0||!r)return n;let i=new FormData;for(let[e,t]of this.bracketNotation.serialize(n))typeof t==`string`||typeof t==`number`||typeof t==`boolean`?i.append(e,t.toString()):t instanceof Blob&&i.append(e,t);return i}deserialize(e){return e instanceof URLSearchParams||e instanceof FormData?this.bracketNotation.deserialize(Array.from(e.entries())):uu(e)?pd(e,{value:async e=>e,error:async e=>e instanceof Vu&&Lu(e.data)?Ru(e.data,{cause:e}):e}):e}},ug=class extends Od{constructor(e,t,n){let r=new cg(e,new lg(new ag(n),new tg({maxBracketNotationArrayIndex:4294967294})),n);super(r,t,n)}};D().optional();var dg=j({error:w(),code:w().optional()}),fg=j({ok:D().optional()}),pg=class e extends Error{kind;status;code;body;path;retryable;constructor(e){super(e.message,e.cause===void 0?void 0:{cause:e.cause}),this.name=`ApiError`,this.kind=e.kind,this.status=e.status??0,this.code=e.code,this.body=e.body,this.path=e.path,this.retryable=e.retryable??(e.kind===`network`||e.kind===`timeout`)}static from(t,n=``){return t instanceof e?t:t instanceof DOMException&&t.name===`AbortError`?new e({kind:`aborted`,path:n,message:`Request aborted`,retryable:!1}):new e({kind:`network`,path:n,message:t instanceof Error?t.message:`Network error`,cause:t})}};function mg(e){return e instanceof pg}function hg(e,t,n){let r=e.safeParse(t);if(r.success)return r.data;throw new pg({kind:`invalid_payload`,path:n,message:`Malformed payload from ${n}: ${St(r.error)}`,body:t,retryable:!1})}var gg={},_g=[`en`,`it`,`ja`,`ru`,`es`,`de`,`zh`,`zh-Hant`,`pt`,`ko`,`fr`,`cs`,`tr`,`pl`,`vi`],vg=`PARAGLIDE_LOCALE`,yg=[`globalVariable`,`baseLocale`],bg=[];globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var xg,Sg=!1,Cg=()=>{let e=yg;typeof window<`u`&&window.location?.href&&(e=zg(window.location.href));let t=wg(e,typeof window<`u`?window.location?.href:void 0);if(t)return Sg||(xg=t,Sg=!0,Eg(t,{reload:!1})),t;throw Error(`No locale found. Read the docs https://paraglidejs.com/errors#no-locale-found`)};function wg(e,t){let n;for(let t of e){if(t===`baseLocale`)n=`en`;else if(t===`globalVariable`&&xg!==void 0)n=xg;else if(Vg(t)&&Bg.has(t)){let e=Bg.get(t);if(e){let t=e.getLocale();if(t instanceof Promise)continue;if(t!==void 0)return Ag(t)}}let e=Og(n);if(e)return e}}var Tg=e=>{e?window.location.href=e:window.location.reload()},Eg=(e,t)=>{let n={reload:!0,...t},r;try{r=Cg()}catch{}let i=[],a=yg;typeof window<`u`&&window.location?.href&&(a=zg(window.location.href));for(let t of a)if(t===`globalVariable`)xg=e;else if(t===`baseLocale`)continue;else if(Vg(t)&&Bg.has(t)){let n=Bg.get(t);if(n){let r=n.setLocale(e);r instanceof Promise&&(r=r.catch(e=>{throw Error(`Custom strategy "${t}" setLocale failed.`,{cause:e})}),i.push(r))}}let o=()=>{n.reload&&window.location&&e!==r&&Tg(void 0)};if(i.length)return Promise.all(i).then(()=>{o()});o()},Dg=()=>typeof window<`u`?window.location.origin:`http://fallback.com`;function Og(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of _g)if(e.toLowerCase()===t)return e}function kg(e){return!!e&&_g.some(t=>t===e)}function Ag(e){let t=Og(e);if(t)return t;throw Error(`Invalid locale: ${e}. Expected one of: ${_g.join(`, `)}`)}function jg(e){return e}function Mg(e,t){return e.exec(t.href)}var Ng=vg.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);RegExp(`(?:^|;\\s*)${Ng}=([^;]*)`);function Pg(e){return Fg(e)}function Fg(e){let t=jg(typeof e==`string`?new URL(e,Dg()):new URL(e)),n=t.pathname.split(`/`).filter(Boolean);return n.length>0&&Og(n[0])&&(t.pathname=`/`+n.slice(1).join(`/`)),jg(t)}var Ig,Lg;function Rg(e){if(bg.length===0)return;let t=typeof e==`string`?e:e.href;if(Ig===t)return Lg;let n=jg(new URL(t,`http://example.com`)),r=Pg(n),i=r.href===n.href?[n]:[n,r],a;for(let e of i){for(let t of bg)if(Mg(new gg(t.match,e.href),e)){a=t;break}if(a)break}return Ig=t,Lg=a,a}function zg(e){let t=Rg(e);return t&&t.exclude!==!0&&Array.isArray(t.strategy)?t.strategy:yg}var Bg=new Map;function Vg(e){return typeof e==`string`&&/^custom-[A-Za-z0-9_-]+$/.test(e)}function Hg(e){return!e.auth.auth_enabled||e.auth.logged_in}var Ug=A({session:Ud.optional().catch(void 0),session_id:Ud.optional().catch(void 0),source:P([`pwa`]).optional().catch(void 0),action:P([`new-chat`]).optional().catch(void 0),profile:w().max(64).optional().catch(void 0)}),Wg=A({job:w().optional().catch(void 0)}),Gg=P([`appearance`,`conversation`,`preferences`,`providers`,`plugins`,`extensions`,`system`,`help`]);A({file:P([`agent`,`webui`,`gateway`,`bootstrap`]).optional().catch(void 0),tail:E().int().min(50).max(5e3).optional().catch(void 0)}),A({days:E().int().min(1).max(365).optional().catch(void 0)}),A({board:w().max(128).optional().catch(void 0),assignee:w().max(128).optional().catch(void 0),archived:D().optional().catch(void 0),task:w().max(128).optional().catch(void 0)});var Kg=A({next:w().max(2048).optional().catch(void 0)});A({q:w().max(200).optional().catch(void 0),category:w().max(64).optional().catch(void 0)});var qg=A({msg:M([w().max(128),E().transform(String)]).optional().catch(void 0)});function Jg(e){let t=e.replace(/^#/,``).trim().toLowerCase();return t===`settings`?`/settings`:t===`sessions`||t===`chat`?`/`:null}A({session_id:Ud,draft:A({text:w(),files:k(O()).optional()}),draft_version:w().nullable().optional()}),A({text:w(),voice:w().optional(),engine:w().optional()});var Yg=/\/api\/(auth\/login|csp-report)$/,Xg=/\/api\/auth\/(login|passkey\/options|passkey\/login|logout)$/,Zg=new Set([`POST`,`PUT`,`PATCH`,`DELETE`]),Z={transport:e=>{let t={method:e.method,headers:e.headers,body:e.body??null,credentials:e.credentials,keepalive:e.keepalive??!1};return e.signal&&(t.signal=e.signal),fetch(e.url,t)},csrfToken:``,authEnabled:!1,mutationSeq:0,inflight:new Map,onUnauthorized:e=>{window.location.assign(c(`login?next=${encodeURIComponent(e)}`).href)}};function Qg(e){Object.assign(Z,e)}function $g(e,t){return new Promise((n,r)=>{let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`aborted`,`AbortError`))},{once:!0})})}function e_(e){return c(e)}function t_(){let e=s().pathname.replace(/\/$/,``),t=window.location.pathname+window.location.search;return t.startsWith(e)?t.slice(e.length)||`/`:t}async function n_(e,t){let n=(t.method??`GET`).toUpperCase(),r=e_(e),i=n===`GET`||n===`HEAD`,a=i&&t.dedupe!==!1&&!t.signal?`${n} ${r.href} @${Z.mutationSeq} ${JSON.stringify({t:t.timeoutMs,r:t.retries,s:t.retryStatuses})}`:null;if(a){let n=Z.inflight.get(a);if(n)return n;let r=n_(e,{...t,dedupe:!1});Z.inflight.set(a,r);let i=()=>{Z.inflight.get(a)===r&&Z.inflight.delete(a)};return r.then(i,i),r}i||(Z.mutationSeq+=1);let o=t.timeoutMs??3e4,s=(t.retries??2)+1,c=new Set(t.retryStatuses??[]),l=t.retryDelayMs??350,u=null;for(let a=1;a<=s;a++){let d=new AbortController,f=()=>d.abort();t.signal?.addEventListener(`abort`,f,{once:!0});let p=o>0?setTimeout(()=>d.abort(new DOMException(`timeout`,`TimeoutError`)),o):null;try{let i=new Headers(t.headers),o=null;t.json===void 0?t.body!==void 0&&(o=t.body):(i.set(`Content-Type`,`application/json`),o=JSON.stringify(t.json)),Zg.has(n)&&r.origin===window.location.origin&&!Yg.test(r.pathname)&&Z.csrfToken&&!i.has(`X-Hermes-CSRF-Token`)&&i.set(`X-Hermes-CSRF-Token`,Z.csrfToken);let f=await Z.transport({url:r,method:n,headers:i,body:o,signal:d.signal,credentials:`include`,keepalive:t.keepalive??!1});if(f.status===401&&Z.authEnabled&&t.redirect401!==!1&&!Xg.test(r.pathname))throw Z.onUnauthorized(t_()),new pg({kind:`unauthorized`,status:401,path:e,message:`Authentication required`,retryable:!1});let p=await f.text(),m=null;if(p!==``)try{m=JSON.parse(p)}catch{if(f.ok)throw new pg({kind:`invalid_payload`,status:f.status,path:e,message:`Non-JSON response from ${e}`,body:p,retryable:!1});m={error:p.slice(0,500)}}if(!f.ok){let n=dg.safeParse(m),r=new pg({kind:`http`,status:f.status,code:n.success?n.data.code:void 0,body:m,path:e,message:n.success?n.data.error:`HTTP ${f.status} from ${e}`,retryable:c.has(f.status)});if(r.retryable&&a<s){u=r,await $g(l,t.signal);continue}throw r}return hg(t.schema,m,e)}catch(n){let r=pg.from(n,e);if(r.kind===`aborted`&&t.signal?.aborted)throw r;if(u=r.kind===`aborted`&&d.signal.reason instanceof DOMException&&d.signal.reason.name===`TimeoutError`?new pg({kind:`timeout`,path:e,message:`Request to ${e} timed out`,retryable:!0}):r,!u.retryable||a>=s||!i&&u.kind===`timeout`)throw u;await $g(l,t.signal)}finally{p&&clearTimeout(p),t.signal?.removeEventListener(`abort`,f)}}throw u??new pg({kind:`network`,path:e,message:`Request failed`})}function r_(e,t,n={}){return n_(e,{...n,method:`GET`,schema:t})}function i_(e,t,n,r={}){return n_(e,{...r,method:`POST`,json:t,schema:n})}function a_(e,t,n,r={}){return n_(e,{...r,method:`POST`,body:t,schema:n,retries:r.retries??0})}async function o_(e){let t=new URL(e.url),n=t.pathname.replace(/^.*?\/api\//,`api/`),r=new Headers(e.headers);Zg.has(e.method)&&t.origin===window.location.origin&&!Yg.test(t.pathname)&&Z.csrfToken&&!r.has(`X-Hermes-CSRF-Token`)&&r.set(`X-Hermes-CSRF-Token`,Z.csrfToken);let i=e.method===`GET`||e.method===`HEAD`,a=i?null:await e.text(),o=i?`${e.method} ${t.href} @${Z.mutationSeq} contract`:null;if(o){let e=Z.inflight.get(o);if(e)return(await e).clone()}i||(Z.mutationSeq+=1);let s=async()=>{let i;try{i=await Z.transport({url:t,method:e.method,headers:r,body:a,signal:e.signal,credentials:`include`})}catch(e){throw pg.from(e,n)}if(i.status===401&&Z.authEnabled&&!Xg.test(t.pathname))throw Z.onUnauthorized(t_()),new pg({kind:`unauthorized`,status:401,path:n,message:`Authentication required`,retryable:!1});if(!i.ok){let e=await i.text(),t=null;try{t=e?JSON.parse(e):null}catch{t={error:e.slice(0,500)}}let r=dg.safeParse(t);throw new pg({kind:`http`,status:i.status,code:r.success?r.data.code:void 0,body:t,path:n,message:r.success?r.data.error:`HTTP ${i.status} from ${n}`,retryable:!1})}return i};if(!o)return s();let c=s();Z.inflight.set(o,c);let l=()=>{Z.inflight.get(o)===c&&Z.inflight.delete(o)};return c.then(l,l),(await c).clone()}var s_=class extends Dd{initRuntimeAdapter(e){for(let t of this.plugins)t.initRuntimeAdapter?.(e)}},c_=class{fetch;toFetchRequestOptions;adapterInterceptors;constructor(e){new s_(e.plugins).initRuntimeAdapter(e),this.fetch=e.fetch??globalThis.fetch.bind(globalThis),this.toFetchRequestOptions=e,this.adapterInterceptors=Yl(e.adapterInterceptors)}async call(e,t,n,r){let i=Td(e,this.toFetchRequestOptions);return Ed(await mu(this.adapterInterceptors,{...t,request:i,path:n,input:r,init:{redirect:`manual`}},({request:e,path:t,input:n,init:r,...i})=>this.fetch(e,r,i,t,n)),{signal:i.signal})}},l_=class extends ug{constructor(e,t){let n=new c_(t);super(e,n,t)}},u_=3e4,Q=e=>AbortSignal.timeout(e);function d_(){return hd(new l_(eg,{url:()=>s().href.replace(/\/+$/,``),fetch:(e,t,n)=>o_(n.signal?e:new Request(e,{signal:AbortSignal.timeout(u_)}))}))}var f_=null;function $(){return f_??=d_(),f_}var p_=`talaria-tab-id`;function m_(){let e=Array.from(crypto.getRandomValues(new Uint8Array(16)),e=>e.toString(16).padStart(2,`0`)).join(``);try{let t=performance.getEntriesByType(`navigation`)[0],n=sessionStorage.getItem(p_);if(t?.type===`reload`&&n&&/^[A-Za-z0-9_-]{8,64}$/.test(n))return n;sessionStorage.setItem(p_,e)}catch{}return e}var h_=m_(),g_=document.querySelector(`meta[name="talaria-build"]`)?.content||void 0,__=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!=null&&r!==``&&t.set(n,String(r));let n=t.toString();return n?`?${n}`:``},v_=e=>e?`1`:void 0,y_=e=>e===void 0?void 0:String(e),b_=()=>$().bootstrap(),x_=e=>$().auth.login({password:e}),S_=()=>$().auth.logout(),C_=()=>$().auth.passkeyOptions(),w_=e=>$().auth.passkeyLogin(e),T_=()=>$().auth.passkeyRegisterOptions(),E_=(e,t)=>$().auth.passkeyRegister({...e,...t?{name:t}:{}}),D_=()=>$().auth.passkeys(),O_=e=>$().auth.passkeyDelete({id:e}),k_=()=>$().settings.get(),A_=e=>$().settings.save(e),j_=()=>$().profiles.list(),M_=e=>$().profiles.switch({name:e}),N_=e=>$().profiles.create(e),P_=e=>$().profiles.delete({name:e}),F_=e=>$().models.list(e?{freshness:e}:{}),I_=(e,t)=>$().models.setDefault({model:e,...t?{provider:t}:{}}),L_=()=>$().providers.list(),R_=(e=!1)=>$().providers.quotas(e?{refresh:`1`}:{},{signal:Q(45e3)}),z_=(e,t)=>$().personalities.set({session_id:e,name:t??``}),B_=(e,t)=>$().reasoning.get({...e?{model:e}:{},...t?{provider:t}:{}}),V_=(e,t,n)=>$().reasoning.set({effort:e,...t?{model:t}:{},...n?{provider:n}:{}}),H_=e=>$().reasoning.set({display:e}),U_=(e={})=>$().sessions.list({include_archived:v_(e.include_archived),all_profiles:v_(e.all_profiles),sidebar_source:e.sidebar_source,exclude_hidden:v_(e.exclude_hidden)},{signal:Q(45e3)}),W_=(e,t=5)=>$().sessions.search({q:e,content:`1`,depth:String(t)}),G_=(e,t={})=>$().session.get({session_id:e,messages:t.messages===!1?`0`:void 0,msg_limit:y_(t.msg_limit),msg_before:y_(t.msg_before),resolve_model:t.resolve_model===!1?`0`:void 0},{signal:Q(6e4)}),K_=(e,t,n,r,i)=>$().session.anchorSceneGet({session_id:e,message_ref:t,message_index:String(n),before:String(r),limit:`80`},{signal:AbortSignal.any([i,Q(3e4)])}),q_=e=>$().session.status({session_id:e}),J_=e=>$().session.usage({session_id:e}),Y_=e=>$().session.new(e),X_=(e,t)=>$().session.rename({session_id:e,title:t}),Z_=e=>$().session.delete({session_id:e}),Q_=(e,t)=>$().session.pin({session_id:e,pinned:t}),$_=(e,t)=>$().session.archive({session_id:e,archived:t}),ev=(e,t)=>$().session.move({session_id:e,project_id:t}),tv=e=>$().session.duplicate({session_id:e}),nv=(e,t)=>$().session.branch({session_id:e,...t===void 0?{}:{keep_count:t}}),rv=(e,t)=>$().session.truncate({session_id:e,keep_count:t}),iv=e=>$().session.undo({session_id:e}),av=e=>$().session.retry({session_id:e}),ov=e=>$().session.clear({session_id:e}),sv=e=>$().session.regenerateTitle({session_id:e},{signal:Q(6e4)}),cv=(e,t=`json`)=>`api/session/export${__({session_id:e,format:t})}`,lv=(e,t)=>$().session.update({session_id:e,...t}),uv=(e,t)=>$().session.yoloSet({session_id:e,enabled:t}),dv=e=>$().session.yoloGet({session_id:e}),fv=(e,t)=>$().session.toolsets({session_id:e,toolsets:t}),pv=e=>$().session.compressStart({session_id:e}),mv=e=>$().session.compressStatus({session_id:e}),hv=e=>$().session.draftSave({session_id:e.session_id,text:e.draft.text,files:e.draft.files??[],draft_version:e.draft_version??null}),gv=()=>$().projects.list({}),_v=(e,t)=>$().projects.create({name:e,color:t??null}),vv=e=>$().chat.start(e,{signal:Q(6e4)}),yv=e=>$().chat.cancel({stream_id:e}),bv=e=>$().chat.steer(e),xv=e=>$().chat.streamStatus({stream_id:e}),Sv=e=>$().approval.respond(e),Cv=e=>$().clarify.pending({session_id:e}),wv=e=>$().clarify.respond(e),Tv=(e,t)=>{let n=new FormData;return n.set(`session_id`,e),n.set(`file`,t,t.name),a_(`api/upload${__({session_id:e})}`,n,Pf,{timeoutMs:12e4})},Ev=(e,t)=>$().upload.rollback({session_id:e,rollback_tokens:t}),Dv=(e,t,n)=>$().goal({session_id:e,args:t,...n===void 0?{}:{text:n}}),Ov=(e,t)=>$().background.ack({session_id:e,task_id:t}),kv=e=>$().share.create({session_id:e}),Av=e=>$().share.revoke({session_id:e}),jv=e=>$().share.read({token:e}),Mv=()=>$().commands.list(),Nv=()=>$().workspaces.list(),Pv=(e,t)=>$().workspaces.add({path:e,...t?{name:t}:{}}),Fv=e=>$().workspaces.remove({path:e}),Iv=(e,t)=>$().workspaces.rename({path:e,name:t}),Lv=e=>$().workspaces.reorder({paths:e}),Rv=e=>$().workspaces.suggest({prefix:e}),zv=(e,t=`.`,n=!1)=>$().files.list({session_id:e,path:t,...n?{show_hidden:`1`}:{}}),Bv=(e,t)=>$().files.read({session_id:e,path:t}),Vv=(e,t)=>`api/file/raw${__({session_id:e,path:t})}`,Hv=(e,t,n)=>$().files.save({session_id:e,path:t,content:n}),Uv=(e,t)=>`api/folder/download${__({session_id:e,path:t})}`,Wv=e=>$().gitInfo({session_id:e}),Gv=e=>$().skills.list(e?{category:e}:{}),Kv=e=>$().skills.content({name:e}),qv=(e,t)=>$().skills.save({name:e,content:t}),Jv=e=>$().skills.delete({name:e}),Yv=(e,t)=>$().skills.toggle({name:e,enabled:t}),Xv=()=>$().skills.usage(),Zv=e=>$().memory.get(e?{workspace:e}:{}),Qv=e=>$().memory.write(e),$v=(e=!1)=>$().crons.list(e?{all_profiles:`1`}:{}),ey=(e,t)=>{let n=$().crons;return e===`create`?n.create(t):e===`update`?n.update(t):e===`delete`?n.delete(t):e===`run`?n.runNow(t):e===`pause`?n.pause(t):n.resume(t)},ty=(e,t=50)=>$().crons.history({job_id:e,limit:String(t)}),ny=(e,t)=>$().crons.run({job_id:e,filename:t}),ry=()=>$().crons.deliveryOptions(),iy=()=>$().crons.status({}),ay=()=>$().kanban.boards({}),oy=(e={})=>$().kanban.board(Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0&&e!==``).map(([e,t])=>[e,typeof t==`boolean`?t?`1`:`0`:t]))),sy=e=>$().kanban.switchBoard({slug:e}),cy=(e,t,n)=>{let r=$().kanban,i=String(e);return t===`comments`?r.comment({task_id:i,...n}):t===`block`?r.block({task_id:i,...n}):t===`unblock`?r.unblock({task_id:i,...n}):t===`dispatch`?r.dispatch({}):r.patch({task_id:i,...n})},ly=e=>$().kanban.createTask(e),uy=e=>$().kanban.taskLog({task_id:String(e)}),dy=e=>$().insights({days:String(e)}),fy=(e,t)=>$().logs({file:e,tail:String(t)}),py=()=>$().onboarding.status(void 0,{signal:Q(45e3)}),my=e=>$().onboarding.setup(e,{signal:Q(6e4)}),hy=e=>$().onboarding.probe(e,{signal:Q(6e4)}),gy=(e={})=>$().onboarding.complete(e),_y=()=>$().extensions.registry(void 0,{signal:Q(45e3)}),vy=(e,t)=>{let n=$().extensions,r={signal:Q(12e4)};return e===`install`?n.install(t,r):e===`uninstall`?n.uninstall(t,r):e===`toggle`?n.toggle(t,r):n.consent(t,r)},yy=()=>$().ops.dashboard(),by=()=>$().ops.agent(),xy=()=>$().ops.restart({},{signal:Q(12e4)}),Sy=()=>$().ops.system(),Cy=()=>$().updates.check(void 0,{signal:Q(45e3)}),wy=(e,t)=>$().updates.checkNow({force:!0,...e?{channel:e}:{},...t?{agent_channel:t}:{}},{signal:Q(12e4)}),Ty=(e,t,n=`webui`,r={})=>{let i=$().updates,a={target:n,...t?{channel:t}:{},...r},o={signal:Q(3e5)};return e===`apply`?i.apply(a,o):e===`force`?i.force(a,o):i.clearLock(a,o)},Ey=()=>$().updateNotifications.list({tab_id:h_,loaded_build:g_}),Dy=e=>$().updateNotifications.read({id:e,read:!0,tab_id:h_}),Oy=e=>$().updateNotifications.dismiss({id:e,dismiss:!0,tab_id:h_}),ky=()=>$().updateNotifications.clear({clear:!0,tab_id:h_,loaded_build:g_}),Ay=e=>$().updateNotifications.cancel({id:e,cancel:!0}),jy=(e,t)=>$().updateNotifications.action({id:e,action_id:t,perform:!0,tab_id:h_}),My=()=>$().plugins(),Ny=()=>$().ops.shutdown({});export{q_ as $,jc as $n,H_ as $t,ry as A,fg as An,jy as At,ay as B,Ud as Bn,Sv as Bt,cv as C,Gg as Cn,my as Ct,b_ as D,Cg as Dn,E_ as Dt,K_ as E,Hg as En,C_ as Et,yy as F,$h as Fn,sv as Ft,py as G,op as Gn,Ev as Gt,fy as H,Wf as Hn,xy as Ht,_y as I,Kf as In,Fv as It,gv as J,Nc as Jn,A_ as Jt,My as K,Pc as Kn,hv as Kt,Wv as L,vf as Ln,X_ as Lt,ny as M,Jh as Mn,Vv as Mt,iy as N,Xh as Nn,Bv as Nt,Cv as O,kg as On,T_ as Ot,$v as P,Qh as Pn,Dy as Pt,G_ as Q,Oc as Qn,z_ as Qt,dy as R,Yf as Rn,Iv as Rt,tv as S,qg as Sn,hy as St,by as T,Jg as Tn,w_ as Tt,Zv as U,Vp as Un,av as Ut,uy as V,mf as Vn,wv as Vt,F_ as W,Gd as Wn,Av as Wt,L_ as X,Mc as Xn,W_ as Xt,R_ as Y,Fc as Yn,qv as Yt,B_ as Z,kc as Zn,I_ as Zt,ey as _,i_ as _n,i as _r,x_ as _t,nv as a,bv as an,F as ar,Kv as at,Jv as b,Ug as bn,Y_ as bt,wy as c,M_ as cn,A as cr,xv as ct,pv as d,iv as dn,M as dr,Cy as dt,V_ as en,P as er,J_ as et,mv as f,lv as fn,O as fr,Nv as ft,kv as g,r_ as gn,l as gr,zv as gt,_v as h,Qg as hn,o as hr,cy as ht,$_ as i,vv as in,Qs as ir,jv as it,ty as j,mg as jn,Q_ as jt,Mv as k,Eg as kn,D_ as kt,ov as l,Yv as ln,N as lr,Sy as lt,N_ as m,Qv as mn,c as mr,Dv as mt,Pv as n,uv as nn,k as nr,U_ as nt,yv as o,Rv as on,j as or,Gv as ot,ly as p,Tv as pn,Cs as pr,Uv as pt,j_ as q,Ic as qn,Hv as qt,Ty as r,Ny as rn,D as rr,k_ as rt,Ay as s,sy as sn,E as sr,Xv as st,Ov as t,fv as tn,Ws as tr,dv as tt,ky as u,rv as un,w as ur,Ey as ut,P_ as v,n_ as vn,S_ as vt,vy as w,Wg as wn,O_ as wt,Oy as x,Kg as xn,gy as xt,Z_ as y,e_ as yn,ev as yt,oy as z,ff as zn,Lv as zt};
64
+ `,t}var sd=Symbol(`ORPC_EVENT_SOURCE_META`);function cd(e,t){if(t.id===void 0&&t.retry===void 0&&!t.comments?.length)return e;if(t.id!==void 0&&ed(t.id),t.retry!==void 0&&nd(t.retry),t.comments!==void 0)for(let e of t.comments)rd(e);return new Proxy(e,{get(e,n,r){return n===sd?t:Reflect.get(e,n,r)}})}function ld(e){return yu(e)?Reflect.get(e,sd):void 0}function ud(e,t=`inline`){return`${t}; filename="${e.replace(/[^\x20-\x7E]/g,`_`).replace(/"/g,`\\"`)}"; filename*=utf-8''${encodeURIComponent(e).replace(/['()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`).replace(/%(7C|60|5E)/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}`}function dd(e){let t=e.match(/filename\*=(UTF-8'')?([^;]*)/i);if(t&&typeof t[2]==`string`)return Eu(t[2]);let n=e.match(/filename="((?:\\"|[^"])*)"/i);if(n&&typeof n[1]==`string`)return n[1].replace(/\\"/g,`"`)}function fd(e,t){let n={...e};for(let e in t)Array.isArray(t[e])?n[e]=[...Yl(n[e]),...t[e]]:t[e]!==void 0&&(n[e]=Array.isArray(n[e])?[...n[e],t[e]]:n[e]===void 0?t[e]:[n[e],t[e]]);return n}function pd(e,t){let n=async e=>{let n=await t.error(e);if(n!==e){let t=ld(e);t&&yu(n)&&(n=cd(n,t))}return n};return new fu(async()=>{let{done:r,value:i}=await(async()=>{try{return await e.next()}catch(e){throw await n(e)}})(),a=await t.value(i,r);if(a!==i){let e=ld(i);e&&yu(a)&&(a=cd(a,e))}return{done:r,value:a}},async()=>{try{await e.return?.()}catch(e){throw await n(e)}})}function md(e){return{...e,context:e.context??{}}}function hd(e,t={}){let n=t.path??[];return Cu(new Proxy(async(...[t,r={}])=>await e.call(n,t,md(r)),{get(r,i){return typeof i!=`string`||ku.has(i)?Reflect.get(r,i):hd(e,{...t,path:[...n,i]})}}))}function gd(e,t){return{...e,...t}}var _d=class{"~orpc";constructor(e){if(e.route?.successStatus&&Iu(e.route.successStatus))throw Error(`[ContractProcedure] Invalid successStatus.`);if(Object.values(e.errorMap).some(e=>e&&e.status&&!Iu(e.status)))throw Error(`[ContractProcedure] Invalid error status code.`);this[`~orpc`]=e}};function vd(e){return e instanceof _d||(typeof e==`object`||typeof e==`function`)&&e!==null&&`~orpc`in e&&typeof e[`~orpc`]==`object`&&e[`~orpc`]!==null&&`errorMap`in e[`~orpc`]&&`route`in e[`~orpc`]&&`meta`in e[`~orpc`]}function yd(e,t={}){let n=(e?.pipeThrough(new TextDecoderStream).pipeThrough(new Xu))?.getReader(),r,i=!1;return new fu(async()=>{r??=au(`consume_event_iterator_stream`);try{for(;;){if(n===void 0)return{done:!0,value:void 0};let{done:e,value:t}=await lu(r,()=>n.read());if(e){if(i)throw new $l(`Stream was cancelled`);return{done:!0,value:void 0}}switch(t.event){case`message`:{let e=hu(t.data);return yu(e)&&(e=cd(e,t)),r?.addEvent(`message`),{done:!1,value:e}}case`error`:{let e=new Vu({data:hu(t.data)});throw e=cd(e,t),r?.addEvent(`error`),e}case`done`:{let e=hu(t.data);return yu(e)&&(e=cd(e,t)),r?.addEvent(`done`),{done:!0,value:e}}default:r?.addEvent(`maybe_keepalive`)}}}catch(e){throw e instanceof Vu||ou(r,e,t),e}},async e=>{try{e!==`next`&&(i=!0,r?.addEvent(`cancelled`)),await lu(r,()=>n?.cancel())}catch(e){throw ou(r,e,t),e}finally{r?.end()}})}function bd(e,t={}){let n=t.eventIteratorKeepAliveEnabled??!0,r=t.eventIteratorKeepAliveInterval??5e3,i=t.eventIteratorKeepAliveComment??``,a=t.eventIteratorInitialCommentEnabled??!0,o=t.eventIteratorInitialComment??``,s=!1,c,l;return new ReadableStream({start(e){l=au(`stream_event_iterator`),a&&e.enqueue(od({comments:[o]}))},async pull(t){try{n&&(c=setInterval(()=>{t.enqueue(od({comments:[i]})),l?.addEvent(`keepalive`)},r));let a=await lu(l,()=>e.next());if(clearInterval(c),s)return;let o=ld(a.value);if(!a.done||a.value!==void 0||o!==void 0){let e=a.done?`done`:`message`;t.enqueue(od({...o,event:e,data:gu(a.value)})),l?.addEvent(e)}a.done&&(t.close(),l?.end())}catch(e){if(clearInterval(c),s)return;e instanceof Vu?(t.enqueue(od({...ld(e),event:`error`,data:gu(e.data)})),l?.addEvent(`error`),t.close()):(ou(l,e),t.error(e)),l?.end()}},async cancel(){try{s=!0,clearInterval(c),l?.addEvent(`cancelled`),await lu(l,()=>e.return?.())}catch(e){throw ou(l,e),e}finally{l?.end()}}}).pipeThrough(new TextEncoderStream)}function xd(e,t={}){return cu({name:`parse_standard_body`,signal:t.signal},async()=>{let n=e.headers.get(`content-disposition`);if(typeof n==`string`){let t=dd(n)??`blob`,r=await e.blob();return new File([r],t,{type:r.type})}let r=e.headers.get(`content-type`);if(!r||r.startsWith(`application/json`))return hu(await e.text());if(r.startsWith(`multipart/form-data`))return await e.formData();if(r.startsWith(`application/x-www-form-urlencoded`)){let t=await e.text();return new URLSearchParams(t)}if(r.startsWith(`text/event-stream`))return yd(e.body,t);if(r.startsWith(`text/plain`))return await e.text();let i=await e.blob();return new File([i],`blob`,{type:i.type})})}function Sd(e,t,n={}){if(e instanceof ReadableStream)return e;let r=t.get(`content-disposition`);if(t.delete(`content-type`),t.delete(`content-disposition`),e!==void 0)return e instanceof Blob?(t.set(`content-type`,e.type),t.set(`content-length`,e.size.toString()),t.set(`content-disposition`,r??ud(e instanceof File?e.name:`blob`)),e):e instanceof FormData||e instanceof URLSearchParams?e:uu(e)?(t.set(`content-type`,`text/event-stream`),bd(e,n)):(t.set(`content-type`,`application/json`),gu(e))}function Cd(e,t={}){return e.forEach((e,n)=>{Array.isArray(t[n])?t[n].push(e):t[n]=t[n]===void 0?e:[t[n],e]}),t}function wd(e,t=new Headers){for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.append(n,r);return t}function Td(e,t={}){let n=wd(e.headers),r=Sd(e.body,n,t);return new Request(e.url,{signal:e.signal,method:e.method,headers:n,body:r})}function Ed(e,t={}){return{body:eu(()=>xd(e,t)),status:e.status,get headers(){let t=Cd(e.headers);return Object.defineProperty(this,"headers",{value:t,writable:!0}),t},set headers(e){Object.defineProperty(this,"headers",{value:e,writable:!0})}}}var Dd=class{plugins;constructor(e=[]){this.plugins=[...e].sort((e,t)=>(e.order??0)-(t.order??0))}init(e){for(let t of this.plugins)t.init?.(e)}},Od=class{constructor(e,t,n={}){this.codec=e,this.sender=t,new Dd(n.plugins).init(n),this.interceptors=Yl(n.interceptors),this.clientInterceptors=Yl(n.clientInterceptors)}interceptors;clientInterceptors;call(e,t,n){return cu({name:`${Xl}.${e.join(`/`)}`,signal:n.signal},r=>(r?.setAttribute(`rpc.system`,Xl),r?.setAttribute(`rpc.method`,e.join(`.`)),uu(t)&&(t=pu({name:`consume_event_iterator_input`,signal:n.signal},t)),mu(this.interceptors,{...n,path:e,input:t},async({path:e,input:t,...n})=>{let i=iu(),a,o=i?.trace.getActiveSpan()??r;o&&i&&(a=i?.trace.setSpan(i.context.active(),o));let s=await cu({name:`encode_request`,context:a},()=>this.codec.encode(e,t,n)),c=await mu(this.clientInterceptors,{...n,input:t,path:e,request:s},({input:e,path:t,request:n,...r})=>cu({name:`send_request`,signal:r.signal,context:a},()=>this.sender.call(n,r,t,e))),l=await cu({name:`decode_response`,context:a},()=>this.codec.decode(c,n,e,t));return uu(l)?pu({name:`consume_event_iterator_output`,signal:n.signal},l):l})))}};new Set(Object.values({BIGINT:0,DATE:1,NAN:2,UNDEFINED:3,URL:4,REGEXP:5,SET:6,MAP:7}));function kd(e){return`/${e.map(encodeURIComponent).join(`/`)}`}function Ad(e){return typeof e.forEach==`function`?Cd(e):e}function jd(e){return Object.entries(Au).find(([,t])=>t.status===e)?.[0]??`MALFORMED_ORPC_ERROR_RESPONSE`}function Md(e,t){return{...e,...t}}function Nd(e,t){return{...e,...t}}function Pd(e,t){return e.path?{...e,path:`${t}${e.path}`}:e}function Fd(e,t){return{...e,tags:[...t,...e.tags??[]]}}function Id(e,t){return e?`${e}${t}`:t}function Ld(e,t){return e?[...e,...t]:t}function Rd(e,t){let n=e;return t.prefix&&(n=Pd(n,t.prefix)),t.tags?.length&&(n=Fd(n,t.tags)),n}function zd(e,t){if(vd(e))return new _d({...e[`~orpc`],errorMap:gd(t.errorMap,e[`~orpc`].errorMap),route:Rd(e[`~orpc`].route,t)});if(typeof e!=`object`||!e)return e;let n={};for(let r in e)n[r]=zd(e[r],t);return n}var B=new class e extends _d{constructor(e){super(e),this[`~orpc`].prefix=e.prefix,this[`~orpc`].tags=e.tags}$meta(t){return new e({...this[`~orpc`],meta:t})}$route(t){return new e({...this[`~orpc`],route:t})}$input(t){return new e({...this[`~orpc`],inputSchema:t})}errors(t){return new e({...this[`~orpc`],errorMap:gd(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:Md(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:Nd(this[`~orpc`].route,t)})}input(t){return new e({...this[`~orpc`],inputSchema:t})}output(t){return new e({...this[`~orpc`],outputSchema:t})}prefix(t){return new e({...this[`~orpc`],prefix:Id(this[`~orpc`].prefix,t)})}tag(...t){return new e({...this[`~orpc`],tags:Ld(this[`~orpc`].tags,t)})}router(e){return zd(e,this[`~orpc`])}}({errorMap:{},route:{},meta:{}}),Bd={defaultMethod:`POST`,defaultSuccessStatus:200,defaultSuccessDescription:`OK`,defaultInputStructure:`compact`,defaultOutputStructure:`compact`};function Vd(e,t){return t===void 0?Bd[e]:t}var V=O(),H=w().nullable(),U=E().nullable(),Hd=E(),Ud=w().regex(/^[A-Za-z0-9_.:-]{1,128}$/,`invalid session id`),Wd=j({filename:w().optional(),name:w().optional(),path:w().optional(),size:E().optional(),mime:w().optional(),is_image:D().optional(),rollback_token:w().optional()}),Gd=P([`shell`,`read`,`list`,`search`,`web`,`write`,`skill`,`memory`,`delegate`,`unknown`]),Kd={kind:Gd.optional(),target:w().optional()},qd=j({...Kd,name:w().optional(),args:V.optional(),function:j({name:w().optional(),arguments:V.optional()}).optional(),id:w().optional(),call_id:w().optional(),tool_call_id:w().optional(),done:D().optional(),is_error:D().optional(),preview:w().nullable().optional(),result:V.optional(),output:V.optional(),duration:E().nullable().optional(),cost_usd:E().nullable().optional(),timestamp:E().nullable().optional(),event_type:w().optional()}),Jd=j({type:w(),text:w().optional()}),Yd=M([w(),k(Jd),Ws()]);P([`user`,`assistant`,`system`,`tool`]);var Xd=M([w(),E()]),Zd=j({row_id:w(),order_index:E().int(),role:P([`prose`,`reasoning`,`tool`,`steering`]),created_at:E().optional(),text:w().optional(),titles:k(w()).optional(),tool:j({id:w(),name:w(),...Kd,args:V.optional(),preview:w().nullable(),result:V.optional(),done:D(),is_error:D(),duration:E().nullable(),cost_usd:E().nullable()}).optional(),steering:j({steer_id:w(),consumed:D(),submitted_at:E().nullable(),consumed_at:E().nullable(),phase_duration:E().nullable().optional()}).optional()}),Qd=j({path:w(),action:P([`added`,`edited`,`deleted`,`renamed`])}),$d=P([`completed`,`no_response`,`cancelled`,`interrupted`,`tool_limit_reached`,`compression_exhausted`,`error`]),ef=j({version:F(`activity_scene_v1`),activity_rows:k(Zd),final_answer:w().optional(),turn_duration:E().nullable().optional(),terminal_state:w().optional(),expanded_by_default:D().optional(),final_phase_duration:E().optional(),has_consumed_steering:D().optional(),file_changes:k(Qd).optional(),activity_rows_total:E().int().optional(),activity_rows_offset:E().int().optional(),activity_rows_complete:D().optional(),activity_rows_omitted:E().int().optional(),activity_scene_ref:w().optional()}),tf=j({role:w(),content:Yd.optional(),id:Xd.optional(),message_id:Xd.optional(),timestamp:E().nullable().optional(),attachments:k(Wd).optional(),tool_calls:k(qd).optional(),reasoning:M([w(),k(V)]).nullable().optional(),reasoning_content:w().nullable().optional(),thinking:w().nullable().optional(),tool_call_id:w().optional(),tool_use_id:w().optional(),name:w().optional(),badge:w().optional(),label:w().optional(),provider_details:V.optional(),provider_details_label:w().optional(),recovery_control:V.optional(),_anchor_activity_scene:ef.optional(),_turn_id:w().optional(),_active_turn_user:D().optional(),_steer:j({steer_id:w(),submitted_at:E().nullable().optional(),consumed_at:E().optional(),phase_duration:E().optional()}).optional(),_final_phase_duration:E().optional()}),nf=j({text:w().optional(),files:k(V).optional()}),rf=D().describe(`True only while the session's run is a live stream on this server.`),af=H.optional().describe("The live stream id; non-null only while `is_streaming` is true."),of=D().describe(`The session cannot be modified from Web: a read-only import, a view-only subagent child, or a foreign session whose owner refuses claiming.`),sf=D().describe(`Web may branch this session: never a subagent child, and a read-only session only when it is a cron run.`),cf=D().describe(`Web may pin or unpin this session: never a subagent child.`),lf=D().describe(`Web may archive or unarchive this session: never a subagent child.`),uf=D().describe(`Web may duplicate this session: it has a WebUI copy and is not a subagent child.`),df=j({session_id:Ud,title:w(),workspace:w().optional(),created_workspace:w().nullable().optional(),model:H.optional(),model_provider:H.optional(),messages:k(tf).optional(),tool_calls:k(qd).optional(),created_at:Hd.optional(),updated_at:Hd.optional(),last_message_at:U.optional(),message_count:E().optional(),user_message_count:E().optional(),pinned:D().optional(),archived:D().optional(),project_id:H.optional(),profile:H.optional(),personality:H.optional(),input_tokens:E().optional(),output_tokens:E().optional(),cache_read_tokens:E().optional(),cache_write_tokens:E().optional(),cache_hit_percent:U.optional(),estimated_cost:U.optional(),active_stream_id:af,is_streaming:rf,has_pending_user_message:D().optional(),pending_user_message:H.optional(),pending_attachments:k(Wd).optional(),pending_started_at:U.optional(),pending_user_source:H.optional(),context_length:U.optional(),threshold_tokens:U.optional(),last_prompt_tokens:U.optional(),post_compression_context_tokens_estimate:U.optional(),enabled_toolsets:k(w()).nullable().optional(),composer_draft:nf.optional(),is_cli_session:D().optional(),read_only:of,can_branch:sf,can_pin:cf,can_archive:lf,can_duplicate:uf,source_tag:H.optional(),source_label:H.optional(),session_source:H.optional(),raw_source:H.optional(),parent_session_id:H.optional(),worktree_path:H.optional(),worktree_branch:H.optional(),worktree_repo_root:H.optional(),share_token:H.optional(),share_created_at:U.optional(),manual_title:D().optional(),compression_anchor_summary:H.optional(),compression_recovery:N(w(),V).optional(),recommended_recovery_action:H.optional(),compression_recovery_action:H.optional(),compression_recovery_source_session_id:H.optional(),gateway_routing:V.optional(),_messages_offset:E().optional(),_messages_truncated:D().optional(),_msg_limit_max:E().optional(),_load_revision:w().optional(),transcript_seq:A({stream_id:w(),seq:E().int().nonnegative()}).nullable().optional()}),ff=j({session:df}),pf=j({session_id:Ud,title:w(),workspace:w().optional(),model:H.optional(),created_at:Hd.optional(),updated_at:Hd.optional(),last_message_at:U.optional(),message_count:E().optional(),pinned:D().optional(),archived:D().optional(),project_id:H.optional(),profile:H.optional(),is_streaming:rf,is_cli_session:D().optional(),cron_running:D().optional(),read_only:of,can_branch:sf,can_pin:cf,can_archive:lf,can_duplicate:uf,attention:j({kind:w().optional(),count:E().optional()}).nullable().optional(),source_tag:H.optional(),source_label:H.optional(),session_source:H.optional(),raw_source:H.optional(),parent_session_id:H.optional(),active_stream_id:af,share_token:H.optional(),worktree_branch:H.optional(),match_type:w().optional(),match_preview:H.optional()}),mf=j({sessions:k(pf),sidebar_reference_sessions:k(pf),server_time:E(),server_tz:w(),active_profile:w(),all_profiles:D(),include_archived:D(),archived_count:E().int(),archived_webui_count:E().int(),archived_cli_count:E().int(),other_profile_count:E().int(),cli_count:E().int(),webui_session_count:E().int(),cli_session_count:E().int(),archived_limit:E().int().nullable().optional(),archived_offset:E().int().optional()}),hf=j({session_id:Ud,title:w().optional(),active_stream_id:af,agent_running:rf,is_streaming:rf,read_only:of,message_count:E().optional(),model:H.optional(),profile:H.optional(),workspace:w().optional(),input_tokens:E().optional(),output_tokens:E().optional(),total_tokens:E().optional(),estimated_cost:U.optional(),updated_at:Hd.optional()}),gf=j({input_tokens:E().optional(),output_tokens:E().optional(),total_tokens:E().optional(),estimated_cost:U.optional(),model:H.optional()}),_f=j({project_id:w(),name:w(),color:w().nullable().optional(),profile:H.optional(),created_at:E().optional()}),vf=j({projects:k(_f),active_profile:w(),all_profiles:D(),other_profile_count:E().int()}),yf=j({ok:F(!0),state_db_cleanup_failed:D().optional()}),bf=j({session_id:Ud,message:w().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional(),workspace:w().nullable().optional(),profile:w().nullable().optional(),explicit_model_pick:D().optional(),attachments:k(M([Wd,w()])).optional(),moa_config:D().optional(),regenerate:D().optional(),regeneration_revision:w().optional()}),xf=j({stream_id:w().optional(),session_id:Ud.optional(),turn_id:w().optional(),user_message_id:M([w(),E()]).nullable().optional(),pending_started_at:E().nullable().optional(),title:w().optional(),effective_model:w().optional(),effective_model_provider:w().optional(),queued:D().optional(),ok:D().optional(),status:w().optional(),reason:w().optional(),session:df.optional()}),Sf=j({active:D(),stream_id:w(),replay_available:D().optional(),journal:V.optional()}),Cf=j({ok:D(),cancelled:D(),stream_id:w().optional(),error:w().optional()});j({session_id:Ud,text:w().min(1),display_text:w().optional(),steer_id:w().optional()});var wf=j({accepted:D(),fallback:H.optional(),stream_id:H.optional(),steer_id:w().optional()}),Tf=j({pending:j({approval_id:w().optional(),session_id:w().optional(),command:w().optional(),description:w().optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),question:w().optional(),status:w().optional(),pending_count:E().optional(),run_id:w().optional(),mirror_token:w().optional()}).nullable(),pending_count:E().int()});j({session_id:Ud,choice:P([`once`,`session`,`always`,`deny`]),approval_id:w().optional(),command:w().optional(),yolo:D().optional(),run_id:w().optional(),mirror_token:w().optional()});var Ef=j({ok:D(),choice:w().optional(),yolo_enabled:D().optional(),stale_cleared:D().optional(),error:w().optional(),pending_count:E().optional()}),Df=M([w(),j({label:w().optional(),value:w().optional(),text:w().optional()})]),Of=j({qid:w(),question:w(),choices:k(w()),multi_select:D()}),kf=N(w(),M([w(),k(w())])),Af=j({pending:j({steps:k(Of).optional(),clarify_id:w().optional(),session_id:w().optional(),question:w().optional(),description:w().optional(),choices:k(Df).optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),status:w().optional(),raw_preview:w().optional(),timeout_at:E().optional(),timeout_seconds:E().optional(),pending_count:E().optional(),index:E().optional(),total:E().optional()}).nullable(),pending_count:E().int()});j({session_id:Ud,answers:kf.optional(),response:w().optional(),answer:w().optional(),choice:w().optional(),clarify_id:w().optional()});var jf=j({ok:D(),response:w().optional(),error:w().optional(),stale:D().optional()}),Mf=j({text:w(),files:k(V)}),Nf=j({ok:F(!0),draft:Mf,draft_version:w().nullable(),unchanged:D().optional()}),Pf=j({filename:w(),path:w(),size:E(),mime:w(),is_image:D().optional(),rollback_token:w().optional()}),Ff=j({text:w().optional(),state:w().optional(),status:w().optional(),turns:E().optional(),max_turns:E().optional(),reason:w().optional()}),If=j({ok:D().optional(),action:w().optional(),goal:Ff.nullable().optional(),message:w().optional(),message_key:w().optional(),stream_id:w().optional(),status:w().optional(),reason:w().optional()}),Lf=j({results:k(j({id:w().optional(),task_id:w().optional(),status:w().optional(),title:w().optional(),summary:w().optional(),prompt:w().optional(),answer:H.optional(),error:w().optional(),completed_at:E().nullable().optional()}))}),Rf=j({ok:F(!0),share:j({token:w(),url:w(),title:w(),message_count:E().int(),created_at:E(),updated_at:E()}),session:pf}),zf=j({role:w(),content:M([w(),Ws(),k(V)]).optional()}),Bf=j({share:j({title:w(),messages:k(zf),message_count:E().int(),created_at:E().optional(),updated_at:E().optional(),model:H.optional()})}),Vf=j({title:w().optional(),workspace:w().optional(),workspace_inherited_from_prev_session:D().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional(),profile:w().nullable().optional(),prev_session_id:w().optional(),project_id:w().nullable().optional(),worktree:V.optional(),enabled_toolsets:k(w()).nullable().optional(),parent_session_id:w().optional()}),Hf=j({ok:F(!0),available:D(),provider:w()}),Uf=j({ok:F(!0),message:w().optional()}),Wf=j({bot_name:w().optional(),default_model:w().optional(),default_workspace:w().optional(),language:w().optional(),send_key:w().optional(),font_size:w().optional(),full_width_chat:D().optional(),auto_scroll_follow:D().optional(),render_user_markdown:D().optional(),chat_activity_display_mode:w().optional(),default_message_mode:w().optional(),fade_text_effect:D().optional(),hidden_tabs:k(w()).optional(),composer_control_order:k(w()).optional(),show_cli_sessions:D().optional(),show_claude_code_sessions:D().optional(),show_cron_sessions:D().optional(),show_webhook_sessions:D().optional(),show_kanban_sessions:D().optional(),check_for_updates:D().optional(),ignore_agent_updates:D().optional(),auth_enabled:D().optional(),password_auth_enabled:D().optional(),password_env_var:D().optional(),passkeys_enabled:D().optional(),passwordless_enabled:D().optional(),auth_disabled_acknowledged:D().optional(),webui_version:w().optional(),agent_version:w().optional(),update_channel:w().optional(),agent_update_channel:P([`stable`,`experimental`]).optional(),update_channel_version:H.optional(),max_tokens:U.optional(),max_tokens_effective:U.optional(),max_tokens_fallback:U.optional(),tts_engine:w().optional(),tts_voice:w().optional(),dictation_append:D().optional(),persisted_speech_keys:k(w()).optional()}),Gf=j({name:w(),path:w().optional(),is_active:D().optional(),is_default:D().optional(),model:H.optional(),provider:H.optional(),skill_count:E().optional(),total_skills:E().optional(),enabled_skills:E().optional(),gateway_running:D().optional(),has_env:D().optional(),visible:D().optional()}),Kf=j({profiles:k(Gf),active:w(),single_profile_mode:D().optional()}),qf=j({name:w(),path:w().optional(),is_default:D().optional(),default_workspace:H.optional()}),Jf=Kf.extend({is_default:D(),default_model:V,default_model_provider:V,default_workspace:w().nullable()}),Yf=j({show_reasoning:D().optional(),reasoning_effort:w().nullable().optional(),supported_efforts:k(w()).optional(),supports_reasoning_effort:D().optional(),supports_thinking_toggle:D().optional()}),Xf=j({id:w(),label:w().optional(),provider:w().optional(),supports_fast_tier:D().optional()}),Zf=j({provider:w(),provider_id:w().optional(),models:k(Xf),extra_models:k(Xf).optional()}),Qf=j({active_provider:H.optional(),default_model:w().optional(),groups:k(Zf),aliases:N(w(),V).optional(),configured_model_badges:N(w(),V).optional()}),$f=j({providers:k(j({id:w(),display_name:w().optional(),has_key:D().optional(),configurable:D().optional(),is_oauth:D().optional(),is_plugin_provider:D().optional(),is_self_hosted:D().optional(),is_custom:D().optional(),key_source:w().optional(),base_url:H.optional(),auth_error:H.optional(),env_var:H.optional(),models:k(Xf).optional(),models_total:E().optional()})),active_provider:H.optional()}),ep=j({source_id:w(),provider_id:w().optional(),provider_label:w().optional(),account_label:w().optional(),status:w().optional(),supported:D().optional(),message:w().nullable().optional(),is_active_provider:D().optional(),quota:V.optional(),windows:V.optional(),balances:V.optional(),plan:V.optional(),details:V.optional(),unavailable_reason:V.optional(),retry_after:V.optional(),fetched_at:V.optional()}),tp=j({version:E(),scope_id:w(),profile_id:w(),active_provider:H,requested_source_id:H,missing_source:D(),sources:k(ep)}),np=j({personalities:k(j({name:w(),description:w().optional()}))}),rp=j({task:w(),label:w().optional(),description:w().optional(),model:w().optional(),provider:w().optional(),base_url:w().optional(),api_key_set:D().optional()}),ip=j({main:j({model:w().optional(),provider:w().optional(),base_url:w().optional(),api_key_set:D().optional()}).optional(),tasks:k(rp).optional()});j({max_tokens:U,max_tokens_effective:U,max_tokens_fallback:U});var ap=j({name:w().optional(),path:w()}),op=j({workspaces:k(ap),last:H.optional(),terminal_remote_backend:D().optional()}),sp=j({name:w(),path:w().optional(),is_dir:D().optional(),type:w().optional(),size:E().nullable().optional(),mtime:E().nullable().optional(),mtime_ns:M([E(),w()]).nullable().optional(),birthtime_ns:M([E(),w()]).nullable().optional(),hidden:D().optional(),workspace_sort_rank:E().int().optional(),target:w().optional(),target_outside_workspace:D().optional()}),cp=j({path:w().optional(),entries:k(sp),signature:w().optional(),workspace:w().optional(),workspace_recovered:D().optional(),is_git:D().optional()}),lp=j({path:w().optional(),content:w().optional(),lines:E().optional(),size:E().optional(),truncated:D().optional(),binary:D().optional(),mime:w().optional()}),up=j({git:j({is_git:D().optional(),branch:H.optional(),dirty:E().optional(),modified:E().optional(),untracked:E().optional(),ahead:E().optional(),behind:E().optional()}).nullable().optional()}),dp=j({skills:k(j({name:w(),description:H.optional(),category:H.optional(),disabled:D().optional()})),categories:k(V).optional()}),fp=j({name:w().optional(),content:w().optional(),path:w().optional(),success:D().optional(),message:w().optional(),ok:D().optional()}),pp=j({usage:N(w(),j({use_count:E().optional(),view_count:E().optional(),patch_count:E().optional()})),skill_names:k(w()).optional(),total_invocations:E().optional(),unique_skills_used:E().optional()}),mp=j({memory:w(),user:w(),soul:w(),project_context:w().optional(),memory_path:w().optional(),user_path:w().optional(),soul_path:w().optional(),project_context_path:w().optional(),project_context_name:w().optional(),project_context_workspace:w().optional(),memory_mtime:U.optional(),user_mtime:U.optional(),soul_mtime:U.optional(),project_context_mtime:U.optional(),project_context_shadowed:k(V).optional(),external_notes_enabled:D().optional()}),hp=j({id:w().optional(),name:w().optional(),title:w().optional(),label:w().optional(),text:w().optional(),content:w().optional(),created_at:E().optional()}),gp=j({prompts:k(hp)}),_p=j({commands:k(j({name:w(),description:w().optional(),aliases:k(w()).optional(),args_hint:w().optional(),category:w().optional(),cli_only:D().optional(),gateway_only:D().optional(),subcommands:k(V).optional()}))}),vp=j({file:w(),tail:E().optional(),lines:k(w()),truncated:D().optional(),total_bytes:E().optional(),mtime:U.optional(),hint:w().optional()}),yp=j({period_days:E().optional(),total_sessions:E().optional(),total_messages:E().optional(),total_tokens:E().optional(),total_input_tokens:E().optional(),total_output_tokens:E().optional(),total_cache_read_tokens:E().optional(),total_cache_hit_percent:U.optional(),total_cost:E().optional(),activity_by_day:k(j({day:w(),sessions:E()})).optional(),activity_by_hour:k(j({hour:E(),sessions:E()})).optional(),daily_tokens:k(j({date:w(),input_tokens:E().optional(),output_tokens:E().optional(),cache_read_tokens:E().optional(),cost:E().optional(),sessions:E().optional()})).optional(),models:k(j({model:w().optional(),sessions:E().optional(),tokens:E().optional(),cost:E().optional()})).optional()}),bp=j({running:D(),enabled:w().optional(),url:w().optional(),browser_url:w().optional(),host:w().optional(),port:E().int().optional(),version:w().optional(),error:w().optional()}),xp=j({alive:D().nullable().optional(),checked_at:w().optional(),details:j({state:w().optional(),reason:w().optional()}).optional(),gateway_chat:j({enabled:D().optional(),backend:w().optional(),base_url_configured:D().optional(),api_key_configured:D().optional()}).optional(),error:w().optional()}),Sp=j({available:D().optional(),status:w().optional(),checked_at:w().optional(),cpu:V.nullable().optional(),memory:V.nullable().optional(),disk:j({percent:E().optional(),total_bytes:E().optional(),used_bytes:E().optional()}).nullable().optional(),errors:k(j({code:w().optional(),metric:w().optional()})).optional(),webui_runtime:V.optional()}),Cp=j({name:w().optional(),channel:P([`stable`,`experimental`]).optional(),unsupported:D().optional(),supported_revision:w().optional(),supported_version:w().optional(),candidate_revision:w().optional(),behind:E().nullable().optional(),current_sha:w().nullable().optional(),latest_sha:w().nullable().optional(),compare_url:w().optional(),repo_url:w().optional(),error:w().optional(),ok:D().optional(),manual_update:D().optional(),no_git:D().optional(),install_kind:F(`npm`).optional(),npm:w().optional(),channel_switch:D().optional(),dirty:D().optional(),metadata_repair:D().optional(),release_url:w().optional(),ignored:D().optional(),stale_check:D().optional(),current_version:w().optional()}),wp=j({disabled:D().optional(),cached:D().optional(),channel:w().optional(),agent_channel:P([`stable`,`experimental`]).optional(),checked_at:E().optional(),include_agent:D().optional(),webui:Cp.nullable().optional(),agent:Cp.nullable().optional()}),Tp=j({summary:w().optional(),text:w().optional(),ok:D().optional(),error:w().optional(),diff_links:k(V).optional()}),Ep=j({ok:D().optional(),status:w().optional(),error:w().optional(),message:w().optional(),lock:V.optional(),confirmation_required:D().optional(),candidate_revision:w().optional(),supported_revision:w().optional(),supported_version:w().optional(),agent_channel:P([`stable`,`experimental`]).optional(),notification_id:xs().optional(),channel_switch:D().optional(),backup_dir:w().nullable().optional(),backup_failed:D().optional()}),Dp=P([`applying`,`awaiting_confirmation`,`restarting`,`succeeded`,`blocked`,`failed`,`unknown`]),Op=A({id:w().min(1).max(64).regex(/^[a-z0-9][a-z0-9_-]*$/),label:w().min(1).max(80),style:P([`default`,`primary`,`destructive`]),acknowledges:D()}),kp=A({key:w().min(1).max(64).regex(/^[a-z0-9][a-z0-9_.-]*$/),label:w().min(1).max(80)}),Ap=A({id:xs(),kind:w().min(1).max(64).regex(/^[a-z0-9][a-z0-9_-]*$/),target:P([`webui`,`agent`]).nullable(),phase:M([Dp,w().min(1).max(64)]),severity:P([`info`,`warning`,`critical`]),persistent:D(),requires_acknowledgement:D(),actions:k(Op).max(4),destination:kp.nullable(),title:w(),message:w(),created_at:Dc(),updated_at:Dc(),read_at:Dc().nullable(),acknowledged_at:Dc().nullable(),acknowledged_action_id:w().nullable(),verified_revision:w().regex(/^[a-f0-9]{40}$/).nullable(),verified_version:w().min(1).max(80).nullable(),detail:w().max(2e3).nullable(),unread:D(),active:D(),requires_interaction:D(),can_dismiss:D()}),jp=w().regex(/^[a-f0-9]{64}$/),Mp=w().regex(/^[A-Za-z0-9_-]{8,64}$/),Np=A({current_build:jp.nullable(),loaded_build:jp.nullable(),refresh_required:D(),notification_id:xs().nullable()}),Pp=A({scope_id:w().min(1).max(64),frontend_build:Np,notifications:k(Ap),tab_update:Ap.nullable(),tab_joined_at:Dc().nullable(),unread_count:E().int().nonnegative(),clearable_count:E().int().nonnegative(),can_clear:D()}),Fp=j({plugins:k(j({key:w(),name:w().optional(),kind:w().optional(),enabled:D().optional(),description:w().optional(),version:w().optional(),activation:w().optional(),is_active_provider:D().optional(),hooks:k(V).optional()})),empty:D().optional(),read_only:D().optional(),supported_hooks:k(w()).optional(),unavailable:D().optional()}),Ip=j({name:w(),id:w().optional(),transport:w().optional(),enabled:D().optional(),active:D().optional(),status:w().optional(),tools:E().optional(),tool_count:E().int().nullable().optional(),health:w().optional(),health_detail:w().optional(),health_checked_at:V.optional(),health_pending:D().optional()}),Lp=j({servers:k(Ip),health_pending:D().optional(),reload_required:D().optional(),toggle_supported:D().optional()}),Rp=j({tools:k(j({name:w().optional(),server:w().optional(),description:w().optional()})),total:E().int().optional(),source:w().optional(),inventory_scope:w().optional(),unavailable_servers:k(w()).optional()}),zp=j({enabled:D().optional(),sources:k(V).optional(),source:w().optional(),inventory_scope:w().optional(),recent_ai_notes:k(V).optional(),attach_supported:D().optional(),automatic_recall_unchanged:D().optional()}),Bp=j({id:M([w(),E()]).optional(),text:w().optional(),content:w().optional(),title:w().optional(),status:w().optional(),done:D().optional(),completed:D().optional()}),Vp=j({session_id:w().optional(),todos:k(Bp).optional(),version:E().optional(),ts:E().optional(),source:w().optional(),description:w().optional(),pending_count:E().optional()}),Hp=j({id:w(),name:w().optional(),label:w().optional(),kind:w().optional(),oauth:D().optional(),needs_key:D().optional(),base_url:H.optional(),models:k(V).optional(),category:w().optional()}),Up=j({completed:D(),settings:j({bot_name:w().optional(),default_model:w().optional(),default_workspace:H.optional(),password_enabled:D().optional()}).optional(),setup:j({providers:k(Hp).optional(),categories:k(V).optional(),current:j({provider:w().optional(),model:w().optional(),base_url:w().optional()}).optional(),current_is_oauth:D().optional(),unsupported_note:w().optional()}).optional(),system:j({hermes_found:D().optional(),imports_ok:D().optional(),chat_ready:D().optional(),provider_ready:D().optional(),provider_configured:D().optional(),setup_state:w().optional(),provider_note:w().optional(),provider_note_key:w().optional(),missing_modules:k(w()).optional(),import_errors:N(w(),w()).optional(),config_path:w().optional(),env_path:w().optional()}).optional(),workspaces:j({items:k(ap).optional(),last:H.optional()}).optional(),models:Qf.optional()}),Wp=j({ok:D().optional(),success:D().optional(),error:w().optional(),message:w().optional(),models:k(V).optional()}),Gp=j({ok:D().optional(),status:w().optional(),url:w().optional(),verification_url:w().optional(),user_code:w().optional(),message:w().optional(),error:w().optional(),flow_id:w().optional()}),Kp=j({kind:w().optional(),expr:w().optional(),minutes:E().optional(),run_at:w().optional(),display:w().optional()}),qp=j({times:U.optional(),completed:E().optional()}),Jp=j({read_only:D().optional(),owner_profile:H.optional(),id:w().optional(),job_id:w().optional(),name:w().nullable().optional(),prompt:w().optional(),schedule:M([w(),Kp]).optional(),schedule_display:w().optional(),enabled:D().optional(),paused:D().optional(),paused_reason:H.optional(),state:H.optional(),last_status:H.optional(),last_error:H.optional(),last_delivery_error:H.optional(),next_run_at:M([w(),E(),Ws()]).optional(),last_run_at:M([w(),E(),Ws()]).optional(),repeat:M([qp,E(),Ws()]).optional(),status:w().optional(),last_run:V.optional(),next_run:V.optional(),profile:H.optional(),session_id:H.optional(),model:H.optional(),provider:H.optional(),workspace:H.optional(),workdir:H.optional(),deliver:H.optional(),skills:k(w()).optional(),no_agent:D().optional(),script:H.optional(),monitor:H.optional(),continuity:D().optional(),context_from:M([k(w()),w(),Ws()]).optional(),reasoning_effort:H.optional(),toast_notifications:D().optional(),running:D().optional()}),Yp=j({jobs:k(Jp),active_profile:w().optional(),all_profiles:D().optional(),other_profile_count:E().optional(),cron_unavailable:D().optional()}),Xp=j({ok:D().optional(),job:Jp.optional(),job_id:w().optional(),status:w().optional(),error:w().optional(),elapsed:E().optional()}),Zp=j({input_tokens:U.optional(),output_tokens:U.optional(),total_tokens:U.optional(),estimated_cost_usd:U.optional(),duration_seconds:U.optional(),model:w().optional(),provider:w().optional()}),Qp=j({filename:w(),size:E(),modified:E(),usage:Zp.optional()}),$p=j({job_id:w().optional(),runs:k(Qp),total:E().optional(),offset:E().optional()}),em=j({content:w().optional(),snippet:w().optional(),usage:Zp.optional(),error:w().optional()}),tm=j({running:M([D(),N(w(),E())]).optional()}),nm=j({id:M([w(),E()]),title:w().optional(),status:w().optional(),assignee:H.optional(),priority:M([w(),E()]).nullable().optional(),description:w().optional(),tags:k(w()).optional(),session_id:H.optional(),archived:D().optional(),created_at:V.optional(),updated_at:V.optional()}),rm=j({columns:k(j({name:w(),tasks:k(nm)})).optional(),assignees:k(V).optional(),filters:V.optional(),latest_event_id:E().optional(),read_only:D().optional(),tenants:k(V).optional(),changed:D().optional()}),im=j({boards:k(j({slug:w(),name:w().nullable().optional(),is_current:D().optional(),total:E().optional(),archived:D().optional(),color:w().optional(),icon:w().optional(),description:w().optional()})),current:w().optional(),read_only:D().optional()}),am=j({enabled:D(),extension_dir_configured:D().optional(),extension_dir_valid:D().optional(),script_urls:k(w()).optional(),stylesheet_urls:k(w()).optional(),sidecars:k(V).optional(),extensions:k(j({id:w(),enabled:D().optional(),name:w().optional(),version:w().optional()})).optional(),warnings:k(V).optional(),manifest:j({configured:D().optional(),loaded:D().optional(),status:w().optional(),entry_count:E().optional()}).optional(),counts:N(w(),E()).optional(),gallery_installed:N(w(),V).optional()}),om=w().nullable();A({error:w()}).catchall(O());var sm=A({auth_enabled:D(),logged_in:D(),oidc_enabled:D(),oidc_native_handoff_enabled:D(),password_auth_enabled:D(),passwordless_enabled:D(),passkeys_enabled:D(),passkeys_count:E().int(),passkey_feature_flag:D(),auth_disabled_acknowledged:D(),can_manage_server:D(),trusted_auth_enabled:D().optional(),auth_type:w().optional(),user:om.optional(),bound_profile:om.optional()}),cm=A({dashboard:D(),terminal_remote_backend:D(),extensions:D(),single_profile_mode:D()}),lm=A({webui_version:w(),max_upload_bytes:E().int().positive(),csrf_token:w(),language:w(),bot_name:w(),auth:sm,profile:A({name:w(),is_default:D()}).nullable(),onboarding:A({completed:D()}).nullable(),features:cm}),um=w().regex(/^[a-f0-9]{40}$/),dm=A({release:A({tag:w().nullable(),version:w(),sourceRevision:um.nullable(),releaseSet:um.nullable(),contracts:A({appWeb:k(E().int()),webRelay:k(E().int())}),compatibleAgent:A({sourceRevision:um,version:w(),image:w()}).catchall(O())}),status:P([`ok`,`degraded`,`starting`]),phase:w().optional(),sessions:E().int(),active_streams:E().int(),active_runs:E().int(),runs:k(N(w(),O())),last_run_finished_at:E().nullable(),server_started_at:E(),uptime_seconds:E(),accept_loop:A({requests_total:E().int(),last_request_at:E()}),checks:N(w(),O()).optional(),agent:A({status:P([`ready`,`starting`,`restarting`,`incompatible`,`stopped`,`unavailable`])})}),fm=A({password:w().optional()}),pm=A({ok:F(!0),trusted_logout_url:w().optional()}),mm=A({callback_url:w(),state:w(),code_challenge:w(),code_challenge_method:w()}),hm=A({flow_id:w(),authorization_url:w(),server_id:w(),expires_in:E().int()}),gm=A({flow_id:w(),code:w(),state:w(),code_verifier:w()}),_m=A({flow_id:w(),state:w()}),vm=A({ok:F(!0)}),ym=A({ok:D()}),bm=A({ok:F(!0),publicKey:N(w(),O())}),xm=A({id:w(),label:w(),created_at:E(),last_used_at:E().nullable(),sign_count:E().int()}),Sm=A({id:w().optional(),rawId:w().optional(),type:w().optional(),name:w().optional(),response:N(w(),O()).optional()}).catchall(O()),Cm=A({ok:F(!0),credential:A({id:w(),label:w()}),credentials:k(xm)}),wm=A({ok:F(!0)}),Tm=A({id:w()}),Em=A({ok:F(!0),credentials:k(xm)}),Dm=A({credentials:k(xm),disabled:D().optional()}),Om={health:B.route({method:`GET`,path:`/health`,tags:[`core`],summary:"Liveness and release identity; `deep=1` adds startup and store probes."}).input(A({deep:w().optional()})).output(dm),bootstrap:B.route({method:`GET`,path:`/api/bootstrap`,tags:[`core`],summary:`Public runtime configuration and initial state for the shell.`}).output(lm),auth:{status:B.route({method:`GET`,path:`/api/auth/status`,tags:[`auth`]}).output(sm),login:B.route({method:`POST`,path:`/api/auth/login`,tags:[`auth`]}).input(fm).output(Uf),logout:B.route({method:`POST`,path:`/api/auth/logout`,tags:[`auth`]}).output(pm),oidcNativeStart:B.route({method:`POST`,path:`/api/auth/oidc/native/start`,tags:[`auth`],summary:`Begin a native-app OIDC handoff (S256 PKCE, rate limited per client IP).`}).input(mm).output(hm),oidcNativeExchange:B.route({method:`POST`,path:`/api/auth/oidc/native/exchange`,tags:[`auth`],summary:`Redeem the one-time native handoff code for a session cookie.`}).input(gm).output(vm),oidcNativeCancel:B.route({method:`POST`,path:`/api/auth/oidc/native/cancel`,tags:[`auth`],summary:`Abandon a pending native handoff.`}).input(_m).output(ym),passkeyOptions:B.route({method:`POST`,path:`/api/auth/passkey/options`,tags:[`auth`],summary:`WebAuthn assertion options for login (public; CSRF exempt).`}).output(bm),passkeyLogin:B.route({method:`POST`,path:`/api/auth/passkey/login`,tags:[`auth`],summary:`Verify a passkey assertion and start a session (public; CSRF exempt).`}).input(Sm).output(wm),passkeyRegisterOptions:B.route({method:`POST`,path:`/api/auth/passkey/register/options`,tags:[`auth`],summary:`WebAuthn creation options (owner session or local first-run bootstrap).`}).output(bm),passkeyRegister:B.route({method:`POST`,path:`/api/auth/passkey/register`,tags:[`auth`],summary:`Store a new ES256 passkey credential.`}).input(Sm).output(Cm),passkeyDelete:B.route({method:`POST`,path:`/api/auth/passkey/delete`,tags:[`auth`],summary:`Remove a passkey; the last one is kept while no password is set (409).`}).input(Tm).output(Em),passkeys:B.route({method:`GET`,path:`/api/auth/passkeys`,tags:[`auth`],summary:"Registered passkey metadata (`disabled: true` when the feature flag is off)."}).output(Dm)}},km=O(),Am=A({ok:F(!0)}).catchall(km),jm=A({session_id:Ud}),Mm=A({session_id:w()}),Nm=A({include_archived:w().optional(),all_profiles:w().optional(),exclude_hidden:w().optional(),sidebar_source:w().optional(),archived_limit:w().optional(),archived_offset:w().optional(),show_cli_sessions:w().optional(),show_claude_code_sessions:w().optional(),show_cron_sessions:w().optional(),show_webhook_sessions:w().optional(),show_kanban_sessions:w().optional()}),Pm=A({session_id:w(),messages:w().optional(),msg_limit:w().optional(),msg_before:w().optional(),resolve_model:w().optional(),expand_renderable:w().optional()}),W=[`sessions`],Fm=j({status:P([`running`,`done`,`error`,`idle`]),session_id:w().nullable().optional(),session:pf.optional(),error:w().optional(),started_at:E().optional(),updated_at:E().optional()}),Im={sessions:{list:B.route({method:`GET`,path:`/api/sessions`,tags:W,summary:`Sidebar rows for the active profile.`}).input(Nm).output(mf),search:B.route({method:`GET`,path:`/api/sessions/search`,tags:W}).input(A({q:w().optional(),content:w().optional(),depth:w().optional(),all_profiles:w().optional()})).output(j({sessions:k(pf),query:w().optional(),count:E().int().optional(),all_profiles:D(),active_profile:w()})),cleanupZeroMessage:B.route({method:`POST`,path:`/api/sessions/cleanup_zero_message`,tags:W}).input(A({}).catchall(km)).output(A({ok:F(!0),cleaned:E().int()}))},session:{get:B.route({method:`GET`,path:`/api/session`,tags:W,summary:`One session with a bounded message window.`}).input(Pm).output(ff),status:B.route({method:`GET`,path:`/api/session/status`,tags:W}).input(Mm).output(hf),usage:B.route({method:`GET`,path:`/api/session/usage`,tags:W}).input(Mm).output(gf),new:B.route({method:`POST`,path:`/api/session/new`,tags:W}).input(Vf).output(ff.extend({worktree_skipped:w().optional()})),rename:B.route({method:`POST`,path:`/api/session/rename`,tags:W}).input(jm.extend({title:w()})).output(ff),delete:B.route({method:`POST`,path:`/api/session/delete`,tags:W}).input(A({session_id:w()})).output(yf),pin:B.route({method:`POST`,path:`/api/session/pin`,tags:W}).input(jm.extend({pinned:D().optional()})).output(Am.extend({session:pf})),archive:B.route({method:`POST`,path:`/api/session/archive`,tags:W}).input(jm.extend({archived:D().optional()})).output(Am.extend({session:pf})),move:B.route({method:`POST`,path:`/api/session/move`,tags:W}).input(jm.extend({project_id:w().nullable().optional()})).output(Am.extend({session:pf})),duplicate:B.route({method:`POST`,path:`/api/session/duplicate`,tags:W}).input(A({session_id:w()})).output(ff),branch:B.route({method:`POST`,path:`/api/session/branch`,tags:W}).input(jm.extend({keep_count:E().int().nullable().optional(),title:w().nullable().optional()})).output(A({session_id:w(),title:w(),parent_session_id:w()})),truncate:B.route({method:`POST`,path:`/api/session/truncate`,tags:W}).input(jm.extend({keep_count:km.optional()})).output(Am.extend({session:pf})),clear:B.route({method:`POST`,path:`/api/session/clear`,tags:W}).input(jm).output(Am.extend({session:pf})),retry:B.route({method:`POST`,path:`/api/session/retry`,tags:W}).input(jm).output(A({ok:F(!0),last_user_text:w(),removed_count:E().int()}).or(A({error:w()}))),undo:B.route({method:`POST`,path:`/api/session/undo`,tags:W}).input(jm).output(A({ok:F(!0),removed_count:E().int(),removed_preview:w()}).or(A({error:w()}))),update:B.route({method:`POST`,path:`/api/session/update`,tags:W}).input(jm.extend({workspace:w().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional()})).output(ff),toolsets:B.route({method:`POST`,path:`/api/session/toolsets`,tags:W}).input(jm.extend({toolsets:k(w()).nullable().optional()})).output(A({ok:F(!0),enabled_toolsets:k(w()).nullable()})),yoloGet:B.route({method:`GET`,path:`/api/session/yolo`,tags:W}).input(Mm).output(A({yolo_enabled:D()})),yoloSet:B.route({method:`POST`,path:`/api/session/yolo`,tags:W}).input(A({session_id:w(),enabled:km.optional()})).output(A({ok:F(!0),yolo_enabled:D(),stale_cleared:D().optional()})),import:B.route({method:`POST`,path:`/api/session/import`,tags:W}).input(A({messages:km.optional(),tool_calls:km.optional(),title:w().optional(),workspace:w().optional(),model:w().optional(),pinned:D().optional()}).catchall(km)).output(Am.extend({session:pf})),regenerateTitle:B.route({method:`POST`,path:`/api/session/title/regenerate`,tags:W,summary:`Generate a title from the first (or latest) complete exchange through the auxiliary model and persist it.`}).input(jm.extend({prefer_latest:D().optional()})).output(j({session:pf,title:w(),status:w(),raw_preview:w()})),compressStart:B.route({method:`POST`,path:`/api/session/compress/start`,tags:W,summary:"Manual compression is not available in this release (501 `manual_compression_unavailable`)."}).input(jm.extend({focus_topic:w().optional(),topic:w().optional()})).output(Fm),compressStatus:B.route({method:`GET`,path:`/api/session/compress/status`,tags:W}).input(Mm).output(Fm),draftGet:B.route({method:`GET`,path:`/api/session/draft`,tags:W}).input(Mm).output(A({draft:Mf,draft_version:w().nullable()})),draftSave:B.route({method:`POST`,path:`/api/session/draft`,tags:W}).input(A({session_id:w(),text:km.optional(),files:km.optional(),draft_version:km.optional()})).output(Nf),anchorSceneGet:B.route({method:`GET`,path:`/api/session/anchor-scene`,tags:W}).input(A({session_id:w(),message_ref:w().optional(),message_index:w().optional(),before:w().optional(),limit:w().optional()})).output(A({scene_ref:w(),rows:k(Zd),start:E().int(),end:E().int(),total:E().int(),complete:D()})),anchorSceneSave:B.route({method:`POST`,path:`/api/session/anchor-scene`,tags:W}).input(A({session_id:w(),scene:km.optional(),message_ref:w().optional(),message_index:km.optional(),message_offset:km.optional(),message_window_index:km.optional(),stream_id:w().optional()})).output(A({ok:F(!0),message_index:E().int(),message_ref:w()}))},projects:{list:B.route({method:`GET`,path:`/api/projects`,tags:[`projects`]}).input(A({all_profiles:w().optional()})).output(vf),create:B.route({method:`POST`,path:`/api/projects/create`,tags:[`projects`]}).input(A({name:w(),color:w().nullable().optional(),profile:w().nullable().optional()})).output(A({ok:F(!0),project:_f})),rename:B.route({method:`POST`,path:`/api/projects/rename`,tags:[`projects`]}).input(A({project_id:w(),name:w(),color:w().nullable().optional()})).output(A({ok:F(!0),project:_f})),delete:B.route({method:`POST`,path:`/api/projects/delete`,tags:[`projects`]}).input(A({project_id:w()})).output(A({ok:F(!0)}))},share:{create:B.route({method:`POST`,path:`/api/share/create`,tags:[`shares`]}).input(A({session_id:w()})).output(Rf),revoke:B.route({method:`POST`,path:`/api/share/revoke`,tags:[`shares`]}).input(A({session_id:w()})).output(Am.extend({session:pf})),read:B.route({method:`GET`,path:`/api/share/{token}`,tags:[`shares`],summary:`Public read of a shared conversation snapshot.`}).input(A({token:w()})).output(Bf)},talaria:{pair:B.route({method:`POST`,path:`/api/talaria/relay/pair`,tags:[`talaria`],summary:`Register this server with Talaria Relay (owner) or enroll the active profile (any session).`}).input(A({relay_url:w(),publisher_id:w(),publisher_invitation:w(),label:w().optional()})).output(A({ok:F(!0),publisher_id:w()})),presence:B.route({method:`POST`,path:`/api/talaria/presence`,tags:[`talaria`],summary:`Renew or revoke one browser tab's activity lease; a fresh lease mutes relay alerts for the profile.`}).input(A({tab_id:w(),active:D(),seq:E().int()})).output(A({ok:F(!0),lease_seconds:E().int()}))}},Lm=O(),Rm=[`workspaces`],zm=A({ok:F(!0),workspaces:k(ap)}),Bm=A({session_id:w(),path:w()}),Vm=A({ok:F(!0),path:w()}),Hm={workspaces:{list:B.route({method:`GET`,path:`/api/workspaces`,tags:Rm}).output(op),suggest:B.route({method:`GET`,path:`/api/workspaces/suggest`,tags:Rm}).input(A({prefix:w().optional()})).output(A({suggestions:k(w()),prefix:w()})),add:B.route({method:`POST`,path:`/api/workspaces/add`,tags:Rm}).input(A({path:w(),name:w().optional(),create:Lm.optional()})).output(zm),remove:B.route({method:`POST`,path:`/api/workspaces/remove`,tags:Rm}).input(A({path:w()})).output(zm),rename:B.route({method:`POST`,path:`/api/workspaces/rename`,tags:Rm}).input(A({path:w(),name:w()})).output(zm),reorder:B.route({method:`POST`,path:`/api/workspaces/reorder`,tags:Rm}).input(A({paths:Lm})).output(zm)},files:{list:B.route({method:`GET`,path:`/api/list`,tags:[`files`]}).input(A({session_id:w(),path:w().optional()})).output(cp),read:B.route({method:`GET`,path:`/api/file`,tags:[`files`]}).input(Bm).output(lp),save:B.route({method:`POST`,path:`/api/file/save`,tags:[`files`]}).input(Bm.extend({content:w().optional()})).output(Vm.extend({size:E().int()})),create:B.route({method:`POST`,path:`/api/file/create`,tags:[`files`]}).input(Bm.extend({content:w().optional()})).output(Vm),createDir:B.route({method:`POST`,path:`/api/file/create-dir`,tags:[`files`]}).input(Bm).output(Vm),delete:B.route({method:`POST`,path:`/api/file/delete`,tags:[`files`]}).input(Bm.extend({recursive:Lm.optional()})).output(Vm),rename:B.route({method:`POST`,path:`/api/file/rename`,tags:[`files`]}).input(Bm.extend({new_name:w()})).output(A({ok:F(!0),old_path:w(),new_path:w()})),move:B.route({method:`POST`,path:`/api/file/move`,tags:[`files`]}).input(Bm.extend({dest_dir:w().optional(),destination:w().optional()})).output(A({ok:F(!0),old_path:w(),new_path:w()})),reveal:B.route({method:`POST`,path:`/api/file/reveal`,tags:[`files`]}).input(Bm).output(Vm),openVsCode:B.route({method:`POST`,path:`/api/file/open-vscode`,tags:[`files`]}).input(Bm).output(Vm)}},Um=O(),Wm=N(w(),O()),G=[`git`],Gm=A({changed:E().int(),staged:E().int(),unstaged:E().int(),untracked:E().int(),conflicts:E().int()}),Km=A({path:w(),old_path:w().nullable(),workspace_path:w(),status:w(),staged:D(),unstaged:D(),untracked:D(),ignored:D(),conflict:D(),additions:E().int(),deletions:E().int(),binary:D()}),qm=A({is_git:D(),branch:w().optional(),upstream:w().optional(),ahead:E().int().optional(),behind:E().int().optional(),totals:Gm.optional(),files:k(Km).optional(),truncated:D().optional(),noise_filtering:A({filemode_only:E().int(),crlf_only:E().int(),active:D()}).optional()}),Jm=A({name:w(),sha:w(),updated:E().int(),updated_relative:w(),author:w(),subject:w(),upstream:w(),ahead:E().int(),behind:E().int()}),Ym=A({is_git:F(!0),current:w(),detached:D(),head:w(),local:k(Jm),remote:k(Jm),upstream:w(),ahead:E().int(),behind:E().int()}),Xm=A({path:w(),kind:w(),binary:D(),too_large:D(),additions:E().int(),deletions:E().int(),diff:w()});A({error:w(),code:w()});var Zm=A({session_id:w()}),Qm=A({session_id:w()}),$m=Qm.extend({paths:M([k(Um),w()]).optional(),path:w().optional()}),eh=A({ok:F(!0),git:qm}),th=A({ok:F(!0),message:w(),status:qm}),nh=Qm.extend({ref:w(),mode:w(),new_branch:w().nullable().optional(),track:Um.optional(),dirty_mode:w().optional()}),rh=A({ok:F(!0),git:qm,branches:Ym,current_branch:w(),message:w()}),ih={gitInfo:B.route({method:`GET`,path:`/api/git-info`,tags:G,summary:`Lightweight branch badge for a session workspace.`}).input(Zm).output(up),git:{status:B.route({method:`GET`,path:`/api/git/status`,tags:G}).input(Zm).output(A({git:qm})),branches:B.route({method:`GET`,path:`/api/git/branches`,tags:G}).input(Zm).output(A({branches:Ym})),diff:B.route({method:`GET`,path:`/api/git/diff`,tags:G}).input(Zm.extend({path:w().optional(),kind:w().optional(),staged:w().optional()})).output(A({diff:Xm})),stage:B.route({method:`POST`,path:`/api/git/stage`,tags:G}).input($m).output(eh),unstage:B.route({method:`POST`,path:`/api/git/unstage`,tags:G}).input($m).output(eh),discard:B.route({method:`POST`,path:`/api/git/discard`,tags:G}).input($m.extend({delete_untracked:Um.optional()})).output(eh),commit:B.route({method:`POST`,path:`/api/git/commit`,tags:G}).input(Qm.extend({message:w()})).output(A({ok:F(!0),commit:w(),status:qm})),commitSelected:B.route({method:`POST`,path:`/api/git/commit-selected`,tags:G}).input($m.extend({message:w()})).output(A({ok:F(!0),commit:w(),paths:k(w()),status:qm})),commitMessage:B.route({method:`POST`,path:`/api/git/commit-message`,tags:G,summary:`Generate a commit message for the staged diff through the auxiliary model.`}).input(Qm).output(A({ok:F(!0),message:w(),truncated:D()})),commitMessageSelected:B.route({method:`POST`,path:`/api/git/commit-message-selected`,tags:G}).input($m).output(A({ok:F(!0),message:w(),truncated:D()})),fetch:B.route({method:`POST`,path:`/api/git/fetch`,tags:G}).input(Qm).output(th),pull:B.route({method:`POST`,path:`/api/git/pull`,tags:G}).input(Qm).output(th),push:B.route({method:`POST`,path:`/api/git/push`,tags:G}).input(Qm).output(th),checkout:B.route({method:`POST`,path:`/api/git/checkout`,tags:G}).input(nh).output(rh),stashCheckout:B.route({method:`POST`,path:`/api/git/stash-checkout`,tags:G}).input(nh.omit({dirty_mode:!0})).output(rh.extend({stash_name:w(),stashed:D(),restored_stash:Wm.nullable(),restore_failed:D(),restore_error:w(),restore_stash:Wm.nullable()}))},rollback:{list:B.route({method:`GET`,path:`/api/rollback/list`,tags:[`rollback`]}).input(A({workspace:w().optional()})).output(A({checkpoints:k(Wm),workspace:w(),checkpoint_dir:w()})),diff:B.route({method:`GET`,path:`/api/rollback/diff`,tags:[`rollback`]}).input(A({workspace:w().optional(),checkpoint:w().optional(),id:w().optional()})).output(A({checkpoint:w(),workspace:w(),diff:w(),files_changed:k(A({file:w(),status:w()})),total_changes:E().int()})),restore:B.route({method:`POST`,path:`/api/rollback/restore`,tags:[`rollback`]}).input(A({workspace:w().optional(),checkpoint:w().optional(),id:w().optional()}).catchall(Um)).output(A({ok:F(!0),checkpoint:w(),workspace:w(),files_restored:k(w()),files_restored_count:E().int(),errors:k(A({file:w(),error:w()}))}))},worktree:{status:B.route({method:`GET`,path:`/api/session/worktree/status`,tags:[`sessions`]}).input(Zm).output(A({status:Wm})),remove:B.route({method:`POST`,path:`/api/session/worktree/remove`,tags:[`sessions`]}).input(A({session_id:Um.optional(),force:Um.optional()})).output(A({ok:F(!0),removed_path:w(),warnings:k(w()).nullable()}))},upload:{rollback:B.route({method:`POST`,path:`/api/upload/rollback`,tags:[`files`],summary:`Remove the successful prefix of one failed multi-file chat upload.`}).input(A({session_id:Um.optional(),rollback_tokens:Um.optional()})).output(A({ok:D(),rolled_back:E().int(),failed:E().int()}))}},ah=O(),oh=[`chat`],sh=A({session_id:w().optional(),choice:w().optional(),approval_id:w().optional(),yolo:D().optional(),run_id:w().optional(),mirror_token:w().optional()}).catchall(ah),ch=A({session_id:w().optional(),answers:kf.optional(),response:w().optional(),answer:w().optional(),choice:w().optional(),clarify_id:w().optional()}).catchall(ah),lh=A({session_id:w().optional(),args:w().optional(),text:w().optional(),profile:w().optional(),workspace:w().optional(),model:w().nullable().optional(),model_provider:w().nullable().optional(),explicit_model_pick:D().optional()}).catchall(ah),uh={chat:{start:B.route({method:`POST`,path:`/api/chat/start`,tags:oh,summary:"Admit one agent turn and return the stream id for `/api/chat/stream`."}).input(bf).output(xf),steer:B.route({method:`POST`,path:`/api/chat/steer`,tags:oh}).input(A({session_id:w().optional(),text:w().optional(),display_text:w().optional(),steer_id:w().optional()}).catchall(ah)).output(wf),cancel:B.route({method:`GET`,path:`/api/chat/cancel`,tags:oh}).input(A({stream_id:w().optional()})).output(Cf),streamStatus:B.route({method:`GET`,path:`/api/chat/stream/status`,tags:oh}).input(A({stream_id:w().optional()})).output(Sf)},approval:{pending:B.route({method:`GET`,path:`/api/approval/pending`,tags:[`approval`]}).input(A({session_id:w().optional()})).output(Tf),respond:B.route({method:`POST`,path:`/api/approval/respond`,tags:[`approval`]}).input(sh).output(Ef)},clarify:{pending:B.route({method:`GET`,path:`/api/clarify/pending`,tags:[`approval`]}).input(A({session_id:w().optional()})).output(Af),respond:B.route({method:`POST`,path:`/api/clarify/respond`,tags:[`approval`]}).input(ch).output(jf)},goal:B.route({method:`POST`,path:`/api/goal`,tags:oh}).input(lh).output(If),background:{start:B.route({method:`POST`,path:`/api/background`,tags:oh}).input(A({session_id:w().optional(),prompt:w().optional()}).catchall(ah)).output(A({ok:F(!0),task_id:w(),stream_id:w(),session_id:w()})),status:B.route({method:`GET`,path:`/api/background/status`,tags:oh}).input(A({session_id:w().optional()})).output(Lf),ack:B.route({method:`POST`,path:`/api/bg-task-complete-ack`,tags:oh}).input(A({session_id:w().optional(),task_id:w().optional(),process_id:w().optional()}).catchall(ah)).output(A({ok:F(!0),session_id:w(),task_id:w(),noop:F(!0)}))},btw:B.route({method:`POST`,path:`/api/btw`,tags:oh,summary:`Ephemeral side question answered in a hidden session that inherits the transcript.`}).input(A({session_id:w().optional(),question:w().optional()}).catchall(ah)).output(A({stream_id:w(),session_id:w(),parent_session_id:w()}))},dh=O(),fh=N(w(),O()),K=[`settings`];A({error:w()});var ph=A({advanced:fh.nullable().optional()}),mh={settings:{get:B.route({method:`GET`,path:`/api/settings`,tags:K,summary:`Server settings plus auth-state, max_tokens, and version badges.`}).output(Wf),save:B.route({method:`POST`,path:`/api/settings`,tags:K,summary:"Save settings; `_set_password`, `_clear_password`, `_passwordless`, `_current_password`, and `max_tokens` are handled specially."}).input(fh).output(Wf)},profiles:{list:B.route({method:`GET`,path:`/api/profiles`,tags:K}).output(Kf),active:B.route({method:`GET`,path:`/api/profile/active`,tags:K}).output(qf),switch:B.route({method:`POST`,path:`/api/profile/switch`,tags:K,summary:`Per-client switch: sets the profile cookie; never mutates the process-wide profile.`}).input(A({name:w().optional(),profile:w().optional()})).output(Jf),create:B.route({method:`POST`,path:`/api/profile/create`,tags:K}).input(A({name:w().optional(),clone_from:w().nullable().optional(),clone_config:dh.optional(),base_url:w().nullable().optional(),api_key:w().nullable().optional(),default_model:w().nullable().optional(),model_provider:w().nullable().optional()})).output(A({ok:F(!0),profile:Gf})),delete:B.route({method:`POST`,path:`/api/profile/delete`,tags:K}).input(A({name:w().optional(),profile:w().optional()})).output(A({ok:F(!0),name:w()}))},models:{list:B.route({method:`GET`,path:`/api/models`,tags:K}).input(A({freshness:w().optional()})).output(Qf),live:B.route({method:`GET`,path:`/api/models/live`,tags:K}).input(A({provider:w().optional()})).output(fh),refresh:B.route({method:`POST`,path:`/api/models/refresh`,tags:K,summary:`Evict the live model cache for one provider (or all when omitted) and answer the rebuilt catalog.`}).input(A({provider:w().optional()})).output(A({ok:F(!0),provider:w().nullable(),models:Qf})),auxiliary:B.route({method:`GET`,path:`/api/model/auxiliary`,tags:K}).output(ip),set:B.route({method:`POST`,path:`/api/model/set`,tags:K,summary:"scope=main sets config.yaml model.default; scope=auxiliary assigns one task slot (`__reset__` clears all)."}).input(ph.extend({scope:w().optional(),task:w().optional(),provider:w().optional(),model:w().optional(),session_id:w().optional(),model_provider:w().nullable().optional(),explicit:D().optional()})).output(j({ok:D().optional(),session:dh.optional(),error:w().optional()})),setDefault:B.route({method:`POST`,path:`/api/default-model`,tags:K}).input(ph.extend({model:w().optional(),provider:w().nullable().optional()})).output(A({ok:F(!0),model:w(),provider:w().nullable()}))},providers:{list:B.route({method:`GET`,path:`/api/providers`,tags:K}).output($f),setKey:B.route({method:`POST`,path:`/api/providers`,tags:K,summary:`Write (or clear when api_key is empty) a provider API key in the profile .env.`}).input(A({provider:w().optional(),api_key:w().nullable().optional()})).output(A({ok:F(!0),provider:w(),display_name:w(),action:w()})),delete:B.route({method:`POST`,path:`/api/providers/delete`,tags:K}).input(A({provider:w().optional()})).output(A({ok:F(!0),provider:w(),display_name:w(),action:w()})),selfHosted:B.route({method:`POST`,path:`/api/providers/self-hosted`,tags:K}).input(fh).output(fh),quota:B.route({method:`GET`,path:`/api/provider/quota`,tags:K}).input(A({provider:w().optional(),refresh:w().optional()})).output(fh),quotas:B.route({method:`GET`,path:`/api/provider/quotas`,tags:K}).input(A({source:w().optional(),refresh:w().optional()})).output(tp),costHistory:B.route({method:`GET`,path:`/api/provider/cost-history`,tags:K}).input(A({provider:w().optional(),days:w().optional()})).output(j({history:k(dh).optional(),days:k(dh).optional()}))},reasoning:{get:B.route({method:`GET`,path:`/api/reasoning`,tags:K}).input(A({model:w().optional(),provider:w().optional(),base_url:w().optional()})).output(Yf),set:B.route({method:`POST`,path:`/api/reasoning`,tags:K,summary:"Body is `{display: show|hide}` or `{effort, model?, provider?, base_url?}`."}).input(A({display:dh.optional(),effort:dh.optional(),model:w().nullable().optional(),provider:w().nullable().optional(),base_url:w().nullable().optional()})).output(Yf)},personalities:{list:B.route({method:`GET`,path:`/api/personalities`,tags:K}).output(np),set:B.route({method:`POST`,path:`/api/personality/set`,tags:K}).input(A({session_id:w().optional(),name:w().optional()})).output(A({ok:F(!0),personality:w().nullable(),prompt:w()}))},onboarding:{status:B.route({method:`GET`,path:`/api/onboarding/status`,tags:K}).output(Up),setup:B.route({method:`POST`,path:`/api/onboarding/setup`,tags:K}).input(fh).output(j({ok:D().optional(),error:w().optional(),status:dh.optional()})),complete:B.route({method:`POST`,path:`/api/onboarding/complete`,tags:K}).input(fh.optional()).output(Up),probe:B.route({method:`POST`,path:`/api/onboarding/probe`,tags:K}).input(A({provider:w().optional(),base_url:w().optional(),api_key:w().nullable().optional()})).output(Wp),oauthStart:B.route({method:`POST`,path:`/api/onboarding/oauth/start`,tags:K,summary:`Browser OAuth flows are not available in this release (501).`}).input(fh).output(Gp),oauthCancel:B.route({method:`POST`,path:`/api/onboarding/oauth/cancel`,tags:K}).input(fh).output(Gp),oauthPoll:B.route({method:`GET`,path:`/api/onboarding/oauth/poll`,tags:K}).input(A({flow_id:w().optional()})).output(Gp)}},hh=O(),gh=N(w(),O()),q=[`tools`],_h=A({ok:F(!0)}),vh={agent_channel:P([`stable`,`experimental`]).optional(),confirmed_agent_revision:w().regex(/^[a-f0-9]{40}$/).optional()},yh=A({target:w().optional(),channel:w().nullable().optional(),...vh,tab_id:Mp.optional()}),bh={skills:{list:B.route({method:`GET`,path:`/api/skills`,tags:q}).input(A({category:w().optional()})).output(dp),usage:B.route({method:`GET`,path:`/api/skills/usage`,tags:q}).output(pp),content:B.route({method:`GET`,path:`/api/skills/content`,tags:q,summary:"Skill view, or one linked file when `file` is given."}).input(A({name:w().optional(),file:w().optional()})).output(fp),save:B.route({method:`POST`,path:`/api/skills/save`,tags:q}).input(A({name:w().optional(),content:w().optional(),category:w().optional()})).output(A({ok:F(!0),name:w(),path:w()})),delete:B.route({method:`POST`,path:`/api/skills/delete`,tags:q}).input(A({name:w().optional()})).output(A({ok:F(!0),name:w()})),toggle:B.route({method:`POST`,path:`/api/skills/toggle`,tags:q,summary:"Writes `skills.disabled` (and `skills.platform_disabled.webui` when present) in config.yaml."}).input(A({name:w().optional(),enabled:hh.optional()})).output(A({ok:F(!0),name:w(),enabled:D()}))},memory:{get:B.route({method:`GET`,path:`/api/memory`,tags:q}).input(A({session_id:w().optional(),workspace:w().optional()})).output(mp),write:B.route({method:`POST`,path:`/api/memory/write`,tags:q,summary:"`section` names the file (memory, user, soul); the legacy `target` alias is accepted."}).input(A({section:w().optional(),target:w().optional(),content:w().optional()})).output(A({ok:F(!0),section:w(),path:w()}))},prompts:{list:B.route({method:`GET`,path:`/api/prompts`,tags:q}).output(gp),create:B.route({method:`POST`,path:`/api/prompts`,tags:q}).input(A({text:w().optional(),label:w().optional()})).output(A({ok:F(!0),prompt:hp})),delete:B.route({method:`DELETE`,path:`/api/prompts`,tags:q}).input(A({id:w().optional()})).output(_h)},commands:{list:B.route({method:`GET`,path:`/api/commands`,tags:q}).output(_p),exec:B.route({method:`POST`,path:`/api/commands/exec`,tags:q}).input(A({command:w().optional(),session_id:w().optional()})).output(A({output:w()}))},notes:{sources:B.route({method:`GET`,path:`/api/notes/sources`,tags:q}).output(zp),search:B.route({method:`GET`,path:`/api/notes/search`,tags:q}).input(A({source:w().optional(),q:w().optional(),limit:w().optional()})).output(j({results:k(hh).optional()}))},insights:B.route({method:`GET`,path:`/api/insights`,tags:q}).input(A({days:w().optional()})).output(yp),logs:B.route({method:`GET`,path:`/api/logs`,tags:q}).input(A({file:w().optional(),tail:w().optional()})).output(vp),ops:{agent:B.route({method:`GET`,path:`/api/health/agent`,tags:q}).output(xp),system:B.route({method:`GET`,path:`/api/system/health`,tags:q}).output(Sp),restart:B.route({method:`POST`,path:`/api/health/restart`,tags:q,summary:`Restart the Hermes gateway for the active profile (operator only).`}).input(gh.optional()).output(A({ok:F(!0),message:w()})),dashboard:B.route({method:`GET`,path:`/api/dashboard/status`,tags:q}).output(bp),shutdown:B.route({method:`POST`,path:`/api/shutdown`,tags:q,summary:`Stop the server process (operator only).`}).input(gh.optional()).output(A({status:F(`shutting_down`)}))},mcp:{servers:B.route({method:`GET`,path:`/api/mcp/servers`,tags:q}).output(Lp),tools:B.route({method:`GET`,path:`/api/mcp/tools`,tags:q}).output(Rp),action:B.route({method:`POST`,path:`/api/mcp/servers/{name}`,tags:q,summary:"`{enabled}` toggles, `{delete: true}` removes, `{url|command, ...}` adds or updates the server in config.yaml."}).input(A({name:w()}).catchall(hh)).output(gh),toggle:B.route({method:`PATCH`,path:`/api/mcp/servers/{name}`,tags:q}).input(A({name:w(),enabled:hh.optional()})).output(A({ok:F(!0),name:w(),enabled:D()})),update:B.route({method:`PUT`,path:`/api/mcp/servers/{name}`,tags:q}).input(A({name:w()}).catchall(hh)).output(A({ok:F(!0),server:Ip})),delete:B.route({method:`DELETE`,path:`/api/mcp/servers/{name}`,tags:q}).input(A({name:w()})).output(A({ok:F(!0),deleted:w()}))},plugins:B.route({method:`GET`,path:`/api/plugins`,tags:q}).output(Fp),updates:{check:B.route({method:`GET`,path:`/api/updates/check`,tags:q,summary:"Cached status; `POST` runs the check. Git source installs can update from completed releases (stable) or origin/main (experimental); direct global npm installs can update to completed stable npm releases."}).output(wp),checkNow:B.route({method:`POST`,path:`/api/updates/check`,tags:q}).input(A({force:hh.optional(),channel:w().nullable().optional(),agent_channel:vh.agent_channel})).output(wp),apply:B.route({method:`POST`,path:`/api/updates/apply`,tags:q}).input(yh).output(Ep),force:B.route({method:`POST`,path:`/api/updates/force`,tags:q}).input(yh).output(Ep),clearLock:B.route({method:`POST`,path:`/api/updates/clear_lock`,tags:q}).input(yh).output(Ep),summary:B.route({method:`POST`,path:`/api/updates/summary`,tags:q}).input(A({updates:gh.optional(),target:w().nullable().optional()})).output(Tp)},updateNotifications:{list:B.route({method:`GET`,path:`/api/update-notifications`,tags:q,summary:`Server-owned update operation history for the authenticated owner and active profile. A Web tab passes its tab_id and loaded_build so the server compares that build and keeps its tab-scoped refresh notice.`}).input(A({tab_id:Mp.optional(),loaded_build:jp.optional()})).output(Pp),read:B.route({method:`POST`,path:`/api/update-notifications/{id}/read`,tags:q}).input(A({id:xs(),read:F(!0),tab_id:Mp.optional()})).output(Ap),dismiss:B.route({method:`POST`,path:`/api/update-notifications/{id}/dismiss`,tags:q}).input(A({id:xs(),dismiss:F(!0),tab_id:Mp.optional()})).output(A({ok:F(!0)})),clear:B.route({method:`POST`,path:`/api/update-notifications/clear`,tags:q}).input(A({clear:F(!0),tab_id:Mp.optional(),loaded_build:jp.optional()})).output(Pp),cancel:B.route({method:`POST`,path:`/api/update-notifications/{id}/cancel`,tags:q}).input(A({id:xs(),cancel:F(!0)})).output(Ap),action:B.route({method:`POST`,path:`/api/update-notifications/{id}/actions/{action_id}`,tags:q}).input(A({id:xs(),action_id:w().min(1).max(64),perform:F(!0),tab_id:Mp.optional()})).output(Ap)},transcribeCapability:B.route({method:`GET`,path:`/api/transcribe/capability`,tags:q}).output(Hf),clientEvents:B.route({method:`POST`,path:`/api/client-events/log`,tags:q,summary:`Bounded browser diagnostics; only whitelisted scalar fields are logged.`}).input(gh).output(A({ok:F(!0),event:w().nullable()}))},J=O(),Y=N(w(),O()),X=[`automation`],xh=A({ok:F(!0)}),Sh=A({job_id:w().optional()}),Ch=A({task:cl,read_only:D()}),wh=A({session_id:w().optional()}),Th={crons:{list:B.route({method:`GET`,path:`/api/crons`,tags:X}).input(A({all_profiles:w().optional()})).output(Yp),history:B.route({method:`GET`,path:`/api/crons/history`,tags:X}).input(Sh.extend({offset:w().optional(),limit:w().optional()})).output($p),output:B.route({method:`GET`,path:`/api/crons/output`,tags:X}).input(Sh.extend({limit:w().optional()})).output(Y),run:B.route({method:`GET`,path:`/api/crons/run`,tags:X}).input(Sh.extend({filename:w().optional()})).output(em),status:B.route({method:`GET`,path:`/api/crons/status`,tags:X}).input(Sh).output(tm),deliveryOptions:B.route({method:`GET`,path:`/api/crons/delivery-options`,tags:X}).output(A({platforms:k(A({value:w(),label:w()}))})),create:B.route({method:`POST`,path:`/api/crons/create`,tags:X}).input(Y).output(Xp),update:B.route({method:`POST`,path:`/api/crons/update`,tags:X}).input(Y).output(Xp),delete:B.route({method:`POST`,path:`/api/crons/delete`,tags:X}).input(Sh).output(Xp),runNow:B.route({method:`POST`,path:`/api/crons/run`,tags:X,summary:"Start a manual run in the sidecar; answers immediately with `status: running` (or `already_running`)."}).input(Sh).output(Xp),pause:B.route({method:`POST`,path:`/api/crons/pause`,tags:X}).input(Sh.extend({reason:w().nullable().optional()})).output(Xp),resume:B.route({method:`POST`,path:`/api/crons/resume`,tags:X}).input(Sh).output(Xp)},kanban:{boards:B.route({method:`GET`,path:`/api/kanban/boards`,tags:X}).input(A({include_archived:w().optional()})).output(im),board:B.route({method:`GET`,path:`/api/kanban/board`,tags:X}).input(A({board:w().optional(),tenant:w().optional(),assignee:w().optional(),include_archived:w().optional(),only_mine:w().optional(),since:w().optional()})).output(rm),config:B.route({method:`GET`,path:`/api/kanban/config`,tags:X}).input(A({board:w().optional()})).output(Y),updateConfig:B.route({method:`PATCH`,path:`/api/kanban/config`,tags:X}).input(A({lane_by_profile:J.optional()})).output(Y),stats:B.route({method:`GET`,path:`/api/kanban/stats`,tags:X}).input(A({board:w().optional()})).output(Y),assignees:B.route({method:`GET`,path:`/api/kanban/assignees`,tags:X}).input(A({board:w().optional()})).output(A({assignees:k(dl)})),events:B.route({method:`GET`,path:`/api/kanban/events`,tags:X}).input(A({board:w().optional(),since:w().optional(),limit:w().optional()})).output(A({events:k(fl),cursor:E().int(),latest_event_id:E().int(),read_only:D()})),createBoard:B.route({method:`POST`,path:`/api/kanban/boards`,tags:X}).input(Y).output(A({board:pl,current:w(),read_only:D()})),switchBoard:B.route({method:`POST`,path:`/api/kanban/boards/{slug}/switch`,tags:X}).input(A({slug:w()})).output(A({current:w(),read_only:D()})),updateBoard:B.route({method:`PATCH`,path:`/api/kanban/boards/{slug}`,tags:X}).input(A({slug:w()}).catchall(J)).output(A({board:pl,read_only:D()})),deleteBoard:B.route({method:`DELETE`,path:`/api/kanban/boards/{slug}`,tags:X}).input(A({slug:w(),delete:w().optional()})).output(A({result:J,current:w(),read_only:D()})),dispatch:B.route({method:`POST`,path:`/api/kanban/dispatch`,tags:X}).input(A({board:w().optional(),dry_run:w().optional(),max:w().optional()})).output(Y),bulk:B.route({method:`POST`,path:`/api/kanban/tasks/bulk`,tags:X}).input(Y).output(A({results:k(Y),read_only:D()})),createTask:B.route({method:`POST`,path:`/api/kanban/tasks`,tags:X}).input(Y).output(Ch),link:B.route({method:`POST`,path:`/api/kanban/links`,tags:X}).input(Y).output(Y),unlink:B.route({method:`POST`,path:`/api/kanban/links/delete`,tags:X}).input(Y).output(Y),unlinkDelete:B.route({method:`DELETE`,path:`/api/kanban/links`,tags:X}).input(Y).output(Y),task:B.route({method:`GET`,path:`/api/kanban/tasks/{task_id}`,tags:X}).input(A({task_id:w(),board:w().optional()})).output(Y),taskLog:B.route({method:`GET`,path:`/api/kanban/tasks/{task_id}/log`,tags:X}).input(A({task_id:w(),board:w().optional(),tail:w().optional()})).output(j({log:k(J).optional(),entries:k(J).optional()})),comment:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/comments`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Y),block:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/block`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch),unblock:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/unblock`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch),patch:B.route({method:`POST`,path:`/api/kanban/tasks/{task_id}/patch`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch),patchTask:B.route({method:`PATCH`,path:`/api/kanban/tasks/{task_id}`,tags:X}).input(A({task_id:w()}).catchall(J)).output(Ch)},extensions:{status:B.route({method:`GET`,path:`/api/extensions/status`,tags:X}).output(am),registry:B.route({method:`GET`,path:`/api/extensions/registry`,tags:X}).output(j({entries:k(J),error:w().optional(),unavailable:D().optional()})),manifests:B.route({method:`GET`,path:`/api/extensions/manifests`,tags:X}).output(A({protocol_version:F(1),manifests:k(Y)})),toggle:B.route({method:`POST`,path:`/api/extensions/toggle`,tags:X}).input(A({id:J.optional(),enabled:J.optional()})).output(am),consent:B.route({method:`POST`,path:`/api/extensions/sidecar-proxy-consent`,tags:X}).input(A({id:J.optional(),approved:J.optional()})).output(am),install:B.route({method:`POST`,path:`/api/extensions/install`,tags:X}).input(A({id:J.optional(),download_url:J.optional(),sha256:J.optional()})).output(A({installed:F(!0),id:w(),version:w()})),uninstall:B.route({method:`POST`,path:`/api/extensions/uninstall`,tags:X}).input(A({id:J.optional()})).output(A({uninstalled:F(!0),id:w()}))},terminal:{start:B.route({method:`POST`,path:`/api/terminal/start`,tags:X,summary:`Spawn (or reuse) the embedded PTY shell for a session workspace (local origin when auth is off).`}).input(wh.extend({rows:J.optional(),cols:J.optional(),restart:J.optional()})).output(A({ok:F(!0),session_id:w(),workspace:w(),running:D()})),input:B.route({method:`POST`,path:`/api/terminal/input`,tags:X}).input(wh.extend({data:w().optional()})).output(xh),resize:B.route({method:`POST`,path:`/api/terminal/resize`,tags:X}).input(wh.extend({rows:J.optional(),cols:J.optional()})).output(xh),close:B.route({method:`POST`,path:`/api/terminal/close`,tags:X}).input(wh).output(A({ok:F(!0),closed:D()}))}},Eh=j({text:w().optional(),already_streamed:D().optional(),reasoning_echo:D().optional(),session_id:w().optional()}),Dh=j({text:w().optional(),titles:k(w()).optional(),name:w().optional(),session_id:w().optional()}),Oh=j({name:w().optional(),...Kd,preview:w().nullable().optional(),args:O().optional(),event_type:w().optional(),session_id:w().optional(),id:w(),timestamp:E().optional()}),kh=Oh.extend({duration:E().nullable().optional(),is_error:D().optional(),cost_usd:E().nullable().optional(),result:O().optional(),output:O().optional()}),Ah=j({approval_id:w().optional(),session_id:w().optional(),command:w().optional(),description:w().optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),question:w().optional(),status:w().optional(),pending_count:E().optional(),run_id:w().optional(),mirror_token:w().optional()}),jh=j({steps:k(Of).optional(),clarify_id:w().optional(),session_id:w().optional(),question:w().optional(),choices:k(O()).optional(),title:w().optional(),name:w().optional(),kind:w().optional(),reason:w().optional(),action:w().optional(),status:w().optional(),raw_preview:w().optional(),timeout_seconds:E().optional(),timeout_at:E().optional(),index:E().optional(),total:E().optional()}),Mh=j({session_id:w().optional(),old_session_id:w().optional(),new_session_id:w().optional(),continuation_session_id:w().optional(),usage:O().optional()}),Nh=j({session_id:w().optional(),title:w().optional(),status:w().optional(),reason:w().optional(),message:w().optional(),message_key:w().optional(),message_args:k(O()).optional(),raw_preview:w().optional(),prefill:O().optional()}),Ph=j({type:w().optional(),message:w().optional()}),Fh=j({terminal_state:$d.optional(),type:w().optional(),message:w().optional(),details:O().optional(),hint:w().optional(),session_id:w().optional(),old_session_id:w().optional(),new_session_id:w().optional(),continuation_session_id:w().optional(),status:M([w(),E()]).optional(),session:O().optional(),code:w().optional()}),Ih=j({terminal_state:$d.optional(),session:O().optional(),usage:O().optional(),status:w().optional(),ephemeral:D().optional(),answer:w().optional()}),Lh=j({terminal_state:$d.optional(),type:w().optional(),message:w().optional(),hint:w().optional(),status:w().optional(),session_id:w().optional(),session:O().optional()}),Rh=j({session_id:w().optional()}),zh=j({session_id:w().optional(),usage:O().optional(),tps:E().nullable().optional(),tps_available:D().optional(),estimated:D().optional()}),Bh=j({session_id:w().optional(),state:w().optional(),decision:w().optional(),message:w().optional(),message_key:w().optional(),message_args:k(O()).optional(),prefill:O().optional()}),Vh=j({session_id:w().optional(),state:O().optional(),text:w().optional(),decision:w().optional(),continuation_prompt:w().optional()}),Hh=j({session_id:w().optional(),steer_id:w().optional(),text:w().optional(),consumed_at:E().optional(),after_tool_call_id:w().nullable().optional()}),Uh=j({session_id:w().optional(),status:w().optional(),kind:w().optional(),name:w().optional(),reason:w().optional(),action:w().optional()}),Wh=j({session_id:w().optional(),todos:k(O()).optional(),version:E().optional(),ts:E().optional(),source:w().optional(),description:w().optional(),pending_count:E().optional()}),Gh=j({session_id:w().optional(),task_id:w().optional(),id:w().optional(),title:w().optional(),status:w().optional(),summary:w().optional(),error:w().optional()}),Kh=j({session_id:w().optional(),stream_id:w().optional(),turn_id:w().optional(),user_message_id:M([w(),E()]).optional()}),qh=j({}),Jh=`token.reasoning.tool.tool_complete.interim_assistant.approval.clarify.compressing.compressed.title.title_status.warning.apperror.cancel.error.done.stream_end.metering.context_status.goal.goal_continue.pending_steer_leftover.steer_consumed.state_saved.todo_state.bg_task_complete.server_turn_started.hello.initial.events.gateway_status.sessions_changed`.split(`.`),Yh=Qs(`event`,[A({event:F(`token`),data:Eh}),A({event:F(`interim_assistant`),data:Eh}),A({event:F(`reasoning`),data:Dh}),A({event:F(`tool`),data:Oh}),A({event:F(`tool_complete`),data:kh}),A({event:F(`approval`),data:Ah}),A({event:F(`clarify`),data:jh}),A({event:F(`compressing`),data:Mh}),A({event:F(`compressed`),data:Mh}),A({event:F(`title`),data:Nh}),A({event:F(`title_status`),data:Nh}),A({event:F(`warning`),data:Ph}),A({event:F(`apperror`),data:Fh}),A({event:F(`error`),data:Fh}),A({event:F(`cancel`),data:Lh}),A({event:F(`done`),data:Ih}),A({event:F(`stream_end`),data:Rh}),A({event:F(`metering`),data:zh}),A({event:F(`context_status`),data:Bh}),A({event:F(`goal`),data:Vh}),A({event:F(`goal_continue`),data:Vh}),A({event:F(`pending_steer_leftover`),data:Hh}),A({event:F(`steer_consumed`),data:Hh}),A({event:F(`state_saved`),data:Uh}),A({event:F(`todo_state`),data:Wh}),A({event:F(`bg_task_complete`),data:Gh}),A({event:F(`server_turn_started`),data:Kh}),A({event:F(`hello`),data:qh}),A({event:F(`initial`),data:qh}),A({event:F(`events`),data:qh}),A({event:F(`gateway_status`),data:qh}),A({event:F(`sessions_changed`),data:qh})]),Xh=new Set([`stream_end`,`cancel`,`apperror`,`error`]),Zh=j({type:F(`sessions_changed`).optional(),version:E().optional(),reason:w().optional(),profile:w().nullable().optional(),session_id:w().nullable().optional()}),Qh=Qs(`event`,[A({event:F(`initial`),data:qh}),A({event:F(`sessions_changed`),data:Zh}),A({event:F(`gateway_status`),data:qh}),A({event:F(`hello`),data:qh})]);function $h(e,t){let n;try{n=t===``?{}:JSON.parse(t)}catch{return null}let r=Yh.safeParse({event:e,data:n});return r.success?r.data:null}var eg=B.router({...Om,...Im,...Hm,...ih,...uh,...mh,...bh,...Th}),tg=class{maxArrayIndex;constructor(e={}){this.maxArrayIndex=e.maxBracketNotationArrayIndex??9999}serialize(e,t=[],n=[]){if(Array.isArray(e))e.forEach((e,r)=>{this.serialize(e,[...t,r],n)});else if(vu(e))for(let r in e)this.serialize(e[r],[...t,r],n);else n.push([this.stringifyPath(t),e]);return n}deserialize(e){if(e.length===0)return{};let t=new WeakSet,n={value:[]};for(let[r,i]of e){let e=this.parsePath(r),a=n,o=`value`;e.forEach((n,r)=>{!Array.isArray(a[o])&&!vu(a[o])&&(a[o]=[]),r===e.length-1?Array.isArray(a[o])&&(n===``?a[o].length&&!t.has(a[o])&&(a[o]=rg(a[o])):t.has(a[o])?(t.delete(a[o]),a[o]=ig(a[o])):ng(n,this.maxArrayIndex)||(a[o]=rg(a[o]))):Array.isArray(a[o])&&!ng(n,this.maxArrayIndex)&&(t.has(a[o])?(t.delete(a[o]),a[o]=ig(a[o])):a[o]=rg(a[o])),a=a[o],o=n}),Array.isArray(a)&&o===``?(t.add(a),a.push(i)):o in a?Array.isArray(a[o])?a[o].push(i):a[o]=[a[o],i]:a[o]=i}return n.value}stringifyPath(e){return e.map(e=>e.toString().replace(/[\\[\]]/g,e=>{switch(e){case`\\`:return`\\\\`;case`[`:return`\\[`;case`]`:return`\\]`;default:return e}})).reduce((e,t,n)=>n===0?t:`${e}[${t}]`,``)}parsePath(e){let t=[],n=!1,r=``,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=e[a+1];n&&o===`]`&&(s===void 0||s===`[`)&&i%2==0?(s===void 0&&(n=!1),t.push(r),r=``,a++):t.length===0&&o===`[`&&i%2==0?(n=!0,t.push(r),r=``):o===`\\`?i++:(r+=`\\`.repeat(i/2)+o,i=0)}return n||t.length===0?[e]:t}};function ng(e,t){return/^0$|^[1-9]\d*$/.test(e)&&Number(e)<=t}function rg(e){let t=new xu;return e.forEach((e,n)=>{t[n]=e}),t}function ig(e){let t=new xu;return t[``]=e.length===1?e[0]:e,t}var ag=class{customSerializers;constructor(e={}){this.customSerializers=e.customJsonSerializers??[]}serialize(e,t={value:!1}){for(let n of this.customSerializers)if(n.condition(e))return this.serialize(n.serialize(e),t);if(e instanceof Blob)return t.value=!0,[e,t.value];if(e instanceof Set)return this.serialize(Array.from(e),t);if(e instanceof Map)return this.serialize(Array.from(e.entries()),t);if(Array.isArray(e))return[e.map(e=>e===void 0?null:this.serialize(e,t)[0]),t.value];if(vu(e)){let n={};for(let r in e)(r!==`toJSON`||typeof e[r]!=`function`)&&(n[r]=this.serialize(e[r],t)[0]);return[n,t.value]}return typeof e==`bigint`||e instanceof RegExp||e instanceof URL?[e.toString(),t.value]:e instanceof Date?[Number.isNaN(e.getTime())?null:e.toISOString(),t.value]:Number.isNaN(e)?[null,t.value]:[e,t.value]}};function og(e){return`/${e.replace(/\/{2,}/g,`/`).replace(/^\/|\/$/g,``)}`}function sg(e){return e?og(e).match(/\/\{[^}]+\}/g)?.map(e=>({raw:e,name:e.match(/\{\+?([^}]+)\}/)[1]})):void 0}var cg=class{constructor(e,t,n){this.contract=e,this.serializer=t,this.baseUrl=n.url,this.headers=n.headers??{},this.customErrorResponseBodyDecoder=n.customErrorResponseBodyDecoder}baseUrl;headers;customErrorResponseBodyDecoder;async encode(e,t,n){let r=Ad(await Su(this.headers,n,e,t));n.lastEventId!==void 0&&(r=fd(r,{"last-event-id":n.lastEventId}));let i=await Su(this.baseUrl,n,e,t),a=bu(this.contract,e);if(!vd(a))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${e.join(`.`)}`);return Vd(`defaultInputStructure`,a[`~orpc`].route.inputStructure)===`compact`?this.#e(a,e,t,n,i,r):this.#t(a,e,t,n,i,r)}#e(e,t,n,r,i,a){let o=og(e[`~orpc`].route.path??kd(t)),s=n,c=sg(o);if(c?.length){if(!vu(n))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "compact" structure when has dynamic params at ${t.join(`.`)}.`);let e={...n};for(let t of c){let r=n[t.name];o=o.replace(t.raw,`/${encodeURIComponent(`${this.serializer.serialize(r)}`)}`),delete e[t.name]}s=Object.keys(e).length?e:void 0}let l=Vd(`defaultMethod`,e[`~orpc`].route.method),u=new URL(i);if(u.pathname=`${u.pathname.replace(/\/$/,``)}${o}`,l===`GET`){let e=this.serializer.serialize(s,{outputFormat:`URLSearchParams`});for(let[t,n]of e)u.searchParams.append(t,n);return{url:u,method:l,headers:a,body:void 0,signal:r.signal}}return{url:u,method:l,headers:a,body:this.serializer.serialize(s),signal:r.signal}}#t(e,t,n,r,i,a){let o=og(e[`~orpc`].route.path??kd(t)),s=sg(o);if(!vu(n)&&n!==void 0)throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "detailed" structure at ${t.join(`.`)}.`);if(s?.length){if(!vu(n?.params))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.params shape for "detailed" structure when has dynamic params at ${t.join(`.`)}.`);for(let e of s){let t=n.params[e.name];o=o.replace(e.raw,`/${encodeURIComponent(`${this.serializer.serialize(t)}`)}`)}}let c=a;if(n?.headers!==void 0){if(!vu(n.headers))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.headers shape for "detailed" structure at ${t.join(`.`)}.`);c=fd(n.headers,a)}let l=Vd(`defaultMethod`,e[`~orpc`].route.method),u=new URL(i);if(u.pathname=`${u.pathname.replace(/\/$/,``)}${o}`,n?.query!==void 0){let e=this.serializer.serialize(n.query,{outputFormat:`URLSearchParams`});for(let[t,n]of e)u.searchParams.append(t,n)}return l===`GET`?{url:u,method:l,headers:c,body:void 0,signal:r.signal}:{url:u,method:l,headers:c,body:this.serializer.serialize(n?.body),signal:r.signal}}async decode(e,t,n){let r=!Iu(e.status),i=await(async()=>{let t=!1;try{let n=await e.body();return t=!0,this.serializer.deserialize(n)}catch(e){throw Error(t?`Invalid OpenAPI response format.`:`Cannot parse response body, please check the response body and content-type.`,{cause:e})}})();if(!r)throw this.customErrorResponseBodyDecoder?.(i,e)??(Lu(i)?Ru(i):new Pu(jd(e.status),{status:e.status,data:{...e,body:i}}));let a=bu(this.contract,n);if(!vd(a))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${n.join(`.`)}`);return Vd(`defaultOutputStructure`,a[`~orpc`].route.outputStructure)===`compact`?i:{status:e.status,headers:e.headers,body:i}}},lg=class{constructor(e,t){this.jsonSerializer=e,this.bracketNotation=t}serialize(e,t={}){return uu(e)&&!t.outputFormat?pd(e,{value:async e=>this.#e(e,{outputFormat:`plain`}),error:async e=>new Vu({data:this.#e(Fu(e).toJSON(),{outputFormat:`plain`}),cause:e})}):this.#e(e,t)}#e(e,t){let[n,r]=this.jsonSerializer.serialize(e);if(t.outputFormat===`plain`)return n;if(t.outputFormat===`URLSearchParams`){let e=new URLSearchParams;for(let[t,r]of this.bracketNotation.serialize(n))(typeof r==`string`||typeof r==`number`||typeof r==`boolean`)&&e.append(t,r.toString());return e}if(n instanceof Blob||n===void 0||!r)return n;let i=new FormData;for(let[e,t]of this.bracketNotation.serialize(n))typeof t==`string`||typeof t==`number`||typeof t==`boolean`?i.append(e,t.toString()):t instanceof Blob&&i.append(e,t);return i}deserialize(e){return e instanceof URLSearchParams||e instanceof FormData?this.bracketNotation.deserialize(Array.from(e.entries())):uu(e)?pd(e,{value:async e=>e,error:async e=>e instanceof Vu&&Lu(e.data)?Ru(e.data,{cause:e}):e}):e}},ug=class extends Od{constructor(e,t,n){let r=new cg(e,new lg(new ag(n),new tg({maxBracketNotationArrayIndex:4294967294})),n);super(r,t,n)}};D().optional();var dg=j({error:w(),code:w().optional()}),fg=j({ok:D().optional()}),pg=class e extends Error{kind;status;code;body;path;retryable;constructor(e){super(e.message,e.cause===void 0?void 0:{cause:e.cause}),this.name=`ApiError`,this.kind=e.kind,this.status=e.status??0,this.code=e.code,this.body=e.body,this.path=e.path,this.retryable=e.retryable??(e.kind===`network`||e.kind===`timeout`)}static from(t,n=``){return t instanceof e?t:t instanceof DOMException&&t.name===`AbortError`?new e({kind:`aborted`,path:n,message:`Request aborted`,retryable:!1}):new e({kind:`network`,path:n,message:t instanceof Error?t.message:`Network error`,cause:t})}};function mg(e){return e instanceof pg}function hg(e,t,n){let r=e.safeParse(t);if(r.success)return r.data;throw new pg({kind:`invalid_payload`,path:n,message:`Malformed payload from ${n}: ${St(r.error)}`,body:t,retryable:!1})}var gg={},_g=[`en`,`it`,`ja`,`ru`,`es`,`de`,`zh`,`zh-Hant`,`pt`,`ko`,`fr`,`cs`,`tr`,`pl`,`vi`],vg=`PARAGLIDE_LOCALE`,yg=[`globalVariable`,`baseLocale`],bg=[];globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var xg,Sg=!1,Cg=()=>{let e=yg;typeof window<`u`&&window.location?.href&&(e=zg(window.location.href));let t=wg(e,typeof window<`u`?window.location?.href:void 0);if(t)return Sg||(xg=t,Sg=!0,Eg(t,{reload:!1})),t;throw Error(`No locale found. Read the docs https://paraglidejs.com/errors#no-locale-found`)};function wg(e,t){let n;for(let t of e){if(t===`baseLocale`)n=`en`;else if(t===`globalVariable`&&xg!==void 0)n=xg;else if(Vg(t)&&Bg.has(t)){let e=Bg.get(t);if(e){let t=e.getLocale();if(t instanceof Promise)continue;if(t!==void 0)return Ag(t)}}let e=Og(n);if(e)return e}}var Tg=e=>{e?window.location.href=e:window.location.reload()},Eg=(e,t)=>{let n={reload:!0,...t},r;try{r=Cg()}catch{}let i=[],a=yg;typeof window<`u`&&window.location?.href&&(a=zg(window.location.href));for(let t of a)if(t===`globalVariable`)xg=e;else if(t===`baseLocale`)continue;else if(Vg(t)&&Bg.has(t)){let n=Bg.get(t);if(n){let r=n.setLocale(e);r instanceof Promise&&(r=r.catch(e=>{throw Error(`Custom strategy "${t}" setLocale failed.`,{cause:e})}),i.push(r))}}let o=()=>{n.reload&&window.location&&e!==r&&Tg(void 0)};if(i.length)return Promise.all(i).then(()=>{o()});o()},Dg=()=>typeof window<`u`?window.location.origin:`http://fallback.com`;function Og(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of _g)if(e.toLowerCase()===t)return e}function kg(e){return!!e&&_g.some(t=>t===e)}function Ag(e){let t=Og(e);if(t)return t;throw Error(`Invalid locale: ${e}. Expected one of: ${_g.join(`, `)}`)}function jg(e){return e}function Mg(e,t){return e.exec(t.href)}var Ng=vg.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);RegExp(`(?:^|;\\s*)${Ng}=([^;]*)`);function Pg(e){return Fg(e)}function Fg(e){let t=jg(typeof e==`string`?new URL(e,Dg()):new URL(e)),n=t.pathname.split(`/`).filter(Boolean);return n.length>0&&Og(n[0])&&(t.pathname=`/`+n.slice(1).join(`/`)),jg(t)}var Ig,Lg;function Rg(e){if(bg.length===0)return;let t=typeof e==`string`?e:e.href;if(Ig===t)return Lg;let n=jg(new URL(t,`http://example.com`)),r=Pg(n),i=r.href===n.href?[n]:[n,r],a;for(let e of i){for(let t of bg)if(Mg(new gg(t.match,e.href),e)){a=t;break}if(a)break}return Ig=t,Lg=a,a}function zg(e){let t=Rg(e);return t&&t.exclude!==!0&&Array.isArray(t.strategy)?t.strategy:yg}var Bg=new Map;function Vg(e){return typeof e==`string`&&/^custom-[A-Za-z0-9_-]+$/.test(e)}function Hg(e){return!e.auth.auth_enabled||e.auth.logged_in}var Ug=A({session:Ud.optional().catch(void 0),session_id:Ud.optional().catch(void 0),source:P([`pwa`]).optional().catch(void 0),action:P([`new-chat`]).optional().catch(void 0),profile:w().max(64).optional().catch(void 0)}),Wg=A({job:w().optional().catch(void 0)}),Gg=P([`appearance`,`conversation`,`preferences`,`providers`,`plugins`,`extensions`,`system`,`help`]);A({file:P([`agent`,`webui`,`gateway`,`bootstrap`]).optional().catch(void 0),tail:E().int().min(50).max(5e3).optional().catch(void 0)}),A({days:E().int().min(1).max(365).optional().catch(void 0)}),A({board:w().max(128).optional().catch(void 0),assignee:w().max(128).optional().catch(void 0),archived:D().optional().catch(void 0),task:w().max(128).optional().catch(void 0)});var Kg=A({next:w().max(2048).optional().catch(void 0)});A({q:w().max(200).optional().catch(void 0),category:w().max(64).optional().catch(void 0)});var qg=A({msg:M([w().max(128),E().transform(String)]).optional().catch(void 0)});function Jg(e){let t=e.replace(/^#/,``).trim().toLowerCase();return t===`settings`?`/settings`:t===`sessions`||t===`chat`?`/`:null}A({session_id:Ud,draft:A({text:w(),files:k(O()).optional()}),draft_version:w().nullable().optional()}),A({text:w(),voice:w().optional(),engine:w().optional()});var Yg=/\/api\/(auth\/login|csp-report)$/,Xg=/\/api\/auth\/(login|passkey\/options|passkey\/login|logout)$/,Zg=new Set([`POST`,`PUT`,`PATCH`,`DELETE`]),Z={transport:e=>{let t={method:e.method,headers:e.headers,body:e.body??null,credentials:e.credentials,keepalive:e.keepalive??!1};return e.signal&&(t.signal=e.signal),fetch(e.url,t)},csrfToken:``,authEnabled:!1,mutationSeq:0,inflight:new Map,onUnauthorized:e=>{window.location.assign(c(`login?next=${encodeURIComponent(e)}`).href)}};function Qg(e){Object.assign(Z,e)}function $g(e,t){return new Promise((n,r)=>{let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`aborted`,`AbortError`))},{once:!0})})}function e_(e){return c(e)}function t_(){let e=s().pathname.replace(/\/$/,``),t=window.location.pathname+window.location.search;return t.startsWith(e)?t.slice(e.length)||`/`:t}async function n_(e,t){let n=(t.method??`GET`).toUpperCase(),r=e_(e),i=n===`GET`||n===`HEAD`,a=i&&t.dedupe!==!1&&!t.signal?`${n} ${r.href} @${Z.mutationSeq} ${JSON.stringify({t:t.timeoutMs,r:t.retries,s:t.retryStatuses})}`:null;if(a){let n=Z.inflight.get(a);if(n)return n;let r=n_(e,{...t,dedupe:!1});Z.inflight.set(a,r);let i=()=>{Z.inflight.get(a)===r&&Z.inflight.delete(a)};return r.then(i,i),r}i||(Z.mutationSeq+=1);let o=t.timeoutMs??3e4,s=(t.retries??2)+1,c=new Set(t.retryStatuses??[]),l=t.retryDelayMs??350,u=null;for(let a=1;a<=s;a++){let d=new AbortController,f=()=>d.abort();t.signal?.addEventListener(`abort`,f,{once:!0});let p=o>0?setTimeout(()=>d.abort(new DOMException(`timeout`,`TimeoutError`)),o):null;try{let i=new Headers(t.headers),o=null;t.json===void 0?t.body!==void 0&&(o=t.body):(i.set(`Content-Type`,`application/json`),o=JSON.stringify(t.json)),Zg.has(n)&&r.origin===window.location.origin&&!Yg.test(r.pathname)&&Z.csrfToken&&!i.has(`X-Hermes-CSRF-Token`)&&i.set(`X-Hermes-CSRF-Token`,Z.csrfToken);let f=await Z.transport({url:r,method:n,headers:i,body:o,signal:d.signal,credentials:`include`,keepalive:t.keepalive??!1});if(f.status===401&&Z.authEnabled&&t.redirect401!==!1&&!Xg.test(r.pathname))throw Z.onUnauthorized(t_()),new pg({kind:`unauthorized`,status:401,path:e,message:`Authentication required`,retryable:!1});let p=await f.text(),m=null;if(p!==``)try{m=JSON.parse(p)}catch{if(f.ok)throw new pg({kind:`invalid_payload`,status:f.status,path:e,message:`Non-JSON response from ${e}`,body:p,retryable:!1});m={error:p.slice(0,500)}}if(!f.ok){let n=dg.safeParse(m),r=new pg({kind:`http`,status:f.status,code:n.success?n.data.code:void 0,body:m,path:e,message:n.success?n.data.error:`HTTP ${f.status} from ${e}`,retryable:c.has(f.status)});if(r.retryable&&a<s){u=r,await $g(l,t.signal);continue}throw r}return hg(t.schema,m,e)}catch(n){let r=pg.from(n,e);if(r.kind===`aborted`&&t.signal?.aborted)throw r;if(u=r.kind===`aborted`&&d.signal.reason instanceof DOMException&&d.signal.reason.name===`TimeoutError`?new pg({kind:`timeout`,path:e,message:`Request to ${e} timed out`,retryable:!0}):r,!u.retryable||a>=s||!i&&u.kind===`timeout`)throw u;await $g(l,t.signal)}finally{p&&clearTimeout(p),t.signal?.removeEventListener(`abort`,f)}}throw u??new pg({kind:`network`,path:e,message:`Request failed`})}function r_(e,t,n={}){return n_(e,{...n,method:`GET`,schema:t})}function i_(e,t,n,r={}){return n_(e,{...r,method:`POST`,json:t,schema:n})}function a_(e,t,n,r={}){return n_(e,{...r,method:`POST`,body:t,schema:n,retries:r.retries??0})}async function o_(e){let t=new URL(e.url),n=t.pathname.replace(/^.*?\/api\//,`api/`),r=new Headers(e.headers);Zg.has(e.method)&&t.origin===window.location.origin&&!Yg.test(t.pathname)&&Z.csrfToken&&!r.has(`X-Hermes-CSRF-Token`)&&r.set(`X-Hermes-CSRF-Token`,Z.csrfToken);let i=e.method===`GET`||e.method===`HEAD`,a=i?null:await e.text(),o=i?`${e.method} ${t.href} @${Z.mutationSeq} contract`:null;if(o){let e=Z.inflight.get(o);if(e)return(await e).clone()}i||(Z.mutationSeq+=1);let s=async()=>{let i;try{i=await Z.transport({url:t,method:e.method,headers:r,body:a,signal:e.signal,credentials:`include`})}catch(e){throw pg.from(e,n)}if(i.status===401&&Z.authEnabled&&!Xg.test(t.pathname))throw Z.onUnauthorized(t_()),new pg({kind:`unauthorized`,status:401,path:n,message:`Authentication required`,retryable:!1});if(!i.ok){let e=await i.text(),t=null;try{t=e?JSON.parse(e):null}catch{t={error:e.slice(0,500)}}let r=dg.safeParse(t);throw new pg({kind:`http`,status:i.status,code:r.success?r.data.code:void 0,body:t,path:n,message:r.success?r.data.error:`HTTP ${i.status} from ${n}`,retryable:!1})}return i};if(!o)return s();let c=s();Z.inflight.set(o,c);let l=()=>{Z.inflight.get(o)===c&&Z.inflight.delete(o)};return c.then(l,l),(await c).clone()}var s_=class extends Dd{initRuntimeAdapter(e){for(let t of this.plugins)t.initRuntimeAdapter?.(e)}},c_=class{fetch;toFetchRequestOptions;adapterInterceptors;constructor(e){new s_(e.plugins).initRuntimeAdapter(e),this.fetch=e.fetch??globalThis.fetch.bind(globalThis),this.toFetchRequestOptions=e,this.adapterInterceptors=Yl(e.adapterInterceptors)}async call(e,t,n,r){let i=Td(e,this.toFetchRequestOptions);return Ed(await mu(this.adapterInterceptors,{...t,request:i,path:n,input:r,init:{redirect:`manual`}},({request:e,path:t,input:n,init:r,...i})=>this.fetch(e,r,i,t,n)),{signal:i.signal})}},l_=class extends ug{constructor(e,t){let n=new c_(t);super(e,n,t)}},u_=3e4,Q=e=>AbortSignal.timeout(e);function d_(){return hd(new l_(eg,{url:()=>s().href.replace(/\/+$/,``),fetch:(e,t,n)=>o_(n.signal?e:new Request(e,{signal:AbortSignal.timeout(u_)}))}))}var f_=null;function $(){return f_??=d_(),f_}var p_=`talaria-tab-id`;function m_(){let e=Array.from(crypto.getRandomValues(new Uint8Array(16)),e=>e.toString(16).padStart(2,`0`)).join(``);try{let t=performance.getEntriesByType(`navigation`)[0],n=sessionStorage.getItem(p_);if(t?.type===`reload`&&n&&/^[A-Za-z0-9_-]{8,64}$/.test(n))return n;sessionStorage.setItem(p_,e)}catch{}return e}var h_=m_(),g_=document.querySelector(`meta[name="talaria-build"]`)?.content||void 0,__=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!=null&&r!==``&&t.set(n,String(r));let n=t.toString();return n?`?${n}`:``},v_=e=>e?`1`:void 0,y_=e=>e===void 0?void 0:String(e),b_=()=>$().bootstrap(),x_=e=>$().auth.login({password:e}),S_=()=>$().auth.logout(),C_=()=>$().auth.passkeyOptions(),w_=e=>$().auth.passkeyLogin(e),T_=()=>$().auth.passkeyRegisterOptions(),E_=(e,t)=>$().auth.passkeyRegister({...e,...t?{name:t}:{}}),D_=()=>$().auth.passkeys(),O_=e=>$().auth.passkeyDelete({id:e}),k_=()=>$().settings.get(),A_=e=>$().settings.save(e),j_=()=>$().profiles.list(),M_=e=>$().profiles.switch({name:e}),N_=e=>$().profiles.create(e),P_=e=>$().profiles.delete({name:e}),F_=e=>$().models.list(e?{freshness:e}:{}),I_=(e,t)=>$().models.setDefault({model:e,...t?{provider:t}:{}}),L_=()=>$().providers.list(),R_=(e=!1)=>$().providers.quotas(e?{refresh:`1`}:{},{signal:Q(45e3)}),z_=(e,t)=>$().personalities.set({session_id:e,name:t??``}),B_=(e,t)=>$().reasoning.get({...e?{model:e}:{},...t?{provider:t}:{}}),V_=(e,t,n)=>$().reasoning.set({effort:e,...t?{model:t}:{},...n?{provider:n}:{}}),H_=e=>$().reasoning.set({display:e}),U_=(e={})=>$().sessions.list({include_archived:v_(e.include_archived),all_profiles:v_(e.all_profiles),sidebar_source:e.sidebar_source,exclude_hidden:v_(e.exclude_hidden)},{signal:Q(45e3)}),W_=(e,t=5)=>$().sessions.search({q:e,content:`1`,depth:String(t)}),G_=(e,t={})=>$().session.get({session_id:e,messages:t.messages===!1?`0`:void 0,msg_limit:y_(t.msg_limit),msg_before:y_(t.msg_before),resolve_model:t.resolve_model===!1?`0`:void 0},{signal:Q(6e4)}),K_=(e,t,n,r,i)=>$().session.anchorSceneGet({session_id:e,message_ref:t,message_index:String(n),before:String(r),limit:`80`},{signal:AbortSignal.any([i,Q(3e4)])}),q_=e=>$().session.status({session_id:e}),J_=e=>$().session.usage({session_id:e}),Y_=e=>$().session.new(e),X_=(e,t)=>$().session.rename({session_id:e,title:t}),Z_=e=>$().session.delete({session_id:e}),Q_=(e,t)=>$().session.pin({session_id:e,pinned:t}),$_=(e,t)=>$().session.archive({session_id:e,archived:t}),ev=(e,t)=>$().session.move({session_id:e,project_id:t}),tv=e=>$().session.duplicate({session_id:e}),nv=(e,t)=>$().session.branch({session_id:e,...t===void 0?{}:{keep_count:t}}),rv=(e,t)=>$().session.truncate({session_id:e,keep_count:t}),iv=e=>$().session.undo({session_id:e}),av=e=>$().session.retry({session_id:e}),ov=e=>$().session.clear({session_id:e}),sv=e=>$().session.regenerateTitle({session_id:e},{signal:Q(6e4)}),cv=(e,t=`json`)=>`api/session/export${__({session_id:e,format:t})}`,lv=(e,t)=>$().session.update({session_id:e,...t}),uv=(e,t)=>$().session.yoloSet({session_id:e,enabled:t}),dv=e=>$().session.yoloGet({session_id:e}),fv=(e,t)=>$().session.toolsets({session_id:e,toolsets:t}),pv=e=>$().session.compressStart({session_id:e}),mv=e=>$().session.compressStatus({session_id:e}),hv=e=>$().session.draftSave({session_id:e.session_id,text:e.draft.text,files:e.draft.files??[],draft_version:e.draft_version??null}),gv=()=>$().projects.list({}),_v=(e,t)=>$().projects.create({name:e,color:t??null}),vv=e=>$().chat.start(e,{signal:Q(6e4)}),yv=e=>$().chat.cancel({stream_id:e}),bv=e=>$().chat.steer(e),xv=e=>$().chat.streamStatus({stream_id:e}),Sv=e=>$().approval.respond(e),Cv=e=>$().clarify.pending({session_id:e}),wv=e=>$().clarify.respond(e),Tv=(e,t)=>{let n=new FormData;return n.set(`session_id`,e),n.set(`file`,t,t.name),a_(`api/upload${__({session_id:e})}`,n,Pf,{timeoutMs:12e4})},Ev=(e,t)=>$().upload.rollback({session_id:e,rollback_tokens:t}),Dv=(e,t,n)=>$().goal({session_id:e,args:t,...n===void 0?{}:{text:n}}),Ov=(e,t)=>$().background.ack({session_id:e,task_id:t}),kv=e=>$().share.create({session_id:e}),Av=e=>$().share.revoke({session_id:e}),jv=e=>$().share.read({token:e}),Mv=()=>$().commands.list(),Nv=()=>$().workspaces.list(),Pv=(e,t)=>$().workspaces.add({path:e,...t?{name:t}:{}}),Fv=e=>$().workspaces.remove({path:e}),Iv=(e,t)=>$().workspaces.rename({path:e,name:t}),Lv=e=>$().workspaces.reorder({paths:e}),Rv=e=>$().workspaces.suggest({prefix:e}),zv=(e,t=`.`,n=!1)=>$().files.list({session_id:e,path:t,...n?{show_hidden:`1`}:{}}),Bv=(e,t)=>$().files.read({session_id:e,path:t}),Vv=(e,t)=>`api/file/raw${__({session_id:e,path:t})}`,Hv=(e,t,n)=>$().files.save({session_id:e,path:t,content:n}),Uv=(e,t)=>`api/folder/download${__({session_id:e,path:t})}`,Wv=e=>$().gitInfo({session_id:e}),Gv=e=>$().skills.list(e?{category:e}:{}),Kv=e=>$().skills.content({name:e}),qv=(e,t)=>$().skills.save({name:e,content:t}),Jv=e=>$().skills.delete({name:e}),Yv=(e,t)=>$().skills.toggle({name:e,enabled:t}),Xv=()=>$().skills.usage(),Zv=e=>$().memory.get(e?{workspace:e}:{}),Qv=e=>$().memory.write(e),$v=(e=!1)=>$().crons.list(e?{all_profiles:`1`}:{}),ey=(e,t)=>{let n=$().crons;return e===`create`?n.create(t):e===`update`?n.update(t):e===`delete`?n.delete(t):e===`run`?n.runNow(t):e===`pause`?n.pause(t):n.resume(t)},ty=(e,t=50)=>$().crons.history({job_id:e,limit:String(t)}),ny=(e,t)=>$().crons.run({job_id:e,filename:t}),ry=()=>$().crons.deliveryOptions(),iy=()=>$().crons.status({}),ay=()=>$().kanban.boards({}),oy=(e={})=>$().kanban.board(Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0&&e!==``).map(([e,t])=>[e,typeof t==`boolean`?t?`1`:`0`:t]))),sy=e=>$().kanban.switchBoard({slug:e}),cy=(e,t,n)=>{let r=$().kanban,i=String(e);return t===`comments`?r.comment({task_id:i,...n}):t===`block`?r.block({task_id:i,...n}):t===`unblock`?r.unblock({task_id:i,...n}):t===`dispatch`?r.dispatch({}):r.patch({task_id:i,...n})},ly=e=>$().kanban.createTask(e),uy=e=>$().kanban.taskLog({task_id:String(e)}),dy=e=>$().insights({days:String(e)}),fy=(e,t)=>$().logs({file:e,tail:String(t)}),py=()=>$().onboarding.status(void 0,{signal:Q(45e3)}),my=e=>$().onboarding.setup(e,{signal:Q(6e4)}),hy=e=>$().onboarding.probe(e,{signal:Q(6e4)}),gy=(e={})=>$().onboarding.complete(e),_y=()=>$().extensions.registry(void 0,{signal:Q(45e3)}),vy=(e,t)=>{let n=$().extensions,r={signal:Q(12e4)};return e===`install`?n.install(t,r):e===`uninstall`?n.uninstall(t,r):e===`toggle`?n.toggle(t,r):n.consent(t,r)},yy=()=>$().ops.dashboard(),by=()=>$().ops.agent(),xy=()=>$().ops.restart({},{signal:Q(12e4)}),Sy=()=>$().ops.system(),Cy=()=>$().updates.check(void 0,{signal:Q(45e3)}),wy=(e,t)=>$().updates.checkNow({force:!0,...e?{channel:e}:{},...t?{agent_channel:t}:{}},{signal:Q(12e4)}),Ty=(e,t,n=`webui`,r={})=>{let i=$().updates,a={target:n,...t?{channel:t}:{},...r,tab_id:h_},o={signal:Q(3e5)};return e===`apply`?i.apply(a,o):e===`force`?i.force(a,o):i.clearLock(a,o)},Ey=()=>$().updateNotifications.list({tab_id:h_,loaded_build:g_}),Dy=e=>$().updateNotifications.read({id:e,read:!0,tab_id:h_}),Oy=e=>$().updateNotifications.dismiss({id:e,dismiss:!0,tab_id:h_}),ky=()=>$().updateNotifications.clear({clear:!0,tab_id:h_,loaded_build:g_}),Ay=e=>$().updateNotifications.cancel({id:e,cancel:!0}),jy=(e,t)=>$().updateNotifications.action({id:e,action_id:t,perform:!0,tab_id:h_}),My=()=>$().plugins(),Ny=()=>$().ops.shutdown({});export{q_ as $,jc as $n,H_ as $t,ry as A,fg as An,jy as At,ay as B,Ud as Bn,Sv as Bt,cv as C,Gg as Cn,my as Ct,b_ as D,Cg as Dn,E_ as Dt,K_ as E,Hg as En,C_ as Et,yy as F,$h as Fn,sv as Ft,py as G,op as Gn,Ev as Gt,fy as H,Wf as Hn,xy as Ht,_y as I,Kf as In,Fv as It,gv as J,Nc as Jn,A_ as Jt,My as K,Pc as Kn,hv as Kt,Wv as L,vf as Ln,X_ as Lt,ny as M,Jh as Mn,Vv as Mt,iy as N,Xh as Nn,Bv as Nt,Cv as O,kg as On,T_ as Ot,$v as P,Qh as Pn,Dy as Pt,G_ as Q,Oc as Qn,z_ as Qt,dy as R,Yf as Rn,Iv as Rt,tv as S,qg as Sn,hy as St,by as T,Jg as Tn,w_ as Tt,Zv as U,Vp as Un,av as Ut,uy as V,mf as Vn,wv as Vt,F_ as W,Gd as Wn,Av as Wt,L_ as X,Mc as Xn,W_ as Xt,R_ as Y,Fc as Yn,qv as Yt,B_ as Z,kc as Zn,I_ as Zt,ey as _,i_ as _n,i as _r,x_ as _t,nv as a,bv as an,F as ar,Kv as at,Jv as b,Ug as bn,Y_ as bt,wy as c,M_ as cn,A as cr,xv as ct,pv as d,iv as dn,M as dr,Cy as dt,V_ as en,P as er,J_ as et,mv as f,lv as fn,O as fr,Nv as ft,kv as g,r_ as gn,l as gr,zv as gt,_v as h,Qg as hn,o as hr,cy as ht,$_ as i,vv as in,Qs as ir,jv as it,ty as j,mg as jn,Q_ as jt,Mv as k,Eg as kn,D_ as kt,ov as l,Yv as ln,N as lr,Sy as lt,N_ as m,Qv as mn,c as mr,Dv as mt,Pv as n,uv as nn,k as nr,U_ as nt,yv as o,Rv as on,j as or,Gv as ot,ly as p,Tv as pn,Cs as pr,Uv as pt,j_ as q,Ic as qn,Hv as qt,Ty as r,Ny as rn,D as rr,k_ as rt,Ay as s,sy as sn,E as sr,Xv as st,Ov as t,fv as tn,Ws as tr,dv as tt,ky as u,rv as un,w as ur,Ey as ut,P_ as v,n_ as vn,S_ as vt,vy as w,Wg as wn,O_ as wt,Oy as x,Kg as xn,gy as xt,Z_ as y,e_ as yn,ev as yt,oy as z,ff as zn,Lv as zt};