@kortix/sdk 0.12.7 → 0.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 (287) hide show
  1. package/README.md +13 -6
  2. package/dist/browser/session-sync/session-sync-registry.d.ts +7 -2
  3. package/dist/browser/session-sync/session-sync-registry.d.ts.map +1 -1
  4. package/dist/browser/session-sync/session-sync-registry.js +33 -44
  5. package/dist/browser/session-sync/session-sync-registry.js.map +1 -1
  6. package/dist/browser/stores/opencode-compaction-store.d.ts +9 -3
  7. package/dist/browser/stores/opencode-compaction-store.d.ts.map +1 -1
  8. package/dist/browser/stores/opencode-compaction-store.js +5 -12
  9. package/dist/browser/stores/opencode-compaction-store.js.map +1 -1
  10. package/dist/browser/stores/sandbox-connection-store.d.ts +28 -17
  11. package/dist/browser/stores/sandbox-connection-store.d.ts.map +1 -1
  12. package/dist/browser/stores/sandbox-connection-store.js +32 -84
  13. package/dist/browser/stores/sandbox-connection-store.js.map +1 -1
  14. package/dist/browser/stores/session-working-store.d.ts +73 -0
  15. package/dist/browser/stores/session-working-store.d.ts.map +1 -0
  16. package/dist/browser/stores/session-working-store.js +86 -0
  17. package/dist/browser/stores/session-working-store.js.map +1 -0
  18. package/dist/browser/stores/sync-store/types.d.ts +14 -4
  19. package/dist/browser/stores/sync-store/types.d.ts.map +1 -1
  20. package/dist/browser/stores/sync-store.d.ts +140 -3
  21. package/dist/browser/stores/sync-store.d.ts.map +1 -1
  22. package/dist/browser/stores/sync-store.js +425 -36
  23. package/dist/browser/stores/sync-store.js.map +1 -1
  24. package/dist/core/client/kortix.d.ts +102 -1
  25. package/dist/core/client/kortix.d.ts.map +1 -1
  26. package/dist/core/client/kortix.js +78 -0
  27. package/dist/core/client/kortix.js.map +1 -1
  28. package/dist/core/files/client.d.ts +50 -2
  29. package/dist/core/files/client.d.ts.map +1 -1
  30. package/dist/core/files/client.js +253 -44
  31. package/dist/core/files/client.js.map +1 -1
  32. package/dist/core/files/types.d.ts +11 -0
  33. package/dist/core/files/types.d.ts.map +1 -1
  34. package/dist/core/http/abort-error.d.ts +89 -0
  35. package/dist/core/http/abort-error.d.ts.map +1 -0
  36. package/dist/core/http/abort-error.js +190 -0
  37. package/dist/core/http/abort-error.js.map +1 -0
  38. package/dist/core/http/api-client.d.ts.map +1 -1
  39. package/dist/core/http/api-client.js +28 -4
  40. package/dist/core/http/api-client.js.map +1 -1
  41. package/dist/core/http/impersonation.d.ts +58 -0
  42. package/dist/core/http/impersonation.d.ts.map +1 -0
  43. package/dist/core/http/impersonation.js +174 -0
  44. package/dist/core/http/impersonation.js.map +1 -0
  45. package/dist/core/rest/platform-client/github-app.d.ts +13 -0
  46. package/dist/core/rest/platform-client/github-app.d.ts.map +1 -1
  47. package/dist/core/rest/platform-client/github-app.js +2 -0
  48. package/dist/core/rest/platform-client/github-app.js.map +1 -1
  49. package/dist/core/rest/platform-client/members.d.ts +10 -64
  50. package/dist/core/rest/platform-client/members.d.ts.map +1 -1
  51. package/dist/core/rest/platform-client/members.js +10 -28
  52. package/dist/core/rest/platform-client/members.js.map +1 -1
  53. package/dist/core/rest/projects-client/accounts.d.ts +30 -1
  54. package/dist/core/rest/projects-client/accounts.d.ts.map +1 -1
  55. package/dist/core/rest/projects-client/accounts.js +1 -1
  56. package/dist/core/rest/projects-client/accounts.js.map +1 -1
  57. package/dist/core/rest/projects-client/agent-config.d.ts +21 -0
  58. package/dist/core/rest/projects-client/agent-config.d.ts.map +1 -1
  59. package/dist/core/rest/projects-client/agent-config.js +14 -0
  60. package/dist/core/rest/projects-client/agent-config.js.map +1 -1
  61. package/dist/core/rest/projects-client/apps.d.ts +13 -0
  62. package/dist/core/rest/projects-client/apps.d.ts.map +1 -1
  63. package/dist/core/rest/projects-client/apps.js.map +1 -1
  64. package/dist/core/rest/projects-client/assignments.d.ts +114 -0
  65. package/dist/core/rest/projects-client/assignments.d.ts.map +1 -0
  66. package/dist/core/rest/projects-client/assignments.js +91 -0
  67. package/dist/core/rest/projects-client/assignments.js.map +1 -0
  68. package/dist/core/rest/projects-client/billing.d.ts +80 -1
  69. package/dist/core/rest/projects-client/billing.d.ts.map +1 -1
  70. package/dist/core/rest/projects-client/billing.js +61 -2
  71. package/dist/core/rest/projects-client/billing.js.map +1 -1
  72. package/dist/core/rest/projects-client/connectors.d.ts +2 -0
  73. package/dist/core/rest/projects-client/connectors.d.ts.map +1 -1
  74. package/dist/core/rest/projects-client/connectors.js.map +1 -1
  75. package/dist/core/rest/projects-client/files.js +2 -2
  76. package/dist/core/rest/projects-client/files.js.map +1 -1
  77. package/dist/core/rest/projects-client/gateway.d.ts +51 -0
  78. package/dist/core/rest/projects-client/gateway.d.ts.map +1 -1
  79. package/dist/core/rest/projects-client/gateway.js.map +1 -1
  80. package/dist/core/rest/projects-client/iam.d.ts +51 -3
  81. package/dist/core/rest/projects-client/iam.d.ts.map +1 -1
  82. package/dist/core/rest/projects-client/iam.js +18 -1
  83. package/dist/core/rest/projects-client/iam.js.map +1 -1
  84. package/dist/core/rest/projects-client/index.d.ts +1 -0
  85. package/dist/core/rest/projects-client/index.d.ts.map +1 -1
  86. package/dist/core/rest/projects-client/index.js +1 -0
  87. package/dist/core/rest/projects-client/index.js.map +1 -1
  88. package/dist/core/rest/projects-client/projects.d.ts +1 -1
  89. package/dist/core/rest/projects-client/projects.d.ts.map +1 -1
  90. package/dist/core/rest/projects-client/projects.js +3 -0
  91. package/dist/core/rest/projects-client/projects.js.map +1 -1
  92. package/dist/core/rest/projects-client/secrets.d.ts +11 -0
  93. package/dist/core/rest/projects-client/secrets.d.ts.map +1 -1
  94. package/dist/core/rest/projects-client/secrets.js +1 -1
  95. package/dist/core/rest/projects-client/secrets.js.map +1 -1
  96. package/dist/core/rest/projects-client/session-costs.d.ts +33 -0
  97. package/dist/core/rest/projects-client/session-costs.d.ts.map +1 -1
  98. package/dist/core/rest/projects-client/session-costs.js.map +1 -1
  99. package/dist/core/rest/projects-client/sessions.d.ts +253 -4
  100. package/dist/core/rest/projects-client/sessions.d.ts.map +1 -1
  101. package/dist/core/rest/projects-client/sessions.js +101 -4
  102. package/dist/core/rest/projects-client/sessions.js.map +1 -1
  103. package/dist/core/rest/projects-client/shared.d.ts +10 -1
  104. package/dist/core/rest/projects-client/shared.d.ts.map +1 -1
  105. package/dist/core/rest/projects-client/shared.js.map +1 -1
  106. package/dist/core/rest/projects-client/tokens.d.ts +13 -1
  107. package/dist/core/rest/projects-client/tokens.d.ts.map +1 -1
  108. package/dist/core/rest/projects-client/tokens.js +7 -2
  109. package/dist/core/rest/projects-client/tokens.js.map +1 -1
  110. package/dist/core/rest/projects-client/triggers.d.ts +69 -2
  111. package/dist/core/rest/projects-client/triggers.d.ts.map +1 -1
  112. package/dist/core/rest/projects-client/triggers.js +1 -1
  113. package/dist/core/rest/projects-client/triggers.js.map +1 -1
  114. package/dist/core/session/compaction.d.ts +98 -0
  115. package/dist/core/session/compaction.d.ts.map +1 -0
  116. package/dist/core/session/compaction.js +108 -0
  117. package/dist/core/session/compaction.js.map +1 -0
  118. package/dist/core/session/health.d.ts +22 -0
  119. package/dist/core/session/health.d.ts.map +1 -1
  120. package/dist/core/session/health.js +31 -5
  121. package/dist/core/session/health.js.map +1 -1
  122. package/dist/core/session/index.d.ts +2 -0
  123. package/dist/core/session/index.d.ts.map +1 -1
  124. package/dist/core/session/index.js +2 -0
  125. package/dist/core/session/index.js.map +1 -1
  126. package/dist/core/session/message-queue.d.ts +79 -15
  127. package/dist/core/session/message-queue.d.ts.map +1 -1
  128. package/dist/core/session/message-queue.js +73 -27
  129. package/dist/core/session/message-queue.js.map +1 -1
  130. package/dist/core/session/rewind.d.ts +76 -10
  131. package/dist/core/session/rewind.d.ts.map +1 -1
  132. package/dist/core/session/rewind.js +68 -11
  133. package/dist/core/session/rewind.js.map +1 -1
  134. package/dist/core/session/working.d.ts +241 -0
  135. package/dist/core/session/working.d.ts.map +1 -0
  136. package/dist/core/session/working.js +261 -0
  137. package/dist/core/session/working.js.map +1 -0
  138. package/dist/core/session-sync/session-sync-controller.d.ts +35 -20
  139. package/dist/core/session-sync/session-sync-controller.d.ts.map +1 -1
  140. package/dist/core/session-sync/session-sync-controller.js +48 -115
  141. package/dist/core/session-sync/session-sync-controller.js.map +1 -1
  142. package/dist/core/stream/event-stream.d.ts +22 -0
  143. package/dist/core/stream/event-stream.d.ts.map +1 -1
  144. package/dist/core/stream/event-stream.js +132 -36
  145. package/dist/core/stream/event-stream.js.map +1 -1
  146. package/dist/core/turns/classify.d.ts +5 -2
  147. package/dist/core/turns/classify.d.ts.map +1 -1
  148. package/dist/core/turns/classify.js +1 -0
  149. package/dist/core/turns/classify.js.map +1 -1
  150. package/dist/core/turns/errors.d.ts +11 -0
  151. package/dist/core/turns/errors.d.ts.map +1 -1
  152. package/dist/core/turns/errors.js +49 -2
  153. package/dist/core/turns/errors.js.map +1 -1
  154. package/dist/core/turns/grouping.d.ts +32 -2
  155. package/dist/core/turns/grouping.d.ts.map +1 -1
  156. package/dist/core/turns/grouping.js +31 -2
  157. package/dist/core/turns/grouping.js.map +1 -1
  158. package/dist/core/turns/index.d.ts +1 -0
  159. package/dist/core/turns/index.d.ts.map +1 -1
  160. package/dist/core/turns/index.js +1 -0
  161. package/dist/core/turns/index.js.map +1 -1
  162. package/dist/core/turns/open-turn.d.ts +81 -0
  163. package/dist/core/turns/open-turn.d.ts.map +1 -0
  164. package/dist/core/turns/open-turn.js +77 -0
  165. package/dist/core/turns/open-turn.js.map +1 -0
  166. package/dist/core/turns/state.d.ts +1 -1
  167. package/dist/core/turns/state.d.ts.map +1 -1
  168. package/dist/core/turns/state.js +29 -27
  169. package/dist/core/turns/state.js.map +1 -1
  170. package/dist/core/turns/types.d.ts +8 -0
  171. package/dist/core/turns/types.d.ts.map +1 -1
  172. package/dist/index.d.ts +3 -1
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +3 -1
  175. package/dist/index.js.map +1 -1
  176. package/dist/kortix.esm.min.js +25 -25
  177. package/dist/kortix.global.js +25 -25
  178. package/dist/node/server.d.ts.map +1 -1
  179. package/dist/node/server.js +14 -2
  180. package/dist/node/server.js.map +1 -1
  181. package/dist/react/index.d.ts +3 -1
  182. package/dist/react/index.d.ts.map +1 -1
  183. package/dist/react/index.js +8 -1
  184. package/dist/react/index.js.map +1 -1
  185. package/dist/react/initial-session-pin.d.ts +17 -0
  186. package/dist/react/initial-session-pin.d.ts.map +1 -1
  187. package/dist/react/initial-session-pin.js +58 -0
  188. package/dist/react/initial-session-pin.js.map +1 -1
  189. package/dist/react/opencode.d.ts +6 -2
  190. package/dist/react/opencode.d.ts.map +1 -1
  191. package/dist/react/opencode.js +5 -1
  192. package/dist/react/opencode.js.map +1 -1
  193. package/dist/react/prefetch-session-start.d.ts +10 -4
  194. package/dist/react/prefetch-session-start.d.ts.map +1 -1
  195. package/dist/react/prefetch-session-start.js +10 -4
  196. package/dist/react/prefetch-session-start.js.map +1 -1
  197. package/dist/react/query-keys.d.ts +8 -2
  198. package/dist/react/query-keys.d.ts.map +1 -1
  199. package/dist/react/query-keys.js +8 -2
  200. package/dist/react/query-keys.js.map +1 -1
  201. package/dist/react/session-start-stash.d.ts +25 -0
  202. package/dist/react/session-start-stash.d.ts.map +1 -1
  203. package/dist/react/session-start-stash.js +34 -3
  204. package/dist/react/session-start-stash.js.map +1 -1
  205. package/dist/react/session-title-sync.d.ts +5 -1
  206. package/dist/react/session-title-sync.d.ts.map +1 -1
  207. package/dist/react/session-title-sync.js +16 -4
  208. package/dist/react/session-title-sync.js.map +1 -1
  209. package/dist/react/use-admin-accounts.d.ts +121 -0
  210. package/dist/react/use-admin-accounts.d.ts.map +1 -1
  211. package/dist/react/use-admin-accounts.js +92 -0
  212. package/dist/react/use-admin-accounts.js.map +1 -1
  213. package/dist/react/use-can.d.ts +105 -0
  214. package/dist/react/use-can.d.ts.map +1 -0
  215. package/dist/react/use-can.js +190 -0
  216. package/dist/react/use-can.js.map +1 -0
  217. package/dist/react/use-canonical-opencode-session.d.ts +6 -1
  218. package/dist/react/use-canonical-opencode-session.d.ts.map +1 -1
  219. package/dist/react/use-canonical-opencode-session.js +46 -3
  220. package/dist/react/use-canonical-opencode-session.js.map +1 -1
  221. package/dist/react/use-impersonation.d.ts +54 -0
  222. package/dist/react/use-impersonation.d.ts.map +1 -0
  223. package/dist/react/use-impersonation.js +91 -0
  224. package/dist/react/use-impersonation.js.map +1 -0
  225. package/dist/react/use-opencode-events/handle-event.d.ts +10 -0
  226. package/dist/react/use-opencode-events/handle-event.d.ts.map +1 -1
  227. package/dist/react/use-opencode-events/handle-event.js +76 -7
  228. package/dist/react/use-opencode-events/handle-event.js.map +1 -1
  229. package/dist/react/use-opencode-events/helpers.d.ts +21 -8
  230. package/dist/react/use-opencode-events/helpers.d.ts.map +1 -1
  231. package/dist/react/use-opencode-events/helpers.js +25 -26
  232. package/dist/react/use-opencode-events/helpers.js.map +1 -1
  233. package/dist/react/use-opencode-events/index.d.ts.map +1 -1
  234. package/dist/react/use-opencode-events/index.js +43 -26
  235. package/dist/react/use-opencode-events/index.js.map +1 -1
  236. package/dist/react/use-opencode-events/use-event-stream-refs.d.ts.map +1 -1
  237. package/dist/react/use-opencode-events/use-event-stream-refs.js +66 -3
  238. package/dist/react/use-opencode-events/use-event-stream-refs.js.map +1 -1
  239. package/dist/react/use-opencode-local.d.ts +17 -0
  240. package/dist/react/use-opencode-local.d.ts.map +1 -1
  241. package/dist/react/use-opencode-local.js +41 -7
  242. package/dist/react/use-opencode-local.js.map +1 -1
  243. package/dist/react/use-opencode-sessions/messages.d.ts +101 -1
  244. package/dist/react/use-opencode-sessions/messages.d.ts.map +1 -1
  245. package/dist/react/use-opencode-sessions/messages.js +481 -63
  246. package/dist/react/use-opencode-sessions/messages.js.map +1 -1
  247. package/dist/react/use-project-apps.d.ts +24 -1
  248. package/dist/react/use-project-apps.d.ts.map +1 -1
  249. package/dist/react/use-project-apps.js +5 -3
  250. package/dist/react/use-project-apps.js.map +1 -1
  251. package/dist/react/use-runtime-boot-stalled.d.ts +32 -0
  252. package/dist/react/use-runtime-boot-stalled.d.ts.map +1 -0
  253. package/dist/react/use-runtime-boot-stalled.js +48 -0
  254. package/dist/react/use-runtime-boot-stalled.js.map +1 -0
  255. package/dist/react/use-runtime-reconnect.d.ts +67 -1
  256. package/dist/react/use-runtime-reconnect.d.ts.map +1 -1
  257. package/dist/react/use-runtime-reconnect.js +116 -18
  258. package/dist/react/use-runtime-reconnect.js.map +1 -1
  259. package/dist/react/use-session-prompts.d.ts +113 -0
  260. package/dist/react/use-session-prompts.d.ts.map +1 -0
  261. package/dist/react/use-session-prompts.js +242 -0
  262. package/dist/react/use-session-prompts.js.map +1 -0
  263. package/dist/react/use-session-send.d.ts +169 -20
  264. package/dist/react/use-session-send.d.ts.map +1 -1
  265. package/dist/react/use-session-send.js +178 -29
  266. package/dist/react/use-session-send.js.map +1 -1
  267. package/dist/react/use-session-sync.d.ts +35 -2
  268. package/dist/react/use-session-sync.d.ts.map +1 -1
  269. package/dist/react/use-session-sync.js +46 -9
  270. package/dist/react/use-session-sync.js.map +1 -1
  271. package/dist/react/use-session-working.d.ts +57 -0
  272. package/dist/react/use-session-working.d.ts.map +1 -0
  273. package/dist/react/use-session-working.js +178 -0
  274. package/dist/react/use-session-working.js.map +1 -0
  275. package/dist/react/use-session.d.ts +122 -5
  276. package/dist/react/use-session.d.ts.map +1 -1
  277. package/dist/react/use-session.js +343 -69
  278. package/dist/react/use-session.js.map +1 -1
  279. package/package.json +2 -2
  280. package/dist/browser/stores/tab-store.d.ts +0 -91
  281. package/dist/browser/stores/tab-store.d.ts.map +0 -1
  282. package/dist/browser/stores/tab-store.js +0 -369
  283. package/dist/browser/stores/tab-store.js.map +0 -1
  284. package/dist/core/session/send-queue.d.ts +0 -70
  285. package/dist/core/session/send-queue.d.ts.map +0 -1
  286. package/dist/core/session/send-queue.js +0 -116
  287. package/dist/core/session/send-queue.js.map +0 -1
@@ -1,23 +1,23 @@
1
- var Cu={backendUrl:"",getToken:async()=>null},Ft=null,Qe=null;function Zg(t){Qe=t}function em(){return Qe}function Lt(t,e){e?.global!==!1&&(Ft=t)}function $(){return Qe?.()??Ft??Cu}function Gt(){return Ft!==null||Qe?.()!==void 0}var ts=({onRequest:t,onSseError:e,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:c,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:g,url:f,...m})=>{let _,x=g??(l=>new Promise(h=>setTimeout(h,l)));return{stream:async function*(){let l=c??3e3,h=0,a=m.signal??new AbortController().signal;for(;!a.aborted;){h++;let A=m.headers instanceof Headers?m.headers:new Headers(m.headers);_!==void 0&&A.set("Last-Event-ID",_);try{let j={redirect:"follow",...m,body:m.serializedBody,headers:A,signal:a},v=new Request(f,j);t&&(v=await t(f,j));let E=await(m.fetch??globalThis.fetch)(v);if(!E.ok)throw new Error(`SSE failed: ${E.status} ${E.statusText}`);if(!E.body)throw new Error("No body in SSE response");let w=E.body.pipeThrough(new TextDecoderStream).getReader(),F="",K=()=>{try{w.cancel()}catch{}};a.addEventListener("abort",K);try{for(;;){let{done:y,value:C}=await w.read();if(y)break;F+=C,F=F.replace(/\r\n/g,`
1
+ var dp={backendUrl:"",getToken:async()=>null},Kt=null,nt=null;function cf(t){nt=t}function lf(){return nt}function Ht(t,e){e?.global!==!1&&(Kt=t)}function $(){return nt?.()??Kt??dp}function Wt(){return Kt!==null||nt?.()!==void 0}var us=({onRequest:t,onSseError:e,onSseEvent:n,responseTransformer:r,responseValidator:s,sseDefaultRetryDelay:o,sseMaxRetryAttempts:u,sseMaxRetryDelay:p,sseSleepFn:d,url:f,...m})=>{let b,x=d??(C=>new Promise(l=>setTimeout(l,C)));return{stream:async function*(){let C=o??3e3,l=0,y=m.signal??new AbortController().signal;for(;!y.aborted;){l++;let c=m.headers instanceof Headers?m.headers:new Headers(m.headers);b!==void 0&&c.set("Last-Event-ID",b);try{let R={redirect:"follow",...m,body:m.serializedBody,headers:c,signal:y},T=new Request(f,R);t&&(T=await t(f,R));let q=await(m.fetch??globalThis.fetch)(T);if(!q.ok)throw new Error(`SSE failed: ${q.status} ${q.statusText}`);if(!q.body)throw new Error("No body in SSE response");let j=q.body.pipeThrough(new TextDecoderStream).getReader(),A="",z=()=>{try{j.cancel()}catch{}};y.addEventListener("abort",z);try{for(;;){let{done:V,value:h}=await j.read();if(V)break;A+=h,A=A.replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
- `);let M=F.split(`
3
+ `);let S=A.split(`
4
4
 
5
- `);F=M.pop()??"";for(let z of M){let V=z.split(`
6
- `),J=[],Q;for(let U of V)if(U.startsWith("data:"))J.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))Q=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))_=U.replace(/^id:\s*/,"");else if(U.startsWith("retry:")){let N=Number.parseInt(U.replace(/^retry:\s*/,""),10);Number.isNaN(N)||(l=N)}let H,D=!1;if(J.length){let U=J.join(`
7
- `);try{H=JSON.parse(U),D=!0}catch{H=U}}D&&(s&&await s(H),r&&(H=await r(H))),n?.({data:H,event:Q,id:_,retry:l}),J.length&&(yield H)}}}finally{a.removeEventListener("abort",K),w.releaseLock()}break}catch(j){if(e?.(j),u!==void 0&&h>=u)break;let v=Math.min(l*2**(h-1),p??3e4);await x(v)}}}()}};var Ru=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Tu=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Au=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},Ye=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(g=>encodeURIComponent(g))).join(Tu(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let c=Ru(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):xe({allowReserved:t,name:n,value:p})).join(c);return r==="label"||r==="matrix"?c+u:u},xe=({allowReserved:t,name:e,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${t?n:encodeURIComponent(n)}`},Ze=({allowReserved:t,explode:e,name:n,style:r,value:s,valueOnly:c})=>{if(s instanceof Date)return c?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!e){let g=[];Object.entries(s).forEach(([m,_])=>{g=[...g,m,t?_:encodeURIComponent(_)]});let f=g.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=Au(r),p=Object.entries(s).map(([g,f])=>xe({allowReserved:t,name:r==="deepObject"?`${n}[${g}]`:g,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var Iu=/\{[^{}]+\}/g,ju=({path:t,url:e})=>{let n=e,r=e.match(Iu);if(r)for(let s of r){let c=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(c=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let g=t[u];if(g==null)continue;if(Array.isArray(g)){n=n.replace(s,Ye({explode:c,name:u,style:p,value:g}));continue}if(typeof g=="object"){n=n.replace(s,Ze({explode:c,name:u,style:p,value:g,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${xe({name:u,value:g})}`);continue}let f=encodeURIComponent(p==="label"?`.${g}`:g);n=n.replace(s,f)}return n},ns=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let c=s.startsWith("/")?s:`/${s}`,u=(t??"")+c;e&&(u=ju({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function Bt(t){let e=t.body!==void 0;if(e&&t.bodySerializer)return"serializedBody"in t?t.serializedBody!==void 0&&t.serializedBody!==""?t.serializedBody:null:t.body!==""?t.body:null;if(e)return t.body}var rs=async(t,e)=>{let n=typeof e=="function"?await e(t):e;if(n)return t.scheme==="bearer"?`Bearer ${n}`:t.scheme==="basic"?`Basic ${btoa(n)}`:n};var Kt={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var ss=({parameters:t={},...e}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let c in r){let u=r[c];if(u==null)continue;let p=t[c]||e;if(Array.isArray(u)){let g=Ye({allowReserved:p.allowReserved,explode:!0,name:c,style:"form",value:u,...p.array});g&&s.push(g)}else if(typeof u=="object"){let g=Ze({allowReserved:p.allowReserved,explode:!0,name:c,style:"deepObject",value:u,...p.object});g&&s.push(g)}else{let g=xe({allowReserved:p.allowReserved,name:c,value:u});g&&s.push(g)}}return s.join("&")},is=t=>{if(!t)return"stream";let e=t.split(";")[0]?.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>e.startsWith(n)))return"blob";if(e.startsWith("text/"))return"text"}},Eu=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,os=async({security:t,...e})=>{for(let n of t){if(Eu(e,n.name))continue;let r=await rs(n,e.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":e.query||(e.query={}),e.query[s]=r;break;case"cookie":e.headers.append("Cookie",`${s}=${r}`);break;default:e.headers.set(s,r);break}}},Ht=t=>ns({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:ss(t.querySerializer),url:t.url}),Nt=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=et(t.headers,e.headers),n},$u=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},et=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?$u(n):Object.entries(n);for(let[s,c]of r)if(c===null)e.delete(s);else if(Array.isArray(c))for(let u of c)e.append(s,u);else c!==void 0&&e.set(s,typeof c=="object"?JSON.stringify(c):c)}return e},qe=class{fns=[];clear(){this.fns=[]}eject(e){let n=this.getInterceptorIndex(e);this.fns[n]&&(this.fns[n]=null)}exists(e){let n=this.getInterceptorIndex(e);return!!this.fns[n]}getInterceptorIndex(e){return typeof e=="number"?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,n){let r=this.getInterceptorIndex(e);return this.fns[r]?(this.fns[r]=n,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},as=()=>({error:new qe,request:new qe,response:new qe}),qu=ss({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Du={"Content-Type":"application/json"},De=(t={})=>({...Kt,headers:Du,parseAs:"auto",querySerializer:qu,...t});var Me=(t={})=>{let e=Nt(De(),t),n=()=>({...e}),r=f=>(e=Nt(e,f),n()),s=as(),c=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:et(e.headers,f.headers),serializedBody:void 0};m.security&&await os({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let _=Ht(m);return{opts:m,url:_}},u=async f=>{let{opts:m,url:_}=await c(f),x={redirect:"follow",...m,body:Bt(m)},I=new Request(_,x);for(let k of s.request.fns)k&&(I=await k(I,m));let T=m.fetch,l;try{l=await T(I)}catch(k){let E=k;for(let w of s.error.fns)w&&(E=await w(k,void 0,I,m));if(E=E||{},m.throwOnError)throw E;return m.responseStyle==="data"?void 0:{error:E,request:I,response:void 0}}for(let k of s.response.fns)k&&(l=await k(l,I,m));let h={request:I,response:l};if(l.ok){let k=(m.parseAs==="auto"?is(l.headers.get("Content-Type")):m.parseAs)??"json";if(l.status===204||l.headers.get("Content-Length")==="0"){let w;switch(k){case"arrayBuffer":case"blob":case"text":w=await l[k]();break;case"formData":w=new FormData;break;case"stream":w=l.body;break;default:w={};break}return m.responseStyle==="data"?w:{data:w,...h}}let E;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":E=await l[k]();break;case"json":{let w=await l.text();E=w?JSON.parse(w):{};break}case"stream":return m.responseStyle==="data"?l.body:{data:l.body,...h}}return k==="json"&&(m.responseValidator&&await m.responseValidator(E),m.responseTransformer&&(E=await m.responseTransformer(E))),m.responseStyle==="data"?E:{data:E,...h}}let a=await l.text(),A;try{A=JSON.parse(a)}catch{}let j=A??a,v=j;for(let k of s.error.fns)k&&(v=await k(j,l,I,m));if(v=v||{},m.throwOnError)throw v;return m.responseStyle==="data"?void 0:{error:v,...h}},p=f=>m=>u({...m,method:f}),g=f=>async m=>{let{opts:_,url:x}=await c(m);return ts({..._,body:_.body,headers:_.headers,method:f,onRequest:async(I,T)=>{let l=new Request(I,T);for(let h of s.request.fns)h&&(l=await h(l,_));return l},serializedBody:Bt(_),url:x})};return{buildUrl:Ht,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:p("TRACE")}};var Mu={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},Uu=Object.entries(Mu),cs=(t,e)=>{e||(e=new Map);for(let n of t)"in"in n?n.key&&e.set(n.key,{in:n.in,map:n.map}):"key"in n?e.set(n.key,{map:n.map}):n.args&&cs(n.args,e);return e},Ou=t=>{for(let[e,n]of Object.entries(t))n&&typeof n=="object"&&!Object.keys(n).length&&delete t[e]},d=(t,e)=>{let n={body:{},headers:{},path:{},query:{}},r=cs(e),s;for(let[c,u]of t.entries())if(e[c]&&(s=e[c]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),g=p.map||s.key;p.in&&(n[p.in][g]=u)}else n.body=u;else for(let[p,g]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=g}else n[f.map]=g;else{let m=Uu.find(([_])=>p.startsWith(_));if(m){let[_,x]=m;n[x][p.slice(_.length)]=g}else if("allowExtra"in s&&s.allowExtra){for(let[_,x]of Object.entries(s.allowExtra))if(x){n[_][p]=g;break}}}}return Ou(n),n};var ls=Me(De({baseUrl:"http://localhost:4096"}));var b=class{client;constructor(e){this.client=e?.client??ls}},Wt=class{defaultKey="default";instances=new Map;get(e){let n=this.instances.get(e??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(e,n){this.instances.set(n??this.defaultKey,e)}},zt=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Vt=class extends b{log(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},Jt=class extends b{moveSession(e,n){let r=d([e],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xt=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},Qt=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yt=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},Zt=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},en=class extends b{generateName(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},nn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new tn({client:this.client})}},rn=class extends b{_controlPlane;get controlPlane(){return this._controlPlane??=new Jt({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new Xt({client:this.client})}_console;get console(){return this._console??=new Qt({client:this.client})}_session;get session(){return this._session??=new Yt({client:this.client})}_resource;get resource(){return this._resource??=new Zt({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new en({client:this.client})}_workspace;get workspace(){return this._workspace??=new nn({client:this.client})}},sn=class extends b{get(e){return(e?.client??this.client).get({url:"/global/config",...e})}update(e,n){let r=d([e],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},on=class extends b{health(e){return(e?.client??this.client).get({url:"/global/health",...e})}event(e){return(e?.client??this.client).sse.get({url:"/global/event",...e})}dispose(e){return(e?.client??this.client).post({url:"/global/dispose",...e})}upgrade(e,n){let r=d([e],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new sn({client:this.client})}},an=class extends b{subscribe(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},cn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},ln=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},un=class extends b{remove(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},pn=class extends b{text(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},dn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},gn=class extends b{dispose(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},mn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},fn=class extends b{raw(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},yn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new fn({client:this.client})}},hn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},bn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},xn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},_n=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Pn=class extends b{status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(e,n){let r=d([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new _n({client:this.client})}},kn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},wn=class extends b{shells(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},Sn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=d([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},vn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Cn=class extends b{authorize(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Rn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new Cn({client:this.client})}},Tn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},An=class extends b{delete(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},In=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},jn=class extends b{start(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(e,n){let r=d([e],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new In({client:this.client})}},En=class extends b{next(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},$n=class extends b{appendPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(e,n){let r=d([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new En({client:this.client})}},qn=class extends b{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},Dn=class extends b{get(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},Mn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Un=class extends b{stage(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},On=class extends b{list(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Fn=class extends b{list(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Ln=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(e,n){let r=d([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Un({client:this.client})}_permission;get permission(){return this._permission??=new On({client:this.client})}_question;get question(){return this._question??=new Fn({client:this.client})}},Gn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},Bn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Kn=class extends b{key(e,n){let r=d([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(e,n){let r=d([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Hn=class extends b{cancel(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(e,n){let r=d([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Nn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Kn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Hn({client:this.client})}},Wn=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},zn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Vn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},Jn=class extends b{_request;get request(){return this._request??=new zn({client:this.client})}_saved;get saved(){return this._saved??=new Vn({client:this.client})}},Xn=class extends b{read(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(e,n){let r=d([e],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(e,n){let r=d([e],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},Qn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},Yn=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},Zn=class extends b{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},er=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(e,n){let r=d([e],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=d([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},tr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},nr=class extends b{_request;get request(){return this._request??=new tr({client:this.client})}},rr=class extends b{list(e,n){let r=d([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},sr=class extends b{remove(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(e,n){let r=d([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},ir=class extends b{_health;get health(){return this._health??=new qn({client:this.client})}_location;get location(){return this._location??=new Dn({client:this.client})}_agent;get agent(){return this._agent??=new Mn({client:this.client})}_session;get session(){return this._session??=new Ln({client:this.client})}_model;get model(){return this._model??=new Gn({client:this.client})}_provider;get provider(){return this._provider??=new Bn({client:this.client})}_integration;get integration(){return this._integration??=new Nn({client:this.client})}_credential;get credential(){return this._credential??=new Wn({client:this.client})}_permission;get permission(){return this._permission??=new Jn({client:this.client})}_fs;get fs(){return this._fs??=new Xn({client:this.client})}_command;get command(){return this._command??=new Qn({client:this.client})}_skill;get skill(){return this._skill??=new Yn({client:this.client})}_event;get event(){return this._event??=new Zn({client:this.client})}_pty;get pty(){return this._pty??=new er({client:this.client})}_question;get question(){return this._question??=new nr({client:this.client})}_reference;get reference(){return this._reference??=new rr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new sr({client:this.client})}},tt=class t extends b{static __registry=new Wt;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new zt({client:this.client})}_app;get app(){return this._app??=new Vt({client:this.client})}_experimental;get experimental(){return this._experimental??=new rn({client:this.client})}_global;get global(){return this._global??=new on({client:this.client})}_event;get event(){return this._event??=new an({client:this.client})}_config;get config(){return this._config??=new cn({client:this.client})}_tool;get tool(){return this._tool??=new ln({client:this.client})}_worktree;get worktree(){return this._worktree??=new un({client:this.client})}_find;get find(){return this._find??=new pn({client:this.client})}_file;get file(){return this._file??=new dn({client:this.client})}_instance;get instance(){return this._instance??=new gn({client:this.client})}_path;get path(){return this._path??=new mn({client:this.client})}_vcs;get vcs(){return this._vcs??=new yn({client:this.client})}_command;get command(){return this._command??=new hn({client:this.client})}_lsp;get lsp(){return this._lsp??=new bn({client:this.client})}_formatter;get formatter(){return this._formatter??=new xn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Pn({client:this.client})}_project;get project(){return this._project??=new kn({client:this.client})}_pty;get pty(){return this._pty??=new wn({client:this.client})}_question;get question(){return this._question??=new Sn({client:this.client})}_permission;get permission(){return this._permission??=new vn({client:this.client})}_provider;get provider(){return this._provider??=new Rn({client:this.client})}_session;get session(){return this._session??=new Tn({client:this.client})}_part;get part(){return this._part??=new An({client:this.client})}_sync;get sync(){return this._sync??=new jn({client:this.client})}_tui;get tui(){return this._tui??=new $n({client:this.client})}_v2;get v2(){return this._v2??=new ir({client:this.client})}};function ps(t,e,n,r){if(!r?.throwOnError||t instanceof Error)return t;if(typeof t=="object"&&t!==null&&Object.keys(t).length>0){let c=t,u=typeof c.data?.message=="string"&&c.data.message||typeof c.message=="string"&&c.message||typeof c.name=="string"&&c.name||us(n,e);return new Error(u,{cause:{body:t,status:e?.status}})}if(typeof t=="string"&&t.length>0)return new Error(t,{cause:{body:t,status:e?.status}});let s=e?"(empty response body)":"network error (no response)";return new Error(`opencode server ${us(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function us(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,c=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${c?" "+c:""}`}function Fu(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function Lu(t,e){if(t.method!=="GET"&&t.method!=="HEAD")return t;let n=new URL(t.url),r=!1;for(let[c,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=Fu(t.headers.get(c),u==="directory"?e.directory:e.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let g of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(g)||n.searchParams.set(g,p);r=!0}}if(!r)return t;let s=new Request(n,t);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function or(t){t?.fetch||(t={...t,fetch:r=>(r.timeout=!1,fetch(r))}),t?.directory&&(t.headers={...t.headers,"x-opencode-directory":encodeURIComponent(t.directory)}),t?.experimental_workspaceID&&(t.headers={...t.headers,"x-opencode-workspace":t.experimental_workspaceID});let e=Me(t);return e.interceptors.request.use(n=>Lu(n,{directory:t?.directory,workspace:t?.experimental_workspaceID})),e.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),e.interceptors.error.use(ps),new tt({client:e})}var Gu=new Set(["api","cli","mobile","web"]);function nt(t){let e=t?.trim().toLowerCase();return e&&Gu.has(e)?e:null}function Bu(t){return new Promise(e=>setTimeout(e,t))}async function ds(t,e,n){let r=Math.max(1,e?.attempts??1),s=e?.baseDelayMs??0,c=e?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(c&&n?.(),s>0&&await Bu(s)),u=await t(),u)return u;return u}var Ku=3e4;function Hu(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function ar(t,e,n=Ku){let r=t instanceof Request?t.signal:e?.signal;if(Hu(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function cr(t,e,n,r){let s=new Headers(t instanceof Request?t.headers:void 0);e?.headers&&new Headers(e.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let c=nt(r);return c&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",c),s}function gs(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function lr(){return $().getToken()}async function ne(t){return ds(()=>$().getToken(),t,rt)}function rt(){}function Bm(t){}function Km(t){}async function _e(){return lr()}async function ms(t){return ne(t)}function fs(t,e,n,r){let s=$().fetch??fetch;if(t instanceof Request){let c=new Request(t,{headers:n,...r?{signal:r}:{}});return s(c)}return s(t,{...e,headers:n,...r?{signal:r}:{}})}async function q(t,e,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},c=await ms();if(!c)return gs();let u=$().clientSource,p=cr(t,e,c,u),g=s===void 0?ar(t,e):ar(t,e,s),f=await fs(t,e,p,g);if(f.status===401&&r&&c){rt();let m=await ms({attempts:2,baseDelayMs:200});if(m&&m!==c){let _=cr(t,e,m,u);return fs(t,e,_,g)}}return f}var Pe={url:null,sandboxId:null,dbSandboxId:null,version:0},Nu=new Set;function ys(t,e=null,n=null){if(!(Pe.url===t&&Pe.sandboxId===e&&Pe.dbSandboxId===n)){Pe={url:t,sandboxId:e,dbSandboxId:n,version:Pe.version+1};for(let r of Nu)r()}}function hs(){return Pe.url}function Wu(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function le(){return Wu($().backendUrl||"http://localhost:8008/v1")}function bs(){let t=$().sandboxId;return t?`${le()}/p/${t}/8000`:""}function zu(t){return`${le()}/p/${t}/8000`}function st(t){return zu(t)}function L(){let t=hs();return t||($().billingEnabled??!1?"":bs())}var R=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(e,n={}){super(e),this.name="ApiError";let{name:r,stack:s,...c}=n;Object.assign(this,c),r&&(this.name=r),s&&(this.stack=s);let u=typeof e=="string"?e:e==null?"":String(e);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},ke=class extends R{constructor(e="Not authenticated"){super(e,{code:"NO_SESSION"}),this.name="AuthError"}},ue=class t extends Error{status;detail;constructor(e,n,r){super(r||n.message||`Billing Error: ${e}`),this.name="BillingError",this.status=e,this.detail=n,Object.setPrototypeOf(this,t.prototype)}},we=class t extends Error{status;detail;constructor(e=431,n,r){let s="Request headers are too large",c="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=e,this.detail={message:n?.message||s,suggestion:n?.suggestion||c},Object.setPrototypeOf(this,t.prototype)}},ur="feature_disabled";function xs(t){if(!(t instanceof R)||t.status!==403||t.code!==ur)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function _s(t){let e=xs(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function Ps(t){let e=xs(t);if(!e)return null;let n=t.feature;return typeof n=="string"?n:typeof e.feature=="string"?e.feature:null}function Se(t){let e=t.response?.status||t.status;if(e!==402)return t;let n=t.response?.data||t.data||t.detail||{},r=n?.detail||n;return new ue(e,{message:r?.message||t.message||"Billing error",...r})}function ks(t){return t instanceof ue}function ws(t){if(!(t instanceof ue))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:t.detail?.message||"Please upgrade to continue."}}async function pr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function dr(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function Ss(t){let e=dr(t),n=await q(`${e}/env`);if(!n.ok)throw new Error(await pr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function vs(t,e,n){let r=dr(t),s=await q(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await pr(s,"Failed to save secret"))}async function Cs(t,e){let n=dr(t),r=await q(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await pr(r,"Failed to delete secret"))}var Vu={list:Ss,set:vs,delete:Cs};async function Ju(t,e,n){let r=t;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await q(`${r}/kortix/triggers${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),c=await s.json();if(!s.ok)throw new Error(c?.error||c?.message||`Request failed with ${s.status}`);return c}function ve(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return e===t.length?t:t.slice(0,e)}async function it(t,e){let n=await t.json().catch(()=>({}));return n?.error||n?.message||t.statusText||e}function Ue(t){if(!t)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return ve(t)}async function Rs(t){let e=Ue(t),n=await q(`${e}/kortix/pty`);if(!n.ok)throw new Error(await it(n,"Failed to list terminals"));return n.json()}async function Ts(t,e){let n=Ue(t),r=await q(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e??{})});if(!r.ok)throw new Error(await it(r,"Failed to create terminal"));return r.json()}async function As(t,e,n){let r=Ue(t),s=await q(`${r}/kortix/pty/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await it(s,"Failed to update terminal"));return s.json()}async function Is(t,e){let n=Ue(t),r=await q(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await it(r,"Failed to remove terminal"))}async function js(t,e){let n=Ue(e),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),ve(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(t)}/connect`,c=await _e();if(!c)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(c)}`}var Xu={list:Rs,create:Ts,update:As,remove:Is,webSocketUrl:js};async function S(t,e,n,r){let s=t;for(;s.endsWith("/");)s=s.slice(0,-1);let c=await q(`${s}${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await c.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!c.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${c.status}`);return p}async function pf(t,e={}){let n=new URLSearchParams;e.projectId&&n.set("project_id",e.projectId),e.status&&n.set("status",e.status);let r=n.toString()?`?${n}`:"";return S(t,`/kortix/tasks${r}`)}async function df(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function gf(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function mf(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function ff(t,e){return S(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function yf(t,e,n){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function hf(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function bf(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function xf(t,e){return S(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function _f(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return S(t,`/kortix/tickets${n}`)}async function Pf(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function kf(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function wf(t,e){return S(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function Sf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function vf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Cf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Rf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Tf(t,e,n){return S(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Af(t,e){return S(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function If(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function jf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Ef(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function $f(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function qf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function Df(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Mf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function Uf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function Of(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Ff(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Lf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Gf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function Bf(t,e,n=200){return S(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function Kf(t){return S(t,"/kortix/projects")}async function Hf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function Nf(t,e){return S(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function Wf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function zf(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Vf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Jf(t,e,n="all"){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function Xf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function Qf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function Yf(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function Zf(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ey(t,e,n,r){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function ty(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function ny(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ry(t,e){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function sy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function iy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function oy(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function ay(t,e,n){return S(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Qu=1e4,Yu={retryOnAuthError:!1};function Ce(t,e,n){return S(t,e,{signal:AbortSignal.timeout(Qu),...n},Yu)}async function cy(t,e=!1){return(await Ce(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function ly(t){return(await Ce(t,"/kortix/services/templates")).templates??[]}async function uy(t,e){return(await Ce(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function py(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return Ce(t,s,{method:r?"DELETE":"POST"})}async function dy(t,e){return Ce(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function gy(t,e){return Ce(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var ot=new Map,gr=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function pe(){let t=L();if(!t)throw new gr;return re(t)}function re(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=ot.get(t);if(e)return e;if(!Gt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=or({baseUrl:t,fetch:q});return ot.set(t,n),n}function _y(t){ot.delete(t)}function Py(){ot.clear()}var at=new Map;function ky(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=at.get(t);if(e)return e;let n=or({baseUrl:t,fetch});return at.set(t,n),n}function wy(t){at.delete(t)}function Sy(){at.clear()}async function Zu(t){let e=await t.text().catch(()=>"");try{let n=JSON.parse(e);return n?.error||n?.message||e||t.statusText||`HTTP ${t.status}`}catch{return e||t.statusText||`HTTP ${t.status}`}}async function vy(t){let e=L();if(!e)throw new R("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=t==="full"?"/kortix/refresh":"/global/dispose",r=await q(`${e}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",c=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new R(`System reload failed (${r.status}): ${await Zu(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!c)throw new R(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(g){throw new R(`System reload returned malformed JSON from ${n}: ${g instanceof Error?g.message:String(g)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:t,steps:p?[t==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function $s(t){if(t.error){let e=t.error,n=e?.data?.message||e?.message||(typeof e?.error=="string"?e.error:null)||"SDK request failed";throw new R(n,{status:e?.response?.status??e?.status,response:e?.response,details:e})}return t.data}async function Re(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}async function ct(t,e=L()){let n=await q(`${e}${t}`);if(!n.ok)throw new R(await Re(n),{status:n.status,response:n});return n.json()}var fr=["/workspace","/tmp","/home","/opt"],ep=fr.filter(t=>t!=="/workspace");function qs(t){return fr.some(e=>t===e||t.startsWith(`${e}/`))}function Ds(t){return qs(t)?t:`/workspace/${t.replace(/^\/+/,"")}`}function Te(t){let e=t||"";if(e==="/workspace"||e==="/workspace/")return"";if(e.startsWith("/workspace/"))e=e.slice(11);else if(ep.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var Ms=Te;async function lt(t,e=L()){let n=Te(t)||".";return(await ct(`/file?path=${encodeURIComponent(n)}`,e)).map(s=>({...s,path:s.absolute||`/workspace/${s.path}`}))}async function Fe(t,e=L()){let n=Te(t),r=await q(`${e}/file/content?path=${encodeURIComponent(n)}`);if(!r.ok)throw new R(await Re(r),{status:r.status,response:r});return r.json()}async function tp(t,e,n=L()){let r=Te(t),s=await q(`${n}/file/raw?path=${encodeURIComponent(r)}`);if(!s.ok)throw new R(await Re(s),{status:s.status,response:s});if((s.headers.get("content-type")||"").includes("text/html"))throw new R("File could not be loaded (raw byte route unavailable)",{status:s.status,response:s,code:"INVALID_CONTENT_TYPE"});let c=await s.blob();return e&&(!c.type||c.type==="application/octet-stream")?new Blob([c],{type:e}):c}async function Le(t,e=L()){try{return await tp(t,void 0,e)}catch{}let n=await Fe(t,e);if(n.encoding==="base64"&&n.content){let r=Uint8Array.from(atob(n.content),s=>s.charCodeAt(0));return new Blob([r],{type:n.mimeType||"application/octet-stream"})}return new Blob([n.content??""],{type:n.mimeType||"text/plain;charset=utf-8"})}function ut(t=L()){return ct("/file/status",t)}async function pt(t,e,n=L()){let r=new URLSearchParams({query:t});return e?.type&&r.set("type",e.type),e?.limit&&r.set("limit",String(e.limit)),ct(`/find/file?${r.toString()}`,n)}async function dt(t,e=L()){return(await ct(`/find?pattern=${encodeURIComponent(t)}`,e)).map(r=>({path:typeof r.path=="string"?r.path:r.path?.text??"",lines:typeof r.lines=="string"?r.lines:r.lines?.text??"",line_number:r.line_number,absolute_offset:r.absolute_offset,submatches:(r.submatches??[]).map(s=>({start:s.start,end:s.end}))}))}var Oe=[400,1200],np=t=>t===408||t===429||t===502||t===503||t===504,Es=t=>new Promise(e=>setTimeout(e,t));function rp(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var mr=3e4,sp=15*6e4,ip=256;function op(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return mr;let e=mr+t/ip;return Math.min(sp,Math.max(mr,Math.round(e)))}async function ap(t){let e=await t.text().catch(()=>""),n=null;try{n=e?JSON.parse(e):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(t.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(e)?t.status===502||/bad gateway/i.test(e)?"Bad gateway while reaching the sandbox upload service. Please retry.":t.statusText||`HTTP ${t.status}`:e.replace(/\s+/g," ").trim().slice(0,500)||t.statusText||`HTTP ${t.status}`}async function Us(t,e){let n;for(let s=0;s<=Oe.length;s++){let c;try{c=await e(t())}catch(p){if(n=p,rp(p)||s===Oe.length)break;await Es(Oe[s]);continue}if(c.ok)return c.json();let u=await ap(c);if(n=new R(`Upload failed (${c.status}): ${u}`,{status:c.status,response:c}),!np(c.status)||s===Oe.length)throw n;await Es(Oe[s])}if(n instanceof R)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new R(`Upload failed: ${r}`)}function Ge(t,e,n,r=L()){let s=op(t.size);return Us(()=>{let c=new FormData,u=(e??"").trim();return u&&c.append("path",u.startsWith("/")?u:`/${u}`),n?c.append("file",t,n):c.append("file",t),c},c=>q(`${r}/file/upload`,{method:"POST",body:c},{timeoutMs:s}))}function cp(t,e,n=L()){return Us(()=>{let r=new FormData;return r.append(t,e,t.split("/").pop()||"file"),r},async r=>{let s={},c=await _e();return c&&(s.Authorization=`Bearer ${c}`),fetch(`${n}/file/upload`,{method:"POST",body:r,headers:s})})}function gt(t,e=L()){let n=t.trim(),s=(n.startsWith("/")?n:`/${n}`).split("/"),c=s.pop()||"untitled",u=s.join("/")||"/workspace";return Ge(new File([" "],c,{type:"application/octet-stream"}),u,void 0,e)}async function mt(t,e,n=L()){return cp(e,await Le(t,n),n)}async function ft(t,e=L()){let n=await q(`${e}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new R(`Delete failed (${n.status}): ${await Re(n)}`,{status:n.status,response:n});return n.json()}async function yt(t,e=L()){let n=await q(`${e}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new R(`Mkdir failed (${n.status}): ${await Re(n)}`,{status:n.status,response:n});return n.json()}async function ht(t,e,n=L()){let r=await q(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:t,to:e})});if(!r.ok)throw new R(`Rename failed (${r.status}): ${await Re(r)}`,{status:r.status,response:r});return r.json()}async function Os(){return $s(await pe().project.current())}async function yr(){return $s(await pe().global.health())}async function Fs(){try{return(await yr()).healthy===!0}catch{return!1}}var lp={list:lt,read:Fe,readBlob:Le,status:ut,findFiles:pt,findText:dt,upload:Ge,create:gt,copy:mt,remove:ft,mkdir:yt,rename:ht,currentProject:Os,health:yr,isReachable:Fs,toDaemonPath:Te,toSandboxAbsolutePath:Ds,toWorkspaceRelative:Ms};var Z=()=>$().backendUrl||"",pp="feature_not_supported",dp="model_not_servable",gp="provision_in_flight",Gs="request_deadline",mp=/^Request exceeded the \d+s server processing deadline$/,fp=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===Gs||mp.test(n),yp=t=>new Promise(e=>setTimeout(e,t)),hp=new Set([502,503,504]),bp=t=>hp.has(t),xp=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},_p=2,Ls=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),bt=!1;function Fy(t){bt=t}function Ly(){return bt}async function de(t,e={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...c}=e,u=new AbortController,p=null,g=!1,f=!1;try{p=setTimeout(()=>{!g&&!u.signal.aborted&&(g=!0,f=!0,u.abort())},s);let m=await ne(),_=c.body instanceof FormData,x={};_||(x["Content-Type"]="application/json"),Object.assign(x,c.headers);let I=nt($().clientSource),T=Object.keys(x).some(v=>v.toLowerCase()==="x-kortix-client");if(I&&!T&&(x["X-Kortix-Client"]=I),bt&&(x["x-kortix-admin-bypass"]="1"),m)x.Authorization=`Bearer ${m}`;else return{error:new ke,success:!1};let l=xp(c.method),h=l?_p+1:1,a;for(let v=0;v<h;v++){v>0&&await yp(250*2**(v-1));let k=v===0?u:new AbortController;v>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{a=await($().fetch??fetch)(t,{...c,headers:x,signal:k.signal,credentials:c.credentials??"omit"})}catch(w){if(p&&(clearTimeout(p),p=null),Ls(w)||v===h-1)throw w;continue}if(p&&(clearTimeout(p),p=null),!(l&&bp(a.status)&&v<h-1))break;try{await a.arrayBuffer()}catch{}}if(!a.ok){let v=`HTTP ${a.status}: ${a.statusText}`,k=null;try{k=await a.json(),typeof k.reason=="string"?v=k.reason:typeof k.message=="string"?v=k.message:k.error&&typeof k.error=="string"?v=k.error:typeof k.detail=="string"?v=k.detail:typeof k.detail?.message=="string"&&(v=k.detail.message)}catch{}let E=fp(a.status,k,v),w=new R(v,{status:a.status,response:a,details:k||void 0,data:k,detail:k?.detail,code:E?Gs:k?.code||k?.error_code||k?.detail?.error_code||a.status.toString()});if(a.status===402&&(w=Se(w)),a.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}a.status===431&&(w=new we(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let F=a.status===501&&k?.code===pp,K=a.status===409&&k?.code===dp,y=a.status===409&&k?.code===gp;return n&&!F&&!K&&!y&&!E&&$().onError?.(w,r),{error:w,success:!1}}let A,j=a.headers.get("content-type");return j?.includes("application/json")?A=await a.json():j?.includes("text/")?A=await a.text():A=await a.blob(),{data:A,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let _=Ls(m);_&&(g=!0);let x;if(_){if(!f)return{error:new R("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let I=t.replace(Z(),"")||t;x=new R(`Request timed out after ${Math.round(s/1e3)}s: ${I}`,{code:"TIMEOUT",url:t,endpoint:I,timeout:s})}else m instanceof Error?(x=new R(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new R(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var Gy={async execute(t,e){try{let{data:n,error:r}=await t();if(r){let s=new R(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,e),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new R(n.message,{name:n.name||"ApiError",stack:n.stack}):new R(String(n));return $().onError?.(r,e),{error:r,success:!1}}}};async function Pp(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,c=await ne(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=nt($().clientSource);p&&(u["X-Kortix-Client"]=p),bt&&(u["x-kortix-admin-bypass"]="1"),c&&(u.Authorization=`Bearer ${c}`);let g=new AbortController,f=setTimeout(()=>g.abort(),r);try{return await s(`${Z()}${t}`,{method:"POST",headers:u,body:JSON.stringify(e),signal:g.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(t,e)=>de(`${Z()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>de(`${Z()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>de(`${Z()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>de(`${Z()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>de(`${Z()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],de(`${Z()}${t}`,{...s,method:"POST",body:e,headers:c})},uploadPut:(t,e,n)=>{let{headers:r,...s}=n||{},c={...r};return delete c["Content-Type"],de(`${Z()}${t}`,{...s,method:"PUT",body:e,headers:c})},postStream:Pp};function o(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function hr(t){return t.replace(/\/v1\/?$/,"")}async function Ae(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=hr(t.backendUrl);try{let r=await fetch(`${n}${e}`,{headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(t.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Bs(){return o(await i.get("/accounts"))}async function Ks(t){return o(await i.post("/accounts",t))}async function Hs(t){return o(await i.get(`/accounts/${t}`))}async function Ns(t,e){return o(await i.patch(`/accounts/${t}`,{name:e}))}async function Ws(t){return o(await i.get(`/accounts/${t}/members`))}async function zs(t,e){return o(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function Vs(t){return o(await i.get(`/accounts/${t}/invites`))}async function Js(t,e){return o(await i.delete(`/accounts/${t}/invites/${e}`))}async function Xs(t,e){return o(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function Qs(t){return o(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function Ys(t){return o(await i.post(`/account-invites/${t}/accept`,{}))}async function Zs(t){return o(await i.post(`/account-invites/${t}/decline`,{}))}async function ei(t,e){return o(await i.delete(`/accounts/${t}/members/${e}`))}async function ti(t,e,n){return o(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function ni(t){return o(await i.post(`/accounts/${t}/leave`,{}))}async function zy(t){return Ae(t,"/v1/accounts")}async function ri(){let t=await i.get("/accounts/me",{showErrors:!1});return!t.success||!t.data?{valid:!1,error:t.error}:{valid:!0,identity:t.data}}var Qy=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","voice","llm_gateway","review_center","meta_agent","apps"];async function Ie(){return o(await i.get("/projects"))}async function ii(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/projects${e}`))}async function br(t,e){return o(await i.get(`/projects/${t}`,e))}async function oi(t,e,n="write"){return o(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function ai(t,e){return o(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function ci(t){return o(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function Yy(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function xr(t,e){let n=o(await i.get(`/projects/${t}/detail`,{showErrors:!1,...e}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function _r(t,e){return o(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function Pr(t,e){return o(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function Zy(t,e){return o(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function li(t){return o(await i.post("/projects",t))}async function ui(t){return o(await i.post("/projects/create-repo",t))}async function pi(t,e={}){return o(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var si=200;function kp(t){let e=t.split(`
5
+ `);A=S.pop()??"";for(let N of S){let X=N.split(`
6
+ `),U=[],B;for(let M of X)if(M.startsWith("data:"))U.push(M.replace(/^data:\s*/,""));else if(M.startsWith("event:"))B=M.replace(/^event:\s*/,"");else if(M.startsWith("id:"))b=M.replace(/^id:\s*/,"");else if(M.startsWith("retry:")){let Q=Number.parseInt(M.replace(/^retry:\s*/,""),10);Number.isNaN(Q)||(C=Q)}let F,H=!1;if(U.length){let M=U.join(`
7
+ `);try{F=JSON.parse(M),H=!0}catch{F=M}}H&&(s&&await s(F),r&&(F=await r(F))),n?.({data:F,event:B,id:b,retry:C}),U.length&&(yield F)}}}finally{y.removeEventListener("abort",z),j.releaseLock()}break}catch(R){if(e?.(R),u!==void 0&&l>=u)break;let T=Math.min(C*2**(l-1),p??3e4);await x(T)}}}()}};var gp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},mp=t=>{switch(t){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},fp=t=>{switch(t){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},rt=({allowReserved:t,explode:e,name:n,style:r,value:s})=>{if(!e){let p=(t?s:s.map(d=>encodeURIComponent(d))).join(mp(r));switch(r){case"label":return`.${p}`;case"matrix":return`;${n}=${p}`;case"simple":return p;default:return`${n}=${p}`}}let o=gp(r),u=s.map(p=>r==="label"||r==="simple"?t?p:encodeURIComponent(p):ke({allowReserved:t,name:n,value:p})).join(o);return r==="label"||r==="matrix"?o+u:u},ke=({allowReserved:t,name:e,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${t?n:encodeURIComponent(n)}`},st=({allowReserved:t,explode:e,name:n,style:r,value:s,valueOnly:o})=>{if(s instanceof Date)return o?s.toISOString():`${n}=${s.toISOString()}`;if(r!=="deepObject"&&!e){let d=[];Object.entries(s).forEach(([m,b])=>{d=[...d,m,t?b:encodeURIComponent(b)]});let f=d.join(",");switch(r){case"form":return`${n}=${f}`;case"label":return`.${f}`;case"matrix":return`;${n}=${f}`;default:return f}}let u=fp(r),p=Object.entries(s).map(([d,f])=>ke({allowReserved:t,name:r==="deepObject"?`${n}[${d}]`:d,value:f})).join(u);return r==="label"||r==="matrix"?u+p:p};var yp=/\{[^{}]+\}/g,hp=({path:t,url:e})=>{let n=e,r=e.match(yp);if(r)for(let s of r){let o=!1,u=s.substring(1,s.length-1),p="simple";u.endsWith("*")&&(o=!0,u=u.substring(0,u.length-1)),u.startsWith(".")?(u=u.substring(1),p="label"):u.startsWith(";")&&(u=u.substring(1),p="matrix");let d=t[u];if(d==null)continue;if(Array.isArray(d)){n=n.replace(s,rt({explode:o,name:u,style:p,value:d}));continue}if(typeof d=="object"){n=n.replace(s,st({explode:o,name:u,style:p,value:d,valueOnly:!0}));continue}if(p==="matrix"){n=n.replace(s,`;${ke({name:u,value:d})}`);continue}let f=encodeURIComponent(p==="label"?`.${d}`:d);n=n.replace(s,f)}return n},ps=({baseUrl:t,path:e,query:n,querySerializer:r,url:s})=>{let o=s.startsWith("/")?s:`/${s}`,u=(t??"")+o;e&&(u=hp({path:e,url:u}));let p=n?r(n):"";return p.startsWith("?")&&(p=p.substring(1)),p&&(u+=`?${p}`),u};function zt(t){let e=t.body!==void 0;if(e&&t.bodySerializer)return"serializedBody"in t?t.serializedBody!==void 0&&t.serializedBody!==""?t.serializedBody:null:t.body!==""?t.body:null;if(e)return t.body}var ds=async(t,e)=>{let n=typeof e=="function"?await e(t):e;if(n)return t.scheme==="bearer"?`Bearer ${n}`:t.scheme==="basic"?`Basic ${btoa(n)}`:n};var Vt={bodySerializer:t=>JSON.stringify(t,(e,n)=>typeof n=="bigint"?n.toString():n)};var gs=({parameters:t={},...e}={})=>r=>{let s=[];if(r&&typeof r=="object")for(let o in r){let u=r[o];if(u==null)continue;let p=t[o]||e;if(Array.isArray(u)){let d=rt({allowReserved:p.allowReserved,explode:!0,name:o,style:"form",value:u,...p.array});d&&s.push(d)}else if(typeof u=="object"){let d=st({allowReserved:p.allowReserved,explode:!0,name:o,style:"deepObject",value:u,...p.object});d&&s.push(d)}else{let d=ke({allowReserved:p.allowReserved,name:o,value:u});d&&s.push(d)}}return s.join("&")},ms=t=>{if(!t)return"stream";let e=t.split(";")[0]?.trim();if(e){if(e.startsWith("application/json")||e.endsWith("+json"))return"json";if(e==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(n=>e.startsWith(n)))return"blob";if(e.startsWith("text/"))return"text"}},bp=(t,e)=>e?!!(t.headers.has(e)||t.query?.[e]||t.headers.get("Cookie")?.includes(`${e}=`)):!1,fs=async({security:t,...e})=>{for(let n of t){if(bp(e,n.name))continue;let r=await ds(n,e.auth);if(!r)continue;let s=n.name??"Authorization";switch(n.in){case"query":e.query||(e.query={}),e.query[s]=r;break;case"cookie":e.headers.append("Cookie",`${s}=${r}`);break;default:e.headers.set(s,r);break}}},Jt=t=>ps({baseUrl:t.baseUrl,path:t.path,query:t.query,querySerializer:typeof t.querySerializer=="function"?t.querySerializer:gs(t.querySerializer),url:t.url}),Xt=(t,e)=>{let n={...t,...e};return n.baseUrl?.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=it(t.headers,e.headers),n},xp=t=>{let e=[];return t.forEach((n,r)=>{e.push([r,n])}),e},it=(...t)=>{let e=new Headers;for(let n of t){if(!n)continue;let r=n instanceof Headers?xp(n):Object.entries(n);for(let[s,o]of r)if(o===null)e.delete(s);else if(Array.isArray(o))for(let u of o)e.append(s,u);else o!==void 0&&e.set(s,typeof o=="object"?JSON.stringify(o):o)}return e},Me=class{fns=[];clear(){this.fns=[]}eject(e){let n=this.getInterceptorIndex(e);this.fns[n]&&(this.fns[n]=null)}exists(e){let n=this.getInterceptorIndex(e);return!!this.fns[n]}getInterceptorIndex(e){return typeof e=="number"?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,n){let r=this.getInterceptorIndex(e);return this.fns[r]?(this.fns[r]=n,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},ys=()=>({error:new Me,request:new Me,response:new Me}),_p=gs({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),Pp={"Content-Type":"application/json"},Oe=(t={})=>({...Vt,headers:Pp,parseAs:"auto",querySerializer:_p,...t});var Ue=(t={})=>{let e=Xt(Oe(),t),n=()=>({...e}),r=f=>(e=Xt(e,f),n()),s=ys(),o=async f=>{let m={...e,...f,fetch:f.fetch??e.fetch??globalThis.fetch,headers:it(e.headers,f.headers),serializedBody:void 0};m.security&&await fs({...m,security:m.security}),m.requestValidator&&await m.requestValidator(m),m.body!==void 0&&m.bodySerializer&&(m.serializedBody=m.bodySerializer(m.body)),(m.body===void 0||m.serializedBody==="")&&m.headers.delete("Content-Type");let b=Jt(m);return{opts:m,url:b}},u=async f=>{let{opts:m,url:b}=await o(f),x={redirect:"follow",...m,body:zt(m)},I=new Request(b,x);for(let k of s.request.fns)k&&(I=await k(I,m));let E=m.fetch,C;try{C=await E(I)}catch(k){let q=k;for(let j of s.error.fns)j&&(q=await j(k,void 0,I,m));if(q=q||{},m.throwOnError)throw q;return m.responseStyle==="data"?void 0:{error:q,request:I,response:void 0}}for(let k of s.response.fns)k&&(C=await k(C,I,m));let l={request:I,response:C};if(C.ok){let k=(m.parseAs==="auto"?ms(C.headers.get("Content-Type")):m.parseAs)??"json";if(C.status===204||C.headers.get("Content-Length")==="0"){let j;switch(k){case"arrayBuffer":case"blob":case"text":j=await C[k]();break;case"formData":j=new FormData;break;case"stream":j=C.body;break;default:j={};break}return m.responseStyle==="data"?j:{data:j,...l}}let q;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":q=await C[k]();break;case"json":{let j=await C.text();q=j?JSON.parse(j):{};break}case"stream":return m.responseStyle==="data"?C.body:{data:C.body,...l}}return k==="json"&&(m.responseValidator&&await m.responseValidator(q),m.responseTransformer&&(q=await m.responseTransformer(q))),m.responseStyle==="data"?q:{data:q,...l}}let y=await C.text(),c;try{c=JSON.parse(y)}catch{}let R=c??y,T=R;for(let k of s.error.fns)k&&(T=await k(R,C,I,m));if(T=T||{},m.throwOnError)throw T;return m.responseStyle==="data"?void 0:{error:T,...l}},p=f=>m=>u({...m,method:f}),d=f=>async m=>{let{opts:b,url:x}=await o(m);return us({...b,body:b.body,headers:b.headers,method:f,onRequest:async(I,E)=>{let C=new Request(I,E);for(let l of s.request.fns)l&&(C=await l(C,b));return C},serializedBody:zt(b),url:x})};return{buildUrl:Jt,connect:p("CONNECT"),delete:p("DELETE"),get:p("GET"),getConfig:n,head:p("HEAD"),interceptors:s,options:p("OPTIONS"),patch:p("PATCH"),post:p("POST"),put:p("PUT"),request:u,setConfig:r,sse:{connect:d("CONNECT"),delete:d("DELETE"),get:d("GET"),head:d("HEAD"),options:d("OPTIONS"),patch:d("PATCH"),post:d("POST"),put:d("PUT"),trace:d("TRACE")},trace:p("TRACE")}};var kp={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},wp=Object.entries(kp),hs=(t,e)=>{e||(e=new Map);for(let n of t)"in"in n?n.key&&e.set(n.key,{in:n.in,map:n.map}):"key"in n?e.set(n.key,{map:n.map}):n.args&&hs(n.args,e);return e},Sp=t=>{for(let[e,n]of Object.entries(t))n&&typeof n=="object"&&!Object.keys(n).length&&delete t[e]},g=(t,e)=>{let n={body:{},headers:{},path:{},query:{}},r=hs(e),s;for(let[o,u]of t.entries())if(e[o]&&(s=e[o]),!!s)if("in"in s)if(s.key){let p=r.get(s.key),d=p.map||s.key;p.in&&(n[p.in][d]=u)}else n.body=u;else for(let[p,d]of Object.entries(u??{})){let f=r.get(p);if(f)if(f.in){let m=f.map||p;n[f.in][m]=d}else n[f.map]=d;else{let m=wp.find(([b])=>p.startsWith(b));if(m){let[b,x]=m;n[x][p.slice(b.length)]=d}else if("allowExtra"in s&&s.allowExtra){for(let[b,x]of Object.entries(s.allowExtra))if(x){n[b][p]=d;break}}}}return Sp(n),n};var bs=Ue(Oe({baseUrl:"http://localhost:4096"}));var _=class{client;constructor(e){this.client=e?.client??bs}},Qt=class{defaultKey="default";instances=new Map;get(e){let n=this.instances.get(e??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(e,n){this.instances.set(n??this.defaultKey,e)}},Yt=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"}]}]);return(n?.client??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return(n?.client??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Zt=class extends _{log(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}agents(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/agent",...n,...r})}skills(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/skill",...n,...r})}},en=class extends _{moveSession(e,n){let r=g([e],[{args:[{in:"body",key:"sessionID"},{in:"body",key:"destination"},{in:"body",key:"moveChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/control-plane/move-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},tn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/capabilities",...n,...r})}},nn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console",...n,...r})}listOrgs(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/console/orgs",...n,...r})}switchOrg(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"accountID"},{in:"body",key:"orgID"}]}]);return(n?.client??this.client).post({url:"/experimental/console/switch",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},rn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"cursor"},{in:"query",key:"search"},{in:"query",key:"limit"},{in:"query",key:"archived"}]}]);return(n?.client??this.client).get({url:"/experimental/session",...n,...r})}background(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/session/{sessionID}/background",...n,...r})}},sn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/resource",...n,...r})}},on=class extends _{generateName(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"context"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/generate-name",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},an=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/adapter",...n,...r})}},cn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"type"},{in:"body",key:"branch"},{in:"body",key:"extra"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}syncList(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/sync-list",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/workspace/status",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/experimental/workspace/{id}",...n,...r})}warp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"id"},{in:"body",key:"sessionID"},{in:"body",key:"copyChanges"}]}]);return(n?.client??this.client).post({url:"/experimental/workspace/warp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_adapter;get adapter(){return this._adapter??=new an({client:this.client})}},ln=class extends _{_controlPlane;get controlPlane(){return this._controlPlane??=new en({client:this.client})}_capabilities;get capabilities(){return this._capabilities??=new tn({client:this.client})}_console;get console(){return this._console??=new nn({client:this.client})}_session;get session(){return this._session??=new rn({client:this.client})}_resource;get resource(){return this._resource??=new sn({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new on({client:this.client})}_workspace;get workspace(){return this._workspace??=new cn({client:this.client})}},un=class extends _{get(e){return(e?.client??this.client).get({url:"/global/config",...e})}update(e,n){let r=g([e],[{args:[{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},pn=class extends _{health(e){return(e?.client??this.client).get({url:"/global/health",...e})}event(e){return(e?.client??this.client).sse.get({url:"/global/event",...e})}dispose(e){return(e?.client??this.client).post({url:"/global/dispose",...e})}upgrade(e,n){let r=g([e],[{args:[{in:"body",key:"target"}]}]);return(n?.client??this.client).post({url:"/global/upgrade",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_config;get config(){return this._config??=new un({client:this.client})}},dn=class extends _{subscribe(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).sse.get({url:"/event",...n,...r})}},gn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"config",map:"body"}]}]);return(n?.client??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}providers(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/config/providers",...n,...r})}},mn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return(n?.client??this.client).get({url:"/experimental/tool",...n,...r})}ids(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/tool/ids",...n,...r})}},fn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeRemoveInput",map:"body"}]}]);return(n?.client??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/experimental/worktree",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeCreateInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reset(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"worktreeResetInput",map:"body"}]}]);return(n?.client??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},yn=class extends _{text(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"pattern"}]}]);return(n?.client??this.client).get({url:"/find",...n,...r})}files(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/find/file",...n,...r})}symbols(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"query"}]}]);return(n?.client??this.client).get({url:"/find/symbol",...n,...r})}},hn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file",...n,...r})}read(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/file/content",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/file/status",...n,...r})}},bn=class extends _{dispose(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/instance/dispose",...n,...r})}},xn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/path",...n,...r})}},_n=class extends _{raw(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/diff/raw",...n,...r})}},Pn=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/vcs/status",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"mode"},{in:"query",key:"context"}]}]);return(n?.client??this.client).get({url:"/vcs/diff",...n,...r})}apply(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"patch"}]}]);return(n?.client??this.client).post({url:"/vcs/apply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_diff;get diff2(){return this._diff??=new _n({client:this.client})}},kn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/command",...n,...r})}},wn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/lsp",...n,...r})}},Sn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/formatter",...n,...r})}},vn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}authenticate(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}},Cn=class extends _{status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/mcp",...n,...r})}add(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return(n?.client??this.client).post({url:"/mcp",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/connect",...n,...r})}disconnect(e,n){let r=g([e],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/mcp/{name}/disconnect",...n,...r})}_auth;get auth(){return this._auth??=new vn({client:this.client})}},Rn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project",...n,...r})}current(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/current",...n,...r})}initGit(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/project/git/init",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return(n?.client??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}directories(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/project/{projectID}/directories",...n,...r})}},Tn=class extends _{shells(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/shells",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}},An=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"answers"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/question/{requestID}/reject",...n,...r})}},In=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/permission",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}respond(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"response"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},En=class extends _{authorize(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"inputs"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}callback(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},jn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider",...n,...r})}auth(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/provider/auth",...n,...r})}_oauth;get oauth(){return this._oauth??=new En({client:this.client})}},$n=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"scope"},{in:"query",key:"path"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"workspaceID"}]}]);return(n?.client??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}status(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/status",...n,...r})}delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"metadata"},{in:"body",key:"permission"},{in:"body",key:"time"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}children(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}diff(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"messageID"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"before"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}deleteMessage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}",...n,...r})}message(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}fork(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}abort(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}init(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unshare(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/share",...n,...r})}summarize(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}promptAsync(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}command(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}shell(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}revert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}unrevert(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}},qn=class extends _{delete(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"part",map:"body"}]}]);return(n?.client??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Dn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/sync/history",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Mn=class extends _{start(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/sync/start",...n,...r})}replay(e,n){let r=g([e],[{args:[{in:"query",key:"query_directory",map:"directory"},{in:"query",key:"workspace"},{in:"body",key:"body_directory",map:"directory"},{in:"body",key:"events"}]}]);return(n?.client??this.client).post({url:"/sync/replay",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}steal(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/sync/steal",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_history;get history(){return this._history??=new Dn({client:this.client})}},On=class extends _{next(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).get({url:"/tui/control/next",...n,...r})}response(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Un=class extends _{appendPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"text"}]}]);return(n?.client??this.client).post({url:"/tui/append-prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}openHelp(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-help",...n,...r})}openSessions(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-sessions",...n,...r})}openThemes(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-themes",...n,...r})}openModels(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/open-models",...n,...r})}submitPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/submit-prompt",...n,...r})}clearPrompt(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"}]}]);return(n?.client??this.client).post({url:"/tui/clear-prompt",...n,...r})}executeCommand(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"command"}]}]);return(n?.client??this.client).post({url:"/tui/execute-command",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}showToast(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return(n?.client??this.client).post({url:"/tui/show-toast",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}publish(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{key:"body",map:"body"}]}]);return(n?.client??this.client).post({url:"/tui/publish",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}selectSession(e,n){let r=g([e],[{args:[{in:"query",key:"directory"},{in:"query",key:"workspace"},{in:"body",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/tui/select-session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}_control;get control(){return this._control??=new On({client:this.client})}},Fn=class extends _{get(e){return(e?.client??this.client).get({url:"/api/health",...e})}},Ln=class extends _{get(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/location",...n,...r})}},Gn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/agent",...n,...r})}},Bn=class extends _{stage(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"messageID"},{in:"body",key:"files"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/stage",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}clear(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/clear",...n,...r})}commit(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/revert/commit",...n,...r})}},Nn=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/permission",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Kn=class extends _{list(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/question",...n,...r})}reply(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"},{key:"questionV2Reply",map:"body"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}reject(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"requestID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/question/{requestID}/reject",...n,...r})}},Hn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"workspace"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"search"},{in:"query",key:"directory"},{in:"query",key:"project"},{in:"query",key:"subpath"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"body",key:"id"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/session",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}get(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}",...n,...r})}switchAgent(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"agent"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/agent",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}switchModel(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"model"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/model",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}prompt(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"body",key:"id"},{in:"body",key:"prompt"},{in:"body",key:"delivery"},{in:"body",key:"resume"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/prompt",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}compact(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/compact",...n,...r})}wait(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).post({url:"/api/session/{sessionID}/wait",...n,...r})}context(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/context",...n,...r})}messages(e,n){let r=g([e],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"limit"},{in:"query",key:"order"},{in:"query",key:"cursor"}]}]);return(n?.client??this.client).get({url:"/api/session/{sessionID}/message",...n,...r})}_revert;get revert(){return this._revert??=new Bn({client:this.client})}_permission;get permission(){return this._permission??=new Nn({client:this.client})}_question;get question(){return this._question??=new Kn({client:this.client})}},Wn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/model",...n,...r})}},zn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"providerID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/provider/{providerID}",...n,...r})}},Vn=class extends _{key(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"key"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/key",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}oauth(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"},{in:"body",key:"methodID"},{in:"body",key:"inputs"},{in:"body",key:"label"}]}]);return(n?.client??this.client).post({url:"/api/integration/{integrationID}/connect/oauth",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Jn=class extends _{cancel(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/integration/attempt/{attemptID}",...n,...r})}status(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/attempt/{attemptID}",...n,...r})}complete(e,n){let r=g([e],[{args:[{in:"path",key:"attemptID"},{in:"query",key:"location"},{in:"body",key:"code"}]}]);return(n?.client??this.client).post({url:"/api/integration/attempt/{attemptID}/complete",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Xn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"integrationID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/integration/{integrationID}",...n,...r})}_connect;get connect(){return this._connect??=new Vn({client:this.client})}_attempt;get attempt(){return this._attempt??=new Jn({client:this.client})}},Qn=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/credential/{credentialID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"credentialID"},{in:"query",key:"location"},{in:"body",key:"label"}]}]);return(n?.client??this.client).patch({url:"/api/credential/{credentialID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}},Yn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/permission/request",...n,...r})}},Zn=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"projectID"}]}]);return(n?.client??this.client).get({url:"/api/permission/saved",...n,...r})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"id"}]}]);return(n?.client??this.client).delete({url:"/api/permission/saved/{id}",...n,...r})}},er=class extends _{_request;get request(){return this._request??=new Yn({client:this.client})}_saved;get saved(){return this._saved??=new Zn({client:this.client})}},tr=class extends _{read(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/fs/read/*",...n,...r})}list(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"path"}]}]);return(n?.client??this.client).get({url:"/api/fs/list",...n,...r})}find(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"query",key:"query"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return(n?.client??this.client).get({url:"/api/fs/find",...n,...r})}},nr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/command",...n,...r})}},rr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/skill",...n,...r})}},sr=class extends _{subscribe(e){return(e?.client??this.client).sse.get({url:"/api/event",...e})}},ir=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty",...n,...r})}create(e,n){let r=g([e],[{args:[{in:"query",key:"location"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return(n?.client??this.client).post({url:"/api/pty",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}remove(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).delete({url:"/api/pty/{ptyID}",...n,...r})}get(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}",...n,...r})}update(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return(n?.client??this.client).put({url:"/api/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}connectToken(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/api/pty/{ptyID}/connect-token",...n,...r})}connect(e,n){let r=g([e],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"location[directory]"},{in:"query",key:"location[workspace]"},{in:"query",key:"cursor"},{in:"query",key:"ticket"}]}]);return(n?.client??this.client).get({url:"/api/pty/{ptyID}/connect",...n,...r})}},or=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/question/request",...n,...r})}},ar=class extends _{_request;get request(){return this._request??=new or({client:this.client})}},cr=class extends _{list(e,n){let r=g([e],[{args:[{in:"query",key:"location"}]}]);return(n?.client??this.client).get({url:"/api/reference",...n,...r})}},lr=class extends _{remove(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"directory"},{in:"body",key:"force"}]}]);return(n?.client??this.client).delete({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}create(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"},{in:"body",key:"strategy"},{in:"body",key:"directory"},{in:"body",key:"name"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy",...n,...r,headers:{"Content-Type":"application/json",...n?.headers,...r.headers}})}refresh(e,n){let r=g([e],[{args:[{in:"path",key:"projectID"},{in:"query",key:"location"}]}]);return(n?.client??this.client).post({url:"/experimental/project/{projectID}/copy/refresh",...n,...r})}},ur=class extends _{_health;get health(){return this._health??=new Fn({client:this.client})}_location;get location(){return this._location??=new Ln({client:this.client})}_agent;get agent(){return this._agent??=new Gn({client:this.client})}_session;get session(){return this._session??=new Hn({client:this.client})}_model;get model(){return this._model??=new Wn({client:this.client})}_provider;get provider(){return this._provider??=new zn({client:this.client})}_integration;get integration(){return this._integration??=new Xn({client:this.client})}_credential;get credential(){return this._credential??=new Qn({client:this.client})}_permission;get permission(){return this._permission??=new er({client:this.client})}_fs;get fs(){return this._fs??=new tr({client:this.client})}_command;get command(){return this._command??=new nr({client:this.client})}_skill;get skill(){return this._skill??=new rr({client:this.client})}_event;get event(){return this._event??=new sr({client:this.client})}_pty;get pty(){return this._pty??=new ir({client:this.client})}_question;get question(){return this._question??=new ar({client:this.client})}_reference;get reference(){return this._reference??=new cr({client:this.client})}_projectCopy;get projectCopy(){return this._projectCopy??=new lr({client:this.client})}},ot=class t extends _{static __registry=new Qt;constructor(e){super(e),t.__registry.set(this,e?.key)}_auth;get auth(){return this._auth??=new Yt({client:this.client})}_app;get app(){return this._app??=new Zt({client:this.client})}_experimental;get experimental(){return this._experimental??=new ln({client:this.client})}_global;get global(){return this._global??=new pn({client:this.client})}_event;get event(){return this._event??=new dn({client:this.client})}_config;get config(){return this._config??=new gn({client:this.client})}_tool;get tool(){return this._tool??=new mn({client:this.client})}_worktree;get worktree(){return this._worktree??=new fn({client:this.client})}_find;get find(){return this._find??=new yn({client:this.client})}_file;get file(){return this._file??=new hn({client:this.client})}_instance;get instance(){return this._instance??=new bn({client:this.client})}_path;get path(){return this._path??=new xn({client:this.client})}_vcs;get vcs(){return this._vcs??=new Pn({client:this.client})}_command;get command(){return this._command??=new kn({client:this.client})}_lsp;get lsp(){return this._lsp??=new wn({client:this.client})}_formatter;get formatter(){return this._formatter??=new Sn({client:this.client})}_mcp;get mcp(){return this._mcp??=new Cn({client:this.client})}_project;get project(){return this._project??=new Rn({client:this.client})}_pty;get pty(){return this._pty??=new Tn({client:this.client})}_question;get question(){return this._question??=new An({client:this.client})}_permission;get permission(){return this._permission??=new In({client:this.client})}_provider;get provider(){return this._provider??=new jn({client:this.client})}_session;get session(){return this._session??=new $n({client:this.client})}_part;get part(){return this._part??=new qn({client:this.client})}_sync;get sync(){return this._sync??=new Mn({client:this.client})}_tui;get tui(){return this._tui??=new Un({client:this.client})}_v2;get v2(){return this._v2??=new ur({client:this.client})}};function _s(t,e,n,r){if(!r?.throwOnError||t instanceof Error)return t;if(typeof t=="object"&&t!==null&&Object.keys(t).length>0){let o=t,u=typeof o.data?.message=="string"&&o.data.message||typeof o.message=="string"&&o.message||typeof o.name=="string"&&o.name||xs(n,e);return new Error(u,{cause:{body:t,status:e?.status}})}if(typeof t=="string"&&t.length>0)return new Error(t,{cause:{body:t,status:e?.status}});let s=e?"(empty response body)":"network error (no response)";return new Error(`opencode server ${xs(n,e)}: ${s}`,{cause:{body:t,status:e?.status}})}function xs(t,e){let n=t?.method??"?",r=t?.url??"?",s=e?.status,o=e?.statusText;return`${n} ${r}${s?" \u2192 "+s:""}${o?" "+o:""}`}function vp(t,e,n){if(t)return e&&(t===e||n&&t===n(e))?e:t}function Cp(t,e){if(t.method!=="GET"&&t.method!=="HEAD")return t;let n=new URL(t.url),r=!1;for(let[o,u]of[["x-opencode-directory","directory"],["x-opencode-workspace","workspace"]]){let p=vp(t.headers.get(o),u==="directory"?e.directory:e.workspace,u==="directory"?encodeURIComponent:void 0);if(p){for(let d of n.pathname.startsWith("/api/")?[u,`location[${u}]`]:[u])n.searchParams.has(d)||n.searchParams.set(d,p);r=!0}}if(!r)return t;let s=new Request(n,t);return s.headers.delete("x-opencode-directory"),s.headers.delete("x-opencode-workspace"),s}function pr(t){t?.fetch||(t={...t,fetch:r=>(r.timeout=!1,fetch(r))}),t?.directory&&(t.headers={...t.headers,"x-opencode-directory":encodeURIComponent(t.directory)}),t?.experimental_workspaceID&&(t.headers={...t.headers,"x-opencode-workspace":t.experimental_workspaceID});let e=Ue(t);return e.interceptors.request.use(n=>Cp(n,{directory:t?.directory,workspace:t?.experimental_workspaceID})),e.interceptors.response.use(n=>{if(n.headers.get("content-type")==="text/html")throw new Error("Request is not supported by this version of OpenCode Server (Server responded with text/html)");return n}),e.interceptors.error.use(_s),new ot({client:e})}var Rp=new Set(["api","cli","mobile","web"]);function at(t){let e=t?.trim().toLowerCase();return e&&Rp.has(e)?e:null}function Tp(t){return new Promise(e=>setTimeout(e,t))}async function Ps(t,e,n){let r=Math.max(1,e?.attempts??1),s=e?.baseDelayMs??0,o=e?.invalidateBetweenAttempts??!1,u=null;for(let p=0;p<r;p++)if(p>0&&(o&&n?.(),s>0&&await Tp(s)),u=await t(),u)return u;return u}var Ap=3e4;function Ip(t){return(t instanceof Request?t.url:String(t)).includes("/global/event")}function dr(t,e,n=Ap){let r=t instanceof Request?t.signal:e?.signal;if(Ip(t))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function gr(t,e,n,r){let s=new Headers(t instanceof Request?t.headers:void 0);e?.headers&&new Headers(e.headers).forEach((u,p)=>{s.set(p,u)}),n&&!s.has("Authorization")&&s.set("Authorization",`Bearer ${n}`);let o=at(r);return o&&!s.has("X-Kortix-Client")&&s.set("X-Kortix-Client",o),s}function ks(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}async function mr(){return $().getToken()}async function re(t){return Ps(()=>$().getToken(),t,ct)}function ct(){}function Qf(t){}function Yf(t){}async function lt(){return mr()}async function ws(t){return re(t)}function Ss(t,e,n,r){let s=$().fetch??fetch;if(t instanceof Request){let o=new Request(t,{headers:n,...r?{signal:r}:{}});return s(o)}return s(t,{...e,headers:n,...r?{signal:r}:{}})}async function D(t,e,n){let{retryOnAuthError:r=!0,timeoutMs:s}=n??{},o=await ws();if(!o)return ks();let u=$().clientSource,p=gr(t,e,o,u),d=s===void 0?dr(t,e):dr(t,e,s),f=await Ss(t,e,p,d);if(f.status===401&&r&&o){ct();let m=await ws({attempts:2,baseDelayMs:200});if(m&&m!==o){let b=gr(t,e,m,u);return Ss(t,e,b,d)}}return f}var we={url:null,sandboxId:null,dbSandboxId:null,version:0},Ep=new Set;function vs(t,e=null,n=null){if(!(we.url===t&&we.sandboxId===e&&we.dbSandboxId===n)){we={url:t,sandboxId:e,dbSandboxId:n,version:we.version+1};for(let r of Ep)r()}}function Cs(){return we.url}function jp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function pe(){return jp($().backendUrl||"http://localhost:8008/v1")}function Rs(){let t=$().sandboxId;return t?`${pe()}/p/${t}/8000`:""}function $p(t){return`${pe()}/p/${t}/8000`}function ut(t){return $p(t)}function de(){let t=Cs();return t||($().billingEnabled??!1?"":Rs())}var v=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(e,n={}){super(e),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let u=typeof e=="string"?e:e==null?"":String(e);Object.defineProperty(this,"message",{value:u,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},Se=class extends v{constructor(e="Not authenticated"){super(e,{code:"NO_SESSION"}),this.name="AuthError"}},ge=class t extends Error{status;detail;constructor(e,n,r){super(r||n.message||`Billing Error: ${e}`),this.name="BillingError",this.status=e,this.detail=n,Object.setPrototypeOf(this,t.prototype)}},ve=class t extends Error{status;detail;constructor(e=431,n,r){let s="Request headers are too large",o="Try uploading files one at a time, or reduce the number of files in a single request.";super(r||n?.message||s),this.name="RequestTooLargeError",this.status=e,this.detail={message:n?.message||s,suggestion:n?.suggestion||o},Object.setPrototypeOf(this,t.prototype)}},fr="feature_disabled";function Ts(t){if(!(t instanceof v)||t.status!==403||t.code!==fr)return null;let e=t.details??t.data;return e&&typeof e=="object"?e:{}}function As(t){let e=Ts(t);return e?(typeof e.feature=="string"&&!t.feature&&(t.feature=e.feature),!0):!1}function Is(t){let e=Ts(t);if(!e)return null;let n=t.feature;return typeof n=="string"?n:typeof e.feature=="string"?e.feature:null}function Ce(t){let e=t.response?.status||t.status;if(e!==402)return t;let n=t.response?.data||t.data||t.detail||{},r=n?.detail||n;return new ge(e,{message:r?.message||t.message||"Billing error",...r})}function Es(t){return t instanceof ge}function js(t){if(!(t instanceof ge))return null;let e=t.detail?.message?.toLowerCase()||"";return e.includes("credit")||e.includes("balance")||e.includes("insufficient")?{alertTitle:"You ran out of credits",alertSubtitle:"Upgrade your plan to get more credits and continue using the AI assistant."}:{alertTitle:"Billing check failed",alertSubtitle:t.detail?.message||"Please upgrade to continue."}}async function yr(t,e){return(await t.json().catch(()=>({})))?.error||t.statusText||e}function hr(t){if(!t)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return t}async function $s(t){let e=hr(t),n=await D(`${e}/env`);if(!n.ok)throw new Error(await yr(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function qs(t,e,n){let r=hr(t),s=await D(`${r}/env/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await yr(s,"Failed to save secret"))}async function Ds(t,e){let n=hr(t),r=await D(`${n}/env/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await yr(r,"Failed to delete secret"))}var qp={list:$s,set:qs,delete:Ds};async function Dp(t,e,n){let r=t;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await D(`${r}/kortix/triggers${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}}),o=await s.json();if(!s.ok)throw new Error(o?.error||o?.message||`Request failed with ${s.status}`);return o}function Re(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return e===t.length?t:t.slice(0,e)}async function pt(t,e){let n=await t.json().catch(()=>({}));return n?.error||n?.message||t.statusText||e}function Fe(t){if(!t)throw new Error("[kortix-pty] Server URL not ready \u2014 sandbox is still loading");return Re(t)}async function Ms(t){let e=Fe(t),n=await D(`${e}/kortix/pty`);if(!n.ok)throw new Error(await pt(n,"Failed to list terminals"));return n.json()}async function Os(t,e){let n=Fe(t),r=await D(`${n}/kortix/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e??{})});if(!r.ok)throw new Error(await pt(r,"Failed to create terminal"));return r.json()}async function Us(t,e,n){let r=Fe(t),s=await D(`${r}/kortix/pty/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await pt(s,"Failed to update terminal"));return s.json()}async function Fs(t,e){let n=Fe(t),r=await D(`${n}/kortix/pty/${encodeURIComponent(e)}`,{method:"DELETE"});if(!r.ok)throw new Error(await pt(r,"Failed to remove terminal"))}async function Ls(t,e){let n=Fe(e),s=`${(()=>{try{let p=new URL(n);return p.protocol==="https:"?p.protocol="wss:":p.protocol==="http:"&&(p.protocol="ws:"),typeof window<"u"&&window.location.protocol==="https:"&&p.protocol==="ws:"&&(p.protocol="wss:"),Re(p.toString())}catch{return n.replace("https://","wss://").replace("http://","ws://")}})()}/kortix/pty/${encodeURIComponent(t)}/connect`,o=await lt();if(!o)return s;let u=s.includes("?")?"&":"?";return`${s}${u}token=${encodeURIComponent(o)}`}var Mp={list:Ms,create:Os,update:Us,remove:Fs,webSocketUrl:Ls};async function w(t,e,n,r){let s=t;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await D(`${s}${e}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),u=await o.text(),p={};try{p=u?JSON.parse(u):{}}catch{p={}}if(!o.ok)throw new Error(p?.error||p?.message||p?.details||u.slice(0,200)||`Request failed with ${o.status}`);return p}async function xy(t,e={}){let n=new URLSearchParams;e.projectId&&n.set("project_id",e.projectId),e.status&&n.set("status",e.status);let r=n.toString()?`?${n}`:"";return w(t,`/kortix/tasks${r}`)}async function _y(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`)}async function Py(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/events`)}async function ky(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/status`)}async function wy(t,e){return w(t,"/kortix/tasks",{method:"POST",body:JSON.stringify(e)})}async function Sy(t,e,n){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function vy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/start`,{method:"POST"})}async function Cy(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}/approve`,{method:"POST"})}async function Ry(t,e){return w(t,`/kortix/tasks/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Ty(t,e){let n=e?`?project_id=${encodeURIComponent(e)}`:"";return w(t,`/kortix/tickets${n}`)}async function Ay(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`)}async function Iy(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/events`)}async function Ey(t,e){return w(t,"/kortix/tickets",{method:"POST",body:JSON.stringify(e)})}async function jy(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function $y(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/status`,{method:"POST",body:JSON.stringify(n)})}async function qy(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Dy(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function My(t,e,n){return w(t,`/kortix/tickets/${encodeURIComponent(e)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function Oy(t,e){return w(t,`/kortix/tickets/${encodeURIComponent(e)}`,{method:"DELETE"})}async function Uy(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`)}async function Fy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Ly(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`)}async function Gy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function By(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`)}async function Ny(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function Ky(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/pm-session`,{method:"POST"})}async function Hy(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`)}async function Wy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function zy(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Vy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Jy(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/agents/${encodeURIComponent(n)}/persona`)}async function Xy(t,e,n=200){return w(t,`/kortix/projects/${encodeURIComponent(e)}/activity?limit=${n}`)}async function Qy(t){return w(t,"/kortix/projects")}async function Yy(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`)}async function Zy(t,e){return w(t,`/kortix/projects/by-session/${encodeURIComponent(e)}`)}async function eh(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/sessions`)}async function th(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"DELETE"})}async function nh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}async function rh(t,e,n="all"){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones?status=${n}`)}async function sh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`)}async function ih(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/events`)}async function oh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function ah(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function ch(t,e,n,r){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function lh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function uh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function ph(t,e){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`)}async function dh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}/events`)}async function gh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function mh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`)}async function fh(t,e,n){return w(t,`/kortix/projects/${encodeURIComponent(e)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Op=1e4,Up={retryOnAuthError:!1};function Te(t,e,n){return w(t,e,{signal:AbortSignal.timeout(Op),...n},Up)}async function yh(t,e=!1){return(await Te(t,`/kortix/services${e?"?all=true":""}`)).services??[]}async function hh(t){return(await Te(t,"/kortix/services/templates")).templates??[]}async function bh(t,e){return(await Te(t,`/kortix/services/${encodeURIComponent(e)}/logs`)).logs??[]}async function xh(t,e,n){let r=n==="delete",s=r?`/kortix/services/${encodeURIComponent(e)}`:`/kortix/services/${encodeURIComponent(e)}/${n}`;return Te(t,s,{method:r?"DELETE":"POST"})}async function _h(t,e){return Te(t,`/kortix/services/reconcile${e?"?reload=true":""}`,{method:"POST"})}async function Ph(t,e){return Te(t,"/kortix/services/register",{method:"POST",body:JSON.stringify(e)})}var dt=new Map,Le=class extends Error{constructor(e="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(e),this.name="RuntimeNotReadyError"}};function me(){let t=de();if(!t)throw new Le;return se(t)}function se(t){if(!t)throw new Error("[opencode-sdk] getClientForUrl called without a url");let e=dt.get(t);if(e)return e;if(!Wt())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureKortix()/createKortix() before talking to a sandbox runtime.");let n=pr({baseUrl:t,fetch:D});return dt.set(t,n),n}function Th(t){dt.delete(t)}function Ah(){dt.clear()}var gt=new Map;function Ih(t){if(!t)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let e=gt.get(t);if(e)return e;let n=pr({baseUrl:t,fetch});return gt.set(t,n),n}function Eh(t){gt.delete(t)}function jh(){gt.clear()}async function Fp(t){let e=await t.text().catch(()=>"");try{let n=JSON.parse(e);return n?.error||n?.message||e||t.statusText||`HTTP ${t.status}`}catch{return e||t.statusText||`HTTP ${t.status}`}}async function $h(t){let e=de();if(!e)throw new v("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=t==="full"?"/kortix/refresh":"/global/dispose",r=await D(`${e}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new v(`System reload failed (${r.status}): ${await Fp(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new v(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let u;try{u=await r.json()}catch(d){throw new v(`System reload returned malformed JSON from ${n}: ${d instanceof Error?d.message:String(d)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let p=u===!0||typeof u=="object"&&u!==null&&u.ok===!0;return{success:p,mode:t,steps:p?[t==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:p?[]:[`the sandbox did not confirm the reload (${n})`]}}function Bs(t){if(t.error){let e=t.error,n=e?.data?.message||e?.message||(typeof e?.error=="string"?e.error:null)||"SDK request failed";throw new v(n,{status:e?.response?.status??e?.status,response:e?.response,details:e})}return t.data}async function Ie(t){let e=await t.text().catch(()=>""),n=null;try{n=JSON.parse(e)}catch{}return n?.error||e||t.statusText||`HTTP ${t.status}`}function K(t){let e=(t??de()).trim();if(!e)throw new Le;return e}async function ft(t,e){let n=await D(`${K(e)}${t}`);if(!n.ok)throw new v(await Ie(n),{status:n.status,response:n});return n.json()}var xr=["/workspace","/tmp","/home","/opt"],Lp=xr.filter(t=>t!=="/workspace");function Ns(t){return xr.some(e=>t===e||t.startsWith(`${e}/`))}function mt(t){return Ns(t)?t:`/workspace/${t.replace(/^\/+/,"")}`}function Ee(t){let e=t||"";if(e==="/workspace"||e==="/workspace/")return"";if(e.startsWith("/workspace/"))e=e.slice(11);else if(Lp.some(n=>e===n||e.startsWith(`${n}/`)))return e;for(;e.startsWith("/");)e=e.slice(1);return e}var Ks=Ee;async function yt(t,e){let n=K(e),r=Ee(t)||".";return(await ft(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Be(t,e){let n=K(e),r=Ee(t),s=await D(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new v(await Ie(s),{status:s.status,response:s});return s.json()}async function Gp(t,e,n){let r=K(n),s=Ee(t),o=await D(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new v(await Ie(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new v("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let u=await o.blob();return e&&(!u.type||u.type==="application/octet-stream")?new Blob([u],{type:e}):u}async function Ne(t,e){let n=K(e);try{return await Gp(t,void 0,n)}catch{}let r=await Be(t,n);if(r.encoding==="base64"&&r.content){let s=Uint8Array.from(atob(r.content),o=>o.charCodeAt(0));return new Blob([s],{type:r.mimeType||"application/octet-stream"})}return new Blob([r.content??""],{type:r.mimeType||"text/plain;charset=utf-8"})}async function ht(t){return ft("/file/status",K(t))}async function bt(t,e,n){let r=K(n),s=new URLSearchParams({query:t});return e?.type&&s.set("type",e.type),e?.limit&&s.set("limit",String(e.limit)),ft(`/find/file?${s.toString()}`,r)}async function xt(t,e){let n=K(e);return(await ft(`/find?pattern=${encodeURIComponent(t)}`,n)).map(s=>({path:typeof s.path=="string"?s.path:s.path?.text??"",lines:typeof s.lines=="string"?s.lines:s.lines?.text??"",line_number:s.line_number,absolute_offset:s.absolute_offset,submatches:(s.submatches??[]).map(o=>({start:o.start,end:o.end}))}))}var Ge=[400,1200],Bp=t=>t===408||t===429||t===502||t===503||t===504,Gs=t=>new Promise(e=>setTimeout(e,t));function Np(t){let e=t?.name;return e==="TimeoutError"||e==="AbortError"}var br=3e4,Kp=15*6e4,Hp=256;function Hs(t){if(typeof t!="number"||!Number.isFinite(t)||t<=0)return br;let e=br+t/Hp;return Math.min(Kp,Math.max(br,Math.round(e)))}async function Wp(t){let e=await t.text().catch(()=>""),n=null;try{n=e?JSON.parse(e):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(t.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(e)?t.status===502||/bad gateway/i.test(e)?"Bad gateway while reaching the sandbox upload service. Please retry.":t.statusText||`HTTP ${t.status}`:e.replace(/\s+/g," ").trim().slice(0,500)||t.statusText||`HTTP ${t.status}`}async function Ws(t,e){let n;for(let s=0;s<=Ge.length;s++){let o;try{o=await e(t())}catch(p){if(n=p,Np(p)||s===Ge.length)break;await Gs(Ge[s]);continue}if(o.ok)return o.json();let u=await Wp(o);if(n=new v(`Upload failed (${o.status}): ${u}`,{status:o.status,response:o}),!Bp(o.status)||s===Ge.length)throw n;await Gs(Ge[s])}if(n instanceof v)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new v(`Upload failed: ${r}`)}async function Ke(t,e,n,r){let s=K(r),o=Hs(t.size),u=n||(t instanceof File?t.name:"")||"";return Ws(()=>{let p=new FormData,d=(e??"").trim();return d&&p.append("path",d.startsWith("/")?d:`/${d}`),u&&p.append("filename",u),u?p.append("file",t,u):p.append("file",t),p},p=>D(`${s}/file/upload`,{method:"POST",body:p},{timeoutMs:o}))}function zp(t,e,n){let r=K(n),s=Hs(e.size);return Ws(()=>{let o=new FormData;return o.append(t,e,t.split("/").pop()||"file"),o},o=>D(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}async function _t(t,e){let n=K(e),r=t.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),u=o.pop()||"untitled",p=o.join("/")||"/workspace",d=await He(`${p}/${u}`,new Blob([],{type:"application/octet-stream"}),n);return[{path:d.path,size:d.bytes}]}async function Pt(t,e,n){let r=K(n);return zp(e,await Ne(t,r),r)}function Vp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return t.slice(0,e)}function Jp(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function Xp(t){return t.slice(t.lastIndexOf("/")+1)}function Qp(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();if(t?.getRandomValues){let e=new Uint8Array(8);return t.getRandomValues(e),[...e].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function He(t,e,n){let r=K(n),s=mt(Vp(t.trim())),o=Xp(s);if(!o)throw new v(`writeFile needs a file path, got "${t}"`,{code:"INVALID_PATH"});let u=Jp(s);await We(u,r).catch(()=>{});let p=Qp(),d=await Ke(e,u,`.${o}.kortix-write-${p}`,r),f=d[0]?.path;if(!f)throw new v(`Upload returned no file for ${s}`,{code:"UPLOAD_NO_RESULT"});let m=mt(f),b=`${s}.kortix-write-backup-${p}`,x=!1;try{await fe(s,b,r),x=!0}catch{}try{await fe(m,s,r)}catch(E){throw x&&await fe(b,s,r).catch(()=>{}),await Ae(m,r).catch(()=>{}),E}x&&await Ae(b,r).catch(()=>{});let I=d[0]?.size;return{path:s,bytes:typeof I=="number"?I:e.size}}async function Ae(t,e){let n=await D(`${K(e)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Delete failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function We(t,e){let n=await D(`${K(e)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})});if(!n.ok)throw new v(`Mkdir failed (${n.status}): ${await Ie(n)}`,{status:n.status,response:n});return n.json()}async function fe(t,e,n){let r=await D(`${K(n)}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:t,to:e})});if(!r.ok)throw new v(`Rename failed (${r.status}): ${await Ie(r)}`,{status:r.status,response:r});return r.json()}async function zs(){return Bs(await me().project.current())}async function _r(){return Bs(await me().global.health())}async function Vs(){try{return(await _r()).healthy===!0}catch{return!1}}var Yp={list:yt,read:Be,readBlob:Ne,status:ht,findFiles:bt,findText:xt,upload:Ke,write:He,create:_t,copy:Pt,remove:Ae,mkdir:We,rename:fe,currentProject:zs,health:_r,isReachable:Vs,toDaemonPath:Ee,toSandboxAbsolutePath:mt,toWorkspaceRelative:Ks};var ed="X-Kortix-Impersonate",kr="kortix.impersonation",ye=null,kt=!1,Pr=new Set;function wr(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function td(t,e=Date.now()){if(!t||!t.grantId||!t.accountId)return!1;let n=Date.parse(t.expiresAt);return Number.isFinite(n)&&n>e}function nd(t){if(!t)return null;try{let e=JSON.parse(t);return typeof e?.grantId!="string"||typeof e?.accountId!="string"?null:{grantId:e.grantId,accountId:e.accountId,accountName:typeof e.accountName=="string"?e.accountName:null,expiresAt:typeof e.expiresAt=="string"?e.expiresAt:""}}catch{return null}}function Js(){for(let t of Pr)try{t()}catch{}}function rd(){return kt||(kt=!0,ye=nd(wr()?.getItem(kr)??null)),ye&&!td(ye)?(Xs(),null):ye}function Nh(t){if(kt=!0,!t){Xs();return}ye=t;try{wr()?.setItem(kr,JSON.stringify(t))}catch{}Js()}function Xs(){kt=!0;let t=ye!==null;ye=null;try{wr()?.removeItem(kr)}catch{}t&&Js()}function Kh(t){return Pr.add(t),()=>{Pr.delete(t)}}var sd=/(^|\/)admin\/(api|analytics)(\/|$)/;function id(t){let e=t;if(/^https?:\/\//.test(t))try{e=new URL(t).pathname}catch{e=t}return!sd.test(e)}function Sr(t){if(t!==void 0&&!id(t))return{};let e=rd();return e?{[ed]:e.grantId}:{}}var ee=()=>$().backendUrl||"",od="feature_not_supported",ad="model_not_servable",cd="provision_in_flight",Ys="request_deadline",ld=/^Request exceeded the \d+s server processing deadline$/,ud=(t,e,n)=>t!==503?!1:(typeof e=="object"&&e!==null&&"code"in e?e.code:void 0)===Ys||ld.test(n),pd=t=>new Promise(e=>setTimeout(e,t)),dd=new Set([502,503,504]),gd=t=>dd.has(t),md=t=>{let e=(t??"GET").toUpperCase();return e==="GET"||e==="HEAD"},fd=2,Qs=t=>t?.name==="AbortError"||t?.name==="AbortSignal"||t instanceof Error&&t.message.includes("aborted"),wt=!1;function Qh(t){wt=t}function Yh(){return wt}async function he(t,e={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,...o}=e,u=new AbortController,p=null,d=!1,f=!1;try{p=setTimeout(()=>{!d&&!u.signal.aborted&&(d=!0,f=!0,u.abort())},s);let m=await re(),b=o.body instanceof FormData,x={};b||(x["Content-Type"]="application/json"),Object.assign(x,o.headers);let I=at($().clientSource),E=Object.keys(x).some(T=>T.toLowerCase()==="x-kortix-client");if(I&&!E&&(x["X-Kortix-Client"]=I),wt&&(x["x-kortix-admin-bypass"]="1"),Object.assign(x,Sr(t)),m)x.Authorization=`Bearer ${m}`;else return{error:new Se,success:!1};let C=md(o.method),l=C?fd+1:1,y;for(let T=0;T<l;T++){T>0&&await pd(250*2**(T-1));let k=T===0?u:new AbortController;T>0&&(p=setTimeout(()=>{f=!0,k.abort()},s));try{y=await($().fetch??fetch)(t,{...o,headers:x,signal:k.signal,credentials:o.credentials??"omit"})}catch(j){if(p&&(clearTimeout(p),p=null),Qs(j)||T===l-1)throw j;continue}if(p&&(clearTimeout(p),p=null),!(C&&gd(y.status)&&T<l-1))break;try{await y.arrayBuffer()}catch{}}if(!y.ok){let T=`HTTP ${y.status}: ${y.statusText}`,k=null;try{k=await y.json(),typeof k.message=="string"?T=k.message:k.error&&typeof k.error=="string"?T=k.error:typeof k.detail=="string"?T=k.detail:typeof k.detail?.message=="string"?T=k.detail.message:typeof k.reason=="string"&&(T=k.reason)}catch{}let q=ud(y.status,k,T),j=new v(T,{status:y.status,response:y,details:k||void 0,data:k,detail:k?.detail,code:q?Ys:k?.code||k?.error_code||k?.detail?.error_code||y.status.toString()});if(y.status===402&&(j=Ce(j)),y.status===403&&k?.code==="account_mfa_required"&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent("kortix:mfa-required"))}catch{}y.status===431&&(j=new ve(431,{message:"Request is too large to process",suggestion:"Try uploading files one at a time, or reduce the number of files attached to your message."}));let A=y.status===501&&k?.code===od,z=y.status===409&&k?.code===ad,V=y.status===409&&k?.code===cd;return n&&!A&&!z&&!V&&!q&&$().onError?.(j,r),{error:j,success:!1}}let c,R=y.headers.get("content-type");return R?.includes("application/json")?c=await y.json():R?.includes("text/")?c=await y.text():c=await y.blob(),{data:c,success:!0}}catch(m){p&&(clearTimeout(p),p=null);let b=Qs(m);b&&(d=!0);let x;if(b){if(!f)return{error:new v("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let I=t.replace(ee(),"")||t;x=new v(`Request timed out after ${Math.round(s/1e3)}s: ${I}`,{code:"TIMEOUT",url:t,endpoint:I,timeout:s})}else m instanceof Error?(x=new v(m.message,{name:m.name||"ApiError",stack:m.stack}),n&&$().onError?.(x,r)):(x=new v(String(m)),n&&$().onError?.(x,r));return{error:x,success:!1}}}var Zh={async execute(t,e){try{let{data:n,error:r}=await t();if(r){let s=new v(r.message||"Database error",{code:r.code,details:r});return $().onError?.(s,e),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new v(n.message,{name:n.name||"ApiError",stack:n.stack}):new v(String(n));return $().onError?.(r,e),{error:r,success:!1}}}};async function yd(t,e,n={}){let{timeout:r=3e4,fetch:s=fetch}=n,o=await re(),u={Accept:"text/event-stream","Content-Type":"application/json"},p=at($().clientSource);p&&(u["X-Kortix-Client"]=p),wt&&(u["x-kortix-admin-bypass"]="1"),Object.assign(u,Sr(t)),o&&(u.Authorization=`Bearer ${o}`);let d=new AbortController,f=setTimeout(()=>d.abort(),r);try{return await s(`${ee()}${t}`,{method:"POST",headers:u,body:JSON.stringify(e),signal:d.signal,credentials:"omit"})}finally{clearTimeout(f)}}var i={get:(t,e)=>he(`${ee()}${t}`,{...e,method:"GET"}),post:(t,e,n)=>he(`${ee()}${t}`,{...n,method:"POST",body:e?JSON.stringify(e):void 0}),put:(t,e,n)=>he(`${ee()}${t}`,{...n,method:"PUT",body:e?JSON.stringify(e):void 0}),patch:(t,e,n)=>he(`${ee()}${t}`,{...n,method:"PATCH",body:e?JSON.stringify(e):void 0}),delete:(t,e)=>he(`${ee()}${t}`,{...e,method:"DELETE"}),upload:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],he(`${ee()}${t}`,{...s,method:"POST",body:e,headers:o})},uploadPut:(t,e,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],he(`${ee()}${t}`,{...s,method:"PUT",body:e,headers:o})},postStream:yd};function a(t,e="Project request failed"){if(!t.success||t.data===void 0)throw t.error??new Error(e);return t.data}function vr(t){return t.replace(/\/v1\/?$/,"")}async function je(t,e){if(!t.backendUrl||!t.accessToken)return null;let n=vr(t.backendUrl);try{let r=await fetch(`${n}${e}`,{headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(t.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Zs(){return a(await i.get("/accounts"))}async function ei(t){return a(await i.post("/accounts",t))}async function ti(t){return a(await i.get(`/accounts/${t}`))}async function ni(t,e){return a(await i.patch(`/accounts/${t}`,{name:e}))}async function ri(t){return a(await i.get(`/accounts/${t}/members`))}async function si(t,e){return a(await i.post(`/accounts/${t}/members`,e,{showErrors:!1}))}async function ii(t){return a(await i.get(`/accounts/${t}/invites`))}async function oi(t,e){return a(await i.delete(`/accounts/${t}/invites/${e}`))}async function ai(t,e){return a(await i.post(`/accounts/${t}/invites/${e}/resend`,{}))}async function ci(t){return a(await i.get(`/account-invites/${t}`,{showErrors:!1}))}async function li(t){return a(await i.post(`/account-invites/${t}/accept`,{}))}async function ui(t){return a(await i.post(`/account-invites/${t}/decline`,{}))}async function pi(t,e){return a(await i.delete(`/accounts/${t}/members/${e}`))}async function di(t,e,n){return a(await i.patch(`/accounts/${t}/members/${e}`,{role:n}))}async function gi(t){return a(await i.post(`/accounts/${t}/leave`,{}))}async function ib(t){return je(t,"/v1/accounts")}async function mi(){let t=await i.get("/accounts/me",{showErrors:!1});return!t.success||!t.data?{valid:!1,error:t.error}:{valid:!0,identity:t.data}}var lb=["agent_tunnel","marketplace","connectors_api_discover","agentmail_email","teams","voice","llm_gateway","review_center","meta_agent","apps","monitors","network_boundary_shim","warm_sessions"];async function $e(){return a(await i.get("/projects"))}async function yi(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/projects${e}`))}async function Cr(t,e){return a(await i.get(`/projects/${t}`,e))}async function hi(t,e,n="write"){return a(await i.post(`/projects/${t}/git/collaborators`,{github_username:e,permission:n}))}async function bi(t,e){return a(await i.post(`/projects/${t}/manifest/validate`,{raw:e}),"Failed to validate manifest")}async function xi(t){return a(await i.post(`/projects/${t}/git-token`,{}),"Failed to mint git token")}function ub(t){let e=t.metadata?.git;return e?.provider==="github"&&e?.managed===!0}async function Rr(t,e){let n=a(await i.get(`/projects/${t}/detail`,{showErrors:!1,...e}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Tr(t,e){return a(await i.get(`/projects/${t}/llm-catalog`,{showErrors:!1,...e}))}async function Ar(t,e){return a(await i.get(`/projects/${t}/model-picker`,{showErrors:!1,...e}))}async function pb(t,e){return a(await i.get(`/projects/${t}/llm-catalog/providers`,{showErrors:!1,...e}))}async function _i(t){return a(await i.post("/projects",t))}async function Pi(t){return a(await i.post("/projects/create-repo",t))}async function ki(t,e={}){return a(await i.post("/projects/provision",{seed_starter:!0,...t},{timeout:12e4,...e}))}var fi=200;function hd(t){let e=t.split(`
8
8
  `).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(e.length===0)return null;let n=e.join(`
9
- `);try{return JSON.parse(n)}catch(r){let s=n.length>si?`${n.slice(0,si)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function eh(t,e,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...t},n);if(!r.ok){let g=await r.json().catch(()=>null);throw new R(g?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:g?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let c=new TextDecoder,u="",p=null;try{for(;;){let{done:g,value:f}=await s.read();if(g)break;u+=c.decode(f,{stream:!0});let m=u.indexOf(`
9
+ `);try{return JSON.parse(n)}catch(r){let s=n.length>fi?`${n.slice(0,fi)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function db(t,e,n={}){let r=await i.postStream("/projects/provision-stream",{seed_starter:!0,...t},n);if(!r.ok){let d=await r.json().catch(()=>null);throw new v(d?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:d?.code})}let s=r.body?.getReader();if(!s)throw new Error("Provision stream is unavailable on this runtime (no response body)");let o=new TextDecoder,u="",p=null;try{for(;;){let{done:d,value:f}=await s.read();if(d)break;u+=o.decode(f,{stream:!0});let m=u.indexOf(`
10
10
 
11
- `);for(;m!==-1;){let _=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
11
+ `);for(;m!==-1;){let b=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
12
12
 
13
- `);let x=kp(_);if(x){if(e(x),x.type==="error")throw new R(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function th(){try{return o(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function kr(t,e){return o(await i.patch(`/projects/${t}`,e))}async function di(t,e,n){return o(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function gi(t,e,n){return o(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function mi(t,e){return o(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function nh(t,e){return o(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function rh(t,e){return o(await i.patch(`/projects/${t}/warm-pool`,e))}async function fi(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function sh(t,e){return o(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function wr(t){return o(await i.delete(`/projects/${t}`))}async function ih(t,e){return Ae(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function oh(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=hr(t.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...e}),signal:AbortSignal.timeout(t.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function yi(t){return o(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function hi(t){return o(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function bi(t){return o(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function xi(t){return o(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function _i(t,e,n){let r=new URLSearchParams({account_id:t});e&&r.set("installation_id",e);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),o(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Pi(t,e,n){let r=new URLSearchParams({account_id:t,installation_id:e,repo_full_name:n});return o(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function ki(t){return o(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function wi(t){return o(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function Si(t,e){let n=new URLSearchParams({account_id:t});return e&&n.set("installation_id",e),o(await i.delete(`/projects/github/installation?${n.toString()}`))}async function gh(t,e){return o(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function vi(t,e){return o(await i.get(`/projects/${t}/access-requests`,e))}async function Ci(t,e,n="member"){return o(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Ri(t,e){return o(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function Ti(t){return o(await i.get(`/projects/${t}/access`))}async function Ai(t,e,n){return o(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function Ii(t,e){return o(await i.delete(`/projects/${t}/access/${e}`))}function mh(t){return"status"in t&&t.status==="invited"}async function ji(t,e,n,r){return o(await i.post(`/projects/${t}/access/invite`,{email:e,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ei(t){return o(await i.get(`/projects/${t}/access/pending-invites`))}async function $i(t,e){return o(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function qi(t,e){return o(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function Di(t){return o(await i.get(`/projects/${t}/group-grants`))}async function Mi(t,e,n,r){return o(await i.post(`/projects/${t}/group-grants`,r===void 0?{group_id:e,role:n}:{group_id:e,role:n,expires_at:r}))}async function Ui(t,e,n,r){return o(await i.patch(`/projects/${t}/group-grants/${e}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Oi(t,e){return o(await i.delete(`/projects/${t}/group-grants/${e}`))}async function Fi(t){return o(await i.get(`/projects/${t}/resource-grants`))}async function Li(t,e){return o(await i.post(`/projects/${t}/resource-grants`,{resource_type:e.resourceType,resource_id:e.resourceId,principal_type:e.principalType,principal_id:e.principalId,...e.expiresAt!==void 0?{expires_at:e.expiresAt}:{}}))}async function Gi(t,e){return o(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function Bi(t,e){return o(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function Ki(t,e){return o(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function Hi(t,e,n){return o(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function Ni(t){return o(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function Wi(t,e){return o(await i.post(`/projects/${t}/secrets`,e))}async function zi(t,e,n,r={}){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function Vi(t,e,n){return o(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function Ji(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function Xi(t,e,n){return o(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function Qi(t,e){return o(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function Yi(t,e){return o(await i.put(`/projects/${t}/git-credential`,e))}async function Zi(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function eo(t,e,n){return o(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function to(t,e){return o(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function Sr(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function vr(t){return o(await i.get(Sr(t,"catalog"))).connectors??[]}async function xt(t){let e=[];for(let n of await vr(t))for(let r of n.actions)e.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return e}async function no(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),c=[],u=[];for(let p of await xt(t)){let g=`${p.tool} ${p.description}`.toLowerCase();!r||g.includes(r)?c.push(p):s.every(f=>g.includes(f))&&u.push(p)}return[...c,...u].slice(0,n.limit??20)}async function ro(t,e){return(await xt(t)).find(n=>n.tool===e)??null}function wp(t){let e=t.indexOf("."),n=e<0?"":t.slice(0,e).trim(),r=e<0?"":t.slice(e+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function so(t,e,n={}){let{connector:r,action:s}=wp(e);return o(await i.post(Sr(t,"call"),{connector:r,action:s,args:n}))}function Sp(t,e){if(t&&typeof t=="object"){let n=t;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${e}`}function vp(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e-=1;return e===t.length?t:t.slice(0,e)}async function io(t,e,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let c={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(c["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=vp($().backendUrl),p=Sr(t,"attachments"),g=await q(`${u}${p}`,{method:"POST",headers:c,body:e},{timeoutMs:6e4}),f=await g.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!g.ok)throw new R(Sp(m,g.status),{status:g.status,code:String(m&&typeof m=="object"?m.code??g.status:g.status),details:m,response:g,endpoint:p});return m}async function oo(t){return o(await i.get(`/projects/${t}/connections`))}async function ao(t){return o(await i.get(`/projects/${t}/connections/all`))}async function co(t,e){return o(await i.post(`/projects/${t}/connections`,e))}async function lo(t,e){return o(await i.post(`/projects/${t}/connections/me`,e))}async function uo(t,e,n){return o(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function ge(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function Sh(t,e){return o(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function vh(t,e,n){return o(await i.put(ge(t,e,"application"),n))}async function Ch(t,e){return o(await i.get(ge(t,e,"application")))}async function Rh(t,e,n){return o(await i.post(ge(t,e,"discover"),n))}async function Th(t,e,n){return o(await i.post(ge(t,e,"authorize"),n))}async function Ah(t,e,n){return o(await i.post(ge(t,e,"device"),n))}async function Ih(t,e,n){return o(await i.post(ge(t,e,`device/${encodeURIComponent(n)}`),{}))}async function jh(t,e){return o(await i.get(ge(t,e,"status")))}async function po(t,e){return o(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function go(t,e){return o(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function mo(t,e){return o(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function fo(t,e,n={}){return o(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function yo(t,e){return o(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function ho(t){return o(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function bo(t){return o(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function xo(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function _o(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function Po(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function ko(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function wo(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function Eh(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function $h(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function So(t,e){return o(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function vo(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Co(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Ro(t,e){return o(await i.post(`/connectors/projects/${t}/connectors`,e))}async function To(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Ao(t,e){return o(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function Io(t,e,n){let r=typeof e=="string"||e===void 0?{...e?{q:e}:{},...n?{cursor:n}:{}}:e,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let c=s.toString();return o(await i.get(`/connectors/projects/${t}/pipedream/apps${c?`?${c}`:""}`))}async function jo(t,e){let n=new URLSearchParams;e?.perCategory&&n.set("perCategory",String(e.perCategory)),e?.maxCategories&&n.set("maxCategories",String(e.maxCategories));let r=n.toString();return o(await i.get(`/connectors/projects/${t}/pipedream/sections${r?`?${r}`:""}`))}async function Cr(t,e,n){let r=new URLSearchParams;e&&r.set("q",e),n&&r.set("cursor",n);let s=r.toString();return o(await i.get(`/connectors/projects/${t}/discover/connectors${s?`?${s}`:""}`))}async function Rr(t,e){let n=new URLSearchParams({id:e});return o(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var qh=Cr,Dh=Rr;async function Eo(){return o(await i.get("/connectors/connect-status"))}async function $o(t,e,n){let r=typeof n=="string"?{value:n}:n;return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential`,r))}async function Mh(t,e,n){return o(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function qo(t,e){return o(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function Do(t){return o(await i.get(`/connectors/projects/${t}/policies`))}async function Mo(t,e,n){return o(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function Uo(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function Oo(t){return o(await i.get(`/projects/${t}/snapshots`))}async function Tr(t){return o(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Fo(t,e){return o(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function Lo(t){return o(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function Go(t,e){return o(await i.post(`/projects/${t}/sandbox-templates`,e))}async function Bo(t,e,n){return o(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function Ko(t,e){return o(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function Ho(t,e){return o(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function No(t){return o(await i.get(`/projects/${t}/sandboxes`))}async function Wo(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path);let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${t}/files${r}`,{showErrors:!1}))}async function zo(t,e,n){let r=new URLSearchParams({q:e});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),o(await i.get(`/projects/${t}/files/search?${r.toString()}`))}async function Vo(t,e,n){let r=new URLSearchParams({path:e});return n&&r.set("ref",n),o(await i.get(`/projects/${t}/files/content?${r.toString()}`,{showErrors:!1}))}async function Jo(t,e,n){let r=new URLSearchParams;e&&r.set("ref",e),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",c=await ne(),u=`${$().backendUrl||""}/projects/${t}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:c?{Authorization:`Bearer ${c}`}:{}});if(!p.ok){let g=await p.text().catch(()=>"");throw new Error(g||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function Xo(t){return o(await i.get(`/projects/${t}/branches`))}async function Qo(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path),e?.limit!=null&&n.set("limit",String(e.limit)),e?.skip!=null&&n.set("skip",String(e.skip));let r=n.toString()?`?${n.toString()}`:"";return o(await i.get(`/projects/${t}/commits${r}`))}async function Yo(t,e){return o(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function Zo(t,e,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return o(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}/diff${s}`))}async function ea(t,e,n){let r=new URLSearchParams({path:e});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),o(await i.get(`/projects/${t}/files/history?${r.toString()}`))}async function ta(t,e){let n=new URLSearchParams({from:e.from,into:e.into});return o(await i.get(`/projects/${t}/version-diff?${n.toString()}`))}async function na(t,e){let n=e?`?status=${e}`:"";return o(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function ra(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}`))}async function sa(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function ia(t,e){return o(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function oa(t,e){return o(await i.post(`/projects/${t}/change-requests`,e))}async function aa(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function ca(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function la(t,e){return o(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function ua(t,e,n){return o(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function pa(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var Ar=new Set;function _t(t){t&&Ar.add(t)}function da(t){return!!t&&Ar.has(t)}function tb(t){t&&Ar.delete(t)}async function Be(t,e){let n=new URLSearchParams;e?.scope&&e.scope!=="visible"&&n.set("scope",e.scope);let r=n.size>0?`?${n}`:"";return o(await i.get(`/projects/${t}/sessions${r}`))}async function ga(t,e,n){return o(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function ma(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function fa(t,e){return o(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function ya(t,e,n){return o(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function ha(t,e,n){return o(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Ke(t,e){let n=o(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||_t(n?.session_id),n}async function ba(t){let e=o(await i.post(`/projects/${t}/sessions/warm`,{}));return _t(e.session.session_id),e}async function xa(t,e){let n=o(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return _t(n.session_id),n}async function Ir(t,e,n){return o(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function _a(t,e,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let c=s.toString();return o(await i.get(`/projects/${t}/sessions/${e}/audit${c?`?${c}`:""}`,{showErrors:r?.showErrors}))}async function Pa(t,e,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return o(await i.get(`/projects/${t}/sessions/${e}/transcript${s?`?${s}`:""}`))}async function ka(t,e,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return o(await i.get(`/projects/${t}/sessions/${e}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function wa(t,e,n){return o(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function Sa(t,e){return o(await i.delete(`/projects/${t}/sessions/${e}`))}async function Pt(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function kt(t,e){return o(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function va(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function Cp(t){let e=t.split(`
13
+ `);let x=hd(b);if(x){if(e(x),x.type==="error")throw new v(x.error,{status:x.status,code:x.code});x.type==="done"&&(p=x.project)}}}}finally{s.cancel().catch(()=>{})}if(!p)throw new Error("Provision stream ended without a result");return p}async function gb(){try{return a(await i.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Ir(t,e){return a(await i.patch(`/projects/${t}`,e))}async function wi(t,e,n){return a(await i.patch(`/projects/${t}/features`,{feature:e,enabled:n}))}async function Si(t,e,n){return a(await i.patch(`/projects/${t}/experimental`,{feature:e,enabled:n}))}async function vi(t,e){return a(await i.patch(`/projects/${t}/sandbox-provider`,{provider:e}))}async function mb(t,e){return a(await i.get(`/projects/${t}/sandbox-provider/transition`,{showErrors:!1,...e}))}async function fb(t,e){return a(await i.patch(`/projects/${t}/warm-pool`,e))}async function Ci(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{completed:e}))}async function yb(t,e){return a(await i.patch(`/projects/${t}/onboarding`,{profile:e}))}async function Er(t){return a(await i.delete(`/projects/${t}`))}async function hb(t,e){return je(t,`/v1/projects?account_id=${encodeURIComponent(e)}`)}async function bb(t,e){if(!t.backendUrl||!t.accessToken)return{ok:!1,limitReached:!1};let n=vr(t.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${t.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...e}),signal:AbortSignal.timeout(t.timeoutMs??9e4)});if(r.ok){let s=await r.json().catch(()=>null);return s?.project_id?{ok:!0,project:s}:{ok:!1,limitReached:!1}}return r.status===403?{ok:!1,limitReached:(await r.json().catch(()=>null))?.code==="project_limit_reached"}:{ok:!1,limitReached:!1}}catch{return{ok:!1,limitReached:!1}}}async function Ri(t){return a(await i.post("/projects/link-repository",t,{showErrors:!1}))}async function Ti(t){return a(await i.get(`/projects/github/installation?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ai(t){return a(await i.get(`/projects/github/installations?account_id=${encodeURIComponent(t)}`,{showErrors:!1}))}async function Ii(t){return a(await i.post("/projects/github/installations/linkable",t,{showErrors:!1}))}async function Ei(t,e,n){let r=new URLSearchParams({account_id:t});e&&r.set("installation_id",e);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),a(await i.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function ji(t,e,n){let r=new URLSearchParams({account_id:t,installation_id:e,repo_full_name:n});return a(await i.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function $i(t){return a(await i.post("/projects/github/installation",t,{showErrors:!1}))}async function qi(t){return a(await i.post("/projects/github/installations/link",t,{showErrors:!1}))}async function Di(t,e){let n=new URLSearchParams({account_id:t});return e&&n.set("installation_id",e),a(await i.delete(`/projects/github/installation?${n.toString()}`))}async function vb(t,e){return a(await i.post(`/projects/${t}/access-requests`,{message:e?.trim()||void 0},{showErrors:!1}))}async function Mi(t,e){return a(await i.get(`/projects/${t}/access-requests`,e))}async function Oi(t,e,n="member"){return a(await i.post(`/projects/${t}/access-requests/${e}/approve`,{role:n}))}async function Ui(t,e){return a(await i.post(`/projects/${t}/access-requests/${e}/reject`,{}))}async function Fi(t){return a(await i.get(`/projects/${t}/access`))}async function Li(t,e,n){return a(await i.put(`/projects/${t}/access/${e}`,{role:n}))}async function Gi(t,e){return a(await i.delete(`/projects/${t}/access/${e}`))}function Cb(t){return"status"in t&&t.status==="invited"}async function Bi(t,e,n,r){return a(await i.post(`/projects/${t}/access/invite`,{email:e,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ni(t){return a(await i.get(`/projects/${t}/access/pending-invites`))}async function Ki(t,e){return a(await i.delete(`/projects/${t}/access/pending-invites/${e}`))}async function Hi(t,e){return a(await i.post(`/projects/${t}/access/pending-invites/${e}/resend`))}async function Wi(t){return a(await i.get(`/projects/${t}/group-grants`))}async function zi(t,e,n,r){return a(await i.post(`/projects/${t}/group-grants`,r===void 0?{group_id:e,role:n}:{group_id:e,role:n,expires_at:r}))}async function Vi(t,e,n,r){return a(await i.patch(`/projects/${t}/group-grants/${e}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Ji(t,e){return a(await i.delete(`/projects/${t}/group-grants/${e}`))}async function Xi(t){return a(await i.get(`/projects/${t}/resource-grants`))}async function Qi(t,e){return a(await i.post(`/projects/${t}/resource-grants`,{resource_type:e.resourceType,resource_id:e.resourceId,principal_type:e.principalType,principal_id:e.principalId,...e.expiresAt!==void 0?{expires_at:e.expiresAt}:{}}))}async function Yi(t,e){return a(await i.delete(`/projects/${t}/resource-grants/${e}`))}async function Zi(t,e){return a(await i.get(`/projects/${t}/approvals`,{showErrors:e?.showErrors}))}async function eo(t,e){return a(await i.get(`/projects/${t}/approvals/needs-input`,{showErrors:e?.showErrors}))}async function to(t,e,n){return a(await i.post(`/projects/${t}/approvals/${e}`,{decision:n}))}async function no(t){return a(await i.get(`/projects/${t}/secrets`,{showErrors:!1}))}async function ro(t,e){return a(await i.post(`/projects/${t}/secrets`,e))}async function so(t,e,n,r={}){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/strategy`,{strategy:n,...r}))}async function io(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/broker`,n))}async function oo(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/start`,{sharing:n?.sharing}))}async function ao(t,e,n){return a(await i.post(`/projects/${t}/oauth/${e}/poll`,{flow_id:n}))}async function co(t,e){return a(await i.delete(`/projects/${t}/oauth/${encodeURIComponent(e)}`))}async function lo(t,e){return a(await i.put(`/projects/${t}/git-credential`,e))}async function uo(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}`))}async function po(t,e,n){return a(await i.put(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`,n))}async function go(t,e){return a(await i.delete(`/projects/${t}/secrets/${encodeURIComponent(e)}/personal`))}function jr(t,e){return t?`/connectors/projects/${encodeURIComponent(t)}/${e}`:`/connectors/${e}`}async function $r(t){return a(await i.get(jr(t,"catalog"))).connectors??[]}async function St(t){let e=[];for(let n of await $r(t))for(let r of n.actions)e.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return e}async function mo(t,e="",n={}){let r=e.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],u=[];for(let p of await St(t)){let d=`${p.tool} ${p.description}`.toLowerCase();!r||d.includes(r)?o.push(p):s.every(f=>d.includes(f))&&u.push(p)}return[...o,...u].slice(0,n.limit??20)}async function fo(t,e){return(await St(t)).find(n=>n.tool===e)??null}function bd(t){let e=t.indexOf("."),n=e<0?"":t.slice(0,e).trim(),r=e<0?"":t.slice(e+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}async function yo(t,e,n={}){let{connector:r,action:s}=bd(e);return a(await i.post(jr(t,"call"),{connector:r,action:s,args:n}))}function xd(t,e){if(t&&typeof t=="object"){let n=t;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${e}`}function _d(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e-=1;return e===t.length?t:t.slice(0,e)}async function ho(t,e,n){let r=n.filename.trim(),s=n.contentType.trim();if(!r)throw new Error("filename is required");if(!s)throw new Error("contentType is required");let o={"Content-Type":s,"X-Kortix-Attachment-Filename":encodeURIComponent(r),"X-Kortix-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Kortix-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim()));let u=_d($().backendUrl),p=jr(t,"attachments"),d=await D(`${u}${p}`,{method:"POST",headers:o,body:e},{timeoutMs:6e4}),f=await d.text(),m=null;if(f)try{m=JSON.parse(f)}catch{m=f}if(!d.ok)throw new v(xd(m,d.status),{status:d.status,code:String(m&&typeof m=="object"?m.code??d.status:d.status),details:m,response:d,endpoint:p});return m}async function bo(t){return a(await i.get(`/projects/${t}/connections`))}async function xo(t){return a(await i.get(`/projects/${t}/connections/all`))}async function _o(t,e){return a(await i.post(`/projects/${t}/connections`,e))}async function Po(t,e){return a(await i.post(`/projects/${t}/connections/me`,e))}async function ko(t,e,n){return a(await i.put(`/projects/${t}/connections/${e}/credential`,n))}function be(t,e,n){return`/projects/${t}/connections/${e}/oauth2/${n}`}async function Mb(t,e){return a(await i.post(`/projects/${t}/connectors/${encodeURIComponent(e)}/oauth2/connection`,{}))}async function Ob(t,e,n){return a(await i.put(be(t,e,"application"),n))}async function Ub(t,e){return a(await i.get(be(t,e,"application")))}async function Fb(t,e,n){return a(await i.post(be(t,e,"discover"),n))}async function Lb(t,e,n){return a(await i.post(be(t,e,"authorize"),n))}async function Gb(t,e,n){return a(await i.post(be(t,e,"device"),n))}async function Bb(t,e,n){return a(await i.post(be(t,e,`device/${encodeURIComponent(n)}`),{}))}async function Nb(t,e){return a(await i.get(be(t,e,"status")))}async function wo(t,e){return a(await i.put(`/projects/${t}/connections/${e}/revoke`,{}))}async function So(t,e){return a(await i.put(`/projects/${t}/connections/${e}/activate`,{}))}async function vo(t,e){return a(await i.put(`/projects/${t}/connections/${e}/default`,{}))}async function Co(t,e,n={}){return a(await i.post(`/projects/${t}/connections/${e}/connect`,n))}async function Ro(t,e){return a(await i.post(`/projects/${t}/connections/${e}/connect/finalize`,{}))}async function To(t){return a(await i.get(`/connectors/projects/${t}/connectors`,{showErrors:!1}))}async function Ao(t){return a(await i.post(`/connectors/projects/${t}/connectors/sync`,{}))}async function Io(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential-mode`,{mode:n}))}async function Eo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/authorization-strategy`,{authorization_strategy:n}))}async function jo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/sensitive`,{sensitive:n}))}async function $o(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`))}async function qo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/policies`,{policies:n}))}async function Kb(t,e){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function Hb(t,e,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function Do(t,e){return a(await i.get(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/config`))}async function Mo(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/name`,{name:n}))}async function Oo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect`,{}))}async function Uo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors`,e))}async function Fo(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/auth-discovery`,e))}async function Lo(t,e){return a(await i.delete(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}`))}async function Go(t,e,n){let r=typeof e=="string"||e===void 0?{...e?{q:e}:{},...n?{cursor:n}:{}}:e,s=new URLSearchParams;r.q&&s.set("q",r.q),r.category&&s.set("category",r.category),r.cursor&&s.set("cursor",r.cursor),r.limit&&s.set("limit",String(r.limit));let o=s.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/apps${o?`?${o}`:""}`))}async function Bo(t,e){let n=new URLSearchParams;e?.perCategory&&n.set("perCategory",String(e.perCategory)),e?.maxCategories&&n.set("maxCategories",String(e.maxCategories));let r=n.toString();return a(await i.get(`/connectors/projects/${t}/pipedream/sections${r?`?${r}`:""}`))}async function qr(t,e,n){let r=new URLSearchParams;e&&r.set("q",e),n&&r.set("cursor",n);let s=r.toString();return a(await i.get(`/connectors/projects/${t}/discover/connectors${s?`?${s}`:""}`))}async function Dr(t,e){let n=new URLSearchParams({id:e});return a(await i.get(`/connectors/projects/${t}/discover/connectors/detail?${n.toString()}`))}var Wb=qr,zb=Dr;async function No(){return a(await i.get("/connectors/connect-status"))}async function Ko(t,e,n){let r=typeof n=="string"?{value:n}:n;return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/credential`,r))}async function Vb(t,e,n){return a(await i.put(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/secret-binding`,{secret_identifier:n}))}async function Ho(t,e){return a(await i.post(`/connectors/projects/${t}/connectors/${encodeURIComponent(e)}/connect/finalize`,{}))}async function Wo(t){return a(await i.get(`/connectors/projects/${t}/policies`))}async function zo(t,e,n){return a(await i.put(`/connectors/projects/${t}/policies`,{policies:e,defaultMode:n}))}async function Vo(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function Jo(t){return a(await i.get(`/projects/${t}/snapshots`))}async function Mr(t){return a(await i.get(`/projects/${t}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Xo(t,e){return a(await i.post(`/projects/${t}/snapshots/rebuild`,e?{slug:e}:{}))}async function Qo(t){return a(await i.post(`/projects/${t}/snapshots/fix-with-agent`,{}))}async function Yo(t,e){return a(await i.post(`/projects/${t}/sandbox-templates`,e))}async function Zo(t,e,n){return a(await i.patch(`/projects/${t}/sandbox-templates/${e}`,n))}async function ea(t,e){return a(await i.delete(`/projects/${t}/sandbox-templates/${e}`))}async function ta(t,e){return a(await i.post(`/projects/${t}/sandbox-templates/${e}/build`,{}))}async function na(t){return a(await i.get(`/projects/${t}/sandboxes`))}async function ra(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path);let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/files${r}`,{showErrors:!1}))}async function sa(t,e,n){let r=new URLSearchParams({q:e});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),a(await i.get(`/projects/${t}/files/search?${r.toString()}`))}async function ia(t,e,n){let r=new URLSearchParams({path:e});return n&&r.set("ref",n),a(await i.get(`/projects/${t}/files/content?${r.toString()}`,{showErrors:!1}))}async function oa(t,e,n){let r=new URLSearchParams;e&&r.set("ref",e),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=await re(),u=`${$().backendUrl||""}/projects/${t}/files/archive${s}`,p=await fetch(u,{method:"GET",headers:o?{Authorization:`Bearer ${o}`}:{}});if(!p.ok){let d=await p.text().catch(()=>"");throw new Error(d||`Failed to download (HTTP ${p.status})`)}return await p.blob()}async function aa(t){return a(await i.get(`/projects/${t}/branches`))}async function ca(t,e){let n=new URLSearchParams;e?.ref&&n.set("ref",e.ref),e?.path&&n.set("path",e.path),e?.limit!=null&&n.set("limit",String(e.limit)),e?.skip!=null&&n.set("skip",String(e.skip));let r=n.toString()?`?${n.toString()}`:"";return a(await i.get(`/projects/${t}/commits${r}`))}async function la(t,e){return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}`))}async function ua(t,e,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return a(await i.get(`/projects/${t}/commits/${encodeURIComponent(e)}/diff${s}`))}async function pa(t,e,n){let r=new URLSearchParams({path:e});return n?.ref&&r.set("ref",n.ref),n?.limit!=null&&r.set("limit",String(n.limit)),n?.skip!=null&&r.set("skip",String(n.skip)),a(await i.get(`/projects/${t}/files/history?${r.toString()}`))}async function da(t,e){let n=new URLSearchParams({from:e.from,into:e.into});return a(await i.get(`/projects/${t}/version-diff?${n.toString()}`))}async function ga(t,e){let n=e?`?status=${e}`:"";return a(await i.get(`/projects/${t}/change-requests${n}`,{showErrors:!1,timeout:15e3}))}async function ma(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}`))}async function fa(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/diff`))}async function ya(t,e){return a(await i.get(`/projects/${t}/change-requests/${e}/merge-preview`))}async function ha(t,e){return a(await i.post(`/projects/${t}/change-requests`,e))}async function ba(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/merge`,n??{},{showErrors:!1}))}async function xa(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/close`,{}))}async function _a(t,e){return a(await i.post(`/projects/${t}/change-requests/${e}/reopen`,{}))}async function Pa(t,e,n){return a(await i.post(`/projects/${t}/change-requests/${e}/request-changes`,{feedback:n}))}async function ka(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/commit-push`,n??{}))}var Or=new Set;function vt(t){t&&Or.add(t)}function wa(t){return!!t&&Or.has(t)}function gx(t){t&&Or.delete(t)}async function ze(t,e){let n=new URLSearchParams;e?.scope&&e.scope!=="visible"&&n.set("scope",e.scope);let r=n.size>0?`?${n}`:"";return a(await i.get(`/projects/${t}/sessions${r}`))}async function Sa(t,e,n){return a(await i.put(`/projects/${t}/sessions/${e}/sharing`,n))}async function va(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/previews`))}async function Ca(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/public-shares`,{showErrors:!1}))}async function Ra(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/public-shares`,n))}async function Ta(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/public-shares/${n}`))}async function Ve(t,e){let n=a(await i.post(`/projects/${t}/sessions`,e??{}));return e?.initial_prompt||vt(n?.session_id),n}async function Aa(t,e){let n=e?.excludeSessionId?{exclude_session_id:e.excludeSessionId}:{},r=a(await i.post(`/projects/${t}/sessions/warm`,n,{showErrors:!1}));return r.reused||vt(r.session.session_id),r}async function Ia(t,e){let n=a(await i.post(`/projects/${t}/sessions/warm/claim`,e,{showErrors:!1}));return vt(n.session_id),n}async function Ur(t,e,n){return a(await i.get(`/projects/${t}/sessions/${e}`,{showErrors:n?.showErrors}))}async function Ea(t,e,n,r){let s=new URLSearchParams;n&&s.set("limit",String(n)),r?.cursor&&s.set("cursor",r.cursor),r?.includeEvents!=null&&s.set("include_events",String(r.includeEvents));let o=s.toString();return a(await i.get(`/projects/${t}/sessions/${e}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function ja(t,e,n){let r=new URLSearchParams;n?.limit!=null&&r.set("limit",String(n.limit)),n?.chars!=null&&r.set("chars",String(n.chars));let s=r.toString();return a(await i.get(`/projects/${t}/sessions/${e}/transcript${s?`?${s}`:""}`))}async function $a(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/turn`))}async function qa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{}}))}async function Da(t,e){return a(await i.get(`/projects/${t}/sessions/${e}/prompts`))}async function Ma(t,e,n){return a(await i.delete(`/projects/${t}/sessions/${e}/prompts/${n}`)).removed}async function Oa(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/${n}/retry`,{}))}async function Ua(t,e,n){return a(await i.post(`/projects/${t}/sessions/${e}/prompts/hold`,{held:n}))}async function Fa(t,e,n){let r=new URLSearchParams;n?.cursor!=null&&r.set("cursor",String(n.cursor)),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString();return a(await i.get(`/projects/${t}/sessions/${e}/voice-transcript${s?`?${s}`:""}`,{showErrors:n?.showErrors}))}async function La(t,e,n){return a(await i.patch(`/projects/${t}/sessions/${e}`,n))}async function Ga(t,e){return a(await i.delete(`/projects/${t}/sessions/${e}`))}async function Ct(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/restart`,{}))}async function Rt(t,e){return a(await i.post(`/projects/${t}/sessions/${e}/stop`,{}))}async function Ba(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/config`,{showErrors:!1}))}function Pd(t){let e=t.split(`
14
14
  `).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(e.length===0)return null;try{return JSON.parse(e.join(`
15
- `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Ca(t,e,n={}){return o(await i.post(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload`,n,{showErrors:!1}))}async function Ra(t,e,n,r,s={}){let c=await i.postStream(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload-stream`,n,s);if(!c.ok){let m=await c.json().catch(()=>null);throw new R(m?.error||`Reload failed: HTTP ${c.status}`,{status:c.status,code:m?.code,data:m})}let u=c.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,g="",f=null;try{for(;;){let{done:m,value:_}=await u.read();if(m)break;g+=p.decode(_,{stream:!0});let x=g.indexOf(`
15
+ `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Na(t,e,n={}){return a(await i.post(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload`,n,{showErrors:!1}))}async function Ka(t,e,n,r,s={}){let o=await i.postStream(`/projects/${t}/sessions/${encodeURIComponent(e)}/reload-stream`,n,s);if(!o.ok){let m=await o.json().catch(()=>null);throw new v(m?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:m?.code,data:m})}let u=o.body?.getReader();if(!u)throw new Error("Reload stream is unavailable on this runtime (no response body)");let p=new TextDecoder,d="",f=null;try{for(;;){let{done:m,value:b}=await u.read();if(m)break;d+=p.decode(b,{stream:!0});let x=d.indexOf(`
16
16
 
17
- `);for(;x!==-1;){let I=g.slice(0,x);g=g.slice(x+2),x=g.indexOf(`
17
+ `);for(;x!==-1;){let I=d.slice(0,x);d=d.slice(x+2),x=d.indexOf(`
18
18
 
19
- `);let T=Cp(I);if(T){if(r(T),T.type==="error")throw new R(T.error,{status:T.status,code:T.code,data:{reason:T.reason}});T.type==="done"&&(f=T.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function Ta(t,e){return o(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function Aa(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function Ia(t,e,n){return o(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function ja(t){return o(await i.get(`/projects/${t}/triggers`))}async function Ea(t,e){return o(await i.post(`/projects/${t}/triggers`,e))}async function $a(t,e,n){return o(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function qa(t,e){return o(await i.delete(`/projects/${t}/triggers/${e}`))}async function Da(t,e){return o(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function Ma(t,e){return o(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var se=new Map;function jr(t,e){return`${t}::${e}`}function Ua(t,e){se.delete(t),se.set(t,e)}function Oa(t,e){let n=jr(t,e),r=se.get(n);return r&&Ua(n,r),r}function Fa(t,e,n){let r=jr(t,e);if(!se.has(r)&&se.size>=512){let s=se.keys().next().value;s!==void 0&&se.delete(s)}Ua(r,n)}function La(t,e){se.delete(jr(t,e))}function fb(t){if(t.status!=="running"||!t.sandbox_id||!t.sandbox_provider||!t.sandbox_url||!t.opencode_session_id)return null;let e=t.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return e?{stage:"ready",agent_name:t.agent_name??"default",retriable:!0,sandbox:{sandbox_id:t.sandbox_id,session_id:t.session_id,project_id:t.project_id,account_id:t.account_id,provider:t.sandbox_provider,external_id:e,base_url:t.sandbox_url,status:"active",config:{},metadata:t.metadata,last_used_at:t.updated_at,created_at:t.created_at,updated_at:t.updated_at},opencode_session_id:t.opencode_session_id,runtime_url:t.sandbox_url}:null}var Er=class extends Error{status;code;terminal;constructor(e,n){super(e),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function yb(t){return t instanceof Error&&t.name==="SessionStartError"}function Rp(t){let e=t,n=e?.status,r=e?.code??e?.details?.code??e?.details?.error,s=e?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Er(s,{status:n,code:r,terminal:!0}):null}async function je(t,e,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${t}/sessions/${e}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=Rp(s.error);if(p&&!(p.status===404&&da(e)))throw p;return null}let c=s.data,u=c.sandbox?.external_id;return c.stage==="ready"&&u&&c.opencode_session_id&&Fa(t,e,{opencodeSessionId:c.opencode_session_id,runtimeUrl:st(u),sandboxId:u}),c}function hb(t,e){return["session-start",t,e]}async function Ga(t){return o(await i.get(`/projects/${t}/model-defaults`))}async function Ba(t,e){return o(await i.put(`/projects/${t}/model-defaults`,e))}async function Ka(t,e){let n=new URLSearchParams({scope:e.scope,...e.agentName?{agentName:e.agentName}:{}}).toString();return o(await i.delete(`/projects/${t}/model-defaults?${n}`))}async function Sb(t,e){return o(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function Na(t,e,n){let r=Ap(n);return o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function Ha(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Tp(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function Ap(t){let e=t.connectors_required?Ha(t.connectors_required):void 0,n=t.connectors_personal?Ha(t.connectors_personal):void 0;if(e&&n&&!Tp(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function jb(t,e){let n=o(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?$r(n.block):null}}async function Eb(t,e,n){let r=$r(n),s=o(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?$r(s.block):null}}function Wa(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function Ip(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function $r(t){let e=t.connectors_required?Wa(t.connectors_required):void 0,n=t.connectors_personal?Wa(t.connectors_personal):void 0;if(e&&n&&!Ip(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function za(t,e){return o(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function Va(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}async function Ja(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Va():s.data}async function Xa(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),c=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!c)throw s.error;return s.error?Va():s.data}async function Qa(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.limit!=null&&e.set("limit",String(t.limit)),t?.offset!=null&&e.set("offset",String(t.offset)),t?.typeFilter&&e.set("type_filter",Array.isArray(t.typeFilter)?t.typeFilter.join(","):t.typeFilter);let n=e.toString();return o(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function Ya(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.days!=null&&e.set("days",String(t.days));let n=e.toString();return o(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Za(){return o(await i.get("/billing/credit-breakdown"))}async function ec(t){let e=t!=null?`?days=${t}`:"";return o(await i.get(`/billing/usage-history${e}`))}async function tc(){return o(await i.get("/billing/tier-configurations"))}async function Mb(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return Ae(t,`/v1/billing/account-state${e}`)}async function nc(t){return o(await i.post("/billing/create-checkout-session",{account_id:t.accountId,tier_key:t.tierKey,success_url:t.successUrl,cancel_url:t.cancelUrl,commitment_type:t.commitmentType,locale:t.locale,server_type:t.serverType,location:t.location}),"Failed to create checkout session")}async function rc(t,e){return o(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function sc(t,e){return o(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function ic(t,e){return o(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function oc(t){return o(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function ac(t,e,n){return o(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:t,commitment_type:e}),"Failed to schedule downgrade")}async function cc(t){return o(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function lc(t,e){let n=new URLSearchParams({new_price_id:t});return e&&n.set("account_id",e),o(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function uc(t){return o(await i.post("/billing/purchase-credits",{amount:t.amount,account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl}),"Failed to purchase credits")}async function pc(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/billing/auto-topup/settings${e}`),"Failed to load auto-topup settings")}async function dc(t){return o(await i.post("/billing/auto-topup/configure",{account_id:t.accountId,enabled:t.enabled,threshold:t.threshold,amount:t.amount}),"Failed to configure auto-topup")}async function Ub(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/billing/auto-topup/setup-status${e}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Ob(t){return o(await i.post("/billing/create-per-seat-checkout",{account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl,locale:t.locale}),"Failed to create per-seat checkout")}async function Fb(t){return o(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function Lb(t){return o(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function gc(t={}){let e=new URLSearchParams;t.start&&e.set("start",t.start),t.end&&e.set("end",t.end),(t.groupBy==="model"||t.groupBy==="provider"||t.groupBy==="day")&&e.set("group_by",t.groupBy),t.accountId&&e.set("account_id",t.accountId);let n=e.toString();return o(await i.get(`/usage${n?`?${n}`:""}`))}function qr(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function wt(t,e){e.from&&t.set("from",e.from),e.to&&t.set("to",e.to)}function St(t){return t.size>0?`?${t}`:""}async function fc(t={}){let e=new URLSearchParams;return qr(e,t),t.ownerId&&e.set("owner_id",t.ownerId),wt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),o(await i.get(`/usage/session-costs${St(e)}`))}async function Dr(t,e={}){let n=new URLSearchParams;return qr(n,e),o(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${St(n)}`))}async function Wb(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),wt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),o(await i.get(`/usage/cost-by-project${St(e)}`))}async function zb(t={}){let e=new URLSearchParams;return qr(e,t),t.sessionId&&e.set("session_id",t.sessionId),wt(e,t),o(await i.get(`/usage/cost-summary${St(e)}`))}function mc(t,e={}){let n=new URLSearchParams;if(e.accountId&&n.set("account_id",e.accountId),t==="sessions"){let s=e;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}wt(n,e),e.sort&&n.set("sort",e.sort),n.set("format","csv");let r=t==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${$().backendUrl||""}${r}?${n}`}async function Vb(t,e={}){let n=mc(t==="projects"?"projects":"sessions",e),r=await ne(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let g=await s.text().catch(()=>"");throw new Error(g||`Failed to export CSV (HTTP ${s.status})`)}let c=s.headers.get("x-kortix-row-cap"),u=c!=null?Number(c):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function yc(t,e){return o(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function Yb(t){return yc("slack",t)}function Zb(t){return yc("teams",t)}async function hc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function bc(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var jp={oauth_available:!1,install_url:null};async function xc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?jp:e.data}async function _c(t){return o(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Pc(t){let e=await i.delete(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});if(!e.success)throw new Error(e.error?.message??"Failed to disconnect")}async function kc(t,e){return o(await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/file?url=${encodeURIComponent(e)}`,{showErrors:!1}),"Failed to download Slack file")}async function wc(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/file/upload`,{channel:e.channel,filename:e.filename,content_base64:e.contentBase64,comment:e.comment,thread_ts:e.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Mr(t){let e=t.connectionId??t.connection_id??null,n=t.connectorSlug??t.connector_slug??t.connectionSlug??t.connection_slug??"kortix_email";return{...t,connectionId:e,connectorSlug:n}}var Ep={provider:"agentmail",managed_available:!1};async function Sc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Mr(r.data):null}async function vc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?Ep:e.data}async function Cc(t,e){let n=o(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Mr(n)}async function Rc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.delete(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Tc(t,e,n){let r=o(await i.patch(`/projects/${encodeURIComponent(t)}/channels/email/installation`,{connector_slug:e??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Mr(r)}async function Ac(t,e){return o(await i.put(`/projects/${encodeURIComponent(t)}/channels/meet/name`,{name:e},{showErrors:!1}),"Failed to save name")}async function ex(t){return o(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function tx(t,e,n){return o(await i.patch(`/projects/${encodeURIComponent(t)}/channels/bindings/${encodeURIComponent(e)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Ic(t){return o(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function jc(t,e){return o(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function Ec(t){return o(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function $c(t,e){return o(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function qc(t,e){let n=new URLSearchParams;e?.limit&&n.set("limit",String(e.limit)),e?.offset&&n.set("offset",String(e.offset)),e?.ok!==void 0&&n.set("ok",String(e.ok));let r=n.toString();return o(await i.get(`/projects/${t}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Dc(t,e){return o(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function Mc(t,e){return o(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function Uc(t,e){return o(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function Oc(t,e){return o(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function Fc(t,e){return o(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function Lc(t,e){return o(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function Gc(t){return o(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function Bc(t,e){return o(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function Kc(t,e){return o(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function Hc(t){return o(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function Nc(t,e){return o(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function Wc(t,e){return o(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function zc(t,e,n,r,s){return o(await i.post(`/projects/${t}/gateway/playground`,{prompt:e,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function ix(t,e){return o(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function Vc(t){let e=new FormData;e.append("audio_file",t);let n=await i.upload("/transcription",e,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function px(){return o(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function dx(){return o(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function gx(t){return o(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function mx(){return o(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function fx(t={}){let e=new URLSearchParams({limit:String(t.limit??50),offset:String(t.offset??0)});return o(await i.get(`/referrals/list?${e}`),"GET_REFERRALS_FAILED")}async function yx(t){return o(await i.post("/referrals/email",{emails:t}),"SEND_EMAILS_FAILED")}function P(t){if(!t.success||t.data===void 0)throw t.error||new Error("Unexpected empty response");return t.data}function O(t){return i.get(t,{showErrors:!1})}async function xx(t){return P(await O(`/accounts/${t}/iam/groups`)).groups}async function _x(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}`))}async function Px(t,e){return P(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function kx(t,e,n){return P(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function wx(t,e){return P(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function Sx(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function vx(t,e,n){return P(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function Cx(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function Rx(t,e,n){return P(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function Tx(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function Ax(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/project-access`)).projects}async function Ix(t,e={}){let n=new URLSearchParams;e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.scopeType&&n.set("scopeType",e.scopeType),e.scopeId!==void 0&&n.set("scopeId",e.scopeId===null?"null":e.scopeId);let r=n.toString();return P(await O(`/accounts/${t}/iam/policies${r?`?${r}`:""}`)).policies}async function jx(t,e){return P(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function Ex(t,e,n){return P(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function $x(t,e){return P(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function qx(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function Dx(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function Mx(t){return P(await O(`/accounts/${t}/iam/roles`)).roles}async function Ux(t){return P(await O(`/accounts/${t}/iam/agent-identities`)).agents}async function Ox(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function Fx(t){return P(await O(`/accounts/${t}/iam/actions`)).actions}async function Lx(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function Gx(t,e){return P(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function Bx(t,e,n){return P(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function Kx(t,e,n){return P(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function Hx(t,e){return P(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function Nx(t,e,n){return P(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function Wx(t){return P(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function zx(t,e){return P(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function Vx(t,e){return P(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function Jx(t){return P(await O(`/accounts/${t}/iam/mfa-required`))}async function Xx(t){return P(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function Qx(t,e){return P(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function Yx(t){return P(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function Zx(t,e){return P(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function e_(t,e){return P(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function t_(t){return P(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function n_(t){return P(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function r_(t,e){return P(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function s_(t,e){return P(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function i_(t){return P(await O(`/accounts/${t}/iam/session-policy`))}async function o_(t,e){return P(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function a_(t){return P(await O(`/accounts/${t}/iam/sessions`)).sessions}async function c_(t,e){return P(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function l_(t){return P(await O(`/accounts/${t}/iam/pat-policy`))}async function u_(t,e){return P(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function p_(t){return P(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function d_(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function g_(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function m_(t,e){return P(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function f_(t){return P(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function y_(t,e){return P(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function h_(t,e,n){return P(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function b_(t,e){return P(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function x_(t,e={}){let n=new URLSearchParams;e.action&&n.set("action",e.action),e.actor&&n.set("actor",e.actor),e.project_id&&n.set("project_id",e.project_id),e.session_id&&n.set("session_id",e.session_id),e.actor_type&&n.set("actor_type",e.actor_type),e.source&&n.set("source",e.source),e.phase&&n.set("phase",e.phase),e.outcome&&n.set("outcome",e.outcome),e.request_id&&n.set("request_id",e.request_id),e.correlation_id&&n.set("correlation_id",e.correlation_id),e.resource_type&&n.set("resource_type",e.resource_type),e.since&&n.set("since",e.since),e.until&&n.set("until",e.until),e.q&&n.set("q",e.q),e.cursor&&n.set("cursor",e.cursor),e.limit&&n.set("limit",String(e.limit));let r=n.toString();return P(await O(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function __(t,e,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),P(await O(`/accounts/${t}/iam/members/${e}/effective?${r.toString()}`))}async function P_(t,e,n){return n.length===0?[]:P(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function k_(t){return P(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function w_(t,e){return P(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}async function R_(){let t=await i.get("/account/deletion-status",{showErrors:!1});return t.error?.status===404?null:o(t,"Failed to load account deletion status")}async function T_(t="User requested deletion"){return o(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function A_(){return o(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function I_(){return o(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function j_(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function D_(){return i.get("/admin/api/provider-distribution").then(t=>o(t))}function M_(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>o(e))}function U_(t){return i.put("/admin/api/provider-distribution",t).then(e=>o(e))}function O_(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>o(e))}function F_(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>o(n))}function L_(){return i.get("/admin/api/provider-fallback").then(t=>o(t))}function G_(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>o(e))}async function N_(t){return o(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function W_(t,e){return o(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:t,sandbox_url:e},{timeout:18e4}),"Failed to upload to Google Slides")}async function Jc(t,e){let n=new URLSearchParams;e?.segment&&n.set("segment",e.segment),e?.kind&&n.set("kind",e.kind);let r=n.toString();return o(await i.get(`/projects/${t}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Xc(t,e){return o(await i.get(`/projects/${t}/review/items/${e}`))}async function Qc(t,e){return o(await i.post(`/projects/${t}/review/items`,e))}async function Yc(t,e,n){return o(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function Zc(t,e){return o(await i.post(`/projects/${t}/review/bulk`,e))}async function el(t){return o(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function tl(t){return o(await i.post("/p/share",{sandbox_id:t.sandboxId,port:t.port,ttl:t.ttl,label:t.label}),"Failed to generate public URL")}async function nl(t,e){let n=await i.delete(`/p/share/${encodeURIComponent(e)}?sandbox_id=${encodeURIComponent(t)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Ur=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function rl(t,e=""){return`${le()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function sl(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Ur(s,e.status)}return r}async function tP(t){return sl(rl(t))}async function nP(t){return sl(rl(t,"/messages"))}var Or=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function il(t){return`${le()}/public/voice-join/${encodeURIComponent(t)}`}async function ol(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Or(s,e.status)}return r}async function iP(t){return ol(il(t))}async function oP(t,e=0){let n=`${il(t)}/transcript?cursor=${encodeURIComponent(String(e))}`;return ol(n)}async function al(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return o(await i.get(`/accounts/tokens${e}`))}async function cl(t){let{accountId:e,expiresAt:n,projectId:r,name:s}=t;return o(await i.post("/accounts/tokens",{name:s,...e?{account_id:e}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function ll(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return o(await i.delete(`/accounts/tokens/${t}${n}`))}async function ul(t){return o(await i.get(`/projects/${t}/cli-token`))}async function pl(t,e){return o(await i.post(`/projects/${t}/cli-token`,e??{}))}async function dl(t,e){return o(await i.delete(`/projects/${t}/cli-token/${e}`))}async function gl(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function ml(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/projects/${t}/audit${r?`?${r}`:""}`))}async function fl(t,e){let n=new URLSearchParams;e?.format&&n.set("format",e.format),e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return o(await i.get(`/accounts/${t}/audit/export${r?`?${r}`:""}`))}async function yl(t){return o(await i.get(`/accounts/${t}/audit/webhooks`))}async function hl(t,e){return o(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function bl(t,e,n){return o(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function xl(t,e){return o(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function _l(t,e){return o(await i.post(`/projects/${t}/secret-requests`,{names:e.names,labels:e.labels,descriptions:e.descriptions,scope:e.scope,expires_in_minutes:e.expiresInMinutes}),"Failed to mint secret-entry link")}async function Pl(t,e){return o(await i.post(`/projects/${t}/connect-requests`,{slug:e.slug,expires_in_minutes:e.expiresInMinutes}),"Failed to mint connect link")}async function yP(t){return o(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function kl(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString()?`?${e.toString()}`:"";return o(await i.get(`/marketplace/items${n}`))}async function wl(){return o(await i.get("/marketplace/marketplaces"))}async function Sl(){return o(await i.get("/marketplace/marketplaces/featured"))}async function vl(t){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function Cl(t,e){return o(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function Rl(){return o(await i.get("/marketplace/sources"))}async function Tl(t){return o(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function Al(t){return o(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function _P(t,e){return o(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function SP(t){return o(await i.get(`/templates/${encodeURIComponent(t)}`))}async function vP(t,e){return o(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function Il(t){return o(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function jl(t,e){return o(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function El(t,e){return o(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function $l(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function ql(t,e){return o(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function Dl(t,e){return o(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function Ml(t,e,n){return o(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function Ul(t,e){return o(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function Fr(t,e){return o(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function Lr(t,e,n){return o(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function $p(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function qp(t){let e=Uint8Array.from(t),n=await globalThis.crypto.subtle.digest("SHA-256",e.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function Ol(t,e,n={}){let r=await $p(e),s=n.mediaType??"application/gzip",c=await Fr(t,{kind:"archive",media_type:s});if(!c.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>c.upload.max_bytes)throw new Error(`App artifact exceeds ${c.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(c.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),Lr(t,c.artifact.artifact_id,{sha256:await qp(r),size_bytes:r.byteLength})}async function Fl(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function Ll(t,e){return o(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function Gl(t,e,n){return o(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function Bl(t,e,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let c=s.size?`?${s.toString()}`:"";return o(await i.get(`/projects/${t}/apps/${e}/deployments/${n}/logs${c}`),"Failed to load App logs")}async function Kl(t,e){return o(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function Hl(t,e){return o(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function Nl(t,e,n){return o(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}function EP(t){return t?t.runtimeReady!==void 0?t.runtimeReady===!0:t.opencode!==void 0?t.opencode==="ok"||t.opencode===!0:t.status!=="starting"&&t.status!=="down"&&t.status!=="error":!1}async function Wl(t,e){let n=(t===void 0?L():t)||null;if(!n)return{status:0,ok:!1,health:null,body:""};let r=await q(`${n}/kortix/health`,{method:"GET",...e},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),c=null;try{c=s?JSON.parse(s):null}catch{c=null}return{status:r.status,ok:r.ok,health:c,body:s}}var ie={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var zl=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Vl=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Jl=new Set([22,4096,parseInt(ie.KORTIX_MASTER,10)]);function Dp(t){return Vl.test(t)}function vt(t){if(!t)return"/";let e=t,n=e.indexOf("](");n!==-1&&(e=e.slice(0,n));let r=e.toLowerCase().indexOf("%5d(");return r!==-1&&(e=e.slice(0,r)),e?e.startsWith("/")?e:`/${e}`:"/"}function Mp(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var Up=new Set(["'",'"',"`","<","(","["]),Op=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Fp(t){let e=0,n=t.length;for(;e<n&&(t[e]===" "||t[e]===" ");)e++;for(;n>e&&(t[n-1]===" "||t[n-1]===" ");)n--;for(;e<n&&Up.has(t[e]);)e++;for(;n>e&&Op.has(t[n-1]);)n--;return t.slice(e,n)}function Lp(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Gp=/^\/proxy\/(\d{1,5})(\/.*)?$/,Bp=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function Kp(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:Bp.test(e.pathname)}catch{return!1}}function Ct(t){if(!t)return null;let e=Fp(Mp(t.trim())),n=Yl(e);if(n){let r=vt(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let c=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(ie.KORTIX_MASTER,10);if(s===u){let g=r.pathname.match(Gp);if(g){let f=parseInt(g[1],10);if(f>=1&&f<=65535)return s=f,c=vt(`${g[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${c}`,port:s,path:c}}}let p=vt(c);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Lp(t);return r&&r!==t?Ct(r):null}}function Hp(t){let e=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(t))!==null;)e.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(t))!==null;){let c=r.index,u=c+r[0].length;e.some(([g,f])=>c>=g&&u<=f)||e.push([c,u])}return e}function Np(t,e){return e.some(([n,r])=>t>=n&&t<r)}function Wp(t){let e=[],n=new Set,r=Hp(t);zl.lastIndex=0;let s;for(;(s=zl.exec(t))!==null;){let c=Ct(s[0]);if(!c)continue;let{originalUrl:u,port:p,path:g}=c;p<1||p>65535||Jl.has(p)||n.has(u)||(n.add(u),e.push({originalUrl:u,port:p,path:g,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Np(s.index,r)}))}return e}function MP(t){return Wp(t).length>0}function zp(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function Vp(t){return t.sandboxId.trim().length>0}function me(t,e,n){let r=vt(e);if(!Vp(n))return Yp(t,r);if(!zp(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${t}${r}`}return`http://p${t}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function UP(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return me(3211,`/open?path=/workspace/${r}`,e)}function Jp(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function OP(t){return`http://localhost:3211${Jp(t)}`}function Xp(){return"/health"}function FP(t){return me(3211,Xp(),t)}function LP(t,e){return me(t,"/",e)}function Qp(t){let e=Ct(t);return!(!e||Jl.has(e.port)||Kp(t))}function Xl(t,e){if(!t)return t;let n=Ct(t);return n?Qp(n.originalUrl)?me(n.port,n.path,e):n.originalUrl:t}function Yp(t,e="/"){return`http://localhost:${t}${e}`}var Ql=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Yl(t){let e=t.match(Vl);if(e)return{port:parseInt(e[1],10),sandboxId:e[2],backendPort:e[3]?parseInt(e[3],10):80,path:e[4]||"/"};let n=t.match(Ql);if(n)try{let r=new URL(t);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function GP(t){try{let e=Yl(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function BP(t){return Dp(t)||Ql.test(t)}function KP(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var He="/web-proxy/";function HP(t,e){try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${He}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,c=parseInt(ie.KORTIX_MASTER,10);return`${me(c,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function NP(t){try{let e=new URL(t),n=e.pathname.indexOf(He);if(n===-1)return null;let s=e.pathname.slice(n+He.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let c=s[1],u=s[2],p=s[3]||"/";return`${c}://${u}${p}${e.search}${e.hash}`}catch{return null}}function WP(t){try{return new URL(t).pathname.includes(He)}catch{return t.includes(He)}}function zP(t){if(!t)return!1;let e=t.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(e)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e))}function VP(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e)?`https://${e}`:null:null}var Zl="frontend";function Rt(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${Zl}] ${e}`,...n?[n]:[]);try{pe().app.log({service:Zl,level:t,message:e,extra:n})}catch{}}var oe={debug:(t,e)=>Rt("debug",t,e),info:(t,e)=>Rt("info",t,e),warn:(t,e)=>Rt("warn",t,e),error:(t,e)=>Rt("error",t,e)};function Zp(t){return{type:"heartbeat-gap",gapMs:t}}function ed(t){switch(t.type){case"message.updated":return{type:"message.updated",sessionID:t.properties.sessionID,message:t.properties.info};case"message.removed":return{type:"message.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:t.properties.sessionID,part:t.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID,partID:t.properties.partID};case"session.status":return{type:"session.status",sessionID:t.properties.sessionID,status:t.properties.status};case"session.idle":return{type:"session.idle",sessionID:t.properties.sessionID};case"session.error":return{type:"session.error",sessionID:t.properties.sessionID,error:t.properties.error};case"question.asked":return{type:"question.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,questions:t.properties.questions,tool:t.properties.tool};case"question.replied":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"replied",answers:t.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,permission:t.properties.permission,patterns:t.properties.patterns,tool:t.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:t.properties.sessionID,requestID:t.properties.requestID,reply:t.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:t.properties.sessionID,todos:t.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var td={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},nd=16,rd=8,sd=6e4,id=5e3,od=250,ad=1e3,cd=3e4,ld=5,ud=3e3,pd=3e4,dd=2e4,gd=2e3,md=8;function fd(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function eu(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}function Gr(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:c}=t,u=t.timers??td,p=t.connectTimeoutMs??dd,g=t.heartbeatTimeoutMs??sd,f=t.maxConsecutiveHardFailures??md,m=new AbortController,_=()=>m.abort();c&&(c.aborted?m.abort():c.addEventListener("abort",_,{once:!0}));let x=u.now(),I=[],T,l=0,h=new Map,a=()=>{if(T&&u.clearTimeout(T),T=void 0,I.length===0)return;let j=I;I=[],h.clear(),l=u.now(),x=u.now();for(let v of j)if(v)try{n(v.event)}catch(k){console.warn("[opencode-events] event handler threw, skipping",k)}},A=()=>{if(T)return;let j=u.now()-l;T=u.setTimeout(a,Math.max(0,nd-j))};return(async()=>{let j=0,v=0;for(;!m.signal.aborted;){let k=!1,E=!1,w,F,K=null,y=u.now(),C=new AbortController,M=eu(m.signal);M.promise.then(()=>C.abort());try{let D=await new Promise((Ut,$e)=>{let X=!1;F=u.setTimeout(()=>{X||(X=!0,oe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:p}),C.abort(),$e(new Error(`SSE connect timed out after ${p}ms`)))},p),e.global.event({signal:C.signal,sseDefaultRetryDelay:ud,sseMaxRetryDelay:pd,sseMaxRetryAttempts:1}).then(Y=>{X||(X=!0,u.clearTimeout(F),Ut(Y))},Y=>{X||(X=!0,u.clearTimeout(F),$e(Y))})}),{stream:U}=D;x=u.now();let N=()=>{u.clearTimeout(w),w=u.setTimeout(()=>{oe.warn("SSE heartbeat timeout, forcing reconnect"),C.abort()},g)};N();let be=u.now(),vu=U[Symbol.asyncIterator]();for(;!C.signal.aborted;){let Ut=vu.next().then(te=>({kind:"next",result:te}),te=>({kind:"error",error:te})),$e=eu(C.signal),X=await Promise.race([Ut,$e.promise.then(()=>({kind:"aborted"}))]);if($e.cleanup(),X.kind==="aborted")break;if(X.kind==="error")throw X.error;if(X.result.done)break;k=!0,N();let Y=X.result.value,Xe=Y&&typeof Y=="object"&&"payload"in Y?Y.payload:Y;if(!Xe?.type)continue;let Ot=fd(Xe);if(Ot){let te=h.get(Ot);te!==void 0&&(I[te]=void 0),h.set(Ot,I.length)}I.push({type:Xe.type,event:Xe}),A(),!(u.now()-be<rd)&&(be=u.now(),await new Promise(te=>u.setTimeout(te,0)))}E=k}catch(D){if(m.signal.aborted)break;K=D;let U=String(D),N=U.includes("401")||U.includes("403")||U.includes("Unauthorized")||U.includes("Token refresh failed");if(oe.error("SSE event stream error",{error:U,retryCount:j,isAuthError:N}),N)try{rt(),await lr(),oe.info("SSE: refreshed auth token after auth error")}catch(be){oe.error("SSE: failed to refresh auth token",{error:String(be)})}}finally{u.clearTimeout(w),u.clearTimeout(F),C.abort(),M.cleanup(),a()}if(m.signal.aborted)break;let z=u.now()-y,V=K?.cause?.status;if(v=!k&&(typeof V=="number"&&V>=400||z<gd)?v+1:0,v>=f){oe.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:v,lastError:String(K)});try{s?.({consecutiveFailures:v,lastError:K})}catch(D){console.warn("[opencode-events] onParked handler threw",D)}break}let Q=u.now()-x;Q>id&&r?.(Q),E?j=0:(j++,j>1&&oe.warn("SSE event stream reconnecting",{retryCount:j}));let H=E?od:Math.min(ad*2**Math.min(j-1,ld),cd);await new Promise(D=>{let U=u.setTimeout(D,H),N=()=>{u.clearTimeout(U),D()};m.signal.addEventListener("abort",N,{once:!0})})}})(),{close:()=>{m.abort(),c&&c.removeEventListener("abort",_),T&&u.clearTimeout(T)}}}function yd(){return pe()}var Tt=new Map,At=class extends Error{constructor(e){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${e}\`.`),this.name="SessionNotReadyError"}};function hd(t,e){Lt(t,e);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new R(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let h=$().backendUrl??t.backendUrl,a=80,A=n(h);return A&&(a=A.port?Number(A.port):A.protocol==="https:"?443:80),{sandboxId:l,backendPort:a,apiBaseUrl:h}}let s={list:Bs,get:Hs,create:Ks,updateName:Ns,leave:ni,members:Ws,invite:zs,removeMember:ei,updateMemberRole:ti,invites:Vs,cancelInvite:Js,resendInvite:Xs,tokens:{list:al,create:cl,revoke:ll},audit:{log:gl,export:fl,webhooks:{list:yl,create:hl,update:bl,remove:xl}}},c={accountState:Ja,accountStateMinimal:Xa,transactions:Qa,transactionsSummary:Ya,creditBreakdown:Za,usageHistory:ec,usageRollup:gc,sessionCosts:{list:fc,get:Dr},tierConfigurations:tc,checkout:{createSession:l=>nc(l),confirmSession:(l,h)=>rc(l,h)},subscription:{createPortalSession:(l,h)=>sc(l,h),cancel:(l,h)=>ic(l,h),reactivate:l=>oc(l),scheduleDowngrade:(l,h,a)=>ac(l,h,a),cancelScheduledChange:l=>cc(l),prorationPreview:(l,h)=>lc(l,h)},credits:{purchase:l=>uc(l),autoTopupSettings:l=>pc(l),configureAutoTopup:l=>dc(l)}},u={describe:Qs,accept:Ys,decline:Zs},p={list:Ie,listForAccount:ii,get:br,detail:xr,create:li,createRepo:ui,provision:pi,update:kr,archive:wr,llmCatalog:_r,modelPicker:Pr,sandboxHealth:Tr,sandboxTemplates:Uo,sessions:Be,createSession:Ke},g={linkRepository:yi,getInstallation:hi,listInstallations:bi,listLinkableInstallations:xi,listRepositories:_i,listRepositoryBranches:Pi,linkInstallation:wi,saveInstallation:ki,deleteInstallation:Si},f={list:el,create:tl,revoke:nl},m=Eo,_={items:l=>kl(l),item:l=>vl(l),itemFile:(l,h)=>Cl(l,h),marketplaces:()=>wl(),featured:()=>Sl(),sources:{list:()=>Rl(),add:l=>Tl(l),remove:l=>Al(l)}};function x(l){return{catalog:()=>vr(l),tools:()=>xt(l),search:(...h)=>no(l,...h),describe:(...h)=>ro(l,...h),call:(...h)=>so(l,...h),uploadAttachment:(...h)=>io(l,...h)}}function I(l){let h={list:()=>oo(l),listAll:()=>ao(l),reconcile:(...a)=>co(l,...a),reconcileMember:(...a)=>lo(l,...a),updateCredential:(...a)=>uo(l,...a),revoke:(...a)=>po(l,...a),activate:(...a)=>go(l,...a),setDefault:(...a)=>mo(l,...a),pipedreamConnect:(...a)=>fo(l,...a),pipedreamFinalize:(...a)=>yo(l,...a)};return{get:a=>br(l,a),detail:()=>xr(l),audit:a=>ml(l,a),update:a=>kr(l,a),archive:()=>wr(l),llmCatalog:()=>_r(l),modelPicker:()=>Pr(l),sandboxHealth:()=>Tr(l),onboardingComplete:(...a)=>fi(l,...a),apps:{list:()=>Il(l),create:a=>jl(l,a),get:a=>El(l,a),update:(...a)=>$l(l,...a),access:{get:(...a)=>Dl(l,...a),update:(...a)=>Ml(l,...a),session:(...a)=>Ul(l,...a)},remove:a=>ql(l,a),artifacts:{register:a=>Fr(l,a),uploadArchive:(...a)=>Ol(l,...a),finalize:(...a)=>Lr(l,...a)},deployments:{create:(...a)=>Fl(l,...a),list:a=>Ll(l,a),get:(...a)=>Gl(l,...a),logs:(...a)=>Bl(l,...a)},start:a=>Kl(l,a),stop:a=>Hl(l,a),rollback:(...a)=>Nl(l,...a)},tokens:{list:()=>ul(l),create:a=>pl(l,a),revoke:a=>dl(l,a)},setupLinks:{requestSecret:a=>_l(l,a),requestConnector:a=>Pl(l,a)},validateManifest:a=>ai(l,a),gitToken:()=>ci(l),secrets:{list:()=>Ni(l),upsert:a=>Wi(l,a),setStrategy:(...a)=>zi(l,...a),broker:(...a)=>Vi(l,...a),remove:a=>Zi(l,a),setPersonal:(...a)=>eo(l,...a),removePersonal:a=>to(l,a),setGitCredential:a=>Yi(l,a),startProviderOAuth:(...a)=>Ji(l,...a),pollProviderOAuth:(...a)=>Xi(l,...a),removeProviderOAuth:a=>Qi(l,a)},access:{list:()=>Ti(l),invite:(...a)=>ji(l,...a),update:(...a)=>Ai(l,...a),revoke:a=>Ii(l,a),pendingInvites:()=>Ei(l),resendInvite:(...a)=>qi(l,...a),revokeInvite:(...a)=>$i(l,...a),requests:()=>vi(l),approveRequest:(...a)=>Ci(l,...a),rejectRequest:(...a)=>Ri(l,...a),groupGrants:()=>Di(l),attachGroupGrant:(...a)=>Mi(l,...a),updateGroupGrant:(...a)=>Ui(l,...a),detachGroupGrant:a=>Oi(l,a),resourceGrants:{list:()=>Fi(l),create:a=>Li(l,a),remove:a=>Gi(l,a)}},connectors:{...x(l),list:()=>ho(l),config:(...a)=>So(l,...a),create:(...a)=>Ro(l,...a),remove:(...a)=>Ao(l,...a),sync:()=>bo(l),auth:{discover:(...a)=>To(l,...a)},setName:(...a)=>vo(l,...a),setCredentialMode:(...a)=>xo(l,...a),setAuthorizationStrategy:(...a)=>_o(l,...a),setCredential:(...a)=>$o(l,...a),setSensitive:(...a)=>Po(l,...a),connections:h,policies:{get:(...a)=>ko(l,...a),set:(...a)=>wo(l,...a)},pipedream:{listApps:(...a)=>Io(l,...a),listSections:(...a)=>jo(l,...a),connect:(...a)=>Co(l,...a),finalize:(...a)=>qo(l,...a)},discover:{list:(...a)=>Cr(l,...a),detail:(...a)=>Rr(l,...a)}},policies:{list:()=>Do(l),set:(...a)=>Mo(l,...a)},triggers:{list:()=>ja(l),create:(...a)=>Ea(l,...a),update:(...a)=>$a(l,...a),remove:(...a)=>qa(l,...a),fire:(...a)=>Ma(l,...a),setActivation:(...a)=>Da(l,...a)},files:{list:a=>Wo(l,a),read:(a,A)=>Vo(l,a,A),search:(...a)=>zo(l,...a),archive:(...a)=>Jo(l,...a),history:(...a)=>ea(l,...a)},git:{commits:()=>Qo(l),commit:a=>Yo(l,a),commitDiff:a=>Zo(l,a),branches:()=>Xo(l),versionDiff:(...a)=>ta(l,...a),inviteCollaborator:(...a)=>oi(l,...a)},changeRequests:{list:()=>na(l),get:a=>ra(l,a),diff:a=>sa(l,a),mergePreview:a=>ia(l,a),open:(...a)=>oa(l,...a),merge:(...a)=>aa(l,...a),close:(...a)=>ca(l,...a),reopen:(...a)=>la(l,...a),requestChanges:(...a)=>ua(l,...a)},sessions:{list:a=>Be(l,a),create:a=>Ke(l,a),ensureWarm:()=>ba(l),claimWarm:a=>xa(l,a)},review:{list:a=>Jc(l,a),get:a=>Xc(l,a),submit:a=>Qc(l,a),act:(...a)=>Yc(l,...a),bulkAct:a=>Zc(l,a)},approvals:{list:a=>Bi(l,a),resolve:(...a)=>Hi(l,...a),sessionsNeedingInput:a=>Ki(l,a)},gateway:{logs:a=>qc(l,a),log:a=>Dc(l,a),overview:a=>Mc(l,a),series:a=>Uc(l,a),breakdown:a=>Oc(l,a),sessions:a=>Fc(l,a),errors:a=>Lc(l,a),budgets:()=>Gc(l),setBudget:a=>Bc(l,a),deleteBudget:a=>Kc(l,a),keys:()=>Hc(l),createKey:a=>Nc(l,a),revokeKey:a=>Wc(l,a),routing:{get:()=>Ic(l),set:a=>jc(l,a),reset:()=>Ec(l),preview:a=>$c(l,a)},playground:(a,A,j)=>zc(l,a,A,j)},channels:{slack:{installation:()=>hc(l),connect:a=>bc(l,a),mode:()=>xc(l),manifest:()=>_c(l),disconnect:()=>Pc(l),getFile:a=>kc(l,a),uploadFile:a=>wc(l,a)},email:{installation:a=>Sc(l,a),mode:()=>vc(l),connect:a=>Cc(l,a),disconnect:a=>Rc(l,a),updatePolicy:(...a)=>Tc(l,...a)},voice:{setBotName:a=>Ac(l,a)}},updateFeatureFlag:(...a)=>di(l,...a),updateExperimentalFeature:(...a)=>gi(l,...a),modelDefaults:{get:()=>Ga(l),set:a=>Ba(l,a),clear:a=>Ka(l,a)},setDefaultAgent:a=>za(l,a),sandbox:{list:()=>No(l),snapshots:()=>Oo(l),rebuildSnapshot:a=>Fo(l,a),fixWithAgent:()=>Lo(l),createTemplate:a=>Go(l,a),updateTemplate:(...a)=>Bo(l,...a),removeTemplate:a=>Ko(l,a),buildTemplate:a=>Ho(l,a),setProvider:a=>mi(l,a)},setAgentScope:(...a)=>Na(l,...a),session:a=>T(l,a)}}function T(l,h){let a=null,A,j,v=null;async function k(){v||(v=Ir(l,h,{showErrors:!1}).then(y=>{let C=typeof y.metadata?.opencode_model=="string"?y.metadata.opencode_model.trim():"",M=C.indexOf("/"),z=M>0&&M<C.length-1?{providerID:C.slice(0,M),modelID:C.slice(M+1)}:void 0,V=y.agent_name?.trim()||void 0;return{model:z,agent:V}}));try{return await v}catch(y){throw v=null,y}}function E(){if(a)return a;let y=Oa(l,h);return y&&(a=y),a}async function w(y){let C=E();if(C)return C;let M=y?.readyTimeoutMs??18e4,z=`${l}
20
- ${h}`,V=Tt.get(z);if(V)return a=await V,a;let J=(async()=>{let Q=Date.now()+M,H=()=>Math.max(0,Q-Date.now()),D=await je(l,h,Math.min(3e4,H()));for(;Date.now()<Q&&(D==null||(D.stage==="provisioning"||D.stage==="starting")&&D.retriable);)await new Promise(be=>setTimeout(be,Math.min(1e3,H()))),D=await je(l,h,Math.min(3e4,H()));if(!D||D.stage!=="ready"||!D.sandbox||!D.opencode_session_id)throw new R(`Session runtime not ready (stage: ${D?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let U=D.sandbox.external_id;if(!U)throw new R("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let N=st(U);return ys(N,U),{opencodeSessionId:D.opencode_session_id,runtimeUrl:N,sandboxId:U}})();Tt.set(z,J);try{return a=await J,a}finally{Tt.get(z)===J&&Tt.delete(z)}}function F(y){let C=E();if(!C)throw new At(y);return C}function K(){a=null,La(l,h)}return{get:y=>Ir(l,h,y),cost:()=>Dr(h,{projectId:l}),update:y=>wa(l,h,y),delete:()=>(K(),Sa(l,h)),start:(...y)=>je(l,h,...y),restart:()=>(K(),Pt(l,h)),stop:()=>(K(),kt(l,h)),configState:()=>va(l,h),reloadConfig:y=>(K(),Ca(l,h,y)),reloadConfigStream:(...y)=>(K(),Ra(l,h,...y)),setSharing:y=>ga(l,h,y),previews:()=>ma(l,h),commit:y=>pa(l,h,y),publicShares:{list:()=>fa(l,h),create:(...y)=>ya(l,h,...y),revoke:(...y)=>ha(l,h,...y)},audit:(y,C)=>_a(l,h,y,C),transcript:y=>Pa(l,h,y),voiceTranscript:y=>ka(l,h,y),ensureReady:w,health:y=>Wl(E()?.runtimeUrl??null,y),previewUrl:(y,C="/")=>me(y,C,r(F("previewUrl").sandboxId)),proxyUrl:y=>Xl(y,r(F("proxyUrl").sandboxId)),setModel:y=>{A=y},changeModel:async y=>{let C=await Ia(l,h,y);return v=null,C},scope:()=>Ta(l,h),rescope:y=>Aa(l,h,y),setAgent:y=>{j=y},send:async(y,C)=>{let{opencodeSessionId:M,runtimeUrl:z}=await w(),V=C?.model??A,J=C?.agent??j,Q=V&&J?{}:await k(),H=V??Q.model,D=J??Q.agent;return re(z).session.prompt({sessionID:M,parts:[{type:"text",text:y}],...H?{model:H}:{},...D?{agent:D}:{}})},abort:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return re(C).session.abort({sessionID:y})},rewind:async y=>{let{opencodeSessionId:C,runtimeUrl:M}=await w();return re(M).session.revert({sessionID:C,messageID:y})},restoreRewind:async()=>{let{opencodeSessionId:y,runtimeUrl:C}=await w();return re(C).session.unrevert({sessionID:y})},stream:async y=>{let{runtimeUrl:C}=await w();return Gr({client:re(C),onEvent:y.onEvent,onGapRehydrate:y.onGapRehydrate,signal:y.signal})},get runtime(){return re(F("runtime").runtimeUrl)},files:{list:async y=>lt(y,(await w()).runtimeUrl),read:async y=>Fe(y,(await w()).runtimeUrl),readBlob:async y=>Le(y,(await w()).runtimeUrl),status:async()=>ut((await w()).runtimeUrl),findFiles:async(y,C)=>pt(y,C,(await w()).runtimeUrl),findText:async y=>dt(y,(await w()).runtimeUrl),upload:async(y,C,M)=>Ge(y,C,M,(await w()).runtimeUrl),create:async y=>gt(y,(await w()).runtimeUrl),copy:async(y,C)=>mt(y,C,(await w()).runtimeUrl),remove:async y=>ft(y,(await w()).runtimeUrl),mkdir:async y=>yt(y,(await w()).runtimeUrl),rename:async(y,C)=>ht(y,C,(await w()).runtimeUrl)}}}return{config:t,accounts:s,accountInvites:u,projects:p,connectors:x(),project:I,session:T,github:g,billing:c,sandboxShares:f,transcribe:Vc,connectStatus:m,marketplace:_,validateToken:ri,runtime:yd}}function bd(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();let e=new Uint8Array(16);if(t?.getRandomValues)t.getRandomValues(e);else for(let r=0;r<16;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=[...e].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var tu={thinking:!1,toolDetails:!0,assistantMetadata:!0};function xd(t){return t&&t.charAt(0).toUpperCase()+t.slice(1)}function _d(t){let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60),r=e%60;return`${n}m ${r.toFixed(0)}s`}function Pd(t,e){if(t.type==="text"&&!t.synthetic)return`${t.text??""}
19
+ `);let E=Pd(I);if(E){if(r(E),E.type==="error")throw new v(E.error,{status:E.status,code:E.code,data:{reason:E.reason}});E.type==="done"&&(f=E.result)}}}}finally{u.cancel().catch(()=>{})}if(!f)throw new Error("Reload stream ended without a result");return f}async function Ha(t,e){return a(await i.get(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`))}async function Wa(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/scope`,n))}async function za(t,e,n){return a(await i.put(`/projects/${t}/sessions/${encodeURIComponent(e)}/model`,{opencode_model:n}))}async function Va(t){return a(await i.get(`/projects/${t}/triggers`))}async function Ja(t,e){return a(await i.post(`/projects/${t}/triggers`,e))}async function Xa(t,e,n){return a(await i.patch(`/projects/${t}/triggers/${e}`,n))}async function Qa(t,e){return a(await i.delete(`/projects/${t}/triggers/${e}`))}async function Ya(t,e){return a(await i.patch(`/projects/${t}/triggers/activation`,{paused:e}))}async function Za(t,e){return a(await i.post(`/projects/${t}/triggers/${e}/fire`,{}))}var ie=new Map;function Fr(t,e){return`${t}::${e}`}function ec(t,e){ie.delete(t),ie.set(t,e)}function tc(t,e){let n=Fr(t,e),r=ie.get(n);return r&&ec(n,r),r}function nc(t,e,n){let r=Fr(t,e);if(!ie.has(r)&&ie.size>=512){let s=ie.keys().next().value;s!==void 0&&ie.delete(s)}ec(r,n)}function rc(t,e){ie.delete(Fr(t,e))}function Rx(t){if(t.status!=="running"||!t.sandbox_id||!t.sandbox_provider||!t.sandbox_url||!t.opencode_session_id)return null;let e=t.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return e?{stage:"ready",agent_name:t.agent_name??"default",retriable:!0,sandbox:{sandbox_id:t.sandbox_id,session_id:t.session_id,project_id:t.project_id,account_id:t.account_id,provider:t.sandbox_provider,external_id:e,base_url:t.sandbox_url,status:"active",config:{},metadata:t.metadata,last_used_at:t.updated_at,created_at:t.created_at,updated_at:t.updated_at},opencode_session_id:t.opencode_session_id,runtime_url:t.sandbox_url}:null}var Lr=class extends Error{status;code;terminal;constructor(e,n){super(e),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Tx(t){return t instanceof Error&&t.name==="SessionStartError"}function kd(t){let e=t,n=e?.status,r=e?.code??e?.details?.code??e?.details?.error,s=e?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Lr(s,{status:n,code:r,terminal:!0}):null}async function qe(t,e,n){let r=n&&n>0?`?wait_ms=${Math.floor(n)}`:"",s=await i.post(`/projects/${t}/sessions/${e}/start${r}`,{},{showErrors:!1});if(!s.success||!s.data){let p=kd(s.error);if(p&&!(p.status===404&&wa(e)))throw p;return null}let o=s.data,u=o.sandbox?.external_id;return o.stage==="ready"&&u&&o.opencode_session_id&&nc(t,e,{opencodeSessionId:o.opencode_session_id,runtimeUrl:ut(u),sandboxId:u}),o}function Ax(t,e){return["session-start",t,e]}async function sc(t){return a(await i.get(`/projects/${t}/model-defaults`))}async function ic(t,e){return a(await i.put(`/projects/${t}/model-defaults`,e))}async function oc(t,e){let n=new URLSearchParams({scope:e.scope,...e.agentName?{agentName:e.agentName}:{}}).toString();return a(await i.delete(`/projects/${t}/model-defaults?${n}`))}async function Mx(t,e){return a(await i.put(`/projects/${t}/model-enablement`,{modelOverrides:e}))}async function cc(t,e,n){let r=Sd(n);return a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/scope`,r))}function ac(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function wd(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function Sd(t){let e=t.connectors_required?ac(t.connectors_required):void 0,n=t.connectors_personal?ac(t.connectors_personal):void 0;if(e&&n&&!wd(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Nx(t,e){let n=a(await i.get(`/projects/${t}/agents/${encodeURIComponent(e)}/config`));return{...n,block:n.block?Gr(n.block):null}}async function Kx(t,e,n){let r=Gr(n),s=a(await i.put(`/projects/${t}/agents/${encodeURIComponent(e)}/config`,r));return{...s,block:s.block?Gr(s.block):null}}function lc(t){let e=[];for(let n of t){let r=n.trim();r&&!e.includes(r)&&e.push(r)}return e}function vd(t,e){if(t.length!==e.length)return!1;let n=new Set(e);return t.every(r=>n.has(r))}function Gr(t){let e=t.connectors_required?lc(t.connectors_required):void 0,n=t.connectors_personal?lc(t.connectors_personal):void 0;if(e&&n&&!vd(e,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...t};return delete r.connectors_personal,(e!==void 0||n!==void 0)&&(r.connectors_required=e??n),r}async function Hx(t,e,n){return a(await i.post(`/projects/${t}/secrets/${encodeURIComponent(e)}/grant`,{agent:n}))}async function uc(t,e){return a(await i.put(`/projects/${t}/default-agent`,{agent:e}))}function Br(){return{credits:{total:0,daily:0,monthly:0,extra:0,can_run:!1,daily_refresh:null},subscription:{tier_key:"none",tier_display_name:"No Plan",status:"no_subscription",billing_period:null,provider:"stripe",subscription_id:null,current_period_end:null,cancel_at_period_end:!1,is_cancelled:!1,cancellation_effective_date:null,has_scheduled_change:!1,scheduled_change:null,commitment:{has_commitment:!1,can_cancel:!0,commitment_type:null,months_remaining:null,commitment_end_date:null},can_purchase_credits:!1},models:[],limits:{concurrent_runs:{running_count:0,limit:0,can_start:!1,tier_name:"none"},ai_worker_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"},custom_mcp_count:{current_count:0,limit:0,can_create:!1,tier_name:"none"}},tier:{name:"none",display_name:"No Plan",monthly_credits:0,can_purchase_credits:!1}}}function Cd(t){let e=t.trim().toLowerCase();return e===""||e==="free"||e==="none"?"free":e==="enterprise"?"enterprise":"team"}function Jx(t){let e=t?.plan;if(e)return{family:e.family,label:e.label,sublabel:e.sublabel??null,isGrandfathered:e.is_grandfathered===!0};let n=t??Br(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:Cd(r),label:s,sublabel:null,isGrandfathered:!1}}async function pc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Br():s.data}async function dc(t){let e=new URLSearchParams;t?.skipCache&&e.set("skip_cache","true"),t?.accountId&&e.set("account_id",t.accountId);let n=e.toString(),r=n?`?${n}`:"",s=await i.get(`/billing/account-state/minimal${r}`,{showErrors:!1}),o=s.error?.status===404&&/billing is not enabled/i.test(s.error.message||"");if(s.error&&s.error.status!==401&&!o)throw s.error;return s.error?Br():s.data}async function gc(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.limit!=null&&e.set("limit",String(t.limit)),t?.offset!=null&&e.set("offset",String(t.offset)),t?.typeFilter&&e.set("type_filter",Array.isArray(t.typeFilter)?t.typeFilter.join(","):t.typeFilter);let n=e.toString();return a(await i.get(`/billing/transactions${n?`?${n}`:""}`))}async function mc(t){let e=new URLSearchParams;t?.accountId&&e.set("account_id",t.accountId),t?.days!=null&&e.set("days",String(t.days));let n=e.toString();return a(await i.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function fc(){return a(await i.get("/billing/credit-breakdown"))}async function yc(t){let e=t!=null?`?days=${t}`:"";return a(await i.get(`/billing/usage-history${e}`))}async function hc(){return a(await i.get("/billing/tier-configurations"))}async function Xx(t){let e=t.accountId?`?account_id=${encodeURIComponent(t.accountId)}`:"";return je(t,`/v1/billing/account-state${e}`)}async function bc(t){return a(await i.post("/billing/create-checkout-session",{account_id:t.accountId,tier_key:t.tierKey,success_url:t.successUrl,cancel_url:t.cancelUrl,commitment_type:t.commitmentType,locale:t.locale,server_type:t.serverType,location:t.location}),"Failed to create checkout session")}async function xc(t,e){return a(await i.post("/billing/confirm-checkout-session",{account_id:e,session_id:t}),"Failed to confirm checkout session")}async function _c(t,e){return a(await i.post("/billing/create-portal-session",{account_id:e,return_url:t}),"Failed to create portal session")}async function Pc(t,e){return a(await i.post("/billing/cancel-subscription",{account_id:e,feedback:t}),"Failed to cancel subscription")}async function kc(t){return a(await i.post("/billing/reactivate-subscription",{account_id:t}),"Failed to reactivate subscription")}async function wc(t,e,n){return a(await i.post("/billing/schedule-downgrade",{account_id:n,target_tier_key:t,commitment_type:e}),"Failed to schedule downgrade")}async function Sc(t){return a(await i.post("/billing/cancel-scheduled-change",{account_id:t}),"Failed to cancel scheduled change")}async function vc(t,e){let n=new URLSearchParams({new_price_id:t});return e&&n.set("account_id",e),a(await i.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Cc(t){return a(await i.post("/billing/purchase-credits",{amount:t.amount,account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl}),"Failed to purchase credits")}async function Rc(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/settings${e}`),"Failed to load auto-topup settings")}async function Tc(t){return a(await i.post("/billing/auto-topup/configure",{account_id:t.accountId,enabled:t.enabled,threshold:t.threshold,amount:t.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function Qx(t){let e=t?`?account_id=${encodeURIComponent(t)}`:"";return a(await i.get(`/billing/auto-topup/setup-status${e}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function Yx(t){return a(await i.post("/billing/create-per-seat-checkout",{account_id:t.accountId,success_url:t.successUrl,cancel_url:t.cancelUrl,locale:t.locale}),"Failed to create per-seat checkout")}async function Zx(t){return a(await i.post("/billing/claim-per-seat",{account_id:t}),"Failed to switch to per-seat billing")}async function e_(t){return a(await i.post("/billing/sync-subscription",{account_id:t}),"Failed to sync subscription")}async function Ac(t={}){let e=new URLSearchParams;t.start&&e.set("start",t.start),t.end&&e.set("end",t.end),(t.groupBy==="model"||t.groupBy==="provider"||t.groupBy==="day")&&e.set("group_by",t.groupBy),t.accountId&&e.set("account_id",t.accountId);let n=e.toString();return a(await i.get(`/usage${n?`?${n}`:""}`))}function Nr(t,e){e.accountId&&t.set("account_id",e.accountId),e.projectId&&t.set("project_id",e.projectId)}function Tt(t,e){e.from&&t.set("from",e.from),e.to&&t.set("to",e.to)}function At(t){return t.size>0?`?${t}`:""}async function Ec(t={}){let e=new URLSearchParams;return Nr(e,t),t.ownerId&&e.set("owner_id",t.ownerId),Tt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/session-costs${At(e)}`))}async function Kr(t,e={}){let n=new URLSearchParams;return Nr(n,e),a(await i.get(`/usage/session-costs/${encodeURIComponent(t)}${At(n)}`))}async function o_(t={}){let e=new URLSearchParams;return t.accountId&&e.set("account_id",t.accountId),Tt(e,t),t.sort&&e.set("sort",t.sort),t.limit!=null&&e.set("limit",String(t.limit)),t.offset!=null&&e.set("offset",String(t.offset)),a(await i.get(`/usage/cost-by-project${At(e)}`))}async function a_(t={}){let e=new URLSearchParams;return Nr(e,t),t.sessionId&&e.set("session_id",t.sessionId),Tt(e,t),a(await i.get(`/usage/cost-summary${At(e)}`))}function Ic(t,e={}){let n=new URLSearchParams;if(e.accountId&&n.set("account_id",e.accountId),t==="sessions"){let s=e;s.projectId&&n.set("project_id",s.projectId),s.ownerId&&n.set("owner_id",s.ownerId)}Tt(n,e),e.sort&&n.set("sort",e.sort),n.set("format","csv");let r=t==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${$().backendUrl||""}${r}?${n}`}async function c_(t,e={}){let n=Ic(t==="projects"?"projects":"sessions",e),r=await re(),s=await fetch(n,{method:"GET",headers:r?{Authorization:`Bearer ${r}`}:{}});if(!s.ok){let d=await s.text().catch(()=>"");throw new Error(d||`Failed to export CSV (HTTP ${s.status})`)}let o=s.headers.get("x-kortix-row-cap"),u=o!=null?Number(o):NaN;return{blob:await s.blob(),rowCap:Number.isFinite(u)?u:null}}async function jc(t,e){return a(await i.post(`/channels/${t}/identity/bind`,{token:e}),"Failed to connect your account")}function d_(t){return jc("slack",t)}function g_(t){return jc("teams",t)}async function $c(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});return e.success?e.data??null:null}async function qc(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/connect`,e,{showErrors:!1}),"Failed to connect")}var Rd={oauth_available:!1,install_url:null};async function Dc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/mode`,{showErrors:!1});return!e.success||!e.data?Rd:e.data}async function Mc(t){return a(await i.get(`/webhooks/slack/${encodeURIComponent(t)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Oc(t){let e=await i.delete(`/projects/${encodeURIComponent(t)}/channels/slack/installation`,{showErrors:!1});if(!e.success)throw new Error(e.error?.message??"Failed to disconnect")}async function Uc(t,e){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/slack/file?url=${encodeURIComponent(e)}`,{showErrors:!1}),"Failed to download Slack file")}async function Fc(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/channels/slack/file/upload`,{channel:e.channel,filename:e.filename,content_base64:e.contentBase64,comment:e.comment,thread_ts:e.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Hr(t){let e=t.connectionId??t.connection_id??null,n=t.connectorSlug??t.connector_slug??t.connectionSlug??t.connection_slug??"kortix_email";return{...t,connectionId:e,connectorSlug:n}}var Td={provider:"agentmail",managed_available:!1};async function Lc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Hr(r.data):null}async function Gc(t){let e=await i.get(`/projects/${encodeURIComponent(t)}/channels/email/mode`,{showErrors:!1});return!e.success||!e.data?Td:e.data}async function Bc(t,e){let n=a(await i.post(`/projects/${encodeURIComponent(t)}/channels/email/connect`,e,{showErrors:!1}),"Failed to connect email");return Hr(n)}async function Nc(t,e){let n=e?`?connector_slug=${encodeURIComponent(e)}`:"",r=await i.delete(`/projects/${encodeURIComponent(t)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function Kc(t,e,n){let r=a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/email/installation`,{connector_slug:e??"kortix_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Hr(r)}async function Hc(t,e){return a(await i.put(`/projects/${encodeURIComponent(t)}/channels/meet/name`,{name:e},{showErrors:!1}),"Failed to save name")}async function m_(t){return a(await i.get(`/projects/${encodeURIComponent(t)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function f_(t,e,n){return a(await i.patch(`/projects/${encodeURIComponent(t)}/channels/bindings/${encodeURIComponent(e)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Wc(t){return a(await i.get(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function zc(t,e){return a(await i.put(`/projects/${t}/gateway/routing-policy`,e),"Gateway routing policy request failed")}async function Vc(t){return a(await i.delete(`/projects/${t}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Jc(t,e){return a(await i.post(`/projects/${t}/gateway/routing-policy/preview`,e),"Gateway route preview failed")}async function Xc(t,e){let n=new URLSearchParams;e?.limit&&n.set("limit",String(e.limit)),e?.offset&&n.set("offset",String(e.offset)),e?.ok!==void 0&&n.set("ok",String(e.ok));let r=n.toString();return a(await i.get(`/projects/${t}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function Qc(t,e){return a(await i.get(`/projects/${t}/gateway/logs/${e}`),"Gateway request failed")}async function Yc(t,e){return a(await i.get(`/projects/${t}/gateway/overview${e?`?days=${e}`:""}`),"Gateway request failed")}async function Zc(t,e){return a(await i.get(`/projects/${t}/gateway/series${e?`?days=${e}`:""}`),"Gateway request failed")}async function el(t,e){return a(await i.get(`/projects/${t}/gateway/breakdown${e?`?days=${e}`:""}`),"Gateway request failed")}async function tl(t,e){return a(await i.get(`/projects/${t}/gateway/sessions${e?`?days=${e}`:""}`),"Gateway request failed")}async function nl(t,e){return a(await i.get(`/projects/${t}/gateway/errors${e?`?days=${e}`:""}`),"Gateway request failed")}async function rl(t){return a(await i.get(`/projects/${t}/gateway/budgets`),"Gateway request failed")}async function sl(t,e){return a(await i.put(`/projects/${t}/gateway/budgets`,e),"Gateway request failed")}async function il(t,e){return a(await i.delete(`/projects/${t}/gateway/budgets/${e}`),"Gateway request failed")}async function ol(t){return a(await i.get(`/projects/${t}/gateway/keys`),"Gateway request failed")}async function al(t,e){return a(await i.post(`/projects/${t}/gateway/keys`,{name:e}),"Gateway request failed")}async function cl(t,e){return a(await i.delete(`/projects/${t}/gateway/keys/${e}`),"Gateway request failed")}async function ll(t,e,n,r,s){return a(await i.post(`/projects/${t}/gateway/playground`,{prompt:e,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function x_(t,e){return a(await i.post(`/projects/${t}/gateway/providers/${encodeURIComponent(e)}/verify`,{}),"Gateway provider verification failed")}async function ul(t){let e=new FormData;e.append("audio_file",t);let n=await i.upload("/transcription",e,{showErrors:!0});if(n.error)throw new Error(`Error transcribing audio: ${n.error.message} (${n.error.status})`);return n.data}async function v_(){return a(await i.get("/referrals/code"),"GET_CODE_FAILED")}async function C_(){return a(await i.post("/referrals/code/refresh",{}),"REFRESH_CODE_FAILED")}async function R_(t){return a(await i.post("/referrals/validate",{referral_code:t}),"VALIDATE_CODE_FAILED")}async function T_(){return a(await i.get("/referrals/stats"),"GET_STATS_FAILED")}async function A_(t={}){let e=new URLSearchParams({limit:String(t.limit??50),offset:String(t.offset??0)});return a(await i.get(`/referrals/list?${e}`),"GET_REFERRALS_FAILED")}async function I_(t){return a(await i.post("/referrals/email",{emails:t}),"SEND_EMAILS_FAILED")}function P(t){if(!t.success||t.data===void 0)throw t.error||new Error("Unexpected empty response");return t.data}function O(t){return i.get(t,{showErrors:!1})}async function pl(t){return P(await O(`/accounts/${t}/iam/groups`)).groups}async function dl(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}`))}async function gl(t,e){return P(await i.post(`/accounts/${t}/iam/groups`,e,{showErrors:!1}))}async function ml(t,e,n){return P(await i.patch(`/accounts/${t}/iam/groups/${e}`,n))}async function fl(t,e){return P(await i.delete(`/accounts/${t}/iam/groups/${e}`))}async function yl(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/members`)).members}async function hl(t,e,n){return P(await i.post(`/accounts/${t}/iam/groups/${e}/members`,{userIds:n}))}async function $_(t,e){return P(await O(`/accounts/${t}/iam/groups/${e}/project-grants`)).grants}async function bl(t,e,n){return P(await i.delete(`/accounts/${t}/iam/groups/${e}/members/${n}`))}async function q_(t,e){return P(await O(`/accounts/${t}/iam/members/${e}/groups`)).groups}async function D_(t,e){let n=P(await O(`/accounts/${t}/iam/members/${e}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}async function M_(t,e={}){let n=new URLSearchParams;e.resourceType&&n.set("resourceType",e.resourceType),e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.projectId&&n.set("projectId",e.projectId);let r=n.toString();return P(await O(`/accounts/${t}/iam/resource-grants${r?`?${r}`:""}`)).grants}async function O_(t,e={}){let n=new URLSearchParams;e.principalType&&n.set("principalType",e.principalType),e.principalId&&n.set("principalId",e.principalId),e.scopeType&&n.set("scopeType",e.scopeType),e.scopeId!==void 0&&n.set("scopeId",e.scopeId===null?"null":e.scopeId);let r=n.toString();return P(await O(`/accounts/${t}/iam/policies${r?`?${r}`:""}`)).policies}async function U_(t,e){return P(await i.post(`/accounts/${t}/iam/policies`,e,{showErrors:!1}))}async function F_(t,e,n){return P(await i.patch(`/accounts/${t}/iam/policies/${e}`,n,{showErrors:!1}))}async function L_(t,e){return P(await i.delete(`/accounts/${t}/iam/policies/${e}`))}async function G_(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-delete`,{policy_ids:e},{showErrors:!1}))}async function B_(t,e){return P(await i.post(`/accounts/${t}/iam/policies:bulk-import`,{policies:e},{showErrors:!1}))}async function xl(t){return P(await O(`/accounts/${t}/iam/roles`)).roles}async function _l(t){return P(await O(`/accounts/${t}/iam/agent-identities`)).agents}async function Pl(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/permissions`))}async function N_(t){return P(await O(`/accounts/${t}/iam/actions`)).actions}async function kl(t,e){return P(await O(`/accounts/${t}/iam/roles/${e}/usage`))}async function wl(t,e){return P(await i.post(`/accounts/${t}/iam/roles`,e,{showErrors:!1}))}async function Sl(t,e,n){return P(await i.patch(`/accounts/${t}/iam/roles/${e}`,n,{showErrors:!1}))}async function vl(t,e,n){return P(await i.put(`/accounts/${t}/iam/roles/${e}/permissions`,{actions:n},{showErrors:!1}))}async function Cl(t,e){return P(await i.delete(`/accounts/${t}/iam/roles/${e}`,{showErrors:!1}))}async function K_(t,e,n){return P(await i.patch(`/accounts/${t}/iam/members/${e}/super-admin`,{isSuperAdmin:n}))}async function H_(t){return P(await O(`/accounts/${t}/iam/scim/tokens`)).tokens}async function W_(t,e){return P(await i.post(`/accounts/${t}/iam/scim/tokens`,e,{showErrors:!1}))}async function z_(t,e){return P(await i.delete(`/accounts/${t}/iam/scim/tokens/${e}`))}async function V_(t){return P(await O(`/accounts/${t}/iam/mfa-required`))}async function J_(t){return P(await O(`/accounts/${t}/iam/mfa-required/preview`))}async function X_(t,e){return P(await i.patch(`/accounts/${t}/iam/mfa-required`,{enabled:e},{showErrors:!1}))}async function Q_(t){return P(await O(`/accounts/${t}/iam/sso/provider`)).provider}async function Y_(t,e){return P(await i.put(`/accounts/${t}/iam/sso/provider`,e,{showErrors:!1})).provider}async function Z_(t,e){return P(await i.post(`/accounts/${t}/iam/sso/provider/from-metadata`,e,{showErrors:!1})).provider}async function eP(t){return P(await i.delete(`/accounts/${t}/iam/sso/provider`))}async function tP(t){return P(await O(`/accounts/${t}/iam/sso/mappings`)).mappings}async function nP(t,e){return P(await i.post(`/accounts/${t}/iam/sso/mappings`,e,{showErrors:!1}))}async function rP(t,e){return P(await i.delete(`/accounts/${t}/iam/sso/mappings/${e}`))}async function sP(t){return P(await O(`/accounts/${t}/iam/session-policy`))}async function iP(t,e){return P(await i.patch(`/accounts/${t}/iam/session-policy`,e,{showErrors:!1}))}async function oP(t){return P(await O(`/accounts/${t}/iam/sessions`)).sessions}async function aP(t,e){return P(await i.post(`/accounts/${t}/iam/sessions/${e}/revoke`,{},{showErrors:!1}))}async function cP(t){return P(await O(`/accounts/${t}/iam/pat-policy`))}async function lP(t,e){return P(await i.patch(`/accounts/${t}/iam/pat-policy`,e,{showErrors:!1}))}async function uP(t){return P(await O(`/accounts/${t}/iam/service-accounts`)).service_accounts}async function pP(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts`,e,{showErrors:!1}))}async function dP(t,e){return P(await i.post(`/accounts/${t}/iam/service-accounts/${e}/disable`,{},{showErrors:!1}))}async function gP(t,e){return P(await i.delete(`/accounts/${t}/iam/service-accounts/${e}`))}async function mP(t){return P(await O(`/accounts/${t}/audit/webhooks`)).webhooks}async function fP(t,e){return P(await i.post(`/accounts/${t}/audit/webhooks`,e,{showErrors:!1}))}async function yP(t,e,n){return P(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function hP(t,e){return P(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function bP(t,e={}){let n=new URLSearchParams;e.action&&n.set("action",e.action),e.actor&&n.set("actor",e.actor),e.project_id&&n.set("project_id",e.project_id),e.session_id&&n.set("session_id",e.session_id),e.actor_type&&n.set("actor_type",e.actor_type),e.source&&n.set("source",e.source),e.phase&&n.set("phase",e.phase),e.outcome&&n.set("outcome",e.outcome),e.request_id&&n.set("request_id",e.request_id),e.correlation_id&&n.set("correlation_id",e.correlation_id),e.resource_type&&n.set("resource_type",e.resource_type),e.since&&n.set("since",e.since),e.until&&n.set("until",e.until),e.q&&n.set("q",e.q),e.cursor&&n.set("cursor",e.cursor),e.limit&&n.set("limit",String(e.limit));let r=n.toString();return P(await O(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function Rl(t,e,n){let r=new URLSearchParams;return r.set("action",n.action),n.resourceType&&r.set("resourceType",n.resourceType),n.resourceId&&r.set("resourceId",n.resourceId),P(await O(`/accounts/${t}/iam/members/${e}/effective?${r.toString()}`))}async function Tl(t,e,n){return n.length===0?[]:P(await i.post(`/accounts/${t}/iam/members/${e}/effective:batch`,{probes:n})).results}async function xP(t){return P(await O(`/accounts/${t}/iam/enterprise-demo`)).enabled}async function _P(t,e){return P(await i.put(`/accounts/${t}/iam/enterprise-demo`,{enabled:e})).enabled}function Al(t){return i.get(t,{showErrors:!1})}function Ad(t){let e=new URLSearchParams;t?.principalType&&e.set("principal_type",t.principalType),t?.principalId&&e.set("principal_id",t.principalId),t?.scopeType&&e.set("scope_type",t.scopeType),t?.scopeId&&e.set("scope_id",t.scopeId),t?.objectType&&e.set("object_type",t.objectType),t?.objectId&&e.set("object_id",t.objectId),t?.roleId&&e.set("role_id",t.roleId),t?.includeExpired&&e.set("include_expired","true");let n=e.toString();return n?`?${n}`:""}async function Il(t,e){return a(await Al(`/accounts/${t}/iam/assignments${Ad(e)}`)).assignments}async function El(t,e){let n={principal_type:e.principal.type,principal_id:e.principal.id,scope_type:e.scope.type,scope_id:e.scope.type==="project"?e.scope.id:null};return e.roleId?n.role_id=e.roleId:n.role_key=e.roleKey,e.object&&(n.object_type=e.object.type,n.object_id=e.object.id),e.expiresAt!==void 0&&(n.expires_at=e.expiresAt),a(await i.post(`/accounts/${t}/iam/assignments`,n))}async function jl(t,e){return a(await i.delete(`/accounts/${t}/iam/assignments/${e}`)).assignment}async function $l(t,e){let n=e?.scopeType?`?scope_type=${e.scopeType}`:"";return a(await Al(`/accounts/${t}/iam/permissions${n}`)).permissions}async function RP(){let t=await i.get("/account/deletion-status",{showErrors:!1});return t.error?.status===404?null:a(t,"Failed to load account deletion status")}async function TP(t="User requested deletion"){return a(await i.post("/account/request-deletion",{reason:t},{showErrors:!1}),"Failed to request account deletion")}async function AP(){return a(await i.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function IP(){return a(await i.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function EP(){return(await i.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function DP(){return i.get("/admin/api/provider-distribution").then(t=>a(t))}function MP(t=300){return i.get(`/admin/api/sandboxes?limit=${t}`).then(e=>a(e))}function OP(t){return i.put("/admin/api/provider-distribution",t).then(e=>a(e))}function UP(t){return i.get(`/admin/api/provider-analytics?days=${t}`).then(e=>a(e))}function FP(t,e){return i.post(`/admin/api/sandboxes/${encodeURIComponent(t)}/migrate`,{targetProvider:e}).then(n=>a(n))}function LP(){return i.get("/admin/api/provider-fallback").then(t=>a(t))}function GP(t){return i.put("/admin/api/provider-fallback",{enabled:t}).then(e=>a(e))}async function HP(t){return a(await i.get(`/google/auth-url?return_url=${encodeURIComponent(t)}`),"Failed to get Google auth URL")}async function WP(t,e){return a(await i.post("/presentation-tools/convert-and-upload-to-slides",{presentation_path:t,sandbox_url:e},{timeout:18e4}),"Failed to upload to Google Slides")}async function ql(t,e){let n=new URLSearchParams;e?.segment&&n.set("segment",e.segment),e?.kind&&n.set("kind",e.kind);let r=n.toString();return a(await i.get(`/projects/${t}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Dl(t,e){return a(await i.get(`/projects/${t}/review/items/${e}`))}async function Ml(t,e){return a(await i.post(`/projects/${t}/review/items`,e))}async function Ol(t,e,n){return a(await i.post(`/projects/${t}/review/items/${e}/act`,n))}async function Ul(t,e){return a(await i.post(`/projects/${t}/review/bulk`,e))}async function Fl(t){return a(await i.get(`/p/share?sandbox_id=${encodeURIComponent(t)}`),"Failed to load public links").shares??[]}async function Ll(t){return a(await i.post("/p/share",{sandbox_id:t.sandboxId,port:t.port,ttl:t.ttl,label:t.label}),"Failed to generate public URL")}async function Gl(t,e){let n=await i.delete(`/p/share/${encodeURIComponent(e)}?sandbox_id=${encodeURIComponent(t)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Wr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Bl(t,e=""){return`${pe()}/public/session-shares/${encodeURIComponent(t)}${e}`}async function Nl(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new Wr(s,e.status)}return r}async function tk(t){return Nl(Bl(t))}async function nk(t){return Nl(Bl(t,"/messages"))}var zr=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicVoiceJoinError"}status};function Kl(t){return`${pe()}/public/voice-join/${encodeURIComponent(t)}`}async function Hl(t){let e=await fetch(t,{method:"GET",headers:{Accept:"application/json"}}),n=await e.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!e.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||e.statusText||`HTTP ${e.status}`;throw new zr(s,e.status)}return r}async function ik(t){return Hl(Kl(t))}async function ok(t,e=0){let n=`${Kl(t)}/transcript?cursor=${encodeURIComponent(String(e))}`;return Hl(n)}async function Wl(t,e){let n=new URLSearchParams;t&&n.set("account_id",t),e?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return a(await i.get(`/accounts/tokens${r}`))}async function zl(t){let{accountId:e,expiresAt:n,projectId:r,name:s}=t;return a(await i.post("/accounts/tokens",{name:s,...e?{account_id:e}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Vl(t,e){let n=e?`?account_id=${encodeURIComponent(e)}`:"";return a(await i.delete(`/accounts/tokens/${t}${n}`))}async function Jl(t){return a(await i.get(`/projects/${t}/cli-token`))}async function Xl(t,e){return a(await i.post(`/projects/${t}/cli-token`,e??{}))}async function Ql(t,e){return a(await i.delete(`/projects/${t}/cli-token/${e}`))}async function Yl(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit${r?`?${r}`:""}`))}async function Zl(t,e){let n=new URLSearchParams;e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/projects/${t}/audit${r?`?${r}`:""}`))}async function eu(t,e){let n=new URLSearchParams;e?.format&&n.set("format",e.format),e?.action&&n.set("action",e.action),e?.actor&&n.set("actor",e.actor),e?.actorType&&n.set("actor_type",e.actorType),e?.projectId&&n.set("project_id",e.projectId),e?.sessionId&&n.set("session_id",e.sessionId),e?.source&&n.set("source",e.source),e?.phase&&n.set("phase",e.phase),e?.outcome&&n.set("outcome",e.outcome),e?.resourceType&&n.set("resource_type",e.resourceType),e?.requestId&&n.set("request_id",e.requestId),e?.correlationId&&n.set("correlation_id",e.correlationId),e?.since&&n.set("since",e.since),e?.until&&n.set("until",e.until),e?.q&&n.set("q",e.q),e?.cursor&&n.set("cursor",e.cursor),e?.limit!=null&&n.set("limit",String(e.limit));let r=n.toString();return a(await i.get(`/accounts/${t}/audit/export${r?`?${r}`:""}`))}async function tu(t){return a(await i.get(`/accounts/${t}/audit/webhooks`))}async function nu(t,e){return a(await i.post(`/accounts/${t}/audit/webhooks`,e))}async function ru(t,e,n){return a(await i.patch(`/accounts/${t}/audit/webhooks/${e}`,n))}async function su(t,e){return a(await i.delete(`/accounts/${t}/audit/webhooks/${e}`))}async function iu(t,e){return a(await i.post(`/projects/${t}/secret-requests`,{names:e.names,labels:e.labels,descriptions:e.descriptions,scope:e.scope,expires_in_minutes:e.expiresInMinutes}),"Failed to mint secret-entry link")}async function ou(t,e){return a(await i.post(`/projects/${t}/connect-requests`,{slug:e.slug,expires_in_minutes:e.expiresInMinutes}),"Failed to mint connect link")}async function yk(t){return a(await i.get(`/approval-links/${t}`),"Failed to load approval")}async function au(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString()?`?${e.toString()}`:"";return a(await i.get(`/marketplace/items${n}`))}async function cu(){return a(await i.get("/marketplace/marketplaces"))}async function lu(){return a(await i.get("/marketplace/marketplaces/featured"))}async function uu(t){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}`),"Item not found")}async function pu(t,e){return a(await i.get(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`),"File not found")}async function du(){return a(await i.get("/marketplace/sources"))}async function gu(t){return a(await i.post("/marketplace/sources",t),"Failed to add marketplace source")}async function mu(t){return a(await i.delete(`/marketplace/sources/${encodeURIComponent(t)}`),"Failed to remove marketplace source")}async function _k(t,e){return a(await i.post(`/projects/${encodeURIComponent(t)}/marketplace/install-session`,{id:e}),"Failed to start marketplace install session")}async function Sk(t){return a(await i.get(`/templates/${encodeURIComponent(t)}`))}async function vk(t,e){return a(await i.post(`/templates/${encodeURIComponent(t)}/install`,e))}async function fu(t){return a(await i.get(`/projects/${t}/apps`),"Failed to list Apps").apps}async function yu(t,e){return a(await i.post(`/projects/${t}/apps`,e),"Failed to create App")}async function hu(t,e){return a(await i.get(`/projects/${t}/apps/${e}`),"Failed to load App")}async function bu(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}`,n),"Failed to update App")}async function xu(t,e){return a(await i.delete(`/projects/${t}/apps/${e}`),"Failed to delete App")}async function _u(t,e){return a(await i.get(`/projects/${t}/apps/${e}/access`),"Failed to load App access policy")}async function Pu(t,e,n){return a(await i.patch(`/projects/${t}/apps/${e}/access`,n),"Failed to update App access policy")}async function ku(t,e){return a(await i.post(`/projects/${t}/apps/${e}/access-session`,{}),"Failed to create App access session")}async function Vr(t,e){return a(await i.post(`/projects/${t}/apps/artifacts`,e),"Failed to register App artifact")}async function Jr(t,e,n){return a(await i.post(`/projects/${t}/apps/artifacts/${e}/finalize`,n),"Failed to finalize App artifact")}async function Id(t){return t instanceof Uint8Array?t:new Uint8Array(await t.arrayBuffer())}async function Ed(t){let e=Uint8Array.from(t),n=await globalThis.crypto.subtle.digest("SHA-256",e.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function wu(t,e,n={}){let r=await Id(e),s=n.mediaType??"application/gzip",o=await Vr(t,{kind:"archive",media_type:s});if(!o.upload)throw new Error("App artifact registration did not return an upload URL");if(r.byteLength>o.upload.max_bytes)throw new Error(`App artifact exceeds ${o.upload.max_bytes} bytes`);n.onProgress?.(0,r.byteLength);let u=await fetch(o.upload.url,{method:"PUT",body:new Blob([Uint8Array.from(r).buffer],{type:s}),signal:n.signal,headers:{"content-type":s,"x-upsert":"false"}});if(!u.ok){let p=await u.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${u.status}${p?`: ${p}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),Jr(t,o.artifact.artifact_id,{sha256:await Ed(r),size_bytes:r.byteLength})}async function Su(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/deployments`,n),"Failed to create App deployment")}async function vu(t,e){return a(await i.get(`/projects/${t}/apps/${e}/deployments`),"Failed to list App deployments").deployments}async function Cu(t,e,n){return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}`),"Failed to load App deployment")}async function Ru(t,e,n,r={}){let s=new URLSearchParams;r.after!==void 0&&s.set("after",String(r.after)),r.limit!==void 0&&s.set("limit",String(r.limit));let o=s.size?`?${s.toString()}`:"";return a(await i.get(`/projects/${t}/apps/${e}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function Tu(t,e){return a(await i.post(`/projects/${t}/apps/${e}/start`,{}),"Failed to start App")}async function Au(t,e){return a(await i.post(`/projects/${t}/apps/${e}/stop`,{}),"Failed to stop App")}async function Iu(t,e,n){return a(await i.post(`/projects/${t}/apps/${e}/rollback`,{deployment_id:n}),"Failed to roll back App")}var jd=["control_plane","provider_ingress","daemon","upstream_port"];function Eu(t){return typeof t=="string"&&jd.includes(t)?t:null}function jk(t){return t?t.runtimeReady!==void 0?t.runtimeReady===!0:t.opencode!==void 0?t.opencode==="ok"||t.opencode===!0:t.status!=="starting"&&t.status!=="down"&&t.status!=="error":!1}async function ju(t,e){let n=(t===void 0?de():t)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await D(`${n}/kortix/health`,{method:"GET",...e},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let u=o,p=Eu(r.headers.get("X-Kortix-Proxy-Hop"))??Eu(o?.hop),d=Number(r.headers.get("X-Kortix-Upstream-Status")),f=o?.upstream_status,m=Number.isFinite(d)&&d>0?d:typeof f=="number"?f:null;return{status:r.status,ok:r.ok,health:u,body:s,hop:p,upstreamStatus:m}}var oe={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",KORTIX_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};var $u=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,qu=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Du=new Set([22,4096,parseInt(oe.KORTIX_MASTER,10)]);function $d(t){return qu.test(t)}function It(t){if(!t)return"/";let e=t,n=e.indexOf("](");n!==-1&&(e=e.slice(0,n));let r=e.toLowerCase().indexOf("%5d(");return r!==-1&&(e=e.slice(0,r)),e?e.startsWith("/")?e:`/${e}`:"/"}function qd(t){let e=t.indexOf("](");return e===-1?t:t.slice(0,e)}var Dd=new Set(["'",'"',"`","<","(","["]),Md=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Od(t){let e=0,n=t.length;for(;e<n&&(t[e]===" "||t[e]===" ");)e++;for(;n>e&&(t[n-1]===" "||t[n-1]===" ");)n--;for(;e<n&&Dd.has(t[e]);)e++;for(;n>e&&Md.has(t[n-1]);)n--;return t.slice(e,n)}function Ud(t){return t.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var Fd=/^\/proxy\/(\d{1,5})(\/.*)?$/,Ld=/^\/(connectors|settings|dashboard|projects|agents|skills|tools|commands|support|changelog|files|p|browser|desktop|terminal|sessions|services|workspace|channels|scheduled-tasks|marketplace|templates|tunnel|admin|auth)(\/|$|\?)/;function Gd(t){if(!t)return!1;try{let e=new URL(t);return e.hostname!=="localhost"&&e.hostname!=="127.0.0.1"?!1:Ld.test(e.pathname)}catch{return!1}}function Et(t){if(!t)return null;let e=Od(qd(t.trim())),n=Uu(e);if(n){let r=It(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.hostname!=="localhost"&&r.hostname!=="127.0.0.1"||!r.port)return null;let s=parseInt(r.port,10);if(!Number.isInteger(s)||s<1||s>65535)return null;let o=`${r.pathname||"/"}${r.search}${r.hash}`,u=parseInt(oe.KORTIX_MASTER,10);if(s===u){let d=r.pathname.match(Fd);if(d){let f=parseInt(d[1],10);if(f>=1&&f<=65535)return s=f,o=It(`${d[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let p=It(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${p}`,port:s,path:p}}catch{let r=Ud(t);return r&&r!==t?Et(r):null}}function Bd(t){let e=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(t))!==null;)e.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(t))!==null;){let o=r.index,u=o+r[0].length;e.some(([d,f])=>o>=d&&u<=f)||e.push([o,u])}return e}function Nd(t,e){return e.some(([n,r])=>t>=n&&t<r)}function Kd(t){let e=[],n=new Set,r=Bd(t);$u.lastIndex=0;let s;for(;(s=$u.exec(t))!==null;){let o=Et(s[0]);if(!o)continue;let{originalUrl:u,port:p,path:d}=o;p<1||p>65535||Du.has(p)||n.has(u)||(n.add(u),e.push({originalUrl:u,port:p,path:d,startIndex:s.index,endIndex:s.index+u.length,inCodeBlock:Nd(s.index,r)}))}return e}function Mk(t){return Kd(t).length>0}function Hd(t){try{let{hostname:e}=new URL(t);return e==="localhost"||e==="127.0.0.1"}catch{return!1}}function Wd(t){return t.sandboxId.trim().length>0}function xe(t,e,n){let r=It(e);if(!Wd(n))return Xd(t,r);if(!Hd(n.apiBaseUrl)){let s=n.apiBaseUrl.length;for(;s>0&&n.apiBaseUrl.charCodeAt(s-1)===47;)s--;return`${n.apiBaseUrl.slice(0,s)}/p/${n.sandboxId}/${t}${r}`}return`http://p${t}-${n.sandboxId}.localhost:${n.backendPort}${r}`}function Ok(t,e){if(!t)return;let r=t.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return xe(3211,`/open?path=/workspace/${r}`,e)}function zd(t){return`/open?path=/${(t.startsWith("/workspace")?t:`/workspace/${t.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function Uk(t){return`http://localhost:3211${zd(t)}`}function Vd(){return"/health"}function Fk(t){return xe(3211,Vd(),t)}function Lk(t,e){return xe(t,"/",e)}function Jd(t){let e=Et(t);return!(!e||Du.has(e.port)||Gd(t))}function Mu(t,e){if(!t)return t;let n=Et(t);return n?Jd(n.originalUrl)?xe(n.port,n.path,e):n.originalUrl:t}function Xd(t,e="/"){return`http://localhost:${t}${e}`}var Ou=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Uu(t){let e=t.match(qu);if(e)return{port:parseInt(e[1],10),sandboxId:e[2],backendPort:e[3]?parseInt(e[3],10):80,path:e[4]||"/"};let n=t.match(Ou);if(n)try{let r=new URL(t);return{port:parseInt(n[2],10),sandboxId:n[1],backendPort:parseInt(r.port,10)||(r.protocol==="https:"?443:80),path:n[3]||"/"}}catch{return null}return null}function Gk(t){try{let e=Uu(t);return e?`http://localhost:${e.port}${e.path}`:null}catch{return null}}function Bk(t){return $d(t)||Ou.test(t)}function Nk(t){try{let{hostname:e,port:n}=new URL(t);return(e==="localhost"||e==="127.0.0.1")&&n!==""}catch{return!1}}var Je="/web-proxy/";function Kk(t,e){try{let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Je}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(oe.KORTIX_MASTER,10);return`${xe(o,"/",e).replace(/\/$/,"")}${s}`}catch{return null}}function Hk(t){try{let e=new URL(t),n=e.pathname.indexOf(Je);if(n===-1)return null;let s=e.pathname.slice(n+Je.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],u=s[2],p=s[3]||"/";return`${o}://${u}${p}${e.search}${e.hash}`}catch{return null}}function Wk(t){try{return new URL(t).pathname.includes(Je)}catch{return t.includes(Je)}}function zk(t){if(!t)return!1;let e=t.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(e)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e))}function Vk(t){let e=t.trim();return e?/^https?:\/\//i.test(e)?e:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(e)?`https://${e}`:null:null}var Fu="frontend";function jt(t,e,n){(t==="error"?console.error:t==="warn"?console.warn:t==="debug"?console.debug:console.log)(`[${Fu}] ${e}`,...n?[n]:[]);try{me().app.log({service:Fu,level:t,message:e,extra:n})}catch{}}var ae={debug:(t,e)=>jt("debug",t,e),info:(t,e)=>jt("info",t,e),warn:(t,e)=>jt("warn",t,e),error:(t,e)=>jt("error",t,e)};function Qd(t){return{type:"heartbeat-gap",gapMs:t}}function Yd(t){switch(t.type){case"message.updated":return{type:"message.updated",sessionID:t.properties.sessionID,message:t.properties.info};case"message.removed":return{type:"message.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:t.properties.sessionID,part:t.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:t.properties.sessionID,messageID:t.properties.messageID,partID:t.properties.partID};case"session.status":return{type:"session.status",sessionID:t.properties.sessionID,status:t.properties.status};case"session.idle":return{type:"session.idle",sessionID:t.properties.sessionID};case"session.error":return{type:"session.error",sessionID:t.properties.sessionID,error:t.properties.error};case"question.asked":return{type:"question.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,questions:t.properties.questions,tool:t.properties.tool};case"question.replied":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"replied",answers:t.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:t.properties.sessionID,requestID:t.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:t.properties.sessionID,requestID:t.properties.id,permission:t.properties.permission,patterns:t.properties.patterns,tool:t.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:t.properties.sessionID,requestID:t.properties.requestID,reply:t.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:t.properties.sessionID,todos:t.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var Zd={now:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},eg=16,tg=8,ng=6e4,rg=5e3,sg=250,ig=1e3,og=3e4,ag=5,cg=3e3,lg=3e4,ug=2e4,pg=2e3,dg=8;function gg(t){if(t.type==="session.status")return`session.status:${t.properties.sessionID}`;if(t.type==="lsp.updated")return"lsp.updated"}function Lu(t){if(t.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let e=()=>{};return{promise:new Promise(r=>{e=()=>r(),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>t.removeEventListener("abort",e)}}var $t=new WeakMap;function mg(t,e,n){let r=e.timers??Zd,s=e.connectTimeoutMs??ug,o=e.heartbeatTimeoutMs??ng,u=e.maxConsecutiveHardFailures??dg,p=new AbortController;function d(l,...y){for(let c of n){let R=l(c);if(R)try{R(...y)}catch(T){console.warn("[opencode-events] subscriber handler threw, skipping",T)}}}let f=r.now(),m=[],b,x=0,I=new Map,E=()=>{if(b&&r.clearTimeout(b),b=void 0,m.length===0)return;let l=m;m=[],I.clear(),x=r.now(),f=r.now();for(let y of l)y&&d(c=>c.onEvent,y.event)},C=()=>{if(b)return;let l=r.now()-x;b=r.setTimeout(E,Math.max(0,eg-l))};return(async()=>{let l=0,y=0;for(;!p.signal.aborted;){let c=!1,R=!1,T,k,q=null,j=r.now(),A=new AbortController,z=Lu(p.signal);z.promise.then(()=>A.abort());try{let U=await new Promise((Q,te)=>{let W=!1;k=r.setTimeout(()=>{W||(W=!0,ae.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),A.abort(),te(new Error(`SSE connect timed out after ${s}ms`)))},s),t.global.event({signal:A.signal,sseDefaultRetryDelay:cg,sseMaxRetryDelay:lg,sseMaxRetryAttempts:1}).then(Z=>{W||(W=!0,r.clearTimeout(k),Q(Z))},Z=>{W||(W=!0,r.clearTimeout(k),te(Z))})}),{stream:B}=U;f=r.now();let F=()=>{r.clearTimeout(T),T=r.setTimeout(()=>{ae.warn("SSE heartbeat timeout, forcing reconnect"),A.abort()},o)};F();let H=r.now(),M=B[Symbol.asyncIterator]();for(;!A.signal.aborted;){let Q=M.next().then(ne=>({kind:"next",result:ne}),ne=>({kind:"error",error:ne})),te=Lu(A.signal),W=await Promise.race([Q,te.promise.then(()=>({kind:"aborted"}))]);if(te.cleanup(),W.kind==="aborted")break;if(W.kind==="error")throw W.error;if(W.result.done)break;c=!0,F();let Z=W.result.value,tt=Z&&typeof Z=="object"&&"payload"in Z?Z.payload:Z;if(!tt?.type)continue;let Nt=gg(tt);if(Nt){let ne=I.get(Nt);ne!==void 0&&(m[ne]=void 0),I.set(Nt,m.length)}m.push({type:tt.type,event:tt}),C(),!(r.now()-H<tg)&&(H=r.now(),await new Promise(ne=>r.setTimeout(ne,0)))}R=c}catch(U){if(p.signal.aborted)break;q=U;let B=String(U),F=B.includes("401")||B.includes("403")||B.includes("Unauthorized")||B.includes("Token refresh failed");if(ae.error("SSE event stream error",{error:B,retryCount:l,isAuthError:F}),F)try{ct(),await mr(),ae.info("SSE: refreshed auth token after auth error")}catch(H){ae.error("SSE: failed to refresh auth token",{error:String(H)})}}finally{r.clearTimeout(T),r.clearTimeout(k),A.abort(),z.cleanup(),E()}if(p.signal.aborted)break;let V=r.now()-j,h=q?.cause?.status;if(y=!c&&(typeof h=="number"&&h>=400||V<pg)?y+1:0,y>=u){ae.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:y,lastError:String(q)}),d(U=>U.onParked,{consecutiveFailures:y,lastError:q});break}let N=r.now()-f;N>rg&&d(U=>U.onGapRehydrate,N),R?l=0:(l++,l>1&&ae.warn("SSE event stream reconnecting",{retryCount:l}));let X=R?sg:Math.min(ig*2**Math.min(l-1,ag),og);await new Promise(U=>{let B=r.setTimeout(U,X),F=()=>{r.clearTimeout(B),U()};p.signal.addEventListener("abort",F,{once:!0})})}})(),{subscribers:n,teardown:()=>{p.abort(),b&&r.clearTimeout(b)}}}function Xr(t){let{client:e,onEvent:n,onGapRehydrate:r,onParked:s,signal:o}=t,u={onEvent:n,onGapRehydrate:r,onParked:s},p=$t.get(e);p?p.subscribers.add(u):(p=mg(e,t,new Set([u])),$t.set(e,p));let d=p,f=!1,m=()=>{f||(f=!0,o&&o.removeEventListener("abort",b),d.subscribers.delete(u),d.subscribers.size===0&&(d.teardown(),$t.get(e)===d&&$t.delete(e)))},b=()=>m();return o&&(o.aborted?m():o.addEventListener("abort",b,{once:!0})),{close:m}}function fg(){return me()}var qt=new Map,Dt=class extends Error{constructor(e){super(`Session runtime not ready \u2014 call \`await session.ensureReady()\` (it drives \`start()\` to completion and resolves this session's own sandbox runtime) before calling \`${e}\`.`),this.name="SessionNotReadyError"}};function yg(t,e){Ht(t,e);function n(l){try{return new URL(l)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(l,window.location.origin)}catch{return null}throw new v(`Kortix SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(l)}). Relative paths like "/api/kortix" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}function r(l){let y=$().backendUrl??t.backendUrl,c=80,R=n(y);return R&&(c=R.port?Number(R.port):R.protocol==="https:"?443:80),{sandboxId:l,backendPort:c,apiBaseUrl:y}}let s={list:Zs,get:ti,create:ei,updateName:ni,leave:gi,members:ri,invite:si,removeMember:pi,updateMemberRole:di,invites:ii,cancelInvite:oi,resendInvite:ai,tokens:{list:Wl,create:zl,revoke:Vl},audit:{log:Yl,export:eu,webhooks:{list:tu,create:nu,update:ru,remove:su}}},o={assignments:{list:Il,create:El,revoke:jl},permissions:{list:$l,forRole:Pl},roles:{list:xl,create:wl,update:Sl,setPermissions:vl,remove:Cl,usage:kl},groups:{list:pl,get:dl,create:gl,update:ml,remove:fl,members:{list:yl,add:hl,remove:bl}},agentIdentities:_l,can:Rl,canBatch:Tl},u={accountState:pc,accountStateMinimal:dc,transactions:gc,transactionsSummary:mc,creditBreakdown:fc,usageHistory:yc,usageRollup:Ac,sessionCosts:{list:Ec,get:Kr},tierConfigurations:hc,checkout:{createSession:l=>bc(l),confirmSession:(l,y)=>xc(l,y)},subscription:{createPortalSession:(l,y)=>_c(l,y),cancel:(l,y)=>Pc(l,y),reactivate:l=>kc(l),scheduleDowngrade:(l,y,c)=>wc(l,y,c),cancelScheduledChange:l=>Sc(l),prorationPreview:(l,y)=>vc(l,y)},credits:{purchase:l=>Cc(l),autoTopupSettings:l=>Rc(l),configureAutoTopup:l=>Tc(l)}},p={describe:ci,accept:li,decline:ui},d={list:$e,listForAccount:yi,get:Cr,detail:Rr,create:_i,createRepo:Pi,provision:ki,update:Ir,archive:Er,llmCatalog:Tr,modelPicker:Ar,sandboxHealth:Mr,sandboxTemplates:Vo,sessions:ze,createSession:Ve},f={linkRepository:Ri,getInstallation:Ti,listInstallations:Ai,listLinkableInstallations:Ii,listRepositories:Ei,listRepositoryBranches:ji,linkInstallation:qi,saveInstallation:$i,deleteInstallation:Di},m={list:Fl,create:Ll,revoke:Gl},b=No,x={items:l=>au(l),item:l=>uu(l),itemFile:(l,y)=>pu(l,y),marketplaces:()=>cu(),featured:()=>lu(),sources:{list:()=>du(),add:l=>gu(l),remove:l=>mu(l)}};function I(l){return{catalog:()=>$r(l),tools:()=>St(l),search:(...y)=>mo(l,...y),describe:(...y)=>fo(l,...y),call:(...y)=>yo(l,...y),uploadAttachment:(...y)=>ho(l,...y)}}function E(l){let y={list:()=>bo(l),listAll:()=>xo(l),reconcile:(...c)=>_o(l,...c),reconcileMember:(...c)=>Po(l,...c),updateCredential:(...c)=>ko(l,...c),revoke:(...c)=>wo(l,...c),activate:(...c)=>So(l,...c),setDefault:(...c)=>vo(l,...c),pipedreamConnect:(...c)=>Co(l,...c),pipedreamFinalize:(...c)=>Ro(l,...c)};return{get:c=>Cr(l,c),detail:()=>Rr(l),audit:c=>Zl(l,c),update:c=>Ir(l,c),archive:()=>Er(l),llmCatalog:()=>Tr(l),modelPicker:()=>Ar(l),sandboxHealth:()=>Mr(l),onboardingComplete:(...c)=>Ci(l,...c),apps:{list:()=>fu(l),create:c=>yu(l,c),get:c=>hu(l,c),update:(...c)=>bu(l,...c),access:{get:(...c)=>_u(l,...c),update:(...c)=>Pu(l,...c),session:(...c)=>ku(l,...c)},remove:c=>xu(l,c),artifacts:{register:c=>Vr(l,c),uploadArchive:(...c)=>wu(l,...c),finalize:(...c)=>Jr(l,...c)},deployments:{create:(...c)=>Su(l,...c),list:c=>vu(l,c),get:(...c)=>Cu(l,...c),logs:(...c)=>Ru(l,...c)},start:c=>Tu(l,c),stop:c=>Au(l,c),rollback:(...c)=>Iu(l,...c)},tokens:{list:()=>Jl(l),create:c=>Xl(l,c),revoke:c=>Ql(l,c)},setupLinks:{requestSecret:c=>iu(l,c),requestConnector:c=>ou(l,c)},validateManifest:c=>bi(l,c),gitToken:()=>xi(l),secrets:{list:()=>no(l),upsert:c=>ro(l,c),setStrategy:(...c)=>so(l,...c),broker:(...c)=>io(l,...c),remove:c=>uo(l,c),setPersonal:(...c)=>po(l,...c),removePersonal:c=>go(l,c),setGitCredential:c=>lo(l,c),startProviderOAuth:(...c)=>oo(l,...c),pollProviderOAuth:(...c)=>ao(l,...c),removeProviderOAuth:c=>co(l,c)},access:{list:()=>Fi(l),invite:(...c)=>Bi(l,...c),update:(...c)=>Li(l,...c),revoke:c=>Gi(l,c),pendingInvites:()=>Ni(l),resendInvite:(...c)=>Hi(l,...c),revokeInvite:(...c)=>Ki(l,...c),requests:()=>Mi(l),approveRequest:(...c)=>Oi(l,...c),rejectRequest:(...c)=>Ui(l,...c),groupGrants:()=>Wi(l),attachGroupGrant:(...c)=>zi(l,...c),updateGroupGrant:(...c)=>Vi(l,...c),detachGroupGrant:c=>Ji(l,c),resourceGrants:{list:()=>Xi(l),create:c=>Qi(l,c),remove:c=>Yi(l,c)}},connectors:{...I(l),list:()=>To(l),config:(...c)=>Do(l,...c),create:(...c)=>Uo(l,...c),remove:(...c)=>Lo(l,...c),sync:()=>Ao(l),auth:{discover:(...c)=>Fo(l,...c)},setName:(...c)=>Mo(l,...c),setCredentialMode:(...c)=>Io(l,...c),setAuthorizationStrategy:(...c)=>Eo(l,...c),setCredential:(...c)=>Ko(l,...c),setSensitive:(...c)=>jo(l,...c),connections:y,policies:{get:(...c)=>$o(l,...c),set:(...c)=>qo(l,...c)},pipedream:{listApps:(...c)=>Go(l,...c),listSections:(...c)=>Bo(l,...c),connect:(...c)=>Oo(l,...c),finalize:(...c)=>Ho(l,...c)},discover:{list:(...c)=>qr(l,...c),detail:(...c)=>Dr(l,...c)}},policies:{list:()=>Wo(l),set:(...c)=>zo(l,...c)},triggers:{list:()=>Va(l),create:(...c)=>Ja(l,...c),update:(...c)=>Xa(l,...c),remove:(...c)=>Qa(l,...c),fire:(...c)=>Za(l,...c),setActivation:(...c)=>Ya(l,...c)},files:{list:c=>ra(l,c),read:(c,R)=>ia(l,c,R),search:(...c)=>sa(l,...c),archive:(...c)=>oa(l,...c),history:(...c)=>pa(l,...c)},git:{commits:()=>ca(l),commit:c=>la(l,c),commitDiff:c=>ua(l,c),branches:()=>aa(l),versionDiff:(...c)=>da(l,...c),inviteCollaborator:(...c)=>hi(l,...c)},changeRequests:{list:()=>ga(l),get:c=>ma(l,c),diff:c=>fa(l,c),mergePreview:c=>ya(l,c),open:(...c)=>ha(l,...c),merge:(...c)=>ba(l,...c),close:(...c)=>xa(l,...c),reopen:(...c)=>_a(l,...c),requestChanges:(...c)=>Pa(l,...c)},sessions:{list:c=>ze(l,c),create:c=>Ve(l,c),ensureWarm:()=>Aa(l),claimWarm:c=>Ia(l,c)},review:{list:c=>ql(l,c),get:c=>Dl(l,c),submit:c=>Ml(l,c),act:(...c)=>Ol(l,...c),bulkAct:c=>Ul(l,c)},approvals:{list:c=>Zi(l,c),resolve:(...c)=>to(l,...c),sessionsNeedingInput:c=>eo(l,c)},gateway:{logs:c=>Xc(l,c),log:c=>Qc(l,c),overview:c=>Yc(l,c),series:c=>Zc(l,c),breakdown:c=>el(l,c),sessions:c=>tl(l,c),errors:c=>nl(l,c),budgets:()=>rl(l),setBudget:c=>sl(l,c),deleteBudget:c=>il(l,c),keys:()=>ol(l),createKey:c=>al(l,c),revokeKey:c=>cl(l,c),routing:{get:()=>Wc(l),set:c=>zc(l,c),reset:()=>Vc(l),preview:c=>Jc(l,c)},playground:(c,R,T)=>ll(l,c,R,T)},channels:{slack:{installation:()=>$c(l),connect:c=>qc(l,c),mode:()=>Dc(l),manifest:()=>Mc(l),disconnect:()=>Oc(l),getFile:c=>Uc(l,c),uploadFile:c=>Fc(l,c)},email:{installation:c=>Lc(l,c),mode:()=>Gc(l),connect:c=>Bc(l,c),disconnect:c=>Nc(l,c),updatePolicy:(...c)=>Kc(l,...c)},voice:{setBotName:c=>Hc(l,c)}},updateFeatureFlag:(...c)=>wi(l,...c),updateExperimentalFeature:(...c)=>Si(l,...c),modelDefaults:{get:()=>sc(l),set:c=>ic(l,c),clear:c=>oc(l,c)},setDefaultAgent:c=>uc(l,c),sandbox:{list:()=>na(l),snapshots:()=>Jo(l),rebuildSnapshot:c=>Xo(l,c),fixWithAgent:()=>Qo(l),createTemplate:c=>Yo(l,c),updateTemplate:(...c)=>Zo(l,...c),removeTemplate:c=>ea(l,c),buildTemplate:c=>ta(l,c),setProvider:c=>vi(l,c)},setAgentScope:(...c)=>cc(l,...c),session:c=>C(l,c)}}function C(l,y){let c=null,R,T,k=null;async function q(){k||(k=Ur(l,y,{showErrors:!1}).then(h=>{let S=typeof h.metadata?.opencode_model=="string"?h.metadata.opencode_model.trim():"",N=S.indexOf("/"),X=N>0&&N<S.length-1?{providerID:S.slice(0,N),modelID:S.slice(N+1)}:void 0,U=h.agent_name?.trim()||void 0;return{model:X,agent:U}}));try{return await k}catch(h){throw k=null,h}}function j(){if(c)return c;let h=tc(l,y);return h&&(c=h),c}async function A(h){let S=j();if(S)return S;let N=h?.readyTimeoutMs??18e4,X=`${l}
20
+ ${y}`,U=qt.get(X);if(U)return c=await U,c;let B=(async()=>{let F=Date.now()+N,H=()=>Math.max(0,F-Date.now()),M=await qe(l,y,Math.min(3e4,H()));for(;Date.now()<F&&(M==null||(M.stage==="provisioning"||M.stage==="starting")&&M.retriable);)await new Promise(W=>setTimeout(W,Math.min(1e3,H()))),M=await qe(l,y,Math.min(3e4,H()));if(!M||M.stage!=="ready"||!M.sandbox||!M.opencode_session_id)throw new v(`Session runtime not ready (stage: ${M?.stage??"unknown"})`,{code:"RUNTIME_UNAVAILABLE"});let Q=M.sandbox.external_id;if(!Q)throw new v("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let te=ut(Q);return vs(te,Q),{opencodeSessionId:M.opencode_session_id,runtimeUrl:te,sandboxId:Q}})();qt.set(X,B);try{return c=await B,c}finally{qt.get(X)===B&&qt.delete(X)}}function z(h){let S=j();if(!S)throw new Dt(h);return S}function V(){c=null,rc(l,y)}return{get:h=>Ur(l,y,h),cost:()=>Kr(y,{projectId:l}),update:h=>La(l,y,h),delete:()=>(V(),Ga(l,y)),start:(...h)=>qe(l,y,...h),restart:()=>(V(),Ct(l,y)),stop:()=>(V(),Rt(l,y)),configState:()=>Ba(l,y),reloadConfig:h=>(V(),Na(l,y,h)),reloadConfigStream:(...h)=>(V(),Ka(l,y,...h)),setSharing:h=>Sa(l,y,h),previews:()=>va(l,y),commit:h=>ka(l,y,h),publicShares:{list:()=>Ca(l,y),create:(...h)=>Ra(l,y,...h),revoke:(...h)=>Ta(l,y,...h)},audit:(h,S)=>Ea(l,y,h,S),transcript:h=>ja(l,y,h),turn:()=>$a(l,y),prompts:{create:h=>qa(l,y,h),list:()=>Da(l,y),remove:h=>Ma(l,y,h),retry:h=>Oa(l,y,h),hold:h=>Ua(l,y,h)},voiceTranscript:h=>Fa(l,y,h),ensureReady:A,health:h=>ju(j()?.runtimeUrl??null,h),previewUrl:(h,S="/")=>xe(h,S,r(z("previewUrl").sandboxId)),proxyUrl:h=>Mu(h,r(z("proxyUrl").sandboxId)),setModel:h=>{R=h},changeModel:async h=>{let S=await za(l,y,h);return k=null,S},scope:()=>Ha(l,y),rescope:h=>Wa(l,y,h),setAgent:h=>{T=h},send:async(h,S)=>{let{opencodeSessionId:N,runtimeUrl:X}=await A(),U=S?.model??R,B=S?.agent??T,F=U&&B?{}:await q(),H=U??F.model,M=B??F.agent;return se(X).session.prompt({sessionID:N,parts:[{type:"text",text:h}],...H?{model:H}:{},...M?{agent:M}:{}})},abort:async()=>{let{opencodeSessionId:h,runtimeUrl:S}=await A();return se(S).session.abort({sessionID:h})},rewind:async h=>{let{opencodeSessionId:S,runtimeUrl:N}=await A();return se(N).session.revert({sessionID:S,messageID:h})},restoreRewind:async()=>{let{opencodeSessionId:h,runtimeUrl:S}=await A();return se(S).session.unrevert({sessionID:h})},stream:async h=>{let{runtimeUrl:S}=await A();return Xr({client:se(S),onEvent:h.onEvent,onGapRehydrate:h.onGapRehydrate,signal:h.signal})},get runtime(){return se(z("runtime").runtimeUrl)},files:{list:async h=>yt(h,(await A()).runtimeUrl),read:async h=>Be(h,(await A()).runtimeUrl),readBlob:async h=>Ne(h,(await A()).runtimeUrl),status:async()=>ht((await A()).runtimeUrl),findFiles:async(h,S)=>bt(h,S,(await A()).runtimeUrl),findText:async h=>xt(h,(await A()).runtimeUrl),upload:async(h,S,N)=>Ke(h,S,N,(await A()).runtimeUrl),write:async(h,S)=>He(h,S,(await A()).runtimeUrl),create:async h=>_t(h,(await A()).runtimeUrl),copy:async(h,S)=>Pt(h,S,(await A()).runtimeUrl),remove:async h=>Ae(h,(await A()).runtimeUrl),mkdir:async h=>We(h,(await A()).runtimeUrl),rename:async(h,S)=>fe(h,S,(await A()).runtimeUrl)}}}return{config:t,accounts:s,iam:o,accountInvites:p,projects:d,connectors:I(),project:E,session:C,github:f,billing:u,sandboxShares:m,transcribe:ul,connectStatus:b,marketplace:x,validateToken:mi,runtime:fg}}function hg(){let t=typeof crypto<"u"?crypto:void 0;if(t?.randomUUID)return t.randomUUID();let e=new Uint8Array(16);if(t?.getRandomValues)t.getRandomValues(e);else for(let r=0;r<16;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=[...e].map(r=>r.toString(16).padStart(2,"0"));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n.slice(10).join("")}`}var Gu={thinking:!1,toolDetails:!0,assistantMetadata:!0};function bg(t){return t&&t.charAt(0).toUpperCase()+t.slice(1)}function xg(t){let e=t/1e3;if(e<60)return`${e.toFixed(1)}s`;let n=Math.floor(e/60),r=e%60;return`${n}m ${r.toFixed(0)}s`}function _g(t,e){if(t.type==="text"&&!t.synthetic)return`${t.text??""}
21
21
 
22
22
  `;if(t.type==="reasoning")return e.thinking?`> _Thinking:_
23
23
  >
@@ -50,15 +50,15 @@ ${s}
50
50
  ${t.state.error}
51
51
  \`\`\`
52
52
  `),n+=`
53
- `,n}return""}function kd(t,e){if(!e)return`## Assistant
53
+ `,n}return""}function Pg(t,e){if(!e)return`## Assistant
54
54
 
55
- `;let n=t.agent?xd(t.agent):"Assistant",r=t.modelID||"",s="";t.time?.completed&&t.time?.created&&(s=_d(t.time.completed-t.time.created));let c=[r,s].filter(Boolean).join(" \xB7 ");return c?`## ${n} (${c})
55
+ `;let n=t.agent?bg(t.agent):"Assistant",r=t.modelID||"",s="";t.time?.completed&&t.time?.created&&(s=xg(t.time.completed-t.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
56
56
 
57
57
  `:`## ${n}
58
58
 
59
- `}function wd(t,e,n){let r="";t.role==="user"?r+=`## User
59
+ `}function kg(t,e,n){let r="";t.role==="user"?r+=`## User
60
60
 
61
- `:r+=kd(t,n.assistantMetadata);for(let s of e)r+=Pd(s,n);return r}function Sd(t,e,n=tu){let r=`# ${t.title||"Untitled Session"}
61
+ `:r+=Pg(t,n.assistantMetadata);for(let s of e)r+=_g(s,n);return r}function wg(t,e,n=Gu){let r=`# ${t.title||"Untitled Session"}
62
62
 
63
63
  `;r+=`**Session ID:** \`${t.id}\`
64
64
  `,r+=`**Created:** ${new Date(t.time.created).toLocaleString()}
@@ -66,14 +66,14 @@ ${t.state.error}
66
66
 
67
67
  `,r+=`---
68
68
 
69
- `;for(let s of e)r+=wd(s.info,s.parts,n),r+=`---
69
+ `;for(let s of e)r+=kg(s.info,s.parts,n),r+=`---
70
70
 
71
- `;return r}function vd(t,e){return`session-${t}.md`}function ee(t){if(!t)return"An error occurred";if(typeof t=="string"){let e=t.startsWith("Error: ")?t.slice(7):t;try{let n=JSON.parse(e);if(typeof n=="string"){e=n;try{let r=JSON.parse(e);return Ne(r)||e}catch{return e}}return Ne(n)||e}catch{return Cd(e)??e}}return typeof t=="object"?Ne(t)||"An error occurred":String(t)}function ru(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function Cd(t){let e=ru(t);if(e)try{return Ne(JSON.parse(e))}catch{return}}function Ne(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(typeof e.message=="string"&&e.message)return e.message;if(typeof e.error=="string"&&e.error)return e.error;let n=e.data;if(typeof n?.message=="string")return n.message;let r=e.error;if(typeof r?.message=="string")return r.message}function Br(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function nu(t){let e=typeof t.provider=="string"&&t.provider?t.provider:void 0,n=typeof t.code=="string"&&t.code?t.code:void 0,r=typeof t.suggestion=="string"&&t.suggestion?t.suggestion:void 0,s=typeof t.upstream_status=="number"?t.upstream_status:void 0,c=typeof t.request_id=="string"&&t.request_id?t.request_id:void 0;return!e&&!n&&!r&&s===void 0&&!c?void 0:{message:typeof t.message=="string"&&t.message||Ne(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:c}}function fe(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=Br(u)??Br(ru(u));return p!==void 0?fe(p):void 0}if(typeof t!="object")return;let e=t,n=nu(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=nu(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=Br(s.responseBody);if(u!==void 0){let p=fe(u);if(p)return p}}let c=e.cause;if(c&&typeof c=="object"){let u=c.body;if(u!==void 0){let p=fe(u);if(p)return p}}}var Rd={bash:{label:"Shell",category:"shell"},pty_spawn:{label:"Spawn Terminal",category:"shell"},pty_read:{label:"Terminal Output",category:"shell"},pty_write:{label:"Terminal Input",category:"shell"},pty_input:{label:"Terminal Input",category:"shell"},pty_kill:{label:"Kill Process",category:"shell"},read:{label:"Read File",category:"files"},list:{label:"List Directory",category:"files"},ls:{label:"List Directory",category:"files"},write:{label:"Write File",category:"edit"},edit:{label:"Edit File",category:"edit"},multiedit:{label:"Edit File",category:"edit"},morph_edit:{label:"Edit File",category:"edit"},apply_patch:{label:"Apply Patch",category:"edit"},patch:{label:"Apply Patch",category:"edit"},grep:{label:"Search Code",category:"search"},glob:{label:"Find Files",category:"search"},image_search:{label:"Image Search",category:"search"},session_search:{label:"Search Sessions",category:"search"},webfetch:{label:"Fetch Page",category:"web"},scrape_webpage:{label:"Scrape Page",category:"web"},websearch:{label:"Web Search",category:"web"},web_search:{label:"Web Search",category:"web"},image_gen:{label:"Generate Image",category:"web"},video_gen:{label:"Generate Video",category:"web"},task:{label:"Delegate to Agent",category:"task"},todowrite:{label:"Plan Tasks",category:"task"},todoread:{label:"Read Plan",category:"task"},question:{label:"Ask Question",category:"task"},presentation_gen:{label:"Presentation",category:"task"},show:{label:"Show Output",category:"task"},show_user:{label:"Show Output",category:"task"},prune:{label:"Prune Context",category:"other"},distill:{label:"Distill Context",category:"other"},compress:{label:"Compress Context",category:"other"},context_info:{label:"Context Info",category:"other"}},Td=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function Ad(t){return t.replace(/^oc[-_]/,"")}function It(t){return Ad(t).replace(/-/g,"_")}function Kr(t){return It(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Hr(t){let e=It(t),n=Rd[e];if(n)return n;for(let{prefix:r,category:s}of Td)if(e.startsWith(r))return{label:Kr(t),category:s};return{label:Kr(t),category:"other"}}var Id=256*1024;function jd(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function Ed(t){if(t===void 0)return{};if(t.length>Id)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function $d(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t,n=e.success===!1,r=e.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?ee(r):typeof e.message=="string"&&e.message?e.message:"Tool reported failure"}function qd(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:c}=Ed(r),u=jd(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let g=$d(s);g&&(u="error",p=g)}return{name:t,title:n||Hr(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:c,error:p}}function Dd(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function Md(t){return{kind:"reasoning",id:t.id,text:t.text}}function Ud(t){return{kind:"tool",id:t.id,tool:qd(t.tool,t.state)}}function Od(t){let e=t.mime;return{kind:"file",id:t.id,filename:t.filename,mime:e,url:t.url,isImage:e.startsWith("image/"),isPdf:e==="application/pdf"}}function Fd(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function Ld(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function Gd(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function Bd(t){return{kind:"agent",id:t.id,name:t.name}}function Kd(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:ee(t.error),createdAt:t.time.created}}function Hd(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function Nd(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function Wd(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function su(t){switch(t.type){case"text":return Dd(t);case"reasoning":return Md(t);case"tool":return Ud(t);case"file":return Od(t);case"subtask":return Fd(t);case"patch":return Ld(t);case"snapshot":return Gd(t);case"agent":return Bd(t);case"retry":return Kd(t);case"compaction":return Hd(t);case"step-start":return Nd(t);case"step-finish":return Wd(t);default:return{kind:"unknown",raw:t}}}function zd(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=fe(t);return{name:e,message:n?.message||ee(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId}}function Vd(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function Jd(t){let e=t.parts.map(su),n=t.info.role==="assistant"?t.info.error:void 0,r=zd(n),s=!r&&!e.some(Vd);return{parts:e,error:r,isEmpty:s}}function ye(t){return t.type==="text"}function Nr(t){return t.type==="reasoning"}function ae(t){return t.type==="tool"}function Xd(t){return t.type==="file"}function Pk(t){return t.type==="agent"}function kk(t){return t.type==="compaction"}function wk(t){return t.type==="snapshot"}function Sk(t){return t.type==="patch"}function vk(t){if(ye(t)||Nr(t))return t.text}function Qd(t){if(!Xd(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function Ck(t){let e=[],n=[];for(let r of t)Qd(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function Rk(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function Tk(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var Yd=new Set(["todoread","context_info"]);function Zd(t){return!Yd.has(t.tool)}function Ak(t){let e=t.tool||"";if(e==="task"||e==="agent_spawn"||e==="agent-spawn"||e==="agent_message"||e==="agent-message"||e==="agent_task"||e==="agent-task"||e==="agent_task_update"||e==="agent-task-update"||e==="agent_task_message"||e==="agent-task-message"||e==="agent_task_start"||e==="agent-task-start"||e==="task_create"||e==="task-create"||e==="task_start"||e==="task-start"||e==="task_update"||e==="task-update"||e==="task_message"||e==="task-message"){let r=t.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=t.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let c=t.state?.output;if(c){let u=c.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=t.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=t.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Ik(t){if(t)for(let e=t.length-1;e>=0;e--){let n=t[e]?.info;if(n?.role==="assistant"&&n.error)return ee(n.error)}}function jk(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)ae(r)&&Zd(r)&&e.push(r);return e}function Ek(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:eg(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:tg(e.path)};case"glob":return{icon:"search",title:"Glob",subtitle:e.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:e.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:e.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:e.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:e.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:e.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:e.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:e.prompt?.slice?.(0,40)};case"presentation-gen":{let n=e.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:e.slide_title||e.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:e.title||e.description};case"task":return{icon:"square-kanban",title:`Agent (${e.subagent_type||"task"})`,subtitle:ng(e)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${e.agent||"KortixWorker"})`,subtitle:e.description||e.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:e.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:iu(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:iu(e.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:e.files?.length?`${e.files.length} file${e.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:e.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:e.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${e.mode||"summary"})`,subtitle:e.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:e.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:e.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:e.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:e.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:e.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:e.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:e.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:e.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:e.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:e.name||e.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:e.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:e.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:e.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:e.name||e.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:e.name||e.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:e.name||e.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:e.name||e.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:e.name||e.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:e.name||e.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${e.agent_type||"worker"})`,subtitle:e.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:e.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:e.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:e.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:e.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:e.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:e.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:e.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:e.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:e.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:e.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:e.title||e.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:e.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:e.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:e.id};default:return{icon:"cpu",title:t}}}function eg(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function iu(t){if(!t)return;let e=t.split("/"),n=e[e.length-1]||t;if(e.length<=1)return n;let r=e[e.length-2];return r?`${n} /${r}`:n}function tg(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function $k(t,e){if(!e)return t;if(t.startsWith(e)){let n=t.slice(e.length);return n.startsWith("/")?n.slice(1):n}return t}function We(t,e=120){if(typeof t!="string")return"";let n=t.split(`
72
- `).map(r=>r.trim()).find(Boolean);return n?n.length>e?`${n.slice(0,e).trim()}\u2026`:n:""}function ng(t){let e=We(t.description);if(e)return e;let n=We(t.title,80);if(n)return n;let r=We(t.message);if(r)return r;let s=We(t.prompt);if(s)return s;let c=We(t.agent_id,40);return c?`Agent ${c}`:"Worker task"}function qk(t,e){return!t||!e?[]:(t[e]??[]).filter(r=>r.severity===1).slice(0,3)}function Dk(t,e){return t.find(n=>n.tool?.callID===e)}function Mk(t,e){return t.find(n=>n.tool?.callID===e)}var rg=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function Uk(t){return t?t.replace(rg,""):""}function Lk(t){let e=[],n=new Map;for(let s of t)if(s.info.role==="user"){if(n.has(s.info.id))continue;let c={userMessage:s,assistantMessages:[]};e.push(c),n.set(s.info.id,c)}let r=null;for(let s of t){if(s.info.role==="user"){r=n.get(s.info.id)??null;continue}if(s.info.role!=="assistant")continue;let c=s.info;if(c.parentID){let p=n.get(c.parentID);if(p){p.assistantMessages.push(s);continue}}if(r){r.assistantMessages.push(s);continue}if(e.length>0){e[0].assistantMessages.unshift(s);continue}let u={userMessage:s,assistantMessages:[]};e.push(u)}return e}function Gk(t){let e=[];for(let n of t.assistantMessages)for(let r of n.parts)e.push({part:r,message:n});return e}function Bk(t){for(let e=t.length-1;e>=0;e--){let n=t[e].part;if(ye(n)&&n.text?.trim())return n}}function Kk(t){return t.some(({part:e})=>e.type==="tool"||e.type==="compaction"||e.type==="snapshot"||e.type==="patch")}function Hk(t,e,n){if(n)return[];let r=[];for(let s of t.assistantMessages)for(let c of s.parts){if(!ae(c))continue;let u=c,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:c,message:s})}return r}function Nk(t){let e=new Map;for(let n of t){if(!n.parentID)continue;let r=e.get(n.parentID);r?r.push(n.id):e.set(n.parentID,[n.id])}return e}function Wk(t){let e=t-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,c=r.time.updated??r.time.created,u=s>e,p=c>e;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:c-s}}function sg(t,e){let n=t.get(e);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...sg(t,s));return r}function ig(t){let e=t.userMessage.parts;if(e.length===0||!e.every(c=>ye(c)&&c.synthetic)||t.assistantMessages.length!==1)return!1;let r=t.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ae(s)&&s.tool==="bash"}function Jk(t){if(ig(t))return t.assistantMessages[0].parts[0]}function Zk(t,e){for(let n=e.length-1;n>=0;n--)if(e[n].info.role==="user")return e[n].info.id===t;return!1}function ew(t,e){return!e||!t?!1:t.type!=="idle"}function tw(t,e){return!t&&!!e}function nw(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return ee(n.error)}}function rw(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return fe(n.error)}}function ou(t){if(t){if(ae(t))switch(t.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Delegating to agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Delegating to agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating task...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Messaging agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Creating task...";case"task_list":case"task-list":return"Listing tasks...";case"task_done":case"task-done":return"Updating task...";case"todowrite":case"todoread":return"Planning...";case"read":return"Gathering context...";case"list":case"grep":case"glob":return"Searching codebase...";case"webfetch":case"scrape-webpage":return"Fetching web page...";case"websearch":case"web-search":case"web_search":return"Searching web...";case"image-search":return"Searching images...";case"image-gen":return"Generating image...";case"video-gen":return"Generating video...";case"presentation-gen":return"Creating presentation...";case"show":case"show-user":return"Showing output...";case"edit":case"write":case"morph_edit":return"Making edits...";case"bash":return"Running commands...";case"apply_patch":return"Applying patches...";case"prune":return"Pruning context...";case"distill":return"Distilling context...";case"compress":return"Compressing context...";case"context_info":return"Updating context info...";default:return`Running ${t.tool}...`}if(Nr(t)){let e=t.text?.trimStart();if(e){let n=e.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(ye(t))return"Gathering thoughts..."}}function sw(t,e){for(let n=t.length-1;n>=0;n--){let r=t[n].part,s=ae(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&e&&e.length>0){for(let u=e.length-1;u>=0;u--){let p=e[u];if(p.info.role==="assistant")for(let g=p.parts.length-1;g>=0;g--){let f=ou(p.parts[g]);if(f)return f}}return"Delegating to agent..."}let c=ou(r);if(c)return c}return"Considering next steps..."}function iw(t){if(!Number.isFinite(t)||t<1e3)return"";let e=Math.floor(t/1e3);if(e<60)return`${e}s`;let n=Math.floor(e/60),r=e%60;return r>0?`${n}m ${r}s`:`${n}m`}var au=1.2;function cu(t,e){if(!t)return 0;let n=t.input??0,r=(t.output??0)+(t.reasoning??0),s=t.cache?.read??0,c=t.cache?.write??0,u=Math.max(0,n-s-c),g=[...e.tiers??[],...e.contextOver200k?[e.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,_)=>_.contextThreshold-m.contextThreshold)[0]??e,f=u/1e6*g.inputPer1M;return f+=r/1e6*g.outputPer1M,s>0&&(f+=s/1e6*(g.cacheReadPer1M??g.inputPer1M)),c>0&&(f+=c/1e6*(g.cacheWritePer1M??g.inputPer1M)),f}function lu(t,e,n,r){let s=t.cost||0;if(s>0)return s;if(!r||!e||!n)return 0;let c=r(e,n);return c?cu(t.tokens,c):0}function uu(t){if(t.role!=="assistant")return{};let e=t;return{providerID:e.providerID,modelID:e.modelID}}function ow(t,e){let n=0,r=0,s=0,c=0,u=0,p=0,g=!1;for(let{part:f,message:m}of t)if(f.type==="step-finish"){g=!0;let _=f,{providerID:x,modelID:I}=uu(m.info);n+=lu(_,x,I,e),r+=_.tokens?.input||0,s+=_.tokens?.output||0,c+=_.tokens?.reasoning||0,u+=_.tokens?.cache?.read||0,p+=_.tokens?.cache?.write||0}if(!g)for(let{message:f}of t){if(f.info.role!=="assistant")continue;let m=f.info,_=pu(m,e);if(_<=0)continue;g=!0,n+=_;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,c+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(g)return{cost:n*au,tokens:{input:r,output:s,reasoning:c,cacheRead:u,cacheWrite:p}}}function pu(t,e){if(!e||!t.providerID||!t.modelID||!t.tokens)return 0;let n=e(t.providerID,t.modelID);return n?cu({input:t.tokens.input,output:t.tokens.output,reasoning:t.tokens.reasoning,cache:t.tokens.cache},n):0}function aw(t,e){let n=0;for(let r of t){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:c,modelID:u}=uu(s),p=0,g=!1;for(let f of r.parts)f.type==="step-finish"&&(g=!0,p+=lu(f,c,u,e));g||(p+=pu(s,e)),n+=p}return n*au}function cw(t){return t===0?"$0.00":t<.001?`$${t.toFixed(4)}`:t<.01?`$${t.toFixed(3)}`:`$${t.toFixed(2)}`}function lw(t){return t<1e3?String(t):t<1e4?`${(t/1e3).toFixed(1)}k`:`${Math.round(t/1e3)}k`}function uw(t){if(!t||t.type!=="retry")return;let e=t;return{attempt:e.attempt,message:e.message.length>60?`${e.message.slice(0,60)}...`:e.message,next:e.next}}function pw(t){if(!(!t||t.type!=="retry"))return ee(t.message)}function dw(t){return(t.info.summary?.diffs?.length??0)>0}var og=4e3;function ze(t,e=og){return t.length>e?`${t.slice(0,e)}
73
- \u2026`:t}function du(t){if(t!==void 0)try{return ze(JSON.stringify(t,null,2))}catch{return}}function G(...t){for(let e of t)if(typeof e=="string"&&e.length>0)return e}function Ee(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0}function ag(t){let e=G(t.input?.query)??"";if(t.status==="error")return{kind:"web-search",query:e,error:t.error??"Search failed"};let n=Ee(t.outputParsed);if(!n)return{kind:"web-search",query:e};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(c=>{let u=Ee(c)??{};return{title:G(u.title)??"",url:G(u.url,u.link)??"",snippet:G(u.snippet,u.description,u.source)}});return{kind:"web-search",query:G(n.query)??e,results:s.length>0?s:void 0,answer:G(n.answer)}}var cg=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function mu(t){let e=t.match(cg);return e?Number(e[1]):void 0}function lg(t,e,n){let r="",s=0;for(;;){let c=t.indexOf(e,s);if(c===-1)return r+t.slice(s);let u=t.indexOf(n,c+e.length);if(u===-1)return r+t.slice(s);r+=t.slice(s,c),s=u+n.length}}var ug=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function pg(t){let e=-1;for(let n of ug){let r=t.indexOf(n);r!==-1&&(e===-1||r<e)&&(e=r)}return e===-1?t:t.slice(0,e)}var dg=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function gg(t){return t.replace(dg,"")}function mg(t){let e=G(t.input?.command)??"",n=t.output??"",r=mu(n),c=gg(pg(lg(n,"<bash_metadata>","</bash_metadata>"))).trim()||(t.status==="error"?t.error:void 0);return{kind:"shell",command:e,stdout:c||void 0,exitCode:r}}function zr(t){return G(t.input?.filePath,t.input?.file_path,t.input?.path)??""}function fg(t){let e=t.status==="error"?t.error:t.output&&ze(t.output)||void 0;return{kind:"file-read",path:zr(t),preview:e}}function yg(t){let e=G(t.input?.content),n=t.status==="error"?t.error:ze(e??t.output??"")||void 0;return{kind:"file-write",path:zr(t),preview:n}}var hg=256*1024;function bg(t,e){if(t.length+e.length>hg)return;let n=t.split(`
71
+ `;return r}function Sg(t,e){return`session-${t}.md`}function Y(t){if(!t)return"An error occurred";if(typeof t=="string"){let e=t.startsWith("Error: ")?t.slice(7):t;try{let n=JSON.parse(e);if(typeof n=="string"){e=n;try{let r=JSON.parse(e);return Xe(r)||e}catch{return e}}return Xe(n)||e}catch{return vg(e)??e}}return typeof t=="object"?Xe(t)||"An error occurred":String(t)}function Nu(t){let e=t.indexOf("{"),n=t.lastIndexOf("}");if(!(e===-1||n===-1||n<=e))return t.slice(e,n+1)}function vg(t){let e=Nu(t);if(e)try{return Xe(JSON.parse(e))}catch{return}}function Xe(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t;if(typeof e.message=="string"&&e.message)return e.message;if(typeof e.error=="string"&&e.error)return e.error;let n=e.data;if(typeof n?.message=="string")return n.message;let r=e.error;if(typeof r?.message=="string")return r.message}function Cg(t){if(!Array.isArray(t))return;let e=[];for(let n of t){if(!n||typeof n!="object"||Array.isArray(n))continue;let r=n;!Number.isInteger(r.attempt)||r.attempt<1||typeof r.provider!="string"||!r.provider||typeof r.route_model!="string"||!r.route_model||typeof r.resolved_model!="string"||!r.resolved_model||typeof r.stage!="string"||!r.stage||typeof r.code!="string"&&!(typeof r.code=="number"&&Number.isFinite(r.code))||typeof r.message!="string"||!r.message||r.status!==void 0&&(!Number.isInteger(r.status)||r.status<100||r.status>599)||e.push({attempt:r.attempt,provider:r.provider,routeModel:r.route_model,resolvedModel:r.resolved_model,stage:r.stage,...typeof r.status=="number"?{status:r.status}:{},code:r.code,message:r.message})}return e.length>0?e:void 0}function Qr(t){if(!(typeof t!="string"||!t))try{return JSON.parse(t)}catch{return}}function Bu(t){let e=typeof t.provider=="string"&&t.provider?t.provider:void 0,n=typeof t.code=="string"&&t.code?t.code:void 0,r=typeof t.suggestion=="string"&&t.suggestion?t.suggestion:void 0,s=typeof t.upstream_status=="number"?t.upstream_status:void 0,o=typeof t.request_id=="string"&&t.request_id?t.request_id:void 0,u=Cg(t.attempt_failures);return!e&&!n&&!r&&s===void 0&&!o&&!u?void 0:{message:typeof t.message=="string"&&t.message||Xe(t)||"",provider:e,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:u}}function ce(t){if(t==null)return;if(typeof t=="string"){let u=t.startsWith("Error: ")?t.slice(7):t,p=Qr(u)??Qr(Nu(u));return p!==void 0?ce(p):void 0}if(typeof t!="object")return;let e=t,n=Bu(e);if(n)return n;let r=e.error;if(r&&typeof r=="object"&&!Array.isArray(r)){let u=Bu(r);if(u)return u}let s=e.data;if(s&&typeof s.responseBody=="string"){let u=Qr(s.responseBody);if(u!==void 0){let p=ce(u);if(p)return p}}let o=e.cause;if(o&&typeof o=="object"){let u=o.body;if(u!==void 0){let p=ce(u);if(p)return p}}}var Rg={bash:{label:"Shell",category:"shell"},pty_spawn:{label:"Spawn Terminal",category:"shell"},pty_read:{label:"Terminal Output",category:"shell"},pty_write:{label:"Terminal Input",category:"shell"},pty_input:{label:"Terminal Input",category:"shell"},pty_kill:{label:"Kill Process",category:"shell"},read:{label:"Read File",category:"files"},list:{label:"List Directory",category:"files"},ls:{label:"List Directory",category:"files"},write:{label:"Write File",category:"edit"},edit:{label:"Edit File",category:"edit"},multiedit:{label:"Edit File",category:"edit"},morph_edit:{label:"Edit File",category:"edit"},apply_patch:{label:"Apply Patch",category:"edit"},patch:{label:"Apply Patch",category:"edit"},grep:{label:"Search Code",category:"search"},glob:{label:"Find Files",category:"search"},image_search:{label:"Image Search",category:"search"},session_search:{label:"Search Sessions",category:"search"},webfetch:{label:"Fetch Page",category:"web"},scrape_webpage:{label:"Scrape Page",category:"web"},websearch:{label:"Web Search",category:"web"},web_search:{label:"Web Search",category:"web"},image_gen:{label:"Generate Image",category:"web"},video_gen:{label:"Generate Video",category:"web"},task:{label:"Delegate to Agent",category:"task"},todowrite:{label:"Plan Tasks",category:"task"},todoread:{label:"Read Plan",category:"task"},question:{label:"Ask Question",category:"task"},presentation_gen:{label:"Presentation",category:"task"},show:{label:"Show Output",category:"task"},show_user:{label:"Show Output",category:"task"},prune:{label:"Prune Context",category:"other"},distill:{label:"Distill Context",category:"other"},compress:{label:"Compress Context",category:"other"},context_info:{label:"Context Info",category:"other"}},Tg=[{prefix:"pty_",category:"shell"},{prefix:"agent_",category:"task"},{prefix:"session_",category:"task"},{prefix:"task_",category:"task"},{prefix:"trigger_",category:"task"},{prefix:"project_",category:"task"}];function Ag(t){return t.replace(/^oc[-_]/,"")}function Mt(t){return Ag(t).replace(/-/g,"_")}function Yr(t){return Mt(t).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Zr(t){let e=Mt(t),n=Rg[e];if(n)return n;for(let{prefix:r,category:s}of Tg)if(e.startsWith(r))return{label:Yr(t),category:s};return{label:Yr(t),category:"other"}}var Ig=256*1024;function Eg(t){switch(t.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return t}}function jg(t){if(t===void 0)return{};if(t.length>Ig)return{outputText:t};try{return{outputParsed:JSON.parse(t),outputText:t}}catch{return{outputText:t}}}function $g(t){if(typeof t!="object"||t===null||Array.isArray(t))return;let e=t,n=e.success===!1,r=e.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Y(r):typeof e.message=="string"&&e.message?e.message:"Tool reported failure"}function qg(t,e){let n="title"in e?e.title:void 0,r=e.status==="completed"?e.output:void 0,{outputParsed:s,outputText:o}=jg(r),u=Eg(e),p=e.status==="error"?e.error:void 0;if(u==="done"){let d=$g(s);d&&(u="error",p=d)}return{name:t,title:n||Zr(t).label,status:u,input:e.input,output:r,outputParsed:s,outputText:o,error:p}}function Dg(t){return{kind:"text",id:t.id,text:t.text,synthetic:!!t.synthetic}}function Mg(t){return{kind:"reasoning",id:t.id,text:t.text}}function Og(t){return{kind:"tool",id:t.id,tool:qg(t.tool,t.state)}}function Ug(t){let e=t.mime;return{kind:"file",id:t.id,filename:t.filename,mime:e,url:t.url,isImage:e.startsWith("image/"),isPdf:e==="application/pdf"}}function Fg(t){return{kind:"subtask",id:t.id,description:t.description,agent:t.agent,prompt:t.prompt,model:t.model}}function Lg(t){return{kind:"patch",id:t.id,hash:t.hash,files:t.files,fileCount:t.files.length}}function Gg(t){return{kind:"snapshot",id:t.id,snapshot:t.snapshot}}function Bg(t){return{kind:"agent",id:t.id,name:t.name}}function Ng(t){return{kind:"retry",id:t.id,attempt:t.attempt,message:Y(t.error),createdAt:t.time.created}}function Kg(t){return{kind:"compaction",id:t.id,auto:t.auto,overflow:!!t.overflow,tailStartId:t.tail_start_id}}function Hg(t){return{kind:"step",id:t.id,phase:"start",snapshot:t.snapshot}}function Wg(t){return{kind:"step",id:t.id,phase:"finish",snapshot:t.snapshot,reason:t.reason,cost:t.cost,tokens:t.tokens}}function Ku(t){switch(t.type){case"text":return Dg(t);case"reasoning":return Mg(t);case"tool":return Og(t);case"file":return Ug(t);case"subtask":return Fg(t);case"patch":return Lg(t);case"snapshot":return Gg(t);case"agent":return Bg(t);case"retry":return Ng(t);case"compaction":return Kg(t);case"step-start":return Hg(t);case"step-finish":return Wg(t);default:return{kind:"unknown",raw:t}}}function zg(t){if(!t)return;let e=typeof t=="object"&&"name"in t&&typeof t.name=="string"?t.name:"Error",n=ce(t);return{name:e,message:n?.message||Y(t),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function Vg(t){switch(t.kind){case"text":case"reasoning":return t.text.trim().length>0;case"step":return!1;default:return!0}}function Jg(t){let e=t.parts.map(Ku),n=t.info.role==="assistant"?t.info.error:void 0,r=zg(n),s=!r&&!e.some(Vg);return{parts:e,error:r,isEmpty:s}}function _e(t){return t.type==="text"}function es(t){return t.type==="reasoning"}function le(t){return t.type==="tool"}function Xg(t){return t.type==="file"}function Pw(t){return t.type==="agent"}function kw(t){return t.type==="compaction"}function ww(t){return t.type==="snapshot"}function Sw(t){return t.type==="patch"}function vw(t){if(_e(t)||es(t))return t.text}function Qg(t){if(!Xg(t))return!1;let e=t.mime;return e.startsWith("image/")||e==="application/pdf"}function Cw(t){let e=[],n=[];for(let r of t)Qg(r)?e.push(r):n.push(r);return{attachments:e,stickyParts:n}}function Rw(t,e){let n=[];return t?.tool&&n.push(t.tool),e?.tool&&n.push(e.tool),n}function Tw(t,e,n){return n.some(r=>r.messageID===e&&r.callID===t.callID)}var Yg=new Set(["todoread","context_info"]);function Zg(t){return!Yg.has(t.tool)}function Aw(t){let e=t.tool||"";if(e==="task"||e==="agent_spawn"||e==="agent-spawn"||e==="agent_message"||e==="agent-message"||e==="agent_task"||e==="agent-task"||e==="agent_task_update"||e==="agent-task-update"||e==="agent_task_message"||e==="agent-task-message"||e==="agent_task_start"||e==="agent-task-start"||e==="task_create"||e==="task-create"||e==="task_start"||e==="task-start"||e==="task_update"||e==="task-update"||e==="task_message"||e==="task-message"){let r=t.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;let s=t.state?.title;if(s){let u=s.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}let o=t.state?.output;if(o){let u=o.match(/\bses_[a-zA-Z0-9]+/);if(u)return u[0]}return}let n=t.tool?.replace(/-/g,"_")||"";if(n==="session_spawn"||n==="session_start_background"){let r=t.state?.output;if(r){let s=r.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/);if(s)return s[1]}return}}function Iw(t){if(t)for(let e=t.length-1;e>=0;e--){let n=t[e]?.info;if(n?.role==="assistant"&&n.error)return Y(n.error)}}function Ew(t){let e=[];for(let n of t)if(n.info.role==="assistant")for(let r of n.parts)le(r)&&Zg(r)&&e.push(r);return e}function jw(t,e={}){switch(t){case"read":return{icon:"glasses",title:"Read",subtitle:em(e.filePath)};case"list":return{icon:"list",title:"List",subtitle:tm(e.path)};case"glob":return{icon:"search",title:"Glob",subtitle:e.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:e.pattern};case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:e.url};case"websearch":case"web-search":case"web_search":return{icon:"search",title:"Web Search",subtitle:e.query};case"scrape-webpage":return{icon:"globe",title:"Scrape",subtitle:e.urls?.split?.(",")[0]};case"image-search":return{icon:"image",title:"Image Search",subtitle:e.query};case"image-gen":return{icon:"image",title:"Image Gen",subtitle:e.prompt?.slice?.(0,40)};case"video-gen":return{icon:"cpu",title:"Video Gen",subtitle:e.prompt?.slice?.(0,40)};case"presentation-gen":{let n=e.action||"";return{icon:"presentation",title:{create_slide:"Create Slide",list_slides:"List Slides",preview:"Preview",export_pdf:"Export PDF",export_pptx:"Export PPTX"}[n]||"Presentation",subtitle:e.slide_title||e.presentation_name}}case"show":case"show-user":return{icon:"globe",title:"Output",subtitle:e.title||e.description};case"task":return{icon:"square-kanban",title:`Agent (${e.subagent_type||"task"})`,subtitle:nm(e)};case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":case"oc-session_spawn":case"oc-session-spawn":case"oc-session_start_background":case"oc-session-start-background":return{icon:"square-kanban",title:`Worker (${e.agent||"KortixWorker"})`,subtitle:e.description||e.prompt?.slice(0,60)};case"bash":return{icon:"terminal",title:"Shell",subtitle:e.description};case"edit":case"morph_edit":return{icon:"file-pen",title:"Edit",subtitle:Hu(e.filePath)};case"write":return{icon:"file-pen",title:"Write",subtitle:Hu(e.filePath)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:e.files?.length?`${e.files.length} file${e.files.length>1?"s":""}`:void 0};case"todowrite":return{icon:"check-square",title:"Todos"};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"question":return{icon:"message-circle",title:"Questions"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:e.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:e.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":case"session-read":case"oc-session_read":case"oc-session-read":return{icon:"glasses",title:`Session Read (${e.mode||"summary"})`,subtitle:e.session_id?.slice(-12)};case"session_search":case"session-search":case"oc-session_search":case"oc-session-search":return{icon:"search",title:"Session Search",subtitle:e.query};case"session_message":case"session-message":case"oc-session_message":case"oc-session-message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:e.session_id?.slice(-12)};case"session_lineage":case"session-lineage":case"oc-session_lineage":case"oc-session-lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:e.session_id?.slice(-12)};case"session_list_background":case"session-list-background":case"session_list_spawned":case"session-list-spawned":case"oc-session_list_background":case"oc-session-list-background":case"oc-session_list_spawned":case"oc-session-list-spawned":return{icon:"layers",title:"Background Sessions",subtitle:e.project||"all"};case"session_stats":case"session-stats":case"oc-session_stats":case"oc-session-stats":return{icon:"layers",title:"Session Stats",subtitle:e.session_id?.slice(-12)||"current"};case"session_list":case"session-list":case"oc-session_list":case"oc-session-list":return{icon:"list",title:"Session List",subtitle:e.search};case"session_get":case"session-get":case"oc-session_get":case"oc-session-get":return{icon:"book-open",title:"Session Get",subtitle:e.session_id?.slice(-12)};case"session_context":case"session-context":case"oc-session_context":case"oc-session-context":return{icon:"book-open",title:"Session Context",subtitle:e.session_id?.slice(-12)};case"project_delete":case"project-delete":case"oc-project_delete":case"oc-project-delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:e.project};case"project_list":case"project-list":case"oc-project_list":case"oc-project-list":return{icon:"folder",title:"Projects"};case"project_get":case"project-get":case"oc-project_get":case"oc-project-get":case"project_update":case"project-update":case"oc-project_update":case"oc-project-update":return{icon:"folder",title:"Project",subtitle:e.name||e.project};case"project_select":case"project-select":case"oc-project_select":case"oc-project-select":return{icon:"folder",title:"Project Select",subtitle:e.project};case"project_create":case"project-create":case"oc-project_create":case"oc-project-create":return{icon:"folder-plus",title:"Project Create",subtitle:e.name};case"triggers":case"trigger_create":case"trigger-create":case"oc-trigger_create":case"oc-trigger-create":return{icon:"clock",title:"Create Trigger",subtitle:e.name};case"trigger_list":case"trigger-list":case"oc-trigger_list":case"oc-trigger-list":return{icon:"clock",title:"List Triggers"};case"trigger_get":case"trigger-get":case"oc-trigger_get":case"oc-trigger-get":return{icon:"clock",title:"Trigger Details",subtitle:e.name||e.id};case"trigger_delete":case"trigger-delete":case"oc-trigger_delete":case"oc-trigger-delete":return{icon:"clock",title:"Delete Trigger",subtitle:e.name||e.id};case"trigger_update":case"trigger-update":case"oc-trigger_update":case"oc-trigger-update":return{icon:"clock",title:"Update Trigger",subtitle:e.name||e.id};case"trigger_test":case"trigger-test":case"oc-trigger_test":case"oc-trigger-test":return{icon:"clock",title:"Test Trigger",subtitle:e.name||e.id};case"trigger_pause":case"trigger-pause":case"oc-trigger_pause":case"oc-trigger-pause":return{icon:"clock",title:"Pause Trigger",subtitle:e.name||e.id};case"trigger_resume":case"trigger-resume":case"oc-trigger_resume":case"oc-trigger-resume":return{icon:"clock",title:"Resume Trigger",subtitle:e.name||e.id};case"agent_spawn":case"agent-spawn":return{icon:"cpu",title:`Agent (${e.agent_type||"worker"})`,subtitle:e.description};case"agent_message":case"agent-message":return{icon:"message-circle",title:"Agent Message",subtitle:e.agent_id};case"agent_stop":case"agent-stop":return{icon:"ban",title:"Agent Stop",subtitle:e.agent_id};case"agent_status":case"agent-status":return{icon:"layers",title:"Agent Status"};case"agent_task":case"agent-task":case"oc-agent_task":case"oc-agent-task":return{icon:"check-square",title:"Create Task",subtitle:e.title};case"agent_task_update":case"agent-task-update":case"oc-agent_task_update":case"oc-agent-task-update":return{icon:"check-square",title:"Update Task",subtitle:e.task_id};case"agent_task_list":case"agent-task-list":case"oc-agent_task_list":case"oc-agent-task-list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":case"agent-task-get":case"oc-agent_task_get":case"oc-agent-task-get":return{icon:"check-square",title:"Task Details",subtitle:e.task_id};case"task_create":case"task-create":return{icon:"plus",title:"Create Task",subtitle:e.title};case"task_list":case"task-list":return{icon:"list",title:"Tasks",subtitle:e.status||"all"};case"task_update":case"task-update":return{icon:"refresh-cw",title:"Update Task",subtitle:e.id};case"task_done":case"task-done":return{icon:"check-circle",title:"Task Done",subtitle:e.id};case"task_delete":case"task-delete":return{icon:"trash-2",title:"Delete Task",subtitle:e.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:e.title||e.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:e.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:e.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:e.id};default:return{icon:"cpu",title:t}}}function em(t){if(!t)return;let e=t.split("/");return e[e.length-1]||t}function Hu(t){if(!t)return;let e=t.split("/"),n=e[e.length-1]||t;if(e.length<=1)return n;let r=e[e.length-2];return r?`${n} /${r}`:n}function tm(t){if(!t)return;let e=t.lastIndexOf("/");if(!(e<0))return t.slice(0,e)||"/"}function $w(t,e){if(!e)return t;if(t.startsWith(e)){let n=t.slice(e.length);return n.startsWith("/")?n.slice(1):n}return t}function Qe(t,e=120){if(typeof t!="string")return"";let n=t.split(`
72
+ `).map(r=>r.trim()).find(Boolean);return n?n.length>e?`${n.slice(0,e).trim()}\u2026`:n:""}function nm(t){let e=Qe(t.description);if(e)return e;let n=Qe(t.title,80);if(n)return n;let r=Qe(t.message);if(r)return r;let s=Qe(t.prompt);if(s)return s;let o=Qe(t.agent_id,40);return o?`Agent ${o}`:"Worker task"}function qw(t,e){return!t||!e?[]:(t[e]??[]).filter(r=>r.severity===1).slice(0,3)}function Dw(t,e){return t.find(n=>n.tool?.callID===e)}function Mw(t,e){return t.find(n=>n.tool?.callID===e)}var rm=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function Ow(t){return t?t.replace(rm,""):""}function sm(t,e){let n=typeof t.info.time?.created=="number"?t.info.time.created:null,r=typeof e.info.time?.created=="number"?e.info.time.created:null;return n===null&&r===null?0:n===null?1:r===null?-1:n!==r?n<r?-1:1:t.info.id<e.info.id?-1:t.info.id>e.info.id?1:0}function Lw(t){let e=[...t].sort(sm),n=[],r=new Map;for(let o of e)if(o.info.role==="user"){if(r.has(o.info.id))continue;let u={userMessage:o,assistantMessages:[]};n.push(u),r.set(o.info.id,u)}let s=null;for(let o of e){if(o.info.role==="user"){s=r.get(o.info.id)??null;continue}if(o.info.role!=="assistant")continue;let u=o.info;if(u.parentID){let d=r.get(u.parentID);if(d){d.assistantMessages.push(o);continue}}if(s){s.assistantMessages.push(o);continue}if(n.length>0){n[0].assistantMessages.unshift(o);continue}let p={userMessage:o,assistantMessages:[]};n.push(p)}return n}function Gw(t){let e=[];for(let n of t.assistantMessages)for(let r of n.parts)e.push({part:r,message:n});return e}function Bw(t){for(let e=t.length-1;e>=0;e--){let n=t[e].part;if(_e(n)&&n.text?.trim())return n}}function Nw(t){return t.some(({part:e})=>e.type==="tool"||e.type==="compaction"||e.type==="snapshot"||e.type==="patch")}function Kw(t,e,n){if(n)return[];let r=[];for(let s of t.assistantMessages)for(let o of s.parts){if(!le(o))continue;let u=o,p=u.state?.metadata?.answers;u.tool==="question"&&(p?.length??0)>0&&r.push({part:o,message:s})}return r}function Hw(t){let e=new Map;for(let n of t){if(!n.parentID)continue;let r=e.get(n.parentID);r?r.push(n.id):e.set(n.parentID,[n.id])}return e}function Ww(t){let e=t-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,u=s>e,p=o>e;return u&&p?n.id<r.id?-1:n.id>r.id?1:0:u&&!p?-1:!u&&p?1:o-s}}function im(t,e){let n=t.get(e);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...im(t,s));return r}function om(t){if(!t||typeof t!="object")return!1;let e=t.data;return!!e&&typeof e=="object"&&e.isRetryable===!0}function Vw(t){if(!t?.length)return!1;for(let e=t.length-1;e>=0;e--){let n=t[e].info;if(n.role==="assistant")return!n.time?.completed&&om(n.error)}return!1}function am(t){let e=t.userMessage.parts;if(e.length===0||!e.every(o=>_e(o)&&o.synthetic)||t.assistantMessages.length!==1)return!1;let r=t.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return le(s)&&s.tool==="bash"}function Qw(t){if(am(t))return t.assistantMessages[0].parts[0]}function tS(t,e){for(let n=e.length-1;n>=0;n--)if(e[n].info.role==="user")return e[n].info.id===t;return!1}function nS(t,e){return!e||!t?!1:t.type!=="idle"}function rS(t,e){return!t&&!!e}function sS(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return Y(n.error)}}function iS(t){for(let e of t.assistantMessages){let n=e.info;if(n.error)return ce(n.error)}}function Wu(t){if(t){if(le(t))switch(t.tool){case"task":case"session_spawn":case"session_start_background":case"session-spawn":case"session-start-background":return"Handing off to an agent...";case"agent_spawn":case"agent-spawn":case"agent_task":case"agent-task":return"Handing off to an agent...";case"agent_task_update":case"agent-task-update":case"task_update":case"task-update":return"Updating progress...";case"agent_message":case"agent-message":case"agent_task_message":case"agent-task-message":case"task_message":case"task-message":return"Checking in with an agent...";case"task_create":case"task-create":case"task_start":case"task-start":return"Starting a new task...";case"task_list":case"task-list":return"Reviewing the task list...";case"task_done":case"task-done":return"Updating progress...";case"todowrite":case"todoread":return"Planning...";case"read":return"Reading files...";case"list":case"grep":case"glob":return"Searching files...";case"webfetch":case"scrape-webpage":return"Reading a web page...";case"websearch":case"web-search":case"web_search":return"Searching the web...";case"image-search":return"Searching for images...";case"image-gen":return"Creating an image...";case"video-gen":return"Creating a video...";case"presentation-gen":return"Creating a presentation...";case"show":case"show-user":return"Sharing the result...";case"edit":case"write":case"morph_edit":return"Making changes...";case"bash":return"Working on the computer...";case"apply_patch":return"Making changes...";case"prune":return"Tidying up memory...";case"distill":return"Tidying up memory...";case"compress":return"Tidying up memory...";case"context_info":return"Refreshing memory...";default:return"Working on it..."}if(es(t)){let e=t.text?.trimStart();if(e){let n=e.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(_e(t))return"Gathering thoughts..."}}function oS(t,e){for(let n=t.length-1;n>=0;n--){let r=t[n].part,s=le(r)?r:void 0;if(s&&(s.tool==="task"||s.tool==="agent_task"||s.tool==="agent-task"||s.tool==="task_create"||s.tool==="task-create"||s.tool==="task_start"||s.tool==="task-start")&&s.state.status==="running"&&e&&e.length>0){for(let u=e.length-1;u>=0;u--){let p=e[u];if(p.info.role==="assistant")for(let d=p.parts.length-1;d>=0;d--){let f=Wu(p.parts[d]);if(f)return f}}return"Handing off to an agent..."}let o=Wu(r);if(o)return o}return"Figuring out what\u2019s next..."}function aS(t){if(!Number.isFinite(t)||t<1e3)return"";let e=Math.floor(t/1e3);if(e<60)return`${e}s`;let n=Math.floor(e/60),r=e%60;return r>0?`${n}m ${r}s`:`${n}m`}var zu=1.2;function Vu(t,e){if(!t)return 0;let n=t.input??0,r=(t.output??0)+(t.reasoning??0),s=t.cache?.read??0,o=t.cache?.write??0,u=Math.max(0,n-s-o),d=[...e.tiers??[],...e.contextOver200k?[e.contextOver200k]:[]].filter(m=>n>m.contextThreshold).sort((m,b)=>b.contextThreshold-m.contextThreshold)[0]??e,f=u/1e6*d.inputPer1M;return f+=r/1e6*d.outputPer1M,s>0&&(f+=s/1e6*(d.cacheReadPer1M??d.inputPer1M)),o>0&&(f+=o/1e6*(d.cacheWritePer1M??d.inputPer1M)),f}function Ju(t,e,n,r){let s=t.cost||0;if(s>0)return s;if(!r||!e||!n)return 0;let o=r(e,n);return o?Vu(t.tokens,o):0}function Xu(t){if(t.role!=="assistant")return{};let e=t;return{providerID:e.providerID,modelID:e.modelID}}function cS(t,e){let n=0,r=0,s=0,o=0,u=0,p=0,d=!1;for(let{part:f,message:m}of t)if(f.type==="step-finish"){d=!0;let b=f,{providerID:x,modelID:I}=Xu(m.info);n+=Ju(b,x,I,e),r+=b.tokens?.input||0,s+=b.tokens?.output||0,o+=b.tokens?.reasoning||0,u+=b.tokens?.cache?.read||0,p+=b.tokens?.cache?.write||0}if(!d)for(let{message:f}of t){if(f.info.role!=="assistant")continue;let m=f.info,b=Qu(m,e);if(b<=0)continue;d=!0,n+=b;let x=m.tokens;x&&(r+=x.input??0,s+=x.output??0,o+=x.reasoning??0,u+=x.cache?.read??0,p+=x.cache?.write??0)}if(d)return{cost:n*zu,tokens:{input:r,output:s,reasoning:o,cacheRead:u,cacheWrite:p}}}function Qu(t,e){if(!e||!t.providerID||!t.modelID||!t.tokens)return 0;let n=e(t.providerID,t.modelID);return n?Vu({input:t.tokens.input,output:t.tokens.output,reasoning:t.tokens.reasoning,cache:t.tokens.cache},n):0}function lS(t,e){let n=0;for(let r of t){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:u}=Xu(s),p=0,d=!1;for(let f of r.parts)f.type==="step-finish"&&(d=!0,p+=Ju(f,o,u,e));d||(p+=Qu(s,e)),n+=p}return n*zu}function uS(t){return t===0?"$0.00":t<.001?`$${t.toFixed(4)}`:t<.01?`$${t.toFixed(3)}`:`$${t.toFixed(2)}`}function pS(t){return t<1e3?String(t):t<1e4?`${(t/1e3).toFixed(1)}k`:`${Math.round(t/1e3)}k`}function dS(t){if(!t||t.type!=="retry")return;let e=t,n=Y(e.message);return{attempt:e.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:e.next,details:ce(e.message)}}function gS(t){if(!(!t||t.type!=="retry"))return Y(t.message)}function mS(t){return(t.info.summary?.diffs?.length??0)>0}var cm=4e3;function Ye(t,e=cm){return t.length>e?`${t.slice(0,e)}
73
+ \u2026`:t}function Yu(t){if(t!==void 0)try{return Ye(JSON.stringify(t,null,2))}catch{return}}function L(...t){for(let e of t)if(typeof e=="string"&&e.length>0)return e}function De(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:void 0}function lm(t){let e=L(t.input?.query)??"";if(t.status==="error")return{kind:"web-search",query:e,error:t.error??"Search failed"};let n=De(t.outputParsed);if(!n)return{kind:"web-search",query:e};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let u=De(o)??{};return{title:L(u.title)??"",url:L(u.url,u.link)??"",snippet:L(u.snippet,u.description,u.source)}});return{kind:"web-search",query:L(n.query)??e,results:s.length>0?s:void 0,answer:L(n.answer)}}var um=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function ep(t){let e=t.match(um);return e?Number(e[1]):void 0}function pm(t,e,n){let r="",s=0;for(;;){let o=t.indexOf(e,s);if(o===-1)return r+t.slice(s);let u=t.indexOf(n,o+e.length);if(u===-1)return r+t.slice(s);r+=t.slice(s,o),s=u+n.length}}var dm=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function gm(t){let e=-1;for(let n of dm){let r=t.indexOf(n);r!==-1&&(e===-1||r<e)&&(e=r)}return e===-1?t:t.slice(0,e)}var mm=/\x1B\[[\d;]*[A-Za-z]|\x1B\][^\x07]{0,512}\x07|\x1B[()#][A-Z0-9]|\x1B\[?[\d;]*[hl]|\x1B[>=<]|\x1B\[[?]?\d*[A-Z]|\x1B\[\d*[JKHG]|\x1B\[\d*;\d*[Hf]|\x1b\[[0-9;]*m/g;function fm(t){return t.replace(mm,"")}function ym(t){let e=L(t.input?.command)??"",n=t.output??"",r=ep(n),o=fm(gm(pm(n,"<bash_metadata>","</bash_metadata>"))).trim()||(t.status==="error"?t.error:void 0);return{kind:"shell",command:e,stdout:o||void 0,exitCode:r}}function ns(t){return L(t.input?.filePath,t.input?.file_path,t.input?.path)??""}function hm(t){let e=t.status==="error"?t.error:t.output&&Ye(t.output)||void 0;return{kind:"file-read",path:ns(t),preview:e}}function bm(t){let e=L(t.input?.content),n=t.status==="error"?t.error:Ye(e??t.output??"")||void 0;return{kind:"file-write",path:ns(t),preview:n}}var xm=256*1024;function _m(t,e){if(t.length+e.length>xm)return;let n=t.split(`
74
74
  `),r=e.split(`
75
- `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let c=n.length,u=r.length;for(;c>s&&u>s&&n[c-1]===r[u-1];)c--,u--;let p=[];for(let g=0;g<s;g++)p.push({type:"unchanged",text:n[g]});for(let g=s;g<c;g++)p.push({type:"removed",text:n[g]});for(let g=s;g<u;g++)p.push({type:"added",text:r[g]});for(let g=c;g<n.length;g++)p.push({type:"unchanged",text:n[g]});return p}function xg(t){let e=G(t.input?.oldString),n=G(t.input?.newString),r=e!==void 0&&n!==void 0?bg(e,n):void 0;return{kind:"file-edit",path:zr(t),diff:r}}var fu=/^Found\s+(\d+)\s+match/i,_g=/^(\/[^:]+?):\s*/,gu=/Line\s+(\d+):/g;function Pg(t){let e=t.trim(),n=e.match(fu),r=n?e.slice(n[0].length).trim():e;if(!r)return[];let s=[];for(let c of r.split(/\n\n+/)){let u=c.trim();if(!u)continue;let p=u.match(_g);if(!p)continue;let g=p[1],f=u.slice(p[0].length),m=[],_;for(gu.lastIndex=0;(_=gu.exec(f))!==null;)m.push({line:Number(_[1]),contentStart:_.index+_[0].length,headerStart:_.index});for(let x=0;x<m.length;x++){let I=x+1<m.length?m[x+1].headerStart:f.length,T=f.slice(m[x].contentStart,I).trim();s.push({path:g,line:m[x].line,content:T.endsWith(";")?T.slice(0,-1):T})}}return s}function kg(t){return t.trim().split(`
76
- `).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function wg(t){let e=G(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=fu.test(t.output.trim())?Pg(t.output):kg(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function Sg(t){let e=G(t.input?.description,t.input?.title,t.input?.prompt)??t.title,n=G(t.input?.subagent_type,t.input?.agent);return{kind:"task",description:e,agent:n}}function Wr(t){let e=Ee(t)??{};return{content:G(e.content)??"",status:G(e.status)??"pending",priority:G(e.priority)}}function vg(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(Wr)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(Wr)};let n=Ee(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(Wr)}:{kind:"todo",items:[]}}function Cg(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=Ee(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let g=Ee(p),f=g&&G(g.label);return f?[{label:f,description:g?G(g.description):void 0}]:[]});return{question:G(s.question)??"",header:G(s.header),options:u}})}}function Rg(t){let n=t.input&&Object.keys(t.input).length>0?du(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?ze(t.outputParsed):du(t.outputParsed):t.outputText!==void 0?r=ze(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function Tg(t){switch(It(t.name)){case"web_search":case"websearch":case"image_search":return ag(t);case"bash":return mg(t);case"read":return fg(t);case"write":return yg(t);case"edit":case"morph_edit":return xg(t);case"grep":case"glob":return wg(t);case"task":return Sg(t);case"todowrite":return vg(t);case"question":case"ask":return Cg(t);default:return Rg(t)}}function jt(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function Ag(t,e){if(t==null)return e;let n=t.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:e}function xw(t){if(t==null)return;let e=t.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}function Vr(t,e,n){return t!==void 0?t:Ag(jt(e),n)}var _w={get disableMobileAdvertising(){return Vr($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Vr($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Vr($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Et="kortix-active-instance",Ig=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function jg(t){return Ig.some(e=>t===e||t.startsWith(`${e}/`))}function Ve(t){let e=t.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!e)return null;let n=decodeURIComponent(e[1]),r=e[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function kw(t){let e=Ve(t);return!!e&&e.innerPath===""}function ww(t){let e=Ve(t);return!e||!e.innerPath?t:e.innerPath}function Eg(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=Ve(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return jg(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function $g(t){return t?Ve(t)?.instanceId??null:null}function Sw(){return typeof window>"u"?null:$g(window.location.pathname)||qg()}function qg(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${Et}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function vw(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${Et}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${Et}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${Et}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function Cw(t,e){return e?Eg(e,t):t}function Rw(t){let e=Ve(t);return e?e.innerPath||"/dashboard":t}function yu(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;if(t&&typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t??"")}function Dg(t){let e=yu(t).trim();if(!e)return null;let n=[e,e.replace(/^Failed to perform action:\s*/i,"").trim()],r=e.indexOf("{");r>=0&&n.push(e.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function hu(t){let e=Dg(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function Aw(t){return hu(t)!==null}function Mg(t){let e=hu(t);if(e){let s=(e.data?.path??"OpenCode config").replace(/^\/workspace\//,""),c=e.data?.issues?.[0]?.message,u=e.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:c?`${u?`${u}: `:""}${c}`:void 0}}let n=yu(t);return/sandbox not ready \(status: stopped\)/.test(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function W(){let t=jt("BACKEND_URL")||$().backendUrl;return t||"http://localhost:8008/v1"}function Je(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){for(let e of t){let n=Je(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return Je(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var bu=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function xu(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function Ug(t){return t==="running"||t==="active"?"active":t==="queued"||t==="branching"||t==="provisioning"?"provisioning":t==="failed"||t==="error"?"error":t==="stopped"||t==="completed"||t==="archived"?"stopped":t||"unknown"}function Jr(t,e,n){let r=n?.external_id||e.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||e.sandbox_id;return{sandbox_id:n?.sandbox_id||e.sandbox_id||e.session_id,external_id:r,name:e.name||`${t.name} session`,provider:n?.provider||e.sandbox_provider||"daytona",base_url:n?.base_url||e.sandbox_url||(n?.external_id?`${W()}/p/${n.external_id}/${ie.KORTIX_MASTER}`:""),status:Ug(n?.status||e.status),metadata:{...e.metadata??{},project_id:t.project_id,session_id:e.session_id,project_name:t.name,runtime_status:n?.status,error:e.error},created_at:n?.created_at||e.created_at,updated_at:n?.updated_at||e.updated_at}}async function Xr(){let t=await Ie(),e=[];for(let n of t){let r=await Be(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:Jr(n,s,null)})}return e.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},c=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return c!==0?c:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function he(t){let e=await Xr();return t?e.find(n=>n.sandbox.sandbox_id===t||n.sandbox.external_id===t||n.session.session_id===t||n.runtime?.external_id===t)??null:e[0]??null}async function $t(t,e={}){let n={"Content-Type":"application/json",...e.headers},r=e.signal??AbortSignal.timeout(3e4),s=await q(`${W()}${t}`,{...e,headers:n,signal:r}),c=await s.text().catch(()=>{}),u;if(c)try{u=JSON.parse(c)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||c||`Platform API error ${s.status}`,g=new R(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(c?{rawText:c}:void 0),response:s,endpoint:t});throw s.status===402&&(g=Se(Object.assign(g,{response:s,status:s.status,data:u}))),g}return u}function _u(t){if(!t.external_id){if(t.base_url)return t.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${t.provider} sandbox "${t.sandbox_id}"`)}return`${W()}/p/${t.external_id}/${ie.KORTIX_MASTER}`}function Lw(t,e){return t.external_id?`${W()}/p/${t.external_id}/${e}`:null}async function Ww(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function Og(t){let e=await he();if(e)return{sandbox:e.sandbox,created:!1};let r=(await Ie())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ke(r.project_id,{...t?.provider?{provider:t.provider}:{}}),c=(await je(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Jr(r,s,c),created:!0}}async function zw(){return(await he().catch(()=>null))?.sandbox??null}async function Vw(t){return{sandbox:(await Og(t)).sandbox}}async function Jw(t){let e=Je(t);return e?(await he(e).catch(()=>null))?.sandbox??null:null}async function Xw(t,e){throw await he(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Qw(t){let e=Je(t);return(await Xr().catch(()=>[])).map(r=>r.sandbox).filter(r=>!e||r.sandbox_id===e||r.external_id===e)}async function Yw(){if(typeof window>"u")return null;let t=W(),e=Array.from(new Set([t,...bu]));for(let n of e)try{let r=await fetch(xu(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function Zw(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await he(t);if(!e)throw new Error("Project session sandbox not found");await Pt(e.project.project_id,e.session.session_id)}async function eS(t){if(!t)throw new Error("No sandbox selected to stop");let e=await he(t);if(!e)throw new Error("Project session sandbox not found");await kt(e.project.project_id,e.session.session_id)}async function tS(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function nS(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function aS(t){throw new Error("Sandbox members moved to project access; use project members for project-session sandboxes")}async function cS(t,e,n="member"){throw new Error("Sandbox members moved to project access; invite the user to the project instead")}async function lS(t,e){throw new Error("Sandbox members moved to project access; update project access instead")}async function uS(t,e,n){throw new Error("Sandbox members moved to project access; update project access instead")}async function pS(t,e,n){throw new Error("Sandbox member spend caps are not exposed for project-session sandboxes")}async function dS(t){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function gS(t,e){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function mS(t,e,n,r){throw new Error("Sandbox scopes moved to project access for project-session sandboxes")}async function Qr(t,e,n){let r=_u(t),s=await q(`${ve(r)}${e}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let c=await s.text().catch(()=>"");throw new Error(c||`Request failed (${s.status})`)}return await s.json()}async function fS(t,e){return Qr(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function yS(t,e,n,r="member"){await Qr(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function hS(t,e,n){await Qr(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function bS(t,e){throw new Error("Sandbox invites moved to project access for project-session sandboxes")}async function PS(t){let e=await $t(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function kS(t){let e=await $t(`/platform/invites/${encodeURIComponent(t)}/accept`,{method:"POST"});if(!e.success||!e.data)throw new Error(e.error||"Failed to accept invite");return e.data}async function wS(t){let e=await $t(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function vS(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function CS(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function RS(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function TS(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function IS(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function jS(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Fg=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function qS(t){return Fg.includes(t)}async function DS(t){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:t?.version??null,error:null,startedAt:null,updatedAt:null}}async function MS(t){let e=t?`?channel=${t}`:"",n=await fetch(`${W()}/platform/sandbox/version/latest${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await Lg(t||"stable");r.changelog=s.find(c=>c.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Lg(t){let e=t?`?channel=${t}`:"",n=await fetch(`${W()}/platform/sandbox/version/changelog${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function US(){let t=await fetch(`${W()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`All versions fetch failed: ${t.status}`);return t.json()}async function OS(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function FS(t){}async function LS(t){}async function HS(t){return{serverTypes:[],location:t||"hel1"}}async function NS(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function WS(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function zS(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function VS(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function JS(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function XS(t,e){return`${W()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var ce=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function qt(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function Yr(t,e){let n=new Headers(t.headers);return n.set("Accept","application/json"),e&&n.set("Content-Type","application/json"),t.accessToken&&n.set("Authorization",`Bearer ${t.accessToken}`),n}async function Dt(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function Mt(t,e){if(e&&typeof e=="object"){let n=e;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof e=="string"&&e?e:t.statusText||`HTTP ${t.status}`}async function B(t,e,n){let r=n?.body!==void 0,s=await fetch(`${qt(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:Yr(e,r),...r?{body:JSON.stringify(n.body)}:{},...e.signal?{signal:e.signal}:{},...e.cache?{cache:e.cache}:{},...e.next?{next:e.next}:{}}),c=await Dt(s);if(!s.ok)throw new ce(Mt(s,c),s.status,c);return c}function Gg(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString();return n?`?${n}`:""}function YS(t,e){return B(`/marketplace/items${Gg(e)}`,t)}function ZS(t){return B("/marketplace/marketplaces",t)}function ev(t,e){return B(`/marketplace/items/${encodeURIComponent(t)}`,e)}function tv(t,e,n){return B(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function nv(t,e){return B("/access/check-email",e,{method:"POST",body:{email:t}})}function rv(t,e){return B("/access/request-access",e,{method:"POST",body:t})}function sv(t){return B("/auth/logout",t,{method:"POST",body:{}})}function iv(t,e){return B(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function ov(t,e){return B("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function av(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function cv(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function lv(t,e){return B(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function uv(t,e){return B(`/setup-links/secret/${encodeURIComponent(t)}`,e)}function pv(t,e,n){return B(`/setup-links/secret/${encodeURIComponent(t)}`,n,{method:"POST",body:{values:e}})}function dv(t,e){return B(`/p/public-share/${encodeURIComponent(t)}`,e)}function gv(t,e,n){return B(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function mv(t){return B("/system/maintenance",t)}function fv(t,e){return B("/system/maintenance",e,{method:"PUT",body:t})}function yv(t){return B("/user-roles",t)}function hv(t,e){return B("/system/demo-request",e,{method:"POST",body:t})}async function bv(t,e,n){let r=new URLSearchParams({format:e.format});e.action&&r.set("action",e.action),e.actor&&r.set("actor",e.actor),e.project_id&&r.set("project_id",e.project_id),e.session_id&&r.set("session_id",e.session_id),e.actor_type&&r.set("actor_type",e.actor_type),e.source&&r.set("source",e.source),e.phase&&r.set("phase",e.phase),e.outcome&&r.set("outcome",e.outcome),e.request_id&&r.set("request_id",e.request_id),e.correlation_id&&r.set("correlation_id",e.correlation_id),e.resource_type&&r.set("resource_type",e.resource_type),e.since&&r.set("since",e.since),e.until&&r.set("until",e.until),e.q&&r.set("q",e.q),e.cursor&&r.set("cursor",e.cursor),e.limit!=null&&r.set("limit",String(e.limit));let s=await fetch(`${qt(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:Yr(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let c=await Dt(s);throw new ce(Mt(s,c),s.status,c)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function xv(t,e){let n=await fetch(`${qt(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:Yr(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await Dt(n);throw new ce(Mt(n,r),n.status,r)}if(!n.body)throw new ce("No response body",n.status,null);return n.body}var Bg=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Kg(t,e){return Bg.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${qt(t)}/`):null}async function _v(t,e,n){let r=Kg(t,e);if(!r)throw new ce("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),c=await Dt(s);if(!s.ok)throw new ce(Mt(s,c),s.status,c);return c}async function wv(){let t=await i.get("/platform/github-app/status",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App status request failed");return t.data}async function Sv(t={}){let e=await i.post("/platform/github-app/manifest-start",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App manifest-start request failed");return e.data}async function vv(t){let e=await i.post("/platform/github-app/app",{app_id:t.appId,private_key:t.privateKey,installation_id:t.installationId,slug:t.slug},{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App configuration request failed");return e.data}async function Cv(t){let e=await i.post("/platform/github-app/pat",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub token configuration request failed");return e.data}async function Rv(){let t=await i.delete("/platform/github-app",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App disconnect request failed");return t.data}function Pu(t){try{let e=new URL(t);if(/^\/proxy\/\d+(?:\/|$)/.test(e.pathname))return`${e.origin}/v1/p/auth`;let n=e.pathname.indexOf("/p/");return n!==-1?`${e.origin}${e.pathname.slice(0,n)}/p/auth`:`${e.origin}/v1/p/auth`}catch{return null}}function Hg(t,e){try{let n=new URL(t),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let c=new Set;if(e)try{c.add(new URL(e).origin)}catch{}return typeof window<"u"&&c.add(window.location.origin),c.size===0||c.has(n.origin)}catch{return!1}}function ku(t,e){return Hg(t,e)?(e?Pu(e):null)??Pu(t):null}function Av(t){try{return/^p\d+-[^.]+\./.test(new URL(t).hostname)}catch{return!1}}function Iv(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function qv(t,e={}){let n=ku(t,e.serverUrl);if(!n)return!1;let r=await _e();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}var Mv=3e3;function Ng(t){return!Number.isFinite(t)||t<100||t>599?"unknown":t===502||t===503||t===504?"unreachable":t===401||t===403?"unknown":"reachable"}async function Uv(t,e){if(!t||e?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();e?.signal?.addEventListener("abort",r);let s=setTimeout(r,e?.timeoutMs??3e3);try{let c=await fetch(t,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return Ng(c.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function Zr(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function Fv(t,e){return`${Zr(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function Lv(t,e){return`${Zr(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function Wg(t,e){return`${Zr(t)}/presentation/convert-to-${e}`}async function Gv(t,e,n,r){let s=Wg(e,t),c=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),g=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let T=await f.blob();if(T.size===0)throw new Error("Downloaded file is empty");return T}if(f.status===202){if(g||(g=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${t.toUpperCase()} to generate`);await new Promise((T,l)=>{let h=setTimeout(T,c);r?.signal?.addEventListener("abort",()=>{clearTimeout(h),l(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),I=f.statusText;try{let T=JSON.parse(x);I=String(T.error||T.detail||T.message||I)}catch{x&&(I=x)}throw new Error(`Failed to download ${t.toUpperCase()}: ${I} (HTTP ${f.status})`)}}function Su(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let c=new URLSearchParams({limit:String(r)});s&&c.set("before",s);let u=await t.getToken?.(),p=await e(`${n}/session/${encodeURIComponent(t.sessionId)}/message?${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function zg(t){return Jg(Su(t))}function Vg(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,""),r=Su(t),s=async c=>{let u=await t.getToken?.(),p=await e(`${n}${c}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return p};return new es({...t,loadPage:r,loadStatus:async()=>(await(await s("/session/status")).json())[t.sessionId]??{type:"idle"}})}async function Jg(t){let e=new Map,n=new Set,r;do{let s=await t({limit:50,...r?{before:r}:{}});for(let c of s.messages)e.set(c.info.id,c);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...e.values()].sort((s,c)=>s.info.id.localeCompare(c.info.id))}var Xg={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},wu=500,es=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1,isPromptObservedBusy:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;promptSettlementTimer;promptObservationPhase="idle";lastActivityAt;listeners=new Set;destroyed=!1;constructor(e){this.options=e,this.scheduler=e.scheduler??Xg,this.livenessIntervalMs=e.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(e="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(e).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let e=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(e).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}beginPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="awaiting-work",this.update({isPromptObservedBusy:!0}),this.setBusy(!0)}observePromptStatus(e){if(this.promptObservationPhase!=="idle"){if(e.type!=="idle"){this.markPromptRunning();return}this.promptObservationPhase!=="awaiting-work"&&this.schedulePromptSettlement()}}observePromptActivity(){this.promptObservationPhase!=="idle"&&this.markPromptRunning()}endPromptObservation(){this.clearPromptSettlementTimer(),this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.setBusy(!1)}setBusy(e){if(!e){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.clearPromptSettlementTimer(),this.listeners.clear()}async loadTail(e){try{let n=await this.loadPage("tail",e),r=await this.loadCompleteTurn(n,"tail",e);if(this.destroyed)return;this.containsNewPromptReply(r.messages)&&this.observePromptActivity(),this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(e,n,r){let s=this.scheduler.now();try{let c=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:c.messages.length,succeeded:!0}),c}catch(c){throw this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),c}}async loadCompleteOlderTurn(e){let n=await this.loadPage("older","manual",e);return this.loadCompleteTurn(n,"older","manual",e)}async loadCompleteTurn(e,n,r,s){let c=[...e.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),g=e.nextCursor;for(let f of e.messages)f.info.role==="user"&&u.add(f.info.id);for(;g&&c.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!u.has(f.info.parentID));){if(p.has(g))throw new Error(`Session history cursor repeated: ${g}`);p.add(g);let f=await this.loadPage(n,r,g);c.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&u.add(m.info.id);g=f.nextCursor}return{messages:c,nextCursor:g}}rememberUserMessages(e){for(let n of e)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.reconcile("poll"),await this.reconcileStatus(),this.lastActivityAt=this.scheduler.now())}containsNewPromptReply(e){if(this.promptObservationPhase==="idle")return!1;let n=new Set(e.filter(r=>r.info.role==="user"&&!this.knownUserMessageIds.has(r.info.id)).map(r=>r.info.id));return n.size===0?!1:e.some(r=>r.info.role==="assistant"&&!!r.info.parentID&&n.has(r.info.parentID))}async reconcileStatus(){if(!(!this.options.loadStatus||!this.options.setStatus))try{this.options.setStatus(await this.options.loadStatus())}catch{}}setCursor(e){this.nextCursor=e,this.update({hasOlder:!!e})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}markPromptRunning(){this.clearPromptSettlementTimer(),this.promptObservationPhase="running"}schedulePromptSettlement(){if(this.promptObservationPhase==="settling")return;this.clearPromptSettlementTimer(),this.promptObservationPhase="settling";let e=()=>{this.promptSettlementTimer=void 0,!(this.destroyed||this.promptObservationPhase!=="settling")&&(this.promptObservationPhase="idle",this.update({isPromptObservedBusy:!1}),this.stopLivenessTimer())};this.promptSettlementTimer=this.scheduler.setTimeout?this.scheduler.setTimeout(e,wu):setTimeout(e,wu)}clearPromptSettlementTimer(){this.promptSettlementTimer!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(this.promptSettlementTimer):clearTimeout(this.promptSettlementTimer),this.promptSettlementTimer=void 0)}update(e){let n={...this.snapshot,...e};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder&&n.isPromptObservedBusy===this.snapshot.isPromptObservedBusy)){this.snapshot=n;for(let r of this.listeners)r()}}};function Qg(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function Yg(t){let{url:e,token:n,method:r="GET",body:s,onEvent:c,onOpen:u,onError:p,signal:g}=t,f=new Map,m=null,_=!1;function x(a,A){c?.(a,A);let j=f.get(a);if(j)for(let v of j)try{v(A)}catch{}}async function I(){if(_)return;m=new AbortController;let a=g?AbortSignal.any([m.signal,g]):m.signal;try{let A={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(A["Content-Type"]="application/json");let j=await fetch(e,{method:r,headers:A,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:a,credentials:"include"});if(!j.ok)throw new Error(`SSE connection failed: ${j.status} ${j.statusText}`);if(!j.body)throw new Error("SSE response has no body");u?.();let v=j.body.getReader(),k=new TextDecoder,E="",w="message",F="";for(;!_;){let{done:K,value:y}=await v.read();if(K)break;E+=k.decode(y,{stream:!0});let C=E.split(`
77
- `);E=C.pop()||"";for(let M of C)M===""?F&&(x(w,F.trimEnd()),w="message",F=""):M.startsWith("event: ")?w=M.slice(7).trim():M.startsWith("data: ")?F+=(F?`
78
- `:"")+M.slice(6):M.startsWith("data:")&&(F+=(F?`
79
- `:"")+M.slice(5))}}catch(A){if(_||A instanceof DOMException&&A.name==="AbortError")return;p?.(A instanceof Error?A:new Error(String(A)))}}function T(){_=!0,m?.abort(),m=null,f.clear()}function l(a,A){let j=f.get(a)??new Set;j.add(A),f.set(a,j)}function h(a,A){f.get(a)?.delete(A)}return{connect:I,close:T,addEventListener:l,removeEventListener:h}}function Hv(t,e){return Yg({...e,url:Qg(t)})}export{Et as ACTIVE_INSTANCE_COOKIE,R as ApiError,ke as AuthError,ue as BillingError,au as COST_MARKUP,tu as DEFAULT_TRANSCRIPT_OPTIONS,Fg as DESTRUCTIVE_PHASES,ur as FEATURE_DISABLED_CODE,Qy as FEATURE_FLAG_KEYS,pp as FEATURE_NOT_SUPPORTED_CODE,ce as HostBoundaryError,Ig as INSTANCE_SCOPED_ROUTES,dp as MODEL_NOT_SERVABLE_CODE,Mv as PREVIEW_PROBE_TIMEOUT_MS,gp as PROVISION_IN_FLIGHT_CODE,Ur as PublicSessionShareError,Or as PublicVoiceJoinError,we as RequestTooLargeError,gr as RuntimeNotReadyError,fr as SANDBOX_FS_ROOTS,ie as SANDBOX_PORTS,At as SessionNotReadyError,Er as SessionStartError,em as __getConfigResolver,Zg as __setConfigResolver,Ys as acceptAccountInvite,kS as acceptInvite,Yc as actReviewItem,go as activateConnection,vx as addGroupMembers,Tl as addMarketplaceSource,cS as addSandboxMember,sg as allDescendantIds,Iv as appendPreviewToken,Ci as approveProjectAccessRequest,bf as approveTask,wr as archiveProject,Cf as assignTicket,Mi as attachGroupToProject,q as authenticatedFetch,i as backendApi,Yb as bindSlackIdentity,Zb as bindTeamsIdentity,Vi as brokerProjectSecretRequest,Eg as buildInstancePath,Lv as buildPresentationTemplateImageUrl,Fv as buildPresentationTemplatePdfUrl,ku as buildPreviewAuthEndpoint,Kg as buildPublicTemplateUrl,Wg as buildRuntimePresentationConversionUrl,Ho as buildSandboxTemplate,FP as buildStaticFileHealthPreviewUrl,OP as buildStaticFileLocalUrl,UP as buildStaticFilePreviewUrl,Jp as buildStaticFileServicePath,Qg as buildTunnelEventStreamUrl,HP as buildWebProxyUrl,Zc as bulkActReviewItems,qx as bulkDeletePolicies,Dx as bulkImportPolicies,so as callConnector,A_ as cancelAccountDeletion,Js as cancelAccountInvite,tS as cancelSandbox,LS as cancelSandboxUpdate,cc as cancelScheduledChange,ic as cancelSubscription,nv as checkAccessEmail,Nk as childMapByParent,VS as claimComputer,Fb as claimPerSeatBilling,xa as claimWarmProjectSession,su as classifyPart,Ng as classifyPreviewProbeStatus,Jd as classifyTurn,Ka as clearModelDefault,tb as clearSessionFresh,ca as closeChangeRequest,ey as closeMilestone,Gk as collectTurnParts,Tf as commentTicket,pa as commitSessionChanges,ou as computeStatusFromPart,dc as configureAutoTopup,Lt as configureKortix,rc as confirmCheckoutSession,Cc as connectEmail,bc as connectSlack,W_ as convertPresentationToGoogleSlides,Gv as convertRuntimePresentation,mt as copyFile,mc as costExportUrl,Ks as createAccount,hl as createAccountAuditWebhook,cl as createAccountToken,jl as createApp,Ul as createAppAccessSession,Fl as createAppDeployment,y_ as createAuditWebhook,CS as createBackup,nc as createCheckoutSession,Ro as createConnector,gt as createFile,Nc as createGatewayKey,Px as createGroup,Vg as createHttpSessionSyncController,NS as createInstance,hd as createKortix,Ts as createKortixPty,_P as createMarketplaceInstallSession,Yf as createMilestone,Ob as createPerSeatCheckout,jx as createPolicy,sc as createPortalSession,li as createProject,Of as createProjectAgent,pl as createProjectCliToken,ui as createProjectRepo,Li as createProjectResourceGrant,Ke as createProjectSession,Ea as createProjectTrigger,Gx as createRole,Yg as createSSEStream,Vw as createSandbox,tl as createSandboxShare,Go as createSandboxTemplate,zx as createScimToken,d_ as createServiceAccountApi,ya as createSessionPublicShare,r_ as createSsoGroupMapping,ff as createTask,wf as createTicket,Hv as createTunnelEventStream,Zs as declineAccountInvite,wS as declineInvite,I_ as deleteAccountImmediately,ql as deleteApp,b_ as deleteAuditWebhook,TS as deleteBackup,Ao as deleteConnector,ay as deleteCredential,Cs as deleteEnv,ft as deleteFile,Kc as deleteGatewayBudget,Si as deleteGitHubInstallation,wx as deleteGroup,WS as deleteInstance,zf as deleteKortixProject,ny as deleteMilestone,to as deletePersonalProjectSecret,$x as deletePolicy,Lf as deleteProjectAgent,Qi as deleteProjectProviderOAuth,Gi as deleteProjectResourceGrant,Zi as deleteProjectSecret,Sa as deleteProjectSession,qa as deleteProjectTrigger,Hx as deleteRole,Ko as deleteSandboxTemplate,m_ as deleteServiceAccountApi,s_ as deleteSsoGroupMapping,t_ as deleteSsoProvider,xf as deleteTask,Af as deleteTicket,Qs as describeAccountInvite,ro as describeConnectorTool,Oi as detachGroupFromProject,Wp as detectLocalhostUrls,g_ as disableServiceAccountApi,Rc as disconnectEmail,Rv as disconnectGitHubApp,Pc as disconnectSlack,Rh as discoverConnectionOAuth2,To as discoverConnectorAuth,Yw as discoverLocalSandbox,bv as downloadAccountAudit,_y as dropClientForUrl,wy as dropPublicClientForUrl,Mf as ensurePmSession,qv as ensurePreviewSessionCookie,Sh as ensureProjectConnectorConnection,Og as ensureSandbox,ba as ensureWarmProjectSession,Vu as env,fl as exportAccountAudit,fe as extractGatewayErrorDetails,Ve as extractInstanceRoute,Ps as featureDisabledKey,_w as featureFlags,Mb as fetchAccountStateWithToken,zy as fetchAccountsWithToken,Vb as fetchCostExportCsv,Jo as fetchProjectArchive,ih as fetchProjectsForAccountWithToken,lp as files,Lr as finalizeAppArtifact,lv as finalizeConnectorSetupLink,pt as findFiles,Bk as findLastTextPart,dt as findText,Ma as fireProjectTrigger,Lo as fixSandboxWithAgent,ws as formatBillingErrorForUI,cw as formatCost,iw as formatDuration,Mg as formatOpenCodeRuntimeError,Mg as formatRuntimeError,lw as formatTokens,Sd as formatTranscript,bd as generateSessionId,Hs as getAccount,R_ as getAccountDeletionStatus,Ja as getAccountState,Xa as getAccountStateMinimal,qg as getActiveInstanceIdFromCookie,O_ as getAdminProviderAnalytics,D_ as getAdminProviderDistribution,L_ as getAdminProviderFallback,j_ as getAdminRole,ng as getAgentCardLabel,jb as getAgentConfig,Gf as getAgentPersona,US as getAllVersions,Hk as getAnsweredQuestionParts,El as getApp,Dl as getAppAccess,Gl as getAppDeployment,Bl as getAppDeploymentLogs,yP as getApprovalLink,_e as getAuthToken,ms as getAuthTokenWithRetry,pc as getAutoTopupSettings,Ub as getAutoTopupSetupStatus,Za as getBillingCreditBreakdown,tc as getBillingTierConfigurations,Ya as getBillingTransactionsSummary,ec as getBillingUsageHistory,ra as getChangeRequest,sa as getChangeRequestDiff,ia as getChangeRequestMergePreview,Ik as getChildSessionError,Ak as getChildSessionId,jk as getChildSessionToolParts,pe as getClient,re as getClientForUrl,Eo as getConnectStatus,Ch as getConnectionOAuth2Application,jh as getConnectionOAuth2Status,Eh as getConnectionPolicies,vr as getConnectorCatalog,So as getConnectorConfig,ko as getConnectorPolicies,av as getConnectorSetupLink,zb as getCostSummary,$g as getCurrentInstanceIdFromPathname,Sw as getCurrentInstanceIdFromWindow,Os as getCurrentProject,Va as getDefaultAccountState,qk as getDiagnostics,tg as getDirectory,Rr as getDiscoverConnector,Dh as getDiscoverIntegration,Sc as getEmailInstallation,vc as getEmailMode,k_ as getEnterpriseDemo,ut as getFileStatus,iu as getFileWithDir,eg as getFilename,Lg as getFullChangelog,Oc as getGatewayBreakdown,Gc as getGatewayBudgets,Lc as getGatewayErrors,Hc as getGatewayKeys,Dc as getGatewayLog,Mc as getGatewayOverview,Ic as getGatewayRoutingPolicy,Uc as getGatewaySeries,Fc as getGatewaySessions,wv as getGitHubAppStatus,hi as getGitHubInstallation,N_ as getGoogleAuthUrl,_x as getGroup,Rk as getHiddenToolParts,PS as getInvite,HS as getJustavpsServerTypes,Hf as getKortixProject,Nf as getKortixProjectBySession,js as getKortixPtyWebSocketUrl,MS as getLatestSandboxVersion,mv as getMaintenanceConfig,th as getManagedGitStatus,vl as getMarketplaceCatalogItem,Cl as getMarketplaceCatalogItemFile,Jx as getMfaRequired,Xf as getMilestone,Ga as getModelDefaults,iv as getOAuthConsentRequest,hu as getOpenCodeConfigInvalidError,vk as getPartText,l_ as getPatPolicy,Dk as getPermissionForTool,br as getProject,Bf as getProjectActivity,Yo as getProjectCommit,Zo as getProjectCommitDiff,xr as getProjectDetail,ea as getProjectFileHistory,ci as getProjectGitToken,_r as getProjectLlmCatalog,Zy as getProjectLlmCatalogProviders,Pr as getProjectModelPicker,Tr as getProjectSandboxHealth,nh as getProjectSandboxProviderTransition,Ir as getProjectSession,va as getProjectSessionConfigState,Ta as getProjectSessionScope,lc as getProrationPreview,Ww as getProviders,LP as getProxyBaseUrl,ky as getPublicClientForUrl,ev as getPublicMarketplaceItem,tv as getPublicMarketplaceItemFile,tP as getPublicSessionShare,nP as getPublicSessionShareMessages,dv as getPublicShareByToken,_v as getPublicTemplate,iP as getPublicVoiceJoin,oP as getPublicVoiceTranscript,Mk as getQuestionForTool,px as getReferralCode,mx as getReferralStats,uw as getRetryInfo,pw as getRetryMessage,Xc as getReviewItem,Ox as getRolePermissions,Lx as getRoleUsage,jS as getSSHConnection,zw as getSandbox,Jw as getSandboxById,gS as getSandboxMemberScopes,Lw as getSandboxPortUrl,JS as getSandboxProvisionStatus,XS as getSandboxProvisionStreamUrl,DS as getSandboxUpdateStatus,_u as getSandboxUrl,uv as getSecretSetupLink,yr as getServerHealth,uy as getServiceLogs,_a as getSessionAudit,aw as getSessionCost,Dr as getSessionCostRecord,Wl as getSessionHealth,i_ as getSessionPolicy,ma as getSessionPreviewCandidates,Pa as getSessionTranscript,Jk as getShellModePart,kc as getSlackChannelFile,hc as getSlackInstallation,_c as getSlackManifest,xc as getSlackMode,Yx as getSsoProvider,Xp as getStaticFileHealthPath,lr as getSupabaseAccessToken,ne as getSupabaseAccessTokenWithRetry,df as getTask,mf as getTaskStatus,SP as getTemplate,Pf as getTicket,Ek as getToolInfo,vd as getTranscriptFilename,ow as getTurnCost,nw as getTurnError,rw as getTurnErrorDetails,sw as getTurnStatus,gc as getUsageRollup,yv as getUserRolesWithToken,ta as getVersionDiff,dS as getViewerSandboxScopes,ka as getVoiceTranscript,ew as getWorkingState,yS as grantSandboxProjectAccess,Lk as groupMessagesIntoTurns,dw as hasDiffs,MP as hasLocalhostUrls,Vp as hasPreviewTarget,Zp as heartbeatGapEvent,Kr as humanizeToolName,e_ as importSsoProviderFromMetadata,vP as installTemplate,rt as invalidateTokenCache,zs as inviteAccountMember,ji as inviteProjectMember,oi as inviteRepoCollaborator,Ly as isAdminBypassEnabled,Pk as isAgentPart,Kp as isAppRouteUrl,Qd as isAttachment,ks as isBillingError,kk as isCompactionPart,Gt as isConfigured,qS as isDestructivePhase,zP as isExternalUrl,_s as isFeatureDisabledError,Xd as isFilePart,kw as isInstanceDetailPath,jg as isInstanceScopedAppPath,KP as isInternalLocalhostUrl,mh as isInviteSent,Zk as isLastUserMessage,Yy as isManagedGithubProject,Aw as isOpenCodeConfigInvalidError,Sk as isPatchPart,BP as isPreviewUrl,Qp as isProxiableLocalhostUrl,Nr as isReasoningPart,EP as isRuntimeReady,Fs as isServerReachable,da as isSessionFresh,yb as isSessionStartError,ig as isShellMode,wk as isSnapshotPart,Av as isSubdomainPreviewUrl,ye as isTextPart,ae as isToolPart,Tk as isToolPartHidden,qs as isUnderSandboxRoot,WP as isWebProxyUrl,Xu as kortixPty,ni as leaveAccount,wi as linkGitHubInstallation,yi as linkRepository,gl as listAccountAudit,yl as listAccountAuditWebhooks,Vs as listAccountInvites,Ws as listAccountMembers,a_ as listAccountSessions,al as listAccountTokens,Bs as listAccounts,Fx as listActions,M_ as listAdminSandboxes,Ux as listAgentIdentities,ao as listAllConnections,Ll as listAppDeployments,Il as listApps,x_ as listAuditEvents,f_ as listAuditWebhooks,vS as listBackups,Qa as listBillingTransactions,na as listChangeRequests,ex as listChannelBindings,If as listColumns,oo as listConnections,xt as listConnectorTools,ho as listConnectors,Wb as listCostByProject,sy as listCredentialEvents,ry as listCredentials,Cr as listDiscoverConnectors,qh as listDiscoverIntegrations,Ss as listEnv,Sl as listFeaturedMarketplaces,Ef as listFields,lt as listFiles,qc as listGatewayLogs,bi as listGitHubInstallations,_i as listGitHubRepositories,Pi as listGitHubRepositoryBranches,Sx as listGroupMembers,Cx as listGroupProjectGrants,xx as listGroups,Wf as listKortixProjectSessions,Kf as listKortixProjects,Rs as listKortixPty,xi as listLinkableGitHubInstallations,kl as listMarketplaceCatalogItems,Rl as listMarketplaceSources,wl as listMarketplaces,Tx as listMemberGroups,Ax as listMemberProjectAccess,Qf as listMilestoneEvents,Jf as listMilestones,Bi as listPendingApprovals,Ei as listPendingProjectInvites,Io as listPipedreamApps,jo as listPipedreamSections,Ix as listPolicies,Ti as listProjectAccess,vi as listProjectAccessRequests,Uf as listProjectAgents,ml as listProjectAudit,Xo as listProjectBranches,ul as listProjectCliTokens,Qo as listProjectCommits,Wo as listProjectFiles,Di as listProjectGroupGrants,Do as listProjectPolicies,Fi as listProjectResourceGrants,Uo as listProjectSandboxTemplates,No as listProjectSandboxes,Ni as listProjectSecrets,Be as listProjectSessions,Oo as listProjectSnapshots,ja as listProjectTriggers,Ie as listProjects,ii as listProjectsForAccount,YS as listPublicMarketplaceItems,ZS as listPublicMarketplaces,fx as listReferrals,Jc as listReviewItems,Mx as listRoles,aS as listSandboxMembers,fS as listSandboxProjectMembers,el as listSandboxShares,Qw as listSandboxes,Wx as listScimTokens,p_ as listServiceAccountsApi,ly as listServiceTemplates,cy as listServices,fc as listSessionCosts,fa as listSessionPublicShares,Ki as listSessionsNeedingInput,n_ as listSsoGroupMappings,gf as listTaskEvents,pf as listTasks,qf as listTemplates,kf as listTicketEvents,_f as listTickets,zg as loadHttpSessionHistory,zS as markInstanceError,_t as markSessionFresh,aa as mergeChangeRequest,F_ as migrateAdminSandboxProvider,yt as mkdir,ed as narrowChatEvent,Rw as normalizeAppPathname,VP as normalizeExternalInput,It as normalizeToolName,oa as openChangeRequest,Gr as openEventStream,xv as openStressTestStream,Se as parseBillingError,xw as parseFlagOverride,Ct as parseLocalhostUrl,Dg as parseOpenCodeErrorPayload,Yl as parseSubdomainUrl,NP as parseWebProxyUrl,Vf as patchKortixProject,Co as pipedreamConnect,fo as pipedreamConnectConnection,qo as pipedreamFinalize,yo as pipedreamFinalizeConnection,$ as platformConfig,Ih as pollConnectionOAuth2DeviceAuthorization,Xi as pollProjectProviderOAuth,$c as previewGatewayRoute,Xx as previewMfaRequired,__ as probeEffectivePermission,P_ as probeEffectivePermissions,Uv as probePreviewPort,fb as projectSessionStartSeed,pi as provisionProject,eh as provisionProjectStream,oh as provisionProjectWithToken,Xl as proxyLocalhostUrl,GP as proxyUrlToInternal,uc as purchaseCredits,vh as putConnectionOAuth2Application,nS as reactivateSandbox,oc as reactivateSubscription,Le as readBlob,Fe as readFile,Vo as readProjectFile,Fo as rebuildProjectSnapshot,co as reconcileConnection,lo as reconcileMemberConnection,dy as reconcileServices,sv as recordPlatformLogout,dx as refreshReferralCode,Fr as registerAppArtifact,gy as registerService,Ri as rejectProjectAccessRequest,$k as relativizePath,Ca as reloadProjectSessionConfig,Ra as reloadProjectSessionConfigStream,xl as removeAccountAuditWebhook,ei as removeAccountMember,Rx as removeGroupMember,Is as removeKortixPty,Al as removeMarketplaceSource,lS as removeSandboxMember,ht as renameFile,Xw as renameSandbox,la as reopenChangeRequest,ty as reopenMilestone,jf as replaceColumns,$f as replaceFields,Df as replaceTemplates,T_ as requestAccountDeletion,ua as requestChangesOnChangeRequest,gh as requestProjectAccess,Pl as requestProjectConnector,_l as requestProjectSecret,Xs as resendAccountInvite,qi as resendPendingProjectInvite,Py as resetClient,Ec as resetGatewayRoutingPolicy,Sy as resetPublicClient,FS as resetSandboxUpdateStatus,Hi as resolveApproval,Pt as restartProjectSession,Zw as restartSandbox,RS as restoreBackup,oy as revealCredential,c_ as revokeAccountSession,ll as revokeAccountToken,po as revokeConnection,Wc as revokeGatewayKey,$i as revokePendingProjectInvite,Ii as revokeProjectAccess,dl as revokeProjectCliToken,bS as revokeSandboxInvite,hS as revokeSandboxProjectAccess,nl as revokeSandboxShare,Vx as revokeScimToken,ha as revokeSessionPublicShare,me as rewriteLocalhostUrl,Nl as rollbackApp,zc as runGatewayPlayground,ki as saveGitHubInstallation,ac as scheduleDowngrade,no as searchConnectorTools,zo as searchProjectFiles,yx as sendReferralEmails,py as serviceAction,hb as sessionStartKey,vw as setActiveInstanceCookie,Fy as setAdminBypass,U_ as setAdminProviderDistribution,G_ as setAdminProviderFallback,Na as setAgentScope,Km as setBootstrapAuthToken,Bm as setCachedAuthToken,$h as setConnectionPolicies,_o as setConnectorAuthorizationStrategy,$o as setConnectorCredential,xo as setConnectorCredentialMode,vo as setConnectorName,wo as setConnectorPolicies,Mh as setConnectorSecretBinding,Po as setConnectorSensitive,mo as setDefaultConnection,w_ as setEnterpriseDemo,vs as setEnv,Bc as setGatewayBudget,jc as setGatewayRoutingPolicy,vv as setGitHubAppFromExisting,Cv as setGitHubAppPat,fv as setMaintenanceConfig,Ac as setMeetBotName,Nx as setMemberSuperAdmin,Qx as setMfaRequired,Ba as setModelDefault,eo as setPersonalProjectSecret,Sb as setProjectModelEnablement,fi as setProjectOnboardingComplete,sh as setProjectOnboardingProfile,Mo as setProjectPolicies,zi as setProjectSecretStrategy,Ia as setProjectSessionModel,Aa as setProjectSessionScope,ga as setProjectSessionSharing,Da as setProjectTriggersActivation,IS as setupSSH,mu as shellExitCode,tw as shouldHideResponsePart,Zd as shouldShowToolPart,Wk as sortSessions,Ck as splitUserParts,Kl as startApp,Th as startConnectionOAuth2Authorization,Ah as startConnectionOAuth2DeviceAuthorization,cv as startConnectorSetupLink,Sv as startGitHubAppManifest,Ji as startProjectProviderOAuth,je as startProjectSession,gv as startSessionWithToken,hf as startTask,Hl as stopApp,kt as stopProjectSession,eS as stopSandbox,Uk as stripAnsi,ww as stripInstancePrefix,ve as stripTrailingSlashes,rv as submitAccessRequest,hv as submitDemoRequest,ov as submitOAuthConsent,Qc as submitReviewItem,pv as submitSecretSetupLink,Gy as supabaseClient,bo as syncConnectors,Lb as syncSubscription,vy as systemReload,Te as toDaemonPath,Cw as toInstanceAwarePath,Yp as toInternalUrl,Ds as toSandboxAbsolutePath,Ms as toWorkspaceRelative,Hr as toolInfo,Tg as toolViewModel,Vc as transcribeAudio,OS as triggerSandboxUpdate,Ju as triggersRequest,Kk as turnHasSteps,Rf as unassignTicket,ee as unwrapError,bl as updateAccountAuditWebhook,ti as updateAccountMemberRole,Ns as updateAccountName,Eb as updateAgentConfig,$l as updateApp,Ml as updateAppAccess,h_ as updateAuditWebhook,tx as updateChannelBinding,uo as updateConnectionCredential,Tc as updateEmailPolicy,gi as updateExperimentalFeature,di as updateFeatureFlag,kx as updateGroup,As as updateKortixPty,Zf as updateMilestone,u_ as updatePatPolicy,Ex as updatePolicy,kr as updateProject,Ai as updateProjectAccess,Ff as updateProjectAgent,za as updateProjectDefaultAgent,Ui as updateProjectGroupGrant,mi as updateProjectSandboxProvider,wa as updateProjectSession,$a as updateProjectTrigger,Bx as updateRole,Kx as updateRolePermissions,uS as updateSandboxMemberRole,mS as updateSandboxMemberScope,pS as updateSandboxMemberSpendCap,Bo as updateSandboxTemplate,o_ as updateSessionPolicy,yf as updateTask,rh as updateTemplateWarmPool,Sf as updateTicket,vf as updateTicketStatus,Ol as uploadAppArtifactArchive,io as uploadConnectorAttachment,Ge as uploadFile,wc as uploadSlackChannelFile,iy as upsertCredential,Yi as upsertProjectGitCredential,Wi as upsertProjectSecret,Zx as upsertSsoProvider,ai as validateProjectManifest,gx as validateReferralCode,ri as validateToken,ix as verifyGatewayProvider};
75
+ `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,u=r.length;for(;o>s&&u>s&&n[o-1]===r[u-1];)o--,u--;let p=[];for(let d=0;d<s;d++)p.push({type:"unchanged",text:n[d]});for(let d=s;d<o;d++)p.push({type:"removed",text:n[d]});for(let d=s;d<u;d++)p.push({type:"added",text:r[d]});for(let d=o;d<n.length;d++)p.push({type:"unchanged",text:n[d]});return p}function Pm(t){let e=L(t.input?.oldString),n=L(t.input?.newString),r=e!==void 0&&n!==void 0?_m(e,n):void 0;return{kind:"file-edit",path:ns(t),diff:r}}var tp=/^Found\s+(\d+)\s+match/i,km=/^(\/[^:]+?):\s*/,Zu=/Line\s+(\d+):/g;function wm(t){let e=t.trim(),n=e.match(tp),r=n?e.slice(n[0].length).trim():e;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let u=o.trim();if(!u)continue;let p=u.match(km);if(!p)continue;let d=p[1],f=u.slice(p[0].length),m=[],b;for(Zu.lastIndex=0;(b=Zu.exec(f))!==null;)m.push({line:Number(b[1]),contentStart:b.index+b[0].length,headerStart:b.index});for(let x=0;x<m.length;x++){let I=x+1<m.length?m[x+1].headerStart:f.length,E=f.slice(m[x].contentStart,I).trim();s.push({path:d,line:m[x].line,content:E.endsWith(";")?E.slice(0,-1):E})}}return s}function Sm(t){return t.trim().split(`
76
+ `).map(e=>e.trim()).filter(e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("~")).map(e=>({path:e}))}function vm(t){let e=L(t.input?.pattern,t.input?.query)??"";if(t.status==="error"||!t.output)return{kind:"search",pattern:e};let n=tp.test(t.output.trim())?wm(t.output):Sm(t.output);return{kind:"search",pattern:e,matches:n.length>0?n.slice(0,200):void 0}}function Cm(t){let e=L(t.input?.description,t.input?.title,t.input?.prompt)??t.title,n=L(t.input?.subagent_type,t.input?.agent);return{kind:"task",description:e,agent:n}}function ts(t){let e=De(t)??{};return{content:L(e.content)??"",status:L(e.status)??"pending",priority:L(e.priority)}}function Rm(t){let e=t.input?.todos;if(Array.isArray(e))return{kind:"todo",items:e.map(ts)};if(Array.isArray(t.outputParsed))return{kind:"todo",items:t.outputParsed.map(ts)};let n=De(t.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(ts)}:{kind:"todo",items:[]}}function Tm(t){return{kind:"question",questions:(Array.isArray(t.input?.questions)?t.input.questions:[]).map(r=>{let s=De(r)??{},u=(Array.isArray(s.options)?s.options:[]).flatMap(p=>{let d=De(p),f=d&&L(d.label);return f?[{label:f,description:d?L(d.description):void 0}]:[]});return{question:L(s.question)??"",header:L(s.header),options:u}})}}function Am(t){let n=t.input&&Object.keys(t.input).length>0?Yu(t.input):void 0,r;return t.outputParsed!==void 0?r=typeof t.outputParsed=="string"?Ye(t.outputParsed):Yu(t.outputParsed):t.outputText!==void 0?r=Ye(t.outputText):r=t.error,{kind:"generic",label:t.title,inputPretty:n,outputPretty:r}}function Im(t){switch(Mt(t.name)){case"web_search":case"websearch":case"image_search":return lm(t);case"bash":return ym(t);case"read":return hm(t);case"write":return bm(t);case"edit":case"morph_edit":return Pm(t);case"grep":case"glob":return vm(t);case"task":return Cm(t);case"todowrite":return Rm(t);case"question":case"ask":return Tm(t);default:return Am(t)}}var Em=new Set(["AbortError","MessageAbortedError"]),jm=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],$m=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function np(t){let e=t.toLowerCase();return $m.some(n=>e.includes(n))?!1:jm.some(n=>e.includes(n))}function qm(t){let e=t.data,n=e&&typeof e=="object"?e.message:void 0;return typeof n=="string"?n:typeof t.message=="string"?t.message:void 0}function bS(t){if(typeof t=="string")return np(t);if(!t||typeof t!="object")return!1;let e=t,n=e.name;if(typeof n=="string"&&Em.has(n))return!0;let r=qm(e);return typeof r=="string"?np(r):!1}var Dm=["user","runtime-disposed","orphan-finalized","wake"],xS=["orphan-finalized","wake"];function _S(t){if(!t||typeof t!="object")return;let e=t.data;if(!e||typeof e!="object")return;let n=e.reason;if(!(typeof n!="string"||!n))return Dm.includes(n)?n:void 0}function Ot(t){try{return typeof process<"u"?process.env?.[t]:void 0}catch{return}}function Mm(t,e){if(t==null)return e;let n=t.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:e}function vS(t){if(t==null)return;let e=t.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}function rs(t,e,n){return t!==void 0?t:Mm(Ot(e),n)}var CS={get disableMobileAdvertising(){return rs($().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return rs($().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return rs($().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var Ut="kortix-active-instance",Om=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function Um(t){return Om.some(e=>t===e||t.startsWith(`${e}/`))}function Ze(t){let e=t.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!e)return null;let n=decodeURIComponent(e[1]),r=e[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function TS(t){let e=Ze(t);return!!e&&e.innerPath===""}function AS(t){let e=Ze(t);return!e||!e.innerPath?t:e.innerPath}function Fm(t,e){if(!t)return e;if(e.startsWith("/")||(e=`/${e}`),e.startsWith("/instances/")){let n=Ze(e);return n?`/instances/${encodeURIComponent(t)}${n.innerPath}`:e}return Um(e)?`/instances/${encodeURIComponent(t)}${e}`:e}function Lm(t){return t?Ze(t)?.instanceId??null:null}function IS(){return typeof window>"u"?null:Lm(window.location.pathname)||Gm()}function Gm(){if(typeof document>"u")return null;let t=document.cookie.match(new RegExp(`(?:^|; )${Ut}=([^;]+)`));return t?decodeURIComponent(t[1]):null}function ES(t){if(typeof document>"u")return;let e=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){e(`${Ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!t){e(`${Ut}=; Max-Age=0; Path=/; SameSite=Lax`);return}e(`${Ut}=${encodeURIComponent(t)}; Path=/; SameSite=Lax`)}function jS(t,e){return e?Fm(e,t):t}function $S(t){let e=Ze(t);return e?e.innerPath||"/dashboard":t}function rp(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;if(t&&typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t??"")}function Bm(t){let e=rp(t).trim();if(!e)return null;let n=[e,e.replace(/^Failed to perform action:\s*/i,"").trim()],r=e.indexOf("{");r>=0&&n.push(e.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}function sp(t){let e=Bm(t);if(!e||typeof e!="object")return null;let n=e;return n.name==="ConfigInvalidError"?n:null}function DS(t){return sp(t)!==null}function Nm(t){let e=sp(t);if(e){let s=(e.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=e.data?.issues?.[0]?.message,u=e.data?.issues?.[0]?.path?.join("."),p=u?.startsWith("permission")?"Remove the invalid permission frontmatter entry or replace it with valid OpenCode permission config.":"Fix the invalid config entry, then restart this session.";return{title:"OpenCode config is invalid",message:`${s} is preventing OpenCode from loading. ${p}`,detail:o?`${u?`${u}: `:""}${o}`:void 0}}let n=rp(t);return/sandbox not ready \(status: stopped\)/.test(n)?{title:"Session is waking up",message:"This session slept to save compute. Your conversation is safe \u2014 sending a message wakes it back up."}:{title:"OpenCode failed to load",message:n||"The sandbox is running, but OpenCode returned an error."}}function J(){let t=Ot("BACKEND_URL")||$().backendUrl;return t||"http://localhost:8008/v1"}function et(t){if(typeof t=="string"){let e=t.trim();return e.length>0?e:void 0}if(Array.isArray(t)){for(let e of t){let n=et(e);if(n)return n}return}if(t&&typeof t=="object"){let e=t;return et(e.sandboxId??e.id??e.slug??Object.values(e)[0])}}var ip=["http://localhost:8008/v1","http://127.0.0.1:8008/v1"];function op(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===47;)e--;return`${t.slice(0,e)}/platform/local-bridge/status`}function Km(t){return t==="running"||t==="active"?"active":t==="queued"||t==="branching"||t==="provisioning"?"provisioning":t==="failed"||t==="error"?"error":t==="stopped"||t==="completed"||t==="archived"?"stopped":t||"unknown"}function ss(t,e,n){let r=n?.external_id||e.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||e.sandbox_id;return{sandbox_id:n?.sandbox_id||e.sandbox_id||e.session_id,external_id:r,name:e.name||`${t.name} session`,provider:n?.provider||e.sandbox_provider||"daytona",base_url:n?.base_url||e.sandbox_url||(n?.external_id?`${J()}/p/${n.external_id}/${oe.KORTIX_MASTER}`:""),status:Km(n?.status||e.status),metadata:{...e.metadata??{},project_id:t.project_id,session_id:e.session_id,project_name:t.name,runtime_status:n?.status,error:e.error},created_at:n?.created_at||e.created_at,updated_at:n?.updated_at||e.updated_at}}async function is(){let t=await $e(),e=[];for(let n of t){let r=await ze(n.project_id).catch(()=>[]);for(let s of r)e.push({project:n,session:s,runtime:null,sandbox:ss(n,s,null)})}return e.sort((n,r)=>{let s={active:0,provisioning:1,stopped:2,error:3},o=(s[n.sandbox.status]??99)-(s[r.sandbox.status]??99);return o!==0?o:Date.parse(r.sandbox.updated_at)-Date.parse(n.sandbox.updated_at)})}async function Pe(t){let e=await is();return t?e.find(n=>n.sandbox.sandbox_id===t||n.sandbox.external_id===t||n.session.session_id===t||n.runtime?.external_id===t)??null:e[0]??null}async function Ft(t,e={}){let n={"Content-Type":"application/json",...e.headers},r=e.signal??AbortSignal.timeout(3e4),s=await D(`${J()}${t}`,{...e,headers:n,signal:r}),o=await s.text().catch(()=>{}),u;if(o)try{u=JSON.parse(o)}catch{}if(!s.ok){let p=u?.error||u?.message||u?.detail||o||`Platform API error ${s.status}`,d=new v(p,{status:s.status,code:u?.code||u?.error_code||String(s.status),details:u??(o?{rawText:o}:void 0),response:s,endpoint:t});throw s.status===402&&(d=Ce(Object.assign(d,{response:s,status:s.status,data:u}))),d}return u}function ap(t){if(!t.external_id){if(t.base_url)return t.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${t.provider} sandbox "${t.sandbox_id}"`)}return`${J()}/p/${t.external_id}/${oe.KORTIX_MASTER}`}function WS(t,e){return t.external_id?`${J()}/p/${t.external_id}/${e}`:null}async function YS(){let t=await i.get("/setup/sandbox-providers");if(t.error)throw t.error;return t.data}async function Hm(t){let e=await Pe();if(e)return{sandbox:e.sandbox,created:!1};let r=(await $e())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Ve(r.project_id,{...t?.provider?{provider:t.provider}:{}}),o=(await qe(r.project_id,s.session_id))?.sandbox??null;return{sandbox:ss(r,s,o),created:!0}}async function ZS(){return(await Pe().catch(()=>null))?.sandbox??null}async function ev(t){return{sandbox:(await Hm(t)).sandbox}}async function tv(t){let e=et(t);return e?(await Pe(e).catch(()=>null))?.sandbox??null:null}async function nv(t,e){throw await Pe(t)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function rv(t){let e=et(t);return(await is().catch(()=>[])).map(r=>r.sandbox).filter(r=>!e||r.sandbox_id===e||r.external_id===e)}async function sv(){if(typeof window>"u")return null;let t=J(),e=Array.from(new Set([t,...ip]));for(let n of e)try{let r=await fetch(op(n),{method:"GET",signal:AbortSignal.timeout(1500),headers:{Accept:"application/json"}});if(!r.ok)continue;let s=await r.json();if(!s.success||s.status!=="ready"||!s.data?.sandbox_id)continue;return s.data}catch{continue}return null}async function iv(t){if(!t)throw new Error("No sandbox selected for workload restart");let e=await Pe(t);if(!e)throw new Error("Project session sandbox not found");await Ct(e.project.project_id,e.session.session_id)}async function ov(t){if(!t)throw new Error("No sandbox selected to stop");let e=await Pe(t);if(!e)throw new Error("Project session sandbox not found");await Rt(e.project.project_id,e.session.session_id)}async function av(t){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function cv(t){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function os(t,e,n){let r=ap(t),s=await D(`${Re(r)}${e}`,{signal:AbortSignal.timeout(8e3),headers:{"Content-Type":"application/json"},...n});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(o||`Request failed (${s.status})`)}return await s.json()}async function gv(t,e){return os(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"GET"})}async function mv(t,e,n,r="member"){await os(t,`/kortix/projects/${encodeURIComponent(e)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function fv(t,e,n){await os(t,`/kortix/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}async function bv(t){let e=await Ft(`/platform/invites/${encodeURIComponent(t)}`,{method:"GET"});if(!e.success||!e.data)throw new Error(e.error||"Invite not found");return e.data}async function xv(t){let e=await Ft(`/platform/invites/${encodeURIComponent(t)}/accept`,{method:"POST"});if(!e.success||!e.data)throw new Error(e.error||"Failed to accept invite");return e.data}async function _v(t){let e=await Ft(`/platform/invites/${encodeURIComponent(t)}/decline`,{method:"POST"});if(!e.success)throw new Error(e.error||"Failed to decline invite")}async function kv(t){throw new Error("Backups are not exposed for project-session sandboxes")}async function wv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Sv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function vv(t,e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Rv(t){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Tv(t){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var Wm=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function Ev(t){return Wm.includes(t)}async function jv(t){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:t?.version??null,error:null,startedAt:null,updatedAt:null}}async function $v(t){let e=t?`?channel=${t}`:"",n=await fetch(`${J()}/platform/sandbox/version/latest${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Version check failed: ${n.status}`);let r=await n.json();try{let s=await zm(t||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function zm(t){let e=t?`?channel=${t}`:"",n=await fetch(`${J()}/platform/sandbox/version/changelog${e}`,{headers:{Accept:"application/json"}});if(!n.ok)throw new Error(`Changelog fetch failed: ${n.status}`);return(await n.json()).changelog}async function qv(){let t=await fetch(`${J()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}});if(!t.ok)throw new Error(`All versions fetch failed: ${t.status}`);return t.json()}async function Dv(t,e){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function Mv(t){}async function Ov(t){}async function Gv(t){return{serverTypes:[],location:t||"hel1"}}async function Bv(t){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function Nv(t){let e=await i.delete(`/platform/sandbox?sandbox_id=${t}`);if(e.error)throw e.error;return e.data}async function Kv(t,e){await i.post("/platform/sandbox/mark-error",{sandbox_id:t,error_message:e},{showErrors:!1,timeout:1e4})}async function Hv(){let t=await i.post("/platform/sandbox/claim-computer",{},{timeout:6e4});if(t.error)throw t.error;return t.data}async function Wv(t){let e=await i.get(`/platform/sandbox/${t}/status`,{showErrors:!1,timeout:1e4});return e.success?e.data??null:null}function zv(t,e){return`${J()}/platform/sandbox/${t}/provision-stream?token=${encodeURIComponent(e)}`}var ue=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Lt(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return/\/v1$/.test(e)?e:`${e}/v1`}function as(t,e){let n=new Headers(t.headers);return n.set("Accept","application/json"),e&&n.set("Content-Type","application/json"),t.accessToken&&n.set("Authorization",`Bearer ${t.accessToken}`),n}async function Gt(t){let e=await t.text().catch(()=>"");if(!e)return null;try{return JSON.parse(e)}catch{return e}}function Bt(t,e){if(e&&typeof e=="object"){let n=e;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof e=="string"&&e?e:t.statusText||`HTTP ${t.status}`}async function G(t,e,n){let r=n?.body!==void 0,s=await fetch(`${Lt(e.backendUrl)}${t}`,{method:n?.method??"GET",headers:as(e,r),...r?{body:JSON.stringify(n.body)}:{},...e.signal?{signal:e.signal}:{},...e.cache?{cache:e.cache}:{},...e.next?{next:e.next}:{}}),o=await Gt(s);if(!s.ok)throw new ue(Bt(s,o),s.status,o);return o}function Vm(t){let e=new URLSearchParams;t?.query&&e.set("query",t.query),t?.type&&e.set("type",t.type),t?.source&&e.set("source",t.source),t?.limit!==void 0&&e.set("limit",String(t.limit)),t?.offset!==void 0&&e.set("offset",String(t.offset));let n=e.toString();return n?`?${n}`:""}function Jv(t,e){return G(`/marketplace/items${Vm(e)}`,t)}function Xv(t){return G("/marketplace/marketplaces",t)}function Qv(t,e){return G(`/marketplace/items/${encodeURIComponent(t)}`,e)}function Yv(t,e,n){return G(`/marketplace/items/${encodeURIComponent(t)}/file?path=${encodeURIComponent(e)}`,n)}function Zv(t,e){return G("/access/check-email",e,{method:"POST",body:{email:t}})}function eC(t,e){return G("/access/request-access",e,{method:"POST",body:t})}function tC(t){return G("/auth/logout",t,{method:"POST",body:{}})}function nC(t,e){return G(`/oauth/authorize/consent/${encodeURIComponent(t)}`,e)}function rC(t,e){return G("/oauth/authorize/consent",e,{method:"POST",body:{request_id:t.requestId,approved:t.approved}})}function sC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}`,e)}function iC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/start`,e,{method:"POST",body:{}})}function oC(t,e){return G(`/setup-links/connectors/${encodeURIComponent(t)}/finalize`,e,{method:"POST",body:{}})}function aC(t,e){return G(`/setup-links/secret/${encodeURIComponent(t)}`,e)}function cC(t,e,n){return G(`/setup-links/secret/${encodeURIComponent(t)}`,n,{method:"POST",body:{values:e}})}function lC(t,e){return G(`/p/public-share/${encodeURIComponent(t)}`,e)}function uC(t,e,n){return G(`/projects/${encodeURIComponent(t)}/sessions/${encodeURIComponent(e)}/start`,n,{method:"POST",body:{}})}function pC(t){return G("/system/maintenance",t)}function dC(t,e){return G("/system/maintenance",e,{method:"PUT",body:t})}function gC(t){return G("/user-roles",t)}function mC(t,e){return G("/system/demo-request",e,{method:"POST",body:t})}async function fC(t,e,n){let r=new URLSearchParams({format:e.format});e.action&&r.set("action",e.action),e.actor&&r.set("actor",e.actor),e.project_id&&r.set("project_id",e.project_id),e.session_id&&r.set("session_id",e.session_id),e.actor_type&&r.set("actor_type",e.actor_type),e.source&&r.set("source",e.source),e.phase&&r.set("phase",e.phase),e.outcome&&r.set("outcome",e.outcome),e.request_id&&r.set("request_id",e.request_id),e.correlation_id&&r.set("correlation_id",e.correlation_id),e.resource_type&&r.set("resource_type",e.resource_type),e.since&&r.set("since",e.since),e.until&&r.set("until",e.until),e.q&&r.set("q",e.q),e.cursor&&r.set("cursor",e.cursor),e.limit!=null&&r.set("limit",String(e.limit));let s=await fetch(`${Lt(n.backendUrl)}/accounts/${encodeURIComponent(t)}/audit/export?${r}`,{headers:as(n,!1),...n.signal?{signal:n.signal}:{}});if(!s.ok){let o=await Gt(s);throw new ue(Bt(s,o),s.status,o)}return{blob:await s.blob(),filename:s.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:s.headers.get("x-audit-capped")==="true",rowCount:s.headers.get("x-audit-row-count"),complete:s.headers.get("x-audit-complete")!=="false",nextCursor:s.headers.get("x-audit-next-cursor")||null}}async function yC(t,e){let n=await fetch(`${Lt(e.backendUrl)}/admin/stress-test/run`,{method:"POST",headers:as(e,!0),body:JSON.stringify(t),...e.signal?{signal:e.signal}:{}});if(!n.ok){let r=await Gt(n);throw new ue(Bt(n,r),n.status,r)}if(!n.body)throw new ue("No response body",n.status,null);return n.body}var Jm=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Xm(t,e){return Jm.test(e)?new URL(`templates/public/${e.toLowerCase()}`,`${Lt(t)}/`):null}async function hC(t,e,n){let r=Xm(t,e);if(!r)throw new ue("Invalid shareId parameter",400,null);let s=await fetch(r,{signal:n}),o=await Gt(s);if(!s.ok)throw new ue(Bt(s,o),s.status,o);return o}async function _C(){let t=await i.get("/platform/github-app/status",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App status request failed");return t.data}async function PC(t={}){let e=await i.post("/platform/github-app/manifest-start",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App manifest-start request failed");return e.data}async function kC(t){let e=await i.post("/platform/github-app/app",{app_id:t.appId,private_key:t.privateKey,installation_id:t.installationId,slug:t.slug,client_id:t.clientId,client_secret:t.clientSecret},{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App configuration request failed");return e.data}async function wC(t){let e=await i.post("/platform/github-app/pat",t,{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub token configuration request failed");return e.data}async function SC(){let t=await i.delete("/platform/github-app",{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App disconnect request failed");return t.data}function cp(t){try{let e=new URL(t);if(/^\/proxy\/\d+(?:\/|$)/.test(e.pathname))return`${e.origin}/v1/p/auth`;let n=e.pathname.indexOf("/p/");return n!==-1?`${e.origin}${e.pathname.slice(0,n)}/p/auth`:`${e.origin}/v1/p/auth`}catch{return null}}function Qm(t,e){try{let n=new URL(t),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(e)try{o.add(new URL(e).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.size===0||o.has(n.origin)}catch{return!1}}function lp(t,e){return Qm(t,e)?(e?cp(e):null)??cp(t):null}function CC(t){try{return/^p\d+-[^.]+\./.test(new URL(t).hostname)}catch{return!1}}function RC(t,e){try{let n=new URL(t);return n.searchParams.set("token",e),n.toString()}catch{return t}}async function EC(t,e={}){let n=lp(t,e.serverUrl);if(!n)return!1;let r=await lt();if(!r)return!1;try{return(await fetch(n,{method:"POST",credentials:"include",headers:{Authorization:`Bearer ${r}`,"Content-Type":"application/json"}})).ok}catch{return!1}}var $C=3e3;function Ym(t){return!Number.isFinite(t)||t<100||t>599?"unknown":t===502||t===503||t===504?"unreachable":t===401||t===403?"unknown":"reachable"}async function qC(t,e){if(!t||e?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();e?.signal?.addEventListener("abort",r);let s=setTimeout(r,e?.timeoutMs??3e3);try{let o=await fetch(t,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return Ym(o.status)}catch{return"unknown"}finally{clearTimeout(s),e?.signal?.removeEventListener("abort",r)}}function cs(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return e}function MC(t,e){return`${cs(t)}/presentation-templates/${encodeURIComponent(e)}/pdf#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}function OC(t,e){return`${cs(t)}/presentation-templates/${encodeURIComponent(e)}/image.png`}function Zm(t,e){return`${cs(t)}/presentation/convert-to-${e}`}async function UC(t,e,n,r){let s=Zm(e,t),o=r?.pollIntervalMs??2500,u=r?.timeoutMs??4*6e4,p=Date.now(),d=!1;for(;;){let f=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),m=f.headers.get("content-type")||"";if(f.ok&&(m.includes("pdf")||m.includes("presentation")||m.includes("octet-stream"))){let E=await f.blob();if(E.size===0)throw new Error("Downloaded file is empty");return E}if(f.status===202){if(d||(d=!0,r?.onGenerating?.()),Date.now()-p>u)throw new Error(`Timed out waiting for the ${t.toUpperCase()} to generate`);await new Promise((E,C)=>{let l=setTimeout(E,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(l),C(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let x=await f.text().catch(()=>""),I=f.statusText;try{let E=JSON.parse(x);I=String(E.error||E.detail||E.message||I)}catch{x&&(I=x)}throw new Error(`Failed to download ${t.toUpperCase()}: ${I} (HTTP ${f.status})`)}}var LC=6e4,GC=45e3,BC=45e3,NC=1e4,KC=15e3;function HC(t){let e=0;for(let n of t)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(e+=1);return e}function up(t){if(!t)return null;let e=Date.parse(t);return Number.isNaN(e)?null:e}function WC(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,nowMs:u}=t,p=!!e&&u-e.atMs<6e4,d=p?e.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,f=p?e.atMs:Number.NEGATIVE_INFINITY,b=!!n&&u-n.atMs<15e3?n.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,x=!!s&&u-s.atMs<=45e3,I=!!o&&u-o.atMs<=45e3,E=!!r&&u-r.atMs<=1e4,C=x?s.turns[0]:void 0,l=C?.turn_token??null;if(C&&s.atMs>=b&&(!o||s.atMs>=o.atMs))return{state:"working",source:"server",turnId:C.message_id,since:up(C.started_at)??s.atMs,serverOpenTurnToken:l};if(E&&r.pending>0)return{state:"working",source:"server",turnId:null,since:r.atMs,serverOpenTurnToken:l};let y=x&&!C&&s.atMs>=d,c=I&&o.atMs>=f;if(y&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:up(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:l};if(c)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:l};if(p)return{state:"working",source:"optimistic",turnId:e.messageId,since:e.atMs,serverOpenTurnToken:l};let R=s&&o?s.atMs>=o.atMs?{source:"server",atMs:s.atMs}:{source:"stream",atMs:o.atMs}:s?{source:"server",atMs:s.atMs}:o?{source:"stream",atMs:o.atMs}:{source:"server",atMs:u};return{state:"idle",source:R.source,turnId:null,since:R.atMs,serverOpenTurnToken:l}}function zC(t){let{optimistic:e,abort:n,inbox:r,server:s,stream:o,nowMs:u}=t,p=[e?e.atMs+6e4:null,n?n.atMs+15e3:null,r?r.atMs+1e4:null,s?s.atMs+45e3:null,o?o.atMs+45e3:null],d=null;for(let f of p)f===null||f<=u||(d===null||f<d)&&(d=f);return d}var JC=6e4;function XC(t){return t.serverCompactingAtMs!==null?!0:t.optimisticAtMs===null?!1:t.nowMs-t.optimisticAtMs<6e4}function QC(t){if(t.serverCompactingAtMs!==null||t.optimisticAtMs===null)return null;let e=t.optimisticAtMs+6e4;return e>t.nowMs?e:null}var ef=9e4;function YC(t){return t.serverCompactingAtMs===null?null:t.serverCompactingAtMs+ef}function pp(t){let e=t.fetch??globalThis.fetch,n=t.baseUrl.replace(/\/$/,"");return async({limit:r,before:s})=>{let o=new URLSearchParams({limit:String(r)});s&&o.set("before",s);let u=await t.getToken?.(),p=await e(`${n}/session/${encodeURIComponent(t.sessionId)}/message?${o}`,{headers:u?{Authorization:`Bearer ${u}`}:void 0});if(!p.ok)throw new Error(`Session synchronization failed: ${p.status}`);return{messages:await p.json(),nextCursor:p.headers.get("x-next-cursor")||void 0}}}function tf(t){return rf(pp(t))}function nf(t){return new ls({...t,loadPage:pp(t)})}async function rf(t){let e=new Map,n=new Set,r;do{let s=await t({limit:50,...r?{before:r}:{}});for(let o of s.messages)e.set(o.info.id,o);if(r=s.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);return[...e.values()].sort((s,o)=>s.info.id.localeCompare(o.info.id))}var sf={now:Date.now,setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)},ls=class{options;scheduler;livenessIntervalMs;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;olderRequest;livenessTimer;lastActivityAt;listeners=new Set;destroyed=!1;constructor(e){this.options=e,this.scheduler=e.scheduler??sf,this.livenessIntervalMs=e.livenessIntervalMs??1e4,this.lastActivityAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(e="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"?"loading":"stale"}),this.tailRequest=this.loadTail(e).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let e=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(e).then(n=>{this.destroyed||(this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted=!0,this.setCursor(n.nextCursor))}).finally(()=>{this.olderRequest=void 0,this.update({isLoadingOlder:!1})}),this.olderRequest};noteActivity(){this.lastActivityAt=this.scheduler.now(),this.snapshot.freshness!=="fresh"&&this.update({freshness:"fresh"})}setBusy(e){if(!e){this.stopLivenessTimer();return}this.livenessTimer===void 0&&(this.lastActivityAt=this.scheduler.now(),this.livenessTimer=this.scheduler.setInterval(()=>{this.checkLiveness()},this.livenessIntervalMs))}destroy(){this.destroyed=!0,this.stopLivenessTimer(),this.listeners.clear()}async loadTail(e){try{let n=await this.loadPage("tail",e),r=await this.loadCompleteTurn(n,"tail",e);if(this.destroyed)return;this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.olderHistoryStarted||this.setCursor(r.nextCursor),this.update({freshness:"fresh"})}catch{this.destroyed||this.update({freshness:"error"})}finally{this.destroyed||this.options.markLoaded()}}async loadPage(e,n,r){let s=this.scheduler.now();try{let o=await this.options.loadPage({limit:50,...r?{before:r}:{}});return this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:e,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}async loadCompleteOlderTurn(e){let n=await this.loadPage("older","manual",e);return this.loadCompleteTurn(n,"older","manual",e)}async loadCompleteTurn(e,n,r,s){let o=[...e.messages],u=new Set(this.knownUserMessageIds),p=new Set(s?[s]:[]),d=e.nextCursor;for(let f of e.messages)f.info.role==="user"&&u.add(f.info.id);for(;d&&o.some(f=>f.info.role==="assistant"&&!!f.info.parentID&&!u.has(f.info.parentID));){if(p.has(d))throw new Error(`Session history cursor repeated: ${d}`);p.add(d);let f=await this.loadPage(n,r,d);o.unshift(...f.messages);for(let m of f.messages)m.info.role==="user"&&u.add(m.info.id);d=f.nextCursor}return{messages:o,nextCursor:d}}rememberUserMessages(e){for(let n of e)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){this.destroyed||this.scheduler.now()-this.lastActivityAt<=this.livenessIntervalMs||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(e,n){return new Promise(r=>{let s,o=!1,u=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(u,n),e.then(u,u)})}setCursor(e){this.nextCursor=e,this.update({hasOlder:!!e})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(e,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(e,n):setTimeout(e,n)}cancelTimer(e){e!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(e):clearTimeout(e))}update(e){let n={...this.snapshot,...e};if(!(n.freshness===this.snapshot.freshness&&n.hasOlder===this.snapshot.hasOlder&&n.isLoadingOlder===this.snapshot.isLoadingOlder)){this.snapshot=n;for(let r of this.listeners)r()}}};function of(t){let e=t;for(;e.endsWith("/");)e=e.slice(0,-1);return`${e}/tunnel/permission-requests/stream`}function af(t){let{url:e,token:n,method:r="GET",body:s,onEvent:o,onOpen:u,onError:p,signal:d}=t,f=new Map,m=null,b=!1;function x(y,c){o?.(y,c);let R=f.get(y);if(R)for(let T of R)try{T(c)}catch{}}async function I(){if(b)return;m=new AbortController;let y=d?AbortSignal.any([m.signal,d]):m.signal;try{let c={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(c["Content-Type"]="application/json");let R=await fetch(e,{method:r,headers:c,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:y,credentials:"include"});if(!R.ok)throw new Error(`SSE connection failed: ${R.status} ${R.statusText}`);if(!R.body)throw new Error("SSE response has no body");u?.();let T=R.body.getReader(),k=new TextDecoder,q="",j="message",A="";for(;!b;){let{done:z,value:V}=await T.read();if(z)break;q+=k.decode(V,{stream:!0});let h=q.split(`
77
+ `);q=h.pop()||"";for(let S of h)S===""?A&&(x(j,A.trimEnd()),j="message",A=""):S.startsWith("event: ")?j=S.slice(7).trim():S.startsWith("data: ")?A+=(A?`
78
+ `:"")+S.slice(6):S.startsWith("data:")&&(A+=(A?`
79
+ `:"")+S.slice(5))}}catch(c){if(b||c instanceof DOMException&&c.name==="AbortError")return;p?.(c instanceof Error?c:new Error(String(c)))}}function E(){b=!0,m?.abort(),m=null,f.clear()}function C(y,c){let R=f.get(y)??new Set;R.add(c),f.set(y,R)}function l(y,c){f.get(y)?.delete(c)}return{connect:I,close:E,addEventListener:C,removeEventListener:l}}function tR(t,e){return af({...e,url:of(t)})}export{Dm as ABORT_REASONS,xS as ABORT_REASONS_NOT_YET_EMITTED,Ut as ACTIVE_INSTANCE_COOKIE,v as ApiError,Se as AuthError,ge as BillingError,zu as COST_MARKUP,Gu as DEFAULT_TRANSCRIPT_OPTIONS,Wm as DESTRUCTIVE_PHASES,fr as FEATURE_DISABLED_CODE,lb as FEATURE_FLAG_KEYS,od as FEATURE_NOT_SUPPORTED_CODE,ue as HostBoundaryError,ed as IMPERSONATION_HEADER,NC as INBOX_OBSERVATION_MAX_MS,Om as INSTANCE_SCOPED_ROUTES,ad as MODEL_NOT_SERVABLE_CODE,KC as OPTIMISTIC_ABORT_MAX_MS,JC as OPTIMISTIC_COMPACTION_MAX_MS,LC as OPTIMISTIC_RECEIPT_MAX_MS,$C as PREVIEW_PROBE_TIMEOUT_MS,cd as PROVISION_IN_FLIGHT_CODE,Wr as PublicSessionShareError,zr as PublicVoiceJoinError,ve as RequestTooLargeError,Le as RuntimeNotReadyError,xr as SANDBOX_FS_ROOTS,oe as SANDBOX_PORTS,ef as SERVER_COMPACTION_REVALIDATE_MS,GC as SERVER_OBSERVATION_MAX_MS,BC as STREAM_OBSERVATION_MAX_MS,Dt as SessionNotReadyError,Lr as SessionStartError,lf as __getConfigResolver,cf as __setConfigResolver,_S as abortErrorReason,li as acceptAccountInvite,xv as acceptInvite,Ol as actReviewItem,So as activateConnection,hl as addGroupMembers,gu as addMarketplaceSource,im as allDescendantIds,RC as appendPreviewToken,Oi as approveProjectAccessRequest,Cy as approveTask,Er as archiveProject,qy as assignTicket,zi as attachGroupToProject,D as authenticatedFetch,i as backendApi,d_ as bindSlackIdentity,g_ as bindTeamsIdentity,io as brokerProjectSecretRequest,Fm as buildInstancePath,OC as buildPresentationTemplateImageUrl,MC as buildPresentationTemplatePdfUrl,lp as buildPreviewAuthEndpoint,Xm as buildPublicTemplateUrl,Zm as buildRuntimePresentationConversionUrl,ta as buildSandboxTemplate,Fk as buildStaticFileHealthPreviewUrl,Uk as buildStaticFileLocalUrl,Ok as buildStaticFilePreviewUrl,zd as buildStaticFileServicePath,of as buildTunnelEventStreamUrl,Kk as buildWebProxyUrl,Ul as bulkActReviewItems,G_ as bulkDeletePolicies,B_ as bulkImportPolicies,yo as callConnector,AP as cancelAccountDeletion,oi as cancelAccountInvite,av as cancelSandbox,Ov as cancelSandboxUpdate,Sc as cancelScheduledChange,Pc as cancelSubscription,Zv as checkAccessEmail,Hw as childMapByParent,Hv as claimComputer,Zx as claimPerSeatBilling,Ia as claimWarmProjectSession,Ku as classifyPart,Ym as classifyPreviewProbeStatus,Jg as classifyTurn,Xs as clearImpersonationSession,oc as clearModelDefault,gx as clearSessionFresh,xa as closeChangeRequest,ch as closeMilestone,Gw as collectTurnParts,My as commentTicket,ka as commitSessionChanges,QC as compactionExpiryAtMs,sm as compareMessagesForDisplay,Wu as computeStatusFromPart,Tc as configureAutoTopup,Ht as configureKortix,xc as confirmCheckoutSession,Bc as connectEmail,qc as connectSlack,WP as convertPresentationToGoogleSlides,UC as convertRuntimePresentation,Pt as copyFile,Ic as costExportUrl,HC as countLiveInboxPrompts,ei as createAccount,nu as createAccountAuditWebhook,zl as createAccountToken,yu as createApp,ku as createAppAccessSession,Su as createAppDeployment,El as createAssignment,fP as createAuditWebhook,wv as createBackup,bc as createCheckoutSession,Uo as createConnector,_t as createFile,al as createGatewayKey,gl as createGroup,nf as createHttpSessionSyncController,Bv as createInstance,yg as createKortix,Os as createKortixPty,_k as createMarketplaceInstallSession,oh as createMilestone,Yx as createPerSeatCheckout,U_ as createPolicy,_c as createPortalSession,_i as createProject,Wy as createProjectAgent,Xl as createProjectCliToken,Pi as createProjectRepo,Qi as createProjectResourceGrant,Ve as createProjectSession,Ja as createProjectTrigger,wl as createRole,af as createSSEStream,ev as createSandbox,Ll as createSandboxShare,Yo as createSandboxTemplate,W_ as createScimToken,pP as createServiceAccountApi,qa as createSessionPrompt,Ra as createSessionPublicShare,nP as createSsoGroupMapping,wy as createTask,Ey as createTicket,tR as createTunnelEventStream,ui as declineAccountInvite,_v as declineInvite,IP as deleteAccountImmediately,xu as deleteApp,hP as deleteAuditWebhook,vv as deleteBackup,Lo as deleteConnector,fh as deleteCredential,Ds as deleteEnv,Ae as deleteFile,il as deleteGatewayBudget,Di as deleteGitHubInstallation,fl as deleteGroup,Nv as deleteInstance,th as deleteKortixProject,uh as deleteMilestone,go as deletePersonalProjectSecret,L_ as deletePolicy,Vy as deleteProjectAgent,co as deleteProjectProviderOAuth,Yi as deleteProjectResourceGrant,uo as deleteProjectSecret,Ga as deleteProjectSession,Qa as deleteProjectTrigger,Cl as deleteRole,ea as deleteSandboxTemplate,gP as deleteServiceAccountApi,Ma as deleteSessionPrompt,rP as deleteSsoGroupMapping,eP as deleteSsoProvider,Ry as deleteTask,Oy as deleteTicket,ci as describeAccountInvite,fo as describeConnectorTool,Ji as detachGroupFromProject,Kd as detectLocalhostUrls,dP as disableServiceAccountApi,Nc as disconnectEmail,SC as disconnectGitHubApp,Oc as disconnectSlack,Fb as discoverConnectionOAuth2,Fo as discoverConnectorAuth,sv as discoverLocalSandbox,fC as downloadAccountAudit,Th as dropClientForUrl,Eh as dropPublicClientForUrl,Ky as ensurePmSession,EC as ensurePreviewSessionCookie,Mb as ensureProjectConnectorConnection,Hm as ensureSandbox,Aa as ensureWarmProjectSession,qp as env,eu as exportAccountAudit,ce as extractGatewayErrorDetails,Ze as extractInstanceRoute,Is as featureDisabledKey,CS as featureFlags,Xx as fetchAccountStateWithToken,ib as fetchAccountsWithToken,c_ as fetchCostExportCsv,oa as fetchProjectArchive,hb as fetchProjectsForAccountWithToken,Yp as files,Jr as finalizeAppArtifact,oC as finalizeConnectorSetupLink,bt as findFiles,Bw as findLastTextPart,xt as findText,Za as fireProjectTrigger,Qo as fixSandboxWithAgent,js as formatBillingErrorForUI,uS as formatCost,aS as formatDuration,Nm as formatOpenCodeRuntimeError,Nm as formatRuntimeError,pS as formatTokens,wg as formatTranscript,hg as generateSessionId,ti as getAccount,RP as getAccountDeletionStatus,pc as getAccountState,dc as getAccountStateMinimal,Gm as getActiveInstanceIdFromCookie,UP as getAdminProviderAnalytics,DP as getAdminProviderDistribution,LP as getAdminProviderFallback,EP as getAdminRole,nm as getAgentCardLabel,Nx as getAgentConfig,Jy as getAgentPersona,qv as getAllVersions,Kw as getAnsweredQuestionParts,hu as getApp,_u as getAppAccess,Cu as getAppDeployment,Ru as getAppDeploymentLogs,yk as getApprovalLink,lt as getAuthToken,ws as getAuthTokenWithRetry,Rc as getAutoTopupSettings,Qx as getAutoTopupSetupStatus,fc as getBillingCreditBreakdown,hc as getBillingTierConfigurations,mc as getBillingTransactionsSummary,yc as getBillingUsageHistory,ma as getChangeRequest,fa as getChangeRequestDiff,ya as getChangeRequestMergePreview,Iw as getChildSessionError,Aw as getChildSessionId,Ew as getChildSessionToolParts,me as getClient,se as getClientForUrl,No as getConnectStatus,Ub as getConnectionOAuth2Application,Nb as getConnectionOAuth2Status,Kb as getConnectionPolicies,$r as getConnectorCatalog,Do as getConnectorConfig,$o as getConnectorPolicies,sC as getConnectorSetupLink,a_ as getCostSummary,Lm as getCurrentInstanceIdFromPathname,IS as getCurrentInstanceIdFromWindow,zs as getCurrentProject,Br as getDefaultAccountState,qw as getDiagnostics,tm as getDirectory,Dr as getDiscoverConnector,zb as getDiscoverIntegration,Lc as getEmailInstallation,Gc as getEmailMode,xP as getEnterpriseDemo,ht as getFileStatus,Hu as getFileWithDir,em as getFilename,zm as getFullChangelog,el as getGatewayBreakdown,rl as getGatewayBudgets,nl as getGatewayErrors,ol as getGatewayKeys,Qc as getGatewayLog,Yc as getGatewayOverview,Wc as getGatewayRoutingPolicy,Zc as getGatewaySeries,tl as getGatewaySessions,_C as getGitHubAppStatus,Ti as getGitHubInstallation,HP as getGoogleAuthUrl,dl as getGroup,Rw as getHiddenToolParts,rd as getImpersonationSession,bv as getInvite,Gv as getJustavpsServerTypes,Yy as getKortixProject,Zy as getKortixProjectBySession,Ls as getKortixPtyWebSocketUrl,$v as getLatestSandboxVersion,pC as getMaintenanceConfig,gb as getManagedGitStatus,uu as getMarketplaceCatalogItem,pu as getMarketplaceCatalogItemFile,V_ as getMfaRequired,sh as getMilestone,sc as getModelDefaults,nC as getOAuthConsentRequest,sp as getOpenCodeConfigInvalidError,vw as getPartText,cP as getPatPolicy,Dw as getPermissionForTool,Cr as getProject,Xy as getProjectActivity,la as getProjectCommit,ua as getProjectCommitDiff,Rr as getProjectDetail,pa as getProjectFileHistory,xi as getProjectGitToken,Tr as getProjectLlmCatalog,pb as getProjectLlmCatalogProviders,Ar as getProjectModelPicker,Mr as getProjectSandboxHealth,mb as getProjectSandboxProviderTransition,Ur as getProjectSession,Ba as getProjectSessionConfigState,Ha as getProjectSessionScope,vc as getProrationPreview,YS as getProviders,Lk as getProxyBaseUrl,Ih as getPublicClientForUrl,Qv as getPublicMarketplaceItem,Yv as getPublicMarketplaceItemFile,tk as getPublicSessionShare,nk as getPublicSessionShareMessages,lC as getPublicShareByToken,hC as getPublicTemplate,ik as getPublicVoiceJoin,ok as getPublicVoiceTranscript,Mw as getQuestionForTool,v_ as getReferralCode,T_ as getReferralStats,dS as getRetryInfo,gS as getRetryMessage,Dl as getReviewItem,Pl as getRolePermissions,kl as getRoleUsage,Tv as getSSHConnection,ZS as getSandbox,tv as getSandboxById,WS as getSandboxPortUrl,Wv as getSandboxProvisionStatus,zv as getSandboxProvisionStreamUrl,jv as getSandboxUpdateStatus,ap as getSandboxUrl,aC as getSecretSetupLink,_r as getServerHealth,bh as getServiceLogs,Ea as getSessionAudit,lS as getSessionCost,Kr as getSessionCostRecord,ju as getSessionHealth,sP as getSessionPolicy,va as getSessionPreviewCandidates,ja as getSessionTranscript,$a as getSessionTurn,Qw as getShellModePart,Uc as getSlackChannelFile,$c as getSlackInstallation,Mc as getSlackManifest,Dc as getSlackMode,Q_ as getSsoProvider,Vd as getStaticFileHealthPath,mr as getSupabaseAccessToken,re as getSupabaseAccessTokenWithRetry,_y as getTask,ky as getTaskStatus,Sk as getTemplate,Ay as getTicket,jw as getToolInfo,Sg as getTranscriptFilename,cS as getTurnCost,sS as getTurnError,iS as getTurnErrorDetails,oS as getTurnStatus,Ac as getUsageRollup,gC as getUserRolesWithToken,da as getVersionDiff,Fa as getVoiceTranscript,nS as getWorkingState,mv as grantSandboxProjectAccess,Hx as grantSecretToAgent,Lw as groupMessagesIntoTurns,mS as hasDiffs,Mk as hasLocalhostUrls,Wd as hasPreviewTarget,Vw as hasRetryingAssistantTurn,Qd as heartbeatGapEvent,Ua as holdSessionPrompts,Yr as humanizeToolName,Sr as impersonationHeaders,Z_ as importSsoProviderFromMetadata,vk as installTemplate,ct as invalidateTokenCache,si as inviteAccountMember,Bi as inviteProjectMember,hi as inviteRepoCollaborator,bS as isAbortError,Yh as isAdminBypassEnabled,Pw as isAgentPart,Gd as isAppRouteUrl,Qg as isAttachment,Es as isBillingError,kw as isCompactionPart,Wt as isConfigured,Ev as isDestructivePhase,zk as isExternalUrl,As as isFeatureDisabledError,Xg as isFilePart,td as isImpersonationSessionLive,TS as isInstanceDetailPath,Um as isInstanceScopedAppPath,Nk as isInternalLocalhostUrl,Cb as isInviteSent,tS as isLastUserMessage,ub as isManagedGithubProject,DS as isOpenCodeConfigInvalidError,Sw as isPatchPart,Bk as isPreviewUrl,Jd as isProxiableLocalhostUrl,es as isReasoningPart,om as isRetryableTurnError,jk as isRuntimeReady,Vs as isServerReachable,wa as isSessionFresh,Tx as isSessionStartError,am as isShellMode,ww as isSnapshotPart,CC as isSubdomainPreviewUrl,_e as isTextPart,le as isToolPart,Tw as isToolPartHidden,Ns as isUnderSandboxRoot,Wk as isWebProxyUrl,Mp as kortixPty,gi as leaveAccount,qi as linkGitHubInstallation,Ri as linkRepository,Yl as listAccountAudit,tu as listAccountAuditWebhooks,ii as listAccountInvites,ri as listAccountMembers,M_ as listAccountResourceGrants,oP as listAccountSessions,Wl as listAccountTokens,Zs as listAccounts,N_ as listActions,MP as listAdminSandboxes,_l as listAgentIdentities,xo as listAllConnections,vu as listAppDeployments,fu as listApps,Il as listAssignments,bP as listAuditEvents,mP as listAuditWebhooks,kv as listBackups,gc as listBillingTransactions,ga as listChangeRequests,m_ as listChannelBindings,Uy as listColumns,bo as listConnections,St as listConnectorTools,To as listConnectors,o_ as listCostByProject,dh as listCredentialEvents,ph as listCredentials,qr as listDiscoverConnectors,Wb as listDiscoverIntegrations,$s as listEnv,lu as listFeaturedMarketplaces,Ly as listFields,yt as listFiles,Xc as listGatewayLogs,Ai as listGitHubInstallations,Ei as listGitHubRepositories,ji as listGitHubRepositoryBranches,yl as listGroupMembers,$_ as listGroupProjectGrants,pl as listGroups,eh as listKortixProjectSessions,Qy as listKortixProjects,Ms as listKortixPty,Ii as listLinkableGitHubInstallations,au as listMarketplaceCatalogItems,du as listMarketplaceSources,cu as listMarketplaces,q_ as listMemberGroups,D_ as listMemberProjectAccess,ih as listMilestoneEvents,rh as listMilestones,Zi as listPendingApprovals,Ni as listPendingProjectInvites,$l as listPermissions,Go as listPipedreamApps,Bo as listPipedreamSections,O_ as listPolicies,Fi as listProjectAccess,Mi as listProjectAccessRequests,Hy as listProjectAgents,Zl as listProjectAudit,aa as listProjectBranches,Jl as listProjectCliTokens,ca as listProjectCommits,ra as listProjectFiles,Wi as listProjectGroupGrants,Wo as listProjectPolicies,Xi as listProjectResourceGrants,Vo as listProjectSandboxTemplates,na as listProjectSandboxes,no as listProjectSecrets,ze as listProjectSessions,Jo as listProjectSnapshots,Va as listProjectTriggers,$e as listProjects,yi as listProjectsForAccount,Jv as listPublicMarketplaceItems,Xv as listPublicMarketplaces,A_ as listReferrals,ql as listReviewItems,xl as listRoles,gv as listSandboxProjectMembers,Fl as listSandboxShares,rv as listSandboxes,H_ as listScimTokens,uP as listServiceAccountsApi,hh as listServiceTemplates,yh as listServices,Ec as listSessionCosts,Da as listSessionPrompts,Ca as listSessionPublicShares,eo as listSessionsNeedingInput,tP as listSsoGroupMappings,Py as listTaskEvents,xy as listTasks,By as listTemplates,Iy as listTicketEvents,Ty as listTickets,tf as loadHttpSessionHistory,Kv as markInstanceError,vt as markSessionFresh,ba as mergeChangeRequest,FP as migrateAdminSandboxProvider,We as mkdir,Yd as narrowChatEvent,$S as normalizeAppPathname,Vk as normalizeExternalInput,Mt as normalizeToolName,ha as openChangeRequest,Xr as openEventStream,yC as openStressTestStream,Ce as parseBillingError,vS as parseFlagOverride,Et as parseLocalhostUrl,Bm as parseOpenCodeErrorPayload,Eu as parseProxyHop,Uu as parseSubdomainUrl,Hk as parseWebProxyUrl,nh as patchKortixProject,Oo as pipedreamConnect,Co as pipedreamConnectConnection,Ho as pipedreamFinalize,Ro as pipedreamFinalizeConnection,$ as platformConfig,Bb as pollConnectionOAuth2DeviceAuthorization,ao as pollProjectProviderOAuth,Jc as previewGatewayRoute,J_ as previewMfaRequired,Rl as probeEffectivePermission,Tl as probeEffectivePermissions,qC as probePreviewPort,XC as projectCompacting,Rx as projectSessionStartSeed,WC as projectWorking,ki as provisionProject,db as provisionProjectStream,bb as provisionProjectWithToken,Mu as proxyLocalhostUrl,Gk as proxyUrlToInternal,Cc as purchaseCredits,Ob as putConnectionOAuth2Application,cv as reactivateSandbox,kc as reactivateSubscription,Ne as readBlob,Be as readFile,ia as readProjectFile,Xo as rebuildProjectSnapshot,_o as reconcileConnection,Po as reconcileMemberConnection,_h as reconcileServices,tC as recordPlatformLogout,C_ as refreshReferralCode,Vr as registerAppArtifact,Ph as registerService,Ui as rejectProjectAccessRequest,$w as relativizePath,Na as reloadProjectSessionConfig,Ka as reloadProjectSessionConfigStream,su as removeAccountAuditWebhook,pi as removeAccountMember,bl as removeGroupMember,Fs as removeKortixPty,mu as removeMarketplaceSource,fe as renameFile,nv as renameSandbox,_a as reopenChangeRequest,lh as reopenMilestone,Fy as replaceColumns,Gy as replaceFields,Ny as replaceTemplates,TP as requestAccountDeletion,Pa as requestChangesOnChangeRequest,vb as requestProjectAccess,ou as requestProjectConnector,iu as requestProjectSecret,ai as resendAccountInvite,Hi as resendPendingProjectInvite,Ah as resetClient,Vc as resetGatewayRoutingPolicy,jh as resetPublicClient,Mv as resetSandboxUpdateStatus,to as resolveApproval,Jx as resolvedPlan,Ct as restartProjectSession,iv as restartSandbox,Sv as restoreBackup,Oa as retrySessionPrompt,mh as revealCredential,aP as revokeAccountSession,Vl as revokeAccountToken,jl as revokeAssignment,wo as revokeConnection,cl as revokeGatewayKey,Ki as revokePendingProjectInvite,Gi as revokeProjectAccess,Ql as revokeProjectCliToken,fv as revokeSandboxProjectAccess,Gl as revokeSandboxShare,z_ as revokeScimToken,Ta as revokeSessionPublicShare,xe as rewriteLocalhostUrl,Iu as rollbackApp,ll as runGatewayPlayground,$i as saveGitHubInstallation,wc as scheduleDowngrade,mo as searchConnectorTools,sa as searchProjectFiles,I_ as sendReferralEmails,YC as serverCompactionRevalidateAtMs,xh as serviceAction,Ax as sessionStartKey,ES as setActiveInstanceCookie,Qh as setAdminBypass,OP as setAdminProviderDistribution,GP as setAdminProviderFallback,cc as setAgentScope,Yf as setBootstrapAuthToken,Qf as setCachedAuthToken,Hb as setConnectionPolicies,Eo as setConnectorAuthorizationStrategy,Ko as setConnectorCredential,Io as setConnectorCredentialMode,Mo as setConnectorName,qo as setConnectorPolicies,Vb as setConnectorSecretBinding,jo as setConnectorSensitive,vo as setDefaultConnection,_P as setEnterpriseDemo,qs as setEnv,sl as setGatewayBudget,zc as setGatewayRoutingPolicy,kC as setGitHubAppFromExisting,wC as setGitHubAppPat,Nh as setImpersonationSession,dC as setMaintenanceConfig,Hc as setMeetBotName,K_ as setMemberSuperAdmin,X_ as setMfaRequired,ic as setModelDefault,po as setPersonalProjectSecret,Mx as setProjectModelEnablement,Ci as setProjectOnboardingComplete,yb as setProjectOnboardingProfile,zo as setProjectPolicies,so as setProjectSecretStrategy,za as setProjectSessionModel,Wa as setProjectSessionScope,Sa as setProjectSessionSharing,Ya as setProjectTriggersActivation,Rv as setupSSH,ep as shellExitCode,id as shouldAttachImpersonation,rS as shouldHideResponsePart,Zg as shouldShowToolPart,Ww as sortSessions,Cw as splitUserParts,Tu as startApp,Lb as startConnectionOAuth2Authorization,Gb as startConnectionOAuth2DeviceAuthorization,iC as startConnectorSetupLink,PC as startGitHubAppManifest,oo as startProjectProviderOAuth,qe as startProjectSession,uC as startSessionWithToken,vy as startTask,Au as stopApp,Rt as stopProjectSession,ov as stopSandbox,Ow as stripAnsi,AS as stripInstancePrefix,Re as stripTrailingSlashes,eC as submitAccessRequest,mC as submitDemoRequest,rC as submitOAuthConsent,Ml as submitReviewItem,cC as submitSecretSetupLink,Kh as subscribeToImpersonation,Zh as supabaseClient,Ao as syncConnectors,e_ as syncSubscription,$h as systemReload,Ee as toDaemonPath,jS as toInstanceAwarePath,Xd as toInternalUrl,mt as toSandboxAbsolutePath,Ks as toWorkspaceRelative,Zr as toolInfo,Im as toolViewModel,ul as transcribeAudio,Dv as triggerSandboxUpdate,Dp as triggersRequest,Nw as turnHasSteps,Dy as unassignTicket,Y as unwrapError,ru as updateAccountAuditWebhook,di as updateAccountMemberRole,ni as updateAccountName,Kx as updateAgentConfig,bu as updateApp,Pu as updateAppAccess,yP as updateAuditWebhook,f_ as updateChannelBinding,ko as updateConnectionCredential,Kc as updateEmailPolicy,Si as updateExperimentalFeature,wi as updateFeatureFlag,ml as updateGroup,Us as updateKortixPty,ah as updateMilestone,lP as updatePatPolicy,F_ as updatePolicy,Ir as updateProject,Li as updateProjectAccess,zy as updateProjectAgent,uc as updateProjectDefaultAgent,Vi as updateProjectGroupGrant,vi as updateProjectSandboxProvider,La as updateProjectSession,Xa as updateProjectTrigger,Sl as updateRole,vl as updateRolePermissions,Zo as updateSandboxTemplate,iP as updateSessionPolicy,Sy as updateTask,fb as updateTemplateWarmPool,jy as updateTicket,$y as updateTicketStatus,wu as uploadAppArtifactArchive,ho as uploadConnectorAttachment,Ke as uploadFile,Fc as uploadSlackChannelFile,gh as upsertCredential,lo as upsertProjectGitCredential,ro as upsertProjectSecret,Y_ as upsertSsoProvider,bi as validateProjectManifest,R_ as validateReferralCode,mi as validateToken,x_ as verifyGatewayProvider,zC as workingExpiryAtMs,He as writeFile};