@beeuni/sdk 0.2.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.
- package/README.md +19 -10
- package/dist/beeuni.esm.min.js +37 -35
- package/dist/beeuni.global.js +37 -35
- package/dist/browser/cache/idb-sync-cache.js +15 -5
- package/dist/browser/session-sync/server-transcript-mirror.d.ts +7 -1
- package/dist/browser/session-sync/server-transcript-mirror.js +30 -24
- package/dist/browser/session-sync/session-sync-registry.d.ts +3 -1
- package/dist/browser/session-sync/session-sync-registry.js +48 -3
- package/dist/browser/stores/sync-store/keep-unchanged.d.ts +4 -0
- package/dist/browser/stores/sync-store/keep-unchanged.js +34 -0
- package/dist/browser/stores/sync-store.d.ts +1 -0
- package/dist/browser/stores/sync-store.js +72 -16
- package/dist/core/attachments/prompt-attachments.d.ts +4 -0
- package/dist/core/attachments/prompt-attachments.js +34 -0
- package/dist/core/capture/rules.d.ts +17 -0
- package/dist/core/capture/rules.js +27 -0
- package/dist/core/client/beeuni.d.ts +92 -5
- package/dist/core/client/beeuni.js +2 -0
- package/dist/core/client/capture.d.ts +105 -0
- package/dist/core/client/capture.js +48 -0
- package/dist/core/client/facade-identity.d.ts +1 -0
- package/dist/core/client/facade-identity.js +1 -0
- package/dist/core/client/project-access-resources.d.ts +3 -1
- package/dist/core/client/project-access-resources.js +1 -1
- package/dist/core/client/project-operations-admin.d.ts +4 -4
- package/dist/core/client/project-operations-review.d.ts +2 -3
- package/dist/core/client/project-operations-review.js +1 -0
- package/dist/core/client/project-operations-workspace.d.ts +4 -4
- package/dist/core/client/project-operations-workspace.js +1 -1
- package/dist/core/client/project-operations.d.ts +5 -4
- package/dist/core/client/session-context.d.ts +2 -0
- package/dist/core/client/session-handle.d.ts +13 -0
- package/dist/core/client/session-lifecycle-resources.d.ts +11 -0
- package/dist/core/client/session-lifecycle-resources.js +4 -0
- package/dist/core/client/session-lifecycle-security.d.ts +2 -0
- package/dist/core/client/session-lifecycle-security.js +1 -0
- package/dist/core/client/session-readiness.d.ts +2 -0
- package/dist/core/client/session-readiness.js +20 -1
- package/dist/core/http/api-client.d.ts +1 -0
- package/dist/core/http/api-client.js +1 -0
- package/dist/core/http/config.d.ts +2 -0
- package/dist/core/http/response-error.js +26 -11
- package/dist/core/http/transport.js +6 -1
- package/dist/core/models/composer-model.d.ts +14 -0
- package/dist/core/models/composer-model.js +21 -1
- package/dist/core/rest/platform-client/capture.d.ts +363 -0
- package/dist/core/rest/platform-client/capture.js +116 -0
- package/dist/core/rest/platform-client/index.d.ts +1 -0
- package/dist/core/rest/platform-client/index.js +1 -0
- package/dist/core/rest/platform-client/lifecycle.js +18 -12
- package/dist/core/rest/platform-client/shared.d.ts +5 -0
- package/dist/core/rest/platform-client/shared.js +18 -0
- package/dist/core/rest/projects-client/account-secret-resources.d.ts +2 -1
- package/dist/core/rest/projects-client/accounts.d.ts +34 -0
- package/dist/core/rest/projects-client/accounts.js +10 -0
- package/dist/core/rest/projects-client/admin-providers.d.ts +0 -61
- package/dist/core/rest/projects-client/admin-providers.js +0 -6
- package/dist/core/rest/projects-client/agent-config.d.ts +3 -0
- package/dist/core/rest/projects-client/apps-fleet.d.ts +5 -1
- package/dist/core/rest/projects-client/apps-fleet.js +2 -2
- package/dist/core/rest/projects-client/apps.d.ts +3 -0
- package/dist/core/rest/projects-client/change-requests.d.ts +2 -0
- package/dist/core/rest/projects-client/change-requests.js +2 -0
- package/dist/core/rest/projects-client/connectors.d.ts +7 -0
- package/dist/core/rest/projects-client/connectors.js +3 -0
- package/dist/core/rest/projects-client/files.d.ts +3 -0
- package/dist/core/rest/projects-client/files.js +4 -0
- package/dist/core/rest/projects-client/gateway.d.ts +5 -0
- package/dist/core/rest/projects-client/iam-actions.d.ts +76 -0
- package/dist/core/rest/projects-client/iam-actions.js +101 -0
- package/dist/core/rest/projects-client/iam.d.ts +1 -0
- package/dist/core/rest/projects-client/iam.js +1 -0
- package/dist/core/rest/projects-client/notifications.d.ts +1 -1
- package/dist/core/rest/projects-client/notifications.js +4 -0
- package/dist/core/rest/projects-client/projects.d.ts +3 -2
- package/dist/core/rest/projects-client/projects.js +2 -3
- package/dist/core/rest/projects-client/review-items.d.ts +2 -0
- package/dist/core/rest/projects-client/review-items.js +4 -0
- package/dist/core/rest/projects-client/review.d.ts +17 -3
- package/dist/core/rest/projects-client/review.js +11 -0
- package/dist/core/rest/projects-client/secrets.d.ts +3 -0
- package/dist/core/rest/projects-client/session-attachments.js +14 -1
- package/dist/core/rest/projects-client/sessions.d.ts +29 -2
- package/dist/core/rest/projects-client/sessions.js +34 -4
- package/dist/core/runtime/runtime-rest-client.js +1 -1
- package/dist/core/runtime/runtime-types.d.ts +1 -0
- package/dist/core/session/open-bundle.d.ts +4 -4
- package/dist/core/session/open-bundle.js +29 -46
- package/dist/core/session/turn-end-watch.d.ts +47 -0
- package/dist/core/session/turn-end-watch.js +141 -0
- package/dist/core/session-log/index.d.ts +4 -0
- package/dist/core/session-log/index.js +3 -0
- package/dist/core/session-log/tool-call.d.ts +7 -2
- package/dist/core/session-log/tool-call.js +25 -6
- package/dist/core/session-log/turns/blocks.d.ts +60 -0
- package/dist/core/session-log/turns/blocks.js +124 -0
- package/dist/core/session-log/turns/history.d.ts +32 -0
- package/dist/core/session-log/turns/history.js +99 -0
- package/dist/core/session-log/turns/index.d.ts +4 -0
- package/dist/core/session-log/turns/index.js +4 -0
- package/dist/core/session-log/turns/metrics.d.ts +21 -0
- package/dist/core/session-log/turns/metrics.js +29 -0
- package/dist/core/session-log/turns/turn.d.ts +55 -0
- package/dist/core/session-log/turns/turn.js +279 -0
- package/dist/core/session-log/turns/v1-parts.d.ts +8 -0
- package/dist/core/session-log/turns/v1-parts.js +43 -0
- package/dist/core/session-log/v1-view.d.ts +5 -2
- package/dist/core/session-log/v1-view.js +86 -22
- package/dist/core/session-log/v1.js +10 -3
- package/dist/core/session-sync/saved-transcript.d.ts +15 -1
- package/dist/core/session-sync/saved-transcript.js +55 -0
- package/dist/core/session-sync/session-sync-controller.js +3 -0
- package/dist/core/stream/event-stream.js +3 -3
- package/dist/core/turns/classify.js +4 -2
- package/dist/core/turns/edit-blocks.d.ts +1 -0
- package/dist/core/turns/edit-blocks.js +15 -0
- package/dist/core/turns/segments/burst-summary.d.ts +1 -0
- package/dist/core/turns/segments/burst-summary.js +24 -0
- package/dist/core/turns/segments/group-steps.d.ts +4 -3
- package/dist/core/turns/segments/group-steps.js +9 -6
- package/dist/core/turns/segments/narration.d.ts +5 -4
- package/dist/core/turns/segments/narration.js +12 -3
- package/dist/core/turns/segments/session-activity-groups.d.ts +2 -1
- package/dist/core/turns/segments/session-activity-groups.js +3 -1
- package/dist/core/turns/segments/step-label.d.ts +2 -1
- package/dist/core/turns/segments/step-label.js +3 -1
- package/dist/core/turns/segments/working-turn.d.ts +4 -2
- package/dist/core/turns/segments/working-turn.js +9 -8
- package/dist/core/turns/tool-kind.d.ts +1 -1
- package/dist/core/turns/tool-kind.js +3 -2
- package/dist/core/turns/tool-registry.js +1 -0
- package/dist/core/turns/tools/tool-meta.d.ts +1 -1
- package/dist/core/turns/tools/tool-meta.js +3 -2
- package/dist/core/turns/view-model.js +1 -13
- package/dist/genui/catalog.d.ts +28 -0
- package/dist/genui/catalog.js +396 -0
- package/dist/genui/expansion.d.ts +3 -0
- package/dist/genui/expansion.js +295 -0
- package/dist/genui/fence-entry.d.ts +2 -0
- package/dist/genui/fence-entry.js +1 -0
- package/dist/genui/fence.d.ts +21 -0
- package/dist/genui/fence.js +138 -0
- package/dist/genui/index.d.ts +6 -0
- package/dist/genui/index.js +6 -0
- package/dist/genui/markdown.d.ts +12 -0
- package/dist/genui/markdown.js +104 -0
- package/dist/genui/parse.d.ts +6 -0
- package/dist/genui/parse.js +75 -0
- package/dist/genui/prompt.d.ts +2 -0
- package/dist/genui/prompt.js +206 -0
- package/dist/genui/react/default-components.d.ts +2 -0
- package/dist/genui/react/default-components.js +72 -0
- package/dist/genui/react/default-components.test.d.ts +1 -0
- package/dist/genui/react/default-components.test.js +94 -0
- package/dist/genui/react/genui-block-disabled.test.d.ts +1 -0
- package/dist/genui/react/genui-block-disabled.test.js +50 -0
- package/dist/genui/react/genui-block.d.ts +28 -0
- package/dist/genui/react/genui-block.js +91 -0
- package/dist/genui/react/genui-block.test.d.ts +1 -0
- package/dist/genui/react/genui-block.test.js +205 -0
- package/dist/genui/react/index.d.ts +2 -0
- package/dist/genui/react/index.js +2 -0
- package/dist/genui/share.d.ts +5 -0
- package/dist/genui/share.js +30 -0
- package/dist/genui/test-fixtures.d.ts +2 -0
- package/dist/genui/test-fixtures.js +16 -0
- package/dist/genui/types.d.ts +29 -0
- package/dist/genui/types.js +1 -0
- package/dist/genui/urls.d.ts +1 -0
- package/dist/genui/urls.js +18 -0
- package/dist/genui/validate.d.ts +9 -0
- package/dist/genui/validate.js +116 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/internal/connector-catalog.d.ts +1 -0
- package/dist/platform/ui.d.ts +8 -2
- package/dist/platform/ui.js +19 -4
- package/dist/react/chat/use-chat-turns.d.ts +1 -1
- package/dist/react/human-presence.d.ts +9 -0
- package/dist/react/human-presence.js +12 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.js +4 -0
- package/dist/react/opencode.d.ts +1 -1
- package/dist/react/opencode.js +1 -1
- package/dist/react/query-contracts.d.ts +6 -0
- package/dist/react/query-contracts.js +6 -0
- package/dist/react/query-keys.d.ts +17 -1
- package/dist/react/query-keys.js +24 -1
- package/dist/react/reset-identity-state.js +2 -0
- package/dist/react/session-cache-write.d.ts +1 -0
- package/dist/react/session-cache-write.js +20 -0
- package/dist/react/session-transcript-subscription.js +1 -1
- package/dist/react/sign-in-with-beeuni.d.ts +5 -5
- package/dist/react/turn-end-handoff.d.ts +13 -0
- package/dist/react/turn-end-handoff.js +101 -0
- package/dist/react/use-admin-providers.d.ts +0 -3
- package/dist/react/use-admin-providers.js +1 -11
- package/dist/react/use-capture.d.ts +47 -0
- package/dist/react/use-capture.js +173 -0
- package/dist/react/use-feature-flag.js +1 -0
- package/dist/react/use-opencode-events/handle-interaction-event.js +8 -3
- package/dist/react/use-opencode-events/handle-session-event.js +13 -8
- package/dist/react/use-opencode-events/handler-context.d.ts +1 -0
- package/dist/react/use-opencode-events/helpers.d.ts +1 -0
- package/dist/react/use-opencode-events/helpers.js +11 -1
- package/dist/react/use-opencode-local.d.ts +5 -1
- package/dist/react/use-opencode-local.js +15 -2
- package/dist/react/use-opencode-sessions/commands.d.ts +11 -1
- package/dist/react/use-opencode-sessions/commands.js +21 -1
- package/dist/react/use-opencode-sessions/permissions.js +28 -1
- package/dist/react/use-project-sessions.d.ts +1 -1
- package/dist/react/use-project-sessions.js +6 -5
- package/dist/react/use-prompt-attachments.js +1 -0
- package/dist/react/use-review-summary.d.ts +13 -0
- package/dist/react/use-review-summary.js +32 -0
- package/dist/react/use-runtime-reconnect.js +2 -2
- package/dist/react/use-session-list-state.d.ts +6 -0
- package/dist/react/use-session-list-state.js +33 -0
- package/dist/react/use-session-log.d.ts +3 -2
- package/dist/react/use-session-log.js +26 -17
- package/dist/react/use-session-messages.d.ts +2 -1
- package/dist/react/use-session-messages.js +15 -14
- package/dist/react/use-session-stream.js +12 -1
- package/dist/react/use-session-sync.d.ts +2 -2
- package/dist/react/use-session-sync.js +10 -8
- package/dist/react/use-session-transcript-history.js +2 -12
- package/dist/react/use-session-working.d.ts +2 -0
- package/dist/react/use-session-working.js +10 -0
- package/dist/react/use-session.d.ts +6 -0
- package/dist/react/use-session.js +87 -7
- package/package.json +49 -3
package/dist/beeuni.esm.min.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
var Nb={backendUrl:"",getToken:async()=>null},Ss=null,Qn=null;function $C(e){Qn=e}function UC(){return Qn}function xs(e,t){t?.global!==!1&&(Ss=e)}function R(){return Qn?.()??Ss??Nb}function ws(){return Ss!==null||Qn?.()!==void 0}function qb(e){return new Promise(t=>setTimeout(t,e))}async function Xn(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 qb(s)),i=await e(),i)return i;return i}var As=12e4;function Gb(e){return(e instanceof Request?e.url:String(e)).includes("/global/event")}function Bi(e,t,n=As){let r=e instanceof Request?e.signal:t?.signal;if(Gb(e))return r??void 0;let s=AbortSignal.timeout(n);return r?typeof AbortSignal.any=="function"?AbortSignal.any([r,s]):r:s}function Zn(){return new Response(JSON.stringify({error:"Not authenticated"}),{status:401,headers:{"Content-Type":"application/json"}})}var _=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)}},oe=class extends _{constructor(t="Not authenticated"){super(t,{code:"NO_SESSION"}),this.name="AuthError"}},rt=class extends _{constructor(t,n,r,s={}){super(r||n.message||`Billing Error: ${t}`,{...s,status:t,detail:n}),this.name="BillingError"}},wt=class extends _{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"}},Wb="ENDPOINT_RETIRED";function G(e,t){let n=t?` ${t}`:"";return new _(`${e}() is retired: the Beeuni API no longer serves this endpoint.${n}`,{code:Wb})}var vs="feature_disabled";function Fi(e){if(!(e instanceof _)||e.status!==403||e.code!==vs)return null;let t=e.details??e.data;return t&&typeof t=="object"?t:{}}function Ni(e){let t=Fi(e);return t?(typeof t.feature=="string"&&!e.feature&&(e.feature=t.feature),!0):!1}function qi(e){let t=Fi(e);if(!t)return null;let n=e.feature;return typeof n=="string"?n:typeof t.feature=="string"?t.feature:null}function er(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 rt(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 Gi(e){return e instanceof rt}function en(e){if(e instanceof oe)return!0;let t=e?.status;return t===401||t===403}function Wi(e){if(!(e instanceof rt))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 be(){return typeof DOMException=="function"?new DOMException("Aborted","AbortError"):Object.assign(new Error("Aborted"),{name:"AbortError"})}function _e(e,t){return new Promise((n,r)=>{let s=()=>{t.removeEventListener("abort",s),r(be())};t.addEventListener("abort",s,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener("abort",s)),t.aborted&&s()})}function tr(e,t){return new Promise((n,r)=>{let s=()=>{clearTimeout(o),t?.removeEventListener("abort",s),r(be())},o=setTimeout(()=>{t?.removeEventListener("abort",s),n()},e);t?.aborted?s():t?.addEventListener("abort",s,{once:!0})})}var Ki="request_deadline",Kb=/^Request exceeded the \d+s server processing deadline$/,Vi=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===Ki||Kb.test(n),Vb="git_mirror_unavailable",Hb=/^git mirror is temporarily unavailable$/,zb=(e,t,n)=>e!==503?!1:(typeof t=="object"&&t!==null&&"code"in t?t.code:void 0)===Vb||Hb.test(n);async function Yb(e,t){let n=`HTTP ${e.status}: ${e.statusText}`,r=null;try{r=await _e(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 be();return{message:n,data:r}}function Jb(e,t,n){return Vi(e,t,n)||zb(e,t,n)||e===501&&t?.code===zi||e===409&&(t?.code===Yi||t?.code===Ji)||e===503&&(t?.code===Qi||t?.code===Xi)}async function Hi(e,t,n,r){let{message:s,data:o}=await Yb(e,t),i=new _(s,{status:e.status,response:e,details:o||void 0,data:o,detail:o?.detail,code:Vi(e.status,o,s)?Ki:o?.code||o?.error_code||o?.detail?.error_code||e.status.toString()});e.status===402&&(i=er(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 wt(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&&!Jb(e.status,o,s)&&R().onError?.(i,r),{error:i,success:!1}}var Qb="X-Beeuni-Impersonate",Zi="beeuni.impersonation",At=null,ks=!1,Xb=new Set;function ea(){try{return typeof sessionStorage>"u"?null:sessionStorage}catch{return null}}function Zb(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 e_(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 t_(){for(let e of Xb)try{e()}catch{}}function n_(){return ks||(ks=!0,At=e_(ea()?.getItem(Zi)??null)),At&&!Zb(At)?(r_(),null):At}function r_(){ks=!0;let e=At!==null;At=null;try{ea()?.removeItem(Zi)}catch{}e&&t_()}var s_=/(^|\/)admin\/(api|analytics)(\/|$)/;function o_(e){let t=e;if(/^https?:\/\//.test(e))try{t=new URL(e).pathname}catch{t=e}return!s_.test(t)}function ta(e){if(e!==void 0&&!o_(e))return{};let t=n_();return t?{[Qb]:t.grantId}:{}}var i_=!1;function a_(e){return e?e instanceof Headers||Array.isArray(e)?[...new Headers(e).entries()]:Object.entries(e):[]}function Cs(e,t){let n=t.toLowerCase();return Object.keys(e).some(r=>r.toLowerCase()===n)}function tn(e,t,n){let r=t.toLowerCase();for(let s of Object.keys(e))s.toLowerCase()===r&&delete e[s];e[t]=n}function nr(e,t){let n={},r=[e instanceof Request?e.headers:void 0,t.headers];for(let[s,o]of r.flatMap(a_))tn(n,s,o);return n}function Is(e,t,n){let r={...t},s=R().clientVersion?.trim();s&&!Cs(r,"x-beeuni-client-version")&&tn(r,"X-Beeuni-Client-Version",s),i_&&tn(r,"x-beeuni-admin-bypass","1");for(let[o,i]of Object.entries(ta(e)))tn(r,o,i);return Cs(r,"authorization")||tn(r,"Authorization",`Bearer ${n}`),r}async function sr(e,t){let n=await rr();if(!n)throw new oe;return{headers:new Headers(Is(e,nr(e,{headers:t}),n)),rejected:()=>nn(n)}}function c_(e){return typeof ReadableStream<"u"&&e.body instanceof ReadableStream}function na(e,t,n,r,s){if(t instanceof Request){let c=new Headers(Is(t.url,nr(t,n),r));return e(new Request(t,{headers:c,...s?{signal:s}:{}}))}let o=String(t),i=Is(o,nr(t,n),r),a=o.startsWith("/")&&!o.startsWith("//");return e(o,{...n,headers:i,...a?{credentials:"same-origin"}:{},...s?{signal:s}:{}})}var ra=null;async function Ts(e){let t=await Xn(()=>R().getToken(),e);return t&&(ra=t),t}var rr=Ts;function nn(e=ra){e&&R().getToken.invalidate?.(e)}var Rs=new Map;function l_(e){let t=Rs.get(e);if(t)return t;let n=(async()=>(nn(e),rr({attempts:2,baseDelayMs:200})))().finally(()=>Rs.delete(e));return Rs.set(e,n),n}async function st(e,t={},n={}){let{retryOnAuthError:r=!0,timeoutMs:s=As}=n,o=n.fetch??R().fetch??fetch,i=s===null?(e instanceof Request?e.signal:t.signal)??void 0:Bi(e,t,s);if(i?.aborted)throw be();let a=await(i?_e(rr(),i):rr());if(!a)throw new oe;let c=r&&!c_(t)&&!Cs(nr(e,t),"authorization"),p=c&&e instanceof Request?e.clone():e,d=await na(o,e,t,a,i);if(d.status!==401||!c)return d;let g=await l_(a);return!g||g===a?d:na(o,p,t,g,i)}async function Ie(e,t,n,r){let s=await st(e,t,n);if(s.ok)return s;let o=await s.text().catch(()=>"");throw new _(o||`${r} (HTTP ${s.status})`,{status:s.status,response:s})}var sa=()=>R().backendUrl||"",u_=new Set([502,503,504]),p_=e=>u_.has(e),oa=e=>{let t=(e??"GET").toUpperCase();return t==="GET"||t==="HEAD"},d_=e=>oa(e)||(e??"GET").toUpperCase()==="DELETE",g_=2,or=e=>e?.name==="AbortError"||e?.name==="AbortSignal"||e instanceof Error&&e.message.includes("aborted");async function Te(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 m_(e,i,n,r,s,o,a,c)}finally{i.signal?.removeEventListener("abort",p)}}async function m_(e,t,n,r,s,o,i,a){try{if(t.signal?.aborted)throw be();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 y_(e,t,c,s,o,i,a);if(p instanceof oe)return{error:p,success:!1};if(!p.ok)return await Hi(p,a.activeController.signal,n,r);let d,g=p.headers.get("content-type");return g?.includes("application/json")?d=await _e(p.json(),a.activeController.signal):g?.includes("text/")?d=await _e(p.text(),a.activeController.signal):d=await _e(p.blob(),a.activeController.signal),{data:d,success:!0,headers:p.headers}}catch(c){return h_(c,e,t.method,n,r,s,a)}finally{ir(a)}}function ir(e){e.timeoutId&&clearTimeout(e.timeoutId),e.timeoutId=null}async function f_(e,t,n){try{await _e(e.arrayBuffer(),t)}catch(r){if(or(r))throw r}finally{ir(n)}}async function y_(e,t,n,r,s,o,i){let a=oa(t.method),c=d_(t.method),p=c?g_+1:1,d;for(let g=0;g<p;g++){g>0&&await tr(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 _e(st(e,{...t,headers:n,signal:m.signal,credentials:t.credentials??"omit"},{timeoutMs:null}),m.signal)}catch(y){if(i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null),y instanceof oe)return new oe;if(i.didTimeout&&or(y)&&!t.signal?.aborted&&c&&g<p-1){i.didTimeout=!1;continue}if(or(y)||g===p-1)throw y;continue}if(!a||!p_(d.status)||g===p-1)return s||ir(i),d;await f_(d,m.signal,i)}return d}function h_(e,t,n,r,s,o,i){ir(i);let a=or(e);a&&(i.isAborted=!0);let c;if(a){if(!i.didTimeout)return{error:new _("Request aborted",{name:"AbortError",code:"ABORTED"}),success:!1};let p=t.replace(sa(),"")||t;c=new _(`Request timed out after ${Math.round(o/1e3)}s: ${p}`,{code:"TIMEOUT",url:t,endpoint:p,timeout:o})}else e instanceof Error?(c=new _(n==="POST"&&e instanceof TypeError&&e.message==="Failed to fetch"?`Failed to fetch: POST ${t.replace(sa(),"")||t}`:e.message,{name:e.name||"ApiError",stack:e.stack}),r&&R().onError?.(c,s)):(c=new _(String(e)),r&&R().onError?.(c,s));return{error:c,success:!1}}var Ee=()=>R().backendUrl||"",zi="feature_not_supported",Yi="model_not_servable",Ji="provision_in_flight",Qi="analytics_unavailable",Xi="accounts_list_unavailable";async function b_(e,t,n={}){let{timeout:r=3e4,fetch:s}=n,o=new AbortController,i=setTimeout(()=>o.abort(),r);try{return await st(`${Ee()}${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 oe)return Zn();throw a}finally{clearTimeout(i)}}var l={putRaw:(e,t,n)=>Te(`${Ee()}${e}`,{...n,method:"PUT",body:t,headers:{"Content-Type":"application/octet-stream",...n?.headers}}),get:(e,t)=>Te(`${Ee()}${e}`,{...t,method:"GET"}),post:(e,t,n)=>Te(`${Ee()}${e}`,{...n,method:"POST",body:t?JSON.stringify(t):void 0}),put:(e,t,n)=>Te(`${Ee()}${e}`,{...n,method:"PUT",body:t?JSON.stringify(t):void 0}),patch:(e,t,n)=>Te(`${Ee()}${e}`,{...n,method:"PATCH",body:t?JSON.stringify(t):void 0}),delete:(e,t)=>Te(`${Ee()}${e}`,{...t,method:"DELETE"}),upload:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Te(`${Ee()}${e}`,{...s,method:"POST",body:t,headers:o})},uploadPut:(e,t,n)=>{let{headers:r,...s}=n||{},o={...r};return delete o["Content-Type"],Te(`${Ee()}${e}`,{...s,method:"PUT",body:t,headers:o})},postStream:b_};function u(e,t="Project request failed"){if(!e.success||e.data===void 0)throw e.error??new Error(t);return e.data}function Es(e){return e.replace(/\/v1\/?$/,"")}async function vt(e,t){if(!e.backendUrl||!e.accessToken)return null;let n=Es(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 ia(){return u(await l.get("/accounts"))}async function aa(e){return u(await l.post("/accounts",e))}async function ca(e){return u(await l.get(`/accounts/${e}`))}async function la(e,t){return u(await l.patch(`/accounts/${e}`,{name:t}))}async function ua(e){return u(await l.get(`/accounts/${e}/branding`))}async function pa(e,t){return u(await l.put(`/accounts/${e}/branding`,t))}async function da(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 ga(e,t){return u(await l.delete(`/accounts/${e}/branding/assets/${t}`))}async function ma(e){return u(await l.delete(`/accounts/${e}/branding`))}async function fa(e){return u(await l.get(`/accounts/${e}/members`))}async function ya(e,t){return u(await l.post(`/accounts/${e}/members`,t,{showErrors:!1}))}async function ha(e){return u(await l.get(`/accounts/${e}/invites`))}async function ba(e,t){return u(await l.delete(`/accounts/${e}/invites/${t}`))}async function _a(e,t){return u(await l.post(`/accounts/${e}/invites/${t}/resend`,{}))}async function Pa(){return u(await l.get("/account-invites",{showErrors:!1})).invites}async function Sa(e){return u(await l.get(`/account-invites/${e}`,{showErrors:!1}))}async function xa(e){return u(await l.post(`/account-invites/${e}/accept`,{}))}async function wa(e){return u(await l.post(`/account-invites/${e}/decline`,{}))}async function Aa(e,t){return u(await l.delete(`/accounts/${e}/members/${t}`))}async function va(e,t,n){return u(await l.patch(`/accounts/${e}/members/${t}`,{role:n}))}async function ka(e){return u(await l.post(`/accounts/${e}/leave`,{}))}async function hI(e){return vt(e,"/v1/accounts")}async function Ra(){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 xI=["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","volumes","stateless_sessions","drives","ephemeral_sandboxes","session_log"];async function kt(){return u(await l.get("/projects"))}async function Ia(e){let t=e?`?account_id=${encodeURIComponent(e)}`:"";return u(await l.get(`/projects${t}`))}async function ar(e,t){return u(await l.get(`/projects/${e}`,t))}async function Ta(e,t,n="write"){return u(await l.post(`/projects/${e}/git/collaborators`,{github_username:t,permission:n}))}async function Ea(e,t){return u(await l.post(`/projects/${e}/manifest/validate`,{raw:t}),"Failed to validate manifest")}async function Ma(e){return u(await l.post(`/projects/${e}/git-token`,{}),"Failed to mint git token")}function wI(e){let t=e.metadata?.git;return t?.provider==="github"&&t?.managed===!0}async function cr(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 lr(e,t){return u(await l.get(`/projects/${e}/llm-catalog`,{showErrors:!1,...t}))}async function ur(e,t){return u(await l.get(`/projects/${e}/model-picker`,{showErrors:!1,...t}))}async function AI(e,t){return u(await l.get(`/projects/${e}/llm-catalog/providers`,{showErrors:!1,...t}))}async function Oa(e){return u(await l.post("/projects",e))}async function Da(e){return u(await l.post("/projects/create-repo",e,{showErrors:!1}))}async function ja(e,t={}){return u(await l.post("/projects/provision",{seed_starter:!0,...e},{timeout:12e4,...t}))}var Ca=200;function __(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>
|
|
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=__(g);if(m){if(t(m),m.type==="error")throw new _(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 kI(){try{return u(await l.get("/projects/managed-git/status",{showErrors:!1}))}catch{return{configured:!1,provider:"github"}}}async function pr(e,t){return u(await l.patch(`/projects/${e}`,t))}async function $a(e,t,n){return u(await l.patch(`/projects/${e}/features`,{feature:t,enabled:n}))}async function Ua(e,t,n){return u(await l.patch(`/projects/${e}/experimental`,{feature:t,enabled:n}))}async function La(e,t){return u(await l.patch(`/projects/${e}/sandbox-provider`,{provider:t}))}async function RI(e,t){return u(await l.get(`/projects/${e}/sandbox-provider/transition`,{showErrors:!1,...t}))}async function CI(e,t){throw G("updateTemplateWarmPool")}async function Ba(e,t){return u(await l.patch(`/projects/${e}/onboarding`,{completed:t}))}async function II(e,t){return u(await l.patch(`/projects/${e}/onboarding`,{profile:t}))}async function dr(e){return u(await l.delete(`/projects/${e}`))}async function TI(e,t){return vt(e,`/v1/projects?account_id=${encodeURIComponent(t)}`)}async function EI(e,t){if(!e.backendUrl||!e.accessToken)return{ok:!1,limitReached:!1};let n=Es(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 Fa(e,t,n){return u(await l.post(`/projects/${e}/skills`,t,{showErrors:!1,...n}))}async function Na(e){return u(await l.post("/projects/link-repository",e,{showErrors:!1}))}async function qa(e){let{project_id:t,...n}=e;return u(await l.put(`/projects/${encodeURIComponent(t)}/git/repository`,n,{showErrors:!1}))}async function Ga(e){return u(await l.get(`/projects/github/installation?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Wa(e){return u(await l.get(`/projects/github/installations?account_id=${encodeURIComponent(e)}`,{showErrors:!1}))}async function Ka(e){return u(await l.post("/projects/github/installations/linkable",e,{showErrors:!1}))}async function Va(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 Ha(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 za(e){return u(await l.post("/projects/github/installation",e,{showErrors:!1}))}async function Ya(e){return u(await l.post("/projects/github/installations/link",e,{showErrors:!1}))}async function Ja(e){return u(await l.post("/projects/github/user-token",e,{showErrors:!1}))}async function Qa(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 NI(){return u(await l.get("/projects/git/backend",{showErrors:!1}))}async function KI(e,t){return u(await l.post(`/projects/${e}/access-requests`,{message:t?.trim()||void 0},{showErrors:!1}))}async function Xa(e,t){return u(await l.get(`/projects/${e}/access-requests`,t))}async function Za(e,t,n="member"){return u(await l.post(`/projects/${e}/access-requests/${t}/approve`,{role:n}))}async function ec(e,t){return u(await l.post(`/projects/${e}/access-requests/${t}/reject`,{}))}async function tc(e){return u(await l.get(`/projects/${e}/access`))}async function nc(e,t,n){return u(await l.put(`/projects/${e}/access/${t}`,{role:n}))}async function rc(e,t){return u(await l.delete(`/projects/${e}/access/${t}`))}function VI(e){return"status"in e&&e.status==="invited"}async function sc(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 oc(e){return u(await l.get(`/projects/${e}/access/pending-invites`))}async function ic(e,t){return u(await l.delete(`/projects/${e}/access/pending-invites/${t}`))}async function ac(e,t){return u(await l.post(`/projects/${e}/access/pending-invites/${t}/resend`))}async function cc(e){return u(await l.get(`/projects/${e}/group-grants`))}async function lc(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 uc(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 pc(e,t){return u(await l.delete(`/projects/${e}/group-grants/${t}`))}async function dc(e){return u(await l.get(`/projects/${e}/resource-grants`))}async function gc(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 mc(e,t){return u(await l.delete(`/projects/${e}/resource-grants/${t}`))}async function fc(e,t){return u(await l.get(`/projects/${e}/approvals`,{showErrors:t?.showErrors}))}async function yc(e,t){return u(await l.get(`/projects/${e}/approvals/needs-input`,{showErrors:t?.showErrors}))}async function hc(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 bc(e){return u(await l.get(`/projects/${e}/secrets`,{showErrors:!1}))}async function _c(e,t){return u(await l.post(`/projects/${e}/secrets`,t))}async function Pc(e,t,n,r={}){return u(await l.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/strategy`,{strategy:n,...r}))}async function Sc(e,t,n){return u(await l.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/broker`,n))}async function xc(e){return u(await l.get(`/projects/${e}/oauth`)).items??[]}async function Ms(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 Os(e,t,n){return u(await l.post(`/projects/${e}/oauth/${t}/poll`,{flow_id:n}))}async function wc(e,t){return u(await l.delete(`/projects/${e}/oauth/${encodeURIComponent(t)}`))}var P_=2e3,S_=3e3,x_=10*6e4;async function JI(e){let{projectId:t,provider:n,input:r,onChallenge:s,isCancelled:o,sleep:i=m=>new Promise(y=>setTimeout(y,m)),now:a=()=>Date.now()}=e,c=()=>o?.()??!1,p=await Ms(t,n,r);if(c())return{status:"cancelled"};s?.({verification_url:p.verification_url,user_code:p.user_code});let d=Math.max(P_,p.interval_ms||S_),g=p.expires_at||a()+x_;for(;!c()&&a()<g;){if(await i(d),c())return{status:"cancelled"};let m;try{m=await Os(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 Ac(e,t){return u(await l.put(`/projects/${e}/git-credential`,t))}async function vc(e,t){return u(await l.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}`))}async function kc(e,t,n){return u(await l.put(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`,n))}async function Rc(e,t){return u(await l.delete(`/projects/${e}/secrets/${encodeURIComponent(t)}/personal`))}var Ds=e=>`/accounts/${encodeURIComponent(e)}/secret-resources`,Rt=(e,t)=>`${Ds(e)}/${encodeURIComponent(t)}`,Cc=(e,t,n)=>`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/provider-secret-pools/${encodeURIComponent(n)}`;async function Ic(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return u(await l.get(`${Ds(e)}${n}`))}async function Tc(e,t){return u(await l.post(Ds(e),t))}async function Ec(e,t,n){return u(await l.put(`${Rt(e,t)}/value`,{value:n}))}async function Mc(e,t){return u(await l.post(`${Rt(e,t)}/retry`))}async function Oc(e,t){return u(await l.delete(Rt(e,t)))}async function Dc(e,t,n,r){return u(await l.put(`${Rt(e,t)}/grants/${encodeURIComponent(n)}`,{},r))}async function jc(e,t,n,r){return u(await l.delete(`${Rt(e,t)}/grants/${encodeURIComponent(n)}`,r))}async function $c(e,t,n,r){return u(await l.put(`${Rt(e,t)}/access`,{mode:n,user_ids:r}))}async function Uc(e,t,n){return u(await l.get(Cc(e,t,n)))}async function Lc(e,t){let n=`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/provider-secret-pools`;return u(await l.get(n))}async function Bc(e,t,n,r){return u(await l.put(Cc(e,t,n),{secret_ids:r}))}async function ot(){return Ts()}async function oT(e){return Xn(()=>R().getToken(),e,js)}function js(){nn()}function iT(e){e===null&&nn()}function aT(e){}async function j(e,t,n){try{return await st(e,t,{retryOnAuthError:n?.retryOnAuthError,timeoutMs:n?.timeoutMs})}catch(r){if(r instanceof oe)return Zn();throw r}}function gr(e,t){return e?`/connectors/projects/${encodeURIComponent(e)}/${t}`:`/connectors/${t}`}async function rn(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(`${gr(e,"catalog")}${r}`)).connectors??[]}async function $s(e){let t=[];for(let n of await rn(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 Fc(e,t="",n={}){let r=t.trim().toLowerCase(),s=r.split(/\s+/).filter(Boolean),o=[],i=[];for(let a of await $s(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 Us(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 rn(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 w_(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 A_=9e4;async function Ct(e,t,n={},r={}){let{connector:s,action:o}=w_(t),i=r.account?.trim(),a=r.approvalContext?.trim(),c=u(await l.post(gr(e,"call"),{connector:s,action:o,args:n,...i?{account:i}:{},...a?{approval_context:a}:{}},{timeout:r.timeoutMs??A_,signal:r.signal}));return c.ok&&c.binding!==void 0&&!("output"in c)&&(c.output=c.data),c}async function Ls(e,t){let n=await l.get(gr(e,`connectors/${encodeURIComponent(t)}/accounts`));return u(n).accounts??[]}function v_(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 k_(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 Bs(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=k_(R().backendUrl),a=gr(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 _(v_(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 mT(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 Nc(e){return u(await l.get(`/projects/${e}/connections`))}async function qc(e){return u(await l.get(`/projects/${e}/connections/all`))}async function Gc(e,t){return u(await l.post(`/projects/${e}/connections`,t))}async function Wc(e,t){return u(await l.post(`/projects/${e}/connections/me`,t))}async function Kc(e,t,n){return u(await l.put(`/projects/${e}/connections/${t}/credential`,n))}function Me(e,t,n){return`/projects/${e}/connections/${t}/oauth2/${n}`}async function fT(e,t){return u(await l.post(`/projects/${e}/connectors/${encodeURIComponent(t)}/oauth2/connection`,{}))}async function yT(e,t,n){return u(await l.put(Me(e,t,"application"),n))}async function hT(e,t){return u(await l.get(Me(e,t,"application")))}async function bT(e,t,n){return u(await l.post(Me(e,t,"discover"),n))}async function _T(e,t,n={}){return u(await l.post(Me(e,t,"discover-resource"),n))}async function PT(e,t,n){return u(await l.post(Me(e,t,"register"),n))}async function ST(e,t,n){return u(await l.post(Me(e,t,"authorize"),n))}async function xT(e,t,n){return u(await l.post(Me(e,t,"device"),n))}async function wT(e,t,n){return u(await l.post(Me(e,t,`device/${encodeURIComponent(n)}`),{}))}async function AT(e,t){return u(await l.get(Me(e,t,"status")))}async function Vc(e,t){return u(await l.put(`/projects/${e}/connections/${t}/revoke`,{}))}async function Hc(e,t){return u(await l.put(`/projects/${e}/connections/${t}/activate`,{}))}async function zc(e,t){return u(await l.put(`/projects/${e}/connections/${t}/default`,{}))}async function Yc(e,t,n){return u(await l.put(`/projects/${e}/connections/${t}/label`,{label:n}))}async function Jc(e,t){return u(await l.post(`/projects/${e}/computers`,{tunnel_id:t.tunnelId,...t.share?{share:t.share}:{}}))}async function Qc(e,t,n=[]){return u(await l.post(`/projects/${e}/connections/${t}/share`,{principals:n}))}async function Xc(e,t,n={}){return u(await l.post(`/projects/${e}/connections/${t}/connect`,n))}async function Zc(e,t){return u(await l.post(`/projects/${e}/connections/${t}/connect/finalize`,{}))}async function el(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 tl(e){return u(await l.post(`/connectors/projects/${e}/connectors/sync`,{}))}async function nl(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential-mode`,{mode:n}))}async function rl(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/authorization-strategy`,{authorization_strategy:n}))}async function sl(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/sensitive`,{sensitive:n}))}async function ol(e,t){return u(await l.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`))}async function il(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/policies`,{policies:n}))}async function vT(e,t){throw new Error("Connection-specific policies were removed. Use getConnectorPolicies(projectId, slug).")}async function kT(e,t,n){throw new Error("Connection-specific policies were removed. Use setConnectorPolicies(projectId, slug, policies).")}async function al(e,t){return u(await l.get(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/config`))}async function cl(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/name`,{name:n}))}async function ll(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 RT(e,t){return u(await l.get(`/connectors/projects/${e}/sessions/${encodeURIComponent(t)}/connect-requests`)).connectors??[]}async function ul(e,t){return u(await l.post(`/connectors/projects/${e}/connectors`,t))}async function pl(e,t){return u(await l.post(`/connectors/projects/${e}/connectors/auth-discovery`,t))}async function dl(e,t){return u(await l.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}`))}async function CT(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 IT(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 Fs(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 gl(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 Ns(e,t){let n=new URLSearchParams({id:t});return u(await l.get(`/connectors/projects/${e}/discover/connectors/detail?${n.toString()}`))}var TT=Fs,ET=Ns;async function ml(){return u(await l.get("/connectors/connect-status"))}async function fl(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 yl(e,t){return u(await l.delete(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/credential`))}async function MT(e,t,n){return u(await l.put(`/connectors/projects/${e}/connectors/${encodeURIComponent(t)}/secret-binding`,{secret_identifier:n}))}async function hl(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 mr=class extends _{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,...y}=n;super(t,{...y,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}},qs=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)}},Gs=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)}},Pe=e=>typeof e=="string"&&e?e:null;function bl(e){return/^([a-z][a-z0-9_]*)(?::|$)/.exec(e)?.[1]??"connector_error"}function R_(e){let t=e?.headers?.get("retry-after");return t&&/^\d+$/.test(t.trim())?Number(t):null}function C_(e,t,n){if(!(e instanceof _)||typeof e.status!="number")return e;let r=e.details&&typeof e.details=="object"?e.details:{},s=Pe(r.reason)??Pe(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 mr(Pe(r.message)??Pe(r.hint)??s,{status:e.status,code:i===null?bl(s):`upstream_${i}`,details:e.details,data:e.details,response:e.response,reason:s,connector:Pe(r.connector)??t,action:Pe(r.action)??n,binding:Pe(r.binding),upstreamStatus:i,retryAfterSeconds:typeof r.retry_after_seconds=="number"?r.retry_after_seconds:R_(e.response),connectUrl:Pe(r.connect_url),hint:Pe(r.hint),availableAccounts:Array.isArray(r.available_accounts)?r.available_accounts:[],requestedAccount:Pe(r.requested_account)})}function I_(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 Ws(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 Ct(e,`${o}.${i}`,r,s)}catch(c){throw C_(c,o,i)}if(a.status==="pending_approval")throw new qs(o,i,a);if(!a.ok||a.upstream_error){let c=a.upstream_error??a.reason??"connector_error";throw new mr(c,{status:200,code:a.upstream_error?"upstream_error":bl(c),details:a,data:a,reason:c,connector:o,action:i,binding:a.binding??null,upstreamStatus:a.upstream_status??null})}return I_(a)}async function*_l(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 Gs(t,n,i,c);let d=await Ws(e,t,n,c,a);yield d,c=o(d,c)}}async function Pl(e){return u(await l.get(`/connectors/projects/${e}/policies`))}async function Sl(e,t,n){return u(await l.put(`/connectors/projects/${e}/policies`,{policies:t,defaultMode:n}))}async function xl(e){return u(await l.get(`/projects/${e}/sandboxes`))}async function wl(e){return u(await l.get(`/projects/${e}/snapshots`))}async function fr(e){return u(await l.get(`/projects/${e}/sandbox-health`,{showErrors:!1,timeout:15e3}))}async function Al(e,t){return u(await l.post(`/projects/${e}/snapshots/rebuild`,t?{slug:t}:{}))}async function vl(e){return u(await l.post(`/projects/${e}/snapshots/fix-with-agent`,{}))}async function kl(e,t){return u(await l.post(`/projects/${e}/sandbox-templates`,t))}async function Rl(e,t,n){return u(await l.patch(`/projects/${e}/sandbox-templates/${t}`,n))}async function Cl(e,t){return u(await l.delete(`/projects/${e}/sandbox-templates/${t}`))}async function Il(e,t){return u(await l.post(`/projects/${e}/sandbox-templates/${t}/build`,{}))}async function Tl(e){return u(await l.get(`/projects/${e}/sandboxes`))}async function yr(e){let t=new URL(R().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 El(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 Ml(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"),u(await l.get(`/projects/${e}/files?${n.toString()}`,{showErrors:!1}))}async function Ol(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 Dl(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 T_=10*6e4;async function jl(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"",o=`${R().backendUrl||""}/projects/${e}/files/archive${s}`;return await(await Ie(o,{method:"GET"},{timeoutMs:T_},"Failed to download")).blob()}async function $l(e,t,n){let r=new URLSearchParams;t&&r.set("ref",t),n&&r.set("path",n);let s=r.toString()?`?${r.toString()}`:"";return yr(`${R().backendUrl}/projects/${encodeURIComponent(e)}/files/archive${s}`)}async function QT(e,t,n,r){let s=new URLSearchParams({path:t});n&&s.set("ref",n);let o=s.toString()?`?${s.toString()}`:"",i=`${R().backendUrl||""}/projects/${e}/files/raw${o}`;return await(await Ie(i,{method:"GET",...r?.signal?{signal:r.signal}:{}},{},"Failed to read file")).blob()}var Ks=52428800,E_=104857600,Ul=20;var br=e=>`/projects/${encodeURIComponent(e)}/attachments`,_r={showErrors:!1,deadlineCoversBody:!0},Ll=3e4,M_=12e4,O_=6e4,D_=5*6e4,j_=6e4,$_=6e4;function hr(){return new _("Request aborted",{name:"AbortError",code:"ABORTED"})}function sn(e){if(e?.aborted)throw hr()}function U_(e){return!(e instanceof _)||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 on(e,t,n=!1){let r;for(let s=0;;s++){sn(t);try{return await e()}catch(o){let i=n&&o instanceof _&&o.status===409&&o.code==="attachment_processing";if(t?.aborted||!(U_(o)||i))throw o;r??=Date.now()+(n?D_:O_);let a=Math.min(8e3,500*2**s)*(.5+Math.random()/2);if(Date.now()+a>=r)throw o;try{await tr(a,t)}catch{throw sn(t),o}}}}function L_(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(t=>typeof t=="string")}function Vs(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"&&L_(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 Bl(e,t,n,r){return u(await l.post(br(e),{...r?{attachment_id:r}:{},filename:t.name,mime:t.type||"application/octet-stream",size:t.size},{..._r,signal:n,timeout:Ll}),"Failed to start attachment upload")}async function Fl(e,t,n,r){let s=Vs({...await on(()=>Bl(e,t,r.signal,n.attachment_id),r.signal),received_bytes:0},t,n.attachment_id);return r.onUpload?.(s),s}function Nl(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 _(r,{status:e,details:n,code:String(n?.statusCode??e)})}function B_(e){if(!(e instanceof _))return;let t=Number(e.details?.statusCode);return Number.isInteger(t)&&t>=400?t:e.status}function F_(e,t,n,r){return new Promise((s,o)=>{let i=new e,a=0,c=!1,p,d=y=>{c||(c=!0,p&&clearTimeout(p),r.signal?.removeEventListener("abort",m),y?o(y):s())},g=()=>{p&&clearTimeout(p),p=setTimeout(()=>{d(new _("Attachment upload stalled",{code:"TIMEOUT"})),i.abort()},j_)},m=()=>{d(hr()),i.abort()};i.open(t.method,t.url);for(let[y,h]of Object.entries(t.headers))i.setRequestHeader(y,h);i.upload.onprogress=y=>{g(),a=Math.min(y.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(Nl(i.status,i.responseText))},i.onerror=()=>d(new _("Network error during attachment upload",{name:"TypeError"})),i.onabort=()=>d(hr()),r.signal?.addEventListener("abort",m,{once:!0}),g(),i.send(n)})}async function N_(e,t,n){let r=R().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"?hr():new _(o instanceof Error?o.message:String(o),{name:o instanceof Error?o.name:"TypeError"})}if(!s.ok)throw Nl(s.status,await s.text().catch(()=>""));n.onProgress?.(t.size,t.size)}function q_(e,t,n){sn(n.signal);let r=globalThis.XMLHttpRequest;return typeof r=="function"?F_(r,e,t,n):N_(e,t,n)}async function G_(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 on(()=>q_(i,t,r),r.signal)}catch(a){let c=B_(a);if(c!==409){if(o||!(c===400||c===401||c===403))throw a;o=!0,s=await Fl(e,t,s,r);continue}}return s={...s,received_bytes:t.size},r.onUpload?.(s),s}return ql(e,t,s,r)}async function ql(e,t,n,r){if(n.upload.kind!=="chunked")throw new Error("Invalid attachment upload handle");let s=n.upload.chunk_size,o=`${br(e)}/${encodeURIComponent(n.attachment_id)}`,i=n;for(;i.received_bytes<t.size;){sn(r.signal);let a=i.received_bytes,c=Math.min(a+s,t.size),p=t.slice(a,c),d=await on(async()=>u(await l.putRaw(`${o}/chunks/${a/s}`,p,{..._r,signal:r.signal,timeout:Ll}),"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 Pr(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");sn(n.signal);let r=n.resume?Vs({...n.resume},t):Vs({...await on(()=>Bl(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=await Fl(e,t,r,n)),r=r.upload.kind==="direct"?await G_(e,t,r,n):await ql(e,t,r,n)),n.onProcessing?.();let s=`${br(e)}/${encodeURIComponent(r.attachment_id)}`;try{return await on(async()=>u(await l.post(`${s}/complete`,{},{..._r,signal:n.signal,timeout:M_}),"Failed to complete attachment upload"),n.signal,!0)}catch(o){throw r.upload.kind==="direct"&&o instanceof _&&o.code==="attachment_not_uploaded"&&n.onUpload?.({...r,received_bytes:0}),o}}async function an(e,t,n={}){if(!e)throw new Error("A project is required to remove attachments");let r=await l.delete(`${br(e)}/${encodeURIComponent(t)}`,{..._r,signal:n.signal});if(!r.success)throw r.error??new Error("Failed to remove attachment")}async function Gl(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 Wl(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 Kl(e,t){return u(await l.get(`/projects/${e}/commits/${encodeURIComponent(t)}`))}async function Vl(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 Hl(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 zl(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 Yl(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 u(await l.get(`/projects/${e}/change-requests${s}`,{showErrors:!1,timeout:15e3}))}async function Jl(e,t){return u(await l.get(`/projects/${e}/change-requests/${t}`))}async function Ql(e,t){return u(await l.get(`/projects/${e}/change-requests/${t}/diff`))}async function Xl(e,t){return u(await l.get(`/projects/${e}/change-requests/${t}/merge-preview`))}async function Zl(e,t){return u(await l.post(`/projects/${e}/change-requests`,t))}async function eu(e,t,n){return u(await l.post(`/projects/${e}/change-requests/${t}/merge`,n??{},{showErrors:!1}))}async function tu(e,t){return u(await l.post(`/projects/${e}/change-requests/${t}/close`,{}))}async function nu(e,t){return u(await l.post(`/projects/${e}/change-requests/${t}/reopen`,{}))}async function ru(e,t,n){return u(await l.post(`/projects/${e}/change-requests/${t}/request-changes`,{feedback:n}))}async function su(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/commit-push`,n??{}))}async function ou(e,t,n){return u(await l.patch(`/projects/${e}/change-requests/${t}`,n))}var It=new Set,W_=500;function Sr(e){e&&(It.add(e),It.size>W_&&It.delete(It.values().next().value))}function iu(e){return!!e&&It.has(e)}function pE(e){e&&It.delete(e)}var We="beeuni.session/2",cn=1,K_=["shell","read","write","edit","patch","list","glob","grep","web_fetch","web_search","todo","task","question","plan","mcp","other"];var ne=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),z=e=>typeof e=="string",Se=e=>z(e)&&e.length>0,De=e=>e===null||z(e),J=(e,t)=>e===void 0||t(e),Oe=(...e)=>t=>e.includes(t),ln=e=>Number.isInteger(e)&&e>=0,Tt=e=>typeof e=="number",lu=e=>e.schema===We&&ln(e.v),it=e=>J(e,z),Hs=e=>e===void 0||ne(e)&&Object.values(e).every(t=>ne(t)&&z(t.version)),uu=e=>e===null||ne(e)&&z(e.provider)&&z(e.model)&&it(e.variant),V_=e=>e===null||ne(e)&&Tt(e.input)&&Tt(e.output)&&Tt(e.cache_read)&&Tt(e.cache_write)&&J(e.reasoning,Tt)&&J(e.cost,Tt),au=e=>ne(e)&&(e.type==="text"&&z(e.text)||e.type==="attachment"&&z(e.mime)),H_=e=>ne(e)&&Array.isArray(e.content)&&e.content.every(au)&&J(e.model_content,t=>Array.isArray(t)&&t.every(au))&&typeof e.is_error=="boolean",cu={text:e=>z(e.text)&&J(e.bytes,ln)&&it(e.ref)&&(e.ref===void 0||e.bytes!==void 0),reasoning:e=>z(e.text),attachment:e=>z(e.mime)&&it(e.ref)&&J(e.bytes,ln)&&e.ref===void 0==(e.bytes===void 0),tool_call:e=>z(e.call_id)&&z(e.name)&&Se(e.kind)&&Oe("pending","running","complete","error")(e.status)&&J(e.result,H_),compaction:e=>De(e.summary)&&De(e.first_kept_message_id),subtask:e=>z(e.thread_id)&&z(e.agent)&&z(e.description),step:e=>Oe("start","finish")(e.phase),harness:e=>Se(e.harness)&&Se(e.kind)&&typeof e.model_visible=="boolean"};function z_(e,t){if(!Array.isArray(e))return!1;let n=new Set;for(let r of e){if(!ne(r)||!Se(r.id)||n.has(r.id)||!Object.hasOwn(cu,r.type)||!cu[r.type](r)||!Hs(r.ext)||t&&r.type==="tool_call"&&(r.status==="pending"||r.status==="running"||!r.result))return!1;n.add(r.id)}return!0}function Y_(e){return ne(e)&&lu(e)&&Se(e.message_id)&&Se(e.thread_id)&&Number.isInteger(e.seq)&&Oe("user","assistant","system")(e.role)&&Oe("turn","compaction","context")(e.kind)&&Oe("streaming","complete","error","aborted","interrupted")(e.status)&&typeof e.in_context=="boolean"&&J(e.hidden_reason,Oe("failed_attempt","aborted","retracted","reverted","superseded"))&&J(e.origin,Oe("prompt","steer","command","automation","subagent","notification"))&&J(e.agent,De)&&J(e.reply_to,De)&&J(e.parent_message_id,De)&&it(e.native_agent_id)&&it(e.context_ref)&&uu(e.model)&&V_(e.usage)&&Oe("stop","tool_calls","length","error","aborted",null)(e.finish)&&(e.error===null||ne(e.error)&&Se(e.error.code)&&z(e.error.message))&&z(e.created_at)&&De(e.completed_at)&&ne(e.producer)&&Se(e.producer.harness)&&z(e.producer.harness_version)&&z(e.producer.adapter_version)&&Hs(e.ext)&&z_(e.blocks,e.status!=="streaming"&&e.in_context===!0)}function J_(e){return ne(e)&&lu(e)&&Se(e.thread_id)&&De(e.parent_thread_id)&&(e.spawned_by===null||ne(e.spawned_by))&&z(e.created_at)}function Q_(e){return ne(e)&&J(e.schema,t=>t===We)&&J(e.v,ln)&&it(e.session_id)&&J(e.title,De)&&it(e.created_at)&&J(e.restore_grade,Oe("native","converted","partial"))&&J(e.todos,Array.isArray)&&J(e.pending,t=>ne(t)&&Array.isArray(t.questions)&&Array.isArray(t.permissions))&&J(e.selection,t=>ne(t)&&J(t.agent,De)&&uu(t.model??null))&&J(e.harness,t=>ne(t)&&z(t.current)&&Array.isArray(t.history))&&Hs(e.ext)}function pu(e){return ne(e)&&ln(e.generation)&&typeof e.has_more=="boolean"&&Q_(e.session)&&Array.isArray(e.threads)&&e.threads.every(J_)&&(e.thread_id===null||Se(e.thread_id))&&Array.isArray(e.messages)&&e.messages.every(t=>Y_(t)&&t.thread_id===e.thread_id)}var X_=e=>pu(e)&&e.messages.length>0;function Z_(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 du={paintable:X_,fit:Z_,capturedAt:()=>0},eP=new WeakMap;function gu(e,t,n){eP.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 tP(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 xr=1,nP=12,rP=15e5,sP=3e5,oP=336*60*60*1e3,fu="beeuni.saved-copy";function zs(e){return!!e&&typeof e.then=="function"}function iP(e,t){return zs(e)?e.then(t):t(e)}function aP(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 cP(e){let t=e.captured_at?Date.parse(e.captured_at):Number.NaN;return Number.isFinite(t)?t:0}var lP={paintable:tP,fit:aP,capturedAt:cP};function _E(e){let t=mu(e,lP),n=mu({...e,namespace:`${e.namespace??fu}.log`},du),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 gu(r,n,t.remove),r}function mu(e,t){let{storage:n,userId:r,maxSessions:s=nP,maxBytes:o=rP,maxEnvelopeBytes:i=sP,maxAgeMs:a=oP,namespace:c=fu,now:p=()=>Date.now()}=e,d=`${c}:${r}:`,g=`${d}index`,m=(P,x)=>`${d}${P}/${x}`,y=P=>{try{let x=n.getItem(P);return zs(x)?x.catch(()=>null):x}catch{return null}},h=P=>{try{let x=n.removeItem(P);zs(x)&&x.catch(()=>{})}catch{}},w=async P=>{try{await n.removeItem(P)}catch{}},M=P=>{if(!P)return[];try{let x=JSON.parse(P);return x?.v===xr&&Array.isArray(x.entries)?x.entries:[]}catch{return[]}},B=Promise.resolve(),F=P=>{let x=B.then(P,P);return B=x.catch(()=>{}),x},f=async P=>{try{await n.setItem(g,JSON.stringify({v:xr,entries:P}))}catch{}},b=async()=>M(await y(g)),S=async(P,x)=>{let v=[...P].sort(($,D)=>$.u-D.u),k=v.reduce(($,D)=>$+D.b,0);for(;v.length>s||k>o;){let $=v.findIndex(E=>E.s!==x);if($===-1)break;let[D]=v.splice($,1);k-=D.b,await w(`${d}${D.s}`)}return v},O=P=>{F(async()=>{let x=await b(),v=x.find(k=>k.s===P);v&&(v.u=p(),await f(x))})},C=P=>F(async()=>{await w(`${d}${P}`);let x=await b(),v=x.filter(k=>k.s!==P);v.length!==x.length&&await f(v)});return{keyFor:m,read(P,x){let v=`${P}/${x}`;return iP(y(m(P,x)),k=>{if(!k)return null;let $;try{$=JSON.parse(k)}catch{return h(m(P,x)),C(v),null}return!$||$.v!==xr||$.user!==r||p()-$.at>a||!t.paintable($.e)?(h(m(P,x)),C(v),null):(O(v),$.e)})},write(P,x,v){let k=`${P}/${x}`;if(!t.paintable(v))return C(k);let $={v:xr,user:r,at:p(),e:v},D=t.fit($,i);if(D===null)return C(k);let E=t.capturedAt(v);return F(async()=>{let q=await b(),Q=q.find(ke=>ke.s===k);if(Q&&E>0&&Q.c>E)return;let V=q.filter(ke=>ke.s!==k),Xt={s:k,b:D.length,u:p(),c:E},ve=await S([...V,Xt],k),Zt=m(P,x);try{await n.setItem(Zt,D)}catch{let ke=ve.filter(Z=>Z.s!==k).sort((Z,et)=>Z.u-et.u)[0];ke&&(await w(`${d}${ke.s}`),ve=ve.filter(Z=>Z.s!==ke.s));try{await n.setItem(Zt,D)}catch{await w(Zt),ve=ve.filter(Z=>Z.s!==k)}}await f(ve)})},remove(P,x){return C(`${P}/${x}`)},clear(){return F(async()=>{let P=await b();for(let x of P)await w(`${d}${x.s}`);await w(g)})}}}var yu=null;function PE(e){yu=e}function hu(){return yu}var uP=new Set;function bu(e){for(let t of uP)try{t(e)}catch{}}function CE(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 IE=50,pP=200,TE=pP;function _u(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 Pu(e,t){let n=await l.get(`/projects/${e}/sessions${_u(t)}`);return{items:u(n),next_cursor:n.headers?.get("x-next-cursor")??null}}async function Et(e,t){return u(await l.get(`/projects/${e}/sessions${_u(t)}`))}async function Su(e,t,n){return u(await l.put(`/projects/${e}/sessions/${t}/sharing`,n))}async function xu(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/participants`,{showErrors:!1}))}async function wu(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/watch`,{showErrors:!1}))}async function Au(e,t,n){return u(await l.put(`/projects/${e}/sessions/${t}/watch`,{watching:n}))}function EE(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 ME(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 vu(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/previews`))}async function ku(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/public-shares`,{showErrors:!1}))}async function Ru(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/public-shares`,n))}async function Cu(e,t,n){return u(await l.delete(`/projects/${e}/sessions/${t}/public-shares/${n}`))}async function Mt(e,t){let n=u(await l.post(`/projects/${e}/sessions`,t??{}));return t?.initial_prompt||Sr(n?.session_id),n}async function Iu(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||Sr(r.session.session_id),r}async function Tu(e,t){let n=u(await l.post(`/projects/${e}/sessions/warm/claim`,t,{showErrors:!1}));return Sr(n.session_id),n}async function wr(e,t,n){return u(await l.get(`/projects/${e}/sessions/${t}`,{showErrors:n?.showErrors}))}async function Eu(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 Mu(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 Ou(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 Du(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/turn`))}async function OE(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 dP(e){if(e)return e==="interrupt"?"transcript":"composer"}async function Ar(e,t,n){let r=n.placement??dP(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 ju(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/prompts`,{showErrors:!1}))}async function $u(e,t,n){return u(await l.delete(`/projects/${e}/sessions/${t}/prompts/${n}`,{showErrors:!1})).removed}async function Uu(e,t,n,r){return u(await l.patch(`/projects/${e}/sessions/${t}/prompts/${n}`,{text:r},{showErrors:!1}))}async function Lu(e,t,n){return u(await l.patch(`/projects/${e}/sessions/${t}/prompts/${n}`,{delivery:"interrupt"},{showErrors:!1}))}async function Bu(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/prompts/${n}/retry`,{},{showErrors:!1}))}async function Fu(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/prompts/hold`,{held:n},{showErrors:!1}))}async function Nu(e,t,n){return u(await l.patch(`/projects/${e}/sessions/${t}`,n))}async function qu(e,t){let n=u(await l.delete(`/projects/${e}/sessions/${t}`));return hu()?.remove(e,t),n}async function vr(e,t,n={}){return u(await l.post(`/projects/${e}/sessions/${t}/restart`,n.reset_machine?{reset_machine:!0,...n.discard_state?{discard_state:!0}:{}}:{}))}async function kr(e,t){let n=u(await l.post(`/projects/${e}/sessions/${t}/stop`,{}));return bu(t),n}async function Gu(e,t){return u(await l.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/config`,{showErrors:!1}))}function gP(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
|
|
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
|
|
11
|
+
`);for(;m!==-1;){let f=c.slice(0,m);c=c.slice(m+2),m=c.indexOf(`
|
|
12
12
|
|
|
13
|
-
`);let h=gP(y);if(h){if(r(h),h.type==="error")throw new _(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 Vu(e,t){return u(await l.get(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`))}async function Hu(e,t,n){return u(await l.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/scope`,n))}async function zu(e,t,n){return u(await l.put(`/projects/${e}/sessions/${encodeURIComponent(t)}/model`,{model:n,opencode_model:n}))}function Yu(e){let t=e.metadata?.opencode_model;return typeof t=="string"&&t.trim()?t.trim():null}async function Ju(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/message-authors`,{showErrors:!1}))}async function Qu(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/model-usage`,{showErrors:!1}))}function jE(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 Xu(e){return u(await l.get(`/projects/${e}/triggers`))}async function Zu(e,t){return u(await l.post(`/projects/${e}/triggers`,t))}async function ep(e,t,n){return u(await l.patch(`/projects/${e}/triggers/${t}`,n))}async function tp(e,t){return u(await l.delete(`/projects/${e}/triggers/${t}`))}async function np(e,t){return u(await l.patch(`/projects/${e}/triggers/activation`,{paused:t}))}async function rp(e,t){return u(await l.post(`/projects/${e}/triggers/${t}/fire`,{}))}async function sp(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 op(e){return u(await l.get(`/projects/${e}/triggers/event-apps`))}var Ke=new Map;function Ys(e,t){return`${e}::${t}`}function ip(e,t){Ke.delete(e),Ke.set(e,t)}function ap(e,t){let n=Ys(e,t),r=Ke.get(n);return r&&ip(n,r),r}function cp(e,t,n){let r=Ys(e,t);if(!Ke.has(r)&&Ke.size>=512){let s=Ke.keys().next().value;s!==void 0&&Ke.delete(s)}ip(r,n)}function lp(e,t){Ke.delete(Ys(e,t))}function mP(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function un(){return mP(R().backendUrl||"http://localhost:8008/v1")}function up(){let e=R().sandboxId;return e?`${un()}/p/${e}/8000`:""}function fP(e,t=8e3){return`${un()}/p/${e}/${t}`}function at(e,t=8e3){return fP(e,t)}function HE(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 Js=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 zE(e){return e instanceof Error&&e.name==="SessionStartError"}function yP(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 Js(s,{status:n,code:r,terminal:!0}):null}function pp(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 ct(e,t,n){let r=await pp(e,t,n);if(!r.success||!r.data){let s=yP(r.error);if(s&&!(s.status===404&&iu(t)))throw s;return null}return gp(e,t,r.data)}async function dp(e,t,n){let r=await pp(e,t,n);if(!r.success||!r.data)throw r.error??new Error("Unable to start this session");return gp(e,t,r.data)}function gp(e,t,n){let r=n.sandbox?.external_id,s=n.runtime_session_id??n.opencode_session_id;return n.stage==="ready"&&r&&s&&cp(e,t,{runtimeSessionId:s,opencodeSessionId:s,runtimeUrl:at(r),sandboxId:r}),n}function YE(e,t){return["session-start",e,t]}async function mp(e){return u(await l.get(`/projects/${e}/model-defaults`))}async function fp(e,t){return u(await l.put(`/projects/${e}/model-defaults`,t))}async function yp(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 nM(e,t){return u(await l.put(`/projects/${e}/model-enablement`,{modelOverrides:t}))}function hp(e){let t=[];for(let n of e){let r=n.trim();r&&!t.includes(r)&&t.push(r)}return t}function hP(e,t){if(e.length!==t.length)return!1;let n=new Set(t);return e.every(r=>n.has(r))}function Rr(e){let t=e.connectors_required?hp(e.connectors_required):void 0,n=e.connectors_personal?hp(e.connectors_personal):void 0;if(t&&n&&!hP(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 bp(e,t,n){let r=Rr(n);return u(await l.put(`/projects/${e}/agents/${encodeURIComponent(t)}/scope`,r))}async function dM(e,t){let n=u(await l.get(`/projects/${e}/agents/${encodeURIComponent(t)}/config`));return{...n,block:n.block?Qs(n.block):null}}async function gM(e,t,n){let r=Qs(n,!0),s=u(await l.put(`/projects/${e}/agents/${encodeURIComponent(t)}/config`,r));return{...s,block:s.block?Qs(s.block):null}}function Qs(e,t=!1){let n=Rr(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 mM(e,t,n){return u(await l.post(`/projects/${e}/secrets/${encodeURIComponent(t)}/grant`,{agent:n}))}async function _p(e,t){return u(await l.put(`/projects/${e}/default-agent`,{agent:t}))}var Pp="Use createPerSeatCheckout().";function Sp(){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 bP(e){let t=e.trim().toLowerCase();return t===""||t==="free"||t==="none"?"free":t==="enterprise"?"enterprise":"team"}function _M(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??Sp(),r=(n.subscription?.tier_key||n.tier?.name||"none").toString(),s=(n.tier?.display_name||"").trim()||r;return{family:bP(r),label:s,sublabel:null,isGrandfathered:!1}}async function xp(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?Sp():t.data}function wp(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 Ap(e){return xp(`/billing/account-state${wp(e)}`)}async function vp(e){return xp(`/billing/account-state/minimal${wp(e)}`)}async function kp(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 Rp(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 Cp(){return u(await l.get("/billing/credit-breakdown"))}async function Ip(e){let t=e!=null?`?days=${e}`:"";return u(await l.get(`/billing/usage-history${t}`))}async function Tp(){return u(await l.get("/billing/tier-configurations"))}async function PM(e){let t=e.accountId?`?account_id=${encodeURIComponent(e.accountId)}`:"";return vt(e,`/v1/billing/account-state${t}`)}async function Ep(e){throw G("createCheckoutSession",Pp)}async function Mp(e,t){throw G("confirmCheckoutSession",Pp)}async function Op(e,t){return u(await l.post("/billing/create-portal-session",{account_id:t,return_url:e}),"Failed to create portal session")}async function Dp(e,t){return u(await l.post("/billing/cancel-subscription",{account_id:t,feedback:e}),"Failed to cancel subscription")}async function jp(e){return u(await l.post("/billing/reactivate-subscription",{account_id:e}),"Failed to reactivate subscription")}async function $p(e,t,n){throw G("scheduleDowngrade","Change the plan in the Stripe customer portal (createPortalSession()).")}async function Up(e){return u(await l.post("/billing/cancel-scheduled-change",{account_id:e}),"Failed to cancel scheduled change")}async function Lp(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 Bp(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 Fp(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 SM(e){return u(await l.post(`/accounts/${encodeURIComponent(e)}/top-up-requests`,{}),"Failed to ask the owners for credits")}async function Np(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 xM(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 wM(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 AM(e){return u(await l.post("/billing/claim-per-seat",{account_id:e}),"Failed to switch to per-seat billing")}async function vM(e){return u(await l.post("/billing/sync-subscription",{account_id:e}),"Failed to sync subscription")}async function qp(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 Xs(e,t){t.accountId&&e.set("account_id",t.accountId),t.projectId&&e.set("project_id",t.projectId)}function Cr(e,t){t.from&&e.set("from",t.from),t.to&&e.set("to",t.to)}function Ir(e){return e.size>0?`?${e}`:""}async function Wp(e={}){let t=new URLSearchParams;return Xs(t,e),e.ownerId&&t.set("owner_id",e.ownerId),Cr(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${Ir(t)}`))}async function Tr(e,t={}){let n=new URLSearchParams;return Xs(n,t),u(await l.get(`/usage/session-costs/${encodeURIComponent(e)}${Ir(n)}`))}async function EM(e={}){let t=new URLSearchParams;return e.accountId&&t.set("account_id",e.accountId),Cr(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${Ir(t)}`))}async function MM(e={}){let t=new URLSearchParams;return Xs(t,e),e.sessionId&&t.set("session_id",e.sessionId),Cr(t,e),u(await l.get(`/usage/cost-summary${Ir(t)}`))}function Gp(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)}Cr(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`${R().backendUrl||""}${r}?${n}`}async function OM(e,t={}){let n=Gp(e==="projects"?"projects":"sessions",t),r=await Ie(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 Kp(e,t){return u(await l.post(`/channels/${e}/identity/bind`,{token:t}),"Failed to connect your account")}function UM(e){return Kp("slack",e)}function LM(e){return Kp("teams",e)}async function Vp(e,t){return u(await l.post(`/channels/${e}/identity/preview`,{token:t},{showErrors:!1}),"This link is invalid or has expired")}function BM(e){return Vp("slack",e)}function FM(e){return Vp("teams",e)}async function Hp(e){let t=await l.get(`/projects/${encodeURIComponent(e)}/channels/slack/installation`,{showErrors:!1});return t.success?t.data??null:null}async function zp(e,t){return u(await l.post(`/projects/${encodeURIComponent(e)}/channels/slack/connect`,t,{showErrors:!1}),"Failed to connect")}var _P={oauth_available:!1,install_url:null};async function Yp(e){let t=await l.get(`/projects/${encodeURIComponent(e)}/channels/slack/mode`,{showErrors:!1});return!t.success||!t.data?_P:t.data}async function Jp(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 Qp(e,t){return Jp("slack",e,t)}function Xp(e,t){return Jp("teams",e,t)}async function Zp(e){return u(await l.get(`/webhooks/slack/${encodeURIComponent(e)}/manifest`,{showErrors:!1}),"Failed to load Slack manifest")}async function ed(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 td(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 nd(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 Zs(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 PP={provider:"agentmail",managed_available:!1};async function rd(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?Zs(r.data):null}async function sd(e){let t=await l.get(`/projects/${encodeURIComponent(e)}/channels/email/mode`,{showErrors:!1});return!t.success||!t.data?PP:t.data}async function od(e,t){let n=u(await l.post(`/projects/${encodeURIComponent(e)}/channels/email/connect`,t,{showErrors:!1}),"Failed to connect email");return Zs(n)}async function id(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 ad(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 Zs(r)}async function NM(e){return u(await l.get(`/projects/${encodeURIComponent(e)}/channels/bindings`,{showErrors:!1}),"Failed to load channel bindings")}async function qM(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 cd(e){return u(await l.get(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function ld(e,t){return u(await l.put(`/projects/${e}/gateway/routing-policy`,t),"Gateway routing policy request failed")}async function ud(e){return u(await l.delete(`/projects/${e}/gateway/routing-policy`),"Gateway routing policy request failed")}async function pd(e,t){return u(await l.post(`/projects/${e}/gateway/routing-policy/preview`,t),"Gateway route preview failed")}async function dd(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 gd(e,t){return u(await l.get(`/projects/${e}/gateway/logs/${t}`),"Gateway request failed")}async function md(e,t){return u(await l.get(`/projects/${e}/gateway/overview${t?`?days=${t}`:""}`),"Gateway request failed")}async function fd(e,t){return u(await l.get(`/projects/${e}/gateway/series${t?`?days=${t}`:""}`),"Gateway request failed")}async function yd(e,t){return u(await l.get(`/projects/${e}/gateway/breakdown${t?`?days=${t}`:""}`),"Gateway request failed")}async function hd(e,t){return u(await l.get(`/projects/${e}/gateway/sessions${t?`?days=${t}`:""}`),"Gateway request failed")}async function bd(e,t){return u(await l.get(`/projects/${e}/gateway/errors${t?`?days=${t}`:""}`),"Gateway request failed")}async function _d(e){return u(await l.get(`/projects/${e}/gateway/budgets`),"Gateway request failed")}async function Pd(e,t){return u(await l.put(`/projects/${e}/gateway/budgets`,t),"Gateway request failed")}async function Sd(e,t){return u(await l.delete(`/projects/${e}/gateway/budgets/${t}`),"Gateway request failed")}async function xd(e){return u(await l.get(`/projects/${e}/gateway/keys`),"Gateway request failed")}async function wd(e,t){return u(await l.post(`/projects/${e}/gateway/keys`,{name:t}),"Gateway request failed")}async function Ad(e,t){return u(await l.delete(`/projects/${e}/gateway/keys/${t}`),"Gateway request failed")}async function vd(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 VM(e,t){return u(await l.post(`/projects/${e}/gateway/providers/${encodeURIComponent(t)}/verify`,{}),"Gateway provider verification failed")}async function YM(){throw G("getReferralCode")}async function JM(){throw G("refreshReferralCode")}async function QM(e){throw G("validateReferralCode")}async function XM(){throw G("getReferralStats")}async function ZM(e={}){throw G("listReferrals")}async function eO(e){throw G("sendReferralEmails")}function U(e){return l.get(e,{showErrors:!1})}function A(e){return u(e,"Unexpected empty response")}async function kd(e){return A(await U(`/accounts/${e}/iam/groups`)).groups}async function Rd(e,t){return A(await U(`/accounts/${e}/iam/groups/${t}`))}async function Cd(e,t){return A(await l.post(`/accounts/${e}/iam/groups`,t,{showErrors:!1}))}async function Id(e,t,n){return A(await l.patch(`/accounts/${e}/iam/groups/${t}`,n))}async function Td(e,t){return A(await l.delete(`/accounts/${e}/iam/groups/${t}`))}async function Ed(e,t){return A(await U(`/accounts/${e}/iam/groups/${t}/members`)).members}async function Md(e,t,n){return A(await l.post(`/accounts/${e}/iam/groups/${t}/members`,{userIds:n}))}async function aO(e,t){return A(await U(`/accounts/${e}/iam/groups/${t}/project-grants`)).grants}async function Od(e,t,n){return A(await l.delete(`/accounts/${e}/iam/groups/${t}/members/${n}`))}async function cO(e,t){return A(await U(`/accounts/${e}/iam/members/${t}/groups`)).groups}async function lO(e,t){let n=A(await U(`/accounts/${e}/iam/members/${t}/project-access`));return{projects:n.projects,account_wide_policies:n.account_wide_policies??[]}}function Ve(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 mO(e,t={}){let n=Ve({resourceType:t.resourceType,principalType:t.principalType,principalId:t.principalId,projectId:t.projectId});return A(await U(`/accounts/${e}/iam/resource-grants${n}`)).grants}async function _O(e,t={}){let n=Ve({principalType:t.principalType,principalId:t.principalId,scopeType:t.scopeType,scopeId:t.scopeId===null?"null":t.scopeId});return A(await U(`/accounts/${e}/iam/policies${n}`)).policies}async function PO(e,t){return A(await l.post(`/accounts/${e}/iam/policies`,t,{showErrors:!1}))}async function SO(e,t,n){return A(await l.patch(`/accounts/${e}/iam/policies/${t}`,n,{showErrors:!1}))}async function xO(e,t){return A(await l.delete(`/accounts/${e}/iam/policies/${t}`))}async function wO(e,t){return A(await l.post(`/accounts/${e}/iam/policies:bulk-delete`,{policy_ids:t},{showErrors:!1}))}async function AO(e,t){return A(await l.post(`/accounts/${e}/iam/policies:bulk-import`,{policies:t},{showErrors:!1}))}async function Dd(e){return A(await U(`/accounts/${e}/iam/roles`)).roles}async function jd(e){return A(await U(`/accounts/${e}/iam/agent-identities`)).agents}async function $d(e){return A(await l.get(`/projects/${e}/agent-identities`,{showErrors:!1})).agents}async function Ud(e,t){return A(await U(`/accounts/${e}/iam/roles/${t}/permissions`))}async function CO(e){return A(await U(`/accounts/${e}/iam/actions`)).actions}async function Ld(e,t){return A(await U(`/accounts/${e}/iam/roles/${t}/usage`))}async function Bd(e,t){return A(await l.post(`/accounts/${e}/iam/roles`,t,{showErrors:!1}))}async function Fd(e,t,n){return A(await l.patch(`/accounts/${e}/iam/roles/${t}`,n,{showErrors:!1}))}async function Nd(e,t,n){return A(await l.put(`/accounts/${e}/iam/roles/${t}/permissions`,{actions:n},{showErrors:!1}))}async function qd(e,t){return A(await l.delete(`/accounts/${e}/iam/roles/${t}`,{showErrors:!1}))}async function IO(e,t,n){return A(await l.patch(`/accounts/${e}/iam/members/${t}/super-admin`,{isSuperAdmin:n}))}async function OO(e){return A(await U(`/accounts/${e}/iam/scim/tokens`)).tokens}async function DO(e,t){return A(await l.post(`/accounts/${e}/iam/scim/tokens`,t,{showErrors:!1}))}async function jO(e,t){return A(await l.delete(`/accounts/${e}/iam/scim/tokens/${t}`))}async function BO(e){return A(await U(`/accounts/${e}/iam/mfa-required`))}async function FO(e){return A(await U(`/accounts/${e}/iam/mfa-required/preview`))}async function NO(e,t){return A(await l.patch(`/accounts/${e}/iam/mfa-required`,{enabled:t},{showErrors:!1}))}async function qO(e){return A(await U(`/accounts/${e}/iam/session-oversight`))}async function GO(e,t){return A(await l.patch(`/accounts/${e}/iam/session-oversight`,{enabled:t},{showErrors:!1}))}async function HO(e){return A(await U(`/accounts/${e}/iam/sso/provider`)).provider}async function zO(e,t){return A(await l.post(`/accounts/${e}/iam/sso/provider/from-metadata`,t,{showErrors:!1})).provider}async function YO(e){return A(await l.post(`/accounts/${e}/iam/sso/provider/verify-domain`,{},{showErrors:!1})).provider}async function JO(e){return A(await l.delete(`/accounts/${e}/iam/sso/provider`))}async function QO(e){return A(await U(`/accounts/${e}/iam/sso/mappings`)).mappings}async function XO(e,t){return A(await l.post(`/accounts/${e}/iam/sso/mappings`,t,{showErrors:!1}))}async function ZO(e,t){return A(await l.delete(`/accounts/${e}/iam/sso/mappings/${t}`))}async function rD(e){return A(await U(`/accounts/${e}/iam/session-policy`))}async function sD(e,t){return A(await l.patch(`/accounts/${e}/iam/session-policy`,t,{showErrors:!1}))}async function oD(e){return A(await U(`/accounts/${e}/iam/sessions`)).sessions}async function iD(e,t){return A(await l.post(`/accounts/${e}/iam/sessions/${t}/revoke`,{},{showErrors:!1}))}async function aD(e){return A(await U(`/accounts/${e}/iam/pat-policy`))}async function cD(e,t){return A(await l.patch(`/accounts/${e}/iam/pat-policy`,t,{showErrors:!1}))}async function dD(e){return A(await U(`/accounts/${e}/iam/service-accounts`)).service_accounts}async function gD(e,t){return A(await l.post(`/accounts/${e}/iam/service-accounts`,t,{showErrors:!1}))}async function mD(e,t){return A(await l.post(`/accounts/${e}/iam/service-accounts/${t}/disable`,{},{showErrors:!1}))}async function fD(e,t){return A(await l.delete(`/accounts/${e}/iam/service-accounts/${t}`))}async function PD(e){return A(await U(`/accounts/${e}/audit/webhooks`)).webhooks}async function SD(e,t){return A(await l.post(`/accounts/${e}/audit/webhooks`,t,{showErrors:!1}))}async function xD(e,t,n){return A(await l.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function wD(e,t){return A(await l.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function AD(e,t={}){let n=Ve({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 A(await U(`/accounts/${e}/audit${n}`))}async function Gd(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),A(await U(`/accounts/${e}/iam/members/${t}/effective?${r.toString()}`))}async function Wd(e,t,n){return n.length===0?[]:A(await l.post(`/accounts/${e}/iam/members/${t}/effective:batch`,{probes:n})).results}async function ED(e){return A(await U(`/accounts/${e}/iam/enterprise-demo`)).enabled}async function MD(e,t){return A(await l.put(`/accounts/${e}/iam/enterprise-demo`,{enabled:t})).enabled}async function Kd(e){return u(await l.get(`/accounts/${e}/iam/oauth-clients`,{showErrors:!1}))}async function Vd(e,t){return u(await l.get(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}async function Hd(e,t){return u(await l.post(`/accounts/${e}/iam/oauth-clients`,t,{showErrors:!1}))}async function zd(e,t,n){return u(await l.patch(`/accounts/${e}/iam/oauth-clients/${t}`,n,{showErrors:!1}))}async function Yd(e,t){return u(await l.post(`/accounts/${e}/iam/oauth-clients/${t}/rotate-secret`,{},{showErrors:!1}))}async function Jd(e,t){return u(await l.delete(`/accounts/${e}/iam/oauth-clients/${t}`,{showErrors:!1}))}function SP(e){return Ve({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 Qd(e,t){return u(await U(`/accounts/${e}/iam/assignments${SP(t)}`)).assignments}async function Xd(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 Zd(e,t){return u(await l.delete(`/accounts/${e}/iam/assignments/${t}`)).assignment}async function eg(e,t){let n=t?.scopeType?`?scope_type=${t.scopeType}`:"";return u(await U(`/accounts/${e}/iam/permissions${n}`)).permissions}async function xP(){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 wP(e="User requested deletion"){return u(await l.post("/account/request-deletion",{reason:e},{showErrors:!1}),"Failed to request account deletion")}async function AP(){return u(await l.post("/account/cancel-deletion",void 0,{showErrors:!1}),"Failed to cancel account deletion")}async function vP(){return u(await l.delete("/account/delete-immediately",{showErrors:!1}),"Failed to delete account immediately")}var tg="Export the deck as PDF or PPTX with convertRuntimePresentation().";async function VD(e){throw G("getGoogleAuthUrl",tg)}async function HD(e,t){throw G("convertPresentationToGoogleSlides",tg)}async function ng(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 u(await l.get(`/projects/${e}/review/items${r?`?${r}`:""}`,{showErrors:!1}))}async function rg(e,t){return u(await l.get(`/projects/${e}/review/items/${t}`))}async function sg(e,t){return u(await l.post(`/projects/${e}/review/items`,t))}async function og(e,t,n){return u(await l.post(`/projects/${e}/review/items/${t}/act`,n))}async function ig(e,t){return u(await l.post(`/projects/${e}/review/bulk`,t))}var eo="call:";function XD(e){return e.startsWith("cr:")&&e.length>3?{type:"change_request",changeRequestId:e.slice(3)}:e.startsWith(eo)&&e.length>eo.length?{type:"connector_call",executionId:e.slice(eo.length)}:{type:"review_item",reviewItemId:e}}function kP(e){return e==="needs_you"?"needs_you":e==="waiting"?"waiting":"done"}function ZD(e){let t={needs_you:0,waiting:0,done:0};for(let n of e)t[kP(n.status)]+=1;return t}function ej(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 to(e){return e.split(/[._-]/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function cg(e){let t=e.indexOf(".");return t<=0?to(e):`(${to(e.slice(0,t))}) ${to(e.slice(t+1))}`}function RP(e){let t=e.indexOf(".");return t>0?{connector:e.slice(0,t),action:e.slice(t+1)}:{connector:e,action:""}}var Er=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{},L=e=>typeof e=="string"&&e?e:void 0,xe=e=>Array.isArray(e)?e:void 0,ag=e=>typeof e=="number"?e:0,CP=e=>e.split(`
|
|
14
|
-
`).map(t=>t.trim()).filter(Boolean);function IP(e,t){let n=Er(e.advanced),r=L(e.description),s=xe(e.whatChanged)??(r?CP(r):t.summary?[t.summary]:[]);return{crId:L(e.cr_id),number:typeof e.number=="number"?e.number:void 0,whatChanged:s,impact:L(e.impact)??"",verification:xe(e.verification)??[],previewUrl:L(e.previewUrl)??L(e.preview_url),conflicts:xe(e.conflicts),requestedChanges:xe(e.requested_changes)??[],advanced:{headRef:L(n.headRef)??L(e.head_ref)??"",baseRef:L(n.baseRef)??L(e.base_ref)??"",headSha:L(n.headSha)??L(e.head_sha)??L(e.head_commit_sha)??"",baseSha:L(n.baseSha)??L(e.base_sha)??"",additions:ag(n.additions),deletions:ag(n.deletions),files:xe(n.files)??[],mergeMode:L(n.mergeMode)??"merge"}}}function TP(e,t){let n=xe(e.actions);if(n)return{actions:n.map((c,p)=>({id:L(c.id)??`${t.review_item_id}-${p}`,title:L(c.title)??"Action",connector:L(c.connector)??"",action:L(c.action)??"",consequence:L(c.consequence)??"",risk:L(c.risk)??t.risk,icon:L(c.icon)??"generic",argsPreview:xe(c.argsPreview)??[],policySource:L(c.policySource)??"Requires approval",decided:c.decided==="approved"||c.decided==="denied"?c.decided:void 0}))};let r=L(e.action_path)??"",{connector:s,action:o}=RP(r),i=Er(e.args_preview),a=Object.keys(i).length>0;return{actions:[{id:L(e.execution_id)??t.review_item_id,title:r?cg(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,approvalContext:L(e.approval_context),connectorRisk:L(e.risk)??null,policySource:"Requires approval"}]}}function EP(e,t){return{artifactKind:L(e.artifactKind)??"document",artifactLabel:L(e.artifactLabel)??"Output",previewUrl:L(e.previewUrl)??L(e.preview_url),preview:L(e.preview),files:xe(e.files),note:L(e.note)??t.summary??""}}function MP(e,t){return{question:L(e.question)??t.title??"",context:L(e.context),options:xe(e.options)??[]}}function OP(e,t){return{note:L(e.note)??t.summary??"",children:xe(e.children)??[]}}function DP(e){let t=Er(e.detail);switch(e.kind){case"change":return IP(t,e);case"approval":return TP(t,e);case"output":return EP(t,e);case"decision":return MP(t,e);case"batch":return OP(t,e)}}function jP(e,t){let n=typeof e.number=="number"?e.number:void 0,r=L(e.base_ref);return n!=null&&r?`#${n} \u2192 ${r}`:t}function tj(e,t={}){let n=Er(e.detail),r=e.origin_session_id??void 0,s=r?t.sessionLabels?.[r]:void 0,o=e.kind==="approval"?L(n.action_path):void 0,i=e.kind==="change"?jP(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?cg(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:DP(e)}}async function lg(e){return u(await l.get(`/p/share?sandbox_id=${encodeURIComponent(e)}`),"Failed to load public links").shares??[]}async function ug(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 pg(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 no=class extends Error{constructor(n,r){super(n);this.status=r;this.name="PublicSessionShareError"}status};function dg(e,t=""){return`${un()}/public/session-shares/${encodeURIComponent(e)}${t}`}async function gg(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 no(s,t.status)}return r}async function aj(e){return gg(dg(e))}async function cj(e){return gg(dg(e,"/messages"))}async function mg(e,t){return u(await l.get(`/projects/${e}/sessions/${t}/reminders`))}async function fg(e,t,n){return u(await l.post(`/projects/${e}/sessions/${t}/reminders`,n))}async function ro(e,t,n,r){return u(await l.patch(`/projects/${e}/sessions/${t}/reminders/${n}`,r))}async function so(e,t,n){return u(await l.delete(`/projects/${e}/sessions/${t}/reminders/${n}`))}var $P=4;async function yg(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($P,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 hg(e,t,n){return yg(t,r=>ro(e,r.sessionId,r.reminderId,n))}function bg(e,t){return yg(t,n=>so(e,n.sessionId,n.reminderId))}async function _g(e){return u(await l.get(`/projects/${e}/reminders`))}async function Pg(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 Sg(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 xg(e,t){let n=t?`?account_id=${encodeURIComponent(t)}`:"";return u(await l.delete(`/accounts/tokens/${e}${n}`))}async function wg(){return u(await l.get("/oauth/grants")).grants}async function Ag(e){return u(await l.delete(`/oauth/grants/${encodeURIComponent(e)}`))}async function fj(){return u(await l.get("/accounts/me/devices")).devices}async function yj(e){return u(await l.delete(`/accounts/me/devices/${encodeURIComponent(e)}`))}async function vg(e){return u(await l.get(`/projects/${e}/cli-token`))}async function kg(e,t){return u(await l.post(`/projects/${e}/cli-token`,t??{}))}async function Rg(e,t){return u(await l.delete(`/projects/${e}/cli-token/${t}`))}function Ot(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 oo(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 Cg(e,t){let n=Ot(oo(t)).toString();return u(await l.get(`/accounts/${e}/audit${n?`?${n}`:""}`))}async function Ig(e,t){let n=Ot(oo({...t,projectId:void 0})).toString();return u(await l.get(`/projects/${e}/audit${n?`?${n}`:""}`))}async function Tg(e,t){let n=Ot(oo(t)).toString();return u(await l.get(`/accounts/${e}/audit/export${n?`?${n}`:""}`))}async function Eg(e){return u(await l.get(`/accounts/${e}/audit/webhooks`))}async function Mg(e,t){return u(await l.post(`/accounts/${e}/audit/webhooks`,t))}async function Og(e,t,n){return u(await l.patch(`/accounts/${e}/audit/webhooks/${t}`,n))}async function Dg(e,t){return u(await l.delete(`/accounts/${e}/audit/webhooks/${t}`))}async function jg(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 $g(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 vj(e){return u(await l.get(`/approval-links/${e}`),"Failed to load approval")}async function Ug(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 Lg(){return u(await l.get("/marketplace/marketplaces"))}async function Bg(){return u(await l.get("/marketplace/marketplaces/featured"))}async function Fg(e){return u(await l.get(`/marketplace/items/${encodeURIComponent(e)}`),"Item not found")}async function Ng(e,t){return u(await l.get(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`),"File not found")}async function qg(){return u(await l.get("/marketplace/sources"))}async function Gg(e){return u(await l.post("/marketplace/sources",e),"Failed to add marketplace source")}async function Wg(e){return u(await l.delete(`/marketplace/sources/${encodeURIComponent(e)}`),"Failed to remove marketplace source")}async function Ij(e,t){return u(await l.post(`/projects/${encodeURIComponent(e)}/marketplace/install-session`,{id:t}),"Failed to start marketplace install session")}async function Mj(e){throw G("getTemplate")}async function Oj(e,t){throw G("installTemplate")}async function Kg(e){return u(await l.get(`/projects/${e}/apps`),"Failed to list Apps").apps}async function Vg(e,t){return u(await l.post(`/projects/${e}/apps`,t),"Failed to create App")}async function io(e,t){return u(await l.get(`/projects/${e}/apps/${t}`),"Failed to load App")}async function Hg(e,t,n){return u(await l.patch(`/projects/${e}/apps/${t}`,n),"Failed to update App")}async function zg(e,t){return u(await l.delete(`/projects/${e}/apps/${t}`),"Failed to delete App")}async function Yg(e,t){return u(await l.post(`/projects/${e}/apps/${t}/token`,{}),"Failed to mint an App token")}async function Jg(e,t){let n=await io(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 Qg(e,t){return u(await l.get(`/projects/${e}/apps/${t}/access`),"Failed to load App access policy")}async function Xg(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 Zg(e,t,n){return u(await l.patch(`/projects/${e}/apps/${t}/access`,n),"Failed to update App access policy")}async function em(e,t){return u(await l.post(`/projects/${e}/apps/${t}/access-session`,{}),"Failed to create App access session")}async function ao(e,t){return u(await l.post(`/projects/${e}/apps/artifacts`,t),"Failed to register App artifact")}async function co(e,t,n){return u(await l.post(`/projects/${e}/apps/artifacts/${t}/finalize`,n),"Failed to finalize App artifact")}async function UP(e){return e instanceof Uint8Array?e:new Uint8Array(await e.arrayBuffer())}async function LP(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 tm(e,t,n={}){let r=await UP(t),s=n.mediaType??"application/gzip",o=await ao(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),co(e,o.artifact.artifact_id,{sha256:await LP(r),size_bytes:r.byteLength})}async function nm(e,t,n){return u(await l.post(`/projects/${e}/apps/${t}/deployments`,n),"Failed to create App deployment")}async function rm(e,t){return u(await l.get(`/projects/${e}/apps/${t}/deployments`),"Failed to list App deployments").deployments}async function sm(e,t,n){return u(await l.get(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to load App deployment")}async function om(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 im(e,t){return u(await l.post(`/projects/${e}/apps/${t}/start`,{}),"Failed to start App")}async function am(e,t){return u(await l.post(`/projects/${e}/apps/${t}/stop`,{}),"Failed to stop App")}async function cm(e,t,n){return u(await l.delete(`/projects/${e}/apps/${t}/deployments/${n}`),"Failed to delete App deployment")}async function lm(e,t,n){return u(await l.post(`/projects/${e}/apps/${t}/rollback`,{deployment_id:n}),"Failed to roll back App")}var me=(e,t)=>`/projects/${e}/apps/${t}`;async function um(e,t){return u(await l.get(`${me(e,t)}/machines`),"Failed to list machines").machines}async function lo(e,t,n,r){return u(await l.post(`${me(e,t)}/machines/${n}/${r}`,{}),`Failed to ${r} the machine`).machines}var pm=(e,t,n)=>lo(e,t,n,"start"),dm=(e,t,n)=>lo(e,t,n,"stop"),gm=(e,t,n)=>lo(e,t,n,"restart");async function mm(e,t,n){return u(await l.delete(`${me(e,t)}/machines/${n}`),"Failed to destroy the machine").machines}async function fm(e,t,n){return u(await l.put(`${me(e,t)}/scale`,{count:n}),"Failed to scale the App")}async function ym(e,t,n){return u(await l.post(`${me(e,t)}/exec`,n),"Failed to run the command")}async function hm(e,t){return u(await l.get(`${me(e,t)}/volumes`),"Failed to list volumes").volumes}async function bm(e,t,n){return u(await l.post(`${me(e,t)}/volumes`,n),"Failed to create the volume")}async function _m(e,t,n,r){return u(await l.patch(`${me(e,t)}/volumes/${n}`,r),"Failed to update the volume")}async function Pm(e,t,n,r){u(await l.delete(`${me(e,t)}/volumes/${n}?confirm=${encodeURIComponent(r)}`),"Failed to destroy the volume")}async function Sm(e,t,n){return u(await l.get(`${me(e,t)}/volumes/${n}/snapshots`),"Failed to list snapshots").snapshots}async function xm(e,t,n){return u(await l.post(`${me(e,t)}/volumes/${n}/snapshots`,{}),"Failed to take the snapshot")}async function wm(e,t,n,r){return u(await l.post(`${me(e,t)}/volumes/${n}/restore`,{snapshot_id:r}),"Failed to restore the volume")}async function Am(e,t,n,r){return u(await l.post(`${me(e,t)}/volumes/${n}/fork`,r),"Failed to fork the volume")}function le(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return t===e.length?e:e.slice(0,t)}var ue=e=>`/drives/${encodeURIComponent(e)}`;async function Hj(e){let t=u(await l.get(`/drives?${new URLSearchParams({projectId:e})}`),"Failed to load files").drives;if(!t[0])throw new _("Files not found",{status:404});return t[0]}async function zj(e,t){return u(await l.get(`${ue(e)}/access?${new URLSearchParams({path:t})}`),"Failed to load sharing")}async function Yj(e,t){return u(await l.put(`${ue(e)}/access`,t),"Failed to share folder")}async function Jj(e,t){let n=u(await l.delete(`${ue(e)}/access/${encodeURIComponent(t)}`),"Failed to stop sharing");return{pendingSessions:typeof n?.pendingSessions=="number"?n.pendingSessions:0}}async function Qj(e){return u(await l.get(`${ue(e)}/principals`),"Failed to load people")}async function Xj(e){return u(await l.get(`${ue(e)}/conflicts`),"Failed to load conflicts").conflicts}async function Zj(e,t){u(await l.post(`${ue(e)}/conflicts/${encodeURIComponent(t)}/dismiss`,{}),"Failed to dismiss conflict")}async function e$(e,t="/"){return(await BP(e,t)).entries}async function BP(e,t="/"){return u(await l.get(`${ue(e)}/files?${new URLSearchParams({path:t})}`),"Failed to load files")}function vm(e,t,n){let r=le(R().backendUrl),s={path:t};return n?.download&&(s.download="1"),`${r}${ue(e)}/files/content?${new URLSearchParams(s)}`}async function t$(e,t,n){let r=await j(vm(e,t),{signal:n});if(!r.ok){let s=await r.json().catch(()=>null);throw new _(s?.message||"Could not download file",{status:r.status})}return r.blob()}async function n$(e,t,n){let r=await j(vm(e,t),{signal:n});if(!r.ok){let s=await r.json().catch(()=>null);throw new _(s?.message||"Could not download file",{status:r.status})}return{blob:await r.blob(),version:r.headers.get("etag")}}async function r$(e,t,n,r){return u(await l.putRaw(`${ue(e)}/files/content?${new URLSearchParams({path:t})}`,n,{signal:r?.signal,...r?.ifMatch?{headers:{"If-Match":r.ifMatch}}:{}}),"Failed to upload file")}async function s$(e,t){return u(await l.post(`${ue(e)}/files/mkdir`,{path:t}),"Failed to create folder")}async function o$(e,t,n){return u(await l.post(`${ue(e)}/files/move`,{from:t,to:n}),"Failed to move")}async function i$(e,t,n){let r={path:t};n?.recursive&&(r.recursive="true"),u(await l.delete(`${ue(e)}/files?${new URLSearchParams(r)}`),"Failed to delete")}async function a$(e){return u(await l.get(`${ue(e)}/versions`),"Failed to load versions").versions}async function c$(e,t){u(await l.post(`${ue(e)}/restore`,{versionId:t}),"Failed to restore version")}var FP=(e,t)=>`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/drives`;async function l$(e,t){return(await NP(e,t)).drives}async function NP(e,t){return u(await l.get(FP(e,t)),"Failed to load session files")}async function km(e){return u(await l.post("/notifications/device-token",e))}async function Rm(e,t){return u(await l.delete(`/notifications/device-token/${encodeURIComponent(e)}`,{signal:t?.signal}))}var g$=["turn_done","turn_error","question","permission","shared","automation_failed","automation_recovered"];async function Cm(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 Im(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 m$={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 Tm(){return u(await l.get("/notifications/preferences",{showErrors:!1}))}async function Em(e){return u(await l.put("/notifications/preferences",e))}async function Mm(){return u(await l.get("/notifications/web-push/key",{showErrors:!1}))}async function Om(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 Dm(e,t){return u(await l.delete(`/notifications/web-push/subscriptions?endpoint=${encodeURIComponent(e)}`,{signal:t?.signal,showErrors:!1}))}async function Mr(e){return u(await l.get(`/projects/${e}/model-access`))}async function Or(e,t){return u(await l.put(`/projects/${e}/model-access`,t))}function _$(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 uo(e){return typeof e=="string"&&e.trim().length>0}function jm(e){if(!e||typeof e!="object")return!1;let{path:t,url:n,content:r}=e;return uo(t)||uo(n)||uo(r)}function qP(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 Dr(e){if(!e)return!0;let t=qP(e.items);return t?!t.some(jm):!jm(e)}function fe(e){return(e??"").replace(/^oc-/,"").replace(/-/g,"_")}function x$(e){return fe(e)==="bash"}function w$(e){let t=fe(e);return t==="question"||t==="ask"}function A$(e,t){let n=Math.max(0,e);return`${t?"Running":"Ran"} ${n} command${n===1?"":"s"}`}var GP=new Set(["show","show_user"]);function $m(e){return GP.has(fe(e))}function v$(e,t){let n=Math.max(0,e);return`${t?"Writing":"Wrote"} ${n} file${n===1?"":"s"}`}function Um(e){return!!(e.type==="snapshot"||e.type==="patch"||e.type==="step-start"||e.type==="step-finish"||e.type==="text"&&!e.text?.trim()||po(e))}function po(e){let t=fe(e.tool);return t!=="show"&&t!=="show_user"||e.state?.status!=="completed"?!1:Dr(e.state?.input)}var WP=new Set(["show","show_user","agent_spawn","agent_status","agent_message","agent_task_update","agent_stop"]);function Lm(e){return WP.has(fe(e))}var KP=50*1024*1024,go="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",VP=new RegExp(`^beeuni-attachment://(${go})/(${go})/(${go})$`);function fo(e){if(typeof e!="string")return null;let t=VP.exec(e);return t?{projectId:t[1],sessionId:t[2],attachmentId:t[3]}:null}function M$(e){return fo(e)!==null}var mo=new WeakMap;async function Bm(e,t,n,r={}){if(n.size>KP)throw new Error("Attachments must be 50 MiB or smaller.");let s=`${e}/${t}`,o=r.attachmentId?void 0:mo.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=mo.get(n)??new Map;c.set(s,i),mo.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 Fm(e,t){let n=fo(e);if(!n)throw new Error("Invalid attachment reference");let r=R().backendUrl.replace(/\/$/,""),s=await j(`${r}/projects/${n.projectId}/sessions/${n.sessionId}/attachments/${n.attachmentId}`,{signal:t});if(!s.ok)throw new _("Could not load attachment",{status:s.status});return s.blob()}var HP=new Set(["show","show_user"]);function zP(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 Dt=e=>!!e&&typeof e=="object"&&!Array.isArray(e),pn=e=>typeof e=="string"&&e.length>0?e:null,Nm=e=>typeof e=="string"?pn(e.split("/").pop()):null;function jr(e,t){let n=e.match(new RegExp(`(?:^|\\s)${t}="([^"]*)"`))?.[1];return n===void 0?null:n.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")}function YP(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 JP(e,t){for(let n of zP(e))t(jr(n,"attachment"),jr(n,"filename")??Nm(jr(n,"path")),jr(n,"mime"))}function QP(e,t){for(let n of[e,...YP(e.items)])Dt(n)&&t(n.attachment,Nm(n.path),null)}function O$(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!Dt(r)||!Dt(r.info)||!Array.isArray(r.parts))continue;let s=pn(r.info.id);if(!s)continue;let o=pn(r.info.role)??"unknown",i=(a,c,p)=>{let d=fo(a);!d||n.has(a)||(n.add(a),t.push({url:a,attachment_id:d.attachmentId,filename:c,mime:p,message_id:s,role:o}))};for(let a of r.parts)Dt(a)&&(a.type==="file"?i(a.url,pn(a.filename),pn(a.mime)):a.type==="text"&&typeof a.text=="string"?JP(a.text,i):a.type==="tool"&&typeof a.tool=="string"&&HP.has(fe(a.tool))&&Dt(a.state)&&Dt(a.state.input)&&QP(a.state.input,i))}return t}function He(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function XP(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 L$(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 yo(e,t,n){return e!==void 0?e:XP(He(t),n)}var qm={get disableMobileAdvertising(){return yo(R().featureFlags?.disableMobileAdvertising,"NEXT_PUBLIC_DISABLE_MOBILE_ADVERTISING",!1)},get enableDinoGame(){return yo(R().featureFlags?.enableDinoGame,"NEXT_PUBLIC_ENABLE_DINO_GAME",!1)},get enableProjects(){return yo(R().featureFlags?.enableProjects,"NEXT_PUBLIC_ENABLE_PROJECTS",!1)},get enableAutoModel(){return!1}};var ZP=new Set(["project-manager"]);function ho(e){return e.native===!0||e.mode==="subagent"||e.hidden||e.enabled===!1?!1:qm.enableProjects||!ZP.has(e.name)}function N$(e){let t=e.agents.filter(ho),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 Gm(){return{projects:{list:kt,listForAccount:Ia,get:ar,detail:cr,create:Oa,createRepo:Da,provision:ja,update:pr,archive:dr,llmCatalog:lr,modelPicker:ur,modelAccess:Mr,setModelAccess:Or,sandboxHealth:fr,sandboxTemplates:xl,sessions:Et,createSession:Mt},github:{linkRepository:Na,replaceProjectRepository:qa,getInstallation:Ga,listInstallations:Wa,listLinkableInstallations:Ka,listRepositories:Va,listRepositoryBranches:Ha,linkInstallation:Ya,saveInstallation:za,deleteInstallation:Qa,storeUserToken:Ja},connectStatus:ml,marketplace:{items:s=>Ug(s),item:s=>Fg(s),itemFile:(s,o)=>Ng(s,o),marketplaces:()=>Lg(),featured:()=>Bg(),sources:{list:()=>qg(),add:s=>Gg(s),remove:s=>Wg(s)}}}}function Wm(){return{billing:{accountState:Ap,accountStateMinimal:vp,transactions:kp,transactionsSummary:Rp,creditBreakdown:Cp,usageHistory:Ip,usageRollup:qp,sessionCosts:{list:Wp,get:Tr},tierConfigurations:Tp,checkout:{createSession:n=>Ep(n),confirmSession:(n,r)=>Mp(n,r)},subscription:{createPortalSession:(n,r)=>Op(n,r),cancel:(n,r)=>Dp(n,r),reactivate:n=>jp(n),scheduleDowngrade:(n,r,s)=>$p(n,r,s),cancelScheduledChange:n=>Up(n),prorationPreview:(n,r)=>Lp(n,r)},credits:{purchase:n=>Bp(n),autoTopupSettings:n=>Fp(n),configureAutoTopup:n=>Np(n)}},sandboxShares:{list:lg,create:ug,revoke:pg}}}var ze={DESKTOP:"6080",DESKTOP_HTTPS:"6081",PRESENTATION_VIEWER:"3210",STATIC_FILE_SERVER:"3211",BEEUNI_MASTER:"8000",BROWSER_STREAM:"9223",BROWSER_VIEWER:"9224",SSH:"22"};function Ye(){let e=He("BACKEND_URL")||R().backendUrl;return e||"http://localhost:8008/v1"}function lt(e){let t=le(e);return t.endsWith("/v1")?t:`${t}/v1`}function dn(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=dn(t);if(n)return n}return}if(e&&typeof e=="object"){let t=e;return dn(t.sandboxId??t.id??t.slug??Object.values(t)[0])}}function eS(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 bo(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?`${Ye()}/p/${n.external_id}/${ze.BEEUNI_MASTER}`:""),status:eS(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 _o(){let e=await kt(),t=[];for(let n of e){let r=await Et(n.project_id).catch(()=>[]);for(let s of r)t.push({project:n,session:s,runtime:null,sandbox:bo(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 ut(e){let t=await _o();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 gn=class extends Error{constructor(n,r,s){super(r);this.code=n;this.status=s;this.name="HeadlessAuthError"}code;status};async function re(e,t,n){let r=n?.fetch??R().fetch??((p,d)=>fetch(p,d)),s=le(n?.backendUrl??R().backendUrl??"");if(!s)throw new gn("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(`${lt(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 gn(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 Po(e,t){return re("/auth/signup",{body:e},t)}function So(e,t){return re("/auth/sign-in/password",{body:e},t)}function xo(e,t){return re("/auth/sign-in/magic-link",{body:e},t)}function wo(e,t){return re("/auth/verify-otp",{body:e},t)}function Ao(e,t){return re("/auth/sign-in/oauth",{body:e},t)}function vo(e,t){return re("/auth/oauth/exchange",{body:e},t)}function mn(e,t){return re("/auth/refresh",{body:e},t)}function ko(e,t){return re("/auth/password/reset",{body:e},t)}function Ro(e,t,n){return re("/auth/password/update",{body:e,bearer:t},n)}function Co(e,t){return re("/auth/user",{bearer:e},t)}function Io(e,t,n){return re("/auth/user",{method:"PATCH",body:e,bearer:t},n)}function To(e,t){return re("/auth/sign-in/sso",{body:e},t)}var Eo={enroll:(e,t,n)=>re("/auth/mfa/factors",{body:e,bearer:t},n),challenge:(e,t={},n,r)=>re(`/auth/mfa/factors/${encodeURIComponent(e)}/challenge`,{body:t,bearer:n},r),verify:(e,t,n,r)=>re(`/auth/mfa/factors/${encodeURIComponent(e)}/verify`,{body:t,bearer:n},r),unenroll:(e,t,n)=>re(`/auth/mfa/factors/${encodeURIComponent(e)}`,{method:"DELETE",bearer:t},n)};function Mo(e,t={},n){return re("/auth/sign-out",{body:t,bearer:e},n)}function Oo(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=w=>(w.expires_at??0)*1e3,g=w=>d(w)-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 w of[...p])try{w(r)}catch{}try{e.onChange?.(r)}catch{}}async function y(){if(o)return r;if(!i){let w=c,M=(async()=>{let B=await e.storage.get();if(w===c&&B)try{let F=JSON.parse(B);F.session?.access_token&&F.session?.refresh_token&&(r=F.session,s=F.user??null)}catch{r=null}return o=!0,r})();i=M,M.then(()=>{i===M&&(i=null)},()=>{i===M&&(i=null)})}return i}async function h(){if(await y(),!r)return null;if(!a){let w=r.refresh_token,M=c,B=mn({refresh_token:w},e.request).then(async F=>(M!==c||(r=F.session,F.user&&(s=F.user),await m()),r)).catch(async F=>{if(M!==c)return r;let f=F&&typeof F=="object"&&"status"in F?F.status:0;if(f>=400&&f<500)return r=null,s=null,await m(),null;throw F}).finally(()=>{a===B&&(a=null)});a=B}return a}return{subscribe(w){return p.add(w),()=>{p.delete(w)}},current:()=>r,user:()=>s,load:y,async set(w,M){await y(),c+=1,a=null,r=w,M!==void 0&&(s=M),w||(s=null),await m()},async getToken(){return await y(),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 Km(){return{list:ia,get:ca,create:aa,secretResources:{list:Ic,create:Tc,rotate:Ec,retry:Mc,remove:Oc,grant:Dc,revoke:jc,setAccess:$c},updateName:la,branding:{get:ua,update:pa,uploadAsset:da,removeAsset:ga,reset:ma},leave:ka,members:fa,invite:ya,removeMember:Aa,updateMemberRole:va,invites:ha,cancelInvite:ba,resendInvite:_a,tokens:{list:Pg,create:Sg,revoke:xg},connectedApps:{list:wg,revoke:Ag},audit:{log:Cg,export:Tg,webhooks:{list:Eg,create:Mg,update:Og,remove:Dg}}}}function Vm(){return{assignments:{list:Qd,create:Xd,revoke:Zd},permissions:{list:eg,forRole:Ud},roles:{list:Dd,create:Bd,update:Fd,setPermissions:Nd,remove:qd,usage:Ld},groups:{list:kd,get:Rd,create:Cd,update:Id,remove:Td,members:{list:Ed,add:Md,remove:Od}},agentIdentities:jd,oauthClients:{list:Kd,get:Vd,create:Hd,update:zd,rotateSecret:Yd,remove:Jd},can:Gd,canBatch:Wd}}function Hm(){let e={signUp:Po,signInWithPassword:So,sendMagicLink:xo,verifyOtp:wo,signInWithProvider:Ao,exchangeCode:vo,refresh:mn,resetPassword:ko,updatePassword:Ro,updateUserMetadata:Io,signInWithSso:To,mfa:Eo,user:Co,signOut:Mo,session:Oo},t=Km(),n=Vm();return{auth:e,accounts:t,iam:n,accountInvites:{listMine:Pa,describe:Sa,accept:xa,decline:wa}}}var fn=new Map,Do=new Map;function jo(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function zm(e){return fn.get(jo(e))??null}function Ym(){return[...fn.values()].filter(e=>typeof e=="string")}function Jm(e){return fn.has(jo(e))}async function pt(e){let t=jo(e),n=fn.get(t);if(n!==void 0)return n;let r=Do.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 fn.set(t,i),i}catch{return null}finally{Do.delete(t)}})();return Do.set(t,s),s}function Qm(e){let{apiBaseUrl:t}=e;return Jm(t)||pt(t).catch(()=>{}),{sandboxId:e.sandboxId,backendPort:e.backendPort,apiBaseUrl:t,previewUrlTemplate:zm(t)}}function Xm(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 _(`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=R().backendUrl??e.backendUrl,o=80,i=t(s);return i&&(o=i.port?Number(i.port):i.protocol==="https:"?443:80),Qm({sandboxId:r,apiBaseUrl:s,backendPort:o})}}function Zm(e,t){let n=null;async function r(){n||(n=wr(e,t,{showErrors:!1}).then(s=>{let o=Yu(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 yn=new Map;function ef(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 jt=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 $t={url:null,sandboxId:null,dbSandboxId:null,version:0},nS=new Set;function tf(e,t=null,n=null){if(!($t.url===e&&$t.sandboxId===t&&$t.dbSandboxId===n)){$t={url:e,sandboxId:t,dbSandboxId:n,version:$t.version+1};for(let r of nS)r()}}function nf(){return $t.url}function rf(e,t){async function n(r){let s=Date.now()+r,o=()=>Math.max(0,s-Date.now()),i=await ct(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 ct(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 _(ef(i),{code:"RUNTIME_UNAVAILABLE"});let c=i.sandbox.external_id;if(!c)throw new _("Session sandbox has no external_id \u2014 cannot resolve its runtime URL",{code:"RUNTIME_UNAVAILABLE"});let p=at(c);return tf(p,c),{runtimeSessionId:a,opencodeSessionId:a,runtimeUrl:p,sandboxId:c}}return n}function sf(e,t,n){let r=null;function s(){if(r)return r;let p=ap(e,t);return p&&(r=p),r}let o=rf(e,t);async function i(p){let d=s();if(d)return d;let g=p?.readyTimeoutMs??18e4,m=pt(R().backendUrl??n.backendUrl).catch(()=>null),y=`${e}
|
|
15
|
-
${t}`,
|
|
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(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/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
|
-
`);a=d.pop()??"";for(let g of d){let m={},
|
|
20
|
-
`))if(h.startsWith("data:"))
|
|
21
|
-
`)),yield m}}}finally{r.removeEventListener("abort",i),o.releaseLock()}}}async function*cS(e,t,n){let r=e.eventTransport??$o(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 hn(e){let t=s=>(o,i)=>aS(e,oS(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:cS(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 af=200;async function lS(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 dt(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 _(`${t}: ${r}`,{...e.response?{status:e.response.status,response:e.response}:{}})}function cf(e){let t=e.runtimeUrl.replace(/\/$/,""),n=hn({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=w=>e.fetch(new Request(`${t}${w}${g}`,{method:"GET",...r.signal?{signal:r.signal}:{}})),y=await m("/beeuni/runtime");if((y.status===404||(y.headers.get("content-type")??"").startsWith("text/html"))&&(y=await m("/beeuni/opencode")),!y.ok)throw new _(`Reading the session transcript failed: ${await lS(y)}`,{status:y.status,response:y});let h=await y.json();return{messages:h.messages??[],hasMore:h.has_more===!0}},i=await o(r.limit===void 0?void 0:Math.min(r.limit,af),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,af),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=>dt(i,"Reading the session status failed")),n.permission.list().then(i=>dt(i,"Reading permission requests failed")),n.question.list().then(i=>dt(i,"Reading questions failed"))]);return{statuses:r??{},permissions:s??[],questions:o??[]}},answerPermission:async(r,s,o)=>{dt(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){dt(await n.question.reject({requestID:r}),"Dismissing the question failed");return}dt(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 _("Cannot compact: no model is set for this session",{code:"MODEL_REQUIRED"});return dt(await n.session.summarize({sessionID:e.rootId,providerID:s.providerID,modelID:s.modelID}),"Compacting the session failed"),s}}}function lf(e){async function t(){let{runtimeSessionId:n,runtimeUrl:r}=await e.ensureReady();return cf({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 uf(e){return{setModel:t=>{e.model=t},changeModel:async t=>{let n=await zu(e.projectId,e.sessionId,t);return e.clearPersistedDefaults(),n}}}var bn=BigInt(4096),Je=BigInt(0xffffffffffff),pf=Je+BigInt(1),uS=pf/BigInt(2),gt=BigInt(3600*1e3)*bn,Uo=120*1e3,pS=/^msg_[0-9a-f]{12}[A-Za-z0-9]{14}$/,dS=/^msg_([0-9a-f]{12})/,df="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function Ut(e){let t=dS.exec(e??"");return t?BigInt(`0x${t[1]}`):null}function _n(e){return BigInt(Math.trunc(e))*bn&Je}function Lt(e,t){let n=e-t&Je;return n>=uS&&(n-=pf),n}function gf(e){let t=null;for(let n of e)n!=null&&(t===null||Lt(n,t)>BigInt(0))&&(t=n);return t}function gS(e,t){let n=Ut(e);return n===null?!1:Lt(n,_n(t))>gt}function mS(e,t){let n=t===void 0?null:_n(t);return mf(e,r=>n===null||Lt(r,n)<=gt)}function mf(e,t){let n=[];for(let r of e){let s=Ut(r);s!==null&&t(s)&&n.push(s)}return gf(n)}function fS(){let e="",t=new Uint8Array(32);for(;e.length<14;){crypto.getRandomValues(t);for(let n of t)n<248&&e.length<14&&(e+=df[n%62])}return e}function ff(e){let t=e.random,n=_n(e.nowMs-(e.backdateMs??Uo)),r=e.newestKnownTime??null;if(r!==null){let o=Lt(r,n);o>=BigInt(0)&&o<=gt&&(n=r+BigInt(1)&Je)}let s="";if(t)for(let o=0;o<14;o++)s+=df[Math.min(61,Math.floor(t()*62))];else s=fS();return{id:`msg_${n.toString(16).padStart(12,"0")}${s}`,time:n}}function Lo(e={}){let t=e.nowMs??Date.now(),n=_n(t-Uo),r=mf(e.after??[],s=>{let o=Lt(s,n);return o>=BigInt(0)&&o<=gt});return ff({nowMs:t,newestKnownTime:r}).id}function yf(e){return{scope:()=>Vu(e.projectId,e.sessionId),providerSecretPool:{list:()=>Lc(e.projectId,e.sessionId),get:t=>Uc(e.projectId,e.sessionId,t),set:(t,n)=>Bc(e.projectId,e.sessionId,t,n)},rescope:t=>Hu(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=Lo(),p=await Ar(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 _("This prompt was refused: its earlier delivery already failed.",{code:"PROMPT_FAILED"});return p}}}var Bt="beeuni.transcript.v1",yS=["auth","rate_limit","credits","context_length","output_length","aborted","unknown"];function hf(e){return typeof e=="string"&&yS.includes(e)}var FU=["once","always","reject"],NU=["read","edit","glob","grep","list","bash","task","external_directory","todowrite","question","webfetch","websearch","lsp","doom_loop","skill"];var bf=async function*(e){let t=R().eventStreamTransport;if(!t){yield*$o(((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 je(){let e=nf();return e||(R().billingEnabled??!1?"":up())}async function Bo(e,t){return(await e.json().catch(()=>({})))?.error||e.statusText||t}function Fo(e){if(!e)throw new Error("[opencode-sdk] Server URL not ready \u2014 sandbox is still loading");return e}async function _f(e){let t=Fo(e),n=await j(`${t}/env`);if(!n.ok)throw new Error(await Bo(n,"Failed to load secrets"));return(await n.json()).secrets??{}}async function Pf(e,t,n){let r=Fo(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 Bo(s,"Failed to save secret"))}async function Sf(e,t){let n=Fo(e),r=await j(`${n}/env/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await Bo(r,"Failed to delete secret"))}var hS={list:_f,set:Pf,delete:Sf};async function bS(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 $r(e,t){let n=await e.json().catch(()=>({}));return n?.error||n?.message||e.statusText||t}function Pn(e){if(!e)throw new Error("[beeuni-pty] Server URL not ready \u2014 sandbox is still loading");return le(e)}async function xf(e){let t=Pn(e),n=await j(`${t}/beeuni/pty`);if(!n.ok)throw new Error(await $r(n,"Failed to list terminals"));return n.json()}async function wf(e,t){let n=Pn(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 $r(r,"Failed to create terminal"));return r.json()}async function Af(e,t,n){let r=Pn(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 $r(s,"Failed to update terminal"));return s.json()}async function vf(e,t){let n=Pn(e),r=await j(`${n}/beeuni/pty/${encodeURIComponent(t)}`,{method:"DELETE"});if(!r.ok)throw new Error(await $r(r,"Failed to remove terminal"))}async function kf(e,t,n){let r=Pn(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:"),le(p.toString())}catch{return r.replace("https://","wss://").replace("http://","ws://")}})()}/beeuni/pty/${encodeURIComponent(e)}/connect`,i=new URLSearchParams,a=await ot();a&&i.set("token",a),n?.wake&&i.set("wake","1");let c=i.toString();return c?`${o}${o.includes("?")?"&":"?"}${c}`:o}function _S(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 Qe="\x1B",Rf="\x07",PS="\0",No=`(?:${Rf}|${Qe}\\\\)`,SS=[new RegExp(`${Qe}\\]697;[^${Rf}${Qe}]*${No}`,"g"),new RegExp(`${PS}?\\{"cursor":\\d+\\}`,"g"),new RegExp(`${Qe}\\][0-9]+;rgb:[0-9a-fA-F/]+${No}`,"g"),new RegExp(`${Qe}\\]4;[0-9]+;rgb:[0-9a-fA-F/]+${No}`,"g"),new RegExp(`${Qe}\\[\\??[0-9;]*\\$y`,"g"),new RegExp(`${Qe}\\[\\d+;\\d+R`,"g"),new RegExp(`${Qe}\\[\\?[0-9;]*c`,"g")];function xS(e){let t=e;for(let n of SS)t=t.replace(n,"");return t}var wS={list:xf,create:wf,update:Af,remove:vf,webSocketUrl:kf};async function T(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 cL(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 T(e,`/beeuni/tasks${r}`)}async function lL(e,t){return T(e,`/beeuni/tasks/${encodeURIComponent(t)}`)}async function uL(e,t){return T(e,`/beeuni/tasks/${encodeURIComponent(t)}/events`)}async function pL(e,t){return T(e,`/beeuni/tasks/${encodeURIComponent(t)}/status`)}async function dL(e,t){return T(e,"/beeuni/tasks",{method:"POST",body:JSON.stringify(t)})}async function gL(e,t,n){return T(e,`/beeuni/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function mL(e,t){return T(e,`/beeuni/tasks/${encodeURIComponent(t)}/start`,{method:"POST"})}async function fL(e,t){return T(e,`/beeuni/tasks/${encodeURIComponent(t)}/approve`,{method:"POST"})}async function yL(e,t){return T(e,`/beeuni/tasks/${encodeURIComponent(t)}`,{method:"DELETE"})}async function hL(e,t){let n=t?`?project_id=${encodeURIComponent(t)}`:"";return T(e,`/beeuni/tickets${n}`)}async function bL(e,t){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}`)}async function _L(e,t){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}/events`)}async function PL(e,t){return T(e,"/beeuni/tickets",{method:"POST",body:JSON.stringify(t)})}async function SL(e,t,n){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function xL(e,t,n){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}/status`,{method:"POST",body:JSON.stringify(n)})}async function wL(e,t,n){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}/assign`,{method:"POST",body:JSON.stringify(n)})}async function AL(e,t,n){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}/unassign`,{method:"POST",body:JSON.stringify(n)})}async function vL(e,t,n){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}/comments`,{method:"POST",body:JSON.stringify(n)})}async function kL(e,t){return T(e,`/beeuni/tickets/${encodeURIComponent(t)}`,{method:"DELETE"})}async function RL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/columns`)}async function CL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/columns`,{method:"PUT",body:JSON.stringify({columns:n})})}async function IL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/fields`)}async function TL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/fields`,{method:"PUT",body:JSON.stringify({fields:n})})}async function EL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/templates`)}async function ML(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/templates`,{method:"PUT",body:JSON.stringify({templates:n})})}async function OL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/pm-session`,{method:"POST"})}async function DL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/agents`)}async function jL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/agents`,{method:"POST",body:JSON.stringify(n)})}async function $L(e,t,n,r){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function UL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}`,{method:"DELETE"})}async function LL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/agents/${encodeURIComponent(n)}/persona`)}async function BL(e,t,n=200){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/activity?limit=${n}`)}async function FL(e){return T(e,"/beeuni/projects")}async function NL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}`)}async function qL(e,t){return T(e,`/beeuni/projects/by-session/${encodeURIComponent(t)}`)}async function GL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/sessions`)}async function WL(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}`,{method:"DELETE"})}async function KL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(n)})}async function VL(e,t,n="all"){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones?status=${n}`)}async function HL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`)}async function zL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/events`)}async function YL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones`,{method:"POST",body:JSON.stringify(n)})}async function JL(e,t,n,r){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"PATCH",body:JSON.stringify(r)})}async function QL(e,t,n,r){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/close`,{method:"POST",body:JSON.stringify(r)})}async function XL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}/reopen`,{method:"POST"})}async function ZL(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/milestones/${encodeURIComponent(n)}`,{method:"DELETE"})}async function eB(e,t){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials`)}async function tB(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}/events`)}async function nB(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials`,{method:"POST",body:JSON.stringify(n)})}async function rB(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`)}async function sB(e,t,n){return T(e,`/beeuni/projects/${encodeURIComponent(t)}/credentials/${encodeURIComponent(n)}`,{method:"DELETE"})}var AS=1e4,vS={retryOnAuthError:!1};function Ft(e,t,n){return T(e,t,{signal:AbortSignal.timeout(AS),...n},vS)}async function oB(e,t=!1){return(await Ft(e,`/beeuni/services${t?"?all=true":""}`)).services??[]}async function iB(e){return(await Ft(e,"/beeuni/services/templates")).templates??[]}async function aB(e,t){return(await Ft(e,`/beeuni/services/${encodeURIComponent(t)}/logs`)).logs??[]}async function cB(e,t,n){let r=n==="delete",s=r?`/beeuni/services/${encodeURIComponent(t)}`:`/beeuni/services/${encodeURIComponent(t)}/${n}`;return Ft(e,s,{method:r?"DELETE":"POST"})}async function lB(e,t){return Ft(e,`/beeuni/services/reconcile${t?"?reload=true":""}`,{method:"POST"})}async function uB(e,t){return Ft(e,"/beeuni/services/register",{method:"POST",body:JSON.stringify(t)})}var $e=new Map,kS=256,Sn=class extends Error{constructor(t="[opencode-sdk] Server URL not ready \u2014 sandbox is still loading"){super(t),this.name="RuntimeNotReadyError"}};function mt(){let e=je();if(!e)throw new Sn;return Ue(e)}function Ue(e){if(!e)throw new Error("[opencode-sdk] getClientForUrl called without a url");let t=$e.get(e);if(t)return $e.delete(e),$e.set(e,t),t;if(!ws())throw new Error("[opencode-sdk] No auth token provider configured \u2014 call configureBeeuni()/createBeeuni() before talking to a sandbox runtime.");let n=hn({baseUrl:e,fetch:j,eventTransport:bf});return $e.set(e,n),$e.size>kS&&$e.delete($e.keys().next().value),n}function bB(e){$e.delete(e)}function _B(){$e.clear()}var Ur=new Map;function PB(e){if(!e)throw new Error("[opencode-sdk] getPublicClientForUrl called without a url");let t=Ur.get(e);if(t)return t;let n=hn({baseUrl:e,fetch});return Ur.set(e,n),n}function SB(e){Ur.delete(e)}function xB(){Ur.clear()}async function RS(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 wB(e){let t=je();if(!t)throw new _("[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 _(`System reload failed (${r.status}): ${await RS(r)}`,{status:r.status,response:r,code:"RUNTIME_UNAVAILABLE"});if(!o)throw new _(`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 _(`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 Cf="frontend";function Lr(e,t,n){(e==="error"?console.error:e==="warn"?console.warn:e==="debug"?console.debug:console.log)(`[${Cf}] ${t}`,...n?[n]:[]);try{mt().app.log({service:Cf,level:e,message:t,extra:n})}catch{}}var Xe={debug:(e,t)=>Lr("debug",e,t),info:(e,t)=>Lr("info",e,t),warn:(e,t)=>Lr("warn",e,t),error:(e,t)=>Lr("error",e,t)};function CS(e){return{type:"heartbeat-gap",gapMs:e}}function IS(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 TS={now:()=>Date.now(),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),random:()=>Math.random()},ES=16,MS=8,OS=6e4,DS=5e3,jS=250,$S=1e3,US=3e4,LS=5,BS=1e4,FS=4,NS=.5,qS=3e3,GS=3e4,WS=2e4,KS=2e3,VS=8;function HS(e){if(e.type==="session.status")return`session.status:${e.properties.sessionID}`;if(e.type==="lsp.updated")return"lsp.updated"}function zS(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 If(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 xn=new WeakMap;function YS(e,t,n){let r=t.timers??TS,s=t.connectTimeoutMs??WS,o=t.heartbeatTimeoutMs??OS,i=t.maxConsecutiveHardFailures??VS,a=new AbortController;function c(b,...S){for(let O of n){let C=b(O);if(C)try{C(...S)}catch(P){console.warn("[opencode-events] subscriber handler threw, skipping",P)}}}let p=null,d=!1,g=b=>{p!==b&&(p=b,b&&c(S=>S.onConnectionChange,b))},m=r.now(),y=null,h=[],w,M=0,B=new Map,F=()=>{if(w&&r.clearTimeout(w),w=void 0,h.length===0)return;let b=h;h=[],B.clear(),M=r.now(),m=r.now();for(let S of b)S&&c(O=>O.onEvent,S.event)},f=()=>{if(w)return;let b=r.now()-M;w=r.setTimeout(F,Math.max(0,ES-b))};return(async()=>{let b=0,S=0,O=0;for(;!a.signal.aborted;){let C=!1,P=!1,x,v,k=null,$=r.now(),D=new AbortController;g("connecting");let E=If(a.signal);E.promise.then(()=>D.abort());try{let Z=await new Promise((St,nt)=>{let ce=!1;v=r.setTimeout(()=>{ce||(ce=!0,Xe.warn("SSE connect timed out, forcing reconnect",{connectTimeoutMs:s}),D.abort(),nt(new Error(`SSE connect timed out after ${s}ms`)))},s),e.global.event({signal:D.signal,sseDefaultRetryDelay:qS,sseMaxRetryDelay:GS,sseMaxRetryAttempts:1}).then(Re=>{ce||(ce=!0,r.clearTimeout(v),St(Re))},Re=>{ce||(ce=!0,r.clearTimeout(v),nt(Re))})}),{stream:et}=Z;if(y){let St=r.now()-y.lastActivityAt,nt=y.eventful;y=null,(nt||St>DS)&&c(ce=>ce.onGapRehydrate,St)}m=r.now();let tt=()=>{r.clearTimeout(x),x=r.setTimeout(()=>{Xe.warn("SSE heartbeat timeout, forcing reconnect"),D.abort()},o)};tt();let Jn=r.now(),Fb=et[Symbol.asyncIterator]();for(;!D.signal.aborted;){let St=Fb.next().then(Ce=>({kind:"next",result:Ce}),Ce=>({kind:"error",error:Ce})),nt=If(D.signal),ce=await Promise.race([St,nt.promise.then(()=>({kind:"aborted"}))]);if(nt.cleanup(),ce.kind==="aborted")break;if(ce.kind==="error")throw ce.error;if(ce.result.done)break;g("open"),tt();let Re=ce.result.value,xt=Re&&typeof Re=="object"&&"payload"in Re?Re.payload:Re;if(!xt?.type)continue;xt.type!=="server.connected"&&(C=!0);let Ps=zS(h[h.length-1]?.event,xt);if(Ps)h[h.length-1]={type:Ps.type,event:Ps};else{let Ce=HS(xt);if(Ce){let Li=B.get(Ce);Li!==void 0&&(h[Li]=void 0),B.set(Ce,h.length)}h.push({type:xt.type,event:xt})}f(),!(r.now()-Jn<MS)&&(Jn=r.now(),await new Promise(Ce=>r.setTimeout(Ce,0)))}P=C}catch(Z){if(a.signal.aborted)break;k=Z;let et=String(Z),tt=en(Z)||en(Z?.cause);if(Xe.error("SSE event stream error",{error:et,retryCount:b,isAuthError:tt}),tt)try{js(),await ot(),Xe.info("SSE: refreshed auth token after auth error")}catch(Jn){Xe.error("SSE: failed to refresh auth token",{error:String(Jn)})}}finally{r.clearTimeout(x),r.clearTimeout(v),D.abort(),E.cleanup(),F()}if(a.signal.aborted)break;let q=r.now()-$,Q=k?.cause?.status;if(S=!C&&(typeof Q=="number"&&Q>=400||q<KS)?S+1:0,S>=i){Xe.error("SSE event stream parked \u2014 giving up after consecutive hard failures",{consecutiveFailures:S,lastError:String(k)}),p=null,d=!0,c(Z=>Z.onParked,{consecutiveFailures:S,lastError:k});break}g("lost"),y={lastActivityAt:m,eventful:(y?.eventful??!1)||C},O=P&&q<BS?O+1:0;let ve=P&&O<=FS;ve?b=0:(b++,b>1&&Xe.warn("SSE event stream reconnecting",{retryCount:b}));let Zt=ve?jS:Math.min($S*2**Math.min(b-1,LS),US),ke=Math.round(Zt*(1+NS*(r.random?.()??0)));await new Promise(Z=>{let et=r.setTimeout(Z,ke),tt=()=>{r.clearTimeout(et),Z()};a.signal.addEventListener("abort",tt,{once:!0})})}})(),{subscribers:n,connectionState:()=>p,isParked:()=>d,teardown:()=>{p=null,a.abort(),w&&r.clearTimeout(w)}}}function qo(e){let{onEvent:t,onGapRehydrate:n,onParked:r,onConnectionChange:s,signal:o}=e,i=e.client??(e.url?Ue(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=xn.get(i);if(c?.isParked()&&(xn.delete(i),c=void 0),!c)c=YS(i,e,new Set([a])),xn.set(i,c);else{c.subscribers.add(a);let y=c.connectionState();y&&s?.(y)}let p=c,d=!1,g=()=>{d||(d=!0,o&&o.removeEventListener("abort",m),p.subscribers.delete(a),p.subscribers.size===0&&(p.teardown(),xn.get(i)===p&&xn.delete(i)))},m=()=>g();return o&&(o.aborted?g():o.addEventListener("abort",m,{once:!0})),{close:g}}function Tf(e){return{abort:async()=>{let{runtimeSessionId:t,runtimeUrl:n}=await e.ensureReady();return Ue(n).session.abort({sessionID:t})},rewind:async t=>{let{runtimeSessionId:n,runtimeUrl:r}=await e.ensureReady();return Ue(r).session.revert({sessionID:n,messageID:t})},restoreRewind:async()=>{let{runtimeSessionId:t,runtimeUrl:n}=await e.ensureReady();return Ue(n).session.unrevert({sessionID:t})},stream:async t=>{let{runtimeUrl:n}=await e.ensureReady();return qo({url:n,onEvent:t.onEvent,onGapRehydrate:t.onGapRehydrate,signal:t.signal})}}}function Df(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 _(n,{status:t?.response?.status??t?.status,response:t?.response,details:t})}return e.data}async function Nt(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 te(e){let t=(e??je()).trim();if(!t)throw new Sn;return t}async function Fr(e,t){let n=await j(`${te(t)}${e}`);if(!n.ok)throw new _(await Nt(n),{status:n.status,response:n});return n.json()}var Ko=["/workspace","/tmp","/home","/opt"],JS=Ko.filter(e=>e!=="/workspace");function jf(e){return Ko.some(t=>e===t||e.startsWith(`${t}/`))}function Rn(e){return jf(e)?e:`/workspace/${e.replace(/^\/+/,"")}`}function ft(e){let t=e||"";if(t==="/workspace"||t==="/workspace/")return"";if(t.startsWith("/workspace/"))t=t.slice(11);else if(JS.some(n=>t===n||t.startsWith(`${n}/`)))return t;for(;t.startsWith("/");)t=t.slice(1);return t}var $f=ft;async function Cn(e,t){let n=te(t),r=ft(e)||".";return(await Fr(`/file?path=${encodeURIComponent(r)}`,n)).map(o=>({...o,path:o.absolute||`/workspace/${o.path}`}))}async function In(e,t){let n=te(t),r=ft(e),s=await j(`${n}/file/content?path=${encodeURIComponent(r)}`);if(!s.ok)throw new _(await Nt(s),{status:s.status,response:s});return s.json()}async function QS(e,t,n){let r=te(n),s=ft(e),o=await j(`${r}/file/raw?path=${encodeURIComponent(s)}`);if(!o.ok)throw new _(await Nt(o),{status:o.status,response:o});if((o.headers.get("content-type")||"").includes("text/html"))throw new _("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 XS=8,Br=0,Uf=[];async function ZS(){if(Br<XS){Br++;return}await new Promise(e=>Uf.push(e)),Br++}function ex(){Br--,Uf.shift()?.()}function tx(e,t){let n=te(t);return yr(`${n}/file/raw?path=${encodeURIComponent(ft(e))}`)}async function Tn(e,t){await ZS();try{let n=te(t);try{return await QS(e,void 0,n)}catch{}let r=await In(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{ex()}}async function Nr(e){return Fr("/file/status",te(e))}async function qr(e,t,n){let r=te(n),s=new URLSearchParams({query:e});return t?.type&&s.set("type",t.type),t?.limit&&s.set("limit",String(t.limit)),Fr(`/find/file?${s.toString()}`,r)}async function Gr(e,t){let n=te(t);return(await Fr(`/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 wn=[400,1200],nx=e=>e===408||e===429||e===502||e===503||e===504,Ef=e=>new Promise(t=>setTimeout(t,e));function rx(e){let t=e?.name;return t==="TimeoutError"||t==="AbortError"}var Go=3e4,Lf=15*6e4,sx=256;function An(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return Go;let t=Go+e/sx;return Math.min(Lf,Math.max(Go,Math.round(t)))}async function ox(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 vn(e,t){let n;for(let s=0;s<=wn.length;s++){let o;try{o=await t(e())}catch(a){if(n=a,rx(a)||s===wn.length)break;await Ef(wn[s]);continue}if(o.ok)return o.json();let i=await ox(o);if(n=new _(`Upload failed (${o.status}): ${i}`,{status:o.status,response:o}),!nx(o.status)||s===wn.length)throw n;await Ef(wn[s])}if(n instanceof _)throw n;let r=n instanceof Error?n.message:String(n||"request failed");throw new _(`Upload failed: ${r}`)}var Wo=8*1024*1024;function ix(e,t){if(!(typeof e?.size!="number"||!Number.isFinite(t))&&!(e.size>=t))throw new _(`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 Of(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 ax(e){let t=e.lastIndexOf("/");return t<0?{parent:"",name:e}:{parent:e.slice(0,t)||"/",name:e.slice(t+1)}}async function En(e,t,n,r,s){let o=typeof r=="string"?r:void 0,i=typeof r=="string"?s:r,a=te(o),c=An(e.size),p=n||(e instanceof File?e.name:"")||"";if(e.size<=Wo){let y=await vn(()=>Of(e,t,p),h=>j(`${a}/file/upload`,{method:"POST",body:h},{timeoutMs:c}));return ix(y[0],e.size),Mf(i,{loadedBytes:e.size,totalBytes:e.size}),y}let g=(await vn(()=>Of(new Blob([],{type:e.type}),t,p),y=>j(`${a}/file/upload`,{method:"POST",body:y},{timeoutMs:An(0)})))[0]?.path;if(!g)throw new _("Upload reservation returned no file path",{code:"UPLOAD_NO_RESULT"});let m=ax(g);if(!m.name)throw new _(`Upload reservation returned an invalid file path: ${g}`,{code:"UPLOAD_INVALID_PATH"});try{for(let y=0;y<e.size;y+=Wo){let h=Math.min(e.size,y+Wo),w=e.slice(y,h,e.type),M=await vn(()=>{let B=new FormData;return m.parent&&B.append("path",m.parent),B.append("filename",m.name),B.append("first",y===0?"true":"false"),B.append("offset",String(y)),B.append("file",w,m.name),B},B=>j(`${a}/file/append`,{method:"POST",body:B},{timeoutMs:An(w.size)}));if(M.path!==g||M.size!==h)throw new _(`Upload verification failed for ${g}: expected ${h} bytes, received ${M.size}`,{code:"UPLOAD_SIZE_MISMATCH"});Mf(i,{loadedBytes:h,totalBytes:e.size})}}catch(y){throw await qt(g,a).catch(()=>{}),y}return[{path:g,size:e.size}]}function cx(e,t,n){let r=te(n);return vn(()=>{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:lx}))}var lx=Lf;function ux(e,t,n){let r=te(n),s=An(t.size);return vn(()=>{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 kn=class extends _{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 Wr(e,t){let n=te(t),r=e.trim(),o=(r.startsWith("/")?r:`/${r}`).split("/"),i=o.pop()||"untitled",a=o.join("/")||"/workspace",c=Rn(`${a}/${i}`),p=[];try{p=await Cn(Bf(c),n)}catch(g){if(!(g instanceof _&&g.status===404))throw g}if(p.some(g=>g.name===Ff(c)))throw new kn(c);let d=await Nf(c,new Blob([],{type:"application/octet-stream"}),n,{overwrite:!1});return[{path:d.path,size:d.bytes}]}async function Kr(e,t,n){let r=te(n);return ux(t,await Tn(e,r),r)}function px(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Bf(e){let t=e.lastIndexOf("/");return t<=0?"/":e.slice(0,t)}function Ff(e){return e.slice(e.lastIndexOf("/")+1)}function dx(){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 Vr(e,t,n){let r=te(n),s=Rn(px(e.trim()));return Nf(s,t,r,{overwrite:!0})}async function Nf(e,t,n,r){let s=Ff(e);if(!s)throw new _(`writeFile needs a file path, got "${e}"`,{code:"INVALID_PATH"});let o=Bf(e);await Mn(o,n).catch(()=>{});let i=dx(),a=await En(t,o,`.${s}.beeuni-write-${i}`,n),c=a[0]?.path;if(!c)throw new _(`Upload returned no file for ${e}`,{code:"UPLOAD_NO_RESULT"});let p=Rn(c);try{await qf(p,e,n,r.overwrite)}catch(g){throw await qt(p,n).catch(()=>{}),!r.overwrite&&g instanceof _&&g.status===409?new kn(e):g}let d=a[0]?.size;return{path:e,bytes:typeof d=="number"?d:t.size}}async function qt(e,t){let n=await j(`${te(t)}/file`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new _(`Delete failed (${n.status}): ${await Nt(n)}`,{status:n.status,response:n});return n.json()}async function Mn(e,t){let n=await j(`${te(t)}/file/mkdir`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})});if(!n.ok)throw new _(`Mkdir failed (${n.status}): ${await Nt(n)}`,{status:n.status,response:n});return n.json()}async function Hr(e,t,n){return qf(e,t,te(n),!0)}async function qf(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 _(`Rename failed (${s.status}): ${await Nt(s)}`,{status:s.status,response:s});return s.json()}async function Gf(){return Df(await mt().project.current())}async function Vo(){return Df(await mt().global.health())}async function Wf(){try{return(await Vo()).healthy===!0}catch{return!1}}var gx={list:Cn,read:In,readBlob:Tn,status:Nr,findFiles:qr,findText:Gr,upload:En,write:Vr,create:Wr,copy:Kr,remove:qt,mkdir:Mn,rename:Hr,currentProject:Gf,health:Vo,isReachable:Wf,toDaemonPath:ft,toSandboxAbsolutePath:Rn,toWorkspaceRelative:$f};function Kf(e){return{list:async t=>Cn(t,(await e()).runtimeUrl),read:async t=>In(t,(await e()).runtimeUrl),readBlob:async t=>Tn(t,(await e()).runtimeUrl),status:async()=>Nr((await e()).runtimeUrl),findFiles:async(t,n)=>qr(t,n,(await e()).runtimeUrl),findText:async t=>Gr(t,(await e()).runtimeUrl),upload:async(t,n,r,s)=>En(t,n,r,(await e()).runtimeUrl,s),write:async(t,n)=>Vr(t,n,(await e()).runtimeUrl),create:async t=>Wr(t,(await e()).runtimeUrl),copy:async(t,n)=>Kr(t,n,(await e()).runtimeUrl),remove:async t=>qt(t,(await e()).runtimeUrl),mkdir:async t=>Mn(t,(await e()).runtimeUrl),rename:async(t,n)=>Hr(t,n,(await e()).runtimeUrl)}}function Vf(e){return{get:t=>wr(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:()=>Tr(e.sessionId,{projectId:e.projectId}),update:t=>Nu(e.projectId,e.sessionId,t),delete:()=>(e.forgetReady(),qu(e.projectId,e.sessionId)),start:(...t)=>ct(e.projectId,e.sessionId,...t),startOrThrow:(...t)=>dp(e.projectId,e.sessionId,...t),restart:()=>(e.forgetReady(),vr(e.projectId,e.sessionId)),stop:()=>(e.forgetReady(),kr(e.projectId,e.sessionId)),configState:()=>Gu(e.projectId,e.sessionId),reloadConfig:t=>(e.forgetReady(),Wu(e.projectId,e.sessionId,t)),reloadConfigStream:(...t)=>(e.forgetReady(),Ku(e.projectId,e.sessionId,...t)),setSharing:t=>Su(e.projectId,e.sessionId,t),previews:()=>vu(e.projectId,e.sessionId),participants:()=>xu(e.projectId,e.sessionId),watch:()=>wu(e.projectId,e.sessionId),setWatch:t=>Au(e.projectId,e.sessionId,t),commit:t=>su(e.projectId,e.sessionId,t),publicShares:{list:()=>ku(e.projectId,e.sessionId),create:(...t)=>Ru(e.projectId,e.sessionId,...t),revoke:(...t)=>Cu(e.projectId,e.sessionId,...t)}}}function Hf(e){return{reminders:{list:()=>mg(e.projectId,e.sessionId),create:t=>fg(e.projectId,e.sessionId,t),update:(t,n)=>ro(e.projectId,e.sessionId,t,n),remove:t=>so(e.projectId,e.sessionId,t)},audit:(t,n)=>Eu(e.projectId,e.sessionId,t,n),attachments:{upload:(t,n)=>Bm(e.projectId,e.sessionId,t,n),read:(t,n)=>Fm(`beeuni-attachment://${e.projectId}/${e.sessionId}/${t}`,n)},transcript:t=>Mu(e.projectId,e.sessionId,t),messageAuthors:()=>Ju(e.projectId,e.sessionId),modelUsage:()=>Qu(e.projectId,e.sessionId),transcriptSync:t=>Ou(e.projectId,e.sessionId,t),turn:()=>Du(e.projectId,e.sessionId),prompts:{create:t=>Ar(e.projectId,e.sessionId,t),list:()=>ju(e.projectId,e.sessionId),remove:t=>$u(e.projectId,e.sessionId,t),retry:t=>Bu(e.projectId,e.sessionId,t),edit:(t,n)=>Uu(e.projectId,e.sessionId,t,n),interrupt:t=>Lu(e.projectId,e.sessionId,t),hold:t=>Fu(e.projectId,e.sessionId,t)},ensureReady:e.ensureReady}}function fx(e,t){return e?.some(n=>n.startsWith("session."))?e.includes(t):!0}var yx=["control_plane","provider_ingress","daemon","upstream_port"];function zf(e){return typeof e=="string"&&yx.includes(e)?e:null}function Yf(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 Jf(e,t){let n=(e===void 0?je():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=zf(r.headers.get("X-Beeuni-Proxy-Hop"))??zf(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 Qf=/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s)"'<>]*/g,Xf=/^https?:\/\/p(\d+)-([^.]+)\.localhost(?::(\d+))?(\/.*)?$/,Zf=/^https?:\/\/(?:dev|staging|prod|preview)-p(\d+)-([a-z0-9-]+)\.[^/]+?(?::(\d+))?(\/.*)?$/i,ey=new Set([22,4096,parseInt(ze.BEEUNI_MASTER,10)]);function hx(e){return Xf.test(e)}function zr(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 bx(e){let t=e.indexOf("](");return t===-1?e:e.slice(0,t)}var _x=new Set(["'",'"',"`","<","(","["]),Px=new Set([">","'",'"',"`",")","]",",",";",".","!","?"]);function Sx(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&&_x.has(e[t]);)t++;for(;n>t&&Px.has(e[n-1]);)n--;return e.slice(t,n)}function xx(e){return e.match(/https?:\/\/(?:localhost|127\.0\.0\.1):\d{1,5}[^\s"'<>)]*/i)?.[0]??null}var wx=/^\/proxy\/(\d{1,5})(\/.*)?$/,Ax=/^\/(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 vx(e){if(!e)return!1;try{let t=new URL(e);return t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"?!1:Ax.test(t.pathname)}catch{return!1}}function Yr(e){if(!e)return null;let t=Sx(bx(e.trim())),n=oy(t);if(n){let r=zr(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(ze.BEEUNI_MASTER,10);if(s===i){let c=r.pathname.match(wx);if(c){let p=parseInt(c[1],10);if(p>=1&&p<=65535)return s=p,o=zr(`${c[2]||"/"}${r.search}${r.hash}`),{originalUrl:`http://localhost:${s}${o}`,port:s,path:o}}}let a=zr(o);return{originalUrl:`${r.protocol}//${r.hostname}:${s}${a}`,port:s,path:a}}catch{let r=xx(e);return r&&r!==e?Yr(r):null}}function kx(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 Rx(e,t){return t.some(([n,r])=>e>=n&&e<r)}function Cx(e){let t=[],n=new Set,r=kx(e);Qf.lastIndex=0;let s;for(;(s=Qf.exec(e))!==null;){let o=Yr(s[0]);if(!o)continue;let{originalUrl:i,port:a,path:c}=o;a<1||a>65535||ey.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:Rx(s.index,r)}))}return t}function eF(e){return Cx(e).length>0}function Ix(e){try{let{hostname:t}=new URL(e);return t==="localhost"||t==="127.0.0.1"}catch{return!1}}function ty(e){return e.trim().toLowerCase().split("_").join("-")}function ny(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===47;)t--;return e.slice(0,t)}function Tx(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(ty(n.sandboxId));return`${ny(s)}${t}`}function Ex(e){return e.sandboxId.trim().length>0}function yt(e,t,n){let r=zr(t);if(!Ex(n))return jx(e,r);let s=Tx(e,r,n);return s||(Ix(n.apiBaseUrl)?`http://p${e}-${ty(n.sandboxId)}.localhost:${n.backendPort}${r}`:`${ny(n.apiBaseUrl)}/p/${n.sandboxId}/${e}${r}`)}function tF(e,t){if(!e)return;let r=e.replace(/^\/workspace\//,"").replace(/^\/+/,"").split("/").filter(Boolean).map(s=>encodeURIComponent(s)).join("/");return yt(3211,`/open?path=/workspace/${r}`,t)}function Mx(e){return`/open?path=/${(e.startsWith("/workspace")?e:`/workspace/${e.replace(/^\/+/,"")}`).split("/").filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}function nF(e){return`http://localhost:3211${Mx(e)}`}function Ox(){return"/health"}function rF(e){return yt(3211,Ox(),e)}function sF(e,t){return yt(e,"/",t)}function Dx(e){let t=Yr(e);return!(!t||ey.has(t.port)||vx(e))}function ry(e,t){if(!e)return e;let n=Yr(e);return n?Dx(n.originalUrl)?yt(n.port,n.path,t):n.originalUrl:e}function jx(e,t="/"){return`http://localhost:${e}${t}`}var sy=/^https?:\/\/[^/]+\/v1\/p\/([^/]+)\/(\d+)(\/.*)?$/;function oy(e){let t=e.match(Xf);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(Zf);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(sy);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 oF(e){try{let t=oy(e);return t?`http://localhost:${t.port}${t.path}`:null}catch{return null}}function iF(e){return hx(e)||Zf.test(e)||sy.test(e)}function aF(e){try{let{hostname:t,port:n}=new URL(e);return(t==="localhost"||t==="127.0.0.1")&&n!==""}catch{return!1}}var On="/web-proxy/";function cF(e,t){try{let n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:")return null;let r=n.protocol.replace(":",""),s=`${On}${r}/${n.host}${n.pathname}${n.search}${n.hash}`,o=parseInt(ze.BEEUNI_MASTER,10);return`${yt(o,"/",t).replace(/\/$/,"")}${s}`}catch{return null}}function lF(e){try{let t=new URL(e),n=t.pathname.indexOf(On);if(n===-1)return null;let s=t.pathname.slice(n+On.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 uF(e){try{return new URL(e).pathname.includes(On)}catch{return e.includes(On)}}function pF(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 dF(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 iy(e){return{health:t=>Jf(e.tryResolveReady()?.runtimeUrl??null,t),previewUrl:(t,n="/")=>yt(t,n,e.resolvePreviewOptsForSandbox(e.requireReady("previewUrl").sandboxId)),proxyUrl:t=>ry(t,e.resolvePreviewOptsForSandbox(e.requireReady("proxyUrl").sandboxId)),sandboxPortUrl:t=>at(e.requireReady("sandboxPortUrl").sandboxId,t)}}function Ho(e,t,n,r){let s,o,{persistedPromptDefaults:i,clearPersistedDefaults:a}=Zm(e,t),{ensureReady:c,tryResolveReady:p,requireReady:d,forgetReady:g}=sf(e,t,n),m={projectId:e,sessionId:t,ensureReady:c,tryResolveReady:p,requireReady:d,forgetReady:g,resolvePreviewOptsForSandbox:r,get model(){return s},set model(y){s=y},get agent(){return o},set agent(y){o=y},clearPersistedDefaults:a,persistedPromptDefaults:i};return{...Vf(m),...Hf(m),...iy(m),...uf(m),...yf(m),...Tf(m),files:Kf(c),...lf(m),get runtime(){return Ue(d("runtime").runtimeUrl)}}}function ay(e){return{apps:{list:()=>Kg(e),create:t=>Vg(e,t),get:t=>io(e,t),update:(...t)=>Hg(e,...t),access:{get:(...t)=>Qg(e,...t),update:(...t)=>Zg(e,...t),session:(...t)=>em(e,...t),agents:t=>Xg(e,t)},remove:t=>zg(e,t),token:t=>Yg(e,t),authEnv:t=>Jg(e,t),artifacts:{register:t=>ao(e,t),uploadArchive:(...t)=>tm(e,...t),finalize:(...t)=>co(e,...t)},deployments:{create:(...t)=>nm(e,...t),list:t=>rm(e,t),get:(...t)=>sm(e,...t),logs:(...t)=>om(e,...t),remove:(...t)=>cm(e,...t)},start:t=>im(e,t),stop:t=>am(e,t),rollback:(...t)=>lm(e,...t),machines:{list:t=>um(e,t),start:(t,n)=>pm(e,t,n),stop:(t,n)=>dm(e,t,n),restart:(t,n)=>gm(e,t,n),destroy:(t,n)=>mm(e,t,n)},scale:(t,n)=>fm(e,t,n),exec:(...t)=>ym(e,...t),volumes:{list:t=>hm(e,t),create:(...t)=>bm(e,...t),update:(...t)=>_m(e,...t),destroy:(...t)=>Pm(e,...t),snapshots:(...t)=>Sm(e,...t),snapshot:(...t)=>xm(e,...t),restore:(...t)=>wm(e,...t),fork:(...t)=>Am(e,...t)}}}}function cy(e){return{list:()=>tc(e),invite:(...t)=>sc(e,...t),update:(...t)=>nc(e,...t),revoke:t=>rc(e,t),pendingInvites:()=>oc(e),resendInvite:(...t)=>ac(e,...t),revokeInvite:(...t)=>ic(e,...t),requests:()=>Xa(e),approveRequest:(...t)=>Za(e,...t),rejectRequest:(...t)=>ec(e,...t),groupGrants:()=>cc(e),attachGroupGrant:(...t)=>lc(e,...t),updateGroupGrant:(...t)=>uc(e,...t),detachGroupGrant:t=>pc(e,t),resourceGrants:{list:()=>dc(e),create:t=>gc(e,t),remove:t=>mc(e,t)}}}function ly(e){return{tokens:{list:()=>vg(e),create:t=>kg(e,t),revoke:t=>Rg(e,t)},setupLinks:{requestSecret:t=>jg(e,t),requestConnector:t=>$g(e,t)},validateManifest:t=>Ea(e,t),gitToken:()=>Ma(e),agentIdentities:()=>$d(e),secrets:{list:()=>bc(e),upsert:t=>_c(e,t),setStrategy:(...t)=>Pc(e,...t),broker:(...t)=>Sc(e,...t),remove:t=>vc(e,t),setPersonal:(...t)=>kc(e,...t),removePersonal:t=>Rc(e,t),setGitCredential:t=>Ac(e,t),listProviderOAuth:()=>xc(e),startProviderOAuth:(...t)=>Ms(e,...t),pollProviderOAuth:(...t)=>Os(e,...t),removeProviderOAuth:t=>wc(e,t)},access:cy(e)}}function uy(e){return{list:()=>Nc(e),listAll:()=>qc(e),reconcile:(...t)=>Gc(e,...t),reconcileMember:(...t)=>Wc(e,...t),updateCredential:(...t)=>Kc(e,...t),revoke:(...t)=>Vc(e,...t),activate:(...t)=>Hc(e,...t),setDefault:(...t)=>zc(e,...t),rename:(...t)=>Yc(e,...t),share:(...t)=>Qc(e,...t),addComputer:(...t)=>Jc(e,...t),connect:(...t)=>Xc(e,...t),finalize:(...t)=>Zc(e,...t)}}function Jr(e){return{catalog:t=>rn(e,t),tools:()=>$s(e),search:(...t)=>Fc(e,...t),describe:(...t)=>Us(e,...t),call:(...t)=>Ct(e,...t),callAction:(t,n,r,s)=>Ct(e,`${t}.${n}`,r,s),accounts:(...t)=>Ls(e,...t),uploadAttachment:(...t)=>Bs(e,...t)}}function zo(e,t){return{slug:t,run:(r,s,o)=>Ws(e,t,r,s,o),call:(r,s,o)=>Ct(e,`${t}.${r}`,s,o),describe:async r=>r!==void 0?Us(e,`${t}.${r}`):(await rn(e,{slug:t,includeSchemas:!0,includeOutputSchemas:!0})).find(o=>o.slug===t)??null,accounts:()=>Ls(e,t),paginate:(r,s,o)=>_l(e,t,r,s,o),uploadAttachment:(r,s)=>Bs(e,r,{...s,connector:t})}}var $x=100,Ux=0,Lx=new Set(["attachment_size_mismatch","attachment_failed"]),py=()=>new _("Attachment expired. Attach the file again.",{code:"attachment_expired"});function dy(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 gy(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(f=>!f.handedOff);function g(f,b){f.removalDeleted||(f.removalDeleted=!0,an(e,b).catch(()=>{}))}function m(){c&&clearTimeout(c);let f=d().map(({item:S})=>S);(f.length!==p.attachments.length||f.some((S,O)=>S!==p.attachments[O]))&&(p={attachments:f});let b=Math.min(...f.filter(S=>S.status==="ready").map(S=>Date.parse(S.attachment.expires_at)));Number.isFinite(b)&&!a&&(c=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:py()});m()},Math.min(2147483647,Math.max(0,b-Date.now()))),typeof c=="object"&&"unref"in c&&c.unref());for(let S of s)S();for(let S of[...o])S()}function y(){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(f){y();let b=d();if(b.length+f.length>20)throw new Error("A message can contain up to 20 attachments");if(f.some(O=>!Number.isSafeInteger(O)||O<=0||O>52428800))throw new Error("Each attachment must contain 1 byte to 50 MiB");if(b.reduce((O,C)=>O+C.item.size,0)+f.reduce((O,C)=>O+C,0)>104857600)throw new Error("Message attachments exceed 100 MiB")}function w(){for(let f of r.values()){if(i>=n)break;if(f.item.status!=="pending"||!f.item.file||a&&!f.handedOff)continue;let b=f.item.file;i++;let S=++f.generation,O=new AbortController;f.abort=O,f.item={...f.item,status:"uploading",error:void 0};let C=()=>(!a||f.handedOff===!0)&&r.get(f.item.id)===f&&f.generation===S,P,x=0,v,k=()=>{v=void 0,!(!C()||f.item.status!=="uploading"||P===void 0)&&(f.item={...f.item,receivedBytes:P},P=void 0,x=Date.now(),m())},$=D=>Math.floor(D*100/f.item.size);Pr(e,b,{resume:f.upload,signal:O.signal,onUpload:D=>{f.upload=D,f.removed&&(O.abort(),g(f,D.attachment_id))},onProgress:D=>{if(!C()||$(D)===$(f.item.receivedBytes)||(P=D,v))return;let E=x+$x-Date.now();if(E<=0)return k();v=setTimeout(k,E),typeof v=="object"&&"unref"in v&&v.unref()},onProcessing:()=>{v&&clearTimeout(v),v=void 0,P=void 0,C()&&(f.item={...f.item,status:"processing",receivedBytes:f.item.size},m())}}).then(D=>{C()&&(f.item={...f.item,status:"ready",attachment:dy(D),receivedBytes:D.size})}).catch(D=>{D instanceof _&&Lx.has(D.code??"")&&(f.upload=void 0),C()&&(f.item={...f.item,status:D instanceof _&&D.code==="ABORTED"?"aborted":"error",error:D instanceof Error?D:new Error(String(D))})}).finally(()=>{i--,v&&clearTimeout(v),f.abort===O&&(f.abort=void 0),m(),w()})}m()}function M(f){h(f.map(S=>S.size));let b=f.map(S=>{let O=`attachment-${++Ux}`;return r.set(O,{generation:0,item:{id:O,file:S,filename:S.name,mime:S.type||"application/octet-stream",size:S.size,status:"pending",receivedBytes:0}}),O});return m(),w(),b}function B(f){let b=r.get(f);!b||b.item.status==="ready"||(b.generation++,b.abort?.abort(),b.item={...b.item,status:"aborted",error:new Error("Attachment upload cancelled")},m())}function F(f,{signal:b}={}){let S=[...f];return new Promise((O,C)=>{let P=()=>{o.delete(k),b?.removeEventListener("abort",v)},x=$=>{P(),C($)},v=()=>x(be()),k=()=>{let $=!1;for(let E of S){let q=r.get(E);if(!q)return x(new Error("Attachment was removed before it was sent"));if(a&&!q.handedOff)return x(new Error("Attachment controller is disposed"));if(q.item.status==="error"||q.item.status==="aborted")return x(q.item.error??new Error("Attachment upload failed"));q.item.status!=="ready"&&($=!0)}if($)return;let D;try{D=S.map(E=>{let q=dy(r.get(E).item.attachment);return{type:"file",attachment_id:q.attachment_id,filename:q.filename,mime:q.mime}})}catch(E){return x(E instanceof Error?E:new Error(String(E)))}P(),O(D)};if(b?.aborted)return v();o.add(k),b?.addEventListener("abort",v,{once:!0}),k()})}return{add:f=>M([f])[0],addMany:M,retry(f){let b=r.get(f);if(b?.handedOff||y(),!(!b||b.item.status==="ready"||b.item.status==="uploading"||b.item.status==="processing"||b.item.status==="pending")){if(!b.item.file||b.upload&&Date.parse(b.upload.expires_at)<=Date.now())throw py();b.item={...b.item,status:"pending",error:void 0},w()}},async remove(f){let b=r.get(f);if(!b)return;b.removed=!0,b.generation++,r.delete(f);let S=b.upload?.attachment_id??b.item.attachment?.attachment_id;S&&b.abort?.abort(),m(),w(),S&&g(b,S)},abort:B,submit(f){if(!a){for(let b of f){let S=r.get(b);S&&(S.handedOff=!0)}m()}},reclaim(f){if(!a){for(let b of f){let S=r.get(b);S&&(S.handedOff=!1)}m()}},whenReady:F,forget(f=d().map(b=>b.item.id)){for(let b of f){let S=r.get(b);S&&(S.generation++,S.abort?.abort(),r.delete(b))}m(),w()},dispose(){if(!a){a=!0,c&&clearTimeout(c);for(let f of r.values()){if(f.handedOff)continue;f.generation++,f.abort?.abort();let b=f.upload?.attachment_id??f.item.attachment?.attachment_id;b&&e&&an(e,b).catch(()=>{})}s.clear(),m()}},getSnapshot:()=>p,subscribe(f){return s.add(f),()=>{s.delete(f)}}}}function my(e){return{attachments:{upload:(...t)=>Pr(e,...t),delete:(...t)=>an(e,...t),createController:t=>gy(e,t)},get:t=>ar(e,t),detail:()=>cr(e),skills:{create:(...t)=>Fa(e,...t)},audit:t=>Ig(e,t),update:t=>pr(e,t),archive:()=>dr(e),llmCatalog:()=>lr(e),modelPicker:()=>ur(e),modelAccess:()=>Mr(e),setModelAccess:t=>Or(e,t),sandboxHealth:()=>fr(e),onboardingComplete:(...t)=>Ba(e,...t)}}function fy(e){return{sessions:{list:t=>Et(e,t),listPage:t=>Pu(e,t),create:t=>Mt(e,t),ensureWarm:()=>Iu(e),claimWarm:t=>Tu(e,t)},review:{list:t=>ng(e,t),get:t=>rg(e,t),submit:t=>sg(e,t),act:(...t)=>og(e,...t),bulkAct:t=>ig(e,t)},approvals:{list:t=>fc(e,t),resolve:(...t)=>hc(e,...t),sessionsNeedingInput:t=>yc(e,t)}}}function yy(e){return{files:{list:t=>El(e,t),listDirectory:t=>Ml(e,t),read:(t,n)=>Dl(e,t,n),search:(...t)=>Ol(e,...t),archive:(...t)=>jl(e,...t),archiveRequest:(...t)=>$l(e,...t),history:(...t)=>Hl(e,...t)},git:{commits:()=>Wl(e),commit:t=>Kl(e,t),commitDiff:t=>Vl(e,t),branches:()=>Gl(e),versionDiff:(...t)=>zl(e,...t),inviteCollaborator:(...t)=>Ta(e,...t)},changeRequests:{list:()=>Yl(e),get:t=>Jl(e,t),update:(...t)=>ou(e,...t),diff:t=>Ql(e,t),mergePreview:t=>Xl(e,t),open:(...t)=>Zl(e,...t),merge:(...t)=>eu(e,...t),close:(...t)=>tu(e,...t),reopen:(...t)=>nu(e,...t),requestChanges:(...t)=>ru(e,...t)},...fy(e)}}function hy(e){return{policies:{list:()=>Pl(e),set:(...t)=>Sl(e,...t)},reminders:{list:()=>_g(e),updateMany:(...t)=>hg(e,...t),removeMany:(...t)=>bg(e,...t)},triggers:{list:()=>Xu(e),eventApps:()=>op(e),eventTypes:(...t)=>sp(e,...t),create:(...t)=>Zu(e,...t),update:(...t)=>ep(e,...t),remove:(...t)=>tp(e,...t),fire:(...t)=>rp(e,...t),setActivation:(...t)=>np(e,...t)},...yy(e)}}function by(e,t){return{connectors:{...Jr(e),list:()=>el(e),config:(...n)=>al(e,...n),create:(...n)=>ul(e,...n),remove:(...n)=>dl(e,...n),sync:()=>tl(e),auth:{discover:(...n)=>pl(e,...n)},setName:(...n)=>cl(e,...n),setCredentialMode:(...n)=>nl(e,...n),setAuthorizationStrategy:(...n)=>rl(e,...n),setCredential:(...n)=>fl(e,...n),deleteCredential:(...n)=>yl(e,...n),setSensitive:(...n)=>sl(e,...n),connections:t,policies:{get:(...n)=>ol(e,...n),set:(...n)=>il(e,...n)},connect:(...n)=>ll(e,...n),finalize:(...n)=>hl(e,...n),discover:{list:(...n)=>Fs(e,...n),sections:(...n)=>gl(e,...n),detail:(...n)=>Ns(e,...n)}},...hy(e)}}function _y(e){return{gateway:{logs:t=>dd(e,t),log:t=>gd(e,t),overview:t=>md(e,t),series:t=>fd(e,t),breakdown:t=>yd(e,t),sessions:t=>hd(e,t),errors:t=>bd(e,t),budgets:()=>_d(e),setBudget:t=>Pd(e,t),deleteBudget:t=>Sd(e,t),keys:()=>xd(e),createKey:t=>wd(e,t),revokeKey:t=>Ad(e,t),routing:{get:()=>cd(e),set:t=>ld(e,t),reset:()=>ud(e),preview:t=>pd(e,t)},playground:(t,n,r)=>vd(e,t,n,r)}}}function Py(e){return{modelDefaults:{get:()=>mp(e),set:t=>fp(e,t),clear:t=>yp(e,t)},setDefaultAgent:t=>_p(e,t),sandbox:{list:()=>Tl(e),snapshots:()=>wl(e),rebuildSnapshot:t=>Al(e,t),fixWithAgent:()=>vl(e),createTemplate:t=>kl(e,t),updateTemplate:(...t)=>Rl(e,...t),removeTemplate:t=>Cl(e,t),buildTemplate:t=>Il(e,t),setProvider:t=>La(e,t)},setAgentScope:(...t)=>bp(e,...t)}}function Sy(e){return{channels:{slack:{installation:()=>Hp(e),connect:t=>zp(e,t),mode:()=>Yp(e),completeInstall:t=>Qp(e,t),manifest:()=>Zp(e),disconnect:()=>ed(e),getFile:t=>td(e,t),uploadFile:t=>nd(e,t)},teams:{completeInstall:t=>Xp(e,t)},email:{installation:t=>rd(e,t),mode:()=>sd(e),connect:t=>od(e,t),disconnect:t=>id(e,t),updatePolicy:(...t)=>ad(e,...t)}},updateFeatureFlag:(...t)=>$a(e,...t),updateExperimentalFeature:(...t)=>Ua(e,...t),...Py(e)}}async function xy(e){let t=e?.fetch??R().fetch??((s,o)=>fetch(s,o)),n=e?.backendUrl??R().backendUrl,r=await t(`${lt(n)}/clients/mobile`,{headers:{accept:"application/json"},...e?.signal?{signal:e.signal}:{}});if(!r.ok)throw new _(`Mobile client policy request failed (HTTP ${r.status})`,{status:r.status,response:r});return await r.json()}var Bx=/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:[-+].*)?$/i;function rN(e,t){let n=o=>{let i=Bx.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 Fx(){return mt()}var wy=null,Ay=!1;function Nx(e){let t=wy;wy=e,!(Ay||!t)&&(t.backendUrl===e.backendUrl&&t.getToken===e.getToken||(Ay=!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 qx(e,t){t?.global!==!1&&Nx(e),xs(e,t);let n=Xm(e),{auth:r,accounts:s,iam:o,accountInvites:i}=Hm(),{billing:a,sandboxShares:c}=Wm(),{projects:p,github:d,connectStatus:g,marketplace:m}=Gm();function y(h){let w=uy(h);return{...my(h),...ay(h),...ly(h),...by(h,w),..._y(h),...Sy(h),connector:M=>zo(h,M),session:M=>Ho(h,M,e,n)}}return{config:e,auth:r,accounts:s,iam:o,accountInvites:i,projects:p,connectors:Jr(),connector:h=>zo(void 0,h),project:y,session:(h,w)=>Ho(h,w,e,n),github:d,billing:a,sandboxShares:c,connectStatus:g,marketplace:m,notifications:{registerDeviceToken:km,unregisterDeviceToken:Rm,list:Cm,markRead:Im,preferences:Tm,updatePreferences:Em,webPushPublicKey:Mm,registerWebPushSubscription:Om,unregisterWebPushSubscription:Dm},mobileClientPolicy:xy,validateToken:Ra,runtime:Fx}}function Gx(){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 Wx(){return{pending:[],failed:[],inFlightId:null,inFlightIds:[]}}function Gt(e){return e.inFlightIds?.length?e.inFlightIds:e.inFlightId?[e.inFlightId]:[]}function Kx(e,t){return{...e,pending:[...e.pending,{...t,attempts:0}]}}function Vx(e){if(Gt(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 Hx(e){let t=Gt(e);return t.length===0?e:{...e,pending:e.pending.filter(n=>!t.includes(n.id)),inFlightId:null,inFlightIds:[]}}function zx(e,t){let n=Gt(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 Yx(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 Jx(e,t){return Gt(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 Qx(e,t,n){return Gt(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 Xx(e,t,n){let r=Gt(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 vy={thinking:!1,toolDetails:!0,assistantMetadata:!0};function Zx(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function ew(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 tw(e,t){if(e.type==="text"&&!e.synthetic)return`${e.text??""}
|
|
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 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
|
|
54
|
+
`,n}return""}function XA(e,t){if(!t)return`## Assistant
|
|
55
55
|
|
|
56
|
-
`;let n=e.agent?
|
|
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
|
|
60
|
+
`}function ZA(e,t,n){let r="";e.role==="user"?r+=`## User
|
|
61
61
|
|
|
62
|
-
`:r+=
|
|
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+=
|
|
70
|
+
`;for(let s of t)r+=ZA(s.info,s.parts,n),r+=`---
|
|
71
71
|
|
|
72
|
-
`;return r}function
|
|
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 Ey(e){let t=e.indexOf("{"),n=e.lastIndexOf("}");if(!(t===-1||n===-1||n<=t))return e.slice(t,n+1)}function fw(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 yw(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 Cy(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=yw(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||fw(e)||"",provider:t,code:n,suggestion:r,upstreamStatus:s,requestId:o,attemptFailures:i,...a?{requestedModel:a}:{},...c?{resolvedModel:c}:{}}}function we(e){if(e==null)return;if(typeof e=="string"){let a=Jo(e),c=Wt(a)??Wt(Ey(a));return c!==void 0?we(c):void 0}if(typeof e!="object")return;let t=e,n=Cy(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=Cy(s);if(a)return a}let o=t.data;if(o&&typeof o.responseBody=="string"){let a=Wt(o.responseBody);if(a!==void 0){let c=we(a);if(c)return c}}if(o&&typeof o.message=="string"){let a=we(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=we(a);if(c)return c}}return n}var Dy="beeuni-v1-import",hw={harness:Dy,harness_version:Bt,adapter_version:"1"},Qo={schema:We,v:1},bw={opencode:"[Tool execution was interrupted]",pi:"No result provided"},_w="[Old tool result content cleared]",Pw="The following tool was executed by the user",Sw=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"})),xw=e=>Sw.get(e)??(e.includes("_")?"mcp":"other"),ww=new Map([["stop","stop"],["tool-calls","tool_calls"],["length","length"],["error","error"]]),Aw=new Map([["stop","stop"],["tool_calls","tool-calls"],["length","length"],["error","error"]]),N=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),X=e=>typeof e=="string"?e:void 0,Le=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,ns=(e,t)=>Object.hasOwn(e,t)?e[t]:void 0,jy=(e,t,n)=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0}),Kt=e=>Le(e)!==void 0&&Math.abs(e)<=864e13?new Date(e).toISOString():null,Vt=e=>{let t=e?Date.parse(e):NaN;return Number.isNaN(t)?void 0:t};function Xo(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)=>Xo(r,t[s]));if(!N(e)||!N(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=>Xo(e[r],ns(t,r)))}function es(e,t){if(Xo(e,t))return;if(e===void 0)return{del:!0};if(!N(e)||!N(t))return{set:e};let n={};for(let r of new Set([...Object.keys(e),...Object.keys(t)])){let s=es(ns(e,r),ns(t,r));s&&jy(n,r,s)}return{sub:n}}function ts(e,t){if(!t)return e;if("set"in t)return t.set;if("del"in t)return;let n=N(e)?{...e}:{};for(let[r,s]of Object.entries(t.sub)){let o=ts(ns(n,r),s);o===void 0?delete n[r]:jy(n,r,o)}return n}var Dn=e=>Object.values(e??{}).find(t=>t.version===Bt),rs=(e,t)=>({[e]:{version:Bt,...t}}),$y=(e,t)=>e.url!==void 0?{url:e.url}:e.ref!==void 0&&!t.fromV1?{url:e.ref}:{},My=e=>(e??[]).flatMap(t=>t.type==="text"?[t.text]:[]).join(""),vw=(e,t)=>({id:e.id,...t.sessionID!==null&&{sessionID:t.sessionID},messageID:t.messageID});function kw(e,t,n){let r=e.result,s=e.input===null||e.input===void 0?{}:{input:e.input},o=Vt(e.started_at)??t.created,i=Vt(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:My(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,...$y(d,t)}]:[]),p=Vt(r?.cleared_at);return{status:"completed",...s,output:My(r?.content),title:e.title??"",metadata:a,time:{start:o,end:i,...p!==void 0&&{compacted:p}},...c.length&&{attachments:c}}}function Uy(e,t){let n=vw(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},...$y(e,t)};case"tool_call":return{...n,type:"tool",callID:e.call_id,tool:e.name,state:kw(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 Rw(e){return hf(e.code)?{name:e.code==="aborted"?"MessageAbortedError":"UnknownError",code:e.code,data:{message:e.message}}:{name:e.code,data:{message:e.message}}}function Ly(e,t,n={}){let r=e.usage,s=e.finish===null?void 0:Aw.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:Vt(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:Rw(e.error)},...n}}function By(e,t){return e.role==="assistant"?Ly(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 Fy(e,t,n){let r=`${e.message_id}-summary`;return{info:Ly({...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 Cw(e,t,n){let r=n||e.producer.harness===Dy;if(!r&&(e.role==="system"||e.kind==="context"))return[];let s=Dn(e.ext)?.data,o=s&&"runtime_session_id"in s?s.runtime_session_id??null:t,i={sessionID:o,messageID:e.message_id,created:Vt(e.created_at),fromV1:r},a=s&&"parts"in s?s.parts:e.blocks.flatMap(d=>{let g=Uy(d,i);return g===void 0?[]:[ts(g,Dn(d.ext)?.data)]}),c=[{runtime_session_id:o,info:ts(By(e,i),s?.info),parts:a}],p=e.blocks.find(d=>d.type==="compaction");if(e.kind==="compaction"&&p&&p.summary!==null){let d=ts(Fy(e,p,i),s?.summary);c.push({runtime_session_id:o,info:d.info,parts:d.parts})}return c}var Zo=e=>Le(N(e.info)&&N(e.info.time)?e.info.time.created:void 0)??-1/0,Zr=e=>String(N(e.info)?e.info.id:""),Ny=(e,t)=>Zo(e)-Zo(t)||(Zr(e)<Zr(t)?-1:Zr(e)>Zr(t)?1:0),Oy=e=>{let t=Dn(e.ext);return t?t.native_id??null:e.thread_id};function qy(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=>Cw(a,Oy(i),Dn(i.ext)!==void 0))),s=Dn(t.ext)?.data,o=s&&"root_id"in s?s.root_id??null:n?Oy(n):null;return{session_id:t.session_id,root_id:o,rows:r.sort(Ny)}}function Iw(e){let t=e.role==="assistant"?{p:e.providerID,m:e.modelID,v:e.variant}:N(e.model)?{p:e.model.providerID,m:e.model.modelID,v:e.model.variant}:{},n=X(t.p),r=X(t.m);return n===void 0||r===void 0?null:{provider:n,model:r,...X(t.v)!==void 0&&{variant:t.v}}}function Tw(e){if(!N(e.tokens))return null;let t=e.tokens,n=N(t.cache)?t.cache:{};return{input:Le(t.input)??0,output:Le(t.output)??0,cache_read:Le(n.read)??0,cache_write:Le(n.write)??0,...Le(t.reasoning)!==void 0&&{reasoning:t.reasoning},...Le(e.cost)!==void 0&&{cost:e.cost}}}var Ew=e=>({code:X(e.code)||X(e.name)||"UnknownError",message:X(N(e.data)?e.data.message:void 0)??""});function Gy(e,t,n){let r=t.resolve(e);return r||n.attachment++,{mime:X(e.mime)??"application/octet-stream",...r&&{ref:r.ref,bytes:r.bytes,...r.sha256!==void 0&&{sha256:r.sha256}},...X(e.url)!==void 0&&{url:e.url}}}function Mw(e,t,n,r){let s=e.state,o=N(s.time)?s.time:{};N(s.input)||r.tool_input++;let i=N(s.metadata)&&Le(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(N).map(h=>{let{bytes:w,...M}=Gy(h,n,r);return{type:"attachment",...M}}),y=Kt(o.compacted);a="complete",c={content:[...X(s.output)!==void 0?[{type:"text",text:s.output}]:[],...m],is_error:!1,...i,...y&&{model_content:[{type:"text",text:_w}],cleared_at:y}}}else if(s.status==="error"){let m=X(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"&&X(s.raw)&&!(N(s.input)&&Object.keys(s.input).length)&&(p=s.raw);else{let m=bw[n.h];a="error",c={content:[{type:"text",text:m}],is_error:!0,synthetic:!0,error:{code:"interrupted",message:m}}}let d=Kt(o.start),g=Kt(o.end);return{type:"tool_call",id:t,call_id:e.callID,name:e.tool,kind:xw(e.tool),input:p,status:a,...c&&{result:c},...X(s.title)&&{title:s.title},...d&&{started_at:d},...g&&{ended_at:g}}}function Ow(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:Pw}});if(!N(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,...Gy(e,s,o),...X(e.filename)!==void 0&&{name:e.filename}};case"tool":return typeof e.callID=="string"&&typeof e.tool=="string"&&N(e.state)?Mw(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:X(e.tail_start_id)??null,trigger:a}}case"subtask":return i("subtask",!0);default:return i(X(e.type)||"unknown")}}function Dw(e){let t=e.map((s,o)=>N(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 jw(e,t,n,r,s,o){let i=N(e.info)?e.info:{},a=Array.isArray(e.parts)?e.parts:[],c=i.role==="user"?a.find(v=>N(v)&&v.type==="compaction"):void 0,p=t&&N(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&&N(g.error)?g.error:void 0,y=m?.name==="MessageAbortedError",h=g&&N(g.time)?Kt(g.time.completed):null,w=o.live?"streaming":"interrupted",M=g?m?y?"aborted":"error":h?"complete":w:c?w:"complete",B=Kt(N(i.time)?i.time.created:void 0)??"",F=t?(Array.isArray(t.parts)?t.parts:[]).flatMap(v=>N(v)&&v.type==="text"&&typeof v.text=="string"?[v.text]:[]).join(""):null,f={tool_input:0,cut_point:0,attachment:0},b=Dw(a),S=a.map((v,k)=>Ow(v,b[k],c,F,o,f)),O=S.some(v=>v.type==="text"||v.type==="attachment"||v.type==="tool_call"||v.type==="harness"&&v.model_visible),C=!s&&d!=="system"&&(c?M==="complete":!m||y&&O),P=s?"superseded":C||!m?void 0:y?"aborted":"failed_attempt";return c&&N(c)&&X(c.tail_start_id)===void 0&&f.cut_point++,{m:{...Qo,message_id:X(i.id)??"",thread_id:n,seq:r,role:d,kind:c?"compaction":"turn",status:M,in_context:C,...P&&{hidden_reason:P},agent:X(i.agent)??null,...d==="assistant"&&{reply_to:X(i.parentID)??null},model:Iw(i),usage:g?Tw(g):null,finish:!g||c?null:y?"aborted":m?"error":ww.get(i.finish)??null,error:m?Ew(m):null,created_at:B,completed_at:g||c?h:B||null,producer:hw,blocks:S},lost:f}}function $w(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:Vt(e.created_at),fromV1:!0};Array.isArray(t.parts)?e.blocks.forEach((p,d)=>{if(p.type==="harness"||p.type==="subtask")return;let g=es(t.parts[d],Uy(p,i));g&&(p.ext=rs(s,{data:g}))}):o.parts=t.parts;let a=es(t.info,By(e,i));a&&(o.info=a);let c=e.blocks.find(p=>p.type==="compaction");if(n&&c){let p=es({info:n.info,parts:n.parts},Fy(e,c,i));p&&(o.summary=p)}Object.keys(o).length&&(e.ext=rs(s,{data:o}))}function Uw(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(!(!N(o)||o.type!=="tool"||!N(o.state))&&(r?N(o.state.metadata)&&o.state.metadata.sessionId===t:n(o.state).includes(t)))return{row:s,part:o}}}}function Wy(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(Ny),s=new Map;for(let f of r){let b=s.get(f.runtime_session_id);b?b.push(f):s.set(f.runtime_session_id,[f])}let o=e.root_id,i=s.has(o),a=new Map,c=f=>a.get(f)??(a.set(f,JSON.stringify(f)),a.get(f)),p=new Map;for(let f of s.keys()){let b=i&&f===o?void 0:Uw(r,f,c);b&&p.set(f,b)}let d=[...r].reverse().find(f=>f.runtime_session_id===null||!p.has(f.runtime_session_id)),g=i||!d?o:d.runtime_session_id;s.has(g)||s.set(g,[]);let m=g||e.session_id,y=f=>f!==null&&p.has(f)?f:m,h=Kt(r.map(Zo).find(Number.isFinite))??"",w=[];for(let[f,b]of s){if(f!==g&&(f===null||!p.has(f)))continue;let S=f===g,O=S?r.filter(E=>E.runtime_session_id!==g&&y(E.runtime_session_id)===m):[],C=[...O,...b],P=new Set(O),x=new Map,v=new Set;for(let E of C){let q=N(E.info)?E.info:{};if(q.role!=="user"||!Array.isArray(E.parts)||!E.parts.some(V=>N(V)&&V.type==="compaction"))continue;let Q=C.find(V=>!v.has(V)&&V.runtime_session_id===E.runtime_session_id&&N(V.info)&&V.info.role==="assistant"&&V.info.summary===!0&&V.info.parentID===q.id);Q&&(x.set(E,Q),v.add(Q))}let k=[];for(let E of C){if(v.has(E))continue;let q=x.get(E),{m:Q,lost:V}=jw(E,q,S?m:f,k.length+1,P.has(E),n);if($w(Q,E,q,f,n.h),Q.in_context)for(let Xt of["tool_input","cut_point","attachment"])n.counts[Xt]+=V[Xt];k.push(Q)}let $=f===null?void 0:p.get(f),D=k.find(E=>E.role==="user"&&E.kind==="turn");w.push({...Qo,thread_id:S?m:f,parent_thread_id:$?y($.row.runtime_session_id):null,spawned_by:$&&typeof $.part.callID=="string"?{message_id:X($.row.info?.id)??"",call_id:$.part.callID}:null,agent:D?.agent??null,title:null,created_at:k[0]?.created_at||h,messages:k,ext:rs(n.h,f===null?{}:{native_id:f})})}w.sort((f,b)=>f.parent_thread_id===null?-1:b.parent_thread_id===null?1:F(f)-F(b));let M=w[0]?.messages.filter(f=>f.role==="user"&&f.kind==="turn").at(-1),B=n.counts.tool_input+n.counts.cut_point+n.counts.attachment>0;return{...Qo,session_id:e.session_id,title:null,created_at:h,restore_grade:B?"partial":"converted",grade_counts:n.counts,harness:{current:n.h,history:[]},selection:{agent:M?.agent??null,model:M?.model??null},todos:[],pending:{questions:[],permissions:[]},threads:w,...g!==o&&{ext:rs(n.h,{data:{root_id:o}})}};function F(f){return r.findIndex(b=>b.runtime_session_id===f.thread_id)}}var ei={schema:We,v:1},Lw=Object.freeze({}),Ky=new WeakMap;function Bw(e){let t=Ky.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=Wy({session_id:"",root_id:n,rows:[{runtime_session_id:n,info:r,parts:[e]}]},{live:!0}).threads[0].messages[0].blocks[0];return Ky.set(e,{state:e.state,block:o}),o}var Vy=new WeakMap;function Be(e){let t=Vy.get(e);if(t)return t;let n={...ei,thread_id:"",parent_thread_id:null,spawned_by:null,agent:null,title:null,created_at:"",ext:{opencode:{version:Bt}},messages:[{...ei,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:r}=qy({...ei,session_id:"",title:null,created_at:"",restore_grade:"native",harness:{current:"",history:[]},selection:{agent:null,model:null},todos:[],pending:{questions:[],permissions:[]},threads:[n]}),s=r[0].parts[0];return Vy.set(e,s),s}var Fe=e=>typeof e=="object"&&e!==null&&e.type==="tool_call";function Fw(e){let t=Be(e).state.metadata;return typeof t=="object"&&t!==null&&!Array.isArray(t)&&Object.keys(t).length?t:Lw}var Hy={};function Y(e,t){for(let n of t)Hy[n]=e}Y("read",["read"]);Y("list",["list","ls"]);Y("glob",["glob"]);Y("grep",["grep"]);Y("write",["write"]);Y("edit",["edit","multiedit","morph_edit"]);Y("apply_patch",["apply_patch","patch"]);Y("bash",["bash"]);Y("web_search",["web_search","websearch","image_search"]);Y("webfetch",["webfetch","web_fetch","scrape_webpage","scrapewebpage"]);Y("media",["image_gen","video_gen"]);Y("show",["show","show_user","presentation_gen"]);Y("task",["task"]);Y("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"]);Y("todowrite",["todowrite","todo_write","todoread"]);Y("question",["question","ask"]);Y("memory",["memory","memory_search","mem_search","ltm_search","get_mem"]);Y("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"]);Y("automations",["triggers"]);Y("skill",["skill"]);Y("context",["prune","distill","compress","context_info"]);Y("retired",["integration_list","integration_connect","integration_search","integration_actions","integration_run","integration_request","integration_exec"]);var Nw=[["pty_","pty"],["agent_","delegate"],["task_","delegate"],["session_","sessions"],["trigger_","automations"],["project_","projects"]];function pe(e){let t=e.replace(/^oc[-_]/,"").replace(/-/g,"_"),n=Hy[t];if(n)return n;for(let[r,s]of Nw)if(t.startsWith(r))return s;return"other"}function Ze(e){for(let t of[e?.filePath,e?.file_path,e?.path])if(typeof t=="string"&&t)return t}var qw=["site","filetype","ext","inurl","allinurl","intitle","allintitle","intext","allintext","inanchor","inbody","before","after","daterange","related","cache","define","link","source","lang","loc","location","imagesize"];function Gw(){return new RegExp(`(^|\\s)([-+]?)(${qw.join("|")}):("[^"]*"|\\S+)`,"gi")}function Ww(){return/(^|\s)-(?:"[^"]*"|\S+)/g}function Kw(){return/(^|\s)(?:OR|AND)(?=\s|$)/g}function Vw(e){return e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Hw(e){return Vw(e).replace(/^[a-z]+:\/\//i,"").replace(/^www\./i,"").replace(/\/.*$/,"").trim()}function zy(e){return e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} or ${e[e.length-1]}`}function ss(e){let t=typeof e=="string"?e.trim():"";if(!t)return"";let n=[],r=t.replace(Gw(),(s,o,i,a,c)=>{if(!i&&a.toLowerCase()==="site"){let p=Hw(c);p&&!n.includes(p)&&n.push(p)}return o});return r=r.replace(Ww(),"$1").replace(Kw(),"$1").replace(/[()]/g," ").replace(/\s+/g," ").trim(),r?n.length>0?`${r} on ${zy(n)}`:r:n.length>0?zy(n):t}var zw=/\s/,Yw=/\w/;function de(e){return e!==void 0&&zw.test(e)}function jn(e){return e===`
|
|
75
|
-
`||e==="\r"||e==="\u2028"||e==="\u2029"}function
|
|
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 ri(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 Jy(e,t){let n=ri(e,t);return n?e.slice(n.open+1+t.length,n.end):null}function Qy(e,t){let n=ri(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 Xy(e,t){let n=`</${t}>`,r="",s=0;for(;;){let o=ri(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 Zy(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 Un(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&&de(t[r]);)r++;if(t[r]==="{")return t.slice(r);n=t.indexOf(":",n+1)}return null}function eh(e,t,n){let r=ht(t),s=ht(n);for(let o of ht(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 th(e,t){let n=ht(e),r=t.map(ht),s=e.length,o=c=>{let p=c;for(;p<s&&de(e[p]);)p++;return p},i=c=>{for(let p=c;p<s;p++)if(jn(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&&!jn(e[m]);)m++;for(;m>g+1&&de(e[m-1]);)m--;return e.slice(g,m)}for(let m=s-1;m>d;m--)if(!jn(e[m]))return e[m];return null}}a=i(c)}return null}function nh(e){let t=e.length,n=new Array(t+1);n[0]=0;for(let a=1;a<=t;a++)n[a]=de(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"||!de(e[a-1]))continue;let c=a+1;if(de(e[c])){for(;c<t&&de(e[c]);)c++;ti(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]+(jn(e[a])?1:0);let o=(a,c)=>s[c]===s[a],i=a=>{let c=a+1;for(;de(e[c]);)c++;let p=c;for(;p<t&&ti(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&&de(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(!jn(e[g]))return{id:e.slice(a+2,c),title:e[g],status:i(d)}}}}return null}function rh(e){let t=(i,a)=>i.slice(a,a+6).toLowerCase()==="error:",n=0;for(;;){let i=n;for(;i<e.length&&de(e[i]);)i++;if(!t(e,i))break;for(i+=6;i<e.length&&de(e[i]);)i++;n=i}let r=e.slice(n),s="",o=0;for(;o<r.length;){if(t(r,o)&&(o===0||!ti(r[o-1]))){let i=o,a=0;for(;t(r,i);){for(i+=6;i<r.length&&de(r[i]);)i++;a++}if(a>=2){o=i;continue}}s+=r[o],o++}return s}function sh(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 oh(e){return sh(e,!0)}function ih(e){return sh(e,!1)}function Qw(e,t){let n=e.slice(t,t+8).toLowerCase();return n.startsWith("http://")||n.startsWith("https://")}function ah(e,t){let n=ht(e),r=ht(t),s=e.length,o=i=>{let a=i;for(;a<s&&de(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(!de(e[p])){p++;continue}let d=o(p);if(Qw(e,d))return e.slice(c,p);p=d}return e.slice(c)}return null}var Xw=new Set(["read","glob","grep","list"]);function ee(e){return e.replace(/^oc-/,"").replace(/-/g,"_")}function NN(e){return Xw.has(pe(e))}function qN(e){let t=0,n=0,r=0;for(let s of e){let o=pe(s.tool);o==="read"?t++:o==="glob"||o==="grep"?n++:o==="list"&&r++}return{read:t,search:n,list:r}}function si(e){if(!e)return"";let t=Ne(e.replace(/\\/g,"/")),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function os(e,t=60){if(!e)return"";let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t)}\u2026`:n}function oi(e){let n=(e.state??{}).input??{};switch(ee(e.tool)){case"read":case"edit":case"write":case"morph_edit":{let o=n.filePath??n.file_path??n.path;return o?si(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?`"${os(String(o),40)}" in ${si(String(i))}`:o?`"${os(String(o),60)}"`:""}case"list":return n.path?si(String(n.path)):"";case"bash":return os(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 os(o==="query"&&ss(i)||i,60)}return""}var Zw={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 GN(e,t={}){let n=Fe(e)?Be(e):e,r={...Zw,...t},s=ee(n.tool),o=oi(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 qe(e){return e.type==="text"}function Ge(e){return e.type==="reasoning"}function ie(e){return e.type==="tool"}function lh(e){return e.type==="file"}function YN(e){return e.type==="agent"}function JN(e){return e.type==="compaction"}function QN(e){return e.type==="snapshot"}function XN(e){return e.type==="patch"}function ZN(e){return e.type==="step-start"||e.type==="step-finish"}function eq(e){if(qe(e)||Ge(e))return e.text}function tq(e){if(!lh(e))return!1;let t=e.mime;return t.startsWith("image/")||t==="application/pdf"}function nq(e){let t=[],n=[];for(let r of e)lh(r)?t.push(r):n.push(r);return{attachments:t,stickyParts:n}}function rq(e,t){let n=[];return e?.tool&&n.push(e.tool),t?.tool&&n.push(t.tool),n}function sq(e,t,n){return n.some(r=>r.messageID===t&&r.callID===e.callID)}var eA=new Set(["todoread","context_info"]);function tA(e){return!eA.has(Fe(e)?e.name:e.tool)}var nA=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 uh(e){let t=Fe(e)?Be(e):e,n=t.tool||"";if(n.startsWith("oc-"))return;let r=pe(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 rA(n,t.state)}function rA(e,t){let n=ee(e);if(nA.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 oq(e){if(e)for(let t=e.length-1;t>=0;t--){let n=e[t]?.info;if(n?.role==="assistant"&&n.error)return he(n.error)}}function iq(e){let t=[];for(let n of e)if(n.info.role==="assistant")for(let r of n.parts)ie(r)&&tA(r)&&t.push(r);return t}function aq(e,t={}){switch(ee(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:aA(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 sA(e,t)}}function sA(e,t){switch(pe(e)){case"read":return{icon:"glasses",title:"Read",subtitle:oA(Ze(t))};case"list":return{icon:"list",title:"List",subtitle:iA(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:ch(Ze(t))};case"write":return{icon:"file-pen",title:"Write",subtitle:ch(Ze(t))};case"todowrite":return{icon:"check-square",title:"Todos"};case"question":return{icon:"message-circle",title:"Questions"};default:return{icon:"cpu",title:e}}}function oA(e){if(!e)return;let t=e.split("/");return t[t.length-1]||e}function ch(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 iA(e){if(!e)return;let t=e.lastIndexOf("/");if(!(t<0))return e.slice(0,t)||"/"}function cq(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 Ln(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
|
|
79
|
-
`)
|
|
80
|
-
|
|
81
|
-
`)}var KA=new Set(["get_mem","memory_search","mem_search","ltm_search","dcp_compress","dcp_distill","dcp_prune","prune","distill","compress","context_info"]),VA={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 HA(e,t){if(e==="filePath"||e==="path"||e==="file"){let n=t.split("/");return n[n.length-1]||t}return e==="query"&&ss(t)||t}function zA(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 HA(r,s.trim())}}function wh(e){if(Ge(e))return{verb:"Thought",running:"Thinking",object:void 0,tier:"reasoning"};if(!ie(e))return{verb:"Used",running:"Using",object:void 0,tier:"primary"};let t=fe(e.tool),n=VA[t],r=e.state?.input;return n?{verb:n.verb,running:n.running,object:zA(r,n.objectKeys),tier:KA.has(t)?"plumbing":"primary"}:{verb:"Used",running:"Using",object:t,tier:"primary"}}function Xq(e){let t=0,n=0,r=!1,s=!1;for(let o of e){if(wh(o).tier==="plumbing"){r=!0;continue}if(Ge(o)){if(!o.text?.trim())continue;s||(s=!0,t+=1);continue}s=!1,t+=1,ie(o)&&xh(o)!=="ok"&&(n+=1)}return{total:t,failed:n,completed:t-n,hasPlumbing:r}}function ui(e){return`${e} ${e===1?"step":"steps"}`}function Zq(e,t){let{total:n,failed:r,completed:s,hasPlumbing:o}=e;return t?n===0?"Working":`Working \xB7 ${ui(n)}`:n===0?o?"Housekeeping":"Worked":r===0?`Completed ${ui(n)}`:s===0?`${ui(n)} failed`:`Completed ${s} of ${n} steps \xB7 ${r} failed`}function tG(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 sG(e){let t=(e??"").trimStart();return t.startsWith("{")||t.startsWith("[")}function oG(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 iG(e,t=200){let n=e??"";return n=n.replace(/\\n/g," "),n=oh(n),n=ih(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 aG(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=Un(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 Fn(e){try{return JSON.parse(`"${e}"`)}catch{return e}}function pi(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(Fn(i[1]),Fn(i[2]),i[3]?Fn(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(Fn(i[2]),Fn(i[1])),n.length>=t)return n}return n}function Ah(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 vh(e){if(!e)return[];let t=Ah(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=pi(e);if(n.length>0)return[{query:"",sources:n.map(r=>({title:r.title,url:r.url,snippet:r.snippet}))}]}return[]}function di(e){try{return new URL(e).hostname.replace("www.","")}catch{return e}}function pG(e){try{let t=new URL(e).hostname.replace(/^www\./,""),n=t.split(".");return n.length<=2?t:n.slice(-2).join(".")}catch{return di(e)}}function dG(e){try{return`https://www.google.com/s2/favicons?domain=${new URL(e).hostname.replace(/^www\./,"")}&sz=128`}catch{return null}}function gG(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 YA(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 JA(e,t){if(t.length===0)return[];let n=e.replace(/^Error:\s*/i,"").trim();return t.map(r=>{let s=ah(n,r)?.trim()||n;return{url:r,success:!1,error:s}})}function mG(e,t){let n=QA(e);if(n?.results?.length)return n.results;let r=typeof e=="string"?e:"";return r.trim()?JA(r,YA(t)):[]}function QA(e){if(!e)return null;let t=Ah(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=pi(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 XA(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 ZA={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 gi(e){return ZA[pe(e)]}function ps(e){let t=ee(e).replace(/__+/g,"/");return(t.includes("/")?t.slice(t.lastIndexOf("/")+1):t).replace(/_/g," ").trim().replace(/\b\w/g,r=>r.toUpperCase())}var ev={run:"Terminal",memory:"Memory"};function PG(e){let t=gi(e);return(t==="hidden"?void 0:ev[t])??ps(e)}function Nn(e,t,n){return e===1?t:n}function mi(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 Ch(e){return e.length?oi(e[0]):""}function Ae(e){return(e.state??{}).input??{}}var tv={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 nv(e){let t=ee(e.tool);if(t==="agent_task_update"||t==="task_update")switch(Ae(e).action||""){case"start":return"spawn";case"cancel":return"stop";case"approve":return"done";default:return"message"}return tv[t]??"message"}function kh(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 rv(e){let t=ee(e.tool);if(t==="triggers"){let r=Ae(e).action||"list";return kh(r)}let n=t.match(/^trigger_(.+)$/);return kh(n?n[1]:"list")}var sv={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 ov(e){return sv[ee(e.tool)]??"read"}var iv={project_get:"open",project_list:"open",project_select:"open",project_update:"update",project_create:"create",project_delete:"delete"};function av(e){return iv[ee(e.tool)]??"open"}function Ht(e){return e.every(t=>t===e[0])}var cv={view:"read",create:"write",str_replace:"write",insert:"write",rename:"write",delete:"delete"};function lv(e){if(ee(e.tool)!=="memory")return"read";let n=Ae(e).command;return n&&cv[n]||"unknown"}var uv={generate:"Made an image",edit:"Edited an image",upscale:"Upscaled an image",remove_bg:"Removed an image background"},pv={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 dv(e){let t=Ne(e.replace(/\\/g,"/")),n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function gv(e){let t=Ae(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 mv(r,60);let s=typeof t.path=="string"?t.path:"";if(s)return dv(s);let o=typeof t.url=="string"?t.url:"";if(o){let i=XA(o);return i?di(i):"a link"}return""}function mv(e,t=60){let n=e.replace(/\s+/g," ").trim();return n.length>t?n.slice(0,t-1)+"\u2026":n}function fv(e){let t=Ae(e).action;return t&&uv[t]||"Worked on an image"}function yv(e){let t=Ae(e).action;return t&&pv[t]||"Worked on a presentation"}function hv(e){return e.slice(0,e.indexOf(":"))}var bv={generate:"image:generate",edit:"image:edit",upscale:"image:upscale",remove_bg:"image:remove_bg"},_v={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 Pv(e){let t=ee(e.tool);if(t==="image_gen"){let n=Ae(e).action;return n&&bv[n]||"image:unknown"}if(t==="video_gen")return"video:create";if(t==="presentation_gen"){let n=Ae(e).action;return n&&_v[n]||"presentation:unknown"}return"shown:result"}var Sv=new Set(["create_slide","export_pdf","export_pptx"]);function SG(e){let t=ee(e.tool);if(t==="image_gen")return"image";if(t==="video_gen")return"video";if(t==="presentation_gen"){let n=Ae(e).action;return n?Sv.has(n)?"presentation":null:"presentation"}return null}var xv={"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`},Rh={image:"image",video:"video",presentation:"presentation",shown:"result"};function wv(e){let t={image:0,video:0,presentation:0,shown:0};for(let r of e)t[hv(r)]++;let n=[];return Object.keys(t).forEach(r=>{let s=t[r];s&&n.push(`${s} ${Nn(s,Rh[r],`${Rh[r]}s`)}`)}),`Worked on ${mi(n)}`}function Ih(e,t){let n=t.length,r=Ch(t);switch(e){case"explore":{let s=t.filter(o=>ee(o.tool)==="read").length;return s===n?`Read ${n} ${Nn(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=>Ze(Ae(i))).filter(Boolean)).size||n,o=t.every(i=>ee(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=c=>{let p=ee(c.tool);return p==="web_search"||p==="websearch"||p==="image_search"},o=t.filter(s).length;if(o===n)return`Searched the web \xB7 ${n} ${Nn(n,"query","queries")}`;if(o===0)return`Read ${n} ${Nn(n,"page","pages")}`;let i=new Set;for(let c of t)if(s(c)){let p=c.state?.output;for(let d of vh(p).flatMap(g=>g.sources))d.url&&i.add(d.url)}else{let p=c.state?.input?.url;typeof p=="string"&&p&&i.add(p)}let a=i.size||n;return`Searched and read ${a} ${Nn(a,"source","sources")}`}case"create":{if(n===1){let o=t[0],i=ee(o.tool);if(i==="image_gen")return fv(o);if(i==="video_gen")return"Made a video";if(i==="presentation_gen")return yv(o);let a=gv(o);return a?`Showed you ${a}`:"Showed you the result"}let s=t.map(Pv);return Ht(s)?xv[s[0]](n):wv(s)}case"plan":return n===1?"Planned the work":`Planned the work \xB7 ${n} steps`;case"delegate":{let s=t.map(nv);if(Ht(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(lv);if(Ht(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(ov);if(Ht(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(rv);if(Ht(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(av);if(Ht(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 ${ps(t[0].tool)}`;let s=Array.from(new Set(t.map(o=>ps(o.tool))));return s.length===1?`Used ${s[0]} \xB7 ${n} times`:`Used ${mi(s)}`}}}function Th(e,t){let n=Ch(t);switch(e){case"explore":return"Couldn't read your files";case"edit":{if(t.length===1){let r=ee(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=>ps(i.tool))));return`Couldn't finish using ${mi(o)}`}}}function Av(e){return e.some(t=>t.state?.status==="running"||t.state?.status==="pending")?"running":e.some(t=>t.state?.status==="error")?"error":"done"}function vv(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 Eh(e,t){let n=Av(t);return{id:t[0].callID,family:e,label:n==="error"?Th(e,t):Ih(e,t),parts:t,status:n,durationMs:n==="running"?void 0:vv(t)}}function Mh(e){let t=[],n=null,r=[],s=()=>{n&&r.length&&t.push(Eh(n,r)),n=null,r=[]};for(let o of e){let i=gi(o.tool);if(i!=="hidden"&&!po(o)){if($m(o.tool)){s(),t.push(Eh(i,[o]));continue}i!==n&&(s(),n=i),r.push(o)}}return s(),t}function kv(e){let t=e.time?.end;return!(typeof t=="number"&&t>0)}function CG(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 Mh(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(Ge(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=kv(a);continue}if(o(),ie(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 Rv=/^(thinking|thought|considering|planning|deciding|weighing|exploring|analy[sz]ing|reasoning|working out|figuring)/i;function Cv(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 IG(e){let t=e.flatMap(s=>{let o=Cv(s);return o?[o]:[]}).join(" ").trim();return t?Rv.test(t)?t:`Thinking about ${/^[A-Z][a-z]/.test(t)?t[0].toLowerCase()+t.slice(1):t}`:"Thinking"}function Iv(e){return e?.info?.time??{}}function EG(e){let t=Iv(e).created;return typeof t!="number"||!Number.isFinite(t)||t<=0?null:t}var ds=6e4,Tv=10080*ds,Oh=1440;function Dh(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 Ev(e,t){let n=t.getTime()-e.getTime(),r=n/ds,s=(i,a)=>`${i} ${a}${i===1?"":"s"} ago`;if(r<60)return s(Math.round(r),"minute");if(r<Oh)return s(Math.round(r/60),"hour");let o=(n-(Dh(t)-Dh(e)))/ds;return s(Math.round(o/Oh),"day")}function Uh(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 jh=new Map;function Mv(e,t){let n={...e,...t.timeZone?{timeZone:t.timeZone}:{}},r=`${t.locale??""}|${JSON.stringify(n)}`,s=jh.get(r);return s||(s=new Intl.DateTimeFormat(t.locale,n),jh.set(r,s)),s}function gs(e,t,n){return Mv(t,n).formatToParts(e).map(r=>r.type==="dayPeriod"?Ov(r.value,n):r.value).join("")}function Ov(e,t){let n=/^([ap])\.?\s?m\.?$/i.exec(e.trim());return n?`${n[1].toUpperCase()}M`:e.toLocaleUpperCase(t.locale)}function $h(e,t){return gs(e,{year:"numeric"},t)}function MG(e,t,n={}){let r=Uh(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<ds?"just now":o<Tv?Ev(r,new Date(t)):s($h(r,n)!==$h(new Date(t),n))}function OG(e,t={}){let n=Uh(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 UG(e,t={}){let n=[],r=[],s=()=>{r.length>0&&(n.push({kind:"burst",parts:r}),r=[])};for(let o of e)if(!Um(o)){if(qe(o)){s(),n.push({kind:"text",part:o});continue}if(ie(o)&&(Lm(o.tool)||!!t.standaloneCallIds?.has(o.callID))){s(),n.push({kind:"standalone",part:o});continue}r.push(o)}return s(),n}function Dv(e){let t=fe(e);return t==="show"||t==="show_user"}function NG(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"&&Dv(o.part.tool)&&!t.standaloneCallIds?.has(o.part.callID)){r.push(o);continue}s(),n.push(o)}return s(),n}var jv=["title","description","path","url","content","language","aspect_ratio","attachment"];function Lh(e,t){if(!t||typeof t!="object")return null;let n=t;if(Dr(n))return null;let r={callID:e,status:"ready",type:typeof n.type=="string"?n.type:""};for(let s of jv){let o=n[s];typeof o=="string"&&o&&(r[s]=o)}return r}function $v(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 qG(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=$v(s.items),i=o?o.map(a=>Lh(n.callID,a)).filter(a=>!!a):[Lh(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 Bh(e){return!e.working||e.awaitingUser?!1:e.isRetrying?!0:!e.hasError}var Uv=e=>e.time?.completed;function VG(e){return!e.hasPendingTurns||!e.newestAssistantCompleted?!1:e.pendingDelivery||!!e.deliveringBelow||e.activeTurnId!==null&&e.activeTurnId!==e.workingTurnId}function Lv(e,t){let n=e.userMessage.info.id;return t.pendingTurnIds.has(n)||e.assistantMessages.length===0&&t.pendingPromptIds.has(n)}function HG(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=>Lv(r,e));return n<=0?null:e.turns[n-1].userMessage.info.id}function zG(e){return e.isTurnWorking&&!e.pendingDelivery&&e.activeTurnId===e.turnId}function YG(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 JG(e){return!e.lastTurnWorking||e.workingTurnId===null||e.suppressed?!1:Bh({working:!0,hasError:e.workingTurnHasError,isRetrying:e.isRetrying,awaitingUser:e.awaitingUser})}function QG(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 XG(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(!Uv(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 n1(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 r1(e,t){return!t||!e?!1:e.type!=="idle"}function s1(e,t){return!e&&!!t}function o1(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return we(n.error)?.message||he(n.error)}}function i1(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return Ty(n.error)}}function a1(e){for(let t of e.assistantMessages){let n=t.info;if(n.error)return we(n.error)}}function Fh(e){if(e){if(ie(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(Ge(e)){let t=e.text?.trimStart();if(t){let n=t.match(/^\*\*(.+?)\*\*/);if(n)return`Thinking about ${n[1].trim()}...`}return"Thinking..."}if(qe(e))return"Gathering thoughts..."}}function c1(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n].part,s=ie(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=Fh(a.parts[c]);if(p)return p}}return"Handing off to an agent..."}let o=Fh(r);if(o)return o}return"Figuring out what\u2019s next..."}function Nh(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 l1(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 u1(e){return e===0?"$0.00":e<.001?`$${e.toFixed(4)}`:e<.01?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function p1(e){return e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`}function d1(e){if(!e||e.type!=="retry")return;let t=e,n=he(t.message);return{attempt:t.attempt,message:n.length>60?`${n.slice(0,60)}...`:n,next:t.next,details:we(t.message)}}function g1(e){if(!(!e||e.type!=="retry"))return he(e.message)}function m1(e){return(e.info.summary?.diffs?.length??0)>0}function qh(e){if(e.kind==="show-group")return!0;if(e.kind!=="standalone")return!1;let t=fe(e.part.tool);return t==="show"||t==="show_user"}function Bv(e){return e.kind==="text"&&!e.part.text?.trim()}function b1(e,t){if(t.working)return null;let n=-1;for(let s=e.length-1;s>=0;s--){let o=e[s];if(!(qh(o)||Bv(o))){o.kind==="text"&&(n=s);break}}let r={work:[],hoisted:[],final:[]};return e.forEach((s,o)=>{o===n?r.final.push(s):qh(s)?r.hoisted.push(s):r.work.push(s)}),r.work.length>0?r:null}function _1(e){let t=e==null?"":Nh(e);return t?`Worked for ${t}`:"Worked"}function Fv(e){let t=e.userMessage.parts;if(t.length===0||!t.every(o=>qe(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 ie(s)&&s.tool==="bash"}function x1(e){if(Fv(e))return e.assistantMessages[0].parts[0]}function v1(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=Xy(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 k1(e){return e?e.split(`
|
|
82
|
-
|
|
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 C1(e){if(!e)return[];let t=[],n=e.split(`
|
|
84
|
-
`).filter(
|
|
85
|
-
`)
|
|
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 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
|
|
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=
|
|
91
|
-
`).map(i=>i.trim()).filter(i=>i&&!/^\(\d+\s+entr/i.test(i));return{path:n,type:"directory",entries:o}}return null}function
|
|
92
|
-
\u2026`:e}function
|
|
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 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
|
|
95
|
-
`).map(t=>t.trim()).filter(t=>t.startsWith("/")||t.startsWith("./")||t.startsWith("~")).map(t=>({path:t}))}function dk(e){let t=H(e.input?.pattern,e.input?.query)??"";if(e.status==="error"||!e.output)return{kind:"search",pattern:t};let n=zh.test(e.output.trim())?uk(e.output):pk(e.output);return{kind:"search",pattern:t,matches:n.length>0?n.slice(0,200):void 0}}function gk(e){let t=H(e.input?.description,e.input?.title,e.input?.prompt)??e.title,n=H(e.input?.subagent_type,e.input?.agent);return{kind:"task",description:t,agent:n}}function fi(e){let t=_t(e)??{};return{content:H(t.content)??"",status:H(t.status)??"pending",priority:H(t.priority)}}function mk(e){let t=e.input?.todos;if(Array.isArray(t))return{kind:"todo",items:t.map(fi)};if(Array.isArray(e.outputParsed))return{kind:"todo",items:e.outputParsed.map(fi)};let n=_t(e.outputParsed);return n&&Array.isArray(n.todos)?{kind:"todo",items:n.todos.map(fi)}:{kind:"todo",items:[]}}function fk(e){return{kind:"question",questions:(Array.isArray(e.input?.questions)?e.input.questions:[]).map(r=>{let s=_t(r)??{},i=(Array.isArray(s.options)?s.options:[]).flatMap(a=>{let c=_t(a),p=c&&H(c.label);return p?[{label:p,description:c?H(c.description):void 0}]:[]});return{question:H(s.question)??"",header:H(s.header),options:i}})}}function yk(e){let n=e.input&&Object.keys(e.input).length>0?Kh(e.input):void 0,r;return e.outputParsed!==void 0?r=typeof e.outputParsed=="string"?qn(e.outputParsed):Kh(e.outputParsed):e.outputText!==void 0?r=qn(e.outputText):r=e.error,{kind:"generic",label:e.title,inputPretty:n,outputPretty:r}}function hk(e){switch(pe(e.name)){case"web_search":return Yv(e);case"bash":return nk(e);case"read":return rk(e);case"write":return sk(e);case"edit":return ck(e);case"grep":case"glob":return dk(e);case"task":return gk(e);case"todowrite":return mk(e);case"question":return fk(e);default:return yk(e)}}var bk=new Set(["AbortError","MessageAbortedError"]),_k=["operation was aborted","aborted by user","interrupted by user","cancelled by user","canceled by user","request was cancelled","request was canceled","aborterror"],Pk=["unreachable","upstream","econnreset","econnrefused","socket hang up","network","fetch failed","timed out","timeout","gateway","502","503","504"];function Yh(e){let t=e.toLowerCase();return Pk.some(n=>t.includes(n))?!1:_k.some(n=>t.includes(n))}function Sk(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 ms(e){if(typeof e=="string")return Yh(e);if(!e||typeof e!="object")return!1;let t=e,n=t.name;if(typeof n=="string"&&bk.has(n))return!0;let r=Sk(t);return typeof r=="string"?Yh(r):!1}var xk=["user","runtime-disposed","orphan-finalized","wake"],tW=["orphan-finalized","wake"];function nW(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 xk.includes(n)?n:void 0}function Gn(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 Jh(e){let t=Gn(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 sW=Jh;function hi(e){let t=Jh(e);if(!t||typeof t!="object")return null;let n=t;return n.name==="ConfigInvalidError"?n:null}var oW=hi;function wk(e){return hi(e)!==null}var iW=wk,Ak=[/sandbox not ready/i,/sandbox is not (?:ready|running)/i,/opencode (?:session )?(?:is )?not ready/i,/\bsandbox_not_ready\b/,/\bsandbox_lifecycle_unavailable\b/],aW=["runtime_not_ready","sandbox runtime not ready","opencode not ready"],vk=/\bruntime_not_ready\b|sandbox runtime not ready|opencode not ready/i;function kk(e){return vk.test(Gn(e))}function Wn(e){let t=Gn(e);return t?kk(t)||Ak.some(n=>n.test(t)):!1}var Rk=/server url not ready|sandbox is still loading/i;function cW(e){return Rk.test(Gn(e))||Wn(e)}var fs=class extends Error{constructor(t){let n=t?.trim();super(n&&Wn(n)?n:n?`sandbox not ready: ${n}`:"sandbox not ready"),this.name="SandboxNotReadyError"}};function Ck(e){let t=hi(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=Gn(e);return Wn(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 lW=Ck;function Qh(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`${Ye()}/p/${e.external_id}/${ze.BEEUNI_MASTER}`}function gW(e,t){return e.external_id?`${Ye()}/p/${e.external_id}/${t}`:null}async function bW(){let e=await l.get("/setup/sandbox-providers");if(e.error)throw e.error;return e.data}async function Ik(e){let t=await ut();if(t)return{sandbox:t.sandbox,created:!1};let r=(await kt())[0];if(!r)throw new Error("Create a project before starting a sandbox");let s=await Mt(r.project_id,{...e?.provider?{provider:e.provider}:{}}),o=(await ct(r.project_id,s.session_id))?.sandbox??null;return{sandbox:bo(r,s,o),created:!0}}async function _W(){return(await ut().catch(()=>null))?.sandbox??null}async function PW(e){return{sandbox:(await Ik(e)).sandbox}}async function SW(e){let t=dn(e);return t?(await ut(t).catch(()=>null))?.sandbox??null:null}async function xW(e,t){throw await ut(e)?new Error("Renaming project-session sandboxes is not exposed by the current API"):new Error("Project session sandbox not found")}async function wW(e){let t=dn(e);return(await _o().catch(()=>[])).map(r=>r.sandbox).filter(r=>!t||r.sandbox_id===t||r.external_id===t)}async function AW(){return null}async function vW(e){if(!e)throw new Error("No sandbox selected for workload restart");let t=await ut(e);if(!t)throw new Error("Project session sandbox not found");await vr(t.project.project_id,t.session.session_id)}async function kW(e){if(!e)throw new Error("No sandbox selected to stop");let t=await ut(e);if(!t)throw new Error("Project session sandbox not found");await kr(t.project.project_id,t.session.session_id)}async function RW(e){throw new Error("Cancellation is not exposed for project-session sandboxes")}async function CW(e){throw new Error("Reactivation is not exposed for project-session sandboxes")}async function bi(e,t,n){let r=Qh(e),s=await j(`${le(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 OW(e,t){return bi(e,`/beeuni/projects/${encodeURIComponent(t)}/members`,{method:"GET"})}async function DW(e,t,n,r="member"){await bi(e,`/beeuni/projects/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify({user_id:n,role:r})})}async function jW(e,t,n){await bi(e,`/beeuni/projects/${encodeURIComponent(t)}/members/${encodeURIComponent(n)}`,{method:"DELETE"})}var _i="Use the account invite functions (acceptAccountInvite, declineAccountInvite).";async function LW(e){throw G("getInvite",_i)}async function BW(e){throw G("acceptInvite",_i)}async function FW(e){throw G("declineInvite",_i)}async function qW(e){throw new Error("Backups are not exposed for project-session sandboxes")}async function GW(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function WW(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function KW(e,t){throw new Error("Backups are not exposed for project-session sandboxes")}async function HW(e){throw new Error("SSH setup is not exposed for project-session sandboxes")}async function zW(e){throw new Error("SSH connection details are not exposed for project-session sandboxes")}async function Tk(e){let t=e?`?channel=${e}`:"",r=await(await Ie(`${Ye()}/platform/sandbox/version/latest${t}`,{headers:{Accept:"application/json"}},{},"Version check failed")).json();try{let s=await Xh(e||"stable");r.changelog=s.find(o=>o.version===r.version)??s[0]??null}catch{r.changelog=null}return r}async function Xh(e){let t=e?`?channel=${e}`:"";return(await(await Ie(`${Ye()}/platform/sandbox/version/changelog${t}`,{headers:{Accept:"application/json"}},{},"Changelog fetch failed")).json()).changelog}async function Ek(){return(await Ie(`${Ye()}/platform/sandbox/version/all`,{headers:{Accept:"application/json"}},{},"All versions fetch failed")).json()}var Kn=class extends Error{constructor(n,r,s){super(n);this.status=r;this.body=s;this.name="HostBoundaryError"}status;body};function Zh(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 eb(e){let t=await e.text().catch(()=>"");if(!t)return null;try{return JSON.parse(t)}catch{return t}}function tb(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 se(e,t,n){let r=n?.body!==void 0,s=await fetch(`${lt(t.backendUrl)}${e}`,{method:n?.method??"GET",headers:Zh(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 eb(s);if(!s.ok)throw new Kn(tb(s,o),s.status,o);return o}function Mk(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 Ok(e,t){return se(`/marketplace/items${Mk(t)}`,e)}function Dk(e){return se("/marketplace/marketplaces",e)}function jk(e,t){return se(`/marketplace/items/${encodeURIComponent(e)}`,t)}function $k(e,t,n){return se(`/marketplace/items/${encodeURIComponent(e)}/file?path=${encodeURIComponent(t)}`,n)}function Uk(e,t){return se("/access/check-email",t,{method:"POST",body:{email:e}})}function Lk(e,t){return se("/access/request-access",t,{method:"POST",body:e})}function Bk(e){return se("/auth/logout",e,{method:"POST",body:{}})}function Fk(e,t){return se(`/oauth/authorize/consent/${encodeURIComponent(e)}`,t)}function Nk(e,t){return se("/oauth/authorize/consent",t,{method:"POST",body:{request_id:e.requestId,approved:e.approved}})}function qk(e,t){return se(`/setup-links/connectors/${encodeURIComponent(e)}`,t)}function Gk(e,t){return se(`/setup-links/connectors/${encodeURIComponent(e)}/start`,t,{method:"POST",body:{}})}function Wk(e,t,n={}){return se(`/setup-links/connectors/${encodeURIComponent(e)}/finalize`,t,{method:"POST",body:n.connectionId?{connection_id:n.connectionId}:{}})}function Kk(e,t){return se(`/setup-links/secret/${encodeURIComponent(e)}`,t)}function Vk(e,t,n,r){return se(`/setup-links/secret/${encodeURIComponent(e)}`,n,{method:"POST",body:{values:t,...r?.only_requester?{only_requester:!0}:{}}})}function Hk(e,t){return se(`/p/public-share/${encodeURIComponent(e)}`,t)}function zk(e,t,n){return se(`/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}/start`,n,{method:"POST",body:{}})}function Yk(e,t){return se("/system/demo-request",t,{method:"POST",body:e})}async function Jk(e,t,n){let r=await fetch(`${lt(n.backendUrl)}/accounts/${encodeURIComponent(e)}/audit/export?${Ot(t)}`,{headers:Zh(n,!1),...n.signal?{signal:n.signal}:{}});if(!r.ok){let s=await eb(r);throw new Kn(tb(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 Qk(e,t){throw G("buildPublicTemplateUrl")}async function Xk(e,t,n){throw G("getPublicTemplate")}var Zk="beeuni:connect-link:";function Pi(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`${Zk}${t.toString(36)}${n.toString(36)}`}function rK(e,{storage:t}={}){let n=new Map,r=new Map,s=i=>{if(t)try{let a=t.getItem(Pi(i));if(!a)return;let c=JSON.parse(a);if(Date.parse(c.expires_at)<=Date.now()){t.removeItem(Pi(i));return}return c}catch{return}},o=(i,a)=>{if(t)try{t.setItem(Pi(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 nb="Could not start the connect flow.";async function sK(e){let t;try{t=await e.start()}catch(r){return{kind:"error",message:r instanceof Error?r.message:nb}}if(t.connect_url)return{kind:"popup",url:t.connect_url};if(!t.connected)return{kind:"error",message:nb};let n=null;try{n=(await e.finalize()).connected_as??null}catch{}return{kind:"connected",alreadyConnected:t.already_connected===!0,connectedAs:n}}var eR=3e3,tR=5e3,nR=5*6e4;function oK(e,t){let n=e===0?eR:tR;return t+n>nR?null:n}function iK(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 PK="1";var rR="beeuni.query-cache";function sb(e){return!!e&&typeof e.then=="function"}function rb(e){return sb(e)?e:Promise.resolve()}function SK(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 xK(e){let{storage:t,userId:n,shouldPersist:r,version:s="1",maxAgeMs:o=6048e5,maxBytes:i=1e6,throttleMs:a=1e3,namespace:c=rR,now:p=()=>Date.now()}=e,d=`${c}:${n}`,g=null,m=!1,y=null,h=Promise.resolve(),w=()=>{try{return rb(t.removeItem(d)).catch(()=>{})}catch{return Promise.resolve()}},M=(C,P)=>{if(!P)return 0;let x;try{x=JSON.parse(P)}catch{return w(),0}if(!x||x.v!==s||x.user!==n||!Array.isArray(x.queries)||p()-x.at>o)return w(),0;let v=0;for(let k of x.queries){if(!k||!Array.isArray(k.k)||k.d===void 0||typeof k.t!="number"||p()-k.t>o||!r(k.k))continue;let $=C.getQueryState(k.k);$&&$.data!==void 0&&$.dataUpdatedAt>=k.t||(C.setQueryData(k.k,k.d,{updatedAt:k.t}),C.invalidateQueries?.({queryKey:k.k,exact:!0,refetchType:"none"}),v+=1)}return v},B=C=>C.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,x)=>x.t-P.t),F=(C,P)=>{let x=[],v=0;for(let k of C){let $=JSON.stringify(k).length+1;v+$>P||(x.push(k),v+=$)}return x},f=async C=>{let P=F(B(C),i);for(;;){let x={v:s,user:n,at:p(),queries:P};try{await rb(t.setItem(d,JSON.stringify(x)));return}catch{if(P.length===0)return;P=P.slice(0,Math.floor(P.length/2))}}},b=()=>{y!==null&&(clearTimeout(y),y=null)},S=()=>{b();let C=g;return!C||!m||(m=!1,h=h.then(()=>f(C)).catch(()=>{})),h},O=()=>{m=!0,y===null&&(y=setTimeout(()=>{y=null,S()},a))};return{storageKey:d,restore(C){let P;try{P=t.getItem(d)}catch{return 0}return sb(P)?P.then(x=>M(C,x)).catch(()=>0):M(C,P)},persist(C){g=C,m=!0;let P=C.getQueryCache().subscribe(x=>{x.type!=="updated"&&x.type!=="removed"&&x.type!=="added"||r(x.query.queryKey)&&O()});return()=>{P(),g===C&&(g=null,b())}},flush(){return S()},async clear(){b(),g=null,m=!1,await h,await w()}}}function wK(){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 sR="/beeuni/part/";function oR(e){return typeof e=="string"&&e.startsWith(sR)}async function RK(e){if(!oR(e))throw new Error(`not an attachment part reference: ${e}`);let t=je();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 ob(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 iR(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 ib(e,t){return iR(e,t)?(t?ob(t):null)??ob(e):null}function ys(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 ab(e,t){try{let n=new URL(e);return n.searchParams.set("token",t),n.toString()}catch{return e}}var aR=/^p\d{1,5}-[a-z0-9-]+\.localhost$/;function cR(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function lR(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(cR).join("[a-z0-9-]+")).join("\\d{1,5}");return new RegExp(`^${o}$`).test(e)}function uR(e){try{let t=new URL(e);return t.hostname==="localhost"||t.hostname==="127.0.0.1"?t:null}catch{return null}}function cb(e){return e.port?e.port:e.protocol==="https:"?"443":"80"}function pR(e,t){let n;try{n=new URL(e)}catch{return!1}return n.protocol!=="https:"&&n.protocol!=="http:"?!1:aR.test(n.hostname)?t.backendUrls.some(r=>{let s=uR(r);return s!==null&&cb(s)===cb(n)}):t.templates.some(r=>lR(n.origin,r))}async function lb(e,t={}){if(!ys(e))return!1;let n=R().backendUrl;n&&await pt(n).catch(()=>null);let r=[n,t.serverUrl].filter(s=>typeof s=="string"&&s.length>0);return pR(e,{templates:Ym(),backendUrls:r})}async function dR(e,t={}){let n=ib(e,t.serverUrl||R().backendUrl||void 0);if(!n)return!1;let r=await ot();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 LK(e,t={}){if(ys(e)){if(!await lb(e,t))return e;let n=await ot();return n?ab(e,n):e}return await dR(e,t),e}var FK=3e3;function gR(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 NK(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 gR(o.status)}catch{return"unknown"}finally{clearTimeout(s),t?.signal?.removeEventListener("abort",r)}}function mR(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}function WK(e,t){throw G("buildPresentationTemplatePdfUrl")}function KK(e,t){throw G("buildPresentationTemplateImageUrl")}function fR(e,t){return`${mR(e)}/presentation/convert-to-${t}`}async function VK(e,t,n,r){let s=fR(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,w)=>{let M=setTimeout(h,o);r?.signal?.addEventListener("abort",()=>{clearTimeout(M),w(r.signal?.reason??new DOMException("Aborted","AbortError"))},{once:!0})});continue}let m=await p.text().catch(()=>""),y=p.statusText;try{let h=JSON.parse(m);y=String(h.error||h.detail||h.message||y)}catch{m&&(y=m)}throw new Error(`Failed to download ${e.toUpperCase()}: ${y} (HTTP ${p.status})`)}}function YK(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 JK(e){return e==="unreachable"}function QK(e){return!e||e.status===0?"unknown":e.ok&&Yf(e.health)?"live":e.hop==="control_plane"?"waking":e.ok||e.health?.status==="starting"?"connecting":"unreachable"}var yR=1e4,XK={connection:"unknown",faultSinceMs:null};function ZK(e,t,n,r=yR){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 ub({optimistic:e,abort:t,inbox:n,server:r,stream:s,activity:o,nowMs:i}){let a=!!e&&i-e.atMs<Si,c=!!t&&i-t.atMs<Ai;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<=xi,streamFresh:!!s&&i-s.atMs<=Vn,inboxFresh:!!n&&i-n.atMs<=wi,activityFresh:!!o&&i-o.atMs<=Vn}}function zt(e){if(!e)return null;let t=Date.parse(e);return Number.isNaN(t)?null:t}function vi(e,t,n){if(!t)return!1;let r=zt(e.started_at);if(r===null||r>=t.atMs)return!1;let s=n?.lastEnded,o=zt(s?.ended_at);return!(s&&o!==null&&Math.abs(o-t.atMs)<=1e3&&s.turn_token!==e.turn_token)}function hR(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"&&!vi(d,n,o))?.message_id??null:null,since:s.atMs,serverOpenTurnToken:r}:null}function bR(e,t,n,r){let{server:s,stream:o}=e,{serverFresh:i,abortFloor:a}=t,c=i?s.turns.filter(g=>!vi(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:zt(p.started_at)??s.atMs,serverOpenTurnToken:r},openTurn:p}:{result:null,openTurn:p}}function _R(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 y=r?.drainedAtMs;return i&&r.pending===0&&y!=null&&!m&&!(p&&s.atMs>=y)?{pendingDelivery:!0,state:"working",source:"server",turnId:null,since:y,serverOpenTurnToken:n}:null}function PR(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:y,receiptTurnId:h}=t,w=c&&!n&&s.atMs>=p,M=d&&o.atMs>=g&&(o.type==="idle"||o.atMs>=m);if(w&&(!o||s.atMs>=o.atMs))return{state:"idle",source:"server",turnId:null,since:zt(s.lastEnded?.ended_at)??s.atMs,serverOpenTurnToken:r};if(M)return{state:o.type==="idle"?"idle":"working",source:"stream",turnId:null,since:o.atMs,serverOpenTurnToken:r};if(y)return{pendingDelivery:!0,state:"working",source:"optimistic",turnId:h,since:i.atMs,serverOpenTurnToken:r};let B=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:B.source,turnId:null,since:B.atMs,serverOpenTurnToken:r}}function pb(e){let t=ub(e),{server:n,stream:r}=e,s=r&&r.type==="idle"&&r.origin!=="local"?r:null,o=n?.turns[0]?.turn_token??null,i=hR(e,t,s,o);if(i)return i;let{result:a,openTurn:c}=bR(e,t,s,o);return a??_R(e,t,o)??PR(e,t,c,o)}var Si=6e4,xi=45e3,Vn=45e3,wi=1e4,uV=3e3,Ai=15e3;function pV(e,t){return t?t.serverAtMs!=null&&e.serverAtMs!=null?e.serverAtMs>=t.serverAtMs:e.atMs>=t.atMs:!0}function dV(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 mV(e){return pb(e)}function fV(e){let{optimistic:t,abort:n,inbox:r,server:s,stream:o,activity:i,nowMs:a}=e,c=[null,t?t.atMs+Si:null,n?n.atMs+Ai:null,r?r.atMs+wi:null,s?s.atMs+xi:null,o?o.atMs+Vn:null,i?i.atMs+Vn:null],p=null;for(let d of c)d===null||d<=a||(p===null||d<p)&&(p=d);return p}function SR(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||ms({name:s.name??void 0,message:s.message})?null:s}var xR="SandboxMemoryGuard";function _V(e,t,n){if(!e||!t||n.hasError&&!n.isAbort)return null;let r=SR(e,t);if(r?.message){if(r.name!==xR)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 SV=6e4;function xV(e){return e.serverCompactingAtMs!==null?!0:e.optimisticAtMs===null?!1:e.nowMs-e.optimisticAtMs<6e4}function wV(e){if(e.serverCompactingAtMs!==null||e.optimisticAtMs===null)return null;let t=e.optimisticAtMs+6e4;return t>e.nowMs?t:null}var wR=9e4;function AV(e){return e.serverCompactingAtMs===null?null:e.serverCompactingAtMs+wR}var kV=75e3,RV=2,CV=2e4;function db(){return{status:"idle",dispatch:"none",fingerprint:null,lastProgressAtMs:null,lastDispatchAtMs:null,attempts:[],msSinceProgress:0,settled:!1}}function IV(e){return e.filter(t=>t!=null).join("|")}function AR(e,t){return e.length===0?"retry-start":e.filter(r=>r.step==="restart").length<t?"restart":null}function TV(e,t,n={}){let r=n.noProgressMs??75e3,s=n.maxRestarts??2,o=n.cooldownMs??2e4;if(t.runtimeReachable)return{...db(),settled:!0};if(!t.waking)return{...e,dispatch:"none",fingerprint:null,lastProgressAtMs:null,msSinceProgress:0};if(e.settled)return{...db(),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 y=AR(e.attempts,s);return y?{...g,status:"escalating",dispatch:y,attempts:[...e.attempts,{step:y,atMs:t.nowMs}],lastDispatchAtMs:t.nowMs,lastProgressAtMs:t.nowMs,msSinceProgress:0}:{...g,status:"exhausted"}}var vR={"retry-start":"retrying",restart:"restarting"};function EV(e){if(e.status!=="escalating")return null;let t=e.attempts[e.attempts.length-1];return t?`Still waking \u2014 ${vR[t.step]} the runtime (attempt ${e.attempts.length+1})`:null}function kR(e){return e===1?"once":e===2?"twice":`${e} times`}function MV(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 ${kR(t)}`),`Tried: ${r.join(", then ")}.`}var DV={"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 RR(e){return!!(e.metadata??{}).legacy_migration}function jV(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 RR(e)?"legacy":e.status==="completed"?"done":"stopped";case"failed":return"failed";default:return"stopped"}}function $V(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 UV={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 LV(e){return e===null?"Waiting to retry":e>0?`Retrying in ${e}s`:"Retrying now"}function ki(e){return e.runtime_sessions??e.opencode_sessions??[]}function CR(e){let t=ki(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 FV(e){let t=CR(e);return t?ki(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 NV(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=>ki(r).some(s=>s.id===t))??null)}var IR=new Set;function TR(e){for(let t of[...IR])try{t(e)}catch{}}function ER(e){return e==="TIMEOUT"||e==="request_deadline"}function MR(e){let t=mb(e)?e.code:void 0;return typeof t=="string"?t:void 0}var mb=e=>typeof e=="object"&&e!==null;function gb(e){let t=e?.metadata;return!!mb(t)&&t.warm===!0}var OR=5,DR=2e3,jR=e=>new Promise(t=>setTimeout(t,e));async function $R(e,{attempts:t=OR,delayMs:n=DR,sleep:r=jR}={}){for(let s=0;s<t;s++){s>0&&await r(n);try{if(await e())return!0}catch{}}return!1}function cH(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 y=null;try{let h=await e.ensure(c,p);if(g!==i)return;s.has(h.sessionId)?y=h.sessionId:n.set(c,h)}catch{}finally{g===i&&r.delete(c)}y&&d>0&&await a(c,y,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 ER(MR(g))?$R(async()=>!gb(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(gb(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 UR=12e4,hs=class extends Error{constructor(t){super(`Session history read did not settle within ${t}ms`),this.name="SessionSyncReadTimeoutError"}},LR=1e3,BR=15e3,fb=100,FR=50,NR=10;function yb(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 fs(`session ${c.status}`):new _(`Session synchronization failed: ${c.status}`,{status:c.status});return{messages:await c.json(),nextCursor:c.headers.get("x-next-cursor")||void 0}}}function qR(e){return WR(yb(e))}function GR(e){return new Ri({...e,loadPage:yb(e)})}async function WR(e){let t=[],n=new Set,r;do{let i=await e({limit:fb,...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 KR={now:Date.now,setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e),setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},Ri=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??KR,this.livenessIntervalMs=t.livenessIntervalMs??1e4,this.verifyIntervalMs=t.verifyIntervalMs??3e4,this.readTimeoutMs=t.readTimeoutMs??UR,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 hs;if(!r&&ms(n))return;if(r||this.update({freshness:Wn(n)?"loading":"error"}),n instanceof _&&(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(LR*2**this.retryAttempt,BR);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"?FR:fb,...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 hs(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<NR&&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()}}};function VR(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 HR(e){return e.savedEmptyRoot!==null&&e.savedEmptyRoot===e.rootSessionId&&e.turnRead&&!e.hasEndedTurn&&!e.hasOpenOrQueuedTurn}function yH(e){throw G("buildTunnelEventStreamUrl")}function hH(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,y="";function h(f,b){o?.(f,b);let S=d.get(f);if(S)for(let O of S)try{O(b)}catch{}}async function w(){if(m)return;let f=new AbortController;g=f,p&&(p.aborted?f.abort():p.addEventListener("abort",()=>f.abort(),{once:!0}));let b=f.signal;try{let S={Accept:"text/event-stream",Authorization:`Bearer ${n}`};r!=="GET"&&s!==void 0&&(S["Content-Type"]="application/json"),y&&(S["Last-Event-ID"]=y);let O=await fetch(t,{method:r,headers:S,body:r!=="GET"&&s!==void 0?JSON.stringify(s):void 0,signal:b,credentials:"include"});if(!O.ok)throw new Error(`SSE connection failed: ${O.status} ${O.statusText}`);if(!O.body)throw new Error("SSE response has no body");i?.();let C=O.body.getReader(),P=new TextDecoder,x="",v="message",k=[],$=E=>{if(E===""){k.length>0&&h(v,k.join(`
|
|
96
|
-
`)),v="message",k=[];return}if(E.startsWith(":"))return;let q=E.indexOf(":"),Q=q===-1?E:E.slice(0,q),V=q===-1?"":E.slice(q+1);V.startsWith(" ")&&(V=V.slice(1)),Q==="event"?v=V.trim()||"message":Q==="data"?k.push(V):Q==="id"&&!V.includes("\0")&&(y=V)},D=E=>{let q="";!E&&x.endsWith("\r")&&(q="\r",x=x.slice(0,-1));let Q=x.split(/\r\n|\n|\r/);x=(Q.pop()??"")+q;for(let V of Q)$(V)};for(;!m;){let{done:E,value:q}=await C.read();if(E)break;x+=P.decode(q,{stream:!0}),D(!1)}m||(x+=P.decode(),D(!0),c?.())}catch(S){if(m||S instanceof DOMException&&S.name==="AbortError")return;a?.(S instanceof Error?S:new Error(String(S)))}}function M(){m=!0,g?.abort(),g=null,d.clear()}function B(f,b){let S=d.get(f)??new Set;S.add(b),d.set(f,S)}function F(f,b){d.get(f)?.delete(b)}return{connect:w,close:M,addEventListener:B,removeEventListener:F}}function bH(e,t){throw G("createTunnelEventStream")}var hb="/_beeuni/viewer",bs=6e4,Yt=new Map;function zR(){Yt.clear(),Hn.clear()}async function YR(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 bb(e={}){let t=e.path??hb,n=e.fetch??((o,i)=>fetch(o,i)),r=Yt.get(t);if(r&&!r.inflight&&r.expiresAt>Date.now())return r.session;if(r?.inflight)return r.inflight;let s=YR(t,n).then(o=>{let i=o?.expires_at?Date.parse(o.expires_at):Number.NaN,a=Number.isFinite(i)?i-bs:Date.now()+bs;return Yt.set(t,{session:o,expiresAt:a}),o});return Yt.set(t,{session:r?.session??null,expiresAt:0,inflight:s}),s}function JR(e={}){let t=e.path??hb;return Object.assign(async()=>(await bb(e))?.access_token??null,{invalidate:n=>{let r=Yt.get(t);r&&!r.inflight&&r.session?.access_token===n&&Yt.delete(t)}})}var Hn=new Map;async function QR(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 Hn.set(e,{token:r.token,refreshAt:Number.isFinite(s)?s-bs:Date.now()+bs}),r.token}catch{return null}}function _b(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=Hn.get(n);if(o instanceof Promise)return o;if(o&&!s.forceRefreshToken&&o.refreshAt>Date.now())return o.token;let i=QR(n,r).then(a=>(a===null&&Hn.delete(n),a));return Hn.set(n,i),i}}function XR(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:`${le(n)}/_beeuni/apps/${encodeURIComponent(e)}`,token:_b({audience:e,fetch:t.fetch})}}var Pt=class extends Error{code;constructor(t,n){super(n),this.name="BeeuniMemberError",this.code=t}},ye=e=>typeof e=="string"&&e.length>0?e:null;function Pb(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 Ii(e){if(!e||typeof e!="object")return null;let t=e,n=ye(t.sub)??ye(t.subject)??ye(t.user_id)??ye(t.userId);return n?{userId:n,email:ye(t.email),name:ye(t.name),picture:ye(t.picture)??ye(t.pictureUrl),groups:Pb(t.groups),groupIds:Pb(t.group_ids??t.groupIds),role:ye(t.role),accountId:ye(t.account_id)??ye(t.accountId),projectId:ye(t.project_id)??ye(t.projectId)}:null}function ZR(e,t={}){let n=Ii(e);if(!n)throw new Pt("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 Pt("forbidden",`Only members of ${r.join(" or ")||"no group"} may do this.`);if(s&&!s.some(o=>n.role===o))throw new Pt("forbidden",`Only ${s.join(" or ")||"no role"} members may do this.`);return n}var eC=60,Ci=new Map;function xb(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 Sb(e){return JSON.parse(new TextDecoder().decode(xb(e)))}async function tC(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=Ci.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(()=>Ci.delete(e)),Ci.set(e,n)),n}return JSON.parse(e)}async function nC(e,t={}){let n=f=>{throw new Pt("unauthenticated",`Beeuni sign-in token refused: ${f}.`)},r=t.jwks??He("BEEUNI_AUTH_JWKS"),s=t.issuer??He("BEEUNI_AUTH_ISSUER"),o=t.audience??He("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=Sb(a),g=Sb(c)}catch{return n("malformed")}if(d.alg!=="ES256")return n("unsupported algorithm");let m;try{m=await tC(r,t.fetch??((f,b)=>fetch(f,b)))}catch{return n("key set unavailable")}let y=(m.keys??[]).filter(f=>f.kty==="EC"&&(d.kid===void 0||f.kid===d.kid));if(y.length===0)return n("unknown key");let h=new TextEncoder().encode(`${a}.${c}`),w;try{w=xb(p)}catch{return n("malformed")}let M=!1;for(let f of y)try{let{kid:b,alg:S,use:O,key_ops:C,...P}=f,x=await crypto.subtle.importKey("jwk",P,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]);if(await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},x,w,h)){M=!0;break}}catch{}if(!M)return n("bad signature");let B=Math.floor(Date.now()/1e3);if(typeof g.exp!="number"||g.exp+eC<B)return n("expired");if(s&&g.iss!==s)return n("wrong issuer");if(o){let f=g.aud;if(!(f===o||Array.isArray(f)&&f.includes(o)))return n("wrong audience")}let F=Ii(g);return F||n("no subject")}function wb(e){let t=e.agents.map(rC),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 rC(e){return{name:e.name,description:e.description??void 0,mode:e.mode??void 0,source:e.source,hidden:e.enabled===!1}}function Ab(e,t){if(!Array.isArray(e))return[];let n=t?.includeSubagents===!0;return e.filter(r=>ho(n?{...r,mode:null}:r))}function sC(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=Ab(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 oC=wb;function vb(e){return e.providerID==="beeuni"||e.providerID==="opencode"?e.modelID:`${e.providerID}/${e.modelID}`}function Ti(e){return{providerID:"beeuni",modelID:e}}function iC(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 Ti(n)}var Ei=[{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:"lowrouter",env:["LOWROUTER_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:"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:"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:"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:"aixy",env:["AIXY_API_KEY"]},{id:"alibaba-cn",env:["DASHSCOPE_API_KEY"]}];function Mi(e){if(!e.released)return null;let t=new Date(e.released).getTime();return Number.isNaN(t)?null:t}function cC(e){if(e.provider)return e.provider;let t=e.id.indexOf("/");return t===-1?"beeuni":e.id.slice(0,t)}function kb(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 ge(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 Rb(e){return e.reduce((t,n)=>{let r=Mi(n)??0,s=Mi(t)??0;return r!==s?r>s?n:t:ge(n.id)>ge(t.id)?n:t})}function Oi(e,t){let n=(t?.now??new Date).getTime(),r=(t?.windowMonths??6)*2630016e3,s=new Set;for(let[,o]of kb(e,cC)){let a=[...kb(o,p=>p.family||p.id).values()].map(Rb),c=a.filter(p=>{let d=Mi(p);return d!==null&&Math.abs(n-d)<r});for(let p of c.length>0?c:[Rb(a)])s.add(p.id)}return s}function _s(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=>ge(r.id)>0)?n.filter(r=>ge(r.id)>0):n}function zn(e){let t;for(let n of _s(e)){if(!t){t=n;continue}let r=(n.released??"").localeCompare(t.released??"");(r>0||r===0&&ge(n.id)>ge(t.id))&&(t=n)}return t}var lC={"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 Cb(e){return`${e.toUpperCase().replace(/[^A-Z0-9]+/g,"_")}_API_KEY`}var uC=(()=>{let e=new Map;for(let{id:n,env:r}of Ei)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=>Cb(o)===n)??s[0])}return t})();function Ib(e){let t=lC[e.id];if(t)return t;let n=e.env??[],r=n.length===1?uC.get(n[0]):void 0;return r&&r!==e.id?{methods:[{envVars:[Cb(e.id)]}]}:{methods:n.length>0?[{envVars:n}]:[]}}function Di(e,t){return e.methods.some(n=>n.envVars.length>0&&n.envVars.every(t))}var pC=["low","medium","high"];function Tb(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:[...pC]}: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 Eb=Ei;var dC=[{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"}}],EH=new Map(dC.map(e=>[e.id,e]));var Mb=["gpt-6-astra","gpt-6-sol"],Ob="gpt-6-astra",Db="gpt-6-sol";var $b=Eb.map(e=>({id:e.id,authRequirement:Ib(e)})),Yn=new Set(["beeuni"]),ji=new Set(["beeuni"]);function Jt(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 gC(e){if(!e)return!1;let t=Jt(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 mC(e){let t=Jt(e),n=Array.isArray(t.all)?t.all:[],r=Array.isArray(t.connected)?t.connected:[];return{...t,all:n.filter(s=>!ji.has(s.id)),connected:r.filter(s=>!ji.has(s))}}function fC(e,t,n){let r=Jt(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)&&Di(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 yC=new Map(["anthropic","openai","google","x-ai","xai","deepseek","mistral","groq","perplexity","openrouter"].map((e,t)=>[e,t]));function hC(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 $i="opencode";function bC(e){return e.cost?.input===0&&e.cost?.output===0}function jb(e){return e===$i?Number.MAX_SAFE_INTEGER:yC.get(e)??Number.MAX_SAFE_INTEGER-1}function _C(e,t){let n=SC(t),r={},s=(e.providers??[]).map(o=>{let i=(o.models??[]).filter(a=>a.status!=="deprecated");return o.id===$i&&!n.has($i)?{...o,models:i.filter(bC),keyless:!0}:{...o,models:i,keyless:!1}}).filter(o=>(o.keyless||n.has(o.id))&&!ji.has(o.id)&&(o.models?.length??0)>0).sort((o,i)=>jb(o.id)-jb(i.id)).map(o=>{let i=[...o.models].sort((c,p)=>(p.released??"").localeCompare(c.released??"")||ge(p.id)-ge(c.id)),a=zn(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=hC(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 PC(e,t){if(!e)return t;if(!t)return e;let n=Jt(e),r=Jt(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 SC(e){let t=new Set;for(let n of $b)Di(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 xC(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=Tb({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 wC(e,t){return mC(fC(Jt(e),t,$b))}function AC(e){if(e.gatewayEnabled)return e.modelPicker?xC(e.modelPicker):void 0;let t=e.secretNames??new Set,n=e.runtimeProviders?wC(e.runtimeProviders,t):void 0;return PC(e.llmCatalogProviders?_C(e.llmCatalogProviders,t):void 0,gC(n)?n:void 0)}function vC(e){return"capabilities"in e&&e.capabilities!=null}function Ui(e,t){let n=e.find(r=>r.providerID===t.providerID&&r.modelID===t.modelID);return!!n&&n.enabled!==!1}function kC(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"?!Yn.has(i.id):Yn.has(i.id)))for(let[a,c]of Object.entries(i.models)){if(a==="auto"||a==="beeuni/auto")continue;let p;if(vC(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:vb({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 Ub(e){return new Map(e.map(t=>[`${t.providerID}:${t.modelID}`,t]))}var RC=new Set([Ob]),CC="beeuni",Lb="codex",IC=new Set(Mb);function TC(e,t){if(t)return t;let n=e.indexOf("/");return n===-1?e:e.slice(0,n)}function Qt(e){return RC.has(e.modelID)}function EC(e){return Oi(e.map(t=>({id:`${t.providerID}:${t.modelID}`,released:t.releaseDate,family:t.family,provider:t.provider??t.providerID})))}function MC(e){let{connectedProviderIds:t}=e,n=e.freeTier??!1,r=EC(e.catalogModels),s=Ub(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===CC){let d=TC(i.modelID,i.provider),g=d===Lb?t?.has(Lb)??!1:t?.has(d)??!1;if(IC.has(i.modelID))return!n||i.modelID===Db;if(!g)return!1;if(c==="show"||r.has(a))return!0;let m=s.get(a);if(!m?.releaseDate)return Qt(i);try{let y=new Date(m.releaseDate);if(Number.isNaN(y.getTime()))return Qt(i)}catch{return Qt(i)}return!1}if(c==="show"||r.has(a))return!0;let p=s.get(a);if(!p?.releaseDate)return Qt(i);try{let d=new Date(p.releaseDate);if(Number.isNaN(d.getTime()))return Qt(i)}catch{return Qt(i)}return!1}}function OC(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 Bb(e,t){if(!e||Yn.has(e.providerID)||ge(e.modelID)>0)return e;let n=t.filter(i=>i.providerID===e.providerID&&i.enabled!==!1);if(!n.some(i=>ge(i.modelID)>0))return e;let r=i=>ge(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??zn(n.map(i=>({id:i.modelID,released:i.releaseDate})))?.id;return!o||o===e.modelID?e:{...e,modelID:o}}function DC(e,t){let n=(t?e?.agentDefaults?.[t]:void 0)??e?.projectDefault??e?.accountDefault??e?.platformDefault;return n?Ti(n):void 0}function jC(e){let{models:t,providers:n}=e,r=c=>Ui(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 y=c[m.id];if(y){let h={providerID:m.id,modelID:y};if(r(h))return h}for(let h of _s(Object.keys(m.models).map(w=>({id:w})))){let w={providerID:m.id,modelID:h.id};if(r(w))return w}}}})(),i=s(e.picks??[]),a=i??s([e.serverDefault,e.globalDefault,e.agentModel,o]);return{model:Bb(a,t),explicit:i,fallback:o}}export{xk as ABORT_REASONS,tW as ABORT_REASONS_NOT_YET_EMITTED,Xi as ACCOUNTS_LIST_UNAVAILABLE_CODE,Qi as ANALYTICS_UNAVAILABLE_CODE,sR as ATTACHMENT_PART_REF_PREFIX,_ as ApiError,oe as AuthError,Bt as BEEUNI_TRANSCRIPT_SCHEMA,Pt as BeeuniMemberError,rt as BillingError,yR as CONNECTION_FAULT_GRACE_MS,eR as CONNECTOR_POLL_FIRST_DELAY_MS,tR as CONNECTOR_POLL_INTERVAL_MS,nR as CONNECTOR_POLL_WINDOW_MS,Xw as CONTEXT_TOOLS,qs as ConnectorApprovalPendingError,mr as ConnectorCallError,Gs as ConnectorPageLimitError,Zw as DEFAULT_CONTEXT_TOOL_TRIGGER_LABELS,m$ as DEFAULT_NOTIFICATION_PREFERENCES,vy as DEFAULT_TRANSCRIPT_OPTIONS,vs as FEATURE_DISABLED_CODE,xI as FEATURE_FLAG_KEYS,zi as FEATURE_NOT_SUPPORTED_CODE,bt as FILE_VERBS,kn as FileExistsError,gn as HeadlessAuthError,Kn as HostBoundaryError,g$ as INBOX_NOTIFICATION_KINDS,wi as INBOX_OBSERVATION_MAX_MS,XK as INITIAL_SETTLED_CONNECTION,K_ as KNOWN_TOOL_KINDS,E_ as MAX_PROMPT_ATTACHMENTS_BYTES,Ks as MAX_PROMPT_ATTACHMENT_BYTES,Ul as MAX_PROMPT_ATTACHMENT_FILES,D1 as MEMORY_VERBS,Yi as MODEL_NOT_SERVABLE_CODE,GP as NO_GROUP_ACTIVITY_TOOLS,Ai as OPTIMISTIC_ABORT_MAX_MS,SV as OPTIMISTIC_COMPACTION_MAX_MS,Si as OPTIMISTIC_RECEIPT_MAX_MS,PK as PERSISTED_QUERY_CACHE_VERSION,KA as PLUMBING_TOOLS,FK as PREVIEW_PROBE_TIMEOUT_MS,TE as PROJECT_SESSION_NAME_LOOKUP_LIMIT,IE as PROJECT_SESSION_PAGE_DEFAULT_LIMIT,pP as PROJECT_SESSION_PAGE_MAX_LIMIT,Ji as PROVISION_IN_FLIGHT_CODE,no as PublicSessionShareError,aW as RUNTIME_NOT_READY_MARKERS,NU as RUNTIME_PERMISSION_CAPABILITIES,FU as RUNTIME_PERMISSION_REPLIES,wt as RequestTooLargeError,Sn as RuntimeNotReadyError,Ko as SANDBOX_FS_ROOTS,ze as SANDBOX_PORTS,wR as SERVER_COMPACTION_REVALIDATE_MS,xi as SERVER_OBSERVATION_MAX_MS,DV as SESSION_LIST_STATUS,cn as SESSION_LOG_MINOR,We as SESSION_LOG_SCHEMA,UV as SESSION_NOTICE,WP as STANDALONE_TOOLS,Vn as STREAM_OBSERVATION_MAX_MS,fs as SandboxNotReadyError,jt as SessionNotReadyError,Js as SessionStartError,uV as TURN_END_LEDGER_LAG_MS,yS as TURN_ERROR_CODES,CV as WAKE_ESCALATION_COOLDOWN_MS,RV as WAKE_MAX_RESTARTS,kV as WAKE_NO_PROGRESS_MS,Uo as WIRE_ID_BACKDATE_MS,gt as WIRE_ID_CLOCK_TOLERANCE,Je as WIRE_ID_TIME_MASK,bn as WIRE_ID_TIME_SCALE,pS as WIRE_MESSAGE_ID,UC as __getConfigResolver,$C as __setConfigResolver,nW as abortErrorReason,xa as acceptAccountInvite,BW as acceptInvite,og as actReviewItem,Hc as activateConnection,Jc as addComputerToProject,Md as addGroupMembers,Gg as addMarketplaceSource,TV as advanceWakeEscalation,LA as allDescendantIds,ab as appendPreviewToken,Za as approveProjectAccessRequest,fL as approveTask,dr as archiveProject,wL as assignTicket,lc as attachGroupToProject,Eo as authMfa,Co as authUser,j as authenticatedFetch,yr as authenticatedRequest,LK as authorizePreviewUrl,l as backendApi,JR as beeuniAppViewerToken,XR as beeuniBinding,wS as beeuniPty,_b as beeuniToken,UM as bindSlackIdentity,LM as bindTeamsIdentity,Sc as brokerProjectSecretRequest,wK as browserKeyValueStorage,KK as buildPresentationTemplateImageUrl,WK as buildPresentationTemplatePdfUrl,ib as buildPreviewAuthEndpoint,Qk as buildPublicTemplateUrl,fR as buildRuntimePresentationConversionUrl,Il as buildSandboxTemplate,JA as buildScrapeFailureResults,rF as buildStaticFileHealthPreviewUrl,nF as buildStaticFileLocalUrl,tF as buildStaticFilePreviewUrl,Mx as buildStaticFileServicePath,yH as buildTunnelEventStreamUrl,cF as buildWebProxyUrl,ig as bulkActReviewItems,wO as bulkDeletePolicies,AO as bulkImportPolicies,Xq as burstSummary,Zq as burstSummaryLabel,Ct as callConnector,AP as cancelAccountDeletion,ba as cancelAccountInvite,RW as cancelSandbox,Up as cancelScheduledChange,Dp as cancelSubscription,Uk as checkAccessEmail,Dq as childMapByParent,Vx as claimNext,AM as claimPerSeatBilling,Tu as claimWarmProjectSession,mh as classifyPart,gR as classifyPreviewProbeStatus,_S as classifyPtyClose,DA as classifyTurn,qq as cleanErrorMessage,iG as cleanResultSnippet,v1 as cleanWorkerOutput,zR as clearBeeuniAppViewerCache,yp as clearModelDefault,pE as clearSessionFresh,tu as closeChangeRequest,QL as closeMilestone,Tq as collectTurnParts,vL as commentTicket,su as commitSessionChanges,wV as compactionExpiryAtMs,tG as compactionTurnInfo,Cq as compareMessagesForDisplay,rN as compareSemver,Hx as completeInFlight,Qp as completeSlackInstall,Xp as completeTeamsInstall,Ab as composerSelectableAgents,Fh as computeStatusFromPart,Np as configureAutoTopup,xs as configureBeeuni,Mp as confirmCheckoutSession,od as connectEmail,zp as connectSlack,QK as connectionFromHealth,JK as connectionIsFaulted,mT as connectionSharedWithEveryone,ll as connectorConnect,Xc as connectorConnectConnection,hl as connectorFinalize,Zc as connectorFinalizeConnection,iK as connectorHeadline,PG as contextLabelForTool,qN as contextToolSummary,GN as contextToolTrigger,HD as convertPresentationToGoogleSlides,VK as convertRuntimePresentation,Kr as copyFile,Gp as costExportUrl,dV as countLiveInboxPrompts,ZD as countReviewItemsBySegment,aa as createAccount,Mg as createAccountAuditWebhook,Tc as createAccountSecretResource,Sg as createAccountToken,Vg as createApp,em as createAppAccessSession,nm as createAppDeployment,Yg as createAppToken,bm as createAppVolume,xm as createAppVolumeSnapshot,SG as createArtifactKind,Xd as createAssignment,SD as createAuditWebhook,GW as createBackup,qx as createBeeuni,wf as createBeeuniPty,Oo as createBeeuniSession,Ep as createCheckoutSession,ul as createConnector,rK as createConnectorLinkInfoCache,Wr as createFile,wd as createGatewayKey,Cd as createGroup,GR as createHttpSessionSyncController,Ij as createMarketplaceInstallSession,YL as createMilestone,MC as createModelVisibility,Hd as createOAuthClient,wM as createPerSeatCheckout,xK as createPersistedQueryCache,PO as createPolicy,Op as createPortalSession,Oa as createProject,jL as createProjectAgent,kg as createProjectCliToken,Da as createProjectRepo,gc as createProjectResourceGrant,Mt as createProjectSession,Fa as createProjectSkill,Zu as createProjectTrigger,gy as createPromptAttachmentController,Bd as createRole,hH as createSSEStream,PW as createSandbox,ug as createSandboxShare,kl as createSandboxTemplate,_E as createSavedCopyStore,DO as createScimToken,gD as createServiceAccountApi,Ar as createSessionPrompt,Ru as createSessionPublicShare,Wx as createSessionQueue,fg as createSessionReminder,XO as createSsoGroupMapping,dL as createTask,PL as createTicket,bH as createTunnelEventStream,cH as createWarmSessionPool,hu as currentSavedCopyStore,wa as declineAccountInvite,FW as declineInvite,vP as deleteAccountImmediately,Oc as deleteAccountSecretResource,zg as deleteApp,cm as deleteAppDeployment,wD as deleteAuditWebhook,KW as deleteBackup,WL as deleteBeeuniProject,dl as deleteConnector,yl as deleteConnectorCredential,sB as deleteCredential,i$ as deleteDriveFile,Sf as deleteEnv,qt as deleteFile,Sd as deleteGatewayBudget,Qa as deleteGitHubInstallation,Td as deleteGroup,ZL as deleteMilestone,Jd as deleteOAuthClient,Rc as deletePersonalProjectSecret,xO as deletePolicy,UL as deleteProjectAgent,wc as deleteProjectProviderOAuth,mc as deleteProjectResourceGrant,vc as deleteProjectSecret,qu as deleteProjectSession,tp as deleteProjectTrigger,an as deletePromptAttachment,qd as deleteRole,Cl as deleteSandboxTemplate,fD as deleteServiceAccountApi,$u as deleteSessionPrompt,so as deleteSessionReminder,bg as deleteSessionReminders,ZO as deleteSsoGroupMapping,JO as deleteSsoProvider,yL as deleteTask,kL as deleteTicket,Sa as describeAccountInvite,Us as describeConnectorTool,mm as destroyAppMachine,Pm as destroyAppVolume,pc as detachGroupFromProject,Cx as detectLocalhostUrls,FV as directSubsessions,mD as disableServiceAccountApi,id as disconnectEmail,ed as disconnectSlack,bT as discoverConnectionOAuth2,_T as discoverConnectionOAuth2Resource,pl as discoverConnectorAuth,AW as discoverLocalSandbox,Zj as dismissDriveConflict,Jk as downloadAccountAudit,t$ as downloadDriveFile,bB as dropClientForUrl,SB as dropPublicClientForUrl,Qx as editQueued,Uu as editSessionPrompt,Kx as enqueue,OL as ensurePmSession,dR as ensurePreviewSessionCookie,fT as ensureProjectConnectorConnection,Ik as ensureSandbox,Iu as ensureWarmProjectSession,hS as env,vo as exchangeCode,ym as execInApp,Tg as exportAccountAudit,we as extractGatewayErrorDetails,Kv as extractSkillBaseDir,Y1 as extractSkillContent,qv as extractSkillFiles,R1 as extractWorkerPreview,zx as failInFlight,HG as fallbackBusyRowAfterTurnId,gi as familyForTool,qi as featureDisabledKey,qm as featureFlags,PM as fetchAccountStateWithToken,hI as fetchAccountsWithToken,RK as fetchAttachmentPart,bb as fetchBeeuniAppViewer,OM as fetchCostExportCsv,jl as fetchProjectArchive,QT as fetchProjectFileRaw,TI as fetchProjectsForAccountWithToken,Fm as fetchSessionAttachment,tx as fileDownloadRequest,E1 as filePhase,T1 as fileVerb,gx as files,co as finalizeAppArtifact,Wk as finalizeConnectorSetupLink,ME as findActiveTranscriptShare,qr as findFiles,Eq as findLastTextPart,O$ as findSessionAttachments,Gr as findText,rp as fireProjectTrigger,vl as fixSandboxWithAgent,kC as flattenModels,IG as flattenThought,Am as forkAppVolume,Wi as formatBillingErrorForUI,u1 as formatCost,Nh as formatDuration,Gq as formatJsonFailureOutput,MG as formatMessageDay,OG as formatMessageExact,lW as formatOpenCodeRuntimeError,oG as formatRawOutput,Ck as formatRuntimeError,p1 as formatTokens,sw as formatTranscript,QG as freshSendHint,Gx as generateSessionId,ca as getAccount,ua as getAccountBranding,xP as getAccountDeletionStatus,Ap as getAccountState,vp as getAccountStateMinimal,aA as getAgentCardLabel,dM as getAgentConfig,LL as getAgentPersona,Ek as getAllVersions,Oq as getAnsweredQuestionParts,io as getApp,Qg as getAppAccess,Jg as getAppAuthEnv,sm as getAppDeployment,om as getAppDeploymentLogs,vj as getApprovalLink,ot as getAuthToken,oT as getAuthTokenWithRetry,Fp as getAutoTopupSettings,xM as getAutoTopupSetupStatus,NL as getBeeuniProject,qL as getBeeuniProjectBySession,kf as getBeeuniPtyWebSocketUrl,Cp as getBillingCreditBreakdown,Tp as getBillingTierConfigurations,Rp as getBillingTransactionsSummary,Ip as getBillingUsageHistory,Jl as getChangeRequest,Ql as getChangeRequestDiff,Xl as getChangeRequestMergePreview,oq as getChildSessionError,uh as getChildSessionId,iq as getChildSessionToolParts,mt as getClient,Ue as getClientForUrl,ml as getConnectStatus,hT as getConnectionOAuth2Application,AT as getConnectionOAuth2Status,vT as getConnectionPolicies,rn as getConnectorCatalog,al as getConnectorConfig,ol as getConnectorPolicies,qk as getConnectorSetupLink,MM as getCostSummary,Gf as getCurrentProject,Sp as getDefaultAccountState,lq as getDiagnostics,iA as getDirectory,Ns as getDiscoverConnector,ET as getDiscoverIntegration,vm as getDriveFileUrl,rd as getEmailInstallation,sd as getEmailMode,ED as getEnterpriseDemo,Nr as getFileStatus,ch as getFileWithDir,oA as getFilename,zj as getFolderAccess,Xh as getFullChangelog,yd as getGatewayBreakdown,_d as getGatewayBudgets,bd as getGatewayErrors,xd as getGatewayKeys,gd as getGatewayLog,md as getGatewayOverview,cd as getGatewayRoutingPolicy,fd as getGatewaySeries,hd as getGatewaySessions,Ga as getGitHubInstallation,VD as getGoogleAuthUrl,Rd as getGroup,rq as getHiddenToolParts,LW as getInvite,Tk as getLatestSandboxVersion,NI as getManagedGitBackend,kI as getManagedGitStatus,Fg as getMarketplaceCatalogItem,Ng as getMarketplaceCatalogItemFile,BO as getMfaRequired,HL as getMilestone,xy as getMobileClientPolicy,mp as getModelDefaults,Tm as getNotificationPreferences,Vd as getOAuthClient,Fk as getOAuthConsentRequest,oW as getOpenCodeConfigInvalidError,eq as getPartText,aD as getPatPolicy,uq as getPermissionForTool,ar as getProject,BL as getProjectActivity,Kl as getProjectCommit,Vl as getProjectCommitDiff,cr as getProjectDetail,Hj as getProjectDrive,Hl as getProjectFileHistory,Ma as getProjectGitToken,lr as getProjectLlmCatalog,AI as getProjectLlmCatalogProviders,Mr as getProjectModelAccess,ur as getProjectModelPicker,fr as getProjectSandboxHealth,RI as getProjectSandboxProviderTransition,wr as getProjectSession,Gu as getProjectSessionConfigState,Vu as getProjectSessionScope,Lp as getProrationPreview,bW as getProviders,sF as getProxyBaseUrl,PB as getPublicClientForUrl,jk as getPublicMarketplaceItem,$k as getPublicMarketplaceItemFile,aj as getPublicSessionShare,cj as getPublicSessionShareMessages,Hk as getPublicShareByToken,Xk as getPublicTemplate,pq as getQuestionForTool,YM as getReferralCode,XM as getReferralStats,d1 as getRetryInfo,g1 as getRetryMessage,rg as getReviewItem,Ud as getRolePermissions,Ld as getRoleUsage,hi as getRuntimeConfigInvalidError,zW as getSSHConnection,_W as getSandbox,SW as getSandboxById,gW as getSandboxPortUrl,Qh as getSandboxUrl,at as getSandboxUrlForExternalId,Kk as getSecretSetupLink,Vo as getServerHealth,aB as getServiceLogs,Eu as getSessionAudit,Tr as getSessionCostRecord,NP as getSessionDrives,Jf as getSessionHealth,Ju as getSessionMessageAuthors,Qu as getSessionModelUsage,OE as getSessionOpenBundle,qO as getSessionOversight,xu as getSessionParticipants,rD as getSessionPolicy,vu as getSessionPreviewCandidates,Uc as getSessionProviderSecretPool,Mu as getSessionTranscript,Ou as getSessionTranscriptSync,Du as getSessionTurn,wu as getSessionWatch,x1 as getShellModePart,td as getSlackChannelFile,Hp as getSlackInstallation,Zp as getSlackManifest,Yp as getSlackMode,HO as getSsoProvider,Ox as getStaticFileHealthPath,lL as getTask,pL as getTaskStatus,Mj as getTemplate,bL as getTicket,aq as getToolInfo,oi as getToolPrimaryArg,ow as getTranscriptFilename,o1 as getTurnError,a1 as getTurnErrorDetails,i1 as getTurnErrorRawText,c1 as getTurnStatus,l1 as getTurnTokens,qp as getUsageRollup,zl as getVersionDiff,Mm as getWebPushPublicKey,r1 as getWorkingState,Dc as grantAccountSecretResource,DW as grantSandboxProjectAccess,mM as grantSecretToAgent,Iq as groupMessagesIntoTurns,NG as groupShowSegments,Mh as groupSteps,m1 as hasDiffs,eF as hasLocalhostUrls,Ex as hasPreviewTarget,Uq as hasRetryingAssistantTurn,CS as heartbeatGapEvent,Fu as holdSessionPrompts,cg as humanizeReviewActionPath,ss as humanizeSearchQuery,dh as humanizeToolName,zO as importSsoProviderFromMetadata,pV as inboxObservationSupersedes,db as initialWakeEscalationState,Ze as inputPath,Oj as installTemplate,Lu as interruptSessionPrompt,js as invalidateTokenCache,ya as inviteAccountMember,sc as inviteProjectMember,Ta as inviteRepoCollaborator,ms as isAbortError,YN as isAgentPart,vx as isAppRouteUrl,tq as isAttachment,oR as isAttachmentPartRef,en as isAuthFailure,Gi as isBillingError,JN as isCompactionPart,ws as isConfigured,NN as isContextTool,HR as isEmptyConversation,po as isEmptyShowPart,Nq as isErrorOutput,pF as isExternalUrl,Ni as isFeatureDisabledError,lh as isFilePart,aF as isInternalLocalhostUrl,Um as isInvisibleActivityPart,VI as isInviteSent,n1 as isLastUserMessage,RR as isLegacyMigratedSession,wI as isManagedGithubProject,$m as isNoGroupActivityTool,Ui as isOfferedModel,iW as isOpenCodeConfigInvalidError,tP as isPaintableSavedCopy,XN as isPatchPart,SK as isPersistableQueryKey,iF as isPreviewUrl,Dx as isProxiableLocalhostUrl,w$ as isQuestionTool,Ge as isReasoningPart,BA as isRetryableTurnError,wk as isRuntimeConfigInvalidError,kk as isRuntimeNotReadyResponse,Yf as isRuntimeReady,cW as isRuntimeStartingError,Wn as isSandboxNotReadyError,ho as isSelectableAgent,Wf as isServerReachable,M$ as isSessionAttachmentRef,iu as isSessionFresh,zE as isSessionStartError,x$ as isShellActivityTool,Fv as isShellMode,k1 as isShortOutput,_$ as isShowContentUnavailable,Dr as isShowPayloadEmpty,QN as isSnapshotPart,Lm as isStandaloneActivityTool,ZN as isStepPart,ys as isSubdomainPreviewUrl,qe as isTextPart,ie as isToolPart,sq as isToolPartHidden,hf as isTurnErrorCode,jf as isUnderSandboxRoot,uF as isWebProxyUrl,gS as isWireIdAheadOf,ka as leaveAccount,Ya as linkGitHubInstallation,Na as linkRepository,Cg as listAccountAudit,Eg as listAccountAuditWebhooks,ha as listAccountInvites,fa as listAccountMembers,mO as listAccountResourceGrants,Ic as listAccountSecretResources,oD as listAccountSessions,Pg as listAccountTokens,ia as listAccounts,CO as listActions,jd as listAgentIdentities,qc as listAllConnections,Xg as listAppAgents,rm as listAppDeployments,um as listAppMachines,Sm as listAppVolumeSnapshots,hm as listAppVolumes,Kg as listApps,Qd as listAssignments,AD as listAuditEvents,PD as listAuditWebhooks,qW as listBackups,GL as listBeeuniProjectSessions,FL as listBeeuniProjects,xf as listBeeuniPty,kp as listBillingTransactions,Yl as listChangeRequests,NM as listChannelBindings,RL as listColumns,IT as listConnectSections,CT as listConnectToolkits,Nc as listConnections,Ls as listConnectorAccounts,$s as listConnectorTools,el as listConnectors,EM as listCostByProject,tB as listCredentialEvents,eB as listCredentials,Fs as listDiscoverConnectors,TT as listDiscoverIntegrations,gl as listDiscoverSections,Xj as listDriveConflicts,e$ as listDriveFiles,BP as listDriveFolder,a$ as listDriveVersions,_f as listEnv,Bg as listFeaturedMarketplaces,IL as listFields,Cn as listFiles,Qj as listFolderPrincipals,dd as listGatewayLogs,Wa as listGitHubInstallations,Va as listGitHubRepositories,Ha as listGitHubRepositoryBranches,Ed as listGroupMembers,aO as listGroupProjectGrants,kd as listGroups,Ka as listLinkableGitHubInstallations,Ug as listMarketplaceCatalogItems,qg as listMarketplaceSources,Lg as listMarketplaces,cO as listMemberGroups,lO as listMemberProjectAccess,zL as listMilestoneEvents,VL as listMilestones,Pa as listMyAccountInvites,Cm as listNotifications,Kd as listOAuthClients,wg as listOAuthGrants,fc as listPendingApprovals,oc as listPendingProjectInvites,eg as listPermissions,_O as listPolicies,tc as listProjectAccess,Xa as listProjectAccessRequests,$d as listProjectAgentIdentities,DL as listProjectAgents,Ig as listProjectAudit,Gl as listProjectBranches,vg as listProjectCliTokens,Wl as listProjectCommits,Ml as listProjectDirectory,El as listProjectFiles,cc as listProjectGroupGrants,Pl as listProjectPolicies,xc as listProjectProviderOAuth,_g as listProjectReminders,dc as listProjectResourceGrants,xl as listProjectSandboxTemplates,Tl as listProjectSandboxes,bc as listProjectSecrets,Et as listProjectSessions,Pu as listProjectSessionsPage,wl as listProjectSnapshots,op as listProjectTriggerEventApps,sp as listProjectTriggerEventTypes,Xu as listProjectTriggers,kt as listProjects,Ia as listProjectsForAccount,Ok as listPublicMarketplaceItems,Dk as listPublicMarketplaces,ZM as listReferrals,ng as listReviewItems,Dd as listRoles,OW as listSandboxProjectMembers,lg as listSandboxShares,wW as listSandboxes,OO as listScimTokens,dD as listServiceAccountsApi,iB as listServiceTemplates,oB as listServices,RT as listSessionConnectRequests,Wp as listSessionCosts,l$ as listSessionDrives,ju as listSessionPrompts,Lc as listSessionProviderSecretPools,ku as listSessionPublicShares,mg as listSessionReminders,yc as listSessionsNeedingInput,fj as listSignedInDevices,QO as listSsoGroupMappings,uL as listTaskEvents,cL as listTasks,EL as listTemplates,_L as listTicketEvents,hL as listTickets,qR as loadHttpSessionHistory,pt as loadPreviewUrlTemplate,Sh as looksLikeError,gG as looksLikeHtml,sG as looksLikeJsonPayload,s$ as makeDriveFolder,tj as mapApiReviewItem,Im as markNotificationsRead,Sr as markSessionFresh,gf as maxWireIdClock,j1 as memoryRelPath,CG as mergeBurstSteps,eu as mergeChangeRequest,EG as messageCreatedAt,Iv as messageTime,Lo as mintWireMessageId,ff as mintWireMessageIdAbove,Mn as mkdir,OC as modelInDefaultView,iC as modelRefToKey,o$ as moveDriveFile,Th as narrateFailedStep,Ih as narrateStep,ps as narrationToolName,IS as narrowChatEvent,mS as newestWireIdClock,oK as nextConnectorPollDelay,fe as normalizeActivityToolName,dF as normalizeExternalInput,ee as normalizeName,ph as normalizeToolName,TR as notifyHostSignal,Zl as openChangeRequest,qo as openEventStream,_l as paginateConnector,er as parseBillingError,aG as parseEmbeddedFailure,L$ as parseFlagOverride,WA as parseJsonFailure,Yr as parseLocalhostUrl,$1 as parseMemoryView,sW as parseOpenCodeErrorPayload,N1 as parsePresentationOutput,zf as parseProxyHop,G1 as parseQuestionAnswersFromOutput,V1 as parseReadOutput,Jh as parseRuntimeErrorPayload,YA as parseScrapeInputUrls,QA as parseScrapeOutput,oy as parseSubdomainUrl,C1 as parseTaskRows,lF as parseWebProxyUrl,vh as parseWebSearchOutput,xh as partOutcome,KL as patchBeeuniProject,B1 as patchVerb,AC as pickerProviderList,R as platformConfig,wT as pollConnectionOAuth2DeviceAuthorization,Os as pollProjectProviderOAuth,pd as previewGatewayRoute,FO as previewMfaRequired,BM as previewSlackIdentity,FM as previewTeamsIdentity,Gd as probeEffectivePermission,Wd as probeEffectivePermissions,NK as probePreviewPort,$l as projectArchiveRequest,xV as projectCompacting,oC as projectConfigAgentsToOpenCodeAgents,wb as projectConfigAgentsToRuntimeAgents,YK as projectSessionConnection,NV as projectSessionForRuntimeId,HE as projectSessionStartSeed,mV as projectWorking,ja as provisionProject,vI as provisionProjectStream,EI as provisionProjectWithToken,ry as proxyLocalhostUrl,oF as proxyUrlToInternal,Bp as purchaseCredits,yT as putConnectionOAuth2Application,Ty as rawErrorText,CW as reactivateSandbox,jp as reactivateSubscription,Ii as readBeeuniMember,Tn as readBlob,n$ as readDriveFile,In as readFile,Dl as readProjectFile,kv as reasoningIsRunning,Al as rebuildProjectSnapshot,Gc as reconcileConnection,Wc as reconcileMemberConnection,lB as reconcileServices,Bk as recordPlatformLogout,pi as recoverLinkResults,JM as refreshReferralCode,mn as refreshSession,ao as registerAppArtifact,PT as registerConnectionOAuth2Client,km as registerDeviceToken,uB as registerService,Om as registerWebPushSubscription,ec as rejectProjectAccessRequest,cq as relativizePath,Wu as reloadProjectSessionConfig,Ku as reloadProjectSessionConfigStream,Dg as removeAccountAuditWebhook,ga as removeAccountBrandingAsset,Aa as removeAccountMember,vf as removeBeeuniPty,Od as removeGroupMember,Wg as removeMarketplaceSource,Jx as removeQueued,Yc as renameConnection,Hr as renameFile,xW as renameSandbox,nu as reopenChangeRequest,XL as reopenMilestone,Xx as reorderQueued,CL as replaceColumns,TL as replaceFields,qa as replaceProjectRepository,ML as replaceTemplates,wP as requestAccountDeletion,ru as requestChangesOnChangeRequest,KI as requestProjectAccess,$g as requestProjectConnector,jg as requestProjectSecret,SM as requestTopUp,ZR as requireBeeuniMember,_a as resendAccountInvite,ac as resendPendingProjectInvite,ma as resetAccountBranding,_B as resetClient,ud as resetGatewayRoutingPolicy,ko as resetPassword,xB as resetPublicClient,hc as resolveApproval,sC as resolveComposerAgent,jC as resolveComposerModel,sK as resolveConnectorStart,DC as resolveModelDefault,EE as resolvePublicShareUrl,mG as resolveScrapeResults,XG as resolveWorkingTurn,_M as resolvedPlan,gm as restartAppMachine,vr as restartProjectSession,vW as restartSandbox,wm as restoreAppVolume,WW as restoreBackup,c$ as restoreDriveVersion,Mc as retryAccountSecretResource,Yx as retryFailed,Bu as retrySessionPrompt,rB as revealCredential,XD as reviewItemTarget,kP as reviewSegmentForStatus,ej as reviewVerdictForStatus,jc as revokeAccountSecretResourceGrant,iD as revokeAccountSession,xg as revokeAccountToken,Zd as revokeAssignment,Vc as revokeConnection,Ad as revokeGatewayKey,Ag as revokeOAuthGrant,ic as revokePendingProjectInvite,rc as revokeProjectAccess,Rg as revokeProjectCliToken,jW as revokeSandboxProjectAccess,pg as revokeSandboxShare,jO as revokeScimToken,Cu as revokeSessionPublicShare,yt as rewriteLocalhostUrl,lm as rollbackApp,CR as rootRuntimeSession,Ec as rotateAccountSecretResource,Yd as rotateOAuthClientSecret,Ws as runConnector,vd as runGatewayPlayground,JI as runProjectProviderOAuthFlow,ki as runtimeSessionsOf,fx as runtimeSupports,xS as sanitizePtyChunk,za as saveGitHubInstallation,VR as savedCopyEmptyRoot,fm as scaleApp,$p as scheduleDowngrade,Fc as searchConnectorTools,Ol as searchProjectFiles,UG as segmentTurn,N$ as selectableProjectAgents,xo as sendMagicLink,eO as sendReferralEmails,AV as serverCompactionRevalidateAtMs,cB as serviceAction,$V as sessionConnectionLabel,jV as sessionListStatus,Yu as sessionModelPin,CE as sessionParentId,jE as sessionPromptActions,YE as sessionStartKey,$c as setAccountSecretResourceAccess,bp as setAgentScope,aT as setBootstrapAuthToken,iT as setCachedAuthToken,kT as setConnectionPolicies,rl as setConnectorAuthorizationStrategy,fl as setConnectorCredential,nl as setConnectorCredentialMode,cl as setConnectorName,il as setConnectorPolicies,MT as setConnectorSecretBinding,sl as setConnectorSensitive,zc as setDefaultConnection,MD as setEnterpriseDemo,Pf as setEnv,Pd as setGatewayBudget,ld as setGatewayRoutingPolicy,IO as setMemberSuperAdmin,NO as setMfaRequired,fp as setModelDefault,kc as setPersonalProjectSecret,Or as setProjectModelAccess,nM as setProjectModelEnablement,Ba as setProjectOnboardingComplete,II as setProjectOnboardingProfile,Sl as setProjectPolicies,Pc as setProjectSecretStrategy,zu as setProjectSessionModel,Hu as setProjectSessionScope,Su as setProjectSessionSharing,np as setProjectTriggersActivation,PE as setSavedCopyStore,GO as setSessionOversight,Bc as setSessionProviderSecretPool,Au as setSessionWatch,ZK as settleSessionConnection,HW as setupSSH,Qc as shareConnection,Yj as shareFolder,A$ as shellActivityGroupLabel,Hh as shellExitCode,s1 as shouldHideResponsePart,tA as shouldShowToolPart,VG as shouldSuppressWorkingTurnBusy,qG as showGroupItems,Bh as showTurnBusyIndicator,So as signInWithPassword,Ao as signInWithProvider,To as signInWithSso,Mo as signOut,yj as signOutDevice,Po as signUp,Q1 as skillDocumentPath,J1 as skillInputDir,jq as sortSessions,b1 as splitTurnWork,nq as splitUserParts,im as startApp,pm as startAppMachine,ST as startConnectionOAuth2Authorization,xT as startConnectionOAuth2DeviceAuthorization,Gk as startConnectorSetupLink,Ms as startProjectProviderOAuth,ct as startProjectSession,dp as startProjectSessionOrThrow,zk as startSessionWithToken,mL as startTask,wh as stepLabel,am as stopApp,dm as stopAppMachine,kr as stopProjectSession,kW as stopSandbox,Ja as storeGitHubUserToken,dq as stripAnsi,le as stripTrailingSlashes,Lk as submitAccessRequest,Yk as submitDemoRequest,Nk as submitOAuthConsent,sg as submitReviewItem,Vk as submitSecretSetupLink,tl as syncConnectors,vM as syncSubscription,wB as systemReload,ft as toDaemonPath,jx as toInternalUrl,Rn as toSandboxAbsolutePath,Sq as toToolView,$f as toWorkspaceRelative,Bw as toolCallBlock,Fw as toolCallMetadata,ii as toolInfo,pe as toolKind,hk as toolViewModel,bS as triggersRequest,SR as turnEndCause,_V as turnEndNotice,Mq as turnHasSteps,zG as turnIsConfirmedActive,YG as turnRendersQueued,LV as turnRetryLabel,AL as unassignTicket,Rm as unregisterDeviceToken,Dm as unregisterWebPushSubscription,Jj as unshareFolder,he as unwrapError,Og as updateAccountAuditWebhook,pa as updateAccountBranding,va as updateAccountMemberRole,la as updateAccountName,gM as updateAgentConfig,Hg as updateApp,Zg as updateAppAccess,_m as updateAppVolume,xD as updateAuditWebhook,Af as updateBeeuniPty,ou as updateChangeRequest,qM as updateChannelBinding,Kc as updateConnectionCredential,ad as updateEmailPolicy,Ua as updateExperimentalFeature,$a as updateFeatureFlag,Id as updateGroup,JL as updateMilestone,Em as updateNotificationPreferences,zd as updateOAuthClient,Ro as updatePassword,cD as updatePatPolicy,SO as updatePolicy,pr as updateProject,nc as updateProjectAccess,$L as updateProjectAgent,_p as updateProjectDefaultAgent,uc as updateProjectGroupGrant,La as updateProjectSandboxProvider,Nu as updateProjectSession,ep as updateProjectTrigger,Fd as updateRole,Nd as updateRolePermissions,Rl as updateSandboxTemplate,sD as updateSessionPolicy,ro as updateSessionReminder,hg as updateSessionReminders,gL as updateTask,CI as updateTemplateWarmPool,SL as updateTicket,xL as updateTicketStatus,Io as updateUserMetadata,da as uploadAccountBrandingAsset,tm as uploadAppArtifactArchive,Bs as uploadConnectorAttachment,r$ as uploadDriveFile,En as uploadFile,cx as uploadNativeFile,Pr as uploadPromptAttachment,Bm as uploadSessionAttachment,nd as uploadSlackChannelFile,An as uploadTimeoutMsForBytes,nB as upsertCredential,Ac as upsertProjectGitCredential,_c as upsertProjectSecret,Ea as validateProjectManifest,QM as validateReferralCode,Ra as validateToken,nC as verifyBeeuniToken,VM as verifyGatewayProvider,wo as verifyOtp,YO as verifySsoDomain,MV as wakeEscalationAttemptSummary,EV as wakeEscalationNote,IV as wakeProgressFingerprint,Ut as wireIdClock,_n as wireIdClockAt,Lt as wireIdClockDelta,_1 as workedForLabel,fV as workingExpiryAtMs,JG as workingTurnDrawsBusyRow,v$ as writeActivityGroupLabel,Vr as writeFile,di as wsDomain,dG as wsFavicon,pG 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};
|