@beeuni/sdk 0.1.0 → 0.3.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 (291) hide show
  1. package/README.md +53 -92
  2. package/dist/beeuni.esm.min.js +36 -34
  3. package/dist/beeuni.global.js +36 -34
  4. package/dist/browser/cache/idb-sync-cache.js +15 -5
  5. package/dist/browser/session-sync/server-transcript-mirror.d.ts +7 -1
  6. package/dist/browser/session-sync/server-transcript-mirror.js +30 -24
  7. package/dist/browser/session-sync/session-sync-registry.d.ts +3 -1
  8. package/dist/browser/session-sync/session-sync-registry.js +48 -3
  9. package/dist/browser/stores/sync-store/keep-unchanged.d.ts +4 -0
  10. package/dist/browser/stores/sync-store/keep-unchanged.js +34 -0
  11. package/dist/browser/stores/sync-store.d.ts +7 -0
  12. package/dist/browser/stores/sync-store.js +122 -35
  13. package/dist/core/attachments/prompt-attachments.d.ts +4 -0
  14. package/dist/core/attachments/prompt-attachments.js +34 -0
  15. package/dist/core/capture/rules.d.ts +17 -0
  16. package/dist/core/capture/rules.js +27 -0
  17. package/dist/core/client/beeuni.d.ts +99 -34
  18. package/dist/core/client/beeuni.js +5 -11
  19. package/dist/core/client/capture.d.ts +105 -0
  20. package/dist/core/client/capture.js +48 -0
  21. package/dist/core/client/facade-catalog.d.ts +0 -4
  22. package/dist/core/client/facade-catalog.js +1 -5
  23. package/dist/core/client/facade-identity.d.ts +1 -0
  24. package/dist/core/client/facade-identity.js +1 -0
  25. package/dist/core/client/project-access-resources.d.ts +3 -1
  26. package/dist/core/client/project-access-resources.js +1 -1
  27. package/dist/core/client/project-connections.d.ts +2 -2
  28. package/dist/core/client/project-connections.js +2 -2
  29. package/dist/core/client/project-operations-admin.d.ts +4 -4
  30. package/dist/core/client/project-operations-review.d.ts +2 -3
  31. package/dist/core/client/project-operations-review.js +1 -0
  32. package/dist/core/client/project-operations-workspace.d.ts +4 -4
  33. package/dist/core/client/project-operations-workspace.js +1 -1
  34. package/dist/core/client/project-operations.d.ts +9 -19
  35. package/dist/core/client/project-operations.js +2 -6
  36. package/dist/core/client/project-platform-security.d.ts +1 -1
  37. package/dist/core/client/project-platform-settings.d.ts +1 -1
  38. package/dist/core/client/session-context.d.ts +2 -0
  39. package/dist/core/client/session-handle.d.ts +13 -0
  40. package/dist/core/client/session-lifecycle-resources.d.ts +11 -0
  41. package/dist/core/client/session-lifecycle-resources.js +4 -0
  42. package/dist/core/client/session-lifecycle-security.d.ts +2 -0
  43. package/dist/core/client/session-lifecycle-security.js +1 -0
  44. package/dist/core/client/session-readiness.d.ts +2 -0
  45. package/dist/core/client/session-readiness.js +20 -1
  46. package/dist/core/http/api-client.d.ts +1 -7
  47. package/dist/core/http/api-client.js +2 -37
  48. package/dist/core/http/auth.d.ts +2 -4
  49. package/dist/core/http/auth.js +2 -8
  50. package/dist/core/http/config.d.ts +2 -0
  51. package/dist/core/http/response-error.js +26 -11
  52. package/dist/core/http/transport.js +6 -1
  53. package/dist/core/models/composer-model.d.ts +14 -0
  54. package/dist/core/models/composer-model.js +21 -1
  55. package/dist/core/rest/platform-client/capture.d.ts +363 -0
  56. package/dist/core/rest/platform-client/capture.js +116 -0
  57. package/dist/core/rest/platform-client/client-policy.d.ts +8 -0
  58. package/dist/core/rest/platform-client/client-policy.js +30 -0
  59. package/dist/core/rest/platform-client/index.d.ts +4 -4
  60. package/dist/core/rest/platform-client/index.js +4 -4
  61. package/dist/core/rest/platform-client/lifecycle.js +18 -12
  62. package/dist/core/rest/platform-client/shared.d.ts +5 -0
  63. package/dist/core/rest/platform-client/shared.js +18 -0
  64. package/dist/core/rest/platform-client/types.d.ts +1 -1
  65. package/dist/core/rest/projects-client/account-secret-resources.d.ts +2 -1
  66. package/dist/core/rest/projects-client/accounts.d.ts +34 -0
  67. package/dist/core/rest/projects-client/accounts.js +10 -0
  68. package/dist/core/rest/projects-client/admin-providers.d.ts +0 -61
  69. package/dist/core/rest/projects-client/admin-providers.js +0 -6
  70. package/dist/core/rest/projects-client/agent-config.d.ts +3 -0
  71. package/dist/core/rest/projects-client/apps-fleet.d.ts +5 -1
  72. package/dist/core/rest/projects-client/apps-fleet.js +2 -2
  73. package/dist/core/rest/projects-client/apps.d.ts +11 -1
  74. package/dist/core/rest/projects-client/change-requests.d.ts +2 -0
  75. package/dist/core/rest/projects-client/change-requests.js +2 -0
  76. package/dist/core/rest/projects-client/connectors.d.ts +13 -55
  77. package/dist/core/rest/projects-client/connectors.js +5 -29
  78. package/dist/core/rest/projects-client/files.d.ts +3 -0
  79. package/dist/core/rest/projects-client/files.js +4 -0
  80. package/dist/core/rest/projects-client/gateway.d.ts +5 -0
  81. package/dist/core/rest/projects-client/git-backend.d.ts +1 -10
  82. package/dist/core/rest/projects-client/git-backend.js +0 -10
  83. package/dist/core/rest/projects-client/iam-actions.d.ts +76 -0
  84. package/dist/core/rest/projects-client/iam-actions.js +101 -0
  85. package/dist/core/rest/projects-client/iam-sso.d.ts +0 -10
  86. package/dist/core/rest/projects-client/iam-sso.js +0 -3
  87. package/dist/core/rest/projects-client/iam.d.ts +1 -0
  88. package/dist/core/rest/projects-client/iam.js +1 -0
  89. package/dist/core/rest/projects-client/index.d.ts +1 -4
  90. package/dist/core/rest/projects-client/index.js +1 -4
  91. package/dist/core/rest/projects-client/notifications.d.ts +1 -1
  92. package/dist/core/rest/projects-client/notifications.js +4 -0
  93. package/dist/core/rest/projects-client/projects.d.ts +4 -2
  94. package/dist/core/rest/projects-client/projects.js +4 -2
  95. package/dist/core/rest/projects-client/review-items.d.ts +2 -0
  96. package/dist/core/rest/projects-client/review-items.js +4 -0
  97. package/dist/core/rest/projects-client/review.d.ts +17 -3
  98. package/dist/core/rest/projects-client/review.js +11 -0
  99. package/dist/core/rest/projects-client/sandbox.d.ts +8 -9
  100. package/dist/core/rest/projects-client/secrets.d.ts +3 -0
  101. package/dist/core/rest/projects-client/session-attachments.js +14 -1
  102. package/dist/core/rest/projects-client/session-sandbox.d.ts +1 -1
  103. package/dist/core/rest/projects-client/sessions.d.ts +31 -4
  104. package/dist/core/rest/projects-client/sessions.js +34 -4
  105. package/dist/core/runtime/runtime-rest-client.js +1 -1
  106. package/dist/core/runtime/runtime-types.d.ts +1 -0
  107. package/dist/core/session/control-stream.d.ts +1 -0
  108. package/dist/core/session/control-stream.js +18 -1
  109. package/dist/core/session/open-bundle.d.ts +4 -4
  110. package/dist/core/session/open-bundle.js +29 -46
  111. package/dist/core/session/turn-end-watch.d.ts +47 -0
  112. package/dist/core/session/turn-end-watch.js +141 -0
  113. package/dist/core/session-log/guard.d.ts +6 -0
  114. package/dist/core/session-log/guard.js +109 -0
  115. package/dist/core/session-log/index.d.ts +7 -0
  116. package/dist/core/session-log/index.js +5 -0
  117. package/dist/core/session-log/saved-log.d.ts +10 -0
  118. package/dist/core/session-log/saved-log.js +25 -0
  119. package/dist/core/session-log/source.d.ts +25 -0
  120. package/dist/core/session-log/source.js +30 -0
  121. package/dist/core/session-log/store.d.ts +21 -0
  122. package/dist/core/session-log/store.js +126 -0
  123. package/dist/core/session-log/tool-call.d.ts +11 -0
  124. package/dist/core/session-log/tool-call.js +65 -0
  125. package/dist/core/session-log/turns/blocks.d.ts +60 -0
  126. package/dist/core/session-log/turns/blocks.js +124 -0
  127. package/dist/core/session-log/turns/history.d.ts +32 -0
  128. package/dist/core/session-log/turns/history.js +99 -0
  129. package/dist/core/session-log/turns/index.d.ts +4 -0
  130. package/dist/core/session-log/turns/index.js +4 -0
  131. package/dist/core/session-log/turns/metrics.d.ts +21 -0
  132. package/dist/core/session-log/turns/metrics.js +29 -0
  133. package/dist/core/session-log/turns/turn.d.ts +55 -0
  134. package/dist/core/session-log/turns/turn.js +279 -0
  135. package/dist/core/session-log/turns/v1-parts.d.ts +8 -0
  136. package/dist/core/session-log/turns/v1-parts.js +43 -0
  137. package/dist/core/session-log/types.d.ts +264 -0
  138. package/dist/core/session-log/types.js +6 -0
  139. package/dist/core/session-log/v1-view.d.ts +13 -0
  140. package/dist/core/session-log/v1-view.js +215 -0
  141. package/dist/core/session-log/v1.d.ts +31 -0
  142. package/dist/core/session-log/v1.js +473 -0
  143. package/dist/core/session-sync/copy-store-types.d.ts +19 -0
  144. package/dist/core/session-sync/copy-store-types.js +1 -0
  145. package/dist/core/session-sync/saved-copy-store.js +25 -4
  146. package/dist/core/session-sync/saved-transcript.d.ts +15 -1
  147. package/dist/core/session-sync/saved-transcript.js +55 -0
  148. package/dist/core/session-sync/session-sync-controller.js +3 -0
  149. package/dist/core/stream/event-stream.js +2 -2
  150. package/dist/core/turns/classify.d.ts +2 -1
  151. package/dist/core/turns/classify.js +7 -3
  152. package/dist/core/turns/edit-blocks.d.ts +1 -0
  153. package/dist/core/turns/edit-blocks.js +15 -0
  154. package/dist/core/turns/parts.d.ts +3 -2
  155. package/dist/core/turns/parts.js +4 -2
  156. package/dist/core/turns/segments/burst-summary.d.ts +1 -0
  157. package/dist/core/turns/segments/burst-summary.js +24 -0
  158. package/dist/core/turns/segments/group-steps.d.ts +4 -3
  159. package/dist/core/turns/segments/group-steps.js +9 -6
  160. package/dist/core/turns/segments/index.d.ts +1 -0
  161. package/dist/core/turns/segments/index.js +1 -0
  162. package/dist/core/turns/segments/narration.d.ts +5 -4
  163. package/dist/core/turns/segments/narration.js +12 -3
  164. package/dist/core/turns/segments/session-activity-groups.d.ts +2 -1
  165. package/dist/core/turns/segments/session-activity-groups.js +3 -1
  166. package/dist/core/turns/segments/step-label.d.ts +2 -1
  167. package/dist/core/turns/segments/step-label.js +3 -1
  168. package/dist/core/turns/segments/work-split.d.ts +10 -0
  169. package/dist/core/turns/segments/work-split.js +40 -0
  170. package/dist/core/turns/segments/working-turn.d.ts +4 -2
  171. package/dist/core/turns/segments/working-turn.js +9 -8
  172. package/dist/core/turns/state.d.ts +2 -7
  173. package/dist/core/turns/state.js +28 -134
  174. package/dist/core/turns/tool-kind.d.ts +1 -1
  175. package/dist/core/turns/tool-kind.js +3 -2
  176. package/dist/core/turns/tool-registry.js +1 -0
  177. package/dist/core/turns/tools/tool-meta.d.ts +3 -2
  178. package/dist/core/turns/tools/tool-meta.js +5 -2
  179. package/dist/core/turns/tools/tool-outcome.d.ts +2 -1
  180. package/dist/core/turns/tools/tool-outcome.js +3 -1
  181. package/dist/core/turns/types.d.ts +1 -1
  182. package/dist/core/turns/view-model.js +1 -13
  183. package/dist/core/warm-session-pool.d.ts +29 -0
  184. package/dist/core/warm-session-pool.js +127 -0
  185. package/dist/genui/catalog.d.ts +28 -0
  186. package/dist/genui/catalog.js +396 -0
  187. package/dist/genui/expansion.d.ts +3 -0
  188. package/dist/genui/expansion.js +295 -0
  189. package/dist/genui/fence-entry.d.ts +2 -0
  190. package/dist/genui/fence-entry.js +1 -0
  191. package/dist/genui/fence.d.ts +21 -0
  192. package/dist/genui/fence.js +138 -0
  193. package/dist/genui/index.d.ts +6 -0
  194. package/dist/genui/index.js +6 -0
  195. package/dist/genui/markdown.d.ts +12 -0
  196. package/dist/genui/markdown.js +104 -0
  197. package/dist/genui/parse.d.ts +6 -0
  198. package/dist/genui/parse.js +75 -0
  199. package/dist/genui/prompt.d.ts +2 -0
  200. package/dist/genui/prompt.js +206 -0
  201. package/dist/genui/react/default-components.d.ts +2 -0
  202. package/dist/genui/react/default-components.js +72 -0
  203. package/dist/genui/react/default-components.test.d.ts +1 -0
  204. package/dist/genui/react/default-components.test.js +94 -0
  205. package/dist/genui/react/genui-block-disabled.test.d.ts +1 -0
  206. package/dist/genui/react/genui-block-disabled.test.js +50 -0
  207. package/dist/genui/react/genui-block.d.ts +28 -0
  208. package/dist/genui/react/genui-block.js +91 -0
  209. package/dist/genui/react/genui-block.test.d.ts +1 -0
  210. package/dist/genui/react/genui-block.test.js +205 -0
  211. package/dist/genui/react/index.d.ts +2 -0
  212. package/dist/genui/react/index.js +2 -0
  213. package/dist/genui/share.d.ts +5 -0
  214. package/dist/genui/share.js +30 -0
  215. package/dist/genui/test-fixtures.d.ts +2 -0
  216. package/dist/genui/test-fixtures.js +16 -0
  217. package/dist/genui/types.d.ts +29 -0
  218. package/dist/genui/types.js +1 -0
  219. package/dist/genui/urls.d.ts +1 -0
  220. package/dist/genui/urls.js +18 -0
  221. package/dist/genui/validate.d.ts +9 -0
  222. package/dist/genui/validate.js +116 -0
  223. package/dist/index.d.ts +4 -4
  224. package/dist/index.js +4 -4
  225. package/dist/internal/connector-catalog.d.ts +48 -0
  226. package/dist/internal/connector-catalog.js +27 -0
  227. package/dist/internal/host-configuration.d.ts +22 -0
  228. package/dist/internal/host-configuration.js +28 -0
  229. package/dist/internal/platform-admin-react.d.ts +12 -0
  230. package/dist/internal/platform-admin-react.js +13 -0
  231. package/dist/internal/platform-admin.d.ts +9 -0
  232. package/dist/internal/platform-admin.js +9 -0
  233. package/dist/platform/ui.d.ts +8 -2
  234. package/dist/platform/ui.js +19 -4
  235. package/dist/react/chat/use-chat-turns.d.ts +1 -1
  236. package/dist/react/human-presence.d.ts +9 -0
  237. package/dist/react/human-presence.js +12 -0
  238. package/dist/react/index.d.ts +4 -13
  239. package/dist/react/index.js +4 -13
  240. package/dist/react/opencode.d.ts +1 -0
  241. package/dist/react/opencode.js +1 -0
  242. package/dist/react/query-contracts.d.ts +6 -0
  243. package/dist/react/query-contracts.js +6 -0
  244. package/dist/react/query-keys.d.ts +17 -2
  245. package/dist/react/query-keys.js +24 -2
  246. package/dist/react/reset-identity-state.js +2 -0
  247. package/dist/react/session-cache-write.d.ts +1 -0
  248. package/dist/react/session-cache-write.js +20 -0
  249. package/dist/react/session-transcript-subscription.js +3 -1
  250. package/dist/react/sign-in-with-beeuni.d.ts +6 -6
  251. package/dist/react/turn-end-handoff.d.ts +13 -0
  252. package/dist/react/turn-end-handoff.js +101 -0
  253. package/dist/react/use-admin-providers.d.ts +3 -6
  254. package/dist/react/use-admin-providers.js +1 -11
  255. package/dist/react/use-capture.d.ts +47 -0
  256. package/dist/react/use-capture.js +173 -0
  257. package/dist/react/use-feature-flag.js +1 -0
  258. package/dist/react/use-opencode-events/handle-event.d.ts +1 -0
  259. package/dist/react/use-opencode-events/handle-event.js +5 -0
  260. package/dist/react/use-opencode-events/handle-interaction-event.js +8 -3
  261. package/dist/react/use-opencode-events/handle-session-event.js +13 -8
  262. package/dist/react/use-opencode-events/handler-context.d.ts +1 -0
  263. package/dist/react/use-opencode-events/helpers.d.ts +1 -0
  264. package/dist/react/use-opencode-events/helpers.js +11 -1
  265. package/dist/react/use-opencode-events/index.js +1 -0
  266. package/dist/react/use-opencode-local.d.ts +5 -1
  267. package/dist/react/use-opencode-local.js +15 -2
  268. package/dist/react/use-opencode-sessions/commands.d.ts +11 -1
  269. package/dist/react/use-opencode-sessions/commands.js +21 -1
  270. package/dist/react/use-opencode-sessions/permissions.js +28 -1
  271. package/dist/react/use-project-sessions.d.ts +1 -1
  272. package/dist/react/use-project-sessions.js +6 -5
  273. package/dist/react/use-prompt-attachments.js +1 -0
  274. package/dist/react/use-review-summary.d.ts +13 -0
  275. package/dist/react/use-review-summary.js +32 -0
  276. package/dist/react/use-runtime-reconnect.js +1 -1
  277. package/dist/react/use-session-list-state.d.ts +6 -0
  278. package/dist/react/use-session-list-state.js +33 -0
  279. package/dist/react/use-session-log.d.ts +16 -0
  280. package/dist/react/use-session-log.js +143 -0
  281. package/dist/react/use-session-messages.d.ts +2 -1
  282. package/dist/react/use-session-messages.js +15 -14
  283. package/dist/react/use-session-stream.js +12 -1
  284. package/dist/react/use-session-sync.d.ts +2 -2
  285. package/dist/react/use-session-sync.js +10 -8
  286. package/dist/react/use-session-transcript-history.js +2 -12
  287. package/dist/react/use-session-working.d.ts +2 -0
  288. package/dist/react/use-session-working.js +10 -0
  289. package/dist/react/use-session.d.ts +6 -0
  290. package/dist/react/use-session.js +88 -6
  291. package/package.json +62 -8
@@ -1,24 +1,24 @@
1
- var ab={backendUrl:"",getToken:async()=>null},es=null,Mn=null;function Yk(e){Mn=e}function Qk(){return Mn}function ts(e,t){t?.global!==!1&&(es=e)}function k(){return Mn?.()??es??ab}function ns(){return es!==null||Mn?.()!==void 0}function cb(e){return new Promise(t=>setTimeout(t,e))}async function On(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,i=null;for(let a=0;a<r;a++)if(a>0&&(o&&n?.(),s>0&&await cb(s)),i=await e(),i)return i;return i}var rs=12e4;function ub(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function bi(e,t,n=rs){let r=e instanceof Request?e.signal:t?.signal;if(ub(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Dn(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}var b=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let i=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:i,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},J=class extends b{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},Ke=class extends b{constructor(t,n,r,s={}){super(r||n.message||`Billing Error: ${t}`,{...s,status:t,detail:n}),this.name="BillingError"}},lt=class extends b{constructor(t=431,n,r){let s="Request headers are too large";super(r||n?.message||s,{status:t,detail:{message:n?.message||s,suggestion:n?.suggestion||"Try uploading files one at a time, or reduce the number of files in a single request."}}),this.name="RequestTooLargeError"}},lb="ENDPOINT_RETIRED";function F(e,t){let n=t?` ${t}`:"";return new b(`${e}() is retired: the Beeuni API no longer serves this endpoint.${n}`,{code:lb})}var ss="feature_disabled";function _i(e){if(!(e instanceof b)||e.status!==403||e.code!==ss)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function Pi(e){let t=_i(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function Si(e){let t=_i(e);if(!t)return null;let n=e.feature;return typeof n=="string"?n:typeof t.feature=="string"?t.feature:null}function jn(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new Ke(t,{message:r?.message||e.message||"Billing error",...r},void 0,{code:e.code,details:e.details,data:e.data,response:e.response,url:e.url,endpoint:e.endpoint})}function xi(e){return e instanceof Ke}function jt(e){if(e instanceof J)return!0;let t=e?.status;return t===401||t===403}function wi(e){if(!(e instanceof Ke))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.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:e.detail?.message||"Please upgrade to continue."}}function ge(){return typeof DOMException=="function"?new DOMException("Aborted","AbortError"):Object.assign(new Error("Aborted"),{name:"AbortError"})}function me(e,t){return new Promise((n,r)=>{let s=()=>{t.removeEventListener("abort",s),r(ge())};t.addEventListener("abort",s,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener("abort",s)),t.aborted&&s()})}function $n(e,t){return new Promise((n,r)=>{let s=()=>{clearTimeout(o),t?.removeEventListener("abort",s),r(ge())},o=setTimeout(()=>{t?.removeEventListener("abort",s),n()},e);t?.aborted?s():t?.addEventListener("abort",s,{once:!0})})}var vi="request_deadline",pb=/^Request exceeded the \d+s server processing deadline$/,Ai=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===vi||pb.test(n),db="git_mirror_unavailable",gb=/^git mirror is temporarily unavailable$/,mb=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===db||gb.test(n);async function fb(e,t){let n=`HTTP ${e.status}: ${e.statusText}`,r=null;try{r=await me(e.json(),t),typeof r.message=="string"?n=r.message:r.error&&typeof r.error=="string"?n=r.error:typeof r.detail=="string"?n=r.detail:typeof r.detail?.message=="string"?n=r.detail.message:typeof r.reason=="string"&&(n=r.reason)}catch{}if(t.aborted)throw ge();return{message:n,data:r}}function yb(e,t,n){return Ai(e,t,n)||mb(e,t,n)||e===501&&t?.code===Ri||e===409&&(t?.code===Ci||t?.code===Ii)||e===503&&(t?.code===Ti||t?.code===Ei)}async function ki(e,t,n,r){let{message:s,data:o}=await fb(e,t),i=new b(s,{status:e.status,response:e,details:o||void 0,data:o,detail:o?.detail,code:Ai(e.status,o,s)?vi:o?.code||o?.error_code||o?.detail?.error_code||e.status.toString()});e.status===402&&(i=jn(i));let a=e.status!==403?null:o?.code==="account_mfa_required"?"beeuni:mfa-required":o?.code==="sso_required"?"beeuni:sso-required":null;if(a&&typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent(a))}catch{}return e.status===431&&(i=new lt(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."})),n&&!yb(e.status,o,s)&&k().onError?.(i,r),{error:i,success:!1}}var hb="X-Beeuni-Impersonate",is="beeuni.impersonation",He=null,Un=!1,os=new Set;function as(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function bb(e,t=Date.now()){if(!e||!e.grantId||!e.accountId)return!1;let n=Date.parse(e.expiresAt);return Number.isFinite(n)&&n>t}function _b(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t?.grantId!="string"||typeof t?.accountId!="string"?null:{grantId:t.grantId,accountId:t.accountId,accountName:typeof t.accountName=="string"?t.accountName:null,expiresAt:typeof t.expiresAt=="string"?t.expiresAt:""}}catch{return null}}function Mi(){for(let e of os)try{e()}catch{}}function Pb(){return Un||(Un=!0,He=_b(as()?.getItem(is)??null)),He&&!bb(He)?(Oi(),null):He}function iR(e){if(Un=!0,!e){Oi();return}He=e;try{as()?.setItem(is,JSON.stringify(e))}catch{}Mi()}function Oi(){Un=!0;let e=He!==null;He=null;try{as()?.removeItem(is)}catch{}e&&Mi()}function aR(e){return os.add(e),()=>{os.delete(e)}}var Sb=/(^|\/)admin\/(api|analytics)(\/|$)/;function xb(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!Sb.test(t)}function Di(e){if(e!==void 0&&!xb(e))return{};let t=Pb();return t?{[hb]:t.grantId}:{}}var ps=!1;function wb(e){ps=e}function vb(){return ps}function Ab(e){return e?e instanceof Headers||Array.isArray(e)?[...new Headers(e).entries()]:Object.entries(e):[]}function us(e,t){let n=t.toLowerCase();return Object.keys(e).some(r=>r.toLowerCase()===n)}function $t(e,t,n){let r=t.toLowerCase();for(let s of Object.keys(e))s.toLowerCase()===r&&delete e[s];e[t]=n}function Fn(e,t){let n={},r=[e instanceof Request?e.headers:void 0,t.headers];for(let[s,o]of r.flatMap(Ab))$t(n,s,o);return n}function ls(e,t,n){let r={...t},s=k().clientVersion?.trim();s&&!us(r,"x-beeuni-client-version")&&$t(r,"X-Beeuni-Client-Version",s),ps&&$t(r,"x-beeuni-admin-bypass","1");for(let[o,i]of Object.entries(Di(e)))$t(r,o,i);return us(r,"authorization")||$t(r,"Authorization",`Bearer ${n}`),r}async function Bn(e,t){let n=await Ln();if(!n)throw new J;return{headers:new Headers(ls(e,Fn(e,{headers:t}),n)),rejected:()=>Ut(n)}}function kb(e){return typeof ReadableStream<"u"&&e.body instanceof ReadableStream}function ji(e,t,n,r,s){if(t instanceof Request){let u=new Headers(ls(t.url,Fn(t,n),r));return e(new Request(t,{headers:u,...s?{signal:s}:{}}))}let o=String(t),i=ls(o,Fn(t,n),r),a=o.startsWith("/")&&!o.startsWith("//");return e(o,{...n,headers:i,...a?{credentials:"same-origin"}:{},...s?{signal:s}:{}})}var $i=null;async function ds(e){let t=await On(()=>k().getToken(),e);return t&&($i=t),t}var Ln=ds;function Ut(e=$i){e&&k().getToken.invalidate?.(e)}var cs=new Map;function Rb(e){let t=cs.get(e);if(t)return t;let n=(async()=>(Ut(e),Ln({attempts:2,baseDelayMs:200})))().finally(()=>cs.delete(e));return cs.set(e,n),n}async function Ve(e,t={},n={}){let{retryOnAuthError:r=!0,timeoutMs:s=rs}=n,o=n.fetch??k().fetch??fetch,i=s===null?(e instanceof Request?e.signal:t.signal)??void 0:bi(e,t,s);if(i?.aborted)throw ge();let a=await(i?me(Ln(),i):Ln());if(!a)throw new J;let u=r&&!kb(t)&&!us(Fn(e,t),"authorization"),p=u&&e instanceof Request?e.clone():e,d=await ji(o,e,t,a,i);if(d.status!==401||!u)return d;let g=await Rb(a);return!g||g===a?d:ji(o,p,t,g,i)}async function we(e,t,n,r){let s=await Ve(e,t,n);if(s.ok)return s;let o=await s.text().catch(()=>"");throw new b(o||`${r} (HTTP ${s.status})`,{status:s.status,response:s})}var Ui=()=>k().backendUrl||"",Cb=new Set([502,503,504]),Ib=e=>Cb.has(e),Fi=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},Tb=e=>Fi(e)||(e??"GET").toUpperCase()==="DELETE",Eb=2,Nn=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted");async function ve(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,deadlineCoversBody:o=!1,...i}=t,a=new AbortController,u={activeController:a,timeoutId:null,isAborted:!1,didTimeout:!1},p=()=>u.activeController.abort();i.signal?.addEventListener("abort",p,{once:!0});try{return await Mb(e,i,n,r,s,o,a,u)}finally{i.signal?.removeEventListener("abort",p)}}async function Mb(e,t,n,r,s,o,i,a){try{if(t.signal?.aborted)throw ge();a.timeoutId=setTimeout(()=>{!a.isAborted&&!i.signal.aborted&&(a.isAborted=!0,a.didTimeout=!0,i.abort())},s);let u={...t.body instanceof FormData?{}:{"Content-Type":"application/json"},...t.headers},p=await Db(e,t,u,s,o,i,a);if(p instanceof J)return{error:p,success:!1};if(!p.ok)return await ki(p,a.activeController.signal,n,r);let d,g=p.headers.get("content-type");return g?.includes("application/json")?d=await me(p.json(),a.activeController.signal):g?.includes("text/")?d=await me(p.text(),a.activeController.signal):d=await me(p.blob(),a.activeController.signal),{data:d,success:!0,headers:p.headers}}catch(u){return jb(u,e,t.method,n,r,s,a)}finally{qn(a)}}function qn(e){e.timeoutId&&clearTimeout(e.timeoutId),e.timeoutId=null}async function Ob(e,t,n){try{await me(e.arrayBuffer(),t)}catch(r){if(Nn(r))throw r}finally{qn(n)}}async function Db(e,t,n,r,s,o,i){let a=Fi(t.method),u=Tb(t.method),p=u?Eb+1:1,d;for(let g=0;g<p;g++){g>0&&await $n(250*2**(g-1),t.signal??void 0);let m=g===0?o:new AbortController;i.activeController=m,t.signal?.aborted&&m.abort(),g>0&&(i.timeoutId=setTimeout(()=>{i.didTimeout=!0,m.abort()},r));try{d=await me(Ve(e,{...t,headers:n,signal:m.signal,credentials:t.credentials??"omit"},{timeoutMs:null}),m.signal)}catch(f){if(i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null),f instanceof J)return new J;if(i.didTimeout&&Nn(f)&&!t.signal?.aborted&&u&&g<p-1){i.didTimeout=!1;continue}if(Nn(f)||g===p-1)throw f;continue}if(!a||!Ib(d.status)||g===p-1)return s||qn(i),d;await Ob(d,m.signal,i)}return d}function jb(e,t,n,r,s,o,i){qn(i);let a=Nn(e);a&&(i.isAborted=!0);let u;if(a){if(!i.didTimeout)return{error:new b("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let p=t.replace(Ui(),"")||t;u=new b(`Request timed out after ${Math.round(o/1e3)}s: ${p}`,{code:"TIMEOUT",url:t,endpoint:p,timeout:o})}else e instanceof Error?(u=new b(n==="POST"&&e instanceof TypeError&&e.message==="Failed to fetch"?`Failed to fetch: POST ${t.replace(Ui(),"")||t}`:e.message,{name:e.name||"ApiError",stack:e.stack}),r&&k().onError?.(u,s)):(u=new b(String(e)),r&&k().onError?.(u,s));return{error:u,success:!1}}var Ae=()=>k().backendUrl||"",Ri="feature_not_supported",Ci="model_not_servable",Ii="provision_in_flight",Ti="analytics_unavailable",Ei="accounts_list_unavailable",kR={async execute(e,t){try{let{data:n,error:r}=await e();if(r){let s=new b(r.message||"Database error",{code:r.code,details:r});return k().onError?.(s,t),{error:s,success:!1}}return{data:n,success:!0}}catch(n){let r=n instanceof Error?new b(n.message,{name:n.name||"ApiError",stack:n.stack}):new b(String(n));return k().onError?.(r,t),{error:r,success:!1}}}};async function $b(e,t,n={}){let{timeout:r=3e4,fetch:s}=n,o=new AbortController,i=setTimeout(()=>o.abort(),r);try{return await Ve(`${Ae()}${e}`,{method:"POST",headers:{Accept:"text/event-stream","Content-Type":"application/json"},body:JSON.stringify(t),signal:o.signal,credentials:"omit"},{timeoutMs:null,fetch:s})}catch(a){if(a instanceof J)return Dn();throw a}finally{clearTimeout(i)}}var c={putRaw:(e,t,n)=>ve(`${Ae()}${e}`,{...n,method:"PUT",body:t,headers:{"Content-Type":"application/octet-stream",...n?.headers}}),get:(e,t)=>ve(`${Ae()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>ve(`${Ae()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>ve(`${Ae()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>ve(`${Ae()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>ve(`${Ae()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ve(`${Ae()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],ve(`${Ae()}${e}`,{...s,method:"PUT",body:t,headers:o})},postStream:$b};function l(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function gs(e){return e.replace(/\/v1\/?$/,"")}async function pt(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=gs(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function Li(){return l(await c.get("/accounts"))}async function Bi(e){return l(await c.post("/accounts",e))}async function Ni(e){return l(await c.get(`/accounts/${e}`))}async function qi(e,t){return l(await c.patch(`/accounts/${e}`,{name:t}))}async function Gi(e){return l(await c.get(`/accounts/${e}/branding`))}async function Wi(e,t){return l(await c.put(`/accounts/${e}/branding`,t))}async function Ki(e,t,n,r){let s=new FormData;return s.append("file",n,r??(n instanceof File?n.name:t)),l(await c.upload(`/accounts/${e}/branding/assets/${t}`,s))}async function Hi(e,t){return l(await c.delete(`/accounts/${e}/branding/assets/${t}`))}async function Vi(e){return l(await c.delete(`/accounts/${e}/branding`))}async function zi(e){return l(await c.get(`/accounts/${e}/members`))}async function Yi(e,t){return l(await c.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function Qi(e){return l(await c.get(`/accounts/${e}/invites`))}async function Ji(e,t){return l(await c.delete(`/accounts/${e}/invites/${t}`))}async function Xi(e,t){return l(await c.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Zi(){return l(await c.get("/account-invites",{showErrors:!1})).invites}async function ea(e){return l(await c.get(`/account-invites/${e}`,{showErrors:!1}))}async function ta(e){return l(await c.post(`/account-invites/${e}/accept`,{}))}async function na(e){return l(await c.post(`/account-invites/${e}/decline`,{}))}async function ra(e,t){return l(await c.delete(`/accounts/${e}/members/${t}`))}async function sa(e,t,n){return l(await c.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function oa(e){return l(await c.post(`/accounts/${e}/leave`,{}))}async function OR(e){return pt(e,"/v1/accounts")}async function ia(){let e=await c.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}var FR=["marketplace","connectors_api_discover","agentmail_email","llm_gateway","meta_agent","apps","monitors","reminders","warm_sessions","secrets_egress","pooled_provider_secrets","pi_harness","us_region","event_triggers","notification_center","drives","ephemeral_sandboxes"];async function dt(){return l(await c.get("/projects"))}async function ca(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return l(await c.get(`/projects${t}`))}async function Gn(e,t){return l(await c.get(`/projects/${e}`,t))}async function ua(e,t,n="write"){return l(await c.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function la(e,t){return l(await c.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function pa(e){return l(await c.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function LR(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function Wn(e,t){let n=l(await c.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function Kn(e,t){return l(await c.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Hn(e,t){return l(await c.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function BR(e,t){return l(await c.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function da(e){return l(await c.post("/projects",e))}async function ga(e){return l(await c.post("/projects/create-repo",e,{showErrors:!1}))}async function ma(e,t={}){return l(await c.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var aa=200;function Ub(e){let t=e.split(`
1
+ var rP={backendUrl:"",getToken:async()=>null},Zs=null,dr=null;function pM(e){dr=e}function dM(){return dr}function eo(e,t){t?.global!==!1&&(Zs=e)}function C(){return dr?.()??Zs??rP}function to(){return Zs!==null||dr?.()!==void 0}function sP(e){return new Promise(t=>setTimeout(t,e))}async function gr(e,t,n){let r=Math.max(1,t?.attempts??1),s=t?.baseDelayMs??0,o=t?.invalidateBetweenAttempts??!1,i=null;for(let a=0;a<r;a++)if(a>0&&(o&&n?.(),s>0&&await sP(s)),i=await e(),i)return i;return i}var no=12e4;function oP(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function ja(e,t,n=no){let r=e instanceof Request?e.signal:t?.signal;if(oP(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function mr(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}var x=class extends Error{status;code;details;data;detail;response;url;endpoint;timeout;constructor(t,n={}){super(t),this.name="ApiError";let{name:r,stack:s,...o}=n;Object.assign(this,o),r&&(this.name=r),s&&(this.stack=s);let i=typeof t=="string"?t:t==null?"":String(t);Object.defineProperty(this,"message",{value:i,enumerable:!0,writable:!0,configurable:!0}),Object.setPrototypeOf(this,new.target.prototype)}},le=class extends x{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},gt=class extends x{constructor(t,n,r,s={}){super(r||n.message||`Billing Error: ${t}`,{...s,status:t,detail:n}),this.name="BillingError"}},It=class extends x{constructor(t=431,n,r){let s="Request headers are too large";super(r||n?.message||s,{status:t,detail:{message:n?.message||s,suggestion:n?.suggestion||"Try uploading files one at a time, or reduce the number of files in a single request."}}),this.name="RequestTooLargeError"}},iP="ENDPOINT_RETIRED";function G(e,t){let n=t?` ${t}`:"";return new x(`${e}() is retired: the Beeuni API no longer serves this endpoint.${n}`,{code:iP})}var ro="feature_disabled";function La(e){if(!(e instanceof x)||e.status!==403||e.code!==ro)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function $a(e){let t=La(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function Ba(e){let t=La(e);if(!t)return null;let n=e.feature;return typeof n=="string"?n:typeof t.feature=="string"?t.feature:null}function fr(e){let t=e.response?.status||e.status;if(t!==402)return e;let n=e.response?.data||e.data||e.detail||{},r=n?.detail||n;return new gt(t,{message:r?.message||e.message||"Billing error",...r},void 0,{code:e.code,details:e.details,data:e.data,response:e.response,url:e.url,endpoint:e.endpoint})}function Ua(e){return e instanceof gt}function pn(e){if(e instanceof le)return!0;let t=e?.status;return t===401||t===403}function Fa(e){if(!(e instanceof gt))return null;let t=e.detail?.message?.toLowerCase()||"";return t.includes("credit")||t.includes("balance")||t.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:e.detail?.message||"Please upgrade to continue."}}function ke(){return typeof DOMException=="function"?new DOMException("Aborted","AbortError"):Object.assign(new Error("Aborted"),{name:"AbortError"})}function Re(e,t){return new Promise((n,r)=>{let s=()=>{t.removeEventListener("abort",s),r(ke())};t.addEventListener("abort",s,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener("abort",s)),t.aborted&&s()})}function yr(e,t){return new Promise((n,r)=>{let s=()=>{clearTimeout(o),t?.removeEventListener("abort",s),r(ke())},o=setTimeout(()=>{t?.removeEventListener("abort",s),n()},e);t?.aborted?s():t?.addEventListener("abort",s,{once:!0})})}var Na="request_deadline",aP=/^Request exceeded the \d+s server processing deadline$/,qa=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===Na||aP.test(n),cP="git_mirror_unavailable",lP=/^git mirror is temporarily unavailable$/,uP=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===cP||lP.test(n),pP="connectors_provider_unavailable",dP=(e,t)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===pP;async function gP(e,t){let n=`HTTP ${e.status}: ${e.statusText}`,r=null;try{r=await Re(e.json(),t),typeof r.message=="string"?n=r.message:r.error&&typeof r.error=="string"?n=r.error:typeof r.detail=="string"?n=r.detail:typeof r.detail?.message=="string"?n=r.detail.message:typeof r.reason=="string"&&(n=r.reason)}catch{}if(t.aborted)throw ke();return{message:n,data:r}}function mP(e,t,n){return qa(e,t,n)||uP(e,t,n)||dP(e,t)||e===501&&t?.code===Wa||e===409&&(t?.code===Ka||t?.code===Va||t?.code===Ha)||e===503&&(t?.code===za||t?.code===Ya)}async function Ga(e,t,n,r){let{message:s,data:o}=await gP(e,t),i=new x(s,{status:e.status,response:e,details:o||void 0,data:o,detail:o?.detail,code:qa(e.status,o,s)?Na:o?.code||o?.error_code||o?.detail?.error_code||e.status.toString()});e.status===402&&(i=fr(i));let a=e.status===403&&(o?.code==="account_mfa_required"||o?.code==="sso_required")?o.code:null;if(a){try{C().onAccessRemedy?.(a)}catch{}if(typeof window<"u"&&typeof window.dispatchEvent=="function")try{window.dispatchEvent(new CustomEvent(a==="account_mfa_required"?"beeuni:mfa-required":"beeuni:sso-required"))}catch{}}return e.status===431&&(i=new It(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."})),n&&!mP(e.status,o,s)&&C().onError?.(i,r),{error:i,success:!1}}var fP="X-Beeuni-Impersonate",Ja="beeuni.impersonation",Mt=null,so=!1,yP=new Set;function Qa(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function hP(e,t=Date.now()){if(!e||!e.grantId||!e.accountId)return!1;let n=Date.parse(e.expiresAt);return Number.isFinite(n)&&n>t}function _P(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t?.grantId!="string"||typeof t?.accountId!="string"?null:{grantId:t.grantId,accountId:t.accountId,accountName:typeof t.accountName=="string"?t.accountName:null,expiresAt:typeof t.expiresAt=="string"?t.expiresAt:""}}catch{return null}}function bP(){for(let e of yP)try{e()}catch{}}function SP(){return so||(so=!0,Mt=_P(Qa()?.getItem(Ja)??null)),Mt&&!hP(Mt)?(PP(),null):Mt}function PP(){so=!0;let e=Mt!==null;Mt=null;try{Qa()?.removeItem(Ja)}catch{}e&&bP()}var xP=/(^|\/)admin\/(api|analytics)(\/|$)/;function wP(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!xP.test(t)}function Xa(e){if(e!==void 0&&!wP(e))return{};let t=SP();return t?{[fP]:t.grantId}:{}}var vP=!1;function AP(e){return e?e instanceof Headers||Array.isArray(e)?[...new Headers(e).entries()]:Object.entries(e):[]}function hr(e,t){let n=t.toLowerCase();return Object.keys(e).some(r=>r.toLowerCase()===n)}function Ot(e,t,n){let r=t.toLowerCase();for(let s of Object.keys(e))s.toLowerCase()===r&&delete e[s];e[t]=n}function _r(e,t){let n={},r=[e instanceof Request?e.headers:void 0,t.headers];for(let[s,o]of r.flatMap(AP))Ot(n,s,o);return n}function io(e,t,n){let r={...t},s=C().clientVersion?.trim();s&&!hr(r,"x-beeuni-client-version")&&Ot(r,"X-Beeuni-Client-Version",s),vP&&Ot(r,"x-beeuni-admin-bypass","1");for(let[i,a]of Object.entries(Xa(e)))Ot(r,i,a);let o=C().credentialHeader?.trim();return o?hr(r,o)||Ot(r,o,n):hr(r,"authorization")||Ot(r,"Authorization",`Bearer ${n}`),r}async function Sr(e,t){let n=await br();if(!n)throw new le;return{headers:new Headers(io(e,_r(e,{headers:t}),n)),rejected:()=>dn(n)}}function kP(e){return typeof ReadableStream<"u"&&e.body instanceof ReadableStream}function Za(e,t,n,r,s){if(t instanceof Request){let c=new Headers(io(t.url,_r(t,n),r));return e(new Request(t,{headers:c,...s?{signal:s}:{}}))}let o=String(t),i=io(o,_r(t,n),r),a=o.startsWith("/")&&!o.startsWith("//");return e(o,{...n,headers:i,...a?{credentials:"same-origin"}:{},...s?{signal:s}:{}})}var ec=null;async function ao(e){let t=await gr(()=>C().getToken(),e);return t&&(ec=t),t}var br=ao;function dn(e=ec){e&&C().getToken.invalidate?.(e)}var oo=new Map;function RP(e){let t=oo.get(e);if(t)return t;let n=(async()=>(dn(e),br({attempts:2,baseDelayMs:200})))().finally(()=>oo.delete(e));return oo.set(e,n),n}async function mt(e,t={},n={}){let{retryOnAuthError:r=!0,timeoutMs:s=no}=n,o=n.fetch??C().fetch??fetch,i=s===null?(e instanceof Request?e.signal:t.signal)??void 0:ja(e,t,s);if(i?.aborted)throw ke();let a=await(i?Re(br(),i):br());if(!a)throw new le;let c=r&&!kP(t)&&!hr(_r(e,t),"authorization"),p=c&&e instanceof Request?e.clone():e,d=await Za(o,e,t,a,i);if(d.status!==401||!c)return d;let g=await RP(a);return!g||g===a?d:Za(o,p,t,g,i)}async function $e(e,t,n,r){let s=await mt(e,t,n);if(s.ok)return s;let o=await s.text().catch(()=>"");throw new x(o||`${r} (HTTP ${s.status})`,{status:s.status,response:s})}var tc=()=>C().backendUrl||"",CP=new Set([502,503,504]),TP=e=>CP.has(e),nc=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},EP=e=>nc(e)||(e??"GET").toUpperCase()==="DELETE",IP=2,Pr=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted");async function Be(e,t={}){let{showErrors:n=!0,errorContext:r,timeout:s=3e4,deadlineCoversBody:o=!1,...i}=t,a=new AbortController,c={activeController:a,timeoutId:null,isAborted:!1,didTimeout:!1},p=()=>c.activeController.abort();i.signal?.addEventListener("abort",p,{once:!0});try{return await MP(e,i,n,r,s,o,a,c)}finally{i.signal?.removeEventListener("abort",p)}}async function MP(e,t,n,r,s,o,i,a){try{if(t.signal?.aborted)throw ke();a.timeoutId=setTimeout(()=>{!a.isAborted&&!i.signal.aborted&&(a.isAborted=!0,a.didTimeout=!0,i.abort())},s);let c={...t.body instanceof FormData?{}:{"Content-Type":"application/json"},...t.headers},p=await DP(e,t,c,s,o,i,a);if(p instanceof le)return{error:p,success:!1};if(!p.ok)return await Ga(p,a.activeController.signal,n,r);let d,g=p.headers.get("content-type");return g?.includes("application/json")?d=await Re(p.json(),a.activeController.signal):g?.includes("text/")?d=await Re(p.text(),a.activeController.signal):d=await Re(p.blob(),a.activeController.signal),{data:d,success:!0,headers:p.headers}}catch(c){return jP(c,e,t.method,n,r,s,a)}finally{xr(a)}}function xr(e){e.timeoutId&&clearTimeout(e.timeoutId),e.timeoutId=null}async function OP(e,t,n){try{await Re(e.arrayBuffer(),t)}catch(r){if(Pr(r))throw r}finally{xr(n)}}async function DP(e,t,n,r,s,o,i){let a=nc(t.method),c=EP(t.method),p=c?IP+1:1,d;for(let g=0;g<p;g++){g>0&&await yr(250*2**(g-1),t.signal??void 0);let m=g===0?o:new AbortController;i.activeController=m,t.signal?.aborted&&m.abort(),g>0&&(i.timeoutId=setTimeout(()=>{i.didTimeout=!0,m.abort()},r));try{d=await Re(mt(e,{...t,headers:n,signal:m.signal,credentials:t.credentials??"omit"},{timeoutMs:null}),m.signal)}catch(f){if(i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null),f instanceof le)return new le;if(i.didTimeout&&Pr(f)&&!t.signal?.aborted&&c&&g<p-1){i.didTimeout=!1;continue}if(Pr(f)||g===p-1)throw f;continue}if(!a||!TP(d.status)||g===p-1)return s||xr(i),d;await OP(d,m.signal,i)}return d}function jP(e,t,n,r,s,o,i){xr(i);let a=Pr(e);a&&(i.isAborted=!0);let c;if(a){if(!i.didTimeout)return{error:new x("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let p=t.replace(tc(),"")||t;c=new x(`Request timed out after ${Math.round(o/1e3)}s: ${p}`,{code:"TIMEOUT",url:t,endpoint:p,timeout:o})}else e instanceof Error?(c=new x(n==="POST"&&e instanceof TypeError&&e.message==="Failed to fetch"?`Failed to fetch: POST ${t.replace(tc(),"")||t}`:e.message,{name:e.name||"ApiError",stack:e.stack}),r&&C().onError?.(c,s)):(c=new x(String(e)),r&&C().onError?.(c,s));return{error:c,success:!1}}var Ue=()=>C().backendUrl||"",Wa="feature_not_supported",Ka="model_not_servable",Va="provision_in_flight",Ha="sandbox_state_change_in_progress",za="analytics_unavailable",Ya="accounts_list_unavailable";async function LP(e,t,n={}){let{timeout:r=3e4,fetch:s}=n,o=new AbortController,i=setTimeout(()=>o.abort(),r);try{return await mt(`${Ue()}${e}`,{method:"POST",headers:{Accept:"text/event-stream","Content-Type":"application/json"},body:JSON.stringify(t),signal:o.signal,credentials:"omit"},{timeoutMs:null,fetch:s})}catch(a){if(a instanceof le)return mr();throw a}finally{clearTimeout(i)}}var l={putRaw:(e,t,n)=>Be(`${Ue()}${e}`,{...n,method:"PUT",body:t,headers:{"Content-Type":"application/octet-stream",...n?.headers}}),get:(e,t)=>Be(`${Ue()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>Be(`${Ue()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>Be(`${Ue()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>Be(`${Ue()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>Be(`${Ue()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Be(`${Ue()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Be(`${Ue()}${e}`,{...s,method:"PUT",body:t,headers:o})},postStream:LP};function u(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function co(e){return e.replace(/\/v1\/?$/,"")}async function Dt(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=co(e.backendUrl);try{let r=await fetch(`${n}${t}`,{headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3)});return r.ok?await r.json():null}catch{return null}}async function rc(){return u(await l.get("/accounts"))}async function sc(e){return u(await l.post("/accounts",e))}async function oc(e){return u(await l.get(`/accounts/${e}`))}async function ic(e,t){return u(await l.patch(`/accounts/${e}`,{name:t}))}async function ac(e){return u(await l.get(`/accounts/${e}/branding`))}async function cc(e,t){return u(await l.put(`/accounts/${e}/branding`,t))}async function lc(e,t,n,r){let s=new FormData;return s.append("file",n,r??(n instanceof File?n.name:t)),u(await l.upload(`/accounts/${e}/branding/assets/${t}`,s))}async function uc(e,t){return u(await l.delete(`/accounts/${e}/branding/assets/${t}`))}async function pc(e){return u(await l.delete(`/accounts/${e}/branding`))}async function dc(e){return u(await l.get(`/accounts/${e}/members`))}async function gc(e,t){return u(await l.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function mc(e){return u(await l.get(`/accounts/${e}/invites`))}async function fc(e,t){return u(await l.delete(`/accounts/${e}/invites/${t}`))}async function yc(e,t){return u(await l.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function hc(){return u(await l.get("/account-invites",{showErrors:!1})).invites}async function _c(e){return u(await l.get(`/account-invites/${e}`,{showErrors:!1}))}async function lo(e){return u(await l.post(`/account-invites/${e}/accept`,{}))}function $P(e,t){let n=e.bootstrap_grants_applied?.[0]??t?.projects?.[0];return n?{kind:"project",projectId:n.project_id,accountId:e.account_id}:{kind:"account",accountId:e.account_id}}async function bc(e,t){let n=await lo(e);return{accepted:n,landing:$P(n,t)}}async function Sc(e){return u(await l.post(`/account-invites/${e}/decline`,{}))}async function Pc(e,t){return u(await l.delete(`/accounts/${e}/members/${t}`))}async function xc(e,t,n){return u(await l.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function wc(e){return u(await l.post(`/accounts/${e}/leave`,{}))}async function VM(e){return Dt(e,"/v1/accounts")}async function vc(){let e=await l.get("/accounts/me",{showErrors:!1});return!e.success||!e.data?{valid:!1,error:e.error}:{valid:!0,identity:e.data}}var QM=["marketplace","connectors_api_discover","agentmail_email","llm_gateway","meta_agent","monitors","reminders","warm_sessions","secrets_egress","pooled_provider_secrets","pi_harness","genui","us_region","event_triggers","notification_center","volumes","drives","session_log","session_log_restore"];async function jt(){return u(await l.get("/projects"))}async function kc(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return u(await l.get(`/projects${t}`))}async function Lt(e,t){return u(await l.get(`/projects/${e}`,t))}async function Rc(e,t,n="write"){return u(await l.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Cc(e,t){return u(await l.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Tc(e){return u(await l.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function XM(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function wr(e,t){let n=u(await l.get(`/projects/${e}/detail`,{showErrors:!1,...t}));return{...n,config:{...n.config,default_agent:n.config.default_agent??n.config.open_code_default_agent??null}}}async function vr(e,t){return u(await l.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function Ar(e,t){return u(await l.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function ZM(e,t){return u(await l.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Ec(e){return u(await l.post("/projects",e))}async function Ic(e){return u(await l.post("/projects/create-repo",e,{showErrors:!1}))}async function Mc(e,t={}){return u(await l.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var Ac=200;function BP(e){let t=e.split(`
2
2
  `).filter(r=>r.startsWith("data:")).map(r=>r.slice(5).replace(/^ /,""));if(t.length===0)return null;let n=t.join(`
3
- `);try{return JSON.parse(n)}catch(r){let s=n.length>aa?`${n.slice(0,aa)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function NR(e,t,n={}){let r=await c.postStream("/projects/provision-stream",{seed_starter:!0,...e},n);if(!r.ok){let u=await r.json().catch(()=>null);throw new b(u?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:u?.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,i="",a=null;try{for(;;){let{done:u,value:p}=await s.read();if(u)break;i+=o.decode(p,{stream:!0});let d=i.indexOf(`
3
+ `);try{return JSON.parse(n)}catch(r){let s=n.length>Ac?`${n.slice(0,Ac)}\u2026`:n;throw new Error(`provisionProjectStream: received an unparseable SSE frame (${s})`,{cause:r})}}async function eO(e,t,n={}){let r=await l.postStream("/projects/provision-stream",{seed_starter:!0,...e},n);if(!r.ok){let c=await r.json().catch(()=>null);throw new x(c?.error||`Provision failed: HTTP ${r.status}`,{status:r.status,code:c?.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,i="",a=null;try{for(;;){let{done:c,value:p}=await s.read();if(c)break;i+=o.decode(p,{stream:!0});let d=i.indexOf(`
4
4
 
5
5
  `);for(;d!==-1;){let g=i.slice(0,d);i=i.slice(d+2),d=i.indexOf(`
6
6
 
7
- `);let m=Ub(g);if(m){if(t(m),m.type==="error")throw new b(m.error,{status:m.status,code:m.code});m.type==="done"&&(a=m.project)}}}}finally{s.cancel().catch(()=>{})}if(!a)throw new Error("Provision stream ended without a result");return a}async function qR(){try{return l(await c.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function Vn(e,t){return l(await c.patch(`/projects/${e}`,t))}async function fa(e,t,n){return l(await c.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function ya(e,t,n){return l(await c.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function ha(e,t){return l(await c.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function GR(e,t){return l(await c.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function WR(e,t){throw F("updateTemplateWarmPool")}async function ba(e,t){return l(await c.patch(`/projects/${e}/onboarding`,{completed:t}))}async function KR(e,t){return l(await c.patch(`/projects/${e}/onboarding`,{profile:t}))}async function zn(e){return l(await c.delete(`/projects/${e}`))}async function HR(e,t){return pt(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function VR(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=gs(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.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 _a(e,t,n){return l(await c.post(`/projects/${e}/skills`,t,{showErrors:!1,...n}))}async function Pa(e){return l(await c.post("/projects/link-repository",e,{showErrors:!1}))}async function Sa(e){let{project_id:t,...n}=e;return l(await c.put(`/projects/${encodeURIComponent(t)}/git/repository`,n,{showErrors:!1}))}async function xa(e){return l(await c.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function wa(e){return l(await c.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function va(e){return l(await c.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Aa(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),l(await c.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function ka(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return l(await c.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Ra(e){return l(await c.post("/projects/github/installation",e,{showErrors:!1}))}async function Ca(e){return l(await c.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Ia(e){return l(await c.post("/projects/github/user-token",e,{showErrors:!1}))}async function Ta(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),l(await c.delete(`/projects/github/installation?${n.toString()}`))}async function Ea(){return l(await c.get("/projects/git/backend",{showErrors:!1}))}async function Ma(e){let t=new URLSearchParams,n=e?.search?.trim();n&&t.set("search",n),e?.limit!==void 0&&t.set("limit",String(e.limit));let r=t.toString();return l(await c.get(`/projects/git/backend/repositories${r?`?${r}`:""}`,{showErrors:!1}))}async function iC(e,t){return l(await c.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Oa(e,t){return l(await c.get(`/projects/${e}/access-requests`,t))}async function Da(e,t,n="member"){return l(await c.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function ja(e,t){return l(await c.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function $a(e){return l(await c.get(`/projects/${e}/access`))}async function Ua(e,t,n){return l(await c.put(`/projects/${e}/access/${t}`,{role:n}))}async function Fa(e,t){return l(await c.delete(`/projects/${e}/access/${t}`))}function aC(e){return"status"in e&&e.status==="invited"}async function La(e,t,n,r){return l(await c.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function Ba(e){return l(await c.get(`/projects/${e}/access/pending-invites`))}async function Na(e,t){return l(await c.delete(`/projects/${e}/access/pending-invites/${t}`))}async function qa(e,t){return l(await c.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function Ga(e){return l(await c.get(`/projects/${e}/group-grants`))}async function Wa(e,t,n,r){return l(await c.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function Ka(e,t,n,r){return l(await c.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function Ha(e,t){return l(await c.delete(`/projects/${e}/group-grants/${t}`))}async function Va(e){return l(await c.get(`/projects/${e}/resource-grants`))}async function za(e,t){return l(await c.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function Ya(e,t){return l(await c.delete(`/projects/${e}/resource-grants/${t}`))}async function Qa(e,t){return l(await c.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function Ja(e,t){return l(await c.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function Xa(e,t,n,r={}){let s=r.note?.trim();return l(await c.post(`/projects/${e}/approvals/${t}`,{decision:n,...s?{note:s}:{}}))}async function Za(e){return l(await c.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function ec(e,t){return l(await c.post(`/projects/${e}/secrets`,t))}async function tc(e,t,n,r={}){return l(await c.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function nc(e,t,n){return l(await c.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function rc(e){return l(await c.get(`/projects/${e}/oauth`)).items??[]}async function ms(e,t,n){return l(await c.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing,...n?.resourceLabel===void 0?{}:{resource_label:n.resourceLabel},...n?.resourceId===void 0?{}:{resource_id:n.resourceId}}))}async function fs(e,t,n){return l(await c.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function sc(e,t){return l(await c.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}var Fb=2e3,Lb=3e3,Bb=10*6e4;async function pC(e){let{projectId:t,provider:n,input:r,onChallenge:s,isCancelled:o,sleep:i=m=>new Promise(f=>setTimeout(f,m)),now:a=()=>Date.now()}=e,u=()=>o?.()??!1,p=await ms(t,n,r);if(u())return{status:"cancelled"};s?.({verification_url:p.verification_url,user_code:p.user_code});let d=Math.max(Fb,p.interval_ms||Lb),g=p.expires_at||a()+Bb;for(;!u()&&a()<g;){if(await i(d),u())return{status:"cancelled"};let m;try{m=await fs(t,n,p.flow_id)}catch{continue}if(u())return{status:"cancelled"};if(m.status==="success")return{status:"success",credential:m.credential};if(m.status==="failed")return{status:"failed",error:m.error};if(m.status==="expired")return{status:"expired"}}return u()?{status:"cancelled"}:{status:"expired"}}async function oc(e,t){return l(await c.put(`/projects/${e}/git-credential`,t))}async function ic(e,t){return l(await c.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function ac(e,t,n){return l(await c.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function cc(e,t){return l(await c.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}var ys=e=>`/accounts/${encodeURIComponent(e)}/secret-resources`,gt=(e,t)=>`${ys(e)}/${encodeURIComponent(t)}`,uc=(e,t,n)=>`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/provider-secret-pools/${encodeURIComponent(n)}`;async function lc(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return l(await c.get(`${ys(e)}${n}`))}async function pc(e,t){return l(await c.post(ys(e),t))}async function dc(e,t,n){return l(await c.put(`${gt(e,t)}/value`,{value:n}))}async function gc(e,t){return l(await c.post(`${gt(e,t)}/retry`))}async function mc(e,t){return l(await c.delete(gt(e,t)))}async function fc(e,t,n,r){return l(await c.put(`${gt(e,t)}/grants/${encodeURIComponent(n)}`,{},r))}async function yc(e,t,n,r){return l(await c.delete(`${gt(e,t)}/grants/${encodeURIComponent(n)}`,r))}async function hc(e,t,n,r){return l(await c.put(`${gt(e,t)}/access`,{mode:n,user_ids:r}))}async function bc(e,t,n){return l(await c.get(uc(e,t,n)))}async function _c(e,t){let n=`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/provider-secret-pools`;return l(await c.get(n))}async function Pc(e,t,n,r){return l(await c.put(uc(e,t,n),{secret_ids:r}))}async function hs(){return ds()}async function Nb(e){return On(()=>k().getToken(),e,bs)}function bs(){Ut()}function PC(e){e===null&&Ut()}function SC(e){}async function Ft(){return hs()}async function xC(e){return Nb(e)}async function M(e,t,n){try{return await Ve(e,t,{retryOnAuthError:n?.retryOnAuthError,timeoutMs:n?.timeoutMs})}catch(r){if(r instanceof J)return Dn();throw r}}function Yn(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function Lt(e,t){let n=new URLSearchParams;t?.slug&&n.set("slug",t.slug),t?.includeSchemas!==void 0&&n.set("include_schemas",String(t.includeSchemas)),t?.includeOutputSchemas&&n.set("include_output_schemas","true");let r=n.toString()?`?${n.toString()}`:"";return l(await c.get(`${Yn(e,"catalog")}${r}`)).connectors??[]}async function _s(e){let t=[];for(let n of await Lt(e,{includeSchemas:!1}))for(let r of n.actions)t.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return t}async function Sc(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],i=[];for(let a of await _s(e)){let u=`${a.tool} ${a.description}`.toLowerCase();!r||u.includes(r)?o.push(a):s.every(p=>u.includes(p))&&i.push(a)}return[...o,...i].slice(0,n.limit??20)}async function Ps(e,t){let n=t.indexOf(".");if(n<0)return null;let r=t.slice(0,n).trim();if(!r)return null;let s=(await Lt(e,{slug:r,includeSchemas:!0,includeOutputSchemas:!0})).find(o=>o.slug===r);if(!s)return null;for(let o of s.actions){let i=`${s.slug}.${o.path}`;if(i===t)return{tool:i,connector:s.slug,action:o.path,risk:o.risk,description:o.description||o.name,inputSchema:o.inputSchema,outputSchema:o.outputSchema??null}}return null}function qb(e){let t=e.indexOf("."),n=t<0?"":e.slice(0,t).trim(),r=t<0?"":e.slice(t+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}var Gb=9e4;async function mt(e,t,n={},r={}){let{connector:s,action:o}=qb(t),i=r.account?.trim(),a=r.approvalContext?.trim(),u=l(await c.post(Yn(e,"call"),{connector:s,action:o,args:n,...i?{account:i}:{},...a?{approval_context:a}:{}},{timeout:r.timeoutMs??Gb,signal:r.signal}));return u.ok&&u.binding!==void 0&&!("output"in u)&&(u.output=u.data),u}async function Ss(e,t){let n=await c.get(Yn(e,`connectors/${encodeURIComponent(t)}/accounts`));return l(n).accounts??[]}function Wb(e,t){if(e&&typeof e=="object"){let n=e;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${t}`}function Kb(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}async function xs(e,t,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-Beeuni-Attachment-Filename":encodeURIComponent(r),"X-Beeuni-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Beeuni-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim())),n.connector?.trim()&&(o["X-Beeuni-Attachment-Connector"]=encodeURIComponent(n.connector.trim()));let i=Kb(k().backendUrl),a=Yn(e,"attachments"),u=await M(`${i}${a}`,{method:"POST",headers:o,body:t},{timeoutMs:6e4}),p=await u.text(),d=null;if(p)try{d=JSON.parse(p)}catch{d=p}if(!u.ok)throw new b(Wb(d,u.status),{status:u.status,code:String(d&&typeof d=="object"?d.code??u.status:u.status),details:d,response:u,endpoint:a});return d}function IC(e){if(e.owner_type!=="project")return!1;let t=e.shared_with??[];return t.length===0||t.some(n=>n.principal_type==="project")}async function xc(e){return l(await c.get(`/projects/${e}/connections`))}async function wc(e){return l(await c.get(`/projects/${e}/connections/all`))}async function vc(e,t){return l(await c.post(`/projects/${e}/connections`,t))}async function Ac(e,t){return l(await c.post(`/projects/${e}/connections/me`,t))}async function kc(e,t,n){return l(await c.put(`/projects/${e}/connections/${t}/credential`,n))}function ke(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function TC(e,t){return l(await c.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function EC(e,t,n){return l(await c.put(ke(e,t,"application"),n))}async function MC(e,t){return l(await c.get(ke(e,t,"application")))}async function OC(e,t,n){return l(await c.post(ke(e,t,"discover"),n))}async function DC(e,t,n={}){return l(await c.post(ke(e,t,"discover-resource"),n))}async function jC(e,t,n){return l(await c.post(ke(e,t,"register"),n))}async function $C(e,t,n){return l(await c.post(ke(e,t,"authorize"),n))}async function UC(e,t,n){return l(await c.post(ke(e,t,"device"),n))}async function FC(e,t,n){return l(await c.post(ke(e,t,`device/${encodeURIComponent(n)}`),{}))}async function LC(e,t){return l(await c.get(ke(e,t,"status")))}async function Rc(e,t){return l(await c.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function Cc(e,t){return l(await c.put(`/projects/${e}/connections/${t}/activate`,{}))}async function Ic(e,t){return l(await c.put(`/projects/${e}/connections/${t}/default`,{}))}async function Tc(e,t,n){return l(await c.put(`/projects/${e}/connections/${t}/label`,{label:n}))}async function Ec(e,t){return l(await c.post(`/projects/${e}/computers`,{tunnel_id:t.tunnelId,...t.share?{share:t.share}:{}}))}async function Mc(e,t,n=[]){return l(await c.post(`/projects/${e}/connections/${t}/share`,{principals:n}))}async function Oc(e,t,n={}){return l(await c.post(`/projects/${e}/connections/${t}/connect`,n))}async function Dc(e,t){return l(await c.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function jc(e,t){let n=t?.includeSchemas===void 0?"":`?include_schemas=${t.includeSchemas}`;return l(await c.get(`/connectors/projects/${e}/connectors${n}`,{showErrors:!1}))}async function $c(e){return l(await c.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function Uc(e,t,n){return l(await c.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function Fc(e,t,n){return l(await c.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function Lc(e,t,n){return l(await c.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function Bc(e,t){return l(await c.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function Nc(e,t,n){return l(await c.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function BC(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function NC(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function qc(e,t){return l(await c.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function Gc(e,t,n){return l(await c.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function Hb(e,t,n={}){return l(await c.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{...n.owner?{owner:n.owner}:{},...n.successRedirectUri?{success_redirect_uri:n.successRedirectUri}:{},...n.errorRedirectUri?{error_redirect_uri:n.errorRedirectUri}:{}}))}var Wc=Hb;async function qC(e,t){return l(await c.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function Kc(e,t){return l(await c.post(`/connectors/projects/${e}/connectors`,t))}async function Hc(e,t){return l(await c.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function Vc(e,t){return l(await c.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function zc(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,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 l(await c.get(`/connectors/projects/${e}/pipedream/apps${o?`?${o}`:""}`))}async function Yc(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return l(await c.get(`/connectors/projects/${e}/pipedream/sections${r?`?${r}`:""}`))}async function GC(e,t={}){let n=new URLSearchParams;t.q&&n.set("q",t.q),t.category&&n.set("category",t.category),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString(),s=l(await c.get(`/connectors/projects/${e}/connect/toolkits${r?`?${r}`:""}`));if("toolkits"in s)return s;let o=s.cursor?.trim()||void 0;return{provider:"composio",toolkits:s.items,nextCursor:o,hasMore:!!o}}async function WC(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return l(await c.get(`/connectors/projects/${e}/connect/sections${r?`?${r}`:""}`))}async function ws(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,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 l(await c.get(`/connectors/projects/${e}/discover/connectors${o?`?${o}`:""}`))}async function Qc(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return l(await c.get(`/connectors/projects/${e}/discover/sections${r?`?${r}`:""}`))}async function vs(e,t){let n=new URLSearchParams({id:t});return l(await c.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var KC=ws,HC=vs;async function Jc(){return l(await c.get("/connectors/connect-status"))}async function Xc(e,t,n){let r=typeof n=="string"?{value:n}:n;return l(await c.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function Zc(e,t){return l(await c.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`))}async function VC(e,t,n){return l(await c.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function Vb(e,t,n={}){let r={};return n.owner&&(r.owner=n.owner),n.connectionId&&(r.connection_id=n.connectionId),l(await c.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,r))}var eu=Vb;var Qn=class extends b{reason;connector;action;binding;upstreamStatus;retryAfterSeconds;connectUrl;hint;availableAccounts;requestedAccount;constructor(t,n){let{reason:r,connector:s,action:o,binding:i,upstreamStatus:a,retryAfterSeconds:u,connectUrl:p,hint:d,availableAccounts:g,requestedAccount:m,...f}=n;super(t,{...f,name:"ConnectorCallError"}),this.reason=r,this.connector=s,this.action=o,this.binding=i??null,this.upstreamStatus=a??null,this.retryAfterSeconds=u??null,this.connectUrl=p??null,this.hint=d??null,this.availableAccounts=g??[],this.requestedAccount=m??null}},As=class extends Error{connector;action;reason;executionId;approvalUrl;approvalSummary;approvalInstructions;retryable;constructor(t,n,r){super(`${t}.${n} is waiting for approval`+(r.approval_url?`: ${r.approval_url}`:"")),this.name="ConnectorApprovalPendingError",this.connector=t,this.action=n,this.reason=r.reason??null,this.executionId=r.execution_id??null,this.approvalUrl=r.approval_url??null,this.approvalSummary=r.approval_summary??null,this.approvalInstructions=r.approval_instructions??null,this.retryable=r.retryable??!1,Object.setPrototypeOf(this,new.target.prototype)}},ks=class extends Error{code="max_pages_exceeded";connector;action;maxPages;nextArgs;constructor(t,n,r,s){super(`${t}.${n} has more than ${r} pages; resume with nextArgs`),this.name="ConnectorPageLimitError",this.connector=t,this.action=n,this.maxPages=r,this.nextArgs=s,Object.setPrototypeOf(this,new.target.prototype)}},fe=e=>typeof e=="string"&&e?e:null;function tu(e){return/^([a-z][a-z0-9_]*)(?::|$)/.exec(e)?.[1]??"connector_error"}function zb(e){let t=e?.headers?.get("retry-after");return t&&/^\d+$/.test(t.trim())?Number(t):null}function Yb(e,t,n){if(!(e instanceof b)||typeof e.status!="number")return e;let r=e.details&&typeof e.details=="object"?e.details:{},s=fe(r.reason)??fe(r.error)??e.message,o=/^upstream_(\d{3})\b/.exec(s),i=typeof r.upstream_status=="number"?r.upstream_status:o?Number(o[1]):null;return new Qn(fe(r.message)??fe(r.hint)??s,{status:e.status,code:i===null?tu(s):`upstream_${i}`,details:e.details,data:e.details,response:e.response,reason:s,connector:fe(r.connector)??t,action:fe(r.action)??n,binding:fe(r.binding),upstreamStatus:i,retryAfterSeconds:typeof r.retry_after_seconds=="number"?r.retry_after_seconds:zb(e.response),connectUrl:fe(r.connect_url),hint:fe(r.hint),availableAccounts:Array.isArray(r.available_accounts)?r.available_accounts:[],requestedAccount:fe(r.requested_account)})}function Qb(e){if("output"in e)return e.output;let t=e.data;return t?.provider==="composio"&&"result"in t?t.result:t?.jsonrpc==="2.0"&&t.result?t.result.structuredContent??t.result.content:e.data}async function Rs(e,t,n,r={},s={}){let o=t.trim(),i=n.trim();if(!o||!i)throw new Error("connector slug and action are required");let a;try{a=await mt(e,`${o}.${i}`,r,s)}catch(u){throw Yb(u,o,i)}if(a.status==="pending_approval")throw new As(o,i,a);if(!a.ok||a.upstream_error){let u=a.upstream_error??a.reason??"connector_error";throw new Qn(u,{status:200,code:a.upstream_error?"upstream_error":tu(u),details:a,data:a,reason:u,connector:o,action:i,binding:a.binding??null,upstreamStatus:a.upstream_status??null})}return Qb(a)}async function*nu(e,t,n,r,s){let{next:o,maxPages:i=100,...a}=s,u=r;for(let p=0;u;p++){if(p>=i)throw new ks(t,n,i,u);let d=await Rs(e,t,n,u,a);yield d,u=o(d,u)}}async function ru(e){return l(await c.get(`/connectors/projects/${e}/policies`))}async function su(e,t,n){return l(await c.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function ou(e){return l(await c.get(`/projects/${e}/sandboxes`))}async function iu(e){return l(await c.get(`/projects/${e}/snapshots`))}async function Jn(e){return l(await c.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function au(e,t){return l(await c.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function cu(e){return l(await c.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function uu(e,t){return l(await c.post(`/projects/${e}/sandbox-templates`,t))}async function lu(e,t,n){return l(await c.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function pu(e,t){return l(await c.delete(`/projects/${e}/sandbox-templates/${t}`))}async function du(e,t){return l(await c.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function gu(e){return l(await c.get(`/projects/${e}/sandboxes`))}async function Xn(e){let t=new URL(k().backendUrl,globalThis.location?.href),n=new URL(e);if(n.origin!==t.origin)throw new Error(`Refusing to attach credentials to a URL outside the Beeuni backend: ${n.origin}`);let{headers:r}=await Bn(e);return{url:e,headers:Object.fromEntries(r.entries())}}async function mu(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return l(await c.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function fu(e,t){let n=new URLSearchParams;return t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),n.set("depth","1"),l(await c.get(`/projects/${e}/files?${n.toString()}`,{showErrors:!1}))}async function yu(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),l(await c.get(`/projects/${e}/files/search?${r.toString()}`))}async function hu(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),l(await c.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}var Jb=10*6e4;async function bu(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=`${k().backendUrl||""}/projects/${e}/files/archive${s}`;return await(await we(o,{method:"GET"},{timeoutMs:Jb},"Failed to download")).blob()}async function _u(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"";return Xn(`${k().backendUrl}/projects/${encodeURIComponent(e)}/files/archive${s}`)}async function dI(e,t,n,r){let s=new URLSearchParams({path:t});n&&s.set("ref",n);let o=s.toString()?`?${s.toString()}`:"",i=`${k().backendUrl||""}/projects/${e}/files/raw${o}`;return await(await we(i,{method:"GET",...r?.signal?{signal:r.signal}:{}},{},"Failed to read file")).blob()}var Cs=52428800,Xb=104857600,Pu=20;var er=e=>`/projects/${encodeURIComponent(e)}/attachments`,tr={showErrors:!1,deadlineCoversBody:!0},Su=3e4,Zb=12e4,e_=6e4,t_=5*6e4,n_=6e4,r_=6e4;function Zn(){return new b("Request aborted",{name:"AbortError",code:"ABORTED"})}function Bt(e){if(e?.aborted)throw Zn()}function s_(e){return!(e instanceof b)||e.code==="ABORTED"||e.code==="attachment_budget_exceeded"?!1:e.code==="TIMEOUT"||e.name==="TypeError"||e.status===429||e.status!==void 0&&e.status>=500}async function Nt(e,t,n=!1){let r;for(let s=0;;s++){Bt(t);try{return await e()}catch(o){let i=n&&o instanceof b&&o.status===409&&o.code==="attachment_processing";if(t?.aborted||!(s_(o)||i))throw o;r??=Date.now()+(n?t_:e_);let a=Math.min(8e3,500*2**s)*(.5+Math.random()/2);if(Date.now()+a>=r)throw o;try{await $n(a,t)}catch{throw Bt(t),o}}}}function o_(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(t=>typeof t=="string")}function Is(e,t,n){let r=e?.upload,s=e?.received_bytes,o=Number.isSafeInteger(s)&&s>=0&&s<=t.size,i=r?.kind==="direct"?typeof r.url=="string"&&/^https?:\/\//i.test(r.url)&&r.method==="PUT"&&o_(r.headers)&&Number.isFinite(Date.parse(r.expires_at))&&(s===0||s===t.size):r?.kind==="chunked"&&Number.isSafeInteger(r.chunk_size)&&r.chunk_size>0&&(s===t.size||s%r.chunk_size===0);if(!e?.attachment_id||n!==void 0&&e.attachment_id!==n||e.size!==t.size||!o||!i)throw new Error("Invalid attachment upload handle");return e}async function xu(e,t,n,r){return l(await c.post(er(e),{...r?{attachment_id:r}:{},filename:t.name,mime:t.type||"application/octet-stream",size:t.size},{...tr,signal:n,timeout:Su}),"Failed to start attachment upload")}async function wu(e,t,n,r){let s=Is({...await Nt(()=>xu(e,t,r.signal,n.attachment_id),r.signal),received_bytes:0},t,n.attachment_id);return r.onUpload?.(s),s}function vu(e,t){let n;try{n=JSON.parse(t)}catch{}let r=typeof n?.message=="string"?n.message:typeof n?.error=="string"?n.error:`HTTP ${e}`;return new b(r,{status:e,details:n,code:String(n?.statusCode??e)})}function i_(e){if(!(e instanceof b))return;let t=Number(e.details?.statusCode);return Number.isInteger(t)&&t>=400?t:e.status}function a_(e,t,n,r){return new Promise((s,o)=>{let i=new e,a=0,u=!1,p,d=f=>{u||(u=!0,p&&clearTimeout(p),r.signal?.removeEventListener("abort",m),f?o(f):s())},g=()=>{p&&clearTimeout(p),p=setTimeout(()=>{d(new b("Attachment upload stalled",{code:"TIMEOUT"})),i.abort()},n_)},m=()=>{d(Zn()),i.abort()};i.open(t.method,t.url);for(let[f,h]of Object.entries(t.headers))i.setRequestHeader(f,h);i.upload.onprogress=f=>{g(),a=Math.min(f.loaded,n.size),r.onProgress?.(a,n.size)},i.onload=()=>{i.status>=200&&i.status<300?(a<n.size&&r.onProgress?.(n.size,n.size),d()):d(vu(i.status,i.responseText))},i.onerror=()=>d(new b("Network error during attachment upload",{name:"TypeError"})),i.onabort=()=>d(Zn()),r.signal?.addEventListener("abort",m,{once:!0}),g(),i.send(n)})}async function c_(e,t,n){let r=k().fetch??fetch,s;try{s=await r(e.url,{method:e.method,headers:e.headers,body:t,signal:n.signal,credentials:"omit"})}catch(o){throw n.signal?.aborted||o instanceof Error&&o.name==="AbortError"?Zn():new b(o instanceof Error?o.message:String(o),{name:o instanceof Error?o.name:"TypeError"})}if(!s.ok)throw vu(s.status,await s.text().catch(()=>""));n.onProgress?.(t.size,t.size)}function u_(e,t,n){Bt(n.signal);let r=globalThis.XMLHttpRequest;return typeof r=="function"?a_(r,e,t,n):c_(e,t,n)}async function l_(e,t,n,r){let s=n,o=!1;for(r.onProgress?.(0,t.size);s.upload.kind==="direct";){let i=s.upload;try{await Nt(()=>u_(i,t,r),r.signal)}catch(a){let u=i_(a);if(u!==409){if(o||!(u===400||u===401||u===403))throw a;o=!0,s=await wu(e,t,s,r);continue}}return s={...s,received_bytes:t.size},r.onUpload?.(s),s}return Au(e,t,s,r)}async function Au(e,t,n,r){if(n.upload.kind!=="chunked")throw new Error("Invalid attachment upload handle");let s=n.upload.chunk_size,o=`${er(e)}/${encodeURIComponent(n.attachment_id)}`,i=n;for(;i.received_bytes<t.size;){Bt(r.signal);let a=i.received_bytes,u=Math.min(a+s,t.size),p=t.slice(a,u),d=await Nt(async()=>l(await c.putRaw(`${o}/chunks/${a/s}`,p,{...tr,signal:r.signal,timeout:Su}),"Failed to upload attachment chunk"),r.signal);if(d.size!==t.size||d.received_bytes!==u)throw new Error("Invalid attachment chunk acknowledgment");i={...i,received_bytes:u},r.onUpload?.(i),r.onProgress?.(u,t.size)}return i}async function nr(e,t,n={}){if(!e)throw new Error("A project is required to upload attachments");if(!Number.isSafeInteger(t.size)||t.size<=0||t.size>52428800)throw new Error("Attachment must contain 1 byte to 50 MiB");Bt(n.signal);let r=n.resume?Is({...n.resume},t):Is({...await Nt(()=>xu(e,t,n.signal),n.signal),received_bytes:0},t);n.onUpload?.(r),r.received_bytes<t.size&&(r.upload.kind==="direct"&&Date.parse(r.upload.expires_at)-Date.now()<r_&&(r=await wu(e,t,r,n)),r=r.upload.kind==="direct"?await l_(e,t,r,n):await Au(e,t,r,n)),n.onProcessing?.();let s=`${er(e)}/${encodeURIComponent(r.attachment_id)}`;try{return await Nt(async()=>l(await c.post(`${s}/complete`,{},{...tr,signal:n.signal,timeout:Zb}),"Failed to complete attachment upload"),n.signal,!0)}catch(o){throw r.upload.kind==="direct"&&o instanceof b&&o.code==="attachment_not_uploaded"&&n.onUpload?.({...r,received_bytes:0}),o}}async function qt(e,t,n={}){if(!e)throw new Error("A project is required to remove attachments");let r=await c.delete(`${er(e)}/${encodeURIComponent(t)}`,{...tr,signal:n.signal});if(!r.success)throw r.error??new Error("Failed to remove attachment")}async function ku(e,t){let n=new URLSearchParams;t?.q&&n.set("q",t.q),t?.limit!=null&&n.set("limit",String(t.limit)),t?.includeSessionBranches!==void 0&&n.set("include_session_branches",String(t.includeSessionBranches));let r=n.toString()?`?${n.toString()}`:"";return l(await c.get(`/projects/${e}/branches${r}`))}async function Ru(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return l(await c.get(`/projects/${e}/commits${r}`))}async function Cu(e,t){return l(await c.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Iu(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return l(await c.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Tu(e,t,n){let r=new URLSearchParams({path:t});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)),l(await c.get(`/projects/${e}/files/history?${r.toString()}`))}async function Eu(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return l(await c.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Mu(e,t,n){let r=new URLSearchParams;t&&r.set("status",t),n?.originSessionId&&r.set("origin_session_id",n.originSessionId),n?.limit!=null&&r.set("limit",String(n.limit));let s=r.toString()?`?${r.toString()}`:"";return l(await c.get(`/projects/${e}/change-requests${s}`,{showErrors:!1,timeout:15e3}))}async function Ou(e,t){return l(await c.get(`/projects/${e}/change-requests/${t}`))}async function Du(e,t){return l(await c.get(`/projects/${e}/change-requests/${t}/diff`))}async function ju(e,t){return l(await c.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function $u(e,t){return l(await c.post(`/projects/${e}/change-requests`,t))}async function Uu(e,t,n){return l(await c.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Fu(e,t){return l(await c.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Lu(e,t){return l(await c.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function Bu(e,t,n){return l(await c.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function Nu(e,t,n){return l(await c.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}async function qu(e,t,n){return l(await c.patch(`/projects/${e}/change-requests/${t}`,n))}var ft=new Set,p_=500;function rr(e){e&&(ft.add(e),ft.size>p_&&ft.delete(ft.values().next().value))}function Gu(e){return!!e&&ft.has(e)}function kI(e){e&&ft.delete(e)}function Wu(e){return!!e&&e.available===!0&&e.source==="mirror"&&Array.isArray(e.messages)&&e.messages.length>0&&!!(e.runtime_session_id??e.opencode_session_id)}var sr=1,d_=12,g_=15e5,m_=3e5,f_=336*60*60*1e3,y_="beeuni.saved-copy";function Ts(e){return!!e&&typeof e.then=="function"}function h_(e,t){return Ts(e)?e.then(t):t(e)}function b_(e,t){let n=JSON.stringify(e);if(n.length<=t)return n;let{messages:r}=e.e;if(r.length===0)return null;let s=a=>{let u=r.slice(r.length-a);return JSON.stringify({...e,e:{...e.e,messages:u,message_count:u.length,complete:!1,next_cursor:String(u[0].info.id)}})},o=s(1).length-JSON.stringify(r[r.length-1]).length,i=0;for(;i<r.length;){let a=JSON.stringify(r[r.length-1-i]).length+(i>0?1:0);if(o+a>t)break;o+=a,i+=1}for(;i>0;i-=1){let a=s(i);if(a.length<=t)return a}return null}function __(e){let t=e.captured_at?Date.parse(e.captured_at):Number.NaN;return Number.isFinite(t)?t:0}function CI(e){let{storage:t,userId:n,maxSessions:r=d_,maxBytes:s=g_,maxEnvelopeBytes:o=m_,maxAgeMs:i=f_,namespace:a=y_,now:u=()=>Date.now()}=e,p=`${a}:${n}:`,d=`${p}index`,g=(w,P)=>`${p}${w}/${P}`,m=w=>{try{let P=t.getItem(w);return Ts(P)?P.catch(()=>null):P}catch{return null}},f=w=>{try{let P=t.removeItem(w);Ts(P)&&P.catch(()=>{})}catch{}},h=async w=>{try{await t.removeItem(w)}catch{}},x=w=>{if(!w)return[];try{let P=JSON.parse(w);return P?.v===sr&&Array.isArray(P.entries)?P.entries:[]}catch{return[]}},D=Promise.resolve(),j=w=>{let P=D.then(w,w);return D=P.catch(()=>{}),P},L=async w=>{try{await t.setItem(d,JSON.stringify({v:sr,entries:w}))}catch{}},y=async()=>x(await m(d)),_=async(w,P)=>{let A=[...w].sort((T,B)=>T.u-B.u),I=A.reduce((T,B)=>T+B.b,0);for(;A.length>r||I>s;){let T=A.findIndex($=>$.s!==P);if(T===-1)break;let[B]=A.splice(T,1);I-=B.b,await h(`${p}${B.s}`)}return A},S=w=>{j(async()=>{let P=await y(),A=P.find(I=>I.s===w);A&&(A.u=u(),await L(P))})},E=w=>j(async()=>{await h(`${p}${w}`);let P=await y(),A=P.filter(I=>I.s!==w);A.length!==P.length&&await L(A)});return{keyFor:g,read(w,P){let A=`${w}/${P}`;return h_(m(g(w,P)),I=>{if(!I)return null;let T;try{T=JSON.parse(I)}catch{return f(g(w,P)),E(A),null}return!T||T.v!==sr||T.user!==n||u()-T.at>i||!Wu(T.e)?(f(g(w,P)),E(A),null):(S(A),T.e)})},write(w,P,A){let I=`${w}/${P}`;if(!Wu(A))return E(I);let T={v:sr,user:n,at:u(),e:A},B=b_(T,o);if(B===null)return E(I);let $=__(A);return j(async()=>{let N=await y(),q=N.find(_e=>_e.s===I);if(q&&$>0&&q.c>$)return;let le=N.filter(_e=>_e.s!==I),ue={s:I,b:B.length,u:u(),c:$},qe=await _([...le,ue],I),at=g(w,P);try{await t.setItem(at,B)}catch{let _e=qe.filter(Pe=>Pe.s!==I).sort((Pe,ie)=>Pe.u-ie.u)[0];_e&&(await h(`${p}${_e.s}`),qe=qe.filter(Pe=>Pe.s!==_e.s));try{await t.setItem(at,B)}catch{await h(at),qe=qe.filter(Pe=>Pe.s!==I)}}await L(qe)})},remove(w,P){return E(`${w}/${P}`)},clear(){return j(async()=>{let w=await y();for(let P of w)await h(`${p}${P.s}`);await h(d)})}}}var Ku=null;function II(e){Ku=e}function Hu(){return Ku}var P_=new Set;function Vu(e){for(let t of P_)try{t(e)}catch{}}function UI(e){let t=typeof e.parent_session_id=="string"?e.parent_session_id:e.metadata?.spawned_by_session;if(typeof t!="string")return null;let n=t.trim();return!n||n===e.session_id?null:n}var FI=50,S_=200,LI=S_;function zu(e){let t=new URLSearchParams;e?.scope&&e.scope!=="visible"&&t.set("scope",e.scope),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.cursor&&t.set("cursor",e.cursor),e?.parent&&t.set("parent",e.parent),e?.startedBy&&t.set("started_by",e.startedBy);let n=e?.q?.trim();n&&t.set("q",n);for(let r of e?.labels??[])t.append("label",r);return t.size>0?`?${t}`:""}async function Yu(e,t){let n=await c.get(`/projects/${e}/sessions${zu(t)}`);return{items:l(n),next_cursor:n.headers?.get("x-next-cursor")??null}}async function yt(e,t){return l(await c.get(`/projects/${e}/sessions${zu(t)}`))}async function Qu(e,t,n){return l(await c.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function Ju(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/participants`,{showErrors:!1}))}async function Xu(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/watch`,{showErrors:!1}))}async function Zu(e,t,n){return l(await c.put(`/projects/${e}/sessions/${t}/watch`,{watching:n}))}function BI(e,t){let n=e.public_url??e.public_path??e.proxy_path??e.public_token??"";if(!n)return"";if(/^https?:\/\//.test(n))return n;if(t)try{return new URL(n,t).toString()}catch{return n}return n}function NI(e,t=new Date){let n=null;for(let r of e)r.resource_type!=="transcript"||r.revoked_at||r.expires_at&&Date.parse(r.expires_at)<=t.getTime()||(!n||Date.parse(r.created_at)>Date.parse(n.created_at))&&(n=r);return n}async function el(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/previews`))}async function tl(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function nl(e,t,n){return l(await c.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function rl(e,t,n){return l(await c.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function ht(e,t){let n=l(await c.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||rr(n?.session_id),n}async function sl(e,t){let n=t?.excludeSessionId?{exclude_session_id:t.excludeSessionId}:{},r=l(await c.post(`/projects/${e}/sessions/warm`,n,{showErrors:!1}));return r.reused||rr(r.session.session_id),r}async function ol(e,t){let n=l(await c.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return rr(n.session_id),n}async function or(e,t,n){return l(await c.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function il(e,t,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 l(await c.get(`/projects/${e}/sessions/${t}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function al(e,t,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 l(await c.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function cl(e,t,n){let r=new URLSearchParams({shape:"sync"});return n?.limit!=null&&r.set("limit",String(n.limit)),n?.history&&r.set("history","true"),n?.before&&r.set("before",n.before),n?.child&&r.set("child",n.child),l(await c.get(`/projects/${e}/sessions/${t}/transcript?${r.toString()}`,{showErrors:!1,signal:n?.signal}))}async function ul(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/turn`))}async function qI(e,t,n){let r=new URLSearchParams;n?.transcript!=null&&r.set("transcript",String(n.transcript));let s=r.toString();return l(await c.get(`/projects/${e}/sessions/${t}/snapshot${s?`?${s}`:""}`,{signal:n?.signal,showErrors:!1}))}function x_(e){if(e)return e==="interrupt"?"transcript":"composer"}async function ir(e,t,n){let r=n.placement??x_(n.delivery);return l(await c.post(`/projects/${e}/sessions/${t}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...r?{placement:r}:{},...n.delivery?{delivery:n.delivery}:{},...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function ll(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/prompts`,{showErrors:!1}))}async function pl(e,t,n){return l(await c.delete(`/projects/${e}/sessions/${t}/prompts/${n}`,{showErrors:!1})).removed}async function dl(e,t,n,r){return l(await c.patch(`/projects/${e}/sessions/${t}/prompts/${n}`,{text:r},{showErrors:!1}))}async function gl(e,t,n){return l(await c.patch(`/projects/${e}/sessions/${t}/prompts/${n}`,{delivery:"interrupt"},{showErrors:!1}))}async function ml(e,t,n){return l(await c.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{},{showErrors:!1}))}async function fl(e,t,n){return l(await c.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n},{showErrors:!1}))}async function yl(e,t,n){return l(await c.patch(`/projects/${e}/sessions/${t}`,n))}async function hl(e,t){let n=l(await c.delete(`/projects/${e}/sessions/${t}`));return Hu()?.remove(e,t),n}async function ar(e,t,n={}){return l(await c.post(`/projects/${e}/sessions/${t}/restart`,n.reset_machine?{reset_machine:!0,...n.discard_state?{discard_state:!0}:{}}:{}))}async function cr(e,t){let n=l(await c.post(`/projects/${e}/sessions/${t}/stop`,{}));return Vu(t),n}async function bl(e,t){return l(await c.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function w_(e){let t=e.split(`
7
+ `);let m=BP(g);if(m){if(t(m),m.type==="error")throw new x(m.error,{status:m.status,code:m.code});m.type==="done"&&(a=m.project)}}}}finally{s.cancel().catch(()=>{})}if(!a)throw new Error("Provision stream ended without a result");return a}async function tO(){try{return u(await l.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function kr(e,t){return u(await l.patch(`/projects/${e}`,t))}async function Oc(e,t,n){return u(await l.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function Dc(e,t,n){return u(await l.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function jc(e,t){return u(await l.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function nO(e,t){return u(await l.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function rO(e,t){throw G("updateTemplateWarmPool")}async function Lc(e,t){return u(await l.patch(`/projects/${e}/onboarding`,{completed:t}))}async function sO(e,t){return u(await l.patch(`/projects/${e}/onboarding`,{profile:t}))}async function Rr(e){return u(await l.delete(`/projects/${e}`))}async function oO(e,t){return Dt(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function iO(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=co(e.backendUrl);try{let r=await fetch(`${n}/v1/projects/provision`,{method:"POST",headers:{Authorization:`Bearer ${e.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify({seed_starter:!0,...t}),signal:AbortSignal.timeout(e.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 $c(e,t,n){return u(await l.post(`/projects/${e}/skills`,t,{showErrors:!1,...n}))}async function Bc(e){return u(await l.post("/projects/link-repository",e,{showErrors:!1}))}async function Uc(e){let{project_id:t,...n}=e;return u(await l.put(`/projects/${encodeURIComponent(t)}/git/repository`,n,{showErrors:!1}))}async function Fc(e){return u(await l.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Nc(e){return u(await l.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function qc(e){return u(await l.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Gc(e,t,n){let r=new URLSearchParams({account_id:e});t&&r.set("installation_id",t);let s=n?.search?.trim();return s&&r.set("search",s),n?.limit!==void 0&&r.set("limit",String(n.limit)),u(await l.get(`/projects/github/repositories?${r.toString()}`,{showErrors:!1}))}async function Wc(e,t,n){let r=new URLSearchParams({account_id:e,installation_id:t,repo_full_name:n});return u(await l.get(`/projects/github/repository-branches?${r.toString()}`,{showErrors:!1}))}async function Kc(e){return u(await l.post("/projects/github/installation",e,{showErrors:!1}))}async function Vc(e){return u(await l.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Hc(e){return u(await l.post("/projects/github/user-token",e,{showErrors:!1}))}async function zc(e,t){let n=new URLSearchParams({account_id:e});return t&&n.set("installation_id",t),u(await l.delete(`/projects/github/installation?${n.toString()}`))}async function yO(){return u(await l.get("/projects/git/backend",{showErrors:!1}))}async function SO(e,t){return u(await l.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Yc(e,t){return u(await l.get(`/projects/${e}/access-requests`,t))}async function Jc(e,t,n="member"){return u(await l.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function Qc(e,t){return u(await l.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function Xc(e){return u(await l.get(`/projects/${e}/access`))}async function Zc(e,t,n){return u(await l.put(`/projects/${e}/access/${t}`,{role:n}))}async function el(e,t){return u(await l.delete(`/projects/${e}/access/${t}`))}function PO(e){return"status"in e&&e.status==="invited"}async function tl(e,t,n,r){return u(await l.post(`/projects/${e}/access/invite`,{email:t,role:n,...r!==void 0?{expires_at:r}:{}}))}async function nl(e){return u(await l.get(`/projects/${e}/access/pending-invites`))}async function rl(e,t){return u(await l.delete(`/projects/${e}/access/pending-invites/${t}`))}async function sl(e,t){return u(await l.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function ol(e){return u(await l.get(`/projects/${e}/group-grants`))}async function il(e,t,n,r){return u(await l.post(`/projects/${e}/group-grants`,r===void 0?{group_id:t,role:n}:{group_id:t,role:n,expires_at:r}))}async function al(e,t,n,r){return u(await l.patch(`/projects/${e}/group-grants/${t}`,r===void 0?{role:n}:{role:n,expires_at:r}))}async function cl(e,t){return u(await l.delete(`/projects/${e}/group-grants/${t}`))}async function ll(e){return u(await l.get(`/projects/${e}/resource-grants`))}async function ul(e,t){return u(await l.post(`/projects/${e}/resource-grants`,{resource_type:t.resourceType,resource_id:t.resourceId,principal_type:t.principalType,principal_id:t.principalId,...t.expiresAt!==void 0?{expires_at:t.expiresAt}:{}}))}async function pl(e,t){return u(await l.delete(`/projects/${e}/resource-grants/${t}`))}async function dl(e,t){return u(await l.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function gl(e,t){return u(await l.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function ml(e,t,n,r={}){let s=r.note?.trim();return u(await l.post(`/projects/${e}/approvals/${t}`,{decision:n,...s?{note:s}:{}}))}async function fl(e){return u(await l.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function yl(e,t){return u(await l.post(`/projects/${e}/secrets`,t))}async function hl(e,t,n,r={}){return u(await l.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function _l(e,t,n){return u(await l.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function bl(e){return u(await l.get(`/projects/${e}/oauth`)).items??[]}async function uo(e,t,n){return u(await l.post(`/projects/${e}/oauth/${t}/start`,{sharing:n?.sharing,...n?.resourceLabel===void 0?{}:{resource_label:n.resourceLabel},...n?.resourceId===void 0?{}:{resource_id:n.resourceId}}))}async function po(e,t,n){return u(await l.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function Sl(e,t){return u(await l.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}var UP=2e3,FP=3e3,NP=10*6e4;async function AO(e){let{projectId:t,provider:n,input:r,onChallenge:s,isCancelled:o,sleep:i=m=>new Promise(f=>setTimeout(f,m)),now:a=()=>Date.now()}=e,c=()=>o?.()??!1,p=await uo(t,n,r);if(c())return{status:"cancelled"};s?.({verification_url:p.verification_url,user_code:p.user_code});let d=Math.max(UP,p.interval_ms||FP),g=p.expires_at||a()+NP;for(;!c()&&a()<g;){if(await i(d),c())return{status:"cancelled"};let m;try{m=await po(t,n,p.flow_id)}catch{continue}if(c())return{status:"cancelled"};if(m.status==="success")return{status:"success",credential:m.credential};if(m.status==="failed")return{status:"failed",error:m.error};if(m.status==="expired")return{status:"expired"}}return c()?{status:"cancelled"}:{status:"expired"}}async function Pl(e,t){return u(await l.put(`/projects/${e}/git-credential`,t))}async function xl(e,t){return u(await l.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function wl(e,t,n){return u(await l.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function vl(e,t){return u(await l.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}var go=e=>`/accounts/${encodeURIComponent(e)}/secret-resources`,$t=(e,t)=>`${go(e)}/${encodeURIComponent(t)}`,Al=(e,t,n)=>`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/provider-secret-pools/${encodeURIComponent(n)}`;async function kl(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return u(await l.get(`${go(e)}${n}`))}async function Rl(e,t){return u(await l.post(go(e),t))}async function Cl(e,t,n){return u(await l.put(`${$t(e,t)}/value`,{value:n}))}async function Tl(e,t){return u(await l.post(`${$t(e,t)}/retry`))}async function El(e,t){return u(await l.delete($t(e,t)))}async function Il(e,t,n,r){return u(await l.put(`${$t(e,t)}/grants/${encodeURIComponent(n)}`,{},r))}async function Ml(e,t,n,r){return u(await l.delete(`${$t(e,t)}/grants/${encodeURIComponent(n)}`,r))}async function Ol(e,t,n,r){return u(await l.put(`${$t(e,t)}/access`,{mode:n,user_ids:r}))}async function Dl(e,t,n){return u(await l.get(Al(e,t,n)))}async function jl(e,t){let n=`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/provider-secret-pools`;return u(await l.get(n))}async function Ll(e,t,n,r){return u(await l.put(Al(e,t,n),{secret_ids:r}))}async function ft(){return ao()}async function DO(e){return gr(()=>C().getToken(),e,mo)}function mo(){dn()}function jO(e){e===null&&dn()}function LO(e){}async function j(e,t,n){try{return await mt(e,t,{retryOnAuthError:n?.retryOnAuthError,timeoutMs:n?.timeoutMs})}catch(r){if(r instanceof le)return mr();throw r}}function Cr(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function gn(e,t){let n=new URLSearchParams;t?.slug&&n.set("slug",t.slug),t?.includeSchemas!==void 0&&n.set("include_schemas",String(t.includeSchemas)),t?.includeOutputSchemas&&n.set("include_output_schemas","true");let r=n.toString()?`?${n.toString()}`:"";return u(await l.get(`${Cr(e,"catalog")}${r}`)).connectors??[]}async function fo(e){let t=[];for(let n of await gn(e,{includeSchemas:!1}))for(let r of n.actions)t.push({tool:`${n.slug}.${r.path}`,connector:n.slug,action:r.path,risk:r.risk,description:r.description||r.name,inputSchema:r.inputSchema});return t}async function $l(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],i=[];for(let a of await fo(e)){let c=`${a.tool} ${a.description}`.toLowerCase();!r||c.includes(r)?o.push(a):s.every(p=>c.includes(p))&&i.push(a)}return[...o,...i].slice(0,n.limit??20)}async function yo(e,t){let n=t.indexOf(".");if(n<0)return null;let r=t.slice(0,n).trim();if(!r)return null;let s=(await gn(e,{slug:r,includeSchemas:!0,includeOutputSchemas:!0})).find(o=>o.slug===r);if(!s)return null;for(let o of s.actions){let i=`${s.slug}.${o.path}`;if(i===t)return{tool:i,connector:s.slug,action:o.path,risk:o.risk,description:o.description||o.name,inputSchema:o.inputSchema,outputSchema:o.outputSchema??null}}return null}function qP(e){let t=e.indexOf("."),n=t<0?"":e.slice(0,t).trim(),r=t<0?"":e.slice(t+1).trim();if(!n||!r)throw new Error("tool must use the connector.action format");return{connector:n,action:r}}var GP=9e4;async function Bt(e,t,n={},r={}){let{connector:s,action:o}=qP(t),i=r.account?.trim(),a=r.approvalContext?.trim(),c=u(await l.post(Cr(e,"call"),{connector:s,action:o,args:n,...i?{account:i}:{},...a?{approval_context:a}:{}},{timeout:r.timeoutMs??GP,signal:r.signal}));return c.ok&&c.binding!==void 0&&!("output"in c)&&(c.output=c.data),c}async function ho(e,t){let n=await l.get(Cr(e,`connectors/${encodeURIComponent(t)}/accounts`));return u(n).accounts??[]}function WP(e,t){if(e&&typeof e=="object"){let n=e;for(let r of["reason","error","message","detail"])if(typeof n[r]=="string"&&n[r])return n[r]}return`HTTP ${t}`}function KP(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t-=1;return t===e.length?e:e.slice(0,t)}async function _o(e,t,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-Beeuni-Attachment-Filename":encodeURIComponent(r),"X-Beeuni-Attachment-Disposition":n.contentDisposition??"attachment"};n.contentId?.trim()&&(o["X-Beeuni-Attachment-Content-Id"]=encodeURIComponent(n.contentId.trim())),n.connector?.trim()&&(o["X-Beeuni-Attachment-Connector"]=encodeURIComponent(n.connector.trim()));let i=KP(C().backendUrl),a=Cr(e,"attachments"),c=await j(`${i}${a}`,{method:"POST",headers:o,body:t},{timeoutMs:6e4}),p=await c.text(),d=null;if(p)try{d=JSON.parse(p)}catch{d=p}if(!c.ok)throw new x(WP(d,c.status),{status:c.status,code:String(d&&typeof d=="object"?d.code??c.status:c.status),details:d,response:c,endpoint:a});return d}function GO(e){if(e.owner_type!=="project")return!1;let t=e.shared_with??[];return t.length===0||t.some(n=>n.principal_type==="project")}async function Bl(e){return u(await l.get(`/projects/${e}/connections`))}async function Ul(e){return u(await l.get(`/projects/${e}/connections/all`))}async function Fl(e,t){return u(await l.post(`/projects/${e}/connections`,t))}async function Nl(e,t){return u(await l.post(`/projects/${e}/connections/me`,t))}async function ql(e,t,n){return u(await l.put(`/projects/${e}/connections/${t}/credential`,n))}function Fe(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function WO(e,t){return u(await l.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function KO(e,t,n){return u(await l.put(Fe(e,t,"application"),n))}async function VO(e,t){return u(await l.get(Fe(e,t,"application")))}async function HO(e,t,n){return u(await l.post(Fe(e,t,"discover"),n))}async function zO(e,t,n={}){return u(await l.post(Fe(e,t,"discover-resource"),n))}async function YO(e,t,n){return u(await l.post(Fe(e,t,"register"),n))}async function JO(e,t,n){return u(await l.post(Fe(e,t,"authorize"),n))}async function QO(e,t,n){return u(await l.post(Fe(e,t,"device"),n))}async function XO(e,t,n){return u(await l.post(Fe(e,t,`device/${encodeURIComponent(n)}`),{}))}async function ZO(e,t){return u(await l.get(Fe(e,t,"status")))}async function Gl(e,t){return u(await l.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function Wl(e,t){return u(await l.put(`/projects/${e}/connections/${t}/activate`,{}))}async function Kl(e,t){return u(await l.put(`/projects/${e}/connections/${t}/default`,{}))}async function Vl(e,t,n){return u(await l.put(`/projects/${e}/connections/${t}/label`,{label:n}))}async function Hl(e,t){return u(await l.post(`/projects/${e}/computers`,{tunnel_id:t.tunnelId,...t.share?{share:t.share}:{}}))}async function zl(e,t,n=[]){return u(await l.post(`/projects/${e}/connections/${t}/share`,{principals:n}))}async function Yl(e,t,n={}){return u(await l.post(`/projects/${e}/connections/${t}/connect`,n))}async function Jl(e,t){return u(await l.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function Ql(e,t){let n=t?.includeSchemas===void 0?"":`?include_schemas=${t.includeSchemas}`;return u(await l.get(`/connectors/projects/${e}/connectors${n}`,{showErrors:!1}))}async function Xl(e){return u(await l.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function Zl(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function eu(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function tu(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function nu(e,t){return u(await l.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function ru(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function eD(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function tD(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function su(e,t){return u(await l.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function ou(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function iu(e,t,n={}){return u(await l.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect`,{...n.owner?{owner:n.owner}:{},...n.successRedirectUri?{success_redirect_uri:n.successRedirectUri}:{},...n.errorRedirectUri?{error_redirect_uri:n.errorRedirectUri}:{}}))}async function nD(e,t){return u(await l.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function au(e,t){return u(await l.post(`/connectors/projects/${e}/connectors`,t))}async function cu(e,t){return u(await l.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function rD(e,t){return u(await l.post(`/connectors/projects/${e}/connectors/mcp-sign-in-check`,{url:t}))}async function lu(e,t){return u(await l.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function sD(e,t={}){let n=new URLSearchParams;t.q&&n.set("q",t.q),t.category&&n.set("category",t.category),t.cursor&&n.set("cursor",t.cursor),t.limit&&n.set("limit",String(t.limit));let r=n.toString(),s=u(await l.get(`/connectors/projects/${e}/connect/toolkits${r?`?${r}`:""}`));if("toolkits"in s)return s;let o=s.cursor?.trim()||void 0;return{provider:"composio",toolkits:s.items,nextCursor:o,hasMore:!!o}}async function oD(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return u(await l.get(`/connectors/projects/${e}/connect/sections${r?`?${r}`:""}`))}async function bo(e,t,n){let r=typeof t=="string"||t===void 0?{...t?{q:t}:{},...n?{cursor:n}:{}}:t,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 u(await l.get(`/connectors/projects/${e}/discover/connectors${o?`?${o}`:""}`))}async function uu(e,t){let n=new URLSearchParams;t?.perCategory&&n.set("perCategory",String(t.perCategory)),t?.maxCategories&&n.set("maxCategories",String(t.maxCategories));let r=n.toString();return u(await l.get(`/connectors/projects/${e}/discover/sections${r?`?${r}`:""}`))}async function So(e,t){let n=new URLSearchParams({id:t});return u(await l.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var iD=bo,aD=So;async function pu(){return u(await l.get("/connectors/connect-status"))}async function du(e,t,n){let r=typeof n=="string"?{value:n}:n;return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`,r))}async function gu(e,t){return u(await l.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`))}async function cD(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function mu(e,t,n={}){let r={};return n.owner&&(r.owner=n.owner),n.connectionId&&(r.connection_id=n.connectionId),u(await l.post(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/connect/finalize`,r))}var Tr=class extends x{reason;connector;action;binding;upstreamStatus;retryAfterSeconds;connectUrl;hint;availableAccounts;requestedAccount;constructor(t,n){let{reason:r,connector:s,action:o,binding:i,upstreamStatus:a,retryAfterSeconds:c,connectUrl:p,hint:d,availableAccounts:g,requestedAccount:m,...f}=n;super(t,{...f,name:"ConnectorCallError"}),this.reason=r,this.connector=s,this.action=o,this.binding=i??null,this.upstreamStatus=a??null,this.retryAfterSeconds=c??null,this.connectUrl=p??null,this.hint=d??null,this.availableAccounts=g??[],this.requestedAccount=m??null}},Po=class extends Error{connector;action;reason;executionId;approvalUrl;approvalSummary;approvalInstructions;retryable;constructor(t,n,r){super(`${t}.${n} is waiting for approval`+(r.approval_url?`: ${r.approval_url}`:"")),this.name="ConnectorApprovalPendingError",this.connector=t,this.action=n,this.reason=r.reason??null,this.executionId=r.execution_id??null,this.approvalUrl=r.approval_url??null,this.approvalSummary=r.approval_summary??null,this.approvalInstructions=r.approval_instructions??null,this.retryable=r.retryable??!1,Object.setPrototypeOf(this,new.target.prototype)}},xo=class extends Error{code="max_pages_exceeded";connector;action;maxPages;nextArgs;constructor(t,n,r,s){super(`${t}.${n} has more than ${r} pages; resume with nextArgs`),this.name="ConnectorPageLimitError",this.connector=t,this.action=n,this.maxPages=r,this.nextArgs=s,Object.setPrototypeOf(this,new.target.prototype)}},Ce=e=>typeof e=="string"&&e?e:null;function fu(e){return/^([a-z][a-z0-9_]*)(?::|$)/.exec(e)?.[1]??"connector_error"}function VP(e){let t=e?.headers?.get("retry-after");return t&&/^\d+$/.test(t.trim())?Number(t):null}function HP(e,t,n){if(!(e instanceof x)||typeof e.status!="number")return e;let r=e.details&&typeof e.details=="object"?e.details:{},s=Ce(r.reason)??Ce(r.error)??e.message,o=/^upstream_(\d{3})\b/.exec(s),i=typeof r.upstream_status=="number"?r.upstream_status:o?Number(o[1]):null;return new Tr(Ce(r.message)??Ce(r.hint)??s,{status:e.status,code:i===null?fu(s):`upstream_${i}`,details:e.details,data:e.details,response:e.response,reason:s,connector:Ce(r.connector)??t,action:Ce(r.action)??n,binding:Ce(r.binding),upstreamStatus:i,retryAfterSeconds:typeof r.retry_after_seconds=="number"?r.retry_after_seconds:VP(e.response),connectUrl:Ce(r.connect_url),hint:Ce(r.hint),availableAccounts:Array.isArray(r.available_accounts)?r.available_accounts:[],requestedAccount:Ce(r.requested_account)})}function zP(e){if("output"in e)return e.output;let t=e.data;return t?.provider==="composio"&&"result"in t?t.result:t?.jsonrpc==="2.0"&&t.result?t.result.structuredContent??t.result.content:e.data}async function wo(e,t,n,r={},s={}){let o=t.trim(),i=n.trim();if(!o||!i)throw new Error("connector slug and action are required");let a;try{a=await Bt(e,`${o}.${i}`,r,s)}catch(c){throw HP(c,o,i)}if(a.status==="pending_approval")throw new Po(o,i,a);if(!a.ok||a.upstream_error){let c=a.upstream_error??a.reason??"connector_error";throw new Tr(c,{status:200,code:a.upstream_error?"upstream_error":fu(c),details:a,data:a,reason:c,connector:o,action:i,binding:a.binding??null,upstreamStatus:a.upstream_status??null})}return zP(a)}async function*yu(e,t,n,r,s){let{next:o,maxPages:i=100,...a}=s,c=r;for(let p=0;c;p++){if(p>=i)throw new xo(t,n,i,c);let d=await wo(e,t,n,c,a);yield d,c=o(d,c)}}async function hu(e){return u(await l.get(`/connectors/projects/${e}/policies`))}async function _u(e,t,n){return u(await l.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function bu(e){return u(await l.get(`/projects/${e}/sandboxes`))}async function Su(e){return u(await l.get(`/projects/${e}/snapshots`))}async function Er(e){return u(await l.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Pu(e,t){return u(await l.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function xu(e){return u(await l.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function wu(e,t){return u(await l.post(`/projects/${e}/sandbox-templates`,t))}async function vu(e,t,n){return u(await l.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Au(e,t){return u(await l.delete(`/projects/${e}/sandbox-templates/${t}`))}async function ku(e,t){return u(await l.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Ru(e){return u(await l.get(`/projects/${e}/sandboxes`))}async function Ir(e){let t=new URL(C().backendUrl,globalThis.location?.href),n=new URL(e);if(n.origin!==t.origin)throw new Error(`Refusing to attach credentials to a URL outside the Beeuni backend: ${n.origin}`);let{headers:r}=await Sr(e);return{url:e,headers:Object.fromEntries(r.entries())}}async function Cu(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path);let r=n.toString()?`?${n.toString()}`:"";return u(await l.get(`/projects/${e}/files${r}`,{showErrors:!1}))}async function Tu(e,t){let n=new URLSearchParams;return t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),n.set("depth","1"),t?.cursor&&n.set("cursor",t.cursor),t?.limit!==void 0&&n.set("limit",String(t.limit)),u(await l.get(`/projects/${e}/files?${n.toString()}`,{showErrors:!1}))}async function Eu(e,t,n){let r=new URLSearchParams({q:t});return n?.content&&r.set("content","1"),n?.ref&&r.set("ref",n.ref),n?.limit&&r.set("limit",String(n.limit)),u(await l.get(`/projects/${e}/files/search?${r.toString()}`))}async function Iu(e,t,n){let r=new URLSearchParams({path:t});return n&&r.set("ref",n),u(await l.get(`/projects/${e}/files/content?${r.toString()}`,{showErrors:!1}))}var YP=10*6e4;async function Mu(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=`${C().backendUrl||""}/projects/${e}/files/archive${s}`;return await(await $e(o,{method:"GET"},{timeoutMs:YP},"Failed to download")).blob()}async function Ou(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"";return Ir(`${C().backendUrl}/projects/${encodeURIComponent(e)}/files/archive${s}`)}async function RD(e,t,n,r){let s=new URLSearchParams({path:t});n&&s.set("ref",n);let o=s.toString()?`?${s.toString()}`:"",i=`${C().backendUrl||""}/projects/${e}/files/raw${o}`;return await(await $e(i,{method:"GET",...r?.signal?{signal:r.signal}:{}},{},"Failed to read file")).blob()}var vo=52428800,JP=104857600,Du=20;var Or=e=>`/projects/${encodeURIComponent(e)}/attachments`,Dr={showErrors:!1,deadlineCoversBody:!0},ju=3e4,QP=12e4,XP=6e4,ZP=5*6e4,ex=6e4,tx=6e4;function Mr(){return new x("Request aborted",{name:"AbortError",code:"ABORTED"})}function mn(e){if(e?.aborted)throw Mr()}function nx(e){return!(e instanceof x)||e.code==="ABORTED"||e.code==="attachment_budget_exceeded"?!1:e.code==="TIMEOUT"||e.name==="TypeError"||e.status===429||e.status!==void 0&&e.status>=500}async function fn(e,t,n=!1){let r;for(let s=0;;s++){mn(t);try{return await e()}catch(o){let i=n&&o instanceof x&&o.status===409&&o.code==="attachment_processing";if(t?.aborted||!(nx(o)||i))throw o;r??=Date.now()+(n?ZP:XP);let a=Math.min(8e3,500*2**s)*(.5+Math.random()/2);if(Date.now()+a>=r)throw o;try{await yr(a,t)}catch{throw mn(t),o}}}}function rx(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(t=>typeof t=="string")}function Ao(e,t,n){let r=e?.upload,s=e?.received_bytes,o=Number.isSafeInteger(s)&&s>=0&&s<=t.size,i=r?.kind==="direct"?typeof r.url=="string"&&/^https?:\/\//i.test(r.url)&&r.method==="PUT"&&rx(r.headers)&&Number.isFinite(Date.parse(r.expires_at))&&(s===0||s===t.size):r?.kind==="chunked"&&Number.isSafeInteger(r.chunk_size)&&r.chunk_size>0&&(s===t.size||s%r.chunk_size===0);if(!e?.attachment_id||n!==void 0&&e.attachment_id!==n||e.size!==t.size||!o||!i)throw new Error("Invalid attachment upload handle");return e}async function Lu(e,t,n,r){return u(await l.post(Or(e),{...r?{attachment_id:r}:{},filename:t.name,mime:t.type||"application/octet-stream",size:t.size},{...Dr,signal:n,timeout:ju}),"Failed to start attachment upload")}async function $u(e,t,n,r){let s=Ao({...await fn(()=>Lu(e,t,r.signal,n.attachment_id),r.signal),received_bytes:0},t,n.attachment_id);return r.onUpload?.(s),s}function Bu(e,t){let n;try{n=JSON.parse(t)}catch{}let r=typeof n?.message=="string"?n.message:typeof n?.error=="string"?n.error:`HTTP ${e}`;return new x(r,{status:e,details:n,code:String(n?.statusCode??e)})}function sx(e){if(!(e instanceof x))return;let t=Number(e.details?.statusCode);return Number.isInteger(t)&&t>=400?t:e.status}function ox(e,t,n,r){return new Promise((s,o)=>{let i=new e,a=0,c=!1,p,d=f=>{c||(c=!0,p&&clearTimeout(p),r.signal?.removeEventListener("abort",m),f?o(f):s())},g=()=>{p&&clearTimeout(p),p=setTimeout(()=>{d(new x("Attachment upload stalled",{code:"TIMEOUT"})),i.abort()},ex)},m=()=>{d(Mr()),i.abort()};i.open(t.method,t.url);for(let[f,h]of Object.entries(t.headers))i.setRequestHeader(f,h);i.upload.onprogress=f=>{g(),a=Math.min(f.loaded,n.size),r.onProgress?.(a,n.size)},i.onload=()=>{i.status>=200&&i.status<300?(a<n.size&&r.onProgress?.(n.size,n.size),d()):d(Bu(i.status,i.responseText))},i.onerror=()=>d(new x("Network error during attachment upload",{name:"TypeError"})),i.onabort=()=>d(Mr()),r.signal?.addEventListener("abort",m,{once:!0}),g(),i.send(n)})}async function ix(e,t,n){let r=C().fetch??fetch,s;try{s=await r(e.url,{method:e.method,headers:e.headers,body:t,signal:n.signal,credentials:"omit"})}catch(o){throw n.signal?.aborted||o instanceof Error&&o.name==="AbortError"?Mr():new x(o instanceof Error?o.message:String(o),{name:o instanceof Error?o.name:"TypeError"})}if(!s.ok)throw Bu(s.status,await s.text().catch(()=>""));n.onProgress?.(t.size,t.size)}function ax(e,t,n){mn(n.signal);let r=globalThis.XMLHttpRequest;return typeof r=="function"?ox(r,e,t,n):ix(e,t,n)}async function cx(e,t,n,r){let s=n,o=!1;for(r.onProgress?.(0,t.size);s.upload.kind==="direct";){let i=s.upload;try{await fn(()=>ax(i,t,r),r.signal)}catch(a){let c=sx(a);if(c!==409){if(o||!(c===400||c===401||c===403))throw a;o=!0,s=await $u(e,t,s,r);continue}}return s={...s,received_bytes:t.size},r.onUpload?.(s),s}return Uu(e,t,s,r)}async function Uu(e,t,n,r){if(n.upload.kind!=="chunked")throw new Error("Invalid attachment upload handle");let s=n.upload.chunk_size,o=`${Or(e)}/${encodeURIComponent(n.attachment_id)}`,i=n;for(;i.received_bytes<t.size;){mn(r.signal);let a=i.received_bytes,c=Math.min(a+s,t.size),p=t.slice(a,c),d=await fn(async()=>u(await l.putRaw(`${o}/chunks/${a/s}`,p,{...Dr,signal:r.signal,timeout:ju}),"Failed to upload attachment chunk"),r.signal);if(d.size!==t.size||d.received_bytes!==c)throw new Error("Invalid attachment chunk acknowledgment");i={...i,received_bytes:c},r.onUpload?.(i),r.onProgress?.(c,t.size)}return i}async function jr(e,t,n={}){if(!e)throw new Error("A project is required to upload attachments");if(!Number.isSafeInteger(t.size)||t.size<=0||t.size>52428800)throw new Error("Attachment must contain 1 byte to 50 MiB");mn(n.signal);let r=n.resume?Ao({...n.resume},t):Ao({...await fn(()=>Lu(e,t,n.signal),n.signal),received_bytes:0},t);n.onUpload?.(r),r.received_bytes<t.size&&(r.upload.kind==="direct"&&Date.parse(r.upload.expires_at)-Date.now()<tx&&(r=await $u(e,t,r,n)),r=r.upload.kind==="direct"?await cx(e,t,r,n):await Uu(e,t,r,n)),n.onProcessing?.();let s=`${Or(e)}/${encodeURIComponent(r.attachment_id)}`;try{return await fn(async()=>u(await l.post(`${s}/complete`,{},{...Dr,signal:n.signal,timeout:QP}),"Failed to complete attachment upload"),n.signal,!0)}catch(o){throw r.upload.kind==="direct"&&o instanceof x&&o.code==="attachment_not_uploaded"&&n.onUpload?.({...r,received_bytes:0}),o}}async function yn(e,t,n={}){if(!e)throw new Error("A project is required to remove attachments");let r=await l.delete(`${Or(e)}/${encodeURIComponent(t)}`,{...Dr,signal:n.signal});if(!r.success)throw r.error??new Error("Failed to remove attachment")}async function Fu(e,t){let n=new URLSearchParams;t?.q&&n.set("q",t.q),t?.limit!=null&&n.set("limit",String(t.limit)),t?.includeSessionBranches!==void 0&&n.set("include_session_branches",String(t.includeSessionBranches));let r=n.toString()?`?${n.toString()}`:"";return u(await l.get(`/projects/${e}/branches${r}`))}async function Nu(e,t){let n=new URLSearchParams;t?.ref&&n.set("ref",t.ref),t?.path&&n.set("path",t.path),t?.limit!=null&&n.set("limit",String(t.limit)),t?.skip!=null&&n.set("skip",String(t.skip));let r=n.toString()?`?${n.toString()}`:"";return u(await l.get(`/projects/${e}/commits${r}`))}async function qu(e,t){return u(await l.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Gu(e,t,n){let r=new URLSearchParams;n?.path&&r.set("path",n.path);let s=r.toString()?`?${r.toString()}`:"";return u(await l.get(`/projects/${e}/commits/${encodeURIComponent(t)}/diff${s}`))}async function Wu(e,t,n){let r=new URLSearchParams({path:t});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)),u(await l.get(`/projects/${e}/files/history?${r.toString()}`))}async function Ku(e,t){let n=new URLSearchParams({from:t.from,into:t.into});return u(await l.get(`/projects/${e}/version-diff?${n.toString()}`))}async function Vu(e,t,n){let r=new URLSearchParams;t&&r.set("status",t),n?.originSessionId&&r.set("origin_session_id",n.originSessionId),n?.limit!=null&&r.set("limit",String(n.limit)),n?.cursor&&r.set("cursor",n.cursor);let s=r.toString()?`?${r.toString()}`:"";return u(await l.get(`/projects/${e}/change-requests${s}`,{showErrors:!1,timeout:15e3}))}async function Hu(e,t){return u(await l.get(`/projects/${e}/change-requests/${t}`))}async function zu(e,t){return u(await l.get(`/projects/${e}/change-requests/${t}/diff`))}async function Yu(e,t){return u(await l.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Ju(e,t){return u(await l.post(`/projects/${e}/change-requests`,t))}async function Qu(e,t,n){return u(await l.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function Xu(e,t){return u(await l.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function Zu(e,t){return u(await l.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function ep(e,t,n){return u(await l.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function tp(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}async function np(e,t,n){return u(await l.patch(`/projects/${e}/change-requests/${t}`,n))}var Ut=new Set,lx=500;function Lr(e){e&&(Ut.add(e),Ut.size>lx&&Ut.delete(Ut.values().next().value))}function rp(e){return!!e&&Ut.has(e)}function ND(e){e&&Ut.delete(e)}var pe="beeuni.session/2",we=1,ux=["shell","read","write","edit","patch","list","glob","grep","web_fetch","web_search","todo","task","question","plan","mcp","other"];var oe=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Y=e=>typeof e=="string",Te=e=>Y(e)&&e.length>0,qe=e=>e===null||Y(e),J=(e,t)=>e===void 0||t(e),Ne=(...e)=>t=>e.includes(t),hn=e=>Number.isInteger(e)&&e>=0,Ft=e=>typeof e=="number",ip=e=>e.schema===pe&&hn(e.v),yt=e=>J(e,Y),ko=e=>e===void 0||oe(e)&&Object.values(e).every(t=>oe(t)&&Y(t.version)),ap=e=>e===null||oe(e)&&Y(e.provider)&&Y(e.model)&&yt(e.variant),px=e=>e===null||oe(e)&&Ft(e.input)&&Ft(e.output)&&Ft(e.cache_read)&&Ft(e.cache_write)&&J(e.reasoning,Ft)&&J(e.cost,Ft),sp=e=>oe(e)&&(e.type==="text"&&Y(e.text)||e.type==="attachment"&&Y(e.mime)),dx=e=>oe(e)&&Array.isArray(e.content)&&e.content.every(sp)&&J(e.model_content,t=>Array.isArray(t)&&t.every(sp))&&typeof e.is_error=="boolean",op={text:e=>Y(e.text)&&J(e.bytes,hn)&&yt(e.ref)&&(e.ref===void 0||e.bytes!==void 0),reasoning:e=>Y(e.text),attachment:e=>Y(e.mime)&&yt(e.ref)&&J(e.bytes,hn)&&e.ref===void 0==(e.bytes===void 0),tool_call:e=>Y(e.call_id)&&Y(e.name)&&Te(e.kind)&&Ne("pending","running","complete","error")(e.status)&&J(e.result,dx),compaction:e=>qe(e.summary)&&qe(e.first_kept_message_id),subtask:e=>Y(e.thread_id)&&Y(e.agent)&&Y(e.description),step:e=>Ne("start","finish")(e.phase),harness:e=>Te(e.harness)&&Te(e.kind)&&typeof e.model_visible=="boolean"};function gx(e,t){if(!Array.isArray(e))return!1;let n=new Set;for(let r of e){if(!oe(r)||!Te(r.id)||n.has(r.id)||!Object.hasOwn(op,r.type)||!op[r.type](r)||!ko(r.ext)||t&&r.type==="tool_call"&&(r.status==="pending"||r.status==="running"||!r.result))return!1;n.add(r.id)}return!0}function mx(e){return oe(e)&&ip(e)&&Te(e.message_id)&&Te(e.thread_id)&&Number.isInteger(e.seq)&&Ne("user","assistant","system")(e.role)&&Ne("turn","compaction","context")(e.kind)&&Ne("streaming","complete","error","aborted","interrupted")(e.status)&&typeof e.in_context=="boolean"&&J(e.hidden_reason,Ne("failed_attempt","aborted","retracted","reverted","superseded"))&&J(e.origin,Ne("prompt","steer","command","automation","subagent","notification"))&&J(e.agent,qe)&&J(e.reply_to,qe)&&J(e.parent_message_id,qe)&&yt(e.native_agent_id)&&yt(e.context_ref)&&ap(e.model)&&px(e.usage)&&Ne("stop","tool_calls","length","error","aborted",null)(e.finish)&&(e.error===null||oe(e.error)&&Te(e.error.code)&&Y(e.error.message))&&Y(e.created_at)&&qe(e.completed_at)&&oe(e.producer)&&Te(e.producer.harness)&&Y(e.producer.harness_version)&&Y(e.producer.adapter_version)&&ko(e.ext)&&gx(e.blocks,e.status!=="streaming"&&e.in_context===!0)}function fx(e){return oe(e)&&ip(e)&&Te(e.thread_id)&&qe(e.parent_thread_id)&&(e.spawned_by===null||oe(e.spawned_by))&&Y(e.created_at)}function yx(e){return oe(e)&&J(e.schema,t=>t===pe)&&J(e.v,hn)&&yt(e.session_id)&&J(e.title,qe)&&yt(e.created_at)&&J(e.restore_grade,Ne("native","converted","partial"))&&J(e.todos,Array.isArray)&&J(e.pending,t=>oe(t)&&Array.isArray(t.questions)&&Array.isArray(t.permissions))&&J(e.selection,t=>oe(t)&&J(t.agent,qe)&&ap(t.model??null))&&J(e.harness,t=>oe(t)&&Y(t.current)&&Array.isArray(t.history))&&ko(e.ext)}function $r(e){return oe(e)&&hn(e.generation)&&typeof e.has_more=="boolean"&&yx(e.session)&&Array.isArray(e.threads)&&e.threads.every(fx)&&(e.thread_id===null||Te(e.thread_id))&&Array.isArray(e.messages)&&e.messages.every(t=>mx(t)&&t.thread_id===e.thread_id)}var hx=e=>$r(e)&&e.messages.length>0;function _x(e,t){let{messages:n}=e.e;for(let r=0;r<n.length;r++){let s=JSON.stringify(r===0?e:{...e,e:{...e.e,messages:n.slice(r),has_more:!0}});if(s.length<=t)return s}return null}var cp={paintable:hx,fit:_x,capturedAt:()=>0},bx=new WeakMap;function lp(e,t,n){bx.set(e,{read:(r,s)=>t.read(r,s),write:async(r,s,o)=>{await t.write(r,s,o),await n(r,s)}})}function Sx(e){return!!e&&e.available===!0&&e.source==="mirror"&&Array.isArray(e.messages)&&e.messages.length>0&&!!(e.runtime_session_id??e.opencode_session_id)}var Br=1,Px=12,xx=15e5,wx=3e5,vx=336*60*60*1e3,pp="beeuni.saved-copy";function Ro(e){return!!e&&typeof e.then=="function"}function Ax(e,t){return Ro(e)?e.then(t):t(e)}function kx(e,t){let n=JSON.stringify(e);if(n.length<=t)return n;let{messages:r}=e.e;if(r.length===0)return null;let s=a=>{let c=r.slice(r.length-a);return JSON.stringify({...e,e:{...e.e,messages:c,message_count:c.length,complete:!1,next_cursor:String(c[0].info.id)}})},o=s(1).length-JSON.stringify(r[r.length-1]).length,i=0;for(;i<r.length;){let a=JSON.stringify(r[r.length-1-i]).length+(i>0?1:0);if(o+a>t)break;o+=a,i+=1}for(;i>0;i-=1){let a=s(i);if(a.length<=t)return a}return null}function Rx(e){let t=e.captured_at?Date.parse(e.captured_at):Number.NaN;return Number.isFinite(t)?t:0}var Cx={paintable:Sx,fit:kx,capturedAt:Rx};function YD(e){let t=up(e,Cx),n=up({...e,namespace:`${e.namespace??pp}.log`},cp),r={...t,remove:async(s,o)=>{await Promise.all([t.remove(s,o),n.remove(s,o)])},clear:async()=>{await Promise.all([t.clear(),n.clear()])}};return lp(r,n,t.remove),r}function up(e,t){let{storage:n,userId:r,maxSessions:s=Px,maxBytes:o=xx,maxEnvelopeBytes:i=wx,maxAgeMs:a=vx,namespace:c=pp,now:p=()=>Date.now()}=e,d=`${c}:${r}:`,g=`${d}index`,m=(b,P)=>`${d}${b}/${P}`,f=b=>{try{let P=n.getItem(b);return Ro(P)?P.catch(()=>null):P}catch{return null}},h=b=>{try{let P=n.removeItem(b);Ro(P)&&P.catch(()=>{})}catch{}},S=async b=>{try{await n.removeItem(b)}catch{}},E=b=>{if(!b)return[];try{let P=JSON.parse(b);return P?.v===Br&&Array.isArray(P.entries)?P.entries:[]}catch{return[]}},L=Promise.resolve(),D=b=>{let P=L.then(b,b);return L=P.catch(()=>{}),P},w=async b=>{try{await n.setItem(g,JSON.stringify({v:Br,entries:b}))}catch{}},y=async()=>E(await f(g)),_=async(b,P)=>{let O=[...b].sort(($,N)=>$.u-N.u),A=O.reduce(($,N)=>$+N.b,0);for(;O.length>s||A>o;){let $=O.findIndex(T=>T.s!==P);if($===-1)break;let[N]=O.splice($,1);A-=N.b,await S(`${d}${N.s}`)}return O},R=b=>{D(async()=>{let P=await y(),O=P.find(A=>A.s===b);O&&(O.u=p(),await w(P))})},v=b=>D(async()=>{await S(`${d}${b}`);let P=await y(),O=P.filter(A=>A.s!==b);O.length!==P.length&&await w(O)});return{keyFor:m,read(b,P){let O=`${b}/${P}`;return Ax(f(m(b,P)),A=>{if(!A)return null;let $;try{$=JSON.parse(A)}catch{return h(m(b,P)),v(O),null}return!$||$.v!==Br||$.user!==r||p()-$.at>a||!t.paintable($.e)?(h(m(b,P)),v(O),null):(R(O),$.e)})},write(b,P,O){let A=`${b}/${P}`;if(!t.paintable(O))return v(A);let $={v:Br,user:r,at:p(),e:O},N=t.fit($,i);if(N===null)return v(A);let T=t.capturedAt(O);return D(async()=>{let q=await y(),W=q.find(De=>De.s===A);if(W&&T>0&&W.c>T)return;let H=q.filter(De=>De.s!==A),ln={s:A,b:N.length,u:p(),c:T},Oe=await _([...H,ln],A),un=m(b,P);try{await n.setItem(un,N)}catch{let De=Oe.filter(Z=>Z.s!==A).sort((Z,ut)=>Z.u-ut.u)[0];De&&(await S(`${d}${De.s}`),Oe=Oe.filter(Z=>Z.s!==De.s));try{await n.setItem(un,N)}catch{await S(un),Oe=Oe.filter(Z=>Z.s!==A)}}await w(Oe)})},remove(b,P){return v(`${b}/${P}`)},clear(){return D(async()=>{let b=await y();for(let P of b)await S(`${d}${P.s}`);await S(g)})}}}var dp=null;function JD(e){dp=e}function gp(){return dp}var Tx=new Set;function mp(e){for(let t of Tx)try{t(e)}catch{}}var fp=async(e,t,n,r)=>{let s=new URLSearchParams;n.thread!==void 0&&s.set("thread",n.thread),n.before_seq!==void 0&&s.set("before_seq",String(n.before_seq)),n.limit!==void 0&&s.set("limit",String(n.limit));let o=s.toString(),i=await l.get(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/log${o?`?${o}`:""}`,{showErrors:!1,signal:r});if(!i.success)throw i.error??new Error("Session log request failed");return i.data};function cj(e){let t=typeof e.parent_session_id=="string"?e.parent_session_id:e.metadata?.spawned_by_session;if(typeof t!="string")return null;let n=t.trim();return!n||n===e.session_id?null:n}var lj=50,Ex=200,uj=Ex;function yp(e){let t=new URLSearchParams;e?.scope&&e.scope!=="visible"&&t.set("scope",e.scope),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.cursor&&t.set("cursor",e.cursor),e?.parent&&t.set("parent",e.parent),e?.startedBy&&t.set("started_by",e.startedBy);let n=e?.q?.trim();n&&t.set("q",n);for(let r of e?.labels??[])t.append("label",r);return e?.view&&t.set(e.view,"only"),t.size>0?`?${t}`:""}async function hp(e,t){let n=await l.get(`/projects/${e}/sessions${yp(t)}`);return{items:u(n),next_cursor:n.headers?.get("x-next-cursor")??null}}async function Nt(e,t){return u(await l.get(`/projects/${e}/sessions${yp(t)}`))}async function _p(e,t,n){return u(await l.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function bp(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/participants`,{showErrors:!1}))}async function Sp(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/watch`,{showErrors:!1}))}async function Pp(e,t,n){return u(await l.put(`/projects/${e}/sessions/${t}/watch`,{watching:n}))}async function xp(e,t,n){return u(await l.put(`/projects/${e}/sessions/${t}/pin`,{pinned:n}))}async function wp(e,t,n){return u(await l.put(`/projects/${e}/sessions/${t}/archive`,{archived:n}))}function pj(e,t){let n=e.public_url??e.public_path??e.proxy_path??e.public_token??"";if(!n)return"";if(/^https?:\/\//.test(n))return n;if(t)try{return new URL(n,t).toString()}catch{return n}return n}function dj(e,t=new Date){let n=null;for(let r of e)r.resource_type!=="transcript"||r.revoked_at||r.expires_at&&Date.parse(r.expires_at)<=t.getTime()||(!n||Date.parse(r.created_at)>Date.parse(n.created_at))&&(n=r);return n}async function vp(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/previews`))}async function Ap(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function kp(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Rp(e,t,n){return u(await l.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function qt(e,t){let n=u(await l.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||Lr(n?.session_id),n}async function Cp(e,t){let n=t?.excludeSessionId?{exclude_session_id:t.excludeSessionId}:{},r=u(await l.post(`/projects/${e}/sessions/warm`,n,{showErrors:!1}));return r.reused||Lr(r.session.session_id),r}async function Tp(e,t){let n=u(await l.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return Lr(n.session_id),n}async function Ur(e,t,n){return u(await l.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Ep(e,t,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 u(await l.get(`/projects/${e}/sessions/${t}/audit${o?`?${o}`:""}`,{showErrors:r?.showErrors}))}async function Ip(e,t,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 u(await l.get(`/projects/${e}/sessions/${t}/transcript${s?`?${s}`:""}`))}async function Fr(e,t,n){let r=new URLSearchParams({shape:"sync"});return n?.limit!=null&&r.set("limit",String(n.limit)),n?.history&&r.set("history","true"),n?.before&&r.set("before",n.before),n?.child&&r.set("child",n.child),u(await l.get(`/projects/${e}/sessions/${t}/transcript?${r.toString()}`,{showErrors:!1,signal:n?.signal}))}async function Mp(e,t,n={},r){let s;try{s=await fp(e,t,n,r?.signal)}catch(o){if(o?.status===404)return null;throw o}if(!$r(s))throw new Error("The response is not a session log page");return s}async function Nr(e,t,n){return u(await l.get(`/projects/${e}/sessions/${t}/turn`,n?.showErrors===!1?{showErrors:!1}:void 0))}async function gj(e,t,n){let r=new URLSearchParams;n?.transcript!=null&&r.set("transcript",String(n.transcript));let s=r.toString();return u(await l.get(`/projects/${e}/sessions/${t}/snapshot${s?`?${s}`:""}`,{signal:n?.signal,showErrors:!1}))}function Ix(e){if(e)return e==="interrupt"?"transcript":"composer"}async function qr(e,t,n){let r=n.placement??Ix(n.delivery);return u(await l.post(`/projects/${e}/sessions/${t}/prompts`,{client_message_id:n.clientMessageId,message_id:n.messageId,parts:n.parts,...r?{placement:r}:{},...n.delivery?{delivery:n.delivery}:{},...n.overrides?{overrides:n.overrides}:{},...n.remintOnDelivery?{remint_on_delivery:!0}:{},...typeof n.clientSentAtMs=="number"?{client_sent_at_ms:Math.trunc(n.clientSentAtMs)}:{}}))}async function Op(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/prompts`,{showErrors:!1}))}async function Dp(e,t,n){return u(await l.delete(`/projects/${e}/sessions/${t}/prompts/${n}`,{showErrors:!1})).removed}async function jp(e,t,n,r){return u(await l.patch(`/projects/${e}/sessions/${t}/prompts/${n}`,{text:r},{showErrors:!1}))}async function Lp(e,t,n){return u(await l.patch(`/projects/${e}/sessions/${t}/prompts/${n}`,{delivery:"interrupt"},{showErrors:!1}))}async function $p(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{},{showErrors:!1}))}async function Bp(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n},{showErrors:!1}))}async function Up(e,t,n){return u(await l.patch(`/projects/${e}/sessions/${t}`,n))}async function Fp(e,t){let n=u(await l.delete(`/projects/${e}/sessions/${t}`));return gp()?.remove(e,t),n}async function Np(e,t){return u(await l.post(`/projects/${e}/sessions/${t}/recover`,{},{showErrors:!1}))}async function qp(e,t){return u(await l.post(`/projects/${e}/sessions/${t}/restore`,{},{showErrors:!1}))}async function Gr(e,t,n={}){return u(await l.post(`/projects/${e}/sessions/${t}/restart`,{}))}async function Wr(e,t){let n=u(await l.post(`/projects/${e}/sessions/${t}/stop`,{}));return mp(t),n}async function Gp(e,t){return u(await l.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function Mx(e){let t=e.split(`
8
8
  `).filter(n=>n.startsWith("data:")).map(n=>n.slice(5).replace(/^ /,""));if(t.length===0)return null;try{return JSON.parse(t.join(`
9
- `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function _l(e,t,n={}){return l(await c.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Pl(e,t,n,r,s={}){let o=await c.postStream(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload-stream`,n,s);if(!o.ok){let d=await o.json().catch(()=>null);throw new b(d?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:d?.code,data:d})}let i=o.body?.getReader();if(!i)throw new Error("Reload stream is unavailable on this runtime (no response body)");let a=new TextDecoder,u="",p=null;try{for(;;){let{done:d,value:g}=await i.read();if(d)break;u+=a.decode(g,{stream:!0});let m=u.indexOf(`
9
+ `))}catch(n){throw new Error("reloadProjectSessionConfigStream received an invalid SSE frame",{cause:n})}}async function Wp(e,t,n={}){return u(await l.post(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload`,n,{showErrors:!1}))}async function Kp(e,t,n,r,s={}){let o=await l.postStream(`/projects/${e}/sessions/${encodeURIComponent(t)}/reload-stream`,n,s);if(!o.ok){let d=await o.json().catch(()=>null);throw new x(d?.error||`Reload failed: HTTP ${o.status}`,{status:o.status,code:d?.code,data:d})}let i=o.body?.getReader();if(!i)throw new Error("Reload stream is unavailable on this runtime (no response body)");let a=new TextDecoder,c="",p=null;try{for(;;){let{done:d,value:g}=await i.read();if(d)break;c+=a.decode(g,{stream:!0});let m=c.indexOf(`
10
10
 
11
- `);for(;m!==-1;){let f=u.slice(0,m);u=u.slice(m+2),m=u.indexOf(`
11
+ `);for(;m!==-1;){let f=c.slice(0,m);c=c.slice(m+2),m=c.indexOf(`
12
12
 
13
- `);let h=w_(f);if(h){if(r(h),h.type==="error")throw new b(h.error,{status:h.status,code:h.code,data:{reason:h.reason}});h.type==="done"&&(p=h.result)}}}}finally{i.cancel().catch(()=>{})}if(!p)throw new Error("Reload stream ended without a result");return p}async function Sl(e,t){return l(await c.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function xl(e,t,n){return l(await c.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function wl(e,t,n){return l(await c.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{model:n,opencode_model:n}))}function vl(e){let t=e.metadata?.opencode_model;return typeof t=="string"&&t.trim()?t.trim():null}async function Al(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/message-authors`,{showErrors:!1}))}async function kl(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/model-usage`,{showErrors:!1}))}function WI(e,t){let n=e.author_user_id===void 0||!t.userId||e.author_user_id===t.userId;return{own:n,removable:n||t.managesSession===!0}}async function Rl(e){return l(await c.get(`/projects/${e}/triggers`))}async function Cl(e,t){return l(await c.post(`/projects/${e}/triggers`,t))}async function Il(e,t,n){return l(await c.patch(`/projects/${e}/triggers/${t}`,n))}async function Tl(e,t){return l(await c.delete(`/projects/${e}/triggers/${t}`))}async function El(e,t){return l(await c.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function Ml(e,t){return l(await c.post(`/projects/${e}/triggers/${t}/fire`,{}))}async function Ol(e,t){let n="connector"in t?`connector=${encodeURIComponent(t.connector)}`:`app=${encodeURIComponent(t.app)}${t.source?`&source=${encodeURIComponent(t.source)}`:""}`;return l(await c.get(`/projects/${e}/triggers/event-types?${n}`))}async function Dl(e){return l(await c.get(`/projects/${e}/triggers/event-apps`))}var Oe=new Map;function Es(e,t){return`${e}::${t}`}function jl(e,t){Oe.delete(e),Oe.set(e,t)}function $l(e,t){let n=Es(e,t),r=Oe.get(n);return r&&jl(n,r),r}function Ul(e,t,n){let r=Es(e,t);if(!Oe.has(r)&&Oe.size>=512){let s=Oe.keys().next().value;s!==void 0&&Oe.delete(s)}jl(r,n)}function Fl(e,t){Oe.delete(Es(e,t))}function v_(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Gt(){return v_(k().backendUrl||"http://localhost:8008/v1")}function Ll(){let e=k().sandboxId;return e?`${Gt()}/p/${e}/8000`:""}function A_(e,t=8e3){return`${Gt()}/p/${e}/${t}`}function ze(e,t=8e3){return A_(e,t)}function nT(e){if(e.status!=="running"||!e.sandbox_id||!e.sandbox_provider||!e.sandbox_url||!(e.runtime_session_id??e.opencode_session_id))return null;let t=e.runtime_session_id??e.opencode_session_id,n=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return n?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:n,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},runtime_session_id:t,opencode_session_id:t,runtime_url:e.sandbox_url}:null}var Ms=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function rT(e){return e instanceof Error&&e.name==="SessionStartError"}function k_(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new Ms(s,{status:n,code:r,terminal:!0}):null}function Bl(e,t,n){let r=typeof n=="number"?n:n?.waitMs,s=typeof n=="number"?void 0:n?.repositoryMode,o=new URLSearchParams;r&&r>0&&o.set("wait_ms",String(Math.floor(r))),s&&o.set("repository_mode",s),typeof n=="object"&&n?.keepStopped&&o.set("keep_stopped","1"),typeof n=="object"&&n?.intentAgeMs&&n.intentAgeMs>0&&o.set("intent_age_ms",String(Math.floor(n.intentAgeMs)));let i=o.size>0?`?${o.toString()}`:"";return c.post(`/projects/${e}/sessions/${t}/start${i}`,{},{showErrors:!1})}async function Ye(e,t,n){let r=await Bl(e,t,n);if(!r.success||!r.data){let s=k_(r.error);if(s&&!(s.status===404&&Gu(t)))throw s;return null}return ql(e,t,r.data)}async function Nl(e,t,n){let r=await Bl(e,t,n);if(!r.success||!r.data)throw r.error??new Error("Unable to start this session");return ql(e,t,r.data)}function ql(e,t,n){let r=n.sandbox?.external_id,s=n.runtime_session_id??n.opencode_session_id;return n.stage==="ready"&&r&&s&&Ul(e,t,{runtimeSessionId:s,opencodeSessionId:s,runtimeUrl:ze(r),sandboxId:r}),n}function sT(e,t){return["session-start",e,t]}async function Gl(e){return l(await c.get(`/projects/${e}/model-defaults`))}async function Wl(e,t){return l(await c.put(`/projects/${e}/model-defaults`,t))}async function Kl(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return l(await c.delete(`/projects/${e}/model-defaults?${n}`))}async function pT(e,t){return l(await c.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}function Hl(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function R_(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function ur(e){let t=e.connectors_required?Hl(e.connectors_required):void 0,n=e.connectors_personal?Hl(e.connectors_personal):void 0;if(t&&n&&!R_(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function Vl(e,t,n){let r=ur(n);return l(await c.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}async function ST(e,t){let n=l(await c.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Os(n.block):null}}async function xT(e,t,n){let r=Os(n,!0),s=l(await c.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Os(s.block):null}}function Os(e,t=!1){let n=ur(e);if(n.workspace===void 0)return n;let r=n.workspace==="branch";if(n.repository_access!==void 0&&n.repository_access!==r)throw new Error("repository_access conflicts with workspace");if(t&&n.workspace==="read"&&n.repository_access===void 0)throw new Error("Legacy read is unavailable. Set repository_access explicitly.");return n.repository_access??=r,delete n.workspace,n}async function wT(e,t,n){return l(await c.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function zl(e,t){return l(await c.put(`/projects/${e}/default-agent`,{agent:t}))}var Yl="Use createPerSeatCheckout().";function Ql(){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 C_(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function CT(e){let t=e?.plan;if(t)return{family:t.family,label:t.label,sublabel:t.sublabel??null,isGrandfathered:t.is_grandfathered===!0};let n=e??Ql(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:C_(r),label:s,sublabel:null,isGrandfathered:!1}}async function Jl(e){let t=await c.get(e,{showErrors:!1}),n=t.error?.status===404&&/billing is not enabled/i.test(t.error.message||"");if(t.error&&t.error.status!==401&&!n)throw t.error;return t.error?Ql():t.data}function Xl(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString();return n?`?${n}`:""}async function Zl(e){return Jl(`/billing/account-state${Xl(e)}`)}async function ep(e){return Jl(`/billing/account-state/minimal${Xl(e)}`)}async function tp(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return l(await c.get(`/billing/transactions${n?`?${n}`:""}`))}async function np(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return l(await c.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function rp(){return l(await c.get("/billing/credit-breakdown"))}async function sp(e){let t=e!=null?`?days=${e}`:"";return l(await c.get(`/billing/usage-history${t}`))}async function op(){return l(await c.get("/billing/tier-configurations"))}async function IT(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return pt(e,`/v1/billing/account-state${t}`)}async function ip(e){throw F("createCheckoutSession",Yl)}async function ap(e,t){throw F("confirmCheckoutSession",Yl)}async function cp(e,t){return l(await c.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function up(e,t){return l(await c.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function lp(e){return l(await c.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function pp(e,t,n){throw F("scheduleDowngrade","Change the plan in the Stripe customer portal (createPortalSession()).")}async function dp(e){return l(await c.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function gp(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),l(await c.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function mp(e){return l(await c.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function fp(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return l(await c.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function TT(e){return l(await c.post(`/accounts/${encodeURIComponent(e)}/top-up-requests`,{}),"Failed to ask the owners for credits")}async function yp(e){return l(await c.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function ET(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return l(await c.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function MT(e){return l(await c.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function OT(e){return l(await c.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function DT(e){return l(await c.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function hp(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),(e.groupBy==="model"||e.groupBy==="provider"||e.groupBy==="day")&&t.set("group_by",e.groupBy),e.accountId&&t.set("account_id",e.accountId);let n=t.toString();return l(await c.get(`/usage${n?`?${n}`:""}`))}function Ds(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function lr(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function pr(e){return e.size>0?`?${e}`:""}async function _p(e={}){let t=new URLSearchParams;return Ds(t,e),e.ownerId&&t.set("owner_id",e.ownerId),lr(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),l(await c.get(`/usage/session-costs${pr(t)}`))}async function dr(e,t={}){let n=new URLSearchParams;return Ds(n,t),l(await c.get(`/usage/session-costs/${encodeURIComponent(e)}${pr(n)}`))}async function BT(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),lr(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),l(await c.get(`/usage/cost-by-project${pr(t)}`))}async function NT(e={}){let t=new URLSearchParams;return Ds(t,e),e.sessionId&&t.set("session_id",e.sessionId),lr(t,e),l(await c.get(`/usage/cost-summary${pr(t)}`))}function bp(e,t={}){let n=new URLSearchParams;if(t.accountId&&n.set("account_id",t.accountId),t.projectId&&n.set("project_id",t.projectId),e==="sessions"){let s=t;s.ownerId&&n.set("owner_id",s.ownerId)}lr(n,t),t.sort&&n.set("sort",t.sort),n.set("format","csv");let r=e==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${k().backendUrl||""}${r}?${n}`}async function qT(e,t={}){let n=bp(e==="projects"?"projects":"sessions",t),r=await we(n,{method:"GET"},{timeoutMs:10*6e4},"Failed to export CSV"),s=r.headers.get("x-beeuni-row-cap"),o=s!=null?Number(s):NaN;return{blob:await r.blob(),rowCap:Number.isFinite(o)?o:null}}async function Pp(e,t){return l(await c.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function HT(e){return Pp("slack",e)}function VT(e){return Pp("teams",e)}async function Sp(e,t){return l(await c.post(`/channels/${e}/identity/preview`,{token:t},{showErrors:!1}),"This link is invalid or has expired")}function zT(e){return Sp("slack",e)}function YT(e){return Sp("teams",e)}async function xp(e){let t=await c.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function wp(e,t){return l(await c.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var I_={oauth_available:!1,install_url:null};async function vp(e){let t=await c.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?I_:t.data}async function Ap(e,t,n){return l(await c.post(`/projects/${encodeURIComponent(t)}/channels/${e}/oauth/complete`,{code:n.code,state:n.state},{showErrors:!1}),"Failed to finish the install")}function kp(e,t){return Ap("slack",e,t)}function Rp(e,t){return Ap("teams",e,t)}async function Cp(e){return l(await c.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Ip(e){let t=await c.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function Tp(e,t){return l(await c.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function Ep(e,t){return l(await c.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function js(e){let t=e.connectionId??e.connection_id??null,n=e.connectorSlug??e.connector_slug??e.connectionSlug??e.connection_slug??"beeuni_email";return{...e,connectionId:t,connectorSlug:n}}var T_={provider:"agentmail",managed_available:!1};async function Mp(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await c.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?js(r.data):null}async function Op(e){let t=await c.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?T_:t.data}async function Dp(e,t){let n=l(await c.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return js(n)}async function jp(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await c.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function $p(e,t,n){let r=l(await c.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"beeuni_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return js(r)}async function QT(e){return l(await c.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function JT(e,t,n){return l(await c.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function Up(e){return l(await c.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Fp(e,t){return l(await c.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function Lp(e){return l(await c.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function Bp(e,t){return l(await c.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function Np(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return l(await c.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function qp(e,t){return l(await c.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function Gp(e,t){return l(await c.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function Wp(e,t){return l(await c.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function Kp(e,t){return l(await c.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function Hp(e,t){return l(await c.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function Vp(e,t){return l(await c.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function zp(e){return l(await c.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Yp(e,t){return l(await c.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Qp(e,t){return l(await c.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Jp(e){return l(await c.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function Xp(e,t){return l(await c.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Zp(e,t){return l(await c.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function ed(e,t,n,r,s){return l(await c.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function tE(e,t){return l(await c.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function sE(){throw F("getReferralCode")}async function oE(){throw F("refreshReferralCode")}async function iE(e){throw F("validateReferralCode")}async function aE(){throw F("getReferralStats")}async function cE(e={}){throw F("listReferrals")}async function uE(e){throw F("sendReferralEmails")}function O(e){return c.get(e,{showErrors:!1})}function v(e){return l(e,"Unexpected empty response")}async function td(e){return v(await O(`/accounts/${e}/iam/groups`)).groups}async function nd(e,t){return v(await O(`/accounts/${e}/iam/groups/${t}`))}async function rd(e,t){return v(await c.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function sd(e,t,n){return v(await c.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function od(e,t){return v(await c.delete(`/accounts/${e}/iam/groups/${t}`))}async function id(e,t){return v(await O(`/accounts/${e}/iam/groups/${t}/members`)).members}async function ad(e,t,n){return v(await c.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function yE(e,t){return v(await O(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function cd(e,t,n){return v(await c.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function hE(e,t){return v(await O(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function bE(e,t){let n=v(await O(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}function De(e){let t=new URLSearchParams;for(let[r,s]of Object.entries(e))s&&t.set(r,String(s));let n=t.toString();return n?`?${n}`:""}async function wE(e,t={}){let n=De({resourceType:t.resourceType,principalType:t.principalType,principalId:t.principalId,projectId:t.projectId});return v(await O(`/accounts/${e}/iam/resource-grants${n}`)).grants}async function CE(e,t={}){let n=De({principalType:t.principalType,principalId:t.principalId,scopeType:t.scopeType,scopeId:t.scopeId===null?"null":t.scopeId});return v(await O(`/accounts/${e}/iam/policies${n}`)).policies}async function IE(e,t){return v(await c.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function TE(e,t,n){return v(await c.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function EE(e,t){return v(await c.delete(`/accounts/${e}/iam/policies/${t}`))}async function ME(e,t){return v(await c.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function OE(e,t){return v(await c.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function ud(e){return v(await O(`/accounts/${e}/iam/roles`)).roles}async function ld(e){return v(await O(`/accounts/${e}/iam/agent-identities`)).agents}async function pd(e){return v(await c.get(`/projects/${e}/agent-identities`,{showErrors:!1})).agents}async function dd(e,t){return v(await O(`/accounts/${e}/iam/roles/${t}/permissions`))}async function UE(e){return v(await O(`/accounts/${e}/iam/actions`)).actions}async function gd(e,t){return v(await O(`/accounts/${e}/iam/roles/${t}/usage`))}async function md(e,t){return v(await c.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function fd(e,t,n){return v(await c.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function yd(e,t,n){return v(await c.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function hd(e,t){return v(await c.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function FE(e,t,n){return v(await c.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function qE(e){return v(await O(`/accounts/${e}/iam/scim/tokens`)).tokens}async function GE(e,t){return v(await c.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function WE(e,t){return v(await c.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function zE(e){return v(await O(`/accounts/${e}/iam/mfa-required`))}async function YE(e){return v(await O(`/accounts/${e}/iam/mfa-required/preview`))}async function QE(e,t){return v(await c.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function JE(e){return v(await O(`/accounts/${e}/iam/session-oversight`))}async function XE(e,t){return v(await c.patch(`/accounts/${e}/iam/session-oversight`,{enabled:t},{showErrors:!1}))}async function nM(e){return v(await O(`/accounts/${e}/iam/sso/provider`)).provider}async function rM(e,t){return v(await c.put(`/accounts/${e}/iam/sso/provider`,t,{showErrors:!1})).provider}async function sM(e,t){return v(await c.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function oM(e){return v(await c.post(`/accounts/${e}/iam/sso/provider/verify-domain`,{},{showErrors:!1})).provider}async function iM(e){return v(await c.delete(`/accounts/${e}/iam/sso/provider`))}async function aM(e){return v(await O(`/accounts/${e}/iam/sso/mappings`)).mappings}async function cM(e,t){return v(await c.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function uM(e,t){return v(await c.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function gM(e){return v(await O(`/accounts/${e}/iam/session-policy`))}async function mM(e,t){return v(await c.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function fM(e){return v(await O(`/accounts/${e}/iam/sessions`)).sessions}async function yM(e,t){return v(await c.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function hM(e){return v(await O(`/accounts/${e}/iam/pat-policy`))}async function bM(e,t){return v(await c.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function xM(e){return v(await O(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function wM(e,t){return v(await c.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function vM(e,t){return v(await c.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function AM(e,t){return v(await c.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function TM(e){return v(await O(`/accounts/${e}/audit/webhooks`)).webhooks}async function EM(e,t){return v(await c.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function MM(e,t,n){return v(await c.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function OM(e,t){return v(await c.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function DM(e,t={}){let n=De({action:t.action,actor:t.actor,project_id:t.project_id,session_id:t.session_id,actor_type:t.actor_type,source:t.source,credential_kind:t.credential_kind,phase:t.phase,outcome:t.outcome,request_id:t.request_id,correlation_id:t.correlation_id,resource_type:t.resource_type,since:t.since,until:t.until,q:t.q,cursor:t.cursor,limit:t.limit});return v(await O(`/accounts/${e}/audit${n}`))}async function bd(e,t,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),v(await O(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function _d(e,t,n){return n.length===0?[]:v(await c.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function NM(e){return v(await O(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function qM(e,t){return v(await c.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Pd(e){return l(await c.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function Sd(e,t){return l(await c.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function xd(e,t){return l(await c.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function wd(e,t,n){return l(await c.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function vd(e,t){return l(await c.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function Ad(e,t){return l(await c.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function E_(e){return De({principal_type:e?.principalType,principal_id:e?.principalId,scope_type:e?.scopeType,scope_id:e?.scopeId,object_type:e?.objectType,object_id:e?.objectId,role_id:e?.roleId,include_expired:e?.includeExpired?"true":void 0})}async function kd(e,t){return l(await O(`/accounts/${e}/iam/assignments${E_(t)}`)).assignments}async function Rd(e,t){let n={principal_type:t.principal.type,principal_id:t.principal.id,scope_type:t.scope.type,scope_id:t.scope.type==="project"?t.scope.id:null};return t.roleId?n.role_id=t.roleId:n.role_key=t.roleKey,t.object&&(n.object_type=t.object.type,n.object_id=t.object.id),t.expiresAt!==void 0&&(n.expires_at=t.expiresAt),l(await c.post(`/accounts/${e}/iam/assignments`,n))}async function Cd(e,t){return l(await c.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function Id(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return l(await O(`/accounts/${e}/iam/permissions${n}`)).permissions}async function eO(){let e=await c.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:l(e,"Failed to load account deletion status")}async function tO(e="User requested deletion"){return l(await c.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function nO(){return l(await c.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function rO(){return l(await c.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}async function sO(){return(await c.get("/user-roles",{showErrors:!1})).data??{isAdmin:!1,role:null}}function cO(){return c.get("/admin/api/provider-distribution").then(e=>l(e))}function uO(e=300){return c.get(`/admin/api/sandboxes?limit=${e}`).then(t=>l(t))}function lO(e){return c.put("/admin/api/provider-distribution",e).then(t=>l(t))}function pO(e){return c.get(`/admin/api/provider-analytics?days=${e}`).then(t=>l(t))}function dO(e,t){return c.post(`/admin/api/sandboxes/${encodeURIComponent(e)}/migrate`,{targetProvider:t}).then(n=>l(n))}function gO(){return c.get("/admin/api/provider-fallback").then(e=>l(e))}function mO(e){return c.put("/admin/api/provider-fallback",{enabled:e}).then(t=>l(t))}function fO(){return c.get("/admin/api/boot-modes").then(e=>l(e))}function yO(e){return c.put("/admin/api/boot-modes",e).then(t=>l(t))}var Td="Export the deck as PDF or PPTX with convertRuntimePresentation().";async function _O(e){throw F("getGoogleAuthUrl",Td)}async function PO(e,t){throw F("convertPresentationToGoogleSlides",Td)}async function Ed(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind);let r=n.toString();return l(await c.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function Md(e,t){return l(await c.get(`/projects/${e}/review/items/${t}`))}async function Od(e,t){return l(await c.post(`/projects/${e}/review/items`,t))}async function Dd(e,t,n){return l(await c.post(`/projects/${e}/review/items/${t}/act`,n))}async function jd(e,t){return l(await c.post(`/projects/${e}/review/bulk`,t))}var $s="call:";function AO(e){return e.startsWith("cr:")&&e.length>3?{type:"change_request",changeRequestId:e.slice(3)}:e.startsWith($s)&&e.length>$s.length?{type:"connector_call",executionId:e.slice($s.length)}:{type:"review_item",reviewItemId:e}}function M_(e){return e==="needs_you"?"needs_you":e==="waiting"?"waiting":"done"}function kO(e){let t={needs_you:0,waiting:0,done:0};for(let n of e)t[M_(n.status)]+=1;return t}function RO(e){switch(e){case"approved":return"approve";case"rejected":return"reject";case"changes_requested":return"changes";case"done":return"answer";case"dismissed":return"dismiss";default:return null}}function Us(e){return e.split(/[._-]/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Ud(e){let t=e.indexOf(".");return t<=0?Us(e):`(${Us(e.slice(0,t))}) ${Us(e.slice(t+1))}`}function O_(e){let t=e.indexOf(".");return t>0?{connector:e.slice(0,t),action:e.slice(t+1)}:{connector:e,action:""}}var gr=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{},U=e=>typeof e=="string"&&e?e:void 0,ye=e=>Array.isArray(e)?e:void 0,$d=e=>typeof e=="number"?e:0,D_=e=>e.split(`
14
- `).map(t=>t.trim()).filter(Boolean);function j_(e,t){let n=gr(e.advanced),r=U(e.description),s=ye(e.whatChanged)??(r?D_(r):t.summary?[t.summary]:[]);return{crId:U(e.cr_id),number:typeof e.number=="number"?e.number:void 0,whatChanged:s,impact:U(e.impact)??"",verification:ye(e.verification)??[],previewUrl:U(e.previewUrl)??U(e.preview_url),conflicts:ye(e.conflicts),requestedChanges:ye(e.requested_changes)??[],advanced:{headRef:U(n.headRef)??U(e.head_ref)??"",baseRef:U(n.baseRef)??U(e.base_ref)??"",headSha:U(n.headSha)??U(e.head_sha)??U(e.head_commit_sha)??"",baseSha:U(n.baseSha)??U(e.base_sha)??"",additions:$d(n.additions),deletions:$d(n.deletions),files:ye(n.files)??[],mergeMode:U(n.mergeMode)??"merge"}}}function $_(e,t){let n=ye(e.actions);if(n)return{actions:n.map((u,p)=>({id:U(u.id)??`${t.review_item_id}-${p}`,title:U(u.title)??"Action",connector:U(u.connector)??"",action:U(u.action)??"",consequence:U(u.consequence)??"",risk:U(u.risk)??t.risk,icon:U(u.icon)??"generic",argsPreview:ye(u.argsPreview)??[],policySource:U(u.policySource)??"Requires approval",decided:u.decided==="approved"||u.decided==="denied"?u.decided:void 0}))};let r=U(e.action_path)??"",{connector:s,action:o}=O_(r),i=gr(e.args_preview),a=Object.keys(i).length>0;return{actions:[{id:U(e.execution_id)??t.review_item_id,title:r?Ud(r):t.title||"Run action",connector:s,action:o,consequence:"Runs against the real connector once you approve",risk:t.risk,icon:"generic",argsPreview:Object.entries(i).map(([u,p])=>({key:u,value:p==="[redacted]"?"Hidden credential":typeof p=="string"?p:JSON.stringify(p,null,2)})),actionPath:r,rawArgsPreview:a?i:void 0,reviewComplete:e.args_preview_complete===!0,previewAuthorized:e.args_preview_authorized!==!1,approvalContext:U(e.approval_context),connectorRisk:U(e.risk)??null,policySource:"Requires approval"}]}}function U_(e,t){return{artifactKind:U(e.artifactKind)??"document",artifactLabel:U(e.artifactLabel)??"Output",previewUrl:U(e.previewUrl)??U(e.preview_url),preview:U(e.preview),files:ye(e.files),note:U(e.note)??t.summary??""}}function F_(e,t){return{question:U(e.question)??t.title??"",context:U(e.context),options:ye(e.options)??[]}}function L_(e,t){return{note:U(e.note)??t.summary??"",children:ye(e.children)??[]}}function B_(e){let t=gr(e.detail);switch(e.kind){case"change":return j_(t,e);case"approval":return $_(t,e);case"output":return U_(t,e);case"decision":return F_(t,e);case"batch":return L_(t,e)}}function N_(e,t){let n=typeof e.number=="number"?e.number:void 0,r=U(e.base_ref);return n!=null&&r?`#${n} \u2192 ${r}`:t}function CO(e,t={}){let n=gr(e.detail),r=e.origin_session_id??void 0,s=r?t.sessionLabels?.[r]:void 0,o=e.kind==="approval"?U(n.action_path):void 0,i=e.kind==="change"?N_(n,e.summary):e.kind==="approval"?s??(r?"From a running session":e.summary):e.summary;return{id:e.review_item_id,kind:e.kind,title:o?Ud(o):e.title,summary:i,risk:e.risk,status:e.status,source:e.source,agent:e.agent||"Agent",createdAt:e.created_at,sessionId:r,detail:B_(e)}}async function Fd(e){return l(await c.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function Ld(e){return l(await c.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function Bd(e,t){let n=await c.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var Fs=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function Nd(e,t=""){return`${Gt()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function qd(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new Fs(s,t.status)}return r}async function DO(e){return qd(Nd(e))}async function jO(e){return qd(Nd(e,"/messages"))}async function Gd(e,t){return l(await c.get(`/projects/${e}/sessions/${t}/reminders`))}async function Wd(e,t,n){return l(await c.post(`/projects/${e}/sessions/${t}/reminders`,n))}async function Ls(e,t,n,r){return l(await c.patch(`/projects/${e}/sessions/${t}/reminders/${n}`,r))}async function Bs(e,t,n){return l(await c.delete(`/projects/${e}/sessions/${t}/reminders/${n}`))}var q_=4;async function Kd(e,t){let n=new Array(e.length),r=0,s=async()=>{for(;r<e.length;){let i=r++;try{await t(e[i]),n[i]={ok:!0}}catch(a){n[i]={ok:!1,error:a}}}};await Promise.all(Array.from({length:Math.min(q_,e.length)},s));let o={done:[],failed:[]};return e.forEach((i,a)=>{let u=n[a];u.ok?o.done.push(i):o.failed.push({reminder:i,error:u.error})}),o}function Hd(e,t,n){return Kd(t,r=>Ls(e,r.sessionId,r.reminderId,n))}function Vd(e,t){return Kd(t,n=>Bs(e,n.sessionId,n.reminderId))}async function zd(e){return l(await c.get(`/projects/${e}/reminders`))}async function Yd(e,t){let n=new URLSearchParams;e&&n.set("account_id",e),t?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return l(await c.get(`/accounts/tokens${r}`))}async function Qd(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return l(await c.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function Jd(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return l(await c.delete(`/accounts/tokens/${e}${n}`))}async function Xd(){return l(await c.get("/oauth/grants")).grants}async function Zd(e){return l(await c.delete(`/oauth/grants/${encodeURIComponent(e)}`))}async function qO(){return l(await c.get("/accounts/me/devices")).devices}async function GO(e){return l(await c.delete(`/accounts/me/devices/${encodeURIComponent(e)}`))}async function eg(e){return l(await c.get(`/projects/${e}/cli-token`))}async function tg(e,t){return l(await c.post(`/projects/${e}/cli-token`,t??{}))}async function ng(e,t){return l(await c.delete(`/projects/${e}/cli-token/${t}`))}function bt(e){let t=new URLSearchParams,n=" format action actor actor_type project_id session_id source credential_kind phase outcome resource_type request_id correlation_id since until q cursor limit ";for(let[r,s]of Object.entries(e))n.includes(` ${r} `)&&s!=null&&s!==""&&t.set(r,String(s));return t}function Ns(e={}){return{format:e.format,action:e.action,actor:e.actor,actor_type:e.actorType,project_id:e.projectId,session_id:e.sessionId,source:e.source,credential_kind:e.credentialKind,phase:e.phase,outcome:e.outcome,resource_type:e.resourceType,request_id:e.requestId,correlation_id:e.correlationId,since:e.since,until:e.until,q:e.q,cursor:e.cursor,limit:e.limit}}async function rg(e,t){let n=bt(Ns(t)).toString();return l(await c.get(`/accounts/${e}/audit${n?`?${n}`:""}`))}async function sg(e,t){let n=bt(Ns({...t,projectId:void 0})).toString();return l(await c.get(`/projects/${e}/audit${n?`?${n}`:""}`))}async function og(e,t){let n=bt(Ns(t)).toString();return l(await c.get(`/accounts/${e}/audit/export${n?`?${n}`:""}`))}async function ig(e){return l(await c.get(`/accounts/${e}/audit/webhooks`))}async function ag(e,t){return l(await c.post(`/accounts/${e}/audit/webhooks`,t))}async function cg(e,t,n){return l(await c.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function ug(e,t){return l(await c.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function lg(e,t){return l(await c.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function pg(e,t){return l(await c.post(`/projects/${e}/connect-requests`,{slug:t.slug,...t.owner?{owner:t.owner}:{},...t.label?{label:t.label}:{},expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function XO(e){return l(await c.get(`/approval-links/${e}`),"Failed to load approval")}async function dg(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return l(await c.get(`/marketplace/items${n}`))}async function gg(){return l(await c.get("/marketplace/marketplaces"))}async function mg(){return l(await c.get("/marketplace/marketplaces/featured"))}async function fg(e){return l(await c.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function yg(e,t){return l(await c.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function hg(){return l(await c.get("/marketplace/sources"))}async function bg(e){return l(await c.post("/marketplace/sources",e),"Failed to add marketplace source")}async function _g(e){return l(await c.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function nD(e,t){return l(await c.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function oD(e){throw F("getTemplate")}async function iD(e,t){throw F("installTemplate")}async function Pg(e){return l(await c.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function Sg(e,t){return l(await c.post(`/projects/${e}/apps`,t),"Failed to create App")}async function qs(e,t){return l(await c.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function xg(e,t,n){return l(await c.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function wg(e,t){return l(await c.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function vg(e,t){return l(await c.post(`/projects/${e}/apps/${t}/token`,{}),"Failed to mint an App token")}async function Ag(e,t){let n=await qs(e,t);if(!n.auth)throw new Error("This server does not report sign-in values for Apps.");let r=l(await c.get(`/projects/${e}/jwks.json`),"Failed to read the project key set"),s=new TextEncoder().encode(JSON.stringify(r)),o="";for(let i of s)o+=String.fromCharCode(i);return{BEEUNI_AUTH_ISSUER:n.auth.issuer,BEEUNI_AUTH_AUDIENCE:n.auth.audience,BEEUNI_AUTH_JWKS:`data:application/json;base64,${btoa(o)}`}}async function kg(e,t){return l(await c.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function Rg(e,t){return l(await c.get(`/projects/${e}/apps/${t}/agents`),"Failed to load the agents with access to this App").agents}async function Cg(e,t,n){return l(await c.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function Ig(e,t){return l(await c.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function Gs(e,t){return l(await c.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function Ws(e,t,n){return l(await c.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function G_(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function W_(e){let t=Uint8Array.from(e),n=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function Tg(e,t,n={}){let r=await G_(t),s=n.mediaType??"application/gzip",o=await Gs(e,{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 i=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(!i.ok){let a=await i.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${i.status}${a?`: ${a}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),Ws(e,o.artifact.artifact_id,{sha256:await W_(r),size_bytes:r.byteLength})}async function Eg(e,t,n){return l(await c.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function Mg(e,t){return l(await c.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function Og(e,t,n){return l(await c.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function Dg(e,t,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 l(await c.get(`/projects/${e}/apps/${t}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function jg(e,t){return l(await c.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function $g(e,t){return l(await c.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function Ug(e,t,n){return l(await c.delete(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to delete App deployment")}async function Fg(e,t,n){return l(await c.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}var ae=(e,t)=>`/projects/${e}/apps/${t}`;async function Lg(e,t){return l(await c.get(`${ae(e,t)}/machines`),"Failed to list machines").machines}async function Ks(e,t,n,r){return l(await c.post(`${ae(e,t)}/machines/${n}/${r}`,{}),`Failed to ${r} the machine`).machines}var Bg=(e,t,n)=>Ks(e,t,n,"start"),Ng=(e,t,n)=>Ks(e,t,n,"stop"),qg=(e,t,n)=>Ks(e,t,n,"restart");async function Gg(e,t,n){return l(await c.delete(`${ae(e,t)}/machines/${n}`),"Failed to destroy the machine").machines}async function Wg(e,t,n){return l(await c.put(`${ae(e,t)}/scale`,{count:n}),"Failed to scale the App")}async function Kg(e,t,n){return l(await c.post(`${ae(e,t)}/exec`,n),"Failed to run the command")}async function Hg(e,t){return l(await c.get(`${ae(e,t)}/volumes`),"Failed to list volumes").volumes}async function Vg(e,t,n){return l(await c.post(`${ae(e,t)}/volumes`,n),"Failed to create the volume")}async function zg(e,t,n,r){return l(await c.patch(`${ae(e,t)}/volumes/${n}`,r),"Failed to update the volume")}async function Yg(e,t,n,r){l(await c.delete(`${ae(e,t)}/volumes/${n}?confirm=${encodeURIComponent(r)}`),"Failed to destroy the volume")}async function Qg(e,t,n){return l(await c.get(`${ae(e,t)}/volumes/${n}/snapshots`),"Failed to list snapshots").snapshots}async function Jg(e,t,n){return l(await c.post(`${ae(e,t)}/volumes/${n}/snapshots`,{}),"Failed to take the snapshot")}async function Xg(e,t,n,r){return l(await c.post(`${ae(e,t)}/volumes/${n}/restore`,{snapshot_id:r}),"Failed to restore the volume")}async function Zg(e,t,n,r){return l(await c.post(`${ae(e,t)}/volumes/${n}/fork`,r),"Failed to fork the volume")}function te(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}var ne=e=>`/drives/${encodeURIComponent(e)}`;async function PD(e){let t=l(await c.get(`/drives?${new URLSearchParams({projectId:e})}`),"Failed to load files").drives;if(!t[0])throw new b("Files not found",{status:404});return t[0]}async function SD(e,t){return l(await c.get(`${ne(e)}/access?${new URLSearchParams({path:t})}`),"Failed to load sharing")}async function xD(e,t){return l(await c.put(`${ne(e)}/access`,t),"Failed to share folder")}async function wD(e,t){let n=l(await c.delete(`${ne(e)}/access/${encodeURIComponent(t)}`),"Failed to stop sharing");return{pendingSessions:typeof n?.pendingSessions=="number"?n.pendingSessions:0}}async function vD(e){return l(await c.get(`${ne(e)}/principals`),"Failed to load people")}async function AD(e){return l(await c.get(`${ne(e)}/conflicts`),"Failed to load conflicts").conflicts}async function kD(e,t){l(await c.post(`${ne(e)}/conflicts/${encodeURIComponent(t)}/dismiss`,{}),"Failed to dismiss conflict")}async function RD(e,t="/"){return(await K_(e,t)).entries}async function K_(e,t="/"){return l(await c.get(`${ne(e)}/files?${new URLSearchParams({path:t})}`),"Failed to load files")}function em(e,t,n){let r=te(k().backendUrl),s={path:t};return n?.download&&(s.download="1"),`${r}${ne(e)}/files/content?${new URLSearchParams(s)}`}async function CD(e,t,n){let r=await M(em(e,t),{signal:n});if(!r.ok){let s=await r.json().catch(()=>null);throw new b(s?.message||"Could not download file",{status:r.status})}return r.blob()}async function ID(e,t,n){let r=await M(em(e,t),{signal:n});if(!r.ok){let s=await r.json().catch(()=>null);throw new b(s?.message||"Could not download file",{status:r.status})}return{blob:await r.blob(),version:r.headers.get("etag")}}async function TD(e,t,n,r){return l(await c.putRaw(`${ne(e)}/files/content?${new URLSearchParams({path:t})}`,n,{signal:r?.signal,...r?.ifMatch?{headers:{"If-Match":r.ifMatch}}:{}}),"Failed to upload file")}async function ED(e,t){return l(await c.post(`${ne(e)}/files/mkdir`,{path:t}),"Failed to create folder")}async function MD(e,t,n){return l(await c.post(`${ne(e)}/files/move`,{from:t,to:n}),"Failed to move")}async function OD(e,t,n){let r={path:t};n?.recursive&&(r.recursive="true"),l(await c.delete(`${ne(e)}/files?${new URLSearchParams(r)}`),"Failed to delete")}async function DD(e){return l(await c.get(`${ne(e)}/versions`),"Failed to load versions").versions}async function jD(e,t){l(await c.post(`${ne(e)}/restore`,{versionId:t}),"Failed to restore version")}var H_=(e,t)=>`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/drives`;async function $D(e,t){return(await V_(e,t)).drives}async function V_(e,t){return l(await c.get(H_(e,t)),"Failed to load session files")}async function tm(e){return l(await c.post("/notifications/device-token",e))}async function nm(e,t){return l(await c.delete(`/notifications/device-token/${encodeURIComponent(e)}`,{signal:t?.signal}))}var BD=["turn_done","turn_error","question","permission","shared","automation_failed","automation_recovered"];async function rm(e={},t){let n=new URLSearchParams;e.limit!==void 0&&n.set("limit",String(e.limit)),e.before&&n.set("before",e.before);let r=n.toString();return l(await c.get(`/notifications${r?`?${r}`:""}`,{showErrors:!1,signal:t?.signal}))}async function sm(e){let t="ids"in e?{ids:e.ids}:"all"in e?{all:!0}:{session_id:e.sessionId};return l(await c.post("/notifications/read",t))}var ND={turn_done:{push:!0,email:!1},turn_error:{push:!0,email:!0},question:{push:!0,email:!0},permission:{push:!0,email:!1},shared:{push:!0,email:!0},automation_failed:{push:!0,email:!0},automation_recovered:{push:!0,email:!1}};async function om(){return l(await c.get("/notifications/preferences",{showErrors:!1}))}async function im(e){return l(await c.put("/notifications/preferences",e))}async function am(){return l(await c.get("/notifications/web-push/key",{showErrors:!1}))}async function cm(e){let t={endpoint:e.endpoint,keys:{p256dh:e.keys.p256dh,auth:e.keys.auth}};return l(await c.post("/notifications/web-push/subscriptions",t,{showErrors:!1}))}async function um(e,t){return l(await c.delete(`/notifications/web-push/subscriptions?endpoint=${encodeURIComponent(e)}`,{signal:t?.signal,showErrors:!1}))}async function mr(e){return l(await c.get(`/projects/${e}/model-access`))}async function fr(e,t){return l(await c.put(`/projects/${e}/model-access`,t))}var Wt=e=>`/provider-connections/${encodeURIComponent(e)}`,lm=e=>`/projects/${encodeURIComponent(e)}/personal-providers`;async function pm(){return l(await c.get("/provider-connections"))}async function dm(e,t,n={}){return l(await c.put(Wt(e),{api_key:t,...n}))}async function gm(e,t){let n=t?`${Wt(e)}/connections/${encodeURIComponent(t)}`:Wt(e);return l(await c.delete(n))}async function mm(e,t={}){return l(await c.post(`${Wt(e)}/start`,t))}async function fm(e,t){return l(await c.post(`${Wt(e)}/poll`,{flow_id:t}))}async function ym(e){return l(await c.get(lm(e)))}async function hm(e,t,n,r={}){return l(await c.put(`${lm(e)}/${encodeURIComponent(t)}`,{enabled:n,...r}))}async function JD(e){return l(await c.get(`/projects/${e}/starter-suggestions`))}function ZD(e){let{running:t,isCarousel:n,contentStatus:r,isWebsitePreview:s,previewHasError:o,previewIsLinkOnly:i}=e;return t||n?!1:s?o&&!i:r==="error"}function Hs(e){return typeof e=="string"&&e.trim().length>0}function bm(e){if(!e||typeof e!="object")return!1;let{path:t,url:n,content:r}=e;return Hs(t)||Hs(n)||Hs(r)}function z_(e){if(Array.isArray(e))return e.length>0?e:null;if(typeof e!="string"||!e.trim())return null;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:null}catch{return null}}function yr(e){if(!e)return!0;let t=z_(e.items);return t?!t.some(bm):!bm(e)}function pe(e){return(e??"").replace(/^oc-/,"").replace(/-/g,"_")}function nj(e){return pe(e)==="bash"}function rj(e){let t=pe(e);return t==="question"||t==="ask"}function sj(e,t){let n=Math.max(0,e);return`${t?"Running":"Ran"} ${n} command${n===1?"":"s"}`}var Y_=new Set(["show","show_user"]);function _m(e){return Y_.has(pe(e))}function oj(e,t){let n=Math.max(0,e);return`${t?"Writing":"Wrote"} ${n} file${n===1?"":"s"}`}function Pm(e){return!!(e.type==="snapshot"||e.type==="patch"||e.type==="step-start"||e.type==="step-finish"||e.type==="text"&&!e.text?.trim()||Vs(e))}function Vs(e){let t=pe(e.tool);return t!=="show"&&t!=="show_user"||e.state?.status!=="completed"?!1:yr(e.state?.input)}var Q_=new Set(["show","show_user","agent_spawn","agent_status","agent_message","agent_task_update","agent_stop"]);function Sm(e){return Q_.has(pe(e))}var J_=50*1024*1024,zs="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",X_=new RegExp(`^beeuni-attachment://(${zs})/(${zs})/(${zs})$`);function Qs(e){if(typeof e!="string")return null;let t=X_.exec(e);return t?{projectId:t[1],sessionId:t[2],attachmentId:t[3]}:null}function dj(e){return Qs(e)!==null}var Ys=new WeakMap;async function xm(e,t,n,r={}){if(n.size>J_)throw new Error("Attachments must be 50 MiB or smaller.");let s=`${e}/${t}`,o=r.attachmentId?void 0:Ys.get(n)?.get(s);if(o?.promise)return o.promise;let i=o??{id:r.attachmentId??crypto.randomUUID(),promise:void 0};if(!r.attachmentId){let u=Ys.get(n)??new Map;u.set(s,i),Ys.set(n,u)}let a=new FormData;return a.append("attachment_id",i.id),a.append("file",n,n.name),i.promise=c.upload(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/attachments`,a,{signal:r.signal,timeout:12e4,showErrors:!1}).then(l).catch(u=>{throw i.promise=void 0,u}),i.promise}async function wm(e,t){let n=Qs(e);if(!n)throw new Error("Invalid attachment reference");let r=k().backendUrl.replace(/\/$/,""),s=await M(`${r}/projects/${n.projectId}/sessions/${n.sessionId}/attachments/${n.attachmentId}`,{signal:t});if(!s.ok)throw new b("Could not load attachment",{status:s.status});return s.blob()}var Z_=new Set(["show","show_user"]);function eP(e){let t=[],n=0;for(;;){let r=e.indexOf("<file",n);if(r===-1)return t;let s=r+5;if(s>=e.length||!/\s/.test(e[s])){n=s;continue}let o=e.indexOf(">",s);if(o===-1)return t;let i=e.indexOf("</file>",o+1);if(i===-1)return t;t.push(e.slice(s,o).trimStart()),n=i+7}}var _t=e=>!!e&&typeof e=="object"&&!Array.isArray(e),Kt=e=>typeof e=="string"&&e.length>0?e:null,vm=e=>typeof e=="string"?Kt(e.split("/").pop()):null;function hr(e,t){let n=e.match(new RegExp(`(?:^|\\s)${t}="([^"]*)"`))?.[1];return n===void 0?null:n.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}function tP(e){if(Array.isArray(e))return e;if(typeof e!="string"||!e.trim())return[];try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function nP(e,t){for(let n of eP(e))t(hr(n,"attachment"),hr(n,"filename")??vm(hr(n,"path")),hr(n,"mime"))}function rP(e,t){for(let n of[e,...tP(e.items)])_t(n)&&t(n.attachment,vm(n.path),null)}function gj(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!_t(r)||!_t(r.info)||!Array.isArray(r.parts))continue;let s=Kt(r.info.id);if(!s)continue;let o=Kt(r.info.role)??"unknown",i=(a,u,p)=>{let d=Qs(a);!d||n.has(a)||(n.add(a),t.push({url:a,attachment_id:d.attachmentId,filename:u,mime:p,message_id:s,role:o}))};for(let a of r.parts)_t(a)&&(a.type==="file"?i(a.url,Kt(a.filename),Kt(a.mime)):a.type==="text"&&typeof a.text=="string"?nP(a.text,i):a.type==="tool"&&typeof a.tool=="string"&&Z_.has(pe(a.tool))&&_t(a.state)&&_t(a.state.input)&&rP(a.state.input,i))}return t}function je(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function sP(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function bj(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function Js(e,t,n){return e!==void 0?e:sP(je(t),n)}var Am={get disableMobileAdvertising(){return Js(k().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return Js(k().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return Js(k().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var oP=new Set(["project-manager"]);function Xs(e){return e.native===!0||e.mode==="subagent"||e.hidden||e.enabled===!1?!1:Am.enableProjects||!oP.has(e.name)}function Sj(e){let t=e.agents.filter(Xs),n=e.default_agent??e.open_code_default_agent;return n?t.sort((r,s)=>r.name===n?-1:s.name===n?1:0):t}function km(){return{projects:{list:dt,listForAccount:ca,get:Gn,detail:Wn,create:da,createRepo:ga,provision:ma,update:Vn,archive:zn,llmCatalog:Kn,modelPicker:Hn,modelAccess:mr,setModelAccess:fr,sandboxHealth:Jn,sandboxTemplates:ou,sessions:yt,createSession:ht},github:{linkRepository:Pa,replaceProjectRepository:Sa,getInstallation:xa,listInstallations:wa,listLinkableInstallations:va,listRepositories:Aa,listRepositoryBranches:ka,linkInstallation:Ca,saveInstallation:Ra,deleteInstallation:Ta,storeUserToken:Ia},gitBackend:{get:Ea,repositories:Ma},connectStatus:Jc,marketplace:{items:o=>dg(o),item:o=>fg(o),itemFile:(o,i)=>yg(o,i),marketplaces:()=>gg(),featured:()=>mg(),sources:{list:()=>hg(),add:o=>bg(o),remove:o=>_g(o)}}}}function Rm(){return{billing:{accountState:Zl,accountStateMinimal:ep,transactions:tp,transactionsSummary:np,creditBreakdown:rp,usageHistory:sp,usageRollup:hp,sessionCosts:{list:_p,get:dr},tierConfigurations:op,checkout:{createSession:n=>ip(n),confirmSession:(n,r)=>ap(n,r)},subscription:{createPortalSession:(n,r)=>cp(n,r),cancel:(n,r)=>up(n,r),reactivate:n=>lp(n),scheduleDowngrade:(n,r,s)=>pp(n,r,s),cancelScheduledChange:n=>dp(n),prorationPreview:(n,r)=>gp(n,r)},credits:{purchase:n=>mp(n),autoTopupSettings:n=>fp(n),configureAutoTopup:n=>yp(n)}},sandboxShares:{list:Fd,create:Ld,revoke:Bd}}}var $e={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",BEEUNI_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};function Ue(){let e=je("BACKEND_URL")||k().backendUrl;return e||"http://localhost:8008/v1"}function Vt(e){let t=te(e);return t.endsWith("/v1")?t:`${t}/v1`}function Ht(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=Ht(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return Ht(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}function iP(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function Zs(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id||"";return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${Ue()}/p/${n.external_id}/${$e.BEEUNI_MASTER}`:""),status:iP(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function eo(){let e=await dt(),t=[];for(let n of e){let r=await yt(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:Zs(n,s,null)})}return t.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 Qe(e){let t=await eo();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}var zt=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};async function Q(e,t,n){let r=n?.fetch??k().fetch??((p,d)=>fetch(p,d)),s=te(n?.backendUrl??k().backendUrl??"");if(!s)throw new zt("not_configured","backendUrl is not configured (configureBeeuni / createBeeuni first)",0);let o={accept:"application/json"};t.body!==void 0&&(o["content-type"]="application/json"),t.bearer&&(o.authorization=`Bearer ${t.bearer}`);let i=await r(`${Vt(s)}${e}`,{method:t.method??(t.body!==void 0?"POST":"GET"),headers:o,...t.body!==void 0?{body:JSON.stringify(t.body)}:{},...n?.signal?{signal:n.signal}:{}}),a=await i.text().catch(()=>""),u=null;try{u=a?JSON.parse(a):null}catch{u=a}if(!i.ok){let p=u&&typeof u=="object"?u:{};throw new zt(typeof p.error=="string"?p.error:"auth_error",typeof p.error_description=="string"&&p.error_description?p.error_description:typeof p.error=="string"?p.error:i.statusText||`HTTP ${i.status}`,i.status)}return u}function to(e,t){return Q("/auth/signup",{body:e},t)}function no(e,t){return Q("/auth/sign-in/password",{body:e},t)}function ro(e,t){return Q("/auth/sign-in/magic-link",{body:e},t)}function so(e,t){return Q("/auth/verify-otp",{body:e},t)}function oo(e,t){return Q("/auth/sign-in/oauth",{body:e},t)}function io(e,t){return Q("/auth/oauth/exchange",{body:e},t)}function Yt(e,t){return Q("/auth/refresh",{body:e},t)}function ao(e,t){return Q("/auth/password/reset",{body:e},t)}function co(e,t,n){return Q("/auth/password/update",{body:e,bearer:t},n)}function uo(e,t){return Q("/auth/user",{bearer:e},t)}function lo(e,t,n){return Q("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function po(e,t){return Q("/auth/sign-in/sso",{body:e},t)}var go={enroll:(e,t,n)=>Q("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>Q(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>Q(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>Q(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function mo(e,t={},n){return Q("/auth/sign-out",{body:t,bearer:e},n)}function fo(e={}){let t=e.refreshSkewSeconds??60,n=e.now??(()=>Date.now()),r=null,s=null,o=!e.storage,i=null,a=null,u=0,p=new Set,d=x=>(x.expires_at??0)*1e3,g=x=>d(x)-t*1e3<=n();async function m(){e.storage&&(r?await e.storage.set(JSON.stringify({session:r,user:s})):await e.storage.remove());for(let x of[...p])try{x(r)}catch{}try{e.onChange?.(r)}catch{}}async function f(){if(o)return r;if(!i){let x=u,D=(async()=>{let j=await e.storage.get();if(x===u&&j)try{let L=JSON.parse(j);L.session?.access_token&&L.session?.refresh_token&&(r=L.session,s=L.user??null)}catch{r=null}return o=!0,r})();i=D,D.then(()=>{i===D&&(i=null)},()=>{i===D&&(i=null)})}return i}async function h(){if(await f(),!r)return null;if(!a){let x=r.refresh_token,D=u,j=Yt({refresh_token:x},e.request).then(async L=>(D!==u||(r=L.session,L.user&&(s=L.user),await m()),r)).catch(async L=>{if(D!==u)return r;let y=L&&typeof L=="object"&&"status"in L?L.status:0;if(y>=400&&y<500)return r=null,s=null,await m(),null;throw L}).finally(()=>{a===j&&(a=null)});a=j}return a}return{subscribe(x){return p.add(x),()=>{p.delete(x)}},current:()=>r,user:()=>s,load:f,async set(x,D){await f(),u+=1,a=null,r=x,D!==void 0&&(s=D),x||(s=null),await m()},async getToken(){return await f(),r?g(r)?(await h().catch(()=>r))?.access_token??null:r.access_token:null},refresh:h,async clear(){u+=1,a=null,r=null,s=null,o=!0,await m()}}}function Cm(){return{list:Li,get:Ni,create:Bi,secretResources:{list:lc,create:pc,rotate:dc,retry:gc,remove:mc,grant:fc,revoke:yc,setAccess:hc},updateName:qi,branding:{get:Gi,update:Wi,uploadAsset:Ki,removeAsset:Hi,reset:Vi},leave:oa,members:zi,invite:Yi,removeMember:ra,updateMemberRole:sa,invites:Qi,cancelInvite:Ji,resendInvite:Xi,tokens:{list:Yd,create:Qd,revoke:Jd},connectedApps:{list:Xd,revoke:Zd},audit:{log:rg,export:og,webhooks:{list:ig,create:ag,update:cg,remove:ug}}}}function Im(){return{assignments:{list:kd,create:Rd,revoke:Cd},permissions:{list:Id,forRole:dd},roles:{list:ud,create:md,update:fd,setPermissions:yd,remove:hd,usage:gd},groups:{list:td,get:nd,create:rd,update:sd,remove:od,members:{list:id,add:ad,remove:cd}},agentIdentities:ld,oauthClients:{list:Pd,get:Sd,create:xd,update:wd,rotateSecret:vd,remove:Ad},can:bd,canBatch:_d}}function Tm(){let e={signUp:to,signInWithPassword:no,sendMagicLink:ro,verifyOtp:so,signInWithProvider:oo,exchangeCode:io,refresh:Yt,resetPassword:ao,updatePassword:co,updateUserMetadata:lo,signInWithSso:po,mfa:go,user:uo,signOut:mo,session:fo},t=Cm(),n=Im();return{auth:e,accounts:t,iam:n,accountInvites:{listMine:Zi,describe:ea,accept:ta,decline:na}}}var Qt=new Map,yo=new Map;function ho(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Em(e){return Qt.get(ho(e))??null}function Mm(){return[...Qt.values()].filter(e=>typeof e=="string")}function Om(e){return Qt.has(ho(e))}async function Je(e){let t=ho(e),n=Qt.get(t);if(n!==void 0)return n;let r=yo.get(t);if(r)return r;let s=(async()=>{try{let o=await c.get("/p/config",{showErrors:!1,errorContext:{operation:"load preview config",silent:!0}});if(!o.success)return null;let i=typeof o.data?.preview_url_template=="string"?o.data.preview_url_template:null;return Qt.set(t,i),i}catch{return null}finally{yo.delete(t)}})();return yo.set(t,s),s}function Dm(e){let{apiBaseUrl:t}=e;return Om(t)||Je(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:Em(t)}}function jm(e){function t(n){try{return new URL(n)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(n,window.location.origin)}catch{return null}throw new b(`Beeuni SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(n)}). Relative paths like "/api/beeuni" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}return function(r){let s=k().backendUrl??e.backendUrl,o=80,i=t(s);return i&&(o=i.port?Number(i.port):i.protocol==="https:"?443:80),Dm({sandboxId:r,apiBaseUrl:s,backendPort:o})}}function $m(e,t){let n=null;async function r(){n||(n=or(e,t,{showErrors:!1}).then(s=>{let o=vl(s)??"",i=o.indexOf("/"),a=i>0&&i<o.length-1?{providerID:o.slice(0,i),modelID:o.slice(i+1)}:void 0,u=s.agent_name?.trim()||void 0;return{model:a,agent:u}}));try{return await n}catch(s){throw n=null,s}}return{persistedPromptDefaults:r,clearPersistedDefaults:()=>{n=null}}}var Jt=new Map;function Um(e){let t=`Session runtime not ready (stage: ${e?.stage??"unknown"})`,n=e?.failure,r=[];n?.category&&r.push(n.category),n?.message&&r.push(n.message);let s=n?.evidence?.error;return s&&s!==n?.message&&r.push(s),r.length===0&&e?.reason&&r.push(e.reason),r.length>0?`${t}: ${r.join(" \u2014 ")}`:t}var Pt=class extends Error{constructor(t){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 \`${t}\`.`),this.name="SessionNotReadyError"}};var St={url:null,sandboxId:null,dbSandboxId:null,version:0},cP=new Set;function Fm(e,t=null,n=null){if(!(St.url===e&&St.sandboxId===t&&St.dbSandboxId===n)){St={url:e,sandboxId:t,dbSandboxId:n,version:St.version+1};for(let r of cP)r()}}function Lm(){return St.url}function Bm(e,t){async function n(r){let s=Date.now()+r,o=()=>Math.max(0,s-Date.now()),i=await Ye(e,t,Math.min(3e4,o()));for(;Date.now()<s&&(i==null||(i.stage==="provisioning"||i.stage==="starting")&&i.retriable);)await new Promise(d=>setTimeout(d,Math.min(1e3,o()))),i=await Ye(e,t,Math.min(3e4,o()));let a=i?.runtime_session_id??i?.opencode_session_id;if(!i||i.stage!=="ready"||!i.sandbox||!a)throw new b(Um(i),{code:"RUNTIME_UNAVAILABLE"});let u=i.sandbox.external_id;if(!u)throw new b("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let p=ze(u);return Fm(p,u),{runtimeSessionId:a,opencodeSessionId:a,runtimeUrl:p,sandboxId:u}}return n}function Nm(e,t,n){let r=null;function s(){if(r)return r;let p=$l(e,t);return p&&(r=p),r}let o=Bm(e,t);async function i(p){let d=s();if(d)return d;let g=p?.readyTimeoutMs??18e4,m=Je(k().backendUrl??n.backendUrl).catch(()=>null),f=`${e}
15
- ${t}`,h=Jt.get(f);if(h)return r=await h,await m,r;let x=o(g);Jt.set(f,x);try{return r=await x,await m,r}finally{Jt.get(f)===x&&Jt.delete(f)}}function a(p){let d=s();if(!d)throw new Pt(p);return d}function u(){r=null,Fl(e,t)}return{ensureReady:i,tryResolveReady:s,requireReady:a,forgetReady:u}}var G=["directory","workspace"],qm=["messageID","model","agent","noReply","tools","format","system","variant","parts"],R=(e,t,n=G,r=[],s)=>({method:e,path:t,query:n,body:r,bodyParam:s}),uP={"session.list":R("GET","/session",[...G,"scope","path","roots","start","search","limit"]),"session.get":R("GET","/session/{sessionID}"),"session.create":R("POST","/session",G,["parentID","title","agent","model","metadata","permission","workspaceID"]),"session.delete":R("DELETE","/session/{sessionID}"),"session.update":R("PATCH","/session/{sessionID}",G,["title","metadata","permission","time"]),"session.status":R("GET","/session/status"),"session.messages":R("GET","/session/{sessionID}/message",[...G,"limit","before"]),"session.prompt":R("POST","/session/{sessionID}/message",G,qm),"session.promptAsync":R("POST","/session/{sessionID}/prompt_async",G,qm),"session.abort":R("POST","/session/{sessionID}/abort"),"session.revert":R("POST","/session/{sessionID}/revert",G,["messageID","partID"]),"session.unrevert":R("POST","/session/{sessionID}/unrevert"),"session.summarize":R("POST","/session/{sessionID}/summarize",G,["providerID","modelID","auto"]),"session.command":R("POST","/session/{sessionID}/command",G,["messageID","agent","model","arguments","command","variant","parts"]),"session.share":R("POST","/session/{sessionID}/share"),"session.unshare":R("DELETE","/session/{sessionID}/share"),"session.fork":R("POST","/session/{sessionID}/fork",G,["messageID"]),"session.diff":R("GET","/session/{sessionID}/diff",[...G,"messageID"]),"session.todo":R("GET","/session/{sessionID}/todo"),"permission.list":R("GET","/permission"),"permission.reply":R("POST","/permission/{requestID}/reply",G,["reply","message"]),"question.list":R("GET","/question"),"question.reply":R("POST","/question/{requestID}/reply",G,["answers"]),"question.reject":R("POST","/question/{requestID}/reject"),"part.update":R("PATCH","/session/{sessionID}/message/{messageID}/part/{partID}",G,[],"part"),"part.delete":R("DELETE","/session/{sessionID}/message/{messageID}/part/{partID}"),"file.list":R("GET","/file",[...G,"path"]),"file.read":R("GET","/file/content",[...G,"path"]),"find.files":R("GET","/find/file",[...G,"query","dirs","type","limit"]),"vcs.diff":R("GET","/vcs/diff",[...G,"mode","context"]),"global.health":R("GET","/global/health",[]),"global.dispose":R("POST","/global/dispose",[]),"global.config.get":R("GET","/global/config",[]),"global.config.update":R("PATCH","/global/config",[],[],"config"),"provider.list":R("GET","/provider"),"provider.auth":R("GET","/provider/auth"),"provider.oauth.authorize":R("POST","/provider/{providerID}/oauth/authorize",G,["method","inputs"]),"provider.oauth.callback":R("POST","/provider/{providerID}/oauth/callback",G,["method","code"]),"auth.set":R("PUT","/auth/{providerID}",[],[],"auth"),"app.agents":R("GET","/agent"),"app.skills":R("GET","/skill"),"app.log":R("POST","/log",G,["service","level","message","extra"]),"command.list":R("GET","/command"),"tool.ids":R("GET","/experimental/tool/ids"),"tool.list":R("GET","/experimental/tool",[...G,"provider","model"]),"mcp.status":R("GET","/mcp"),"mcp.add":R("POST","/mcp",G,["name","config"]),"mcp.connect":R("POST","/mcp/{name}/connect"),"mcp.disconnect":R("POST","/mcp/{name}/disconnect"),"mcp.auth.start":R("POST","/mcp/{name}/auth"),"mcp.auth.callback":R("POST","/mcp/{name}/auth/callback",G,["code"]),"mcp.auth.remove":R("DELETE","/mcp/{name}/auth"),"project.list":R("GET","/project"),"project.current":R("GET","/project/current"),"path.get":R("GET","/path")};function lP(e,t){let n=[];for(let r of e.query){let s=t[r];s!=null&&n.push(`${r}=${encodeURIComponent(String(s))}`)}return n.length?`?${n.join("&")}`:""}function pP(e,t,n={},r={}){let s=uP[t],o=s.path.replace(/\{(\w+)\}/g,(p,d)=>encodeURIComponent(String(n[d]))),i,a=!1;if(s.bodyParam)i=n[s.bodyParam],a=i!==void 0;else for(let p of s.body)p in n&&(i={...i,[p]:n[p]},a=!0);let u=new Headers(r.headers);return a&&u.set("Content-Type","application/json"),new Request(`${e.replace(/\/$/,"")}${o}${lP(s,n)}`,{method:s.method,headers:u,redirect:"follow",...a?{body:JSON.stringify(i)}:{},...r.signal?{signal:r.signal}:{}})}function dP(e){if(!e)return"stream";let t=e.split(";")[0]?.trim()??"";return t.startsWith("application/json")||t.endsWith("+json")?"json":t==="multipart/form-data"?"formData":["application/","audio/","image/","video/"].some(n=>t.startsWith(n))?"blob":t.startsWith("text/")?"text":"json"}async function gP(e,t){let n=e.fetch??globalThis.fetch,r;try{r=await n(t)}catch(i){return{error:i||{},request:t,response:void 0}}if(r.headers.get("content-type")==="text/html")throw new Error("The session runtime does not serve this request (it answered text/html)");if(r.ok){let i=dP(r.headers.get("Content-Type"));if(r.status===204||r.headers.get("Content-Length")==="0")return{data:i==="json"?{}:i==="formData"?new FormData:i==="stream"?r.body:await r[i](),request:t,response:r};if(i==="stream")return{data:r.body,request:t,response:r};if(i==="json"){let a=await r.text();return{data:a?JSON.parse(a):{},request:t,response:r}}return{data:await r[i](),request:t,response:r}}let s=await r.text(),o=s;try{o=JSON.parse(s)}catch{}return{error:o||{},request:t,response:r}}function bo(e=globalThis.fetch){return async function*({url:t,headers:n,signal:r}){let s=await e(new Request(t,{method:"GET",headers:n,signal:r,redirect:"follow"}));if(!s.ok)throw Object.assign(new Error(`SSE failed: ${s.status} ${s.statusText}`),{status:s.status});if(!s.body)throw new Error("No body in SSE response");let o=s.body.pipeThrough(new TextDecoderStream).getReader(),i=()=>{try{o.cancel()}catch{}};r.addEventListener("abort",i);try{let a="";for(;;){let{done:u,value:p}=await o.read();if(u)break;a=(a+p).replace(/\r\n/g,`
13
+ `);let h=Mx(f);if(h){if(r(h),h.type==="error")throw new x(h.error,{status:h.status,code:h.code,data:{reason:h.reason}});h.type==="done"&&(p=h.result)}}}}finally{i.cancel().catch(()=>{})}if(!p)throw new Error("Reload stream ended without a result");return p}async function Vp(e,t){return u(await l.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Hp(e,t,n){return u(await l.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function zp(e,t,n){return u(await l.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{model:n,opencode_model:n}))}function Kr(e){let t=e.metadata?.opencode_model;return typeof t=="string"&&t.trim()?t.trim():null}async function Yp(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/message-authors`,{showErrors:!1}))}async function Jp(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/model-usage`,{showErrors:!1}))}function fj(e,t){let n=e.author_user_id===void 0||!t.userId||e.author_user_id===t.userId;return{own:n,removable:n||t.managesSession===!0}}async function Qp(e){return u(await l.get(`/projects/${e}/triggers`))}async function Xp(e,t){return u(await l.post(`/projects/${e}/triggers`,t))}async function Zp(e,t,n){return u(await l.patch(`/projects/${e}/triggers/${t}`,n))}async function ed(e,t){return u(await l.delete(`/projects/${e}/triggers/${t}`))}async function td(e,t){return u(await l.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function nd(e,t){return u(await l.post(`/projects/${e}/triggers/${t}/fire`,{}))}async function rd(e,t){let n="connector"in t?`connector=${encodeURIComponent(t.connector)}`:`app=${encodeURIComponent(t.app)}${t.source?`&source=${encodeURIComponent(t.source)}`:""}`;return u(await l.get(`/projects/${e}/triggers/event-types?${n}`))}async function sd(e){return u(await l.get(`/projects/${e}/triggers/event-apps`))}var et=new Map;function Co(e,t){return`${e}::${t}`}function od(e,t){et.delete(e),et.set(e,t)}function id(e,t){let n=Co(e,t),r=et.get(n);return r&&od(n,r),r}function Vr(e,t,n){let r=Co(e,t);if(!et.has(r)&&et.size>=512){let s=et.keys().next().value;s!==void 0&&et.delete(s)}od(r,n)}function ad(e,t){et.delete(Co(e,t))}function Ox(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function _n(){return Ox(C().backendUrl||"http://localhost:8008/v1")}function cd(){let e=C().sandboxId;return e?`${_n()}/p/${e}/8000`:""}function Dx(e,t=8e3){return`${_n()}/p/${e}/${t}`}function Ge(e,t=8e3){return Dx(e,t)}function ld(e){if(e.status!=="running"||!e.sandbox_id||!e.sandbox_provider||!e.sandbox_url||!(e.runtime_session_id??e.opencode_session_id))return null;let t=e.runtime_session_id??e.opencode_session_id,n=e.sandbox_url.match(/\/p\/([^/]+)\//)?.[1];return n?{stage:"ready",agent_name:e.agent_name??"default",retriable:!0,sandbox:{sandbox_id:e.sandbox_id,session_id:e.session_id,project_id:e.project_id,account_id:e.account_id,provider:e.sandbox_provider,external_id:n,base_url:e.sandbox_url,status:"active",config:{},metadata:e.metadata,last_used_at:e.updated_at,created_at:e.created_at,updated_at:e.updated_at},runtime_session_id:t,opencode_session_id:t,runtime_url:e.sandbox_url}:null}var To=class extends Error{status;code;terminal;constructor(t,n){super(t),this.name="SessionStartError",this.status=n.status,this.code=n.code,this.terminal=n.terminal}};function Rj(e){return e instanceof Error&&e.name==="SessionStartError"}function jx(e){let t=e,n=t?.status,r=t?.code??t?.details?.code??t?.details?.error,s=t?.message||"Unable to start this session";return n&&n>=400&&n<500&&n!==408&&n!==429?new To(s,{status:n,code:r,terminal:!0}):null}function ud(e,t,n){let r=typeof n=="number"?n:n?.waitMs,s=typeof n=="number"?void 0:n?.repositoryMode,o=new URLSearchParams;r&&r>0&&o.set("wait_ms",String(Math.floor(r))),s&&o.set("repository_mode",s),typeof n=="object"&&n?.keepStopped&&o.set("keep_stopped","1"),typeof n=="object"&&n?.intentAgeMs&&n.intentAgeMs>0&&o.set("intent_age_ms",String(Math.floor(n.intentAgeMs)));let i=o.size>0?`?${o.toString()}`:"";return l.post(`/projects/${e}/sessions/${t}/start${i}`,{},{showErrors:!1})}async function ht(e,t,n){let r=await ud(e,t,n);if(!r.success||!r.data){let s=jx(r.error);if(s&&!(s.status===404&&rp(t)))throw s;return null}return dd(e,t,r.data)}async function pd(e,t,n){let r=await ud(e,t,n);if(!r.success||!r.data)throw r.error??new Error("Unable to start this session");return dd(e,t,r.data)}function dd(e,t,n){let r=n.sandbox?.external_id,s=n.runtime_session_id??n.opencode_session_id;return n.stage==="ready"&&r&&s&&Vr(e,t,{runtimeSessionId:s,opencodeSessionId:s,runtimeUrl:Ge(r),sandboxId:r}),n}function Cj(e,t){return["session-start",e,t]}async function gd(e){return u(await l.get(`/projects/${e}/model-defaults`))}async function md(e,t){return u(await l.put(`/projects/${e}/model-defaults`,t))}async function fd(e,t){let n=new URLSearchParams({scope:t.scope,...t.agentName?{agentName:t.agentName}:{}}).toString();return u(await l.delete(`/projects/${e}/model-defaults?${n}`))}async function jj(e,t){return u(await l.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}function yd(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function Lx(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Hr(e){let t=e.connectors_required?yd(e.connectors_required):void 0,n=e.connectors_personal?yd(e.connectors_personal):void 0;if(t&&n&&!Lx(t,n))throw new Error("connectors_personal must match connectors_required when both fields are present");let r={...e};return delete r.connectors_personal,(t!==void 0||n!==void 0)&&(r.connectors_required=t??n),r}async function hd(e,t,n){let r=Hr(n);return u(await l.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}async function Kj(e,t){let n=u(await l.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Eo(n.block):null}}async function Vj(e,t,n){let r=Eo(n,!0),s=u(await l.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Eo(s.block):null}}function Eo(e,t=!1){let n=Hr(e);if(n.workspace===void 0)return n;let r=n.workspace==="branch";if(n.repository_access!==void 0&&n.repository_access!==r)throw new Error("repository_access conflicts with workspace");if(t&&n.workspace==="read"&&n.repository_access===void 0)throw new Error("Legacy read is unavailable. Set repository_access explicitly.");return n.repository_access??=r,delete n.workspace,n}async function Hj(e,t,n){return u(await l.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function _d(e,t){return u(await l.put(`/projects/${e}/default-agent`,{agent:t}))}var bd="Use createPerSeatCheckout().";function Sd(){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 $x(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function Xj(e){let t=e?.plan;if(t)return{family:t.family,label:t.label,sublabel:t.sublabel??null,isGrandfathered:t.is_grandfathered===!0};let n=e??Sd(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:$x(r),label:s,sublabel:null,isGrandfathered:!1}}async function Pd(e){let t=await l.get(e,{showErrors:!1}),n=t.error?.status===404&&/billing is not enabled/i.test(t.error.message||"");if(t.error&&t.error.status!==401&&!n)throw t.error;return t.error?Sd():t.data}function xd(e){let t=new URLSearchParams;e?.skipCache&&t.set("skip_cache","true"),e?.accountId&&t.set("account_id",e.accountId);let n=t.toString();return n?`?${n}`:""}async function wd(e){return Pd(`/billing/account-state${xd(e)}`)}async function vd(e){return Pd(`/billing/account-state/minimal${xd(e)}`)}async function Ad(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.limit!=null&&t.set("limit",String(e.limit)),e?.offset!=null&&t.set("offset",String(e.offset)),e?.typeFilter&&t.set("type_filter",Array.isArray(e.typeFilter)?e.typeFilter.join(","):e.typeFilter);let n=t.toString();return u(await l.get(`/billing/transactions${n?`?${n}`:""}`))}async function kd(e){let t=new URLSearchParams;e?.accountId&&t.set("account_id",e.accountId),e?.days!=null&&t.set("days",String(e.days));let n=t.toString();return u(await l.get(`/billing/transactions/summary${n?`?${n}`:""}`))}async function Rd(){return u(await l.get("/billing/credit-breakdown"))}async function Cd(e){let t=e!=null?`?days=${e}`:"";return u(await l.get(`/billing/usage-history${t}`))}async function Td(){return u(await l.get("/billing/tier-configurations"))}async function Zj(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return Dt(e,`/v1/billing/account-state${t}`)}async function Ed(e){throw G("createCheckoutSession",bd)}async function Id(e,t){throw G("confirmCheckoutSession",bd)}async function Md(e,t){return u(await l.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Od(e,t){return u(await l.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function Dd(e){return u(await l.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function jd(e,t,n){throw G("scheduleDowngrade","Change the plan in the Stripe customer portal (createPortalSession()).")}async function Ld(e){return u(await l.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function $d(e,t){let n=new URLSearchParams({new_price_id:e});return t&&n.set("account_id",t),u(await l.get(`/billing/proration-preview?${n.toString()}`),"Failed to load proration preview")}async function Bd(e){return u(await l.post("/billing/purchase-credits",{amount:e.amount,account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl}),"Failed to purchase credits")}async function Ud(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return u(await l.get(`/billing/auto-topup/settings${t}`),"Failed to load auto-topup settings")}async function eL(e){return u(await l.post(`/accounts/${encodeURIComponent(e)}/top-up-requests`,{}),"Failed to ask the owners for credits")}async function Fd(e){return u(await l.post("/billing/auto-topup/configure",{account_id:e.accountId,enabled:e.enabled,threshold:e.threshold,amount:e.amount},{showErrors:!1}),"Failed to configure auto-topup")}async function tL(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return u(await l.get(`/billing/auto-topup/setup-status${t}`,{timeout:8e3,showErrors:!1}),"Failed to load auto-topup setup status")}async function nL(e){return u(await l.post("/billing/create-per-seat-checkout",{account_id:e.accountId,success_url:e.successUrl,cancel_url:e.cancelUrl,locale:e.locale}),"Failed to create per-seat checkout")}async function rL(e){return u(await l.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function sL(e){return u(await l.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function Nd(e={}){let t=new URLSearchParams;e.start&&t.set("start",e.start),e.end&&t.set("end",e.end),(e.groupBy==="model"||e.groupBy==="provider"||e.groupBy==="day")&&t.set("group_by",e.groupBy),e.accountId&&t.set("account_id",e.accountId);let n=t.toString();return u(await l.get(`/usage${n?`?${n}`:""}`))}function Io(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function zr(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function Yr(e){return e.size>0?`?${e}`:""}async function Gd(e={}){let t=new URLSearchParams;return Io(t,e),e.ownerId&&t.set("owner_id",e.ownerId),zr(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),u(await l.get(`/usage/session-costs${Yr(t)}`))}async function Jr(e,t={}){let n=new URLSearchParams;return Io(n,t),u(await l.get(`/usage/session-costs/${encodeURIComponent(e)}${Yr(n)}`))}async function uL(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),zr(t,e),e.sort&&t.set("sort",e.sort),e.limit!=null&&t.set("limit",String(e.limit)),e.offset!=null&&t.set("offset",String(e.offset)),u(await l.get(`/usage/cost-by-project${Yr(t)}`))}async function pL(e={}){let t=new URLSearchParams;return Io(t,e),e.sessionId&&t.set("session_id",e.sessionId),zr(t,e),u(await l.get(`/usage/cost-summary${Yr(t)}`))}function qd(e,t={}){let n=new URLSearchParams;if(t.accountId&&n.set("account_id",t.accountId),t.projectId&&n.set("project_id",t.projectId),e==="sessions"){let s=t;s.ownerId&&n.set("owner_id",s.ownerId)}zr(n,t),t.sort&&n.set("sort",t.sort),n.set("format","csv");let r=e==="projects"?"/usage/cost-by-project":"/usage/session-costs";return`${C().backendUrl||""}${r}?${n}`}async function dL(e,t={}){let n=qd(e==="projects"?"projects":"sessions",t),r=await $e(n,{method:"GET"},{timeoutMs:10*6e4},"Failed to export CSV"),s=r.headers.get("x-beeuni-row-cap"),o=s!=null?Number(s):NaN;return{blob:await r.blob(),rowCap:Number.isFinite(o)?o:null}}async function Wd(e,t){return u(await l.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function yL(e){return Wd("slack",e)}function hL(e){return Wd("teams",e)}async function Kd(e,t){return u(await l.post(`/channels/${e}/identity/preview`,{token:t},{showErrors:!1}),"This link is invalid or has expired")}function _L(e){return Kd("slack",e)}function bL(e){return Kd("teams",e)}async function Vd(e){let t=await l.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function Hd(e,t){return u(await l.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var Bx={oauth_available:!1,install_url:null};async function zd(e){let t=await l.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?Bx:t.data}async function Yd(e,t,n){return u(await l.post(`/projects/${encodeURIComponent(t)}/channels/${e}/oauth/complete`,{code:n.code,state:n.state},{showErrors:!1}),"Failed to finish the install")}function Jd(e,t){return Yd("slack",e,t)}function Qd(e,t){return Yd("teams",e,t)}async function Xd(e){return u(await l.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function Zd(e){let t=await l.delete(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});if(!t.success)throw new Error(t.error?.message??"Failed to disconnect")}async function eg(e,t){return u(await l.get(`/projects/${encodeURIComponent(e)}/channels/slack/file?url=${encodeURIComponent(t)}`,{showErrors:!1}),"Failed to download Slack file")}async function tg(e,t){return u(await l.post(`/projects/${encodeURIComponent(e)}/channels/slack/file/upload`,{channel:t.channel,filename:t.filename,content_base64:t.contentBase64,comment:t.comment,thread_ts:t.threadTs},{showErrors:!1}),"Failed to upload Slack file")}function Mo(e){let t=e.connectionId??e.connection_id??null,n=e.connectorSlug??e.connector_slug??e.connectionSlug??e.connection_slug??"beeuni_email";return{...e,connectionId:t,connectorSlug:n}}var Ux={provider:"agentmail",managed_available:!1};async function ng(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await l.get(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});return r.success&&r.data?Mo(r.data):null}async function rg(e){let t=await l.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?Ux:t.data}async function sg(e,t){let n=u(await l.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Mo(n)}async function og(e,t){let n=t?`?connector_slug=${encodeURIComponent(t)}`:"",r=await l.delete(`/projects/${encodeURIComponent(e)}/channels/email/installation${n}`,{showErrors:!1});if(!r.success)throw new Error(r.error?.message??"Failed to disconnect email")}async function ig(e,t,n){let r=u(await l.patch(`/projects/${encodeURIComponent(e)}/channels/email/installation`,{connector_slug:t??"beeuni_email",sender_policy:n},{showErrors:!1}),"Failed to update email policy");return Mo(r)}async function SL(e){return u(await l.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function PL(e,t,n){return u(await l.patch(`/projects/${encodeURIComponent(e)}/channels/bindings/${encodeURIComponent(t)}`,n,{showErrors:!1}),"Failed to update channel binding")}async function ag(e){return u(await l.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function cg(e,t){return u(await l.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function lg(e){return u(await l.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ug(e,t){return u(await l.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function pg(e,t){let n=new URLSearchParams;t?.limit&&n.set("limit",String(t.limit)),t?.offset&&n.set("offset",String(t.offset)),t?.ok!==void 0&&n.set("ok",String(t.ok));let r=n.toString();return u(await l.get(`/projects/${e}/gateway/logs${r?`?${r}`:""}`),"Gateway request failed")}async function dg(e,t){return u(await l.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function gg(e,t){return u(await l.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function mg(e,t){return u(await l.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function fg(e,t){return u(await l.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function yg(e,t){return u(await l.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function hg(e,t){return u(await l.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function _g(e){return u(await l.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function bg(e,t){return u(await l.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Sg(e,t){return u(await l.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function Pg(e){return u(await l.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function xg(e,t){return u(await l.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function wg(e,t){return u(await l.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function vg(e,t,n,r,s){return u(await l.post(`/projects/${e}/gateway/playground`,{prompt:t,models:n,...r?{system:r}:{},...s&&Object.keys(s).length?{generationConfig:s}:{}}),"Gateway request failed")}async function AL(e,t){return u(await l.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function CL(){throw G("getReferralCode")}async function TL(){throw G("refreshReferralCode")}async function EL(e){throw G("validateReferralCode")}async function IL(){throw G("getReferralStats")}async function ML(e={}){throw G("listReferrals")}async function OL(e){throw G("sendReferralEmails")}var Oo="call:";function kg(e){return e.startsWith("cr:")&&e.length>3?{type:"change_request",changeRequestId:e.slice(3)}:e.startsWith(Oo)&&e.length>Oo.length?{type:"connector_call",executionId:e.slice(Oo.length)}:{type:"review_item",reviewItemId:e}}function Fx(e){return e==="needs_you"?"needs_you":e==="waiting"?"waiting":"done"}function jL(e){let t={needs_you:0,waiting:0,done:0};for(let n of e)t[Fx(n.status)]+=1;return t}function LL(e){switch(e){case"approved":return"approve";case"rejected":return"reject";case"changes_requested":return"changes";case"done":return"answer";case"dismissed":return"dismiss";default:return null}}function Do(e){return e.split(/[._-]/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Rg(e){let t=e.indexOf(".");return t<=0?Do(e):`(${Do(e.slice(0,t))}) ${Do(e.slice(t+1))}`}function Nx(e){let t=e.indexOf(".");return t>0?{connector:e.slice(0,t),action:e.slice(t+1)}:{connector:e,action:""}}var Qr=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{},U=e=>typeof e=="string"&&e?e:void 0,Ee=e=>Array.isArray(e)?e:void 0,Ag=e=>typeof e=="number"?e:0,qx=e=>e.split(`
14
+ `).map(t=>t.trim()).filter(Boolean);function Gx(e,t){let n=Qr(e.advanced),r=U(e.description),s=Ee(e.whatChanged)??(r?qx(r):t.summary?[t.summary]:[]);return{crId:U(e.cr_id),number:typeof e.number=="number"?e.number:void 0,whatChanged:s,impact:U(e.impact)??"",verification:Ee(e.verification)??[],previewUrl:U(e.previewUrl)??U(e.preview_url),conflicts:Ee(e.conflicts),requestedChanges:Ee(e.requested_changes)??[],advanced:{headRef:U(n.headRef)??U(e.head_ref)??"",baseRef:U(n.baseRef)??U(e.base_ref)??"",headSha:U(n.headSha)??U(e.head_sha)??U(e.head_commit_sha)??"",baseSha:U(n.baseSha)??U(e.base_sha)??"",additions:Ag(n.additions),deletions:Ag(n.deletions),files:Ee(n.files)??[],mergeMode:U(n.mergeMode)??"merge"}}}function Wx(e,t){let n=Ee(e.actions);if(n)return{actions:n.map((c,p)=>({id:U(c.id)??`${t.review_item_id}-${p}`,title:U(c.title)??"Action",connector:U(c.connector)??"",action:U(c.action)??"",consequence:U(c.consequence)??"",risk:U(c.risk)??t.risk,icon:U(c.icon)??"generic",argsPreview:Ee(c.argsPreview)??[],policySource:U(c.policySource)??"Requires approval",decided:c.decided==="approved"||c.decided==="denied"?c.decided:void 0}))};let r=U(e.action_path)??"",{connector:s,action:o}=Nx(r),i=Qr(e.args_preview),a=Object.keys(i).length>0;return{actions:[{id:U(e.execution_id)??t.review_item_id,title:r?Rg(r):t.title||"Run action",connector:s,action:o,consequence:"Runs against the real connector once you approve",risk:t.risk,icon:"generic",argsPreview:Object.entries(i).map(([c,p])=>({key:c,value:p==="[redacted]"?"Hidden credential":typeof p=="string"?p:JSON.stringify(p,null,2)})),actionPath:r,rawArgsPreview:a?i:void 0,reviewComplete:e.args_preview_complete===!0,previewAuthorized:e.args_preview_authorized!==!1,canResolve:typeof t.can_resolve=="boolean"?t.can_resolve:e.args_preview_authorized!==!1,...t.resolvers?{resolvers:t.resolvers}:{},approvalContext:U(e.approval_context),connectorRisk:U(e.risk)??null,policySource:"Requires approval"}]}}function Kx(e,t){return{artifactKind:U(e.artifactKind)??"document",artifactLabel:U(e.artifactLabel)??"Output",previewUrl:U(e.previewUrl)??U(e.preview_url),preview:U(e.preview),files:Ee(e.files),note:U(e.note)??t.summary??""}}function Vx(e,t){return{question:U(e.question)??t.title??"",context:U(e.context),options:Ee(e.options)??[]}}function Hx(e,t){return{note:U(e.note)??t.summary??"",children:Ee(e.children)??[]}}function zx(e){let t=Qr(e.detail);switch(e.kind){case"change":return Gx(t,e);case"approval":return Wx(t,e);case"output":return Kx(t,e);case"decision":return Vx(t,e);case"batch":return Hx(t,e)}}function Yx(e,t){let n=typeof e.number=="number"?e.number:void 0,r=U(e.base_ref);return n!=null&&r?`#${n} \u2192 ${r}`:t}function $L(e,t={}){let n=Qr(e.detail),r=e.origin_session_id??void 0,s=r?t.sessionLabels?.[r]:void 0,o=e.kind==="approval"?U(n.action_path):void 0,i=e.kind==="change"?Yx(n,e.summary):e.kind==="approval"?s??(r?"From a running session":e.summary):e.summary;return{id:e.review_item_id,kind:e.kind,title:o?Rg(o):e.title,summary:i,risk:e.risk,status:e.status,source:e.source,agent:e.agent||"Agent",createdAt:e.created_at,sessionId:r,detail:zx(e)}}var ee={PROJECT_READ:"project.read",PROJECT_WRITE:"project.write",PROJECT_DELETE:"project.delete",PROJECT_SESSION_READ:"project.session.read",PROJECT_SESSION_START:"project.session.start",PROJECT_SESSION_STOP:"project.session.stop",PROJECT_SESSION_BINDINGS_WRITE:"project.session.bindings.write",PROJECT_MEMBERS_READ:"project.members.read",PROJECT_MEMBERS_MANAGE:"project.members.manage",PROJECT_TRIGGER_READ:"project.trigger.read",PROJECT_TRIGGER_CREATE:"project.trigger.create",PROJECT_TRIGGER_UPDATE:"project.trigger.update",PROJECT_TRIGGER_DELETE:"project.trigger.delete",PROJECT_TRIGGER_FIRE:"project.trigger.fire",PROJECT_GATEWAY_LOGS_READ:"project.gateway.logs.read",PROJECT_GATEWAY_SPEND_READ:"project.gateway.spend.read",PROJECT_USAGE_READ:"project.usage.read",PROJECT_GATEWAY_BUDGET_SET:"project.gateway.budget.set",PROJECT_GATEWAY_KEYS_MANAGE:"project.gateway.keys.manage",PROJECT_AGENT_READ:"project.agent.read",PROJECT_AGENT_WRITE:"project.agent.write",PROJECT_SKILL_READ:"project.skill.read",PROJECT_SKILL_WRITE:"project.skill.write",PROJECT_COMMAND_READ:"project.command.read",PROJECT_COMMAND_WRITE:"project.command.write",PROJECT_FILE_READ:"project.file.read",PROJECT_FILE_WRITE:"project.file.write",PROJECT_SETTINGS_WRITE:"project.settings.write",PROJECT_SANDBOX_WRITE:"project.sandbox.write",PROJECT_MODEL_READ:"project.model.read",PROJECT_MODEL_WRITE:"project.model.write",PROJECT_GITOPS_READ:"project.gitops.read",PROJECT_GITOPS_PUSH:"project.gitops.push",PROJECT_GITOPS_MERGE:"project.gitops.merge",PROJECT_GITOPS_REF_ANY:"project.gitops.ref.any",PROJECT_GITOPS_REF_DELETE:"project.gitops.ref.delete",PROJECT_SECRET_READ:"project.secret.read",PROJECT_SECRET_WRITE:"project.secret.write",PROJECT_CONNECTOR_READ:"project.connector.read",PROJECT_CONNECTOR_CONNECTIONS_MANAGE:"project.connector.connections.manage",PROJECT_CONNECTOR_WRITE:"project.connector.write",PROJECT_APP_READ:"project.app.read",PROJECT_APP_WRITE:"project.app.write",PROJECT_APP_DEPLOY:"project.app.deploy",PROJECT_APP_ADMIN:"project.app.admin",PROJECT_REVIEW_READ:"project.review.read",PROJECT_REVIEW_SUBMIT:"project.review.submit",PROJECT_REVIEW_ACT:"project.review.act",PROJECT_CREDENTIALS_ISSUE:"project.credentials.issue"},FL=[ee.PROJECT_WRITE,ee.PROJECT_TRIGGER_CREATE,ee.PROJECT_TRIGGER_FIRE,ee.PROJECT_TRIGGER_UPDATE,ee.PROJECT_TRIGGER_DELETE];function NL(e){let t=r=>e[r]?.allowed===!0,n=t(ee.PROJECT_WRITE);return{canCreate:n&&t(ee.PROJECT_TRIGGER_CREATE),canFire:t(ee.PROJECT_TRIGGER_FIRE),canUpdate:n&&t(ee.PROJECT_TRIGGER_UPDATE),canDelete:n&&t(ee.PROJECT_TRIGGER_DELETE)}}var qL=[ee.PROJECT_WRITE,ee.PROJECT_GITOPS_PUSH,ee.PROJECT_GITOPS_MERGE,ee.PROJECT_REVIEW_ACT];function Jx(e){let t=r=>e[r]?.allowed===!0,n=t(ee.PROJECT_WRITE);return{canOpen:n&&t(ee.PROJECT_GITOPS_PUSH),canMerge:n&&t(ee.PROJECT_GITOPS_MERGE),canClose:n}}function GL(e,t,n){let r=kg(e.id);if(r.type==="connector_call"){let s=e.kind==="approval"?e.detail.actions?.[0]:void 0;return(t==="approve"||t==="reject")&&s?.canResolve!==!1&&s?.previewAuthorized!==!1}if(r.type==="change_request"){if(t==="answer")return!1;if(t==="approve")return Jx(n).canMerge}return n[ee.PROJECT_WRITE]?.allowed===!0&&n[ee.PROJECT_REVIEW_ACT]?.allowed===!0}function B(e){return l.get(e,{showErrors:!1})}function k(e){return u(e,"Unexpected empty response")}async function Cg(e){return k(await B(`/accounts/${e}/iam/groups`)).groups}async function Tg(e,t){return k(await B(`/accounts/${e}/iam/groups/${t}`))}async function Eg(e,t){return k(await l.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Ig(e,t,n){return k(await l.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Mg(e,t){return k(await l.delete(`/accounts/${e}/iam/groups/${t}`))}async function Og(e,t){return k(await B(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Dg(e,t,n){return k(await l.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function JL(e,t){return k(await B(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function jg(e,t,n){return k(await l.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function QL(e,t){return k(await B(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function XL(e,t){let n=k(await B(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}function tt(e){let t=new URLSearchParams;for(let[r,s]of Object.entries(e))s&&t.set(r,String(s));let n=t.toString();return n?`?${n}`:""}async function r$(e,t={}){let n=tt({resourceType:t.resourceType,principalType:t.principalType,principalId:t.principalId,projectId:t.projectId});return k(await B(`/accounts/${e}/iam/resource-grants${n}`)).grants}async function c$(e,t={}){let n=tt({principalType:t.principalType,principalId:t.principalId,scopeType:t.scopeType,scopeId:t.scopeId===null?"null":t.scopeId});return k(await B(`/accounts/${e}/iam/policies${n}`)).policies}async function l$(e,t){return k(await l.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function u$(e,t,n){return k(await l.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function p$(e,t){return k(await l.delete(`/accounts/${e}/iam/policies/${t}`))}async function d$(e,t){return k(await l.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function g$(e,t){return k(await l.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Lg(e){return k(await B(`/accounts/${e}/iam/roles`)).roles}async function $g(e){return k(await B(`/accounts/${e}/iam/agent-identities`)).agents}async function Bg(e){return k(await l.get(`/projects/${e}/agent-identities`,{showErrors:!1})).agents}async function Ug(e,t){return k(await B(`/accounts/${e}/iam/roles/${t}/permissions`))}async function h$(e){return k(await B(`/accounts/${e}/iam/actions`)).actions}async function Fg(e,t){return k(await B(`/accounts/${e}/iam/roles/${t}/usage`))}async function Ng(e,t){return k(await l.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function qg(e,t,n){return k(await l.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Gg(e,t,n){return k(await l.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function Wg(e,t){return k(await l.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function _$(e,t,n){return k(await l.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function x$(e){return k(await B(`/accounts/${e}/iam/scim/tokens`)).tokens}async function w$(e,t){return k(await l.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function v$(e,t){return k(await l.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function C$(e){return k(await B(`/accounts/${e}/iam/mfa-required`))}async function T$(e){return k(await B(`/accounts/${e}/iam/mfa-required/preview`))}async function E$(e,t){return k(await l.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function I$(e){return k(await B(`/accounts/${e}/iam/session-oversight`))}async function M$(e,t){return k(await l.patch(`/accounts/${e}/iam/session-oversight`,{enabled:t},{showErrors:!1}))}async function L$(e){return k(await B(`/accounts/${e}/iam/sso/provider`)).provider}async function $$(e,t){return k(await l.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function B$(e){return k(await l.post(`/accounts/${e}/iam/sso/provider/verify-domain`,{},{showErrors:!1})).provider}async function U$(e){return k(await l.delete(`/accounts/${e}/iam/sso/provider`))}async function F$(e){return k(await B(`/accounts/${e}/iam/sso/mappings`)).mappings}async function N$(e,t){return k(await l.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function q$(e,t){return k(await l.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function V$(e){return k(await B(`/accounts/${e}/iam/session-policy`))}async function H$(e,t){return k(await l.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function z$(e){return k(await B(`/accounts/${e}/iam/sessions`)).sessions}async function Y$(e,t){return k(await l.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function J$(e){return k(await B(`/accounts/${e}/iam/pat-policy`))}async function Q$(e,t){return k(await l.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function t0(e){return k(await B(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function n0(e,t){return k(await l.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function r0(e,t){return k(await l.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function s0(e,t){return k(await l.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function l0(e){return k(await B(`/accounts/${e}/audit/webhooks`)).webhooks}async function u0(e,t){return k(await l.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function p0(e,t,n){return k(await l.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function d0(e,t){return k(await l.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function g0(e,t={}){let n=tt({action:t.action,actor:t.actor,project_id:t.project_id,session_id:t.session_id,actor_type:t.actor_type,source:t.source,credential_kind:t.credential_kind,phase:t.phase,outcome:t.outcome,request_id:t.request_id,correlation_id:t.correlation_id,resource_type:t.resource_type,since:t.since,until:t.until,q:t.q,cursor:t.cursor,limit:t.limit});return k(await B(`/accounts/${e}/audit${n}`))}async function Kg(e,t,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),k(await B(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Vg(e,t,n){return n.length===0?[]:k(await l.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function S0(e){return k(await B(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function P0(e,t){return k(await l.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Hg(e){return u(await l.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function zg(e,t){return u(await l.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function Yg(e,t){return u(await l.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function Jg(e,t,n){return u(await l.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function Qg(e,t){return u(await l.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function Xg(e,t){return u(await l.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function Qx(e){return tt({principal_type:e?.principalType,principal_id:e?.principalId,scope_type:e?.scopeType,scope_id:e?.scopeId,object_type:e?.objectType,object_id:e?.objectId,role_id:e?.roleId,include_expired:e?.includeExpired?"true":void 0})}async function Zg(e,t){return u(await B(`/accounts/${e}/iam/assignments${Qx(t)}`)).assignments}async function em(e,t){let n={principal_type:t.principal.type,principal_id:t.principal.id,scope_type:t.scope.type,scope_id:t.scope.type==="project"?t.scope.id:null};return t.roleId?n.role_id=t.roleId:n.role_key=t.roleKey,t.object&&(n.object_type=t.object.type,n.object_id=t.object.id),t.expiresAt!==void 0&&(n.expires_at=t.expiresAt),u(await l.post(`/accounts/${e}/iam/assignments`,n))}async function tm(e,t){return u(await l.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function nm(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return u(await B(`/accounts/${e}/iam/permissions${n}`)).permissions}async function Xx(){let e=await l.get("/account/deletion-status",{showErrors:!1});return e.error?.status===404?null:u(e,"Failed to load account deletion status")}async function Zx(e="User requested deletion"){return u(await l.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function ew(){return u(await l.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function tw(){return u(await l.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}var rm="Export the deck as PDF or PPTX with convertRuntimePresentation().";async function j0(e){throw G("getGoogleAuthUrl",rm)}async function L0(e,t){throw G("convertPresentationToGoogleSlides",rm)}async function sm(e,t){let n=new URLSearchParams;t?.segment&&n.set("segment",t.segment),t?.kind&&n.set("kind",t.kind),t?.sessionId&&n.set("session_id",t.sessionId),t?.limit!=null&&n.set("limit",String(t.limit)),t?.cursor&&n.set("cursor",t.cursor);let r=n.toString();return u(await l.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function om(e){return u(await l.get(`/projects/${e}/review/summary`,{showErrors:!1}))}async function im(e,t){return u(await l.get(`/projects/${e}/review/items/${t}`))}async function am(e,t){return u(await l.post(`/projects/${e}/review/items`,t))}async function cm(e,t,n){return u(await l.post(`/projects/${e}/review/items/${t}/act`,n))}async function lm(e,t){return u(await l.post(`/projects/${e}/review/bulk`,t))}async function um(e){return u(await l.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function pm(e){return u(await l.post("/p/share",{sandbox_id:e.sandboxId,port:e.port,ttl:e.ttl,label:e.label}),"Failed to generate public URL")}async function dm(e,t){let n=await l.delete(`/p/share/${encodeURIComponent(t)}?sandbox_id=${encodeURIComponent(e)}`);if(!n.success)throw new Error(n.error?.message??"Failed to revoke public link")}var jo=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function gm(e,t=""){return`${_n()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function mm(e){let t=await fetch(e,{method:"GET",headers:{Accept:"application/json"}}),n=await t.text().catch(()=>""),r=null;try{r=n?JSON.parse(n):null}catch{}if(!t.ok){let s=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)||t.statusText||`HTTP ${t.status}`;throw new jo(s,t.status)}return r}async function K0(e){return mm(gm(e))}async function V0(e){return mm(gm(e,"/messages"))}async function fm(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/reminders`))}async function ym(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/reminders`,n))}async function Lo(e,t,n,r){return u(await l.patch(`/projects/${e}/sessions/${t}/reminders/${n}`,r))}async function $o(e,t,n){return u(await l.delete(`/projects/${e}/sessions/${t}/reminders/${n}`))}var nw=4;async function hm(e,t){let n=new Array(e.length),r=0,s=async()=>{for(;r<e.length;){let i=r++;try{await t(e[i]),n[i]={ok:!0}}catch(a){n[i]={ok:!1,error:a}}}};await Promise.all(Array.from({length:Math.min(nw,e.length)},s));let o={done:[],failed:[]};return e.forEach((i,a)=>{let c=n[a];c.ok?o.done.push(i):o.failed.push({reminder:i,error:c.error})}),o}function _m(e,t,n){return hm(t,r=>Lo(e,r.sessionId,r.reminderId,n))}function bm(e,t){return hm(t,n=>$o(e,n.sessionId,n.reminderId))}async function Sm(e){return u(await l.get(`/projects/${e}/reminders`))}async function Pm(e,t){let n=new URLSearchParams;e&&n.set("account_id",e),t?.mine&&n.set("mine","true");let r=n.size>0?`?${n.toString()}`:"";return u(await l.get(`/accounts/tokens${r}`))}async function xm(e){let{accountId:t,expiresAt:n,projectId:r,name:s}=e;return u(await l.post("/accounts/tokens",{name:s,...t?{account_id:t}:{},...n?{expires_at:n}:{},...r?{project_id:r}:{}}))}async function wm(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return u(await l.delete(`/accounts/tokens/${e}${n}`))}async function vm(){return u(await l.get("/oauth/grants")).grants}async function Am(e){return u(await l.delete(`/oauth/grants/${encodeURIComponent(e)}`))}async function Z0(){return u(await l.get("/accounts/me/devices")).devices}async function eB(e){return u(await l.delete(`/accounts/me/devices/${encodeURIComponent(e)}`))}async function km(e){return u(await l.get(`/projects/${e}/cli-token`))}async function Rm(e,t){return u(await l.post(`/projects/${e}/cli-token`,t??{}))}async function Cm(e,t){return u(await l.delete(`/projects/${e}/cli-token/${t}`))}function Gt(e){let t=new URLSearchParams,n=" format action actor actor_type project_id session_id source credential_kind phase outcome resource_type request_id correlation_id since until q cursor limit ";for(let[r,s]of Object.entries(e))n.includes(` ${r} `)&&s!=null&&s!==""&&t.set(r,String(s));return t}function Bo(e={}){return{format:e.format,action:e.action,actor:e.actor,actor_type:e.actorType,project_id:e.projectId,session_id:e.sessionId,source:e.source,credential_kind:e.credentialKind,phase:e.phase,outcome:e.outcome,resource_type:e.resourceType,request_id:e.requestId,correlation_id:e.correlationId,since:e.since,until:e.until,q:e.q,cursor:e.cursor,limit:e.limit}}async function Tm(e,t){let n=Gt(Bo(t)).toString();return u(await l.get(`/accounts/${e}/audit${n?`?${n}`:""}`))}async function Em(e,t){let n=Gt(Bo({...t,projectId:void 0})).toString();return u(await l.get(`/projects/${e}/audit${n?`?${n}`:""}`))}async function Im(e,t){let n=Gt(Bo(t)).toString();return u(await l.get(`/accounts/${e}/audit/export${n?`?${n}`:""}`))}async function Mm(e){return u(await l.get(`/accounts/${e}/audit/webhooks`))}async function Om(e,t){return u(await l.post(`/accounts/${e}/audit/webhooks`,t))}async function Dm(e,t,n){return u(await l.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function jm(e,t){return u(await l.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function Lm(e,t){return u(await l.post(`/projects/${e}/secret-requests`,{names:t.names,labels:t.labels,descriptions:t.descriptions,scope:t.scope,expires_in_minutes:t.expiresInMinutes}),"Failed to mint secret-entry link")}async function $m(e,t){return u(await l.post(`/projects/${e}/connect-requests`,{slug:t.slug,...t.owner?{owner:t.owner}:{},...t.label?{label:t.label}:{},expires_in_minutes:t.expiresInMinutes}),"Failed to mint connect link")}async function lB(e){return u(await l.get(`/approval-links/${e}`),"Failed to load approval")}async function Bm(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString()?`?${t.toString()}`:"";return u(await l.get(`/marketplace/items${n}`))}async function Um(){return u(await l.get("/marketplace/marketplaces"))}async function Fm(){return u(await l.get("/marketplace/marketplaces/featured"))}async function Nm(e){return u(await l.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function qm(e,t){return u(await l.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function Gm(){return u(await l.get("/marketplace/sources"))}async function Wm(e){return u(await l.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Km(e){return u(await l.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function gB(e,t){return u(await l.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function yB(e){throw G("getTemplate")}async function hB(e,t){throw G("installTemplate")}async function Vm(e){return u(await l.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function Hm(e,t){return u(await l.post(`/projects/${e}/apps`,t),"Failed to create App")}async function Uo(e,t){return u(await l.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function zm(e,t,n){return u(await l.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function Ym(e,t){return u(await l.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function Jm(e,t){return u(await l.post(`/projects/${e}/apps/${t}/token`,{}),"Failed to mint an App token")}async function Qm(e,t){let n=await Uo(e,t);if(!n.auth)throw new Error("This server does not report sign-in values for Apps.");let r=u(await l.get(`/projects/${e}/jwks.json`),"Failed to read the project key set"),s=new TextEncoder().encode(JSON.stringify(r)),o="";for(let i of s)o+=String.fromCharCode(i);return{BEEUNI_AUTH_ISSUER:n.auth.issuer,BEEUNI_AUTH_AUDIENCE:n.auth.audience,BEEUNI_AUTH_JWKS:`data:application/json;base64,${btoa(o)}`}}async function Xm(e,t){return u(await l.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function Zm(e,t){return u(await l.get(`/projects/${e}/apps/${t}/agents`),"Failed to load the agents with access to this App").agents}async function ef(e,t,n){return u(await l.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function tf(e,t){return u(await l.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function Fo(e,t){return u(await l.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function No(e,t,n){return u(await l.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function rw(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function sw(e){let t=Uint8Array.from(e),n=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return Array.from(new Uint8Array(n),r=>r.toString(16).padStart(2,"0")).join("")}async function nf(e,t,n={}){let r=await rw(t),s=n.mediaType??"application/gzip",o=await Fo(e,{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 i=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(!i.ok){let a=await i.text().catch(()=>"");throw new Error(`App artifact upload failed with HTTP ${i.status}${a?`: ${a}`:""}`)}return n.onProgress?.(r.byteLength,r.byteLength),No(e,o.artifact.artifact_id,{sha256:await sw(r),size_bytes:r.byteLength})}async function rf(e,t,n){return u(await l.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function sf(e,t){return u(await l.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function of(e,t,n){return u(await l.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function af(e,t,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 u(await l.get(`/projects/${e}/apps/${t}/deployments/${n}/logs${o}`),"Failed to load App logs")}async function cf(e,t){return u(await l.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function lf(e,t){return u(await l.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function uf(e,t,n){return u(await l.delete(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to delete App deployment")}async function pf(e,t,n){return u(await l.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}var be=(e,t)=>`/projects/${e}/apps/${t}`;async function df(e,t){return u(await l.get(`${be(e,t)}/machines`),"Failed to list machines").machines}async function qo(e,t,n,r){return u(await l.post(`${be(e,t)}/machines/${n}/${r}`,{}),`Failed to ${r} the machine`).machines}var gf=(e,t,n)=>qo(e,t,n,"start"),mf=(e,t,n)=>qo(e,t,n,"stop"),ff=(e,t,n)=>qo(e,t,n,"restart");async function yf(e,t,n){return u(await l.delete(`${be(e,t)}/machines/${n}`),"Failed to destroy the machine").machines}async function hf(e,t,n,r={}){return u(await l.put(`${be(e,t)}/scale`,{count:n,...r.newVolumes?{new_volumes:!0}:{}}),"Failed to scale the App")}async function _f(e,t,n){return u(await l.post(`${be(e,t)}/exec`,n),"Failed to run the command")}async function bf(e,t){return u(await l.get(`${be(e,t)}/volumes`),"Failed to list volumes").volumes}async function Sf(e,t,n){return u(await l.post(`${be(e,t)}/volumes`,n),"Failed to create the volume")}async function Pf(e,t,n,r){return u(await l.patch(`${be(e,t)}/volumes/${n}`,r),"Failed to update the volume")}async function xf(e,t,n,r){u(await l.delete(`${be(e,t)}/volumes/${n}?confirm=${encodeURIComponent(r)}`),"Failed to destroy the volume")}async function wf(e,t,n){return u(await l.get(`${be(e,t)}/volumes/${n}/snapshots`),"Failed to list snapshots").snapshots}async function vf(e,t,n){return u(await l.post(`${be(e,t)}/volumes/${n}/snapshots`,{}),"Failed to take the snapshot")}async function Af(e,t,n,r){return u(await l.post(`${be(e,t)}/volumes/${n}/restore`,{snapshot_id:r}),"Failed to restore the volume")}async function kf(e,t,n,r){return u(await l.post(`${be(e,t)}/volumes/${n}/fork`,r),"Failed to fork the volume")}function me(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}var fe=e=>`/drives/${encodeURIComponent(e)}`;async function IB(e){let t=u(await l.get(`/drives?${new URLSearchParams({projectId:e})}`),"Failed to load files").drives;if(!t[0])throw new x("Files not found",{status:404});return t[0]}async function MB(e,t){return u(await l.get(`${fe(e)}/access?${new URLSearchParams({path:t})}`),"Failed to load sharing")}async function OB(e,t){return u(await l.put(`${fe(e)}/access`,t),"Failed to share folder")}async function DB(e,t){let n=u(await l.delete(`${fe(e)}/access/${encodeURIComponent(t)}`),"Failed to stop sharing");return{pendingSessions:typeof n?.pendingSessions=="number"?n.pendingSessions:0}}async function jB(e){return u(await l.get(`${fe(e)}/principals`),"Failed to load people")}async function LB(e){return u(await l.get(`${fe(e)}/conflicts`),"Failed to load conflicts").conflicts}async function $B(e,t){u(await l.post(`${fe(e)}/conflicts/${encodeURIComponent(t)}/dismiss`,{}),"Failed to dismiss conflict")}async function BB(e,t="/"){return(await ow(e,t)).entries}async function ow(e,t="/"){return u(await l.get(`${fe(e)}/files?${new URLSearchParams({path:t})}`),"Failed to load files")}function Rf(e,t,n){let r=me(C().backendUrl),s={path:t};return n?.download&&(s.download="1"),`${r}${fe(e)}/files/content?${new URLSearchParams(s)}`}async function UB(e,t,n){let r=await j(Rf(e,t),{signal:n});if(!r.ok){let s=await r.json().catch(()=>null);throw new x(s?.message||"Could not download file",{status:r.status})}return r.blob()}async function FB(e,t,n){let r=await j(Rf(e,t),{signal:n});if(!r.ok){let s=await r.json().catch(()=>null);throw new x(s?.message||"Could not download file",{status:r.status})}return{blob:await r.blob(),version:r.headers.get("etag")}}async function NB(e,t,n,r){return u(await l.putRaw(`${fe(e)}/files/content?${new URLSearchParams({path:t})}`,n,{signal:r?.signal,...r?.ifMatch?{headers:{"If-Match":r.ifMatch}}:{}}),"Failed to upload file")}async function qB(e,t){return u(await l.post(`${fe(e)}/files/mkdir`,{path:t}),"Failed to create folder")}async function GB(e,t,n){return u(await l.post(`${fe(e)}/files/move`,{from:t,to:n}),"Failed to move")}async function WB(e,t,n){let r={path:t};n?.recursive&&(r.recursive="true"),u(await l.delete(`${fe(e)}/files?${new URLSearchParams(r)}`),"Failed to delete")}async function KB(e){return u(await l.get(`${fe(e)}/versions`),"Failed to load versions").versions}async function VB(e,t){u(await l.post(`${fe(e)}/restore`,{versionId:t}),"Failed to restore version")}var iw=(e,t)=>`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/drives`;async function HB(e,t){return(await aw(e,t)).drives}async function aw(e,t){return u(await l.get(iw(e,t)),"Failed to load session files")}async function Cf(e){return u(await l.post("/notifications/device-token",e))}async function Tf(e,t){return u(await l.delete(`/notifications/device-token/${encodeURIComponent(e)}`,{signal:t?.signal}))}var QB=["turn_done","turn_error","question","permission","shared","automation_failed","automation_recovered","capture_device_down","capture_device_recovered"];async function Ef(e={},t){let n=new URLSearchParams;e.limit!==void 0&&n.set("limit",String(e.limit)),e.before&&n.set("before",e.before);let r=n.toString();return u(await l.get(`/notifications${r?`?${r}`:""}`,{showErrors:!1,signal:t?.signal}))}async function If(e){let t="ids"in e?{ids:e.ids}:"all"in e?{all:!0}:{session_id:e.sessionId};return u(await l.post("/notifications/read",t))}var XB={turn_done:{push:!0,email:!1},turn_error:{push:!0,email:!0},question:{push:!0,email:!0},permission:{push:!0,email:!1},shared:{push:!0,email:!0},automation_failed:{push:!0,email:!0},automation_recovered:{push:!0,email:!1},capture_device_down:{push:!0,email:!0},capture_device_recovered:{push:!0,email:!1}};async function Mf(){return u(await l.get("/notifications/preferences",{showErrors:!1}))}async function Of(e){return u(await l.put("/notifications/preferences",e))}async function Df(){return u(await l.get("/notifications/web-push/key",{showErrors:!1}))}async function jf(e){let t={endpoint:e.endpoint,keys:{p256dh:e.keys.p256dh,auth:e.keys.auth}};return u(await l.post("/notifications/web-push/subscriptions",t,{showErrors:!1}))}async function Lf(e,t){return u(await l.delete(`/notifications/web-push/subscriptions?endpoint=${encodeURIComponent(e)}`,{signal:t?.signal,showErrors:!1}))}async function Xr(e){return u(await l.get(`/projects/${e}/model-access`))}async function Zr(e,t){return u(await l.put(`/projects/${e}/model-access`,t))}function rU(e){let{running:t,isCarousel:n,contentStatus:r,isWebsitePreview:s,previewHasError:o,previewIsLinkOnly:i}=e;return t||n?!1:s?o&&!i:r==="error"}function Go(e){return typeof e=="string"&&e.trim().length>0}function $f(e){if(!e||typeof e!="object")return!1;let{path:t,url:n,content:r}=e;return Go(t)||Go(n)||Go(r)}function cw(e){if(Array.isArray(e))return e.length>0?e:null;if(typeof e!="string"||!e.trim())return null;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:null}catch{return null}}function es(e){if(!e)return!0;let t=cw(e.items);return t?!t.some($f):!$f(e)}var Ie="beeuni.transcript.v1",lw=["auth","rate_limit","credits","context_length","output_length","aborted","unknown"];function Bf(e){return typeof e=="string"&&lw.includes(e)}var oU=["once","always","reject"],iU=["read","edit","glob","grep","list","bash","task","external_directory","todowrite","question","webfetch","websearch","lsp","doom_loop","skill"];var Nf="beeuni-v1-import",uw={harness:Nf,harness_version:Ie,adapter_version:"1"},Wo={schema:pe,v:1},pw={opencode:"[Tool execution was interrupted]",pi:"No result provided"},dw="[Old tool result content cleared]",gw="The following tool was executed by the user",mw=new Map(Object.entries({bash:"shell",powershell:"shell",read:"read",write:"write",edit:"edit",multiedit:"edit",patch:"patch",apply_patch:"patch",list:"list",ls:"list",glob:"glob",find:"glob",grep:"grep",webfetch:"web_fetch",websearch:"web_search",codesearch:"web_search",todowrite:"todo",todoread:"todo",task:"task",question:"question",plan_enter:"plan",plan_exit:"plan"})),fw=e=>mw.get(e)??(e.includes("_")?"mcp":"other"),yw=new Map([["stop","stop"],["tool-calls","tool_calls"],["length","length"],["error","error"]]),hw=new Map([["stop","stop"],["tool_calls","tool-calls"],["length","length"],["error","error"]]),F=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Q=e=>typeof e=="string"?e:void 0,We=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,ss=(e,t)=>Object.hasOwn(e,t)?e[t]:void 0,qf=(e,t,n)=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}),Wt=e=>We(e)!==void 0&&Math.abs(e)<=864e13?new Date(e).toISOString():null,Kt=e=>{let t=e?Date.parse(e):NaN;return Number.isNaN(t)?void 0:t};function Ko(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((r,s)=>Ko(r,t[s]));if(!F(e)||!F(t))return!1;let n=Object.keys(e).filter(r=>e[r]!==void 0);return n.length===Object.keys(t).filter(r=>t[r]!==void 0).length&&n.every(r=>Ko(e[r],ss(t,r)))}function ns(e,t){if(Ko(e,t))return;if(e===void 0)return{del:!0};if(!F(e)||!F(t))return{set:e};let n={};for(let r of new Set([...Object.keys(e),...Object.keys(t)])){let s=ns(ss(e,r),ss(t,r));s&&qf(n,r,s)}return{sub:n}}function rs(e,t){if(!t)return e;if("set"in t)return t.set;if("del"in t)return;let n=F(e)?{...e}:{};for(let[r,s]of Object.entries(t.sub)){let o=rs(ss(n,r),s);o===void 0?delete n[r]:qf(n,r,o)}return n}var bn=e=>Object.values(e??{}).find(t=>t.version===Ie),os=(e,t)=>({[e]:{version:Ie,...t}}),Gf=(e,t)=>e.url!==void 0?{url:e.url}:e.ref!==void 0&&!t.fromV1?{url:e.ref}:{},Uf=e=>(e??[]).flatMap(t=>t.type==="text"?[t.text]:[]).join(""),_w=(e,t)=>({id:e.id,...t.sessionID!==null&&{sessionID:t.sessionID},messageID:t.messageID}),bw=e=>{if(F(e.result?.details))return e.result.details;let t=Object.values(e.ext??{}).find(n=>n.version!==Ie&&F(n.data?.details));return t?t.data.details:{}};function Sw(e,t,n){let r=e.result,s=e.input===null||e.input===void 0?{}:{input:e.input},o=Kt(e.started_at)??t.created,i=Kt(e.ended_at)??o,a=r?.exit_code!==void 0?{exit:r.exit_code}:{};if(e.status==="pending")return{status:"pending",input:e.input??{},raw:""};if(e.status==="running")return{status:"running",input:e.input??{},...e.title&&{title:e.title},time:{start:o}};if(e.status==="error")return{status:"error",...s,error:Uf(r?.content),...r?.exit_code!==void 0&&{metadata:a},time:{start:o,end:i}};let c=(r?.content??[]).flatMap((d,g)=>d.type==="attachment"?[{...n,id:`${e.id}-a${g}`,type:"file",mime:d.mime,...Gf(d,t)}]:[]),p=Kt(r?.cleared_at);return{status:"completed",...s,output:Uf(r?.content),title:e.title??"",metadata:{...bw(e),...a},time:{start:o,end:i,...p!==void 0&&{compacted:p}},...c.length&&{attachments:c}}}function Wf(e,t){let n=_w(e,t);switch(e.type){case"text":return{...n,type:"text",text:e.text,...e.synthetic!==void 0&&{synthetic:e.synthetic}};case"reasoning":return{...n,type:"reasoning",text:e.text,time:{start:t.created}};case"attachment":return{...n,type:"file",mime:e.mime,...e.name!==void 0&&{filename:e.name},...Gf(e,t)};case"tool_call":return{...n,type:"tool",callID:e.call_id,tool:e.name,state:Sw(e,t,{...t.sessionID!==null&&{sessionID:t.sessionID},messageID:t.messageID})};case"step":return e.phase==="start"?{...n,type:"step-start"}:{...n,type:"step-finish",reason:"stop",cost:0,tokens:{input:0,output:0,reasoning:0,cache:{read:0,write:0}}};case"compaction":return{...n,type:"compaction",auto:e.trigger==="auto"||e.trigger==="overflow",...e.trigger==="overflow"&&{overflow:!0},...e.first_kept_message_id!==null&&{tail_start_id:e.first_kept_message_id}};case"harness":return t.fromV1&&(e.harness==="opencode"||e.harness==="pi")?e.data:e.model_visible&&e.fallback_text!==void 0?{...n,type:"text",text:e.fallback_text,synthetic:!0}:void 0;case"subtask":return}}function Pw(e){return Bf(e.code)?{name:e.code==="aborted"?"MessageAbortedError":"UnknownError",code:e.code,data:{message:e.message}}:{name:e.code,data:{message:e.message}}}function Kf(e,t,n={}){let r=e.usage,s=e.finish===null?void 0:hw.get(e.finish);return{id:e.message_id,...t.sessionID!==null&&{sessionID:t.sessionID},role:"assistant",time:{created:t.created,...e.completed_at!==null&&{completed:Kt(e.completed_at)}},...e.reply_to&&{parentID:e.reply_to},modelID:e.model?.model??"",providerID:e.model?.provider??"",...e.model?.variant!==void 0&&{variant:e.model.variant},mode:e.agent??"",agent:e.agent??"",path:{cwd:"",root:""},cost:r?.cost??0,tokens:{input:r?.input??0,output:r?.output??0,reasoning:r?.reasoning??0,cache:{read:r?.cache_read??0,write:r?.cache_write??0}},...s&&{finish:s},...e.error&&{error:Pw(e.error)},...n}}function Vf(e,t){return e.role==="assistant"?Kf(e,t):{id:e.message_id,...t.sessionID!==null&&{sessionID:t.sessionID},role:"user",time:{created:t.created},agent:e.agent??"",model:{providerID:e.model?.provider??"",modelID:e.model?.model??"",...e.model?.variant!==void 0&&{variant:e.model.variant}}}}function Hf(e,t,n){let r=`${e.message_id}-summary`;return{info:Kf({...e,reply_to:e.message_id,agent:"compaction",finish:e.status==="complete"?"stop":null},n,{id:r,summary:!0}),parts:[{id:`${r}-p0`,...n.sessionID!==null&&{sessionID:n.sessionID},messageID:r,type:"text",text:t.summary}]}}function xw(e,t,n){let r=n||e.producer.harness===Nf;if(!r&&(e.role==="system"||e.kind==="context"))return[];let s=bn(e.ext)?.data,o=s&&"runtime_session_id"in s?s.runtime_session_id??null:t,i={sessionID:o,messageID:e.message_id,created:Kt(e.created_at),fromV1:r},a=s&&"parts"in s?s.parts:e.blocks.flatMap(d=>{let g=Wf(d,i);return g===void 0?[]:[rs(g,bn(d.ext)?.data)]}),c=[{runtime_session_id:o,info:rs(Vf(e,i),s?.info),parts:a}],p=e.blocks.find(d=>d.type==="compaction");if(e.kind==="compaction"&&p&&p.summary!==null){let d=rs(Hf(e,p,i),s?.summary);c.push({runtime_session_id:o,info:d.info,parts:d.parts})}return c}var Vo=e=>We(F(e.info)&&F(e.info.time)?e.info.time.created:void 0)??-1/0,ts=e=>String(F(e.info)?e.info.id:""),zf=(e,t)=>Vo(e)-Vo(t)||(ts(e)<ts(t)?-1:ts(e)>ts(t)?1:0),Ff=e=>{let t=bn(e.ext);return t?t.native_id??null:e.thread_id};function is(e){let t=structuredClone(e),n=t.threads.find(i=>i.parent_thread_id===null)??t.threads[0],r=t.threads.flatMap(i=>i.messages.flatMap(a=>xw(a,Ff(i),bn(i.ext)!==void 0))),s=bn(t.ext)?.data,o=s&&"root_id"in s?s.root_id??null:n?Ff(n):null;return{session_id:t.session_id,root_id:o,rows:r.sort(zf)}}function ww(e){let t=e.role==="assistant"?{p:e.providerID,m:e.modelID,v:e.variant}:F(e.model)?{p:e.model.providerID,m:e.model.modelID,v:e.model.variant}:{},n=Q(t.p),r=Q(t.m);return n===void 0||r===void 0?null:{provider:n,model:r,...Q(t.v)!==void 0&&{variant:t.v}}}function vw(e){if(!F(e.tokens))return null;let t=e.tokens,n=F(t.cache)?t.cache:{};return{input:We(t.input)??0,output:We(t.output)??0,cache_read:We(n.read)??0,cache_write:We(n.write)??0,...We(t.reasoning)!==void 0&&{reasoning:t.reasoning},...We(e.cost)!==void 0&&{cost:e.cost}}}var Aw=e=>({code:Q(e.code)||Q(e.name)||"UnknownError",message:Q(F(e.data)?e.data.message:void 0)??""});function Yf(e,t,n){let r=t.resolve(e);return r||n.attachment++,{mime:Q(e.mime)??"application/octet-stream",...r&&{ref:r.ref,bytes:r.bytes,...r.sha256!==void 0&&{sha256:r.sha256}},...Q(e.url)!==void 0&&{url:e.url}}}function kw(e,t,n,r){let s=e.state,o=F(s.time)?s.time:{};F(s.input)||r.tool_input++;let i=F(s.metadata)&&We(s.metadata.exit)!==void 0?{exit_code:s.metadata.exit}:{},a,c,p=s.input??null;if(s.status==="completed"){let m=(Array.isArray(s.attachments)?s.attachments:[]).filter(F).map(h=>{let{bytes:S,...E}=Yf(h,n,r);return{type:"attachment",...E}}),f=Wt(o.compacted);a="complete",c={content:[...Q(s.output)!==void 0?[{type:"text",text:s.output}]:[],...m],is_error:!1,...i,...f&&{model_content:[{type:"text",text:dw}],cleared_at:f}}}else if(s.status==="error"){let m=Q(s.error);a="error",c={content:m!==void 0?[{type:"text",text:m}]:[],is_error:!0,...m!==void 0&&{error:{message:m}},...i}}else if(n.live)a=s.status==="pending"?"pending":"running",a==="pending"&&Q(s.raw)&&!(F(s.input)&&Object.keys(s.input).length)&&(p=s.raw);else{let m=pw[n.h];a="error",c={content:[{type:"text",text:m}],is_error:!0,synthetic:!0,error:{code:"interrupted",message:m}}}let d=Wt(o.start),g=Wt(o.end);return{type:"tool_call",id:t,call_id:e.callID,name:e.tool,kind:fw(e.tool),input:p,status:a,...c&&{result:c},...Q(s.title)&&{title:s.title},...d&&{started_at:d},...g&&{ended_at:g}}}function Rw(e,t,n,r,s,o){let i=(a,c=!1)=>({type:"harness",id:t,harness:s.h,kind:a,data:e,model_visible:c,...c&&{fallback_text:gw}});if(!F(e))return i("unknown");switch(e.type){case"text":return typeof e.text!="string"||e.ignored===!0?i("text"):{type:"text",id:t,text:e.text,...typeof e.synthetic=="boolean"&&{synthetic:e.synthetic}};case"reasoning":return typeof e.text!="string"?i("reasoning"):{type:"reasoning",id:t,text:e.text};case"file":return e.mime==="text/plain"||e.mime==="application/x-directory"?i("file"):{type:"attachment",id:t,...Yf(e,s,o),...Q(e.filename)!==void 0&&{name:e.filename}};case"tool":return typeof e.callID=="string"&&typeof e.tool=="string"&&F(e.state)?kw(e,t,s,o):i("tool");case"step-start":case"step-finish":return{type:"step",id:t,phase:e.type==="step-start"?"start":"finish"};case"compaction":{if(e!==n)return i("compaction");let a=e.overflow===!0?"overflow":e.auto===!0?"auto":"manual";return{type:"compaction",id:t,summary:r,first_kept_message_id:Q(e.tail_start_id)??null,trigger:a}}case"subtask":return i("subtask",!0);default:return i(Q(e.type)||"unknown")}}function Cw(e){let t=e.map((s,o)=>F(s)&&typeof s.id=="string"&&s.id?s.id:`#${o}`),n=new Set(t),r=new Set;return t.map(s=>{if(!r.has(s))return r.add(s),s;let o=2;for(;n.has(`${s}#${o}`);)o++;return n.add(`${s}#${o}`),`${s}#${o}`})}function Tw(e,t,n,r,s,o){let i=F(e.info)?e.info:{},a=Array.isArray(e.parts)?e.parts:[],c=i.role==="user"?a.find(A=>F(A)&&A.type==="compaction"):void 0,p=t&&F(t.info)?t.info:void 0,d=i.role==="assistant"||i.role==="user"?i.role:"system",g=c?p:d==="assistant"?i:void 0,m=g&&F(g.error)?g.error:void 0,f=m?.name==="MessageAbortedError",h=g&&F(g.time)?Wt(g.time.completed):null,S=o.live?"streaming":"interrupted",E=g?m?f?"aborted":"error":h?"complete":S:c?S:"complete",L=Wt(F(i.time)?i.time.created:void 0)??"",D=t?(Array.isArray(t.parts)?t.parts:[]).flatMap(A=>F(A)&&A.type==="text"&&typeof A.text=="string"?[A.text]:[]).join(""):null,w={tool_input:0,cut_point:0,attachment:0},y=Cw(a),_=a.map((A,$)=>Rw(A,y[$],c,D,o,w)),R=_.some(A=>A.type==="text"||A.type==="attachment"||A.type==="tool_call"||A.type==="harness"&&A.model_visible),v=!s&&d!=="system"&&(c?E==="complete":!m||f&&R),b=o.live&&v&&E!=="streaming"&&_.some(A=>A.type==="tool_call"&&(A.status==="pending"||A.status==="running"))?"streaming":E,P=s?"superseded":v||!m?void 0:f?"aborted":"failed_attempt";return c&&F(c)&&Q(c.tail_start_id)===void 0&&w.cut_point++,{m:{...Wo,message_id:Q(i.id)??"",thread_id:n,seq:r,role:d,kind:c?"compaction":"turn",status:b,in_context:v,...P&&{hidden_reason:P},agent:Q(i.agent)??null,...d==="assistant"&&{reply_to:Q(i.parentID)??null},model:ww(i),usage:g?vw(g):null,finish:!g||c?null:f?"aborted":m?"error":yw.get(i.finish)??null,error:m?Aw(m):null,created_at:L,completed_at:g||c?h:L||null,producer:uw,blocks:_},lost:w}}function Ew(e,t,n,r,s){let o={};t.runtime_session_id!==r&&(o.runtime_session_id=t.runtime_session_id);let i={sessionID:t.runtime_session_id,messageID:e.message_id,created:Kt(e.created_at),fromV1:!0};Array.isArray(t.parts)?e.blocks.forEach((p,d)=>{if(p.type==="harness"||p.type==="subtask")return;let g=ns(t.parts[d],Wf(p,i));g&&(p.ext=os(s,{data:g}))}):o.parts=t.parts;let a=ns(t.info,Vf(e,i));a&&(o.info=a);let c=e.blocks.find(p=>p.type==="compaction");if(n&&c){let p=ns({info:n.info,parts:n.parts},Hf(e,c,i));p&&(o.summary=p)}Object.keys(o).length&&(e.ext=os(s,{data:o}))}function Iw(e,t,n){if(t){for(let r of[!0,!1])for(let s of e)if(!(s.runtime_session_id===t||!Array.isArray(s.parts))){for(let o of s.parts)if(!(!F(o)||o.type!=="tool"||!F(o.state))&&(r?F(o.state.metadata)&&o.state.metadata.sessionId===t:n(o.state).includes(t)))return{row:s,part:o}}}}function as(e,t={}){let n={h:t.harness??"opencode",resolve:t.resolveAttachment??(()=>null),counts:{tool_input:0,cut_point:0,attachment:0},live:t.live===!0},r=structuredClone(e.rows).sort(zf),s=new Map;for(let w of r){let y=s.get(w.runtime_session_id);y?y.push(w):s.set(w.runtime_session_id,[w])}let o=e.root_id,i=s.has(o),a=new Map,c=w=>a.get(w)??(a.set(w,JSON.stringify(w)),a.get(w)),p=new Map;for(let w of s.keys()){let y=i&&w===o?void 0:Iw(r,w,c);y&&p.set(w,y)}let d=[...r].reverse().find(w=>w.runtime_session_id===null||!p.has(w.runtime_session_id)),g=i||!d?o:d.runtime_session_id;s.has(g)||s.set(g,[]);let m=g||e.session_id,f=w=>w!==null&&p.has(w)?w:m,h=Wt(r.map(Vo).find(Number.isFinite))??"",S=[];for(let[w,y]of s){if(w!==g&&(w===null||!p.has(w)))continue;let _=w===g,R=_?r.filter(T=>T.runtime_session_id!==g&&f(T.runtime_session_id)===m):[],v=[...R,...y],b=new Set(R),P=new Map,O=new Set;for(let T of v){let q=F(T.info)?T.info:{};if(q.role!=="user"||!Array.isArray(T.parts)||!T.parts.some(H=>F(H)&&H.type==="compaction"))continue;let W=v.find(H=>!O.has(H)&&H.runtime_session_id===T.runtime_session_id&&F(H.info)&&H.info.role==="assistant"&&H.info.summary===!0&&H.info.parentID===q.id);W&&(P.set(T,W),O.add(W))}let A=[];for(let T of v){if(O.has(T))continue;let q=P.get(T),{m:W,lost:H}=Tw(T,q,_?m:w,A.length+1,b.has(T),n);if(Ew(W,T,q,w,n.h),W.in_context)for(let ln of["tool_input","cut_point","attachment"])n.counts[ln]+=H[ln];A.push(W)}let $=w===null?void 0:p.get(w),N=A.find(T=>T.role==="user"&&T.kind==="turn");S.push({...Wo,thread_id:_?m:w,parent_thread_id:$?f($.row.runtime_session_id):null,spawned_by:$&&typeof $.part.callID=="string"?{message_id:Q($.row.info?.id)??"",call_id:$.part.callID}:null,agent:N?.agent??null,title:null,created_at:A[0]?.created_at||h,messages:A,ext:os(n.h,w===null?{}:{native_id:w})})}S.sort((w,y)=>w.parent_thread_id===null?-1:y.parent_thread_id===null?1:D(w)-D(y));let E=S[0]?.messages.filter(w=>w.role==="user"&&w.kind==="turn").at(-1),L=n.counts.tool_input+n.counts.cut_point+n.counts.attachment>0;return{...Wo,session_id:e.session_id,title:null,created_at:h,restore_grade:L?"partial":"converted",grade_counts:n.counts,harness:{current:n.h,history:[]},selection:{agent:E?.agent??null,model:E?.model??null},todos:[],pending:{questions:[],permissions:[]},threads:S,...g!==o&&{ext:os(n.h,{data:{root_id:o}})}};function D(w){return r.findIndex(y=>y.runtime_session_id===w.thread_id)}}var Ho={schema:pe,v:1},Mw=Object.freeze({}),Jf=new WeakMap;function cs(e){let t=Jf.get(e);if(t&&t.state===e.state)return t.block;let n=e.sessionID??null,r={id:e.messageID,sessionID:e.sessionID,role:"assistant"},o=as({session_id:"",root_id:n,rows:[{runtime_session_id:n,info:r,parts:[e]}]},{live:!0}).threads[0].messages[0].blocks[0];return Jf.set(e,{state:e.state,block:o}),o}var zo=new WeakMap;function Yo(e){if(zo.has(e))return zo.get(e);let t={...Ho,thread_id:"",parent_thread_id:null,spawned_by:null,agent:null,title:null,created_at:"",ext:{opencode:{version:Ie}},messages:[{...Ho,message_id:"",thread_id:"",seq:1,role:"assistant",kind:"turn",status:"complete",in_context:!0,model:null,usage:null,finish:null,error:null,created_at:"",completed_at:null,producer:{harness:"",harness_version:"",adapter_version:""},blocks:[e]}]},{rows:n}=is({...Ho,session_id:"",title:null,created_at:"",restore_grade:"native",harness:{current:"",history:[]},selection:{agent:null,model:null},todos:[],pending:{questions:[],permissions:[]},threads:[t]}),r=n[0].parts[0];return zo.set(e,r),r}function ie(e){return Yo(e)}var ye=e=>typeof e=="object"&&e!==null&&e.type==="tool_call",Ke=e=>ye(e)?ie(e):e;function Ow(e){let t=ie(e).state.metadata;return typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length?t:Mw}var Xf=e=>(e.result?.content??[]).flatMap(t=>t.type==="text"?[t.text]:[]).join("");function Dw(e){return e.status==="complete"?"completed":e.status}var Qf=new WeakMap;function jw(e){if(e.status!=="complete")return"";let t=Qf.get(e);return t===void 0&&Qf.set(e,t=Xf(e)),t}function Lw(e){return e.status==="error"?e.result?.error?.message||Xf(e):void 0}function Se(e){return(e??"").replace(/^oc-/,"").replace(/-/g,"_")}function hU(e){return Se(e)==="bash"}function Zf(e){let t=Se(e);return t==="question"||t==="ask"}function _U(e,t){let n=Math.max(0,e);return`${t?"Running":"Ran"} ${n} command${n===1?"":"s"}`}var $w=new Set(["show","show_user"]);function ey(e){return $w.has(Se(e))}function bU(e,t){let n=Math.max(0,e);return`${t?"Writing":"Wrote"} ${n} file${n===1?"":"s"}`}function ty(e){return!!(e.type==="snapshot"||e.type==="patch"||e.type==="step-start"||e.type==="step-finish"||e.type==="text"&&!e.text?.trim()||Jo(e))}function Jo(e){let t=ye(e)?ie(e):e,n=Se(t.tool);return n!=="show"&&n!=="show_user"||t.state?.status!=="completed"?!1:es(t.state?.input)}var Bw=new Set(["show","show_user","agent_spawn","agent_status","agent_message","agent_task_update","agent_stop"]);function ny(e){return Bw.has(Se(e))}var Uw=50*1024*1024,Qo="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",Fw=new RegExp(`^beeuni-attachment://(${Qo})/(${Qo})/(${Qo})$`);function Zo(e){if(typeof e!="string")return null;let t=Fw.exec(e);return t?{projectId:t[1],sessionId:t[2],attachmentId:t[3]}:null}function kU(e){return Zo(e)!==null}var Xo=new WeakMap;async function ry(e,t,n,r={}){if(n.size>Uw)throw new Error("Attachments must be 50 MiB or smaller.");let s=`${e}/${t}`,o=r.attachmentId?void 0:Xo.get(n)?.get(s);if(o?.promise)return o.promise;let i=o??{id:r.attachmentId??crypto.randomUUID(),promise:void 0};if(!r.attachmentId){let c=Xo.get(n)??new Map;c.set(s,i),Xo.set(n,c)}let a=new FormData;return a.append("attachment_id",i.id),a.append("file",n,n.name),i.promise=l.upload(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/attachments`,a,{signal:r.signal,timeout:12e4,showErrors:!1}).then(u).catch(c=>{throw i.promise=void 0,c}),i.promise}async function sy(e,t){let n=Zo(e);if(!n)throw new Error("Invalid attachment reference");let r=C().backendUrl.replace(/\/$/,""),s=await j(`${r}/projects/${n.projectId}/sessions/${n.sessionId}/attachments/${n.attachmentId}`,{signal:t});if(!s.ok)throw new x("Could not load attachment",{status:s.status});return s.blob()}var Nw=new Set(["show","show_user"]);function qw(e){let t=[],n=0;for(;;){let r=e.indexOf("<file",n);if(r===-1)return t;let s=r+5;if(s>=e.length||!/\s/.test(e[s])){n=s;continue}let o=e.indexOf(">",s);if(o===-1)return t;let i=e.indexOf("</file>",o+1);if(i===-1)return t;t.push(e.slice(s,o).trimStart()),n=i+7}}var Ve=e=>!!e&&typeof e=="object"&&!Array.isArray(e),Sn=e=>typeof e=="string"&&e.length>0?e:null,oy=e=>typeof e=="string"?Sn(e.split("/").pop()):null;function ls(e,t){let n=e.match(new RegExp(`(?:^|\\s)${t}="([^"]*)"`))?.[1];return n===void 0?null:n.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&")}function Gw(e){if(Array.isArray(e))return e;if(typeof e!="string"||!e.trim())return[];try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function Ww(e){let t=e.blocks.filter(Ve).map(n=>n.type==="attachment"?{type:"file",url:n.ref??n.url,filename:n.name,mime:n.mime}:n.type==="tool_call"?{type:"tool",tool:n.name,state:{input:n.input}}:n.type==="harness"&&Ve(n.data)?n.data:n);return{info:{id:e.message_id,role:e.role},parts:t}}function Kw(e,t){for(let n of qw(e))t(ls(n,"attachment"),ls(n,"filename")??oy(ls(n,"path")),ls(n,"mime"))}function Vw(e,t){for(let n of[e,...Gw(e.items)])Ve(n)&&t(n.attachment,oy(n.path),null)}function RU(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let s=Ve(r)&&Array.isArray(r.blocks)?Ww(r):r;if(!Ve(s)||!Ve(s.info)||!Array.isArray(s.parts))continue;let o=Sn(s.info.id);if(!o)continue;let i=Sn(s.info.role)??"unknown",a=(c,p,d)=>{let g=Zo(c);!g||n.has(c)||(n.add(c),t.push({url:c,attachment_id:g.attachmentId,filename:p,mime:d,message_id:o,role:i}))};for(let c of s.parts)Ve(c)&&(c.type==="file"?a(c.url,Sn(c.filename),Sn(c.mime)):c.type==="text"&&typeof c.text=="string"?Kw(c.text,a):c.type==="tool"&&typeof c.tool=="string"&&Nw.has(Se(c.tool))&&Ve(c.state)&&Ve(c.state.input)&&Vw(c.state.input,a))}return t}function nt(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Hw(e,t){if(e==null)return t;let n=e.trim().toLowerCase();return["1","true","yes","y","on"].includes(n)?!0:["0","false","no","n","off"].includes(n)?!1:t}function MU(e){if(e==null)return;let t=e.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}function ei(e,t,n){return e!==void 0?e:Hw(nt(t),n)}var iy={get disableMobileAdvertising(){return ei(C().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return ei(C().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return ei(C().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var zw=new Set(["project-manager"]);function ti(e){return e.native===!0||e.mode==="subagent"||e.hidden||e.enabled===!1?!1:iy.enableProjects||!zw.has(e.name)}function jU(e){let t=e.agents.filter(ti),n=e.default_agent??e.open_code_default_agent;return n?t.sort((r,s)=>r.name===n?-1:s.name===n?1:0):t}function ay(){return{projects:{list:jt,listForAccount:kc,get:Lt,detail:wr,create:Ec,createRepo:Ic,provision:Mc,update:kr,archive:Rr,llmCatalog:vr,modelPicker:Ar,modelAccess:Xr,setModelAccess:Zr,sandboxHealth:Er,sandboxTemplates:bu,sessions:Nt,createSession:qt},github:{linkRepository:Bc,replaceProjectRepository:Uc,getInstallation:Fc,listInstallations:Nc,listLinkableInstallations:qc,listRepositories:Gc,listRepositoryBranches:Wc,linkInstallation:Vc,saveInstallation:Kc,deleteInstallation:zc,storeUserToken:Hc},connectStatus:pu,marketplace:{items:s=>Bm(s),item:s=>Nm(s),itemFile:(s,o)=>qm(s,o),marketplaces:()=>Um(),featured:()=>Fm(),sources:{list:()=>Gm(),add:s=>Wm(s),remove:s=>Km(s)}}}}var jF=["screen","actions","audio"],LF=["password_managers","messaging","banking"],$F={localHours:8760,remoteDays:3650},BF=[500,1e3,2e3,5e3,1e4],UF=[720,1080,1440,2160],FF={intervalMs:2e3,maxHeight:1440},Yw=/^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/;function NF(e){let t=e.trim().toLowerCase();if(!t)return null;let n;try{n=new URL(t.includes("://")?t:`https://${t}`).hostname}catch{return null}return n=n.replace(/^www\./,"").replace(/\.$/,""),Yw.test(n)?n:null}function qF(e){let t=e.trim();return!t||t.length>255||t.startsWith("-")||/[\u0000-\u001f\u007f]/.test(t)||/\s/.test(t)&&!t.toLowerCase().endsWith(".exe")?null:t}function VF(e){let{state:t,idle:n}=e.health;return t==="healthy"?n?"idle":"recording":t}var X=e=>`/accounts/${e}/capture`;function He(e){let t=new URLSearchParams;for(let[r,s]of Object.entries(e))s!==void 0&&s!==""&&t.set(r,String(s));let n=t.toString();return n?`?${n}`:""}var cy=e=>He({q:e.q,kinds:e.kinds?.join(","),app:e.app,limit:e.limit,from:e.from,to:e.to,user_id:e.userId,device_id:e.deviceId,scope:e.scope}),ni=(e={})=>({day:e.day,from:e.from,to:e.to,user_id:e.userId,device_id:e.deviceId,display_id:e.displayId});async function ly(e,t={}){return u(await l.get(`${X(e)}/devices${He({user_id:t.userId,scope:t.scope})}`))}async function uy(e,t){return u(await l.delete(`${X(e)}/devices/${t}`))}async function py(e,t,n){return u(await l.put(`${X(e)}/devices/${t}/link`,{user_id:n}))}async function dy(e){return u(await l.get(`${X(e)}/enrollment-tokens`))}async function gy(e,t){return u(await l.post(`${X(e)}/enrollment-tokens`,t))}async function my(e,t){return u(await l.delete(`${X(e)}/enrollment-tokens/${t}`))}async function fy(e,t={}){return u(await l.get(`${X(e)}/enrollments${He({status:t.status})}`))}async function yy(e,t,n){return u(await l.post(`${X(e)}/enrollments/${t}/approve`,n?{user_id:n}:{}))}async function hy(e,t){return u(await l.post(`${X(e)}/enrollments/${t}/deny`,{}))}async function _y(e){return u(await l.get(`${X(e)}/policy`))}async function by(e,t){return u(await l.put(`${X(e)}/policy`,{policy:t}))}async function Sy(e,t={}){return u(await l.get(`${X(e)}/timeline${He(ni(t))}`))}async function Py(e,t={}){return u(await l.get(`${X(e)}/timeline/items${He(ni(t))}`))}async function xy(e,t={}){return u(await l.get(`${X(e)}/days${He({tz:t.tz,user_id:t.userId,device_id:t.deviceId})}`))}async function wy(e,t){return u(await l.get(`${X(e)}/search${cy(t)}`))}async function vy(e,t,n={}){return u(await l.get(`${X(e)}/frames/${t}${He({user_id:n.userId})}`))}async function Ay(e,t,n={}){return u(await l.get(`${X(e)}/chunks/${t}/media${He({user_id:n.userId})}`))}async function ky(e,t,n){return u(await l.get(`${X(e)}/devices/${t}/assets/${encodeURIComponent(n)}`))}async function Ry(e){return u(await l.get(`/capture/device/grants/${encodeURIComponent(e)}`))}async function Cy(e,t){return u(await l.post(`/capture/device/grants/${encodeURIComponent(e)}/approve`,t?{account_id:t}:{}))}async function Ty(e){return u(await l.post(`/capture/device/grants/${encodeURIComponent(e)}/deny`,{}))}async function Ey(e){return u(await l.get(X(e)))}async function Iy(e,t){return u(await l.patch(X(e),{enabled:t}))}async function My(e){return u(await l.get(`/capture/me/search${cy(e)}`))}async function Oy(e={}){return u(await l.get(`/capture/me/timeline${He(ni(e))}`))}async function Dy(e){return u(await l.get(`/capture/me/frames/${e}`))}function Qw(e){return{workspace:{get:()=>Ey(e),setEnabled:t=>Iy(e,t)},devices:{list:t=>ly(e,t),revoke:t=>uy(e,t),link:(t,n)=>py(e,t,n),assetUrl:(t,n)=>ky(e,t,n)},enrollment:{tokens:{list:()=>dy(e),create:t=>gy(e,t),revoke:t=>my(e,t)},list:t=>fy(e,t),approve:(t,n)=>yy(e,t,n),deny:t=>hy(e,t)},policy:{get:()=>_y(e),set:t=>by(e,t)},timeline:{get:t=>Sy(e,t),items:t=>Py(e,t),days:t=>xy(e,t)},search:t=>wy(e,t),frame:(t,n)=>vy(e,t,n),media:(t,n)=>Ay(e,t,n)}}var jy={account:e=>Qw(e),deviceGrant:Ry,approveDevice:Cy,denyDevice:Ty,me:{search:My,timeline:Oy,frame:Dy}};function Ly(){return{billing:{accountState:wd,accountStateMinimal:vd,transactions:Ad,transactionsSummary:kd,creditBreakdown:Rd,usageHistory:Cd,usageRollup:Nd,sessionCosts:{list:Gd,get:Jr},tierConfigurations:Td,checkout:{createSession:n=>Ed(n),confirmSession:(n,r)=>Id(n,r)},subscription:{createPortalSession:(n,r)=>Md(n,r),cancel:(n,r)=>Od(n,r),reactivate:n=>Dd(n),scheduleDowngrade:(n,r,s)=>jd(n,r,s),cancelScheduledChange:n=>Ld(n),prorationPreview:(n,r)=>$d(n,r)},credits:{purchase:n=>Bd(n),autoTopupSettings:n=>Ud(n),configureAutoTopup:n=>Fd(n)}},sandboxShares:{list:um,create:pm,revoke:dm}}}var rt={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",BEEUNI_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};function st(){let e=nt("BACKEND_URL")||C().backendUrl;return e||"http://localhost:8008/v1"}function _t(e){let t=me(e);return t.endsWith("/v1")?t:`${t}/v1`}function Pn(e){if(typeof e=="string"){let t=e.trim();return t.length>0?t:void 0}if(Array.isArray(e)){for(let t of e){let n=Pn(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return Pn(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}function Xw(e){return e==="running"||e==="active"?"active":e==="queued"||e==="branching"||e==="provisioning"?"provisioning":e==="failed"||e==="error"?"error":e==="stopped"||e==="completed"||e==="archived"?"stopped":e||"unknown"}function us(e,t,n){let r=n?.external_id||t.sandbox_url?.match(/\/p\/([^/]+)\//)?.[1]||t.sandbox_id||"";return{sandbox_id:n?.sandbox_id||t.sandbox_id||t.session_id,external_id:r,name:t.name||`${e.name} session`,provider:n?.provider||t.sandbox_provider||"daytona",base_url:n?.base_url||t.sandbox_url||(n?.external_id?`${st()}/p/${n.external_id}/${rt.BEEUNI_MASTER}`:""),status:Xw(n?.status||t.status),metadata:{...t.metadata??{},project_id:e.project_id,session_id:t.session_id,project_name:e.name,runtime_status:n?.status,error:t.error},created_at:n?.created_at||t.created_at,updated_at:n?.updated_at||t.updated_at}}async function ri(){let e=await jt(),t=[];for(let n of e){let r=await Nt(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:us(n,s,null)})}return t.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 si(e){let t=await l.get(`/sessions/${encodeURIComponent(e)}`,{showErrors:!1});if(t.success&&t.data)return t.data;if(t.error?.status===400||t.error?.status===404)return null;throw t.error??new Error("Session request failed")}async function ps(e){let t=await si(e);if(t)return{projectId:t.project_id,sessionId:t.session_id};let n=await xn(e);return n?{projectId:n.project.project_id,sessionId:n.session.session_id}:null}async function xn(e){let t=await ri();return e?t.find(n=>n.sandbox.sandbox_id===e||n.sandbox.external_id===e||n.session.session_id===e||n.runtime?.external_id===e)??null:t[0]??null}var wn=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};async function ae(e,t,n){let r=n?.fetch??C().fetch??((p,d)=>fetch(p,d)),s=me(n?.backendUrl??C().backendUrl??"");if(!s)throw new wn("not_configured","backendUrl is not configured (configureBeeuni / createBeeuni first)",0);let o={accept:"application/json"};t.body!==void 0&&(o["content-type"]="application/json"),t.bearer&&(o.authorization=`Bearer ${t.bearer}`);let i=await r(`${_t(s)}${e}`,{method:t.method??(t.body!==void 0?"POST":"GET"),headers:o,...t.body!==void 0?{body:JSON.stringify(t.body)}:{},...n?.signal?{signal:n.signal}:{}}),a=await i.text().catch(()=>""),c=null;try{c=a?JSON.parse(a):null}catch{c=a}if(!i.ok){let p=c&&typeof c=="object"?c:{};throw new wn(typeof p.error=="string"?p.error:"auth_error",typeof p.error_description=="string"&&p.error_description?p.error_description:typeof p.error=="string"?p.error:i.statusText||`HTTP ${i.status}`,i.status)}return c}function oi(e,t){return ae("/auth/signup",{body:e},t)}function ii(e,t){return ae("/auth/sign-in/password",{body:e},t)}function ai(e,t){return ae("/auth/sign-in/magic-link",{body:e},t)}function ci(e,t){return ae("/auth/verify-otp",{body:e},t)}function li(e,t){return ae("/auth/sign-in/oauth",{body:e},t)}function ui(e,t){return ae("/auth/oauth/exchange",{body:e},t)}function vn(e,t){return ae("/auth/refresh",{body:e},t)}function pi(e,t){return ae("/auth/password/reset",{body:e},t)}function di(e,t,n){return ae("/auth/password/update",{body:e,bearer:t},n)}function gi(e,t){return ae("/auth/user",{bearer:e},t)}function mi(e,t,n){return ae("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function fi(e,t){return ae("/auth/sign-in/sso",{body:e},t)}var yi={enroll:(e,t,n)=>ae("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>ae(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>ae(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>ae(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function hi(e,t={},n){return ae("/auth/sign-out",{body:t,bearer:e},n)}function _i(e={}){let t=e.refreshSkewSeconds??60,n=e.now??(()=>Date.now()),r=null,s=null,o=!e.storage,i=null,a=null,c=0,p=new Set,d=S=>(S.expires_at??0)*1e3,g=S=>d(S)-t*1e3<=n();async function m(){e.storage&&(r?await e.storage.set(JSON.stringify({session:r,user:s})):await e.storage.remove());for(let S of[...p])try{S(r)}catch{}try{e.onChange?.(r)}catch{}}async function f(){if(o)return r;if(!i){let S=c,E=(async()=>{let L=await e.storage.get();if(S===c&&L)try{let D=JSON.parse(L);D.session?.access_token&&D.session?.refresh_token&&(r=D.session,s=D.user??null)}catch{r=null}return o=!0,r})();i=E,E.then(()=>{i===E&&(i=null)},()=>{i===E&&(i=null)})}return i}async function h(){if(await f(),!r)return null;if(!a){let S=r.refresh_token,E=c,L=vn({refresh_token:S},e.request).then(async D=>(E!==c||(r=D.session,D.user&&(s=D.user),await m()),r)).catch(async D=>{if(E!==c)return r;let w=D&&typeof D=="object"&&"status"in D?D.status:0;if(w>=400&&w<500)return r=null,s=null,await m(),null;throw D}).finally(()=>{a===L&&(a=null)});a=L}return a}return{subscribe(S){return p.add(S),()=>{p.delete(S)}},current:()=>r,user:()=>s,load:f,async set(S,E){await f(),c+=1,a=null,r=S,E!==void 0&&(s=E),S||(s=null),await m()},async getToken(){return await f(),r?g(r)?(await h().catch(()=>r))?.access_token??null:r.access_token:null},refresh:h,async clear(){c+=1,a=null,r=null,s=null,o=!0,await m()}}}function $y(){return{list:rc,get:oc,create:sc,secretResources:{list:kl,create:Rl,rotate:Cl,retry:Tl,remove:El,grant:Il,revoke:Ml,setAccess:Ol},updateName:ic,branding:{get:ac,update:cc,uploadAsset:lc,removeAsset:uc,reset:pc},leave:wc,members:dc,invite:gc,removeMember:Pc,updateMemberRole:xc,invites:mc,cancelInvite:fc,resendInvite:yc,tokens:{list:Pm,create:xm,revoke:wm},connectedApps:{list:vm,revoke:Am},audit:{log:Tm,export:Im,webhooks:{list:Mm,create:Om,update:Dm,remove:jm}}}}function By(){return{assignments:{list:Zg,create:em,revoke:tm},permissions:{list:nm,forRole:Ug},roles:{list:Lg,create:Ng,update:qg,setPermissions:Gg,remove:Wg,usage:Fg},groups:{list:Cg,get:Tg,create:Eg,update:Ig,remove:Mg,members:{list:Og,add:Dg,remove:jg}},agentIdentities:$g,oauthClients:{list:Hg,get:zg,create:Yg,update:Jg,rotateSecret:Qg,remove:Xg},can:Kg,canBatch:Vg}}function Uy(){let e={signUp:oi,signInWithPassword:ii,sendMagicLink:ai,verifyOtp:ci,signInWithProvider:li,exchangeCode:ui,refresh:vn,resetPassword:pi,updatePassword:di,updateUserMetadata:mi,signInWithSso:fi,mfa:yi,user:gi,signOut:hi,session:_i},t=$y(),n=By();return{auth:e,accounts:t,iam:n,accountInvites:{listMine:hc,describe:_c,accept:lo,acceptAndLand:bc,decline:Sc}}}var An=new Map,bi=new Map;function Si(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Fy(e){return An.get(Si(e))??null}function Ny(){return[...An.values()].filter(e=>typeof e=="string")}function qy(e){return An.has(Si(e))}async function bt(e){let t=Si(e),n=An.get(t);if(n!==void 0)return n;let r=bi.get(t);if(r)return r;let s=(async()=>{try{let o=await l.get("/p/config",{showErrors:!1,errorContext:{operation:"load preview config",silent:!0}});if(!o.success)return null;let i=typeof o.data?.preview_url_template=="string"?o.data.preview_url_template:null;return An.set(t,i),i}catch{return null}finally{bi.delete(t)}})();return bi.set(t,s),s}function Gy(e){let{apiBaseUrl:t}=e;return qy(t)||bt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:Fy(t)}}function Wy(e){function t(n){try{return new URL(n)}catch{if(typeof window<"u"&&window.location?.origin)try{return new URL(n,window.location.origin)}catch{return null}throw new x(`Beeuni SDK: backendUrl must be an absolute URL outside the browser (got ${JSON.stringify(n)}). Relative paths like "/api/beeuni" only resolve against a page origin \u2014 configure an absolute backendUrl for server-side hosts.`,{code:"INVALID_BACKEND_URL"})}}return function(r){let s=C().backendUrl??e.backendUrl,o=80,i=t(s);return i&&(o=i.port?Number(i.port):i.protocol==="https:"?443:80),Gy({sandboxId:r,apiBaseUrl:s,backendPort:o})}}function Ky(e,t){let n=null;async function r(){n||(n=Ur(e,t,{showErrors:!1}).then(s=>{let o=Kr(s)??"",i=o.indexOf("/"),a=i>0&&i<o.length-1?{providerID:o.slice(0,i),modelID:o.slice(i+1)}:void 0,c=s.agent_name?.trim()||void 0;return{model:a,agent:c}}));try{return await n}catch(s){throw n=null,s}}return{persistedPromptDefaults:r,clearPersistedDefaults:()=>{n=null}}}var Vt={url:null,sandboxId:null,dbSandboxId:null,version:0},ev=new Set;function ds(e,t=null,n=null){if(!(Vt.url===e&&Vt.sandboxId===t&&Vt.dbSandboxId===n)){Vt={url:e,sandboxId:t,dbSandboxId:n,version:Vt.version+1};for(let r of ev)r()}}function Vy(){return Vt.url}var kn=new Map;function Hy(e){let t=`Session runtime not ready (stage: ${e?.stage??"unknown"})`,n=e?.failure,r=[];n?.category&&r.push(n.category),n?.message&&r.push(n.message);let s=n?.evidence?.error;return s&&s!==n?.message&&r.push(s),r.length===0&&e?.reason&&r.push(e.reason),r.length>0?`${t}: ${r.join(" \u2014 ")}`:t}var Ht=class extends Error{constructor(t){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 \`${t}\`.`),this.name="SessionNotReadyError"}};function zy(e,t){async function n(r){let s=Date.now()+r,o=()=>Math.max(0,s-Date.now()),i=await ht(e,t,Math.min(3e4,o()));for(;Date.now()<s&&(i==null||(i.stage==="provisioning"||i.stage==="starting")&&i.retriable);)await new Promise(d=>setTimeout(d,Math.min(1e3,o()))),i=await ht(e,t,Math.min(3e4,o()));let a=i?.runtime_session_id??i?.opencode_session_id;if(!i||i.stage!=="ready"||!i.sandbox||!a)throw new x(Hy(i),{code:"RUNTIME_UNAVAILABLE"});let c=i.sandbox.external_id;if(!c)throw new x("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let p=Ge(c);return ds(p,c),{runtimeSessionId:a,opencodeSessionId:a,runtimeUrl:p,sandboxId:c}}return n}function Yy(e,t,n){let r=null;function s(){if(r)return r;let p=id(e,t);return p&&(r=p),r}let o=zy(e,t);async function i(p){let d=s();if(d)return d;let g=p?.readyTimeoutMs??18e4,m=bt(C().backendUrl??n.backendUrl).catch(()=>null),f=p?.session?.session_id===t?ld(p.session):null,h=f?.sandbox?.external_id,S=f?.runtime_session_id;if(h&&S){let w=Ge(h);return ds(w,h),r={runtimeSessionId:S,opencodeSessionId:S,runtimeUrl:w,sandboxId:h},Vr(e,t,r),await m,r}let E=`${e}
15
+ ${t}`,L=kn.get(E);if(L)return r=await L,await m,r;let D=o(g);kn.set(E,D);try{return r=await D,await m,r}finally{kn.get(E)===D&&kn.delete(E)}}function a(p){let d=s();if(!d)throw new Ht(p);return d}function c(){r=null,ad(e,t)}return{ensureReady:i,tryResolveReady:s,requireReady:a,forgetReady:c}}var V=["directory","workspace"],Jy=["messageID","model","agent","noReply","tools","format","system","variant","parts"],I=(e,t,n=V,r=[],s)=>({method:e,path:t,query:n,body:r,bodyParam:s}),tv={"session.list":I("GET","/session",[...V,"scope","path","roots","start","search","limit"]),"session.get":I("GET","/session/{sessionID}"),"session.create":I("POST","/session",V,["parentID","title","agent","model","metadata","permission","workspaceID"]),"session.delete":I("DELETE","/session/{sessionID}"),"session.update":I("PATCH","/session/{sessionID}",V,["title","metadata","permission","time"]),"session.status":I("GET","/session/status"),"session.messages":I("GET","/session/{sessionID}/message",[...V,"limit","before"]),"session.prompt":I("POST","/session/{sessionID}/message",V,Jy),"session.promptAsync":I("POST","/session/{sessionID}/prompt_async",V,Jy),"session.abort":I("POST","/session/{sessionID}/abort"),"session.revert":I("POST","/session/{sessionID}/revert",V,["messageID","partID"]),"session.unrevert":I("POST","/session/{sessionID}/unrevert"),"session.summarize":I("POST","/session/{sessionID}/summarize",V,["providerID","modelID","auto"]),"session.command":I("POST","/session/{sessionID}/command",V,["messageID","agent","model","arguments","command","variant","parts"]),"session.share":I("POST","/session/{sessionID}/share"),"session.unshare":I("DELETE","/session/{sessionID}/share"),"session.fork":I("POST","/session/{sessionID}/fork",V,["messageID"]),"session.diff":I("GET","/session/{sessionID}/diff",[...V,"messageID"]),"session.todo":I("GET","/session/{sessionID}/todo"),"permission.list":I("GET","/permission"),"permission.reply":I("POST","/permission/{requestID}/reply",V,["reply","message"]),"question.list":I("GET","/question"),"question.reply":I("POST","/question/{requestID}/reply",V,["answers"]),"question.reject":I("POST","/question/{requestID}/reject"),"part.update":I("PATCH","/session/{sessionID}/message/{messageID}/part/{partID}",V,[],"part"),"part.delete":I("DELETE","/session/{sessionID}/message/{messageID}/part/{partID}"),"file.list":I("GET","/file",[...V,"path"]),"file.read":I("GET","/file/content",[...V,"path"]),"find.files":I("GET","/find/file",[...V,"query","dirs","type","limit"]),"vcs.diff":I("GET","/vcs/diff",[...V,"mode","context"]),"global.health":I("GET","/global/health",[]),"global.dispose":I("POST","/global/dispose",[]),"global.config.get":I("GET","/global/config",[]),"global.config.update":I("PATCH","/global/config",[],[],"config"),"provider.list":I("GET","/provider"),"provider.auth":I("GET","/provider/auth"),"provider.oauth.authorize":I("POST","/provider/{providerID}/oauth/authorize",V,["method","inputs"]),"provider.oauth.callback":I("POST","/provider/{providerID}/oauth/callback",V,["method","code"]),"auth.set":I("PUT","/auth/{providerID}",[],[],"auth"),"app.agents":I("GET","/agent"),"app.skills":I("GET","/skill"),"app.log":I("POST","/log",V,["service","level","message","extra"]),"command.list":I("GET","/command"),"tool.ids":I("GET","/experimental/tool/ids"),"tool.list":I("GET","/experimental/tool",[...V,"provider","model"]),"mcp.status":I("GET","/mcp"),"mcp.add":I("POST","/mcp",V,["name","config"]),"mcp.connect":I("POST","/mcp/{name}/connect"),"mcp.disconnect":I("POST","/mcp/{name}/disconnect"),"mcp.auth.start":I("POST","/mcp/{name}/auth"),"mcp.auth.callback":I("POST","/mcp/{name}/auth/callback",V,["code"]),"mcp.auth.remove":I("DELETE","/mcp/{name}/auth"),"project.list":I("GET","/project"),"project.current":I("GET","/project/current"),"path.get":I("GET","/path")};function nv(e,t){let n=[];for(let r of e.query){let s=t[r];s!=null&&n.push(`${r}=${encodeURIComponent(String(s))}`)}return n.length?`?${n.join("&")}`:""}function rv(e,t,n={},r={}){let s=tv[t],o=s.path.replace(/\{(\w+)\}/g,(p,d)=>encodeURIComponent(String(n[d]))),i,a=!1;if(s.bodyParam)i=n[s.bodyParam],a=i!==void 0;else for(let p of s.body)p in n&&(i={...i,[p]:n[p]},a=!0);let c=new Headers(r.headers);return a&&c.set("Content-Type","application/json"),new Request(`${e.replace(/\/$/,"")}${o}${nv(s,n)}`,{method:s.method,headers:c,redirect:"follow",...a?{body:JSON.stringify(i)}:{},...r.signal?{signal:r.signal}:{}})}function sv(e){if(!e)return"stream";let t=e.split(";")[0]?.trim()??"";return t.startsWith("application/json")||t.endsWith("+json")?"json":t==="multipart/form-data"?"formData":["application/","audio/","image/","video/"].some(n=>t.startsWith(n))?"blob":t.startsWith("text/")?"text":"json"}async function ov(e,t){let n=e.fetch??globalThis.fetch,r;try{r=await n(t)}catch(i){return{error:i||{},request:t,response:void 0}}if(r.headers.get("content-type")==="text/html")throw new Error("The session runtime does not serve this request (it answered text/html)");if(r.ok){let i=sv(r.headers.get("Content-Type"));if(r.status===204||r.headers.get("Content-Length")==="0")return{data:i==="json"?{}:i==="formData"?new FormData:i==="stream"?r.body:await r[i](),request:t,response:r};if(i==="stream")return{data:r.body,request:t,response:r};if(i==="json"){let a=await r.text();return{data:a?JSON.parse(a):{},request:t,response:r}}return{data:await r[i](),request:t,response:r}}let s=await r.text(),o=s;try{o=JSON.parse(s)}catch{}return{error:o||{},request:t,response:r}}function Pi(e=globalThis.fetch){return async function*({url:t,headers:n,signal:r}){let s=await e(new Request(t,{method:"GET",headers:n,signal:r,redirect:"follow"}));if(!s.ok)throw Object.assign(new Error(`SSE failed: ${s.status} ${s.statusText}`),{status:s.status});if(!s.body)throw new Error("No body in SSE response");let o=s.body.pipeThrough(new TextDecoderStream).getReader(),i=()=>{try{o.cancel().catch(()=>{})}catch{}};r.addEventListener("abort",i);try{let a="";for(;;){let{done:c,value:p}=await o.read();if(c)break;a=(a+p).replace(/\r\n/g,`
16
16
  `).replace(/\r/g,`
17
17
  `);let d=a.split(`
18
18
 
19
19
  `);a=d.pop()??"";for(let g of d){let m={},f=[];for(let h of g.split(`
20
- `))if(h.startsWith("data:"))f.push(h.replace(/^data:\s*/,""));else if(h.startsWith("id:"))m.id=h.replace(/^id:\s*/,"");else if(h.startsWith("retry:")){let x=Number.parseInt(h.replace(/^retry:\s*/,""),10);Number.isNaN(x)||(m.retry=x)}f.length&&(m.data=f.join(`
21
- `)),yield m}}}finally{r.removeEventListener("abort",i),o.releaseLock()}}}async function*mP(e,t,n){let r=e.eventTransport??bo(e.fetch??globalThis.fetch),s=n.signal??new AbortController().signal,o=n.sseDefaultRetryDelay??3e3,i;for(let a=1;!s.aborted;a++)try{let u=new Headers(n.headers);i!==void 0&&u.set("Last-Event-ID",i);for await(let p of r({url:new URL(t).href,headers:u,signal:s}))if(p.id!==void 0&&(i=p.id),p.retry!==void 0&&(o=p.retry),p.data!==void 0)try{yield JSON.parse(p.data)}catch{yield p.data}return}catch(u){if(n.onSseError?.(u),n.sseMaxRetryAttempts!==void 0&&a>=n.sseMaxRetryAttempts)return;let p=Math.min(o*2**(a-1),n.sseMaxRetryDelay??3e4);await new Promise(d=>setTimeout(d,p))}}function Xt(e){let t=s=>(o,i)=>gP(e,pP(e.baseUrl,s,o,i)),n=s=>o=>t(s)(void 0,o);return{session:{list:t("session.list"),get:t("session.get"),create:t("session.create"),delete:t("session.delete"),update:t("session.update"),status:t("session.status"),messages:t("session.messages"),prompt:t("session.prompt"),promptAsync:t("session.promptAsync"),abort:t("session.abort"),revert:t("session.revert"),unrevert:t("session.unrevert"),summarize:t("session.summarize"),command:t("session.command"),share:t("session.share"),unshare:t("session.unshare"),fork:t("session.fork"),diff:t("session.diff"),todo:t("session.todo")},permission:{list:t("permission.list"),reply:t("permission.reply")},question:{list:t("question.list"),reply:t("question.reply"),reject:t("question.reject")},part:{update:t("part.update"),delete:t("part.delete")},file:{list:t("file.list"),read:t("file.read")},find:{files:t("find.files")},vcs:{diff:t("vcs.diff")},global:{event:async(s={})=>({stream:mP(e,`${e.baseUrl.replace(/\/$/,"")}/global/event`,s)}),health:n("global.health"),dispose:n("global.dispose"),config:{get:n("global.config.get"),update:t("global.config.update")}},provider:{list:t("provider.list"),auth:t("provider.auth"),oauth:{authorize:t("provider.oauth.authorize"),callback:t("provider.oauth.callback")}},auth:{set:t("auth.set")},app:{agents:t("app.agents"),skills:t("app.skills"),log:t("app.log")},command:{list:t("command.list")},tool:{ids:t("tool.ids"),list:t("tool.list")},mcp:{status:t("mcp.status"),add:t("mcp.add"),connect:t("mcp.connect"),disconnect:t("mcp.disconnect"),auth:{start:t("mcp.auth.start"),callback:t("mcp.auth.callback"),remove:t("mcp.auth.remove")}},project:{list:t("project.list"),current:t("project.current")},path:{get:t("path.get")}}}var Gm=200;async function fP(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n.data?.message||n.error||n.message||t||`HTTP ${e.status}`}catch{return t||`HTTP ${e.status}`}}function Xe(e,t){if(e.error===void 0)return e.data;let n=e.error,r=typeof n=="string"?n:n?.data?.message||n?.message||n?.error||"request failed";throw new b(`${t}: ${r}`,{...e.response?{status:e.response.status,response:e.response}:{}})}function Wm(e){let t=e.runtimeUrl.replace(/\/$/,""),n=Xt({baseUrl:t,fetch:e.fetch});return{messages:async(r={})=>{let s=encodeURIComponent(r.conversationId??e.rootId),o=async(u,p)=>{let d=new URLSearchParams;u!==void 0&&d.set("limit",String(u)),p&&d.set("before",p);let g=`/messages/${s}${d.size?`?${d}`:""}`,m=x=>e.fetch(new Request(`${t}${x}${g}`,{method:"GET",...r.signal?{signal:r.signal}:{}})),f=await m("/beeuni/runtime");if((f.status===404||(f.headers.get("content-type")??"").startsWith("text/html"))&&(f=await m("/beeuni/opencode")),!f.ok)throw new b(`Reading the session transcript failed: ${await fP(f)}`,{status:f.status,response:f});let h=await f.json();return{messages:h.messages??[],hasMore:h.has_more===!0}},i=await o(r.limit===void 0?void 0:Math.min(r.limit,Gm),r.before),a=[...i.messages];for(;r.limit!==void 0&&a.length<r.limit&&i.hasMore&&a.length>0&&(i=await o(Math.min(r.limit-a.length,Gm),a[0].info.id),!!i.messages.length);)a.unshift(...i.messages);return{messages:a,hasMore:i.hasMore}},pending:async()=>{let[r,s,o]=await Promise.all([n.session.status().then(i=>Xe(i,"Reading the session status failed")),n.permission.list().then(i=>Xe(i,"Reading permission requests failed")),n.question.list().then(i=>Xe(i,"Reading questions failed"))]);return{statuses:r??{},permissions:s??[],questions:o??[]}},answerPermission:async(r,s,o)=>{Xe(await n.permission.reply({requestID:r,reply:s,...o!==void 0?{message:o}:{}}),"Answering the permission request failed")},answerQuestion:async(r,s)=>{if(s===null){Xe(await n.question.reject({requestID:r}),"Dismissing the question failed");return}Xe(await n.question.reply({requestID:r,answers:s}),"Answering the question failed")},compact:async r=>{let s=r;if(!s){let o=await n.global.config.get().then(u=>u.error===void 0?u.data:null),i=typeof o?.model=="string"?o.model:"",a=i.indexOf("/");a>0&&a<i.length-1&&(s={providerID:i.slice(0,a),modelID:i.slice(a+1)})}if(!s)throw new b("Cannot compact: no model is set for this session",{code:"MODEL_REQUIRED"});return Xe(await n.session.summarize({sessionID:e.rootId,providerID:s.providerID,modelID:s.modelID}),"Compacting the session failed"),s}}}function Km(e){async function t(){let{runtimeSessionId:n,runtimeUrl:r}=await e.ensureReady();return Wm({runtimeUrl:r,rootId:n,fetch:M})}return{messages:async n=>(await t()).messages(n),pending:async()=>(await t()).pending(),answerPermission:async(n,r,s)=>(await t()).answerPermission(n,r,s),answerQuestion:async(n,r)=>(await t()).answerQuestion(n,r),compact:async n=>(await t()).compact(n)}}function Hm(e){return{setModel:t=>{e.model=t},changeModel:async t=>{let n=await wl(e.projectId,e.sessionId,t);return e.clearPersistedDefaults(),n}}}var Zt=BigInt(4096),Fe=BigInt(0xffffffffffff),Vm=Fe+BigInt(1),yP=Vm/BigInt(2),Ze=BigInt(3600*1e3)*Zt,_o=120*1e3,hP=/^msg_[0-9a-f]{12}[A-Za-z0-9]{14}$/,bP=/^msg_([0-9a-f]{12})/,zm="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function xt(e){let t=bP.exec(e??"");return t?BigInt(`0x${t[1]}`):null}function en(e){return BigInt(Math.trunc(e))*Zt&Fe}function wt(e,t){let n=e-t&Fe;return n>=yP&&(n-=Vm),n}function Ym(e){let t=null;for(let n of e)n!=null&&(t===null||wt(n,t)>BigInt(0))&&(t=n);return t}function _P(e,t){let n=xt(e);return n===null?!1:wt(n,en(t))>Ze}function PP(e,t){let n=t===void 0?null:en(t);return Qm(e,r=>n===null||wt(r,n)<=Ze)}function Qm(e,t){let n=[];for(let r of e){let s=xt(r);s!==null&&t(s)&&n.push(s)}return Ym(n)}function SP(){let e="",t=new Uint8Array(32);for(;e.length<14;){crypto.getRandomValues(t);for(let n of t)n<248&&e.length<14&&(e+=zm[n%62])}return e}function Jm(e){let t=e.random,n=en(e.nowMs-(e.backdateMs??_o)),r=e.newestKnownTime??null;if(r!==null){let o=wt(r,n);o>=BigInt(0)&&o<=Ze&&(n=r+BigInt(1)&Fe)}let s="";if(t)for(let o=0;o<14;o++)s+=zm[Math.min(61,Math.floor(t()*62))];else s=SP();return{id:`msg_${n.toString(16).padStart(12,"0")}${s}`,time:n}}function Po(e={}){let t=e.nowMs??Date.now(),n=en(t-_o),r=Qm(e.after??[],s=>{let o=wt(s,n);return o>=BigInt(0)&&o<=Ze});return Jm({nowMs:t,newestKnownTime:r}).id}function Xm(e){return{scope:()=>Sl(e.projectId,e.sessionId),providerSecretPool:{list:()=>_c(e.projectId,e.sessionId),get:t=>bc(e.projectId,e.sessionId,t),set:(t,n)=>Pc(e.projectId,e.sessionId,t,n)},rescope:t=>xl(e.projectId,e.sessionId,t),setAgent:t=>{e.agent=t},send:async(t,n)=>{await e.ensureReady();let r=n?.model??e.model,s=n?.agent??e.agent,o=r&&s?{}:await e.persistedPromptDefaults(),i=r??o.model,a=s??o.agent,u=Po(),p=await ir(e.projectId,e.sessionId,{clientMessageId:u,messageId:u,remintOnDelivery:!0,parts:[{type:"text",text:t}],clientSentAtMs:Date.now(),...i||a?{overrides:{...i?{model:i}:{},...a?{agent:a}:{}}}:{}});if(p.state==="failed")throw new b("This prompt was refused: its earlier delivery already failed.",{code:"PROMPT_FAILED"});return p}}}var w$="beeuni.transcript.v1",xP=["auth","rate_limit","credits","context_length","output_length","aborted","unknown"];function v$(e){return typeof e=="string"&&xP.includes(e)}var A$=["once","always","reject"],k$=["read","edit","glob","grep","list","bash","task","external_directory","todowrite","question","webfetch","websearch","lsp","doom_loop","skill"];var Zm=async function*(e){let t=k().eventStreamTransport;if(!t){yield*bo(((s,o)=>M(s,o,{timeoutMs:null})))(e);return}let{headers:n,rejected:r}=await Bn(e.url,e.headers);try{yield*t({...e,headers:n})}catch(s){throw s?.status===401&&r(),s}};function Re(){let e=Lm();return e||(k().billingEnabled??!1?"":Ll())}async function So(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function xo(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function ef(e){let t=xo(e),n=await M(`${t}/env`);if(!n.ok)throw new Error(await So(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function tf(e,t,n){let r=xo(e),s=await M(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await So(s,"Failed to save secret"))}async function nf(e,t){let n=xo(e),r=await M(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await So(r,"Failed to delete secret"))}var wP={list:ef,set:tf,delete:nf};async function vP(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await M(`${r}/beeuni/triggers${t}`,{...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}async function br(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function tn(e){if(!e)throw new Error("[beeuni-pty] Server URL not ready \u2014 sandbox is still loading");return te(e)}async function rf(e){let t=tn(e),n=await M(`${t}/beeuni/pty`);if(!n.ok)throw new Error(await br(n,"Failed to list terminals"));return n.json()}async function sf(e,t){let n=tn(e),r=await M(`${n}/beeuni/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await br(r,"Failed to create terminal"));return r.json()}async function of(e,t,n){let r=tn(e),s=await M(`${r}/beeuni/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await br(s,"Failed to update terminal"));return s.json()}async function af(e,t){let n=tn(e),r=await M(`${n}/beeuni/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await br(r,"Failed to remove terminal"))}async function cf(e,t,n){let r=tn(t),o=`${(()=>{try{let p=new URL(r);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:"),te(p.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/beeuni/pty/${encodeURIComponent(e)}/connect`,i=new URLSearchParams,a=await Ft();a&&i.set("token",a),n?.wake&&i.set("wake","1");let u=i.toString();return u?`${o}${o.includes("?")?"&":"?"}${u}`:o}function AP(e){let t=e.reason.trim().toLowerCase();return t.includes("pty not found")?"replace":t.includes("pty exited")?"ended":e.hadError||t.includes("idle timeout")||t.includes("upstream error")||e.code!==1e3?"reconnect":"ended"}var Le="\x1B",uf="\x07",kP="\0",wo=`(?:${uf}|${Le}\\\\)`,RP=[new RegExp(`${Le}\\]697;[^${uf}${Le}]*${wo}`,"g"),new RegExp(`${kP}?\\{"cursor":\\d+\\}`,"g"),new RegExp(`${Le}\\][0-9]+;rgb:[0-9a-fA-F/]+${wo}`,"g"),new RegExp(`${Le}\\]4;[0-9]+;rgb:[0-9a-fA-F/]+${wo}`,"g"),new RegExp(`${Le}\\[\\??[0-9;]*\\$y`,"g"),new RegExp(`${Le}\\[\\d+;\\d+R`,"g"),new RegExp(`${Le}\\[\\?[0-9;]*c`,"g")];function CP(e){let t=e;for(let n of RP)t=t.replace(n,"");return t}var IP={list:rf,create:sf,update:of,remove:af,webSocketUrl:cf};async function C(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await M(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),i=await o.text(),a={};try{a=i?JSON.parse(i):{}}catch{a={}}if(!o.ok)throw new Error(a?.error||a?.message||a?.details||i.slice(0,200)||`Request failed with ${o.status}`);return a}async function V$(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return C(e,`/beeuni/tasks${r}`)}async function z$(e,t){return C(e,`/beeuni/tasks/${encodeURIComponent(t)}`)}async function Y$(e,t){return C(e,`/beeuni/tasks/${encodeURIComponent(t)}/events`)}async function Q$(e,t){return C(e,`/beeuni/tasks/${encodeURIComponent(t)}/status`)}async function J$(e,t){return C(e,"/beeuni/tasks",{method:"POST",body:JSON.stringify(t)})}async function X$(e,t,n){return C(e,`/beeuni/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Z$(e,t){return C(e,`/beeuni/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function e0(e,t){return C(e,`/beeuni/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function t0(e,t){return C(e,`/beeuni/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function n0(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return C(e,`/beeuni/tickets${n}`)}async function r0(e,t){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}`)}async function s0(e,t){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}/events`)}async function o0(e,t){return C(e,"/beeuni/tickets",{method:"POST",body:JSON.stringify(t)})}async function i0(e,t,n){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function a0(e,t,n){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function c0(e,t,n){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function u0(e,t,n){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function l0(e,t,n){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function p0(e,t){return C(e,`/beeuni/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function d0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/columns`)}async function g0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function m0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/fields`)}async function f0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function y0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/templates`)}async function h0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function b0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function _0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/agents`)}async function P0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function S0(e,t,n,r){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function x0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function w0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function v0(e,t,n=200){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function A0(e){return C(e,"/beeuni/projects")}async function k0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}`)}async function R0(e,t){return C(e,`/beeuni/projects/by-session/${encodeURIComponent(t)}`)}async function C0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/sessions`)}async function I0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function T0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function E0(e,t,n="all"){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function M0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function O0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function D0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function j0(e,t,n,r){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function $0(e,t,n,r){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function U0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function F0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function L0(e,t){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials`)}async function B0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function N0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function q0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function G0(e,t,n){return C(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var TP=1e4,EP={retryOnAuthError:!1};function vt(e,t,n){return C(e,t,{signal:AbortSignal.timeout(TP),...n},EP)}async function W0(e,t=!1){return(await vt(e,`/beeuni/services${t?"?all=true":""}`)).services??[]}async function K0(e){return(await vt(e,"/beeuni/services/templates")).templates??[]}async function H0(e,t){return(await vt(e,`/beeuni/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function V0(e,t,n){let r=n==="delete",s=r?`/beeuni/services/${encodeURIComponent(t)}`:`/beeuni/services/${encodeURIComponent(t)}/${n}`;return vt(e,s,{method:r?"DELETE":"POST"})}async function z0(e,t){return vt(e,`/beeuni/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function Y0(e,t){return vt(e,"/beeuni/services/register",{method:"POST",body:JSON.stringify(t)})}var Ce=new Map,MP=256,nn=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function et(){let e=Re();if(!e)throw new nn;return Ie(e)}function Ie(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Ce.get(e);if(t)return Ce.delete(e),Ce.set(e,t),t;if(!ns())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureBeeuni()/createBeeuni() before talking to a sandbox runtime.");let n=Xt({baseUrl:e,fetch:M,eventTransport:Zm});return Ce.set(e,n),Ce.size>MP&&Ce.delete(Ce.keys().next().value),n}function rU(e){Ce.delete(e)}function sU(){Ce.clear()}var _r=new Map;function oU(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=_r.get(e);if(t)return t;let n=Xt({baseUrl:e,fetch});return _r.set(e,n),n}function iU(e){_r.delete(e)}function aU(){_r.clear()}async function OP(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function cU(e){let t=Re();if(!t)throw new b("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/beeuni/refresh":"/global/dispose",r=await M(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new b(`System reload failed (${r.status}): ${await OP(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new b(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let i;try{i=await r.json()}catch(u){throw new b(`System reload returned malformed JSON from ${n}: ${u instanceof Error?u.message:String(u)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let a=i===!0||typeof i=="object"&&i!==null&&i.ok===!0;return{success:a,mode:e,steps:a?[e==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:a?[]:[`the sandbox did not confirm the reload (${n})`]}}var lf="frontend";function Pr(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${lf}] ${t}`,...n?[n]:[]);try{et().app.log({service:lf,level:e,message:t,extra:n})}catch{}}var Be={debug:(e,t)=>Pr("debug",e,t),info:(e,t)=>Pr("info",e,t),warn:(e,t)=>Pr("warn",e,t),error:(e,t)=>Pr("error",e,t)};function DP(e){return{type:"heartbeat-gap",gapMs:e}}function jP(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var $P={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),random:()=>Math.random()},UP=16,FP=8,LP=6e4,BP=5e3,NP=250,qP=1e3,GP=3e4,WP=5,KP=1e4,HP=4,VP=.5,zP=3e3,YP=3e4,QP=2e4,JP=2e3,XP=8;function ZP(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function eS(e,t){if(e?.type!=="message.part.delta"||t.type!=="message.part.delta")return;let n=e.properties,r=t.properties;if(n.partID!==r.partID||n.field!==r.field||n.messageID!==r.messageID||n.sessionID!==r.sessionID)return;let s=e.coalesced??[e];return s.push(t),{...t,properties:{...r,delta:n.delta+r.delta},coalesced:s}}function pf(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}var rn=new WeakMap;function tS(e,t,n){let r=t.timers??$P,s=t.connectTimeoutMs??QP,o=t.heartbeatTimeoutMs??LP,i=t.maxConsecutiveHardFailures??XP,a=new AbortController;function u(_,...S){for(let E of n){let w=_(E);if(w)try{w(...S)}catch(P){console.warn("[opencode-events] subscriber handler threw, skipping",P)}}}let p=null,d=!1,g=_=>{p!==_&&(p=_,_&&u(S=>S.onConnectionChange,_))},m=r.now(),f=null,h=[],x,D=0,j=new Map,L=()=>{if(x&&r.clearTimeout(x),x=void 0,h.length===0)return;let _=h;h=[],j.clear(),D=r.now(),m=r.now();for(let S of _)S&&u(E=>E.onEvent,S.event)},y=()=>{if(x)return;let _=r.now()-D;x=r.setTimeout(L,Math.max(0,UP-_))};return(async()=>{let _=0,S=0,E=0;for(;!a.signal.aborted;){let w=!1,P=!1,A,I,T=null,B=r.now(),$=new AbortController;g("connecting");let N=pf(a.signal);N.promise.then(()=>$.abort());try{let ie=await new Promise((ct,We)=>{let ee=!1;I=r.setTimeout(()=>{ee||(ee=!0,Be.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),$.abort(),We(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:$.signal,sseDefaultRetryDelay:zP,sseMaxRetryDelay:YP,sseMaxRetryAttempts:1}).then(Se=>{ee||(ee=!0,r.clearTimeout(I),ct(Se))},Se=>{ee||(ee=!0,r.clearTimeout(I),We(Se))})}),{stream:Dt}=ie;if(f){let ct=r.now()-f.lastActivityAt,We=f.eventful;f=null,(We||ct>BP)&&u(ee=>ee.onGapRehydrate,ct)}m=r.now();let Ge=()=>{r.clearTimeout(A),A=r.setTimeout(()=>{Be.warn("SSE heartbeat timeout, forcing reconnect"),$.abort()},o)};Ge();let En=r.now(),ib=Dt[Symbol.asyncIterator]();for(;!$.signal.aborted;){let ct=ib.next().then(xe=>({kind:"next",result:xe}),xe=>({kind:"error",error:xe})),We=pf($.signal),ee=await Promise.race([ct,We.promise.then(()=>({kind:"aborted"}))]);if(We.cleanup(),ee.kind==="aborted")break;if(ee.kind==="error")throw ee.error;if(ee.result.done)break;g("open"),Ge();let Se=ee.result.value,ut=Se&&typeof Se=="object"&&"payload"in Se?Se.payload:Se;if(!ut?.type)continue;ut.type!=="server.connected"&&(w=!0);let Zr=eS(h[h.length-1]?.event,ut);if(Zr)h[h.length-1]={type:Zr.type,event:Zr};else{let xe=ZP(ut);if(xe){let hi=j.get(xe);hi!==void 0&&(h[hi]=void 0),j.set(xe,h.length)}h.push({type:ut.type,event:ut})}y(),!(r.now()-En<FP)&&(En=r.now(),await new Promise(xe=>r.setTimeout(xe,0)))}P=w}catch(ie){if(a.signal.aborted)break;T=ie;let Dt=String(ie),Ge=jt(ie)||jt(ie?.cause);if(Be.error("SSE event stream error",{error:Dt,retryCount:_,isAuthError:Ge}),Ge)try{bs(),await hs(),Be.info("SSE: refreshed auth token after auth error")}catch(En){Be.error("SSE: failed to refresh auth token",{error:String(En)})}}finally{r.clearTimeout(A),r.clearTimeout(I),$.abort(),N.cleanup(),L()}if(a.signal.aborted)break;let q=r.now()-B,le=T?.cause?.status;if(S=!w&&(typeof le=="number"&&le>=400||q<JP)?S+1:0,S>=i){Be.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:S,lastError:String(T)}),p=null,d=!0,u(ie=>ie.onParked,{consecutiveFailures:S,lastError:T});break}g("lost"),f={lastActivityAt:m,eventful:(f?.eventful??!1)||w},E=P&&q<KP?E+1:0;let at=P&&E<=HP;at?_=0:(_++,_>1&&Be.warn("SSE event stream reconnecting",{retryCount:_}));let _e=at?NP:Math.min(qP*2**Math.min(_-1,WP),GP),Pe=Math.round(_e*(1+VP*(r.random?.()??0)));await new Promise(ie=>{let Dt=r.setTimeout(ie,Pe),Ge=()=>{r.clearTimeout(Dt),ie()};a.signal.addEventListener("abort",Ge,{once:!0})})}})(),{subscribers:n,connectionState:()=>p,isParked:()=>d,teardown:()=>{p=null,a.abort(),x&&r.clearTimeout(x)}}}function vo(e){let{onEvent:t,onGapRehydrate:n,onParked:r,onConnectionChange:s,signal:o}=e,i=e.client??(e.url?Ie(e.url):void 0);if(!i)throw new Error("openEventStream needs the session runtime `url`");let a={onEvent:t,onGapRehydrate:n,onParked:r,onConnectionChange:s},u=rn.get(i);if(u?.isParked()&&(rn.delete(i),u=void 0),!u)u=tS(i,e,new Set([a])),rn.set(i,u);else{u.subscribers.add(a);let f=u.connectionState();f&&s?.(f)}let p=u,d=!1,g=()=>{d||(d=!0,o&&o.removeEventListener("abort",m),p.subscribers.delete(a),p.subscribers.size===0&&(p.teardown(),rn.get(i)===p&&rn.delete(i)))},m=()=>g();return o&&(o.aborted?g():o.addEventListener("abort",m,{once:!0})),{close:g}}function df(e){return{abort:async()=>{let{runtimeSessionId:t,runtimeUrl:n}=await e.ensureReady();return Ie(n).session.abort({sessionID:t})},rewind:async t=>{let{runtimeSessionId:n,runtimeUrl:r}=await e.ensureReady();return Ie(r).session.revert({sessionID:n,messageID:t})},restoreRewind:async()=>{let{runtimeSessionId:t,runtimeUrl:n}=await e.ensureReady();return Ie(n).session.unrevert({sessionID:t})},stream:async t=>{let{runtimeUrl:n}=await e.ensureReady();return vo({url:n,onEvent:t.onEvent,onGapRehydrate:t.onGapRehydrate,signal:t.signal})}}}function yf(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new b(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function At(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}function Y(e){let t=(e??Re()).trim();if(!t)throw new nn;return t}async function xr(e,t){let n=await M(`${Y(t)}${e}`);if(!n.ok)throw new b(await At(n),{status:n.status,response:n});return n.json()}var Ro=["/workspace","/tmp","/home","/opt"],nS=Ro.filter(e=>e!=="/workspace");function hf(e){return Ro.some(t=>e===t||e.startsWith(`${t}/`))}function un(e){return hf(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function tt(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(nS.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var bf=tt;async function ln(e,t){let n=Y(t),r=tt(e)||".";return(await xr(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function pn(e,t){let n=Y(t),r=tt(e),s=await M(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new b(await At(s),{status:s.status,response:s});return s.json()}async function rS(e,t,n){let r=Y(n),s=tt(e),o=await M(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new b(await At(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new b("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let i=await o.blob();return t&&(!i.type||i.type==="application/octet-stream")?new Blob([i],{type:t}):i}var sS=8,Sr=0,_f=[];async function oS(){if(Sr<sS){Sr++;return}await new Promise(e=>_f.push(e)),Sr++}function iS(){Sr--,_f.shift()?.()}function aS(e,t){let n=Y(t);return Xn(`${n}/file/raw?path=${encodeURIComponent(tt(e))}`)}async function dn(e,t){await oS();try{let n=Y(t);try{return await rS(e,void 0,n)}catch{}let r=await pn(e,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"})}finally{iS()}}async function wr(e){return xr("/file/status",Y(e))}async function vr(e,t,n){let r=Y(n),s=new URLSearchParams({query:e});return t?.type&&s.set("type",t.type),t?.limit&&s.set("limit",String(t.limit)),xr(`/find/file?${s.toString()}`,r)}async function Ar(e,t){let n=Y(t);return(await xr(`/find?pattern=${encodeURIComponent(e)}`,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 sn=[400,1200],cS=e=>e===408||e===429||e===502||e===503||e===504,gf=e=>new Promise(t=>setTimeout(t,e));function uS(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Ao=3e4,Pf=15*6e4,lS=256;function on(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Ao;let t=Ao+e/lS;return Math.min(Pf,Math.max(Ao,Math.round(t)))}async function pS(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function an(e,t){let n;for(let s=0;s<=sn.length;s++){let o;try{o=await t(e())}catch(a){if(n=a,uS(a)||s===sn.length)break;await gf(sn[s]);continue}if(o.ok)return o.json();let i=await pS(o);if(n=new b(`Upload failed (${o.status}): ${i}`,{status:o.status,response:o}),!cS(o.status)||s===sn.length)throw n;await gf(sn[s])}if(n instanceof b)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new b(`Upload failed: ${r}`)}var ko=8*1024*1024;function dS(e,t){if(!(typeof e?.size!="number"||!Number.isFinite(t))&&!(e.size>=t))throw new b(`Upload verification failed for ${e.path}: expected ${t} bytes, received ${e.size}`,{code:"UPLOAD_SIZE_MISMATCH"})}function mf(e,t){try{e?.onProgress?.(t)}catch{}}function ff(e,t,n){let r=new FormData,s=(t??"").trim();return s&&r.append("path",s.startsWith("/")?s:`/${s}`),n&&r.append("filename",n),n?r.append("file",e,n):r.append("file",e),r}function gS(e){let t=e.lastIndexOf("/");return t<0?{parent:"",name:e}:{parent:e.slice(0,t)||"/",name:e.slice(t+1)}}async function gn(e,t,n,r,s){let o=typeof r=="string"?r:void 0,i=typeof r=="string"?s:r,a=Y(o),u=on(e.size),p=n||(e instanceof File?e.name:"")||"";if(e.size<=ko){let f=await an(()=>ff(e,t,p),h=>M(`${a}/file/upload`,{method:"POST",body:h},{timeoutMs:u}));return dS(f[0],e.size),mf(i,{loadedBytes:e.size,totalBytes:e.size}),f}let g=(await an(()=>ff(new Blob([],{type:e.type}),t,p),f=>M(`${a}/file/upload`,{method:"POST",body:f},{timeoutMs:on(0)})))[0]?.path;if(!g)throw new b("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let m=gS(g);if(!m.name)throw new b(`Upload reservation returned an invalid file path: ${g}`,{code:"UPLOAD_INVALID_PATH"});try{for(let f=0;f<e.size;f+=ko){let h=Math.min(e.size,f+ko),x=e.slice(f,h,e.type),D=await an(()=>{let j=new FormData;return m.parent&&j.append("path",m.parent),j.append("filename",m.name),j.append("first",f===0?"true":"false"),j.append("offset",String(f)),j.append("file",x,m.name),j},j=>M(`${a}/file/append`,{method:"POST",body:j},{timeoutMs:on(x.size)}));if(D.path!==g||D.size!==h)throw new b(`Upload verification failed for ${g}: expected ${h} bytes, received ${D.size}`,{code:"UPLOAD_SIZE_MISMATCH"});mf(i,{loadedBytes:h,totalBytes:e.size})}}catch(f){throw await kt(g,a).catch(()=>{}),f}return[{path:g,size:e.size}]}function mS(e,t,n){let r=Y(n);return an(()=>{let s=new FormData;return t&&s.append("path",t),s.append("file",{uri:e.uri,name:e.name,type:e.type||"application/octet-stream"}),s},s=>M(`${r}/file/upload`,{method:"POST",body:s},{timeoutMs:fS}))}var fS=Pf;function yS(e,t,n){let r=Y(n),s=on(t.size);return an(()=>{let o=new FormData;return o.append(e,t,e.split("/").pop()||"file"),o},o=>M(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}var cn=class extends b{path;constructor(t){super(`A file or folder already exists at ${t}`,{status:409,code:"FILE_EXISTS"}),this.name="FileExistsError",this.path=t}};async function kr(e,t){let n=Y(t),r=e.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),i=o.pop()||"untitled",a=o.join("/")||"/workspace",u=un(`${a}/${i}`),p=[];try{p=await ln(Sf(u),n)}catch(g){if(!(g instanceof b&&g.status===404))throw g}if(p.some(g=>g.name===xf(u)))throw new cn(u);let d=await wf(u,new Blob([],{type:"application/octet-stream"}),n,{overwrite:!1});return[{path:d.path,size:d.bytes}]}async function Rr(e,t,n){let r=Y(n);return yS(t,await dn(e,r),r)}function hS(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Sf(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function xf(e){return e.slice(e.lastIndexOf("/")+1)}function bS(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=new Uint8Array(8);return e.getRandomValues(t),[...t].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function Cr(e,t,n){let r=Y(n),s=un(hS(e.trim()));return wf(s,t,r,{overwrite:!0})}async function wf(e,t,n,r){let s=xf(e);if(!s)throw new b(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let o=Sf(e);await mn(o,n).catch(()=>{});let i=bS(),a=await gn(t,o,`.${s}.beeuni-write-${i}`,n),u=a[0]?.path;if(!u)throw new b(`Upload returned no file for ${e}`,{code:"UPLOAD_NO_RESULT"});let p=un(u);try{await vf(p,e,n,r.overwrite)}catch(g){throw await kt(p,n).catch(()=>{}),!r.overwrite&&g instanceof b&&g.status===409?new cn(e):g}let d=a[0]?.size;return{path:e,bytes:typeof d=="number"?d:t.size}}async function kt(e,t){let n=await M(`${Y(t)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new b(`Delete failed (${n.status}): ${await At(n)}`,{status:n.status,response:n});return n.json()}async function mn(e,t){let n=await M(`${Y(t)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new b(`Mkdir failed (${n.status}): ${await At(n)}`,{status:n.status,response:n});return n.json()}async function Ir(e,t,n){return vf(e,t,Y(n),!0)}async function vf(e,t,n,r){let s=await M(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r?{from:e,to:t}:{from:e,to:t,overwrite:!1})});if(!s.ok)throw new b(`Rename failed (${s.status}): ${await At(s)}`,{status:s.status,response:s});return s.json()}async function Af(){return yf(await et().project.current())}async function Co(){return yf(await et().global.health())}async function kf(){try{return(await Co()).healthy===!0}catch{return!1}}var _S={list:ln,read:pn,readBlob:dn,status:wr,findFiles:vr,findText:Ar,upload:gn,write:Cr,create:kr,copy:Rr,remove:kt,mkdir:mn,rename:Ir,currentProject:Af,health:Co,isReachable:kf,toDaemonPath:tt,toSandboxAbsolutePath:un,toWorkspaceRelative:bf};function Rf(e){return{list:async t=>ln(t,(await e()).runtimeUrl),read:async t=>pn(t,(await e()).runtimeUrl),readBlob:async t=>dn(t,(await e()).runtimeUrl),status:async()=>wr((await e()).runtimeUrl),findFiles:async(t,n)=>vr(t,n,(await e()).runtimeUrl),findText:async t=>Ar(t,(await e()).runtimeUrl),upload:async(t,n,r,s)=>gn(t,n,r,(await e()).runtimeUrl,s),write:async(t,n)=>Cr(t,n,(await e()).runtimeUrl),create:async t=>kr(t,(await e()).runtimeUrl),copy:async(t,n)=>Rr(t,n,(await e()).runtimeUrl),remove:async t=>kt(t,(await e()).runtimeUrl),mkdir:async t=>mn(t,(await e()).runtimeUrl),rename:async(t,n)=>Ir(t,n,(await e()).runtimeUrl)}}function Cf(e){return{get:t=>or(e.projectId,e.sessionId,t),presence:(t,n)=>c.put(`/projects/${e.projectId}/sessions/${e.sessionId}/presence`,t,{showErrors:!1,keepalive:n?.keepalive??!t.active}),cost:()=>dr(e.sessionId,{projectId:e.projectId}),update:t=>yl(e.projectId,e.sessionId,t),delete:()=>(e.forgetReady(),hl(e.projectId,e.sessionId)),start:(...t)=>Ye(e.projectId,e.sessionId,...t),startOrThrow:(...t)=>Nl(e.projectId,e.sessionId,...t),restart:()=>(e.forgetReady(),ar(e.projectId,e.sessionId)),stop:()=>(e.forgetReady(),cr(e.projectId,e.sessionId)),configState:()=>bl(e.projectId,e.sessionId),reloadConfig:t=>(e.forgetReady(),_l(e.projectId,e.sessionId,t)),reloadConfigStream:(...t)=>(e.forgetReady(),Pl(e.projectId,e.sessionId,...t)),setSharing:t=>Qu(e.projectId,e.sessionId,t),previews:()=>el(e.projectId,e.sessionId),participants:()=>Ju(e.projectId,e.sessionId),watch:()=>Xu(e.projectId,e.sessionId),setWatch:t=>Zu(e.projectId,e.sessionId,t),commit:t=>Nu(e.projectId,e.sessionId,t),publicShares:{list:()=>tl(e.projectId,e.sessionId),create:(...t)=>nl(e.projectId,e.sessionId,...t),revoke:(...t)=>rl(e.projectId,e.sessionId,...t)}}}function If(e){return{reminders:{list:()=>Gd(e.projectId,e.sessionId),create:t=>Wd(e.projectId,e.sessionId,t),update:(t,n)=>Ls(e.projectId,e.sessionId,t,n),remove:t=>Bs(e.projectId,e.sessionId,t)},audit:(t,n)=>il(e.projectId,e.sessionId,t,n),attachments:{upload:(t,n)=>xm(e.projectId,e.sessionId,t,n),read:(t,n)=>wm(`beeuni-attachment://${e.projectId}/${e.sessionId}/${t}`,n)},transcript:t=>al(e.projectId,e.sessionId,t),messageAuthors:()=>Al(e.projectId,e.sessionId),modelUsage:()=>kl(e.projectId,e.sessionId),transcriptSync:t=>cl(e.projectId,e.sessionId,t),turn:()=>ul(e.projectId,e.sessionId),prompts:{create:t=>ir(e.projectId,e.sessionId,t),list:()=>ll(e.projectId,e.sessionId),remove:t=>pl(e.projectId,e.sessionId,t),retry:t=>ml(e.projectId,e.sessionId,t),edit:(t,n)=>dl(e.projectId,e.sessionId,t,n),interrupt:t=>gl(e.projectId,e.sessionId,t),hold:t=>fl(e.projectId,e.sessionId,t)},ensureReady:e.ensureReady}}function SS(e,t){return e?.some(n=>n.startsWith("session."))?e.includes(t):!0}var xS=["control_plane","provider_ingress","daemon","upstream_port"];function Tf(e){return typeof e=="string"&&xS.includes(e)?e:null}function Ef(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.harness?e.harness.ready===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function Mf(e,t){let n=(e===void 0?Re():e)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await M(`${n}/beeuni/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let i=o,a=Tf(r.headers.get("X-Beeuni-Proxy-Hop"))??Tf(o?.hop),u=Number(r.headers.get("X-Beeuni-Upstream-Status")),p=o?.upstream_status,d=Number.isFinite(u)&&u>0?u:typeof p=="number"?p:null;return{status:r.status,ok:r.ok,health:i,body:s,hop:a,upstreamStatus:d}}var Of=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Df=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,jf=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,$f=new Set([22,4096,parseInt($e.BEEUNI_MASTER,10)]);function wS(e){return Df.test(e)}function Tr(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function vS(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var AS=new Set(["'",'"',"`","<","(","["]),kS=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function RS(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&AS.has(e[t]);)t++;for(;n>t&&kS.has(e[n-1]);)n--;return e.slice(t,n)}function CS(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var IS=/^\/proxy\/(\d{1,5})(\/.*)?$/,TS=/^\/(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 ES(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:TS.test(t.pathname)}catch{return!1}}function Er(e){if(!e)return null;let t=RS(vS(e.trim())),n=Nf(t);if(n){let r=Tr(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);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}`,i=parseInt($e.BEEUNI_MASTER,10);if(s===i){let u=r.pathname.match(IS);if(u){let p=parseInt(u[1],10);if(p>=1&&p<=65535)return s=p,o=Tr(`${u[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let a=Tr(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${a}`,port:s,path:a}}catch{let r=CS(e);return r&&r!==e?Er(r):null}}function MS(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,i=o+r[0].length;t.some(([u,p])=>o>=u&&i<=p)||t.push([o,i])}return t}function OS(e,t){return t.some(([n,r])=>e>=n&&e<r)}function DS(e){let t=[],n=new Set,r=MS(e);Of.lastIndex=0;let s;for(;(s=Of.exec(e))!==null;){let o=Er(s[0]);if(!o)continue;let{originalUrl:i,port:a,path:u}=o;a<1||a>65535||$f.has(a)||n.has(i)||(n.add(i),t.push({originalUrl:i,port:a,path:u,startIndex:s.index,endIndex:s.index+i.length,inCodeBlock:OS(s.index,r)}))}return t}function LU(e){return DS(e).length>0}function jS(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Uf(e){return e.trim().toLowerCase().split("_").join("-")}function Ff(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function $S(e,t,n){let r=n.previewUrlTemplate;if(!r||!r.includes("{port}")||!r.includes("{sandbox}"))return null;let s=r.split("{port}").join(String(e)).split("{sandbox}").join(Uf(n.sandboxId));return`${Ff(s)}${t}`}function US(e){return e.sandboxId.trim().length>0}function nt(e,t,n){let r=Tr(t);if(!US(n))return NS(e,r);let s=$S(e,r,n);return s||(jS(n.apiBaseUrl)?`http://p${e}-${Uf(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${Ff(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function BU(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return nt(3211,`/open?path=/workspace/${r}`,t)}function FS(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function NU(e){return`http://localhost:3211${FS(e)}`}function LS(){return"/health"}function qU(e){return nt(3211,LS(),e)}function GU(e,t){return nt(e,"/",t)}function BS(e){let t=Er(e);return!(!t||$f.has(t.port)||ES(e))}function Lf(e,t){if(!e)return e;let n=Er(e);return n?BS(n.originalUrl)?nt(n.port,n.path,t):n.originalUrl:e}function NS(e,t="/"){return`http://localhost:${e}${t}`}var Bf=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function Nf(e){let t=e.match(Df);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(jf);if(n){let s=443;try{let o=new URL(e);s=o.port?parseInt(o.port,10):o.protocol==="https:"?443:80}catch{return null}return{port:parseInt(n[1],10),sandboxId:n[2],backendPort:s,path:n[4]||"/"}}let r=e.match(Bf);if(r)try{let s=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(s.port,10)||(s.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function WU(e){try{let t=Nf(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function KU(e){return wS(e)||jf.test(e)||Bf.test(e)}function HU(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var fn="/web-proxy/";function VU(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${fn}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt($e.BEEUNI_MASTER,10);return`${nt(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function zU(e){try{let t=new URL(e),n=t.pathname.indexOf(fn);if(n===-1)return null;let s=t.pathname.slice(n+fn.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],i=s[2],a=s[3]||"/";return`${o}://${i}${a}${t.search}${t.hash}`}catch{return null}}function YU(e){try{return new URL(e).pathname.includes(fn)}catch{return e.includes(fn)}}function QU(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function JU(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}function qf(e){return{health:t=>Mf(e.tryResolveReady()?.runtimeUrl??null,t),previewUrl:(t,n="/")=>nt(t,n,e.resolvePreviewOptsForSandbox(e.requireReady("previewUrl").sandboxId)),proxyUrl:t=>Lf(t,e.resolvePreviewOptsForSandbox(e.requireReady("proxyUrl").sandboxId)),sandboxPortUrl:t=>ze(e.requireReady("sandboxPortUrl").sandboxId,t)}}function Io(e,t,n,r){let s,o,{persistedPromptDefaults:i,clearPersistedDefaults:a}=$m(e,t),{ensureReady:u,tryResolveReady:p,requireReady:d,forgetReady:g}=Nm(e,t,n),m={projectId:e,sessionId:t,ensureReady:u,tryResolveReady:p,requireReady:d,forgetReady:g,resolvePreviewOptsForSandbox:r,get model(){return s},set model(f){s=f},get agent(){return o},set agent(f){o=f},clearPersistedDefaults:a,persistedPromptDefaults:i};return{...Cf(m),...If(m),...qf(m),...Hm(m),...Xm(m),...df(m),files:Rf(u),...Km(m),get runtime(){return Ie(d("runtime").runtimeUrl)}}}function Gf(e){return{apps:{list:()=>Pg(e),create:t=>Sg(e,t),get:t=>qs(e,t),update:(...t)=>xg(e,...t),access:{get:(...t)=>kg(e,...t),update:(...t)=>Cg(e,...t),session:(...t)=>Ig(e,...t),agents:t=>Rg(e,t)},remove:t=>wg(e,t),token:t=>vg(e,t),authEnv:t=>Ag(e,t),artifacts:{register:t=>Gs(e,t),uploadArchive:(...t)=>Tg(e,...t),finalize:(...t)=>Ws(e,...t)},deployments:{create:(...t)=>Eg(e,...t),list:t=>Mg(e,t),get:(...t)=>Og(e,...t),logs:(...t)=>Dg(e,...t),remove:(...t)=>Ug(e,...t)},start:t=>jg(e,t),stop:t=>$g(e,t),rollback:(...t)=>Fg(e,...t),machines:{list:t=>Lg(e,t),start:(t,n)=>Bg(e,t,n),stop:(t,n)=>Ng(e,t,n),restart:(t,n)=>qg(e,t,n),destroy:(t,n)=>Gg(e,t,n)},scale:(t,n)=>Wg(e,t,n),exec:(...t)=>Kg(e,...t),volumes:{list:t=>Hg(e,t),create:(...t)=>Vg(e,...t),update:(...t)=>zg(e,...t),destroy:(...t)=>Yg(e,...t),snapshots:(...t)=>Qg(e,...t),snapshot:(...t)=>Jg(e,...t),restore:(...t)=>Xg(e,...t),fork:(...t)=>Zg(e,...t)}}}}function Wf(e){return{list:()=>$a(e),invite:(...t)=>La(e,...t),update:(...t)=>Ua(e,...t),revoke:t=>Fa(e,t),pendingInvites:()=>Ba(e),resendInvite:(...t)=>qa(e,...t),revokeInvite:(...t)=>Na(e,...t),requests:()=>Oa(e),approveRequest:(...t)=>Da(e,...t),rejectRequest:(...t)=>ja(e,...t),groupGrants:()=>Ga(e),attachGroupGrant:(...t)=>Wa(e,...t),updateGroupGrant:(...t)=>Ka(e,...t),detachGroupGrant:t=>Ha(e,t),resourceGrants:{list:()=>Va(e),create:t=>za(e,t),remove:t=>Ya(e,t)}}}function Kf(e){return{tokens:{list:()=>eg(e),create:t=>tg(e,t),revoke:t=>ng(e,t)},setupLinks:{requestSecret:t=>lg(e,t),requestConnector:t=>pg(e,t)},validateManifest:t=>la(e,t),gitToken:()=>pa(e),agentIdentities:()=>pd(e),secrets:{list:()=>Za(e),upsert:t=>ec(e,t),setStrategy:(...t)=>tc(e,...t),broker:(...t)=>nc(e,...t),remove:t=>ic(e,t),setPersonal:(...t)=>ac(e,...t),removePersonal:t=>cc(e,t),setGitCredential:t=>oc(e,t),listProviderOAuth:()=>rc(e),startProviderOAuth:(...t)=>ms(e,...t),pollProviderOAuth:(...t)=>fs(e,...t),removeProviderOAuth:t=>sc(e,t)},access:Wf(e)}}function Hf(e){return{list:()=>xc(e),listAll:()=>wc(e),reconcile:(...t)=>vc(e,...t),reconcileMember:(...t)=>Ac(e,...t),updateCredential:(...t)=>kc(e,...t),revoke:(...t)=>Rc(e,...t),activate:(...t)=>Cc(e,...t),setDefault:(...t)=>Ic(e,...t),rename:(...t)=>Tc(e,...t),share:(...t)=>Mc(e,...t),addComputer:(...t)=>Ec(e,...t),pipedreamConnect:(...t)=>Oc(e,...t),pipedreamFinalize:(...t)=>Dc(e,...t)}}function Mr(e){return{catalog:t=>Lt(e,t),tools:()=>_s(e),search:(...t)=>Sc(e,...t),describe:(...t)=>Ps(e,...t),call:(...t)=>mt(e,...t),callAction:(t,n,r,s)=>mt(e,`${t}.${n}`,r,s),accounts:(...t)=>Ss(e,...t),uploadAttachment:(...t)=>xs(e,...t)}}function To(e,t){return{slug:t,run:(r,s,o)=>Rs(e,t,r,s,o),call:(r,s,o)=>mt(e,`${t}.${r}`,s,o),describe:async r=>r!==void 0?Ps(e,`${t}.${r}`):(await Lt(e,{slug:t,includeSchemas:!0,includeOutputSchemas:!0})).find(o=>o.slug===t)??null,accounts:()=>Ss(e,t),paginate:(r,s,o)=>nu(e,t,r,s,o),uploadAttachment:(r,s)=>xs(e,r,{...s,connector:t})}}var qS=100,GS=0,WS=new Set(["attachment_size_mismatch","attachment_failed"]),Vf=()=>new b("Attachment expired. Attach the file again.",{code:"attachment_expired"});function zf(e){if(!e||typeof e.attachment_id!="string"||!e.attachment_id||typeof e.filename!="string"||!e.filename||typeof e.mime!="string"||!e.mime||!Number.isSafeInteger(e.size)||e.size<=0||e.size>52428800||!Number.isFinite(Date.parse(e.expires_at))||Date.parse(e.expires_at)<=Date.now())throw new Error("Attachment metadata is invalid or expired. Attach the file again.");return{attachment_id:e.attachment_id,filename:e.filename,mime:e.mime,size:e.size,expires_at:e.expires_at}}function Yf(e,t={}){let n=t.concurrency??2;if(!Number.isInteger(n)||n<1||n>20)throw new Error("Attachment concurrency must be between 1 and 20");let r=new Map,s=new Set,o=new Set,i=0,a=!1,u,p={attachments:[]},d=()=>[...r.values()].filter(y=>!y.handedOff);function g(y,_){y.removalDeleted||(y.removalDeleted=!0,qt(e,_).catch(()=>{}))}function m(){u&&clearTimeout(u);let y=d().map(({item:S})=>S);(y.length!==p.attachments.length||y.some((S,E)=>S!==p.attachments[E]))&&(p={attachments:y});let _=Math.min(...y.filter(S=>S.status==="ready").map(S=>Date.parse(S.attachment.expires_at)));Number.isFinite(_)&&!a&&(u=setTimeout(()=>{for(let S of d())S.item.status==="ready"&&Date.parse(S.item.attachment.expires_at)<=Date.now()&&(S.item={...S.item,status:"error",error:Vf()});m()},Math.min(2147483647,Math.max(0,_-Date.now()))),typeof u=="object"&&"unref"in u&&u.unref());for(let S of s)S();for(let S of[...o])S()}function f(){if(a)throw new Error("Attachment controller is disposed");if(!e)throw new Error("A project is required to attach files");return e}function h(y){f();let _=d();if(_.length+y.length>20)throw new Error("A message can contain up to 20 attachments");if(y.some(E=>!Number.isSafeInteger(E)||E<=0||E>52428800))throw new Error("Each attachment must contain 1 byte to 50 MiB");if(_.reduce((E,w)=>E+w.item.size,0)+y.reduce((E,w)=>E+w,0)>104857600)throw new Error("Message attachments exceed 100 MiB")}function x(){for(let y of r.values()){if(i>=n)break;if(y.item.status!=="pending"||!y.item.file||a&&!y.handedOff)continue;let _=y.item.file;i++;let S=++y.generation,E=new AbortController;y.abort=E,y.item={...y.item,status:"uploading",error:void 0};let w=()=>(!a||y.handedOff===!0)&&r.get(y.item.id)===y&&y.generation===S,P,A=0,I,T=()=>{I=void 0,!(!w()||y.item.status!=="uploading"||P===void 0)&&(y.item={...y.item,receivedBytes:P},P=void 0,A=Date.now(),m())},B=$=>Math.floor($*100/y.item.size);nr(e,_,{resume:y.upload,signal:E.signal,onUpload:$=>{y.upload=$,y.removed&&(E.abort(),g(y,$.attachment_id))},onProgress:$=>{if(!w()||B($)===B(y.item.receivedBytes)||(P=$,I))return;let N=A+qS-Date.now();if(N<=0)return T();I=setTimeout(T,N),typeof I=="object"&&"unref"in I&&I.unref()},onProcessing:()=>{I&&clearTimeout(I),I=void 0,P=void 0,w()&&(y.item={...y.item,status:"processing",receivedBytes:y.item.size},m())}}).then($=>{w()&&(y.item={...y.item,status:"ready",attachment:zf($),receivedBytes:$.size})}).catch($=>{$ instanceof b&&WS.has($.code??"")&&(y.upload=void 0),w()&&(y.item={...y.item,status:$ instanceof b&&$.code==="ABORTED"?"aborted":"error",error:$ instanceof Error?$:new Error(String($))})}).finally(()=>{i--,I&&clearTimeout(I),y.abort===E&&(y.abort=void 0),m(),x()})}m()}function D(y){h(y.map(S=>S.size));let _=y.map(S=>{let E=`attachment-${++GS}`;return r.set(E,{generation:0,item:{id:E,file:S,filename:S.name,mime:S.type||"application/octet-stream",size:S.size,status:"pending",receivedBytes:0}}),E});return m(),x(),_}function j(y){let _=r.get(y);!_||_.item.status==="ready"||(_.generation++,_.abort?.abort(),_.item={..._.item,status:"aborted",error:new Error("Attachment upload cancelled")},m())}function L(y,{signal:_}={}){let S=[...y];return new Promise((E,w)=>{let P=()=>{o.delete(T),_?.removeEventListener("abort",I)},A=B=>{P(),w(B)},I=()=>A(ge()),T=()=>{let B=!1;for(let N of S){let q=r.get(N);if(!q)return A(new Error("Attachment was removed before it was sent"));if(a&&!q.handedOff)return A(new Error("Attachment controller is disposed"));if(q.item.status==="error"||q.item.status==="aborted")return A(q.item.error??new Error("Attachment upload failed"));q.item.status!=="ready"&&(B=!0)}if(B)return;let $;try{$=S.map(N=>{let q=zf(r.get(N).item.attachment);return{type:"file",attachment_id:q.attachment_id,filename:q.filename,mime:q.mime}})}catch(N){return A(N instanceof Error?N:new Error(String(N)))}P(),E($)};if(_?.aborted)return I();o.add(T),_?.addEventListener("abort",I,{once:!0}),T()})}return{add:y=>D([y])[0],addMany:D,retry(y){let _=r.get(y);if(_?.handedOff||f(),!(!_||_.item.status==="ready"||_.item.status==="uploading"||_.item.status==="processing"||_.item.status==="pending")){if(!_.item.file||_.upload&&Date.parse(_.upload.expires_at)<=Date.now())throw Vf();_.item={..._.item,status:"pending",error:void 0},x()}},async remove(y){let _=r.get(y);if(!_)return;_.removed=!0,_.generation++,r.delete(y);let S=_.upload?.attachment_id??_.item.attachment?.attachment_id;S&&_.abort?.abort(),m(),x(),S&&g(_,S)},abort:j,submit(y){if(!a){for(let _ of y){let S=r.get(_);S&&(S.handedOff=!0)}m()}},reclaim(y){if(!a){for(let _ of y){let S=r.get(_);S&&(S.handedOff=!1)}m()}},whenReady:L,forget(y=d().map(_=>_.item.id)){for(let _ of y){let S=r.get(_);S&&(S.generation++,S.abort?.abort(),r.delete(_))}m(),x()},dispose(){if(!a){a=!0,u&&clearTimeout(u);for(let y of r.values()){if(y.handedOff)continue;y.generation++,y.abort?.abort();let _=y.upload?.attachment_id??y.item.attachment?.attachment_id;_&&e&&qt(e,_).catch(()=>{})}s.clear(),m()}},getSnapshot:()=>p,subscribe(y){return s.add(y),()=>{s.delete(y)}}}}function Qf(e){return{attachments:{upload:(...t)=>nr(e,...t),delete:(...t)=>qt(e,...t),createController:t=>Yf(e,t)},get:t=>Gn(e,t),detail:()=>Wn(e),skills:{create:(...t)=>_a(e,...t)},audit:t=>sg(e,t),update:t=>Vn(e,t),archive:()=>zn(e),llmCatalog:()=>Kn(e),modelPicker:()=>Hn(e),modelAccess:()=>mr(e),setModelAccess:t=>fr(e,t),sandboxHealth:()=>Jn(e),onboardingComplete:(...t)=>ba(e,...t)}}function Jf(e){return{sessions:{list:t=>yt(e,t),listPage:t=>Yu(e,t),create:t=>ht(e,t),ensureWarm:()=>sl(e),claimWarm:t=>ol(e,t)},review:{list:t=>Ed(e,t),get:t=>Md(e,t),submit:t=>Od(e,t),act:(...t)=>Dd(e,...t),bulkAct:t=>jd(e,t)},approvals:{list:t=>Qa(e,t),resolve:(...t)=>Xa(e,...t),sessionsNeedingInput:t=>Ja(e,t)}}}function Xf(e){return{files:{list:t=>mu(e,t),listDirectory:t=>fu(e,t),read:(t,n)=>hu(e,t,n),search:(...t)=>yu(e,...t),archive:(...t)=>bu(e,...t),archiveRequest:(...t)=>_u(e,...t),history:(...t)=>Tu(e,...t)},git:{commits:()=>Ru(e),commit:t=>Cu(e,t),commitDiff:t=>Iu(e,t),branches:()=>ku(e),versionDiff:(...t)=>Eu(e,...t),inviteCollaborator:(...t)=>ua(e,...t)},changeRequests:{list:()=>Mu(e),get:t=>Ou(e,t),update:(...t)=>qu(e,...t),diff:t=>Du(e,t),mergePreview:t=>ju(e,t),open:(...t)=>$u(e,...t),merge:(...t)=>Uu(e,...t),close:(...t)=>Fu(e,...t),reopen:(...t)=>Lu(e,...t),requestChanges:(...t)=>Bu(e,...t)},...Jf(e)}}function Zf(e){return{policies:{list:()=>ru(e),set:(...t)=>su(e,...t)},reminders:{list:()=>zd(e),updateMany:(...t)=>Hd(e,...t),removeMany:(...t)=>Vd(e,...t)},triggers:{list:()=>Rl(e),eventApps:()=>Dl(e),eventTypes:(...t)=>Ol(e,...t),create:(...t)=>Cl(e,...t),update:(...t)=>Il(e,...t),remove:(...t)=>Tl(e,...t),fire:(...t)=>Ml(e,...t),setActivation:(...t)=>El(e,...t)},...Xf(e)}}function ey(e,t){return{connectors:{...Mr(e),list:()=>jc(e),config:(...n)=>qc(e,...n),create:(...n)=>Kc(e,...n),remove:(...n)=>Vc(e,...n),sync:()=>$c(e),auth:{discover:(...n)=>Hc(e,...n)},setName:(...n)=>Gc(e,...n),setCredentialMode:(...n)=>Uc(e,...n),setAuthorizationStrategy:(...n)=>Fc(e,...n),setCredential:(...n)=>Xc(e,...n),deleteCredential:(...n)=>Zc(e,...n),setSensitive:(...n)=>Lc(e,...n),connections:t,policies:{get:(...n)=>Bc(e,...n),set:(...n)=>Nc(e,...n)},pipedream:{listApps:(...n)=>zc(e,...n),listSections:(...n)=>Yc(e,...n),connect:(...n)=>Wc(e,...n),finalize:(...n)=>eu(e,...n)},discover:{list:(...n)=>ws(e,...n),sections:(...n)=>Qc(e,...n),detail:(...n)=>vs(e,...n)}},...Zf(e)}}function ty(e){return{gateway:{logs:t=>Np(e,t),log:t=>qp(e,t),overview:t=>Gp(e,t),series:t=>Wp(e,t),breakdown:t=>Kp(e,t),sessions:t=>Hp(e,t),errors:t=>Vp(e,t),budgets:()=>zp(e),setBudget:t=>Yp(e,t),deleteBudget:t=>Qp(e,t),keys:()=>Jp(e),createKey:t=>Xp(e,t),revokeKey:t=>Zp(e,t),routing:{get:()=>Up(e),set:t=>Fp(e,t),reset:()=>Lp(e),preview:t=>Bp(e,t)},playground:(t,n,r)=>ed(e,t,n,r)}}}function ny(e){return{modelDefaults:{get:()=>Gl(e),set:t=>Wl(e,t),clear:t=>Kl(e,t)},setDefaultAgent:t=>zl(e,t),sandbox:{list:()=>gu(e),snapshots:()=>iu(e),rebuildSnapshot:t=>au(e,t),fixWithAgent:()=>cu(e),createTemplate:t=>uu(e,t),updateTemplate:(...t)=>lu(e,...t),removeTemplate:t=>pu(e,t),buildTemplate:t=>du(e,t),setProvider:t=>ha(e,t)},setAgentScope:(...t)=>Vl(e,...t)}}function ry(e){return{channels:{slack:{installation:()=>xp(e),connect:t=>wp(e,t),mode:()=>vp(e),completeInstall:t=>kp(e,t),manifest:()=>Cp(e),disconnect:()=>Ip(e),getFile:t=>Tp(e,t),uploadFile:t=>Ep(e,t)},teams:{completeInstall:t=>Rp(e,t)},email:{installation:t=>Mp(e,t),mode:()=>Op(e),connect:t=>Dp(e,t),disconnect:t=>jp(e,t),updatePolicy:(...t)=>$p(e,...t)}},updateFeatureFlag:(...t)=>fa(e,...t),updateExperimentalFeature:(...t)=>ya(e,...t),...ny(e)}}function KS(){return et()}var sy=null,oy=!1;function HS(e){let t=sy;sy=e,!(oy||!t)&&(t.backendUrl===e.backendUrl&&t.getToken===e.getToken||(oy=!0,console.warn("[beeuni] createBeeuni() was called again with a different backendUrl or getToken. Every client shares one process-global config, so the earlier client now uses the new one. For several tenants in one process use createScopedBeeuni() from @beeuni/sdk/server.")))}function VS(e,t){t?.global!==!1&&HS(e),ts(e,t);let n=jm(e),{auth:r,accounts:s,iam:o,accountInvites:i}=Tm(),{billing:a,sandboxShares:u}=Rm(),{projects:p,github:d,gitBackend:g,connectStatus:m,marketplace:f}=km();function h(x){let D=Hf(x);return{...Qf(x),...Gf(x),...Kf(x),...ey(x,D),...ty(x),...ry(x),connector:j=>To(x,j),session:j=>Io(x,j,e,n)}}return{config:e,auth:r,accounts:s,providerConnections:{list:pm,saveApiKey:dm,remove:gm,startOAuth:mm,pollOAuth:fm,listProject:ym,setProject:hm},iam:o,accountInvites:i,projects:p,connectors:Mr(),connector:x=>To(void 0,x),project:h,session:(x,D)=>Io(x,D,e,n),github:d,gitBackend:g,billing:a,sandboxShares:u,connectStatus:m,marketplace:f,notifications:{registerDeviceToken:tm,unregisterDeviceToken:nm,list:rm,markRead:sm,preferences:om,updatePreferences:im,webPushPublicKey:am,registerWebPushSubscription:cm,unregisterWebPushSubscription:um},validateToken:ia,runtime:KS}}function zS(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].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("")}`}function YS(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function Rt(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function QS(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function JS(e){if(Rt(e).length>0)return{state:e};let t=e.pending[0];if(!t)return{state:e};let n={...t,attempts:t.attempts+1};return{state:{...e,pending:[n,...e.pending.slice(1)],inFlightId:n.id,inFlightIds:[n.id]},claimed:n}}function XS(e){let t=Rt(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function ZS(e,t){let n=Rt(e);if(n.length===0)return e;let r=e.pending.filter(s=>n.includes(s.id));return r.length===0?{...e,inFlightId:null,inFlightIds:[]}:{pending:e.pending.filter(s=>!n.includes(s.id)),failed:[...e.failed,...r.map(s=>({...s,lastError:t}))],inFlightId:null,inFlightIds:[]}}function ex(e,t){let n=e.failed.find(o=>o.id===t);if(!n)return e;let{lastError:r,...s}=n;return{...e,pending:[...e.pending,s],failed:e.failed.filter(o=>o.id!==t)}}function tx(e,t){return Rt(e).includes(t)?e:e.pending.some(n=>n.id===t)?{...e,pending:e.pending.filter(n=>n.id!==t)}:e.failed.some(n=>n.id===t)?{...e,failed:e.failed.filter(n=>n.id!==t)}:e}function nx(e,t,n){return Rt(e).includes(t)||!e.pending.some(r=>r.id===t)?e:{...e,pending:e.pending.map(r=>r.id===t?{...r,text:n}:r)}}function rx(e,t,n){let r=Rt(e);if(r.includes(t))return e;let s=e.pending.findIndex(p=>p.id===t);if(s===-1)return e;let o=r.length,i=Math.min(Math.max(n,o),e.pending.length-1);if(i===s)return e;let a=[...e.pending],[u]=a.splice(s,1);return a.splice(i,0,u),{...e,pending:a}}var iy={thinking:!1,toolDetails:!0,assistantMetadata:!0};function sx(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function ox(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60),r=t%60;return`${n}m ${r.toFixed(0)}s`}function ix(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
20
+ `))if(h.startsWith("data:"))f.push(h.replace(/^data:\s*/,""));else if(h.startsWith("id:"))m.id=h.replace(/^id:\s*/,"");else if(h.startsWith("retry:")){let S=Number.parseInt(h.replace(/^retry:\s*/,""),10);Number.isNaN(S)||(m.retry=S)}f.length&&(m.data=f.join(`
21
+ `)),yield m}}}finally{r.removeEventListener("abort",i),o.releaseLock()}}}async function*iv(e,t,n){let r=e.eventTransport??Pi(e.fetch??globalThis.fetch),s=n.signal??new AbortController().signal,o=n.sseDefaultRetryDelay??3e3,i;for(let a=1;!s.aborted;a++)try{let c=new Headers(n.headers);i!==void 0&&c.set("Last-Event-ID",i);for await(let p of r({url:new URL(t).href,headers:c,signal:s}))if(p.id!==void 0&&(i=p.id),p.retry!==void 0&&(o=p.retry),p.data!==void 0)try{yield JSON.parse(p.data)}catch{yield p.data}return}catch(c){if(n.onSseError?.(c),n.sseMaxRetryAttempts!==void 0&&a>=n.sseMaxRetryAttempts)return;let p=Math.min(o*2**(a-1),n.sseMaxRetryDelay??3e4);await new Promise(d=>setTimeout(d,p))}}function Rn(e){let t=s=>(o,i)=>ov(e,rv(e.baseUrl,s,o,i)),n=s=>o=>t(s)(void 0,o);return{session:{list:t("session.list"),get:t("session.get"),create:t("session.create"),delete:t("session.delete"),update:t("session.update"),status:t("session.status"),messages:t("session.messages"),prompt:t("session.prompt"),promptAsync:t("session.promptAsync"),abort:t("session.abort"),revert:t("session.revert"),unrevert:t("session.unrevert"),summarize:t("session.summarize"),command:t("session.command"),share:t("session.share"),unshare:t("session.unshare"),fork:t("session.fork"),diff:t("session.diff"),todo:t("session.todo")},permission:{list:t("permission.list"),reply:t("permission.reply")},question:{list:t("question.list"),reply:t("question.reply"),reject:t("question.reject")},part:{update:t("part.update"),delete:t("part.delete")},file:{list:t("file.list"),read:t("file.read")},find:{files:t("find.files")},vcs:{diff:t("vcs.diff")},global:{event:async(s={})=>({stream:iv(e,`${e.baseUrl.replace(/\/$/,"")}/global/event`,s)}),health:n("global.health"),dispose:n("global.dispose"),config:{get:n("global.config.get"),update:t("global.config.update")}},provider:{list:t("provider.list"),auth:t("provider.auth"),oauth:{authorize:t("provider.oauth.authorize"),callback:t("provider.oauth.callback")}},auth:{set:t("auth.set")},app:{agents:t("app.agents"),skills:t("app.skills"),log:t("app.log")},command:{list:t("command.list")},tool:{ids:t("tool.ids"),list:t("tool.list")},mcp:{status:t("mcp.status"),add:t("mcp.add"),connect:t("mcp.connect"),disconnect:t("mcp.disconnect"),auth:{start:t("mcp.auth.start"),callback:t("mcp.auth.callback"),remove:t("mcp.auth.remove")}},project:{list:t("project.list"),current:t("project.current")},path:{get:t("path.get")}}}var Qy=200;async function av(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n.data?.message||n.error||n.message||t||`HTTP ${e.status}`}catch{return t||`HTTP ${e.status}`}}function St(e,t){if(e.error===void 0)return e.data;let n=e.error,r=typeof n=="string"?n:n?.data?.message||n?.message||n?.error||"request failed";throw new x(`${t}: ${r}`,{...e.response?{status:e.response.status,response:e.response}:{}})}function Xy(e){let t=e.runtimeUrl.replace(/\/$/,""),n=Rn({baseUrl:t,fetch:e.fetch});return{messages:async(r={})=>{let s=encodeURIComponent(r.conversationId??e.rootId),o=async(c,p)=>{let d=new URLSearchParams;c!==void 0&&d.set("limit",String(c)),p&&d.set("before",p);let g=`/messages/${s}${d.size?`?${d}`:""}`,m=S=>e.fetch(new Request(`${t}${S}${g}`,{method:"GET",...r.signal?{signal:r.signal}:{}})),f=await m("/beeuni/runtime");if((f.status===404||(f.headers.get("content-type")??"").startsWith("text/html"))&&(f=await m("/beeuni/opencode")),!f.ok)throw new x(`Reading the session transcript failed: ${await av(f)}`,{status:f.status,response:f});let h=await f.json();return{messages:h.messages??[],hasMore:h.has_more===!0}},i=await o(r.limit===void 0?void 0:Math.min(r.limit,Qy),r.before),a=[...i.messages];for(;r.limit!==void 0&&a.length<r.limit&&i.hasMore&&a.length>0&&(i=await o(Math.min(r.limit-a.length,Qy),a[0].info.id),!!i.messages.length);)a.unshift(...i.messages);return{messages:a,hasMore:i.hasMore}},pending:async()=>{let[r,s,o]=await Promise.all([n.session.status().then(i=>St(i,"Reading the session status failed")),n.permission.list().then(i=>St(i,"Reading permission requests failed")),n.question.list().then(i=>St(i,"Reading questions failed"))]);return{statuses:r??{},permissions:s??[],questions:o??[]}},answerPermission:async(r,s,o)=>{St(await n.permission.reply({requestID:r,reply:s,...o!==void 0?{message:o}:{}}),"Answering the permission request failed")},answerQuestion:async(r,s)=>{if(s===null){St(await n.question.reject({requestID:r}),"Dismissing the question failed");return}St(await n.question.reply({requestID:r,answers:s}),"Answering the question failed")},compact:async r=>{let s=r;if(!s){let o=await n.global.config.get().then(c=>c.error===void 0?c.data:null),i=typeof o?.model=="string"?o.model:"",a=i.indexOf("/");a>0&&a<i.length-1&&(s={providerID:i.slice(0,a),modelID:i.slice(a+1)})}if(!s)throw new x("Cannot compact: no model is set for this session",{code:"MODEL_REQUIRED"});return St(await n.session.summarize({sessionID:e.rootId,providerID:s.providerID,modelID:s.modelID}),"Compacting the session failed"),s}}}function Zy(e){async function t(){let{runtimeSessionId:n,runtimeUrl:r}=await e.ensureReady();return Xy({runtimeUrl:r,rootId:n,fetch:j})}return{messages:async n=>(await t()).messages(n),pending:async()=>(await t()).pending(),answerPermission:async(n,r,s)=>(await t()).answerPermission(n,r,s),answerQuestion:async(n,r)=>(await t()).answerQuestion(n,r),compact:async n=>(await t()).compact(n)}}function eh(e){return{setModel:t=>{e.model=t},changeModel:async t=>{let n=await zp(e.projectId,e.sessionId,t);return e.clearPersistedDefaults(),n}}}var Cn=BigInt(4096),ot=BigInt(0xffffffffffff),th=ot+BigInt(1),cv=th/BigInt(2),Pt=BigInt(3600*1e3)*Cn,xi=120*1e3,lv=/^msg_[0-9a-f]{12}[A-Za-z0-9]{14}$/,uv=/^msg_([0-9a-f]{12})/,nh="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function zt(e){let t=uv.exec(e??"");return t?BigInt(`0x${t[1]}`):null}function Tn(e){return BigInt(Math.trunc(e))*Cn&ot}function Yt(e,t){let n=e-t&ot;return n>=cv&&(n-=th),n}function rh(e){let t=null;for(let n of e)n!=null&&(t===null||Yt(n,t)>BigInt(0))&&(t=n);return t}function pv(e,t){let n=zt(e);return n===null?!1:Yt(n,Tn(t))>Pt}function dv(e,t){let n=t===void 0?null:Tn(t);return sh(e,r=>n===null||Yt(r,n)<=Pt)}function sh(e,t){let n=[];for(let r of e){let s=zt(r);s!==null&&t(s)&&n.push(s)}return rh(n)}function gv(){let e="",t=new Uint8Array(32);for(;e.length<14;){crypto.getRandomValues(t);for(let n of t)n<248&&e.length<14&&(e+=nh[n%62])}return e}function oh(e){let t=e.random,n=Tn(e.nowMs-(e.backdateMs??xi)),r=e.newestKnownTime??null;if(r!==null){let o=Yt(r,n);o>=BigInt(0)&&o<=Pt&&(n=r+BigInt(1)&ot)}let s="";if(t)for(let o=0;o<14;o++)s+=nh[Math.min(61,Math.floor(t()*62))];else s=gv();return{id:`msg_${n.toString(16).padStart(12,"0")}${s}`,time:n}}function wi(e={}){let t=e.nowMs??Date.now(),n=Tn(t-xi),r=sh(e.after??[],s=>{let o=Yt(s,n);return o>=BigInt(0)&&o<=Pt});return oh({nowMs:t,newestKnownTime:r}).id}function ih(e){return{scope:()=>Vp(e.projectId,e.sessionId),providerSecretPool:{list:()=>jl(e.projectId,e.sessionId),get:t=>Dl(e.projectId,e.sessionId,t),set:(t,n)=>Ll(e.projectId,e.sessionId,t,n)},rescope:t=>Hp(e.projectId,e.sessionId,t),setAgent:t=>{e.agent=t},send:async(t,n)=>{await e.ensureReady();let r=n?.model??e.model,s=n?.agent??e.agent,o=r&&s?{}:await e.persistedPromptDefaults(),i=r??o.model,a=s??o.agent,c=wi(),p=await qr(e.projectId,e.sessionId,{clientMessageId:c,messageId:c,remintOnDelivery:!0,parts:[{type:"text",text:t}],clientSentAtMs:Date.now(),...i||a?{overrides:{...i?{model:i}:{},...a?{agent:a}:{}}}:{}});if(p.state==="failed")throw new x("This prompt was refused: its earlier delivery already failed.",{code:"PROMPT_FAILED"});return p}}}var ah=async function*(e){let t=C().eventStreamTransport;if(!t){yield*Pi(((s,o)=>j(s,o,{timeoutMs:null})))(e);return}let{headers:n,rejected:r}=await Sr(e.url,e.headers);try{yield*t({...e,headers:n})}catch(s){throw s?.status===401&&r(),s}};function ze(){let e=Vy();return e||(C().billingEnabled??!1?"":cd())}async function vi(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Ai(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function ch(e){let t=Ai(e),n=await j(`${t}/env`);if(!n.ok)throw new Error(await vi(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function lh(e,t,n){let r=Ai(e),s=await j(`${r}/env/${encodeURIComponent(t)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})});if(!s.ok)throw new Error(await vi(s,"Failed to save secret"))}async function uh(e,t){let n=Ai(e),r=await j(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await vi(r,"Failed to delete secret"))}var mv={list:ch,set:lh,delete:uh};async function fv(e,t,n){let r=e;for(;r.endsWith("/");)r=r.slice(0,-1);let s=await j(`${r}/beeuni/triggers${t}`,{...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}async function gs(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function En(e){if(!e)throw new Error("[beeuni-pty] Server URL not ready \u2014 sandbox is still loading");return me(e)}async function ph(e){let t=En(e),n=await j(`${t}/beeuni/pty`);if(!n.ok)throw new Error(await gs(n,"Failed to list terminals"));return n.json()}async function dh(e,t){let n=En(e),r=await j(`${n}/beeuni/pty`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!r.ok)throw new Error(await gs(r,"Failed to create terminal"));return r.json()}async function gh(e,t,n){let r=En(e),s=await j(`${r}/beeuni/pty/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!s.ok)throw new Error(await gs(s,"Failed to update terminal"));return s.json()}async function mh(e,t){let n=En(e),r=await j(`${n}/beeuni/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await gs(r,"Failed to remove terminal"))}async function fh(e,t,n){let r=En(t),o=`${(()=>{try{let p=new URL(r);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:"),me(p.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/beeuni/pty/${encodeURIComponent(e)}/connect`,i=new URLSearchParams,a=await ft();a&&i.set("token",a),n?.wake&&i.set("wake","1");let c=i.toString();return c?`${o}${o.includes("?")?"&":"?"}${c}`:o}function yv(e){let t=e.reason.trim().toLowerCase();return t.includes("pty not found")?"replace":t.includes("pty exited")?"ended":e.hadError||t.includes("idle timeout")||t.includes("upstream error")||e.code!==1e3?"reconnect":"ended"}var it="\x1B",yh="\x07",hv="\0",ki=`(?:${yh}|${it}\\\\)`,_v=[new RegExp(`${it}\\]697;[^${yh}${it}]*${ki}`,"g"),new RegExp(`${hv}?\\{"cursor":\\d+\\}`,"g"),new RegExp(`${it}\\][0-9]+;rgb:[0-9a-fA-F/]+${ki}`,"g"),new RegExp(`${it}\\]4;[0-9]+;rgb:[0-9a-fA-F/]+${ki}`,"g"),new RegExp(`${it}\\[\\??[0-9;]*\\$y`,"g"),new RegExp(`${it}\\[\\d+;\\d+R`,"g"),new RegExp(`${it}\\[\\?[0-9;]*c`,"g")];function bv(e){let t=e;for(let n of _v)t=t.replace(n,"");return t}var Sv={list:ph,create:dh,update:gh,remove:mh,webSocketUrl:fh};async function M(e,t,n,r){let s=e;for(;s.endsWith("/");)s=s.slice(0,-1);let o=await j(`${s}${t}`,{...n,headers:{"Content-Type":"application/json",...n?.headers}},r),i=await o.text(),a={};try{a=i?JSON.parse(i):{}}catch{a={}}if(!o.ok)throw new Error(a?.error||a?.message||a?.details||i.slice(0,200)||`Request failed with ${o.status}`);return a}async function hq(e,t={}){let n=new URLSearchParams;t.projectId&&n.set("project_id",t.projectId),t.status&&n.set("status",t.status);let r=n.toString()?`?${n}`:"";return M(e,`/beeuni/tasks${r}`)}async function _q(e,t){return M(e,`/beeuni/tasks/${encodeURIComponent(t)}`)}async function bq(e,t){return M(e,`/beeuni/tasks/${encodeURIComponent(t)}/events`)}async function Sq(e,t){return M(e,`/beeuni/tasks/${encodeURIComponent(t)}/status`)}async function Pq(e,t){return M(e,"/beeuni/tasks",{method:"POST",body:JSON.stringify(t)})}async function xq(e,t,n){return M(e,`/beeuni/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function wq(e,t){return M(e,`/beeuni/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function vq(e,t){return M(e,`/beeuni/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function Aq(e,t){return M(e,`/beeuni/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function kq(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return M(e,`/beeuni/tickets${n}`)}async function Rq(e,t){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}`)}async function Cq(e,t){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}/events`)}async function Tq(e,t){return M(e,"/beeuni/tickets",{method:"POST",body:JSON.stringify(t)})}async function Eq(e,t,n){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function Iq(e,t,n){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function Mq(e,t,n){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function Oq(e,t,n){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function Dq(e,t,n){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function jq(e,t){return M(e,`/beeuni/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function Lq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/columns`)}async function $q(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function Bq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/fields`)}async function Uq(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function Fq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/templates`)}async function Nq(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function qq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function Gq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/agents`)}async function Wq(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function Kq(e,t,n,r){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function Vq(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Hq(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function zq(e,t,n=200){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function Yq(e){return M(e,"/beeuni/projects")}async function Jq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}`)}async function Qq(e,t){return M(e,`/beeuni/projects/by-session/${encodeURIComponent(t)}`)}async function Xq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/sessions`)}async function Zq(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function eG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function tG(e,t,n="all"){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function nG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function rG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function sG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function oG(e,t,n,r){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function iG(e,t,n,r){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function aG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function cG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function lG(e,t){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials`)}async function uG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function pG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function dG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function gG(e,t,n){return M(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var Pv=1e4,xv={retryOnAuthError:!1};function Jt(e,t,n){return M(e,t,{signal:AbortSignal.timeout(Pv),...n},xv)}async function mG(e,t=!1){return(await Jt(e,`/beeuni/services${t?"?all=true":""}`)).services??[]}async function fG(e){return(await Jt(e,"/beeuni/services/templates")).templates??[]}async function yG(e,t){return(await Jt(e,`/beeuni/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function hG(e,t,n){let r=n==="delete",s=r?`/beeuni/services/${encodeURIComponent(t)}`:`/beeuni/services/${encodeURIComponent(t)}/${n}`;return Jt(e,s,{method:r?"DELETE":"POST"})}async function _G(e,t){return Jt(e,`/beeuni/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function bG(e,t){return Jt(e,"/beeuni/services/register",{method:"POST",body:JSON.stringify(t)})}var Ye=new Map,wv=256,In=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function xt(){let e=ze();if(!e)throw new In;return Je(e)}function Je(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=Ye.get(e);if(t)return Ye.delete(e),Ye.set(e,t),t;if(!to())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureBeeuni()/createBeeuni() before talking to a sandbox runtime.");let n=Rn({baseUrl:e,fetch:j,eventTransport:ah});return Ye.set(e,n),Ye.size>wv&&Ye.delete(Ye.keys().next().value),n}function RG(e){Ye.delete(e)}function CG(){Ye.clear()}var ms=new Map;function TG(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=ms.get(e);if(t)return t;let n=Rn({baseUrl:e,fetch});return ms.set(e,n),n}function EG(e){ms.delete(e)}function IG(){ms.clear()}async function vv(e){let t=await e.text().catch(()=>"");try{let n=JSON.parse(t);return n?.error||n?.message||t||e.statusText||`HTTP ${e.status}`}catch{return t||e.statusText||`HTTP ${e.status}`}}async function MG(e){let t=ze();if(!t)throw new x("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading",{code:"RUNTIME_UNAVAILABLE"});let n=e==="full"?"/beeuni/refresh":"/global/dispose",r=await j(`${t}${n}`,{method:"POST"}),s=r.headers.get("content-type")??"",o=/^application\/([\w.+-]+\+)?json\b/i.test(s.trim());if(!r.ok)throw new x(`System reload failed (${r.status}): ${await vv(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new x(`System reload endpoint is unavailable on this sandbox (${n})`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});let i;try{i=await r.json()}catch(c){throw new x(`System reload returned malformed JSON from ${n}: ${c instanceof Error?c.message:String(c)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"})}let a=i===!0||typeof i=="object"&&i!==null&&i.ok===!0;return{success:a,mode:e,steps:a?[e==="full"?"refreshed workspace and restarted runtime":"reloaded config in place"]:[],errors:a?[]:[`the sandbox did not confirm the reload (${n})`]}}var hh="frontend";function fs(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${hh}] ${t}`,...n?[n]:[]);try{xt().app.log({service:hh,level:e,message:t,extra:n})}catch{}}var at={debug:(e,t)=>fs("debug",e,t),info:(e,t)=>fs("info",e,t),warn:(e,t)=>fs("warn",e,t),error:(e,t)=>fs("error",e,t)};function Av(e){return{type:"heartbeat-gap",gapMs:e}}function kv(e){switch(e.type){case"message.updated":return{type:"message.updated",sessionID:e.properties.sessionID,message:e.properties.info};case"message.removed":return{type:"message.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID};case"message.part.updated":return{type:"message.part.updated",sessionID:e.properties.sessionID,part:e.properties.part};case"message.part.removed":return{type:"message.part.removed",sessionID:e.properties.sessionID,messageID:e.properties.messageID,partID:e.properties.partID};case"session.status":return{type:"session.status",sessionID:e.properties.sessionID,status:e.properties.status};case"session.idle":return{type:"session.idle",sessionID:e.properties.sessionID};case"session.error":return{type:"session.error",sessionID:e.properties.sessionID,error:e.properties.error};case"question.asked":return{type:"question.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,questions:e.properties.questions,tool:e.properties.tool};case"question.replied":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"replied",answers:e.properties.answers};case"question.rejected":return{type:"question.answered",sessionID:e.properties.sessionID,requestID:e.properties.requestID,outcome:"rejected"};case"permission.asked":return{type:"permission.asked",sessionID:e.properties.sessionID,requestID:e.properties.id,permission:e.properties.permission,patterns:e.properties.patterns,tool:e.properties.tool};case"permission.replied":return{type:"permission.replied",sessionID:e.properties.sessionID,requestID:e.properties.requestID,reply:e.properties.reply};case"todo.updated":return{type:"todo.updated",sessionID:e.properties.sessionID,todos:e.properties.todos};case"server.connected":return{type:"connection",status:"connected"};default:return null}}var Rv={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),random:()=>Math.random()},Cv=16,Tv=8,Ev=6e4,Iv=5e3,Mv=250,Ov=1e3,Dv=3e4,jv=5,Lv=1e4,$v=4,Bv=.5,Uv=3e3,Fv=3e4,Nv=2e4,qv=2e3,Gv=8;function Wv(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function Kv(e,t){if(e?.type!=="message.part.delta"||t.type!=="message.part.delta")return;let n=e.properties,r=t.properties;if(n.partID!==r.partID||n.field!==r.field||n.messageID!==r.messageID||n.sessionID!==r.sessionID)return;let s=e.coalesced??[e];return s.push(t),{...t,properties:{...r,delta:n.delta+r.delta},coalesced:s}}function _h(e){if(e.aborted)return{promise:Promise.resolve(),cleanup:()=>{}};let t=()=>{};return{promise:new Promise(r=>{t=()=>r(),e.addEventListener("abort",t,{once:!0})}),cleanup:()=>e.removeEventListener("abort",t)}}var Mn=new WeakMap;function Vv(e,t,n){let r=t.timers??Rv,s=t.connectTimeoutMs??Nv,o=t.heartbeatTimeoutMs??Ev,i=t.maxConsecutiveHardFailures??Gv,a=new AbortController;function c(y,..._){for(let R of n){let v=y(R);if(v)try{v(..._)}catch(b){console.warn("[opencode-events] subscriber handler threw, skipping",b)}}}let p=null,d=!1,g=y=>{p!==y&&(p=y,y&&c(_=>_.onConnectionChange,y))},m=r.now(),f=null,h=[],S,E=0,L=new Map,D=()=>{if(S&&r.clearTimeout(S),S=void 0,h.length===0)return;let y=h;h=[],L.clear(),E=r.now(),m=r.now();for(let _ of y)_&&c(R=>R.onEvent,_.event)},w=()=>{if(S)return;let y=r.now()-E;S=r.setTimeout(D,Math.max(0,Cv-y))};return(async()=>{let y=0,_=0,R=0;for(;!a.signal.aborted;){let v=!1,b=!1,P,O,A=null,$=r.now(),N=new AbortController;g("connecting");let T=_h(a.signal);T.promise.then(()=>N.abort());try{let Z=await new Promise((Tt,dt)=>{let ge=!1;O=r.setTimeout(()=>{ge||(ge=!0,at.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),N.abort(),dt(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:N.signal,sseDefaultRetryDelay:Uv,sseMaxRetryDelay:Fv,sseMaxRetryAttempts:1}).then(je=>{ge||(ge=!0,r.clearTimeout(O),Tt(je))},je=>{ge||(ge=!0,r.clearTimeout(O),dt(je))})}),{stream:ut}=Z;if(f){let Tt=r.now()-f.lastActivityAt,dt=f.eventful;f=null,(dt||Tt>Iv)&&c(ge=>ge.onGapRehydrate,Tt)}m=r.now();let pt=()=>{r.clearTimeout(P),P=r.setTimeout(()=>{at.warn("SSE heartbeat timeout, forcing reconnect"),N.abort()},o)};pt();let pr=r.now(),nP=ut[Symbol.asyncIterator]();for(;!N.signal.aborted;){let Tt=nP.next().then(Le=>({kind:"next",result:Le}),Le=>({kind:"error",error:Le})),dt=_h(N.signal),ge=await Promise.race([Tt,dt.promise.then(()=>({kind:"aborted"}))]);if(dt.cleanup(),ge.kind==="aborted")break;if(ge.kind==="error")throw ge.error;if(ge.result.done)break;g("open"),pt();let je=ge.result.value,Et=je&&typeof je=="object"&&"payload"in je?je.payload:je;if(!Et?.type)continue;Et.type!=="server.connected"&&(v=!0);let Xs=Kv(h[h.length-1]?.event,Et);if(Xs)h[h.length-1]={type:Xs.type,event:Xs};else{let Le=Wv(Et);if(Le){let Da=L.get(Le);Da!==void 0&&(h[Da]=void 0),L.set(Le,h.length)}h.push({type:Et.type,event:Et})}w(),!(r.now()-pr<Tv)&&(await new Promise(Le=>r.setTimeout(Le,0)),pr=r.now())}b=v}catch(Z){if(a.signal.aborted)break;A=Z;let ut=String(Z),pt=pn(Z)||pn(Z?.cause);if(at.error("SSE event stream error",{error:ut,retryCount:y,isAuthError:pt}),pt)try{mo(),await ft(),at.info("SSE: refreshed auth token after auth error")}catch(pr){at.error("SSE: failed to refresh auth token",{error:String(pr)})}}finally{r.clearTimeout(P),r.clearTimeout(O),N.abort(),T.cleanup(),D()}if(a.signal.aborted)break;let q=r.now()-$,W=A?.cause?.status;if(_=!v&&(typeof W=="number"&&W>=400||q<qv)?_+1:0,_>=i){at.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:_,lastError:String(A)}),p=null,d=!0,c(Z=>Z.onParked,{consecutiveFailures:_,lastError:A});break}g("lost"),f={lastActivityAt:m,eventful:(f?.eventful??!1)||v},R=b&&q<Lv?R+1:0;let Oe=b&&R<=$v;Oe?y=0:(y++,y>1&&at.warn("SSE event stream reconnecting",{retryCount:y}));let un=Oe?Mv:Math.min(Ov*2**Math.min(y-1,jv),Dv),De=Math.round(un*(1+Bv*(r.random?.()??0)));await new Promise(Z=>{let ut=r.setTimeout(Z,De),pt=()=>{r.clearTimeout(ut),Z()};a.signal.addEventListener("abort",pt,{once:!0})})}})(),{subscribers:n,connectionState:()=>p,isParked:()=>d,teardown:()=>{p=null,a.abort(),S&&r.clearTimeout(S)}}}function Ri(e){let{onEvent:t,onGapRehydrate:n,onParked:r,onConnectionChange:s,signal:o}=e,i=e.client??(e.url?Je(e.url):void 0);if(!i)throw new Error("openEventStream needs the session runtime `url`");let a={onEvent:t,onGapRehydrate:n,onParked:r,onConnectionChange:s},c=Mn.get(i);if(c?.isParked()&&(Mn.delete(i),c=void 0),!c)c=Vv(i,e,new Set([a])),Mn.set(i,c);else{c.subscribers.add(a);let f=c.connectionState();f&&s?.(f)}let p=c,d=!1,g=()=>{d||(d=!0,o&&o.removeEventListener("abort",m),p.subscribers.delete(a),p.subscribers.size===0&&(p.teardown(),Mn.get(i)===p&&Mn.delete(i)))},m=()=>g();return o&&(o.aborted?g():o.addEventListener("abort",m,{once:!0})),{close:g}}function bh(e){return{abort:async()=>{let{runtimeSessionId:t,runtimeUrl:n}=await e.ensureReady();return Je(n).session.abort({sessionID:t})},rewind:async t=>{let{runtimeSessionId:n,runtimeUrl:r}=await e.ensureReady();return Je(r).session.revert({sessionID:n,messageID:t})},restoreRewind:async()=>{let{runtimeSessionId:t,runtimeUrl:n}=await e.ensureReady();return Je(n).session.unrevert({sessionID:t})},stream:async t=>{let{runtimeUrl:n}=await e.ensureReady();return Ri({url:n,onEvent:t.onEvent,onGapRehydrate:t.onGapRehydrate,signal:t.signal})}}}function wh(e){if(e.error){let t=e.error,n=t?.data?.message||t?.message||(typeof t?.error=="string"?t.error:null)||"SDK request failed";throw new x(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Qt(e){let t=await e.text().catch(()=>""),n=null;try{n=JSON.parse(t)}catch{}return n?.error||t||e.statusText||`HTTP ${e.status}`}function se(e){let t=(e??ze()).trim();if(!t)throw new In;return t}async function hs(e,t){let n=await j(`${se(t)}${e}`);if(!n.ok)throw new x(await Qt(n),{status:n.status,response:n});return n.json()}var Ei=["/workspace","/tmp","/home","/opt"],Hv=Ei.filter(e=>e!=="/workspace");function vh(e){return Ei.some(t=>e===t||e.startsWith(`${t}/`))}function $n(e){return vh(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function wt(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(Hv.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var Ah=wt;async function Bn(e,t){let n=se(t),r=wt(e)||".";return(await hs(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function Un(e,t){let n=se(t),r=wt(e),s=await j(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new x(await Qt(s),{status:s.status,response:s});return s.json()}async function zv(e,t,n){let r=se(n),s=wt(e),o=await j(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new x(await Qt(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new x("File could not be loaded (raw byte route unavailable)",{status:o.status,response:o,code:"INVALID_CONTENT_TYPE"});let i=await o.blob();return t&&(!i.type||i.type==="application/octet-stream")?new Blob([i],{type:t}):i}var Yv=8,ys=0,kh=[];async function Jv(){if(ys<Yv){ys++;return}await new Promise(e=>kh.push(e)),ys++}function Qv(){ys--,kh.shift()?.()}function Xv(e,t){let n=se(t);return Ir(`${n}/file/raw?path=${encodeURIComponent(wt(e))}`)}async function Fn(e,t){await Jv();try{let n=se(t);try{return await zv(e,void 0,n)}catch{}let r=await Un(e,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"})}finally{Qv()}}async function _s(e){return hs("/file/status",se(e))}async function bs(e,t,n){let r=se(n),s=new URLSearchParams({query:e});return t?.type&&s.set("type",t.type),t?.limit&&s.set("limit",String(t.limit)),hs(`/find/file?${s.toString()}`,r)}async function Ss(e,t){let n=se(t);return(await hs(`/find?pattern=${encodeURIComponent(e)}`,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 On=[400,1200],Zv=e=>e===408||e===429||e===502||e===503||e===504,Sh=e=>new Promise(t=>setTimeout(t,e));function eA(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Ci=3e4,Rh=15*6e4,tA=256;function Dn(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Ci;let t=Ci+e/tA;return Math.min(Rh,Math.max(Ci,Math.round(t)))}async function nA(e){let t=await e.text().catch(()=>""),n=null;try{n=t?JSON.parse(t):null}catch{}let r=n?.error||n?.message||n?.data?.message;return typeof r=="string"&&r.trim()?r.trim():(e.headers.get("content-type")||"").includes("text/html")||/<html[\s>]/i.test(t)?e.status===502||/bad gateway/i.test(t)?"Bad gateway while reaching the sandbox upload service. Please retry.":e.statusText||`HTTP ${e.status}`:t.replace(/\s+/g," ").trim().slice(0,500)||e.statusText||`HTTP ${e.status}`}async function jn(e,t){let n;for(let s=0;s<=On.length;s++){let o;try{o=await t(e())}catch(a){if(n=a,eA(a)||s===On.length)break;await Sh(On[s]);continue}if(o.ok)return o.json();let i=await nA(o);if(n=new x(`Upload failed (${o.status}): ${i}`,{status:o.status,response:o}),!Zv(o.status)||s===On.length)throw n;await Sh(On[s])}if(n instanceof x)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new x(`Upload failed: ${r}`)}var Ti=8*1024*1024;function rA(e,t){if(!(typeof e?.size!="number"||!Number.isFinite(t))&&!(e.size>=t))throw new x(`Upload verification failed for ${e.path}: expected ${t} bytes, received ${e.size}`,{code:"UPLOAD_SIZE_MISMATCH"})}function Ph(e,t){try{e?.onProgress?.(t)}catch{}}function xh(e,t,n){let r=new FormData,s=(t??"").trim();return s&&r.append("path",s.startsWith("/")?s:`/${s}`),n&&r.append("filename",n),n?r.append("file",e,n):r.append("file",e),r}function sA(e){let t=e.lastIndexOf("/");return t<0?{parent:"",name:e}:{parent:e.slice(0,t)||"/",name:e.slice(t+1)}}async function Nn(e,t,n,r,s){let o=typeof r=="string"?r:void 0,i=typeof r=="string"?s:r,a=se(o),c=Dn(e.size),p=n||(e instanceof File?e.name:"")||"";if(e.size<=Ti){let f=await jn(()=>xh(e,t,p),h=>j(`${a}/file/upload`,{method:"POST",body:h},{timeoutMs:c}));return rA(f[0],e.size),Ph(i,{loadedBytes:e.size,totalBytes:e.size}),f}let g=(await jn(()=>xh(new Blob([],{type:e.type}),t,p),f=>j(`${a}/file/upload`,{method:"POST",body:f},{timeoutMs:Dn(0)})))[0]?.path;if(!g)throw new x("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let m=sA(g);if(!m.name)throw new x(`Upload reservation returned an invalid file path: ${g}`,{code:"UPLOAD_INVALID_PATH"});try{for(let f=0;f<e.size;f+=Ti){let h=Math.min(e.size,f+Ti),S=e.slice(f,h,e.type),E=await jn(()=>{let L=new FormData;return m.parent&&L.append("path",m.parent),L.append("filename",m.name),L.append("first",f===0?"true":"false"),L.append("offset",String(f)),L.append("file",S,m.name),L},L=>j(`${a}/file/append`,{method:"POST",body:L},{timeoutMs:Dn(S.size)}));if(E.path!==g||E.size!==h)throw new x(`Upload verification failed for ${g}: expected ${h} bytes, received ${E.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Ph(i,{loadedBytes:h,totalBytes:e.size})}}catch(f){throw await Xt(g,a).catch(()=>{}),f}return[{path:g,size:e.size}]}function oA(e,t,n){let r=se(n);return jn(()=>{let s=new FormData;return t&&s.append("path",t),s.append("file",{uri:e.uri,name:e.name,type:e.type||"application/octet-stream"}),s},s=>j(`${r}/file/upload`,{method:"POST",body:s},{timeoutMs:iA}))}var iA=Rh;function aA(e,t,n){let r=se(n),s=Dn(t.size);return jn(()=>{let o=new FormData;return o.append(e,t,e.split("/").pop()||"file"),o},o=>j(`${r}/file/upload`,{method:"POST",body:o},{timeoutMs:s}))}var Ln=class extends x{path;constructor(t){super(`A file or folder already exists at ${t}`,{status:409,code:"FILE_EXISTS"}),this.name="FileExistsError",this.path=t}};async function Ps(e,t){let n=se(t),r=e.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),i=o.pop()||"untitled",a=o.join("/")||"/workspace",c=$n(`${a}/${i}`),p=[];try{p=await Bn(Ch(c),n)}catch(g){if(!(g instanceof x&&g.status===404))throw g}if(p.some(g=>g.name===Th(c)))throw new Ln(c);let d=await Eh(c,new Blob([],{type:"application/octet-stream"}),n,{overwrite:!1});return[{path:d.path,size:d.bytes}]}async function xs(e,t,n){let r=se(n);return aA(t,await Fn(e,r),r)}function cA(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Ch(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function Th(e){return e.slice(e.lastIndexOf("/")+1)}function lA(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();if(e?.getRandomValues){let t=new Uint8Array(8);return e.getRandomValues(t),[...t].map(n=>n.toString(16).padStart(2,"0")).join("")}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}async function ws(e,t,n){let r=se(n),s=$n(cA(e.trim()));return Eh(s,t,r,{overwrite:!0})}async function Eh(e,t,n,r){let s=Th(e);if(!s)throw new x(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let o=Ch(e);await qn(o,n).catch(()=>{});let i=lA(),a=await Nn(t,o,`.${s}.beeuni-write-${i}`,n),c=a[0]?.path;if(!c)throw new x(`Upload returned no file for ${e}`,{code:"UPLOAD_NO_RESULT"});let p=$n(c);try{await Ih(p,e,n,r.overwrite)}catch(g){throw await Xt(p,n).catch(()=>{}),!r.overwrite&&g instanceof x&&g.status===409?new Ln(e):g}let d=a[0]?.size;return{path:e,bytes:typeof d=="number"?d:t.size}}async function Xt(e,t){let n=await j(`${se(t)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new x(`Delete failed (${n.status}): ${await Qt(n)}`,{status:n.status,response:n});return n.json()}async function qn(e,t){let n=await j(`${se(t)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new x(`Mkdir failed (${n.status}): ${await Qt(n)}`,{status:n.status,response:n});return n.json()}async function vs(e,t,n){return Ih(e,t,se(n),!0)}async function Ih(e,t,n,r){let s=await j(`${n}/file/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r?{from:e,to:t}:{from:e,to:t,overwrite:!1})});if(!s.ok)throw new x(`Rename failed (${s.status}): ${await Qt(s)}`,{status:s.status,response:s});return s.json()}async function Mh(){return wh(await xt().project.current())}async function Ii(){return wh(await xt().global.health())}async function Oh(){try{return(await Ii()).healthy===!0}catch{return!1}}var uA={list:Bn,read:Un,readBlob:Fn,status:_s,findFiles:bs,findText:Ss,upload:Nn,write:ws,create:Ps,copy:xs,remove:Xt,mkdir:qn,rename:vs,currentProject:Mh,health:Ii,isReachable:Oh,toDaemonPath:wt,toSandboxAbsolutePath:$n,toWorkspaceRelative:Ah};function Dh(e){return{list:async t=>Bn(t,(await e()).runtimeUrl),read:async t=>Un(t,(await e()).runtimeUrl),readBlob:async t=>Fn(t,(await e()).runtimeUrl),status:async()=>_s((await e()).runtimeUrl),findFiles:async(t,n)=>bs(t,n,(await e()).runtimeUrl),findText:async t=>Ss(t,(await e()).runtimeUrl),upload:async(t,n,r,s)=>Nn(t,n,r,(await e()).runtimeUrl,s),write:async(t,n)=>ws(t,n,(await e()).runtimeUrl),create:async t=>Ps(t,(await e()).runtimeUrl),copy:async(t,n)=>xs(t,n,(await e()).runtimeUrl),remove:async t=>Xt(t,(await e()).runtimeUrl),mkdir:async t=>qn(t,(await e()).runtimeUrl),rename:async(t,n)=>vs(t,n,(await e()).runtimeUrl)}}function jh(e){return{get:t=>Ur(e.projectId,e.sessionId,t),presence:(t,n)=>l.put(`/projects/${e.projectId}/sessions/${e.sessionId}/presence`,t,{showErrors:!1,keepalive:n?.keepalive??!t.active}),cost:()=>Jr(e.sessionId,{projectId:e.projectId}),update:t=>Up(e.projectId,e.sessionId,t),delete:()=>(e.forgetReady(),Fp(e.projectId,e.sessionId)),restore:()=>qp(e.projectId,e.sessionId),recover:()=>Np(e.projectId,e.sessionId),start:(...t)=>ht(e.projectId,e.sessionId,...t),startOrThrow:(...t)=>pd(e.projectId,e.sessionId,...t),restart:()=>(e.forgetReady(),Gr(e.projectId,e.sessionId)),stop:()=>(e.forgetReady(),Wr(e.projectId,e.sessionId)),configState:()=>Gp(e.projectId,e.sessionId),reloadConfig:t=>(e.forgetReady(),Wp(e.projectId,e.sessionId,t)),reloadConfigStream:(...t)=>(e.forgetReady(),Kp(e.projectId,e.sessionId,...t)),setSharing:t=>_p(e.projectId,e.sessionId,t),previews:()=>vp(e.projectId,e.sessionId),participants:()=>bp(e.projectId,e.sessionId),watch:()=>Sp(e.projectId,e.sessionId),setWatch:t=>Pp(e.projectId,e.sessionId,t),setPinned:t=>xp(e.projectId,e.sessionId,t),setArchived:t=>wp(e.projectId,e.sessionId,t),commit:t=>tp(e.projectId,e.sessionId,t),publicShares:{list:()=>Ap(e.projectId,e.sessionId),create:(...t)=>kp(e.projectId,e.sessionId,...t),revoke:(...t)=>Rp(e.projectId,e.sessionId,...t)}}}function Lh(e){return{reminders:{list:()=>fm(e.projectId,e.sessionId),create:t=>ym(e.projectId,e.sessionId,t),update:(t,n)=>Lo(e.projectId,e.sessionId,t,n),remove:t=>$o(e.projectId,e.sessionId,t)},audit:(t,n)=>Ep(e.projectId,e.sessionId,t,n),attachments:{upload:(t,n)=>ry(e.projectId,e.sessionId,t,n),read:(t,n)=>sy(`beeuni-attachment://${e.projectId}/${e.sessionId}/${t}`,n)},transcript:t=>Ip(e.projectId,e.sessionId,t),messageAuthors:()=>Yp(e.projectId,e.sessionId),modelUsage:()=>Jp(e.projectId,e.sessionId),transcriptSync:t=>Fr(e.projectId,e.sessionId,t),log:t=>Mp(e.projectId,e.sessionId,t),turn:()=>Nr(e.projectId,e.sessionId),prompts:{create:t=>qr(e.projectId,e.sessionId,t),list:()=>Op(e.projectId,e.sessionId),remove:t=>Dp(e.projectId,e.sessionId,t),retry:t=>$p(e.projectId,e.sessionId,t),edit:(t,n)=>jp(e.projectId,e.sessionId,t,n),interrupt:t=>Lp(e.projectId,e.sessionId,t),hold:t=>Bp(e.projectId,e.sessionId,t)},ensureReady:e.ensureReady}}function dA(e,t){return e?.some(n=>n.startsWith("session."))?e.includes(t):!0}var gA=["control_plane","provider_ingress","daemon","upstream_port"];function $h(e){return typeof e=="string"&&gA.includes(e)?e:null}function Bh(e){return e?e.runtimeReady!==void 0?e.runtimeReady===!0:e.harness?e.harness.ready===!0:e.opencode!==void 0?e.opencode==="ok"||e.opencode===!0:e.status!=="starting"&&e.status!=="down"&&e.status!=="error":!1}async function Uh(e,t){let n=(e===void 0?ze():e)||null;if(!n)return{status:0,ok:!1,health:null,body:"",hop:null,upstreamStatus:null};let r=await j(`${n}/beeuni/health`,{method:"GET",...t},{retryOnAuthError:!1}),s=await r.text().catch(()=>""),o=null;try{o=s?JSON.parse(s):null}catch{o=null}let i=o,a=$h(r.headers.get("X-Beeuni-Proxy-Hop"))??$h(o?.hop),c=Number(r.headers.get("X-Beeuni-Upstream-Status")),p=o?.upstream_status,d=Number.isFinite(c)&&c>0?c:typeof p=="number"?p:null;return{status:r.status,ok:r.ok,health:i,body:s,hop:a,upstreamStatus:d}}var Fh=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Nh=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,qh=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,Gh=new Set([22,4096,parseInt(rt.BEEUNI_MASTER,10)]);function mA(e){return Nh.test(e)}function As(e){if(!e)return"/";let t=e,n=t.indexOf("](");n!==-1&&(t=t.slice(0,n));let r=t.toLowerCase().indexOf("%5d(");return r!==-1&&(t=t.slice(0,r)),t?t.startsWith("/")?t:`/${t}`:"/"}function fA(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var yA=new Set(["'",'"',"`","<","(","["]),hA=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function _A(e){let t=0,n=e.length;for(;t<n&&(e[t]===" "||e[t]===" ");)t++;for(;n>t&&(e[n-1]===" "||e[n-1]===" ");)n--;for(;t<n&&yA.has(e[t]);)t++;for(;n>t&&hA.has(e[n-1]);)n--;return e.slice(t,n)}function bA(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var SA=/^\/proxy\/(\d{1,5})(\/.*)?$/,PA=/^\/(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 xA(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:PA.test(t.pathname)}catch{return!1}}function ks(e){if(!e)return null;let t=_A(fA(e.trim())),n=zh(t);if(n){let r=As(n.path||"/");return{originalUrl:`http://localhost:${n.port}${r}`,port:n.port,path:r}}try{let r=new URL(t);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}`,i=parseInt(rt.BEEUNI_MASTER,10);if(s===i){let c=r.pathname.match(SA);if(c){let p=parseInt(c[1],10);if(p>=1&&p<=65535)return s=p,o=As(`${c[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let a=As(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${a}`,port:s,path:a}}catch{let r=bA(e);return r&&r!==e?ks(r):null}}function wA(e){let t=[],n=/```[\s\S]*?```/g,r;for(;(r=n.exec(e))!==null;)t.push([r.index,r.index+r[0].length]);let s=/`[^`\n]+`/g;for(;(r=s.exec(e))!==null;){let o=r.index,i=o+r[0].length;t.some(([c,p])=>o>=c&&i<=p)||t.push([o,i])}return t}function vA(e,t){return t.some(([n,r])=>e>=n&&e<r)}function AA(e){let t=[],n=new Set,r=wA(e);Fh.lastIndex=0;let s;for(;(s=Fh.exec(e))!==null;){let o=ks(s[0]);if(!o)continue;let{originalUrl:i,port:a,path:c}=o;a<1||a>65535||Gh.has(a)||n.has(i)||(n.add(i),t.push({originalUrl:i,port:a,path:c,startIndex:s.index,endIndex:s.index+i.length,inCodeBlock:vA(s.index,r)}))}return t}function l1(e){return AA(e).length>0}function kA(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function Wh(e){return e.trim().toLowerCase().split("_").join("-")}function Kh(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function RA(e,t,n){let r=n.previewUrlTemplate;if(!r||!r.includes("{port}")||!r.includes("{sandbox}"))return null;let s=r.split("{port}").join(String(e)).split("{sandbox}").join(Wh(n.sandboxId));return`${Kh(s)}${t}`}function CA(e){return e.sandboxId.trim().length>0}function vt(e,t,n){let r=As(t);if(!CA(n))return MA(e,r);let s=RA(e,r,n);return s||(kA(n.apiBaseUrl)?`http://p${e}-${Wh(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${Kh(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function u1(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return vt(3211,`/open?path=/workspace/${r}`,t)}function TA(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function p1(e){return`http://localhost:3211${TA(e)}`}function EA(){return"/health"}function d1(e){return vt(3211,EA(),e)}function g1(e,t){return vt(e,"/",t)}function IA(e){let t=ks(e);return!(!t||Gh.has(t.port)||xA(e))}function Vh(e,t){if(!e)return e;let n=ks(e);return n?IA(n.originalUrl)?vt(n.port,n.path,t):n.originalUrl:e}function MA(e,t="/"){return`http://localhost:${e}${t}`}var Hh=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function zh(e){let t=e.match(Nh);if(t)return{port:parseInt(t[1],10),sandboxId:t[2],backendPort:t[3]?parseInt(t[3],10):80,path:t[4]||"/"};let n=e.match(qh);if(n){let s=443;try{let o=new URL(e);s=o.port?parseInt(o.port,10):o.protocol==="https:"?443:80}catch{return null}return{port:parseInt(n[1],10),sandboxId:n[2],backendPort:s,path:n[4]||"/"}}let r=e.match(Hh);if(r)try{let s=new URL(e);return{port:parseInt(r[2],10),sandboxId:r[1],backendPort:parseInt(s.port,10)||(s.protocol==="https:"?443:80),path:r[3]||"/"}}catch{return null}return null}function m1(e){try{let t=zh(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function f1(e){return mA(e)||qh.test(e)||Hh.test(e)}function y1(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var Gn="/web-proxy/";function h1(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${Gn}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(rt.BEEUNI_MASTER,10);return`${vt(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function _1(e){try{let t=new URL(e),n=t.pathname.indexOf(Gn);if(n===-1)return null;let s=t.pathname.slice(n+Gn.length).match(/^(https?)\/([\w.\-]+(?::\d+)?)(\/.*)?$/);if(!s)return null;let o=s[1],i=s[2],a=s[3]||"/";return`${o}://${i}${a}${t.search}${t.hash}`}catch{return null}}function b1(e){try{return new URL(e).pathname.includes(Gn)}catch{return e.includes(Gn)}}function S1(e){if(!e)return!1;let t=e.trim();return!!(/^https?:\/\/(?!localhost|127\.0\.0\.1)/i.test(t)||/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t))}function P1(e){let t=e.trim();return t?/^https?:\/\//i.test(t)?t:/^[a-z0-9][\w.-]*\.[a-z]{2,}/i.test(t)?`https://${t}`:null:null}function Yh(e){return{health:t=>Uh(e.tryResolveReady()?.runtimeUrl??null,t),previewUrl:(t,n="/")=>vt(t,n,e.resolvePreviewOptsForSandbox(e.requireReady("previewUrl").sandboxId)),proxyUrl:t=>Vh(t,e.resolvePreviewOptsForSandbox(e.requireReady("proxyUrl").sandboxId)),sandboxPortUrl:t=>Ge(e.requireReady("sandboxPortUrl").sandboxId,t)}}function Mi(e,t,n,r){let s,o,{persistedPromptDefaults:i,clearPersistedDefaults:a}=Ky(e,t),{ensureReady:c,tryResolveReady:p,requireReady:d,forgetReady:g}=Yy(e,t,n),m={projectId:e,sessionId:t,ensureReady:c,tryResolveReady:p,requireReady:d,forgetReady:g,resolvePreviewOptsForSandbox:r,get model(){return s},set model(f){s=f},get agent(){return o},set agent(f){o=f},clearPersistedDefaults:a,persistedPromptDefaults:i};return{...jh(m),...Lh(m),...Yh(m),...eh(m),...ih(m),...bh(m),files:Dh(c),...Zy(m),get runtime(){return Je(d("runtime").runtimeUrl)}}}function Jh(e){return{apps:{list:()=>Vm(e),create:t=>Hm(e,t),get:t=>Uo(e,t),update:(...t)=>zm(e,...t),access:{get:(...t)=>Xm(e,...t),update:(...t)=>ef(e,...t),session:(...t)=>tf(e,...t),agents:t=>Zm(e,t)},remove:t=>Ym(e,t),token:t=>Jm(e,t),authEnv:t=>Qm(e,t),artifacts:{register:t=>Fo(e,t),uploadArchive:(...t)=>nf(e,...t),finalize:(...t)=>No(e,...t)},deployments:{create:(...t)=>rf(e,...t),list:t=>sf(e,t),get:(...t)=>of(e,...t),logs:(...t)=>af(e,...t),remove:(...t)=>uf(e,...t)},start:t=>cf(e,t),stop:t=>lf(e,t),rollback:(...t)=>pf(e,...t),machines:{list:t=>df(e,t),start:(t,n)=>gf(e,t,n),stop:(t,n)=>mf(e,t,n),restart:(t,n)=>ff(e,t,n),destroy:(t,n)=>yf(e,t,n)},scale:(...t)=>hf(e,...t),exec:(...t)=>_f(e,...t),volumes:{list:t=>bf(e,t),create:(...t)=>Sf(e,...t),update:(...t)=>Pf(e,...t),destroy:(...t)=>xf(e,...t),snapshots:(...t)=>wf(e,...t),snapshot:(...t)=>vf(e,...t),restore:(...t)=>Af(e,...t),fork:(...t)=>kf(e,...t)}}}}function Qh(e){return{list:()=>Xc(e),invite:(...t)=>tl(e,...t),update:(...t)=>Zc(e,...t),revoke:t=>el(e,t),pendingInvites:()=>nl(e),resendInvite:(...t)=>sl(e,...t),revokeInvite:(...t)=>rl(e,...t),requests:()=>Yc(e),approveRequest:(...t)=>Jc(e,...t),rejectRequest:(...t)=>Qc(e,...t),groupGrants:()=>ol(e),attachGroupGrant:(...t)=>il(e,...t),updateGroupGrant:(...t)=>al(e,...t),detachGroupGrant:t=>cl(e,t),resourceGrants:{list:()=>ll(e),create:t=>ul(e,t),remove:t=>pl(e,t)}}}function Xh(e){return{tokens:{list:()=>km(e),create:t=>Rm(e,t),revoke:t=>Cm(e,t)},setupLinks:{requestSecret:t=>Lm(e,t),requestConnector:t=>$m(e,t)},validateManifest:t=>Cc(e,t),gitToken:()=>Tc(e),agentIdentities:()=>Bg(e),secrets:{list:()=>fl(e),upsert:t=>yl(e,t),setStrategy:(...t)=>hl(e,...t),broker:(...t)=>_l(e,...t),remove:t=>xl(e,t),setPersonal:(...t)=>wl(e,...t),removePersonal:t=>vl(e,t),setGitCredential:t=>Pl(e,t),listProviderOAuth:()=>bl(e),startProviderOAuth:(...t)=>uo(e,...t),pollProviderOAuth:(...t)=>po(e,...t),removeProviderOAuth:t=>Sl(e,t)},access:Qh(e)}}function Zh(e){return{list:()=>Bl(e),listAll:()=>Ul(e),reconcile:(...t)=>Fl(e,...t),reconcileMember:(...t)=>Nl(e,...t),updateCredential:(...t)=>ql(e,...t),revoke:(...t)=>Gl(e,...t),activate:(...t)=>Wl(e,...t),setDefault:(...t)=>Kl(e,...t),rename:(...t)=>Vl(e,...t),share:(...t)=>zl(e,...t),addComputer:(...t)=>Hl(e,...t),connect:(...t)=>Yl(e,...t),finalize:(...t)=>Jl(e,...t)}}function Rs(e){return{catalog:t=>gn(e,t),tools:()=>fo(e),search:(...t)=>$l(e,...t),describe:(...t)=>yo(e,...t),call:(...t)=>Bt(e,...t),callAction:(t,n,r,s)=>Bt(e,`${t}.${n}`,r,s),accounts:(...t)=>ho(e,...t),uploadAttachment:(...t)=>_o(e,...t)}}function Oi(e,t){return{slug:t,run:(r,s,o)=>wo(e,t,r,s,o),call:(r,s,o)=>Bt(e,`${t}.${r}`,s,o),describe:async r=>r!==void 0?yo(e,`${t}.${r}`):(await gn(e,{slug:t,includeSchemas:!0,includeOutputSchemas:!0})).find(o=>o.slug===t)??null,accounts:()=>ho(e,t),paginate:(r,s,o)=>yu(e,t,r,s,o),uploadAttachment:(r,s)=>_o(e,r,{...s,connector:t})}}var OA=100,e_=0,DA=new Set(["attachment_size_mismatch","attachment_failed"]),t_=()=>new x("Attachment expired. Attach the file again.",{code:"attachment_expired"});function Di(e){if(!e||typeof e.attachment_id!="string"||!e.attachment_id||typeof e.filename!="string"||!e.filename||typeof e.mime!="string"||!e.mime||!Number.isSafeInteger(e.size)||e.size<=0||e.size>52428800||!Number.isFinite(Date.parse(e.expires_at))||Date.parse(e.expires_at)<=Date.now())throw new Error("Attachment metadata is invalid or expired. Attach the file again.");return{attachment_id:e.attachment_id,filename:e.filename,mime:e.mime,size:e.size,expires_at:e.expires_at}}function n_(e,t={}){let n=t.concurrency??2;if(!Number.isInteger(n)||n<1||n>20)throw new Error("Attachment concurrency must be between 1 and 20");let r=new Map,s=new Set,o=new Set,i=0,a=!1,c,p={attachments:[]},d=()=>[...r.values()].filter(y=>!y.handedOff);function g(y,_){y.removalDeleted||(y.removalDeleted=!0,yn(e,_).catch(()=>{}))}function m(){c&&clearTimeout(c);let y=d().map(({item:R})=>R);(y.length!==p.attachments.length||y.some((R,v)=>R!==p.attachments[v]))&&(p={attachments:y});let _=Math.min(...y.filter(R=>R.status==="ready").map(R=>Date.parse(R.attachment.expires_at)));Number.isFinite(_)&&!a&&(c=setTimeout(()=>{for(let R of d())R.item.status==="ready"&&Date.parse(R.item.attachment.expires_at)<=Date.now()&&(R.item={...R.item,status:"error",error:t_()});m()},Math.min(2147483647,Math.max(0,_-Date.now()))),typeof c=="object"&&"unref"in c&&c.unref());for(let R of s)R();for(let R of[...o])R()}function f(){if(a)throw new Error("Attachment controller is disposed");if(!e)throw new Error("A project is required to attach files");return e}function h(y){f();let _=d();if(_.length+y.length>20)throw new Error("A message can contain up to 20 attachments");if(y.some(v=>!Number.isSafeInteger(v)||v<=0||v>52428800))throw new Error("Each attachment must contain 1 byte to 50 MiB");if(_.reduce((v,b)=>v+b.item.size,0)+y.reduce((v,b)=>v+b,0)>104857600)throw new Error("Message attachments exceed 100 MiB")}function S(){for(let y of r.values()){if(i>=n)break;if(y.item.status!=="pending"||!y.item.file||a&&!y.handedOff)continue;let _=y.item.file;i++;let R=++y.generation,v=new AbortController;y.abort=v,y.item={...y.item,status:"uploading",error:void 0};let b=()=>(!a||y.handedOff===!0)&&r.get(y.item.id)===y&&y.generation===R,P,O=0,A,$=()=>{A=void 0,!(!b()||y.item.status!=="uploading"||P===void 0)&&(y.item={...y.item,receivedBytes:P},P=void 0,O=Date.now(),m())},N=T=>Math.floor(T*100/y.item.size);jr(e,_,{resume:y.upload,signal:v.signal,onUpload:T=>{y.upload=T,y.removed&&(v.abort(),g(y,T.attachment_id))},onProgress:T=>{if(!b()||N(T)===N(y.item.receivedBytes)||(P=T,A))return;let q=O+OA-Date.now();if(q<=0)return $();A=setTimeout($,q),typeof A=="object"&&"unref"in A&&A.unref()},onProcessing:()=>{A&&clearTimeout(A),A=void 0,P=void 0,b()&&(y.item={...y.item,status:"processing",receivedBytes:y.item.size},m())}}).then(T=>{b()&&(y.item={...y.item,status:"ready",attachment:Di(T),receivedBytes:T.size})}).catch(T=>{T instanceof x&&DA.has(T.code??"")&&(y.upload=void 0),b()&&(y.item={...y.item,status:T instanceof x&&T.code==="ABORTED"?"aborted":"error",error:T instanceof Error?T:new Error(String(T))})}).finally(()=>{i--,A&&clearTimeout(A),y.abort===v&&(y.abort=void 0),m(),S()})}m()}function E(y){h(y.map(R=>R.size));let _=y.map(R=>{let v=`attachment-${++e_}`;return r.set(v,{generation:0,item:{id:v,file:R,filename:R.name,mime:R.type||"application/octet-stream",size:R.size,status:"pending",receivedBytes:0}}),v});return m(),S(),_}function L(y){let _=y.map(({attachment:v,file:b})=>{try{return{attachment:Di(v),file:b}}catch{return}});h(_.flatMap(v=>v?[v.attachment.size]:[]));let R=_.map(v=>{if(!v)return;let b=`attachment-${++e_}`,{attachment:P,file:O}=v;return r.set(b,{generation:0,item:{id:b,...O?{file:O}:{},filename:P.filename,mime:P.mime,size:P.size,status:"ready",receivedBytes:P.size,attachment:P}}),b});return m(),R}function D(y){let _=r.get(y);!_||_.item.status==="ready"||(_.generation++,_.abort?.abort(),_.item={..._.item,status:"aborted",error:new Error("Attachment upload cancelled")},m())}function w(y,{signal:_}={}){let R=[...y];return new Promise((v,b)=>{let P=()=>{o.delete($),_?.removeEventListener("abort",A)},O=N=>{P(),b(N)},A=()=>O(ke()),$=()=>{let N=!1;for(let q of R){let W=r.get(q);if(!W)return O(new Error("Attachment was removed before it was sent"));if(a&&!W.handedOff)return O(new Error("Attachment controller is disposed"));if(W.item.status==="error"||W.item.status==="aborted")return O(W.item.error??new Error("Attachment upload failed"));W.item.status!=="ready"&&(N=!0)}if(N)return;let T;try{T=R.map(q=>{let W=Di(r.get(q).item.attachment);return{type:"file",attachment_id:W.attachment_id,filename:W.filename,mime:W.mime}})}catch(q){return O(q instanceof Error?q:new Error(String(q)))}P(),v(T)};if(_?.aborted)return A();o.add($),_?.addEventListener("abort",A,{once:!0}),$()})}return{add:y=>E([y])[0],addMany:E,restore:L,retry(y){let _=r.get(y);if(_?.handedOff||f(),!(!_||_.item.status==="ready"||_.item.status==="uploading"||_.item.status==="processing"||_.item.status==="pending")){if(!_.item.file||_.upload&&Date.parse(_.upload.expires_at)<=Date.now())throw t_();_.item={..._.item,status:"pending",error:void 0},S()}},async remove(y){let _=r.get(y);if(!_)return;_.removed=!0,_.generation++,r.delete(y);let R=_.upload?.attachment_id??_.item.attachment?.attachment_id;R&&_.abort?.abort(),m(),S(),R&&g(_,R)},abort:D,submit(y){if(!a){for(let _ of y){let R=r.get(_);R&&(R.handedOff=!0)}m()}},reclaim(y){if(!a){for(let _ of y){let R=r.get(_);R&&(R.handedOff=!1)}m()}},whenReady:w,forget(y=d().map(_=>_.item.id)){for(let _ of y){let R=r.get(_);R&&(R.generation++,R.abort?.abort(),r.delete(_))}m(),S()},dispose(){if(!a){a=!0,c&&clearTimeout(c);for(let y of r.values()){if(y.handedOff)continue;y.generation++,y.abort?.abort();let _=y.upload?.attachment_id??y.item.attachment?.attachment_id;_&&e&&yn(e,_).catch(()=>{})}s.clear(),m()}},getSnapshot:()=>p,subscribe(y){return s.add(y),()=>{s.delete(y)}}}}function r_(e){return{attachments:{upload:(...t)=>jr(e,...t),delete:(...t)=>yn(e,...t),createController:t=>n_(e,t)},get:t=>Lt(e,t),detail:()=>wr(e),skills:{create:(...t)=>$c(e,...t)},audit:t=>Em(e,t),update:t=>kr(e,t),archive:()=>Rr(e),llmCatalog:()=>vr(e),modelPicker:()=>Ar(e),modelAccess:()=>Xr(e),setModelAccess:t=>Zr(e,t),sandboxHealth:()=>Er(e),onboardingComplete:(...t)=>Lc(e,...t)}}function s_(e){return{sessions:{list:t=>Nt(e,t),listPage:t=>hp(e,t),create:t=>qt(e,t),ensureWarm:()=>Cp(e),claimWarm:t=>Tp(e,t)},review:{list:t=>sm(e,t),summary:()=>om(e),get:t=>im(e,t),submit:t=>am(e,t),act:(...t)=>cm(e,...t),bulkAct:t=>lm(e,t)},approvals:{list:t=>dl(e,t),resolve:(...t)=>ml(e,...t),sessionsNeedingInput:t=>gl(e,t)}}}function o_(e){return{files:{list:t=>Cu(e,t),listDirectory:t=>Tu(e,t),read:(t,n)=>Iu(e,t,n),search:(...t)=>Eu(e,...t),archive:(...t)=>Mu(e,...t),archiveRequest:(...t)=>Ou(e,...t),history:(...t)=>Wu(e,...t)},git:{commits:()=>Nu(e),commit:t=>qu(e,t),commitDiff:t=>Gu(e,t),branches:()=>Fu(e),versionDiff:(...t)=>Ku(e,...t),inviteCollaborator:(...t)=>Rc(e,...t)},changeRequests:{list:(...t)=>Vu(e,...t),get:t=>Hu(e,t),update:(...t)=>np(e,...t),diff:t=>zu(e,t),mergePreview:t=>Yu(e,t),open:(...t)=>Ju(e,...t),merge:(...t)=>Qu(e,...t),close:(...t)=>Xu(e,...t),reopen:(...t)=>Zu(e,...t),requestChanges:(...t)=>ep(e,...t)},...s_(e)}}function i_(e){return{policies:{list:()=>hu(e),set:(...t)=>_u(e,...t)},reminders:{list:()=>Sm(e),updateMany:(...t)=>_m(e,...t),removeMany:(...t)=>bm(e,...t)},triggers:{list:()=>Qp(e),eventApps:()=>sd(e),eventTypes:(...t)=>rd(e,...t),create:(...t)=>Xp(e,...t),update:(...t)=>Zp(e,...t),remove:(...t)=>ed(e,...t),fire:(...t)=>nd(e,...t),setActivation:(...t)=>td(e,...t)},...o_(e)}}function a_(e,t){return{connectors:{...Rs(e),list:()=>Ql(e),config:(...n)=>su(e,...n),create:(...n)=>au(e,...n),remove:(...n)=>lu(e,...n),sync:()=>Xl(e),auth:{discover:(...n)=>cu(e,...n)},setName:(...n)=>ou(e,...n),setCredentialMode:(...n)=>Zl(e,...n),setAuthorizationStrategy:(...n)=>eu(e,...n),setCredential:(...n)=>du(e,...n),deleteCredential:(...n)=>gu(e,...n),setSensitive:(...n)=>tu(e,...n),connections:t,policies:{get:(...n)=>nu(e,...n),set:(...n)=>ru(e,...n)},connect:(...n)=>iu(e,...n),finalize:(...n)=>mu(e,...n),discover:{list:(...n)=>bo(e,...n),sections:(...n)=>uu(e,...n),detail:(...n)=>So(e,...n)}},...i_(e)}}function c_(e){return{gateway:{logs:t=>pg(e,t),log:t=>dg(e,t),overview:t=>gg(e,t),series:t=>mg(e,t),breakdown:t=>fg(e,t),sessions:t=>yg(e,t),errors:t=>hg(e,t),budgets:()=>_g(e),setBudget:t=>bg(e,t),deleteBudget:t=>Sg(e,t),keys:()=>Pg(e),createKey:t=>xg(e,t),revokeKey:t=>wg(e,t),routing:{get:()=>ag(e),set:t=>cg(e,t),reset:()=>lg(e),preview:t=>ug(e,t)},playground:(t,n,r)=>vg(e,t,n,r)}}}function l_(e){return{modelDefaults:{get:()=>gd(e),set:t=>md(e,t),clear:t=>fd(e,t)},setDefaultAgent:t=>_d(e,t),sandbox:{list:()=>Ru(e),snapshots:()=>Su(e),rebuildSnapshot:t=>Pu(e,t),fixWithAgent:()=>xu(e),createTemplate:t=>wu(e,t),updateTemplate:(...t)=>vu(e,...t),removeTemplate:t=>Au(e,t),buildTemplate:t=>ku(e,t),setProvider:t=>jc(e,t)},setAgentScope:(...t)=>hd(e,...t)}}function u_(e){return{channels:{slack:{installation:()=>Vd(e),connect:t=>Hd(e,t),mode:()=>zd(e),completeInstall:t=>Jd(e,t),manifest:()=>Xd(e),disconnect:()=>Zd(e),getFile:t=>eg(e,t),uploadFile:t=>tg(e,t)},teams:{completeInstall:t=>Qd(e,t)},email:{installation:t=>ng(e,t),mode:()=>rg(e),connect:t=>sg(e,t),disconnect:t=>og(e,t),updatePolicy:(...t)=>ig(e,...t)}},updateFeatureFlag:(...t)=>Oc(e,...t),updateExperimentalFeature:(...t)=>Dc(e,...t),...l_(e)}}async function p_(e){let t=e?.fetch??C().fetch??((s,o)=>fetch(s,o)),n=e?.backendUrl??C().backendUrl,r=await t(`${_t(n)}/clients/mobile`,{headers:{accept:"application/json"},...e?.signal?{signal:e.signal}:{}});if(!r.ok)throw new x(`Mobile client policy request failed (HTTP ${r.status})`,{status:r.status,response:r});return await r.json()}var jA=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:[-+].*)?$/i;function dW(e,t){let n=o=>{let i=jA.exec(o.trim());return i?[Number(i[1]),Number(i[2]??0),Number(i[3]??0)]:null},r=n(e),s=n(t);if(!r||!s)return null;for(let o=0;o<3;o++)if(r[o]!==s[o])return r[o]<s[o]?-1:1;return 0}function LA(){return xt()}var d_=null,g_=!1;function $A(e){let t=d_;d_=e,!(g_||!t)&&(t.backendUrl===e.backendUrl&&t.getToken===e.getToken||(g_=!0,console.warn("[beeuni] createBeeuni() was called again with a different backendUrl or getToken. Every client shares one process-global config, so the earlier client now uses the new one. For several tenants in one process use createScopedBeeuni() from @beeuni/sdk/server.")))}function BA(e,t){t?.global!==!1&&$A(e),eo(e,t);let n=Wy(e),{auth:r,accounts:s,iam:o,accountInvites:i}=Uy(),{billing:a,sandboxShares:c}=Ly(),{projects:p,github:d,connectStatus:g,marketplace:m}=ay();function f(h){let S=Zh(h);return{...r_(h),...Jh(h),...Xh(h),...a_(h,S),...c_(h),...u_(h),connector:E=>Oi(h,E),session:E=>Mi(h,E,e,n)}}return{config:e,auth:r,accounts:s,iam:o,accountInvites:i,capture:jy,projects:p,connectors:Rs(),connector:h=>Oi(void 0,h),project:f,session:(h,S)=>Mi(h,S,e,n),github:d,billing:a,sandboxShares:c,connectStatus:g,marketplace:m,notifications:{registerDeviceToken:Cf,unregisterDeviceToken:Tf,list:Ef,markRead:If,preferences:Mf,updatePreferences:Of,webPushPublicKey:Df,registerWebPushSubscription:jf,unregisterWebPushSubscription:Lf},mobileClientPolicy:p_,validateToken:vc,runtime:LA}}function UA(){let e=typeof crypto<"u"?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let r=0;r<16;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[...t].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("")}`}function FA(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function Zt(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function NA(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function qA(e){if(Zt(e).length>0)return{state:e};let t=e.pending[0];if(!t)return{state:e};let n={...t,attempts:t.attempts+1};return{state:{...e,pending:[n,...e.pending.slice(1)],inFlightId:n.id,inFlightIds:[n.id]},claimed:n}}function GA(e){let t=Zt(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function WA(e,t){let n=Zt(e);if(n.length===0)return e;let r=e.pending.filter(s=>n.includes(s.id));return r.length===0?{...e,inFlightId:null,inFlightIds:[]}:{pending:e.pending.filter(s=>!n.includes(s.id)),failed:[...e.failed,...r.map(s=>({...s,lastError:t}))],inFlightId:null,inFlightIds:[]}}function KA(e,t){let n=e.failed.find(o=>o.id===t);if(!n)return e;let{lastError:r,...s}=n;return{...e,pending:[...e.pending,s],failed:e.failed.filter(o=>o.id!==t)}}function VA(e,t){return Zt(e).includes(t)?e:e.pending.some(n=>n.id===t)?{...e,pending:e.pending.filter(n=>n.id!==t)}:e.failed.some(n=>n.id===t)?{...e,failed:e.failed.filter(n=>n.id!==t)}:e}function HA(e,t,n){return Zt(e).includes(t)||!e.pending.some(r=>r.id===t)?e:{...e,pending:e.pending.map(r=>r.id===t?{...r,text:n}:r)}}function zA(e,t,n){let r=Zt(e);if(r.includes(t))return e;let s=e.pending.findIndex(p=>p.id===t);if(s===-1)return e;let o=r.length,i=Math.min(Math.max(n,o),e.pending.length-1);if(i===s)return e;let a=[...e.pending],[c]=a.splice(s,1);return a.splice(i,0,c),{...e,pending:a}}var m_={thinking:!1,toolDetails:!0,assistantMetadata:!0};function YA(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function JA(e){let t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;let n=Math.floor(t/60),r=t%60;return`${n}m ${r.toFixed(0)}s`}function QA(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
22
22
 
23
23
  `;if(e.type==="reasoning")return t.thinking?`> _Thinking:_
24
24
  >
@@ -51,15 +51,15 @@ ${s}
51
51
  ${e.state.error}
52
52
  \`\`\`
53
53
  `),n+=`
54
- `,n}return""}function ax(e,t){if(!t)return`## Assistant
54
+ `,n}return""}function XA(e,t){if(!t)return`## Assistant
55
55
 
56
- `;let n=e.agent?sx(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=ox(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
56
+ `;let n=e.agent?YA(e.agent):"Assistant",r=e.modelID||"",s="";e.time?.completed&&e.time?.created&&(s=JA(e.time.completed-e.time.created));let o=[r,s].filter(Boolean).join(" \xB7 ");return o?`## ${n} (${o})
57
57
 
58
58
  `:`## ${n}
59
59
 
60
- `}function cx(e,t,n){let r="";e.role==="user"?r+=`## User
60
+ `}function ZA(e,t,n){let r="";e.role==="user"?r+=`## User
61
61
 
62
- `:r+=ax(e,n.assistantMetadata);for(let s of t)r+=ix(s,n);return r}function ux(e,t,n=iy){let r=`# ${e.title||"Untitled Session"}
62
+ `:r+=XA(e,n.assistantMetadata);for(let s of t)r+=QA(s,n);return r}function ek(e,t,n=m_){let r=`# ${e.title||"Untitled Session"}
63
63
 
64
64
  `;r+=`**Session ID:** \`${e.id}\`
65
65
  `,r+=`**Created:** ${new Date(e.time.created).toLocaleString()}
@@ -67,30 +67,32 @@ ${e.state.error}
67
67
 
68
68
  `,r+=`---
69
69
 
70
- `;for(let s of t)r+=cx(s.info,s.parts,n),r+=`---
70
+ `;for(let s of t)r+=ZA(s.info,s.parts,n),r+=`---
71
71
 
72
- `;return r}function lx(e,t){return`session-${e}.md`}var Eo="An error occurred";var px=["message","error","detail","error_description","msg","errors","data"];function Mo(e){let t=e.trim();for(let n=0;n<4;n++){let r=t.replace(/^(?:\d{3}\s+)?(?:[A-Za-z_$][\w$]*)?Error:\s*/,"").trim();if(r===t)break;t=r}return t}function Ct(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function dx(e){let t=e.match(/"(?:message|detail|error_description|msg)"\s*:\s*"((?:[^"\\]|\\.)*)"/);if(!t)return;let n=Ct(`"${t[1]}"`);return typeof n=="string"&&n.trim()?n.trim():void 0}function gx(e){if(!/^\s*<(?:!doctype|html|head|body)\b/i.test(e))return;let t=e.toLowerCase(),n=mx(e,t);if(n)return n;let r=yx(e,t);return r?r.slice(0,200):void 0}function ly(e){return Number.isNaN(e)?!0:!(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)}function ay(e,t){let n=e.indexOf(">",t);return n===-1?e.length:n+1}function mx(e,t){let n=0;for(;;){let r=t.indexOf("<title",n);if(r===-1)return;let s=r+6;if(!ly(t.charCodeAt(s))){n=s;continue}let o=e.indexOf(">",s);if(o===-1)return;let i=e.indexOf("<",o+1);if(i!==-1&&t.startsWith("</title",i)){let a=e.slice(o+1,i).trim();if(a)return a}n=o+1}}var fx=["script","style"];function yx(e,t){let n=[],r=0;for(;r<e.length;){let s=e.indexOf("<",r);if(s===-1){n.push(e.slice(r));break}n.push(e.slice(r,s));let o=fx.find(i=>t.startsWith(`<${i}`,s)&&ly(t.charCodeAt(s+i.length+1)));if(o){let i=t.indexOf(`</${o}`,s);r=i===-1?e.length:ay(e,i);continue}r=ay(e,s)}return n.join(" ").replace(/\s+/g," ").trim()}function hx(e){if(!e.startsWith("JSON parsing failed: Text:"))return;let t=e.match(/"model"\s*:\s*"([^"\\]{1,120})"/)?.[1]?.trim();return t?`The response from ${t} could not be read.`:"The model response could not be read."}function bx(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function cy(e,t,n){if(typeof e=="string")return Or(e,t,n);if(e&&typeof e=="object")return Dr(e,t,n)}function Or(e,t,n=new WeakSet){let r=Mo(e);if(!r)return;if(t>=4)return r;let s=hx(r);if(s)return s;let o=Ct(r);if(o!==void 0)return typeof o=="string"?Or(o,t+1,n):o&&typeof o=="object"?Dr(o,t+1,n):String(o);let i=dy(r);if(i){let a=Ct(i);if(a&&typeof a=="object"){let u=Dr(a,t+1,n);if(u)return u}}if(r.includes("{")){let a=dx(r);if(a)return Or(a,t+1,n)??a}return gx(r)??r}function Dr(e,t,n=new WeakSet){if(t>=4||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let i of e){let a=cy(i,t,n);if(a)return a}return}let r=e;for(let i of px){let a=cy(r[i],t,n);if(a)return a}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return bx(s);let o=r.status??r.statusCode??r.upstream_status;if(typeof o=="number"&&Number.isFinite(o))return`Request failed with status ${o}`}function de(e){return e?typeof e=="string"?Or(e,0)??Eo:typeof e=="object"?Dr(e,0)??Eo:String(e):Eo}function py(e){let t=_x(e)?.trim();if(!t)return;let n=de(e);if(!(t===n||Mo(t)===n))return t}function _x(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return;let t=e,n=t.data;if(n&&typeof n=="object"&&!Array.isArray(n)){let{message:r,responseBody:s}=n,o=[r,s].filter((i,a,u)=>typeof i=="string"&&i.trim()!==""&&u.indexOf(i)===a);if(o.length>0)return o.join(`
72
+ `;return r}function tk(e,t){return`session-${e}.md`}var ji="An error occurred";var nk=["message","error","detail","error_description","msg","errors","data"];function Li(e){let t=e.trim();for(let n=0;n<4;n++){let r=t.replace(/^(?:\d{3}\s+)?(?:[A-Za-z_$][\w$]*)?Error:\s*/,"").trim();if(r===t)break;t=r}return t}function en(e){if(!(typeof e!="string"||!e))try{return JSON.parse(e)}catch{return}}function rk(e){let t=e.match(/"(?:message|detail|error_description|msg)"\s*:\s*"((?:[^"\\]|\\.)*)"/);if(!t)return;let n=en(`"${t[1]}"`);return typeof n=="string"&&n.trim()?n.trim():void 0}function sk(e){if(!/^\s*<(?:!doctype|html|head|body)\b/i.test(e))return;let t=e.toLowerCase(),n=ok(e,t);if(n)return n;let r=ak(e,t);return r?r.slice(0,200):void 0}function __(e){return Number.isNaN(e)?!0:!(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)}function f_(e,t){let n=e.indexOf(">",t);return n===-1?e.length:n+1}function ok(e,t){let n=0;for(;;){let r=t.indexOf("<title",n);if(r===-1)return;let s=r+6;if(!__(t.charCodeAt(s))){n=s;continue}let o=e.indexOf(">",s);if(o===-1)return;let i=e.indexOf("<",o+1);if(i!==-1&&t.startsWith("</title",i)){let a=e.slice(o+1,i).trim();if(a)return a}n=o+1}}var ik=["script","style"];function ak(e,t){let n=[],r=0;for(;r<e.length;){let s=e.indexOf("<",r);if(s===-1){n.push(e.slice(r));break}n.push(e.slice(r,s));let o=ik.find(i=>t.startsWith(`<${i}`,s)&&__(t.charCodeAt(s+i.length+1)));if(o){let i=t.indexOf(`</${o}`,s);r=i===-1?e.length:f_(e,i);continue}r=f_(e,s)}return n.join(" ").replace(/\s+/g," ").trim()}function ck(e){if(!e.startsWith("JSON parsing failed: Text:"))return;let t=e.match(/"model"\s*:\s*"([^"\\]{1,120})"/)?.[1]?.trim();return t?`The response from ${t} could not be read.`:"The model response could not be read."}function lk(e){let t=e.replace(/[_-]+/g," ").trim();return t&&t.charAt(0).toUpperCase()+t.slice(1)}function y_(e,t,n){if(typeof e=="string")return Cs(e,t,n);if(e&&typeof e=="object")return Ts(e,t,n)}function Cs(e,t,n=new WeakSet){let r=Li(e);if(!r)return;if(t>=4)return r;let s=ck(r);if(s)return s;let o=en(r);if(o!==void 0)return typeof o=="string"?Cs(o,t+1,n):o&&typeof o=="object"?Ts(o,t+1,n):String(o);let i=b_(r);if(i){let a=en(i);if(a&&typeof a=="object"){let c=Ts(a,t+1,n);if(c)return c}}if(r.includes("{")){let a=rk(r);if(a)return Cs(a,t+1,n)??a}return sk(r)??r}function Ts(e,t,n=new WeakSet){if(t>=4||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let i of e){let a=y_(i,t,n);if(a)return a}return}let r=e;for(let i of nk){let a=y_(r[i],t,n);if(a)return a}let s=r.type??r.code;if(typeof s=="string"&&s.trim())return lk(s);let o=r.status??r.statusCode??r.upstream_status;if(typeof o=="number"&&Number.isFinite(o))return`Request failed with status ${o}`}function Pe(e){return e?typeof e=="string"?Cs(e,0)??ji:typeof e=="object"?Ts(e,0)??ji:String(e):ji}function Es(e){let t=uk(e)?.trim();if(!t)return;let n=Pe(e);if(!(t===n||Li(t)===n))return t}function uk(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return;let t=e,n=t.data;if(n&&typeof n=="object"&&!Array.isArray(n)){let{message:r,responseBody:s}=n,o=[r,s].filter((i,a,c)=>typeof i=="string"&&i.trim()!==""&&c.indexOf(i)===a);if(o.length>0)return o.join(`
73
73
 
74
- `)}if(typeof t.message=="string"&&t.message)return t.message;try{return JSON.stringify(e)}catch{return}}function dy(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function Px(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function Sx(e){if(!Array.isArray(e))return;let t=[];for(let n of e){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)||t.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 t.length>0?t:void 0}function uy(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0,i=Sx(e.attempt_failures),a=typeof e.requested_model=="string"&&e.requested_model?e.requested_model:void 0,u=typeof e.resolved_model=="string"&&e.resolved_model?e.resolved_model:void 0;return!t&&!n&&!r&&s===void 0&&!o&&!i?void 0:{message:typeof e.message=="string"&&e.message||Px(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:i,...a?{requestedModel:a}:{},...u?{resolvedModel:u}:{}}}function he(e){if(e==null)return;if(typeof e=="string"){let a=Mo(e),u=Ct(a)??Ct(dy(a));return u!==void 0?he(u):void 0}if(typeof e!="object")return;let t=e,n=uy(t),r=typeof t.name=="string"&&typeof t.data=="object";if(n&&!r)return n;let s=t.error;if(s&&typeof s=="object"&&!Array.isArray(s)){let a=uy(s);if(a)return a}let o=t.data;if(o&&typeof o.responseBody=="string"){let a=Ct(o.responseBody);if(a!==void 0){let u=he(a);if(u)return u}}if(o&&typeof o.message=="string"){let a=he(o.message);if(a)return a}let i=t.cause;if(i&&typeof i=="object"){let a=i.body;if(a!==void 0){let u=he(a);if(u)return u}}return n}var gy={};function H(e,t){for(let n of t)gy[n]=e}H("read",["read"]);H("list",["list","ls"]);H("glob",["glob"]);H("grep",["grep"]);H("write",["write"]);H("edit",["edit","multiedit","morph_edit"]);H("apply_patch",["apply_patch","patch"]);H("bash",["bash"]);H("web_search",["web_search","websearch","image_search"]);H("webfetch",["webfetch","web_fetch","scrape_webpage","scrapewebpage"]);H("media",["image_gen","video_gen"]);H("show",["show","show_user","presentation_gen"]);H("task",["task"]);H("delegate",["agent_spawn","agent_task","agent_task_create","agent_task_start","task_create","task_start","session_spawn","session_start_background","agent_message","agent_task_message","task_message","agent_task_update","task_update","session_message","agent_status","agent_task_list","agent_task_get","task_list","task_get","agent_stop","agent_task_cancel","task_cancel","agent_task_approve","task_approve","task_done","task_delete"]);H("todowrite",["todowrite","todo_write","todoread"]);H("question",["question","ask"]);H("memory",["memory","memory_search","mem_search","ltm_search","get_mem"]);H("connectors",["connector_get","connector_list","connector_setup","beeuni_connector_call","beeuni_connectors","beeuni_connectors_connectors","beeuni_connectors_discover","beeuni_connectors_describe","beeuni_connectors_call","beeuni_connector_describe","beeuni_connector_discover"]);H("automations",["triggers"]);H("skill",["skill"]);H("context",["prune","distill","compress","context_info"]);H("retired",["integration_list","integration_connect","integration_search","integration_actions","integration_run","integration_request","integration_exec"]);var xx=[["pty_","pty"],["agent_","delegate"],["task_","delegate"],["session_","sessions"],["trigger_","automations"],["project_","projects"]];function re(e){let t=e.replace(/^oc[-_]/,"").replace(/-/g,"_"),n=gy[t];if(n)return n;for(let[r,s]of xx)if(t.startsWith(r))return s;return"other"}function Ne(e){for(let t of[e?.filePath,e?.file_path,e?.path])if(typeof t=="string"&&t)return t}var wx=["site","filetype","ext","inurl","allinurl","intitle","allintitle","intext","allintext","inanchor","inbody","before","after","daterange","related","cache","define","link","source","lang","loc","location","imagesize"];function vx(){return new RegExp(`(^|\\s)([-+]?)(${wx.join("|")}):("[^"]*"|\\S+)`,"gi")}function Ax(){return/(^|\s)-(?:"[^"]*"|\S+)/g}function kx(){return/(^|\s)(?:OR|AND)(?=\s|$)/g}function Rx(e){return e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Cx(e){return Rx(e).replace(/^[a-z]+:\/\//i,"").replace(/^www\./i,"").replace(/\/.*$/,"").trim()}function my(e){return e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} or ${e[e.length-1]}`}function jr(e){let t=typeof e=="string"?e.trim():"";if(!t)return"";let n=[],r=t.replace(vx(),(s,o,i,a,u)=>{if(!i&&a.toLowerCase()==="site"){let p=Cx(u);p&&!n.includes(p)&&n.push(p)}return o});return r=r.replace(Ax(),"$1").replace(kx(),"$1").replace(/[()]/g," ").replace(/\s+/g," ").trim(),r?n.length>0?`${r} on ${my(n)}`:r:n.length>0?my(n):t}var Ix=/\s/,Tx=/\w/;function se(e){return e!==void 0&&Ix.test(e)}function yn(e){return e===`
75
- `||e==="\r"||e==="\u2028"||e==="\u2029"}function Oo(e){return e!==void 0&&Tx.test(e)}function rt(e){let t="";for(let n of e)t+=n.length===1?String.fromCharCode(Ex(n.charCodeAt(0))):n;return t}function Ex(e){if(e<128)return e>=97&&e<=122?e-32:e;let t=String.fromCharCode(e).toUpperCase();if(t.length!==1)return e;let n=t.charCodeAt(0);return n<128?e:n}function Te(e){let t=e.length;for(;t>0&&e[t-1]==="/";)t--;return e.slice(0,t)}function fy(e){let t=0;for(;t<e.length&&e[t]==="/";)t++;return Te(e.slice(t))}function hn(e,t,n){let r=e.indexOf(t);if(r===-1)return null;let s=e.indexOf(n,r+t.length);return s===-1?null:e.slice(r+t.length,s)}function Do(e,t){let n=hn(e,`<${t}>`,`</${t}>`);return n===null?null:(n.startsWith(`
74
+ `)}if(typeof t.message=="string"&&t.message)return t.message;try{return JSON.stringify(e)}catch{return}}function b_(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function pk(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e;if(typeof t.message=="string"&&t.message)return t.message;if(typeof t.error=="string"&&t.error)return t.error;let n=t.data;if(typeof n?.message=="string")return n.message;let r=t.error;if(typeof r?.message=="string")return r.message}function dk(e){if(!Array.isArray(e))return;let t=[];for(let n of e){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)||t.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 t.length>0?t:void 0}function h_(e){let t=typeof e.provider=="string"&&e.provider?e.provider:void 0,n=typeof e.code=="string"&&e.code?e.code:void 0,r=typeof e.suggestion=="string"&&e.suggestion?e.suggestion:void 0,s=typeof e.upstream_status=="number"?e.upstream_status:void 0,o=typeof e.request_id=="string"&&e.request_id?e.request_id:void 0,i=dk(e.attempt_failures),a=typeof e.requested_model=="string"&&e.requested_model?e.requested_model:void 0,c=typeof e.resolved_model=="string"&&e.resolved_model?e.resolved_model:void 0;return!t&&!n&&!r&&s===void 0&&!o&&!i?void 0:{message:typeof e.message=="string"&&e.message||pk(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:i,...a?{requestedModel:a}:{},...c?{resolvedModel:c}:{}}}function ve(e){if(e==null)return;if(typeof e=="string"){let a=Li(e),c=en(a)??en(b_(a));return c!==void 0?ve(c):void 0}if(typeof e!="object")return;let t=e,n=h_(t),r=typeof t.name=="string"&&typeof t.data=="object";if(n&&!r)return n;let s=t.error;if(s&&typeof s=="object"&&!Array.isArray(s)){let a=h_(s);if(a)return a}let o=t.data;if(o&&typeof o.responseBody=="string"){let a=en(o.responseBody);if(a!==void 0){let c=ve(a);if(c)return c}}if(o&&typeof o.message=="string"){let a=ve(o.message);if(a)return a}let i=t.cause;if(i&&typeof i=="object"){let a=i.body;if(a!==void 0){let c=ve(a);if(c)return c}}return n}var S_={};function z(e,t){for(let n of t)S_[n]=e}z("read",["read"]);z("list",["list","ls"]);z("glob",["glob"]);z("grep",["grep"]);z("write",["write"]);z("edit",["edit","multiedit","morph_edit","MultiEdit","NotebookEdit"]);z("apply_patch",["apply_patch","patch"]);z("bash",["bash"]);z("script",["codemode"]);z("web_search",["web_search","websearch","image_search"]);z("webfetch",["webfetch","web_fetch","scrape_webpage","scrapewebpage"]);z("media",["image_gen","video_gen"]);z("show",["show","show_user","presentation_gen"]);z("task",["task"]);z("delegate",["agent_spawn","agent_task","agent_task_create","agent_task_start","task_create","task_start","session_spawn","session_start_background","agent_message","agent_task_message","task_message","agent_task_update","task_update","session_message","agent_status","agent_task_list","agent_task_get","task_list","task_get","agent_stop","agent_task_cancel","task_cancel","agent_task_approve","task_approve","task_done","task_delete"]);z("todowrite",["todowrite","todo_write","todoread"]);z("question",["question","ask"]);z("memory",["memory","memory_search","mem_search","ltm_search","get_mem"]);z("connectors",["connector_get","connector_list","connector_setup","beeuni_connector_call","beeuni_connectors","beeuni_connectors_connectors","beeuni_connectors_discover","beeuni_connectors_describe","beeuni_connectors_call","beeuni_connector_describe","beeuni_connector_discover"]);z("automations",["triggers"]);z("skill",["skill"]);z("context",["prune","distill","compress","context_info"]);z("retired",["integration_list","integration_connect","integration_search","integration_actions","integration_run","integration_request","integration_exec"]);var gk=[["pty_","pty"],["agent_","delegate"],["task_","delegate"],["session_","sessions"],["trigger_","automations"],["project_","projects"]];function ue(e){let t=e.replace(/^oc[-_]/,"").replace(/-/g,"_"),n=S_[t];if(n)return n;for(let[r,s]of gk)if(t.startsWith(r))return s;return"other"}function ct(e){for(let t of[e?.filePath,e?.file_path,e?.path,e?.notebook_path])if(typeof t=="string"&&t)return t}var mk=["site","filetype","ext","inurl","allinurl","intitle","allintitle","intext","allintext","inanchor","inbody","before","after","daterange","related","cache","define","link","source","lang","loc","location","imagesize"];function fk(){return new RegExp(`(^|\\s)([-+]?)(${mk.join("|")}):("[^"]*"|\\S+)`,"gi")}function yk(){return/(^|\s)-(?:"[^"]*"|\S+)/g}function hk(){return/(^|\s)(?:OR|AND)(?=\s|$)/g}function _k(e){return e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function bk(e){return _k(e).replace(/^[a-z]+:\/\//i,"").replace(/^www\./i,"").replace(/\/.*$/,"").trim()}function P_(e){return e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} or ${e[e.length-1]}`}function Is(e){let t=typeof e=="string"?e.trim():"";if(!t)return"";let n=[],r=t.replace(fk(),(s,o,i,a,c)=>{if(!i&&a.toLowerCase()==="site"){let p=bk(c);p&&!n.includes(p)&&n.push(p)}return o});return r=r.replace(yk(),"$1").replace(hk(),"$1").replace(/[()]/g," ").replace(/\s+/g," ").trim(),r?n.length>0?`${r} on ${P_(n)}`:r:n.length>0?P_(n):t}var Sk=/\s/,Pk=/\w/;function he(e){return e!==void 0&&Sk.test(e)}function Wn(e){return e===`
75
+ `||e==="\r"||e==="\u2028"||e==="\u2029"}function $i(e){return e!==void 0&&Pk.test(e)}function At(e){let t="";for(let n of e)t+=n.length===1?String.fromCharCode(xk(n.charCodeAt(0))):n;return t}function xk(e){if(e<128)return e>=97&&e<=122?e-32:e;let t=String.fromCharCode(e).toUpperCase();if(t.length!==1)return e;let n=t.charCodeAt(0);return n<128?e:n}function Qe(e){let t=e.length;for(;t>0&&e[t-1]==="/";)t--;return e.slice(0,t)}function x_(e){let t=0;for(;t<e.length&&e[t]==="/";)t++;return Qe(e.slice(t))}function Kn(e,t,n){let r=e.indexOf(t);if(r===-1)return null;let s=e.indexOf(n,r+t.length);return s===-1?null:e.slice(r+t.length,s)}function Bi(e,t){let n=Kn(e,`<${t}>`,`</${t}>`);return n===null?null:(n.startsWith(`
76
76
  `)&&(n=n.slice(1)),n.endsWith(`
77
- `)&&(n=n.slice(0,-1)),n)}function jo(e,t,n=0){let r=e.indexOf(`<${t}`,n);if(r===-1)return null;let s=e.indexOf(">",r+1+t.length);return s===-1?null:{open:r,end:s}}function yy(e,t){let n=jo(e,t);return n?e.slice(n.open+1+t.length,n.end):null}function hy(e,t){let n=jo(e,t);if(!n)return null;let r=e.indexOf(`</${t}>`,n.end+1);return r===-1?null:e.slice(n.end+1,r)}function by(e,t){let n=`</${t}>`,r="",s=0;for(;;){let o=jo(e,t,s);if(!o)break;let i=e.indexOf(n,o.end+1);if(i===-1)break;r+=e.slice(s,o.open),s=i+n.length}return r+e.slice(s)}function _y(e,t,n){let r=[];for(let s of e.split(/[\n\r\u2028\u2029]/)){let o=0;for(;;){let i=s.indexOf(t,o);if(i===-1)break;let a=s.indexOf(n,i+t.length);if(a===-1)break;r.push(s.slice(i+t.length,a)),o=a+n.length}}return r}function bn(e){let t=e.trimEnd();if(!t.endsWith("}"))return null;let n=t.indexOf(":");for(;n!==-1;){let r=n+1;for(;r<t.length&&se(t[r]);)r++;if(t[r]==="{")return t.slice(r);n=t.indexOf(":",n+1)}return null}function Py(e,t,n){let r=rt(t),s=rt(n);for(let o of rt(e).split(/[\n\r\u2028\u2029]/)){let i=o.indexOf(r);if(i!==-1&&o.lastIndexOf(s)>=i+r.length)return!0}return!1}function Sy(e,t){let n=rt(e),r=t.map(rt),s=e.length,o=u=>{let p=u;for(;p<s&&se(e[p]);)p++;return p},i=u=>{for(let p=u;p<s;p++)if(yn(e[p]))return p+1;return-1},a=0;for(;a!==-1&&a<=s;){let u=o(a);if(u>=s)return null;let p=r.find(d=>n.startsWith(d,u));if(p!==void 0){let d=o(u+p.length);if(e[d]===":"){let g=o(d+1);if(g<s){let m=g;for(;m<s&&!yn(e[m]);)m++;for(;m>g+1&&se(e[m-1]);)m--;return e.slice(g,m)}for(let m=s-1;m>d;m--)if(!yn(e[m]))return e[m];return null}}a=i(u)}return null}function xy(e){let t=e.length,n=new Array(t+1);n[0]=0;for(let a=1;a<=t;a++)n[a]=se(e[a-1])?n[a-1]:a;let r=new Array(t+1).fill(-1);for(let a=t-1;a>=0;a--){if(r[a]=r[a+1],e[a]!=="\u2014"||!se(e[a-1]))continue;let u=a+1;if(se(e[u])){for(;u<t&&se(e[u]);)u++;Oo(e[u])&&(r[a]=a)}}let s=new Array(t+1);s[0]=0;for(let a=0;a<t;a++)s[a+1]=s[a]+(yn(e[a])?1:0);let o=(a,u)=>s[u]===s[a],i=a=>{let u=a+1;for(;se(e[u]);)u++;let p=u;for(;p<t&&Oo(e[p]);)p++;return e.slice(u,p)};for(let a=e.indexOf("**task-");a!==-1;a=e.indexOf("**task-",a+1)){let u=a+7;for(;u<t&&/[a-z0-9]/.test(e[u]);)u++;if(u===a+7||e[u]!=="*"||e[u+1]!=="*")continue;let p=u+2,d=p;for(;d<t&&se(e[d]);)d++;if(d!==p){if(d<t&&d+2<=t){let g=r[d+2]??-1;if(g!==-1){let m=Math.max(d+1,n[g]);if(o(d,m))return{id:e.slice(a+2,u),title:e.slice(d,m),status:i(g)}}}if(d<t&&r[d]===d){for(let g=d-2;g>=p+1;g--)if(!yn(e[g]))return{id:e.slice(a+2,u),title:e[g],status:i(d)}}}}return null}function wy(e){let t=(i,a)=>i.slice(a,a+6).toLowerCase()==="error:",n=0;for(;;){let i=n;for(;i<e.length&&se(e[i]);)i++;if(!t(e,i))break;for(i+=6;i<e.length&&se(e[i]);)i++;n=i}let r=e.slice(n),s="",o=0;for(;o<r.length;){if(t(r,o)&&(o===0||!Oo(r[o-1]))){let i=o,a=0;for(;t(r,i);){for(i+=6;i<r.length&&se(r[i]);)i++;a++}if(a>=2){o=i;continue}}s+=r[o],o++}return s}function vy(e,t){let n=t?"![":"[",r="",s=0,o=-2,i=-2;for(let a=e.indexOf(n);a!==-1;){let u=a+n.length;if(o<u&&(o=e.indexOf("]",u)),o===-1)break;let p=o;if(e[p+1]!=="("){a=e.indexOf(n,p+1);continue}if(i<p+2&&(i=e.indexOf(")",p+2)),i===-1)break;r+=e.slice(s,a)+(t?" ":e.slice(u,p)),s=i+1,a=e.indexOf(n,s)}return r+e.slice(s)}function Ay(e){return vy(e,!0)}function ky(e){return vy(e,!1)}function Mx(e,t){let n=e.slice(t,t+8).toLowerCase();return n.startsWith("http://")||n.startsWith("https://")}function Ry(e,t){let n=rt(e),r=rt(t),s=e.length,o=i=>{let a=i;for(;a<s&&se(e[a]);)a++;return a};for(let i=n.indexOf(r);i!==-1;i=n.indexOf(r,i+1)){let a=o(i+r.length);if(e[a]!==":")continue;let u=o(a+1);for(let p=u;p<s;){if(!se(e[p])){p++;continue}let d=o(p);if(Mx(e,d))return e.slice(u,p);p=d}return e.slice(u)}return null}var Ox=new Set(["read","glob","grep","list"]);function z(e){return e.replace(/^oc-/,"").replace(/-/g,"_")}function dL(e){return Ox.has(re(e))}function gL(e){let t=0,n=0,r=0;for(let s of e){let o=re(s.tool);o==="read"?t++:o==="glob"||o==="grep"?n++:o==="list"&&r++}return{read:t,search:n,list:r}}function $o(e){if(!e)return"";let t=Te(e.replace(/\\/g,"/")),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function $r(e,t=60){if(!e)return"";let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t)}\u2026`:n}function Uo(e){let n=(e.state??{}).input??{};switch(z(e.tool)){case"read":case"edit":case"write":case"morph_edit":{let o=n.filePath??n.file_path??n.path;return o?$o(String(o)):""}case"glob":return n.pattern?String(n.pattern):"";case"grep":{let o=n.pattern??n.query,i=n.path??n.include;return o&&i?`"${$r(String(o),40)}" in ${$o(String(i))}`:o?`"${$r(String(o),60)}"`:""}case"list":return n.path?$o(String(n.path)):"";case"bash":return $r(String(n.command??""),80);default:break}let s=["description","query","url","filePath","file_path","path","pattern","name","prompt"];for(let o of s){let i=n[o];if(typeof i=="string"&&i.length>0)return $r(o==="query"&&jr(i)||i,60)}return""}var Dx={read:"Read",search:"Search",list:"List",shell:"Shell",edit:"Edit",write:"Write",fetch:"Fetch",webSearch:"Web Search",scrape:"Scrape",applyPatch:"Apply Patch",task:"Task",worker:"Worker",workspace:"Workspace"};function mL(e,t={}){let n={...Dx,...t},r=z(e.tool),s=Uo(e);switch(r){case"read":return{title:n.read,subtitle:s};case"glob":case"grep":return{title:n.search,subtitle:s};case"list":return{title:n.list,subtitle:s};case"bash":return{title:n.shell,subtitle:s};case"edit":case"morph_edit":return{title:n.edit,subtitle:s};case"write":return{title:n.write,subtitle:s};case"webfetch":case"web_fetch":return{title:n.fetch,subtitle:s};case"websearch":case"web_search":return{title:n.webSearch,subtitle:s};case"scrape":case"scrape_webpage":return{title:n.scrape,subtitle:s};case"apply_patch":return{title:n.applyPatch,subtitle:s};case"task":return{title:n.task,subtitle:s};case"session_spawn":case"session_start_background":return{title:n.worker,subtitle:s};case"project_select":case"project_list":return{title:n.workspace,subtitle:s};default:return{title:r.replace(/_/g," ").replace(/\b\w/g,i=>i.toUpperCase()),subtitle:s}}}function Ee(e){return e.type==="text"}function Me(e){return e.type==="reasoning"}function X(e){return e.type==="tool"}function Iy(e){return e.type==="file"}function _L(e){return e.type==="agent"}function PL(e){return e.type==="compaction"}function SL(e){return e.type==="snapshot"}function xL(e){return e.type==="patch"}function wL(e){return e.type==="step-start"||e.type==="step-finish"}function vL(e){if(Ee(e)||Me(e))return e.text}function AL(e){if(!Iy(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function kL(e){let t=[],n=[];for(let r of e)Iy(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function RL(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function CL(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var jx=new Set(["todoread","context_info"]);function $x(e){return!jx.has(e.tool)}var Ux=new Set(["task","agent_spawn","agent_message","agent_task","agent_task_update","agent_task_message","agent_task_start","task_create","task_start","task_update","task_message"]);function Ty(e){let t=e.tool||"";if(t.startsWith("oc-"))return;let n=re(t);if(n==="task"||n==="delegate"){let r=e.state?.metadata?.sessionId;if(typeof r=="string"&&r)return r;if(n==="task"&&e.state?.status==="error")return e.state.error?.match(/\btask_id:\s*(ses_[A-Za-z0-9]+)/)?.[1]}return Fx(t,e.state)}function Fx(e,t){let n=z(e);if(Ux.has(n)){let r=t?.title?.match(/\bses_[a-zA-Z0-9]+/);return r?r[0]:t?.output?.match(/\bses_[a-zA-Z0-9]+/)?.[0]}if(n==="session_spawn"||n==="session_start_background")return t?.output?.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/)?.[1]}function IL(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return de(n.error)}}function TL(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)X(r)&&$x(r)&&t.push(r);return t}function EL(e,t={}){switch(z(e)){case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape_webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image_search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image_gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video_gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation_gen":{let n=t.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:t.slide_title||t.presentation_name}}case"show":case"show_user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:qx(t)};case"session_spawn":case"session_start_background":return{icon:"square-kanban",title:`Worker (${t.agent||"BeeuniWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session_list_spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":return{icon:"folder",title:"Projects"};case"project_get":case"project_update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":return{icon:"clock",title:"List Triggers"};case"trigger_get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":return{icon:"layers",title:"Agent Status"};case"agent_task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return Lx(e,t)}}function Lx(e,t){switch(re(e)){case"read":return{icon:"glasses",title:"Read",subtitle:Bx(Ne(t))};case"list":return{icon:"list",title:"List",subtitle:Nx(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":return{icon:"file-pen",title:"Edit",subtitle:Cy(Ne(t))};case"write":return{icon:"file-pen",title:"Write",subtitle:Cy(Ne(t))};case"todowrite":return{icon:"check-square",title:"Todos"};case"question":return{icon:"message-circle",title:"Questions"};default:return{icon:"cpu",title:e}}}function Bx(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function Cy(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function Nx(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function ML(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function _n(e,t=120){if(typeof e!="string")return"";let n=e.split(`
78
- `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function qx(e){let t=_n(e.description);if(t)return t;let n=_n(e.title,80);if(n)return n;let r=_n(e.message);if(r)return r;let s=_n(e.prompt);if(s)return s;let o=_n(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function OL(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function DL(e,t){return e.find(n=>n.tool?.callID===t)}function jL(e,t){return e.find(n=>n.tool?.callID===t)}var Gx=/\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 $L(e){return e?e.replace(Gx,""):""}var Wx={bash:"Shell",pty_spawn:"Spawn Terminal",pty_read:"Terminal Output",pty_write:"Terminal Input",pty_input:"Terminal Input",pty_kill:"Kill Process",read:"Read File",list:"List Directory",ls:"List Directory",write:"Write File",edit:"Edit File",multiedit:"Edit File",morph_edit:"Edit File",apply_patch:"Apply Patch",patch:"Apply Patch",grep:"Search Code",glob:"Find Files",image_search:"Image Search",session_search:"Search Sessions",webfetch:"Fetch Page",scrape_webpage:"Scrape Page",websearch:"Web Search",web_search:"Web Search",image_gen:"Generate Image",video_gen:"Generate Video",task:"Delegate to Agent",todowrite:"Plan Tasks",todoread:"Read Plan",question:"Ask Question",presentation_gen:"Presentation",show:"Show Output",show_user:"Show Output",prune:"Prune Context",distill:"Distill Context",compress:"Compress Context",context_info:"Context Info"},Kx={read:"files",list:"files",glob:"search",grep:"search",write:"edit",edit:"edit",apply_patch:"edit",bash:"shell",pty:"shell",web_search:"web",webfetch:"web",media:"web",show:"task",task:"task",delegate:"task",sessions:"task",todowrite:"task",question:"task",automations:"task",projects:"task",memory:"other",connectors:"other",skill:"other",context:"other",retired:"other",other:"other"};function Hx(e){return e.replace(/^oc[-_]/,"")}function Ey(e){return Hx(e).replace(/-/g,"_")}function My(e){return Ey(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function Fo(e){return{label:Wx[Ey(e)]??My(e),category:Kx[re(e)]}}var Vx=256*1024;function zx(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Yx(e){if(e===void 0)return{};if(e.length>Vx)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Qx(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?de(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}var Z=e=>typeof e=="string"?e:void 0,Ur=e=>typeof e=="number"?e:void 0,Fr=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:void 0;function Lo(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}var Jx=new Set(["add","update","delete","move"]);function Xx(e,t,n){if(e==="apply_patch"){let u=(Array.isArray(n.files)?n.files:[]).flatMap(p=>{let d=Fr(p),g=d&&(Z(d.relativePath)||Z(d.filePath));if(!d||!g)return[];let m=Z(d.type);return[Lo({path:g,type:m&&Jx.has(m)?m:void 0,before:Z(d.before),after:Z(d.after),patch:Z(d.patch)??Z(d.diff),additions:Ur(d.additions),deletions:Ur(d.deletions),movePath:Z(d.movePath)})]});return u.length?u:void 0}let r=Ne(t);if(!r)return;if(e==="read")return[{path:r}];if(e==="write")return[Lo({path:r,after:Z(t.content)})];if(e!=="edit")return;let s=Fr(n.filediff),o=s?void 0:Z(n.patch),i=o?Zx(o):void 0;return[Lo({path:r,before:Z(s?.before)??Z(t.oldString),after:Z(s?.after)??Z(t.newString),patch:o,additions:Ur(s?.additions)??i?.additions,deletions:Ur(s?.deletions)??i?.deletions})]}function Zx(e){let t=0,n=0;for(let r of e.split(`
79
- `))r.startsWith("+")&&!r.startsWith("+++")?t++:r.startsWith("-")&&!r.startsWith("---")&&n++;return{additions:t,deletions:n}}function ew(e){let t=e.answers;if(Array.isArray(t))return t.map(n=>Array.isArray(n)?n.filter(r=>typeof r=="string"):[])}function Oy(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=Yx(r),i=zx(t),a=t.status==="error"?t.error:void 0;if(i==="done"){let m=Qx(s);m&&(i="error",a=m)}let u=re(e),p=t.input??{},d="metadata"in t&&Fr(t.metadata)||{},g=Fr(d.diagnostics);return{name:e,kind:u,title:n||Fo(e).label,status:i,input:t.input,output:r,outputParsed:s,outputText:o,error:a,files:Xx(u,p,d),diff:Z(d.patch)??Z(d.diff),diagnostics:g,answers:u==="question"?ew(d):void 0,childSessionId:Ty({tool:e,state:t})}}function WL(e){return Oy(e.tool,e.state)}function tw(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function nw(e){return{kind:"reasoning",id:e.id,text:e.text}}function rw(e){return{kind:"tool",id:e.id,tool:Oy(e.tool,e.state)}}function sw(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function ow(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function iw(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function aw(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function cw(e){return{kind:"agent",id:e.id,name:e.name}}function uw(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:de(e.error),createdAt:e.time.created}}function lw(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function pw(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function dw(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function Dy(e){switch(e.type){case"text":return tw(e);case"reasoning":return nw(e);case"tool":return rw(e);case"file":return sw(e);case"subtask":return ow(e);case"patch":return iw(e);case"snapshot":return aw(e);case"agent":return cw(e);case"retry":return uw(e);case"compaction":return lw(e);case"step-start":return pw(e);case"step-finish":return dw(e);default:return{kind:"unknown",raw:e}}}function gw(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=he(e);return{name:t,message:n?.message||de(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function mw(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function fw(e){let t=e.parts.map(Dy),n=e.info.role==="assistant"?e.info.error:void 0,r=gw(n),s=!r&&!t.some(mw);return{parts:t,error:r,isEmpty:s}}var Bo=Fe+BigInt(1),jy=Bo/BigInt(2);function Lr(e){return BigInt(Math.trunc(e))*Zt}function No(e,t){let r=t-(t&Fe)+e;return r-t>jy?r-=Bo:t-r>jy&&(r+=Bo),r}function $y(e,t){let n=xt(e.info.id)??BigInt(0),r=e.info.time?.created;if(typeof r!="number")return No(n,t);let s=Lr(r),o=No(n,s);return(o>s?o-s:s-o)<=Ze?o:s}function Uy(e){return xt(e)===null?1:0}function Fy(e,t){return e<t?-1:e>t?1:0}function JL(e,t){return Ly(e,t,Lr(Date.now()))}function yw(e){let t=null;for(let n of e){let r=n.info.time?.created;typeof r=="number"&&(t===null||r>t)&&(t=r)}return Lr(t??Date.now())}function Ly(e,t,n){let r=Uy(e.info.id),s=Uy(t.info.id);if(r!==s)return r-s;if(r===0){let a=$y(e,n),u=$y(t,n);return a!==u?a<u?-1:1:Fy(e.info.id,t.info.id)}let o=typeof e.info.time?.created=="number"?e.info.time.created:null,i=typeof t.info.time?.created=="number"?t.info.time.created:null;return o===null&&i===null?0:o===null?1:i===null?-1:o!==i?o<i?-1:1:Fy(e.info.id,t.info.id)}function XL(e,t){let n=new Map([...t?.pendingMessageIds??[]].map((d,g)=>[d,g])),r=yw(e),s=[...e].sort((d,g)=>{let m=n.get(d.info.id),f=n.get(g.info.id);return m!==void 0&&f!==void 0?m-f:m!==void 0?1:f!==void 0?-1:Ly(d,g,r)}),o=[],i=new Map;for(let d of s)if(d.info.role==="user"){if(i.has(d.info.id))continue;let g={userMessage:d,assistantMessages:[]};o.push(g),i.set(d.info.id,g)}let a=null,u=[],p=[];for(let d of s){if(d.info.role==="user"){a=i.get(d.info.id)??null;continue}if(d.info.role!=="assistant")continue;let g=d.info,m=g.tokens;if(!(!g.error&&d.parts.length===0&&m?.input===0&&m.output===0&&m.reasoning===0)){if(g.parentID){let f=i.get(g.parentID);if(f){f.assistantMessages.push(d);continue}}if(a){a.assistantMessages.push(d);continue}if(g.parentID){let f=u[u.length-1];f&&f.userMessage.info.id===g.parentID?f.assistantMessages.push(d):u.push({userMessage:bw(g.parentID,d),assistantMessages:[d],partial:!0});continue}p.push(d)}}if(p.length>0){let d=o[0]??u[0];if(d)d.assistantMessages.unshift(...p);else{let[g,...m]=p;o.push({userMessage:g,assistantMessages:m})}}return u.length>0?[...u,...o]:o}var Pn=new Map,hw=256;function bw(e,t){let n=t.info,r=n.time?.created,s=`${n.sessionID??""}|${e}|${r??""}`,o=Pn.get(s);if(o)return o;let i={info:{id:e,role:"user",...n.sessionID?{sessionID:n.sessionID}:{},...typeof r=="number"?{time:{created:r}}:{}},parts:[]};if(Pn.size>=hw){let a=Pn.keys().next().value;a!==void 0&&Pn.delete(a)}return Pn.set(s,i),i}function ZL(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function eB(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(Ee(n)&&n.text?.trim())return n}}function tB(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function nB(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!X(o))continue;let i=o,a=i.state?.metadata?.answers;i.tool==="question"&&(a?.length??0)>0&&r.push({part:o,message:s})}return r}function rB(e){let t=new Map;for(let n of e){if(!n.parentID)continue;let r=t.get(n.parentID);r?r.push(n.id):t.set(n.parentID,[n.id])}return t}function sB(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,i=s>t,a=o>t;return i&&a?n.id<r.id?-1:n.id>r.id?1:0:i&&!a?-1:!i&&a?1:o-s}}function _w(e,t){let n=e.get(t);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(..._w(e,s));return r}function Pw(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function iB(e){if(!e?.length)return!1;for(let t=e.length-1;t>=0;t--){let n=e[t].info;if(n.role==="assistant")return!n.time?.completed&&Pw(n.error)}return!1}function Br(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ny(e){let t=e.trim();return t.length>500?!1:!!(/^Error:\s/i.test(t)||/^([\w._-]+Error|[\w._-]+Exception):\s/i.test(t)||/Traceback \(most recent call last\)/i.test(t)||/^\s*\[\s*\{[\s\S]*"message"\s*:/.test(t))}function uB(e){return!!e&&(Ny(e)||Aw(e)!==null)}function qy(e){let t=By.get(e);if(t&&t.state===e.state)return t.outcome;let n=Sw(e);return By.set(e,{state:e.state,outcome:n}),n}var By=new WeakMap;function Sw(e){let t=e.state;if(t.status==="error")return"failed";if(t.status!=="completed")return"ok";let n=typeof t.output=="string"?t.output.trim():"";if(!n)return"ok";if(Ny(n))return"failed";let r=xw(n);return r===void 0?"ok":ww(r)?"failed":vw(r)}function xw(e){try{return JSON.parse(e)}catch{return}}function ww(e){return Br(e)&&e.success===!1&&typeof e.error=="string"}function vw(e){let t=Br(e)?e.results:void 0;if(!Array.isArray(t)||t.length===0)return"ok";let n=t.filter(r=>r!==null&&typeof r=="object"&&r.success===!1).length;return n===0?"ok":n===t.length?"failed":"partial"}function Aw(e){let t=e.trim();if(!t)return null;let n;try{n=JSON.parse(t)}catch{return null}if(!Br(n)||n.success!==!1||typeof n.error!="string")return null;let r={errorSummary:n.error.trim(),hint:typeof n.hint=="string"?n.hint.trim():void 0},s=bn(r.errorSummary);if(s===null)return r;try{let o=JSON.parse(s);typeof o.message=="string"&&o.message.trim()&&(r.nestedMessage=o.message.trim()),typeof o.status=="number"&&(r.status=o.status),typeof o.error=="boolean"&&(r.nestedError=o.error)}catch{}return r}function lB(e){return wy(e).replace(/\s+/g," ").trim()||e.trim()}function pB(e){let t=e.trim();if(!t)return null;let n;try{n=JSON.parse(t)}catch{return null}if(!Br(n))return null;let r=n.success,s=n.error,o=n.hint;if(r!==!1||typeof s!="string")return null;let i=[];i.push(s.trim());let a=bn(s);if(a!==null)try{let p=JSON.parse(a).message;typeof p=="string"&&p.trim()&&i.push(`Details: ${p.trim()}`)}catch{}return typeof o=="string"&&o.trim()&&i.push(`Hint: ${o.trim()}`),i.join(`
80
-
81
- `)}var kw=new Set(["get_mem","memory_search","mem_search","ltm_search","dcp_compress","dcp_distill","dcp_prune","prune","distill","compress","context_info"]),Rw={read:{verb:"Read",running:"Reading",objectKeys:["filePath","path","file"]},write:{verb:"Wrote",running:"Writing",objectKeys:["filePath","path","file"]},edit:{verb:"Edited",running:"Editing",objectKeys:["filePath","path","file"]},apply_patch:{verb:"Edited",running:"Editing",objectKeys:["filePath","path"]},bash:{verb:"Ran",running:"Running",objectKeys:["command"]},glob:{verb:"Searched",running:"Searching",objectKeys:["pattern"]},grep:{verb:"Searched",running:"Searching",objectKeys:["pattern"]},list:{verb:"Listed",running:"Listing",objectKeys:["path"]},web_search:{verb:"Searched",running:"Searching",objectKeys:["query"]},websearch:{verb:"Searched",running:"Searching",objectKeys:["query"]},webfetch:{verb:"Fetched",running:"Fetching",objectKeys:["url"]},web_fetch:{verb:"Fetched",running:"Fetching",objectKeys:["url"]},scrape:{verb:"Scraped",running:"Scraping",objectKeys:["url"]},scrape_webpage:{verb:"Scraped",running:"Scraping",objectKeys:["url"]},task:{verb:"Delegated",running:"Delegating",objectKeys:["description"]},memory:{verb:"Remembered",running:"Remembering"},get_mem:{verb:"Recalled",running:"Recalling"},memory_search:{verb:"Recalled",running:"Recalling",objectKeys:["query"]},mem_search:{verb:"Recalled",running:"Recalling",objectKeys:["query"]},ltm_search:{verb:"Recalled",running:"Recalling",objectKeys:["query"]},dcp_compress:{verb:"Compacted",running:"Compacting"},dcp_distill:{verb:"Distilled",running:"Distilling"},dcp_prune:{verb:"Pruned",running:"Pruning"},compress:{verb:"Compacted",running:"Compacting"},distill:{verb:"Distilled",running:"Distilling"},prune:{verb:"Pruned",running:"Pruning"},context_info:{verb:"Checked context",running:"Checking context"}};function Cw(e,t){if(e==="filePath"||e==="path"||e==="file"){let n=t.split("/");return n[n.length-1]||t}return e==="query"&&jr(t)||t}function Iw(e,t){if(!t||typeof e!="object"||e===null)return;let n=e;for(let r of t){let s=n[r];if(typeof s=="string"&&s.trim())return Cw(r,s.trim())}}function Gy(e){if(Me(e))return{verb:"Thought",running:"Thinking",object:void 0,tier:"reasoning"};if(!X(e))return{verb:"Used",running:"Using",object:void 0,tier:"primary"};let t=pe(e.tool),n=Rw[t],r=e.state?.input;return n?{verb:n.verb,running:n.running,object:Iw(r,n.objectKeys),tier:kw.has(t)?"plumbing":"primary"}:{verb:"Used",running:"Using",object:t,tier:"primary"}}function PB(e){let t=0,n=0,r=!1,s=!1;for(let o of e){if(Gy(o).tier==="plumbing"){r=!0;continue}if(Me(o)){if(!o.text?.trim())continue;s||(s=!0,t+=1);continue}s=!1,t+=1,X(o)&&qy(o)!=="ok"&&(n+=1)}return{total:t,failed:n,completed:t-n,hasPlumbing:r}}function qo(e){return`${e} ${e===1?"step":"steps"}`}function SB(e,t){let{total:n,failed:r,completed:s,hasPlumbing:o}=e;return t?n===0?"Working":`Working \xB7 ${qo(n)}`:n===0?o?"Housekeeping":"Worked":r===0?`Completed ${qo(n)}`:s===0?`${qo(n)} failed`:`Completed ${s} of ${n} steps \xB7 ${r} failed`}function wB(e){let t=!1,n=!1,r=!1,s=null,o=p=>{let d=p;return d?.summary!==!0?!1:(t=!0,!d.time?.completed&&!d.error&&(r=!0),s==null&&d.error!=null&&(s=d.error),!0)},i=p=>{for(let d of p??[])d.type==="compaction"?(t=!0,n=!0):d.type==="text"&&d.text?.trim()&&(n=!0)},u=(e.userMessage?.parts??[]).some(p=>p.type==="compaction");u&&(t=!0),e.userMessage&&o(e.userMessage.info)&&i(e.userMessage.parts);for(let p of e.assistantMessages)o(p.info),i(p.parts);return u&&e.assistantMessages.length===0&&(r=!0),{isCompaction:t,hasContent:n,inFlight:r,error:s}}function kB(e){let t=(e??"").trimStart();return t.startsWith("{")||t.startsWith("[")}function RB(e,t=2e3){let n=(e??"").trim();try{let r=JSON.parse(n);if(typeof r=="string")try{r=JSON.parse(r)}catch{}r&&typeof r=="object"&&(n=JSON.stringify(r,null,2))}catch{}return n.length>t?{text:n.slice(0,t).trimEnd(),truncatedChars:n.length-t}:{text:n,truncatedChars:0}}function CB(e,t=200){let n=e??"";return n=n.replace(/\\n/g," "),n=Ay(n),n=ky(n),n=n.replace(/[#*_`>]+/g," "),n=n.replace(/\s+/g," ").trim(),n=n.replace(/\b(\w{2,})(?:\s+\1\b)+/gi,"$1"),n.length>t?n.slice(0,t).trimEnd()+"\u2026":n}function IB(e){let t=(e??"").trim();if(!t)return null;let n;try{if(n=JSON.parse(t),typeof n=="string")try{n=JSON.parse(n)}catch{return null}}catch{return null}if(!n||typeof n!="object"||Array.isArray(n))return null;let r=n;if(r.success!==!1||typeof r.error!="string"||!r.error.trim())return null;let s=r.error.trim(),o;for(let i=0;i<3;i++){let a=bn(s);if(a===null)break;let u;try{u=JSON.parse(a)}catch{break}if(typeof u.status=="number"&&(o=u.status),typeof u.message=="string"&&u.message.trim())s=u.message.trim();else if(typeof u.error=="string"&&u.error.trim())s=u.error.trim();else break}return{message:s,status:o}}function Sn(e){try{return JSON.parse(`"${e}"`)}catch{return e}}function Go(e,t=30){if(!e)return[];let n=[],r=new Set,s=(a,u,p)=>{!/^https?:\/\//i.test(u)||r.has(u)||n.length>=t||(r.add(u),n.push({title:a.trim()||u,url:u,snippet:p?.trim()||void 0}))},o=/"title"\s*:\s*"((?:\\.|[^"\\])*)"\s*,\s*"url"\s*:\s*"((?:\\.|[^"\\])*)"(?:\s*,\s*"(?:snippet|content|text)"\s*:\s*"((?:\\.|[^"\\])*)")?/g,i;for(;(i=o.exec(e))!==null;)if(s(Sn(i[1]),Sn(i[2]),i[3]?Sn(i[3]):void 0),n.length>=t)return n;if(n.length===0){let a=/"url"\s*:\s*"((?:\\.|[^"\\])*)"[^{}]{0,400}?"title"\s*:\s*"((?:\\.|[^"\\])*)"/g;for(;(i=a.exec(e))!==null;)if(s(Sn(i[2]),Sn(i[1])),n.length>=t)return n}return n}function Wy(e,t=!1){if(typeof e=="object"&&e!==null)return e;if(typeof e!="string")return null;try{let n=JSON.parse(e);if(typeof n=="string")try{n=JSON.parse(n)}catch{}return typeof n=="object"?n:null}catch{let n=t&&e.trim().replace(/^\uFEFF/,"");if(n&&n!==e)try{return JSON.parse(n)}catch{}return null}}function Nr(e){return e.filter(t=>t.title&&t.url).map(t=>({title:t.title,url:t.url,snippet:t.snippet||t.content||t.text||void 0,author:t.author||void 0,publishedDate:t.publishedDate||t.published_date||void 0}))}function Ky(e){if(!e)return[];let t=Wy(e,!0);if(t?.success===!1)return[];if(Array.isArray(t?.results)&&t.results.length>0){let n=t.results[0];if(n&&typeof n.query=="string"){let r=[];for(let s of t.results)typeof s.query=="string"&&r.push({query:s.query,answer:s.answer||void 0,sources:Array.isArray(s.results)?Nr(s.results):[]});if(r.length>0)return r}else if(n&&(n.title||n.url)){let r=Nr(t.results);if(r.length>0)return[{query:t.query||"",answer:t.answer||void 0,sources:r}]}}if(t?.query&&typeof t.query=="string")return[{query:t.query,answer:t.answer||void 0,sources:Array.isArray(t.results)?Nr(t.results):[]}];if(Array.isArray(t)&&t.length>0&&t[0]&&(t[0].title||t[0].url)){let n=Nr(t);if(n.length>0)return[{query:"",sources:n}]}if(typeof e=="string"){let n=e.split(/(?=^Title: )/m).filter(Boolean),r=[];for(let s of n){let o=s.match(/^Title:\s*(.+)/m),i=s.match(/^URL:\s*(.+)/m),a=s.match(/^Author:\s*(.+)/m),u=s.match(/^Published Date:\s*(.+)/m),p=s.match(/^Text:\s*([\s\S]*?)$/m);o&&i&&r.push({title:o[1].trim(),url:i[1].trim(),snippet:p?.[1]?.trim()||void 0,author:a?.[1]?.trim()||void 0,publishedDate:u?.[1]?.trim()||void 0})}if(r.length>0)return[{query:"",sources:r}]}if(typeof e=="string"){let n=Go(e);if(n.length>0)return[{query:"",sources:n.map(r=>({title:r.title,url:r.url,snippet:r.snippet}))}]}return[]}function Wo(e){try{return new URL(e).hostname.replace("www.","")}catch{return e}}function OB(e){try{let t=new URL(e).hostname.replace(/^www\./,""),n=t.split(".");return n.length<=2?t:n.slice(-2).join(".")}catch{return Wo(e)}}function DB(e){try{return`https://www.google.com/s2/favicons?domain=${new URL(e).hostname.replace(/^www\./,"")}&sz=128`}catch{return null}}function jB(e){if(!e)return!1;let t=e.slice(0,600).toLowerCase();return t.includes("<!doctype html")||t.includes("<html")?!0:/<\/(body|head|div|p|span|table)>/i.test(e.slice(0,3e3))}function Tw(e){let t=e.urls??e.url;if(typeof t=="string")return t.split(/[\s,]+/).map(n=>n.trim()).filter(n=>/^https?:\/\//i.test(n));if(Array.isArray(t)){let n=[];for(let r of t){if(typeof r!="string")continue;let s=r.trim();/^https?:\/\//i.test(s)&&n.push(s)}return n}return[]}function Ew(e,t){if(t.length===0)return[];let n=e.replace(/^Error:\s*/i,"").trim();return t.map(r=>{let s=Ry(n,r)?.trim()||n;return{url:r,success:!1,error:s}})}function $B(e,t){let n=Mw(e);if(n?.results?.length)return n.results;let r=typeof e=="string"?e:"";return r.trim()?Ew(r,Tw(t)):[]}function Mw(e){if(!e)return null;let t=Wy(e);if(!t)return null;if(t.results&&Array.isArray(t.results))return{total:t.total||t.results.length,successful:t.successful??t.results.filter(n=>n.success!==!1).length,failed:t.failed??t.results.filter(n=>n.success===!1).length,results:t.results.map(n=>({url:n.url||"",success:n.success!==!1,title:n.title||void 0,content:n.content||n.text||n.snippet||void 0,error:n.error||void 0}))};if(typeof e=="string"){let n=Go(e);if(n.length>0)return{total:n.length,successful:n.length,failed:0,results:n.map(r=>({url:r.url,success:!0,title:r.title||void 0,content:r.snippet||void 0}))}}return null}function Ow(e){if(typeof e!="string"||!e.trim())return null;try{let t=new URL(e.trim());return t.protocol==="http:"||t.protocol==="https:"?t.toString():null}catch{return null}}var Dw={read:"explore",list:"explore",glob:"explore",grep:"explore",write:"edit",edit:"edit",apply_patch:"edit",bash:"run",pty:"run",web_search:"web",webfetch:"web",media:"create",show:"create",task:"delegate",delegate:"delegate",sessions:"sessions",todowrite:"plan",question:"ask",memory:"memory",connectors:"connectors",automations:"automations",projects:"projects",skill:"skills",context:"hidden",retired:"retired",other:"other"};function Ko(e){return Dw[re(e)]}function qr(e){let t=z(e).replace(/__+/g,"/");return(t.includes("/")?t.slice(t.lastIndexOf("/")+1):t).replace(/_/g," ").trim().replace(/\b\w/g,r=>r.toUpperCase())}var jw={run:"Terminal",memory:"Memory"};function qB(e){let t=Ko(e);return(t==="hidden"?void 0:jw[t])??qr(e)}function xn(e,t,n){return e===1?t:n}function Ho(e){return e.length===0?"":e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function zy(e){return e.length?Uo(e[0]):""}function be(e){return(e.state??{}).input??{}}var $w={agent_spawn:"spawn",agent_task:"spawn",agent_task_create:"spawn",agent_task_start:"spawn",task:"spawn",task_create:"spawn",task_start:"spawn",session_spawn:"spawn",session_start_background:"spawn",agent_message:"message",agent_task_message:"message",task_message:"message",session_message:"message",agent_status:"status",agent_task_list:"status",agent_task_get:"status",task_list:"status",task_get:"status",agent_stop:"stop",agent_task_cancel:"stop",task_cancel:"stop",agent_task_approve:"done",task_approve:"done",task_done:"done",task_delete:"delete"};function Uw(e){let t=z(e.tool);if(t==="agent_task_update"||t==="task_update")switch(be(e).action||""){case"start":return"spawn";case"cancel":return"stop";case"approve":return"done";default:return"message"}return $w[t]??"message"}function Hy(e){switch(e){case"create":return"create";case"update":return"update";case"delete":return"delete";case"test":return"test";case"pause":case"resume":return"control";case"list":case"get":return"read";default:return"unknown"}}function Fw(e){let t=z(e.tool);if(t==="triggers"){let r=be(e).action||"list";return Hy(r)}let n=t.match(/^trigger_(.+)$/);return Hy(n?n[1]:"list")}var Lw={connector_setup:"connect",connector_get:"read",connector_list:"read",beeuni_connector_discover:"read",beeuni_connector_describe:"read",beeuni_connectors:"read",beeuni_connectors_connectors:"read",beeuni_connectors_discover:"read",beeuni_connectors_describe:"read",beeuni_connector_call:"call",beeuni_connectors_call:"call"};function Bw(e){return Lw[z(e.tool)]??"read"}var Nw={project_get:"open",project_list:"open",project_select:"open",project_update:"update",project_create:"create",project_delete:"delete"};function qw(e){return Nw[z(e.tool)]??"open"}function It(e){return e.every(t=>t===e[0])}var Gw={view:"read",create:"write",str_replace:"write",insert:"write",rename:"write",delete:"delete"};function Ww(e){if(z(e.tool)!=="memory")return"read";let n=be(e).command;return n&&Gw[n]||"unknown"}var Kw={generate:"Made an image",edit:"Edited an image",upscale:"Upscaled an image",remove_bg:"Removed an image background"},Hw={create_slide:"Added a slide to a presentation",list_slides:"Checked a presentation's slides",list_presentations:"Checked your presentations",delete_slide:"Deleted a slide from a presentation",delete_presentation:"Deleted a presentation",validate_slide:"Checked a slide",export_pdf:"Exported a presentation to PDF",export_pptx:"Exported a presentation to PPTX",preview:"Previewed a presentation",serve:"Previewed a presentation"};function Vw(e){let t=Te(e.replace(/\\/g,"/")),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function zw(e){let t=be(e),n=typeof t.title=="string"?t.title.trim():"";if(n)return n;let r=typeof t.description=="string"?t.description.trim():"";if(r)return Yw(r,60);let s=typeof t.path=="string"?t.path:"";if(s)return Vw(s);let o=typeof t.url=="string"?t.url:"";if(o){let i=Ow(o);return i?Wo(i):"a link"}return""}function Yw(e,t=60){let n=e.replace(/\s+/g," ").trim();return n.length>t?n.slice(0,t-1)+"\u2026":n}function Qw(e){let t=be(e).action;return t&&Kw[t]||"Worked on an image"}function Jw(e){let t=be(e).action;return t&&Hw[t]||"Worked on a presentation"}function Xw(e){return e.slice(0,e.indexOf(":"))}var Zw={generate:"image:generate",edit:"image:edit",upscale:"image:upscale",remove_bg:"image:remove_bg"},ev={create_slide:"presentation:create_slide",list_slides:"presentation:list_slides",list_presentations:"presentation:list_presentations",delete_slide:"presentation:delete_slide",delete_presentation:"presentation:delete_presentation",validate_slide:"presentation:validate_slide",export_pdf:"presentation:export_pdf",export_pptx:"presentation:export_pptx",preview:"presentation:preview",serve:"presentation:preview"};function tv(e){let t=z(e.tool);if(t==="image_gen"){let n=be(e).action;return n&&Zw[n]||"image:unknown"}if(t==="video_gen")return"video:create";if(t==="presentation_gen"){let n=be(e).action;return n&&ev[n]||"presentation:unknown"}return"shown:result"}var nv=new Set(["create_slide","export_pdf","export_pptx"]);function GB(e){let t=z(e.tool);if(t==="image_gen")return"image";if(t==="video_gen")return"video";if(t==="presentation_gen"){let n=be(e).action;return n?nv.has(n)?"presentation":null:"presentation"}return null}var rv={"image:generate":e=>`Made ${e} images`,"image:edit":e=>`Edited ${e} images`,"image:upscale":e=>`Upscaled ${e} images`,"image:remove_bg":e=>`Removed backgrounds from ${e} images`,"image:unknown":e=>`Worked on ${e} images`,"video:create":e=>`Made ${e} videos`,"presentation:create_slide":e=>`Added ${e} slides`,"presentation:delete_slide":e=>`Deleted ${e} slides`,"presentation:delete_presentation":e=>`Deleted ${e} presentations`,"presentation:list_slides":()=>"Checked a presentation's slides","presentation:list_presentations":()=>"Checked your presentations","presentation:validate_slide":()=>"Checked slides","presentation:export_pdf":e=>`Exported ${e} presentations to PDF`,"presentation:export_pptx":e=>`Exported ${e} presentations to PPTX`,"presentation:preview":e=>`Previewed ${e} presentations`,"presentation:unknown":e=>`Worked on ${e} presentations`,"shown:result":e=>`Showed you ${e} results`},Vy={image:"image",video:"video",presentation:"presentation",shown:"result"};function sv(e){let t={image:0,video:0,presentation:0,shown:0};for(let r of e)t[Xw(r)]++;let n=[];return Object.keys(t).forEach(r=>{let s=t[r];s&&n.push(`${s} ${xn(s,Vy[r],`${Vy[r]}s`)}`)}),`Worked on ${Ho(n)}`}function Yy(e,t){let n=t.length,r=zy(t);switch(e){case"explore":{let s=t.filter(o=>z(o.tool)==="read").length;return s===n?`Read ${n} ${xn(n,"file","files")}`:s===0?"Looked through your files":`Looked through your files \xB7 ${s} read`}case"edit":{let s=new Set(t.map(i=>Ne(be(i))).filter(Boolean)).size||n,o=t.every(i=>z(i.tool)==="write")?"Wrote":"Updated";return s===1?r?`${o} ${r}`:`${o} a file`:`${o} ${s} files`}case"run":return n===1?"Ran a command":`Ran ${n} commands`;case"web":{let s=u=>{let p=z(u.tool);return p==="web_search"||p==="websearch"||p==="image_search"},o=t.filter(s).length;if(o===n)return`Searched the web \xB7 ${n} ${xn(n,"query","queries")}`;if(o===0)return`Read ${n} ${xn(n,"page","pages")}`;let i=new Set;for(let u of t)if(s(u)){let p=u.state?.output;for(let d of Ky(p).flatMap(g=>g.sources))d.url&&i.add(d.url)}else{let p=u.state?.input?.url;typeof p=="string"&&p&&i.add(p)}let a=i.size||n;return`Searched and read ${a} ${xn(a,"source","sources")}`}case"create":{if(n===1){let o=t[0],i=z(o.tool);if(i==="image_gen")return Qw(o);if(i==="video_gen")return"Made a video";if(i==="presentation_gen")return Jw(o);let a=zw(o);return a?`Showed you ${a}`:"Showed you the result"}let s=t.map(tv);return It(s)?rv[s[0]](n):sv(s)}case"plan":return n===1?"Planned the work":`Planned the work \xB7 ${n} steps`;case"delegate":{let s=t.map(Uw);if(It(s))switch(s[0]){case"spawn":return n===1?"Asked a helper agent":`Worked with ${n} helper agents`;case"message":return n===1?"Sent instructions to a helper agent":`Sent instructions to ${n} helper agents`;case"status":return"Checked on a helper agent";case"stop":return n===1?"Stopped a helper agent":`Stopped ${n} helper agents`;case"done":return n===1?"A helper agent finished a task":`Helper agents finished ${n} tasks`;case"delete":return n===1?"Removed a task":`Removed ${n} tasks`}return n===1?"Worked with a helper agent":`Worked with helper agents \xB7 ${n} steps`}case"sessions":return"Checked earlier work";case"memory":{let s=t.map(Ww);if(It(s))switch(s[0]){case"write":return n===1?"Wrote to its memory":`Wrote to its memory \xB7 ${n} updates`;case"delete":return n===1?"Deleted from its memory":`Deleted ${n} things from its memory`;case"read":return"Recalled what you told it before"}return"Worked with its memory"}case"connectors":{let s=t.map(Bw);if(It(s))switch(s[0]){case"connect":return n===1?r?`Connected to ${r}`:"Connected a connector":`Connected ${n} connectors`;case"call":return n===1?"Used a connector":`Made ${n} connector calls`;case"read":return"Checked your connectors"}return"Worked with your connectors"}case"automations":{let s=t.map(Fw);if(It(s))switch(s[0]){case"create":return n===1?"Set up an automation":`Set up ${n} automations`;case"update":return n===1?"Updated an automation":`Updated ${n} automations`;case"delete":return n===1?"Deleted an automation":`Deleted ${n} automations`;case"control":return n===1?"Adjusted an automation":`Adjusted ${n} automations`;case"test":return n===1?"Tested an automation":`Tested ${n} automations`;case"read":return"Checked your automations";case"unknown":return"Worked with your automations"}return"Worked with your automations"}case"projects":{let s=t.map(qw);if(It(s))switch(s[0]){case"delete":return n===1?"Tried to delete a project \u2014 deletion isn't allowed":`Tried to delete ${n} projects \u2014 deletion isn't allowed`;case"create":return n===1?r?`Created ${r}`:"Created a project":`Created ${n} projects`;case"update":return n===1?r?`Updated ${r}`:"Updated your project":`Updated ${n} projects`;case"open":return n===1?r?`Opened ${r}`:"Opened your project":`Opened ${n} projects`}return r?`Worked in ${r}`:"Worked in your project"}case"skills":return n===1?r?`Used the ${r} skill`:"Used a skill":`Used ${n} skills`;case"ask":return"Asked you a question";case"retired":return"Used a connector that has since been removed";case"other":{if(n===1)return`Used ${qr(t[0].tool)}`;let s=Array.from(new Set(t.map(o=>qr(o.tool))));return s.length===1?`Used ${s[0]} \xB7 ${n} times`:`Used ${Ho(s)}`}}}function Qy(e,t){let n=zy(t);switch(e){case"explore":return"Couldn't read your files";case"edit":{if(t.length===1){let r=z(t[0].tool)==="write"?"write":"update";return n?`Couldn't ${r} ${n}`:`Couldn't ${r} a file`}return"Couldn't update some files"}case"run":return"A command failed";case"web":return"Couldn't finish searching the web";case"create":return"Couldn't finish making that";case"plan":return"Couldn't update the plan";case"delegate":return"A helper agent hit a problem";case"sessions":return"Couldn't check earlier work";case"memory":return"Couldn't reach its memory";case"connectors":return"Couldn't reach a connector";case"automations":return"Hit a problem with your automations";case"projects":return"Hit a problem with your project";case"skills":return"Couldn't use a skill";case"ask":return"Couldn't ask you a question";case"retired":return"Used a connector that has since been removed";case"other":{let r=t.filter(i=>i.state?.status==="error"),s=r.length?r:t,o=Array.from(new Set(s.map(i=>qr(i.tool))));return`Couldn't finish using ${Ho(o)}`}}}function ov(e){return e.some(t=>t.state?.status==="running"||t.state?.status==="pending")?"running":e.some(t=>t.state?.status==="error")?"error":"done"}function iv(e){let t=Number.POSITIVE_INFINITY,n=0;for(let r of e){let s=r.state.time;typeof s?.start=="number"&&(t=Math.min(t,s.start)),typeof s?.end=="number"&&(n=Math.max(n,s.end))}if(!(!Number.isFinite(t)||n<=t))return n-t}function Jy(e,t){let n=ov(t);return{id:t[0].callID,family:e,label:n==="error"?Qy(e,t):Yy(e,t),parts:t,status:n,durationMs:n==="running"?void 0:iv(t)}}function Xy(e){let t=[],n=null,r=[],s=()=>{n&&r.length&&t.push(Jy(n,r)),n=null,r=[]};for(let o of e){let i=Ko(o.tool);if(i!=="hidden"&&!Vs(o)){if(_m(o.tool)){s(),t.push(Jy(i,[o]));continue}i!==n&&(s(),n=i),r.push(o)}}return s(),t}function av(e){let t=e.time?.end;return!(typeof t=="number"&&t>0)}function QB(e,t){let n=[],r=null,s=[],o=()=>{if(r&&r.texts.length>0){let{startedAt:a,endedAt:u}=r,p=typeof a=="number"&&typeof u=="number"&&u>a?u-a:void 0;n.push({kind:"thought",key:r.key,texts:r.texts,running:r.running,durationMs:p})}r=null},i=()=>{if(s.length!==0){for(let a of Xy(s))n.push(a.parts.length===1?{kind:"part",key:a.parts[0].id,part:a.parts[0]}:{kind:"group",key:`group-${a.parts[0].id}`,step:a});s=[]}};for(let a of e)if(t(a)!=="plumbing"){if(Me(a)){let u=a.text?.trim();if(!u)continue;i(),r||(r={key:`thought-${a.id}`,texts:[],running:!1}),r.texts.push(u);let p=a.time;r.startedAt===void 0&&typeof p?.start=="number"&&(r.startedAt=p.start),r.endedAt=typeof p?.end=="number"&&p.end>0?p.end:void 0,r.running=av(a);continue}if(o(),X(a)){s.push(a);continue}i(),n.push({kind:"part",key:a.id,part:a})}o(),i();for(let a=0;a<n.length-1;a++){let u=n[a];u.kind==="thought"&&(u.running=!1)}return n}var cv=/^(thinking|thought|considering|planning|deciding|weighing|exploring|analy[sz]ing|reasoning|working out|figuring)/i;function uv(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/^#{1,6}\s*/gm,"").replace(/\*\*([^*]*)\*\*/g,"$1").replace(/(^|\s)[*_]([^*_]+)[*_]/g,"$1$2").replace(/^\s*[-*+]\s+/gm,"").replace(/\s+/g," ").trim()}function JB(e){let t=e.flatMap(s=>{let o=uv(s);return o?[o]:[]}).join(" ").trim();return t?cv.test(t)?t:`Thinking about ${/^[A-Z][a-z]/.test(t)?t[0].toLowerCase()+t.slice(1):t}`:"Thinking"}function lv(e){return e?.info?.time??{}}function ZB(e){let t=lv(e).created;return typeof t!="number"||!Number.isFinite(t)||t<=0?null:t}var Gr=6e4,pv=10080*Gr,Zy=1440;function eh(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function dv(e,t){let n=t.getTime()-e.getTime(),r=n/Gr,s=(i,a)=>`${i} ${a}${i===1?"":"s"} ago`;if(r<60)return s(Math.round(r),"minute");if(r<Zy)return s(Math.round(r/60),"hour");let o=(n-(eh(t)-eh(e)))/Gr;return s(Math.round(o/Zy),"day")}function rh(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}var th=new Map;function gv(e,t){let n={...e,...t.timeZone?{timeZone:t.timeZone}:{}},r=`${t.locale??""}|${JSON.stringify(n)}`,s=th.get(r);return s||(s=new Intl.DateTimeFormat(t.locale,n),th.set(r,s)),s}function Wr(e,t,n){return gv(t,n).formatToParts(e).map(r=>r.type==="dayPeriod"?mv(r.value,n):r.value).join("")}function mv(e,t){let n=/^([ap])\.?\s?m\.?$/i.exec(e.trim());return n?`${n[1].toUpperCase()}M`:e.toLocaleUpperCase(t.locale)}function nh(e,t){return Wr(e,{year:"numeric"},t)}function eN(e,t,n={}){let r=rh(e);if(!r)return"";let s=i=>Wr(r,{month:"long",day:"numeric",...i?{year:"numeric"}:{}},n);if(t===null)return s(!0);let o=Math.max(0,t-r.getTime());return o<Gr?"just now":o<pv?dv(r,new Date(t)):s(nh(r,n)!==nh(new Date(t),n))}function tN(e,t={}){let n=rh(e);if(!n)return"";let r=Wr(n,{month:"long",day:"numeric",year:"numeric"},t),s=Wr(n,{hour:"numeric",minute:"2-digit"},t);return`${r} ${s}`}function oN(e,t={}){let n=[],r=[],s=()=>{r.length>0&&(n.push({kind:"burst",parts:r}),r=[])};for(let o of e)if(!Pm(o)){if(Ee(o)){s(),n.push({kind:"text",part:o});continue}if(X(o)&&(Sm(o.tool)||!!t.standaloneCallIds?.has(o.callID))){s(),n.push({kind:"standalone",part:o});continue}r.push(o)}return s(),n}function fv(e){let t=pe(e);return t==="show"||t==="show_user"}function uN(e,t={}){let n=[],r=[],s=()=>{r.length===1?n.push(r[0]):r.length>1&&n.push({kind:"show-group",parts:r.map(o=>o.part)}),r=[]};for(let o of e){if(o.kind==="standalone"&&fv(o.part.tool)&&!t.standaloneCallIds?.has(o.part.callID)){r.push(o);continue}s(),n.push(o)}return s(),n}var yv=["title","description","path","url","content","language","aspect_ratio","attachment"];function sh(e,t){if(!t||typeof t!="object")return null;let n=t;if(yr(n))return null;let r={callID:e,status:"ready",type:typeof n.type=="string"?n.type:""};for(let s of yv){let o=n[s];typeof o=="string"&&o&&(r[s]=o)}return r}function hv(e){if(Array.isArray(e))return e.length>0?e:null;if(typeof e!="string"||!e.trim())return null;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:null}catch{return null}}function lN(e){let t=[];for(let n of e){let r=n.state,s=r.input??{};if(r.status==="error"){let a=typeof s.title=="string"&&s.title?s.title:void 0;t.push({callID:n.callID,status:"error",type:"error",...a?{title:a}:{},error:typeof r.error=="string"?r.error:""});continue}let o=hv(s.items),i=o?o.map(a=>sh(n.callID,a)).filter(a=>!!a):[sh(n.callID,s)].filter(a=>!!a);if(i.length>0){t.push(...i);continue}(r.status==="running"||r.status==="pending")&&t.push({callID:n.callID,status:"pending",type:""})}return t}function oh(e){return!e.working||e.awaitingUser?!1:e.isRetrying?!0:!e.hasError}var bv=e=>e.time?.completed;function mN(e){return!e.hasPendingTurns||!e.newestAssistantCompleted?!1:e.pendingDelivery||!!e.deliveringBelow||e.activeTurnId!==null&&e.activeTurnId!==e.workingTurnId}function _v(e,t){let n=e.userMessage.info.id;return t.pendingTurnIds.has(n)||e.assistantMessages.length===0&&t.pendingPromptIds.has(n)}function fN(e){let t=e.turns.find(r=>e.deliveringPromptIds.has(r.userMessage.info.id));if(t)return t.userMessage.info.id;let n=e.turns.findIndex(r=>_v(r,e));return n<=0?null:e.turns[n-1].userMessage.info.id}function yN(e){return e.isTurnWorking&&!e.pendingDelivery&&e.activeTurnId===e.turnId}function hN(e){if(e.confirmedActive)return!1;let{workingTurnId:t,pendingTurnIds:n}=e.resolution;return e.sessionWorking&&(t===null?n[0]:t)===e.turnId?e.inboxPrompt?.state==="waiting"||e.inboxPrompt?.state==="failed":n.includes(e.turnId)||!!e.inboxPrompt}function bN(e){return!e.lastTurnWorking||e.workingTurnId===null||e.suppressed?!1:oh({working:!0,hasError:e.workingTurnHasError,isRetrying:e.isRetrying,awaitingUser:e.awaitingUser})}function _N(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].userMessage.info.id;if(t(r))return e[n].assistantMessages.length===0?r:null}return null}function PN(e){let{turns:t}=e;if(t.length===0)return{workingTurnId:null,pendingTurnIds:[]};let n=-1;for(let a=t.length-1;a>=0;a--)if(t[a].assistantMessages.length>0){n=a;break}let r=t.slice(n+1).map(a=>a.userMessage.info.id),s=a=>({workingTurnId:t[a].userMessage.info.id,pendingTurnIds:t.slice(a+1).map(u=>u.userMessage.info.id)}),o=e.hintMessageId??null;if(o){if(n>=0&&t[n].userMessage.info.id===o)return s(n);let a=r.indexOf(o);if(a>=0)return s(n+1+a)}if(n>=0){let a=t[n],u=a.assistantMessages[a.assistantMessages.length-1];if(!bv(u.info)&&!u.info.error)return s(n)}let i=e.unrunTurnIds;if(r.length>0){for(let a=t.length-1;a>n;a--)if(!i?.has(t[a].userMessage.info.id))return s(a)}return n<0?{workingTurnId:null,pendingTurnIds:r}:s(n)}function Pv(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>Ee(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return X(s)&&s.tool==="bash"}function wN(e){if(Pv(e))return e.assistantMessages[0].parts[0]}function RN(e,t){for(let n=t.length-1;n>=0;n--)if(t[n].info.role==="user")return t[n].info.id===e;return!1}function CN(e,t){return!t||!e?!1:e.type!=="idle"}function IN(e,t){return!e&&!!t}function TN(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return he(n.error)?.message||de(n.error)}}function EN(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return py(n.error)}}function MN(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return he(n.error)}}function ih(e){if(e){if(X(e))switch(e.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(Me(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(Ee(e))return"Gathering thoughts..."}}function ON(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=X(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"&&t&&t.length>0){for(let i=t.length-1;i>=0;i--){let a=t[i];if(a.info.role==="assistant")for(let u=a.parts.length-1;u>=0;u--){let p=ih(a.parts[u]);if(p)return p}}return"Handing off to an agent..."}let o=ih(r);if(o)return o}return"Figuring out what\u2019s next..."}function DN(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}var ah=1.2;function ch(e,t){if(!e)return 0;let n=e.input??0,r=(e.output??0)+(e.reasoning??0),s=e.cache?.read??0,o=e.cache?.write??0,i=Math.max(0,n-s-o),u=[...t.tiers??[],...t.contextOver200k?[t.contextOver200k]:[]].filter(d=>n>d.contextThreshold).sort((d,g)=>g.contextThreshold-d.contextThreshold)[0]??t,p=i/1e6*u.inputPer1M;return p+=r/1e6*u.outputPer1M,s>0&&(p+=s/1e6*(u.cacheReadPer1M??u.inputPer1M)),o>0&&(p+=o/1e6*(u.cacheWritePer1M??u.inputPer1M)),p}function Vo(e,t){return e==="codex"||e==="openai-codex"||e==="beeuni"&&!!t?.startsWith("codex/")}function uh(e,t,n,r){if(Vo(t,n))return 0;let s=e.cost||0;if(s>0)return s;if(!r||!t||!n)return 0;let o=r(t,n);return o?ch(e.tokens,o):0}function lh(e){if(e.role!=="assistant")return{};let t=e;return{providerID:t.providerID,modelID:t.modelID}}function jN(e,t){let n=0,r=0,s=0,o=0,i=0,a=0,u=!1;for(let{part:p,message:d}of e)if(p.type==="step-finish"){u=!0;let g=p,{providerID:m,modelID:f}=lh(d.info);n+=uh(g,m,f,t),r+=g.tokens?.input||0,s+=g.tokens?.output||0,o+=g.tokens?.reasoning||0,i+=g.tokens?.cache?.read||0,a+=g.tokens?.cache?.write||0}if(!u){let p=new Set;for(let{message:d}of e){if(d.info.role!=="assistant")continue;let g=d.info;if(p.has(g.id))continue;p.add(g.id);let m=ph(g,t),f=g.tokens&&Vo(g.providerID,g.modelID);if(m<=0&&!f)continue;u=!0,n+=m;let h=g.tokens;h&&(r+=h.input??0,s+=h.output??0,o+=h.reasoning??0,i+=h.cache?.read??0,a+=h.cache?.write??0)}}if(u)return{cost:n*ah,tokens:{input:r,output:s,reasoning:o,cacheRead:i,cacheWrite:a}}}function ph(e,t){if(Vo(e.providerID,e.modelID)||!t||!e.providerID||!e.modelID||!e.tokens)return 0;let n=t(e.providerID,e.modelID);return n?ch({input:e.tokens.input,output:e.tokens.output,reasoning:e.tokens.reasoning,cache:e.tokens.cache},n):0}function $N(e,t){let n=0;for(let r of e){if(r.info?.role!=="assistant")continue;let s=r.info,{providerID:o,modelID:i}=lh(s),a=0,u=!1;for(let p of r.parts)p.type==="step-finish"&&(u=!0,a+=uh(p,o,i,t));u||(a+=ph(s,t)),n+=a}return n*ah}function UN(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function FN(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function LN(e){if(!e||e.type!=="retry")return;let t=e,n=de(t.message);return{attempt:t.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:t.next,details:he(t.message)}}function BN(e){if(!(!e||e.type!=="retry"))return de(e.message)}function NN(e){return(e.info.summary?.diffs?.length??0)>0}function WN(e){if(!e)return"";let t=e;return t=t.replace(/^##\s*Worker Result\s*\n/i,""),t=t.replace(/^\*\*Agent:\*\*.*\n?/m,""),t=t.replace(/^\*\*Task:\*\*.*\n?/m,""),t=t.replace(/^\*\*Status:\*\*.*\n?/m,""),t=t.replace(/^\*\*Session:\*\*.*\n?/m,""),t=t.replace(/^\*\*Duration:\*\*.*\n?/m,""),t=by(t,"beeuni_goal_system"),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* created and started\..*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* created:.*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* started\..*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* failed to start.*$/gm,""),t=t.replace(/^Message sent to task.*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* approved.*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* cancelled.*$/gm,""),t=t.replace(/Worker session: ses_[a-zA-Z0-9]+/g,""),t=t.replace(/^---\s*\n/gm,""),t=t.trim(),t||""}function KN(e){return e?e.split(`
82
- `).filter(n=>n.trim()).length<=3:!1}function HN(e){if(!e)return null;let n=e.split(`
83
- `).filter(r=>r.trim()&&!r.startsWith("#"))[0]?.replace(/^\*\*.*?\*\*\s*/,"").trim();return n?n.length>120?n.slice(0,120).trim()+"\u2026":n:null}function VN(e){if(!e)return[];let t=[],n=e.split(`
84
- `).filter(r=>r.trim());for(let r of n){let s=xy(r);if(s){let o=r.match(/\bses_[a-zA-Z0-9]+/);t.push({...s,sessionId:o?.[0]})}}return t}var st={write:{verb:"Wrote",running:"Writing",failed:"Couldn't write"},edit:{verb:"Edited",running:"Editing",failed:"Couldn't update"},delete:{verb:"Deleted",running:"Deleting",failed:"Couldn't delete"},rename:{verb:"Renamed",running:"Renaming",failed:"Couldn't rename"},change:{verb:"Changed",running:"Changing",failed:"Couldn't apply"},read:{verb:"Read",running:"Reading",failed:"Couldn't read"},list:{verb:"Listed",running:"Listing",failed:"Couldn't list"}};function YN(e,t){let n=st[e];return t==="running"?n.running:t==="failed"?n.failed:n.verb}function QN(e,t){return t?"failed":e?"running":"done"}var ZN={view:"View",create:"Create",str_replace:"Edit",insert:"Insert",delete:"Delete",rename:"Rename"};function eq(e){return e?e.replace(/^\.\//,"").replace(/^(?:\.beeuni\/)?memory(?:\/|$)/,"").replace(/\/$/,"")||"memory":""}function tq(e,t){if(!e)return null;let n=e.indexOf(`
85
- `),r=n===-1?e:e.slice(0,n),s=n===-1?"":e.slice(n+1);if(Py(r,"content of "," with line numbers"))return{type:"file",content:s.split(`
77
+ `)&&(n=n.slice(0,-1)),n)}function Ui(e,t,n=0){let r=e.indexOf(`<${t}`,n);if(r===-1)return null;let s=e.indexOf(">",r+1+t.length);return s===-1?null:{open:r,end:s}}function w_(e,t){let n=Ui(e,t);return n?e.slice(n.open+1+t.length,n.end):null}function v_(e,t){let n=Ui(e,t);if(!n)return null;let r=e.indexOf(`</${t}>`,n.end+1);return r===-1?null:e.slice(n.end+1,r)}function A_(e,t){let n=`</${t}>`,r="",s=0;for(;;){let o=Ui(e,t,s);if(!o)break;let i=e.indexOf(n,o.end+1);if(i===-1)break;r+=e.slice(s,o.open),s=i+n.length}return r+e.slice(s)}function k_(e,t,n){let r=[];for(let s of e.split(/[\n\r\u2028\u2029]/)){let o=0;for(;;){let i=s.indexOf(t,o);if(i===-1)break;let a=s.indexOf(n,i+t.length);if(a===-1)break;r.push(s.slice(i+t.length,a)),o=a+n.length}}return r}function Vn(e){let t=e.trimEnd();if(!t.endsWith("}"))return null;let n=t.indexOf(":");for(;n!==-1;){let r=n+1;for(;r<t.length&&he(t[r]);)r++;if(t[r]==="{")return t.slice(r);n=t.indexOf(":",n+1)}return null}function R_(e,t,n){let r=At(t),s=At(n);for(let o of At(e).split(/[\n\r\u2028\u2029]/)){let i=o.indexOf(r);if(i!==-1&&o.lastIndexOf(s)>=i+r.length)return!0}return!1}function C_(e,t){let n=At(e),r=t.map(At),s=e.length,o=c=>{let p=c;for(;p<s&&he(e[p]);)p++;return p},i=c=>{for(let p=c;p<s;p++)if(Wn(e[p]))return p+1;return-1},a=0;for(;a!==-1&&a<=s;){let c=o(a);if(c>=s)return null;let p=r.find(d=>n.startsWith(d,c));if(p!==void 0){let d=o(c+p.length);if(e[d]===":"){let g=o(d+1);if(g<s){let m=g;for(;m<s&&!Wn(e[m]);)m++;for(;m>g+1&&he(e[m-1]);)m--;return e.slice(g,m)}for(let m=s-1;m>d;m--)if(!Wn(e[m]))return e[m];return null}}a=i(c)}return null}function T_(e){let t=e.length,n=new Array(t+1);n[0]=0;for(let a=1;a<=t;a++)n[a]=he(e[a-1])?n[a-1]:a;let r=new Array(t+1).fill(-1);for(let a=t-1;a>=0;a--){if(r[a]=r[a+1],e[a]!=="\u2014"||!he(e[a-1]))continue;let c=a+1;if(he(e[c])){for(;c<t&&he(e[c]);)c++;$i(e[c])&&(r[a]=a)}}let s=new Array(t+1);s[0]=0;for(let a=0;a<t;a++)s[a+1]=s[a]+(Wn(e[a])?1:0);let o=(a,c)=>s[c]===s[a],i=a=>{let c=a+1;for(;he(e[c]);)c++;let p=c;for(;p<t&&$i(e[p]);)p++;return e.slice(c,p)};for(let a=e.indexOf("**task-");a!==-1;a=e.indexOf("**task-",a+1)){let c=a+7;for(;c<t&&/[a-z0-9]/.test(e[c]);)c++;if(c===a+7||e[c]!=="*"||e[c+1]!=="*")continue;let p=c+2,d=p;for(;d<t&&he(e[d]);)d++;if(d!==p){if(d<t&&d+2<=t){let g=r[d+2]??-1;if(g!==-1){let m=Math.max(d+1,n[g]);if(o(d,m))return{id:e.slice(a+2,c),title:e.slice(d,m),status:i(g)}}}if(d<t&&r[d]===d){for(let g=d-2;g>=p+1;g--)if(!Wn(e[g]))return{id:e.slice(a+2,c),title:e[g],status:i(d)}}}}return null}function E_(e){let t=(i,a)=>i.slice(a,a+6).toLowerCase()==="error:",n=0;for(;;){let i=n;for(;i<e.length&&he(e[i]);)i++;if(!t(e,i))break;for(i+=6;i<e.length&&he(e[i]);)i++;n=i}let r=e.slice(n),s="",o=0;for(;o<r.length;){if(t(r,o)&&(o===0||!$i(r[o-1]))){let i=o,a=0;for(;t(r,i);){for(i+=6;i<r.length&&he(r[i]);)i++;a++}if(a>=2){o=i;continue}}s+=r[o],o++}return s}function I_(e,t){let n=t?"![":"[",r="",s=0,o=-2,i=-2;for(let a=e.indexOf(n);a!==-1;){let c=a+n.length;if(o<c&&(o=e.indexOf("]",c)),o===-1)break;let p=o;if(e[p+1]!=="("){a=e.indexOf(n,p+1);continue}if(i<p+2&&(i=e.indexOf(")",p+2)),i===-1)break;r+=e.slice(s,a)+(t?" ":e.slice(c,p)),s=i+1,a=e.indexOf(n,s)}return r+e.slice(s)}function M_(e){return I_(e,!0)}function O_(e){return I_(e,!1)}function wk(e,t){let n=e.slice(t,t+8).toLowerCase();return n.startsWith("http://")||n.startsWith("https://")}function D_(e,t){let n=At(e),r=At(t),s=e.length,o=i=>{let a=i;for(;a<s&&he(e[a]);)a++;return a};for(let i=n.indexOf(r);i!==-1;i=n.indexOf(r,i+1)){let a=o(i+r.length);if(e[a]!==":")continue;let c=o(a+1);for(let p=c;p<s;){if(!he(e[p])){p++;continue}let d=o(p);if(wk(e,d))return e.slice(c,p);p=d}return e.slice(c)}return null}var vk=new Set(["read","glob","grep","list"]);function te(e){return e.replace(/^oc-/,"").replace(/-/g,"_")}function WW(e){return vk.has(ue(e))}function KW(e){let t=0,n=0,r=0;for(let s of e){let o=ue(s.tool);o==="read"?t++:o==="glob"||o==="grep"?n++:o==="list"&&r++}return{read:t,search:n,list:r}}function Fi(e){if(!e)return"";let t=Qe(e.replace(/\\/g,"/")),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function Ms(e,t=60){if(!e)return"";let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t)}\u2026`:n}function Ni(e){let t=Ke(e),r=(t.state??{}).input??{};switch(te(t.tool)){case"read":case"edit":case"write":case"morph_edit":{let i=r.filePath??r.file_path??r.path;return i?Fi(String(i)):""}case"glob":return r.pattern?String(r.pattern):"";case"grep":{let i=r.pattern??r.query,a=r.path??r.include;return i&&a?`"${Ms(String(i),40)}" in ${Fi(String(a))}`:i?`"${Ms(String(i),60)}"`:""}case"list":return r.path?Fi(String(r.path)):"";case"bash":return Ms(String(r.command??""),80);default:break}let o=["description","query","url","filePath","file_path","path","pattern","name","prompt"];for(let i of o){let a=r[i];if(typeof a=="string"&&a.length>0)return Ms(i==="query"&&Is(a)||a,60)}return""}var Ak={read:"Read",search:"Search",list:"List",shell:"Shell",edit:"Edit",write:"Write",fetch:"Fetch",webSearch:"Web Search",scrape:"Scrape",applyPatch:"Apply Patch",task:"Task",worker:"Worker",workspace:"Workspace"};function VW(e,t={}){let n=ye(e)?ie(e):e,r={...Ak,...t},s=te(n.tool),o=Ni(n);switch(s){case"read":return{title:r.read,subtitle:o};case"glob":case"grep":return{title:r.search,subtitle:o};case"list":return{title:r.list,subtitle:o};case"bash":return{title:r.shell,subtitle:o};case"edit":case"morph_edit":return{title:r.edit,subtitle:o};case"write":return{title:r.write,subtitle:o};case"webfetch":case"web_fetch":return{title:r.fetch,subtitle:o};case"websearch":case"web_search":return{title:r.webSearch,subtitle:o};case"scrape":case"scrape_webpage":return{title:r.scrape,subtitle:o};case"apply_patch":return{title:r.applyPatch,subtitle:o};case"task":return{title:r.task,subtitle:o};case"session_spawn":case"session_start_background":return{title:r.worker,subtitle:o};case"project_select":case"project_list":return{title:r.workspace,subtitle:o};default:return{title:s.replace(/_/g," ").replace(/\b\w/g,a=>a.toUpperCase()),subtitle:o}}}function Xe(e){return e.type==="text"}function Ae(e){return e.type==="reasoning"}function ne(e){return e.type==="tool"}function L_(e){return e.type==="file"}function XW(e){return e.type==="agent"}function ZW(e){return e.type==="compaction"}function eK(e){return e.type==="snapshot"}function tK(e){return e.type==="patch"}function nK(e){return e.type==="step-start"||e.type==="step-finish"}function rK(e){if(Xe(e)||Ae(e))return e.text}function sK(e){if(!L_(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function oK(e){let t=[],n=[];for(let r of e)L_(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function iK(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function aK(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var kk=new Set(["todoread","context_info"]);function zn(e){return!kk.has(ye(e)?e.name:e.tool)}var Rk=new Set(["task","agent_spawn","agent_message","agent_task","agent_task_update","agent_task_message","agent_task_start","task_create","task_start","task_update","task_message"]);function Os(e){let t=ye(e)?ie(e):e,n=t.tool||"";if(n.startsWith("oc-"))return;let r=ue(n);if(r==="task"||r==="delegate"){let s=t.state?.metadata?.sessionId;if(typeof s=="string"&&s)return s;if(r==="task"&&t.state?.status==="error")return t.state.error?.match(/\btask_id:\s*(ses_[A-Za-z0-9]+)/)?.[1]}return Ck(n,t.state)}function Ck(e,t){let n=te(e);if(Rk.has(n)){let r=t?.title?.match(/\bses_[a-zA-Z0-9]+/);return r?r[0]:t?.output?.match(/\bses_[a-zA-Z0-9]+/)?.[0]}if(n==="session_spawn"||n==="session_start_background")return t?.output?.match(/\*?\*?Session:?\*?\*?\s*(ses_[a-zA-Z0-9]+)/)?.[1]}function cK(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return Pe(n.error)}}function lK(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ne(r)&&zn(r)&&t.push(r);return t}function uK(e,t={}){switch(te(e)){case"webfetch":return{icon:"globe",title:"Web Fetch",subtitle:t.url};case"websearch":case"web_search":return{icon:"search",title:"Web Search",subtitle:t.query};case"scrape_webpage":return{icon:"globe",title:"Scrape",subtitle:t.urls?.split?.(",")[0]};case"image_search":return{icon:"image",title:"Image Search",subtitle:t.query};case"image_gen":return{icon:"image",title:"Image Gen",subtitle:t.prompt?.slice?.(0,40)};case"video_gen":return{icon:"cpu",title:"Video Gen",subtitle:t.prompt?.slice?.(0,40)};case"presentation_gen":{let n=t.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:t.slide_title||t.presentation_name}}case"show":case"show_user":return{icon:"globe",title:"Output",subtitle:t.title||t.description};case"task":return{icon:"square-kanban",title:`Agent (${t.subagent_type||"task"})`,subtitle:Mk(t)};case"session_spawn":case"session_start_background":return{icon:"square-kanban",title:`Worker (${t.agent||"BeeuniWorker"})`,subtitle:t.description||t.prompt?.slice(0,60)};case"apply_patch":return{icon:"file-pen",title:"Patch",subtitle:t.files?.length?`${t.files.length} file${t.files.length>1?"s":""}`:void 0};case"todoread":return{icon:"check-square",title:"Todos (read)"};case"prune":return{icon:"scissors",title:"DCP Prune",subtitle:t.reason};case"distill":return{icon:"scissors",title:"DCP Distill"};case"compress":return{icon:"scissors",title:"DCP Compress",subtitle:t.topic};case"context_info":return{icon:"scissors",title:"Context Info"};case"session_read":return{icon:"glasses",title:`Session Read (${t.mode||"summary"})`,subtitle:t.session_id?.slice(-12)};case"session_search":return{icon:"search",title:"Session Search",subtitle:t.query};case"session_message":return{icon:"message-circle",title:"Message \u2192 Session",subtitle:t.session_id?.slice(-12)};case"session_lineage":return{icon:"list-tree",title:"Session Lineage",subtitle:t.session_id?.slice(-12)};case"session_list_background":case"session_list_spawned":return{icon:"layers",title:"Background Sessions",subtitle:t.project||"all"};case"session_stats":return{icon:"layers",title:"Session Stats",subtitle:t.session_id?.slice(-12)||"current"};case"session_list":return{icon:"list",title:"Session List",subtitle:t.search};case"session_get":return{icon:"book-open",title:"Session Get",subtitle:t.session_id?.slice(-12)};case"session_context":return{icon:"book-open",title:"Session Context",subtitle:t.session_id?.slice(-12)};case"project_delete":return{icon:"trash-2",title:"Workspace Delete Disabled",subtitle:t.project};case"project_list":return{icon:"folder",title:"Projects"};case"project_get":case"project_update":return{icon:"folder",title:"Project",subtitle:t.name||t.project};case"project_select":return{icon:"folder",title:"Project Select",subtitle:t.project};case"project_create":return{icon:"folder-plus",title:"Project Create",subtitle:t.name};case"triggers":case"trigger_create":return{icon:"clock",title:"Create Trigger",subtitle:t.name};case"trigger_list":return{icon:"clock",title:"List Triggers"};case"trigger_get":return{icon:"clock",title:"Trigger Details",subtitle:t.name||t.id};case"trigger_delete":return{icon:"clock",title:"Delete Trigger",subtitle:t.name||t.id};case"trigger_update":return{icon:"clock",title:"Update Trigger",subtitle:t.name||t.id};case"trigger_test":return{icon:"clock",title:"Test Trigger",subtitle:t.name||t.id};case"trigger_pause":return{icon:"clock",title:"Pause Trigger",subtitle:t.name||t.id};case"trigger_resume":return{icon:"clock",title:"Resume Trigger",subtitle:t.name||t.id};case"agent_spawn":return{icon:"cpu",title:`Agent (${t.agent_type||"worker"})`,subtitle:t.description};case"agent_message":return{icon:"message-circle",title:"Agent Message",subtitle:t.agent_id};case"agent_stop":return{icon:"ban",title:"Agent Stop",subtitle:t.agent_id};case"agent_status":return{icon:"layers",title:"Agent Status"};case"agent_task":return{icon:"check-square",title:"Create Task",subtitle:t.title};case"agent_task_update":return{icon:"check-square",title:"Update Task",subtitle:t.task_id};case"agent_task_list":return{icon:"check-square",title:"List Tasks"};case"agent_task_get":return{icon:"check-square",title:"Task Details",subtitle:t.task_id};case"task_create":return{icon:"plus",title:"Create Task",subtitle:t.title};case"task_list":return{icon:"list",title:"Tasks",subtitle:t.status||"all"};case"task_update":return{icon:"refresh-cw",title:"Update Task",subtitle:t.id};case"task_done":return{icon:"check-circle",title:"Task Done",subtitle:t.id};case"task_delete":return{icon:"trash-2",title:"Delete Task",subtitle:t.id};case"pty_spawn":return{icon:"terminal",title:"Spawn",subtitle:t.title||t.command};case"pty_read":return{icon:"terminal",title:"Terminal Output",subtitle:t.id};case"pty_write":case"pty_input":return{icon:"terminal",title:"Terminal Input",subtitle:t.id};case"pty_kill":return{icon:"terminal",title:"Kill Process",subtitle:t.id};default:return Tk(e,t)}}function Tk(e,t){switch(ue(e)){case"read":return{icon:"glasses",title:"Read",subtitle:Ek(ct(t))};case"list":return{icon:"list",title:"List",subtitle:Ik(t.path)};case"glob":return{icon:"search",title:"Glob",subtitle:t.pattern};case"grep":return{icon:"search",title:"Grep",subtitle:t.pattern};case"bash":return{icon:"terminal",title:"Shell",subtitle:t.description};case"edit":return{icon:"file-pen",title:"Edit",subtitle:j_(ct(t))};case"write":return{icon:"file-pen",title:"Write",subtitle:j_(ct(t))};case"todowrite":return{icon:"check-square",title:"Todos"};case"question":return{icon:"message-circle",title:"Questions"};default:return{icon:"cpu",title:e}}}function Ek(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function j_(e){if(!e)return;let t=e.split("/"),n=t[t.length-1]||e;if(t.length<=1)return n;let r=t[t.length-2];return r?`${n} /${r}`:n}function Ik(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function pK(e,t){if(!t)return e;if(e.startsWith(t)){let n=e.slice(t.length);return n.startsWith("/")?n.slice(1):n}return e}function Hn(e,t=120){if(typeof e!="string")return"";let n=e.split(`
78
+ `).map(r=>r.trim()).find(Boolean);return n?n.length>t?`${n.slice(0,t).trim()}\u2026`:n:""}function Mk(e){let t=Hn(e.description);if(t)return t;let n=Hn(e.title,80);if(n)return n;let r=Hn(e.message);if(r)return r;let s=Hn(e.prompt);if(s)return s;let o=Hn(e.agent_id,40);return o?`Agent ${o}`:"Worker task"}function dK(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function gK(e,t){return e.find(n=>n.tool?.callID===t)}function mK(e,t){return e.find(n=>n.tool?.callID===t)}var Ok=/\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 fK(e){return e?e.replace(Ok,""):""}function Ds(e){let t=$_(e);return t?[t]:(Array.isArray(e?.edits)?e.edits:[]).flatMap(r=>{let s=r&&typeof r=="object"?$_(r):void 0;return s?[s]:[]})}function $_(e){let t=e?.oldString??e?.old_string??e?.oldText,n=e?.newString??e?.new_string??e?.newText;return typeof t=="string"&&typeof n=="string"?[t,n]:void 0}var Dk={bash:"Shell",pty_spawn:"Spawn Terminal",pty_read:"Terminal Output",pty_write:"Terminal Input",pty_input:"Terminal Input",pty_kill:"Kill Process",read:"Read File",list:"List Directory",ls:"List Directory",write:"Write File",edit:"Edit File",multiedit:"Edit File",morph_edit:"Edit File",apply_patch:"Apply Patch",patch:"Apply Patch",grep:"Search Code",glob:"Find Files",image_search:"Image Search",session_search:"Search Sessions",webfetch:"Fetch Page",scrape_webpage:"Scrape Page",websearch:"Web Search",web_search:"Web Search",image_gen:"Generate Image",video_gen:"Generate Video",task:"Delegate to Agent",todowrite:"Plan Tasks",todoread:"Read Plan",question:"Ask Question",presentation_gen:"Presentation",show:"Show Output",show_user:"Show Output",prune:"Prune Context",distill:"Distill Context",compress:"Compress Context",context_info:"Context Info"},jk={read:"files",list:"files",glob:"search",grep:"search",write:"edit",edit:"edit",apply_patch:"edit",bash:"shell",pty:"shell",script:"shell",web_search:"web",webfetch:"web",media:"web",show:"task",task:"task",delegate:"task",sessions:"task",todowrite:"task",question:"task",automations:"task",projects:"task",memory:"other",connectors:"other",skill:"other",context:"other",retired:"other",other:"other"};function Lk(e){return e.replace(/^oc[-_]/,"")}function B_(e){return Lk(e).replace(/-/g,"_")}function U_(e){return B_(e).split(/[_\s]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function qi(e){return{label:Dk[B_(e)]??U_(e),category:jk[ue(e)]}}var $k=256*1024;function Bk(e){switch(e.status){case"pending":return"pending";case"running":return"running";case"completed":return"done";case"error":return"error";default:return e}}function Uk(e){if(e===void 0)return{};if(e.length>$k)return{outputText:e};try{return{outputParsed:JSON.parse(e),outputText:e}}catch{return{outputText:e}}}function Fk(e){if(typeof e!="object"||e===null||Array.isArray(e))return;let t=e,n=t.success===!1,r=t.error,s=typeof r=="string"&&r.length>0||typeof r=="object"&&r!==null;if(!(!n&&!s))return s?Pe(r):typeof t.message=="string"&&t.message?t.message:"Tool reported failure"}var de=e=>typeof e=="string"?e:void 0,js=e=>typeof e=="number"?e:void 0,Ls=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:void 0;function Gi(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}var Nk=new Set(["add","update","delete","move"]);function qk(e,t,n){if(e==="apply_patch"){let p=(Array.isArray(n.files)?n.files:[]).flatMap(d=>{let g=Ls(d),m=g&&(de(g.relativePath)||de(g.filePath));if(!g||!m)return[];let f=de(g.type);return[Gi({path:m,type:f&&Nk.has(f)?f:void 0,before:de(g.before),after:de(g.after),patch:de(g.patch)??de(g.diff),additions:js(g.additions),deletions:js(g.deletions),movePath:de(g.movePath)})]});return p.length?p:void 0}let r=ct(t);if(!r)return;if(e==="read")return[{path:r}];if(e==="write")return[Gi({path:r,after:de(t.content)})];if(e!=="edit")return;let s=Ls(n.filediff),o=s?void 0:de(n.patch),i=o?Gk(o):void 0,a=s||o?[]:Ds(t);return[Gi({path:r,before:de(s?.before)??(a.length?a.map(([c])=>c).join(`
79
+ `):void 0),after:de(s?.after)??(a.length?a.map(([,c])=>c).join(`
80
+ `):de(t.new_source)),patch:o,additions:js(s?.additions)??i?.additions,deletions:js(s?.deletions)??i?.deletions})]}function Gk(e){let t=0,n=0;for(let r of e.split(`
81
+ `))r.startsWith("+")&&!r.startsWith("+++")?t++:r.startsWith("-")&&!r.startsWith("---")&&n++;return{additions:t,deletions:n}}function Wk(e){let t=e.answers;if(Array.isArray(t))return t.map(n=>Array.isArray(n)?n.filter(r=>typeof r=="string"):[])}function F_(e,t){let n="title"in t?t.title:void 0,r=t.status==="completed"?t.output:void 0,{outputParsed:s,outputText:o}=Uk(r),i=Bk(t),a=t.status==="error"?t.error:void 0;if(i==="done"){let m=Fk(s);m&&(i="error",a=m)}let c=ue(e),p=t.input??{},d="metadata"in t&&Ls(t.metadata)||{},g=Ls(d.diagnostics);return{name:e,kind:c,title:n||qi(e).label,status:i,input:t.input,output:r,outputParsed:s,outputText:o,error:a,files:qk(c,p,d),diff:de(d.patch)??de(d.diff),diagnostics:g,answers:c==="question"?Wk(d):void 0,childSessionId:Os({tool:e,state:t})}}function N_(e){let t=ye(e)?ie(e):e;return F_(t.tool,t.state)}function Kk(e){return{kind:"text",id:e.id,text:e.text,synthetic:!!e.synthetic}}function Vk(e){return{kind:"reasoning",id:e.id,text:e.text}}function Hk(e){return{kind:"tool",id:e.id,tool:F_(e.tool,e.state)}}function zk(e){let t=e.mime;return{kind:"file",id:e.id,filename:e.filename,mime:t,url:e.url,isImage:t.startsWith("image/"),isPdf:t==="application/pdf"}}function Yk(e){return{kind:"subtask",id:e.id,description:e.description,agent:e.agent,prompt:e.prompt,model:e.model}}function Jk(e){return{kind:"patch",id:e.id,hash:e.hash,files:e.files,fileCount:e.files.length}}function Qk(e){return{kind:"snapshot",id:e.id,snapshot:e.snapshot}}function Xk(e){return{kind:"agent",id:e.id,name:e.name}}function Zk(e){return{kind:"retry",id:e.id,attempt:e.attempt,message:Pe(e.error),createdAt:e.time.created}}function eR(e){return{kind:"compaction",id:e.id,auto:e.auto,overflow:!!e.overflow,tailStartId:e.tail_start_id}}function tR(e){return{kind:"step",id:e.id,phase:"start",snapshot:e.snapshot}}function nR(e){return{kind:"step",id:e.id,phase:"finish",snapshot:e.snapshot,reason:e.reason,cost:e.cost,tokens:e.tokens}}function q_(e){switch(e.type){case"text":return Kk(e);case"reasoning":return Vk(e);case"tool":return Hk(e);case"file":return zk(e);case"subtask":return Yk(e);case"patch":return Jk(e);case"snapshot":return Qk(e);case"agent":return Xk(e);case"retry":return Zk(e);case"compaction":return eR(e);case"step-start":return tR(e);case"step-finish":return nR(e);default:return{kind:"unknown",raw:e}}}function rR(e){if(!e)return;let t=typeof e=="object"&&"name"in e&&typeof e.name=="string"?e.name:"Error",n=ve(e);return{name:t,message:n?.message||Pe(e),provider:n?.provider,code:n?.code,suggestion:n?.suggestion,upstreamStatus:n?.upstreamStatus,requestId:n?.requestId,attemptFailures:n?.attemptFailures}}function sR(e){switch(e.kind){case"text":case"reasoning":return e.text.trim().length>0;case"step":return!1;default:return!0}}function Wi(e){let t=e.parts.map(q_),n=e.info.role==="assistant"?e.info.error:void 0,r=rR(n),s=!r&&!t.some(sR);return{parts:t,error:r,isEmpty:s}}var Ki=ot+BigInt(1),G_=Ki/BigInt(2);function $s(e){return BigInt(Math.trunc(e))*Cn}function Vi(e,t){let r=t-(t&ot)+e;return r-t>G_?r-=Ki:t-r>G_&&(r+=Ki),r}function W_(e,t){let n=zt(e.info.id)??BigInt(0),r=e.info.time?.created;if(typeof r!="number")return Vi(n,t);let s=$s(r),o=Vi(n,s);return(o>s?o-s:s-o)<=Pt?o:s}function K_(e){return zt(e)===null?1:0}function V_(e,t){return e<t?-1:e>t?1:0}function MK(e,t){return H_(e,t,$s(Date.now()))}function oR(e){let t=null;for(let n of e){let r=n.info.time?.created;typeof r=="number"&&(t===null||r>t)&&(t=r)}return $s(t??Date.now())}function H_(e,t,n){let r=K_(e.info.id),s=K_(t.info.id);if(r!==s)return r-s;if(r===0){let a=W_(e,n),c=W_(t,n);return a!==c?a<c?-1:1:V_(e.info.id,t.info.id)}let o=typeof e.info.time?.created=="number"?e.info.time.created:null,i=typeof t.info.time?.created=="number"?t.info.time.created:null;return o===null&&i===null?0:o===null?1:i===null?-1:o!==i?o<i?-1:1:V_(e.info.id,t.info.id)}function OK(e,t){let n=new Map([...t?.pendingMessageIds??[]].map((d,g)=>[d,g])),r=oR(e),s=[...e].sort((d,g)=>{let m=n.get(d.info.id),f=n.get(g.info.id);return m!==void 0&&f!==void 0?m-f:m!==void 0?1:f!==void 0?-1:H_(d,g,r)}),o=[],i=new Map;for(let d of s)if(d.info.role==="user"){if(i.has(d.info.id))continue;let g={userMessage:d,assistantMessages:[]};o.push(g),i.set(d.info.id,g)}let a=null,c=[],p=[];for(let d of s){if(d.info.role==="user"){a=i.get(d.info.id)??null;continue}if(d.info.role!=="assistant")continue;let g=d.info,m=g.tokens;if(!(!g.error&&d.parts.length===0&&m?.input===0&&m.output===0&&m.reasoning===0)){if(g.parentID){let f=i.get(g.parentID);if(f){f.assistantMessages.push(d);continue}}if(a){a.assistantMessages.push(d);continue}if(g.parentID){let f=c[c.length-1];f&&f.userMessage.info.id===g.parentID?f.assistantMessages.push(d):c.push({userMessage:aR(g.parentID,d),assistantMessages:[d],partial:!0});continue}p.push(d)}}if(p.length>0){let d=o[0]??c[0];if(d)d.assistantMessages.unshift(...p);else{let[g,...m]=p;o.push({userMessage:g,assistantMessages:m})}}return c.length>0?[...c,...o]:o}var Yn=new Map,iR=256;function aR(e,t){let n=t.info,r=n.time?.created,s=`${n.sessionID??""}|${e}|${r??""}`,o=Yn.get(s);if(o)return o;let i={info:{id:e,role:"user",...n.sessionID?{sessionID:n.sessionID}:{},...typeof r=="number"?{time:{created:r}}:{}},parts:[]};if(Yn.size>=iR){let a=Yn.keys().next().value;a!==void 0&&Yn.delete(a)}return Yn.set(s,i),i}function DK(e){let t=[];for(let n of e.assistantMessages)for(let r of n.parts)t.push({part:r,message:n});return t}function jK(e){for(let t=e.length-1;t>=0;t--){let n=e[t].part;if(Xe(n)&&n.text?.trim())return n}}function LK(e){return e.some(({part:t})=>t.type==="tool"||t.type==="compaction"||t.type==="snapshot"||t.type==="patch")}function $K(e,t,n){if(n)return[];let r=[];for(let s of e.assistantMessages)for(let o of s.parts){if(!ne(o))continue;let i=o,a=i.state?.metadata?.answers;i.tool==="question"&&(a?.length??0)>0&&r.push({part:o,message:s})}return r}function BK(e){let t=new Map;for(let n of e){if(!n.parentID)continue;let r=t.get(n.parentID);r?r.push(n.id):t.set(n.parentID,[n.id])}return t}function UK(e){let t=e-6e4;return(n,r)=>{let s=n.time.updated??n.time.created,o=r.time.updated??r.time.created,i=s>t,a=o>t;return i&&a?n.id<r.id?-1:n.id>r.id?1:0:i&&!a?-1:!i&&a?1:o-s}}function cR(e,t){let n=e.get(t);if(!n||n.length===0)return[];let r=[];for(let s of n)r.push(s),r.push(...cR(e,s));return r}function lR(e){if(!e||typeof e!="object")return!1;let t=e.data;return!!t&&typeof t=="object"&&t.isRetryable===!0}function z_(e){if(!e?.length)return!1;for(let t=e.length-1;t>=0;t--){let n=e[t].info;if(n.role==="assistant")return!n.time?.completed&&lR(n.error)}return!1}function Bs(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function J_(e){let t=e.trim();return t.length>500?!1:!!(/^Error:\s/i.test(t)||/^([\w._-]+Error|[\w._-]+Exception):\s/i.test(t)||/Traceback \(most recent call last\)/i.test(t)||/^\s*\[\s*\{[\s\S]*"message"\s*:/.test(t))}function WK(e){return!!e&&(J_(e)||mR(e)!==null)}function Hi(e){let t=ye(e)?ie(e):e,n=Y_.get(t);if(n&&n.state===t.state)return n.outcome;let r=uR(t);return Y_.set(t,{state:t.state,outcome:r}),r}var Y_=new WeakMap;function uR(e){let t=e.state;if(t.status==="error")return"failed";if(t.status!=="completed")return"ok";let n=typeof t.output=="string"?t.output.trim():"";if(!n)return"ok";if(J_(n))return"failed";let r=pR(n);return r===void 0?"ok":dR(r)?"failed":gR(r)}function pR(e){try{return JSON.parse(e)}catch{return}}function dR(e){return Bs(e)&&e.success===!1&&typeof e.error=="string"}function gR(e){let t=Bs(e)?e.results:void 0;if(!Array.isArray(t)||t.length===0)return"ok";let n=t.filter(r=>r!==null&&typeof r=="object"&&r.success===!1).length;return n===0?"ok":n===t.length?"failed":"partial"}function mR(e){let t=e.trim();if(!t)return null;let n;try{n=JSON.parse(t)}catch{return null}if(!Bs(n)||n.success!==!1||typeof n.error!="string")return null;let r={errorSummary:n.error.trim(),hint:typeof n.hint=="string"?n.hint.trim():void 0},s=Vn(r.errorSummary);if(s===null)return r;try{let o=JSON.parse(s);typeof o.message=="string"&&o.message.trim()&&(r.nestedMessage=o.message.trim()),typeof o.status=="number"&&(r.status=o.status),typeof o.error=="boolean"&&(r.nestedError=o.error)}catch{}return r}function KK(e){return E_(e).replace(/\s+/g," ").trim()||e.trim()}function VK(e){let t=e.trim();if(!t)return null;let n;try{n=JSON.parse(t)}catch{return null}if(!Bs(n))return null;let r=n.success,s=n.error,o=n.hint;if(r!==!1||typeof s!="string")return null;let i=[];i.push(s.trim());let a=Vn(s);if(a!==null)try{let p=JSON.parse(a).message;typeof p=="string"&&p.trim()&&i.push(`Details: ${p.trim()}`)}catch{}return typeof o=="string"&&o.trim()&&i.push(`Hint: ${o.trim()}`),i.join(`
82
+
83
+ `)}function YK(e){let t=(e??"").trimStart();return t.startsWith("{")||t.startsWith("[")}function JK(e,t=2e3){let n=(e??"").trim();try{let r=JSON.parse(n);if(typeof r=="string")try{r=JSON.parse(r)}catch{}r&&typeof r=="object"&&(n=JSON.stringify(r,null,2))}catch{}return n.length>t?{text:n.slice(0,t).trimEnd(),truncatedChars:n.length-t}:{text:n,truncatedChars:0}}function QK(e,t=200){let n=e??"";return n=n.replace(/\\n/g," "),n=M_(n),n=O_(n),n=n.replace(/[#*_`>]+/g," "),n=n.replace(/\s+/g," ").trim(),n=n.replace(/\b(\w{2,})(?:\s+\1\b)+/gi,"$1"),n.length>t?n.slice(0,t).trimEnd()+"\u2026":n}function XK(e){let t=(e??"").trim();if(!t)return null;let n;try{if(n=JSON.parse(t),typeof n=="string")try{n=JSON.parse(n)}catch{return null}}catch{return null}if(!n||typeof n!="object"||Array.isArray(n))return null;let r=n;if(r.success!==!1||typeof r.error!="string"||!r.error.trim())return null;let s=r.error.trim(),o;for(let i=0;i<3;i++){let a=Vn(s);if(a===null)break;let c;try{c=JSON.parse(a)}catch{break}if(typeof c.status=="number"&&(o=c.status),typeof c.message=="string"&&c.message.trim())s=c.message.trim();else if(typeof c.error=="string"&&c.error.trim())s=c.error.trim();else break}return{message:s,status:o}}function Jn(e){try{return JSON.parse(`"${e}"`)}catch{return e}}function zi(e,t=30){if(!e)return[];let n=[],r=new Set,s=(a,c,p)=>{!/^https?:\/\//i.test(c)||r.has(c)||n.length>=t||(r.add(c),n.push({title:a.trim()||c,url:c,snippet:p?.trim()||void 0}))},o=/"title"\s*:\s*"((?:\\.|[^"\\])*)"\s*,\s*"url"\s*:\s*"((?:\\.|[^"\\])*)"(?:\s*,\s*"(?:snippet|content|text)"\s*:\s*"((?:\\.|[^"\\])*)")?/g,i;for(;(i=o.exec(e))!==null;)if(s(Jn(i[1]),Jn(i[2]),i[3]?Jn(i[3]):void 0),n.length>=t)return n;if(n.length===0){let a=/"url"\s*:\s*"((?:\\.|[^"\\])*)"[^{}]{0,400}?"title"\s*:\s*"((?:\\.|[^"\\])*)"/g;for(;(i=a.exec(e))!==null;)if(s(Jn(i[2]),Jn(i[1])),n.length>=t)return n}return n}function Q_(e,t=!1){if(typeof e=="object"&&e!==null)return e;if(typeof e!="string")return null;try{let n=JSON.parse(e);if(typeof n=="string")try{n=JSON.parse(n)}catch{}return typeof n=="object"?n:null}catch{let n=t&&e.trim().replace(/^\uFEFF/,"");if(n&&n!==e)try{return JSON.parse(n)}catch{}return null}}function Us(e){return e.filter(t=>t.title&&t.url).map(t=>({title:t.title,url:t.url,snippet:t.snippet||t.content||t.text||void 0,author:t.author||void 0,publishedDate:t.publishedDate||t.published_date||void 0}))}function X_(e){if(!e)return[];let t=Q_(e,!0);if(t?.success===!1)return[];if(Array.isArray(t?.results)&&t.results.length>0){let n=t.results[0];if(n&&typeof n.query=="string"){let r=[];for(let s of t.results)typeof s.query=="string"&&r.push({query:s.query,answer:s.answer||void 0,sources:Array.isArray(s.results)?Us(s.results):[]});if(r.length>0)return r}else if(n&&(n.title||n.url)){let r=Us(t.results);if(r.length>0)return[{query:t.query||"",answer:t.answer||void 0,sources:r}]}}if(t?.query&&typeof t.query=="string")return[{query:t.query,answer:t.answer||void 0,sources:Array.isArray(t.results)?Us(t.results):[]}];if(Array.isArray(t)&&t.length>0&&t[0]&&(t[0].title||t[0].url)){let n=Us(t);if(n.length>0)return[{query:"",sources:n}]}if(typeof e=="string"){let n=e.split(/(?=^Title: )/m).filter(Boolean),r=[];for(let s of n){let o=s.match(/^Title:\s*(.+)/m),i=s.match(/^URL:\s*(.+)/m),a=s.match(/^Author:\s*(.+)/m),c=s.match(/^Published Date:\s*(.+)/m),p=s.match(/^Text:\s*([\s\S]*?)$/m);o&&i&&r.push({title:o[1].trim(),url:i[1].trim(),snippet:p?.[1]?.trim()||void 0,author:a?.[1]?.trim()||void 0,publishedDate:c?.[1]?.trim()||void 0})}if(r.length>0)return[{query:"",sources:r}]}if(typeof e=="string"){let n=zi(e);if(n.length>0)return[{query:"",sources:n.map(r=>({title:r.title,url:r.url,snippet:r.snippet}))}]}return[]}function Yi(e){try{return new URL(e).hostname.replace("www.","")}catch{return e}}function nV(e){try{let t=new URL(e).hostname.replace(/^www\./,""),n=t.split(".");return n.length<=2?t:n.slice(-2).join(".")}catch{return Yi(e)}}function rV(e){try{return`https://www.google.com/s2/favicons?domain=${new URL(e).hostname.replace(/^www\./,"")}&sz=128`}catch{return null}}function sV(e){if(!e)return!1;let t=e.slice(0,600).toLowerCase();return t.includes("<!doctype html")||t.includes("<html")?!0:/<\/(body|head|div|p|span|table)>/i.test(e.slice(0,3e3))}function fR(e){let t=e.urls??e.url;if(typeof t=="string")return t.split(/[\s,]+/).map(n=>n.trim()).filter(n=>/^https?:\/\//i.test(n));if(Array.isArray(t)){let n=[];for(let r of t){if(typeof r!="string")continue;let s=r.trim();/^https?:\/\//i.test(s)&&n.push(s)}return n}return[]}function yR(e,t){if(t.length===0)return[];let n=e.replace(/^Error:\s*/i,"").trim();return t.map(r=>{let s=D_(n,r)?.trim()||n;return{url:r,success:!1,error:s}})}function oV(e,t){let n=hR(e);if(n?.results?.length)return n.results;let r=typeof e=="string"?e:"";return r.trim()?yR(r,fR(t)):[]}function hR(e){if(!e)return null;let t=Q_(e);if(!t)return null;if(t.results&&Array.isArray(t.results))return{total:t.total||t.results.length,successful:t.successful??t.results.filter(n=>n.success!==!1).length,failed:t.failed??t.results.filter(n=>n.success===!1).length,results:t.results.map(n=>({url:n.url||"",success:n.success!==!1,title:n.title||void 0,content:n.content||n.text||n.snippet||void 0,error:n.error||void 0}))};if(typeof e=="string"){let n=zi(e);if(n.length>0)return{total:n.length,successful:n.length,failed:0,results:n.map(r=>({url:r.url,success:!0,title:r.title||void 0,content:r.snippet||void 0}))}}return null}function _R(e){if(typeof e!="string"||!e.trim())return null;try{let t=new URL(e.trim());return t.protocol==="http:"||t.protocol==="https:"?t.toString():null}catch{return null}}var bR={read:"explore",list:"explore",glob:"explore",grep:"explore",write:"edit",edit:"edit",apply_patch:"edit",bash:"run",pty:"run",script:"script",web_search:"web",webfetch:"web",media:"create",show:"create",task:"delegate",delegate:"delegate",sessions:"sessions",todowrite:"plan",question:"ask",memory:"memory",connectors:"connectors",automations:"automations",projects:"projects",skill:"skills",context:"hidden",retired:"retired",other:"other"};function Xn(e){return bR[ue(e)]}function Fs(e){let t=te(e).replace(/__+/g,"/");return(t.includes("/")?t.slice(t.lastIndexOf("/")+1):t).replace(/_/g," ").trim().replace(/\b\w/g,r=>r.toUpperCase())}var SR={run:"Terminal",memory:"Memory"};function dV(e){let t=Xn(e);return(t==="hidden"?void 0:SR[t])??Fs(e)}function Qn(e,t,n){return e===1?t:n}function Ji(e){return e.length===0?"":e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function tb(e){return e.length?Ni(e[0]):""}function Me(e){return(e.state??{}).input??{}}var PR={agent_spawn:"spawn",agent_task:"spawn",agent_task_create:"spawn",agent_task_start:"spawn",task:"spawn",task_create:"spawn",task_start:"spawn",session_spawn:"spawn",session_start_background:"spawn",agent_message:"message",agent_task_message:"message",task_message:"message",session_message:"message",agent_status:"status",agent_task_list:"status",agent_task_get:"status",task_list:"status",task_get:"status",agent_stop:"stop",agent_task_cancel:"stop",task_cancel:"stop",agent_task_approve:"done",task_approve:"done",task_done:"done",task_delete:"delete"};function xR(e){let t=te(e.tool);if(t==="agent_task_update"||t==="task_update")switch(Me(e).action||""){case"start":return"spawn";case"cancel":return"stop";case"approve":return"done";default:return"message"}return PR[t]??"message"}function Z_(e){switch(e){case"create":return"create";case"update":return"update";case"delete":return"delete";case"test":return"test";case"pause":case"resume":return"control";case"list":case"get":return"read";default:return"unknown"}}function wR(e){let t=te(e.tool);if(t==="triggers"){let r=Me(e).action||"list";return Z_(r)}let n=t.match(/^trigger_(.+)$/);return Z_(n?n[1]:"list")}var vR={connector_setup:"connect",connector_get:"read",connector_list:"read",beeuni_connector_discover:"read",beeuni_connector_describe:"read",beeuni_connectors:"read",beeuni_connectors_connectors:"read",beeuni_connectors_discover:"read",beeuni_connectors_describe:"read",beeuni_connector_call:"call",beeuni_connectors_call:"call"};function AR(e){return vR[te(e.tool)]??"read"}var kR={project_get:"open",project_list:"open",project_select:"open",project_update:"update",project_create:"create",project_delete:"delete"};function RR(e){return kR[te(e.tool)]??"open"}function tn(e){return e.every(t=>t===e[0])}var CR={view:"read",create:"write",str_replace:"write",insert:"write",rename:"write",delete:"delete"};function TR(e){if(te(e.tool)!=="memory")return"read";let n=Me(e).command;return n&&CR[n]||"unknown"}var ER={generate:"Made an image",edit:"Edited an image",upscale:"Upscaled an image",remove_bg:"Removed an image background"},IR={create_slide:"Added a slide to a presentation",list_slides:"Checked a presentation's slides",list_presentations:"Checked your presentations",delete_slide:"Deleted a slide from a presentation",delete_presentation:"Deleted a presentation",validate_slide:"Checked a slide",export_pdf:"Exported a presentation to PDF",export_pptx:"Exported a presentation to PPTX",preview:"Previewed a presentation",serve:"Previewed a presentation"};function MR(e){let t=Qe(e.replace(/\\/g,"/")),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function OR(e){let t=Me(e),n=typeof t.title=="string"?t.title.trim():"";if(n)return n;let r=typeof t.description=="string"?t.description.trim():"";if(r)return DR(r,60);let s=typeof t.path=="string"?t.path:"";if(s)return MR(s);let o=typeof t.url=="string"?t.url:"";if(o){let i=_R(o);return i?Yi(i):"a link"}return""}function DR(e,t=60){let n=e.replace(/\s+/g," ").trim();return n.length>t?n.slice(0,t-1)+"\u2026":n}function jR(e){let t=Me(e).action;return t&&ER[t]||"Worked on an image"}function LR(e){let t=Me(e).action;return t&&IR[t]||"Worked on a presentation"}function $R(e){return e.slice(0,e.indexOf(":"))}var BR={generate:"image:generate",edit:"image:edit",upscale:"image:upscale",remove_bg:"image:remove_bg"},UR={create_slide:"presentation:create_slide",list_slides:"presentation:list_slides",list_presentations:"presentation:list_presentations",delete_slide:"presentation:delete_slide",delete_presentation:"presentation:delete_presentation",validate_slide:"presentation:validate_slide",export_pdf:"presentation:export_pdf",export_pptx:"presentation:export_pptx",preview:"presentation:preview",serve:"presentation:preview"};function FR(e){let t=te(e.tool);if(t==="image_gen"){let n=Me(e).action;return n&&BR[n]||"image:unknown"}if(t==="video_gen")return"video:create";if(t==="presentation_gen"){let n=Me(e).action;return n&&UR[n]||"presentation:unknown"}return"shown:result"}var NR=new Set(["create_slide","export_pdf","export_pptx"]);function gV(e){let t=Ke(e),n=te(t.tool);if(n==="image_gen")return"image";if(n==="video_gen")return"video";if(n==="presentation_gen"){let r=Me(t).action;return r?NR.has(r)?"presentation":null:"presentation"}return null}var qR={"image:generate":e=>`Made ${e} images`,"image:edit":e=>`Edited ${e} images`,"image:upscale":e=>`Upscaled ${e} images`,"image:remove_bg":e=>`Removed backgrounds from ${e} images`,"image:unknown":e=>`Worked on ${e} images`,"video:create":e=>`Made ${e} videos`,"presentation:create_slide":e=>`Added ${e} slides`,"presentation:delete_slide":e=>`Deleted ${e} slides`,"presentation:delete_presentation":e=>`Deleted ${e} presentations`,"presentation:list_slides":()=>"Checked a presentation's slides","presentation:list_presentations":()=>"Checked your presentations","presentation:validate_slide":()=>"Checked slides","presentation:export_pdf":e=>`Exported ${e} presentations to PDF`,"presentation:export_pptx":e=>`Exported ${e} presentations to PPTX`,"presentation:preview":e=>`Previewed ${e} presentations`,"presentation:unknown":e=>`Worked on ${e} presentations`,"shown:result":e=>`Showed you ${e} results`},eb={image:"image",video:"video",presentation:"presentation",shown:"result"};function GR(e){let t={image:0,video:0,presentation:0,shown:0};for(let r of e)t[$R(r)]++;let n=[];return Object.keys(t).forEach(r=>{let s=t[r];s&&n.push(`${s} ${Qn(s,eb[r],`${eb[r]}s`)}`)}),`Worked on ${Ji(n)}`}function Ns(e,t){let n=t.map(Ke),r=n.length,s=tb(n);switch(e){case"explore":{let o=n.filter(i=>te(i.tool)==="read").length;return o===r?`Read ${r} ${Qn(r,"file","files")}`:o===0?"Looked through your files":`Looked through your files \xB7 ${o} read`}case"edit":{let o=new Set(n.map(a=>ct(Me(a))).filter(Boolean)).size||r,i=n.every(a=>te(a.tool)==="write")?"Wrote":"Updated";return o===1?s?`${i} ${s}`:`${i} a file`:`${i} ${o} files`}case"run":return r===1?"Ran a command":`Ran ${r} commands`;case"script":return r===1?"Ran a script":`Ran ${r} scripts`;case"web":{let o=p=>{let d=te(p.tool);return d==="web_search"||d==="websearch"||d==="image_search"},i=n.filter(o).length;if(i===r)return`Searched the web \xB7 ${r} ${Qn(r,"query","queries")}`;if(i===0)return`Read ${r} ${Qn(r,"page","pages")}`;let a=new Set;for(let p of n)if(o(p)){let d=p.state?.output;for(let g of X_(d).flatMap(m=>m.sources))g.url&&a.add(g.url)}else{let d=p.state?.input?.url;typeof d=="string"&&d&&a.add(d)}let c=a.size||r;return`Searched and read ${c} ${Qn(c,"source","sources")}`}case"create":{if(r===1){let i=n[0],a=te(i.tool);if(a==="image_gen")return jR(i);if(a==="video_gen")return"Made a video";if(a==="presentation_gen")return LR(i);let c=OR(i);return c?`Showed you ${c}`:"Showed you the result"}let o=n.map(FR);return tn(o)?qR[o[0]](r):GR(o)}case"plan":return r===1?"Planned the work":`Planned the work \xB7 ${r} steps`;case"delegate":{let o=n.map(xR);if(tn(o))switch(o[0]){case"spawn":return r===1?"Asked a helper agent":`Worked with ${r} helper agents`;case"message":return r===1?"Sent instructions to a helper agent":`Sent instructions to ${r} helper agents`;case"status":return"Checked on a helper agent";case"stop":return r===1?"Stopped a helper agent":`Stopped ${r} helper agents`;case"done":return r===1?"A helper agent finished a task":`Helper agents finished ${r} tasks`;case"delete":return r===1?"Removed a task":`Removed ${r} tasks`}return r===1?"Worked with a helper agent":`Worked with helper agents \xB7 ${r} steps`}case"sessions":return"Checked earlier work";case"memory":{let o=n.map(TR);if(tn(o))switch(o[0]){case"write":return r===1?"Wrote to its memory":`Wrote to its memory \xB7 ${r} updates`;case"delete":return r===1?"Deleted from its memory":`Deleted ${r} things from its memory`;case"read":return"Recalled what you told it before"}return"Worked with its memory"}case"connectors":{let o=n.map(AR);if(tn(o))switch(o[0]){case"connect":return r===1?s?`Connected to ${s}`:"Connected a connector":`Connected ${r} connectors`;case"call":return r===1?"Used a connector":`Made ${r} connector calls`;case"read":return"Checked your connectors"}return"Worked with your connectors"}case"automations":{let o=n.map(wR);if(tn(o))switch(o[0]){case"create":return r===1?"Set up an automation":`Set up ${r} automations`;case"update":return r===1?"Updated an automation":`Updated ${r} automations`;case"delete":return r===1?"Deleted an automation":`Deleted ${r} automations`;case"control":return r===1?"Adjusted an automation":`Adjusted ${r} automations`;case"test":return r===1?"Tested an automation":`Tested ${r} automations`;case"read":return"Checked your automations";case"unknown":return"Worked with your automations"}return"Worked with your automations"}case"projects":{let o=n.map(RR);if(tn(o))switch(o[0]){case"delete":return r===1?"Tried to delete a project \u2014 deletion isn't allowed":`Tried to delete ${r} projects \u2014 deletion isn't allowed`;case"create":return r===1?s?`Created ${s}`:"Created a project":`Created ${r} projects`;case"update":return r===1?s?`Updated ${s}`:"Updated your project":`Updated ${r} projects`;case"open":return r===1?s?`Opened ${s}`:"Opened your project":`Opened ${r} projects`}return s?`Worked in ${s}`:"Worked in your project"}case"skills":return r===1?s?`Used the ${s} skill`:"Used a skill":`Used ${r} skills`;case"ask":return"Asked you a question";case"retired":return"Used a connector that has since been removed";case"other":{if(r===1)return`Used ${Fs(n[0].tool)}`;let o=Array.from(new Set(n.map(i=>Fs(i.tool))));return o.length===1?`Used ${o[0]} \xB7 ${r} times`:`Used ${Ji(o)}`}}}function nb(e,t){let n=t.map(Ke),r=tb(n);switch(e){case"explore":return"Couldn't read your files";case"edit":{if(n.length===1){let s=te(n[0].tool)==="write"?"write":"update";return r?`Couldn't ${s} ${r}`:`Couldn't ${s} a file`}return"Couldn't update some files"}case"run":return"A command failed";case"script":return"A script failed";case"web":return"Couldn't finish searching the web";case"create":return"Couldn't finish making that";case"plan":return"Couldn't update the plan";case"delegate":return"A helper agent hit a problem";case"sessions":return"Couldn't check earlier work";case"memory":return"Couldn't reach its memory";case"connectors":return"Couldn't reach a connector";case"automations":return"Hit a problem with your automations";case"projects":return"Hit a problem with your project";case"skills":return"Couldn't use a skill";case"ask":return"Couldn't ask you a question";case"retired":return"Used a connector that has since been removed";case"other":{let s=n.filter(a=>a.state?.status==="error"),o=s.length?s:n,i=Array.from(new Set(o.map(a=>Fs(a.tool))));return`Couldn't finish using ${Ji(i)}`}}}var WR=new Set(["get_mem","memory_search","mem_search","ltm_search","dcp_compress","dcp_distill","dcp_prune","prune","distill","compress","context_info"]),KR={read:{verb:"Read",running:"Reading",objectKeys:["filePath","path","file"]},write:{verb:"Wrote",running:"Writing",objectKeys:["filePath","path","file"]},edit:{verb:"Edited",running:"Editing",objectKeys:["filePath","path","file"]},apply_patch:{verb:"Edited",running:"Editing",objectKeys:["filePath","path"]},bash:{verb:"Ran",running:"Running",objectKeys:["command"]},glob:{verb:"Searched",running:"Searching",objectKeys:["pattern"]},grep:{verb:"Searched",running:"Searching",objectKeys:["pattern"]},list:{verb:"Listed",running:"Listing",objectKeys:["path"]},web_search:{verb:"Searched",running:"Searching",objectKeys:["query"]},websearch:{verb:"Searched",running:"Searching",objectKeys:["query"]},webfetch:{verb:"Fetched",running:"Fetching",objectKeys:["url"]},web_fetch:{verb:"Fetched",running:"Fetching",objectKeys:["url"]},scrape:{verb:"Scraped",running:"Scraping",objectKeys:["url"]},scrape_webpage:{verb:"Scraped",running:"Scraping",objectKeys:["url"]},task:{verb:"Delegated",running:"Delegating",objectKeys:["description"]},memory:{verb:"Remembered",running:"Remembering"},get_mem:{verb:"Recalled",running:"Recalling"},memory_search:{verb:"Recalled",running:"Recalling",objectKeys:["query"]},mem_search:{verb:"Recalled",running:"Recalling",objectKeys:["query"]},ltm_search:{verb:"Recalled",running:"Recalling",objectKeys:["query"]},dcp_compress:{verb:"Compacted",running:"Compacting"},dcp_distill:{verb:"Distilled",running:"Distilling"},dcp_prune:{verb:"Pruned",running:"Pruning"},compress:{verb:"Compacted",running:"Compacting"},distill:{verb:"Distilled",running:"Distilling"},prune:{verb:"Pruned",running:"Pruning"},context_info:{verb:"Checked context",running:"Checking context"}};function VR(e,t){if(e==="filePath"||e==="path"||e==="file"){let n=t.split("/");return n[n.length-1]||t}return e==="query"&&Is(t)||t}function HR(e,t){if(!t||typeof e!="object"||e===null)return;let n=e;for(let r of t){let s=n[r];if(typeof s=="string"&&s.trim())return VR(r,s.trim())}}function Zn(e){let t=ye(e)?ie(e):e;if(Ae(t))return{verb:"Thought",running:"Thinking",object:void 0,tier:"reasoning"};if(!ne(t))return{verb:"Used",running:"Using",object:void 0,tier:"primary"};let n=Se(t.tool),r=KR[n],s=t.state?.input;return r?{verb:r.verb,running:r.running,object:HR(s,r.objectKeys),tier:WR.has(n)?"plumbing":"primary"}:{verb:"Used",running:"Using",object:n,tier:"primary"}}function Xi(e){let t=0,n=0,r=!1,s=!1;for(let o of e){if(Zn(o).tier==="plumbing"){r=!0;continue}if(Ae(o)){if(!o.text?.trim())continue;s||(s=!0,t+=1);continue}s=!1,t+=1,ne(o)&&Hi(o)!=="ok"&&(n+=1)}return{total:t,failed:n,completed:t-n,hasPlumbing:r}}function Qi(e){return`${e} ${e===1?"step":"steps"}`}function zR(e,t){let{total:n,failed:r,completed:s,hasPlumbing:o}=e;return t?n===0?"Working":`Working \xB7 ${Qi(n)}`:n===0?o?"Housekeeping":"Worked":r===0?`Completed ${Qi(n)}`:s===0?`${Qi(n)} failed`:`Completed ${s} of ${n} steps \xB7 ${r} failed`}function rb(e){let t=new Map,n=0;for(let s of e){if(!ne(s)||Zn(s).tier==="plumbing")continue;let o=Xn(s.tool);o!=="hidden"&&(t.set(o,[...t.get(o)??[],s]),Hi(s)!=="ok"&&(n+=1))}if(t.size===0)return zR(Xi(e),!1);let r=[...t].map(([s,o],i)=>{let a=Ns(s,o);return i===0?a:a.charAt(0).toLowerCase()+a.slice(1)}).join(", ");return n>0?`${r} \xB7 ${n} failed`:r}function AV(e){let t=!1,n=!1,r=!1,s=null,o=p=>{let d=p;return d?.summary!==!0?!1:(t=!0,!d.time?.completed&&!d.error&&(r=!0),s==null&&d.error!=null&&(s=d.error),!0)},i=p=>{for(let d of p??[])d.type==="compaction"?(t=!0,n=!0):d.type==="text"&&d.text?.trim()&&(n=!0)},c=(e.userMessage?.parts??[]).some(p=>p.type==="compaction");c&&(t=!0),e.userMessage&&o(e.userMessage.info)&&i(e.userMessage.parts);for(let p of e.assistantMessages)o(p.info),i(p.parts);return c&&e.assistantMessages.length===0&&(r=!0),{isCompaction:t,hasContent:n,inFlight:r,error:s}}function YR(e){return e.some(t=>t.state?.status==="running"||t.state?.status==="pending")?"running":e.some(t=>t.state?.status==="error")?"error":"done"}function JR(e){let t=Number.POSITIVE_INFINITY,n=0;for(let r of e){let s=r.state.time;typeof s?.start=="number"&&(t=Math.min(t,s.start)),typeof s?.end=="number"&&(n=Math.max(n,s.end))}if(!(!Number.isFinite(t)||n<=t))return n-t}function sb(e,t){let n=t.map(Ke),r=YR(n);return{id:n[0].callID,family:e,label:r==="error"?nb(e,n):Ns(e,n),parts:t,status:r,durationMs:r==="running"?void 0:JR(n)}}function ob(e){let t=[],n=null,r=[],s=()=>{n&&r.length&&t.push(sb(n,r)),n=null,r=[]};for(let o of e){let i=Ke(o),a=Xn(i.tool);if(a!=="hidden"&&!Jo(i)){if(ey(i.tool)){s(),t.push(sb(a,[o]));continue}a!==n&&(s(),n=a),r.push(o)}}return s(),t}function Zi(e){let t=e.time?.end;return!(typeof t=="number"&&t>0)}function ib(e,t){let n=[],r=null,s=[],o=()=>{if(r&&r.texts.length>0){let{startedAt:a,endedAt:c}=r,p=typeof a=="number"&&typeof c=="number"&&c>a?c-a:void 0;n.push({kind:"thought",key:r.key,texts:r.texts,running:r.running,durationMs:p})}r=null},i=()=>{if(s.length!==0){for(let a of ob(s))n.push(a.parts.length===1?{kind:"part",key:a.parts[0].id,part:a.parts[0]}:{kind:"group",key:`group-${a.parts[0].id}`,step:a});s=[]}};for(let a of e)if(t(a)!=="plumbing"){if(Ae(a)){let c=a.text?.trim();if(!c)continue;i(),r||(r={key:`thought-${a.id}`,texts:[],running:!1}),r.texts.push(c);let p=a.time;r.startedAt===void 0&&typeof p?.start=="number"&&(r.startedAt=p.start),r.endedAt=typeof p?.end=="number"&&p.end>0?p.end:void 0,r.running=Zi(a);continue}if(o(),ne(a)){s.push(a);continue}i(),n.push({kind:"part",key:a.id,part:a})}o(),i();for(let a=0;a<n.length-1;a++){let c=n[a];c.kind==="thought"&&(c.running=!1)}return n}var QR=/^(thinking|thought|considering|planning|deciding|weighing|exploring|analy[sz]ing|reasoning|working out|figuring)/i;function XR(e){return e.replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/^#{1,6}\s*/gm,"").replace(/\*\*([^*]*)\*\*/g,"$1").replace(/(^|\s)[*_]([^*_]+)[*_]/g,"$1$2").replace(/^\s*[-*+]\s+/gm,"").replace(/\s+/g," ").trim()}function OV(e){let t=e.flatMap(s=>{let o=XR(s);return o?[o]:[]}).join(" ").trim();return t?QR.test(t)?t:`Thinking about ${/^[A-Z][a-z]/.test(t)?t[0].toLowerCase()+t.slice(1):t}`:"Thinking"}function ZR(e){return e?.info?.time??{}}function jV(e){let t=ZR(e).created;return typeof t!="number"||!Number.isFinite(t)||t<=0?null:t}var qs=6e4,eC=10080*qs,ab=1440;function cb(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function tC(e,t){let n=t.getTime()-e.getTime(),r=n/qs,s=(i,a)=>`${i} ${a}${i===1?"":"s"} ago`;if(r<60)return s(Math.round(r),"minute");if(r<ab)return s(Math.round(r/60),"hour");let o=(n-(cb(t)-cb(e)))/qs;return s(Math.round(o/ab),"day")}function pb(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}var lb=new Map;function nC(e,t){let n={...e,...t.timeZone?{timeZone:t.timeZone}:{}},r=`${t.locale??""}|${JSON.stringify(n)}`,s=lb.get(r);return s||(s=new Intl.DateTimeFormat(t.locale,n),lb.set(r,s)),s}function Gs(e,t,n){return nC(t,n).formatToParts(e).map(r=>r.type==="dayPeriod"?rC(r.value,n):r.value).join("")}function rC(e,t){let n=/^([ap])\.?\s?m\.?$/i.exec(e.trim());return n?`${n[1].toUpperCase()}M`:e.toLocaleUpperCase(t.locale)}function ub(e,t){return Gs(e,{year:"numeric"},t)}function LV(e,t,n={}){let r=pb(e);if(!r)return"";let s=i=>Gs(r,{month:"long",day:"numeric",...i?{year:"numeric"}:{}},n);if(t===null)return s(!0);let o=Math.max(0,t-r.getTime());return o<qs?"just now":o<eC?tC(r,new Date(t)):s(ub(r,n)!==ub(new Date(t),n))}function $V(e,t={}){let n=pb(e);if(!n)return"";let r=Gs(n,{month:"long",day:"numeric",year:"numeric"},t),s=Gs(n,{hour:"numeric",minute:"2-digit"},t);return`${r} ${s}`}function db(e,t={}){let n=[],r=[],s=()=>{r.length>0&&(n.push({kind:"burst",parts:r}),r=[])};for(let o of e)if(!ty(o)){if(Xe(o)){s(),n.push({kind:"text",part:o});continue}if(ne(o)&&(ny(o.tool)||!!t.standaloneCallIds?.has(o.callID))){s(),n.push({kind:"standalone",part:o});continue}r.push(o)}return s(),n}function sC(e){let t=Se(e);return t==="show"||t==="show_user"}function mb(e,t={}){let n=[],r=[],s=()=>{r.length===1?n.push(r[0]):r.length>1&&n.push({kind:"show-group",parts:r.map(o=>o.part)}),r=[]};for(let o of e){if(o.kind==="standalone"&&sC(o.part.tool)&&!t.standaloneCallIds?.has(o.part.callID)){r.push(o);continue}s(),n.push(o)}return s(),n}var oC=["title","description","path","url","content","language","aspect_ratio","attachment"];function gb(e,t){if(!t||typeof t!="object")return null;let n=t;if(es(n))return null;let r={callID:e,status:"ready",type:typeof n.type=="string"?n.type:""};for(let s of oC){let o=n[s];typeof o=="string"&&o&&(r[s]=o)}return r}function iC(e){if(Array.isArray(e))return e.length>0?e:null;if(typeof e!="string"||!e.trim())return null;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:null}catch{return null}}function fb(e){let t=[];for(let n of e){let r=n.state,s=r.input??{};if(r.status==="error"){let a=typeof s.title=="string"&&s.title?s.title:void 0;t.push({callID:n.callID,status:"error",type:"error",...a?{title:a}:{},error:typeof r.error=="string"?r.error:""});continue}let o=iC(s.items),i=o?o.map(a=>gb(n.callID,a)).filter(a=>!!a):[gb(n.callID,s)].filter(a=>!!a);if(i.length>0){t.push(...i);continue}(r.status==="running"||r.status==="pending")&&t.push({callID:n.callID,status:"pending",type:""})}return t}function yb(e){return!e.working||e.awaitingUser?!1:e.isRetrying?!0:!e.hasError}var er=e=>"id"in e?e.id:e.userMessage.info.id,hb=e=>"assistant"in e?e.assistant.length:e.assistantMessages.length,aC=e=>e.time?.completed;function HV(e){return!e.hasPendingTurns||!e.newestAssistantCompleted?!1:e.pendingDelivery||!!e.deliveringBelow||e.activeTurnId!==null&&e.activeTurnId!==e.workingTurnId}function cC(e,t){let n=er(e);return t.pendingTurnIds.has(n)||hb(e)===0&&t.pendingPromptIds.has(n)}function zV(e){let t=e.turns.find(r=>e.deliveringPromptIds.has(er(r)));if(t)return er(t);let n=e.turns.findIndex(r=>cC(r,e));return n<=0?null:er(e.turns[n-1])}function YV(e){return e.isTurnWorking&&!e.pendingDelivery&&e.activeTurnId===e.turnId}function JV(e){if(e.confirmedActive)return!1;let{workingTurnId:t,pendingTurnIds:n}=e.resolution;return e.sessionWorking&&(t===null?n[0]:t)===e.turnId?e.inboxPrompt?.state==="waiting"||e.inboxPrompt?.state==="failed":n.includes(e.turnId)||!!e.inboxPrompt}function QV(e){return!e.lastTurnWorking||e.workingTurnId===null||e.suppressed?!1:yb({working:!0,hasError:e.workingTurnHasError,isRetrying:e.isRetrying,awaitingUser:e.awaitingUser})}function XV(e,t){for(let n=e.length-1;n>=0;n--){let r=er(e[n]);if(t(r))return hb(e[n])===0?r:null}return null}function _b(e){let{turns:t}=e;if(t.length===0)return{workingTurnId:null,pendingTurnIds:[]};let n=-1;for(let a=t.length-1;a>=0;a--)if(t[a].assistantMessages.length>0){n=a;break}let r=t.slice(n+1).map(a=>a.userMessage.info.id),s=a=>({workingTurnId:t[a].userMessage.info.id,pendingTurnIds:t.slice(a+1).map(c=>c.userMessage.info.id)}),o=e.hintMessageId??null;if(o){if(n>=0&&t[n].userMessage.info.id===o)return s(n);let a=r.indexOf(o);if(a>=0)return s(n+1+a)}if(n>=0){let a=t[n],c=a.assistantMessages[a.assistantMessages.length-1];if(!aC(c.info)&&!c.info.error)return s(n)}let i=e.unrunTurnIds;if(r.length>0){for(let a=t.length-1;a>n;a--)if(!i?.has(t[a].userMessage.info.id))return s(a)}return n<0?{workingTurnId:null,pendingTurnIds:r}:s(n)}function nH(e,t){for(let n=t.length-1;n>=0;n--)if(t[n].info.role==="user")return t[n].info.id===e;return!1}function rH(e,t){return!t||!e?!1:e.type!=="idle"}function sH(e,t){return!e&&!!t}function oH(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ve(n.error)?.message||Pe(n.error)}}function iH(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Es(n.error)}}function aH(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return ve(n.error)}}function bb(e){if(e){if(ne(e))switch(e.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(Ae(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(Xe(e))return"Gathering thoughts..."}}function Sb(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ne(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"&&t&&t.length>0){for(let i=t.length-1;i>=0;i--){let a=t[i];if(a.info.role==="assistant")for(let c=a.parts.length-1;c>=0;c--){let p=bb(a.parts[c]);if(p)return p}}return"Handing off to an agent..."}let o=bb(r);if(o)return o}return"Figuring out what\u2019s next..."}function Pb(e){if(!Number.isFinite(e)||e<1e3)return"";let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r>0?`${n}m ${r}s`:`${n}m`}function xb(e){let t={input:0,output:0,reasoning:0,cacheRead:0,cacheWrite:0},n=!1,r=i=>{n=!0,t.input+=i.input??0,t.output+=i.output??0,t.reasoning+=i.reasoning??0,t.cacheRead+=i.cache?.read??0,t.cacheWrite+=i.cache?.write??0},s=new Set;for(let{part:i,message:a}of e){if(i.type!=="step-finish")continue;let c=i.tokens;c&&(s.add(a.info.id),r(c))}let o=new Set;for(let{message:i}of e){if(i.info.role!=="assistant"||s.has(i.info.id)||o.has(i.info.id))continue;o.add(i.info.id);let a=i.info.tokens;a&&r(a)}return n?t:void 0}function cH(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function lH(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function uH(e){if(!e||e.type!=="retry")return;let t=e,n=Pe(t.message);return{attempt:t.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:t.next,details:ve(t.message)}}function pH(e){if(!(!e||e.type!=="retry"))return Pe(e.message)}function dH(e){return(e.info.summary?.diffs?.length??0)>0}function wb(e){if(e.kind==="show-group")return!0;if(e.kind!=="standalone")return!1;let t=Se(e.part.tool);return t==="show"||t==="show_user"}function lC(e){return e.kind==="text"&&!e.part.text?.trim()}function vb(e,t){if(t.working)return null;let n=-1;for(let s=e.length-1;s>=0;s--){let o=e[s];if(!(wb(o)||lC(o))){o.kind==="text"&&(n=s);break}}let r={work:[],hoisted:[],final:[]};return e.forEach((s,o)=>{o===n?r.final.push(s):wb(s)?r.hoisted.push(s):r.work.push(s)}),r.work.length>0?r:null}function yH(e){let t=e==null?"":Pb(e);return t?`Worked for ${t}`:"Worked"}function uC(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>Xe(o)&&o.synthetic)||e.assistantMessages.length!==1)return!1;let r=e.assistantMessages[0].parts;if(r.length!==1)return!1;let s=r[0];return ne(s)&&s.tool==="bash"}function bH(e){if(uC(e))return e.assistantMessages[0].parts[0]}function xH(e){if(!e)return"";let t=e;return t=t.replace(/^##\s*Worker Result\s*\n/i,""),t=t.replace(/^\*\*Agent:\*\*.*\n?/m,""),t=t.replace(/^\*\*Task:\*\*.*\n?/m,""),t=t.replace(/^\*\*Status:\*\*.*\n?/m,""),t=t.replace(/^\*\*Session:\*\*.*\n?/m,""),t=t.replace(/^\*\*Duration:\*\*.*\n?/m,""),t=A_(t,"beeuni_goal_system"),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* created and started\..*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* created:.*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* started\..*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* failed to start.*$/gm,""),t=t.replace(/^Message sent to task.*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* approved.*$/gm,""),t=t.replace(/^Task \*\*task-[a-z0-9]+\*\* cancelled.*$/gm,""),t=t.replace(/Worker session: ses_[a-zA-Z0-9]+/g,""),t=t.replace(/^---\s*\n/gm,""),t=t.trim(),t||""}function wH(e){return e?e.split(`
84
+ `).filter(n=>n.trim()).length<=3:!1}function vH(e){if(!e)return null;let n=e.split(`
85
+ `).filter(r=>r.trim()&&!r.startsWith("#"))[0]?.replace(/^\*\*.*?\*\*\s*/,"").trim();return n?n.length>120?n.slice(0,120).trim()+"\u2026":n:null}function AH(e){if(!e)return[];let t=[],n=e.split(`
86
+ `).filter(r=>r.trim());for(let r of n){let s=T_(r);if(s){let o=r.match(/\bses_[a-zA-Z0-9]+/);t.push({...s,sessionId:o?.[0]})}}return t}var kt={write:{verb:"Wrote",running:"Writing",failed:"Couldn't write"},edit:{verb:"Edited",running:"Editing",failed:"Couldn't update"},delete:{verb:"Deleted",running:"Deleting",failed:"Couldn't delete"},rename:{verb:"Renamed",running:"Renaming",failed:"Couldn't rename"},change:{verb:"Changed",running:"Changing",failed:"Couldn't apply"},read:{verb:"Read",running:"Reading",failed:"Couldn't read"},list:{verb:"Listed",running:"Listing",failed:"Couldn't list"}};function RH(e,t){let n=kt[e];return t==="running"?n.running:t==="failed"?n.failed:n.verb}function CH(e,t){return t?"failed":e?"running":"done"}var IH={view:"View",create:"Create",str_replace:"Edit",insert:"Insert",delete:"Delete",rename:"Rename"};function MH(e){return e?e.replace(/^\.\//,"").replace(/^(?:\.beeuni\/)?memory(?:\/|$)/,"").replace(/\/$/,"")||"memory":""}function OH(e,t){if(!e)return null;let n=e.indexOf(`
87
+ `),r=n===-1?e:e.slice(0,n),s=n===-1?"":e.slice(n+1);if(R_(r,"content of "," with line numbers"))return{type:"file",content:s.split(`
86
88
  `).map(i=>i.replace(/^\s*\d+(\t|$)/,"")).join(`
87
89
  `)};if(/files and directories/i.test(r)){let o=t.replace(/\/$/,""),i=[];for(let a of s.split(`
88
- `)){if(!a.trim())continue;let u=a.indexOf(" ");if(u===-1)continue;let p=a.slice(0,u).trim(),d=a.slice(u+1).trim();d!==o&&i.push({size:p,path:d,isDir:!/\.\w+$/.test(d)})}return{type:"dir",entries:i}}return null}var Sv={add:{...st.write,icon:"create"},delete:{...st.delete,icon:"delete"},move:{...st.rename,icon:"edit"},update:{...st.edit,icon:"edit"}},dh={...st.change,icon:"edit"};function sq(e){if(e.length===0)return dh;let t=gh(e[0]);for(let n=1;n<e.length;n++)if(gh(e[n])!==t)return dh;return Sv[t]}function gh(e){return e==="add"||e==="delete"||e==="move"?e:"update"}function iq(e){if(!e)return null;try{return JSON.parse(e)}catch{return e.startsWith("Error:")?{success:!1,action:"unknown",error:e.replace(/^Error:\s*/,"")}:null}}function cq(e,t){if(!e)return null;let n=/"([^"]*)"="([^"]*)"/g,r=[],s;for(;(s=n.exec(e))!==null;)r.push(s[2]);return r.length===0?null:Array.from({length:Math.max(t,r.length)},(o,i)=>r[i]?[r[i]]:[])}function pq(e){if(!e)return null;let t=hn(e,"<path>","</path>"),n=t!==null?t.trim():void 0,r=Do(e,"content");if(r!==null){let o=r.split(`
90
+ `)){if(!a.trim())continue;let c=a.indexOf(" ");if(c===-1)continue;let p=a.slice(0,c).trim(),d=a.slice(c+1).trim();d!==o&&i.push({size:p,path:d,isDir:!/\.\w+$/.test(d)})}return{type:"dir",entries:i}}return null}var pC={add:{...kt.write,icon:"create"},delete:{...kt.delete,icon:"delete"},move:{...kt.rename,icon:"edit"},update:{...kt.edit,icon:"edit"}},Ab={...kt.change,icon:"edit"};function LH(e){if(e.length===0)return Ab;let t=kb(e[0]);for(let n=1;n<e.length;n++)if(kb(e[n])!==t)return Ab;return pC[t]}function kb(e){return e==="add"||e==="delete"||e==="move"?e:"update"}function BH(e){if(!e)return null;try{return JSON.parse(e)}catch{return e.startsWith("Error:")?{success:!1,action:"unknown",error:e.replace(/^Error:\s*/,"")}:null}}function Rb(e,t){if(!e)return null;let n=/"([^"]*)"="([^"]*)"/g,r=[],s;for(;(s=n.exec(e))!==null;)r.push(s[2]);return r.length===0?null:Array.from({length:Math.max(t,r.length)},(o,i)=>r[i]?[r[i]]:[])}function qH(e){if(!e)return null;let t=Kn(e,"<path>","</path>"),n=t!==null?t.trim():void 0,r=Bi(e,"content");if(r!==null){let o=r.split(`
89
91
  `).map(i=>i.replace(/^\s*\d+:\s?/,"")).join(`
90
- `);return{path:n,type:"file",content:o}}let s=Do(e,"entries");if(s!==null){let o=s.split(`
91
- `).map(i=>i.trim()).filter(i=>i&&!/^\(\d+\s+entr/i.test(i));return{path:n,type:"directory",entries:o}}return null}function mq(e){let t=hy(e,"skill_content");return t!==null?t.trim():e}function xv(e){let t=hn(e,"<skill_files>","</skill_files>");return t===null?[]:_y(t,"<file>","</file>").map(n=>n.trim())}function wv(e){let t=yy(e,"skill_content");if(t===null)return"";for(let n of["dir","directory","path","base","baseDir","base_dir"]){let r=t.match(new RegExp(`\\b${n}\\s*=\\s*["']([^"']+)["']`,"i"));if(r?.[1]?.trim())return r[1].trim()}return""}function vv(e){return Sy(e,["Base directory","Directory","Skill directory"])?.trim()??""}function Av(e){return Te(wv(e)||vv(e))}function fq(e){for(let t of["dir","directory","path","skillPath","location"]){let n=e[t];if(typeof n=="string"&&n.trim())return Te(n.trim())}return""}var kv="skills";function Rv(e){let t=fy(e?.trim()??"");if(!t||t.toLowerCase()==="skill")return"";let n=t.split("/").map(s=>s.trim());if(n.some(s=>s===".."||s==="."))return"";let r=n.at(-1)??"";return r?`${kv}/${r}`:""}function yq(e,t,n){let s=Te(t?.trim()??"")||Av(e)||Rv(n),o=xv(e).find(i=>/(^|\/)SKILL\.md$/i.test(i));if(o){if(o.startsWith("/"))return o;if(s)return`${s}/${o}`}return s?`${s}/SKILL.md`:null}var Cv=4e3;function wn(e,t=Cv){return e.length>t?`${e.slice(0,t)}
92
- \u2026`:e}function mh(e){if(e!==void 0)try{return wn(JSON.stringify(e,null,2))}catch{return}}function K(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function ot(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Iv(e){let t=K(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=ot(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let i=ot(o)??{};return{title:K(i.title)??"",url:K(i.url,i.link)??"",snippet:K(i.snippet,i.description,i.source)}});return{kind:"web-search",query:K(n.query)??t,results:s.length>0?s:void 0,answer:K(n.answer)}}var Tv=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function yh(e){let t=e.match(Tv);return t?Number(t[1]):void 0}function Ev(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let i=e.indexOf(n,o+t.length);if(i===-1)return r+e.slice(s);r+=e.slice(s,o),s=i+n.length}}var Mv=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function Ov(e){let t=-1;for(let n of Mv){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var Dv=/\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 jv(e){return e.replace(Dv,"")}function $v(e){let t=K(e.input?.command)??"",n=e.output??"",r=yh(n),o=jv(Ov(Ev(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:o||void 0,exitCode:r}}function Yo(e){return K(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function Uv(e){let t=e.status==="error"?e.error:e.output&&wn(e.output)||void 0;return{kind:"file-read",path:Yo(e),preview:t}}function Fv(e){let t=K(e.input?.content),n=e.status==="error"?e.error:wn(t??e.output??"")||void 0;return{kind:"file-write",path:Yo(e),preview:n}}var Lv=256*1024;function Bv(e,t){if(e.length+t.length>Lv)return;let n=e.split(`
92
+ `);return{path:n,type:"file",content:o}}let s=Bi(e,"entries");if(s!==null){let o=s.split(`
93
+ `).map(i=>i.trim()).filter(i=>i&&!/^\(\d+\s+entr/i.test(i));return{path:n,type:"directory",entries:o}}return null}function KH(e){let t=v_(e,"skill_content");return t!==null?t.trim():e}function dC(e){let t=Kn(e,"<skill_files>","</skill_files>");return t===null?[]:k_(t,"<file>","</file>").map(n=>n.trim())}function gC(e){let t=w_(e,"skill_content");if(t===null)return"";for(let n of["dir","directory","path","base","baseDir","base_dir"]){let r=t.match(new RegExp(`\\b${n}\\s*=\\s*["']([^"']+)["']`,"i"));if(r?.[1]?.trim())return r[1].trim()}return""}function mC(e){return C_(e,["Base directory","Directory","Skill directory"])?.trim()??""}function fC(e){return Qe(gC(e)||mC(e))}function VH(e){for(let t of["dir","directory","path","skillPath","location"]){let n=e[t];if(typeof n=="string"&&n.trim())return Qe(n.trim())}return""}var yC="skills";function hC(e){let t=x_(e?.trim()??"");if(!t||t.toLowerCase()==="skill")return"";let n=t.split("/").map(s=>s.trim());if(n.some(s=>s===".."||s==="."))return"";let r=n.at(-1)??"";return r?`${yC}/${r}`:""}function HH(e,t,n){let s=Qe(t?.trim()??"")||fC(e)||hC(n),o=dC(e).find(i=>/(^|\/)SKILL\.md$/i.test(i));if(o){if(o.startsWith("/"))return o;if(s)return`${s}/${o}`}return s?`${s}/SKILL.md`:null}var _C=4e3;function tr(e,t=_C){return e.length>t?`${e.slice(0,t)}
94
+ \u2026`:e}function Cb(e){if(e!==void 0)try{return tr(JSON.stringify(e,null,2))}catch{return}}function re(...e){for(let t of e)if(typeof t=="string"&&t.length>0)return t}function nn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function bC(e){let t=re(e.input?.query)??"";if(e.status==="error")return{kind:"web-search",query:t,error:e.error??"Search failed"};let n=nn(e.outputParsed);if(!n)return{kind:"web-search",query:t};let s=(Array.isArray(n.results)?n.results:Array.isArray(n.images)?n.images:[]).slice(0,50).map(o=>{let i=nn(o)??{};return{title:re(i.title)??"",url:re(i.url,i.link)??"",snippet:re(i.snippet,i.description,i.source)}});return{kind:"web-search",query:re(n.query)??t,results:s.length>0?s:void 0,answer:re(n.answer)}}var SC=/<exit_code>\s*(-?\d+)\s*<\/exit_code>/;function Eb(e){let t=e.match(SC);return t?Number(t[1]):void 0}function PC(e,t,n){let r="",s=0;for(;;){let o=e.indexOf(t,s);if(o===-1)return r+e.slice(s);let i=e.indexOf(n,o+t.length);if(i===-1)return r+e.slice(s);r+=e.slice(s,o),s=i+n.length}}var xC=["<system_info>","</system_info>","<exit_code>","</exit_code>","<stderr_note>","</stderr_note>"];function wC(e){let t=-1;for(let n of xC){let r=e.indexOf(n);r!==-1&&(t===-1||r<t)&&(t=r)}return t===-1?e:e.slice(0,t)}var vC=/\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 AC(e){return e.replace(vC,"")}function kC(e){let t=re(e.input?.command)??"",n=e.output??"",r=Eb(n),o=AC(wC(PC(n,"<bash_metadata>","</bash_metadata>"))).trim()||(e.status==="error"?e.error:void 0);return{kind:"shell",command:t,stdout:o||void 0,exitCode:r}}function ta(e){return re(e.input?.filePath,e.input?.file_path,e.input?.path)??""}function RC(e){let t=e.status==="error"?e.error:e.output&&tr(e.output)||void 0;return{kind:"file-read",path:ta(e),preview:t}}function CC(e){let t=re(e.input?.content),n=e.status==="error"?e.error:tr(t??e.output??"")||void 0;return{kind:"file-write",path:ta(e),preview:n}}var TC=256*1024;function EC(e,t){if(e.length+t.length>TC)return;let n=e.split(`
93
95
  `),r=t.split(`
94
- `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,i=r.length;for(;o>s&&i>s&&n[o-1]===r[i-1];)o--,i--;let a=[];for(let u=0;u<s;u++)a.push({type:"unchanged",text:n[u]});for(let u=s;u<o;u++)a.push({type:"removed",text:n[u]});for(let u=s;u<i;u++)a.push({type:"added",text:r[u]});for(let u=o;u<n.length;u++)a.push({type:"unchanged",text:n[u]});return a}function Nv(e){let t=K(e?.oldString),n=K(e?.newString);return t!==void 0&&n!==void 0?[[t,n]]:(Array.isArray(e?.edits)?e.edits:[]).flatMap(s=>{let o=ot(s),i=o&&K(o.oldText),a=o&&K(o.newText);return i!==void 0&&a!==void 0?[[i,a]]:[]})}function qv(e){let t=Nv(e.input),n=t.map(([s,o])=>Bv(s,o)),r=t.length&&n.every(Boolean)?n.flatMap(s=>s??[]):void 0;return{kind:"file-edit",path:Yo(e),diff:r}}var hh=/^Found\s+(\d+)\s+match/i,Gv=/^(\/[^:]+?):\s*/,fh=/Line\s+(\d+):/g;function Wv(e){let t=e.trim(),n=t.match(hh),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let i=o.trim();if(!i)continue;let a=i.match(Gv);if(!a)continue;let u=a[1],p=i.slice(a[0].length),d=[],g;for(fh.lastIndex=0;(g=fh.exec(p))!==null;)d.push({line:Number(g[1]),contentStart:g.index+g[0].length,headerStart:g.index});for(let m=0;m<d.length;m++){let f=m+1<d.length?d[m+1].headerStart:p.length,h=p.slice(d[m].contentStart,f).trim();s.push({path:u,line:d[m].line,content:h.endsWith(";")?h.slice(0,-1):h})}}return s}function Kv(e){return e.trim().split(`
95
- `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function Hv(e){let t=K(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=hh.test(e.output.trim())?Wv(e.output):Kv(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function Vv(e){let t=K(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=K(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function zo(e){let t=ot(e)??{};return{content:K(t.content)??"",status:K(t.status)??"pending",priority:K(t.priority)}}function zv(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(zo)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(zo)};let n=ot(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(zo)}:{kind:"todo",items:[]}}function Yv(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=ot(r)??{},i=(Array.isArray(s.options)?s.options:[]).flatMap(a=>{let u=ot(a),p=u&&K(u.label);return p?[{label:p,description:u?K(u.description):void 0}]:[]});return{question:K(s.question)??"",header:K(s.header),options:i}})}}function Qv(e){let n=e.input&&Object.keys(e.input).length>0?mh(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?wn(e.outputParsed):mh(e.outputParsed):e.outputText!==void 0?r=wn(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function Jv(e){switch(re(e.name)){case"web_search":return Iv(e);case"bash":return $v(e);case"read":return Uv(e);case"write":return Fv(e);case"edit":return qv(e);case"grep":case"glob":return Hv(e);case"task":return Vv(e);case"todowrite":return zv(e);case"question":return Yv(e);default:return Qv(e)}}var Xv=new Set(["AbortError","MessageAbortedError"]),Zv=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],eA=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function bh(e){let t=e.toLowerCase();return eA.some(n=>t.includes(n))?!1:Zv.some(n=>t.includes(n))}function tA(e){let t=e.data,n=t&&typeof t=="object"?t.message:void 0;return typeof n=="string"?n:typeof e.message=="string"?e.message:void 0}function Kr(e){if(typeof e=="string")return bh(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&Xv.has(n))return!0;let r=tA(t);return typeof r=="string"?bh(r):!1}var nA=["user","runtime-disposed","orphan-finalized","wake"],Pq=["orphan-finalized","wake"];function Sq(e){if(!e||typeof e!="object")return;let t=e.data;if(!t||typeof t!="object")return;let n=t.reason;if(!(typeof n!="string"||!n))return nA.includes(n)?n:void 0}var Hr="beeuni-active-instance",rA=["/dashboard","/agents","/p","/workspace","/settings","/browser","/desktop","/services","/sessions","/terminal","/files","/scheduled-tasks","/commands","/tools","/configuration","/changelog","/legacy","/credits-explained"];function sA(e){return rA.some(t=>e===t||e.startsWith(`${t}/`))}function vn(e){let t=e.match(/^\/instances\/([^/]+)(?:\/(.*))?$/);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[2]??"";return{instanceId:n,innerPath:r?`/${r}`:""}}function wq(e){let t=vn(e);return!!t&&t.innerPath===""}function vq(e){let t=vn(e);return!t||!t.innerPath?e:t.innerPath}function oA(e,t){if(!e)return t;if(t.startsWith("/")||(t=`/${t}`),t.startsWith("/instances/")){let n=vn(t);return n?`/instances/${encodeURIComponent(e)}${n.innerPath}`:t}return sA(t)?`/instances/${encodeURIComponent(e)}${t}`:t}function iA(e){return e?vn(e)?.instanceId??null:null}function Aq(){return typeof window>"u"?null:iA(window.location.pathname)||aA()}function aA(){if(typeof document>"u")return null;let e=document.cookie.match(new RegExp(`(?:^|; )${Hr}=([^;]+)`));return e?decodeURIComponent(e[1]):null}function kq(e){if(typeof document>"u")return;let t=n=>{document.cookie=n};if(typeof window<"u"&&window.location.pathname.startsWith("/projects")){t(`${Hr}=; Max-Age=0; Path=/; SameSite=Lax`);return}if(!e){t(`${Hr}=; Max-Age=0; Path=/; SameSite=Lax`);return}t(`${Hr}=${encodeURIComponent(e)}; Path=/; SameSite=Lax`)}function Rq(e,t){return t?oA(t,e):e}function Cq(e){let t=vn(e);return t?t.innerPath||"/dashboard":e}function An(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function _h(e){let t=An(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}var Tq=_h;function Qo(e){let t=_h(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}var Eq=Qo;function cA(e){return Qo(e)!==null}var Mq=cA,uA=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/],Oq=["runtime_not_ready","sandbox runtime not ready","opencode not ready"],lA=/\bruntime_not_ready\b|sandbox runtime not ready|opencode not ready/i;function pA(e){return lA.test(An(e))}function kn(e){let t=An(e);return t?pA(t)||uA.some(n=>n.test(t)):!1}var dA=/server url not ready|sandbox is still loading/i;function Dq(e){return dA.test(An(e))||kn(e)}var Vr=class extends Error{constructor(t){let n=t?.trim();super(n&&kn(n)?n:n?`sandbox not ready: ${n}`:"sandbox not ready"),this.name="SandboxNotReadyError"}};function gA(e){let t=Qo(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,i=t.data?.issues?.[0]?.path?.join("."),a=i?.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. ${a}`,detail:o?`${i?`${i}: `:""}${o}`:void 0}}let n=An(e);return kn(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:"The session runtime failed to load",message:n||"The sandbox is running, but its runtime returned an error."}}var jq=gA;function Ph(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${Ue()}/p/${e.external_id}/${$e.BEEUNI_MASTER}`}function Lq(e,t){return e.external_id?`${Ue()}/p/${e.external_id}/${t}`:null}async function Wq(){let e=await c.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function mA(e){let t=await Qe();if(t)return{sandbox:t.sandbox,created:!1};let r=(await dt())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await ht(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await Ye(r.project_id,s.session_id))?.sandbox??null;return{sandbox:Zs(r,s,o),created:!0}}async function Kq(){return(await Qe().catch(()=>null))?.sandbox??null}async function Hq(e){return{sandbox:(await mA(e)).sandbox}}async function Vq(e){let t=Ht(e);return t?(await Qe(t).catch(()=>null))?.sandbox??null:null}async function zq(e,t){throw await Qe(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Yq(e){let t=Ht(e);return(await eo().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function Qq(){return null}async function Jq(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await Qe(e);if(!t)throw new Error("Project session sandbox not found");await ar(t.project.project_id,t.session.session_id)}async function Xq(e){if(!e)throw new Error("No sandbox selected to stop");let t=await Qe(e);if(!t)throw new Error("Project session sandbox not found");await cr(t.project.project_id,t.session.session_id)}async function Zq(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function eG(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function Jo(e,t,n){let r=Ph(e),s=await M(`${te(r)}${t}`,{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 oG(e,t){return Jo(e,`/beeuni/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function iG(e,t,n,r="member"){await Jo(e,`/beeuni/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function aG(e,t,n){await Jo(e,`/beeuni/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}var Xo="Use the account invite functions (acceptAccountInvite, declineAccountInvite).";async function lG(e){throw F("getInvite",Xo)}async function pG(e){throw F("acceptInvite",Xo)}async function dG(e){throw F("declineInvite",Xo)}async function mG(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function fG(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function yG(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function hG(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function _G(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function PG(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}var fA=["pulling","patching","stopping","removing","recreating","restarting","verifying","starting","health_check"];function vG(e){return fA.includes(e)}async function AG(e){return{phase:"idle",progress:0,message:"Sandbox image updates are managed by project-session provisioning.",targetVersion:null,previousVersion:null,currentVersion:e?.version??null,error:null,startedAt:null,updatedAt:null}}async function kG(e){let t=e?`?channel=${e}`:"",r=await(await we(`${Ue()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}},{},"Version check failed")).json();try{let s=await yA(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function yA(e){let t=e?`?channel=${e}`:"";return(await(await we(`${Ue()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}},{},"Changelog fetch failed")).json()).changelog}async function RG(){return(await we(`${Ue()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}},{},"All versions fetch failed")).json()}async function CG(e,t){throw new Error("Sandbox image updates are managed by project-session provisioning")}async function IG(e){}async function TG(e){}async function OG(e){return{serverTypes:[],location:e||"hel1"}}async function DG(e){throw new Error("Retired instance provisioning is unavailable. Create a project session with daytona, platinum, or e2b.")}async function jG(e){throw F("deleteInstance")}async function $G(e,t){}async function UG(){throw F("claimComputer")}async function FG(e){return null}function LG(e,t){throw F("getSandboxProvisionStreamUrl")}var zr=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Sh(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function xh(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function wh(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function V(e,t,n){let r=n?.body!==void 0,s=await fetch(`${Vt(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Sh(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await xh(s);if(!s.ok)throw new zr(wh(s,o),s.status,o);return o}function hA(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function WG(e,t){return V(`/marketplace/items${hA(t)}`,e)}function KG(e){return V("/marketplace/marketplaces",e)}function HG(e,t){return V(`/marketplace/items/${encodeURIComponent(e)}`,t)}function VG(e,t,n){return V(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function zG(e,t){return V("/access/check-email",t,{method:"POST",body:{email:e}})}function YG(e,t){return V("/access/request-access",t,{method:"POST",body:e})}function QG(e){return V("/auth/logout",e,{method:"POST",body:{}})}function JG(e,t){return V(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function XG(e,t){return V("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function ZG(e,t){return V(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function e1(e,t){return V(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function t1(e,t,n={}){return V(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:n.connectionId?{connection_id:n.connectionId}:{}})}function n1(e,t){return V(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function r1(e,t,n,r){return V(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t,...r?.only_requester?{only_requester:!0}:{}}})}function s1(e,t){return V(`/p/public-share/${encodeURIComponent(e)}`,t)}function o1(e,t,n){return V(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function i1(e){return V("/system/maintenance",e)}function a1(e,t){return V("/system/maintenance",t,{method:"PUT",body:e})}function c1(e){return V("/user-roles",e)}function u1(e,t){return V("/system/demo-request",t,{method:"POST",body:e})}async function l1(e,t,n){let r=await fetch(`${Vt(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${bt(t)}`,{headers:Sh(n,!1),...n.signal?{signal:n.signal}:{}});if(!r.ok){let s=await xh(r);throw new zr(wh(r,s),r.status,s)}return{blob:await r.blob(),filename:r.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:r.headers.get("x-audit-capped")==="true",rowCount:r.headers.get("x-audit-row-count"),complete:r.headers.get("x-audit-complete")!=="false",nextCursor:r.headers.get("x-audit-next-cursor")||null}}async function p1(e,t){throw F("openStressTestStream")}function d1(e,t){throw F("buildPublicTemplateUrl")}async function g1(e,t,n){throw F("getPublicTemplate")}var bA="beeuni:connect-link:";function Zo(e){let t=2166136261,n=16777619^e.length;for(let r=0;r<e.length;r+=1){let s=e.charCodeAt(r);t=Math.imul(t^s,16777619)>>>0,n=Math.imul(n^s,1540483477)>>>0}return`${bA}${t.toString(36)}${n.toString(36)}`}function f1(e,{storage:t}={}){let n=new Map,r=new Map,s=i=>{if(t)try{let a=t.getItem(Zo(i));if(!a)return;let u=JSON.parse(a);if(Date.parse(u.expires_at)<=Date.now()){t.removeItem(Zo(i));return}return u}catch{return}},o=(i,a)=>{if(t)try{t.setItem(Zo(i),JSON.stringify(a))}catch{}};return{peek(i){let a=r.get(i);if(a)return a;let u=s(i);return u&&r.set(i,u),u},load(i){let a=n.get(i);if(a)return a;let u=e(i).then(p=>(r.set(i,p),o(i,p),p),p=>{throw n.delete(i),p});return n.set(i,u),u}}}var vh="Could not start the connect flow.";async function y1(e){let t;try{t=await e.start()}catch(r){return{kind:"error",message:r instanceof Error?r.message:vh}}if(t.connect_url)return{kind:"popup",url:t.connect_url};if(!t.connected)return{kind:"error",message:vh};let n=null;try{n=(await e.finalize()).connected_as??null}catch{}return{kind:"connected",alreadyConnected:t.already_connected===!0,connectedAs:n}}var _A=3e3,PA=5e3,SA=5*6e4;function h1(e,t){let n=e===0?_A:PA;return t+n>SA?null:n}function b1(e){let t=e.project_name?.trim();return{app:e.name?.trim()||e.app?.trim()||e.slug,project:t&&t!=="this project"?t:null}}async function S1(){let e=await c.get("/platform/github-app/status",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App status request failed");return e.data}async function x1(e={}){let t=await c.post("/platform/github-app/manifest-start",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App manifest-start request failed");return t.data}async function w1(e){let t=await c.post("/platform/github-app/app",{app_id:e.appId,private_key:e.privateKey,installation_id:e.installationId,slug:e.slug,client_id:e.clientId,client_secret:e.clientSecret},{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub App configuration request failed");return t.data}async function v1(e){let t=await c.post("/platform/github-app/pat",e,{showErrors:!1});if(t.error)throw t.error;if(!t.data)throw new Error("GitHub token configuration request failed");return t.data}async function A1(){let e=await c.delete("/platform/github-app",{showErrors:!1});if(e.error)throw e.error;if(!e.data)throw new Error("GitHub App disconnect request failed");return e.data}var R1="1";var xA="beeuni.query-cache";function kh(e){return!!e&&typeof e.then=="function"}function Ah(e){return kh(e)?e:Promise.resolve()}function C1(e){if(e[0]!=="kx")return!1;let t=e[1];if(t==="accounts")return e.length===3&&typeof e[2]=="string"&&e[2]!=="anonymous";if(t==="projects")return e.length===3;if(t!=="project"||typeof e[2]!="string")return!1;let n=e[3];if(e.length===4)return n==="summary"||n==="detail";if(n!=="sessions")return!1;if(e.length===6)return e[4]==="list-paged";if(e.length===7&&e[4]==="list-paged"){let r=e[6];return typeof r=="object"&&r!==null&&!r.q}return e.length===7&&e[4]==="list-children"?e[6]==="":e.length===5&&e[4]!=="list"&&e[4]!=="list-paged"}function I1(e){let{storage:t,userId:n,shouldPersist:r,version:s="1",maxAgeMs:o=6048e5,maxBytes:i=1e6,throttleMs:a=1e3,namespace:u=xA,now:p=()=>Date.now()}=e,d=`${u}:${n}`,g=null,m=!1,f=null,h=Promise.resolve(),x=()=>{try{return Ah(t.removeItem(d)).catch(()=>{})}catch{return Promise.resolve()}},D=(w,P)=>{if(!P)return 0;let A;try{A=JSON.parse(P)}catch{return x(),0}if(!A||A.v!==s||A.user!==n||!Array.isArray(A.queries)||p()-A.at>o)return x(),0;let I=0;for(let T of A.queries){if(!T||!Array.isArray(T.k)||T.d===void 0||typeof T.t!="number"||p()-T.t>o||!r(T.k))continue;let B=w.getQueryState(T.k);B&&B.data!==void 0&&B.dataUpdatedAt>=T.t||(w.setQueryData(T.k,T.d,{updatedAt:T.t}),w.invalidateQueries?.({queryKey:T.k,exact:!0,refetchType:"none"}),I+=1)}return I},j=w=>w.getQueryCache().getAll().filter(P=>P.state.data!==void 0&&r(P.queryKey)).map(P=>({k:P.queryKey,d:P.state.data,t:P.state.dataUpdatedAt})).sort((P,A)=>A.t-P.t),L=(w,P)=>{let A=[],I=0;for(let T of w){let B=JSON.stringify(T).length+1;I+B>P||(A.push(T),I+=B)}return A},y=async w=>{let P=L(j(w),i);for(;;){let A={v:s,user:n,at:p(),queries:P};try{await Ah(t.setItem(d,JSON.stringify(A)));return}catch{if(P.length===0)return;P=P.slice(0,Math.floor(P.length/2))}}},_=()=>{f!==null&&(clearTimeout(f),f=null)},S=()=>{_();let w=g;return!w||!m||(m=!1,h=h.then(()=>y(w)).catch(()=>{})),h},E=()=>{m=!0,f===null&&(f=setTimeout(()=>{f=null,S()},a))};return{storageKey:d,restore(w){let P;try{P=t.getItem(d)}catch{return 0}return kh(P)?P.then(A=>D(w,A)).catch(()=>0):D(w,P)},persist(w){g=w,m=!0;let P=w.getQueryCache().subscribe(A=>{A.type!=="updated"&&A.type!=="removed"&&A.type!=="added"||r(A.query.queryKey)&&E()});return()=>{P(),g===w&&(g=null,_())}},flush(){return S()},async clear(){_(),g=null,m=!1,await h,await x()}}}function T1(){let e;try{e=globalThis.localStorage}catch{e=void 0}if(!e)return null;let t=e;return{getItem:n=>{try{return t.getItem(n)}catch{return null}},setItem:(n,r)=>t.setItem(n,r),removeItem:n=>{try{t.removeItem(n)}catch{}}}}var wA="/beeuni/part/";function vA(e){return typeof e=="string"&&e.startsWith(wA)}async function D1(e){if(!vA(e))throw new Error(`not an attachment part reference: ${e}`);let t=Re();if(!t)throw new Error("runtime url not bound");let n=await M(`${t}${e}`);if(!n.ok)throw new Error(`attachment part fetch failed: ${n.status}`);return n.blob()}function Rh(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function AA(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.has(n.origin)}catch{return!1}}function Ch(e,t){return AA(e,t)?(t?Rh(t):null)??Rh(e):null}function Yr(e){try{let{hostname:t}=new URL(e);return/^p\d+-[^.]+\./.test(t)||/^(?:dev|staging|prod|preview)-p\d+-[a-z0-9-]+\./i.test(t)}catch{return!1}}function Ih(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}var kA=/^p\d{1,5}-[a-z0-9-]+\.localhost$/;function RA(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function CA(e,t){if(!t.includes("{port}")||!t.includes("{sandbox}"))return!1;let n=t.indexOf("://");if(n<=0)return!1;let r=t.slice(0,n).toLowerCase();if(r!=="https"&&r!=="http")return!1;let s=(t.slice(n+3).split("/")[0]??"").toLowerCase(),o=`${r}://${s}`.split("{port}").map(i=>i.split("{sandbox}").map(RA).join("[a-z0-9-]+")).join("\\d{1,5}");return new RegExp(`^${o}$`).test(e)}function IA(e){try{let t=new URL(e);return t.hostname==="localhost"||t.hostname==="127.0.0.1"?t:null}catch{return null}}function Th(e){return e.port?e.port:e.protocol==="https:"?"443":"80"}function TA(e,t){let n;try{n=new URL(e)}catch{return!1}return n.protocol!=="https:"&&n.protocol!=="http:"?!1:kA.test(n.hostname)?t.backendUrls.some(r=>{let s=IA(r);return s!==null&&Th(s)===Th(n)}):t.templates.some(r=>CA(n.origin,r))}async function Eh(e,t={}){if(!Yr(e))return!1;let n=k().backendUrl;n&&await Je(n).catch(()=>null);let r=[n,t.serverUrl].filter(s=>typeof s=="string"&&s.length>0);return TA(e,{templates:Mm(),backendUrls:r})}async function EA(e,t={}){let n=Ch(e,t.serverUrl||k().backendUrl||void 0);if(!n)return!1;let r=await Ft();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}}async function K1(e,t={}){if(Yr(e)){if(!await Eh(e,t))return e;let n=await Ft();return n?Ih(e,n):e}return await EA(e,t),e}var V1=3e3;function MA(e){return!Number.isFinite(e)||e<100||e>599?"unknown":e===502||e===503||e===504?"unreachable":e===401||e===403?"unknown":"reachable"}async function z1(e,t){if(!e||t?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();t?.signal?.addEventListener("abort",r);let s=setTimeout(r,t?.timeoutMs??3e3);try{let o=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return MA(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function OA(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function J1(e,t){throw F("buildPresentationTemplatePdfUrl")}function X1(e,t){throw F("buildPresentationTemplateImageUrl")}function DA(e,t){return`${OA(e)}/presentation/convert-to-${t}`}async function Z1(e,t,n,r){let s=DA(t,e),o=r?.pollIntervalMs??2500,i=r?.timeoutMs??4*6e4,a=Date.now(),u=!1;for(;;){let p=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),d=p.headers.get("content-type")||"";if(p.ok&&(d.includes("pdf")||d.includes("presentation")||d.includes("octet-stream"))){let h=await p.blob();if(h.size===0)throw new Error("Downloaded file is empty");return h}if(p.status===202){if(u||(u=!0,r?.onGenerating?.()),Date.now()-a>i)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((h,x)=>{let D=setTimeout(h,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(D),x(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let m=await p.text().catch(()=>""),f=p.statusText;try{let h=JSON.parse(m);f=String(h.error||h.detail||h.message||f)}catch{m&&(f=m)}throw new Error(`Failed to download ${e.toUpperCase()}: ${f} (HTTP ${p.status})`)}}function nW(e){return e.activityFresh||e.runtimeReady?"live":e.unreachable||e.stalled?"unreachable":e.sandbox==="stopped"||e.sandbox==="archived"||e.sandbox==="provisioning"||e.sandbox==="queued"||e.sandbox==="branching"?"waking":e.sandbox==="completed"?"unknown":e.sandbox==="failed"?"unreachable":e.sandbox==="running"?"connecting":"unknown"}function rW(e){return e==="unreachable"}function sW(e){return!e||e.status===0?"unknown":e.ok&&Ef(e.health)?"live":e.hop==="control_plane"?"waking":e.ok||e.health?.status==="starting"?"connecting":"unreachable"}var jA=1e4,oW={connection:"unknown",faultSinceMs:null};function iW(e,t,n,r=jA){if(t==="unknown")return e;if(t==="live"||t==="waking")return{connection:t,faultSinceMs:null};let s=e.faultSinceMs??n;return n-s>=r?{connection:t,faultSinceMs:s}:{connection:e.connection==="unknown"?"connecting":e.connection,faultSinceMs:s}}function Mh({optimistic:e,abort:t,inbox:n,server:r,stream:s,activity:o,nowMs:i}){let a=!!e&&i-e.atMs<ei,u=!!t&&i-t.atMs<ri;return{receiptLive:a,receiptTurnId:e?e.turnId===void 0?e.messageId:e.turnId:null,serverFloor:a?e?.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,streamFloor:a?e?.atMs:Number.NEGATIVE_INFINITY,abortLive:u,abortFloor:u?t?.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,serverFresh:!!r&&i-r.atMs<=ti,streamFresh:!!s&&i-s.atMs<=Rn,inboxFresh:!!n&&i-n.atMs<=ni,activityFresh:!!o&&i-o.atMs<=Rn}}function Tt(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function si(e,t,n){if(!t)return!1;let r=Tt(e.started_at);if(r===null||r>=t.atMs)return!1;let s=n?.lastEnded,o=Tt(s?.ended_at);return!(s&&o!==null&&Math.abs(o-t.atMs)<=1e3&&s.turn_token!==e.turn_token)}function $A(e,t,n,r){let{activity:s,server:o}=e,{serverFresh:i,abortFloor:a,activityFresh:u}=t;return u&&(!n||s.atMs>n.atMs)&&s.atMs>=a?{state:"working",source:"stream",turnId:i?o.turns.find(d=>d.state==="active"&&!si(d,n,o))?.message_id??null:null,since:s.atMs,serverOpenTurnToken:r}:null}function UA(e,t,n,r){let{server:s,stream:o}=e,{serverFresh:i,abortFloor:a}=t,u=i?s.turns.filter(g=>!si(g,n,s)):[],p=u.find(g=>g.state==="active")??u[0],d=!!o&&!(o.type==="idle"&&o.origin==="local");return p&&s.atMs>=a&&(!d||s.atMs>=o.atMs)?{result:{...p.state==="delivering"?{pendingDelivery:!0}:{},state:"working",source:"server",turnId:p.message_id,since:Tt(p.started_at)??s.atMs,serverOpenTurnToken:r},openTurn:p}:{result:null,openTurn:p}}function FA(e,t,n){let{inbox:r,server:s,stream:o}=e,{inboxFresh:i,abortFloor:a,streamFresh:u,serverFresh:p,receiptLive:d,receiptTurnId:g,abortLive:m}=t;if(i&&r.pending>0&&r.atMs>=a)return{...u&&o.type!=="idle"&&(!p||o.atMs>s.atMs)&&o.atMs>=a?{}:{pendingDelivery:!0},state:"working",source:"server",turnId:d?g:null,since:r.atMs,serverOpenTurnToken:n};let f=r?.drainedAtMs;return i&&r.pending===0&&f!=null&&!m&&!(p&&s.atMs>=f)?{pendingDelivery:!0,state:"working",source:"server",turnId:null,since:f,serverOpenTurnToken:n}:null}function LA(e,t,n,r){let{server:s,stream:o,optimistic:i,nowMs:a}=e,{serverFresh:u,serverFloor:p,streamFresh:d,streamFloor:g,abortFloor:m,receiptLive:f,receiptTurnId:h}=t,x=u&&!n&&s.atMs>=p,D=d&&o.atMs>=g&&(o.type==="idle"||o.atMs>=m);if(x&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:Tt(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:r};if(D)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:r};if(f)return{pendingDelivery:!0,state:"working",source:"optimistic",turnId:h,since:i.atMs,serverOpenTurnToken:r};let j=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:a};return{state:"idle",source:j.source,turnId:null,since:j.atMs,serverOpenTurnToken:r}}function Oh(e){let t=Mh(e),{server:n,stream:r}=e,s=r&&r.type==="idle"&&r.origin!=="local"?r:null,o=n?.turns[0]?.turn_token??null,i=$A(e,t,s,o);if(i)return i;let{result:a,openTurn:u}=UA(e,t,s,o);return a??FA(e,t,o)??LA(e,t,u,o)}var ei=6e4,ti=45e3,Rn=45e3,ni=1e4,hW=3e3,ri=15e3;function bW(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function _W(e){let t=0;for(let n of e)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(t+=1);return t}function SW(e){return Oh(e)}function xW(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:i,nowMs:a}=e,u=[null,t?t.atMs+ei:null,n?n.atMs+ri:null,r?r.atMs+ni:null,s?s.atMs+ti:null,o?o.atMs+Rn:null,i?i.atMs+Rn:null],p=null;for(let d of u)d===null||d<=a||(p===null||d<p)&&(p=d);return p}function BA(e,t){if(!e||!t)return null;let n=e.recent_failures?.find(o=>o.message_id===t),r=e.last_ended,s=n?.error??(r?.message_id===t&&r.end_reason==="failed"?r.error:void 0);return!s?.message||Kr({name:s.name??void 0,message:s.message})?null:s}var NA="SandboxMemoryGuard";function kW(e,t,n){if(!e||!t||n.hasError&&!n.isAbort)return null;let r=BA(e,t);if(r?.message){if(r.name!==NA)return{kind:"cause",name:r.name,message:r.message};let a=r.message.match(/(\d{1,3})%/)?.[1],u=r.message.split(":")[0]?.trim()||null;return{kind:"sandbox-memory",usedPct:a?Number(a):null,detail:u}}let s=e.recent_failures?.find(a=>a.message_id===t);if(!s)return null;let o=s.ended_at?Date.parse(s.ended_at):Number.NaN;return Number.isFinite(o)&&typeof e.atMs=="number"&&e.atMs-o<2500?null:{kind:"unexplained"}}var CW=6e4;function IW(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function TW(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var qA=9e4;function EW(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+qA}var OW=75e3,DW=2,jW=2e4;function Dh(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function $W(e){return e.filter(t=>t!=null).join("|")}function GA(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function UW(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...Dh(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...Dh(),settled:!0};let i=e.lastProgressAtMs,a=i===null,u=t.progress!==e.fingerprint,p=i===null||u?t.nowMs:i,d=Math.max(0,t.nowMs-p),g={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:p,msSinceProgress:d,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...g,status:"exhausted"};let m=!a&&!u&&d>=r;if(!t.serverGaveUp&&!m||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return g;let f=GA(e.attempts,s);return f?{...g,status:"escalating",dispatch:f,attempts:[...e.attempts,{step:f,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...g,status:"exhausted"}}var WA={"retry-start":"retrying",restart:"restarting"};function FW(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${WA[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function KA(e){return e===1?"once":e===2?"twice":`${e} times`}function LW(e){if(e.status!=="exhausted")return null;let t=e.attempts.filter(s=>s.step==="restart").length,n=e.attempts.some(s=>s.step==="retry-start");if(!n&&t===0)return null;let r=[];return n&&r.push("re-issuing the wake"),t>0&&r.push(`restarting the session ${KA(t)}`),`Tried: ${r.join(", then ")}.`}var NW={"needs-you":{label:"Needs you",tone:"actionable",description:"Waiting for your review"},starting:{label:"Starting",tone:"progress",description:"Its computer is starting"},running:{label:"Running",tone:"live",description:"Its computer is up"},done:{label:"Done",tone:"muted",description:"Finished"},stopped:{label:"Stopped",tone:"muted",description:"Asleep. Opening it wakes its computer"},failed:{label:"Failed",tone:"danger",description:"Its computer didn't start"},legacy:{label:"Legacy",tone:"muted",description:"Imported. Open it to restore"}};function HA(e){return!!(e.metadata??{}).legacy_migration}function qW(e,t=0){if(t>0)return"needs-you";switch(e.status){case"queued":case"branching":case"provisioning":return"starting";case"running":return"running";case"completed":case"stopped":return HA(e)?"legacy":e.status==="completed"?"done":"stopped";case"failed":return"failed";default:return"stopped"}}function GW(e){switch(e){case"waking":return{label:"Waking computer",tone:"progress"};case"connecting":return{label:"Connecting",tone:"progress"};case"unreachable":return{label:"Can't reach computer",tone:"danger"};default:return null}}var WW={unreachable:"Lost contact with this session's computer. Messages you send are queued until it reconnects.",unreachableMidTurn:"Lost contact with this session's computer while a turn is still open. Messages you send stay queued until it answers.",stalled:"Waking this session's computer is taking longer than usual. Messages you send are queued.",starting:"Starting this session's computer. Your message sends automatically.",idle:"This session's computer is asleep. Your next message wakes it up and is delivered.",waking:"Waking this session's computer. Messages you send are queued and go out automatically."};function KW(e){return e===null?"Waiting to retry":e>0?`Retrying in ${e}s`:"Retrying now"}function oi(e){return e.runtime_sessions??e.opencode_sessions??[]}function VA(e){let t=oi(e),n=e.runtime_session_id??e.opencode_session_id;return n?t.find(r=>r.id===n)??null:t.find(r=>!r.parent_id)??null}function VW(e){let t=VA(e);return t?oi(e).filter(n=>n.parent_id===t.id&&!n.archived_at).sort((n,r)=>(r.updated_at??0)-(n.updated_at??0)||n.id.localeCompare(r.id)):[]}function zW(e,t){if(!t)return null;let n=e.find(r=>r.session_id===t||(r.runtime_session_id??r.opencode_session_id)===t);return n||(e.find(r=>oi(r).some(s=>s.id===t))??null)}var zA=new Set;function YA(e){for(let t of[...zA])try{t(e)}catch{}}var QA=12e4,Qr=class extends Error{constructor(t){super(`Session history read did not settle within ${t}ms`),this.name="SessionSyncReadTimeoutError"}},JA=1e3,XA=15e3,jh=100,ZA=50,ek=10;function $h(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s},o)=>{let i=new URLSearchParams({limit:String(r)});s&&i.set("before",s);let a=await e.getToken?.(),u=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${i}`,{headers:a?{Authorization:`Bearer ${a}`}:void 0,...o?{signal:o}:{}});if(!u.ok)throw u.status===503?new Vr(`session ${u.status}`):new b(`Session synchronization failed: ${u.status}`,{status:u.status});return{messages:await u.json(),nextCursor:u.headers.get("x-next-cursor")||void 0}}}function tk(e){return rk($h(e))}function nk(e){return new ii({...e,loadPage:$h(e)})}async function rk(e){let t=[],n=new Set,r;do{let i=await e({limit:jh,...r?{before:r}:{}});if(t.push(i.messages),r=i.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);let s=[],o=new Set;for(let i=t.length-1;i>=0;i--)for(let a of t[i])o.has(a.info.id)||(o.add(a.info.id),s.push(a));return s}var sk={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},ii=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;readTimeoutMs;lastTailReadAt;retryAttempt=0;tailUnavailable=!1;tailRetryTimer;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;turnEndPending=!1;olderRequest;livenessTimer;livenessBusy=!1;streamReliable=!1;lastActivityAt;listeners=new Set;destroyed=!1;abortController=new AbortController;constructor(t){this.options=t,this.scheduler=t.scheduler??sk,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.verifyIntervalMs=t.verifyIntervalMs??3e4,this.readTimeoutMs=t.readTimeoutMs??QA,this.lastActivityAt=this.scheduler.now(),this.lastTailReadAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"||this.snapshot.freshness==="loading"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).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"})}setStreamReliable(t){this.streamReliable=t}setBusy(t,n=!1){let r=this.livenessBusy&&!t;if(this.livenessBusy=t,!t&&!n){this.stopLivenessTimer(),r&&!this.destroyed&&this.reconcileTurnEnd();return}r&&!this.destroyed&&this.reconcileTurnEnd(),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.tailRetryTimer!==void 0&&(this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0),this.abortController.abort(),this.listeners.clear()}reconcileTurnEnd(){if(!this.tailRequest){this.reconcile("turn-end");return}this.turnEndPending||(this.turnEndPending=!0,this.tailRequest.finally(()=>{this.turnEndPending=!1,this.destroyed||this.reconcile("turn-end")}))}async loadTail(t){this.lastTailReadAt=this.scheduler.now();try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted||this.setCursor(n.nextCursor),this.update({freshness:"fresh"}),this.options.markLoaded(),this.retryAttempt=0,this.tailUnavailable=!1}catch(n){if(this.destroyed||this.abortController.signal.aborted)return;let r=n instanceof Qr;if(!r&&Kr(n))return;if(r||this.update({freshness:kn(n)?"loading":"error"}),n instanceof b&&(n.status===404||n.status===410)){this.tailUnavailable=!0,this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0;return}this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(JA*2**this.retryAttempt,XA);this.retryAttempt+=1,this.tailRetryTimer=this.startTimer(()=>{this.tailRetryTimer=void 0,!this.destroyed&&this.reconcile(t)},n)}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.boundedRead(i=>this.options.loadPage({limit:t==="tail"?ZA:jh,...r?{before:r}:{}},i));return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}boundedRead(t){let n=this.abortController.signal,r=new AbortController,s=()=>r.abort(n.reason);n.aborted?r.abort(n.reason):n.addEventListener("abort",s,{once:!0});let o,i=new Promise((u,p)=>{o=this.startTimer(()=>{let d=new Qr(this.readTimeoutMs);p(d),r.abort(d)},this.readTimeoutMs)}),a;try{a=t(r.signal)}catch(u){a=Promise.reject(u)}return Promise.race([a,i]).finally(()=>{this.cancelTimer(o),n.removeEventListener("abort",s)})}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t,r=>{this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.setCursor(r.nextCursor)})}async loadCompleteTurn(t,n,r,s,o){let i=[...t.messages],a=new Set(this.knownUserMessageIds),u=new Set(s?[s]:[]),p=t.nextCursor,d=0;for(let g of t.messages)g.info.role==="user"&&a.add(g.info.id);for(;p&&d<ek&&i.some(g=>g.info.role==="assistant"&&!!g.info.parentID&&!a.has(g.info.parentID));){if(u.has(p))throw new Error(`Session history cursor repeated: ${p}`);u.add(p);let g;try{g=await this.loadPage(n,r,p)}catch(m){throw o?.({messages:[...i],nextCursor:p}),m}if(this.destroyed)return{messages:i,nextCursor:p};d+=1,i.unshift(...g.messages);for(let m of g.messages)m.info.role==="user"&&a.add(m.info.id);p=g.nextCursor,o?.({messages:[...i],nextCursor:p})}return{messages:i,nextCursor:p}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){if(this.destroyed||this.tailUnavailable||this.streamReliable)return;let t=this.scheduler.now(),n=t-this.lastActivityAt>this.livenessIntervalMs,r=t-this.lastTailReadAt>=this.verifyIntervalMs;!(this.livenessBusy&&n)&&!r||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(t,n){return new Promise(r=>{let s,o=!1,i=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(i,n),t.then(i,i)})}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(t,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(t,n):setTimeout(t,n)}cancelTimer(t){t!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(t):clearTimeout(t))}update(t){let n={...this.snapshot,...t};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 ok(e){return e?.available&&e.source==="mirror"&&e.complete&&e.total===0&&e.messages.length===0?e.runtime_session_id??e.opencode_session_id??null:null}function ik(e){return e.savedEmptyRoot!==null&&e.savedEmptyRoot===e.rootSessionId&&e.turnRead&&!e.hasEndedTurn&&!e.hasOpenOrQueuedTurn}function bK(e){throw F("buildTunnelEventStreamUrl")}function _K(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:i,onError:a,onClose:u,signal:p}=e,d=new Map,g=null,m=!1,f="";function h(y,_){o?.(y,_);let S=d.get(y);if(S)for(let E of S)try{E(_)}catch{}}async function x(){if(m)return;let y=new AbortController;g=y,p&&(p.aborted?y.abort():p.addEventListener("abort",()=>y.abort(),{once:!0}));let _=y.signal;try{let S={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(S["Content-Type"]="application/json"),f&&(S["Last-Event-ID"]=f);let E=await fetch(t,{method:r,headers:S,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:_,credentials:"include"});if(!E.ok)throw new Error(`SSE connection failed: ${E.status} ${E.statusText}`);if(!E.body)throw new Error("SSE response has no body");i?.();let w=E.body.getReader(),P=new TextDecoder,A="",I="message",T=[],B=N=>{if(N===""){T.length>0&&h(I,T.join(`
96
- `)),I="message",T=[];return}if(N.startsWith(":"))return;let q=N.indexOf(":"),le=q===-1?N:N.slice(0,q),ue=q===-1?"":N.slice(q+1);ue.startsWith(" ")&&(ue=ue.slice(1)),le==="event"?I=ue.trim()||"message":le==="data"?T.push(ue):le==="id"&&!ue.includes("\0")&&(f=ue)},$=N=>{let q="";!N&&A.endsWith("\r")&&(q="\r",A=A.slice(0,-1));let le=A.split(/\r\n|\n|\r/);A=(le.pop()??"")+q;for(let ue of le)B(ue)};for(;!m;){let{done:N,value:q}=await w.read();if(N)break;A+=P.decode(q,{stream:!0}),$(!1)}m||(A+=P.decode(),$(!0),u?.())}catch(S){if(m||S instanceof DOMException&&S.name==="AbortError")return;a?.(S instanceof Error?S:new Error(String(S)))}}function D(){m=!0,g?.abort(),g=null,d.clear()}function j(y,_){let S=d.get(y)??new Set;S.add(_),d.set(y,S)}function L(y,_){d.get(y)?.delete(_)}return{connect:x,close:D,addEventListener:j,removeEventListener:L}}function PK(e,t){throw F("createTunnelEventStream")}var Uh="/_beeuni/viewer",Jr=6e4,Et=new Map;function ak(){Et.clear(),Cn.clear()}async function ck(e,t){let n;try{n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}})}catch{return null}if(n.status===401||n.status===404||!n.ok)return null;let r=await n.json().catch(()=>null);return r&&typeof r.user_id=="string"?r:null}async function Fh(e={}){let t=e.path??Uh,n=e.fetch??((o,i)=>fetch(o,i)),r=Et.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=ck(t,n).then(o=>{let i=o?.expires_at?Date.parse(o.expires_at):Number.NaN,a=Number.isFinite(i)?i-Jr:Date.now()+Jr;return Et.set(t,{session:o,expiresAt:a}),o});return Et.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function uk(e={}){let t=e.path??Uh;return Object.assign(async()=>(await Fh(e))?.access_token??null,{invalidate:n=>{let r=Et.get(t);r&&!r.inflight&&r.session?.access_token===n&&Et.delete(t)}})}var Cn=new Map;async function lk(e,t){try{let n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}});if(!n.ok){if(n.status===403){let o=await n.json().catch(()=>null);o?.error==="app_not_linked"&&console.warn(`[beeuni] ${String(o.error_description)}`)}return null}let r=await n.json().catch(()=>null);if(!r||typeof r.token!="string")return null;let s=typeof r.expires_at=="string"?Date.parse(r.expires_at):Number.NaN;return Cn.set(e,{token:r.token,refreshAt:Number.isFinite(s)?s-Jr:Date.now()+Jr}),r.token}catch{return null}}function Lh(e={}){let t=e.path??"/_beeuni/token",n=e.audience===void 0?t:`${t}?audience=${encodeURIComponent(e.audience)}`,r=e.fetch??((s,o)=>fetch(s,o));return async(s={})=>{let o=Cn.get(n);if(o instanceof Promise)return o;if(o&&!s.forceRefreshToken&&o.refreshAt>Date.now())return o.token;let i=lk(n,r).then(a=>(a===null&&Cn.delete(n),a));return Cn.set(n,i),i}}function pk(e,t={}){let n=t.origin??globalThis.location?.origin;if(!n)throw new Error("beeuniBinding needs the App origin: pass { origin } outside a browser.");return{url:`${te(n)}/_beeuni/apps/${encodeURIComponent(e)}`,token:Lh({audience:e,fetch:t.fetch})}}var it=class extends Error{code;constructor(t,n){super(n),this.name="BeeuniMemberError",this.code=t}},ce=e=>typeof e=="string"&&e.length>0?e:null;function Bh(e){let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return[]}return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}function ci(e){if(!e||typeof e!="object")return null;let t=e,n=ce(t.sub)??ce(t.subject)??ce(t.user_id)??ce(t.userId);return n?{userId:n,email:ce(t.email),name:ce(t.name),picture:ce(t.picture)??ce(t.pictureUrl),groups:Bh(t.groups),groupIds:Bh(t.group_ids??t.groupIds),role:ce(t.role),accountId:ce(t.account_id)??ce(t.accountId),projectId:ce(t.project_id)??ce(t.projectId)}:null}function dk(e,t={}){let n=ci(e);if(!n)throw new it("unauthenticated","Sign in with Beeuni to continue.");let{groups:r,roles:s}=t;if(r&&!r.some(o=>n.groups.includes(o)||n.groupIds.includes(o)))throw new it("forbidden",`Only members of ${r.join(" or ")||"no group"} may do this.`);if(s&&!s.some(o=>n.role===o))throw new it("forbidden",`Only ${s.join(" or ")||"no role"} members may do this.`);return n}var gk=60,ai=new Map;function qh(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=atob(t+"=".repeat((4-t.length%4)%4));return Uint8Array.from(n,r=>r.charCodeAt(0))}function Nh(e){return JSON.parse(new TextDecoder().decode(qh(e)))}async function mk(e,t){if(typeof e!="string")return e;if(e.startsWith("data:")){let n=e.indexOf(","),r=e.slice(5,n),s=e.slice(n+1),o=r.endsWith(";base64")?new TextDecoder().decode(Uint8Array.from(atob(s),i=>i.charCodeAt(0))):decodeURIComponent(s);return JSON.parse(o)}if(/^https?:\/\//.test(e)){let n=ai.get(e);return n||(n=t(e,{headers:{accept:"application/json"}}).then(async r=>{if(!r.ok)throw new Error(`key set ${r.status}`);return await r.json()}),n.catch(()=>ai.delete(e)),ai.set(e,n)),n}return JSON.parse(e)}async function fk(e,t={}){let n=y=>{throw new it("unauthenticated",`Beeuni sign-in token refused: ${y}.`)},r=t.jwks??je("BEEUNI_AUTH_JWKS"),s=t.issuer??je("BEEUNI_AUTH_ISSUER"),o=t.audience??je("BEEUNI_AUTH_AUDIENCE");if(!r)return n("no key set configured (BEEUNI_AUTH_JWKS)");if(o!==!1&&!o)return n("no audience configured (BEEUNI_AUTH_AUDIENCE, or `audience: false` to accept any App)");let i=typeof e=="string"?e.split("."):[];if(i.length!==3)return n("malformed");let[a,u,p]=i,d,g;try{d=Nh(a),g=Nh(u)}catch{return n("malformed")}if(d.alg!=="ES256")return n("unsupported algorithm");let m;try{m=await mk(r,t.fetch??((y,_)=>fetch(y,_)))}catch{return n("key set unavailable")}let f=(m.keys??[]).filter(y=>y.kty==="EC"&&(d.kid===void 0||y.kid===d.kid));if(f.length===0)return n("unknown key");let h=new TextEncoder().encode(`${a}.${u}`),x;try{x=qh(p)}catch{return n("malformed")}let D=!1;for(let y of f)try{let{kid:_,alg:S,use:E,key_ops:w,...P}=y,A=await crypto.subtle.importKey("jwk",P,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},A,x,h)){D=!0;break}}catch{}if(!D)return n("bad signature");let j=Math.floor(Date.now()/1e3);if(typeof g.exp!="number"||g.exp+gk<j)return n("expired");if(s&&g.iss!==s)return n("wrong issuer");if(o){let y=g.aud;if(!(y===o||Array.isArray(y)&&y.includes(o)))return n("wrong audience")}let L=ci(g);return L||n("no subject")}function Gh(e){let t=e.agents.map(yk),n=e.default_agent??e.open_code_default_agent;return n?t.sort((r,s)=>r.name===n?-1:s.name===n?1:0):t}function yk(e){return{name:e.name,description:e.description??void 0,mode:e.mode??void 0,source:e.source,hidden:e.enabled===!1}}function Wh(e,t){if(!Array.isArray(e))return[];let n=t?.includeSubagents===!0;return e.filter(r=>Xs(n?{...r,mode:null}:r))}function hk(e){let t=e.boundAgent?.trim()||null;if(!Array.isArray(e.agents)){let o=e.selectedAgent?.trim();return o?{selected:o,disabled:!1,reason:"loading"}:{selected:t,disabled:!1,reason:"loading"}}let n=Wh(e.agents);if(n.length===0)return t?{selected:t,disabled:!1,reason:"bound"}:{selected:null,disabled:!0,reason:"no_access"};let r=e.selectedAgent?.trim();if(r&&n.some(o=>o.name===r))return{selected:r,disabled:!1,reason:"selected"};if(t)return{selected:t,disabled:!1,reason:"bound"};let s=e.defaultAgent?.trim();return s&&n.some(o=>o.name===s)?{selected:s,disabled:!1,reason:"default"}:{selected:n[0].name,disabled:!1,reason:"first_accessible"}}var bk=Gh;function Kh(e){return e.providerID==="beeuni"||e.providerID==="opencode"?e.modelID:`${e.providerID}/${e.modelID}`}function ui(e){return{providerID:"beeuni",modelID:e}}function _k(e,t){let n=e.startsWith("beeuni/")?e.slice(7):e;if(!t){let r=n.indexOf("/");if(r>0&&r<n.length-1)return{providerID:n.slice(0,r),modelID:n.slice(r+1)}}return ui(n)}var li=[{id:"hpc-ai",env:["HPC_AI_API_KEY"]},{id:"ai-router",env:["AI_ROUTER_API_KEY"]},{id:"mixlayer",env:["MIXLAYER_API_KEY"]},{id:"qiniu-ai",env:["QINIU_API_KEY"]},{id:"neuralwatt",env:["NEURALWATT_API_KEY"]},{id:"umans-ai-coding-plan",env:["UMANS_AI_CODING_PLAN_API_KEY"]},{id:"iteracompute",env:["ITERACOMPUTE_API_KEY"]},{id:"cloudflare-workers-ai",env:["CLOUDFLARE_ACCOUNT_ID","CLOUDFLARE_API_KEY"]},{id:"meganova",env:["MEGANOVA_API_KEY"]},{id:"infomaniak",env:["INFOMANIAK_API_KEY","INFOMANIAK_PRODUCT_ID"]},{id:"orcarouter",env:["ORCAROUTER_API_KEY"]},{id:"zenifra",env:["ZENIFRA_AI_KEY"]},{id:"nvidia",env:["NVIDIA_API_KEY"]},{id:"qvac",env:["QVAC_API_KEY"]},{id:"iflowcn",env:["IFLOW_API_KEY"]},{id:"claudinio",env:["CLAUDINIO_API_KEY"]},{id:"cortecs",env:["CORTECS_API_KEY"]},{id:"nano-gpt",env:["NANO_GPT_API_KEY"]},{id:"modelscope",env:["MODELSCOPE_API_KEY"]},{id:"synthetic",env:["SYNTHETIC_API_KEY"]},{id:"jalapeno",env:["JALAPENO_API_KEY"]},{id:"abliteration-ai",env:["ABLIT_KEY"]},{id:"deepseek",env:["DEEPSEEK_API_KEY"]},{id:"greenpt",env:["GREENPT_API_KEY"]},{id:"xpersona",env:["XPERSONA_API_KEY"]},{id:"tencent-tokenhub",env:["TENCENT_TOKENHUB_API_KEY"]},{id:"stepfun-step-plan",env:["STEPFUN_API_KEY"]},{id:"xiaomi-token-plan-sgp",env:["XIAOMI_API_KEY"]},{id:"the-grid-ai",env:["THEGRID_API_KEY"]},{id:"google-vertex",env:["GOOGLE_VERTEX_PROJECT","GOOGLE_VERTEX_LOCATION","GOOGLE_APPLICATION_CREDENTIALS"]},{id:"alibaba-token-plan",env:["ALIBABA_TOKEN_PLAN_API_KEY"]},{id:"agentrouter",env:["AGENTROUTER_API_KEY"]},{id:"google",env:["GOOGLE_API_KEY","GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"]},{id:"model-oracle-ai",env:["MODEL_ORACLE_API_KEY"]},{id:"deepinfra",env:["DEEPINFRA_API_KEY"]},{id:"meta",env:["META_MODEL_API_KEY"]},{id:"huggingface",env:["HF_TOKEN"]},{id:"impossibl",env:["IMPOSSIBL_API_KEY"]},{id:"jiekou",env:["JIEKOU_API_KEY"]},{id:"longcat",env:["LONGCAT_API_KEY"]},{id:"inception",env:["INCEPTION_API_KEY"]},{id:"openrouter",env:["OPENROUTER_API_KEY"]},{id:"google-vertex-anthropic",env:["GOOGLE_VERTEX_PROJECT","GOOGLE_VERTEX_LOCATION","GOOGLE_APPLICATION_CREDENTIALS"]},{id:"poolside",env:["POOLSIDE_API_KEY"]},{id:"hetzner",env:["HETZNER_API_KEY"]},{id:"regolo-ai",env:["REGOLO_API_KEY"]},{id:"lynkr",env:["LYNKR_API_KEY"]},{id:"lucidquery",env:["LUCIDQUERY_API_KEY"]},{id:"blueclaw",env:["BLUECLAW_API_KEY"]},{id:"standardcompute",env:["STANDARDCOMPUTE_API_KEY"]},{id:"auriko",env:["AURIKO_API_KEY"]},{id:"daoxe",env:["DAOXE_API_KEY"]},{id:"moonshotai",env:["MOONSHOT_API_KEY"]},{id:"crossmodel",env:["CROSSMODEL_API_KEY"]},{id:"kenari",env:["KENARI_API_KEY"]},{id:"clarifai",env:["CLARIFAI_PAT"]},{id:"snowflake-cortex",env:["SNOWFLAKE_ACCOUNT","SNOWFLAKE_CORTEX_PAT"]},{id:"anthropic",env:["ANTHROPIC_API_KEY"]},{id:"cohere",env:["COHERE_API_KEY"]},{id:"zai",env:["ZHIPU_API_KEY"]},{id:"routing-run",env:["ROUTING_RUN_API_KEY"]},{id:"stackit",env:["STACKIT_API_KEY"]},{id:"databricks",env:["DATABRICKS_HOST","DATABRICKS_TOKEN"]},{id:"moark",env:["MOARK_API_KEY"]},{id:"salad-cloud",env:["SALAD_CLOUD_API_KEY"]},{id:"alibaba-cn",env:["DASHSCOPE_API_KEY"]},{id:"kosmik",env:["KOSMIK_API_KEY"]},{id:"minimax-cn-coding-plan",env:["MINIMAX_API_KEY"]},{id:"amazon-bedrock",env:["AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_REGION","AWS_BEARER_TOKEN_BEDROCK"]},{id:"unorouter",env:["UNOROUTER_API_KEY"]},{id:"crusoe",env:["CRUSOE_API_KEY"]},{id:"dinference",env:["DINFERENCE_API_KEY"]},{id:"openai",env:["OPENAI_API_KEY"]},{id:"opencode-go",env:["OPENCODE_API_KEY"]},{id:"opper",env:["OPPER_API_KEY"]},{id:"xai",env:["XAI_API_KEY"]},{id:"stepfun-ai",env:["STEPFUN_API_KEY"]},{id:"lmstudio",env:["LMSTUDIO_API_KEY"]},{id:"ambient",env:["AMBIENT_API_KEY"]},{id:"llmgateway-providers",env:["LLMGATEWAY_API_KEY"]},{id:"vivgrid",env:["VIVGRID_API_KEY"]},{id:"nebius",env:["NEBIUS_API_KEY"]},{id:"echo",env:["ECHO_API_KEY"]},{id:"cloudferro-sherlock",env:["CLOUDFERRO_SHERLOCK_API_KEY"]},{id:"nearai",env:["NEARAI_API_KEY"]},{id:"xiaomi-token-plan-cn",env:["XIAOMI_API_KEY"]},{id:"tinfoil",env:["TINFOIL_API_KEY"]},{id:"zhipuai-coding-plan",env:["ZHIPU_API_KEY"]},{id:"llmtr",env:["LLMTR_API_KEY"]},{id:"merge-gateway",env:["MERGE_GATEWAY_API_KEY"]},{id:"inceptron",env:["INCEPTRON_API_KEY"]},{id:"ovhcloud",env:["OVHCLOUD_API_KEY"]},{id:"aki-io",env:["AKI_IO_API_KEY"]},{id:"stepfun",env:["STEPFUN_API_KEY"]},{id:"llama",env:["LLAMA_API_KEY"]},{id:"cloudflare-ai-gateway",env:["CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","CLOUDFLARE_GATEWAY_ID"]},{id:"drun",env:["DRUN_API_KEY"]},{id:"sarvam",env:["SARVAM_API_KEY"]},{id:"digitalocean",env:["DIGITALOCEAN_ACCESS_TOKEN"]},{id:"alibaba-coding-plan-cn",env:["ALIBABA_CODING_PLAN_API_KEY"]},{id:"neosmith",env:["NEOSMITH_API_KEY"]},{id:"stepfun-ai-step-plan",env:["STEPFUN_API_KEY"]},{id:"fastrouter",env:["FASTROUTER_API_KEY"]},{id:"privatemode-ai",env:["PRIVATEMODE_API_KEY","PRIVATEMODE_ENDPOINT"]},{id:"zeldoc",env:["ZELDOC_API_KEY"]},{id:"lilac",env:["LILAC_API_KEY"]},{id:"io-net",env:["IOINTELLIGENCE_API_KEY"]},{id:"berget",env:["BERGET_API_KEY"]},{id:"xiaomi",env:["XIAOMI_API_KEY"]},{id:"minimax-coding-plan",env:["MINIMAX_API_KEY"]},{id:"zai-coding-plan",env:["ZHIPU_API_KEY"]},{id:"alibaba",env:["DASHSCOPE_API_KEY"]},{id:"sakana",env:["SAKANA_API_KEY"]},{id:"zenmux",env:["ZENMUX_API_KEY"]},{id:"perplexity-agent",env:["PERPLEXITY_API_KEY"]},{id:"alibaba-coding-plan",env:["ALIBABA_CODING_PLAN_API_KEY"]},{id:"ollama-cloud",env:["OLLAMA_API_KEY"]},{id:"perplexity",env:["PERPLEXITY_API_KEY"]},{id:"gmicloud",env:["GMICLOUD_API_KEY"]},{id:"umans-ai",env:["UMANS_AI_API_KEY"]},{id:"sap-ai-core",env:["AICORE_SERVICE_KEY"]},{id:"inference",env:["INFERENCE_API_KEY"]},{id:"arcee",env:["ARCEE_API_KEY"]},{id:"qihang-ai",env:["QIHANG_API_KEY"]},{id:"kuae-cloud-coding-plan",env:["KUAE_API_KEY"]},{id:"submodel",env:["SUBMODEL_INSTAGEN_ACCESS_KEY"]},{id:"scx-ai",env:["SCX_API_KEY"]},{id:"freemodel",env:["FREEMODEL_API_KEY"]},{id:"nova",env:["NOVA_API_KEY"]},{id:"togetherai",env:["TOGETHER_API_KEY"]},{id:"ofox",env:["OFOX_API_KEY"]},{id:"friendli",env:["FRIENDLI_TOKEN"]},{id:"inferx",env:["INFERX_API_KEY"]},{id:"helicone",env:["HELICONE_API_KEY"]},{id:"zhipuai",env:["ZHIPU_API_KEY"]},{id:"neon",env:["NEON_AI_GATEWAY_BASE_URL","NEON_AI_GATEWAY_TOKEN"]},{id:"evroc",env:["EVROC_API_KEY"]},{id:"azure-cognitive-services",env:["AZURE_COGNITIVE_SERVICES_RESOURCE_NAME","AZURE_COGNITIVE_SERVICES_API_KEY"]},{id:"pendra",env:["PENDRA_API_KEY"]},{id:"302ai",env:["302AI_API_KEY"]},{id:"opencode",env:["OPENCODE_API_KEY"]},{id:"requesty",env:["REQUESTY_API_KEY"]},{id:"siliconflow",env:["SILICONFLOW_API_KEY"]},{id:"atomic-chat",env:["ATOMIC_CHAT_API_KEY"]},{id:"hyper",env:["HYPER_API_KEY"]},{id:"subconscious",env:["SUBCONSCIOUS_API_KEY"]},{id:"azure",env:["AZURE_RESOURCE_NAME","AZURE_API_KEY"]},{id:"trustedrouter",env:["TRUSTEDROUTER_API_KEY"]},{id:"scaleway",env:["SCALEWAY_API_KEY"]},{id:"frogbot",env:["FROGBOT_API_KEY"]},{id:"thinkingmachines",env:["TINKER_API_KEY"]},{id:"baseten",env:["BASETEN_API_KEY"]},{id:"siliconflow-cn",env:["SILICONFLOW_CN_API_KEY"]},{id:"minimax-cn",env:["MINIMAX_API_KEY"]},{id:"poe",env:["POE_API_KEY"]},{id:"mistral",env:["MISTRAL_API_KEY"]},{id:"modal",env:["MODAL_PROXY_TOKEN"]},{id:"aihubmix",env:["AIHUBMIX_API_KEY"]},{id:"cline-pass",env:["CLINE_API_KEY"]},{id:"empiriolabs",env:["EMPIRIOLABS_API_KEY"]},{id:"morph",env:["MORPH_API_KEY"]},{id:"tencent-coding-plan",env:["TENCENT_CODING_PLAN_API_KEY"]},{id:"xiaomi-token-plan-ams",env:["XIAOMI_API_KEY"]},{id:"scnet-token-plan",env:["SCNET_API_KEY"]},{id:"anyapi",env:["ANYAPI_API_KEY"]},{id:"cerebras",env:["CEREBRAS_API_KEY"]},{id:"amd",env:["AMD_API_KEY"]},{id:"bailing",env:["BAILING_API_TOKEN"]},{id:"watsonx",env:["WATSONX_AI_APIKEY","WATSONX_AI_PROJECT_ID"]},{id:"vercel",env:["AI_GATEWAY_API_KEY"]},{id:"edenai",env:["EDENAI_API_KEY"]},{id:"novita-ai",env:["NOVITA_API_KEY"]},{id:"upstage",env:["UPSTAGE_API_KEY"]},{id:"llmgateway",env:["LLMGATEWAY_API_KEY"]},{id:"chutes",env:["CHUTES_API_KEY"]},{id:"crof",env:["CROF_API_KEY"]},{id:"v0",env:["V0_API_KEY"]},{id:"groq",env:["GROQ_API_KEY"]},{id:"runinfra",env:["RUNINFRA_GATEWAY_KEY"]},{id:"agnes",env:["AGNES_API_KEY"]},{id:"gitlab",env:["GITLAB_TOKEN"]},{id:"alibaba-token-plan-cn",env:["ALIBABA_TOKEN_PLAN_API_KEY"]},{id:"coralbricks",env:["CORAL_API_KEY"]},{id:"aiand",env:["AIAND_API_KEY"]},{id:"github-copilot",env:["GITHUB_TOKEN"]},{id:"wafer.ai",env:["WAFER_API_KEY"]},{id:"modelis",env:["MODELIS_API_KEY"]},{id:"ebcloud",env:["EBCLOUD_API_KEY"]},{id:"tensorx",env:["TENSORX_API_KEY"]},{id:"tencent-token-plan",env:["TENCENT_TOKEN_PLAN_API_KEY"]},{id:"kilo",env:["KILO_API_KEY"]},{id:"pioneer",env:["PIONEER_API_KEY"]},{id:"venice",env:["VENICE_API_KEY"]},{id:"fireworks-ai",env:["FIREWORKS_API_KEY"]},{id:"moonshotai-cn",env:["MOONSHOT_API_KEY"]},{id:"wandb",env:["WANDB_API_KEY"]},{id:"kimi-for-coding",env:["KIMI_API_KEY"]},{id:"abacus",env:["ABACUS_API_KEY"]},{id:"minimax",env:["MINIMAX_API_KEY"]},{id:"vultr",env:["VULTR_API_KEY"]}];function pi(e){if(!e.released)return null;let t=new Date(e.released).getTime();return Number.isNaN(t)?null:t}function Sk(e){if(e.provider)return e.provider;let t=e.id.indexOf("/");return t===-1?"beeuni":e.id.slice(0,t)}function Hh(e,t){let n=new Map;for(let r of e){let s=t(r),o=n.get(s);o?o.push(r):n.set(s,[r])}return n}function oe(e){let t=e.includes("/")?e.slice(e.indexOf("/")+1):e;return t.startsWith("global.")?2:/^(us|eu|jp|apac|au|ca|sa|us-gov)\./.test(t)?1:0}function Vh(e){return e.reduce((t,n)=>{let r=pi(n)??0,s=pi(t)??0;return r!==s?r>s?n:t:oe(n.id)>oe(t.id)?n:t})}function di(e,t){let n=(t?.now??new Date).getTime(),r=(t?.windowMonths??6)*2630016e3,s=new Set;for(let[,o]of Hh(e,Sk)){let a=[...Hh(o,p=>p.family||p.id).values()].map(Vh),u=a.filter(p=>{let d=pi(p);return d!==null&&Math.abs(n-d)<r});for(let p of u.length>0?u:[Vh(a)])s.add(p.id)}return s}function Xr(e){let t=e.filter(r=>r.status!=="deprecated"&&r.status!=="beta"&&r.tool_call!==!1),n=t.length>0?t:e;return n.some(r=>oe(r.id)>0)?n.filter(r=>oe(r.id)>0):n}function In(e){let t;for(let n of Xr(e)){if(!t){t=n;continue}let r=(n.released??"").localeCompare(t.released??"");(r>0||r===0&&oe(n.id)>oe(t.id))&&(t=n)}return t}var xk={"amazon-bedrock":{methods:[{label:"Bearer token",envVars:["AWS_BEARER_TOKEN_BEDROCK","AWS_REGION"]}]},google:{methods:[{envVars:["GOOGLE_GENERATIVE_AI_API_KEY"]},{envVars:["GOOGLE_API_KEY"]},{envVars:["GEMINI_API_KEY"]}]}};function zh(e){return`${e.toUpperCase().replace(/[^A-Z0-9]+/g,"_")}_API_KEY`}var wk=(()=>{let e=new Map;for(let{id:n,env:r}of li)r.length===1&&e.set(r[0],[...e.get(r[0])??[],n]);let t=new Map;for(let[n,r]of e){if(r.length<2)continue;let s=[...r].sort((o,i)=>o.length-i.length||o.localeCompare(i));t.set(n,r.find(o=>zh(o)===n)??s[0])}return t})();function Yh(e){let t=xk[e.id];if(t)return t;let n=e.env??[],r=n.length===1?wk.get(n[0]):void 0;return r&&r!==e.id?{methods:[{envVars:[zh(e.id)]}]}:{methods:n.length>0?[{envVars:n}]:[]}}function gi(e,t){return e.methods.some(n=>n.envVars.length>0&&n.envVars.every(t))}var vk=["low","medium","high"];function Qh(e){if(!e)return{temperature:!1,topP:!1};let t=e.reasoning_options?.find(a=>a.type==="effort"),n=e.reasoning_options?.find(a=>a.type==="budget_tokens"),r=t?.values?.length?{values:t.values}:n?{values:[...vk]}:void 0,s=e.temperature===!0,o=e.limit?.output,i=typeof o=="number"&&o>0?{ceiling:o}:void 0;return{reasoningEffort:r,temperature:s,topP:s,maxOutputTokens:i}}var Jh=li;var Ak=[{id:"gpt-6-astra",name:"GPT-6 Astra",upstreamModelId:"openai/gpt-6-astra",transport:"openrouter",pricingRef:"openrouter/openai/gpt-6-astra",pricing:{inputPerMillion:10,cachedInputPerMillion:1,cacheWritePerMillion:12.5,outputPerMillion:50,contextOver200k:{contextThreshold:272e3,inputPerMillion:20,cachedInputPerMillion:2,cacheWritePerMillion:25,outputPerMillion:75}},tier:"flagship",vision:!0,limit:{context:105e4,output:128e3},openrouterProvider:{order:["openai"],allow_fallbacks:!0}},{id:"gpt-6-sol",name:"GPT-6 Sol",upstreamModelId:"openai/gpt-6-sol",transport:"openrouter",pricingRef:"openrouter/openai/gpt-6-sol",pricing:{inputPerMillion:2.2,cachedInputPerMillion:.22,cacheWritePerMillion:2.75,outputPerMillion:11,contextOver200k:{contextThreshold:272e3,inputPerMillion:4.4,cachedInputPerMillion:.44,cacheWritePerMillion:5.5,outputPerMillion:16.5}},tier:"balanced",vision:!0,limit:{context:105e4,output:128e3},openrouterProvider:{only:["azure/us"],allow_fallbacks:!1,zdr:!0,data_collection:"deny"}}],OK=new Map(Ak.map(e=>[e.id,e]));var Xh=["gpt-6-astra","gpt-6-sol"],Zh="gpt-6-astra",eb="gpt-6-sol";var nb=Jh.map(e=>({id:e.id,authRequirement:Yh(e)})),Tn=new Set(["beeuni"]),mi=new Set(["beeuni"]);function Mt(e){let t=Array.isArray(e.all)?e.all:[],n=Array.isArray(e.connected)?e.connected:[];if(t.length>0||n.length>0)return{...e,all:t,connected:n};let r=e.providers,s=Array.isArray(r)?r:[];return s.length===0?{...e,all:[],connected:[]}:{...e,all:s,connected:s.map(o=>o.id)}}function kk(e){if(!e)return!1;let t=Mt(e),n=Array.isArray(t.all)?t.all:[],r=Array.isArray(t.connected)?t.connected:[];return r.length===0?!1:n.some(s=>r.includes(s.id)&&s.models&&Object.keys(s.models).length>0)}function Rk(e){let t=Mt(e),n=Array.isArray(t.all)?t.all:[],r=Array.isArray(t.connected)?t.connected:[];return{...t,all:n.filter(s=>!mi.has(s.id)),connected:r.filter(s=>!mi.has(s))}}function Ck(e,t,n){let r=Mt(e),s=Array.isArray(r.all)?r.all:[],o=new Set(s.map(a=>a.id)),i=new Set(Array.isArray(r.connected)?r.connected:[]);for(let a of n)o.has(a.id)&&gi(a.authRequirement,u=>t.has(u))&&i.add(a.id);return o.has("codex")&&(t.has("CODEX_AUTH_JSON")||t.has("OPENCODE_AUTH_JSON"))&&i.add("codex"),{...r,connected:[...i]}}var Ik=new Map(["anthropic","openai","google","x-ai","xai","deepseek","mistral","groq","perplexity","openrouter"].map((e,t)=>[e,t]));function Tk(e){let t=e.reasoning_options??[],n=t.find(r=>r.type==="effort");return n?(n.values??[]).flatMap(r=>r===null?["none"]:typeof r=="string"?[r]:[]):t.some(r=>r.type==="budget_tokens")?["high","max"]:[]}var fi="opencode";function Ek(e){return e.cost?.input===0&&e.cost?.output===0}function tb(e){return e===fi?Number.MAX_SAFE_INTEGER:Ik.get(e)??Number.MAX_SAFE_INTEGER-1}function Mk(e,t){let n=Dk(t),r={},s=(e.providers??[]).map(o=>{let i=(o.models??[]).filter(a=>a.status!=="deprecated");return o.id===fi&&!n.has(fi)?{...o,models:i.filter(Ek),keyless:!0}:{...o,models:i,keyless:!1}}).filter(o=>(o.keyless||n.has(o.id))&&!mi.has(o.id)&&(o.models?.length??0)>0).sort((o,i)=>tb(o.id)-tb(i.id)).map(o=>{let i=[...o.models].sort((u,p)=>(p.released??"").localeCompare(u.released??"")||oe(p.id)-oe(u.id)),a=In(i)?.id??i[0]?.id;return a&&(r[o.id]=a),{id:o.id,name:o.name,source:o.keyless?"api":"env",models:Object.fromEntries(i.map(u=>{let p=Tk(u);return[u.id,{id:u.id,name:u.name,...u.released?{release_date:u.released}:{},...u.family?{family:u.family}:{},...u.reasoning!==void 0?{reasoning:u.reasoning}:{},...u.reasoning_options?{reasoning_options:u.reasoning_options}:{},...u.tool_call!==void 0?{tool_call:u.tool_call}:{},...u.attachment!==void 0?{attachment:u.attachment}:{},...u.modalities?{modalities:u.modalities}:{},...u.limit?{limit:u.limit}:{},...u.cost?{cost:u.cost}:{},...u.description?{description:u.description}:{},...u.open_weights!==void 0?{open_weights:u.open_weights}:{},...u.last_updated?{last_updated:u.last_updated}:{},...p.length>0?{variants:Object.fromEntries(p.map(d=>[d,{}]))}:{}}]}))}});return{all:s,connected:s.map(o=>o.id),default:r}}function Ok(e,t){if(!e)return t;if(!t)return e;let n=Mt(e),r=Mt(t),s=new Map;for(let d of Array.isArray(r.all)?r.all:[])s.set(d.id,d);let o=[],i=new Set;for(let d of Array.isArray(n.all)?n.all:[])o.push(s.get(d.id)??d),i.add(d.id);for(let d of Array.isArray(r.all)?r.all:[])i.has(d.id)||(o.push(d),i.add(d.id));let a=[],u=new Set;for(let d of[...Array.isArray(n.connected)?n.connected:[],...Array.isArray(r.connected)?r.connected:[]])u.has(d)||(a.push(d),u.add(d));let p={...r.default??{}};for(let[d,g]of Object.entries(n.default??{})){let m=s.get(d);(!m||m.models&&g in m.models)&&(p[d]=g)}return{...r,all:o,connected:a,default:p}}function Dk(e){let t=new Set;for(let n of nb)gi(n.authRequirement,r=>e.has(r))&&t.add(n.id);return(e.has("CODEX_AUTH_JSON")||e.has("OPENCODE_AUTH_JSON"))&&t.add("codex"),t}function jk(e){let t=Object.fromEntries(Object.entries(e.models??{}).filter(([r])=>r!=="auto"&&r!=="beeuni/auto").map(([r,s])=>{if(s.variants&&Object.keys(s.variants).length>0)return[r,s];let o=Qh({id:r,name:s.name,reasoning:s.reasoning,reasoning_options:s.reasoning_options}).reasoningEffort?.values;return o?.length?[r,{...s,variants:Object.fromEntries(o.map(i=>[i,{}]))}]:[r,s]})),n=Object.keys(t)[0];return{default:n?{beeuni:n}:{},connected:["beeuni"],all:[{id:"beeuni",name:"Beeuni",source:"gateway",models:t}]}}function $k(e,t){return Rk(Ck(Mt(e),t,nb))}function Uk(e){if(e.gatewayEnabled)return e.modelPicker?jk(e.modelPicker):void 0;let t=e.secretNames??new Set,n=e.runtimeProviders?$k(e.runtimeProviders,t):void 0;return Ok(e.llmCatalogProviders?Mk(e.llmCatalogProviders,t):void 0,kk(n)?n:void 0)}function Fk(e){return"capabilities"in e&&e.capabilities!=null}function yi(e,t){let n=e.find(r=>r.providerID===t.providerID&&r.modelID===t.modelID);return!!n&&n.enabled!==!1}function Lk(e,t){if(!e)return[];let n=t?.providerMode??"gateway",r=Array.isArray(e.all)?e.all:[],s=Array.isArray(e.connected)?e.connected:[],o=[];for(let i of r)if(s.includes(i.id)&&!(n==="gateway"?!Tn.has(i.id):Tn.has(i.id)))for(let[a,u]of Object.entries(i.models)){if(a==="auto"||a==="beeuni/auto")continue;let p;if(Fk(u)){let d=u.capabilities;p={reasoning:d.reasoning??!1,vision:d.input?d.input.image??!1:void 0,toolcall:d.toolcall??!1}}else{let d=u.modalities?.input;p={reasoning:u.reasoning??!1,vision:d?d.includes("image"):u.attachment,toolcall:u.tool_call??!1}}o.push({id:Kh({providerID:i.id,modelID:a}),providerID:i.id,providerName:u.provider_name??i.name,modelID:a,modelName:(u.name||a).replace("(latest)","").trim(),variants:u.variants,capabilities:p,contextWindow:u.limit?.context,releaseDate:u.release_date,family:u.family,cost:u.cost?{input:u.cost.input??0,output:u.cost.output??0}:void 0,providerSource:i.source,provider:u.provider,reasoningOptions:u.reasoning_options,description:u.description,openWeights:u.open_weights,lastUpdated:u.last_updated,enabled:u.enabled,free:u.free===!0})}return o}function rb(e){return new Map(e.map(t=>[`${t.providerID}:${t.modelID}`,t]))}var Bk=new Set([Zh]),Nk="beeuni",sb="codex",qk=new Set(Xh);function Gk(e,t){if(t)return t;let n=e.indexOf("/");return n===-1?e:e.slice(0,n)}function Ot(e){return Bk.has(e.modelID)}function Wk(e){return di(e.map(t=>({id:`${t.providerID}:${t.modelID}`,released:t.releaseDate,family:t.family,provider:t.provider??t.providerID})))}function Kk(e){let{connectedProviderIds:t}=e,n=e.freeTier??!1,r=Wk(e.catalogModels),s=rb(e.catalogModels),o=new Map;for(let i of e.pins??[])o.set(`${i.providerID}:${i.modelID}`,i.visibility);return i=>{let a=`${i.providerID}:${i.modelID}`,u=o.get(a);if(u==="hide")return!1;if(i.providerID===Nk){let d=Gk(i.modelID,i.provider),g=d===sb?t?.has(sb)??!1:t?.has(d)??!1;if(qk.has(i.modelID))return!n||i.modelID===eb;if(!g)return!1;if(u==="show"||r.has(a))return!0;let m=s.get(a);if(!m?.releaseDate)return Ot(i);try{let f=new Date(m.releaseDate);if(Number.isNaN(f.getTime()))return Ot(i)}catch{return Ot(i)}return!1}if(u==="show"||r.has(a))return!0;let p=s.get(a);if(!p?.releaseDate)return Ot(i);try{let d=new Date(p.releaseDate);if(Number.isNaN(d.getTime()))return Ot(i)}catch{return Ot(i)}return!1}}function Hk(e,t){return t.search.trim().length>0||e.providerID==="beeuni"||t.selected&&t.selected.providerID===e.providerID&&t.selected.modelID===e.modelID?!0:t.isStoreVisible({providerID:e.providerID,modelID:e.modelID})}function ob(e,t){if(!e||Tn.has(e.providerID)||oe(e.modelID)>0)return e;let n=t.filter(i=>i.providerID===e.providerID&&i.enabled!==!1);if(!n.some(i=>oe(i.modelID)>0))return e;let r=i=>oe(i)===1&&i.slice(i.indexOf(".")+1)===e.modelID,o=(n.find(i=>i.modelID===`global.${e.modelID}`)??n.find(i=>r(i.modelID)))?.modelID??In(n.map(i=>({id:i.modelID,released:i.releaseDate})))?.id;return!o||o===e.modelID?e:{...e,modelID:o}}function Vk(e,t){let n=(t?e?.agentDefaults?.[t]:void 0)??e?.projectDefault??e?.accountDefault??e?.platformDefault;return n?ui(n):void 0}function zk(e){let{models:t,providers:n}=e,r=u=>yi(t,u),s=u=>u.find(p=>!!p&&r(p)),o=(()=>{if(e.configModel){let u=e.configModel.split("/");if(u.length>=2){let[p,...d]=u,g=d.join("/");if(r({providerID:p,modelID:g}))return{providerID:p,modelID:g}}}for(let u of e.recent??[])if(r(u))return u;if(n){let u=n.default||{},p=Array.isArray(n.all)?n.all:[],d=Array.isArray(n.connected)?n.connected:[],g=p.filter(m=>d.includes(m.id));for(let m of g){let f=u[m.id];if(f){let h={providerID:m.id,modelID:f};if(r(h))return h}for(let h of Xr(Object.keys(m.models).map(x=>({id:x})))){let x={providerID:m.id,modelID:h.id};if(r(x))return x}}}})(),i=s(e.picks??[]),a=i??s([e.serverDefault,e.globalDefault,e.agentModel,o]);return{model:ob(a,t),explicit:i,fallback:o}}export{nA as ABORT_REASONS,Pq as ABORT_REASONS_NOT_YET_EMITTED,Ei as ACCOUNTS_LIST_UNAVAILABLE_CODE,Hr as ACTIVE_INSTANCE_COOKIE,Ti as ANALYTICS_UNAVAILABLE_CODE,wA as ATTACHMENT_PART_REF_PREFIX,b as ApiError,J as AuthError,w$ as BEEUNI_TRANSCRIPT_SCHEMA,it as BeeuniMemberError,Ke as BillingError,jA as CONNECTION_FAULT_GRACE_MS,_A as CONNECTOR_POLL_FIRST_DELAY_MS,PA as CONNECTOR_POLL_INTERVAL_MS,SA as CONNECTOR_POLL_WINDOW_MS,Ox as CONTEXT_TOOLS,ah as COST_MARKUP,As as ConnectorApprovalPendingError,Qn as ConnectorCallError,ks as ConnectorPageLimitError,Dx as DEFAULT_CONTEXT_TOOL_TRIGGER_LABELS,ND as DEFAULT_NOTIFICATION_PREFERENCES,iy as DEFAULT_TRANSCRIPT_OPTIONS,fA as DESTRUCTIVE_PHASES,ss as FEATURE_DISABLED_CODE,FR as FEATURE_FLAG_KEYS,Ri as FEATURE_NOT_SUPPORTED_CODE,st as FILE_VERBS,cn as FileExistsError,zt as HeadlessAuthError,zr as HostBoundaryError,hb as IMPERSONATION_HEADER,BD as INBOX_NOTIFICATION_KINDS,ni as INBOX_OBSERVATION_MAX_MS,oW as INITIAL_SETTLED_CONNECTION,rA as INSTANCE_SCOPED_ROUTES,Xb as MAX_PROMPT_ATTACHMENTS_BYTES,Cs as MAX_PROMPT_ATTACHMENT_BYTES,Pu as MAX_PROMPT_ATTACHMENT_FILES,ZN as MEMORY_VERBS,Ci as MODEL_NOT_SERVABLE_CODE,Y_ as NO_GROUP_ACTIVITY_TOOLS,ri as OPTIMISTIC_ABORT_MAX_MS,CW as OPTIMISTIC_COMPACTION_MAX_MS,ei as OPTIMISTIC_RECEIPT_MAX_MS,R1 as PERSISTED_QUERY_CACHE_VERSION,kw as PLUMBING_TOOLS,V1 as PREVIEW_PROBE_TIMEOUT_MS,LI as PROJECT_SESSION_NAME_LOOKUP_LIMIT,FI as PROJECT_SESSION_PAGE_DEFAULT_LIMIT,S_ as PROJECT_SESSION_PAGE_MAX_LIMIT,Ii as PROVISION_IN_FLIGHT_CODE,Fs as PublicSessionShareError,Oq as RUNTIME_NOT_READY_MARKERS,k$ as RUNTIME_PERMISSION_CAPABILITIES,A$ as RUNTIME_PERMISSION_REPLIES,lt as RequestTooLargeError,nn as RuntimeNotReadyError,Ro as SANDBOX_FS_ROOTS,$e as SANDBOX_PORTS,qA as SERVER_COMPACTION_REVALIDATE_MS,ti as SERVER_OBSERVATION_MAX_MS,NW as SESSION_LIST_STATUS,WW as SESSION_NOTICE,Q_ as STANDALONE_TOOLS,Rn as STREAM_OBSERVATION_MAX_MS,Vr as SandboxNotReadyError,Pt as SessionNotReadyError,Ms as SessionStartError,hW as TURN_END_LEDGER_LAG_MS,xP as TURN_ERROR_CODES,jW as WAKE_ESCALATION_COOLDOWN_MS,DW as WAKE_MAX_RESTARTS,OW as WAKE_NO_PROGRESS_MS,_o as WIRE_ID_BACKDATE_MS,Ze as WIRE_ID_CLOCK_TOLERANCE,Fe as WIRE_ID_TIME_MASK,Zt as WIRE_ID_TIME_SCALE,hP as WIRE_MESSAGE_ID,Qk as __getConfigResolver,Yk as __setConfigResolver,Sq as abortErrorReason,ta as acceptAccountInvite,pG as acceptInvite,Dd as actReviewItem,Cc as activateConnection,Ec as addComputerToProject,ad as addGroupMembers,bg as addMarketplaceSource,UW as advanceWakeEscalation,_w as allDescendantIds,Ih as appendPreviewToken,Da as approveProjectAccessRequest,e0 as approveTask,zn as archiveProject,c0 as assignTicket,Wa as attachGroupToProject,go as authMfa,uo as authUser,M as authenticatedFetch,Xn as authenticatedRequest,K1 as authorizePreviewUrl,c as backendApi,uk as beeuniAppViewerToken,pk as beeuniBinding,IP as beeuniPty,Lh as beeuniToken,HT as bindSlackIdentity,VT as bindTeamsIdentity,nc as brokerProjectSecretRequest,T1 as browserKeyValueStorage,oA as buildInstancePath,X1 as buildPresentationTemplateImageUrl,J1 as buildPresentationTemplatePdfUrl,Ch as buildPreviewAuthEndpoint,d1 as buildPublicTemplateUrl,DA as buildRuntimePresentationConversionUrl,du as buildSandboxTemplate,Ew as buildScrapeFailureResults,qU as buildStaticFileHealthPreviewUrl,NU as buildStaticFileLocalUrl,BU as buildStaticFilePreviewUrl,FS as buildStaticFileServicePath,bK as buildTunnelEventStreamUrl,VU as buildWebProxyUrl,jd as bulkActReviewItems,ME as bulkDeletePolicies,OE as bulkImportPolicies,PB as burstSummary,SB as burstSummaryLabel,mt as callConnector,nO as cancelAccountDeletion,Ji as cancelAccountInvite,Zq as cancelSandbox,TG as cancelSandboxUpdate,dp as cancelScheduledChange,up as cancelSubscription,zG as checkAccessEmail,rB as childMapByParent,UG as claimComputer,JS as claimNext,OT as claimPerSeatBilling,ol as claimWarmProjectSession,Dy as classifyPart,MA as classifyPreviewProbeStatus,AP as classifyPtyClose,fw as classifyTurn,lB as cleanErrorMessage,CB as cleanResultSnippet,WN as cleanWorkerOutput,ak as clearBeeuniAppViewerCache,Oi as clearImpersonationSession,Kl as clearModelDefault,kI as clearSessionFresh,Fu as closeChangeRequest,$0 as closeMilestone,ZL as collectTurnParts,l0 as commentTicket,Nu as commitSessionChanges,TW as compactionExpiryAtMs,wB as compactionTurnInfo,JL as compareMessagesForDisplay,XS as completeInFlight,kp as completeSlackInstall,Rp as completeTeamsInstall,Wh as composerSelectableAgents,ih as computeStatusFromPart,yp as configureAutoTopup,ts as configureBeeuni,ap as confirmCheckoutSession,Dp as connectEmail,wp as connectSlack,sW as connectionFromHealth,rW as connectionIsFaulted,IC as connectionSharedWithEveryone,Hb as connectorConnect,Vb as connectorFinalize,b1 as connectorHeadline,qB as contextLabelForTool,gL as contextToolSummary,mL as contextToolTrigger,PO as convertPresentationToGoogleSlides,Z1 as convertRuntimePresentation,Rr as copyFile,bp as costExportUrl,_W as countLiveInboxPrompts,kO as countReviewItemsBySegment,Bi as createAccount,ag as createAccountAuditWebhook,pc as createAccountSecretResource,Qd as createAccountToken,Sg as createApp,Ig as createAppAccessSession,Eg as createAppDeployment,vg as createAppToken,Vg as createAppVolume,Jg as createAppVolumeSnapshot,GB as createArtifactKind,Rd as createAssignment,EM as createAuditWebhook,fG as createBackup,VS as createBeeuni,sf as createBeeuniPty,fo as createBeeuniSession,ip as createCheckoutSession,Kc as createConnector,f1 as createConnectorLinkInfoCache,kr as createFile,Xp as createGatewayKey,rd as createGroup,nk as createHttpSessionSyncController,DG as createInstance,nD as createMarketplaceInstallSession,D0 as createMilestone,Kk as createModelVisibility,xd as createOAuthClient,MT as createPerSeatCheckout,I1 as createPersistedQueryCache,IE as createPolicy,cp as createPortalSession,da as createProject,P0 as createProjectAgent,tg as createProjectCliToken,ga as createProjectRepo,za as createProjectResourceGrant,ht as createProjectSession,_a as createProjectSkill,Cl as createProjectTrigger,Yf as createPromptAttachmentController,md as createRole,_K as createSSEStream,Hq as createSandbox,Ld as createSandboxShare,uu as createSandboxTemplate,CI as createSavedCopyStore,GE as createScimToken,wM as createServiceAccountApi,ir as createSessionPrompt,nl as createSessionPublicShare,YS as createSessionQueue,Wd as createSessionReminder,cM as createSsoGroupMapping,J$ as createTask,o0 as createTicket,PK as createTunnelEventStream,Hu as currentSavedCopyStore,na as declineAccountInvite,dG as declineInvite,rO as deleteAccountImmediately,mc as deleteAccountSecretResource,wg as deleteApp,Ug as deleteAppDeployment,OM as deleteAuditWebhook,hG as deleteBackup,I0 as deleteBeeuniProject,Vc as deleteConnector,Zc as deleteConnectorCredential,G0 as deleteCredential,OD as deleteDriveFile,nf as deleteEnv,kt as deleteFile,Qp as deleteGatewayBudget,Ta as deleteGitHubInstallation,od as deleteGroup,jG as deleteInstance,F0 as deleteMilestone,Ad as deleteOAuthClient,cc as deletePersonalProjectSecret,EE as deletePolicy,x0 as deleteProjectAgent,sc as deleteProjectProviderOAuth,Ya as deleteProjectResourceGrant,ic as deleteProjectSecret,hl as deleteProjectSession,Tl as deleteProjectTrigger,qt as deletePromptAttachment,hd as deleteRole,pu as deleteSandboxTemplate,AM as deleteServiceAccountApi,pl as deleteSessionPrompt,Bs as deleteSessionReminder,Vd as deleteSessionReminders,uM as deleteSsoGroupMapping,iM as deleteSsoProvider,t0 as deleteTask,p0 as deleteTicket,gm as deleteUserProviderConnection,ea as describeAccountInvite,Ps as describeConnectorTool,Gg as destroyAppMachine,Yg as destroyAppVolume,Ha as detachGroupFromProject,DS as detectLocalhostUrls,VW as directSubsessions,vM as disableServiceAccountApi,jp as disconnectEmail,A1 as disconnectGitHubApp,Ip as disconnectSlack,OC as discoverConnectionOAuth2,DC as discoverConnectionOAuth2Resource,Hc as discoverConnectorAuth,Qq as discoverLocalSandbox,kD as dismissDriveConflict,l1 as downloadAccountAudit,CD as downloadDriveFile,rU as dropClientForUrl,iU as dropPublicClientForUrl,nx as editQueued,dl as editSessionPrompt,QS as enqueue,b0 as ensurePmSession,EA as ensurePreviewSessionCookie,TC as ensureProjectConnectorConnection,mA as ensureSandbox,sl as ensureWarmProjectSession,wP as env,io as exchangeCode,Kg as execInApp,og as exportAccountAudit,he as extractGatewayErrorDetails,vn as extractInstanceRoute,Av as extractSkillBaseDir,mq as extractSkillContent,xv as extractSkillFiles,HN as extractWorkerPreview,ZS as failInFlight,fN as fallbackBusyRowAfterTurnId,Ko as familyForTool,Si as featureDisabledKey,Am as featureFlags,IT as fetchAccountStateWithToken,OR as fetchAccountsWithToken,D1 as fetchAttachmentPart,Fh as fetchBeeuniAppViewer,qT as fetchCostExportCsv,bu as fetchProjectArchive,dI as fetchProjectFileRaw,HR as fetchProjectsForAccountWithToken,wm as fetchSessionAttachment,aS as fileDownloadRequest,QN as filePhase,YN as fileVerb,_S as files,Ws as finalizeAppArtifact,t1 as finalizeConnectorSetupLink,NI as findActiveTranscriptShare,vr as findFiles,eB as findLastTextPart,gj as findSessionAttachments,Ar as findText,Ml as fireProjectTrigger,cu as fixSandboxWithAgent,Lk as flattenModels,JB as flattenThought,Zg as forkAppVolume,wi as formatBillingErrorForUI,UN as formatCost,DN as formatDuration,pB as formatJsonFailureOutput,eN as formatMessageDay,tN as formatMessageExact,jq as formatOpenCodeRuntimeError,RB as formatRawOutput,gA as formatRuntimeError,FN as formatTokens,ux as formatTranscript,_N as freshSendHint,zS as generateSessionId,Ni as getAccount,Gi as getAccountBranding,eO as getAccountDeletionStatus,Zl as getAccountState,ep as getAccountStateMinimal,aA as getActiveInstanceIdFromCookie,fO as getAdminBootModes,pO as getAdminProviderAnalytics,cO as getAdminProviderDistribution,gO as getAdminProviderFallback,sO as getAdminRole,qx as getAgentCardLabel,ST as getAgentConfig,w0 as getAgentPersona,RG as getAllVersions,nB as getAnsweredQuestionParts,qs as getApp,kg as getAppAccess,Ag as getAppAuthEnv,Og as getAppDeployment,Dg as getAppDeploymentLogs,XO as getApprovalLink,Ft as getAuthToken,xC as getAuthTokenWithRetry,fp as getAutoTopupSettings,ET as getAutoTopupSetupStatus,k0 as getBeeuniProject,R0 as getBeeuniProjectBySession,cf as getBeeuniPtyWebSocketUrl,rp as getBillingCreditBreakdown,op as getBillingTierConfigurations,np as getBillingTransactionsSummary,sp as getBillingUsageHistory,Ou as getChangeRequest,Du as getChangeRequestDiff,ju as getChangeRequestMergePreview,IL as getChildSessionError,Ty as getChildSessionId,TL as getChildSessionToolParts,et as getClient,Ie as getClientForUrl,Jc as getConnectStatus,MC as getConnectionOAuth2Application,LC as getConnectionOAuth2Status,BC as getConnectionPolicies,Lt as getConnectorCatalog,qc as getConnectorConfig,Bc as getConnectorPolicies,ZG as getConnectorSetupLink,NT as getCostSummary,iA as getCurrentInstanceIdFromPathname,Aq as getCurrentInstanceIdFromWindow,Af as getCurrentProject,Ql as getDefaultAccountState,OL as getDiagnostics,Nx as getDirectory,vs as getDiscoverConnector,HC as getDiscoverIntegration,em as getDriveFileUrl,Mp as getEmailInstallation,Op as getEmailMode,NM as getEnterpriseDemo,wr as getFileStatus,Cy as getFileWithDir,Bx as getFilename,SD as getFolderAccess,yA as getFullChangelog,Kp as getGatewayBreakdown,zp as getGatewayBudgets,Vp as getGatewayErrors,Jp as getGatewayKeys,qp as getGatewayLog,Gp as getGatewayOverview,Up as getGatewayRoutingPolicy,Wp as getGatewaySeries,Hp as getGatewaySessions,S1 as getGitHubAppStatus,xa as getGitHubInstallation,_O as getGoogleAuthUrl,nd as getGroup,RL as getHiddenToolParts,Pb as getImpersonationSession,lG as getInvite,OG as getJustavpsServerTypes,kG as getLatestSandboxVersion,i1 as getMaintenanceConfig,Ea as getManagedGitBackend,qR as getManagedGitStatus,fg as getMarketplaceCatalogItem,yg as getMarketplaceCatalogItemFile,zE as getMfaRequired,M0 as getMilestone,Gl as getModelDefaults,om as getNotificationPreferences,Sd as getOAuthClient,JG as getOAuthConsentRequest,Eq as getOpenCodeConfigInvalidError,vL as getPartText,hM as getPatPolicy,DL as getPermissionForTool,Gn as getProject,v0 as getProjectActivity,Cu as getProjectCommit,Iu as getProjectCommitDiff,Wn as getProjectDetail,PD as getProjectDrive,Tu as getProjectFileHistory,pa as getProjectGitToken,Kn as getProjectLlmCatalog,BR as getProjectLlmCatalogProviders,mr as getProjectModelAccess,Hn as getProjectModelPicker,Jn as getProjectSandboxHealth,GR as getProjectSandboxProviderTransition,or as getProjectSession,bl as getProjectSessionConfigState,Sl as getProjectSessionScope,JD as getProjectStarterSuggestions,gp as getProrationPreview,Wq as getProviders,GU as getProxyBaseUrl,oU as getPublicClientForUrl,HG as getPublicMarketplaceItem,VG as getPublicMarketplaceItemFile,DO as getPublicSessionShare,jO as getPublicSessionShareMessages,s1 as getPublicShareByToken,g1 as getPublicTemplate,jL as getQuestionForTool,sE as getReferralCode,aE as getReferralStats,LN as getRetryInfo,BN as getRetryMessage,Md as getReviewItem,dd as getRolePermissions,gd as getRoleUsage,Qo as getRuntimeConfigInvalidError,PG as getSSHConnection,Kq as getSandbox,Vq as getSandboxById,Lq as getSandboxPortUrl,FG as getSandboxProvisionStatus,LG as getSandboxProvisionStreamUrl,AG as getSandboxUpdateStatus,Ph as getSandboxUrl,ze as getSandboxUrlForExternalId,n1 as getSecretSetupLink,Co as getServerHealth,H0 as getServiceLogs,il as getSessionAudit,$N as getSessionCost,dr as getSessionCostRecord,V_ as getSessionDrives,Mf as getSessionHealth,Al as getSessionMessageAuthors,kl as getSessionModelUsage,qI as getSessionOpenBundle,JE as getSessionOversight,Ju as getSessionParticipants,gM as getSessionPolicy,el as getSessionPreviewCandidates,bc as getSessionProviderSecretPool,al as getSessionTranscript,cl as getSessionTranscriptSync,ul as getSessionTurn,Xu as getSessionWatch,wN as getShellModePart,Tp as getSlackChannelFile,xp as getSlackInstallation,Cp as getSlackManifest,vp as getSlackMode,nM as getSsoProvider,LS as getStaticFileHealthPath,hs as getSupabaseAccessToken,Nb as getSupabaseAccessTokenWithRetry,z$ as getTask,Q$ as getTaskStatus,oD as getTemplate,r0 as getTicket,EL as getToolInfo,Uo as getToolPrimaryArg,lx as getTranscriptFilename,jN as getTurnCost,TN as getTurnError,MN as getTurnErrorDetails,EN as getTurnErrorRawText,ON as getTurnStatus,hp as getUsageRollup,c1 as getUserRolesWithToken,Eu as getVersionDiff,am as getWebPushPublicKey,CN as getWorkingState,fc as grantAccountSecretResource,iG as grantSandboxProjectAccess,wT as grantSecretToAgent,XL as groupMessagesIntoTurns,uN as groupShowSegments,Xy as groupSteps,NN as hasDiffs,LU as hasLocalhostUrls,US as hasPreviewTarget,iB as hasRetryingAssistantTurn,DP as heartbeatGapEvent,fl as holdSessionPrompts,Ud as humanizeReviewActionPath,jr as humanizeSearchQuery,My as humanizeToolName,Di as impersonationHeaders,sM as importSsoProviderFromMetadata,bW as inboxObservationSupersedes,Dh as initialWakeEscalationState,Ne as inputPath,iD as installTemplate,gl as interruptSessionPrompt,bs as invalidateTokenCache,Yi as inviteAccountMember,La as inviteProjectMember,ua as inviteRepoCollaborator,Kr as isAbortError,vb as isAdminBypassEnabled,_L as isAgentPart,ES as isAppRouteUrl,AL as isAttachment,vA as isAttachmentPartRef,jt as isAuthFailure,xi as isBillingError,PL as isCompactionPart,ns as isConfigured,dL as isContextTool,vG as isDestructivePhase,ik as isEmptyConversation,Vs as isEmptyShowPart,uB as isErrorOutput,QU as isExternalUrl,Pi as isFeatureDisabledError,Iy as isFilePart,bb as isImpersonationSessionLive,wq as isInstanceDetailPath,sA as isInstanceScopedAppPath,HU as isInternalLocalhostUrl,Pm as isInvisibleActivityPart,aC as isInviteSent,RN as isLastUserMessage,HA as isLegacyMigratedSession,LR as isManagedGithubProject,_m as isNoGroupActivityTool,yi as isOfferedModel,Mq as isOpenCodeConfigInvalidError,Wu as isPaintableSavedCopy,xL as isPatchPart,C1 as isPersistableQueryKey,KU as isPreviewUrl,BS as isProxiableLocalhostUrl,rj as isQuestionTool,Me as isReasoningPart,Pw as isRetryableTurnError,cA as isRuntimeConfigInvalidError,pA as isRuntimeNotReadyResponse,Ef as isRuntimeReady,Dq as isRuntimeStartingError,kn as isSandboxNotReadyError,Xs as isSelectableAgent,kf as isServerReachable,dj as isSessionAttachmentRef,Gu as isSessionFresh,rT as isSessionStartError,nj as isShellActivityTool,Pv as isShellMode,KN as isShortOutput,ZD as isShowContentUnavailable,yr as isShowPayloadEmpty,SL as isSnapshotPart,Sm as isStandaloneActivityTool,wL as isStepPart,Yr as isSubdomainPreviewUrl,Ee as isTextPart,X as isToolPart,CL as isToolPartHidden,v$ as isTurnErrorCode,hf as isUnderSandboxRoot,YU as isWebProxyUrl,_P as isWireIdAheadOf,oa as leaveAccount,Ca as linkGitHubInstallation,Pa as linkRepository,rg as listAccountAudit,ig as listAccountAuditWebhooks,Qi as listAccountInvites,zi as listAccountMembers,wE as listAccountResourceGrants,lc as listAccountSecretResources,fM as listAccountSessions,Yd as listAccountTokens,Li as listAccounts,UE as listActions,uO as listAdminSandboxes,ld as listAgentIdentities,wc as listAllConnections,Rg as listAppAgents,Mg as listAppDeployments,Lg as listAppMachines,Qg as listAppVolumeSnapshots,Hg as listAppVolumes,Pg as listApps,kd as listAssignments,DM as listAuditEvents,TM as listAuditWebhooks,mG as listBackups,C0 as listBeeuniProjectSessions,A0 as listBeeuniProjects,rf as listBeeuniPty,tp as listBillingTransactions,Mu as listChangeRequests,QT as listChannelBindings,d0 as listColumns,WC as listConnectSections,GC as listConnectToolkits,xc as listConnections,Ss as listConnectorAccounts,_s as listConnectorTools,jc as listConnectors,BT as listCostByProject,B0 as listCredentialEvents,L0 as listCredentials,ws as listDiscoverConnectors,KC as listDiscoverIntegrations,Qc as listDiscoverSections,AD as listDriveConflicts,RD as listDriveFiles,K_ as listDriveFolder,DD as listDriveVersions,ef as listEnv,mg as listFeaturedMarketplaces,m0 as listFields,ln as listFiles,vD as listFolderPrincipals,Np as listGatewayLogs,wa as listGitHubInstallations,Aa as listGitHubRepositories,ka as listGitHubRepositoryBranches,id as listGroupMembers,yE as listGroupProjectGrants,td as listGroups,va as listLinkableGitHubInstallations,Ma as listManagedGitRepositories,dg as listMarketplaceCatalogItems,hg as listMarketplaceSources,gg as listMarketplaces,hE as listMemberGroups,bE as listMemberProjectAccess,O0 as listMilestoneEvents,E0 as listMilestones,Zi as listMyAccountInvites,rm as listNotifications,Pd as listOAuthClients,Xd as listOAuthGrants,Qa as listPendingApprovals,Ba as listPendingProjectInvites,Id as listPermissions,zc as listPipedreamApps,Yc as listPipedreamSections,CE as listPolicies,$a as listProjectAccess,Oa as listProjectAccessRequests,pd as listProjectAgentIdentities,_0 as listProjectAgents,sg as listProjectAudit,ku as listProjectBranches,eg as listProjectCliTokens,Ru as listProjectCommits,fu as listProjectDirectory,mu as listProjectFiles,Ga as listProjectGroupGrants,ym as listProjectPersonalProviders,ru as listProjectPolicies,rc as listProjectProviderOAuth,zd as listProjectReminders,Va as listProjectResourceGrants,ou as listProjectSandboxTemplates,gu as listProjectSandboxes,Za as listProjectSecrets,yt as listProjectSessions,Yu as listProjectSessionsPage,iu as listProjectSnapshots,Dl as listProjectTriggerEventApps,Ol as listProjectTriggerEventTypes,Rl as listProjectTriggers,dt as listProjects,ca as listProjectsForAccount,WG as listPublicMarketplaceItems,KG as listPublicMarketplaces,cE as listReferrals,Ed as listReviewItems,ud as listRoles,oG as listSandboxProjectMembers,Fd as listSandboxShares,Yq as listSandboxes,qE as listScimTokens,xM as listServiceAccountsApi,K0 as listServiceTemplates,W0 as listServices,qC as listSessionConnectRequests,_p as listSessionCosts,$D as listSessionDrives,ll as listSessionPrompts,_c as listSessionProviderSecretPools,tl as listSessionPublicShares,Gd as listSessionReminders,Ja as listSessionsNeedingInput,qO as listSignedInDevices,aM as listSsoGroupMappings,Y$ as listTaskEvents,V$ as listTasks,y0 as listTemplates,s0 as listTicketEvents,n0 as listTickets,pm as listUserProviderConnections,tk as loadHttpSessionHistory,Je as loadPreviewUrlTemplate,Ny as looksLikeError,jB as looksLikeHtml,kB as looksLikeJsonPayload,ED as makeDriveFolder,CO as mapApiReviewItem,$G as markInstanceError,sm as markNotificationsRead,rr as markSessionFresh,Ym as maxWireIdClock,eq as memoryRelPath,QB as mergeBurstSteps,Uu as mergeChangeRequest,ZB as messageCreatedAt,lv as messageTime,dO as migrateAdminSandboxProvider,Po as mintWireMessageId,Jm as mintWireMessageIdAbove,mn as mkdir,Hk as modelInDefaultView,_k as modelRefToKey,MD as moveDriveFile,Qy as narrateFailedStep,Yy as narrateStep,qr as narrationToolName,jP as narrowChatEvent,PP as newestWireIdClock,h1 as nextConnectorPollDelay,pe as normalizeActivityToolName,Cq as normalizeAppPathname,JU as normalizeExternalInput,z as normalizeName,Ey as normalizeToolName,YA as notifyHostSignal,$u as openChangeRequest,vo as openEventStream,p1 as openStressTestStream,nu as paginateConnector,jn as parseBillingError,IB as parseEmbeddedFailure,bj as parseFlagOverride,Aw as parseJsonFailure,Er as parseLocalhostUrl,tq as parseMemoryView,Tq as parseOpenCodeErrorPayload,iq as parsePresentationOutput,Tf as parseProxyHop,cq as parseQuestionAnswersFromOutput,pq as parseReadOutput,_h as parseRuntimeErrorPayload,Tw as parseScrapeInputUrls,Mw as parseScrapeOutput,Nf as parseSubdomainUrl,VN as parseTaskRows,zU as parseWebProxyUrl,Ky as parseWebSearchOutput,qy as partOutcome,T0 as patchBeeuniProject,sq as patchVerb,Uk as pickerProviderList,Wc as pipedreamConnect,Oc as pipedreamConnectConnection,eu as pipedreamFinalize,Dc as pipedreamFinalizeConnection,k as platformConfig,FC as pollConnectionOAuth2DeviceAuthorization,fs as pollProjectProviderOAuth,fm as pollUserProviderOAuth,Bp as previewGatewayRoute,YE as previewMfaRequired,zT as previewSlackIdentity,YT as previewTeamsIdentity,bd as probeEffectivePermission,_d as probeEffectivePermissions,z1 as probePreviewPort,_u as projectArchiveRequest,IW as projectCompacting,bk as projectConfigAgentsToOpenCodeAgents,Gh as projectConfigAgentsToRuntimeAgents,nW as projectSessionConnection,zW as projectSessionForRuntimeId,nT as projectSessionStartSeed,SW as projectWorking,ma as provisionProject,NR as provisionProjectStream,VR as provisionProjectWithToken,Lf as proxyLocalhostUrl,WU as proxyUrlToInternal,mp as purchaseCredits,EC as putConnectionOAuth2Application,py as rawErrorText,eG as reactivateSandbox,lp as reactivateSubscription,ci as readBeeuniMember,dn as readBlob,ID as readDriveFile,pn as readFile,hu as readProjectFile,av as reasoningIsRunning,au as rebuildProjectSnapshot,vc as reconcileConnection,Ac as reconcileMemberConnection,z0 as reconcileServices,QG as recordPlatformLogout,Go as recoverLinkResults,oE as refreshReferralCode,Yt as refreshSession,Gs as registerAppArtifact,jC as registerConnectionOAuth2Client,tm as registerDeviceToken,Y0 as registerService,cm as registerWebPushSubscription,ja as rejectProjectAccessRequest,ML as relativizePath,_l as reloadProjectSessionConfig,Pl as reloadProjectSessionConfigStream,ug as removeAccountAuditWebhook,Hi as removeAccountBrandingAsset,ra as removeAccountMember,af as removeBeeuniPty,cd as removeGroupMember,_g as removeMarketplaceSource,tx as removeQueued,Tc as renameConnection,Ir as renameFile,zq as renameSandbox,Lu as reopenChangeRequest,U0 as reopenMilestone,rx as reorderQueued,g0 as replaceColumns,f0 as replaceFields,Sa as replaceProjectRepository,h0 as replaceTemplates,tO as requestAccountDeletion,Bu as requestChangesOnChangeRequest,iC as requestProjectAccess,pg as requestProjectConnector,lg as requestProjectSecret,TT as requestTopUp,dk as requireBeeuniMember,Xi as resendAccountInvite,qa as resendPendingProjectInvite,Vi as resetAccountBranding,sU as resetClient,Lp as resetGatewayRoutingPolicy,ao as resetPassword,aU as resetPublicClient,IG as resetSandboxUpdateStatus,Xa as resolveApproval,hk as resolveComposerAgent,zk as resolveComposerModel,y1 as resolveConnectorStart,Vk as resolveModelDefault,BI as resolvePublicShareUrl,$B as resolveScrapeResults,PN as resolveWorkingTurn,CT as resolvedPlan,qg as restartAppMachine,ar as restartProjectSession,Jq as restartSandbox,Xg as restoreAppVolume,yG as restoreBackup,jD as restoreDriveVersion,gc as retryAccountSecretResource,ex as retryFailed,ml as retrySessionPrompt,q0 as revealCredential,AO as reviewItemTarget,M_ as reviewSegmentForStatus,RO as reviewVerdictForStatus,yc as revokeAccountSecretResourceGrant,yM as revokeAccountSession,Jd as revokeAccountToken,Cd as revokeAssignment,Rc as revokeConnection,Zp as revokeGatewayKey,Zd as revokeOAuthGrant,Na as revokePendingProjectInvite,Fa as revokeProjectAccess,ng as revokeProjectCliToken,aG as revokeSandboxProjectAccess,Bd as revokeSandboxShare,WE as revokeScimToken,rl as revokeSessionPublicShare,nt as rewriteLocalhostUrl,Fg as rollbackApp,VA as rootRuntimeSession,dc as rotateAccountSecretResource,vd as rotateOAuthClientSecret,Rs as runConnector,ed as runGatewayPlayground,pC as runProjectProviderOAuthFlow,oi as runtimeSessionsOf,SS as runtimeSupports,CP as sanitizePtyChunk,Ra as saveGitHubInstallation,dm as saveUserProviderApiKey,ok as savedCopyEmptyRoot,Wg as scaleApp,pp as scheduleDowngrade,Sc as searchConnectorTools,yu as searchProjectFiles,oN as segmentTurn,Sj as selectableProjectAgents,ro as sendMagicLink,uE as sendReferralEmails,EW as serverCompactionRevalidateAtMs,V0 as serviceAction,GW as sessionConnectionLabel,qW as sessionListStatus,vl as sessionModelPin,UI as sessionParentId,WI as sessionPromptActions,sT as sessionStartKey,hc as setAccountSecretResourceAccess,kq as setActiveInstanceCookie,yO as setAdminBootModes,wb as setAdminBypass,lO as setAdminProviderDistribution,mO as setAdminProviderFallback,Vl as setAgentScope,SC as setBootstrapAuthToken,PC as setCachedAuthToken,NC as setConnectionPolicies,Fc as setConnectorAuthorizationStrategy,Xc as setConnectorCredential,Uc as setConnectorCredentialMode,Gc as setConnectorName,Nc as setConnectorPolicies,VC as setConnectorSecretBinding,Lc as setConnectorSensitive,Ic as setDefaultConnection,qM as setEnterpriseDemo,tf as setEnv,Yp as setGatewayBudget,Fp as setGatewayRoutingPolicy,w1 as setGitHubAppFromExisting,v1 as setGitHubAppPat,iR as setImpersonationSession,a1 as setMaintenanceConfig,FE as setMemberSuperAdmin,QE as setMfaRequired,Wl as setModelDefault,ac as setPersonalProjectSecret,fr as setProjectModelAccess,pT as setProjectModelEnablement,ba as setProjectOnboardingComplete,KR as setProjectOnboardingProfile,hm as setProjectPersonalProvider,su as setProjectPolicies,tc as setProjectSecretStrategy,wl as setProjectSessionModel,xl as setProjectSessionScope,Qu as setProjectSessionSharing,El as setProjectTriggersActivation,II as setSavedCopyStore,XE as setSessionOversight,Pc as setSessionProviderSecretPool,Zu as setSessionWatch,iW as settleSessionConnection,_G as setupSSH,Mc as shareConnection,xD as shareFolder,sj as shellActivityGroupLabel,yh as shellExitCode,xb as shouldAttachImpersonation,IN as shouldHideResponsePart,$x as shouldShowToolPart,mN as shouldSuppressWorkingTurnBusy,lN as showGroupItems,oh as showTurnBusyIndicator,no as signInWithPassword,oo as signInWithProvider,po as signInWithSso,mo as signOut,GO as signOutDevice,to as signUp,yq as skillDocumentPath,fq as skillInputDir,sB as sortSessions,kL as splitUserParts,jg as startApp,Bg as startAppMachine,$C as startConnectionOAuth2Authorization,UC as startConnectionOAuth2DeviceAuthorization,e1 as startConnectorSetupLink,x1 as startGitHubAppManifest,ms as startProjectProviderOAuth,Ye as startProjectSession,Nl as startProjectSessionOrThrow,o1 as startSessionWithToken,Z$ as startTask,mm as startUserProviderOAuth,Gy as stepLabel,$g as stopApp,Ng as stopAppMachine,cr as stopProjectSession,Xq as stopSandbox,Ia as storeGitHubUserToken,$L as stripAnsi,vq as stripInstancePrefix,te as stripTrailingSlashes,YG as submitAccessRequest,u1 as submitDemoRequest,XG as submitOAuthConsent,Od as submitReviewItem,r1 as submitSecretSetupLink,aR as subscribeToImpersonation,kR as supabaseClient,$c as syncConnectors,DT as syncSubscription,cU as systemReload,tt as toDaemonPath,Rq as toInstanceAwarePath,NS as toInternalUrl,un as toSandboxAbsolutePath,WL as toToolView,bf as toWorkspaceRelative,Fo as toolInfo,re as toolKind,Jv as toolViewModel,CG as triggerSandboxUpdate,vP as triggersRequest,BA as turnEndCause,kW as turnEndNotice,tB as turnHasSteps,yN as turnIsConfirmedActive,hN as turnRendersQueued,KW as turnRetryLabel,u0 as unassignTicket,nm as unregisterDeviceToken,um as unregisterWebPushSubscription,wD as unshareFolder,de as unwrapError,cg as updateAccountAuditWebhook,Wi as updateAccountBranding,sa as updateAccountMemberRole,qi as updateAccountName,xT as updateAgentConfig,xg as updateApp,Cg as updateAppAccess,zg as updateAppVolume,MM as updateAuditWebhook,of as updateBeeuniPty,qu as updateChangeRequest,JT as updateChannelBinding,kc as updateConnectionCredential,$p as updateEmailPolicy,ya as updateExperimentalFeature,fa as updateFeatureFlag,sd as updateGroup,j0 as updateMilestone,im as updateNotificationPreferences,wd as updateOAuthClient,co as updatePassword,bM as updatePatPolicy,TE as updatePolicy,Vn as updateProject,Ua as updateProjectAccess,S0 as updateProjectAgent,zl as updateProjectDefaultAgent,Ka as updateProjectGroupGrant,ha as updateProjectSandboxProvider,yl as updateProjectSession,Il as updateProjectTrigger,fd as updateRole,yd as updateRolePermissions,lu as updateSandboxTemplate,mM as updateSessionPolicy,Ls as updateSessionReminder,Hd as updateSessionReminders,X$ as updateTask,WR as updateTemplateWarmPool,i0 as updateTicket,a0 as updateTicketStatus,lo as updateUserMetadata,Ki as uploadAccountBrandingAsset,Tg as uploadAppArtifactArchive,xs as uploadConnectorAttachment,TD as uploadDriveFile,gn as uploadFile,mS as uploadNativeFile,nr as uploadPromptAttachment,xm as uploadSessionAttachment,Ep as uploadSlackChannelFile,on as uploadTimeoutMsForBytes,N0 as upsertCredential,oc as upsertProjectGitCredential,ec as upsertProjectSecret,rM as upsertSsoProvider,la as validateProjectManifest,iE as validateReferralCode,ia as validateToken,fk as verifyBeeuniToken,tE as verifyGatewayProvider,so as verifyOtp,oM as verifySsoDomain,LW as wakeEscalationAttemptSummary,FW as wakeEscalationNote,$W as wakeProgressFingerprint,xt as wireIdClock,en as wireIdClockAt,wt as wireIdClockDelta,xW as workingExpiryAtMs,bN as workingTurnDrawsBusyRow,oj as writeActivityGroupLabel,Cr as writeFile,Wo as wsDomain,DB as wsFavicon,OB as wsRootDomain};
96
+ `),s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,i=r.length;for(;o>s&&i>s&&n[o-1]===r[i-1];)o--,i--;let a=[];for(let c=0;c<s;c++)a.push({type:"unchanged",text:n[c]});for(let c=s;c<o;c++)a.push({type:"removed",text:n[c]});for(let c=s;c<i;c++)a.push({type:"added",text:r[c]});for(let c=o;c<n.length;c++)a.push({type:"unchanged",text:n[c]});return a}function IC(e){let t=Ds(e.input),n=t.map(([s,o])=>EC(s,o)),r=t.length&&n.every(Boolean)?n.flatMap(s=>s??[]):void 0;return{kind:"file-edit",path:ta(e),diff:r}}var Ib=/^Found\s+(\d+)\s+match/i,MC=/^(\/[^:]+?):\s*/,Tb=/Line\s+(\d+):/g;function OC(e){let t=e.trim(),n=t.match(Ib),r=n?t.slice(n[0].length).trim():t;if(!r)return[];let s=[];for(let o of r.split(/\n\n+/)){let i=o.trim();if(!i)continue;let a=i.match(MC);if(!a)continue;let c=a[1],p=i.slice(a[0].length),d=[],g;for(Tb.lastIndex=0;(g=Tb.exec(p))!==null;)d.push({line:Number(g[1]),contentStart:g.index+g[0].length,headerStart:g.index});for(let m=0;m<d.length;m++){let f=m+1<d.length?d[m+1].headerStart:p.length,h=p.slice(d[m].contentStart,f).trim();s.push({path:c,line:d[m].line,content:h.endsWith(";")?h.slice(0,-1):h})}}return s}function DC(e){return e.trim().split(`
97
+ `).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function jC(e){let t=re(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=Ib.test(e.output.trim())?OC(e.output):DC(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function LC(e){let t=re(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=re(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function ea(e){let t=nn(e)??{};return{content:re(t.content)??"",status:re(t.status)??"pending",priority:re(t.priority)}}function $C(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(ea)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(ea)};let n=nn(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(ea)}:{kind:"todo",items:[]}}function BC(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=nn(r)??{},i=(Array.isArray(s.options)?s.options:[]).flatMap(a=>{let c=nn(a),p=c&&re(c.label);return p?[{label:p,description:c?re(c.description):void 0}]:[]});return{question:re(s.question)??"",header:re(s.header),options:i}})}}function UC(e){let n=e.input&&Object.keys(e.input).length>0?Cb(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?tr(e.outputParsed):Cb(e.outputParsed):e.outputText!==void 0?r=tr(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function FC(e){switch(ue(e.name)){case"web_search":return bC(e);case"bash":return kC(e);case"read":return RC(e);case"write":return CC(e);case"edit":return IC(e);case"grep":case"glob":return jC(e);case"task":return LC(e);case"todowrite":return $C(e);case"question":return BC(e);default:return UC(e)}}var NC=new Set(["AbortError","MessageAbortedError"]),qC=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],GC=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function Mb(e){let t=e.toLowerCase();return GC.some(n=>t.includes(n))?!1:qC.some(n=>t.includes(n))}function WC(e){let t=e.data,n=t&&typeof t=="object"?t.message:void 0;return typeof n=="string"?n:typeof e.message=="string"?e.message:void 0}function Ws(e){if(typeof e=="string")return Mb(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&NC.has(n))return!0;let r=WC(t);return typeof r=="string"?Mb(r):!1}var KC=["user","runtime-disposed","orphan-finalized","wake"],XH=["orphan-finalized","wake"];function ZH(e){if(!e||typeof e!="object")return;let t=e.data;if(!t||typeof t!="object")return;let n=t.reason;if(!(typeof n!="string"||!n))return KC.includes(n)?n:void 0}function nr(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object")try{return JSON.stringify(e)}catch{return String(e)}return String(e??"")}function Ob(e){let t=nr(e).trim();if(!t)return null;let n=[t,t.replace(/^Failed to perform action:\s*/i,"").trim()],r=t.indexOf("{");r>=0&&n.push(t.slice(r));for(let s of n)if(s)try{return JSON.parse(s)}catch{}return null}var tz=Ob;function na(e){let t=Ob(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}var nz=na;function VC(e){return na(e)!==null}var rz=VC,HC=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/],sz=["runtime_not_ready","sandbox runtime not ready","opencode not ready"],zC=/\bruntime_not_ready\b|sandbox runtime not ready|opencode not ready/i;function YC(e){return zC.test(nr(e))}function rr(e){let t=nr(e);return t?YC(t)||HC.some(n=>n.test(t)):!1}var JC=/server url not ready|sandbox is still loading/i;function oz(e){return JC.test(nr(e))||rr(e)}var Ks=class extends Error{constructor(t){let n=t?.trim();super(n&&rr(n)?n:n?`sandbox not ready: ${n}`:"sandbox not ready"),this.name="SandboxNotReadyError"}};function QC(e){let t=na(e);if(t){let s=(t.data?.path??"OpenCode config").replace(/^\/workspace\//,""),o=t.data?.issues?.[0]?.message,i=t.data?.issues?.[0]?.path?.join("."),a=i?.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. ${a}`,detail:o?`${i?`${i}: `:""}${o}`:void 0}}let n=nr(e);return rr(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:"The session runtime failed to load",message:n||"The sandbox is running, but its runtime returned an error."}}var iz=QC;function Db(e){if(!e.external_id){if(e.base_url)return e.base_url;throw new Error(`Cannot build sandbox URL: missing external_id for ${e.provider} sandbox "${e.sandbox_id}"`)}return`${st()}/p/${e.external_id}/${rt.BEEUNI_MASTER}`}function uz(e,t){return e.external_id?`${st()}/p/${e.external_id}/${t}`:null}async function fz(){let e=await l.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function XC(e){let t=await xn();if(t)return{sandbox:t.sandbox,created:!1};let r=(await jt())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await qt(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await ht(r.project_id,s.session_id))?.sandbox??null;return{sandbox:us(r,s,o),created:!0}}async function yz(){return(await xn().catch(()=>null))?.sandbox??null}async function hz(e){return{sandbox:(await XC(e)).sandbox}}async function _z(e){let t=Pn(e);if(!t)return null;try{let n=await si(t);return n?us(await Lt(n.project_id),n,null):(await xn(t))?.sandbox??null}catch{return null}}async function bz(e,t){throw await ps(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function Sz(e){let t=Pn(e);return(await ri().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function Pz(){return null}async function xz(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ps(e);if(!t)throw new Error("Project session sandbox not found");await Gr(t.projectId,t.sessionId)}async function wz(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ps(e);if(!t)throw new Error("Project session sandbox not found");await Wr(t.projectId,t.sessionId)}async function vz(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function Az(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function ra(e,t,n){let r=Db(e),s=await j(`${me(r)}${t}`,{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 Ez(e,t){return ra(e,`/beeuni/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function Iz(e,t,n,r="member"){await ra(e,`/beeuni/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function Mz(e,t,n){await ra(e,`/beeuni/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}var sa="Use the account invite functions (acceptAccountInvite, declineAccountInvite).";async function jz(e){throw G("getInvite",sa)}async function Lz(e){throw G("acceptInvite",sa)}async function $z(e){throw G("declineInvite",sa)}async function Uz(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function Fz(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Nz(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function qz(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function Wz(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function Kz(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}async function ZC(e){let t=e?`?channel=${e}`:"",r=await(await $e(`${st()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}},{},"Version check failed")).json();try{let s=await jb(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function jb(e){let t=e?`?channel=${e}`:"";return(await(await $e(`${st()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}},{},"Changelog fetch failed")).json()).changelog}async function eT(){return(await $e(`${st()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}},{},"All versions fetch failed")).json()}var sr=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Lb(e,t){let n=new Headers(e.headers);return n.set("Accept","application/json"),t&&n.set("Content-Type","application/json"),e.accessToken&&n.set("Authorization",`Bearer ${e.accessToken}`),n}async function $b(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Bb(e,t){if(t&&typeof t=="object"){let n=t;for(let r of["error_description","error","message"])if(typeof n[r]=="string"&&n[r])return n[r]}return typeof t=="string"&&t?t:e.statusText||`HTTP ${e.status}`}async function ce(e,t,n){let r=n?.body!==void 0,s=await fetch(`${_t(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Lb(t,r),...r?{body:JSON.stringify(n.body)}:{},...t.signal?{signal:t.signal}:{},...t.cache?{cache:t.cache}:{},...t.next?{next:t.next}:{}}),o=await $b(s);if(!s.ok)throw new sr(Bb(s,o),s.status,o);return o}function tT(e){let t=new URLSearchParams;e?.query&&t.set("query",e.query),e?.type&&t.set("type",e.type),e?.source&&t.set("source",e.source),e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset));let n=t.toString();return n?`?${n}`:""}function nT(e,t){return ce(`/marketplace/items${tT(t)}`,e)}function rT(e){return ce("/marketplace/marketplaces",e)}function sT(e,t){return ce(`/marketplace/items/${encodeURIComponent(e)}`,t)}function oT(e,t,n){return ce(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function iT(e,t){return ce("/access/check-email",t,{method:"POST",body:{email:e}})}function aT(e,t){return ce("/access/request-access",t,{method:"POST",body:e})}function cT(e){return ce("/auth/logout",e,{method:"POST",body:{}})}function lT(e,t){return ce(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function uT(e,t){return ce("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function pT(e,t){return ce(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function dT(e,t){return ce(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function gT(e,t,n={}){return ce(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:n.connectionId?{connection_id:n.connectionId}:{}})}function mT(e,t){return ce(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function fT(e,t,n,r){return ce(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t,...r?.only_requester?{only_requester:!0}:{}}})}function yT(e,t){return ce(`/p/public-share/${encodeURIComponent(e)}`,t)}function hT(e,t,n){return ce(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function _T(e,t){return ce("/system/demo-request",t,{method:"POST",body:e})}async function bT(e,t,n){let r=await fetch(`${_t(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${Gt(t)}`,{headers:Lb(n,!1),...n.signal?{signal:n.signal}:{}});if(!r.ok){let s=await $b(r);throw new sr(Bb(r,s),r.status,s)}return{blob:await r.blob(),filename:r.headers.get("content-disposition")?.match(/filename="([^"]+)"/)?.[1]??null,capped:r.headers.get("x-audit-capped")==="true",rowCount:r.headers.get("x-audit-row-count"),complete:r.headers.get("x-audit-complete")!=="false",nextCursor:r.headers.get("x-audit-next-cursor")||null}}function ST(e,t){throw G("buildPublicTemplateUrl")}async function PT(e,t,n){throw G("getPublicTemplate")}var xT="beeuni:connect-link:";function oa(e){let t=2166136261,n=16777619^e.length;for(let r=0;r<e.length;r+=1){let s=e.charCodeAt(r);t=Math.imul(t^s,16777619)>>>0,n=Math.imul(n^s,1540483477)>>>0}return`${xT}${t.toString(36)}${n.toString(36)}`}function eY(e,{storage:t}={}){let n=new Map,r=new Map,s=i=>{if(t)try{let a=t.getItem(oa(i));if(!a)return;let c=JSON.parse(a);if(Date.parse(c.expires_at)<=Date.now()){t.removeItem(oa(i));return}return c}catch{return}},o=(i,a)=>{if(t)try{t.setItem(oa(i),JSON.stringify(a))}catch{}};return{peek(i){let a=r.get(i);if(a)return a;let c=s(i);return c&&r.set(i,c),c},load(i){let a=n.get(i);if(a)return a;let c=e(i).then(p=>(r.set(i,p),o(i,p),p),p=>{throw n.delete(i),p});return n.set(i,c),c}}}var Ub="Could not start the connect flow.";async function tY(e){let t;try{t=await e.start()}catch(r){return{kind:"error",message:r instanceof Error?r.message:Ub}}if(t.connect_url)return{kind:"popup",url:t.connect_url};if(!t.connected)return{kind:"error",message:Ub};let n=null;try{n=(await e.finalize()).connected_as??null}catch{}return{kind:"connected",alreadyConnected:t.already_connected===!0,connectedAs:n}}var wT=3e3,vT=5e3,AT=5*6e4;function nY(e,t){let n=e===0?wT:vT;return t+n>AT?null:n}function rY(e){let t=e.project_name?.trim();return{app:e.name?.trim()||e.app?.trim()||e.slug,project:t&&t!=="this project"?t:null}}var _Y="1";var kT="beeuni.query-cache";function Nb(e){return!!e&&typeof e.then=="function"}function Fb(e){return Nb(e)?e:Promise.resolve()}function bY(e){if(e[0]!=="kx")return!1;let t=e[1];if(t==="accounts")return e.length===3&&typeof e[2]=="string"&&e[2]!=="anonymous";if(t==="projects")return e.length===3;if(t!=="project"||typeof e[2]!="string")return!1;let n=e[3];if(e.length===4)return n==="summary"||n==="detail";if(n!=="sessions")return!1;if(e.length===6)return e[4]==="list-paged";if(e.length===7&&e[4]==="list-paged"){let r=e[6];return typeof r=="object"&&r!==null&&!r.q}return e.length===7&&e[4]==="list-children"?e[6]==="":e.length===5&&e[4]!=="list"&&e[4]!=="list-paged"}function SY(e){let{storage:t,userId:n,shouldPersist:r,version:s="1",maxAgeMs:o=6048e5,maxBytes:i=1e6,throttleMs:a=1e3,namespace:c=kT,now:p=()=>Date.now()}=e,d=`${c}:${n}`,g=null,m=!1,f=null,h=Promise.resolve(),S=()=>{try{return Fb(t.removeItem(d)).catch(()=>{})}catch{return Promise.resolve()}},E=(v,b)=>{if(!b)return 0;let P;try{P=JSON.parse(b)}catch{return S(),0}if(!P||P.v!==s||P.user!==n||!Array.isArray(P.queries)||p()-P.at>o)return S(),0;let O=0;for(let A of P.queries){if(!A||!Array.isArray(A.k)||A.d===void 0||typeof A.t!="number"||p()-A.t>o||!r(A.k))continue;let $=v.getQueryState(A.k);$&&$.data!==void 0&&$.dataUpdatedAt>=A.t||(v.setQueryData(A.k,A.d,{updatedAt:A.t}),v.invalidateQueries?.({queryKey:A.k,exact:!0,refetchType:"none"}),O+=1)}return O},L=v=>v.getQueryCache().getAll().filter(b=>b.state.data!==void 0&&r(b.queryKey)).map(b=>({k:b.queryKey,d:b.state.data,t:b.state.dataUpdatedAt})).sort((b,P)=>P.t-b.t),D=(v,b)=>{let P=[],O=0;for(let A of v){let $=JSON.stringify(A).length+1;O+$>b||(P.push(A),O+=$)}return P},w=async v=>{let b=D(L(v),i);for(;;){let P={v:s,user:n,at:p(),queries:b};try{await Fb(t.setItem(d,JSON.stringify(P)));return}catch{if(b.length===0)return;b=b.slice(0,Math.floor(b.length/2))}}},y=()=>{f!==null&&(clearTimeout(f),f=null)},_=()=>{y();let v=g;return!v||!m||(m=!1,h=h.then(()=>w(v)).catch(()=>{})),h},R=()=>{m=!0,f===null&&(f=setTimeout(()=>{f=null,_()},a))};return{storageKey:d,restore(v){let b;try{b=t.getItem(d)}catch{return 0}return Nb(b)?b.then(P=>E(v,P)).catch(()=>0):E(v,b)},persist(v){g=v,m=!0;let b=v.getQueryCache().subscribe(P=>{P.type!=="updated"&&P.type!=="removed"&&P.type!=="added"||r(P.query.queryKey)&&R()});return()=>{b(),g===v&&(g=null,y())}},flush(){return _()},async clear(){y(),g=null,m=!1,await h,await S()}}}function PY(){let e;try{e=globalThis.localStorage}catch{e=void 0}if(!e)return null;let t=e;return{getItem:n=>{try{return t.getItem(n)}catch{return null}},setItem:(n,r)=>t.setItem(n,r),removeItem:n=>{try{t.removeItem(n)}catch{}}}}var RT="/beeuni/part/";function CT(e){return typeof e=="string"&&e.startsWith(RT)}async function AY(e){if(!CT(e))throw new Error(`not an attachment part reference: ${e}`);let t=ze();if(!t)throw new Error("runtime url not bound");let n=await j(`${t}${e}`);if(!n.ok)throw new Error(`attachment part fetch failed: ${n.status}`);return n.blob()}function qb(e){try{let t=new URL(e);if(/^\/proxy\/\d+(?:\/|$)/.test(t.pathname))return`${t.origin}/v1/p/auth`;let n=t.pathname.indexOf("/p/");return n!==-1?`${t.origin}${t.pathname.slice(0,n)}/p/auth`:`${t.origin}/v1/p/auth`}catch{return null}}function TT(e,t){try{let n=new URL(e),r=n.pathname;if(!(/^\/v1\/p\/[^/]+\/\d+(?:\/|$)/.test(r)||/^\/proxy\/\d+(?:\/|$)/.test(r)))return!1;let o=new Set;if(t)try{o.add(new URL(t).origin)}catch{}return typeof window<"u"&&o.add(window.location.origin),o.has(n.origin)}catch{return!1}}function Gb(e,t){return TT(e,t)?(t?qb(t):null)??qb(e):null}function Vs(e){try{let{hostname:t}=new URL(e);return/^p\d+-[^.]+\./.test(t)||/^(?:dev|staging|prod|preview)-p\d+-[a-z0-9-]+\./i.test(t)}catch{return!1}}function Wb(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}var ET=/^p\d{1,5}-[a-z0-9-]+\.localhost$/;function IT(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MT(e,t){if(!t.includes("{port}")||!t.includes("{sandbox}"))return!1;let n=t.indexOf("://");if(n<=0)return!1;let r=t.slice(0,n).toLowerCase();if(r!=="https"&&r!=="http")return!1;let s=(t.slice(n+3).split("/")[0]??"").toLowerCase(),o=`${r}://${s}`.split("{port}").map(i=>i.split("{sandbox}").map(IT).join("[a-z0-9-]+")).join("\\d{1,5}");return new RegExp(`^${o}$`).test(e)}function OT(e){try{let t=new URL(e);return t.hostname==="localhost"||t.hostname==="127.0.0.1"?t:null}catch{return null}}function Kb(e){return e.port?e.port:e.protocol==="https:"?"443":"80"}function DT(e,t){let n;try{n=new URL(e)}catch{return!1}return n.protocol!=="https:"&&n.protocol!=="http:"?!1:ET.test(n.hostname)?t.backendUrls.some(r=>{let s=OT(r);return s!==null&&Kb(s)===Kb(n)}):t.templates.some(r=>MT(n.origin,r))}async function Vb(e,t={}){if(!Vs(e))return!1;let n=C().backendUrl;n&&await bt(n).catch(()=>null);let r=[n,t.serverUrl].filter(s=>typeof s=="string"&&s.length>0);return DT(e,{templates:Ny(),backendUrls:r})}async function jT(e,t={}){let n=Gb(e,t.serverUrl||C().backendUrl||void 0);if(!n)return!1;let r=await ft();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}}async function LY(e,t={}){if(Vs(e)){if(!await Vb(e,t))return e;let n=await ft();return n?Wb(e,n):e}return await jT(e,t),e}var BY=3e3;function LT(e){return!Number.isFinite(e)||e<100||e>599?"unknown":e===502||e===503||e===504?"unreachable":e===401||e===403?"unknown":"reachable"}async function UY(e,t){if(!e||t?.signal?.aborted)return"unknown";let n=new AbortController,r=()=>n.abort();t?.signal?.addEventListener("abort",r);let s=setTimeout(r,t?.timeoutMs??3e3);try{let o=await fetch(e,{method:"HEAD",credentials:"include",cache:"no-store",signal:n.signal});return LT(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function $T(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function qY(e,t){throw G("buildPresentationTemplatePdfUrl")}function GY(e,t){throw G("buildPresentationTemplateImageUrl")}function BT(e,t){return`${$T(e)}/presentation/convert-to-${t}`}async function WY(e,t,n,r){let s=BT(t,e),o=r?.pollIntervalMs??2500,i=r?.timeoutMs??4*6e4,a=Date.now(),c=!1;for(;;){let p=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({presentation_path:n,download:!0}),...r?.signal?{signal:r.signal}:{}}),d=p.headers.get("content-type")||"";if(p.ok&&(d.includes("pdf")||d.includes("presentation")||d.includes("octet-stream"))){let h=await p.blob();if(h.size===0)throw new Error("Downloaded file is empty");return h}if(p.status===202){if(c||(c=!0,r?.onGenerating?.()),Date.now()-a>i)throw new Error(`Timed out waiting for the ${e.toUpperCase()} to generate`);await new Promise((h,S)=>{let E=setTimeout(h,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(E),S(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let m=await p.text().catch(()=>""),f=p.statusText;try{let h=JSON.parse(m);f=String(h.error||h.detail||h.message||f)}catch{m&&(f=m)}throw new Error(`Failed to download ${e.toUpperCase()}: ${f} (HTTP ${p.status})`)}}function HY(e){return e.activityFresh||e.runtimeReady?"live":e.unreachable||e.stalled?"unreachable":e.sandbox==="stopped"||e.sandbox==="archived"||e.sandbox==="provisioning"||e.sandbox==="queued"||e.sandbox==="branching"?"waking":e.sandbox==="completed"?"unknown":e.sandbox==="failed"?"unreachable":e.sandbox==="running"?"connecting":"unknown"}function zY(e){return e==="unreachable"}function YY(e){return!e||e.status===0?"unknown":e.ok&&Bh(e.health)?"live":e.hop==="control_plane"?"waking":e.ok||e.health?.status==="starting"?"connecting":"unreachable"}var UT=1e4,JY={connection:"unknown",faultSinceMs:null};function QY(e,t,n,r=UT){if(t==="unknown")return e;if(t==="live"||t==="waking")return{connection:t,faultSinceMs:null};let s=e.faultSinceMs??n;return n-s>=r?{connection:t,faultSinceMs:s}:{connection:e.connection==="unknown"?"connecting":e.connection,faultSinceMs:s}}function Hb({optimistic:e,abort:t,inbox:n,server:r,stream:s,activity:o,nowMs:i}){let a=!!e&&i-e.atMs<ia,c=!!t&&i-t.atMs<la;return{receiptLive:a,receiptTurnId:e?e.turnId===void 0?e.messageId:e.turnId:null,serverFloor:a?e?.acceptedAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,streamFloor:a?e?.atMs:Number.NEGATIVE_INFINITY,abortLive:c,abortFloor:c?t?.settledAtMs??Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY,serverFresh:!!r&&i-r.atMs<=aa,streamFresh:!!s&&i-s.atMs<=or,inboxFresh:!!n&&i-n.atMs<=ca,activityFresh:!!o&&i-o.atMs<=or}}function rn(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function ua(e,t,n){if(!t)return!1;let r=rn(e.started_at);if(r===null||r>=t.atMs)return!1;let s=n?.lastEnded,o=rn(s?.ended_at);return!(s&&o!==null&&Math.abs(o-t.atMs)<=1e3&&s.turn_token!==e.turn_token)}function FT(e,t,n,r){let{activity:s,server:o}=e,{serverFresh:i,abortFloor:a,activityFresh:c}=t;return c&&(!n||s.atMs>n.atMs)&&s.atMs>=a?{state:"working",source:"stream",turnId:i?o.turns.find(d=>d.state==="active"&&!ua(d,n,o))?.message_id??null:null,since:s.atMs,serverOpenTurnToken:r}:null}function NT(e,t,n,r){let{server:s,stream:o}=e,{serverFresh:i,abortFloor:a}=t,c=i?s.turns.filter(g=>!ua(g,n,s)):[],p=c.find(g=>g.state==="active")??c[0],d=!!o&&!(o.type==="idle"&&o.origin==="local");return p&&s.atMs>=a&&(!d||s.atMs>=o.atMs)?{result:{...p.state==="delivering"?{pendingDelivery:!0}:{},state:"working",source:"server",turnId:p.message_id,since:rn(p.started_at)??s.atMs,serverOpenTurnToken:r},openTurn:p}:{result:null,openTurn:p}}function qT(e,t,n){let{inbox:r,server:s,stream:o}=e,{inboxFresh:i,abortFloor:a,streamFresh:c,serverFresh:p,receiptLive:d,receiptTurnId:g,abortLive:m}=t;if(i&&r.pending>0&&r.atMs>=a)return{...c&&o.type!=="idle"&&(!p||o.atMs>s.atMs)&&o.atMs>=a?{}:{pendingDelivery:!0},state:"working",source:"server",turnId:d?g:null,since:r.atMs,serverOpenTurnToken:n};let f=r?.drainedAtMs;return i&&r.pending===0&&f!=null&&!m&&!(p&&s.atMs>=f)?{pendingDelivery:!0,state:"working",source:"server",turnId:null,since:f,serverOpenTurnToken:n}:null}function GT(e,t,n,r){let{server:s,stream:o,optimistic:i,nowMs:a}=e,{serverFresh:c,serverFloor:p,streamFresh:d,streamFloor:g,abortFloor:m,receiptLive:f,receiptTurnId:h}=t,S=c&&!n&&s.atMs>=p,E=d&&o.atMs>=g&&(o.type==="idle"||o.atMs>=m);if(S&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:rn(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:r};if(E)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:r};if(f)return{pendingDelivery:!0,state:"working",source:"optimistic",turnId:h,since:i.atMs,serverOpenTurnToken:r};let L=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:a};return{state:"idle",source:L.source,turnId:null,since:L.atMs,serverOpenTurnToken:r}}function zb(e){let t=Hb(e),{server:n,stream:r}=e,s=r&&r.type==="idle"&&r.origin!=="local"?r:null,o=n?.turns[0]?.turn_token??null,i=FT(e,t,s,o);if(i)return i;let{result:a,openTurn:c}=NT(e,t,s,o);return a??qT(e,t,o)??GT(e,t,c,o)}var ia=6e4,aa=45e3,or=45e3,ca=1e4,c2=3e3,la=15e3;function l2(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function u2(e){let t=0;for(let n of e)(n.state==="queued"||n.state==="delivering"||n.state==="waiting"&&n.reason!=="held")&&(t+=1);return t}function d2(e){return zb(e)}function g2(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:i,nowMs:a}=e,c=[null,t?t.atMs+ia:null,n?n.atMs+la:null,r?r.atMs+ca:null,s?s.atMs+aa:null,o?o.atMs+or:null,i?i.atMs+or:null],p=null;for(let d of c)d===null||d<=a||(p===null||d<p)&&(p=d);return p}function WT(e,t){if(!e||!t)return null;let n=e.recent_failures?.find(o=>o.message_id===t),r=e.last_ended,s=n?.error??(r?.message_id===t&&r.end_reason==="failed"?r.error:void 0);return!s?.message||Ws({name:s.name??void 0,message:s.message})?null:s}var KT="SandboxMemoryGuard";function h2(e,t,n){if(!e||!t||n.hasError&&!n.isAbort)return null;let r=WT(e,t);if(r?.message){if(r.name!==KT)return{kind:"cause",name:r.name,message:r.message};let a=r.message.match(/(\d{1,3})%/)?.[1],c=r.message.split(":")[0]?.trim()||null;return{kind:"sandbox-memory",usedPct:a?Number(a):null,detail:c}}let s=e.recent_failures?.find(a=>a.message_id===t);if(!s)return null;let o=s.ended_at?Date.parse(s.ended_at):Number.NaN;return Number.isFinite(o)&&typeof e.atMs=="number"&&e.atMs-o<2500?null:{kind:"unexplained"}}var b2=6e4;function S2(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function P2(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var VT=9e4;function x2(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+VT}var v2=75e3,A2=2,k2=2e4;function Yb(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function R2(e){return e.filter(t=>t!=null).join("|")}function HT(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function C2(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...Yb(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...Yb(),settled:!0};let i=e.lastProgressAtMs,a=i===null,c=t.progress!==e.fingerprint,p=i===null||c?t.nowMs:i,d=Math.max(0,t.nowMs-p),g={...e,dispatch:"none",fingerprint:t.progress,lastProgressAtMs:p,msSinceProgress:d,status:e.attempts.length>0?"escalating":"waking"};if(e.status==="exhausted")return{...g,status:"exhausted"};let m=!a&&!c&&d>=r;if(!t.serverGaveUp&&!m||e.lastDispatchAtMs!==null&&t.nowMs-e.lastDispatchAtMs<o)return g;let f=HT(e.attempts,s);return f?{...g,status:"escalating",dispatch:f,attempts:[...e.attempts,{step:f,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...g,status:"exhausted"}}var zT={"retry-start":"retrying",restart:"restarting"};function T2(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${zT[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function YT(e){return e===1?"once":e===2?"twice":`${e} times`}function E2(e){if(e.status!=="exhausted")return null;let t=e.attempts.filter(s=>s.step==="restart").length,n=e.attempts.some(s=>s.step==="retry-start");if(!n&&t===0)return null;let r=[];return n&&r.push("re-issuing the wake"),t>0&&r.push(`restarting the session ${YT(t)}`),`Tried: ${r.join(", then ")}.`}var M2={"needs-you":{label:"Needs you",tone:"actionable",description:"Waiting for your review"},starting:{label:"Starting",tone:"progress",description:"Its computer is starting"},running:{label:"Running",tone:"live",description:"Its computer is up"},done:{label:"Done",tone:"muted",description:"Finished"},stopped:{label:"Stopped",tone:"muted",description:"Asleep. Opening it wakes its computer"},failed:{label:"Failed",tone:"danger",description:"Its computer didn't start"},legacy:{label:"Legacy",tone:"muted",description:"Imported. Open it to restore"}};function JT(e){return!!(e.metadata??{}).legacy_migration}function O2(e,t=0){if(t>0)return"needs-you";switch(e.status){case"queued":case"branching":case"provisioning":return"starting";case"running":return"running";case"completed":case"stopped":return JT(e)?"legacy":e.status==="completed"?"done":"stopped";case"failed":return"failed";default:return"stopped"}}function D2(e){switch(e){case"waking":return{label:"Waking computer",tone:"progress"};case"connecting":return{label:"Connecting",tone:"progress"};case"unreachable":return{label:"Can't reach computer",tone:"danger"};default:return null}}var j2={unreachable:"Lost contact with this session's computer. Messages you send are queued until it reconnects.",unreachableMidTurn:"Lost contact with this session's computer while a turn is still open. Messages you send stay queued until it answers.",stalled:"Waking this session's computer is taking longer than usual. Messages you send are queued.",starting:"Starting this session's computer. Your message sends automatically.",idle:"This session's computer is asleep. Your next message wakes it up and is delivered.",waking:"Waking this session's computer. Messages you send are queued and go out automatically."};function L2(e){return e===null?"Waiting to retry":e>0?`Retrying in ${e}s`:"Retrying now"}function pa(e){return e.runtime_sessions??e.opencode_sessions??[]}function QT(e){let t=pa(e),n=e.runtime_session_id??e.opencode_session_id;return n?t.find(r=>r.id===n)??null:t.find(r=>!r.parent_id)??null}function B2(e){let t=QT(e);return t?pa(e).filter(n=>n.parent_id===t.id&&!n.archived_at).sort((n,r)=>(r.updated_at??0)-(n.updated_at??0)||n.id.localeCompare(r.id)):[]}function U2(e,t){if(!t)return null;let n=e.find(r=>r.session_id===t||(r.runtime_session_id??r.opencode_session_id)===t);return n||(e.find(r=>pa(r).some(s=>s.id===t))??null)}var XT=new Set;function ZT(e){for(let t of[...XT])try{t(e)}catch{}}var eS={schema:pe,v:1,session_id:"",title:null,created_at:"",restore_grade:"native",harness:{current:"",history:[]},selection:{agent:null,model:null},todos:[],pending:{questions:[],permissions:[]}};var tS=e=>Object.values(e.ext??{}).find(t=>t.version===Ie),nS=e=>!!e&&tS(e)!==void 0,eE=e=>{let t=tS(e);return t?t.native_id??null:e.thread_id},Jb=new WeakMap;function rS(e,t){let n=eE(e),r=Jb.get(t);if(r&&r.native===n)return r.rows;let{rows:s}=is({...eS,threads:[{...e,messages:[t]}]}),o=s.map(i=>({info:i.info,parts:i.parts}));return Jb.set(t,{native:n,rows:o}),o}var da=e=>e.info.time?.created;var tE=(e,t)=>(da(e)??-1/0)-(da(t)??-1/0)||(e.info.id<t.info.id?-1:e.info.id>t.info.id?1:0);var Qb=new WeakMap,Xb=new WeakMap,sS=e=>typeof e=="object"&&e!==null,nE=e=>e!==void 0&&Number.isFinite(e)&&Math.abs(e)<=864e13?new Date(e).toISOString():null,rE=e=>e.info.role==="user"&&e.parts.some(t=>sS(t)&&t.type==="compaction"),sE=(e,t)=>{let n=e.info;return n.role==="assistant"&&n.summary===!0&&n.parentID===t.info.id},Zb=new WeakMap;function oE(e,t,n){let r=t.info,s=`${e}|${String(r.id)}|${String(r.time?.created)}`,o=!1,i=n.blocks.map((a,c)=>{let p=t.parts[c];if(!sS(p)||a.type==="compaction")return a;let d=`${s}|${c}|${a.id}`,g=Zb.get(p);return g&&g.key===d?(o=!0,g.block):(Zb.set(p,{key:d,block:a}),a)});return o?{...n,blocks:i}:n}function iE(e){let t=new Map,n=new Set;for(let r of e){if(!rE(r))continue;let s=e.find(o=>!n.has(o)&&sE(o,r));s&&(t.set(r,s),n.add(s))}return{paired:t,used:n}}function aE(e,t,n,r,s){let o=Qb.get(n);if(o&&o.sessionId===e&&o.native===t&&o.sum===r&&o.seq===s)return o;let a=as({session_id:e,root_id:t,rows:(r?[n,r]:[n]).map(d=>({runtime_session_id:t,info:d.info,parts:d.parts}))},{live:!0}),c=oE(t,n,a.threads[0].messages[0]),p={sessionId:e,native:t,sum:r,seq:s,message:{...c,seq:s},lost:a.grade_counts};return Qb.set(n,p),p}function cE(e,t,n){let r=Xb.get(n);if(r&&r.sessionId===e&&r.native===t)return r.log;let s=[...n].sort(tE),{paired:o,used:i}=iE(s),a={tool_input:0,cut_point:0,attachment:0},c=[];for(let m of s){if(i.has(m))continue;let f=aE(e,t,m,o.get(m),c.length+1);for(let h of["tool_input","cut_point","attachment"])a[h]+=f.lost[h];c.push(f.message)}let p=nE(s.map(da).find(m=>typeof m=="number"&&Number.isFinite(m)))??"",d=c.filter(m=>m.role==="user"&&m.kind==="turn"),g={...eS,session_id:e,created_at:p,restore_grade:a.tool_input+a.cut_point+a.attachment>0?"partial":"converted",grade_counts:a,harness:{current:"opencode",history:[]},selection:{agent:d.at(-1)?.agent??null,model:d.at(-1)?.model??null},threads:[{schema:pe,v:1,thread_id:t,parent_thread_id:null,spawned_by:null,agent:d[0]?.agent??null,title:null,created_at:c[0]?.created_at||p,messages:c,ext:{opencode:{version:Ie,native_id:t}}}]};return Xb.set(n,{sessionId:e,native:t,log:g}),g}var ga=new WeakMap,sn=new WeakMap,oS=new WeakMap;function Hs(e){let t,n=sn.get(e);return n&&(t=lE(n).get(e.id)),t?(ga.set(t,e),t):(e.type!=="harness"?t=Yo(e):typeof e.data?.type=="string"?t=e.data:e.model_visible&&e.fallback_text!==void 0&&(t=oS.get(e)??{id:e.id,type:"text",text:e.fallback_text,synthetic:!0},oS.set(e,t)),t&&ga.set(t,e),t)}var ir=e=>ga.get(e),Rt=e=>e.flatMap(t=>Hs(t)??[]),iS=new WeakMap;function lE(e){let t=iS.get(e);return t||iS.set(e,t=new Map(lt(e)[0]?.parts.map(n=>[n.id,n]))),t}var aS=new Map;function lt(e){let t=aS.get(e.thread_id);return t||(t={schema:pe,v:1,thread_id:e.thread_id,parent_thread_id:null,spawned_by:null,agent:null,title:null,created_at:""},aS.set(e.thread_id,t)),rS(t,e)}var uE="beeuni-v1-import";function gS(e,t){let n=xb(e);return n?{cost:null,tokens:n}:void 0}var ma={schema:pe,v:1};function zs(e,t){for(let n=e.length-1;n>=0;n--)if(t(e[n]))return e[n]}var fa=e=>e.type==="tool_call",pE=e=>e.status==="pending"||e.status==="running",ya=e=>e.status==="error"&&(e.result?.synthetic===!0||e.result?.error?.code==="interrupted");function dE(e,t){let n=ya(e);return!pE(e)&&!n?e.status:t?e.status==="running"||n&&e.started_at?"running":"pending":"interrupted"}var cS=new WeakMap;function gE(e,t){let n=cS.get(e);if(n)return n;let r=typeof e.client_sent_at_ms=="number"?e.client_sent_at_ms:Date.parse(e.created_at),s={...ma,message_id:e.message_id||`queued-${e.prompt_id}`,thread_id:t,seq:Number.MAX_SAFE_INTEGER,role:"user",kind:"turn",status:"complete",in_context:!0,origin:"prompt",model:null,usage:null,finish:null,error:null,created_at:Number.isFinite(r)?new Date(r).toISOString():"",completed_at:null,producer:{harness:"beeuni-inbox",harness_version:"",adapter_version:"1"},blocks:[{type:"text",id:`syn-${e.prompt_id}`,text:e.full_text??e.text}]};return cS.set(e,s),s}var lS=new WeakMap;function mE(e){let t=lS.get(e);return t||(t={...ma,message_id:e.reply_to,thread_id:e.thread_id,seq:e.seq,role:"user",kind:"turn",status:"complete",in_context:!0,model:null,usage:null,finish:null,error:null,created_at:e.created_at,completed_at:null,producer:e.producer,blocks:[]},lS.set(e,t)),t}var uS=new WeakMap;function fE(e){let t=uS.get(e);return t||(t={...ma,message_id:`${e.message_id}:continued`,thread_id:e.thread_id,seq:e.seq,role:"user",kind:"turn",status:"complete",in_context:!0,model:null,usage:null,finish:null,error:null,created_at:e.created_at,completed_at:null,producer:e.producer,blocks:[]},uS.set(e,t)),t}var yE=e=>!e.error&&e.blocks.length===0&&!(e.usage&&(e.usage.input||e.usage.output||e.usage.reasoning));function hE(e,t){let n=[],r=new Map;for(let g of e){if(g.role!=="user"||g.kind==="context"||r.has(g.message_id))continue;let m={user:g,assistant:[],partial:!1};r.set(g.message_id,m),n.push(m)}let s=[],o=[],i=new Map,a=new Map,c=null,p=null;for(let g of e){if(g.role==="user"){let S=r.get(g.message_id);S&&!t.has(g.message_id)&&(c=S,i.has(S)||i.set(S,i.size),S.user.kind==="compaction"&&(p=S));continue}if(g.role!=="assistant"||yE(g))continue;let f=(g.reply_to?r.get(g.reply_to):void 0)??c;if(p&&f&&(f===p||(i.get(f)??1/0)<i.get(p))){let S=a.get(p);S||(S={user:fE(p.user),assistant:[],partial:!0,continues:{marker:p.user.message_id,prompt:f===p?null:f.user.message_id}},a.set(p,S)),f=S}if(f){f.assistant.push(g);continue}if(!g.reply_to){o.push(g);continue}let h=s[s.length-1];h&&h.user.message_id===g.reply_to?h.assistant.push(g):s.push({user:mE(g),assistant:[g],partial:!0})}if(o.length){let g=n[0]??s[0];g?g.assistant.unshift(...o):n.push({user:o[0],assistant:o.slice(1),partial:!1})}let d=n.filter(g=>!t.has(g.user.message_id)).flatMap(g=>{let m=a.get(g);return m?[g,m]:[g]});return[...s,...d,...[...t].flatMap(g=>r.get(g)??[])]}function _E(e,t){if(!t)return t;let n=t;for(let r of e){let s=r.continues;s&&(n===s.marker||n===s.prompt||t===s.prompt)&&(n=r.user.message_id)}return n}function bE(e){let n=(e.user.kind==="compaction"?[e.user,...e.assistant]:e.assistant).find(i=>i.error);if(!n?.error)return null;let r=lt(n)[0]?.info?.error??n.error.message,s=ve(r),o=Es(r);return{code:n.error.code,message:s?.message||Pe(r),...s&&{details:s},...o!==void 0&&{raw:o}}}function SE(e,t,n){return e.length&&e.every(t)?gS(e.flatMap(r=>lt(r).flatMap(s=>s.parts.map(o=>({part:o,message:s})))),n)??null:ha(e,n)}function ha(e,t){let n=e.flatMap(r=>{let s=r.usage;if(!s)return[];let o={type:"step-finish",cost:s.cost??0,tokens:{input:s.input,output:s.output,reasoning:s.reasoning??0,cache:{read:s.cache_read,write:s.cache_write}}};return[{part:o,message:{info:{id:r.message_id,role:"assistant",providerID:r.model?.provider,modelID:r.model?.model},parts:[o]}}]});return gS(n,t)??null}function PE(e){if(e.kind!=="compaction")return null;let t=e.blocks.find(n=>n.type==="compaction")??null;return{block:t,hasContent:!!t?.summary?.trim(),inFlight:e.status==="streaming"}}function xE(e){let t=e.user.blocks;if(!t.length||!t.every(r=>r.type==="text"&&r.synthetic))return null;let n=e.assistant.length===1&&e.assistant[0].blocks.length===1?e.assistant[0].blocks[0]:null;return n&&fa(n)&&n.name==="bash"?n:null}function wE(e,t,n,r){if(!n.length)return[];let s=new Set(e.assistant.map(i=>i.message_id)),o=new Set;for(let i of n)i.spawned_by&&s.has(i.spawned_by.message_id)&&o.add(i.thread_id);for(let i of t){let a=i.type==="subtask"?i.thread_id:fa(i)?Os(i):void 0;a&&r.has(a)&&o.add(a)}return[...o]}var vE=e=>e.assistant.some(t=>t.blocks.some(n=>fa(n)&&ue(n.name)==="todowrite"&&zn(n))),pS=new WeakMap,AE=[];function mS(e){let t=zs(e.messages,n=>n.role==="assistant");return!!t&&z_(lt(t))}var dS=new WeakMap;function kE(e){let t=dS.get(e);if(!t){let n=e.messages.filter(r=>r.in_context||r.status==="streaming");t=n.length===e.messages.length?e:{...e,messages:n},dS.set(e,t)}return t}function _a(e,t={}){let n=t.hideOutOfContext?kE(e):e,r=new Set(t.held??AE),s=hE(n.messages,r),o=zs(n.messages,f=>f.role==="assistant"),i=mS(n),a=_b({turns:s.map(f=>({userMessage:{info:{id:f.user.message_id}},assistantMessages:f.assistant.map(h=>({info:{time:h.status==="streaming"?{}:{completed:1},error:h.error??void 0}}))})),hintMessageId:_E(s,t.liveMessageId),unrunTurnIds:r}),c=zs(s,vE)??s[s.length-1],p=nS(n),d=f=>p||f.producer.harness===uE,g=t.threads??[],m=new Set(g.map(f=>f.thread_id));return s.map(f=>{let h=t.busy===!0&&a.workingTurnId===f.user.message_id,S=a.pendingTurnIds.includes(f.user.message_id),E=i&&f.assistant.includes(o),L=`${f.partial}|${h}|${S}|${f===c}|${E}`,D=pS.get(f.user);if(D&&D.key===L&&D.pricing===t.pricing&&D.heads===t.threads&&D.assistant.length===f.assistant.length&&D.assistant.every((v,b)=>v===f.assistant[b]))return D.turn;let w=f.assistant.flatMap(v=>v.blocks);for(let v of f.assistant)for(let b of v.blocks)sn.set(b,v);let y=wE(f,w,g,m),_=f.assistant[f.assistant.length-1],R={id:f.user.message_id,user:f.user,assistant:f.assistant,partial:f.partial,continues:f.continues??null,blocks:w,status:E?"streaming":_?_.status:f.user.kind==="compaction"?f.user.status:"pending",error:bE(f),cost:SE([f.user,...f.assistant],d,t.pricing),compaction:PE(f.user),threads:y,plan:f===c,shell:xE(f),response:zs(w,v=>v.type==="text"&&!!v.text.trim())??null,attachments:f.user.blocks.filter(v=>v.type==="attachment"&&(v.mime.startsWith("image/")||v.mime==="application/pdf")),live:h,queued:S,retrying:E};return pS.set(f.user,{assistant:f.assistant,key:L,pricing:t.pricing,heads:t.threads,turn:R}),R})}var ba=e=>ir(e);function RE(e,t={}){return mb(db(Rt(e),t),t).map(n=>n.kind==="burst"?{kind:n.kind,blocks:n.parts.map(ir)}:n.kind==="show-group"?{kind:n.kind,blocks:n.parts.map(ba)}:n.kind==="text"?{kind:n.kind,block:ir(n.part)}:{kind:n.kind,block:ba(n.part)})}var CE=e=>e.kind==="burst"||e.kind==="show-group"?{kind:e.kind,parts:Rt(e.blocks)}:{kind:e.kind,part:Hs(e.block)};function TE(e,t){let n=new Map(e.map(o=>[CE(o),o])),r=vb([...n.keys()],t);if(!r)return null;let s=o=>o.map(i=>n.get(i));return{work:s(r.work),hoisted:s(r.hoisted),final:s(r.final)}}function EE(e){if(!ne(e)||!Zf(e.tool))return!1;let t=e.state.input?.questions;if(!Array.isArray(t)||!t.length)return!1;let n=N_(e);return(n.answers??Rb(n.outputText??"",t.length)??[]).length>0}function IE(e){return ib(Rt(e),n=>Zn(n).tier).flatMap(n=>n.kind==="group"&&n.step.parts.some(EE)?n.step.parts.map(r=>({kind:"part",key:r.id,part:r})):[n]).map(n=>{if(n.kind==="part")return{kind:"block",key:n.key,block:ir(n.part)};if(n.kind==="group")return{kind:"group",key:n.key,blocks:n.step.parts.map(ba),family:n.step.family,label:n.step.label,status:n.step.status,durationMs:n.step.durationMs};let r=e.find(o=>o.id===n.key.slice(8)),s=r&&sn.get(r);return{kind:"thought",key:n.key,texts:n.texts,running:n.running&&(!s||s.status==="streaming"),durationMs:n.durationMs}})}function ME(e,t){return Sb(Rt(e.blocks).map(n=>({part:n})),t?.flatMap(lt))}function OE(e){return Xi(Rt(e))}function DE(e){return rb(Rt(e))}function jE(e,t){return t.working?t.trailing?!0:e.some(n=>{if(n.type==="tool_call")return n.status==="pending"||n.status==="running";if(n.type!=="reasoning")return!1;let r=Hs(n),s=sn.get(n);return!!r&&Ae(r)&&Zi(r)&&(!s||s.status==="streaming")}):!1}var fS=new WeakMap;function LE(e){if(!ya(e))return e;let t=fS.get(e);if(!t){let{result:n,...r}=e;t={...r,status:e.started_at?"running":"pending"},fS.set(e,t)}return t}function $E(e){let{callID:t,error:n,...r}=e;return e.status==="error"?{...r,type:"error",content:n||"This output failed to load."}:r}function BE(e){let t=e.map(ie),n=t[0],r=t.some(o=>o.state.status==="running"||o.state.status==="pending"),s=fb(t).map($E);return cs({...n,state:{...n.state,status:r?"running":"completed",input:{items:s}}})}function UE(e,t,n){let r=ie(e),s=r.state;return cs({...r,state:{...s,status:"completed",...n!==void 0&&{input:n},metadata:{...s.metadata??{},answers:t}}})}function FE(e){let t=lt(e).map(r=>Wi(r)),n=t.find(r=>r.error)?.error;return{parts:t.flatMap(r=>r.parts),error:n,isEmpty:t.every(r=>r.isEmpty)&&!n}}var yS=Object.freeze([]),hS=new WeakMap;function NE(e){if(!e)return yS;let t=hS.get(e);if(!t){let n=e.messages.flatMap(r=>r.role==="assistant"?r.blocks.filter(s=>s.type==="tool_call"&&zn(s)):[]);t=n.length?n:yS,hS.set(e,t)}return t}function qE(e,t={}){let n={cost:null,messages:{all:0,user:0,assistant:0},tokens:{input:0,output:0,reasoning:0,cacheRead:0,cacheWrite:0},context:null};for(let r of _a(e)){let s=ha([r.user,...r.assistant],t.pricing);if(s)for(let o of Object.keys(n.tokens))n.tokens[o]+=s.tokens[o]}for(let r of e.messages){r.role==="user"?n.messages.user++:r.role==="assistant"&&n.messages.assistant++,r.kind==="compaction"&&r.status!=="streaming"&&n.messages.assistant++;let s=r.usage;(r.role==="assistant"||r.kind==="compaction")&&s&&s.input+s.output+(s.reasoning??0)+s.cache_read+s.cache_write>0&&(n.context=r)}return n.messages.all=n.messages.user+n.messages.assistant,n}var GE="prt_beeuni_restore_g";function WE(e){return e.role==="user"&&e.blocks.some(t=>t.type==="text"&&t.id.startsWith(GE))}function KE(e,t){let n=new Map,r=[...e??[]].sort((s,o)=>s.from_seq-o.from_seq);for(let s=1;s<r.length;s++){let o=r[s],i=r[s-1].harness;if(o.harness===i)continue;let a=t.findIndex(c=>c.user.seq>=o.from_seq);a<0||a===0&&t[0].user.seq!==o.from_seq||n.set(t[a].id,{harness:o.harness,previous:i,version:o.version,at:o.at})}return n}var Sa=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ze=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:0,VE=new Set(["message","attachment","tool_input","cut_point","layout","text","tool_result"]);function HE(e){if(e?.restore_grade!=="partial")return null;let t=e.ext?.beeuni?.data,n=Sa(t)?t.restore:void 0;if(!Sa(n))return null;let r=Sa(n.dropped)?n.dropped:{},s=e.grade_counts,o=[{kind:"message",count:Ze(r.message)},{kind:"attachment",count:Ze(s?.attachment)},{kind:"text",count:Ze(r.text)+Ze(n.truncated)},{kind:"tool_input",count:Ze(s?.tool_input)},{kind:"tool_result",count:Ze(r.tool_result)},{kind:"cut_point",count:Ze(s?.cut_point)},{kind:"other",count:Object.entries(r).reduce((i,[a,c])=>VE.has(a)?i:i+Ze(c),0)}];return{generation:Ze(n.generation),missing:o.filter(i=>i.count>0)}}var bS=e=>e.type==="text"?[e]:e.type==="tool_call"?(e.result?.content??[]).filter(t=>t.type==="text"):[];function zE(e){let t=new Map;for(let n of e)for(let r of n.blocks)for(let s of bS(r))s.ref&&s.bytes!==void 0&&!t.has(s.ref)&&t.set(s.ref,s.bytes);return[...t].map(([n,r])=>({ref:n,bytes:r}))}var SS=(e,t)=>{let n=e.ref===void 0?void 0:t.get(e.ref);if(n===void 0)return e;let{ref:r,bytes:s,...o}=e;return{...o,text:n}},YE=(e,t)=>e.map(n=>n.type==="text"?SS(n,t):n),_S=new WeakMap;function JE(e,t){let n=_S.get(e);if(n?.texts===t)return n.out;let r=e.blocks.some(s=>bS(s).some(o=>o.ref!==void 0&&t.has(o.ref)))?{...e,blocks:e.blocks.map(s=>s.type==="text"?SS(s,t):s.type==="tool_call"&&s.result?{...s,result:{...s.result,content:YE(s.result.content,t)}}:s)}:e;return _S.set(e,{texts:t,out:r}),r}var Pa=1024*1024;function QE(e){return e.reduce((t,n)=>t+n.bytes,0)>Pa?"download":"inline"}function XE(e){let t=new Set,n=0;for(let r of[...e].sort((s,o)=>s.bytes-o.bytes)){if(n+r.bytes>Pa)break;n+=r.bytes,t.add(r)}return{inline:e.filter(r=>t.has(r)),download:e.filter(r=>!t.has(r))}}function ZE(e,t){if(t.size===0)return e;let n=e.messages.map(r=>JE(r,t));return n.every((r,s)=>r===e.messages[s])?e:{...e,messages:n}}function eI(e){return e==="TIMEOUT"||e==="request_deadline"}function tI(e){let t=xS(e)?e.code:void 0;return typeof t=="string"?t:void 0}var xS=e=>typeof e=="object"&&e!==null;function PS(e){let t=e?.metadata;return!!xS(t)&&t.warm===!0}var nI=5,rI=2e3,sI=e=>new Promise(t=>setTimeout(t,e));async function oI(e,{attempts:t=nI,delayMs:n=rI,sleep:r=sI}={}){for(let s=0;s<t;s++){s>0&&await r(n);try{if(await e())return!0}catch{}}return!1}function JJ(e,t){let n=new Map,r=new Set,s=new Set,o=new Set,i=0,a=(c,p,d)=>{if(r.has(c)||n.has(c))return Promise.resolve();r.add(c);let g=i,m=(async()=>{let f=null;try{let h=await e.ensure(c,p);if(g!==i)return;s.has(h.sessionId)?f=h.sessionId:n.set(c,h)}catch{}finally{g===i&&r.delete(c)}f&&d>0&&await a(c,f,d-1)})();return o.add(m),m.finally(()=>o.delete(m)),m};return{ensure:(c,p)=>a(c,p?.excludeSessionId,1),take:(c,p,{replenish:d})=>{let g=n.get(c);return g?(n.delete(c),s.add(g.sessionId),d&&a(c,g.sessionId,1),t.fits(g,p)?g:null):null},prime:async(c,p,d)=>{try{return await e.claim(c,d),!0}catch(g){return eI(tI(g))?oI(async()=>!PS(await e.read(c,p.sessionId)),t.sleep?{sleep:t.sleep}:{}):!1}},dropBySessionId:c=>{for(let[p,d]of n)if(d.sessionId===c)return n.delete(p),s.add(c),p;return null},revalidate:async c=>{let p=n.get(c);if(!p)return!1;try{if(PS(await e.read(c,p.sessionId)))return!1}catch{return!1}return n.get(c)?.sessionId!==p.sessionId?!1:(n.delete(c),s.add(p.sessionId),!0)},held:c=>n.get(c)??null,reset:()=>{i+=1,n.clear(),r.clear(),s.clear()},settled:async()=>{for(;o.size>0;)await Promise.all([...o])}}}var iI=12e4,Ys=class extends Error{constructor(t){super(`Session history read did not settle within ${t}ms`),this.name="SessionSyncReadTimeoutError"}},aI=1e3,cI=15e3,wS=100,lI=50,uI=10;function vS(e){let t=e.fetch??globalThis.fetch,n=e.baseUrl.replace(/\/$/,"");return async({limit:r,before:s},o)=>{let i=new URLSearchParams({limit:String(r)});s&&i.set("before",s);let a=await e.getToken?.(),c=await t(`${n}/session/${encodeURIComponent(e.sessionId)}/message?${i}`,{headers:a?{Authorization:`Bearer ${a}`}:void 0,...o?{signal:o}:{}});if(!c.ok)throw c.status===503?new Ks(`session ${c.status}`):new x(`Session synchronization failed: ${c.status}`,{status:c.status});return{messages:await c.json(),nextCursor:c.headers.get("x-next-cursor")||void 0}}}function pI(e){return gI(vS(e))}function dI(e){return new xa({...e,loadPage:vS(e)})}async function gI(e){let t=[],n=new Set,r;do{let i=await e({limit:wS,...r?{before:r}:{}});if(t.push(i.messages),r=i.nextCursor,r&&n.has(r))throw new Error(`Session history cursor repeated: ${r}`);r&&n.add(r)}while(r);let s=[],o=new Set;for(let i=t.length-1;i>=0;i--)for(let a of t[i])o.has(a.info.id)||(o.add(a.info.id),s.push(a));return s}var mI={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},xa=class{options;scheduler;livenessIntervalMs;verifyIntervalMs;readTimeoutMs;lastTailReadAt;retryAttempt=0;tailUnavailable=!1;tailRetryTimer;snapshot={freshness:"idle",hasOlder:!1,isLoadingOlder:!1};nextCursor;knownUserMessageIds=new Set;olderHistoryStarted=!1;tailRequest;turnEndPending=!1;olderRequest;livenessTimer;livenessBusy=!1;streamReliable=!1;lastActivityAt;listeners=new Set;destroyed=!1;abortController=new AbortController;constructor(t){this.options=t,this.scheduler=t.scheduler??mI,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.verifyIntervalMs=t.verifyIntervalMs??3e4,this.readTimeoutMs=t.readTimeoutMs??iI,this.lastActivityAt=this.scheduler.now(),this.lastTailReadAt=this.scheduler.now()}getSnapshot=()=>this.snapshot;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));start(){return this.snapshot.freshness==="fresh"?Promise.resolve():this.reconcile("initial")}reconcile(t="manual"){return this.destroyed||t==="visible"&&this.streamReliable&&this.snapshot.freshness==="fresh"?Promise.resolve():this.tailRequest?this.tailRequest:(this.update({freshness:this.snapshot.freshness==="idle"||this.snapshot.freshness==="loading"?"loading":"stale"}),this.tailRequest=this.loadTail(t).finally(()=>{this.tailRequest=void 0}),this.tailRequest)}loadOlder=()=>{if(this.destroyed||!this.nextCursor)return Promise.resolve();if(this.olderRequest)return this.olderRequest;let t=this.nextCursor;return this.update({isLoadingOlder:!0}),this.olderRequest=this.loadCompleteOlderTurn(t).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"})}setStreamReliable(t){this.streamReliable=t}setBusy(t,n=!1){let r=this.livenessBusy&&!t;if(this.livenessBusy=t,!t&&!n){this.stopLivenessTimer(),r&&!this.destroyed&&this.reconcileTurnEnd();return}r&&!this.destroyed&&this.reconcileTurnEnd(),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.tailRetryTimer!==void 0&&(this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0),this.abortController.abort(),this.listeners.clear()}reconcileTurnEnd(){if(!this.tailRequest){this.reconcile("turn-end");return}this.turnEndPending||(this.turnEndPending=!0,this.tailRequest.finally(()=>{this.turnEndPending=!1,this.destroyed||this.reconcile("turn-end")}))}async loadTail(t){this.lastTailReadAt=this.scheduler.now();try{let n=await this.loadPage("tail",t);if(this.destroyed)return;this.rememberUserMessages(n.messages),this.options.hydrate(n.messages),this.olderHistoryStarted||this.setCursor(n.nextCursor),this.update({freshness:"fresh"}),this.options.markLoaded(),this.retryAttempt=0,this.tailUnavailable=!1}catch(n){if(this.destroyed||this.abortController.signal.aborted)return;let r=n instanceof Ys;if(!r&&Ws(n))return;if(r||this.update({freshness:rr(n)?"loading":"error"}),n instanceof x&&(n.status===404||n.status===410)){this.tailUnavailable=!0,this.cancelTimer(this.tailRetryTimer),this.tailRetryTimer=void 0;return}this.scheduleTailRetry(t)}}scheduleTailRetry(t){if(this.destroyed||this.tailRetryTimer!==void 0)return;let n=Math.min(aI*2**this.retryAttempt,cI);this.retryAttempt+=1,this.tailRetryTimer=this.startTimer(()=>{this.tailRetryTimer=void 0,!this.destroyed&&this.reconcile(t)},n)}async loadPage(t,n,r){let s=this.scheduler.now();try{let o=await this.boundedRead(i=>this.options.loadPage({limit:t==="tail"?lI:wS,...r?{before:r}:{}},i));return this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:o.messages.length,succeeded:!0}),o}catch(o){throw this.options.onTelemetry?.({operation:t,reason:n,durationMs:this.scheduler.now()-s,messageCount:0,succeeded:!1}),o}}boundedRead(t){let n=this.abortController.signal,r=new AbortController,s=()=>r.abort(n.reason);n.aborted?r.abort(n.reason):n.addEventListener("abort",s,{once:!0});let o,i=new Promise((c,p)=>{o=this.startTimer(()=>{let d=new Ys(this.readTimeoutMs);p(d),r.abort(d)},this.readTimeoutMs)}),a;try{a=t(r.signal)}catch(c){a=Promise.reject(c)}return Promise.race([a,i]).finally(()=>{this.cancelTimer(o),n.removeEventListener("abort",s)})}async loadCompleteOlderTurn(t){let n=await this.loadPage("older","manual",t);return this.loadCompleteTurn(n,"older","manual",t,r=>{this.rememberUserMessages(r.messages),this.options.hydrate(r.messages),this.setCursor(r.nextCursor)})}async loadCompleteTurn(t,n,r,s,o){let i=[...t.messages],a=new Set(this.knownUserMessageIds),c=new Set(s?[s]:[]),p=t.nextCursor,d=0;for(let g of t.messages)g.info.role==="user"&&a.add(g.info.id);for(;p&&d<uI&&i.some(g=>g.info.role==="assistant"&&!!g.info.parentID&&!a.has(g.info.parentID));){if(c.has(p))throw new Error(`Session history cursor repeated: ${p}`);c.add(p);let g;try{g=await this.loadPage(n,r,p)}catch(m){throw o?.({messages:[...i],nextCursor:p}),m}if(this.destroyed)return{messages:i,nextCursor:p};d+=1,i.unshift(...g.messages);for(let m of g.messages)m.info.role==="user"&&a.add(m.info.id);p=g.nextCursor,o?.({messages:[...i],nextCursor:p})}return{messages:i,nextCursor:p}}rememberUserMessages(t){for(let n of t)n.info.role==="user"&&this.knownUserMessageIds.add(n.info.id)}async checkLiveness(){if(this.destroyed||this.tailUnavailable||this.streamReliable)return;let t=this.scheduler.now(),n=t-this.lastActivityAt>this.livenessIntervalMs,r=t-this.lastTailReadAt>=this.verifyIntervalMs;!(this.livenessBusy&&n)&&!r||(await this.raceDeadline(this.reconcile("poll"),this.livenessIntervalMs),this.lastActivityAt=this.scheduler.now())}raceDeadline(t,n){return new Promise(r=>{let s,o=!1,i=()=>{o||(o=!0,this.cancelTimer(s),r())};s=this.startTimer(i,n),t.then(i,i)})}setCursor(t){this.nextCursor=t,this.update({hasOlder:!!t})}stopLivenessTimer(){this.livenessTimer!==void 0&&(this.scheduler.clearInterval(this.livenessTimer),this.livenessTimer=void 0)}startTimer(t,n){return this.scheduler.setTimeout?this.scheduler.setTimeout(t,n):setTimeout(t,n)}cancelTimer(t){t!==void 0&&(this.scheduler.clearTimeout?this.scheduler.clearTimeout(t):clearTimeout(t))}update(t){let n={...this.snapshot,...t};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()}}};var fI=5e3,kS=40,nQ=5*6e4,yI=16,ar=new Map;function RS(e,t,n,r=Date.now()){let s=CS(e,t);for(ar.delete(s),ar.set(s,{envelope:n,atMs:r});ar.size>yI;){let o=ar.keys().next().value;if(o===void 0)break;ar.delete(o)}}var AS=new Map;function CS(e,t){return`${e}/${t}`}function hI(e,t){return e.settledAtMs===null?!0:t-e.settledAtMs<=fI}function TS(e,t,n=Date.now()){if(!e||!t)return null;let r=CS(e,t),s=AS.get(r);return s?hI(s,n)?s.promise:(AS.delete(r),null):null}function ES(e){let t=e.transcript;if(!t||t.known!==!0||t.requested!==!0)return null;let{known:n,requested:r,...s}=t;if(!s.available)return s;let o=e.session?.runtime_session_id??e.session?.opencode_session_id,i=s.runtime_session_id??s.opencode_session_id;return o&&i===o?s:null}var _I=2e3;async function bI(e,t,n){let r=TS(e,t),s,o=r?await Promise.race([r,new Promise(i=>{s=setTimeout(i,n.snapshotWaitMs??_I,null)})]).finally(()=>clearTimeout(s)):null;return(o&&ES(o))??Fr(e,t,{limit:kS,history:!0,signal:n.signal})}async function SI(e){let{projectId:t,sessionId:n,runtimeSessionId:r}=e;if(!t||!n||!r)return{envelope:null,empty:!1};let s;try{s=await bI(t,n,{})}catch{return{envelope:null,empty:!1}}if(RS(t,n,s),IS(s)!==r)return{envelope:s,empty:!1};try{let o=await Nr(t,n);return{envelope:s,empty:MS({savedEmptyRoot:r,rootSessionId:r,turnRead:!0,hasEndedTurn:o.last_ended!=null,hasOpenOrQueuedTurn:o.turns.length>0})}}catch{return{envelope:s,empty:!1}}}function IS(e){return e?.available&&e.source==="mirror"&&e.complete&&e.total===0&&e.messages.length===0?e.runtime_session_id??e.opencode_session_id??null:null}function MS(e){return e.savedEmptyRoot!==null&&e.savedEmptyRoot===e.rootSessionId&&e.turnRead&&!e.hasEndedTurn&&!e.hasOpenOrQueuedTurn}function lQ(e){throw G("buildTunnelEventStreamUrl")}function uQ(e){let{url:t,token:n,method:r="GET",body:s,onEvent:o,onOpen:i,onError:a,onClose:c,signal:p}=e,d=new Map,g=null,m=!1,f="";function h(w,y){o?.(w,y);let _=d.get(w);if(_)for(let R of _)try{R(y)}catch{}}async function S(){if(m)return;let w=new AbortController;g=w,p&&(p.aborted?w.abort():p.addEventListener("abort",()=>w.abort(),{once:!0}));let y=w.signal;try{let _={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(_["Content-Type"]="application/json"),f&&(_["Last-Event-ID"]=f);let R=await fetch(t,{method:r,headers:_,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");i?.();let v=R.body.getReader(),b=new TextDecoder,P="",O="message",A=[],$=T=>{if(T===""){A.length>0&&h(O,A.join(`
98
+ `)),O="message",A=[];return}if(T.startsWith(":"))return;let q=T.indexOf(":"),W=q===-1?T:T.slice(0,q),H=q===-1?"":T.slice(q+1);H.startsWith(" ")&&(H=H.slice(1)),W==="event"?O=H.trim()||"message":W==="data"?A.push(H):W==="id"&&!H.includes("\0")&&(f=H)},N=T=>{let q="";!T&&P.endsWith("\r")&&(q="\r",P=P.slice(0,-1));let W=P.split(/\r\n|\n|\r/);P=(W.pop()??"")+q;for(let H of W)$(H)};for(;!m;){let{done:T,value:q}=await v.read();if(T)break;P+=b.decode(q,{stream:!0}),N(!1)}m||(P+=b.decode(),N(!0),c?.())}catch(_){if(m||_ instanceof DOMException&&_.name==="AbortError")return;a?.(_ instanceof Error?_:new Error(String(_)))}}function E(){m=!0,g?.abort(),g=null,d.clear()}function L(w,y){let _=d.get(w)??new Set;_.add(y),d.set(w,_)}function D(w,y){d.get(w)?.delete(y)}return{connect:S,close:E,addEventListener:L,removeEventListener:D}}function pQ(e,t){throw G("createTunnelEventStream")}var OS="/_beeuni/viewer",Js=6e4,on=new Map;function PI(){on.clear(),cr.clear()}async function xI(e,t){let n;try{n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}})}catch{return null}if(n.status===401||n.status===404||!n.ok)return null;let r=await n.json().catch(()=>null);return r&&typeof r.user_id=="string"?r:null}async function DS(e={}){let t=e.path??OS,n=e.fetch??((o,i)=>fetch(o,i)),r=on.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=xI(t,n).then(o=>{let i=o?.expires_at?Date.parse(o.expires_at):Number.NaN,a=Number.isFinite(i)?i-Js:Date.now()+Js;return on.set(t,{session:o,expiresAt:a}),o});return on.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function wI(e={}){let t=e.path??OS;return Object.assign(async()=>(await DS(e))?.access_token??null,{invalidate:n=>{let r=on.get(t);r&&!r.inflight&&r.session?.access_token===n&&on.delete(t)}})}var cr=new Map;async function vI(e,t){try{let n=await t(e,{credentials:"same-origin",headers:{accept:"application/json"}});if(!n.ok){if(n.status===403){let o=await n.json().catch(()=>null);o?.error==="app_not_linked"&&console.warn(`[beeuni] ${String(o.error_description)}`)}return null}let r=await n.json().catch(()=>null);if(!r||typeof r.token!="string")return null;let s=typeof r.expires_at=="string"?Date.parse(r.expires_at):Number.NaN;return cr.set(e,{token:r.token,refreshAt:Number.isFinite(s)?s-Js:Date.now()+Js}),r.token}catch{return null}}function jS(e={}){let t=e.path??"/_beeuni/token",n=e.audience===void 0?t:`${t}?audience=${encodeURIComponent(e.audience)}`,r=e.fetch??((s,o)=>fetch(s,o));return async(s={})=>{let o=cr.get(n);if(o instanceof Promise)return o;if(o&&!s.forceRefreshToken&&o.refreshAt>Date.now())return o.token;let i=vI(n,r).then(a=>(a===null&&cr.delete(n),a));return cr.set(n,i),i}}function AI(e,t={}){let n=t.origin??globalThis.location?.origin;if(!n)throw new Error("beeuniBinding needs the App origin: pass { origin } outside a browser.");return{url:`${me(n)}/_beeuni/apps/${encodeURIComponent(e)}`,token:jS({audience:e,fetch:t.fetch})}}var Ct=class extends Error{code;constructor(t,n){super(n),this.name="BeeuniMemberError",this.code=t}},xe=e=>typeof e=="string"&&e.length>0?e:null;function LS(e){let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch{return[]}return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}function va(e){if(!e||typeof e!="object")return null;let t=e,n=xe(t.sub)??xe(t.subject)??xe(t.user_id)??xe(t.userId);return n?{userId:n,email:xe(t.email),name:xe(t.name),picture:xe(t.picture)??xe(t.pictureUrl),groups:LS(t.groups),groupIds:LS(t.group_ids??t.groupIds),role:xe(t.role),accountId:xe(t.account_id)??xe(t.accountId),projectId:xe(t.project_id)??xe(t.projectId)}:null}function kI(e,t={}){let n=va(e);if(!n)throw new Ct("unauthenticated","Sign in with Beeuni to continue.");let{groups:r,roles:s}=t;if(r&&!r.some(o=>n.groups.includes(o)||n.groupIds.includes(o)))throw new Ct("forbidden",`Only members of ${r.join(" or ")||"no group"} may do this.`);if(s&&!s.some(o=>n.role===o))throw new Ct("forbidden",`Only ${s.join(" or ")||"no role"} members may do this.`);return n}var RI=60,wa=new Map;function BS(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=atob(t+"=".repeat((4-t.length%4)%4));return Uint8Array.from(n,r=>r.charCodeAt(0))}function $S(e){return JSON.parse(new TextDecoder().decode(BS(e)))}async function CI(e,t){if(typeof e!="string")return e;if(e.startsWith("data:")){let n=e.indexOf(","),r=e.slice(5,n),s=e.slice(n+1),o=r.endsWith(";base64")?new TextDecoder().decode(Uint8Array.from(atob(s),i=>i.charCodeAt(0))):decodeURIComponent(s);return JSON.parse(o)}if(/^https?:\/\//.test(e)){let n=wa.get(e);return n||(n=t(e,{headers:{accept:"application/json"}}).then(async r=>{if(!r.ok)throw new Error(`key set ${r.status}`);return await r.json()}),n.catch(()=>wa.delete(e)),wa.set(e,n)),n}return JSON.parse(e)}async function TI(e,t={}){let n=w=>{throw new Ct("unauthenticated",`Beeuni sign-in token refused: ${w}.`)},r=t.jwks??nt("BEEUNI_AUTH_JWKS"),s=t.issuer??nt("BEEUNI_AUTH_ISSUER"),o=t.audience??nt("BEEUNI_AUTH_AUDIENCE");if(!r)return n("no key set configured (BEEUNI_AUTH_JWKS)");if(o!==!1&&!o)return n("no audience configured (BEEUNI_AUTH_AUDIENCE, or `audience: false` to accept any App)");let i=typeof e=="string"?e.split("."):[];if(i.length!==3)return n("malformed");let[a,c,p]=i,d,g;try{d=$S(a),g=$S(c)}catch{return n("malformed")}if(d.alg!=="ES256")return n("unsupported algorithm");let m;try{m=await CI(r,t.fetch??((w,y)=>fetch(w,y)))}catch{return n("key set unavailable")}let f=(m.keys??[]).filter(w=>w.kty==="EC"&&(d.kid===void 0||w.kid===d.kid));if(f.length===0)return n("unknown key");let h=new TextEncoder().encode(`${a}.${c}`),S;try{S=BS(p)}catch{return n("malformed")}let E=!1;for(let w of f)try{let{kid:y,alg:_,use:R,key_ops:v,...b}=w,P=await crypto.subtle.importKey("jwk",b,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},P,S,h)){E=!0;break}}catch{}if(!E)return n("bad signature");let L=Math.floor(Date.now()/1e3);if(typeof g.exp!="number"||g.exp+RI<L)return n("expired");if(s&&g.iss!==s)return n("wrong issuer");if(o){let w=g.aud;if(!(w===o||Array.isArray(w)&&w.includes(o)))return n("wrong audience")}let D=va(g);return D||n("no subject")}function US(e){let t=e.agents.map(EI),n=e.default_agent??e.open_code_default_agent;return n?t.sort((r,s)=>r.name===n?-1:s.name===n?1:0):t}function EI(e){return{name:e.name,description:e.description??void 0,mode:e.mode??void 0,source:e.source,hidden:e.enabled===!1}}function FS(e,t){if(!Array.isArray(e))return[];let n=t?.includeSubagents===!0;return e.filter(r=>ti(n?{...r,mode:null}:r))}function II(e){let t=e.boundAgent?.trim()||null;if(!Array.isArray(e.agents)){let o=e.selectedAgent?.trim();return o?{selected:o,disabled:!1,reason:"loading"}:{selected:t,disabled:!1,reason:"loading"}}let n=FS(e.agents);if(n.length===0)return t?{selected:t,disabled:!1,reason:"bound"}:{selected:null,disabled:!0,reason:"no_access"};let r=e.selectedAgent?.trim();if(r&&n.some(o=>o.name===r))return{selected:r,disabled:!1,reason:"selected"};if(t)return{selected:t,disabled:!1,reason:"bound"};let s=e.defaultAgent?.trim();return s&&n.some(o=>o.name===s)?{selected:s,disabled:!1,reason:"default"}:{selected:n[0].name,disabled:!1,reason:"first_accessible"}}var MI=US;function NS(e){return e.providerID==="beeuni"||e.providerID==="opencode"?e.modelID:`${e.providerID}/${e.modelID}`}function Aa(e){return{providerID:"beeuni",modelID:e}}function ka(e,t){let n=e.startsWith("beeuni/")?e.slice(7):e;if(!t){let r=n.indexOf("/");if(r>0&&r<n.length-1)return{providerID:n.slice(0,r),modelID:n.slice(r+1)}}return Aa(n)}var Ra=[{id:"deepinfra",env:["DEEPINFRA_API_KEY"]},{id:"perplexity-agent",env:["PERPLEXITY_API_KEY"]},{id:"bailing",env:["BAILING_API_TOKEN"]},{id:"poe",env:["POE_API_KEY"]},{id:"cerebras",env:["CEREBRAS_API_KEY"]},{id:"groq",env:["GROQ_API_KEY"]},{id:"blueclaw",env:["BLUECLAW_API_KEY"]},{id:"zai",env:["ZHIPU_API_KEY"]},{id:"empiriolabs",env:["EMPIRIOLABS_API_KEY"]},{id:"sensenova",env:["SENSENOVA_API_KEY"]},{id:"alibaba-token-plan",env:["ALIBABA_TOKEN_PLAN_API_KEY"]},{id:"cloudflare-workers-ai",env:["CLOUDFLARE_ACCOUNT_ID","CLOUDFLARE_API_KEY"]},{id:"engy",env:["ENGY_API_KEY"]},{id:"poolside",env:["POOLSIDE_API_KEY"]},{id:"nano-gpt",env:["NANO_GPT_API_KEY"]},{id:"abliteration-ai",env:["ABLIT_KEY"]},{id:"crof",env:["CROF_API_KEY"]},{id:"standardcompute",env:["STANDARDCOMPUTE_API_KEY"]},{id:"cloudferro-sherlock",env:["CLOUDFERRO_SHERLOCK_API_KEY"]},{id:"anthropic",env:["ANTHROPIC_API_KEY"]},{id:"tinfoil",env:["TINFOIL_API_KEY"]},{id:"llama",env:["LLAMA_API_KEY"]},{id:"cohere",env:["COHERE_API_KEY"]},{id:"deepseek",env:["DEEPSEEK_API_KEY"]},{id:"baseten",env:["BASETEN_API_KEY"]},{id:"nan",env:["NAN_API_KEY"]},{id:"stepfun-ai-step-plan",env:["STEPFUN_API_KEY"]},{id:"nearai",env:["NEARAI_API_KEY"]},{id:"wandb",env:["WANDB_API_KEY"]},{id:"subconscious",env:["SUBCONSCIOUS_API_KEY"]},{id:"zeldoc",env:["ZELDOC_API_KEY"]},{id:"databricks",env:["DATABRICKS_HOST","DATABRICKS_TOKEN"]},{id:"umans-ai-coding-plan",env:["UMANS_AI_CODING_PLAN_API_KEY"]},{id:"kuae-cloud-coding-plan",env:["KUAE_API_KEY"]},{id:"umans-ai",env:["UMANS_AI_API_KEY"]},{id:"siliconflow",env:["SILICONFLOW_API_KEY"]},{id:"minimax-coding-plan",env:["MINIMAX_API_KEY"]},{id:"alibaba-coding-plan",env:["ALIBABA_CODING_PLAN_API_KEY"]},{id:"lilac",env:["LILAC_API_KEY"]},{id:"moonshotai-cn",env:["MOONSHOT_API_KEY"]},{id:"bothub",env:["BOTHUB_API_KEY"]},{id:"xiaomi-token-plan-cn",env:["XIAOMI_API_KEY"]},{id:"privatemode-ai",env:["PRIVATEMODE_API_KEY","PRIVATEMODE_ENDPOINT"]},{id:"llmgateway-providers",env:["LLMGATEWAY_API_KEY"]},{id:"above",env:["ABOVE_API_KEY"]},{id:"kilo",env:["KILO_API_KEY"]},{id:"venice",env:["VENICE_API_KEY"]},{id:"alibaba-token-plan-cn",env:["ALIBABA_TOKEN_PLAN_API_KEY"]},{id:"ai21",env:["AI21_API_KEY"]},{id:"commandcode",env:["CMD_API_KEY"]},{id:"lowrouter",env:["LOWROUTER_API_KEY"]},{id:"reflection",env:["REFLECTION_API_KEY"]},{id:"inference",env:["INFERENCE_API_KEY"]},{id:"iflowcn",env:["IFLOW_API_KEY"]},{id:"minimax-cn-coding-plan",env:["MINIMAX_API_KEY"]},{id:"thinkingmachines",env:["TINKER_API_KEY"]},{id:"stepfun-step-plan",env:["STEPFUN_API_KEY"]},{id:"melious",env:["MELIOUS_API_KEY"]},{id:"berget",env:["BERGET_API_KEY"]},{id:"snowflake-cortex",env:["SNOWFLAKE_ACCOUNT","SNOWFLAKE_CORTEX_PAT"]},{id:"sarvam",env:["SARVAM_API_KEY"]},{id:"nova",env:["NOVA_API_KEY"]},{id:"abacus",env:["ABACUS_API_KEY"]},{id:"novita-ai",env:["NOVITA_API_KEY"]},{id:"302ai",env:["302AI_API_KEY"]},{id:"openrouter",env:["OPENROUTER_API_KEY"]},{id:"perplexity",env:["PERPLEXITY_API_KEY"]},{id:"iteracompute",env:["ITERACOMPUTE_API_KEY"]},{id:"the-grid-ai",env:["THEGRID_API_KEY"]},{id:"meta",env:["META_MODEL_API_KEY"]},{id:"cline-pass",env:["CLINE_API_KEY"]},{id:"modal",env:["MODAL_PROXY_TOKEN"]},{id:"coralbricks",env:["CORAL_API_KEY"]},{id:"routing-run",env:["ROUTING_RUN_API_KEY"]},{id:"echo",env:["ECHO_API_KEY"]},{id:"neuralwatt",env:["NEURALWATT_API_KEY"]},{id:"gitlab",env:["GITLAB_TOKEN"]},{id:"infer",env:["INFER_API_KEY"]},{id:"azure",env:["AZURE_RESOURCE_NAME","AZURE_API_KEY"]},{id:"freemodel",env:["FREEMODEL_API_KEY"]},{id:"azure-cognitive-services",env:["AZURE_COGNITIVE_SERVICES_RESOURCE_NAME","AZURE_COGNITIVE_SERVICES_API_KEY"]},{id:"pendra",env:["PENDRA_API_KEY"]},{id:"moark",env:["MOARK_API_KEY"]},{id:"atomic-chat",env:["ATOMIC_CHAT_API_KEY"]},{id:"qihang-ai",env:["QIHANG_API_KEY"]},{id:"ai-router",env:["AI_ROUTER_API_KEY"]},{id:"llmtr",env:["LLMTR_API_KEY"]},{id:"alibaba",env:["DASHSCOPE_API_KEY"]},{id:"auriko",env:["AURIKO_API_KEY"]},{id:"zenmux",env:["ZENMUX_API_KEY"]},{id:"unorouter",env:["UNOROUTER_API_KEY"]},{id:"salad-cloud",env:["SALAD_CLOUD_API_KEY"]},{id:"vispark",env:["VISPARK_LAB_API_KEY"]},{id:"siliconflow-cn",env:["SILICONFLOW_CN_API_KEY"]},{id:"regolo-ai",env:["REGOLO_API_KEY"]},{id:"xiaomi-token-plan-ams",env:["XIAOMI_API_KEY"]},{id:"inceptron",env:["INCEPTRON_API_KEY"]},{id:"aimlapi",env:["AIMLAPI_API_KEY"]},{id:"upstage",env:["UPSTAGE_API_KEY"]},{id:"vultr",env:["VULTR_API_KEY"]},{id:"huggingface",env:["HF_TOKEN"]},{id:"volcengine",env:["ARK_API_KEY"]},{id:"impossibl",env:["IMPOSSIBL_API_KEY"]},{id:"xpersona",env:["XPERSONA_API_KEY"]},{id:"qiniu-ai",env:["QINIU_API_KEY"]},{id:"modelscope",env:["MODELSCOPE_API_KEY"]},{id:"google",env:["GOOGLE_API_KEY","GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"]},{id:"vancine",env:["VANCINE_API_KEY"]},{id:"zhipuai-coding-plan",env:["ZHIPU_API_KEY"]},{id:"lucidquery",env:["LUCIDQUERY_API_KEY"]},{id:"gmicloud",env:["GMICLOUD_API_KEY"]},{id:"oci",env:["OCI_GENAI_API_KEY"]},{id:"cloudflare-ai-gateway",env:["CLOUDFLARE_API_TOKEN","CLOUDFLARE_ACCOUNT_ID","CLOUDFLARE_GATEWAY_ID"]},{id:"clarifai",env:["CLARIFAI_PAT"]},{id:"aiand",env:["AIAND_API_KEY"]},{id:"frogbot",env:["FROGBOT_API_KEY"]},{id:"stackit",env:["STACKIT_API_KEY"]},{id:"anyapi",env:["ANYAPI_API_KEY"]},{id:"crusoe",env:["CRUSOE_API_KEY"]},{id:"volcengine-coding-plan",env:["ARK_CODING_PLAN_API_KEY"]},{id:"jiekou",env:["JIEKOU_API_KEY"]},{id:"ollama-cloud",env:["OLLAMA_API_KEY"]},{id:"agentrouter",env:["AGENTROUTER_API_KEY"]},{id:"tencent-tokenhub",env:["TENCENT_TOKENHUB_API_KEY"]},{id:"watsonx",env:["WATSONX_AI_APIKEY","WATSONX_AI_PROJECT_ID"]},{id:"ambient",env:["AMBIENT_API_KEY"]},{id:"model-oracle-ai",env:["MODEL_ORACLE_API_KEY"]},{id:"xai",env:["XAI_API_KEY"]},{id:"nebius",env:["NEBIUS_API_KEY"]},{id:"minimax-cn",env:["MINIMAX_API_KEY"]},{id:"scaleway",env:["SCALEWAY_API_KEY"]},{id:"vercel",env:["AI_GATEWAY_API_KEY"]},{id:"zai-coding-plan",env:["ZHIPU_API_KEY"]},{id:"ebcloud",env:["EBCLOUD_API_KEY"]},{id:"greenpt",env:["GREENPT_API_KEY"]},{id:"mixlayer",env:["MIXLAYER_API_KEY"]},{id:"hyper",env:["HYPER_API_KEY"]},{id:"jalapeno",env:["JALAPENO_API_KEY"]},{id:"dinference",env:["DINFERENCE_API_KEY"]},{id:"neosmith",env:["NEOSMITH_API_KEY"]},{id:"fireworks-ai",env:["FIREWORKS_API_KEY"]},{id:"stepfun-ai",env:["STEPFUN_API_KEY"]},{id:"fastrouter",env:["FASTROUTER_API_KEY"]},{id:"orcarouter",env:["ORCAROUTER_API_KEY"]},{id:"friendli",env:["FRIENDLI_TOKEN"]},{id:"kimi-code-plan-cn",env:["KIMI_API_KEY"]},{id:"inco",env:["INCO_API_KEY"]},{id:"sakana",env:["SAKANA_API_KEY"]},{id:"scx-ai",env:["SCX_API_KEY"]},{id:"zenifra",env:["ZENIFRA_AI_KEY"]},{id:"tokenrouter",env:["TOKENROUTER_API_KEY"]},{id:"google-vertex-anthropic",env:["GOOGLE_VERTEX_PROJECT","GOOGLE_VERTEX_LOCATION","GOOGLE_APPLICATION_CREDENTIALS"]},{id:"moonshotai",env:["MOONSHOT_API_KEY"]},{id:"ainetcafe",env:["AINETCAFE_API_KEY"]},{id:"wallaby",env:["WALLABY_API_KEY"]},{id:"bee",env:["BEE_API_KEY"]},{id:"scnet-token-plan",env:["SCNET_API_KEY"]},{id:"ofox",env:["OFOX_API_KEY"]},{id:"neon",env:["NEON_AI_GATEWAY_BASE_URL","NEON_AI_GATEWAY_TOKEN"]},{id:"aihubmix",env:["AIHUBMIX_API_KEY"]},{id:"merge-gateway",env:["MERGE_GATEWAY_API_KEY"]},{id:"opper",env:["OPPER_API_KEY"]},{id:"nvidia",env:["NVIDIA_API_KEY"]},{id:"pioneer",env:["PIONEER_API_KEY"]},{id:"xiaomi",env:["XIAOMI_API_KEY"]},{id:"xiaomi-token-plan-sgp",env:["XIAOMI_API_KEY"]},{id:"minimax",env:["MINIMAX_API_KEY"]},{id:"github-copilot",env:["GITHUB_TOKEN"]},{id:"inferx",env:["INFERX_API_KEY"]},{id:"opencode-go",env:["OPENCODE_API_KEY"]},{id:"openreason",env:["OPENREASON_API_KEY"]},{id:"lmstudio",env:["LMSTUDIO_API_KEY"]},{id:"aki-io",env:["AKI_IO_API_KEY"]},{id:"tensorx",env:["TENSORX_API_KEY"]},{id:"longcat",env:["LONGCAT_API_KEY"]},{id:"pareto",env:["PARETO_API_KEY"]},{id:"chutes",env:["CHUTES_API_KEY"]},{id:"edenai",env:["EDENAI_API_KEY"]},{id:"stepfun",env:["STEPFUN_API_KEY"]},{id:"hpc-ai",env:["HPC_AI_API_KEY"]},{id:"tencent-coding-plan",env:["TENCENT_CODING_PLAN_API_KEY"]},{id:"sambanova",env:["SAMBANOVA_API_KEY"]},{id:"tempr",env:["TEMPR_API_KEY"]},{id:"inception",env:["INCEPTION_API_KEY"]},{id:"modelis",env:["MODELIS_API_KEY"]},{id:"opencode",env:["OPENCODE_API_KEY"]},{id:"kenari",env:["KENARI_API_KEY"]},{id:"kimi-code-plan-global",env:["KIMI_API_KEY"]},{id:"trustedrouter",env:["TRUSTEDROUTER_API_KEY"]},{id:"wafer.ai",env:["WAFER_API_KEY"]},{id:"zhipuai",env:["ZHIPU_API_KEY"]},{id:"lynkr",env:["LYNKR_API_KEY"]},{id:"meganova",env:["MEGANOVA_API_KEY"]},{id:"ovhcloud",env:["OVHCLOUD_API_KEY"]},{id:"requesty",env:["REQUESTY_API_KEY"]},{id:"mistral",env:["MISTRAL_API_KEY"]},{id:"amazon-bedrock",env:["AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_REGION","AWS_BEARER_TOKEN_BEDROCK"]},{id:"synthetic",env:["SYNTHETIC_API_KEY"]},{id:"llmgateway",env:["LLMGATEWAY_API_KEY"]},{id:"sap-ai-core",env:["AICORE_SERVICE_KEY"]},{id:"vivgrid",env:["VIVGRID_API_KEY"]},{id:"prime",env:["PRIME_API_KEY"]},{id:"klokintegration",env:["KLOKINTEGRATION_API_KEY"]},{id:"google-vertex",env:["GOOGLE_VERTEX_PROJECT","GOOGLE_VERTEX_LOCATION","GOOGLE_APPLICATION_CREDENTIALS"]},{id:"evroc",env:["EVROC_API_KEY"]},{id:"tokengo",env:["TOKENGO_API_KEY"]},{id:"submodel",env:["SUBMODEL_INSTAGEN_ACCESS_KEY"]},{id:"kosmik",env:["KOSMIK_API_KEY"]},{id:"tencent-token-plan",env:["TENCENT_TOKEN_PLAN_API_KEY"]},{id:"togetherai",env:["TOGETHER_API_KEY"]},{id:"helicone",env:["HELICONE_API_KEY"]},{id:"cortecs",env:["CORTECS_API_KEY"]},{id:"agnes",env:["AGNES_API_KEY"]},{id:"daoxe",env:["DAOXE_API_KEY"]},{id:"morph",env:["MORPH_API_KEY"]},{id:"openai",env:["OPENAI_API_KEY"]},{id:"alibaba-coding-plan-cn",env:["ALIBABA_CODING_PLAN_API_KEY"]},{id:"io-net",env:["IOINTELLIGENCE_API_KEY"]},{id:"infomaniak",env:["INFOMANIAK_API_KEY","INFOMANIAK_PRODUCT_ID"]},{id:"llmtech",env:["LLMTECH_API_KEY"]},{id:"crossmodel",env:["CROSSMODEL_API_KEY"]},{id:"arcee",env:["ARCEE_API_KEY"]},{id:"drun",env:["DRUN_API_KEY"]},{id:"amd",env:["AMD_API_KEY"]},{id:"qvac",env:["QVAC_API_KEY"]},{id:"claudinio",env:["CLAUDINIO_API_KEY"]},{id:"runinfra",env:["RUNINFRA_GATEWAY_KEY"]},{id:"hetzner",env:["HETZNER_API_KEY"]},{id:"digitalocean",env:["DIGITALOCEAN_ACCESS_TOKEN"]},{id:"boundless",env:["BOUNDLESS_API_KEY"]},{id:"aixy",env:["AIXY_API_KEY"]},{id:"alibaba-cn",env:["DASHSCOPE_API_KEY"]}];function Ca(e){if(!e.released)return null;let t=new Date(e.released).getTime();return Number.isNaN(t)?null:t}function DI(e){if(e.provider)return e.provider;let t=e.id.indexOf("/");return t===-1?"beeuni":e.id.slice(0,t)}function qS(e,t){let n=new Map;for(let r of e){let s=t(r),o=n.get(s);o?o.push(r):n.set(s,[r])}return n}function _e(e){let t=e.includes("/")?e.slice(e.indexOf("/")+1):e;return t.startsWith("global.")?2:/^(us|eu|jp|apac|au|ca|sa|us-gov)\./.test(t)?1:0}function GS(e){return e.reduce((t,n)=>{let r=Ca(n)??0,s=Ca(t)??0;return r!==s?r>s?n:t:_e(n.id)>_e(t.id)?n:t})}function Ta(e,t){let n=(t?.now??new Date).getTime(),r=(t?.windowMonths??6)*2630016e3,s=new Set;for(let[,o]of qS(e,DI)){let a=[...qS(o,p=>p.family||p.id).values()].map(GS),c=a.filter(p=>{let d=Ca(p);return d!==null&&Math.abs(n-d)<r});for(let p of c.length>0?c:[GS(a)])s.add(p.id)}return s}function Qs(e){let t=e.filter(r=>r.status!=="deprecated"&&r.status!=="beta"&&r.tool_call!==!1),n=t.length>0?t:e;return n.some(r=>_e(r.id)>0)?n.filter(r=>_e(r.id)>0):n}function lr(e){let t;for(let n of Qs(e)){if(!t){t=n;continue}let r=(n.released??"").localeCompare(t.released??"");(r>0||r===0&&_e(n.id)>_e(t.id))&&(t=n)}return t}var jI={"amazon-bedrock":{methods:[{label:"Bearer token",envVars:["AWS_BEARER_TOKEN_BEDROCK","AWS_REGION"]}]},google:{methods:[{envVars:["GOOGLE_GENERATIVE_AI_API_KEY"]},{envVars:["GOOGLE_API_KEY"]},{envVars:["GEMINI_API_KEY"]}]}};function WS(e){return`${e.toUpperCase().replace(/[^A-Z0-9]+/g,"_")}_API_KEY`}var LI=(()=>{let e=new Map;for(let{id:n,env:r}of Ra)r.length===1&&e.set(r[0],[...e.get(r[0])??[],n]);let t=new Map;for(let[n,r]of e){if(r.length<2)continue;let s=[...r].sort((o,i)=>o.length-i.length||o.localeCompare(i));t.set(n,r.find(o=>WS(o)===n)??s[0])}return t})();function KS(e){let t=jI[e.id];if(t)return t;let n=e.env??[],r=n.length===1?LI.get(n[0]):void 0;return r&&r!==e.id?{methods:[{envVars:[WS(e.id)]}]}:{methods:n.length>0?[{envVars:n}]:[]}}function Ea(e,t){return e.methods.some(n=>n.envVars.length>0&&n.envVars.every(t))}var $I=["low","medium","high"];function VS(e){if(!e)return{temperature:!1,topP:!1};let t=e.reasoning_options?.find(a=>a.type==="effort"),n=e.reasoning_options?.find(a=>a.type==="budget_tokens"),r=t?.values?.length?{values:t.values}:n?{values:[...$I]}:void 0,s=e.temperature===!0,o=e.limit?.output,i=typeof o=="number"&&o>0?{ceiling:o}:void 0;return{reasoningEffort:r,temperature:s,topP:s,maxOutputTokens:i}}var HS=Ra;var BI=[{id:"gpt-6-astra",name:"GPT-6 Astra",upstreamModelId:"openai/gpt-6-astra",transport:"openrouter",pricingRef:"openrouter/openai/gpt-6-astra",pricing:{inputPerMillion:10,cachedInputPerMillion:1,cacheWritePerMillion:12.5,outputPerMillion:50,contextOver200k:{contextThreshold:272e3,inputPerMillion:20,cachedInputPerMillion:2,cacheWritePerMillion:25,outputPerMillion:75}},tier:"flagship",vision:!0,limit:{context:105e4,output:128e3},openrouterProvider:{order:["openai"],allow_fallbacks:!0}},{id:"gpt-6-sol",name:"GPT-6 Sol",upstreamModelId:"openai/gpt-6-sol",transport:"openrouter",pricingRef:"openrouter/openai/gpt-6-sol",pricing:{inputPerMillion:2.2,cachedInputPerMillion:.22,cacheWritePerMillion:2.75,outputPerMillion:11,contextOver200k:{contextThreshold:272e3,inputPerMillion:4.4,cachedInputPerMillion:.44,cacheWritePerMillion:5.5,outputPerMillion:16.5}},tier:"balanced",vision:!0,limit:{context:105e4,output:128e3},openrouterProvider:{only:["azure/us"],allow_fallbacks:!1,zdr:!0,data_collection:"deny"}}],vQ=new Map(BI.map(e=>[e.id,e]));var zS=["gpt-6-astra","gpt-6-sol"],YS="gpt-6-astra",JS="gpt-6-sol";var XS=HS.map(e=>({id:e.id,authRequirement:KS(e)})),ur=new Set(["beeuni"]),Ia=new Set(["beeuni"]);function an(e){let t=Array.isArray(e.all)?e.all:[],n=Array.isArray(e.connected)?e.connected:[];if(t.length>0||n.length>0)return{...e,all:t,connected:n};let r=e.providers,s=Array.isArray(r)?r:[];return s.length===0?{...e,all:[],connected:[]}:{...e,all:s,connected:s.map(o=>o.id)}}function UI(e){if(!e)return!1;let t=an(e),n=Array.isArray(t.all)?t.all:[],r=Array.isArray(t.connected)?t.connected:[];return r.length===0?!1:n.some(s=>r.includes(s.id)&&s.models&&Object.keys(s.models).length>0)}function FI(e){let t=an(e),n=Array.isArray(t.all)?t.all:[],r=Array.isArray(t.connected)?t.connected:[];return{...t,all:n.filter(s=>!Ia.has(s.id)),connected:r.filter(s=>!Ia.has(s))}}function NI(e,t,n){let r=an(e),s=Array.isArray(r.all)?r.all:[],o=new Set(s.map(a=>a.id)),i=new Set(Array.isArray(r.connected)?r.connected:[]);for(let a of n)o.has(a.id)&&Ea(a.authRequirement,c=>t.has(c))&&i.add(a.id);return o.has("codex")&&(t.has("CODEX_AUTH_JSON")||t.has("OPENCODE_AUTH_JSON"))&&i.add("codex"),{...r,connected:[...i]}}var qI=new Map(["anthropic","openai","google","x-ai","xai","deepseek","mistral","groq","perplexity","openrouter"].map((e,t)=>[e,t]));function GI(e){let t=e.reasoning_options??[],n=t.find(r=>r.type==="effort");return n?(n.values??[]).flatMap(r=>r===null?["none"]:typeof r=="string"?[r]:[]):t.some(r=>r.type==="budget_tokens")?["high","max"]:[]}var Ma="opencode";function WI(e){return e.cost?.input===0&&e.cost?.output===0}function QS(e){return e===Ma?Number.MAX_SAFE_INTEGER:qI.get(e)??Number.MAX_SAFE_INTEGER-1}function KI(e,t){let n=HI(t),r={},s=(e.providers??[]).map(o=>{let i=(o.models??[]).filter(a=>a.status!=="deprecated");return o.id===Ma&&!n.has(Ma)?{...o,models:i.filter(WI),keyless:!0}:{...o,models:i,keyless:!1}}).filter(o=>(o.keyless||n.has(o.id))&&!Ia.has(o.id)&&(o.models?.length??0)>0).sort((o,i)=>QS(o.id)-QS(i.id)).map(o=>{let i=[...o.models].sort((c,p)=>(p.released??"").localeCompare(c.released??"")||_e(p.id)-_e(c.id)),a=lr(i)?.id??i[0]?.id;return a&&(r[o.id]=a),{id:o.id,name:o.name,source:o.keyless?"api":"env",models:Object.fromEntries(i.map(c=>{let p=GI(c);return[c.id,{id:c.id,name:c.name,...c.released?{release_date:c.released}:{},...c.family?{family:c.family}:{},...c.reasoning!==void 0?{reasoning:c.reasoning}:{},...c.reasoning_options?{reasoning_options:c.reasoning_options}:{},...c.tool_call!==void 0?{tool_call:c.tool_call}:{},...c.attachment!==void 0?{attachment:c.attachment}:{},...c.modalities?{modalities:c.modalities}:{},...c.limit?{limit:c.limit}:{},...c.cost?{cost:c.cost}:{},...c.description?{description:c.description}:{},...c.open_weights!==void 0?{open_weights:c.open_weights}:{},...c.last_updated?{last_updated:c.last_updated}:{},...p.length>0?{variants:Object.fromEntries(p.map(d=>[d,{}]))}:{}}]}))}});return{all:s,connected:s.map(o=>o.id),default:r}}function VI(e,t){if(!e)return t;if(!t)return e;let n=an(e),r=an(t),s=new Map;for(let d of Array.isArray(r.all)?r.all:[])s.set(d.id,d);let o=[],i=new Set;for(let d of Array.isArray(n.all)?n.all:[])o.push(s.get(d.id)??d),i.add(d.id);for(let d of Array.isArray(r.all)?r.all:[])i.has(d.id)||(o.push(d),i.add(d.id));let a=[],c=new Set;for(let d of[...Array.isArray(n.connected)?n.connected:[],...Array.isArray(r.connected)?r.connected:[]])c.has(d)||(a.push(d),c.add(d));let p={...r.default??{}};for(let[d,g]of Object.entries(n.default??{})){let m=s.get(d);(!m||m.models&&g in m.models)&&(p[d]=g)}return{...r,all:o,connected:a,default:p}}function HI(e){let t=new Set;for(let n of XS)Ea(n.authRequirement,r=>e.has(r))&&t.add(n.id);return(e.has("CODEX_AUTH_JSON")||e.has("OPENCODE_AUTH_JSON"))&&t.add("codex"),t}function zI(e){let t=Object.fromEntries(Object.entries(e.models??{}).filter(([r])=>r!=="auto"&&r!=="beeuni/auto").map(([r,s])=>{if(s.variants&&Object.keys(s.variants).length>0)return[r,s];let o=VS({id:r,name:s.name,reasoning:s.reasoning,reasoning_options:s.reasoning_options}).reasoningEffort?.values;return o?.length?[r,{...s,variants:Object.fromEntries(o.map(i=>[i,{}]))}]:[r,s]})),n=Object.keys(t)[0];return{default:n?{beeuni:n}:{},connected:["beeuni"],all:[{id:"beeuni",name:"Beeuni",source:"gateway",models:t}]}}function YI(e,t){return FI(NI(an(e),t,XS))}function JI(e){if(e.gatewayEnabled)return e.modelPicker?zI(e.modelPicker):void 0;let t=e.secretNames??new Set,n=e.runtimeProviders?YI(e.runtimeProviders,t):void 0;return VI(e.llmCatalogProviders?KI(e.llmCatalogProviders,t):void 0,UI(n)?n:void 0)}function QI(e){return"capabilities"in e&&e.capabilities!=null}function Oa(e,t){let n=e.find(r=>r.providerID===t.providerID&&r.modelID===t.modelID);return!!n&&n.enabled!==!1}function XI(e,t){if(!e)return[];let n=t?.providerMode??"gateway",r=Array.isArray(e.all)?e.all:[],s=Array.isArray(e.connected)?e.connected:[],o=[];for(let i of r)if(s.includes(i.id)&&!(n==="gateway"?!ur.has(i.id):ur.has(i.id)))for(let[a,c]of Object.entries(i.models)){if(a==="auto"||a==="beeuni/auto")continue;let p;if(QI(c)){let d=c.capabilities;p={reasoning:d.reasoning??!1,vision:d.input?d.input.image??!1:void 0,toolcall:d.toolcall??!1}}else{let d=c.modalities?.input;p={reasoning:c.reasoning??!1,vision:d?d.includes("image"):c.attachment,toolcall:c.tool_call??!1}}o.push({id:NS({providerID:i.id,modelID:a}),providerID:i.id,providerName:c.provider_name??i.name,modelID:a,modelName:(c.name||a).replace("(latest)","").trim(),variants:c.variants,capabilities:p,contextWindow:c.limit?.context,releaseDate:c.release_date,family:c.family,cost:c.cost?{input:c.cost.input??0,output:c.cost.output??0}:void 0,providerSource:i.source,provider:c.provider,reasoningOptions:c.reasoning_options,description:c.description,openWeights:c.open_weights,lastUpdated:c.last_updated,enabled:c.enabled,free:c.free===!0})}return o}function ZS(e){return new Map(e.map(t=>[`${t.providerID}:${t.modelID}`,t]))}var ZI=new Set([YS]),eM="beeuni",eP="codex",tM=new Set(zS);function nM(e,t){if(t)return t;let n=e.indexOf("/");return n===-1?e:e.slice(0,n)}function cn(e){return ZI.has(e.modelID)}function rM(e){return Ta(e.map(t=>({id:`${t.providerID}:${t.modelID}`,released:t.releaseDate,family:t.family,provider:t.provider??t.providerID})))}function sM(e){let{connectedProviderIds:t}=e,n=e.freeTier??!1,r=rM(e.catalogModels),s=ZS(e.catalogModels),o=new Map;for(let i of e.pins??[])o.set(`${i.providerID}:${i.modelID}`,i.visibility);return i=>{let a=`${i.providerID}:${i.modelID}`,c=o.get(a);if(c==="hide")return!1;if(i.providerID===eM){let d=nM(i.modelID,i.provider),g=d===eP?t?.has(eP)??!1:t?.has(d)??!1;if(tM.has(i.modelID))return!n||i.modelID===JS;if(!g)return!1;if(c==="show"||r.has(a))return!0;let m=s.get(a);if(!m?.releaseDate)return cn(i);try{let f=new Date(m.releaseDate);if(Number.isNaN(f.getTime()))return cn(i)}catch{return cn(i)}return!1}if(c==="show"||r.has(a))return!0;let p=s.get(a);if(!p?.releaseDate)return cn(i);try{let d=new Date(p.releaseDate);if(Number.isNaN(d.getTime()))return cn(i)}catch{return cn(i)}return!1}}function oM(e,t){return t.search.trim().length>0||e.providerID==="beeuni"||t.selected&&t.selected.providerID===e.providerID&&t.selected.modelID===e.modelID?!0:t.isStoreVisible({providerID:e.providerID,modelID:e.modelID})}function tP(e,t){if(!e||ur.has(e.providerID)||_e(e.modelID)>0)return e;let n=t.filter(i=>i.providerID===e.providerID&&i.enabled!==!1);if(!n.some(i=>_e(i.modelID)>0))return e;let r=i=>_e(i)===1&&i.slice(i.indexOf(".")+1)===e.modelID,o=(n.find(i=>i.modelID===`global.${e.modelID}`)??n.find(i=>r(i.modelID)))?.modelID??lr(n.map(i=>({id:i.modelID,released:i.releaseDate})))?.id;return!o||o===e.modelID?e:{...e,modelID:o}}function iM(e,t){let n=(t?e?.agentDefaults?.[t]:void 0)??e?.projectDefault??e?.accountDefault??e?.platformDefault;return n?Aa(n):void 0}function aM(e){for(let t=(e?.length??0)-1;t>=0;t--){let n=e[t],{provider:r,model:s}=n.model??{};if(n.role==="user"&&r&&s)return{providerID:r,modelID:s}}}var cM=new Set(["explicit","repointed"]);function lM(e){let t=e.session?Kr(e.session):null,n=t?ka(t,e.gatewayEnabled):void 0;return(cM.has(String(e.session?.metadata?.opencode_model_source))?[n,e.lastPromptModel]:[e.lastPromptModel,n]).filter(o=>!!o)}function uM(e){let{models:t,providers:n}=e,r=c=>Oa(t,c),s=c=>c.find(p=>!!p&&r(p)),o=(()=>{if(e.configModel){let c=e.configModel.split("/");if(c.length>=2){let[p,...d]=c,g=d.join("/");if(r({providerID:p,modelID:g}))return{providerID:p,modelID:g}}}for(let c of e.recent??[])if(r(c))return c;if(n){let c=n.default||{},p=Array.isArray(n.all)?n.all:[],d=Array.isArray(n.connected)?n.connected:[],g=p.filter(m=>d.includes(m.id));for(let m of g){let f=c[m.id];if(f){let h={providerID:m.id,modelID:f};if(r(h))return h}for(let h of Qs(Object.keys(m.models).map(S=>({id:S})))){let S={providerID:m.id,modelID:h.id};if(r(S))return S}}}})(),i=s(e.picks??[]),a=i??s([e.serverDefault,e.globalDefault,e.agentModel,o]);return{model:tP(a,t),explicit:i,fallback:o}}export{KC as ABORT_REASONS,XH as ABORT_REASONS_NOT_YET_EMITTED,Ya as ACCOUNTS_LIST_UNAVAILABLE_CODE,za as ANALYTICS_UNAVAILABLE_CODE,RT as ATTACHMENT_PART_REF_PREFIX,x as ApiError,le as AuthError,Ie as BEEUNI_TRANSCRIPT_SCHEMA,Ct as BeeuniMemberError,gt as BillingError,FF as CAPTURE_DEVICE_DEFAULTS,LF as CAPTURE_EXCLUSION_GROUPS,BF as CAPTURE_FRAME_INTERVALS_MS,jF as CAPTURE_LAYERS,UF as CAPTURE_MAX_HEIGHTS,$F as CAPTURE_RETENTION_LIMITS,UT as CONNECTION_FAULT_GRACE_MS,wT as CONNECTOR_POLL_FIRST_DELAY_MS,vT as CONNECTOR_POLL_INTERVAL_MS,AT as CONNECTOR_POLL_WINDOW_MS,vk as CONTEXT_TOOLS,Po as ConnectorApprovalPendingError,Tr as ConnectorCallError,xo as ConnectorPageLimitError,Ak as DEFAULT_CONTEXT_TOOL_TRIGGER_LABELS,XB as DEFAULT_NOTIFICATION_PREFERENCES,m_ as DEFAULT_TRANSCRIPT_OPTIONS,ro as FEATURE_DISABLED_CODE,QM as FEATURE_FLAG_KEYS,Wa as FEATURE_NOT_SUPPORTED_CODE,kt as FILE_VERBS,Ln as FileExistsError,wn as HeadlessAuthError,sr as HostBoundaryError,QB as INBOX_NOTIFICATION_KINDS,ca as INBOX_OBSERVATION_MAX_MS,JY as INITIAL_SETTLED_CONNECTION,ux as KNOWN_TOOL_KINDS,JP as MAX_PROMPT_ATTACHMENTS_BYTES,vo as MAX_PROMPT_ATTACHMENT_BYTES,Du as MAX_PROMPT_ATTACHMENT_FILES,IH as MEMORY_VERBS,Ka as MODEL_NOT_SERVABLE_CODE,$w as NO_GROUP_ACTIVITY_TOOLS,la as OPTIMISTIC_ABORT_MAX_MS,b2 as OPTIMISTIC_COMPACTION_MAX_MS,ia as OPTIMISTIC_RECEIPT_MAX_MS,_Y as PERSISTED_QUERY_CACHE_VERSION,WR as PLUMBING_TOOLS,BY as PREVIEW_PROBE_TIMEOUT_MS,ee as PROJECT_ACTIONS,uj as PROJECT_SESSION_NAME_LOOKUP_LIMIT,lj as PROJECT_SESSION_PAGE_DEFAULT_LIMIT,Ex as PROJECT_SESSION_PAGE_MAX_LIMIT,Va as PROVISION_IN_FLIGHT_CODE,jo as PublicSessionShareError,qL as REVIEW_CONTROL_ACTIONS,sz as RUNTIME_NOT_READY_MARKERS,iU as RUNTIME_PERMISSION_CAPABILITIES,oU as RUNTIME_PERMISSION_REPLIES,It as RequestTooLargeError,In as RuntimeNotReadyError,Ei as SANDBOX_FS_ROOTS,rt as SANDBOX_PORTS,Ha as SANDBOX_STATE_CHANGE_IN_PROGRESS_CODE,VT as SERVER_COMPACTION_REVALIDATE_MS,aa as SERVER_OBSERVATION_MAX_MS,M2 as SESSION_LIST_STATUS,Pa as SESSION_LOG_FULL_TEXT_INLINE_MAX_BYTES,we as SESSION_LOG_MINOR,pe as SESSION_LOG_SCHEMA,j2 as SESSION_NOTICE,Bw as STANDALONE_TOOLS,or as STREAM_OBSERVATION_MAX_MS,Ks as SandboxNotReadyError,Ht as SessionNotReadyError,To as SessionStartError,FL as TRIGGER_CONTROL_ACTIONS,c2 as TURN_END_LEDGER_LAG_MS,lw as TURN_ERROR_CODES,k2 as WAKE_ESCALATION_COOLDOWN_MS,A2 as WAKE_MAX_RESTARTS,v2 as WAKE_NO_PROGRESS_MS,xi as WIRE_ID_BACKDATE_MS,Pt as WIRE_ID_CLOCK_TOLERANCE,ot as WIRE_ID_TIME_MASK,Cn as WIRE_ID_TIME_SCALE,lv as WIRE_MESSAGE_ID,dM as __getConfigResolver,pM as __setConfigResolver,ZH as abortErrorReason,lo as acceptAccountInvite,bc as acceptAccountInviteAndLand,Lz as acceptInvite,$P as accountInviteLanding,cm as actReviewItem,Wl as activateConnection,Hl as addComputerToProject,Dg as addGroupMembers,Wm as addMarketplaceSource,C2 as advanceWakeEscalation,cR as allDescendantIds,Wb as appendPreviewToken,Cy as approveCaptureDeviceGrant,yy as approveCaptureEnrollment,Jc as approveProjectAccessRequest,vq as approveTask,Rr as archiveProject,Mq as assignTicket,il as attachGroupToProject,yi as authMfa,gi as authUser,j as authenticatedFetch,Ir as authenticatedRequest,LY as authorizePreviewUrl,l as backendApi,wI as beeuniAppViewerToken,AI as beeuniBinding,Sv as beeuniPty,jS as beeuniToken,yL as bindSlackIdentity,hL as bindTeamsIdentity,_l as brokerProjectSecretRequest,PY as browserKeyValueStorage,GY as buildPresentationTemplateImageUrl,qY as buildPresentationTemplatePdfUrl,Gb as buildPreviewAuthEndpoint,ST as buildPublicTemplateUrl,BT as buildRuntimePresentationConversionUrl,ku as buildSandboxTemplate,yR as buildScrapeFailureResults,d1 as buildStaticFileHealthPreviewUrl,p1 as buildStaticFileLocalUrl,u1 as buildStaticFilePreviewUrl,TA as buildStaticFileServicePath,lQ as buildTunnelEventStreamUrl,h1 as buildWebProxyUrl,lm as bulkActReviewItems,d$ as bulkDeletePolicies,g$ as bulkImportPolicies,Xi as burstSummary,zR as burstSummaryLabel,rb as burstWorkLabel,Bt as callConnector,ew as cancelAccountDeletion,fc as cancelAccountInvite,vz as cancelSandbox,Ld as cancelScheduledChange,Od as cancelSubscription,VF as captureHealthBucket,Jx as changeRequestControlsFrom,iT as checkAccessEmail,rD as checkMcpServerSignIn,BK as childMapByParent,qA as claimNext,rL as claimPerSeatBilling,Tp as claimWarmProjectSession,q_ as classifyPart,LT as classifyPreviewProbeStatus,yv as classifyPtyClose,FE as classifySessionLogMessage,Wi as classifyTurn,KK as cleanErrorMessage,QK as cleanResultSnippet,xH as cleanWorkerOutput,PI as clearBeeuniAppViewerCache,fd as clearModelDefault,ND as clearSessionFresh,Xu as closeChangeRequest,iG as closeMilestone,DK as collectTurnParts,Dq as commentTicket,tp as commitSessionChanges,P2 as compactionExpiryAtMs,AV as compactionTurnInfo,MK as compareMessagesForDisplay,dW as compareSemver,GA as completeInFlight,Jd as completeSlackInstall,Qd as completeTeamsInstall,FS as composerSelectableAgents,bb as computeStatusFromPart,Fd as configureAutoTopup,eo as configureBeeuni,Id as confirmCheckoutSession,sg as connectEmail,Hd as connectSlack,YY as connectionFromHealth,zY as connectionIsFaulted,GO as connectionSharedWithEveryone,iu as connectorConnect,Yl as connectorConnectConnection,mu as connectorFinalize,Jl as connectorFinalizeConnection,rY as connectorHeadline,dV as contextLabelForTool,KW as contextToolSummary,VW as contextToolTrigger,L0 as convertPresentationToGoogleSlides,WY as convertRuntimePresentation,xs as copyFile,qd as costExportUrl,u2 as countLiveInboxPrompts,jL as countReviewItemsBySegment,sc as createAccount,Om as createAccountAuditWebhook,Rl as createAccountSecretResource,xm as createAccountToken,Hm as createApp,tf as createAppAccessSession,rf as createAppDeployment,Jm as createAppToken,Sf as createAppVolume,vf as createAppVolumeSnapshot,gV as createArtifactKind,em as createAssignment,u0 as createAuditWebhook,Fz as createBackup,BA as createBeeuni,dh as createBeeuniPty,_i as createBeeuniSession,gy as createCaptureEnrollmentToken,Ed as createCheckoutSession,au as createConnector,eY as createConnectorLinkInfoCache,Ps as createFile,xg as createGatewayKey,Eg as createGroup,dI as createHttpSessionSyncController,gB as createMarketplaceInstallSession,sG as createMilestone,sM as createModelVisibility,Yg as createOAuthClient,nL as createPerSeatCheckout,SY as createPersistedQueryCache,l$ as createPolicy,Md as createPortalSession,Ec as createProject,Wq as createProjectAgent,Rm as createProjectCliToken,Ic as createProjectRepo,ul as createProjectResourceGrant,qt as createProjectSession,$c as createProjectSkill,Xp as createProjectTrigger,n_ as createPromptAttachmentController,Ng as createRole,uQ as createSSEStream,hz as createSandbox,pm as createSandboxShare,wu as createSandboxTemplate,YD as createSavedCopyStore,w$ as createScimToken,n0 as createServiceAccountApi,qr as createSessionPrompt,kp as createSessionPublicShare,FA as createSessionQueue,ym as createSessionReminder,N$ as createSsoGroupMapping,Pq as createTask,Tq as createTicket,pQ as createTunnelEventStream,JJ as createWarmSessionPool,gp as currentSavedCopyStore,Sc as declineAccountInvite,$z as declineInvite,tw as deleteAccountImmediately,El as deleteAccountSecretResource,Ym as deleteApp,uf as deleteAppDeployment,d0 as deleteAuditWebhook,qz as deleteBackup,Zq as deleteBeeuniProject,lu as deleteConnector,gu as deleteConnectorCredential,gG as deleteCredential,WB as deleteDriveFile,uh as deleteEnv,Xt as deleteFile,Sg as deleteGatewayBudget,zc as deleteGitHubInstallation,Mg as deleteGroup,cG as deleteMilestone,Xg as deleteOAuthClient,vl as deletePersonalProjectSecret,p$ as deletePolicy,Vq as deleteProjectAgent,Sl as deleteProjectProviderOAuth,pl as deleteProjectResourceGrant,xl as deleteProjectSecret,Fp as deleteProjectSession,ed as deleteProjectTrigger,yn as deletePromptAttachment,Wg as deleteRole,Au as deleteSandboxTemplate,s0 as deleteServiceAccountApi,Dp as deleteSessionPrompt,$o as deleteSessionReminder,bm as deleteSessionReminders,q$ as deleteSsoGroupMapping,U$ as deleteSsoProvider,Aq as deleteTask,jq as deleteTicket,Ty as denyCaptureDeviceGrant,hy as denyCaptureEnrollment,_c as describeAccountInvite,yo as describeConnectorTool,yf as destroyAppMachine,xf as destroyAppVolume,cl as detachGroupFromProject,AA as detectLocalhostUrls,B2 as directSubsessions,r0 as disableServiceAccountApi,og as disconnectEmail,Zd as disconnectSlack,HO as discoverConnectionOAuth2,zO as discoverConnectionOAuth2Resource,cu as discoverConnectorAuth,Pz as discoverLocalSandbox,$B as dismissDriveConflict,bT as downloadAccountAudit,UB as downloadDriveFile,RG as dropClientForUrl,EG as dropPublicClientForUrl,HA as editQueued,jp as editSessionPrompt,NA as enqueue,qq as ensurePmSession,jT as ensurePreviewSessionCookie,WO as ensureProjectConnectorConnection,XC as ensureSandbox,Cp as ensureWarmProjectSession,mv as env,ui as exchangeCode,_f as execInApp,Im as exportAccountAudit,ve as extractGatewayErrorDetails,fC as extractSkillBaseDir,KH as extractSkillContent,dC as extractSkillFiles,vH as extractWorkerPreview,WA as failInFlight,zV as fallbackBusyRowAfterTurnId,Xn as familyForTool,Ba as featureDisabledKey,iy as featureFlags,Zj as fetchAccountStateWithToken,VM as fetchAccountsWithToken,AY as fetchAttachmentPart,DS as fetchBeeuniAppViewer,dL as fetchCostExportCsv,Mu as fetchProjectArchive,RD as fetchProjectFileRaw,oO as fetchProjectsForAccountWithToken,sy as fetchSessionAttachment,Xv as fileDownloadRequest,CH as filePhase,RH as fileVerb,uA as files,No as finalizeAppArtifact,gT as finalizeConnectorSetupLink,dj as findActiveTranscriptShare,bs as findFiles,jK as findLastTextPart,RU as findSessionAttachments,Ss as findText,nd as fireProjectTrigger,xu as fixSandboxWithAgent,XI as flattenModels,OV as flattenThought,kf as forkAppVolume,Fa as formatBillingErrorForUI,cH as formatCost,Pb as formatDuration,VK as formatJsonFailureOutput,LV as formatMessageDay,$V as formatMessageExact,iz as formatOpenCodeRuntimeError,JK as formatRawOutput,QC as formatRuntimeError,lH as formatTokens,ek as formatTranscript,XV as freshSendHint,UA as generateSessionId,oc as getAccount,ac as getAccountBranding,Xx as getAccountDeletionStatus,wd as getAccountState,vd as getAccountStateMinimal,Mk as getAgentCardLabel,Kj as getAgentConfig,Hq as getAgentPersona,eT as getAllVersions,$K as getAnsweredQuestionParts,Uo as getApp,Xm as getAppAccess,Qm as getAppAuthEnv,of as getAppDeployment,af as getAppDeploymentLogs,lB as getApprovalLink,ft as getAuthToken,DO as getAuthTokenWithRetry,Ud as getAutoTopupSettings,tL as getAutoTopupSetupStatus,Jq as getBeeuniProject,Qq as getBeeuniProjectBySession,fh as getBeeuniPtyWebSocketUrl,Rd as getBillingCreditBreakdown,Td as getBillingTierConfigurations,kd as getBillingTransactionsSummary,Cd as getBillingUsageHistory,ky as getCaptureAssetUrl,Ay as getCaptureChunkMedia,xy as getCaptureDays,Ry as getCaptureDeviceGrant,vy as getCaptureFrame,_y as getCapturePolicy,Sy as getCaptureTimeline,Py as getCaptureTimelineItems,Ey as getCaptureWorkspace,Hu as getChangeRequest,zu as getChangeRequestDiff,Yu as getChangeRequestMergePreview,cK as getChildSessionError,Os as getChildSessionId,lK as getChildSessionToolParts,xt as getClient,Je as getClientForUrl,pu as getConnectStatus,VO as getConnectionOAuth2Application,ZO as getConnectionOAuth2Status,eD as getConnectionPolicies,gn as getConnectorCatalog,su as getConnectorConfig,nu as getConnectorPolicies,pT as getConnectorSetupLink,pL as getCostSummary,Mh as getCurrentProject,Sd as getDefaultAccountState,dK as getDiagnostics,Ik as getDirectory,So as getDiscoverConnector,aD as getDiscoverIntegration,Rf as getDriveFileUrl,ng as getEmailInstallation,rg as getEmailMode,S0 as getEnterpriseDemo,_s as getFileStatus,j_ as getFileWithDir,Ek as getFilename,MB as getFolderAccess,jb as getFullChangelog,fg as getGatewayBreakdown,_g as getGatewayBudgets,hg as getGatewayErrors,Pg as getGatewayKeys,dg as getGatewayLog,gg as getGatewayOverview,ag as getGatewayRoutingPolicy,mg as getGatewaySeries,yg as getGatewaySessions,Fc as getGitHubInstallation,j0 as getGoogleAuthUrl,Tg as getGroup,iK as getHiddenToolParts,jz as getInvite,ZC as getLatestSandboxVersion,yO as getManagedGitBackend,tO as getManagedGitStatus,Nm as getMarketplaceCatalogItem,qm as getMarketplaceCatalogItemFile,C$ as getMfaRequired,nG as getMilestone,p_ as getMobileClientPolicy,gd as getModelDefaults,Dy as getMyCaptureFrame,Oy as getMyCaptureTimeline,Mf as getNotificationPreferences,zg as getOAuthClient,lT as getOAuthConsentRequest,nz as getOpenCodeConfigInvalidError,rK as getPartText,J$ as getPatPolicy,gK as getPermissionForTool,Lt as getProject,zq as getProjectActivity,qu as getProjectCommit,Gu as getProjectCommitDiff,wr as getProjectDetail,IB as getProjectDrive,Wu as getProjectFileHistory,Tc as getProjectGitToken,vr as getProjectLlmCatalog,ZM as getProjectLlmCatalogProviders,Xr as getProjectModelAccess,Ar as getProjectModelPicker,Er as getProjectSandboxHealth,nO as getProjectSandboxProviderTransition,Ur as getProjectSession,Gp as getProjectSessionConfigState,Vp as getProjectSessionScope,$d as getProrationPreview,fz as getProviders,g1 as getProxyBaseUrl,TG as getPublicClientForUrl,sT as getPublicMarketplaceItem,oT as getPublicMarketplaceItemFile,K0 as getPublicSessionShare,V0 as getPublicSessionShareMessages,yT as getPublicShareByToken,PT as getPublicTemplate,mK as getQuestionForTool,CL as getReferralCode,IL as getReferralStats,uH as getRetryInfo,pH as getRetryMessage,im as getReviewItem,om as getReviewSummary,Ug as getRolePermissions,Fg as getRoleUsage,na as getRuntimeConfigInvalidError,Kz as getSSHConnection,yz as getSandbox,_z as getSandboxById,uz as getSandboxPortUrl,Db as getSandboxUrl,Ge as getSandboxUrlForExternalId,mT as getSecretSetupLink,Ii as getServerHealth,yG as getServiceLogs,Ep as getSessionAudit,Jr as getSessionCostRecord,aw as getSessionDrives,Uh as getSessionHealth,Mp as getSessionLogPage,Yp as getSessionMessageAuthors,Jp as getSessionModelUsage,gj as getSessionOpenBundle,I$ as getSessionOversight,bp as getSessionParticipants,V$ as getSessionPolicy,vp as getSessionPreviewCandidates,Dl as getSessionProviderSecretPool,Ip as getSessionTranscript,Fr as getSessionTranscriptSync,Nr as getSessionTurn,Sp as getSessionWatch,bH as getShellModePart,eg as getSlackChannelFile,Vd as getSlackInstallation,Xd as getSlackManifest,zd as getSlackMode,L$ as getSsoProvider,EA as getStaticFileHealthPath,_q as getTask,Sq as getTaskStatus,yB as getTemplate,Rq as getTicket,uK as getToolInfo,Ni as getToolPrimaryArg,tk as getTranscriptFilename,oH as getTurnError,aH as getTurnErrorDetails,iH as getTurnErrorRawText,Sb as getTurnStatus,xb as getTurnTokens,Nd as getUsageRollup,Ku as getVersionDiff,Df as getWebPushPublicKey,rH as getWorkingState,Il as grantAccountSecretResource,Iz as grantSandboxProjectAccess,Hj as grantSecretToAgent,OK as groupMessagesIntoTurns,mb as groupShowSegments,ob as groupSteps,dH as hasDiffs,l1 as hasLocalhostUrls,CA as hasPreviewTarget,z_ as hasRetryingAssistantTurn,Av as heartbeatGapEvent,Bp as holdSessionPrompts,Rg as humanizeReviewActionPath,Is as humanizeSearchQuery,U_ as humanizeToolName,$$ as importSsoProviderFromMetadata,l2 as inboxObservationSupersedes,Yb as initialWakeEscalationState,ct as inputPath,hB as installTemplate,Lp as interruptSessionPrompt,mo as invalidateTokenCache,gc as inviteAccountMember,tl as inviteProjectMember,Rc as inviteRepoCollaborator,Ws as isAbortError,XW as isAgentPart,xA as isAppRouteUrl,sK as isAttachment,CT as isAttachmentPartRef,pn as isAuthFailure,Ua as isBillingError,ZW as isCompactionPart,to as isConfigured,WW as isContextTool,MS as isEmptyConversation,Jo as isEmptyShowPart,WK as isErrorOutput,S1 as isExternalUrl,$a as isFeatureDisabledError,L_ as isFilePart,y1 as isInternalLocalhostUrl,ty as isInvisibleActivityPart,PO as isInviteSent,nH as isLastUserMessage,JT as isLegacyMigratedSession,XM as isManagedGithubProject,ey as isNoGroupActivityTool,Oa as isOfferedModel,rz as isOpenCodeConfigInvalidError,Sx as isPaintableSavedCopy,tK as isPatchPart,bY as isPersistableQueryKey,f1 as isPreviewUrl,IA as isProxiableLocalhostUrl,Zf as isQuestionTool,Ae as isReasoningPart,lR as isRetryableTurnError,VC as isRuntimeConfigInvalidError,YC as isRuntimeNotReadyResponse,Bh as isRuntimeReady,oz as isRuntimeStartingError,rr as isSandboxNotReadyError,ti as isSelectableAgent,Oh as isServerReachable,kU as isSessionAttachmentRef,rp as isSessionFresh,WE as isSessionLogRestoreNote,Rj as isSessionStartError,hU as isShellActivityTool,uC as isShellMode,wH as isShortOutput,rU as isShowContentUnavailable,es as isShowPayloadEmpty,eK as isSnapshotPart,ny as isStandaloneActivityTool,nK as isStepPart,Vs as isSubdomainPreviewUrl,Xe as isTextPart,ne as isToolPart,aK as isToolPartHidden,Bf as isTurnErrorCode,vh as isUnderSandboxRoot,b1 as isWebProxyUrl,pv as isWireIdAheadOf,aM as latestPromptModel,wc as leaveAccount,py as linkCaptureDevice,Vc as linkGitHubInstallation,Bc as linkRepository,Tm as listAccountAudit,Mm as listAccountAuditWebhooks,mc as listAccountInvites,dc as listAccountMembers,r$ as listAccountResourceGrants,kl as listAccountSecretResources,z$ as listAccountSessions,Pm as listAccountTokens,rc as listAccounts,h$ as listActions,$g as listAgentIdentities,Ul as listAllConnections,Zm as listAppAgents,sf as listAppDeployments,df as listAppMachines,wf as listAppVolumeSnapshots,bf as listAppVolumes,Vm as listApps,Zg as listAssignments,g0 as listAuditEvents,l0 as listAuditWebhooks,Uz as listBackups,Xq as listBeeuniProjectSessions,Yq as listBeeuniProjects,ph as listBeeuniPty,Ad as listBillingTransactions,ly as listCaptureDevices,dy as listCaptureEnrollmentTokens,fy as listCaptureEnrollments,Vu as listChangeRequests,SL as listChannelBindings,Lq as listColumns,oD as listConnectSections,sD as listConnectToolkits,Bl as listConnections,ho as listConnectorAccounts,fo as listConnectorTools,Ql as listConnectors,uL as listCostByProject,uG as listCredentialEvents,lG as listCredentials,bo as listDiscoverConnectors,iD as listDiscoverIntegrations,uu as listDiscoverSections,LB as listDriveConflicts,BB as listDriveFiles,ow as listDriveFolder,KB as listDriveVersions,ch as listEnv,Fm as listFeaturedMarketplaces,Bq as listFields,Bn as listFiles,jB as listFolderPrincipals,pg as listGatewayLogs,Nc as listGitHubInstallations,Gc as listGitHubRepositories,Wc as listGitHubRepositoryBranches,Og as listGroupMembers,JL as listGroupProjectGrants,Cg as listGroups,qc as listLinkableGitHubInstallations,Bm as listMarketplaceCatalogItems,Gm as listMarketplaceSources,Um as listMarketplaces,QL as listMemberGroups,XL as listMemberProjectAccess,rG as listMilestoneEvents,tG as listMilestones,hc as listMyAccountInvites,Ef as listNotifications,Hg as listOAuthClients,vm as listOAuthGrants,dl as listPendingApprovals,nl as listPendingProjectInvites,nm as listPermissions,c$ as listPolicies,Xc as listProjectAccess,Yc as listProjectAccessRequests,Bg as listProjectAgentIdentities,Gq as listProjectAgents,Em as listProjectAudit,Fu as listProjectBranches,km as listProjectCliTokens,Nu as listProjectCommits,Tu as listProjectDirectory,Cu as listProjectFiles,ol as listProjectGroupGrants,hu as listProjectPolicies,bl as listProjectProviderOAuth,Sm as listProjectReminders,ll as listProjectResourceGrants,bu as listProjectSandboxTemplates,Ru as listProjectSandboxes,fl as listProjectSecrets,Nt as listProjectSessions,hp as listProjectSessionsPage,Su as listProjectSnapshots,sd as listProjectTriggerEventApps,rd as listProjectTriggerEventTypes,Qp as listProjectTriggers,jt as listProjects,kc as listProjectsForAccount,nT as listPublicMarketplaceItems,rT as listPublicMarketplaces,ML as listReferrals,sm as listReviewItems,Lg as listRoles,Ez as listSandboxProjectMembers,um as listSandboxShares,Sz as listSandboxes,x$ as listScimTokens,t0 as listServiceAccountsApi,fG as listServiceTemplates,mG as listServices,nD as listSessionConnectRequests,Gd as listSessionCosts,HB as listSessionDrives,Op as listSessionPrompts,jl as listSessionProviderSecretPools,Ap as listSessionPublicShares,fm as listSessionReminders,gl as listSessionsNeedingInput,Z0 as listSignedInDevices,F$ as listSsoGroupMappings,bq as listTaskEvents,hq as listTasks,Fq as listTemplates,Cq as listTicketEvents,kq as listTickets,pI as loadHttpSessionHistory,bt as loadPreviewUrlTemplate,J_ as looksLikeError,sV as looksLikeHtml,YK as looksLikeJsonPayload,qB as makeDriveFolder,$L as mapApiReviewItem,If as markNotificationsRead,Lr as markSessionFresh,rh as maxWireIdClock,MH as memoryRelPath,ib as mergeBurstSteps,Qu as mergeChangeRequest,jV as messageCreatedAt,ZR as messageTime,wi as mintWireMessageId,oh as mintWireMessageIdAbove,qn as mkdir,oM as modelInDefaultView,ka as modelRefToKey,GB as moveDriveFile,nb as narrateFailedStep,Ns as narrateStep,Fs as narrationToolName,kv as narrowChatEvent,dv as newestWireIdClock,nY as nextConnectorPollDelay,Se as normalizeActivityToolName,qF as normalizeCaptureAppId,NF as normalizeCaptureDomain,P1 as normalizeExternalInput,te as normalizeName,B_ as normalizeToolName,ZT as notifyHostSignal,Ju as openChangeRequest,Ri as openEventStream,yu as paginateConnector,fr as parseBillingError,XK as parseEmbeddedFailure,MU as parseFlagOverride,mR as parseJsonFailure,ks as parseLocalhostUrl,OH as parseMemoryView,tz as parseOpenCodeErrorPayload,BH as parsePresentationOutput,$h as parseProxyHop,Rb as parseQuestionAnswersFromOutput,qH as parseReadOutput,Ob as parseRuntimeErrorPayload,fR as parseScrapeInputUrls,hR as parseScrapeOutput,zh as parseSubdomainUrl,AH as parseTaskRows,_1 as parseWebProxyUrl,X_ as parseWebSearchOutput,Hi as partOutcome,eG as patchBeeuniProject,LH as patchVerb,JI as pickerProviderList,C as platformConfig,XO as pollConnectionOAuth2DeviceAuthorization,po as pollProjectProviderOAuth,ug as previewGatewayRoute,T$ as previewMfaRequired,_L as previewSlackIdentity,bL as previewTeamsIdentity,Kg as probeEffectivePermission,Vg as probeEffectivePermissions,UY as probePreviewPort,Ou as projectArchiveRequest,S2 as projectCompacting,MI as projectConfigAgentsToOpenCodeAgents,US as projectConfigAgentsToRuntimeAgents,HY as projectSessionConnection,U2 as projectSessionForRuntimeId,ld as projectSessionStartSeed,d2 as projectWorking,Mc as provisionProject,eO as provisionProjectStream,iO as provisionProjectWithToken,Vh as proxyLocalhostUrl,m1 as proxyUrlToInternal,Bd as purchaseCredits,KO as putConnectionOAuth2Application,Es as rawErrorText,Az as reactivateSandbox,Dd as reactivateSubscription,va as readBeeuniMember,Fn as readBlob,FB as readDriveFile,Un as readFile,Iu as readProjectFile,SI as readSavedSessionCopy,Zi as reasoningIsRunning,Pu as rebuildProjectSnapshot,Fl as reconcileConnection,Nl as reconcileMemberConnection,_G as reconcileServices,cT as recordPlatformLogout,zi as recoverLinkResults,Np as recoverProjectSession,TL as refreshReferralCode,vn as refreshSession,Fo as registerAppArtifact,YO as registerConnectionOAuth2Client,Cf as registerDeviceToken,bG as registerService,jf as registerWebPushSubscription,Qc as rejectProjectAccessRequest,pK as relativizePath,Wp as reloadProjectSessionConfig,Kp as reloadProjectSessionConfigStream,jm as removeAccountAuditWebhook,uc as removeAccountBrandingAsset,Pc as removeAccountMember,mh as removeBeeuniPty,jg as removeGroupMember,Km as removeMarketplaceSource,VA as removeQueued,Vl as renameConnection,vs as renameFile,bz as renameSandbox,Zu as reopenChangeRequest,aG as reopenMilestone,zA as reorderQueued,$q as replaceColumns,Uq as replaceFields,Uc as replaceProjectRepository,Nq as replaceTemplates,Zx as requestAccountDeletion,ep as requestChangesOnChangeRequest,SO as requestProjectAccess,$m as requestProjectConnector,Lm as requestProjectSecret,eL as requestTopUp,kI as requireBeeuniMember,yc as resendAccountInvite,sl as resendPendingProjectInvite,pc as resetAccountBranding,CG as resetClient,lg as resetGatewayRoutingPolicy,pi as resetPassword,IG as resetPublicClient,ml as resolveApproval,II as resolveComposerAgent,uM as resolveComposerModel,tY as resolveConnectorStart,iM as resolveModelDefault,pj as resolvePublicShareUrl,oV as resolveScrapeResults,_b as resolveWorkingTurn,Xj as resolvedPlan,ff as restartAppMachine,Gr as restartProjectSession,xz as restartSandbox,Af as restoreAppVolume,Nz as restoreBackup,VB as restoreDriveVersion,qp as restoreProjectSession,Tl as retryAccountSecretResource,KA as retryFailed,$p as retrySessionPrompt,dG as revealCredential,kg as reviewItemTarget,Fx as reviewSegmentForStatus,GL as reviewVerdictAllowed,LL as reviewVerdictForStatus,Ml as revokeAccountSecretResourceGrant,Y$ as revokeAccountSession,wm as revokeAccountToken,tm as revokeAssignment,uy as revokeCaptureDevice,my as revokeCaptureEnrollmentToken,Gl as revokeConnection,wg as revokeGatewayKey,Am as revokeOAuthGrant,rl as revokePendingProjectInvite,el as revokeProjectAccess,Cm as revokeProjectCliToken,Mz as revokeSandboxProjectAccess,dm as revokeSandboxShare,v$ as revokeScimToken,Rp as revokeSessionPublicShare,vt as rewriteLocalhostUrl,pf as rollbackApp,QT as rootRuntimeSession,Cl as rotateAccountSecretResource,Qg as rotateOAuthClientSecret,wo as runConnector,vg as runGatewayPlayground,AO as runProjectProviderOAuthFlow,pa as runtimeSessionsOf,dA as runtimeSupports,bv as sanitizePtyChunk,Kc as saveGitHubInstallation,IS as savedCopyEmptyRoot,hf as scaleApp,jd as scheduleDowngrade,wy as searchCapture,$l as searchConnectorTools,My as searchMyCapture,Eu as searchProjectFiles,db as segmentTurn,jU as selectableProjectAgents,ai as sendMagicLink,OL as sendReferralEmails,x2 as serverCompactionRevalidateAtMs,hG as serviceAction,D2 as sessionConnectionLabel,O2 as sessionListStatus,ME as sessionLogActivityText,UE as sessionLogAnsweredQuestionCall,jE as sessionLogBurstRunning,IE as sessionLogBurstSteps,OE as sessionLogBurstSummary,DE as sessionLogBurstWorkLabel,dE as sessionLogCallStatus,QE as sessionLogFullTextAction,XE as sessionLogFullTextPlan,KE as sessionLogHarnessSwitches,cE as sessionLogOfV1Rows,LE as sessionLogOpenCall,gE as sessionLogPromptMessage,zE as sessionLogReferencedTexts,HE as sessionLogRestoreNotice,mS as sessionLogRetrying,BE as sessionLogShowGroupCall,qE as sessionLogThreadMetrics,RE as sessionLogTurnSegments,_a as sessionLogTurns,ZE as sessionLogWithFullTexts,lM as sessionModelCandidates,Kr as sessionModelPin,cj as sessionParentId,fj as sessionPromptActions,Cj as sessionStartKey,Ol as setAccountSecretResourceAccess,hd as setAgentScope,LO as setBootstrapAuthToken,jO as setCachedAuthToken,Iy as setCaptureEnabled,by as setCapturePolicy,tD as setConnectionPolicies,eu as setConnectorAuthorizationStrategy,du as setConnectorCredential,Zl as setConnectorCredentialMode,ou as setConnectorName,ru as setConnectorPolicies,cD as setConnectorSecretBinding,tu as setConnectorSensitive,Kl as setDefaultConnection,P0 as setEnterpriseDemo,lh as setEnv,bg as setGatewayBudget,cg as setGatewayRoutingPolicy,_$ as setMemberSuperAdmin,E$ as setMfaRequired,md as setModelDefault,wl as setPersonalProjectSecret,Zr as setProjectModelAccess,jj as setProjectModelEnablement,Lc as setProjectOnboardingComplete,sO as setProjectOnboardingProfile,_u as setProjectPolicies,hl as setProjectSecretStrategy,zp as setProjectSessionModel,Hp as setProjectSessionScope,_p as setProjectSessionSharing,td as setProjectTriggersActivation,JD as setSavedCopyStore,wp as setSessionArchived,M$ as setSessionOversight,xp as setSessionPinned,Ll as setSessionProviderSecretPool,Pp as setSessionWatch,QY as settleSessionConnection,Wz as setupSSH,zl as shareConnection,OB as shareFolder,_U as shellActivityGroupLabel,Eb as shellExitCode,sH as shouldHideResponsePart,zn as shouldShowToolPart,HV as shouldSuppressWorkingTurnBusy,fb as showGroupItems,yb as showTurnBusyIndicator,ii as signInWithPassword,li as signInWithProvider,fi as signInWithSso,hi as signOut,eB as signOutDevice,oi as signUp,HH as skillDocumentPath,VH as skillInputDir,UK as sortSessions,TE as splitSessionLogTurnWork,vb as splitTurnWork,oK as splitUserParts,cf as startApp,gf as startAppMachine,JO as startConnectionOAuth2Authorization,QO as startConnectionOAuth2DeviceAuthorization,dT as startConnectorSetupLink,uo as startProjectProviderOAuth,ht as startProjectSession,pd as startProjectSessionOrThrow,hT as startSessionWithToken,wq as startTask,Zn as stepLabel,lf as stopApp,mf as stopAppMachine,Wr as stopProjectSession,wz as stopSandbox,Hc as storeGitHubUserToken,fK as stripAnsi,me as stripTrailingSlashes,NE as subAgentCalls,aT as submitAccessRequest,_T as submitDemoRequest,uT as submitOAuthConsent,am as submitReviewItem,fT as submitSecretSetupLink,Xl as syncConnectors,sL as syncSubscription,MG as systemReload,wt as toDaemonPath,MA as toInternalUrl,$n as toSandboxAbsolutePath,N_ as toToolView,Ah as toWorkspaceRelative,cs as toolCallBlock,Lw as toolCallError,Ow as toolCallMetadata,jw as toolCallRawOutput,Dw as toolCallStatus,qi as toolInfo,ue as toolKind,FC as toolViewModel,NL as triggerControlsFrom,fv as triggersRequest,WT as turnEndCause,h2 as turnEndNotice,LK as turnHasSteps,YV as turnIsConfirmedActive,JV as turnRendersQueued,L2 as turnRetryLabel,Oq as unassignTicket,Tf as unregisterDeviceToken,Lf as unregisterWebPushSubscription,DB as unshareFolder,Pe as unwrapError,Dm as updateAccountAuditWebhook,cc as updateAccountBranding,xc as updateAccountMemberRole,ic as updateAccountName,Vj as updateAgentConfig,zm as updateApp,ef as updateAppAccess,Pf as updateAppVolume,p0 as updateAuditWebhook,gh as updateBeeuniPty,np as updateChangeRequest,PL as updateChannelBinding,ql as updateConnectionCredential,ig as updateEmailPolicy,Dc as updateExperimentalFeature,Oc as updateFeatureFlag,Ig as updateGroup,oG as updateMilestone,Of as updateNotificationPreferences,Jg as updateOAuthClient,di as updatePassword,Q$ as updatePatPolicy,u$ as updatePolicy,kr as updateProject,Zc as updateProjectAccess,Kq as updateProjectAgent,_d as updateProjectDefaultAgent,al as updateProjectGroupGrant,jc as updateProjectSandboxProvider,Up as updateProjectSession,Zp as updateProjectTrigger,qg as updateRole,Gg as updateRolePermissions,vu as updateSandboxTemplate,H$ as updateSessionPolicy,Lo as updateSessionReminder,_m as updateSessionReminders,xq as updateTask,rO as updateTemplateWarmPool,Eq as updateTicket,Iq as updateTicketStatus,mi as updateUserMetadata,lc as uploadAccountBrandingAsset,nf as uploadAppArtifactArchive,_o as uploadConnectorAttachment,NB as uploadDriveFile,Nn as uploadFile,oA as uploadNativeFile,jr as uploadPromptAttachment,ry as uploadSessionAttachment,tg as uploadSlackChannelFile,Dn as uploadTimeoutMsForBytes,pG as upsertCredential,Pl as upsertProjectGitCredential,yl as upsertProjectSecret,Cc as validateProjectManifest,EL as validateReferralCode,vc as validateToken,TI as verifyBeeuniToken,AL as verifyGatewayProvider,ci as verifyOtp,B$ as verifySsoDomain,E2 as wakeEscalationAttemptSummary,T2 as wakeEscalationNote,R2 as wakeProgressFingerprint,zt as wireIdClock,Tn as wireIdClockAt,Yt as wireIdClockDelta,yH as workedForLabel,g2 as workingExpiryAtMs,QV as workingTurnDrawsBusyRow,bU as writeActivityGroupLabel,ws as writeFile,Yi as wsDomain,rV as wsFavicon,nV as wsRootDomain};