local-operator-ui 0.31.17 → 0.31.19
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 +29 -0
- package/out/main/index.js +230 -10
- package/out/renderer/assets/{_basePickBy-BFVaG15n.js → _basePickBy-BjXXwW6E.js} +1 -1
- package/out/renderer/assets/{_baseUniq-gJCk0rG2.js → _baseUniq-xIg3idQF.js} +1 -1
- package/out/renderer/assets/{agent-details-page-DFrsX5r2.js → agent-details-page-D2QdVqJp.js} +1 -1
- package/out/renderer/assets/{agent-hub-page-RsTVS8Ja.js → agent-hub-page-BitfELv8.js} +2 -2
- package/out/renderer/assets/agents-page-Cl1j7rwO.js +2 -0
- package/out/renderer/assets/aida-control-BqbEHtVs.js +42 -0
- package/out/renderer/assets/{arc-CIknpWp5.js → arc-Ceouzeia.js} +1 -1
- package/out/renderer/assets/architectureDiagram-IEHRJDOE-BGSLJh-o.js +36 -0
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-BmYuuE4d.js → blockDiagram-JOT3LUYC-BmQJgCM-.js} +6 -6
- package/out/renderer/assets/{book-open-DlCeQ__D.js → book-open-tLP18D-k.js} +1 -1
- package/out/renderer/assets/browser-page-ChmnhnuO.js +1 -0
- package/out/renderer/assets/browser-webauthn-prompt-k5jzjWeZ.js +1 -0
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-BFuObwFK.js → c4Diagram-VJAJSXHY-Yk9CQYyQ.js} +1 -1
- package/out/renderer/assets/channel-CoXp_5DQ.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-CZKl836f.js → chunk-4BMEZGHF-DizR_fDb.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-B9wNLZPW.js → chunk-A2AXSNBT-BtTz6zUt.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-BTkxXUpV.js → chunk-AEK57VVT-D1a4VfuY.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-DNN6I0j-.js → chunk-D6G4REZN-bed23kTE.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2--dr35NK8.js → chunk-RZ5BOZE2-KfGYL-ag.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-ugREPL6z.js → chunk-XZIHB7SX-B1igQQgc.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-DLxyNS1q.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-DLxyNS1q.js +1 -0
- package/out/renderer/assets/clone-1ZAhWRhd.js +1 -0
- package/out/renderer/assets/{console-mirror-DxuGXeGm.js → console-mirror-CqlxE8VR.js} +1 -1
- package/out/renderer/assets/{consoleCapture-WxJX_qTe.js → consoleCapture-Bgq6O6hd.js} +1 -1
- package/out/renderer/assets/dagre-OKDRZEBW-BlwfTwwA.js +4 -0
- package/out/renderer/assets/diagram-SSKATNLV-jsDlGkgc.js +43 -0
- package/out/renderer/assets/diagram-VNBRO52H-DP8qnarm.js +24 -0
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-CK_yOr_W.js → erDiagram-Q7BY3M3F-Tc8DPglp.js} +1 -1
- package/out/renderer/assets/{error-boundary-zYOCmQTl.js → error-boundary-X9vF0zez.js} +1 -1
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-vKK0hQ3c.js → flowDiagram-4HSFHLVR-C0iWuz_e.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-BtTtHUdt.js → ganttDiagram-APWFNJXF-CXzAhOwO.js} +3 -3
- package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-c3OKkh69.js +65 -0
- package/out/renderer/assets/{graph-DLVpoZ2t.js → graph-BNpclJqw.js} +1 -1
- package/out/renderer/assets/index-BgDCWTEy.js +7 -0
- package/out/renderer/assets/{index-9kSbYL-A.js → index-BsveCKct.js} +391 -376
- package/out/renderer/assets/index-D4_JjH_R.js +1 -0
- package/out/renderer/assets/index-R0cHU6YS.css +1 -0
- package/out/renderer/assets/infoDiagram-PH2N3AL5-C6rpQuUJ.js +2 -0
- package/out/renderer/assets/{installer-CuqnZBf2.js → installer-Durl4Nt6.js} +1 -1
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-DukH-Gm5.js → journeyDiagram-U35MCT3I-DdWl9wJG.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-z76URjv7.js → kanban-definition-NDS4AKOZ-D6rkiZvG.js} +1 -1
- package/out/renderer/assets/{layout-DXsudZzz.js → layout-BQqWsgv9.js} +1 -1
- package/out/renderer/assets/{legacy-agents-page-9xdh9z0y.js → legacy-agents-page-xSUV6wUg.js} +3 -3
- package/out/renderer/assets/{mermaid.core-BisXdtq8.js → mermaid.core-DLc2GDBk.js} +5 -5
- package/out/renderer/assets/mesh-page-D1Hn61zc.js +2 -0
- package/out/renderer/assets/mindmap-definition-ALO5MXBD-BPp31SFM.js +95 -0
- package/out/renderer/assets/mini-dIYd4lBf.js +1 -0
- package/out/renderer/assets/org-surface-gate-CQZDYvz1.js +1 -0
- package/out/renderer/assets/{page-header-B-3TG7Ed.js → page-header-Ct_E4hXM.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-Cw8m6eUb.js → pieDiagram-IB7DONF6-InajJAb7.js} +1 -1
- package/out/renderer/assets/projects-page-Cq4-43oz.js +40 -0
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DOXOQdsa.js → quadrantDiagram-7GDLP6J5-DllpcIGZ.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-CcKir_MA.js → radar-MK3ICKWK-o49sXvJd.js} +1 -1
- package/out/renderer/assets/radient-auth-buttons-DCKuV_IZ.js +1 -0
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-Dq-MDul5.js → requirementDiagram-KVF5MWMF-DEB_P2Er.js} +1 -1
- package/out/renderer/assets/sankeyDiagram-QLVOVGJD-1sqsEoj5.js +10 -0
- package/out/renderer/assets/{schedules-page-k2yi4LKh.js → schedules-page-D6uKCgBE.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-BW8wMwAQ.js → sequenceDiagram-X6HHIX6F-DBKLSCMO.js} +1 -1
- package/out/renderer/assets/settings-page-DuO8dHwe.js +297 -0
- package/out/renderer/assets/{settings-section-DTEnr98J.js → settings-section-yg8wX_kN.js} +1 -1
- package/out/renderer/assets/stateDiagram-DGXRK772-CirIxYQ4.js +1 -0
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-BektpfMe.js +1 -0
- package/out/renderer/assets/{textarea-DRfVCtHc.js → textarea-CPyoWJfR.js} +2 -2
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-B7RxGk8T.js → timeline-definition-BDJGKUSR-HxrDshvA.js} +1 -1
- package/out/renderer/assets/{ui-preferences-store-Y6swLMAE.js → ui-preferences-store-CyKvDymq.js} +1 -1
- package/out/renderer/assets/{use-download-agent-mutation-BffNJt-E.js → use-download-agent-mutation-CJP2OhpP.js} +2 -2
- package/out/renderer/assets/use-memberships-query-Q96GogTV.js +1 -0
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-DHcK38Dl.js → xychartDiagram-VJFVF3MP-BXsPMfju.js} +1 -1
- package/out/renderer/console-capture.html +5 -5
- package/out/renderer/index.html +8 -8
- package/out/renderer/installer.html +5 -5
- package/out/renderer/mini.html +6 -6
- package/package.json +2 -2
- package/out/renderer/assets/agents-page-C6V9rtk2.js +0 -2
- package/out/renderer/assets/architectureDiagram-IEHRJDOE-BMMotc_h.js +0 -36
- package/out/renderer/assets/browser-page-BDBoJvY8.js +0 -1
- package/out/renderer/assets/browser-webauthn-prompt-CvutQHI8.js +0 -1
- package/out/renderer/assets/channel-BppvpJLX.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-BG2N01MY.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-BG2N01MY.js +0 -1
- package/out/renderer/assets/clone-DjBhwTw6.js +0 -1
- package/out/renderer/assets/dagre-OKDRZEBW-D8LZ8Svf.js +0 -4
- package/out/renderer/assets/diagram-SSKATNLV-D0g-M9XO.js +0 -43
- package/out/renderer/assets/diagram-VNBRO52H-vsLld6BG.js +0 -24
- package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-YAgfNmRP.js +0 -65
- package/out/renderer/assets/index-6ATVV_hs.js +0 -7
- package/out/renderer/assets/index-DAfI2ih0.css +0 -1
- package/out/renderer/assets/index-DYiBCsga.js +0 -1
- package/out/renderer/assets/infoDiagram-PH2N3AL5-BWQZxLJr.js +0 -2
- package/out/renderer/assets/mesh-page-CAEapbX4.js +0 -2
- package/out/renderer/assets/mindmap-definition-ALO5MXBD-CNYyqj85.js +0 -95
- package/out/renderer/assets/mini-DPUFcBTO.js +0 -1
- package/out/renderer/assets/org-surface-gate-DgwB0Qtt.js +0 -1
- package/out/renderer/assets/projects-page-D2TlKcUC.js +0 -22
- package/out/renderer/assets/radient-auth-buttons-PT3JBz4t.js +0 -1
- package/out/renderer/assets/renderer-platform-DV4X4aCW.js +0 -42
- package/out/renderer/assets/sankeyDiagram-QLVOVGJD-pAkVtAtk.js +0 -10
- package/out/renderer/assets/settings-page-D06D41PG.js +0 -307
- package/out/renderer/assets/stateDiagram-DGXRK772-Cvk9-LLw.js +0 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Cu3aMWlw.js +0 -1
- package/out/renderer/assets/use-memberships-query-B5iErNyL.js +0 -1
- /package/out/renderer/assets/{index-1jk3-3ca.js → index-C17iOszj.js} +0 -0
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import{c as xs,p as li}from"./ui-preferences-store-Y6swLMAE.js";import{r as R,j as Oe}from"./index-1jk3-3ca.js";import{c as wn}from"./textarea-DRfVCtHc.js";var F;(function(e){e.assertEqual=r=>r;function t(r){}e.assertIs=t;function n(r){throw new Error}e.assertNever=n,e.arrayToEnum=r=>{const i={};for(const o of r)i[o]=o;return i},e.getValidEnumValues=r=>{const i=e.objectKeys(r).filter(c=>typeof r[r[c]]!="number"),o={};for(const c of i)o[c]=r[c];return e.objectValues(o)},e.objectValues=r=>e.objectKeys(r).map(function(i){return r[i]}),e.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{const i=[];for(const o in r)Object.prototype.hasOwnProperty.call(r,o)&&i.push(o);return i},e.find=(r,i)=>{for(const o of r)if(i(o))return o},e.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&isFinite(r)&&Math.floor(r)===r;function s(r,i=" | "){return r.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}e.joinValues=s,e.jsonStringifyReplacer=(r,i)=>typeof i=="bigint"?i.toString():i})(F||(F={}));var Jn;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Jn||(Jn={}));const b=F.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ne=e=>{switch(typeof e){case"undefined":return b.undefined;case"string":return b.string;case"number":return isNaN(e)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":return Array.isArray(e)?b.array:e===null?b.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?b.promise:typeof Map<"u"&&e instanceof Map?b.map:typeof Set<"u"&&e instanceof Set?b.set:typeof Date<"u"&&e instanceof Date?b.date:b.object;default:return b.unknown}},m=F.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),$o=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class pe extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(i){return i.message},s={_errors:[]},r=i=>{for(const o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(r);else if(o.code==="invalid_return_type")r(o.returnTypeError);else if(o.code==="invalid_arguments")r(o.argumentsError);else if(o.path.length===0)s._errors.push(n(o));else{let c=s,l=0;for(;l<o.path.length;){const d=o.path[l];l===o.path.length-1?(c[d]=c[d]||{_errors:[]},c[d]._errors.push(n(o))):c[d]=c[d]||{_errors:[]},c=c[d],l++}}};return r(this),s}static assert(t){if(!(t instanceof pe))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,F.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n={},s=[];for(const r of this.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):s.push(t(r));return{formErrors:s,fieldErrors:n}}get formErrors(){return this.flatten()}}pe.create=e=>new pe(e);const _t=(e,t)=>{let n;switch(e.code){case m.invalid_type:e.received===b.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case m.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,F.jsonStringifyReplacer)}`;break;case m.unrecognized_keys:n=`Unrecognized key(s) in object: ${F.joinValues(e.keys,", ")}`;break;case m.invalid_union:n="Invalid input";break;case m.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${F.joinValues(e.options)}`;break;case m.invalid_enum_value:n=`Invalid enum value. Expected ${F.joinValues(e.options)}, received '${e.received}'`;break;case m.invalid_arguments:n="Invalid function arguments";break;case m.invalid_return_type:n="Invalid function return type";break;case m.invalid_date:n="Invalid date";break;case m.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:F.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case m.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case m.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case m.custom:n="Invalid input";break;case m.invalid_intersection_types:n="Intersection results could not be merged";break;case m.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case m.not_finite:n="Number must be finite";break;default:n=t.defaultError,F.assertNever(e)}return{message:n}};let di=_t;function Uo(e){di=e}function dn(){return di}const un=e=>{const{data:t,path:n,errorMaps:s,issueData:r}=e,i=[...n,...r.path||[]],o={...r,path:i};if(r.message!==void 0)return{...r,path:i,message:r.message};let c="";const l=s.filter(d=>!!d).slice().reverse();for(const d of l)c=d(o,{data:t,defaultError:c}).message;return{...r,path:i,message:c}},Fo=[];function y(e,t){const n=dn(),s=un({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===_t?void 0:_t].filter(r=>!!r)});e.common.issues.push(s)}class le{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const s=[];for(const r of n){if(r.status==="aborted")return I;r.status==="dirty"&&t.dirty(),s.push(r.value)}return{status:t.value,value:s}}static async mergeObjectAsync(t,n){const s=[];for(const r of n){const i=await r.key,o=await r.value;s.push({key:i,value:o})}return le.mergeObjectSync(t,s)}static mergeObjectSync(t,n){const s={};for(const r of n){const{key:i,value:o}=r;if(i.status==="aborted"||o.status==="aborted")return I;i.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||r.alwaysSet)&&(s[i.value]=o.value)}return{status:t.value,value:s}}}const I=Object.freeze({status:"aborted"}),gt=e=>({status:"dirty",value:e}),ue=e=>({status:"valid",value:e}),qn=e=>e.status==="aborted",es=e=>e.status==="dirty",nt=e=>e.status==="valid",Nt=e=>typeof Promise<"u"&&e instanceof Promise;function fn(e,t,n,s){if(typeof t=="function"?e!==t||!0:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}function ui(e,t,n,s,r){if(typeof t=="function"?e!==t||!0:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n}var S;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(S||(S={}));var Et,xt;class Ce{constructor(t,n,s,r){this._cachedPath=[],this.parent=t,this.data=n,this._path=s,this._key=r}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const zs=(e,t)=>{if(nt(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new pe(e.common.issues);return this._error=n,this._error}}};function D(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:s,description:r}=e;if(t&&(n||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:r}:{errorMap:(o,c)=>{var l,d;const{message:u}=e;return o.code==="invalid_enum_value"?{message:u??c.defaultError}:typeof c.data>"u"?{message:(l=u??s)!==null&&l!==void 0?l:c.defaultError}:o.code!=="invalid_type"?{message:c.defaultError}:{message:(d=u??n)!==null&&d!==void 0?d:c.defaultError}},description:r}}class j{get description(){return this._def.description}_getType(t){return Ne(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Ne(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new le,ctx:{common:t.parent.common,data:t.data,parsedType:Ne(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Nt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const s=this.safeParse(t,n);if(s.success)return s.data;throw s.error}safeParse(t,n){var s;const r={common:{issues:[],async:(s=n?.async)!==null&&s!==void 0?s:!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ne(t)},i=this._parseSync({data:t,path:r.path,parent:r});return zs(r,i)}"~validate"(t){var n,s;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ne(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:r});return nt(i)?{value:i.value}:{issues:r.common.issues}}catch(i){!((s=(n=i?.message)===null||n===void 0?void 0:n.toLowerCase())===null||s===void 0)&&s.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:r}).then(i=>nt(i)?{value:i.value}:{issues:r.common.issues})}async parseAsync(t,n){const s=await this.safeParseAsync(t,n);if(s.success)return s.data;throw s.error}async safeParseAsync(t,n){const s={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ne(t)},r=this._parse({data:t,path:s.path,parent:s}),i=await(Nt(r)?r:Promise.resolve(r));return zs(s,i)}refine(t,n){const s=r=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(r):n;return this._refinement((r,i)=>{const o=t(r),c=()=>i.addIssue({code:m.custom,...s(r)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(c(),!1)):o?!0:(c(),!1)})}refinement(t,n){return this._refinement((s,r)=>t(s)?!0:(r.addIssue(typeof n=="function"?n(s,r):n),!1))}_refinement(t){return new we({schema:this,typeName:x.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Ie.create(this,this._def)}nullable(){return Ve.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return be.create(this)}promise(){return wt.create(this,this._def)}or(t){return $t.create([this,t],this._def)}and(t){return Ut.create(this,t,this._def)}transform(t){return new we({...D(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Vt({...D(this._def),innerType:this,defaultValue:n,typeName:x.ZodDefault})}brand(){return new Is({typeName:x.ZodBranded,type:this,...D(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Ht({...D(this._def),innerType:this,catchValue:n,typeName:x.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Kt.create(this,t)}readonly(){return zt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Bo=/^c[^\s-]{8,}$/i,Zo=/^[0-9a-z]+$/,Go=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Vo=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ho=/^[a-z0-9_-]{21}$/i,zo=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ko=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Wo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Yo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Nn;const Qo=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Xo=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Jo=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,qo=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ea=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ta=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,fi="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",na=new RegExp(`^${fi}$`);function pi(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`),t}function sa(e){return new RegExp(`^${pi(e)}$`)}function hi(e){let t=`${fi}T${pi(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function ra(e,t){return!!((t==="v4"||!t)&&Qo.test(e)||(t==="v6"||!t)&&Jo.test(e))}function ia(e,t){if(!zo.test(e))return!1;try{const[n]=e.split("."),s=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),r=JSON.parse(atob(s));return!(typeof r!="object"||r===null||!r.typ||!r.alg||t&&r.alg!==t)}catch{return!1}}function oa(e,t){return!!((t==="v4"||!t)&&Xo.test(e)||(t==="v6"||!t)&&qo.test(e))}class _e extends j{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==b.string){const i=this._getOrReturnCtx(t);return y(i,{code:m.invalid_type,expected:b.string,received:i.parsedType}),I}const s=new le;let r;for(const i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(r=this._getOrReturnCtx(t,r),y(r,{code:m.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),s.dirty());else if(i.kind==="max")t.data.length>i.value&&(r=this._getOrReturnCtx(t,r),y(r,{code:m.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),s.dirty());else if(i.kind==="length"){const o=t.data.length>i.value,c=t.data.length<i.value;(o||c)&&(r=this._getOrReturnCtx(t,r),o?y(r,{code:m.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):c&&y(r,{code:m.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),s.dirty())}else if(i.kind==="email")Wo.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"email",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="emoji")Nn||(Nn=new RegExp(Yo,"u")),Nn.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"emoji",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="uuid")Vo.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"uuid",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="nanoid")Ho.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"nanoid",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="cuid")Bo.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"cuid",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="cuid2")Zo.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"cuid2",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="ulid")Go.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"ulid",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),y(r,{validation:"url",code:m.invalid_string,message:i.message}),s.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"regex",code:m.invalid_string,message:i.message}),s.dirty())):i.kind==="trim"?t.data=t.data.trim():i.kind==="includes"?t.data.includes(i.value,i.position)||(r=this._getOrReturnCtx(t,r),y(r,{code:m.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),s.dirty()):i.kind==="toLowerCase"?t.data=t.data.toLowerCase():i.kind==="toUpperCase"?t.data=t.data.toUpperCase():i.kind==="startsWith"?t.data.startsWith(i.value)||(r=this._getOrReturnCtx(t,r),y(r,{code:m.invalid_string,validation:{startsWith:i.value},message:i.message}),s.dirty()):i.kind==="endsWith"?t.data.endsWith(i.value)||(r=this._getOrReturnCtx(t,r),y(r,{code:m.invalid_string,validation:{endsWith:i.value},message:i.message}),s.dirty()):i.kind==="datetime"?hi(i).test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{code:m.invalid_string,validation:"datetime",message:i.message}),s.dirty()):i.kind==="date"?na.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{code:m.invalid_string,validation:"date",message:i.message}),s.dirty()):i.kind==="time"?sa(i).test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{code:m.invalid_string,validation:"time",message:i.message}),s.dirty()):i.kind==="duration"?Ko.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"duration",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="ip"?ra(t.data,i.version)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"ip",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="jwt"?ia(t.data,i.alg)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"jwt",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="cidr"?oa(t.data,i.version)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"cidr",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="base64"?ea.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"base64",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="base64url"?ta.test(t.data)||(r=this._getOrReturnCtx(t,r),y(r,{validation:"base64url",code:m.invalid_string,message:i.message}),s.dirty()):F.assertNever(i);return{status:s.value,value:t.data}}_regex(t,n,s){return this.refinement(r=>t.test(r),{validation:n,code:m.invalid_string,...S.errToObj(s)})}_addCheck(t){return new _e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...S.errToObj(t)})}url(t){return this._addCheck({kind:"url",...S.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...S.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...S.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...S.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...S.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...S.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...S.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...S.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...S.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...S.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...S.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...S.errToObj(t)})}datetime(t){var n,s;return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:(n=t?.offset)!==null&&n!==void 0?n:!1,local:(s=t?.local)!==null&&s!==void 0?s:!1,...S.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...S.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...S.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...S.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...S.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...S.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...S.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...S.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...S.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...S.errToObj(n)})}nonempty(t){return this.min(1,S.errToObj(t))}trim(){return new _e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}_e.create=e=>{var t;return new _e({checks:[],typeName:x.ZodString,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...D(e)})};function aa(e,t){const n=(e.toString().split(".")[1]||"").length,s=(t.toString().split(".")[1]||"").length,r=n>s?n:s,i=parseInt(e.toFixed(r).replace(".","")),o=parseInt(t.toFixed(r).replace(".",""));return i%o/Math.pow(10,r)}class Be extends j{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==b.number){const i=this._getOrReturnCtx(t);return y(i,{code:m.invalid_type,expected:b.number,received:i.parsedType}),I}let s;const r=new le;for(const i of this._def.checks)i.kind==="int"?F.isInteger(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:m.invalid_type,expected:"integer",received:"float",message:i.message}),r.dirty()):i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(s=this._getOrReturnCtx(t,s),y(s,{code:m.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(s=this._getOrReturnCtx(t,s),y(s,{code:m.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="multipleOf"?aa(t.data,i.value)!==0&&(s=this._getOrReturnCtx(t,s),y(s,{code:m.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):i.kind==="finite"?Number.isFinite(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:m.not_finite,message:i.message}),r.dirty()):F.assertNever(i);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,s,r){return new Be({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:S.toString(r)}]})}_addCheck(t){return new Be({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:S.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:S.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:S.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:S.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&F.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(n===null||s.value>n)&&(n=s.value):s.kind==="max"&&(t===null||s.value<t)&&(t=s.value)}return Number.isFinite(n)&&Number.isFinite(t)}}Be.create=e=>new Be({checks:[],typeName:x.ZodNumber,coerce:e?.coerce||!1,...D(e)});class Ze extends j{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==b.bigint)return this._getInvalidInput(t);let s;const r=new le;for(const i of this._def.checks)i.kind==="min"?(i.inclusive?t.data<i.value:t.data<=i.value)&&(s=this._getOrReturnCtx(t,s),y(s,{code:m.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="max"?(i.inclusive?t.data>i.value:t.data>=i.value)&&(s=this._getOrReturnCtx(t,s),y(s,{code:m.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()):i.kind==="multipleOf"?t.data%i.value!==BigInt(0)&&(s=this._getOrReturnCtx(t,s),y(s,{code:m.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):F.assertNever(i);return{status:r.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return y(n,{code:m.invalid_type,expected:b.bigint,received:n.parsedType}),I}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,s,r){return new Ze({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:S.toString(r)}]})}_addCheck(t){return new Ze({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Ze.create=e=>{var t;return new Ze({checks:[],typeName:x.ZodBigInt,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...D(e)})};class Lt extends j{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==b.boolean){const s=this._getOrReturnCtx(t);return y(s,{code:m.invalid_type,expected:b.boolean,received:s.parsedType}),I}return ue(t.data)}}Lt.create=e=>new Lt({typeName:x.ZodBoolean,coerce:e?.coerce||!1,...D(e)});class st extends j{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==b.date){const i=this._getOrReturnCtx(t);return y(i,{code:m.invalid_type,expected:b.date,received:i.parsedType}),I}if(isNaN(t.data.getTime())){const i=this._getOrReturnCtx(t);return y(i,{code:m.invalid_date}),I}const s=new le;let r;for(const i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(r=this._getOrReturnCtx(t,r),y(r,{code:m.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),s.dirty()):i.kind==="max"?t.data.getTime()>i.value&&(r=this._getOrReturnCtx(t,r),y(r,{code:m.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),s.dirty()):F.assertNever(i);return{status:s.value,value:new Date(t.data.getTime())}}_addCheck(t){return new st({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:S.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:S.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}}st.create=e=>new st({checks:[],coerce:e?.coerce||!1,typeName:x.ZodDate,...D(e)});class pn extends j{_parse(t){if(this._getType(t)!==b.symbol){const s=this._getOrReturnCtx(t);return y(s,{code:m.invalid_type,expected:b.symbol,received:s.parsedType}),I}return ue(t.data)}}pn.create=e=>new pn({typeName:x.ZodSymbol,...D(e)});class jt extends j{_parse(t){if(this._getType(t)!==b.undefined){const s=this._getOrReturnCtx(t);return y(s,{code:m.invalid_type,expected:b.undefined,received:s.parsedType}),I}return ue(t.data)}}jt.create=e=>new jt({typeName:x.ZodUndefined,...D(e)});class Mt extends j{_parse(t){if(this._getType(t)!==b.null){const s=this._getOrReturnCtx(t);return y(s,{code:m.invalid_type,expected:b.null,received:s.parsedType}),I}return ue(t.data)}}Mt.create=e=>new Mt({typeName:x.ZodNull,...D(e)});class bt extends j{constructor(){super(...arguments),this._any=!0}_parse(t){return ue(t.data)}}bt.create=e=>new bt({typeName:x.ZodAny,...D(e)});class et extends j{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ue(t.data)}}et.create=e=>new et({typeName:x.ZodUnknown,...D(e)});class je extends j{_parse(t){const n=this._getOrReturnCtx(t);return y(n,{code:m.invalid_type,expected:b.never,received:n.parsedType}),I}}je.create=e=>new je({typeName:x.ZodNever,...D(e)});class hn extends j{_parse(t){if(this._getType(t)!==b.undefined){const s=this._getOrReturnCtx(t);return y(s,{code:m.invalid_type,expected:b.void,received:s.parsedType}),I}return ue(t.data)}}hn.create=e=>new hn({typeName:x.ZodVoid,...D(e)});class be extends j{_parse(t){const{ctx:n,status:s}=this._processInputParams(t),r=this._def;if(n.parsedType!==b.array)return y(n,{code:m.invalid_type,expected:b.array,received:n.parsedType}),I;if(r.exactLength!==null){const o=n.data.length>r.exactLength.value,c=n.data.length<r.exactLength.value;(o||c)&&(y(n,{code:o?m.too_big:m.too_small,minimum:c?r.exactLength.value:void 0,maximum:o?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),s.dirty())}if(r.minLength!==null&&n.data.length<r.minLength.value&&(y(n,{code:m.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),s.dirty()),r.maxLength!==null&&n.data.length>r.maxLength.value&&(y(n,{code:m.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),s.dirty()),n.common.async)return Promise.all([...n.data].map((o,c)=>r.type._parseAsync(new Ce(n,o,n.path,c)))).then(o=>le.mergeArray(s,o));const i=[...n.data].map((o,c)=>r.type._parseSync(new Ce(n,o,n.path,c)));return le.mergeArray(s,i)}get element(){return this._def.type}min(t,n){return new be({...this._def,minLength:{value:t,message:S.toString(n)}})}max(t,n){return new be({...this._def,maxLength:{value:t,message:S.toString(n)}})}length(t,n){return new be({...this._def,exactLength:{value:t,message:S.toString(n)}})}nonempty(t){return this.min(1,t)}}be.create=(e,t)=>new be({type:e,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,...D(t)});function mt(e){if(e instanceof W){const t={};for(const n in e.shape){const s=e.shape[n];t[n]=Ie.create(mt(s))}return new W({...e._def,shape:()=>t})}else return e instanceof be?new be({...e._def,type:mt(e.element)}):e instanceof Ie?Ie.create(mt(e.unwrap())):e instanceof Ve?Ve.create(mt(e.unwrap())):e instanceof Re?Re.create(e.items.map(t=>mt(t))):e}class W extends j{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=F.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==b.object){const d=this._getOrReturnCtx(t);return y(d,{code:m.invalid_type,expected:b.object,received:d.parsedType}),I}const{status:s,ctx:r}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),c=[];if(!(this._def.catchall instanceof je&&this._def.unknownKeys==="strip"))for(const d in r.data)o.includes(d)||c.push(d);const l=[];for(const d of o){const u=i[d],f=r.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ce(r,f,r.path,d)),alwaysSet:d in r.data})}if(this._def.catchall instanceof je){const d=this._def.unknownKeys;if(d==="passthrough")for(const u of c)l.push({key:{status:"valid",value:u},value:{status:"valid",value:r.data[u]}});else if(d==="strict")c.length>0&&(y(r,{code:m.unrecognized_keys,keys:c}),s.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const u of c){const f=r.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ce(r,f,r.path,u)),alwaysSet:u in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const d=[];for(const u of l){const f=await u.key,p=await u.value;d.push({key:f,value:p,alwaysSet:u.alwaysSet})}return d}).then(d=>le.mergeObjectSync(s,d)):le.mergeObjectSync(s,l)}get shape(){return this._def.shape()}strict(t){return S.errToObj,new W({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,s)=>{var r,i,o,c;const l=(o=(i=(r=this._def).errorMap)===null||i===void 0?void 0:i.call(r,n,s).message)!==null&&o!==void 0?o:s.defaultError;return n.code==="unrecognized_keys"?{message:(c=S.errToObj(t).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new W({...this._def,unknownKeys:"strip"})}passthrough(){return new W({...this._def,unknownKeys:"passthrough"})}extend(t){return new W({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new W({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:x.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new W({...this._def,catchall:t})}pick(t){const n={};return F.objectKeys(t).forEach(s=>{t[s]&&this.shape[s]&&(n[s]=this.shape[s])}),new W({...this._def,shape:()=>n})}omit(t){const n={};return F.objectKeys(this.shape).forEach(s=>{t[s]||(n[s]=this.shape[s])}),new W({...this._def,shape:()=>n})}deepPartial(){return mt(this)}partial(t){const n={};return F.objectKeys(this.shape).forEach(s=>{const r=this.shape[s];t&&!t[s]?n[s]=r:n[s]=r.optional()}),new W({...this._def,shape:()=>n})}required(t){const n={};return F.objectKeys(this.shape).forEach(s=>{if(t&&!t[s])n[s]=this.shape[s];else{let i=this.shape[s];for(;i instanceof Ie;)i=i._def.innerType;n[s]=i}}),new W({...this._def,shape:()=>n})}keyof(){return mi(F.objectKeys(this.shape))}}W.create=(e,t)=>new W({shape:()=>e,unknownKeys:"strip",catchall:je.create(),typeName:x.ZodObject,...D(t)});W.strictCreate=(e,t)=>new W({shape:()=>e,unknownKeys:"strict",catchall:je.create(),typeName:x.ZodObject,...D(t)});W.lazycreate=(e,t)=>new W({shape:e,unknownKeys:"strip",catchall:je.create(),typeName:x.ZodObject,...D(t)});class $t extends j{_parse(t){const{ctx:n}=this._processInputParams(t),s=this._def.options;function r(i){for(const c of i)if(c.result.status==="valid")return c.result;for(const c of i)if(c.result.status==="dirty")return n.common.issues.push(...c.ctx.common.issues),c.result;const o=i.map(c=>new pe(c.ctx.common.issues));return y(n,{code:m.invalid_union,unionErrors:o}),I}if(n.common.async)return Promise.all(s.map(async i=>{const o={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(r);{let i;const o=[];for(const l of s){const d={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!i&&(i={result:u,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;const c=o.map(l=>new pe(l));return y(n,{code:m.invalid_union,unionErrors:c}),I}}get options(){return this._def.options}}$t.create=(e,t)=>new $t({options:e,typeName:x.ZodUnion,...D(t)});const Pe=e=>e instanceof Bt?Pe(e.schema):e instanceof we?Pe(e.innerType()):e instanceof Zt?[e.value]:e instanceof Ge?e.options:e instanceof Gt?F.objectValues(e.enum):e instanceof Vt?Pe(e._def.innerType):e instanceof jt?[void 0]:e instanceof Mt?[null]:e instanceof Ie?[void 0,...Pe(e.unwrap())]:e instanceof Ve?[null,...Pe(e.unwrap())]:e instanceof Is||e instanceof zt?Pe(e.unwrap()):e instanceof Ht?Pe(e._def.innerType):[];class Sn extends j{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.object)return y(n,{code:m.invalid_type,expected:b.object,received:n.parsedType}),I;const s=this.discriminator,r=n.data[s],i=this.optionsMap.get(r);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(y(n,{code:m.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),I)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,s){const r=new Map;for(const i of n){const o=Pe(i.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const c of o){if(r.has(c))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(c)}`);r.set(c,i)}}return new Sn({typeName:x.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:r,...D(s)})}}function ts(e,t){const n=Ne(e),s=Ne(t);if(e===t)return{valid:!0,data:e};if(n===b.object&&s===b.object){const r=F.objectKeys(t),i=F.objectKeys(e).filter(c=>r.indexOf(c)!==-1),o={...e,...t};for(const c of i){const l=ts(e[c],t[c]);if(!l.valid)return{valid:!1};o[c]=l.data}return{valid:!0,data:o}}else if(n===b.array&&s===b.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let i=0;i<e.length;i++){const o=e[i],c=t[i],l=ts(o,c);if(!l.valid)return{valid:!1};r.push(l.data)}return{valid:!0,data:r}}else return n===b.date&&s===b.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class Ut extends j{_parse(t){const{status:n,ctx:s}=this._processInputParams(t),r=(i,o)=>{if(qn(i)||qn(o))return I;const c=ts(i.value,o.value);return c.valid?((es(i)||es(o))&&n.dirty(),{status:n.value,value:c.data}):(y(s,{code:m.invalid_intersection_types}),I)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([i,o])=>r(i,o)):r(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}Ut.create=(e,t,n)=>new Ut({left:e,right:t,typeName:x.ZodIntersection,...D(n)});class Re extends j{_parse(t){const{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==b.array)return y(s,{code:m.invalid_type,expected:b.array,received:s.parsedType}),I;if(s.data.length<this._def.items.length)return y(s,{code:m.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),I;!this._def.rest&&s.data.length>this._def.items.length&&(y(s,{code:m.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const i=[...s.data].map((o,c)=>{const l=this._def.items[c]||this._def.rest;return l?l._parse(new Ce(s,o,s.path,c)):null}).filter(o=>!!o);return s.common.async?Promise.all(i).then(o=>le.mergeArray(n,o)):le.mergeArray(n,i)}get items(){return this._def.items}rest(t){return new Re({...this._def,rest:t})}}Re.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Re({items:e,typeName:x.ZodTuple,rest:null,...D(t)})};class Ft extends j{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==b.object)return y(s,{code:m.invalid_type,expected:b.object,received:s.parsedType}),I;const r=[],i=this._def.keyType,o=this._def.valueType;for(const c in s.data)r.push({key:i._parse(new Ce(s,c,s.path,c)),value:o._parse(new Ce(s,s.data[c],s.path,c)),alwaysSet:c in s.data});return s.common.async?le.mergeObjectAsync(n,r):le.mergeObjectSync(n,r)}get element(){return this._def.valueType}static create(t,n,s){return n instanceof j?new Ft({keyType:t,valueType:n,typeName:x.ZodRecord,...D(s)}):new Ft({keyType:_e.create(),valueType:t,typeName:x.ZodRecord,...D(n)})}}class mn extends j{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==b.map)return y(s,{code:m.invalid_type,expected:b.map,received:s.parsedType}),I;const r=this._def.keyType,i=this._def.valueType,o=[...s.data.entries()].map(([c,l],d)=>({key:r._parse(new Ce(s,c,s.path,[d,"key"])),value:i._parse(new Ce(s,l,s.path,[d,"value"]))}));if(s.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const l of o){const d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return I;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),c.set(d.value,u.value)}return{status:n.value,value:c}})}else{const c=new Map;for(const l of o){const d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return I;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),c.set(d.value,u.value)}return{status:n.value,value:c}}}}mn.create=(e,t,n)=>new mn({valueType:t,keyType:e,typeName:x.ZodMap,...D(n)});class rt extends j{_parse(t){const{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==b.set)return y(s,{code:m.invalid_type,expected:b.set,received:s.parsedType}),I;const r=this._def;r.minSize!==null&&s.data.size<r.minSize.value&&(y(s,{code:m.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),n.dirty()),r.maxSize!==null&&s.data.size>r.maxSize.value&&(y(s,{code:m.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),n.dirty());const i=this._def.valueType;function o(l){const d=new Set;for(const u of l){if(u.status==="aborted")return I;u.status==="dirty"&&n.dirty(),d.add(u.value)}return{status:n.value,value:d}}const c=[...s.data.values()].map((l,d)=>i._parse(new Ce(s,l,s.path,d)));return s.common.async?Promise.all(c).then(l=>o(l)):o(c)}min(t,n){return new rt({...this._def,minSize:{value:t,message:S.toString(n)}})}max(t,n){return new rt({...this._def,maxSize:{value:t,message:S.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}rt.create=(e,t)=>new rt({valueType:e,minSize:null,maxSize:null,typeName:x.ZodSet,...D(t)});class vt extends j{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.function)return y(n,{code:m.invalid_type,expected:b.function,received:n.parsedType}),I;function s(c,l){return un({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,dn(),_t].filter(d=>!!d),issueData:{code:m.invalid_arguments,argumentsError:l}})}function r(c,l){return un({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,dn(),_t].filter(d=>!!d),issueData:{code:m.invalid_return_type,returnTypeError:l}})}const i={errorMap:n.common.contextualErrorMap},o=n.data;if(this._def.returns instanceof wt){const c=this;return ue(async function(...l){const d=new pe([]),u=await c._def.args.parseAsync(l,i).catch(w=>{throw d.addIssue(s(l,w)),d}),f=await Reflect.apply(o,this,u);return await c._def.returns._def.type.parseAsync(f,i).catch(w=>{throw d.addIssue(r(f,w)),d})})}else{const c=this;return ue(function(...l){const d=c._def.args.safeParse(l,i);if(!d.success)throw new pe([s(l,d.error)]);const u=Reflect.apply(o,this,d.data),f=c._def.returns.safeParse(u,i);if(!f.success)throw new pe([r(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new vt({...this._def,args:Re.create(t).rest(et.create())})}returns(t){return new vt({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,s){return new vt({args:t||Re.create([]).rest(et.create()),returns:n||et.create(),typeName:x.ZodFunction,...D(s)})}}class Bt extends j{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}Bt.create=(e,t)=>new Bt({getter:e,typeName:x.ZodLazy,...D(t)});class Zt extends j{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return y(n,{received:n.data,code:m.invalid_literal,expected:this._def.value}),I}return{status:"valid",value:t.data}}get value(){return this._def.value}}Zt.create=(e,t)=>new Zt({value:e,typeName:x.ZodLiteral,...D(t)});function mi(e,t){return new Ge({values:e,typeName:x.ZodEnum,...D(t)})}class Ge extends j{constructor(){super(...arguments),Et.set(this,void 0)}_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),s=this._def.values;return y(n,{expected:F.joinValues(s),received:n.parsedType,code:m.invalid_type}),I}if(fn(this,Et)||ui(this,Et,new Set(this._def.values)),!fn(this,Et).has(t.data)){const n=this._getOrReturnCtx(t),s=this._def.values;return y(n,{received:n.data,code:m.invalid_enum_value,options:s}),I}return ue(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Ge.create(t,{...this._def,...n})}exclude(t,n=this._def){return Ge.create(this.options.filter(s=>!t.includes(s)),{...this._def,...n})}}Et=new WeakMap;Ge.create=mi;class Gt extends j{constructor(){super(...arguments),xt.set(this,void 0)}_parse(t){const n=F.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(t);if(s.parsedType!==b.string&&s.parsedType!==b.number){const r=F.objectValues(n);return y(s,{expected:F.joinValues(r),received:s.parsedType,code:m.invalid_type}),I}if(fn(this,xt)||ui(this,xt,new Set(F.getValidEnumValues(this._def.values))),!fn(this,xt).has(t.data)){const r=F.objectValues(n);return y(s,{received:s.data,code:m.invalid_enum_value,options:r}),I}return ue(t.data)}get enum(){return this._def.values}}xt=new WeakMap;Gt.create=(e,t)=>new Gt({values:e,typeName:x.ZodNativeEnum,...D(t)});class wt extends j{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.promise&&n.common.async===!1)return y(n,{code:m.invalid_type,expected:b.promise,received:n.parsedType}),I;const s=n.parsedType===b.promise?n.data:Promise.resolve(n.data);return ue(s.then(r=>this._def.type.parseAsync(r,{path:n.path,errorMap:n.common.contextualErrorMap})))}}wt.create=(e,t)=>new wt({type:e,typeName:x.ZodPromise,...D(t)});class we extends j{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:s}=this._processInputParams(t),r=this._def.effect||null,i={addIssue:o=>{y(s,o),o.fatal?n.abort():n.dirty()},get path(){return s.path}};if(i.addIssue=i.addIssue.bind(i),r.type==="preprocess"){const o=r.transform(s.data,i);if(s.common.async)return Promise.resolve(o).then(async c=>{if(n.value==="aborted")return I;const l=await this._def.schema._parseAsync({data:c,path:s.path,parent:s});return l.status==="aborted"?I:l.status==="dirty"||n.value==="dirty"?gt(l.value):l});{if(n.value==="aborted")return I;const c=this._def.schema._parseSync({data:o,path:s.path,parent:s});return c.status==="aborted"?I:c.status==="dirty"||n.value==="dirty"?gt(c.value):c}}if(r.type==="refinement"){const o=c=>{const l=r.refinement(c,i);if(s.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(s.common.async===!1){const c=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return c.status==="aborted"?I:(c.status==="dirty"&&n.dirty(),o(c.value),{status:n.value,value:c.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(c=>c.status==="aborted"?I:(c.status==="dirty"&&n.dirty(),o(c.value).then(()=>({status:n.value,value:c.value}))))}if(r.type==="transform")if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!nt(o))return o;const c=r.transform(o.value,i);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:c}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>nt(o)?Promise.resolve(r.transform(o.value,i)).then(c=>({status:n.value,value:c})):o);F.assertNever(r)}}we.create=(e,t,n)=>new we({schema:e,typeName:x.ZodEffects,effect:t,...D(n)});we.createWithPreprocess=(e,t,n)=>new we({schema:t,effect:{type:"preprocess",transform:e},typeName:x.ZodEffects,...D(n)});class Ie extends j{_parse(t){return this._getType(t)===b.undefined?ue(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ie.create=(e,t)=>new Ie({innerType:e,typeName:x.ZodOptional,...D(t)});class Ve extends j{_parse(t){return this._getType(t)===b.null?ue(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ve.create=(e,t)=>new Ve({innerType:e,typeName:x.ZodNullable,...D(t)});class Vt extends j{_parse(t){const{ctx:n}=this._processInputParams(t);let s=n.data;return n.parsedType===b.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Vt.create=(e,t)=>new Vt({innerType:e,typeName:x.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...D(t)});class Ht extends j{_parse(t){const{ctx:n}=this._processInputParams(t),s={...n,common:{...n.common,issues:[]}},r=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return Nt(r)?r.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new pe(s.common.issues)},input:s.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new pe(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}Ht.create=(e,t)=>new Ht({innerType:e,typeName:x.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...D(t)});class gn extends j{_parse(t){if(this._getType(t)!==b.nan){const s=this._getOrReturnCtx(t);return y(s,{code:m.invalid_type,expected:b.nan,received:s.parsedType}),I}return{status:"valid",value:t.data}}}gn.create=e=>new gn({typeName:x.ZodNaN,...D(e)});const ca=Symbol("zod_brand");class Is extends j{_parse(t){const{ctx:n}=this._processInputParams(t),s=n.data;return this._def.type._parse({data:s,path:n.path,parent:n})}unwrap(){return this._def.type}}class Kt extends j{_parse(t){const{status:n,ctx:s}=this._processInputParams(t);if(s.common.async)return(async()=>{const i=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return i.status==="aborted"?I:i.status==="dirty"?(n.dirty(),gt(i.value)):this._def.out._parseAsync({data:i.value,path:s.path,parent:s})})();{const r=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return r.status==="aborted"?I:r.status==="dirty"?(n.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:s.path,parent:s})}}static create(t,n){return new Kt({in:t,out:n,typeName:x.ZodPipeline})}}class zt extends j{_parse(t){const n=this._def.innerType._parse(t),s=r=>(nt(r)&&(r.value=Object.freeze(r.value)),r);return Nt(n)?n.then(r=>s(r)):s(n)}unwrap(){return this._def.innerType}}zt.create=(e,t)=>new zt({innerType:e,typeName:x.ZodReadonly,...D(t)});function Ks(e,t){const n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function gi(e,t={},n){return e?bt.create().superRefine((s,r)=>{var i,o;const c=e(s);if(c instanceof Promise)return c.then(l=>{var d,u;if(!l){const f=Ks(t,s),p=(u=(d=f.fatal)!==null&&d!==void 0?d:n)!==null&&u!==void 0?u:!0;r.addIssue({code:"custom",...f,fatal:p})}});if(!c){const l=Ks(t,s),d=(o=(i=l.fatal)!==null&&i!==void 0?i:n)!==null&&o!==void 0?o:!0;r.addIssue({code:"custom",...l,fatal:d})}}):bt.create()}const la={object:W.lazycreate};var x;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(x||(x={}));const da=(e,t={message:`Input not instance of ${e.name}`})=>gi(n=>n instanceof e,t),yi=_e.create,vi=Be.create,ua=gn.create,fa=Ze.create,_i=Lt.create,pa=st.create,ha=pn.create,ma=jt.create,ga=Mt.create,ya=bt.create,va=et.create,_a=je.create,ba=hn.create,wa=be.create,Sa=W.create,ka=W.strictCreate,Ta=$t.create,Ea=Sn.create,xa=Ut.create,Ia=Re.create,Ca=Ft.create,Ra=mn.create,Aa=rt.create,Oa=vt.create,Pa=Bt.create,Da=Zt.create,Na=Ge.create,La=Gt.create,ja=wt.create,Ws=we.create,Ma=Ie.create,$a=Ve.create,Ua=we.createWithPreprocess,Fa=Kt.create,Ba=()=>yi().optional(),Za=()=>vi().optional(),Ga=()=>_i().optional(),Va={string:e=>_e.create({...e,coerce:!0}),number:e=>Be.create({...e,coerce:!0}),boolean:e=>Lt.create({...e,coerce:!0}),bigint:e=>Ze.create({...e,coerce:!0}),date:e=>st.create({...e,coerce:!0})},Ha=I;var a=Object.freeze({__proto__:null,defaultErrorMap:_t,setErrorMap:Uo,getErrorMap:dn,makeIssue:un,EMPTY_PATH:Fo,addIssueToContext:y,ParseStatus:le,INVALID:I,DIRTY:gt,OK:ue,isAborted:qn,isDirty:es,isValid:nt,isAsync:Nt,get util(){return F},get objectUtil(){return Jn},ZodParsedType:b,getParsedType:Ne,ZodType:j,datetimeRegex:hi,ZodString:_e,ZodNumber:Be,ZodBigInt:Ze,ZodBoolean:Lt,ZodDate:st,ZodSymbol:pn,ZodUndefined:jt,ZodNull:Mt,ZodAny:bt,ZodUnknown:et,ZodNever:je,ZodVoid:hn,ZodArray:be,ZodObject:W,ZodUnion:$t,ZodDiscriminatedUnion:Sn,ZodIntersection:Ut,ZodTuple:Re,ZodRecord:Ft,ZodMap:mn,ZodSet:rt,ZodFunction:vt,ZodLazy:Bt,ZodLiteral:Zt,ZodEnum:Ge,ZodNativeEnum:Gt,ZodPromise:wt,ZodEffects:we,ZodTransformer:we,ZodOptional:Ie,ZodNullable:Ve,ZodDefault:Vt,ZodCatch:Ht,ZodNaN:gn,BRAND:ca,ZodBranded:Is,ZodPipeline:Kt,ZodReadonly:zt,custom:gi,Schema:j,ZodSchema:j,late:la,get ZodFirstPartyTypeKind(){return x},coerce:Va,any:ya,array:wa,bigint:fa,boolean:_i,date:pa,discriminatedUnion:Ea,effect:Ws,enum:Na,function:Oa,instanceof:da,intersection:xa,lazy:Pa,literal:Da,map:Ra,nan:ua,nativeEnum:La,never:_a,null:ga,nullable:$a,number:vi,object:Sa,oboolean:Ga,onumber:Za,optional:Ma,ostring:Ba,pipeline:Fa,preprocess:Ua,promise:ja,record:Ca,set:Aa,strictObject:ka,string:yi,symbol:ha,transformer:Ws,tuple:Ia,undefined:ma,union:Ta,unknown:va,void:ba,NEVER:Ha,ZodIssueCode:m,quotelessJson:$o,ZodError:pe});const P=a.string().min(1).max(128).regex(/^[a-zA-Z0-9_-]+$/),Qt=a.string().min(1).max(256).regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]*$/),Xt=a.string().min(1).max(32768),O=a.string().regex(/^[a-f0-9]{12}$/),Ln=a.string().regex(/^[A-Za-z0-9_.:-]{1,100}$/),Jt=a.string().regex(/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/),Ys=a.string().regex(/^[a-f0-9]{32}$/),jn=a.string().min(1).max(4096).regex(/^(\/|[A-Za-z]:[\\/])/),Qs=/^[a-f0-9]{32}$/,K=a.string().regex(/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/),Tt=a.string().regex(/^[A-Za-z0-9_-]{1,128}$/),Xs=a.object({data_b64:a.string().min(1).max(1e6),mime_type:a.enum(["image/png","image/jpeg","image/gif","image/webp"])}).strict(),Js=2e5,za=256,Ka=100,Wa=1e6,Le=a.string().min(1).max(128).refine(e=>e!=="."&&e!==".."&&!e.includes("/")&&!e.includes("\\")&&[...e].every(t=>t.charCodeAt(0)>=32&&t.charCodeAt(0)!==127)),qt=a.object({kind:a.enum(["agent","team"]),name:Le}).strict(),Mn=a.object({provider:a.string().min(1).max(128),model_id:a.string().min(1).max(512),reasoning_effort:a.string().min(1).max(64).nullable()}).strict(),qs=a.object({kind:a.enum(["role","specialist"]).optional(),description:a.string().max(8e3).optional(),instructions:a.string().max(8e3).optional(),tools:a.array(a.string().min(1).max(128)).max(256).optional(),effort:a.string().max(64).optional(),delegate:a.boolean().optional()}).strict(),er=a.object({name:a.string().min(1).max(64).optional(),description:a.string().max(8e3).optional(),manager:Le.optional(),members:a.array(a.object({role:Le,count:a.number().int().min(1).max(16),kind:a.enum(["agent","team"])}).strict()).max(128).optional(),instructions:a.string().max(8e3).optional(),project:a.string().max(8e3).optional()}).strict(),Ya=a.record(a.array(a.string().max(1024)).max(100)),tr=a.enum(["minutes","hours","days"]);function Qa(e){return!/^\.+$/.test(e)}const Vp=e=>rn.safeParse(e).success,rn=a.string().min(1).max(128).refine(e=>[...e].every(t=>t.charCodeAt(0)>=32&&t.charCodeAt(0)!==127&&t!=="/"&&t!=="\\")).refine(Qa),nr=a.enum(["str","int","float","bool","list","dict"]),sr=a.string().max(16384),Xa=2e3,rr=a.string().min(1).max(Xa),ir=a.string().min(1).max(64),or=a.object({is_active:a.boolean().nullish(),one_time:a.boolean().nullish(),start_time_utc:a.string().max(64).nullish(),end_time_utc:a.string().max(64).nullish()}).strict(),Ja=a.object({conversation_length:a.number().int().optional(),detail_length:a.number().int().optional(),max_learnings_history:a.number().int().optional(),hosting:a.string().max(256).optional(),model_name:a.string().max(1024).optional(),auto_save_conversation:a.boolean().optional()}).strict(),ns=128,ar=2e3,cr=8e3,lr=64,dr=64,kn=e=>[...e].length,ss=e=>e>=9&&e<=13||e>=28&&e<=32||e===133||e===160||e===5760||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288,qa=e=>e===9||e===10||e===11||e===12||e===13||e===133,ec=e=>e<=31||e>=127&&e<=159,tc=e=>new RegExp("\\p{Cf}","u").test(String.fromCodePoint(e)),nc=e=>e>=8234&&e<=8238||e>=8294&&e<=8297,en=(e,t)=>{for(const n of e)if(t(n.codePointAt(0)??0))return!0;return!1},bi=e=>{const t=[...e];let n=0,s=t.length;for(;n<s&&ss(t[n].codePointAt(0)??0);)n++;for(;s>n&&ss(t[s-1].codePointAt(0)??0);)s--;return t.slice(n,s).join("")},sc=e=>{let t="",n=!1;for(const s of e){if(ss(s.codePointAt(0)??0)){n=t.length>0;continue}n&&(t+=" ",n=!1),t+=s}return t};function rc(e){const t=bi(e);if(!t)return"must not be empty";if(kn(t)>ns)return`must be at most ${ns} characters`;if(/[/\\:]/.test(t))return'must not contain "/", "\\" or ":"';if(en(t,nc))return"must not contain Unicode bidirectional override characters";if(en(t,qa))return"must not contain whitespace";if(en(t,ec))return"must not contain control characters";if(en(t,tc))return"must not contain invisible Unicode formatting characters";const n=[...t];return"-.".includes(n[0])||"-.".includes(n[n.length-1])?'must not begin or end with "-" or "."':null}function Hp(e){return sc(bi(e).normalize("NFKC").toLowerCase())}function ic(e){return e.trim()?kn(e)>ar?`must be at most ${ar} characters`:null:"must not be empty"}function oc(e){return e.trim()?kn(e)>cr?`must be at most ${cr} characters`:null:"must not be empty"}function ac(e){if(e.length>dr)return`must hold at most ${dr} items`;for(const t of e)if(!t.trim()||kn(t)>lr)return`must hold items of 1 to ${lr} characters`;return null}const cc=e=>rc(e)===null,lc=a.string().refine(cc,{message:"That is not a name the hub can publish."}),dc=a.string().refine(e=>oc(e)===null,{message:"That instruction body cannot be published."}),uc=a.string().refine(e=>ic(e)===null,{message:"That description cannot be published."}),fc=a.array(a.string()).refine(e=>ac(e)===null,{message:"That tool list cannot be published."}),ur=a.object({name:lc,description:uc,instructions:dc,kind:a.enum(["role","specialist"]),when_to_use:a.string(),tools:fc,effort:a.string(),delegate:a.boolean(),version:a.string(),categories:a.array(a.string()),tags:a.array(a.string())}).partial().strict(),pc=a.enum(["team","agent"]),hc=a.string().min(1).max(64),mc=a.string().min(1).max(256),wi=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,$n=a.string().regex(wi,{message:"Letters, digits, dot, underscore and dash; no spaces."}),gc=["planning","active","qa","validation","done","paused","archived"],fr=a.enum(gc),tn=a.string().regex(/^$|^\d{4}-\d{2}-\d{2}$/,"Dates are YYYY-MM-DD, or empty to clear."),pr=a.array(a.string().min(1).max(24)).max(8),Qe=a.string().min(1).max(64),yc=1e3,hr=240,mr=80,vc=/^[a-z0-9][a-z0-9_-]{0,23}$/;function zp(e){return e?wi.test(e)?null:"Names start with a letter or digit and may use letters, digits, dot, underscore or dash.":"Give the project a name."}function Kp(e){return vc.test(e)?null:"Tags are 1-24 characters of lowercase letters, digits, underscore or dash."}const _c=a.discriminatedUnion("op",[a.object({op:a.literal("capabilities")}).strict(),a.object({op:a.literal("profiles.list")}).strict(),a.object({op:a.literal("profiles.get"),name:Le}).strict(),a.object({op:a.literal("profiles.install"),name:Le,requestId:K}).strict(),a.object({op:a.literal("profiles.create"),name:Le,requestId:K,fields:qs.extend({description:a.string().max(8e3),instructions:a.string().min(1).max(8e3)})}).strict(),a.object({op:a.literal("profiles.update"),name:Le,requestId:K,fields:qs}).strict(),a.object({op:a.literal("teams.list")}).strict(),a.object({op:a.literal("teams.get"),name:Le}).strict(),a.object({op:a.literal("teams.create"),requestId:K,fields:er.extend({name:a.string().min(1).max(64)})}).strict(),a.object({op:a.literal("teams.update"),name:Le,requestId:K,fields:er}).strict(),a.object({op:a.literal("sessions.list"),limit:a.number().int().min(1).max(500).optional(),include_archived:a.boolean().optional(),include_peers:a.boolean().optional(),scope_kind:pc.optional(),scope_name:hc.optional(),cursor:mc.optional(),with_counts:a.boolean().optional()}).strict(),a.object({op:a.literal("sessions.search"),q:a.string().min(1).max(za),limit:a.number().int().min(1).max(500).optional(),include_archived:a.boolean().optional()}).strict(),a.object({op:a.literal("sessions.archive"),sessionId:O,archived:a.boolean()}).strict(),a.object({op:a.literal("sessions.delete"),sessionId:O,confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.create"),requestId:K,cwd:a.string().min(1).max(4096),target:qt.optional(),model:Mn.optional(),draftId:O.optional()}).strict(),a.object({op:a.literal("sessions.preview"),requestId:K,cwd:a.string().min(1).max(4096),target:qt.optional(),model:Mn.optional()}).strict(),a.object({op:a.literal("sessions.draft"),requestId:K,cwd:a.string().min(1).max(4096),target:qt.optional(),model:Mn.optional()}).strict(),a.object({op:a.literal("sessions.get"),sessionId:O}).strict(),a.object({op:a.literal("sessions.history"),sessionId:O,beforeId:P.optional(),limit:a.number().int().min(1).max(500).optional()}).strict(),a.object({op:a.literal("subagents.transcript"),sessionId:O,childId:O,beforeId:P.optional(),limit:a.number().int().min(1).max(500).optional()}).strict(),a.object({op:a.literal("sessions.message"),sessionId:O,requestId:K,text:a.string().max(Js),images:a.array(Xs).max(8).optional(),mode:a.enum(["prompt","steer"]).optional()}).strict(),a.object({op:a.literal("sessions.command"),sessionId:O,requestId:K,command:a.string().regex(/^\/?[A-Za-z]+$/).max(64),args:a.string().max(Js).optional(),images:a.array(Xs).max(8).optional()}).strict(),a.object({op:a.literal("sessions.move"),sessionId:O,requestId:K,cwd:a.string().min(1).max(4096)}).strict(),a.object({op:a.literal("sessions.answer"),sessionId:O,epoch:P,requestId:P,value:a.string().max(32768).optional(),approved:a.boolean().optional(),questionIndex:a.number().int().min(0).optional()}).strict(),a.object({op:a.literal("sessions.seen"),sessionId:O,completionToken:a.string().uuid()}).strict(),a.object({op:a.literal("attention.seen"),items:a.array(a.object({sessionId:O,completionToken:a.string().uuid()}).strict()).min(1).max(500)}).strict(),a.object({op:a.literal("sessions.notified"),sessionId:O,completionToken:a.string().uuid()}).strict(),a.object({op:a.literal("sessions.pin"),sessionId:O,pinned:a.boolean()}).strict(),a.object({op:a.literal("sessions.watch"),sessionId:O,subscriptionId:a.string().regex(Qs),visible:a.boolean(),canNotify:a.boolean()}).strict(),a.object({op:a.literal("sessions.warm"),sessionId:O}).strict(),a.object({op:a.literal("sessions.interrupt"),sessionId:O,requestId:K}).strict(),a.object({op:a.literal("sessions.variables.list"),sessionId:O}).strict(),a.object({op:a.literal("sessions.variables.create"),sessionId:O,key:rn,value:sr,type:nr}).strict(),a.object({op:a.literal("sessions.variables.update"),sessionId:O,key:rn,value:sr,type:nr}).strict(),a.object({op:a.literal("sessions.variables.delete"),sessionId:O,key:rn}).strict(),a.object({op:a.literal("sessions.presence"),subscriptionId:a.string().regex(/^[a-f0-9]{1,64}$/),canNotify:a.boolean(),canNotifyKinds:a.array(a.enum(["complete","error"])).max(4),sessionId:a.string().regex(/^([a-f0-9]{12})?$/),window:a.object({exists:a.boolean(),focused:a.boolean(),visible:a.boolean(),minimized:a.boolean()}).strict()}).strict(),a.object({op:a.literal("legacy.models"),provider:a.string().max(128).optional(),sort:a.enum(["id","name","provider","recommended"]).optional(),direction:a.enum(["ascending","descending"]).optional()}).strict(),a.object({op:a.literal("legacy.models.providers")}).strict(),a.object({op:a.literal("auth.probe"),provider:P}).strict(),a.object({op:a.literal("legacy.agent.upload"),agentId:P}).strict(),a.object({op:a.literal("agent.publish"),agentId:P,document:ur.optional(),visibility:a.literal("org").optional(),tenantId:P.optional()}).strict(),a.object({op:a.literal("agent.republish"),agentId:P,hubAgentId:P,document:ur.optional(),visibility:a.literal("org").optional(),tenantId:P.optional()}).strict(),a.object({op:a.literal("team.pull"),teamId:P,tenantId:P.optional()}).strict(),a.object({op:a.literal("agent.nameAvailability"),name:a.string().min(1).max(ns)}).strict(),a.object({op:a.literal("legacy.agents.list"),page:a.number().int().min(1).optional(),perPage:a.number().int().min(1).max(500).optional(),name:a.string().max(256).optional(),sort:a.string().max(64).optional(),direction:a.enum(["asc","desc"]).optional()}).strict(),a.object({op:a.literal("legacy.agent.get"),agentId:P}).strict(),a.object({op:a.literal("legacy.agent.history"),agentId:P,page:a.number().int().min(1).optional(),perPage:a.number().int().min(1).max(500).optional()}).strict(),a.object({op:a.literal("legacy.jobs.list"),agentId:P.optional(),status:a.string().max(64).optional()}).strict(),a.object({op:a.literal("legacy.job.get"),jobId:P}).strict(),a.object({op:a.literal("legacy.schedules.list"),page:a.number().int().min(1).optional(),perPage:a.number().int().min(1).max(100).optional()}).strict(),a.object({op:a.literal("legacy.agent.schedules.list"),agentId:P,page:a.number().int().min(1).optional(),perPage:a.number().int().min(1).max(100).optional()}).strict(),a.object({op:a.literal("legacy.agent.schedule.create"),agentId:P,schedule:or.extend({prompt:a.string().max(64e3),interval:a.number().int().min(1),unit:tr})}).strict(),a.object({op:a.literal("legacy.schedule.get"),scheduleId:P}).strict(),a.object({op:a.literal("legacy.schedule.edit"),scheduleId:P,schedule:or.extend({prompt:a.string().max(64e3).nullish(),interval:a.number().int().min(1).nullish(),unit:tr.nullish()})}).strict(),a.object({op:a.literal("legacy.schedule.remove"),scheduleId:P}).strict(),a.object({op:a.literal("legacy.agent.create"),agent:a.record(a.unknown())}).strict(),a.object({op:a.literal("legacy.agent.update"),agentId:P,update:a.record(a.unknown())}).strict(),a.object({op:a.literal("legacy.agent.delete"),agentId:P}).strict(),a.object({op:a.literal("legacy.agent.conversation.clear"),agentId:P}).strict(),a.object({op:a.literal("legacy.agent.systemPrompt.get"),agentId:P}).strict(),a.object({op:a.literal("legacy.agent.systemPrompt.update"),agentId:P,systemPrompt:a.string().max(Wa)}).strict(),a.object({op:a.literal("legacy.agent.download"),agentId:P}).strict(),a.object({op:a.literal("legacy.job.cancel"),jobId:P}).strict(),a.object({op:a.literal("commands.list")}).strict(),a.object({op:a.literal("commands.entities"),sessionId:O,command:P,name:a.string().max(128).optional()}).strict(),a.object({op:a.literal("models.catalogue"),live:a.boolean().optional()}).strict(),a.object({op:a.literal("usage.get"),provider:P.optional(),live:a.boolean().optional(),refresh:a.boolean().optional()}).strict(),a.object({op:a.literal("analytics.get"),sessionId:O.optional(),sinceMs:a.number().int().nonnegative().optional(),untilMs:a.number().int().nonnegative().optional(),days:a.number().int().min(1).max(366).optional()}).strict(),a.object({op:a.literal("analytics.models"),sessionId:O.optional(),sinceMs:a.number().int().nonnegative().optional(),untilMs:a.number().int().nonnegative().optional(),days:a.number().int().min(1).max(366).optional()}).strict(),a.object({op:a.literal("info.get")}).strict(),a.object({op:a.literal("sessions.report"),sessionId:O,recentLimit:a.number().int().min(0).max(50).optional()}).strict(),a.object({op:a.literal("skills.list"),sessionId:O,name:P.optional()}).strict(),a.object({op:a.literal("sessions.failovers"),sessionId:O}).strict(),a.object({op:a.literal("sessions.credential"),sessionId:O,action:a.enum(["list","store","forget"]),key:Qt.optional(),value:Xt.optional(),confirmed:a.boolean().optional()}).strict(),a.object({op:a.literal("sessions.fork"),sessionId:O,requestId:K,message:a.string().max(2e5).optional(),boundary:a.literal("next_safe").optional()}).strict(),a.object({op:a.literal("sessions.stop"),requestId:K,targets:a.array(O).min(1).max(100),confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.aside"),sessionId:O,requestId:K,text:a.string().min(1).max(32768),asideId:K.optional(),subscriptionId:a.string().regex(Qs).optional()}).strict(),a.object({op:a.literal("sessions.adopt"),sessionId:O,requestId:K,asideId:K,confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.aside.get"),sessionId:O,asideId:K}).strict(),a.object({op:a.literal("sessions.aside.close"),sessionId:O,asideId:K}).strict(),a.object({op:a.literal("wakes.list"),limit:a.number().int().min(1).max(500).optional(),includeDormant:a.boolean().optional()}).strict(),a.object({op:a.literal("wakes.create"),requestId:K,sessionId:O.optional(),cwd:a.string().min(1).max(4096).optional(),target:qt.optional(),message:rr,in:a.string().min(1).max(64).optional(),at:a.string().min(1).max(64).optional(),every:a.string().min(1).max(64).optional(),until:a.string().min(1).max(64).optional(),limit:a.number().int().min(1).optional(),title:a.string().min(1).max(200).optional()}).strict(),a.object({op:a.literal("wakes.edit"),sessionId:O,wakeId:ir,message:rr.optional(),in:a.string().min(1).max(64).optional(),at:a.string().min(1).max(64).optional(),every:a.string().min(1).max(64).optional(),until:a.string().min(1).max(64).optional(),limit:a.number().int().min(1).optional()}).strict(),a.object({op:a.literal("wakes.remove"),sessionId:O,wakeId:ir}).strict(),a.object({op:a.literal("mcp.list"),sessionId:O}).strict(),a.object({op:a.literal("mcp.credentials.store"),sessionId:O,name:a.string().min(1).max(256),values:a.record(a.string().min(1).max(128),a.string().min(1).max(32768)).refine(e=>Object.keys(e).length<=32&&Object.values(e).reduce((t,n)=>t+n.length,0)<=65536,{message:"Too many secret values, or too much secret text, for one MCP credential write."}),confirmedReplace:a.array(a.string().min(1).max(128)).max(32)}).strict(),a.object({op:a.literal("mcp.control"),sessionId:O,control:a.object({action:a.enum(["list","add","remove","reload","connect","probe","disconnect","login","logout","reauth","status","cancel"]),name:Ln.optional(),scope:a.enum(["global","project"]).optional(),command:a.string().min(1).max(4096).optional(),args:a.array(a.string().max(8192)).max(128).optional(),env:a.record(Jt).optional(),url:a.string().max(4096).optional(),headers:a.record(Jt).optional(),oauth:a.boolean().optional(),confirmed:a.boolean().optional(),operation_id:Ys.optional()}).strict()}).strict(),a.object({op:a.literal("mcp.catalog"),cwd:jn.optional(),sessionId:O.optional()}).strict(),a.object({op:a.literal("mcp.catalog.control"),cwd:jn.optional(),control:a.object({action:a.enum(["add","remove","test","login","reauth","logout","status","cancel"]),name:Ln.optional(),scope:a.enum(["global","project"]).optional(),command:a.string().min(1).max(4096).optional(),args:a.array(a.string().max(8192)).max(128).optional(),env:a.record(Jt).optional(),url:a.string().max(4096).optional(),headers:a.record(Jt).optional(),confirmed:a.boolean().optional(),operation_id:Ys.optional()}).strict()}).strict(),a.object({op:a.literal("mcp.catalog.credentials"),header:a.string().min(1).max(128).optional(),cwd:jn.optional(),name:Ln,values:a.record(a.string().min(1).max(128),a.string().min(1).max(32768)).refine(e=>Object.keys(e).length<=32&&Object.values(e).reduce((t,n)=>t+n.length,0)<=65536,{message:"Too many secret values, or too much secret text, for one MCP credential write."}),confirmedReplace:a.array(a.string().min(1).max(128)).max(32)}).strict(),a.object({op:a.literal("radient.request"),control:a.object({operation:a.enum(["account","prices","credits","usage","provision","application.create","agents.list","agents.get","agents.create","agents.update","agents.delete","agents.like","agents.unlike","agents.liked","agents.like_count","agents.favourite","agents.unfavourite","agents.favourited","agents.favourite_count","agents.download_count","agents.statuses","comments.list","comments.create","comments.update","comments.delete","account.agents","memberships.list","org_agents.list","org_team.get","org_teams.list"]),request_id:K.optional(),tenant_id:P.optional(),account_id:P.optional(),agent_id:P.optional(),comment_id:P.optional(),team_id:P.optional(),query:a.record(a.union([a.string().max(1024),a.number().int()])).optional(),payload:a.record(a.unknown()).optional(),confirmed:a.boolean().optional()}).strict()}).strict(),a.object({op:a.literal("providers.list")}).strict(),a.object({op:a.literal("accounts.list")}).strict(),a.object({op:a.literal("accounts.remove"),accountId:a.number().int().positive(),confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("auth.start"),provider:P}).strict(),a.object({op:a.literal("auth.status"),id:P}).strict(),a.object({op:a.literal("auth.input"),id:P,promptId:P,value:Xt}).strict(),a.object({op:a.literal("auth.cancel"),id:P}).strict(),a.object({op:a.literal("auth.key"),provider:P,value:Xt}).strict(),a.object({op:a.literal("auth.logout"),provider:P}).strict(),a.object({op:a.literal("settings.list")}).strict(),a.object({op:a.literal("settings.edit"),key:Qt,value:a.unknown().refine(e=>e!==void 0,"A setting value is required."),base:Ya.optional()}).strict(),a.object({op:a.literal("settings.reset"),key:Qt}).strict(),a.object({op:a.literal("config.get")}).strict(),a.object({op:a.literal("config.update"),value:Ja}).strict(),a.object({op:a.literal("instructions.get")}).strict(),a.object({op:a.literal("instructions.update"),content:a.string().max(64e3)}).strict(),a.object({op:a.literal("credentials.list")}).strict(),a.object({op:a.literal("credentials.update"),key:Qt,value:Xt}).strict(),a.object({op:a.literal("peers.list")}).strict(),a.object({op:a.literal("networks.list")}).strict(),a.object({op:a.literal("networks.invite"),networkId:Tt,role:a.enum(["read","drive","admin"]),deviceId:Tt.optional()}).strict(),a.object({op:a.literal("networks.member.remove"),networkId:Tt,deviceId:Tt,confirm:a.string().min(1).max(256)}).strict(),a.object({op:a.literal("sessions.transfer"),sessionId:O,to:a.union([a.literal("local"),Tt]),keep:a.boolean().optional(),waitS:a.number().min(0).max(300).optional(),requestId:K.optional()}).strict(),a.object({op:a.literal("projects.list")}).strict(),a.object({op:a.literal("projects.get"),key:Qe}).strict(),a.object({op:a.literal("projects.create"),name:$n,description:a.string().max(hr).optional(),status:fr.optional(),tags:pr.optional()}).strict(),a.object({op:a.literal("projects.update"),key:Qe,fields:a.object({name:$n.optional(),title:a.string().max(80).optional(),owner:a.string().max(80).optional(),team:a.string().max(80).optional(),description:a.string().max(hr).optional(),status:fr.optional(),progress:a.string().max(yc).optional(),tags:pr.optional(),start_date:tn.optional(),target_date:tn.optional(),completed_at:tn.optional(),estimate:a.number().positive().max(1e3).optional(),estimate_unit:a.enum(["points","days"]).optional()}).strict()}).strict(),a.object({op:a.literal("projects.delete"),key:Qe,confirmed_name:$n}).strict(),a.object({op:a.literal("projects.link"),key:Qe,sessionId:O}).strict(),a.object({op:a.literal("projects.unlink"),key:Qe,sessionId:O}).strict(),a.object({op:a.literal("projects.milestone"),key:Qe,name:a.string().min(1).max(mr),targetDate:tn.optional(),completed:a.boolean().optional()}).strict(),a.object({op:a.literal("projects.milestone.remove"),key:Qe,name:a.string().min(1).max(mr)}).strict(),a.object({op:a.literal("aida.status")}).strict(),a.object({op:a.literal("aida.control"),action:a.enum(["open","pause","resume","greet","status"])}).strict()]);_c.superRefine((e,t)=>{e.op!=="agent.publish"&&e.op!=="agent.republish"||e.visibility==="org"!=!!e.tenantId&&t.addIssue({code:a.ZodIssueCode.custom,message:'A publication target needs both `visibility: "org"` and `tenantId`, or neither: one half would publish to the public hub.'})});const ye={noCredential:"pairing.no-credential",refused:"pairing.refused",planeClosed:"pairing.plane-closed",transportFailed:"transport.failed"},bc={runtimeUnreachable:"runtime_unreachable"},Cs="runtime_busy",Si="runtime_retiring",Rs={[ye.noCredential]:"This app is not paired with the running Local Operator server, so this control is unavailable.",[ye.refused]:"This app's credential for the running Local Operator server was refused, so this control is unavailable.",[ye.planeClosed]:"The running Local Operator server does not accept this app's desktop controls.",[ye.transportFailed]:"The Local Operator server did not answer this request."},rs={noCredential:"Restart with a desktop-managed backend to use these controls.",transportFailed:"The backend could not complete this request. Check its connection and try again."};function As(e){return e!==void 0&&Object.values(ye).includes(e)}function wc(e,t){if(e.startsWith("/v1/desktop/")){if(t===401||t===403)return ye.refused;if(t===503)return ye.planeClosed}}const Sc=88e4,kc=11e5,Tc=2e4,Ec=9e4,xc=new Set(["analytics.get","analytics.models","sessions.report"]),Ic=new Set(["usage.get"]),Cc=new Set(["networks.list","peers.list"]),Rc=new Set([...xc,...Ic,...Cc]),Ac=90,Oc=30,Pc=300,Dc=10,Nc=15,Lc=1e4;function jc(e){const n=e.to==="local"||e.keep?Pc:Oc,s=Math.max(0,e.waitS??0);return(Ac+n+Dc+Nc)*1e3+s*1e3}function Mc(e){if(typeof e!="string"&&e.op==="sessions.transfer")return jc(e)+Lc;const t=typeof e=="string"?e:e.op;return Rc.has(t)?Ec:Tc}const $c=5e3;function ki(e){return Mc(e)+$c}const Os="deadline_exceeded",Uc="foreground_required",Ti="View these completions in the foreground before marking them read.",Fc=new Set(["capabilities","accounts.list","analytics.get","analytics.models","commands.entities","commands.list","config.get","credentials.list","info.get","instructions.get","legacy.agent.get","legacy.agent.history","legacy.agent.schedules.list","legacy.agents.list","legacy.job.get","legacy.jobs.list","legacy.models","legacy.models.providers","legacy.schedule.get","legacy.schedules.list","mcp.catalog","mcp.list","models.catalogue","networks.list","peers.list","profiles.get","profiles.list","providers.list","sessions.aside.get","sessions.failovers","sessions.get","sessions.history","sessions.list","sessions.preview","sessions.report","sessions.search","sessions.variables.list","skills.list","subagents.transcript","teams.get","teams.list","usage.get"]),Bc=new Set(["analytics.get","analytics.models","networks.list","peers.list","usage.get","sessions.report","info.get","sessions.failovers"]);function Zc(e,t){const n=Math.round(t/1e3),s=Os;return e==="sessions.transfer"?{code:s,message:`The app waits up to ${n} seconds for a move, and it was still running when the app stopped waiting. The move was asked for, so its outcome is unknown from here: read the session again before moving it anywhere else.`}:Fc.has(e)?{code:s,message:Bc.has(e)?`The app waits up to ${n} seconds for this panel's data, and the read was still running when the app stopped waiting. Nothing was read; reopen the panel to ask again.`:`The app waits up to ${n} seconds for this read, and it was still running when the app stopped waiting. Nothing was read; ask again.`}:{code:s,message:`The app waits up to ${n} seconds for this request, and it was still running when the app stopped waiting. It may or may not have reached the server; check the result before repeating it.`}}const Wp=Sc,Yp=kc;function Gc(e){return e.sessionId?{session_id:e.sessionId}:{...e.cwd?{cwd:e.cwd}:{},...e.target?{target:e.target}:{}}}function gr(e){return{...e.in!==void 0?{in:e.in}:{},...e.at!==void 0?{at:e.at}:{},...e.every!==void 0?{every:e.every}:{},...e.until!==void 0?{until:e.until}:{},...e.limit!==void 0?{limit:e.limit}:{}}}function yr(e){if(e.visibility==="org"!=!!e.tenantId)throw new Error('A publication target needs both `visibility: "org"` and `tenantId`, or neither: one half would publish to the public hub.')}function Vc(e){switch(e.op){case"capabilities":return{path:"/v1/capabilities",method:"GET"};case"peers.list":return{path:"/v1/desktop/peers",method:"GET"};case"networks.list":return{path:"/v1/desktop/networks",method:"GET"};case"networks.invite":return{path:`/v1/desktop/networks/${encodeURIComponent(e.networkId)}/invite`,method:"POST",body:{role:e.role,device:e.deviceId??null}};case"networks.member.remove":return{path:`/v1/desktop/networks/${encodeURIComponent(e.networkId)}/members/${encodeURIComponent(e.deviceId)}`,method:"DELETE",body:{confirm:e.confirm}};case"sessions.transfer":return{path:`/v1/desktop/sessions/${encodeURIComponent(e.sessionId)}/transfer`,method:"POST",body:{to:e.to,keep:e.keep??!1,wait_s:e.waitS??0,...e.requestId?{request_id:e.requestId}:{}}};case"profiles.list":return{path:"/v1/desktop/profiles",method:"GET"};case"profiles.get":return{path:`/v1/desktop/profiles/${encodeURIComponent(e.name)}`,method:"GET"};case"profiles.install":return{path:"/v1/desktop/profiles/install",method:"POST",body:{request_id:e.requestId,name:e.name}};case"profiles.create":return{path:"/v1/desktop/profiles",method:"POST",body:{request_id:e.requestId,name:e.name,...e.fields}};case"profiles.update":return{path:`/v1/desktop/profiles/${encodeURIComponent(e.name)}`,method:"PATCH",body:{request_id:e.requestId,...e.fields}};case"teams.list":return{path:"/v1/desktop/teams",method:"GET"};case"teams.get":return{path:`/v1/desktop/teams/${encodeURIComponent(e.name)}`,method:"GET"};case"teams.create":return{path:"/v1/desktop/teams",method:"POST",body:{request_id:e.requestId,...e.fields}};case"teams.update":return{path:`/v1/desktop/teams/${encodeURIComponent(e.name)}`,method:"PATCH",body:{request_id:e.requestId,...e.fields}};case"sessions.list":{const t=new URLSearchParams;return t.set("limit",String(e.limit??100)),e.include_archived&&t.set("include_archived","true"),e.scope_kind&&t.set("scope_kind",e.scope_kind),e.scope_name&&t.set("scope_name",e.scope_name),e.cursor&&t.set("cursor",e.cursor),e.with_counts&&t.set("with_counts","true"),e.include_peers&&t.set("include_peers","true"),{path:`/v1/desktop/sessions?${t}`,method:"GET"}}case"sessions.search":{const t=new URLSearchParams({q:e.q,limit:String(e.limit??Ka)});return e.include_archived&&t.set("include_archived","true"),{path:`/v1/desktop/sessions/search?${t}`,method:"GET"}}case"sessions.archive":return{path:`/v1/desktop/sessions/${e.sessionId}/archive`,method:"POST",body:{archived:e.archived}};case"sessions.delete":return{path:`/v1/desktop/sessions/${e.sessionId}`,method:"DELETE",body:{confirmed:!0}};case"sessions.create":return{path:"/v1/desktop/sessions",method:"POST",body:{request_id:e.requestId,cwd:e.cwd,...e.target?{target:e.target}:{},...e.model?{model:e.model}:{},...e.draftId?{draft_id:e.draftId}:{}}};case"sessions.preview":return{path:"/v1/desktop/sessions/preview",method:"POST",body:{request_id:e.requestId,cwd:e.cwd,...e.target?{target:e.target}:{},...e.model?{model:e.model}:{}}};case"sessions.draft":return{path:"/v1/desktop/sessions/draft",method:"POST",body:{request_id:e.requestId,cwd:e.cwd,...e.target?{target:e.target}:{},...e.model?{model:e.model}:{}}};case"sessions.get":return{path:`/v1/desktop/sessions/${e.sessionId}`,method:"GET"};case"sessions.history":{const t=new URLSearchParams({limit:String(e.limit??100)});return e.beforeId&&t.set("before_id",e.beforeId),{path:`/v1/desktop/sessions/${e.sessionId}/history?${t}`,method:"GET"}}case"subagents.transcript":{const t=new URLSearchParams({limit:String(e.limit??100)});return e.beforeId&&t.set("before_id",e.beforeId),{path:`/v1/desktop/sessions/${e.sessionId}/children/${e.childId}/transcript?${t}`,method:"GET"}}case"sessions.message":return{path:`/v1/desktop/sessions/${e.sessionId}/messages`,method:"POST",body:{request_id:e.requestId,text:e.text,images:e.images??[],mode:e.mode??"prompt"}};case"sessions.command":return{path:`/v1/desktop/sessions/${e.sessionId}/commands`,method:"POST",body:{request_id:e.requestId,command:e.command,args:e.args??"",images:e.images??[]}};case"sessions.answer":return{path:`/v1/desktop/sessions/${e.sessionId}/answers`,method:"POST",body:{epoch:e.epoch,request_id:e.requestId,value:e.value,approved:e.approved,question_index:e.questionIndex}};case"sessions.seen":return{path:`/v1/desktop/sessions/${e.sessionId}/seen`,method:"POST",body:{completion_token:e.completionToken}};case"attention.seen":return{path:"/v1/desktop/attention/seen",method:"POST",body:{items:e.items.map(t=>({session_id:t.sessionId,completion_token:t.completionToken}))}};case"sessions.notified":return{path:`/v1/desktop/sessions/${e.sessionId}/notified`,method:"POST",body:{completion_token:e.completionToken}};case"sessions.pin":return{path:`/v1/desktop/sessions/${e.sessionId}/pin`,method:"POST",body:{pinned:e.pinned}};case"sessions.watch":return{path:`/v1/desktop/sessions/${e.sessionId}/watch`,method:"POST",body:{subscription_id:e.subscriptionId,visible:e.visible,can_notify:e.canNotify}};case"sessions.presence":return{path:"/v1/desktop/presence",method:"POST",body:{subscription_id:e.subscriptionId,can_notify_kinds:e.canNotifyKinds,session_id:e.sessionId,window:e.window,can_notify:e.canNotify}};case"sessions.move":return{path:`/v1/desktop/sessions/${e.sessionId}/working-directory`,method:"POST",body:{request_id:e.requestId,cwd:e.cwd}};case"sessions.warm":return{path:`/v1/desktop/sessions/${e.sessionId}/warm`,method:"POST",body:{}};case"sessions.interrupt":return{path:`/v1/desktop/sessions/${e.sessionId}/interrupt`,method:"POST",body:{request_id:e.requestId}};case"sessions.variables.list":return{path:`/v1/desktop/sessions/${e.sessionId}/variables`,method:"GET"};case"sessions.variables.create":return{path:`/v1/desktop/sessions/${e.sessionId}/variables`,method:"POST",body:{key:e.key,value:e.value,type:e.type}};case"sessions.variables.update":return{path:`/v1/desktop/sessions/${e.sessionId}/variables/${encodeURIComponent(e.key)}`,method:"PATCH",body:{value:e.value,type:e.type}};case"sessions.variables.delete":return{path:`/v1/desktop/sessions/${e.sessionId}/variables/${encodeURIComponent(e.key)}`,method:"DELETE"};case"legacy.models":{const t=new URLSearchParams;return e.provider&&t.set("provider",e.provider),e.sort&&t.set("sort",e.sort),e.direction&&t.set("direction",e.direction),{path:t.size>0?`/v1/models?${t}`:"/v1/models",method:"GET"}}case"legacy.models.providers":return{path:"/v1/models/providers",method:"GET"};case"auth.probe":return{path:`/v1/auth/providers/${e.provider}/probe`,method:"POST"};case"legacy.agent.upload":return{path:`/v1/agents/${e.agentId}/upload`,method:"POST"};case"agent.publish":{yr(e);const t=new URLSearchParams;e.visibility==="org"&&e.tenantId&&(t.set("visibility","org"),t.set("tenant_id",e.tenantId));const n=t.toString();return{path:`/v1/agents/${e.agentId}/publish${n?`?${n}`:""}`,method:"POST",body:{document:e.document??{}}}}case"agent.republish":{yr(e);const t=new URLSearchParams;e.visibility==="org"&&e.tenantId&&(t.set("visibility","org"),t.set("tenant_id",e.tenantId));const n=t.toString();return{path:`/v1/agents/${e.agentId}/publish${n?`?${n}`:""}`,method:"PUT",body:{hub_agent_id:e.hubAgentId,document:e.document??{}}}}case"team.pull":{const t=new URLSearchParams;e.tenantId&&t.set("tenant_id",e.tenantId);const n=t.toString();return{path:`/v1/teams/pull/${e.teamId}${n?`?${n}`:""}`,method:"GET"}}case"agent.nameAvailability":return{path:`/v1/agent-name-availability?${new URLSearchParams({name:e.name})}`,method:"GET"};case"legacy.agents.list":{const t=new URLSearchParams({page:String(e.page??1),per_page:String(e.perPage??10)});return e.name&&t.set("name",e.name),e.sort&&t.set("sort",e.sort),e.direction&&t.set("direction",e.direction),{path:`/v1/agents?${t}`,method:"GET"}}case"legacy.agent.get":return{path:`/v1/agents/${e.agentId}`,method:"GET"};case"legacy.agent.history":{const t=new URLSearchParams({page:String(e.page??1),per_page:String(e.perPage??10)});return{path:`/v1/agents/${e.agentId}/history?${t}`,method:"GET"}}case"wakes.list":{const t=new URLSearchParams;return e.limit!==void 0&&t.set("limit",String(e.limit)),e.includeDormant!==void 0&&t.set("include_dormant",String(e.includeDormant)),{path:t.size>0?`/v1/desktop/wakes?${t}`:"/v1/desktop/wakes",method:"GET"}}case"wakes.create":return{path:"/v1/desktop/wakes",method:"POST",body:{request_id:e.requestId,...Gc(e),message:e.message,...gr(e)}};case"wakes.edit":return{path:`/v1/desktop/wakes/${e.sessionId}/${e.wakeId}`,method:"PATCH",body:{...e.message!==void 0?{message:e.message}:{},...gr(e)}};case"wakes.remove":return{path:`/v1/desktop/wakes/${e.sessionId}/${e.wakeId}`,method:"DELETE"};case"legacy.jobs.list":{const t=new URLSearchParams;return e.agentId&&t.set("agent_id",e.agentId),e.status&&t.set("status",e.status),{path:t.size>0?`/v1/jobs?${t}`:"/v1/jobs",method:"GET"}}case"legacy.job.get":return{path:`/v1/jobs/${e.jobId}`,method:"GET"};case"legacy.schedules.list":return{path:`/v1/schedules?${new URLSearchParams({page:String(e.page??1),per_page:String(e.perPage??10)})}`,method:"GET"};case"legacy.agent.schedules.list":{const t=new URLSearchParams({page:String(e.page??1),per_page:String(e.perPage??10)});return{path:`/v1/agents/${e.agentId}/schedules?${t}`,method:"GET"}}case"legacy.agent.schedule.create":return{path:`/v1/agents/${e.agentId}/schedules`,method:"POST",body:e.schedule};case"legacy.schedule.get":return{path:`/v1/schedules/${e.scheduleId}`,method:"GET"};case"legacy.schedule.edit":return{path:`/v1/schedules/${e.scheduleId}`,method:"PATCH",body:e.schedule};case"legacy.schedule.remove":return{path:`/v1/schedules/${e.scheduleId}`,method:"DELETE"};case"legacy.agent.create":return{path:"/v1/agents",method:"POST",body:e.agent};case"legacy.agent.update":return{path:`/v1/agents/${e.agentId}`,method:"PATCH",body:e.update};case"legacy.agent.delete":return{path:`/v1/agents/${e.agentId}`,method:"DELETE"};case"legacy.agent.conversation.clear":return{path:`/v1/agents/${e.agentId}/conversation`,method:"DELETE"};case"legacy.agent.systemPrompt.get":return{path:`/v1/agents/${e.agentId}/system-prompt`,method:"GET"};case"legacy.agent.systemPrompt.update":return{path:`/v1/agents/${e.agentId}/system-prompt`,method:"PUT",body:{system_prompt:e.systemPrompt}};case"legacy.agent.download":return{path:`/v1/agents/${e.agentId}/download`,method:"GET"};case"legacy.job.cancel":return{path:`/v1/jobs/${e.jobId}`,method:"DELETE"};case"commands.list":return{path:"/v1/desktop/commands",method:"GET"};case"commands.entities":return{path:`/v1/desktop/sessions/${e.sessionId}/command-entities?command=${encodeURIComponent(e.command)}${e.name?`&name=${encodeURIComponent(e.name)}`:""}`,method:"GET"};case"models.catalogue":return{path:`/v1/desktop/models?live=${e.live??!1}`,method:"GET"};case"usage.get":{const t=new URLSearchParams({live:String(e.live??!1),refresh:String(e.refresh??!1)});return e.provider&&t.set("provider",e.provider),{path:`/v1/desktop/usage?${t}`,method:"GET"}}case"analytics.get":{const t=new URLSearchParams({days:String(e.days??30)});return e.sessionId&&t.set("session_id",e.sessionId),e.sinceMs!==void 0&&t.set("since_ms",String(e.sinceMs)),e.untilMs!==void 0&&t.set("until_ms",String(e.untilMs)),{path:`/v1/desktop/analytics?${t}`,method:"GET"}}case"analytics.models":{const t=new URLSearchParams({days:String(e.days??30)});return e.sessionId&&t.set("session_id",e.sessionId),e.sinceMs!==void 0&&t.set("since_ms",String(e.sinceMs)),e.untilMs!==void 0&&t.set("until_ms",String(e.untilMs)),{path:`/v1/desktop/analytics/models?${t}`,method:"GET"}}case"info.get":return{path:"/v1/desktop/info",method:"GET"};case"sessions.report":{const t=new URLSearchParams({recent_limit:String(e.recentLimit??12)});return{path:`/v1/desktop/sessions/${e.sessionId}/report?${t}`,method:"GET"}}case"skills.list":return{path:`/v1/desktop/skills?session_id=${e.sessionId}${e.name?`&name=${encodeURIComponent(e.name)}`:""}`,method:"GET"};case"sessions.failovers":return{path:`/v1/desktop/sessions/${e.sessionId}/failovers`,method:"GET"};case"sessions.credential":return{path:`/v1/desktop/sessions/${e.sessionId}/credentials`,method:"POST",body:{action:e.action,key:e.key,value:e.value,confirmed:e.confirmed}};case"sessions.fork":return{path:`/v1/desktop/sessions/${e.sessionId}/fork`,method:"POST",body:{request_id:e.requestId,message:e.message,boundary:e.boundary}};case"sessions.stop":return{path:"/v1/desktop/stop",method:"POST",body:{request_id:e.requestId,targets:e.targets,confirmed:e.confirmed}};case"sessions.aside":return{path:`/v1/desktop/sessions/${e.sessionId}/asides`,method:"POST",body:{request_id:e.requestId,text:e.text,aside_id:e.asideId,subscription_id:e.subscriptionId}};case"sessions.adopt":return{path:`/v1/desktop/sessions/${e.sessionId}/asides/${e.asideId}/adopt`,method:"POST",body:{request_id:e.requestId,confirmed:e.confirmed}};case"sessions.aside.get":case"sessions.aside.close":return{path:`/v1/desktop/sessions/${e.sessionId}/asides/${e.asideId}`,method:e.op==="sessions.aside.get"?"GET":"DELETE"};case"mcp.list":return{path:`/v1/desktop/sessions/${e.sessionId}/mcp`,method:"GET"};case"mcp.credentials.store":return{path:`/v1/desktop/sessions/${e.sessionId}/mcp/credentials`,method:"POST",body:{name:e.name,values:e.values,confirmed_replace:e.confirmedReplace}};case"mcp.control":return{path:`/v1/desktop/sessions/${e.sessionId}/mcp`,method:"POST",body:e.control};case"mcp.catalog":{const t=new URLSearchParams;e.cwd&&t.set("cwd",e.cwd),e.sessionId&&t.set("session_id",e.sessionId);const n=t.toString();return{path:n?`/v1/desktop/mcp?${n}`:"/v1/desktop/mcp",method:"GET"}}case"mcp.catalog.control":return{path:"/v1/desktop/mcp",method:"POST",body:{...e.control,...e.cwd?{cwd:e.cwd}:{}}};case"mcp.catalog.credentials":return{path:"/v1/desktop/mcp/credentials",method:"POST",body:{name:e.name,values:e.values,...e.header?{header:e.header}:{},confirmed_replace:e.confirmedReplace,...e.cwd?{cwd:e.cwd}:{}}};case"radient.request":return{path:"/v1/desktop/radient",method:"POST",body:e.control};case"providers.list":return{path:"/v1/auth/providers",method:"GET"};case"accounts.list":return{path:"/v1/auth/status",method:"GET"};case"accounts.remove":return{path:`/v1/auth/accounts/${e.accountId}`,method:"DELETE"};case"auth.start":return{path:"/v1/auth/login",method:"POST",body:{provider:e.provider}};case"auth.status":return{path:`/v1/auth/operations/${e.id}`,method:"GET"};case"auth.input":return{path:`/v1/auth/operations/${e.id}/input`,method:"POST",body:{prompt_id:e.promptId,value:e.value}};case"auth.cancel":return{path:`/v1/auth/operations/${e.id}`,method:"DELETE"};case"auth.key":return{path:`/v1/auth/providers/${e.provider}/key`,method:"PUT",body:{value:e.value}};case"auth.logout":return{path:`/v1/auth/providers/${e.provider}/credentials`,method:"DELETE"};case"settings.list":return{path:"/v1/settings",method:"GET"};case"settings.edit":return{path:`/v1/settings/${e.key}`,method:"PATCH",body:{value:e.value,base:e.base}};case"settings.reset":return{path:`/v1/settings/${e.key}/reset`,method:"POST"};case"config.get":return{path:"/v1/config",method:"GET"};case"config.update":return{path:"/v1/config",method:"PATCH",body:e.value};case"instructions.get":return{path:"/v1/config/system-prompt",method:"GET"};case"instructions.update":return{path:"/v1/config/system-prompt",method:"PATCH",body:{content:e.content}};case"credentials.list":return{path:"/v1/credentials",method:"GET"};case"credentials.update":return{path:"/v1/credentials",method:"PATCH",body:{key:e.key,value:e.value}};case"projects.list":return{path:"/v1/desktop/projects",method:"GET"};case"projects.get":return{path:`/v1/desktop/projects/${encodeURIComponent(e.key)}`,method:"GET"};case"projects.create":return{path:"/v1/desktop/projects",method:"POST",body:{name:e.name,...e.description!==void 0?{description:e.description}:{},...e.status!==void 0?{status:e.status}:{},...e.tags!==void 0?{tags:e.tags}:{}}};case"projects.update":return{path:`/v1/desktop/projects/${encodeURIComponent(e.key)}`,method:"PATCH",body:{...e.fields}};case"projects.delete":return{path:`/v1/desktop/projects/${encodeURIComponent(e.key)}`,method:"DELETE",body:{confirm:e.confirmed_name}};case"projects.link":return{path:`/v1/desktop/projects/${encodeURIComponent(e.key)}/links`,method:"POST",body:{session_id:e.sessionId}};case"projects.unlink":return{path:`/v1/desktop/projects/${encodeURIComponent(e.key)}/links/${encodeURIComponent(e.sessionId)}`,method:"DELETE"};case"projects.milestone":return{path:`/v1/desktop/projects/${encodeURIComponent(e.key)}/milestones`,method:"POST",body:{name:e.name,...e.targetDate!==void 0?{target_date:e.targetDate}:{},...e.completed!==void 0?{completed:e.completed}:{}}};case"projects.milestone.remove":return{path:`/v1/desktop/projects/${encodeURIComponent(e.key)}/milestones/${encodeURIComponent(e.name)}`,method:"DELETE"};case"aida.status":return{path:"/v1/desktop/aida",method:"GET"};case"aida.control":return{path:"/v1/desktop/aida",method:"POST",body:{op:e.action}}}}const Qp=64,Xp=64*1024*1024,At={notPaired:"This backend was not started with desktop controls.",serverDown:"The Local Operator server is not answering.",frameBudget:"The event stream exceeded its frame budget.",ended:"The event stream ended."},vr={statement:"Lost the connection to this conversation — reconnect to keep reading.",action:"reconnect"},Hc={statement:"The Local Operator server is not running — reconnect once it is back, or restart the app if it stays down.",action:"reconnect"},zc={statement:"This app is not paired with the Local Operator server, so this conversation cannot be read yet.",action:null},Kc={statement:"Could not load this conversation's history — reconnect to try again.",action:"reconnect"},Wc={statement:"This conversation's updates were too large to display — reconnect to try again.",action:"reconnect"};function _r(e){return e?e===At.notPaired?zc:e===At.serverDown?Hc:e===At.frameBudget?Wc:vr:vr}async function Ei(e){if(window.api?.desktop)try{return await Yc(window.api.desktop.request(e),e)}catch(n){throw n instanceof Y?n:Jc(n)?new it(Ti,Uc):new Y(null,"Desktop controls could not reach the backend process.",n)}let t;try{t=await fetch("/__desktop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}catch(n){throw new Y(null,"Desktop controls could not reach the backend process.",n)}if(!t.ok)throw new Y(t.status,"Desktop controls need a compatible backend connection.");return t.json()}function Yc(e,t){const n=ki(t);let s;return Promise.race([e,new Promise((r,i)=>{s=setTimeout(()=>{const o=Zc(t.op,n);i(new Y(null,o.message,void 0,o.code))},n)})]).finally(()=>clearTimeout(s))}class Y extends Error{status;cause;code;retryAfterMs;constructor(t,n,s,r,i){super(n),this.name="DesktopControlError",this.status=t,this.cause=s,this.code=r,this.retryAfterMs=i}}class it extends Error{code;constructor(t,n){super(t),this.name="UserFacingError",this.code=n}}function Tn(e,t){return e instanceof Y||e instanceof it?As(e.code)?Rs[e.code]:e.message:t}function Qc(e,t,n,s){return typeof s=="string"?s:n===rs.noCredential?ye.noCredential:n===rs.transportFailed?ye.transportFailed:wc(Vc(e).path,t)}async function ce(e){const t=await Ei(e),n=t.body;if(t.status<200||t.status>=300){const s=typeof n?.detail=="string"?n.detail:typeof n?.detail?.message=="string"?n.detail.message:null;throw new Y(t.status,s??"This server did not answer the request for its desktop controls.",void 0,Qc(e,t.status,s,typeof n?.detail=="object"?n.detail?.code:void 0),typeof n?.detail=="object"&&typeof n.detail?.retry_after_ms=="number"&&Number.isFinite(n.detail.retry_after_ms)?n.detail.retry_after_ms:void 0)}return n?.result}function Xc(e){return e instanceof Y&&e.code===Os}function Jp(e){return e instanceof Y?e.status===null||e.status===503:!1}function Jc(e){return e instanceof Error&&e.message.includes(Ti)}async function qp(e){const t=await Ei(e);return new Response(t.status===204?null:JSON.stringify(t.body),{status:t.status,headers:{"Content-Type":"application/json"}})}async function eh(e,t=!1){if(window.api?.desktop)return window.api.desktop.openAuthorization(e,t);const n=await ce({op:"auth.status",id:e});if(!n.auth_url)throw new Error("This sign-in is no longer waiting for a browser.");const s=new URL(n.auth_url);if(s.username||s.password||s.protocol!=="https:"&&!(s.protocol==="http:"&&["127.0.0.1","localhost","[::1]"].includes(s.hostname)))throw new Error("The provider returned an invalid sign-in address.");window.open(s.href,"_blank","noopener,noreferrer")}function qc(e,t){const n=window.api?.desktop?.stream;if(n){const i=n.subscribe(e,t);return()=>i.dispose()}const s=new URLSearchParams({session:e.sessionId});e.epoch&&s.set("epoch",e.epoch),e.afterSeq!==void 0&&s.set("after_seq",String(e.afterSeq)),s.set("frontend_replace","1");const r=new EventSource(`/__desktop/stream?${s}`);return r.onmessage=i=>{t({kind:"data",data:i.data})},r.onerror=()=>{r.readyState===EventSource.CLOSED&&(t({kind:"error",detail:At.ended}),r.close())},()=>{r.close(),t({kind:"end"})}}async function el(e,t){const n=window.api?.desktop?.media;if(n)return n(e,t);const s=await fetch("/__desktop/media",{method:"POST",headers:{"x-desktop-media":JSON.stringify(e),"Content-Type":"application/octet-stream"},body:t?new Blob([t]):void 0}),r=s.headers.get("content-type")??"";if(!s.ok){let i="The media request failed.";if(r.includes("application/json"))try{const o=await s.json();typeof o.detail=="string"&&(i=o.detail)}catch{}return{status:s.status,kind:"error",detail:i,code:i===rs.noCredential?ye.noCredential:void 0}}return r.includes("application/json")?{status:s.status,kind:"json",body:await s.json()}:{status:s.status,kind:"bytes",mimeType:r||"application/octet-stream",data:new Uint8Array(await s.arrayBuffer())}}function tl(e){return e.kind==="error"?As(e.code)?new it(Rs[e.code],e.code):new Error(e.detail):new Error("The media request returned an unexpected response.")}const th="superseded_completion_token",nh="store_busy";function sh(e,t,n){if(!e||typeof e!="object")return!1;const s=e;return s.unseen===!1&&s.conversation_id===`session/${t}`&&s.completion_token===n}function yt(e,t,n){return!t||t.conversation_id!==`session/${n}`||!Array.isArray(t.revision)||t.revision.length!==2||!t.revision.every(s=>Number.isSafeInteger(s)&&s>=0)||e?.conversation_id===t.conversation_id&&(t.revision[0]<e.revision[0]||t.revision[1]<e.revision[1])?e:t.supported===void 0&&e?.supported!==void 0?{...t,supported:e.supported}:t}function nl(e){const t=Number(e);return Number.isFinite(t)&&t>0?Math.round(t*1e3):null}const rh=e=>typeof e?.goal_status=="string",ih=e=>(e?.goal??"").trim().length>0;function sl(e,t,n){return n.session_id!==t||n.payload.frontend.snapshot.session_id!==t||!e?!1:e.epoch===n.epoch&&n.seq>e.seq}const xi=/\s+/,rl=/[\\/]+$/,il=/[\\/]/,Ii=`
|
|
2
|
-
|
|
3
|
-
`,ol=" — cancel with wake(",al=120,cl=/(?:\u001b[\]PX^_]|[\u009d\u0090\u0098\u009e\u009f])(?:(?!\u0007|\u001b\\|\u009c)[\s\S])*(?:\u0007|\u001b\\|\u009c|$)|(?:\u001b\[|\u009b)[0-?]*[ -/]*[@-~]|(?:\u001b\[|\u009b)[0-?]*[ -/]*$|\u001b[ -/]+[0-~]|\u001b[@-Z\\-_]|\u001b$|[\u0000-\u0008\u000b-\u001f\u007f-\u009f]/g,ll=new RegExp("\\p{Cf}","gu"),dl=4096;function is(e){return e==null?"":(typeof e=="string"?e:String(e)).replace(cl,"").replace(ll,"").split(xi).filter(Boolean).join(" ").slice(0,al)}function Ci(e){if(e.conversationName)return{name:e.conversationName,quoted:!0};const t=e.cwd.replace(rl,"");if(t){const n=t.split(il).pop()??"";if(n)return{name:`${n}/`,quoted:!1}}return e.sessionId?{name:e.sessionId.slice(0,8),quoted:!1}:{name:"",quoted:!1}}function Ri(e){const{name:t,quoted:n}=Ci(e);return t?n?`"${t}"`:t:e.pid?`pid ${e.pid}`:"another session"}function ul(e){const{name:t,quoted:n}=Ci(e),s=[];return e.pid&&s.push(`pid ${e.pid}`),e.modelLabel&&s.push(e.modelLabel),t?[n?`"${t}"`:t,...s].join(" · "):s.length>0?s.join(" · "):"another session"}function oh(e,t){return t.trim()?!0:ul(e)!==Ri(e)}function fl(e){for(const t of e.slice(0,dl).split(`
|
|
4
|
-
`)){const n=is(t);if(n)return n}return""}function ah(e,t){const n=Ri(e),s=fl(t);return s?`${n} · ${s}`:n}function pl(e,t){return e.pid===t.pid&&e.conversationName===t.conversationName&&e.cwd===t.cwd&&e.sessionId===t.sessionId&&e.modelLabel===t.modelLabel}const hl=/^<peer-session-message\s+((?:[^>"']|"[^"]*"|'[^']*')*)>([\s\S]*?)<\/peer-session-message>\s*$/,ml=/<\/?peer-session-message(?:[^>"']|"[^"]*"|'[^']*')*>/g,gl=/^<peer-session-message[^>]*>/,yl=/([a-zA-Z_]+)\s*=\s*(?:'([^']*)'|"([^"]*)"|([^\s>]+))/g;function vl(e){const t=String(e.text??e.detail??""),n=hl.exec(t.trim()),s={};if(n)for(const d of n[1].matchAll(yl))s[d[1]]=d[2]??d[3]??d[4]??"";const r=n?n[2]:"",o=(String(e.body??"").trim()||r||(n?"":t.trim().replace(gl,""))).replace(ml,"").trim(),c=e.sender??{},l=(d,u)=>is(d)||is(u);return{body:o,sender:{pid:l(c.pid,s.from_pid),conversationName:l(c.conversation_name,s.conversation),cwd:l(c.cwd,void 0),sessionId:l(c.session_id,void 0),modelLabel:l(c.model_label,s.model)}}}function _l(e){return!!e.wake_catchup}function ch(e){let t=e.split(Ii)[0]??"";t=t.split(xi).filter(Boolean).join(" "),t=t.split(ol)[0];const n="(alarm) ";for(;t.startsWith(n);)t=t.slice(n.length);const s="Scheduled wake ";return t.startsWith(s)&&(t=t.slice(s.length)),t.trim()}function lh(e){const t=e.indexOf(Ii);return t===-1?"":e.slice(t+2).trim()}const bl=new Set(["command","path","file_path","url","pattern","query","name","target","message","milestone"]),wl=new Set(["true","yes","y","t","on","1"]),Sl={hub:{steps:e=>{const t=br(e);return t!==null&&Number.isInteger(t)&&t>=0?`${t} ${t===1?"step":"steps"}`:""}},wait:{wait_ms:e=>{const t=br(e);return t!==null&&t>0?`· ${Oi(t/1e3)}`:""}}};function br(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(typeof e=="string"&&e!==""){const t=Number(e);return Number.isFinite(t)?t:null}return null}const wr="mcp__",kl=/^\/(?:Users|home)\/[^/]+\//,Tl=/\s+/;function El(e){return!e.startsWith("/")||e.includes(" ")?e:e.replace(kl,"~/")}function yn(e){return typeof e=="string"?El(e.trim()).replace(/\n/g," ").trim():typeof e=="number"||typeof e=="boolean"?String(e):""}function xl(e){return e.now?"now":e.wake===!1?"quiet":"wake"}function Il(e){const t=e.pid;if(typeof t=="number"&&Number.isFinite(t))return`pid ${t}`;const n=String(e.session??"").trim();return n?`session ${n}`:String(e.target??"").split(Tl).filter(Boolean).join(" ")||"?"}function Cl(e){return[xl(e),yn(Il(e))||"?",yn(e.message)].filter(Boolean).join(" · ")}function dh(e,t){const n=e.trim();if(!t)return n;if(n==="send")return Cl(t)||n;const s=Pl(n)?Object.entries(t).filter(([i])=>!Pi.has(i)):Object.entries(t);let r=s.filter(([i])=>bl.has(i)).map(([,i])=>yn(i)).filter(Boolean);if(r.length===0){const i=Sl[n.toLowerCase()];r=s.map(([o,c])=>i?.[o]?.(c)||yn(c)).filter(Boolean)}return r.slice(0,2).join(" ")||n}function Ai(e){const t=e.trim();if(!t.toLowerCase().startsWith(wr))return t;const n=t.slice(wr.length),s=n.indexOf("_");return s<=0?n||t:n.slice(s+1)||n}function Rl(e,t){return e===t||e===Ai(t)}const Al=/^(?:exit code:?\s*-?\d*|\(empty\)|--- (?:stdout|stderr) ---)$/,Ol="… ";function uh(e,t=!1){if(!e||t)return null;for(const n of e.split(`
|
|
5
|
-
`)){const s=n.trim();if(s&&!Al.test(s))return`${Ol}${s.slice(0,160)}`}return null}function Oi(e){const t=Math.max(0,Math.floor(e));if(t<60)return`${t}s`;if(t<3600){const r=Math.floor(t/60),i=t%60;return i===0?`${r}m`:`${r}m${i}s`}if(t<86400){const r=Math.floor(t/3600),i=Math.floor(t%3600/60);return i===0?`${r}h`:`${r}h${i}m`}const n=Math.floor(t/86400);if(n>99)return"100d+";const s=Math.floor(t%86400/3600);return s===0?`${n}d`:`${n}d${s}h`}function fh(e){if(e===null)return"";const t=Math.max(0,e);return t<.05?"<0.1s":t<10?`${t.toFixed(1)}s`:t<60?`${Math.round(t)}s`:Oi(t)}function Sr(e){const t=e*10,n=Math.floor(t),s=t-n;return((s>.5?n+1:s<.5||n%2===0?n:n+1)/10).toFixed(1)}function ph(e){return e<1024?`${e} B`:e<1024*1024?`${Sr(e/1024)} KB`:`${Sr(e/(1024*1024))} MB`}function kr(e){return typeof e!="number"||!Number.isInteger(e)||e<=0?0:e}const Tr={read:"read",glob:"read",grep:"read",web_fetch:"read",web_read:"read",web_search:"read",browser:"read",lsp:"read",list_variables:"read",read_variable:"read",write:"mutate",edit:"mutate",bash:"exec",eval:"exec",console:"exec",task:"meta",agent:"meta",team:"meta",hub:"meta",todo:"meta",send:"meta",wake:"meta",ask:"meta",wait:"meta",jobs:"meta",secret:"meta",network:"meta",project:"meta",team_delete:"meta",project_delete:"meta"};function hh(e){const t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(Tr,t)?Tr[t]:"plain"}function mh(e){if(!e)return"";for(const t of Pi){const n=e[t];if(typeof n=="string"&&n.trim()){const s=n.trim().toLowerCase(),r=e.remove,i=r===!0||r===1||typeof r=="string"&&wl.has(r.toLowerCase());return s==="milestone"&&i?"milestone-remove":s}}return""}const Pi=new Set(["op","action","method"]),Pl=e=>Object.prototype.hasOwnProperty.call(Di,e.trim().toLowerCase()),Dl={bash:{settled:"Ran",running:"Running"},eval:{settled:"Ran Python",running:"Running Python"},read:{settled:"Read",running:"Reading"},write:{settled:"Wrote",running:"Writing"},edit:{settled:"Edited",running:"Editing"},glob:{settled:"Listed",running:"Listing"},grep:{settled:"Searched",running:"Searching"},web_search:{settled:"Searched the web",running:"Searching the web"},web_fetch:{settled:"Fetched",running:"Fetching"},web_read:{settled:"Read",running:"Reading"},browser:{settled:"Browsed",running:"Browsing"},list_variables:{settled:"Listed variables",running:"Listing variables"},read_variable:{settled:"Read variable",running:"Reading variable"},ask:{settled:"Asked",running:"Asking"},send:{settled:"Sent",running:"Sending"},wait:{settled:"Waited for jobs",running:"Waiting for jobs"},team_delete:{settled:"Deleted team",running:"Deleting team"},project_delete:{settled:"Deleted project",running:"Deleting project"},peer:{settled:"Received",running:"Receiving"},task:{settled:"Delegated",running:"Delegating"}},Di={agent:{list:{settled:"Listed agents",running:"Listing agents"},show:{settled:"Viewed agent",running:"Viewing agent"},search:{settled:"Searched agents",running:"Searching agents"},install:{settled:"Installed agent",running:"Installing agent"},reset:{settled:"Reset agent",running:"Resetting agent"},create:{settled:"Created agent",running:"Creating agent"},update:{settled:"Updated agent",running:"Updating agent"},sync:{settled:"Synced agents",running:"Syncing agents"}},team:{list:{settled:"Listed teams",running:"Listing teams"},show:{settled:"Viewed team",running:"Viewing team"},create:{settled:"Created team",running:"Creating team"},update:{settled:"Updated team",running:"Updating team"}},hub:{list:{settled:"Listed subagents",running:"Listing subagents"},peek:{settled:"Peeked at",running:"Peeking at"},send:{settled:"Messaged",running:"Messaging"},ask:{settled:"Asked",running:"Asking"},steer:{settled:"Steered",running:"Steering"},pause:{settled:"Paused",running:"Pausing"},cancel:{settled:"Cancelled",running:"Cancelling"},resume:{settled:"Resumed",running:"Resuming"}},secret:{store:{settled:"Stored secret",running:"Storing secret"},retrieve:{settled:"Retrieved secret",running:"Retrieving secret"},list:{settled:"Listed secrets",running:"Listing secrets"},describe:{settled:"Described secret",running:"Describing secret"},update:{settled:"Updated secret",running:"Updating secret"},delete:{settled:"Deleted secret",running:"Deleting secret"}},project:{list:{settled:"Listed projects",running:"Listing projects"},show:{settled:"Viewed project",running:"Viewing project"},create:{settled:"Created project",running:"Creating project"},update:{settled:"Updated project",running:"Updating project"},link:{settled:"Linked session to",running:"Linking session to"},unlink:{settled:"Unlinked session from",running:"Unlinking session from"},milestone:{settled:"Updated milestone",running:"Updating milestone"},"milestone-remove":{settled:"Removed milestone",running:"Removing milestone"}},todo:{view:{settled:"Read todos",running:"Reading todos"},init:{settled:"Updated todos",running:"Updating todos"},add:{settled:"Updated todos",running:"Updating todos"},done:{settled:"Updated todos",running:"Updating todos"},block:{settled:"Updated todos",running:"Updating todos"},drop:{settled:"Updated todos",running:"Updating todos"}},wake:{create:{settled:"Scheduled",running:"Scheduling"},list:{settled:"Listed wakes",running:"Listing wakes"},cancel:{settled:"Cancelled wake",running:"Cancelling wake"}},jobs:{list:{settled:"Listed jobs",running:"Listing jobs"},peek:{settled:"Peeked at",running:"Peeking at"},cancel:{settled:"Cancelled job",running:"Cancelling job"}},network:{status:{settled:"Checked network status",running:"Checking network status"},ls:{settled:"Listed networks",running:"Listing networks"},show:{settled:"Viewed network",running:"Viewing network"},peers:{settled:"Listed network peers",running:"Listing network peers"},log:{settled:"Read network log",running:"Reading network log"},doctor:{settled:"Diagnosed network",running:"Diagnosing network"},init:{settled:"Created network",running:"Creating network"},invite:{settled:"Invited device",running:"Inviting device"},join:{settled:"Joined network",running:"Joining network"},member_rm:{settled:"Removed device",running:"Removing device"},disconnect:{settled:"Left network",running:"Leaving network"},panic:{settled:"Raised panic",running:"Raising panic"}},console:{list:{settled:"Listed consoles",running:"Listing consoles"},create:{settled:"Opened console",running:"Opening console"},status:{settled:"Checked console",running:"Checking console"},read:{settled:"Read console",running:"Reading console"},screenshot:{settled:"Captured console",running:"Capturing console"},input:{settled:"Typed in console",running:"Typing in console"},keys:{settled:"Sent keys",running:"Sending keys"},resize:{settled:"Resized console",running:"Resizing console"},secure:{settled:"Updated secure input",running:"Updating secure input"},close:{settled:"Closed console",running:"Closing console"}},lsp:{definitions:{settled:"Found definition",running:"Finding definition"},references:{settled:"Found references",running:"Finding references"},symbols:{settled:"Listed symbols",running:"Listing symbols"},rename_preview:{settled:"Previewed rename",running:"Previewing rename"}}};function Nl(e,t){const n=e.trim().toLowerCase(),s=(t??"").trim().toLowerCase(),r=s?Di[n]?.[s]:void 0;if(r)return{...r,named:!0};const i=Dl[n];return i?{...i,named:!0}:{settled:"Called",running:"Calling",named:!1}}function gh(e,t,n,s,r=""){const i=Nl(e,r),o=Rl(t,e)?n??"":t;return{verb:s?i.running:i.settled,object:i.named?o:[Ai(e),o].filter(Boolean).join(" ")}}const Ll=new Set(["write","edit"]);function jl(e){return Ll.has(e.trim().toLowerCase())}function yh(e){return jl(e.toolName)&&e.diff!==null&&!e.isError}function Ni(e){if(!e||typeof e!="object")return null;const t=e.diff;if(typeof t=="string")return t?t.split(`
|
|
6
|
-
`):null;if(!Array.isArray(t))return null;const n=t.filter(s=>typeof s=="string");return n.length?n:null}function Ml(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Li(e,t){return e===null||Ml(e,t)?t:e}function ji(e,t){if(!e||typeof e!="object")return{added:t?.added??0,removed:t?.removed??0};const n=e;return{added:kr(n.added),removed:kr(n.removed)}}function $l(e){return e.length>=2&&os(e[0])==="---"&&os(e[1])==="+++"?e.slice(2):e.slice()}const Ul=/\s+$/;function os(e){return e.replace(Ul,"")}function Fl(e){const t=e.slice(0,1);return t==="@"?"hunk":t==="+"?"added":t==="-"?"removed":"context"}const Bl=40;function vh(e){const t=$l(e),n=t.slice(0,Bl);return{lines:n.map(s=>{const r=os(s);return{text:r,marker:r.slice(0,1),kind:Fl(r)}}),hidden:t.length-n.length}}function _h(e){return`… ${e} more diff line${e===1?"":"s"}`}const Ue={records:[],index:new Map,generation:0,compacting:!1,compactingSince:0,viewEpoch:0,oldestId:null,hasMore:!1,argsByCall:new Map};function Mi(e){return e==="skipped"||e==="aborted"}function Er(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function xr(e,t,n,s){return Er(n.args)??(s?.kind==="tool"?s.args:null)??Er(e.argsByCall.get(t)?.arguments)}function $i(e){return e?e.type==="image"||typeof e.attachment=="string"&&e.attachment?!0:typeof e.data=="string"&&e.data.length>0:!1}function qe(e){const t=e?.content;return Array.isArray(t)?t.filter(n=>n&&!$i(n)).filter(n=>(n.type??"text")==="text").map(n=>n.text??"").join(""):""}function vn(e,t,n){const s=e?.content;if(!Array.isArray(s))return n?.length?n:Ot;const r=[];for(const i of s)$i(i)&&r.push({id:`${t}:${r.length}`,data:typeof i.data=="string"&&i.data?i.data:null,attachment:typeof i.attachment=="string"&&i.attachment?i.attachment:null,mimeType:typeof i.mime_type=="string"&&i.mime_type?i.mime_type:"image/png"});return r.length===0?Ot:n&&Ui(n,r)?n:r}const Ot=[];function Zl(e,t){return e.length===0&&t.length>0?t:e}function Ui(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n].id!==t[n].id||e[n].data!==t[n].data||e[n].attachment!==t[n].attachment||e[n].mimeType!==t[n].mimeType)return!1;return!0}function St(e){const t=new Map;return e.forEach((n,s)=>t.set(n.id,s)),t}function Gl(e,t){return t&&(!e||t.epoch!==e.epoch||t.seq>=e.seq)?t:e}const Vl=new Set;function Fi(e,t=Vl){const n=o=>o.kind==="user"&&o.provisional===!0,s=e.map((o,c)=>({record:o,position:c})),r=s.reduce((o,c)=>n(c.record)&&c.position<o?c.position:o,Number.POSITIVE_INFINITY),i=o=>n(o.record)||o.position>r&&!t.has(o.record.id);return s.sort((o,c)=>{const l=i(o),d=i(c);return l!==d?l?1:-1:l?o.position-c.position:o.record.ts!==c.record.ts?o.record.ts-c.record.ts:o.position-c.position}).map(o=>o.record)}function as(e,t){const n=e,s=t,r=Object.keys(n);if(r.length!==Object.keys(s).length)return!1;for(const i of r)if(n[i]!==s[i]){if(i==="images"){const o=n[i],c=s[i];if(Array.isArray(o)&&Array.isArray(c)&&Ui(o,c))continue}if(i==="frame"){const o=n[i],c=s[i];if(o!==void 0&&c!==void 0&&o.epoch===c.epoch&&o.seq===c.seq)continue}return!1}return!0}function ee(e,t){const n=e.index.get(t.id);if(n!==void 0){const i=e.records[n];if(as(i,t))return e;const o=e.records.slice();return o[n]=t,{...e,records:o}}const s=[...e.records,t],r=new Map(e.index);return r.set(t.id,s.length-1),{...e,records:s,index:r}}function Ps(e,t){if(!e.records.some(t))return e;const n=e.records.filter(s=>!t(s));return{...e,records:n,index:St(n)}}function Ir(e,t){const n=`tool:${t}`,s=e.index.get(n);if(s===void 0)return e;const r=e.records[s];return r.kind==="tool"&&(r.phase==="composing"||r.phase==="queued")?Ps(e,i=>i.id===n):e}function Hl(e,t,n){const s=e.index.get(`tool:${t}`);if(s===void 0)return e;const r=e.records[s];if(!(r.kind==="tool"&&(r.phase==="composing"||r.phase==="queued")))return e;const i=e.records.slice();return i[s]=n,{...e,records:i,index:St(i)}}const zl=new Set(["frontend_state_checkpoint_v1","session_state","hub_communication","wake_schedule","prune"]);function Bi(e){const t=e.trim()||"compaction did not run";return{text:`Compaction did not run${t.includes(":")?" — ":": "}${t}`,level:t.startsWith("compaction failed")?"error":"warning"}}function Kl(e,t){const n=Nr(e),s=Nr(t);return n===s?`Context compacted to ${s} tokens`:`Context compacted, ${n} to ${s} tokens`}const Zi="Context compacted",Wl=12e4;function Gi(e){const t=[],n=[];for(const d of e)d.kind==="compaction"&&(d.id.startsWith("compaction:")?t.push(d):n.push(d));if(t.length===0||n.length===0)return e;const s=new Set,r=new Set,i=new Map,o=(d,u)=>{s.add(u.id),r.add(d.id),i.set(u.id,d.text)},c=[...t].sort((d,u)=>d.ts-u.ts);for(const d of c){if(d.before===void 0)continue;const u=n.find(f=>!s.has(f.id)&&f.before===d.before);u&&o(d,u)}const l=[];for(const d of c)if(!r.has(d.id))for(const u of n){if(u.before!==void 0)continue;const f=Math.abs(u.ts-d.ts);f>Wl||l.push({live:d,durable:u,distance:f})}l.sort((d,u)=>d.distance-u.distance);for(const{live:d,durable:u}of l)r.has(d.id)||s.has(u.id)||o(d,u);return r.size===0?e:e.filter(d=>!r.has(d.id)).map(d=>{const u=i.get(d.id);return u===void 0||d.kind!=="compaction"&&d.kind!=="notice"||u===d.text?d:{...d,text:u}})}function Yl(e){const t=Gi(e.records);return t===e.records?e:{...e,records:t,index:St(t)}}const Ql="peer_message",Xl="wake_prompt",Jl="session_mcp_unavailable",ql=new Set(["session_mcp_recovery","session_model_switch","session_credential"]),ed=/^\[session incident(?:\s*\(([^)]*)\))?\]\s*([^:\n]{1,40}):\s*/,Cr=/^<\/?[a-z][a-z0-9-]*(\s[^>]*)?>$/i,td=new Set(["this changes your instructions. apply it from now on, and drop work it makes pointless.","answer it now with the `hub` tool — a short, direct reply — then carry on with what you were doing. do not restructure your work around the question.","this is a note, not a question. no reply is needed unless it changes what you should do."]),Vi=/^\[[^\]]{1,32}\]\s*/,_n="Reason:",nd=/[\n;,(]| [—–] /,sd=/^\d+\.$/,rd=/[A-Z]/,id=/\s/,Pt=160;function od(e,t,n){if(e==="session_incident")return{level:"error",...ud(t,n)};let s;return e===Jl?s=ad(t):ql.has(e)?s=ld(t.trim().replace(Vi,"")):s=fd(t),{level:"info",category:null,provider:null,...s}}function ad(e){const t=e.trim().replace(Vi,"").split(`
|
|
7
|
-
`).map(c=>c.trim()),n=t[0]??"",s=t[1]?.startsWith(_n)?t[1]:null,r=t.slice(s?2:1).filter(Boolean).join(`
|
|
8
|
-
`),i=(s?`${n} ${s}`:n).trim();if(i.length<=Pt)return{headline:i,detail:r||null};const o=s===null?null:cd(s);if(o!==null){const c=(f,p)=>`${_n} ${[f,p].filter(Boolean).join(" ")}`,l=f=>[f,r].filter(Boolean).join(`
|
|
9
|
-
`)||null,d=`${n} ${c(o.leading,o.clause)}`;if(d.length<=Pt)return{headline:d,detail:l(o.rest)};const u=`${n} ${c("",o.clause)}`;if(u.length<=Pt)return{headline:u,detail:l([o.leading,o.rest].filter(Boolean).join(" "))}}return{headline:Hi(i),detail:[s,r].filter(Boolean).join(`
|
|
10
|
-
`)||null}}function cd(e){const t=e.startsWith(_n)?e.slice(_n.length):e,n=t.indexOf("/mcp");if(n<0)return null;const s=t.slice(n),r=s.search(nd),i=(r<0?s:s.slice(0,r)).trim();return i?{leading:t.slice(0,n).trim(),clause:i,rest:(r<0?"":s.slice(r)).trim()}:null}function ld(e){const t=e.trim(),n=dd(t);if(n<0)return{headline:t,detail:null};const s=t.slice(n).trim();return{headline:t.slice(0,n).trim(),detail:s||null}}function dd(e){for(let t=0;t<e.length-1;t++)if(".!?…".includes(e[t])&&id.test(e[t+1])&&!sd.test(e.slice(0,t+1))&&rd.test(e.slice(t+1).trimStart()[0]??""))return t+1;return-1}function ud(e,t){const n=e.split(`
|
|
11
|
-
`),s=n[0].match(ed),i=(typeof t.raw=="string"?t.raw.trim():"")||(s?n[0].slice(s[0].length):n[0]).trim()||e.trim(),o=n.slice(1).join(`
|
|
12
|
-
`).trim();return{provider:(s?.[1]??"").trim()||null,category:(s?.[2]??"").trim()||null,headline:i,detail:o||null}}function fd(e){const t=pd(e),n=e.split(`
|
|
13
|
-
`).map(s=>s.trim()).filter(Boolean).join(" ");return{headline:t,detail:n===t?null:e}}function pd(e){const t=e.split(`
|
|
14
|
-
`).map(c=>c.trim()).filter(Boolean),n=c=>!Cr.test(c)&&!hd(c),s=t.find(n),r=t.find(c=>Cr.test(c)&&!c.startsWith("</"));let i=s??r??e.trim();const o=t.indexOf(i);if(o>=0&&i.endsWith(":")){const c=t.slice(o+1).find(n);c&&(i=`${i} ${c}`)}return Hi(i)}function hd(e){return td.has(e.replace(/\s+/g," ").trim().toLowerCase())}function Hi(e){const t=e.trim();if(t.length<=Pt)return t;const n=t.slice(0,Pt),s=n.lastIndexOf(" ");return`${(s>0?n.slice(0,s):n).trimEnd()}…`}const md="harness_injected",zi=e=>!e||typeof e!="object"?!1:e[md]===!0;function gd(e,t){const n=e.payload??{},s=Math.round((e.ts??0)*1e3);if(e.type==="compaction"){const o=t?.kind==="compaction"?t.text:Zi,c=n.tokens_before;return{kind:"compaction",id:e.id,ts:s,text:o,...typeof c=="number"?{before:c}:{}}}if(e.type==="message"&&n.custom_type==="compaction_refused"){const o=n.details??{},c=Bi(String(o.detail??""));return{kind:"notice",id:e.id,ts:s,text:c.text,level:c.level}}if(e.type==="custom"&&n.custom_type==="completion_attention"){const o=n.details??{};if(typeof o.anchor=="string"&&(o.kind==="error"||o.kind==="interrupted"))return{kind:"notice",id:o.anchor,ts:s,complete:!0,text:o.kind==="error"?"Stopped with an error":"Interrupted",level:o.kind==="error"?"error":"warning"}}if(e.type!=="message")return null;if(String(n.kind??"message")==="custom"){const o=String(n.custom_type??"");if(zl.has(o))return null;const c=n.details??{};if(o===Ql){const{body:d,sender:u}=vl(c);return{kind:"peer",id:e.id,ts:s,body:d,sender:t?.kind==="peer"&&pl(t.sender,u)?t.sender:u}}if(o===Xl){if(_l(c))return null;const d=String(c.text??"");return d.trim()?{kind:"wake",id:e.id,ts:s,text:d}:null}const l=String(c.text??c.detail??"");return l.trim()?{kind:"custom",id:e.id,ts:s,customType:o,text:l,attribution:n.attribution??"system",...od(o,l,c)}:null}const i=String(n.role??"");if(i==="user"){if(zi(n.provider_payload))return null;const o=qe(n);return o.startsWith("Harness recovery notice:")?{kind:"notice",id:e.id,ts:s,text:o,level:"warning"}:{kind:"user",id:e.id,ts:s,text:o,images:vn(n,e.id,t?.kind==="user"?t.images:void 0)}}if(i==="assistant"){const o=Array.isArray(n.tool_calls)?n.tool_calls:[],c=qe(n);return!c&&o.length>0?{kind:"assistant",id:e.id,ts:s,text:"",streaming:!1,stopReason:String(n.stop_reason??"toolUse"),error:!1}:{kind:"assistant",id:e.id,ts:s,text:c,complete:!0,streaming:!1,stopReason:n.stop_reason??null,error:!!n.is_error}}if(i==="tool"){const o=String(n.tool_call_id??e.id),c=n.provider_payload??{},l=c.details??{},d=Mi(l.__fault);return{kind:"tool",id:`tool:${o}`,ts:s,toolCallId:o,toolName:String(n.tool_name??""),intent:null,args:null,phase:"done",argumentBytes:0,notRunReason:null,notRunKind:null,neverSent:!1,output:qe(n)||null,isError:d?!1:!!n.is_error,durationS:typeof c.duration_s=="number"?c.duration_s:null,startedAt:null,endedAt:null,images:vn(n,`tool:${o}`,t?.kind==="tool"?t.images:void 0),...ji(c.details,t?.kind==="tool"?t:null),diff:Li(Ni(c.details),t?.kind==="tool"?t.diff:null),stopped:d}}return null}function It(e,t,n={}){const s=n.keepPaging===!0&&e.viewEpoch>0,r=[];for(const h of t.entries){if(s&&!Od(h,e.clearedAt))continue;const v=e.records[e.index.get(h.id)??-1]??e.records[e.index.get(`tool:${String(h.payload?.tool_call_id??"")}`)??-1],E=gd(h,v);E&&r.push(E)}let i=e.argsByCall,o=!1;for(const h of t.entries){const v=h.payload?.tool_calls;if(!Array.isArray(v))continue;const E=Math.round((h.ts??0)*1e3);for(const A of v)!A||typeof A.id!="string"||i.has(A.id)||(o||(i=new Map(i),o=!0),i.set(A.id,{...A,anchoredAt:E}))}for(let h=0;h<r.length;h++){const v=r[h];if(v.kind!=="tool")continue;const E=i.get(v.toolCallId);if(!E)continue;const A=E.arguments??null;r[h]={...v,args:A,intent:typeof A?.i=="string"?A.i:null}}const c=o?e.records.map(h=>{if(h.kind!=="tool"||h.args)return h;const E=i.get(h.toolCallId)?.arguments??null;return E?{...h,args:E,intent:h.intent??(typeof E.i=="string"?E.i:null)}:h}):e.records,l=n.replace?Ue:{...e,records:c},d=new Map(l.records.map(h=>[h.id,h]));let u=n.replace||!n.replace&&c!==e.records;for(const h of r){const v=d.get(h.id);if(!v){u=!0,d.set(h.id,h);continue}if(v.kind==="tool"&&h.kind==="tool"){const E={...h,args:h.args??v.args,intent:h.intent??v.intent,images:v.images.length?v.images:h.images};as(v,E)||(u=!0,d.set(h.id,E));continue}as(v,h)||(u=!0,d.set(h.id,h))}const f=e.compacting&&t.entries.some(h=>e.index.has(h.id)||Math.round((h.ts??0)*1e3)<e.compactingSince?!1:h.type==="compaction"||h.type==="message"&&h.payload?.custom_type==="compaction_refused");if(!u&&e.hasMore===t.has_more&&!f)return e;const p=Gi(Fi([...d.values()],new Set(r.map(h=>h.id)))),w=t.entries[0];let T=l.oldestId;if(n.keepPaging)return{...e,records:p,index:St(p),argsByCall:i};if(w){const h=Math.round((w.ts??0)*1e3),v=T?l.records[l.index.get(T)??-1]:void 0;(!v||h<=v.ts)&&(T=w.id)}return{...e,records:p,index:St(p),oldestId:T,hasMore:t.has_more,argsByCall:i,compacting:f?!1:e.compacting,compactingSince:f?0:e.compactingSince}}const Un={settledAssistantUpdate:0,seededDeltaWithheld:0,staleUpdateFrameDropped:0};function cs(e,t,n=Date.now(),s={}){const r=t.message,i=s.frame;switch(t.type){case"agent_start":{const o=Number(t.generation??e.generation+1);return o===e.generation?e:{...e,generation:o,compacting:!1,compactingSince:0}}case"compaction_start":return e.compacting?e:{...e,compacting:!0,compactingSince:n};case"agent_end":{if(Number(t.generation??e.generation)<e.generation)return e;let c=e;for(const l of e.records)if(l.kind==="assistant"&&l.streaming&&(c=ee(c,{...l,streaming:!1,settledAt:n,stopReason:t.aborted?"aborted":l.stopReason})),l.kind==="tool"&&l.phase!=="done"){const d=l.phase==="composing"||l.phase==="queued";c=ee(c,{...l,phase:"done",startedAt:null,stopped:!!t.aborted||d,neverSent:l.neverSent||d})}return c}case"message_start":{if(!r||typeof r.id!="string")return e;const o=e.records[e.index.get(r.id)??-1];if(r.role==="user"){if(zi(r.provider_payload))return e;const c=o?.kind==="user"&&o.provisional===!0;return ee(e,{kind:"user",id:r.id,ts:c?Ls(e,n):n,text:qe(r),images:vn(r,r.id,o?.kind==="user"?o.images:void 0),...c?{provisional:!0}:{}})}return r.role!=="assistant"||o?e:ee(e,{kind:"assistant",id:r.id,ts:n,text:"",streaming:!0,...i?{frame:i}:{},stopReason:null,error:!1})}case"message_update":{if(!r||typeof r.id!="string")return e;const o=e.index.get(r.id),c=String(t.delta??""),l=qe(r);if(o===void 0)return!l&&!c?e:ee(e,{kind:"assistant",id:r.id,ts:n,text:l?l+c:c,streaming:!0,truncated:l===""?"prefix":void 0,...i?{frame:i}:{},stopReason:null,error:!1});const d=e.records[o];if(d.kind!=="assistant")return e;if(!d.streaming)return Un.settledAssistantUpdate+=1,e;if(s.seed!==!0&&i&&d.frame&&i.epoch===d.frame.epoch&&i.seq<=d.frame.seq)return Un.staleUpdateFrameDropped+=1,e;const u=Gl(d.frame,i);if(s.seed===!0&&!l)return!d.text&&!c?e:(Un.seededDeltaWithheld+=d.text?1:0,ee(e,{...d,text:d.text||c,...u?{frame:u}:{},truncated:d.text?"interrupted":"prefix"}));let f;if(l){if(f=l+c,f.length<=d.text.length)return e}else{if(!c)return e;f=d.text+c}return ee(e,{...d,text:f,...u?{frame:u}:{},truncated:l?void 0:d.truncated})}case"message_end":{if(!r||typeof r.id!="string"||r.role!=="assistant")return e;const o=e.index.get(r.id),c=qe(r),l=o===void 0?void 0:e.records[o],d={kind:"assistant",id:r.id,ts:o===void 0?n:e.records[o].ts,text:c,streaming:!1,settledAt:l?.kind==="assistant"&&l.settledAt!==void 0?l.settledAt:n,stopReason:r.stop_reason??null,error:!!r.is_error};return ee(e,d)}case"history_delta":{const c={entries:(Array.isArray(t.messages)?t.messages:[]).map(l=>({id:String(l.id??""),ts:n/1e3,type:"message",payload:{kind:l.custom_type?"custom":"message",...l}})),has_more:e.hasMore};return It(e,c,{replace:t.reset===!0})}case"tool_call_compose":{const o=String(t.tool_call_id??"");if(!o)return e;const c=String(t.supersedes_tool_call_id??""),l=`tool:${o}`,d=e.records[e.index.get(l)??-1],u=c?e.records[e.index.get(`tool:${c}`)??-1]:void 0,f=d?.kind==="tool"?d:u?.kind==="tool"?u:void 0;if(f&&f.phase!=="composing"&&f.phase!=="queued")return c&&d?.kind==="tool"?Ir(e,c):e;const w=String(t.not_run_reason??"").trim()||null,T=String(t.not_run_kind??"").trim()||null,h=Number(t.argument_bytes??0),v={kind:"tool",id:l,ts:f?.ts??n,toolCallId:o,toolName:String(t.tool_name??""),intent:t.intent??null,args:null,phase:w?"done":t.dictation_complete===!0?"queued":"composing",argumentBytes:h>0?h:f?.argumentBytes??0,output:null,isError:!1,durationS:null,startedAt:null,endedAt:null,images:Ot,added:0,removed:0,diff:null,stopped:!1,notRunReason:w,notRunKind:w?T:null,neverSent:w!==null};return c&&u?.kind==="tool"&&d?.kind!=="tool"?Hl(e,c,v):ee(c&&d?.kind==="tool"?Ir(e,c):e,v)}case"tool_execution_start":{const o=String(t.tool_call_id??"");if(!o)return e;const c=`tool:${o}`,l=e.records[e.index.get(c)??-1];if(l&&l.kind==="tool"&&l.phase==="done"&&!l.notRunReason)return e;const d=xr(e,o,t,l),u=d&&!e.argsByCall.has(o)?new Map(e.argsByCall).set(o,{arguments:d,anchoredAt:Dt(t)??n}):e.argsByCall,f=u===e.argsByCall?e:{...e,argsByCall:u};return ee(f,{kind:"tool",id:c,ts:l?.ts??n,toolCallId:o,toolName:String(t.tool_name??""),intent:t.intent??(typeof d?.i=="string"?d.i:null),args:d,phase:"running",notRunReason:null,notRunKind:null,neverSent:!1,argumentBytes:0,output:null,isError:!1,durationS:null,startedAt:Dt(t)??(l?.kind==="tool"&&l.startedAt!==null?l.startedAt:n),endedAt:null,images:l?.kind==="tool"?l.images:Ot,added:0,removed:0,diff:l?.kind==="tool"?l.diff:null,stopped:!1})}case"tool_execution_end":{const o=String(t.tool_call_id??"");if(!o)return e;const c=`tool:${o}`,l=e.records[e.index.get(c)??-1],d=t.result??{},u=xr(e,o,t,l),f=l&&l.kind==="tool"?l:{kind:"tool",id:c,ts:n,toolCallId:o,toolName:String(t.tool_name??""),intent:null,args:null,phase:"done",argumentBytes:0,notRunReason:null,notRunKind:null,neverSent:!1,output:null,isError:!1,durationS:null,startedAt:null,endedAt:null,images:Ot,added:0,removed:0,diff:null,stopped:!1},p=u&&!e.argsByCall.has(o)?new Map(e.argsByCall).set(o,{arguments:u,anchoredAt:Dt(t)??n}):e.argsByCall,w=p===e.argsByCall?e:{...e,argsByCall:p},T=s.userStoppedAt??null,h=!!(t.is_error??d.is_error),v=Mi(d.details?.__fault),E=T!==null&&(typeof f.startedAt=="number"?f.startedAt<=T:h);return ee(w,{...f,args:u,phase:"done",notRunReason:null,notRunKind:null,neverSent:!1,output:qe(d)||null,isError:E||v?!1:h,durationS:typeof t.duration_s=="number"?t.duration_s:null,endedAt:typeof t.duration_s=="number"&&typeof f.startedAt=="number"?f.startedAt+t.duration_s*1e3:null,startedAt:null,images:Zl(vn(d,c,f.images),f.images),...ji(d.details,f),diff:Li(Ni(d.details),f.diff),stopped:f.stopped||E||v})}case"notice":{const o=String(t.text??"");if(!o)return e;const c=`notice:${e.generation}:${o}`;return e.index.has(c)?e:ee(e,{kind:"notice",id:c,ts:n,text:o,level:t.kind??"info"})}case"compaction_end":{const o=Number(t.tokens_before??0),c=Number(t.tokens_after??0),d=!!t.success?null:Bi(String(t.detail??"")),u=d?d.text:o&&c?Kl(o,c):Zi,f=`compaction:${e.generation}:${o}:${c}`,p=e.compacting?{...e,compacting:!1,compactingSince:0}:e;return p.index.has(f)?p:d?ee(p,{kind:"notice",id:f,ts:n,text:u,level:d.level}):Yl(ee(p,{kind:"compaction",id:f,ts:n,text:u,before:o}))}case"retry_start":{const o=`Retrying after an error (attempt ${String(t.attempt??"?")})${t.fallback_model?`, falling back to ${String(t.fallback_model)}`:""}`,c=`retry:${e.generation}:${String(t.attempt??"")}`;return e.index.has(c)?e:ee(e,{kind:"notice",id:c,ts:n,text:o,level:"warning"})}case"subagent_end":{const o=`subagent:${String(t.job_id??"")}`,c=String(t.status??""),l=`${String(t.label??"Subagent")} ${c||"finished"}`,d=e.records[e.index.get(o)??-1];return d&&d.kind==="notice"&&d.text===l?e:ee(e,{kind:"notice",id:o,ts:d?.ts??n,text:l,level:c==="failed"?"error":"info"})}default:return e}}function Dt(e){return nl(e.started_at_epoch)}function Ki(e){if(!e.type.startsWith("tool_"))return null;const t=String(e.tool_call_id??"");return t||null}function yd(e){const t=Ki(e);if(t)return`tool:${t}`;const n=e.message;return typeof n?.id=="string"&&n.id?n.id:null}function vd(e,t){const n=Dt(e);if(n!==null)return n;const s=Ki(e);if(!s)return null;const r=t.argsByCall.get(s)?.anchoredAt;return typeof r=="number"&&Number.isFinite(r)&&r>0?r:null}function Ds(e){return e.type!=="tool_call_compose"?!1:typeof e.not_run_reason=="string"&&e.not_run_reason.trim().length>0?!0:e.dictation_complete===!0}function En(e){return e.type==="tool_execution_end"}function _d(e,t,n=Date.now(),s=null){let r=e;t.streaming&&t.generation>r.generation&&(r={...r,generation:t.generation}),r.compacting&&(r={...r,compacting:!1,compactingSince:0});const i=t.streaming===!0;let o=!1;const c=new Set;for(const d of t.live_events??[]){const u=d;let f=n;const p=yd(u);if(p!==null&&!r.index.has(p)){const w=vd(u,r);if(w!==null)f=w,o=!0,c.add(p);else if(En(u)||Ds(u)||!i)continue}r=cs(r,u,f,{seed:!0,...s?{frame:s}:{}})}if(!o)return r;const l=Fi(r.records,c);return{...r,records:l,index:St(l)}}function Rr(e){const t=new Map;for(const n of e??[]){if(!n)continue;const s=n;if(!En(s)&&!Ds(s))continue;const r=String(s.tool_call_id??"");if(!r)continue;const i=Dt(s);i!==null&&t.set(r,i)}return t}function bd(e){const t=new Set;for(const n of e??[]){if(!n)continue;const s=n;if(s.type!=="tool_call_compose")continue;const r=s.not_run_reason;if(typeof r=="string"&&r.trim().length>0)continue;const i=String(s.tool_call_id??"");i&&t.add(i)}return t}const wd=5e3;function Sd(e,t){const n=new Set(t),s=new Map;if(n.size===0)return s;for(const r of e){if(r.payload?.role!=="tool")continue;const i=r.payload.tool_call_id;if(typeof i!="string"||!n.has(i))continue;const o=r.ts;typeof o!="number"||!Number.isFinite(o)||s.set(i,Math.round(o*1e3))}return s}function kd(e,t,n,s=new Map,r=new Set){const i=e[0]?.ts;if(typeof i!="number"||!Number.isFinite(i))return!1;let o=null;for(const l of t){const d=n.get(l);if(d===void 0){if(r.has(l))continue;return!1}(o===null||d<o)&&(o=d)}for(const l of s.values())(o===null||l<o)&&(o=l);return o===null?!1:Math.round(i*1e3)<=o-wd}function Ar(e,t){const n=[];for(const s of e??[]){if(!s)continue;const r=s;if(!En(r)&&!Ds(r))continue;const i=String(r.tool_call_id??"");!i||n.includes(i)||t.has(i)||n.push(i)}return n}function Or(e,t,n,s){const r=[],i=new Set;for(const o of t)i.has(o)||(i.add(o),!n.has(o)&&((e.get(o)??0)>=s||r.push(o)));return r}const Td=3.25,ls=100,Ns=500;function Pr(e){return e<=0?ls:Math.min(Ns,ls+Math.ceil(Td*e))}function Fn(e,t){const n=[];if(t.size===0)return n;for(const s of e){const r=s.payload?.tool_calls;if(Array.isArray(r))for(const i of r)i&&typeof i.id=="string"&&t.has(i.id)&&n.push(i.id)}return n}function Ed(e){for(const t of e)if(t.payload?.role==="user")return!0;return!1}function xd(e,t){const n=new Set(t);for(const i of e){const o=i.payload?.tool_calls;if(Array.isArray(o))for(const c of o)c&&typeof c.id=="string"&&n.add(c.id)}const s=[],r=new Set;for(const i of e){if(i.payload?.role!=="tool")continue;const o=i.payload.tool_call_id;typeof o!="string"||n.has(o)||r.has(o)||(r.add(o),s.push(o))}return s}function Id(e,t){return e&&t===0}function Cd(e){const t=new Set;for(const n of e??[]){if(!n)continue;const s=n,r=s.not_run_reason,i=s.type==="tool_call_compose"&&typeof r=="string"&&r.trim().length>0;if(s.type!=="tool_execution_start"&&!En(s)&&!i)continue;const o=String(s.tool_call_id??"");o&&t.add(o)}return t}function Wi(e,t,n){const s=new Set(e),r=[];for(const i of t)!s.has(i)&&!n.has(i)&&r.push(i);for(const i of e){if(n.has(i))return r;t.has(i)&&r.push(i)}return r}function Rd(e,t,n){return Wi(e,t,n).length}function Dr(e){let t=e.compacting?{...e,compacting:!1,compactingSince:0}:e;for(const n of e.records)n.kind!=="assistant"||!n.streaming||n.truncated||(t=ee(t,{...n,truncated:"interrupted"}));return t}function Ad(e,t=Date.now()){return e.records.length===0?e:{...Ue,generation:e.generation,compacting:e.compacting,compactingSince:e.compactingSince,viewEpoch:e.viewEpoch+1,clearedAt:t,argsByCall:e.argsByCall}}function Od(e,t){return e.type==="compaction"||e.type==="message"&&e.payload?.custom_type==="compaction_refused"?t===void 0?!0:Math.round((e.ts??0)*1e3)>=t:!1}function Nr(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function Pd(e){const t=e.compacting?{...e,compacting:!1,compactingSince:0}:e;return Ps(t,n=>n.kind==="assistant"&&n.streaming||n.kind==="tool"&&n.phase!=="done")}function Ls(e,t){let n=t;for(const s of e.records)s.ts>n&&(n=s.ts);return n}function Yi(e,t,n,s,r=Date.now()){return e.index.has(t)?e:ee(e,{kind:"user",id:t,ts:Ls(e,r),text:n,images:s,local:!0,provisional:!0})}function Dd(e,t){return Ps(e,n=>n.id===t)}let Lr=0;function Nd(e,t,n,s=Date.now()){return Lr+=1,ee(e,{kind:"notice",id:`local:${s}:${Lr}`,ts:Ls(e,s),text:t,level:n})}function bh(e,t,n,s){const r=t?.anchor_id,i=t?.kind;return!r||i!=="error"&&i!=="interrupted"||n||e.index.has(r)||!t?.unseen&&!s?.has(r)?e:(s?.add(r),ee(e,{kind:"notice",id:r,ts:e.records.at(-1)?.ts??Date.now(),complete:!0,text:i==="error"?"Stopped with an error":"Interrupted",level:i==="error"?"error":"warning"}))}const Ld="compacting context…";function wh(e){return typeof e=="string"&&e.trim()===Ld}const jd=[1500,5e3];async function Sh(e,t=n=>new Promise(s=>setTimeout(s,n))){for(const n of jd){await t(n);try{if(await e())return}catch{}}}function Md(e,t){return e.some(n=>Math.round((n.ts??0)*1e3)<t?!1:n.type==="compaction"||n.type==="message"&&n.payload?.custom_type==="compaction_refused")}const jr=new Set(["openrouter","radient","radient-key"]),$d=new Set(["auto","openrouter/auto"]),Ud="Auto";function Qi(e){return e.slice(e.lastIndexOf("/")+1)||e}function Fd(e,t){return e===t||e===Qi(t)}function Bn(e){if(!e)return null;const t=typeof e.provider=="string"?e.provider:"";if(!t)return null;const n=typeof e.model_id=="string"?e.model_id:"";return n?`${t}/${n}`:null}function kh(e){if(!e||typeof e.model_id!="string"||!e.model_id)return null;const t=typeof e.provider=="string"?e.provider:"",n=t?`${t}/${e.model_id}`:e.model_id,s=typeof e.display_name=="string"?e.display_name.trim():"",r=jr.has(t)||!s||Fd(s,e.model_id)||s.toLowerCase()==="unknown";return{name:jr.has(t)&&$d.has(e.model_id)?Ud:r?Qi(n):s,selector:n}}function Th(e,t){const n=e?.effective_model??e?.selected_model??null;return{identity:t??n,effort:n}}function Eh(e){return Array.isArray(e?.reasoning_efforts)?e.reasoning_efforts.filter(t=>typeof t=="string"&&t!==""):[]}function xh(e){if(!e)return null;for(const t of[e.reasoning_effort,e.reasoning_default_effort])if(typeof t=="string"&&t.trim())return t.trim().toLowerCase();return null}function Ih(e){const t=e.trim();return t&&({auto:"Auto",none:"None",minimal:"Minimal",low:"Low",medium:"Medium",high:"High",xhigh:"xHigh",max:"Max"}[t.toLowerCase()]??t)}function Xi(e){if(!e)return!1;const t=typeof e.reasoning_effort=="string"?e.reasoning_effort.trim():"",n=typeof e.reasoning_default_effort=="string"?e.reasoning_default_effort.trim():"";return typeof e.model_id=="string"&&e.model_id!==""&&!t&&!n&&!e.reasoning&&Array.isArray(e.reasoning_efforts)&&e.reasoning_efforts.length===0&&typeof e.display_name=="string"&&e.display_name.trim()===""}function Ch(e,t){const n=(e??t)?.effective_model;return Xi(n)?null:n?.model_id??null}function Rh(e){if(!e)return null;const t=typeof e.reasoning_effort=="string"?e.reasoning_effort.trim().toLowerCase():"",n=Array.isArray(e.reasoning_efforts)?e.reasoning_efforts.filter(i=>typeof i=="string"):null,s=typeof e.reasoning_default_effort=="string"?e.reasoning_default_effort.trim().toLowerCase():"",r=Xi(e);return t?{label:t,adjustable:n===null||n.length>0,knownLadder:!!(n&&n.length>0),levelKnown:!0,detail:n&&n.length>0?`Reasoning effort. This model offers ${n.join(", ")}.`:"Reasoning effort for this session."}:n&&n.length>0?{label:"auto",adjustable:!0,knownLadder:!0,levelKnown:!0,detail:`No level is set, so this model runs at its own default${s?` (${s})`:""}. It offers ${n.join(", ")}.`}:r?{label:"unknown",adjustable:!0,knownLadder:!1,levelKnown:!1,detail:"This session has not reported its reasoning effort yet. It appears after the next turn, or run /effort <level> to set one now."}:n&&e.reasoning?{label:"reasoning",adjustable:!1,knownLadder:!0,levelKnown:!0,detail:"This model reasons, but exposes no effort levels to choose between."}:n===null&&s?{label:s,adjustable:!1,knownLadder:!1,levelKnown:!0,detail:"The level this model runs at by default. This backend does not report which other levels it accepts."}:null}function Ah(e,t){if(!e)return null;if(!t||t.length===0||e.knownLadder)return e;const n=t.map(s=>typeof s=="object"&&s!==null&&"value"in s?String(s.value):"").filter(Boolean);return n.length===0?e:{...e,adjustable:!0,detail:`Reasoning effort. This model offers ${n.join(", ")}.`}}function Bd(e,t){if(e&&!(e.settled||e.error!==null))return{...e,text:e.text+t,streaming:!0}}function Zd(e,t){return!!e.streams[t]}function Ji(e,t){return e.attached[t]?.turns.at(-1)}function Oh(e,t){const n=Ji(e,t);return n?e.streams[n.asideId]:void 0}function Ph(e,t){const n=e.attached[t]?.turns??[];for(let s=n.length-1;s>=0;s-=1){const r=n[s];if(r&&e.streams[r.asideId]?.settled)return r.asideId}}function Gd(){return{text:"",streaming:!0,settled:!1,error:null}}function Vd(e){return{text:e,streaming:!1,settled:!0,error:null}}function Hd(e,t){return{text:e?.text??"",streaming:!1,settled:!1,error:t}}const zd=xs(e=>({streams:{},attached:{},attachAside:t=>e(n=>{const s=n.attached[t];return s&&s.notice===null?n:{attached:{...n.attached,[t]:s?{...s,notice:null}:{turns:[],notice:null}}}}),beginAsk:(t,n,s)=>e(r=>({streams:{...r.streams,[n]:Gd()},attached:{...r.attached,[t]:{turns:[...r.attached[t]?.turns??[],{asideId:n,question:s}],notice:null}}})),applyAsideDelta:(t,n)=>e(s=>{const r=Bd(s.streams[t],n);return r?{streams:{...s.streams,[t]:r}}:s}),settleAside:(t,n)=>e(s=>s.streams[t]?{streams:{...s.streams,[t]:Vd(n)}}:s),failAside:(t,n)=>e(s=>Zd(s,t)?{streams:{...s.streams,[t]:Hd(s.streams[t],n)}}:s),setAsideNotice:(t,n)=>e(s=>{const r=s.attached[t];return r?{attached:{...s.attached,[t]:{...r,notice:n}}}:s}),detachAside:t=>e(n=>{const s=n.attached[t],r={...n.attached};if(delete r[t],!s)return{attached:r};const i={...n.streams};for(const o of s.turns)delete i[o.asideId];return{streams:i,attached:r}})}));function Dh(e,t){return Ji(e,t)?.asideId}const Kd=4*1024*1024,Wd=1024*1024,xe=new Map;function Mr(e){if(e.length===0)return 0;try{return new TextEncoder().encode(JSON.stringify(e)).length}catch{return Number.POSITIVE_INFINITY}}function Yd(e){const t=e.slice(-200);let n=0,s=Mr(t);for(;n<t.length&&s>Wd;)n+=1,s=Mr(t.slice(n));return{records:t.slice(n),bytes:s}}function Qd(e,t){const{records:n,bytes:s}=Yd(Pd(t.transcript).records);if(n.length===0){xe.delete(e);return}const i={transcript:{...t.transcript,records:n,index:new Map(n.map((o,c)=>[o.id,c])),oldestId:null,hasMore:!1,argsByCall:new Map},savedAt:Date.now(),bytes:s,owedLabels:$r(n,t.owedLabels),markLabels:$r(n,t.markLabels)};xe.delete(e),xe.set(e,i),Jd()}function $r(e,t){if(!t||t.size===0)return Ur;const n=new Set;for(const s of e)s.kind!=="tool"||s.args||s.toolCallId&&t.has(s.toolCallId)&&n.add(s.toolCallId);return n.size>0?n:Ur}const Ur=new Set;function qi(e){const t=xe.get(e);if(!t)return null;const{bytes:n,...s}=t;return s}function Xd(e){xe.delete(e)}function Jd(){let e=0;for(const t of xe.values())e+=t.bytes;for(;e>Kd&&xe.size>0;){const t=xe.keys().next().value;if(t===void 0)break;const n=xe.get(t);xe.delete(t),e-=n?.bytes??0}}const qd=8,eu=128,eo=new Set,tu="",De=new Map,js=e=>e??tu;function Nh(e){return De.get(js(e))??eo}function Lh(e,t,n){const s=js(e),r=De.get(s)??new Set,i=new Set(r);if(n)for(i.delete(t),i.add(t);i.size>eu;){const o=i.values().next().value;if(o===void 0)break;i.delete(o)}else i.delete(t);for(De.delete(s),i.size>0&&De.set(s,i);De.size>qd;){const o=De.keys().next().value;if(o===void 0)break;De.delete(o)}return De.get(s)??eo}function nu(e){De.delete(js(e))}const su=new Set(["subagent_start","subagent_progress","subagent_end"]),ru=(e,t)=>({...e,[t]:(e[t]??0)+1}),iu=e=>{const t={};if(!Array.isArray(e))return t;for(const n of e){const s=to(n);s&&(t[s]=(t[s]??0)+1)}return t},to=e=>{if(!e||typeof e!="object")return null;const t=e;return su.has(String(t.type??""))&&typeof t.job_id=="string"&&t.job_id?t.job_id:null},ou=(e,t)=>{const n=to(t);return n?ru(e,n):e};function au(e){for(const t of e)t.type==="aside_delta"&&zd.getState().applyAsideDelta(t.payload.aside_id,t.payload.delta)}function cu(e){return e.some(t=>t.type!=="aside_delta"&&t.type!=="heartbeat")}const Je=new Set,Ct=new Set;function lu(e,t){let n=null;for(const s of t)e.has(s)&&(n=n??new Set(e),n.delete(s));return n??e}const du=new Set(["agent_end","agent_start","provider_start","steering_delivered","turn_end","turn_start"]),uu=15e3,ds=[500,1e3,2e3,4e3,8e3,8e3],fu=ds.length,pu=2e4,hu=1e4;function Fr(e){const t=Math.max(1,Math.min(e,ds.length));return ds[t-1]??8e3}const mu=3,gu=250,Br=512,Zr=new Set(["turn_end","agent_end"]),Gr=2,yu=500,Vr=Ns,vu=6,Zn=ki("sessions.history"),_u=2e3,Hr={targets:new Set,order:[],every:new Set,found:new Set,pending:[],starts:new Map,waiting:new Set},tt=new Map,on=new Map,bu=8,wu=2048,zr=1024,Su=1024,ku="",Xe=new Map;function Kr(e){const t=e??ku,n=Xe.get(t);if(n)return Xe.delete(t),Xe.set(t,n),n;const s={attempts:new Map,painted:new Set,inFlight:new Set,refused:!1,depth:0,order:[],starts:new Map,waiting:new Set,settled:new Set,settleRows:0};for(Xe.set(t,s);Xe.size>bu;){const r=Xe.keys().next().value;if(r===void 0||r===t)break;Xe.delete(r)}return s}function Gn(e){return e.terminal||e.failure?!1:(e.frontend??e.heldFrontend)?.streaming===!0}function Vn(e,t,n,s){return t.has(n)?!1:e.inFlight.has(n)?!0:s}function Tu(e,t){return on.set(e,t),()=>{on.get(e)===t&&on.delete(e)}}function jh(e){const t=on.get(e);return t?(t(),!0):!1}const te=new Map,Eu=4,xu=16;function no(e,t){e(n=>Yi(n,t.id,t.text,t.images)),t.painted||(t.painted=!0,t.onPainted?.())}function Iu(e,t,n){const s=e.index.get(t),r=s===void 0?void 0:e.records[s];if(s===void 0||!r||r.kind!=="user"||!r.local||r.text===n)return e;const i=e.records.slice();return i[s]={...r,text:n},{...e,records:i}}function us(e,t){let n=te.get(e);if(!n){if(te.size>=xu){const i=te.keys().next();i.done||te.delete(i.value)}n=new Map,te.set(e,n)}const s={identity:e,id:t.id,text:t.text,images:t.images,onPainted:t.onPainted,settled:t.settled,submittedAt:t.submittedAt};for(n.set(s.id,s);n.size>Eu;){const i=n.keys().next();if(i.done)break;n.delete(i.value)}const r=tt.get(e);r&&no(r,s)}function Mh(e){if(!e)return null;const t=te.get(e);if(!t)return null;for(const n of t.values())if(!n.settled)return n;return null}function fs(e,t){const n=te.get(e);n&&(n.delete(t),n.size===0&&te.delete(e))}function ps(e,t){const n=te.get(e)?.get(t);n&&(n.settled=!0)}function Wr(e,t){return e?te.get(e)?.has(t)===!0:!1}function $h(e){return e?(te.get(e)?.size??0)>0:!1}function Cu(e,t,n){const s=te.get(e)?.get(t);if(!s)return;s.text=n;const r=tt.get(e);r&&r(i=>Iu(i,t,n))}function Ru(e,t){if(e===t)return;const n=te.get(e);if(!n)return;te.delete(e);const s=te.get(t)??new Map;for(const[r,i]of n)i.identity=t,s.set(r,i);te.set(t,s)}function nn(e){te.delete(e)}function Au(e,t){const n=te.get(e);if(n)for(const s of[...n.keys()]){const r=t.index.get(s),i=r===void 0?void 0:t.records[r];i?.kind==="user"&&i.local!==!0&&fs(e,s)}}function Ou(e,t){tt.set(e,t);const n=te.get(e);if(n)for(const s of n.values())no(t,s);return()=>{tt.get(e)===t&&tt.delete(e)}}function Pu(e,t){const n=te.get(e);if(!n)return t;let s=t;for(const r of n.values())s=Yi(s,r.id,r.text,r.images);return s}function Du(e,t,n){return e===t?!0:!n}function Uh(e,t){const n=tt.get(e);if(!n)return fs(e,t),"queued";let s="queued";return n(r=>{const i=r.records[r.index.get(t)??-1];return!i||i.kind!=="user"?r:i.local?(s="retracted",Dd(r,t)):(s="owner",r)}),fs(e,t),s}function Nu(e,t){const n=tt.get(e);if(!n)return"unseen";let s="unseen";return n(r=>{const i=r.records[r.index.get(t)??-1];return!i||i.kind!=="user"||(s=i.local?"local":"owner"),r}),s}function Lu(e){const t=qi(e);return t?{transcript:t.transcript,stale:!0,owedLabels:t.owedLabels,markLabels:t.markLabels}:{transcript:Ue,stale:!1,owedLabels:Je,markLabels:Ct}}function ju(e){return"cold_reason"in e&&!e.history.cursor_missing&&e.history.entries.length>0}function Fh(e,t,n=!0,s=e){const[r,i]=R.useState(()=>{const k=t&&e?Lu(e):null;return{status:"connecting",frontend:null,heldFrontend:null,pendingModel:null,history:null,cold:!1,subscriptionId:null,ownerEpoch:null,receipt:null,terminal:null,turnsCompleted:0,failure:null,transcript:s?Pu(s,k?.transcript??Ue):Ue,stale:k?.stale??!1,missing:!1,loadingOlder:!1,subagentPulses:{},labelPending:k?.owedLabels??Je,labelMarked:k?.markLabels??Ct,labelHoldLate:!1,hydrated:!1}}),o=R.useRef(r),c=R.useCallback(k=>{const L=k(o.current);return L===o.current||(o.current=L,i(L)),L},[]),l=R.useRef(e),d=R.useRef([]),u=R.useRef(Ue.index),f=R.useRef(Kr(e)),p=R.useRef(new Set),w=R.useRef(null),T=R.useRef({}),h=R.useRef(null),v=R.useRef(0);R.useEffect(()=>{if(!e||!t)return;const k=++v.current;let L=null,B=!1,z=0,re=0,at=0,Se=0,He=0,kt=0,ze=0,Rn=!1;const Wt=()=>{kt&&(window.clearTimeout(kt),kt=0)},Po=M=>{for(const U of M)f.current.attempts.set(U,(f.current.attempts.get(U)??0)+1)},An=M=>{c(U=>{const Z=new Set;for(const Q of U.labelPending)U.labelPending.has(Q)&&(Vn(f.current,U.transcript.argsByCall,Q,Gn(U))||Z.add(Q));let G=null;for(const Q of U.labelMarked)Vn(f.current,U.transcript.argsByCall,Q,Gn(U))||(G=G??new Set(U.labelMarked),G.delete(Q));if(Z.size===0&&!G)return U;const ie=new Set(U.labelPending);for(const Q of Z)ie.delete(Q);return{...U,labelPending:ie.size?ie:Je,labelMarked:G&&G.size===0?Ct:G??U.labelMarked}})},Do=M=>{c(U=>{let Z=null,G=null;for(const ie of M)U.labelPending.has(ie)&&(Z=Z??new Set(U.labelPending),Z.delete(ie),G=G??new Set(U.labelMarked),G.add(ie));return!Z||!G?U:{...U,labelPending:Z.size?Z:Je,labelMarked:G}})},On=async(M,U,Z=Hr,G=1,ie)=>{for(const me of Z.targets)f.current.inFlight.add(me),p.current.add(me);let Q=!1;try{Q=await No(M,U,Z,G,ie)}finally{if(!Q){for(const me of Z.targets)f.current.inFlight.delete(me);f.current.refused&&Do(Z.targets),An()}}},No=async(M,U,Z,G,ie)=>{const Q=new Set;let me,ct=0,lt=0,Ke=!1,dt=!1;const ke=new Set(Z.found),We=()=>Rd(Z.order,Z.targets,ke),ut=()=>Wi(Z.order,Z.targets,ke),Ye=()=>{const H=new Map;for(const N of _){if(ke.has(N))continue;const ae=g.get(N);ae!==void 0&&H.set(N,ae)}return H},Me=new Set(Z.every);for(const H of ke)Me.add(H);const _=new Set,g=new Map;let X=1;const de=Z.targets.size>0;let ft=Math.max(Pr(We()),de?f.current.depth:0),$=0;for(;ct<Vr&<<vu;){lt+=1;let H;try{H=await ce({op:"sessions.history",sessionId:e,...me?{beforeId:me}:{},limit:Math.min(ft,Vr-ct)})}catch{if(o.current.transcript.records.length>0){if($++>0)return f.current.refused=!0,!1;continue}return G<mu?(He=window.setTimeout(()=>{if(He=0,v.current!==M){An();return}On(M,U,Z,G+1,ie)},Fr(G)),!0):(c(J=>({...J,status:"unavailable",failure:Kc,heldFrontend:null})),!1)}finally{An()}if(v.current!==M)return!1;f.current.refused=!1;const N=H.entries[0];ct+=H.entries.length,ie?.(H.entries.length),c(J=>{const Te=It(J.transcript,H),pt=Fn(H.entries,Me),Dn=new Set(J.labelPending);for(const Mo of pt)Dn.delete(Mo);return{...J,hydrated:!0,labelPending:Dn.size?Dn:Je,labelMarked:lu(J.labelMarked,pt),transcript:Te}}),e&&me===void 0&&Fe.getState().resolveHeldFromServer(e,H.entries.map(J=>J.id),!H.cursor_missing);const ae=We();for(const J of Fn(H.entries,Me))ke.add(J),Me.add(J);if(Ed(H.entries)&&(dt=!0),de){const J=xd(H.entries,Me);for(const Te of J)_.add(Te),Me.add(Te);for(const[Te,pt]of Sd(H.entries,J))g.set(Te,pt);for(const Te of[..._])ke.has(Te)&&_.delete(Te);_.size>0&&X--<=0&&_.clear()}Ke=Ke||U.size===0||H.entries.some(J=>U.has(J.id)||Q.has(J.id));for(const J of H.entries)Q.add(J.id);const $e=We()+_.size;if(de&&We()<ae&&(f.current.depth=Math.min(Ns,Math.max(f.current.depth,ct))),de){const J=ut();if(kd(H.entries,J,Z.starts,Ye(),new Set(J.filter(pt=>Z.waiting.has(pt))))||dt)return!1}if(Id(Ke,$e)||!N||!H.has_more)return!1;me=N.id,ft=$e>0?Pr($e):ls}return!1},Vs=()=>{if(z&&cancelAnimationFrame(z),re&&clearTimeout(re),z=0,re=0,v.current!==k)return;const M=d.current;if(d.current=[],M.length===0)return;au(M);const U=_=>{const X=_.payload.history.entries.at(-1);return X?ju(_.payload)?!0:X.id===_.payload.frontend.snapshot.history_cursor?!1:u.current.has(X.id):!1},Z=_=>_!=null&&u.current.has(_),G=M.some(_=>_.type==="attention"?!Z(_.payload.anchor_id):_.type==="snapshot"&&!U(_)),ie=new Set(o.current.transcript.argsByCall.keys()),Q=[],me=new Set;for(const _ of M)if(_.type==="snapshot"){for(const g of _.payload.history.entries){me.add(g.id);const X=g.payload?.tool_calls;if(Array.isArray(X))for(const de of X)de&&typeof de.id=="string"&&ie.add(de.id)}for(const g of _.payload.frontend.snapshot.live_events??[]){const X=g.message;typeof X?.id=="string"&&me.add(X.id)}Q.push(..._.payload.frontend.snapshot.live_events??[])}const ct=M.some(_=>_.type==="event"&&Zr.has(String(_.payload.type??""))),lt=Or(f.current.attempts,Ar(Q,ie),ie,Gr),Ke=ct?Or(f.current.attempts,[...f.current.attempts.keys(),...f.current.settled],ie,Gr):[],dt=[];for(const _ of M){if(_.type!=="event")continue;const g=_.payload;String(g.type??"")==="tool_execution_end"&&String(g.tool_call_id??"")&&dt.push(g)}const ke=[];for(const _ of dt){const g=String(_.tool_call_id??"");ie.has(g)||f.current.settled.has(g)||ke.push(g)}for(const _ of ke)f.current.settled.add(_);for(;f.current.settled.size>Br;){const _=f.current.settled.values().next().value;if(_===void 0)break;f.current.settled.delete(_)}for(const[_,g]of Rr(dt))f.current.starts.set(_,g);for(;f.current.starts.size>zr;){const _=f.current.starts.keys().next().value;if(_===void 0)break;f.current.starts.delete(_)}const We=f.current.settleRows<yu?ke:[],ut=[...new Set([...lt,...Ke,...We])],Ye=ut.filter(_=>!f.current.painted.has(_));if(Q.length>0){f.current.order=Ar(Q,new Set);for(const[_,g]of Rr(Q))f.current.starts.set(_,g);for(;f.current.starts.size>zr;){const _=f.current.starts.keys().next().value;if(_===void 0)break;f.current.starts.delete(_)}for(const _ of bd(Q))f.current.waiting.add(_);for(const _ of Cd(Q))f.current.waiting.delete(_);for(;f.current.waiting.size>Su;){const _=f.current.waiting.values().next().value;if(_===void 0)break;f.current.waiting.delete(_)}}for(const _ of[...f.current.attempts.keys()])ie.has(_)&&f.current.attempts.delete(_);for(Po([...lt,...Ke]);f.current.attempts.size>Br;){const _=f.current.attempts.keys().next().value;if(_===void 0)break;f.current.attempts.delete(_)}if(performance.mark("lop:transcript:flush:start"),c(_=>{let g={..._},X=g.frontend!==null,de=null;const ft=Date.now();for(const $ of M){if($.type==="heartbeat")continue;if($.type==="gap"){g={...g,frontend:null,heldFrontend:g.frontend??g.heldFrontend,history:null,terminal:null,status:"reconnecting",transcript:Dr(g.transcript)},X=!1;continue}const H=w.current;if(($.type==="open"||"seq"in $)&&(w.current={epoch:$.epoch,seq:$.seq},g={...g,receipt:w.current}),$.type==="open"){if(g={...g,subscriptionId:$.payload.subscription_id},$.payload.gap){const N=g.frontend??g.heldFrontend;g={...g,frontend:null,heldFrontend:N,history:null,transcript:Dr(g.transcript)},N&&g.status==="live"&&(g={...g,status:"reconnecting"}),X=!1}continue}if(!X){if($.type==="event"&&(de=cs(de??g.transcript,$.payload,ft,{frame:{epoch:$.epoch,seq:$.seq}})),$.type==="snapshot"){const N=$.payload;let ae=de??g.transcript;N.history.cursor_missing||(ae=It(ae,N.history)),e&&Fe.getState().resolveHeldFromServer(e,N.history.entries.map($e=>$e.id),!N.history.cursor_missing),ae=_d(ae,N.frontend.snapshot,ft,{epoch:$.epoch,seq:$.seq}),g={...g,subagentPulses:iu(N.frontend.snapshot.live_events),status:"live",stale:!1,frontend:{...N.frontend.snapshot,attention:yt(g.frontend?.attention,N.frontend.snapshot.attention,e)},history:N.history,cold:N.cold,ownerEpoch:N.frontend.epoch,failure:null,hydrated:g.hydrated||!N.history.cursor_missing&&N.history.entries.length>0,transcript:ae},X=!0,de=null}continue}if($.type==="attention"){g.frontend&&(g={...g,frontend:{...g.frontend,attention:yt(g.frontend.attention,$.payload,e)}});continue}if($.type==="frontend.update"){const N=$.payload;if(!g.frontend)continue;const ae=N.epoch!==g.ownerEpoch&&N.changes.epoch===N.epoch;(ae||N.epoch===g.ownerEpoch&&g.frontend.sequence<N.sequence)&&(g={...g,ownerEpoch:ae?N.epoch:g.ownerEpoch,frontend:{...g.frontend,...N.changes,attention:yt(g.frontend.attention,N.changes.attention,e),sequence:N.sequence}});continue}if($.type==="frontend.replace"){if(g.frontend&&sl(H,e,$)){const N=$.payload.frontend;g={...g,frontend:{...N.snapshot,attention:yt(g.frontend.attention,N.snapshot.attention,e)},ownerEpoch:N.epoch,cold:$.payload.cold}}continue}if($.type==="event"){const N=String($.payload.type??"");du.has(N)&&(g={...g,terminal:N}),Zr.has(N)&&(g={...g,turnsCompleted:g.turnsCompleted+1});const ae=cs(g.transcript,$.payload,ft,{frame:{epoch:$.epoch,seq:$.seq},userStoppedAt:e?Fe.getState().stoppedTurns[e]??null:null});ae!==g.transcript&&(g={...g,transcript:ae});const $e=ou(g.subagentPulses,$.payload);$e!==g.subagentPulses&&(g={...g,subagentPulses:$e})}}if(!X&&de&&(g={...g,transcript:de}),performance.mark("lop:transcript:flush:end"),performance.measure("lop:transcript:flush","lop:transcript:flush:start","lop:transcript:flush:end"),u.current=g.transcript.index,!cu(M))return _;if(Ye.length>0){const $=new Set(g.labelPending);for(const H of Ye)$.add(H);g={...g,labelPending:$}}return g.frontend!==null&&g.frontend!==g.heldFrontend&&(g={...g,heldFrontend:g.frontend}),g}),Ye.length>0){for(const _ of Ye)f.current.painted.add(_);for(;f.current.painted.size>wu;){const _=f.current.painted.values().next().value;if(_===void 0)break;f.current.painted.delete(_)}}const Me=We.length>0&<.length===0&&Ke.length===0&&!G;if(G||ut.length>0){const _=new Set(ut),g=f.current.order;On(k,me,ut.length>0?{targets:_,order:g,starts:f.current.starts,waiting:f.current.waiting,every:new Set([...g,..._]),found:new Set(Fn(M.flatMap(X=>X.type==="snapshot"?X.payload.history.entries:[]),new Set(g))),pending:Ye}:Hr,1,Me?X=>{f.current.settleRows+=X}:void 0)}},Pn=()=>{const M=L;if(L=null,!!M){B=!0;try{M()}finally{B=!1}}},Yt=()=>{Wt(),kt=window.setTimeout(()=>{kt=0,v.current===k&&(Pn(),c(M=>({...M,subscriptionId:null,status:"unavailable",failure:_r(At.ended),heldFrontend:null})),!Rn&&(Rn=!0,ze=window.setTimeout(()=>{ze=0,v.current===k&&Hs()},hu)))},pu),L=qc({sessionId:e,epoch:T.current.epoch,afterSeq:T.current.afterSeq},M=>{if(v.current===k){if(M.kind==="error"||M.kind==="end"){if(B)return;if(Wt(),Pn(),M.kind==="error"&&M.status===404){e&&(Xd(e),nu(e)),c(G=>({...G,subscriptionId:null,status:"unavailable",missing:!0,failure:null,heldFrontend:null}));return}const U=M.kind==="error"?M.detail??"The event stream failed.":"The event stream closed unexpectedly.";if(c(G=>({...G,subscriptionId:null})),at>=fu){c(G=>({...G,status:"unavailable",failure:_r(U),heldFrontend:null}));return}at+=1;const Z=w.current;Z&&(T.current={epoch:Z.epoch,afterSeq:Z.seq}),c(G=>G.status==="unavailable"&&at>1?G:{...G,status:"reconnecting",failure:null}),Se=window.setTimeout(()=>{Se=0,v.current===k&&Yt()},Fr(at));return}if(M.data!==void 0)try{const U=JSON.parse(M.data);U.type==="snapshot"&&(at=0,Wt(),Rn=!1),d.current.push(U),z||(z=requestAnimationFrame(Vs)),re||(re=window.setTimeout(Vs,gu))}catch{}}})},Lo=()=>{Se!==0&&(window.clearTimeout(Se),Se=0),T.current={},w.current=null,Pn(),Yt()},Hs=()=>{at=0,ze&&(window.clearTimeout(ze),ze=0),Se&&(window.clearTimeout(Se),Se=0),He&&(window.clearTimeout(He),He=0),c(M=>({...M,failure:null,status:M.status==="unavailable"?"connecting":M.status})),o.current.hydrated||On(k,new Set(o.current.transcript.index.keys())),!L&&Yt()};Yt(),h.current=Hs;const jo=Tu(e,Lo);return()=>{v.current+=1,h.current=null,jo(),L?.(),z&&cancelAnimationFrame(z),re&&clearTimeout(re),Se&&clearTimeout(Se),He&&clearTimeout(He),E.current&&(window.clearTimeout(E.current),E.current=0),A.current&&(window.clearTimeout(A.current),A.current=0),ze&&window.clearTimeout(ze),Wt(),d.current=[]}},[c,e,t]),R.useEffect(()=>{T.current={},w.current=null,u.current=Ue.index;const k=Du(l.current,e,n);l.current=e;const L=e?qi(e):null;c(B=>({...B,frontend:null,heldFrontend:k?B.heldFrontend:null,pendingModel:null,history:null,terminal:null,turnsCompleted:k?B.turnsCompleted:0,transcript:k?B.transcript:L?.transcript??Ue,stale:k?B.stale:L!==null,missing:k?B.missing:!1,status:"connecting",subagentPulses:{},labelPending:L?.owedLabels??Je,labelMarked:L?.markLabels??Ct,labelHoldLate:!1,hydrated:!1,loadingOlder:!1})),f.current=Kr(e)},[e,n]),R.useEffect(()=>{if(e)return()=>{const k=o.current.transcript;k.records.length>0&&Qd(e,{transcript:k,owedLabels:new Set([...o.current.labelPending].filter(L=>Vn(f.current,o.current.transcript.argsByCall,L,Gn(o.current)))),markLabels:new Set(o.current.labelMarked)});for(const L of p.current)f.current.inFlight.delete(L);p.current.clear()}},[e]);const E=R.useRef(0);R.useEffect(()=>{if(r.labelPending.size===0&&r.labelMarked.size===0){E.current&&(window.clearTimeout(E.current),E.current=0);return}if(E.current)return;const k=()=>{E.current=0;const L=o.current.labelPending,B=o.current.labelMarked;if(L.size===0&&B.size===0)return;const z=f.current;for(const re of L)if(z.inFlight.has(re)){E.current=window.setTimeout(k,Zn);return}for(const re of B)if(z.inFlight.has(re)){E.current=window.setTimeout(k,Zn);return}c(re=>re.labelPending.size===0&&re.labelMarked.size===0?re:{...re,labelPending:Je,labelMarked:Ct})};E.current=window.setTimeout(k,Zn)},[c,r.labelPending,r.labelMarked]);const A=R.useRef(0);R.useEffect(()=>{if(r.labelPending.size===0){A.current&&(window.clearTimeout(A.current),A.current=0),c(k=>k.labelHoldLate?{...k,labelHoldLate:!1}:k);return}r.labelHoldLate||A.current||(A.current=window.setTimeout(()=>{A.current=0,c(k=>k.labelPending.size===0||k.labelHoldLate?k:{...k,labelHoldLate:!0})},_u))},[c,r.labelPending,r.labelHoldLate]);const q=R.useRef(e);q.current=e;const ne=R.useRef(!1),he=R.useCallback(async()=>{if(!e||ne.current)return!1;const{transcript:k}=o.current;if(!k.hasMore||!k.oldestId)return!1;const L=e;ne.current=!0,c(B=>({...B,loadingOlder:!0}));try{const B=await ce({op:"sessions.history",sessionId:L,beforeId:k.oldestId,limit:100});return q.current!==L?(c(z=>({...z,loadingOlder:!1})),!1):(c(z=>({...z,loadingOlder:!1,transcript:It(z.transcript,B)})),!0)}catch{return c(B=>({...B,loadingOlder:!1})),!1}finally{ne.current=!1}},[c,e]),ge=R.useRef(!1),C=R.useCallback(async(k,L)=>{if(!e||ge.current)return!1;const B=e;ge.current=!0;try{const z=await ce({op:"sessions.history",sessionId:B,limit:100});return q.current!==B||o.current.transcript.viewEpoch!==L?!1:(c(re=>({...re,transcript:It(re.transcript,z,{keepPaging:!0})})),Md(z.entries,k))}catch{return!1}finally{ge.current=!1}},[c,e]);R.useEffect(()=>s?Ou(s,L=>{c(B=>{const z=L(B.transcript);return z===B.transcript?B:{...B,transcript:z}})}):void 0,[c,s]),R.useEffect(()=>{s&&Au(s,r.transcript)},[s,r.transcript]);const V=R.useCallback(()=>{c(k=>({...k,transcript:Ad(k.transcript),heldFrontend:null}))},[c]),oe=R.useCallback(()=>{h.current?.()},[]),se=R.useCallback((k,L="info")=>{c(B=>({...B,transcript:Nd(B.transcript,k,L)}))},[c]),Ae=R.useCallback(k=>{c(L=>({...L,pendingModel:k}))},[c]),Gs=R.useCallback(()=>{c(k=>k.pendingModel===null?k:{...k,pendingModel:null})},[c]);return R.useEffect(()=>{const k=r.pendingModel;if(!k)return;const L=Bn(k);if(!L)return;const B=r.frontend;(Bn(B?.selected_model)===L||Bn(B?.effective_model)===L)&&c(z=>({...z,pendingModel:null}))},[c,r.frontend,r.pendingModel]),R.useEffect(()=>{if(!r.pendingModel)return;const k=window.setTimeout(()=>c(L=>({...L,pendingModel:null})),uu);return()=>window.clearTimeout(k)},[c,r.pendingModel]),R.useMemo(()=>({...r,awaitingHydration:t&&!!e&&n&&!r.hydrated,loadOlder:he,refreshTail:C,clearView:V,addNote:se,paintPendingModel:Ae,clearPendingModel:Gs,retry:oe}),[r,t,e,n,he,C,V,se,Ae,Gs,oe])}function xn(e,t){return t===""?e:e===""?t:e===t||e.startsWith(`${t}
|
|
15
|
-
|
|
16
|
-
`)?e:`${t}
|
|
17
|
-
|
|
18
|
-
${e}`}const Hn={currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]};function an(e,t,n){const s=[...e.attachments??[]],r=[],i=[],o=new Set;for(const p of t.attachments){const w=s.find(h=>h.path===p&&!o.has(h.id));if(w){o.add(w.id),i.push(w.id);continue}const T={id:n(),path:p};r.push(T),i.push(T.id)}const c=[...e.replies??[]],l=t.replies.filter(p=>!c.some(w=>w.id===p.id)),d=t.text,u=[...r,...s],f=[...l,...c];return{...e,attachments:u,replies:f,textRevision:(e.textRevision??0)+1,volatilePendingText:e.volatilePendingText===!0||t.volatileText===!0,pendingText:d===""?e.pendingText:xn(e.pendingText??"",d),unredactedChars:Math.max(e.unredactedChars??0,t.unredactedChars??0),returned:{text:d,chipIds:i,replyIds:t.replies.map(p=>f.find(w=>w.id===p.id)?.id).filter(p=>p!==void 0),volatileText:t.volatileText},inFlight:void 0,lateDelivered:void 0}}function Mu(e,t){const n=e.lateDeliveredText??e.returned?.text;if(!n||t.includes(n))return!0;const s=Math.max(8,Math.min(24,Math.floor(n.length/3)));for(let r=0;r+s<=n.length;r++)if(t.includes(n.slice(r,r+s)))return!0;return!1}function $u(e){return{text:xn(e.currentInput??"",e.pendingText??""),attachments:(e.attachments??[]).map(t=>t.path),replies:e.replies??[]}}function Uu(e,t){if(!e||!t)return!1;const n=$u(e),s=e.attachments??[],r=e.replies??[];return n.text.trim()===t.text.trim()&&s.length===t.chipIds.length&&s.every((i,o)=>i.id===t.chipIds[o])&&r.length===t.replyIds.length&&r.every((i,o)=>i.id===t.replyIds[o])}function Fu(e,t=()=>crypto.randomUUID()){const n={};for(const[s,r]of Object.entries(e??{}))n[s]=r.inFlight?an(r,r.inFlight,t):r;return n}function Bu(e,t){const n=t.text,s=xn(e.currentInput??"",e.pendingText??"");let r=s,i="overlap";n===""?i="draft-only":s.startsWith(n)&&(r=s.slice(n.length).replace(/^\n+/,""),i="draft-only");const o=new Set(t.chipIds),c=new Set(t.replyIds);return{row:{...e,currentInput:r,pendingText:void 0,attachments:(e.attachments??[]).filter(l=>!o.has(l.id)),replies:(e.replies??[]).filter(l=>!c.has(l.id)),unredactedChars:n===""?e.unredactedChars??0:0},box:i}}const Ee=xs()(li((e,t)=>({inputByConversation:{},addReply:(n,s)=>{const r=t().inputByConversation[n]||{currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]},i=Array.isArray(r.replies)?r.replies:[];e({inputByConversation:{...t().inputByConversation,[n]:{...r,replies:[...i,s]}}})},removeReply:(n,s)=>{const r=t().inputByConversation[n];r&&e({inputByConversation:{...t().inputByConversation,[n]:{...r,replies:r.replies.filter(i=>i.id!==s)}}})},clearReplies:n=>{const s=t().inputByConversation[n];s&&e({inputByConversation:{...t().inputByConversation,[n]:{...s,replies:[]}}})},addAttachment:(n,s)=>{const r=t().inputByConversation[n]||{currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]},i=Array.isArray(r.attachments)?r.attachments:[];e({inputByConversation:{...t().inputByConversation,[n]:{...r,attachments:[...i,s]}}})},removeAttachment:(n,s)=>{const r=t().inputByConversation[n];r&&e({inputByConversation:{...t().inputByConversation,[n]:{...r,attachments:r.attachments.filter(i=>i.id!==s)}}})},clearAttachments:n=>{const s=t().inputByConversation[n];s&&e({inputByConversation:{...t().inputByConversation,[n]:{...s,attachments:[]}}})},setCurrentInput:(n,s,r=0)=>{const i=t().inputByConversation[n]||{currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]};e({inputByConversation:{...t().inputByConversation,[n]:{...i,lateDelivered:i.lateDelivered==="overlap"&&!Mu(i,s)?void 0:i.lateDelivered,currentInput:s,unredactedChars:s?r:0}}})},getUnredactedChars:n=>t().inputByConversation[n]?.unredactedChars||0,getCurrentInput:n=>t().inputByConversation[n]?.currentInput||"",addSubmittedMessage:(n,s)=>{const r=t().inputByConversation[n]||{currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]},i=r.submittedMessages[r.submittedMessages.length-1],o=s&&s!==i?[...r.submittedMessages.slice(-19),s]:r.submittedMessages;e({inputByConversation:{...t().inputByConversation,[n]:{...r,submittedMessages:o}}})},getSubmittedMessages:n=>t().inputByConversation[n]?.submittedMessages||[],clearSubmittedMessages:n=>{const s=t().inputByConversation[n];s&&e({inputByConversation:{...t().inputByConversation,[n]:{...s,submittedMessages:[]}}})},getCurrentHistoryIndex:n=>t().inputByConversation[n]?.currentHistoryIndex??null,setCurrentHistoryIndex:(n,s)=>{const r=t().inputByConversation[n]||{currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]},i=r.submittedMessages;let o=null;typeof s=="number"&&i.length>0&&(o=Math.max(0,Math.min(s,i.length-1))),e({inputByConversation:{...t().inputByConversation,[n]:{...r,currentHistoryIndex:o}}})},resetCurrentHistoryIndex:n=>{const s=t().inputByConversation[n];s&&e({inputByConversation:{...t().inputByConversation,[n]:{...s,currentHistoryIndex:null}}})},clearAll:n=>{const{[n]:s,...r}=t().inputByConversation;e({inputByConversation:r})},restoreRow:(n,s)=>{e({inputByConversation:{...t().inputByConversation,[n]:{...s,textRevision:(s.textRevision??0)+1}}})},beginInFlight:(n,s,r=!0)=>{const i=t().inputByConversation[n]??Hn,o=new Set(s.attachments.map(d=>d.id)),c=new Set(s.replies.map(d=>d.id)),l=i.currentInput===s.text;e({inputByConversation:{...t().inputByConversation,[n]:{...i,currentInput:l?"":i.currentInput,unredactedChars:l?0:i.unredactedChars,textRevision:l?(i.textRevision??0)+1:i.textRevision,attachments:(i.attachments??[]).filter(d=>!o.has(d.id)),replies:(i.replies??[]).filter(d=>!c.has(d.id)),inFlight:r?{text:s.text,attachments:s.attachments.map(d=>d.path),replies:[...s.replies],unredactedChars:l?i.unredactedChars:0,volatileText:s.volatileText}:i.inFlight,returned:void 0,lateDelivered:void 0}}})},settleInFlight:n=>{const s={...t().inputByConversation};let r=!1;for(const i of n){const o=s[i];!o||!o.inFlight&&!o.returned||(s[i]={...o,inFlight:void 0,returned:void 0},r=!0)}r&&e({inputByConversation:s})},returnInFlight:(n,s)=>{const r={...t().inputByConversation},i=r[n],o=i?.inFlight??r[s]?.inFlight;let c=r[s]??Hn;n!==s&&i&&(c=an(c,{text:i.currentInput??"",attachments:(i.attachments??[]).map(l=>l.path),replies:i.replies??[],unredactedChars:i.unredactedChars},()=>crypto.randomUUID()),c={...c,returned:r[s]?.returned},delete r[n]),o&&(c=an(c,o,()=>crypto.randomUUID())),!(!o&&n===s)&&(r[s]=c,e({inputByConversation:r}))},adoptReturnedText:n=>{const s=t().inputByConversation[n];if(s?.pendingText===void 0)return null;const r=xn(s.currentInput??"",s.pendingText);return e({inputByConversation:{...t().inputByConversation,[n]:{...s,currentInput:r,pendingText:void 0,textRevision:(s.textRevision??0)+1}}}),r},returnPayload:(n,s)=>{const r=t().inputByConversation[n]??Hn;r.inFlight||e({inputByConversation:{...t().inputByConversation,[n]:an(r,s,()=>crypto.randomUUID())}})},reconcileDelivered:n=>{const s=t().inputByConversation[n];if(!s)return;const r=f=>(f.currentInput??"")===""&&(f.attachments??[]).length===0&&(f.replies??[]).length===0,i=s.returned!==void 0||s.inFlight!==void 0,o=s.returned?Uu(s,s.returned):r(s),c=s.returned?Bu(s,s.returned):null,l={...s,currentInput:"",unredactedChars:0,attachments:[],replies:[],pendingText:void 0,returned:void 0,inFlight:void 0,lateDelivered:void 0,lateDeliveredText:void 0,volatilePendingText:void 0,textRevision:(s.textRevision??0)+1},d=(c?.row.currentInput??"")==="",u=c&&!r(c.row)?{...c.row,returned:void 0,inFlight:void 0,volatilePendingText:d?void 0:s.volatilePendingText,lateDelivered:c.box==="overlap"&&d?"draft-only":c.box,lateDeliveredText:c.box==="overlap"&&!d?s.returned?.text:void 0,textRevision:(s.textRevision??0)+1}:{...s,returned:void 0,inFlight:void 0,lateDelivered:i&&s.returned?.text?"overlap":i?"delivered":void 0,lateDeliveredText:i?s.returned?.text:void 0};e({inputByConversation:{...t().inputByConversation,[n]:o||c!==null&&r(c.row)?l:u}})},dismissLateDelivery:n=>{const s=t().inputByConversation[n];s?.lateDelivered&&e({inputByConversation:{...t().inputByConversation,[n]:{...s,lateDelivered:void 0,lateDeliveredText:void 0}}})},clearComposer:n=>{const s=t().inputByConversation[n];s&&e({inputByConversation:{...t().inputByConversation,[n]:{...s,currentInput:"",unredactedChars:0,attachments:[],replies:[],pendingText:void 0,volatilePendingText:void 0,returned:void 0,inFlight:void 0,lateDelivered:void 0,lateDeliveredText:void 0,textRevision:(s.textRevision??0)+1}}})}}),{name:"conversation-input-store",partialize:e=>({inputByConversation:Object.fromEntries(Object.entries(e.inputByConversation).map(([t,n])=>{let s=n;return s.inFlight?.volatileText&&(s={...s,inFlight:{...s.inFlight,text:""}}),s.returned?.volatileText&&(s={...s,returned:{...s.returned,text:""}}),s.volatilePendingText&&(s={...s,pendingText:void 0}),s.volatilePendingText&&(s={...s,lateDeliveredText:void 0}),[t,s]}))}),merge:(e,t)=>({...t,inputByConversation:Fu(e?.inputByConversation)})})),sn=(e,t)=>e instanceof Y?Tn(e,t):e instanceof Error?e.message:t,In="session_unvalidated",Zu="This chat is not ready for messages yet, so the message was not sent. Sending works once it is ready.",bn="leading_slash_message",so="A message can't start with / — that is a command. Move it below your text, or send it on its own.";function Gu(e,t){return e instanceof Y&&e.status===422&&e.code===void 0&&t.trimStart().startsWith("/")}const ro="attachment_read_failed",io="store_out_of_space",oo="store_unavailable";function Yr(e){return e===io||e===oo}const Vu="answer_not_sent",ao="aside_not_answered",co="aside_still_answering";function Rt(e){return e===bn||e===ro||e===io||e===oo||e===Vu||e===ao||e===co||e===In}function Hu(e){return e instanceof Y&&e.status===409&&Ms(e)===void 0}function lo(e,t=!1){return Wu(e)||Hu(e)&&!t?"not_sent":e instanceof Y&&e.status===404?"gone":"unknown"}function Ms(e){if(e instanceof Y||e instanceof it)return e.code;if(e&&typeof e=="object"&&"code"in e){const t=e.code;if(typeof t=="string")return t}}const fe={unconfirmed:"Couldn't confirm your message was sent. Sending it again is safe.",unreachable:"Couldn't reach Local Operator. Your message may not have been sent.",busy:"The agent is busy, so your message wasn't sent.",asideNotAnswered:"The aside was not answered.",asideStillAnswering:"The aside is still answering. Press Enter again once the answer is in.",retiring:"Local Operator is restarting, so your message wasn't sent. Try again in a moment.",notReady:"This chat isn't ready yet, so your message wasn't sent.",generic:"Your message wasn't sent.",gone:"This conversation no longer exists, so your message wasn't sent.",sendLock:"Your last message is still sending.",queuedSend:"Your message will send as soon as the conversation is ready.",gateLock:"Answer the question above first.",lateDelivery:"Your earlier message was delivered.",lateDeliveryDraft:"Your earlier message was delivered. What's here now hasn't been sent.",lateDeliveryOverlap:"Your earlier message was delivered. Its words are still in the box, so sending again would repeat them."};function Bh(e){return e?fe.gateLock:fe.sendLock}const Zh="Retry",Gh="Clear";function zu(e,t,n=!1){const s=lo(e,n),r=t??Ms(e),i=Tn(e,fe.generic);return s==="gone"?{message:fe.gone,retry:!1,code:r}:s==="not_sent"?r===Cs?{message:fe.busy,retry:!0,code:r}:r===Si?{message:fe.retiring,retry:!0,code:r}:r===In?{message:fe.notReady,retry:!Rt(r),code:r}:r===ao?{message:fe.asideNotAnswered,retry:!1,code:r}:r===co?{message:fe.asideStillAnswering,retry:!1,code:r}:r===bn?{message:so,retry:!1,code:r}:{message:i,retry:!1,code:r}:r===ye.transportFailed?{message:fe.unreachable,retry:!0,code:r}:As(r)?{message:Rs[r],retry:!1,code:r}:r===Os?{message:fe.unconfirmed,retry:!Rt(r),code:r}:r===bc.runtimeUnreachable?{message:fe.unconfirmed,retry:!0,code:r}:r?{message:i,retry:!Rt(r),code:r}:{message:fe.unconfirmed,retry:!Rt(r),code:r}}function hs(e){return e.trim()}function Vh(e,t){if(t.length===0)return hs(e);const n=t.map(s=>`<reply-to>${s.text}</reply-to>`).join(`
|
|
19
|
-
`);return hs(`${n}
|
|
20
|
-
${e}`)}function ms(e,t){return e.sessionId===t||e.key===t||e.key===`send:${t}`}function Hh(e,t,n){if(e)return e;if(!t)return null;const s=Object.entries(n).filter(([,i])=>ms(i,t));return(s.find(([,i])=>i.submittedText!==void 0||i.undelivered!==void 0||i.error!==void 0||i.admissionAttempted===!0||i.pending===!0)??s[0])?.[0]??`send:${t}`}function $s(e,t){return t??e??void 0}function Ku(e,t,n){return e?t??void 0:n??void 0}function zh(e,t,n){return $s(e,Ku(e,t,n))}function Wu(e){return e instanceof Y?e.status===413||e.status===422?!0:e.code===Cs||e.code===Si||e.code===ye.noCredential||Yr(e.code):e instanceof it&&(e.code===In||e.code===ro||Yr(e.code))}function Cn(e,t){const n=e.startsWith("send:")?e.slice(5):null;return $s(e.startsWith("draft:")?e:null,t??n)??e}function Yu(e,t){const n=Ee.getState(),s=Cn(e,t),r=s===""||s===e?[e]:[e,s];n.settleInFlight(r),s!==""&&s!==e&&n.inputByConversation[e]&&n.returnInFlight(e,s)}function Kh(e,t){if(!t||t.migratedHeld||t.pending||!(t.heldClaimCode!==void 0||t.errorRetry===void 0&&t.submittedRendered===void 0)||!t.admissionAttempted||t.submittedText===void 0)return!1;const s=Cn(e,t.sessionId);return Ee.getState().returnPayload(s,{text:t.submittedText,attachments:t.submittedAttachments??[],replies:[]}),Fe.getState().updateDraft(e,{migratedHeld:!0,submittedText:void 0,submittedAttachments:void 0,error:fe.unconfirmed,errorCode:t.heldClaimCode,errorRetry:!Rt(t.heldClaimCode),heldClaimCode:void 0}),!0}function Wh(e,t){if(!t)return!1;const n=t.undelivered,s=t.submittedText,r=s!==void 0&&t.error!==void 0&&t.errorRetry!==void 0;if(!n&&!r)return!1;const i=Cn(e,t.sessionId);if(n)return Wr(i,n.recordId)?!1:(us(i,{id:n.recordId,text:n.text,images:[],settled:!0,submittedAt:t.submittedAt}),!0);if(s===void 0)return!1;const o=t.admissionRequestId;return Wr(i,o)?!1:(us(i,{id:o,text:t.submittedRendered??s,submittedAt:t.submittedAt,images:(t.submittedImages??[]).map((c,l)=>({id:`${o}:${l}`,data:c.data_b64,attachment:null,mimeType:c.mime_type}))}),!0)}function Qu(e,t,n){if(e.submittedText!==t)return!1;const s=e.submittedAttachments??[];return s.length!==n.length?!1:s.every((r,i)=>r===n[i])}function Xu(e,t){return!!t&&e===t}const Ju=3,qu=5e3,ef=2e3;async function tf(e){for(let t=0;;t++)try{await ce(e);return}catch(n){if(t>=Ju||!(n instanceof Y)||n.code!==Cs)throw n;const s=Math.min(Math.max(0,n.retryAfterMs??ef),qu);await new Promise(r=>setTimeout(r,s))}}async function Yh(e,t,n,s,r){const i=Fe.getState();if(Xu(i.validatingSessionId,n))throw new it(Zu,In);const o=i.drafts[e];if(o?.pending)return null;const c=hs(t.text),l=o?.submittedText!==void 0&&Qu(o,c,t.attachments),d=o??{key:e,createRequestId:crypto.randomUUID(),admissionRequestId:crypto.randomUUID()},u=l?o?.submittedImages??t.images:t.images,f=l?o?.submittedMode??t.mode:t.mode,p=o?.submittedText===void 0||l?o?.admissionRequestId??crypto.randomUUID():crypto.randomUUID(),w=Date.now();i.updateDraft(e,{...d,admissionAttempted:l,admissionRequestId:p,submittedRendered:l?o?.submittedRendered:void 0,migratedHeld:o?.migratedHeld,pending:!0,submittedText:c,submittedAttachments:t.attachments,submittedImages:u,submittedMode:f,error:void 0,errorCode:void 0,submittedAt:w});const T=$s(e.startsWith("draft:")?e:null,n??d.sessionId)??null;T&&us(T,{id:p,submittedAt:w,text:c,images:u.map((A,q)=>({id:`${p}:${q}`,data:A.data_b64,attachment:null,mimeType:A.mime_type})),onPainted:s});let h=l,v=n??d.sessionId,E=null;try{if(!v){if(E="sessions.create",v=await i.createSession(t.cwd,d.target,d.createRequestId,d.model??null,d.warmId)??void 0,!v)throw new it(Fe.getState().error??"Chat could not start.");i.updateDraft(e,{sessionId:v}),T&&Ru(T,v),i.fetchSessions()}const A=l&&o?.submittedRendered!==void 0?o.submittedRendered:r?await r(v)??c:c;return h=!0,i.updateDraft(e,{error:void 0,errorCode:void 0,errorRetry:void 0,admissionAttempted:!0,submittedRendered:A}),v&&Cu(v,p,A),E="sessions.message",await tf({op:"sessions.message",sessionId:v,requestId:p,text:A,images:u.length?u:void 0,mode:f}),i.finishDraft(e,v),Fe.setState({error:null}),v}catch(A){Fe.setState({error:null});const q=l&&o?.admissionAttempted===!0,ne=lo(A,q),he=E==="sessions.message"&&Gu(A,c),ge=he?bn:Ms(A),C=zu(A,ge,q);let V=!1;const oe=v??T??void 0;if(oe&&ne==="unknown"&&(V=h&&Nu(oe,p)==="owner"),i.updateDraft(e,{pending:!1,admissionAttempted:ne==="unknown"&&h,errorCode:ge,error:C.message,errorRetry:C.retry}),V)return v?(i.finishDraft(e,v),v):null;const se=Cn(e,v??d.sessionId),Ae=T&&T!==se?[T,se]:[se];throw Ee.getState().settleInFlight(Ae),T&&T!==se&&Ee.getState().returnInFlight(T,se),oe&&ps(oe,p),e!==oe&&ps(e,p),he?new Y(422,so,A,bn):A}}const uo=50,nf=25,sf=500;function rf(e){return e?uo:sf}function Qr(e,t){return`${e}:${t}`}function of(e){const t=new Set;for(const n of Object.values(e))for(const s of n.ids)t.add(s);return t}function af(e){const t=new Set(e.tailIds),n=new Set(e.keepIds??[]),s=new Set(e.page.map(c=>c.session_id)),r=e.sessions.filter(c=>s.has(c.session_id)?!1:e.scopeIds.has(c.session_id)||n.has(c.session_id)?!0:t.has(c.session_id)),i=e.merge(e.sessions,e.page),o=new Set(i.map(c=>c.session_id));for(const c of r)o.has(c.session_id)||(o.add(c.session_id),i.push(c));return{rows:i,tailIds:e.tailIds.filter(c=>o.has(c))}}function cf(e){const t=[...e.previousIds],n=new Set(t);for(const i of e.page)n.has(i.session_id)||(n.add(i.session_id),t.push(i.session_id));const s=[...e.sessions],r=new Map(s.map((i,o)=>[i.session_id,o]));for(const i of e.page){const o=r.get(i.session_id);if(o===void 0){r.set(i.session_id,s.length),s.push(i);continue}s[o]=e.merge(s[o],i)}return{rows:s,ids:t}}function cn(e,t){return{...e,...t,...ff(e,t),...pf(t,e),attention:yt(e?.attention,t.attention,t.session_id)}}const lf=e=>{if(e.attention?.unseen!==!0)return null;const t=e.status?.code;return t==="complete"||t==="error"||t==="interrupted"?t:null},df=e=>e.filter(t=>{if(lf(t)===null)return!1;const n=t.attention?.completion_token;return typeof n=="string"&&n.length>0}),Xr=(e,t,n)=>{const s=e.findIndex(c=>c.session_id===t);if(s<0)return e;const r=e[s],i=yt(r.attention,n,t);if(i===r.attention)return e;const o=e.slice();return o[s]={...r,attention:i},o},uf=(e,t)=>({sessionId:t,revision:(e?.revision??0)+1});function ff(e,t){const n=s=>typeof s?.status_revision=="number"&&typeof s?.status_epoch=="string"?{status_revision:s.status_revision,status_epoch:s.status_epoch}:void 0;return n(t)??n(e)??{}}function pf(e,t){const n=typeof t?.status_epoch=="string"&&t.status_epoch===e.status_epoch,s=t?.status_revision,r=e.status_revision;return t?.status!==void 0&&n&&typeof s=="number"&&typeof r=="number"&&s>r?{status:t?.status,status_revision:t?.status_revision,status_epoch:t?.status_epoch}:{}}function hf(e,t){const n={};let s=!1;for(const[r,i]of Object.entries(e)){if(i.at<t){s=!0;continue}n[r]=i}return s?n:e}function zn(e,t){const n={...e.archiveFacts};delete n[t];const s=e.answerSeq+1;return{sessions:e.sessions.filter(r=>r.session_id!==t),archiveFacts:n,answerSeq:s,forgotten:{...e.forgotten,[t]:{at:s,title:e.sessions.find(r=>r.session_id===t)?.title??void 0}},deleteCandidate:e.deleteCandidate===t?null:e.deleteCandidate}}function fo(e){return e.map(({id:t,name:n,mtime:s,...r})=>({...r,session_id:t,title:n,updated_at:s}))}function Jr(e,t){return fo(e).filter(n=>t[n.session_id]===void 0)}function Kn(e){return typeof e=="string"&&e.length>0?e:null}function mf(e){if(e===null||typeof e!="object")return null;const t=e,n=c=>typeof c=="number"&&Number.isFinite(c)&&c>=0?Math.floor(c):null,s=n(t.total),r=n(t.active),i=n(t.unbound);if(s===null||r===null||i===null||!Array.isArray(t.scopes))return null;const o=[];for(const c of t.scopes){if(c===null||typeof c!="object")return null;const l=c;if(l.kind!=="team"&&l.kind!=="agent"||typeof l.name!="string"||l.name.length===0)continue;const d=n(l.total),u=n(l.active);d===null||u===null||o.push({kind:l.kind,name:l.name,total:d,active:u})}return{total:s,active:r,unbound:i,scopes:o}}function gf(e,t){const n=new Map(e.map(s=>[s.session_id,s]));return[...new Map(t.map(s=>[s.session_id,cn(n.get(s.session_id),s)])).values()]}let Wn=0,ht=null;function yf(e,t,n){const s=ht;if(s)return s.invalidated=!0,s.limit=e,s.withCounts=t,s.promise;const r={limit:e,withCounts:t,invalidated:!1,promise:null};return ht=r,r.promise=(async()=>{try{for(;;){r.invalidated=!1;let i;try{i=await n(r.limit,r.withCounts)}catch(o){if(r.invalidated)continue;throw o}if(!r.invalidated)return ht===r&&(ht=null),i}}finally{ht===r&&(ht=null)}})(),r.promise}function po(){try{const e=window.api?.desktop;return e?e.initialSession?{kind:"session",sessionId:e.initialSession}:e.initialCatalogue?{kind:"catalogue"}:{kind:"restore"}:{kind:"restore"}}catch{return{kind:"restore"}}}function vf(){const e=po();return e.kind==="session"?e.sessionId:null}function _f(e){if(e.activeSessionId||e.activeDraftKey)return null;const t=`draft:${crypto.randomUUID()}`;return{activeDraftKey:t,drafts:{...e.drafts,[t]:{key:t,createRequestId:crypto.randomUUID(),admissionRequestId:crypto.randomUUID()}}}}function bf(e,t){const n={...t,...e},s=po();if(s.kind==="session")return{...n,activeSessionId:s.sessionId};if(s.kind==="catalogue")return{...n,activeSessionId:null};const r=_f(n);return r?{...n,...r}:n}const Fe=xs()(li((e,t)=>({sessions:[],cataloguePageable:!1,draftWarmable:!1,activeSessionId:vf(),activeDraftKey:null,drafts:{},sessionByAgent:{},validatingSessionId:null,pinFailure:null,pinFacts:{},answerSeq:0,readAckRearm:null,readAckNotice:null,loading:!1,truncated:!1,head:{pageIds:[],tailIds:[],nextCursor:null,tailCursor:null,tailStarted:!1,complete:!1,loading:!1,error:null,at:0},scopes:{},counts:null,statusUnavailable:[],archiveFacts:{},forgotten:{},stoppedTurns:{},archiveFailure:null,archiveUndo:null,draftsUndo:null,stagedByDiscard:null,deleteCandidate:null,error:null,cwd:"~",setCwd:n=>e(s=>{const r=Object.entries(s.drafts);return r.some(([,i])=>!i.sessionId)?{cwd:n,drafts:Object.fromEntries(r.map(([i,o])=>o.sessionId?[i,o]:[i,{...o,warmId:void 0,draftRequestId:crypto.randomUUID()}]))}:{cwd:n}}),fetchSessions:async(n=rf(t().cataloguePageable),s=!1)=>{const r=++Wn,i=t().answerSeq+1;e({answerSeq:i}),e({loading:!0,error:null});try{const o=await yf(n,s,(l,d)=>ce({op:"sessions.list",limit:l,include_archived:!0,...d?{with_counts:!0}:{}}));if(r!==Wn)return;const c=fo(o.sessions);e(l=>{const d={...l.pinFacts};for(const[C,V]of Object.entries(d))V.at>=i||delete d[C];const u=new Set(c.map(C=>C.session_id));let f=!1;const p={...l.forgotten};for(const[C,V]of Object.entries(p))V.at<i&&u.has(C)&&(delete p[C],f=!0);const w=f?p:l.forgotten,T=c.filter(C=>w[C.session_id]===void 0),h=Kn(o.next_cursor),v=h===null&&o.truncated!==!0,E=T.map(C=>C.session_id),A=l.sessions.filter(C=>w[C.session_id]===void 0&&(l.pinFacts[C.session_id]?.at??-1)>=i),q=af({sessions:l.sessions,scopeIds:of(l.scopes),keepIds:l.activeSessionId===null?[]:[l.activeSessionId],tailIds:v?[]:l.head.tailIds,page:T,merge:gf});let ne=q.rows;for(const C of A){const V=l.pinFacts[C.session_id],oe=ne.findIndex(se=>se.session_id===C.session_id);oe===-1?ne=[...ne,{...C,pinned:V.pinned}]:ne[oe]={...ne[oe],pinned:V.pinned}}const he=hf(l.archiveFacts,i),ge=mf(o.counts);return{sessions:ne,pinFacts:d,archiveFacts:he,forgotten:w,loading:!1,truncated:o.truncated===!0,head:{pageIds:E,tailIds:q.tailIds,nextCursor:h,tailCursor:v?null:l.head.tailStarted?l.head.tailCursor:h,tailStarted:l.head.tailStarted,complete:v,loading:!1,error:null,at:i},...ge===null?{}:{counts:ge},statusUnavailable:Array.isArray(o.degraded)?o.degraded.filter(C=>typeof C=="string"):[]}})}catch(o){r===Wn&&e({loading:!1,error:sn(o,"Chats could not refresh. Retry to reconnect.")})}},fetchCatalogueTail:async()=>{const n=t().head,s=n.tailCursor;if(!(s===null||n.loading)){e(r=>({head:{...r.head,loading:!0,error:null,tailStarted:!0,tailCursor:s}}));try{const r=await ce({op:"sessions.list",limit:uo,include_archived:!0,cursor:s}),i=Jr(r.sessions,t().forgotten);e(o=>{const c=new Map(o.sessions.map((f,p)=>[f.session_id,p])),l=[...o.sessions],d=[];for(const f of i){const p=c.get(f.session_id);if(p===void 0){c.set(f.session_id,l.length),l.push(f),d.push(f.session_id);continue}l[p]=cn(l[p],f)}const u=Kn(r.next_cursor);return{sessions:l,head:{...o.head,tailIds:[...o.head.tailIds,...d],tailCursor:u,complete:u===null,loading:!1,error:null}}})}catch(r){e(i=>({head:{...i.head,loading:!1,error:sn(r,"Could not load more chats.")}}))}}},fetchScopePage:async(n,s,r=null,i=nf)=>{const o=Qr(n,s);if(t().scopes[o]?.loading)return;const c=t().answerSeq+1;e({answerSeq:c}),e(l=>({scopes:{...l.scopes,[o]:{ids:l.scopes[o]?.ids??[],nextCursor:l.scopes[o]?.nextCursor??null,loading:!0,error:null,at:c}}}));try{const l=await ce({op:"sessions.list",limit:i,include_archived:!1,scope_kind:n,scope_name:s,...r===null?{}:{cursor:r}}),d=Jr(l.sessions,t().forgotten);e(u=>{const f=u.scopes[o];if(f===void 0||f.at!==c)return{};const p=r!==null&&l.cursor_missing!==!0,w=cf({sessions:u.sessions,previousIds:p?f.ids:[],page:d,merge:cn}),T=Kn(l.next_cursor);return{sessions:w.rows,scopes:{...u.scopes,[o]:{ids:w.ids,nextCursor:T,loading:!1,error:null,at:c}}}})}catch(l){e(d=>{const u=d.scopes[o];return u===void 0||u.at!==c?{}:{scopes:{...d.scopes,[o]:{...u,loading:!1,error:sn(l,"Could not load this group's chats.")}}}})}},clearScope:(n,s)=>{const r=Qr(n,s);e(i=>{const o=i.scopes[r];if(o===void 0)return{};const c={...i.scopes};delete c[r];const l=i.activeSessionId,d=new Set(o.ids),u=new Set(i.head.pageIds),f=i.sessions.filter(p=>!d.has(p.session_id)||u.has(p.session_id)||l!==null&&p.session_id===l);return{scopes:c,sessions:f}})},setCataloguePageable:n=>{t().cataloguePageable!==n&&e({cataloguePageable:n})},setDraftWarmable:n=>{if(t().draftWarmable===n||(e({draftWarmable:n}),!n))return;const s=t().activeDraftKey,r=s?t().drafts[s]:void 0;if(!s||!r||r.sessionId||r.warmId)return;Ee.getState().inputByConversation[s]?.currentInput&&t().ensureDraftWarm(s)},setArchiveUndo:n=>{e({archiveUndo:n})},setDraftsUndo:n=>{e({draftsUndo:n})},setStagedByDiscard:n=>{e({stagedByDiscard:n})},restoreDraftsUndo:()=>e(n=>{const s=n.draftsUndo;if(!s)return{};const r={...n.drafts};for(const[o,c]of Object.entries(s.drafts))o in r||(r[o]=c);const i=Ee.getState();for(const[o,c]of Object.entries(s.composer)){const l=i.inputByConversation[o];(l?.currentInput??"").length>0||(l?.pendingText??null)!==null||i.restoreRow(o,c)}return{drafts:r,draftsUndo:null}}),clearArchiveFailure:()=>{e({archiveFailure:null})},setSessionArchived:async(n,s,r)=>{const i=t().answerSeq+1,o=t().archiveFacts[n]??null,c=r??t().sessions.find(l=>l.session_id===n)?.title;e(l=>({answerSeq:i,archiveFacts:{...l.archiveFacts,[n]:{archived:s,at:i,answered:!1}}}));try{return await ce({op:"sessions.archive",sessionId:n,archived:s}),e(l=>{const u=l.archiveFacts[n]?.at!==i;return{archiveFacts:u?l.archiveFacts:{...l.archiveFacts,[n]:{archived:s,at:i,answered:!0}},archiveUndo:u?l.archiveUndo:s?{sessionId:n,title:c??void 0,archived:!0,at:i}:null,archiveFailure:l.archiveFailure?.sessionId===n?null:l.archiveFailure}}),!0}catch(l){return e(d=>{const u=d.archiveFacts[n]?.at!==i,f={...d.archiveFacts};return u||(o?.answered===!0?f[n]=o:(delete f[n],o!==null&&t().fetchSessions())),{archiveFacts:u?d.archiveFacts:f,answerSeq:d.answerSeq+1,archiveFailure:{sessionId:n,at:d.answerSeq+1,archived:s,title:c||"Untitled chat",detail:l instanceof Y&&l.message?l.message:""}}}),!1}},deleteSession:async n=>{try{return await ce({op:"sessions.delete",sessionId:n,confirmed:!0}),e(s=>zn(s,n)),{ok:!0}}catch(s){const r=s instanceof Y?s.status:null,i=s instanceof Y?s.code??null:null;return r===404?(e(o=>zn(o,n)),{ok:!0}):{ok:!1,guarded:i==="session_delete_refused",detail:s instanceof Y&&s.message?s.message:"The conversation could not be deleted."}}},requestSessionDelete:n=>e({deleteCandidate:n}),createSession:async(n,s,r=crypto.randomUUID(),i,o)=>{try{const c=await ce({op:"sessions.create",requestId:r,cwd:n,...s?{target:s}:{},...i?{model:i}:{},...o?{draftId:o}:{}});return t().upsertSession({session_id:c.session_id,cwd:n,binding:c.binding}),c.session_id}catch(c){throw e({error:sn(c,"Chat could not start. Retry with the same draft.")}),c}},setActiveSession:n=>{e({activeSessionId:n,activeDraftKey:null,validatingSessionId:null})},markTurnStopped:(n,s=Date.now())=>e(r=>({stoppedTurns:{...r.stoppedTurns,[n]:s}})),clearTurnStopped:n=>e(s=>{if(!(n in s.stoppedTurns))return s;const{[n]:r,...i}=s.stoppedTurns;return{stoppedTurns:i}}),openDraft:n=>{t().drafts[n]&&e({activeDraftKey:n,activeSessionId:null,validatingSessionId:null,error:null})},confirmSessionLive:n=>{n&&t().validatingSessionId===n&&e({validatingSessionId:null})},confirmSessionMissing:n=>{!n||t().validatingSessionId!==n||e({validatingSessionId:null,...zn(t(),n)})},rearmReadAck:n=>{e(s=>({readAckRearm:uf(s.readAckRearm,n)}))},publishReadAckNotice:(n,s,r)=>{e(i=>{const o=i.readAckNotice;return o?.sessionId===n&&o.kind===s?i:{readAckNotice:{sessionId:n,kind:s,revision:(o?.revision??0)+1,reason:r}}})},clearReadAckNotice:n=>{e(s=>s.readAckNotice?.sessionId===n?{readAckNotice:null}:s)},applyAttention:(n,s)=>{e(r=>{const i=Xr(r.sessions,n,s);return i===r.sessions?r:{...r,sessions:i}})},applyAttentionMany:n=>{e(s=>{let r=s.sessions;for(const i of n){const o=i?.conversation_id;typeof o!="string"||!o.startsWith("session/")||(r=Xr(r,o.slice(8),i))}return r===s.sessions?s:{...s,sessions:r}})},markAllRead:async()=>{const n=df(t().sessions).map(r=>({sessionId:r.session_id,completionToken:r.attention?.completion_token}));if(n.length===0)return{attempted:0,cleared:0,superseded:0,unknown:0};const s=await ce({op:"attention.seen",items:n});return t().applyAttentionMany(s.read),{attempted:n.length,cleared:s.read.length,superseded:s.superseded.length,unknown:s.unknown.length}},applySessionStatus:(n,s,r,i)=>{e(o=>{const c=o.sessions.findIndex(p=>p.session_id===n);let l=!1;const d=o.sessions.map(p=>{if(p.status_epoch===void 0&&p.status_revision===void 0||p.status_epoch===i)return p;l=!0;const{status_revision:w,status_epoch:T,...h}=p;return h});if(c<0)return l?{...o,sessions:d}:o;const u=d[c],f=u.status?.code===s.code&&u.status?.label===s.label&&u.status_revision===r&&u.status_epoch===i;return f&&!l?o:(f||(d[c]={...u,status:s,status_revision:r,status_epoch:i}),{...o,sessions:d})})},openSession:async n=>t().activeSessionId===n&&!t().activeDraftKey?(t().rearmReadAck(n),!0):(e({activeSessionId:n,activeDraftKey:null,validatingSessionId:n,error:null}),t().rearmReadAck(n),!0),stageDraft:(n,s=!1)=>{const r=!s&&n?`draft:${n.kind}:${n.name}`:`draft:${crypto.randomUUID()}`,i=t().drafts[r];return e(o=>({activeDraftKey:r,validatingSessionId:null,error:null,drafts:{...o.drafts,[r]:i??{key:r,target:n,createRequestId:crypto.randomUUID(),admissionRequestId:crypto.randomUUID()}}})),r},updateDraft:(n,s)=>e(r=>{const i=r.drafts[n],o=s.key!==void 0&&s.createRequestId!==void 0&&s.admissionRequestId!==void 0;return!i&&!o?{}:{drafts:{...r.drafts,[n]:{...r.drafts[n],...s}}}}),setDraftModel:(n,s)=>e(r=>{const i=r.drafts[n];return i?{drafts:{...r.drafts,[n]:{...i,model:s,...i.sessionId?{}:{createRequestId:crypto.randomUUID(),warmId:void 0,draftRequestId:crypto.randomUUID()}}}}:{}}),ensureDraftWarm:n=>{const s=t();if(!s.draftWarmable)return;const r=s.drafts[n];if(!r||r.sessionId||r.warmId||!s.cwd)return;const i=r.draftRequestId??crypto.randomUUID();r.draftRequestId||t().updateDraft(n,{draftRequestId:i}),ce({op:"sessions.draft",requestId:i,cwd:s.cwd,...r.target?{target:r.target}:{},...r.model?{model:r.model}:{}}).then(o=>{const c=t().drafts[n];c&&!c.warmId&&!c.sessionId&&c.draftRequestId===i&&t().updateDraft(n,{warmId:o.draft_id})}).catch(()=>{})},finishDraft:(n,s)=>e(r=>{Yu(n,s);const i={...r.drafts};return delete i[n],{drafts:i,...r.activeDraftKey===n?{activeDraftKey:null,activeSessionId:s}:{}}}),discardDraft:n=>e(s=>{const r={...s.drafts},i=r[n]?.sessionId??(n.startsWith("send:")?n.slice(5):void 0),o=r[n],c=Ee.getState().inputByConversation[n];nn(n),i&&i!==n&&nn(i),delete r[n],Ee.getState().clearAll(n);const l=o?{at:s.answerSeq+1,keys:[n],drafts:{[n]:o},composer:c?{[n]:c}:{}}:null;return{drafts:r,...l?{answerSeq:l.at,draftsUndo:l}:{},...s.activeDraftKey===n?{activeDraftKey:null}:{}}}),discardDrafts:n=>e(s=>{const r={...s.drafts};let i=!1;const o=[],c={},l={};for(const u of n){if(!(u in r))continue;const f=r[u];if(!f)continue;const p=f.sessionId??(u.startsWith("send:")?u.slice(5):void 0);nn(u),p&&p!==u&&nn(p),o.push(u),c[u]=f;const w=Ee.getState().inputByConversation[u];w&&(l[u]=w),delete r[u],Ee.getState().clearAll(u),s.activeDraftKey===u&&(i=!0)}if(o.length===0)return{};const d=s.answerSeq+1;return{drafts:r,answerSeq:d,draftsUndo:{at:d,keys:o,drafts:c,composer:l},...i?{activeDraftKey:null}:{}}}),resolveHeldFromServer:(n,s,r)=>e(i=>{const o=Object.entries(i.drafts).filter(([,C])=>ms(C,n)&&C.undelivered!==void 0&&s.includes(C.undelivered.recordId));let c=i.drafts;if(o.length>0){c={...c};for(const[C,V]of o){const{undelivered:oe,...se}=V;c[C]=se}}const l=Object.entries(c).find(([,C])=>ms(C,n)&&C.admissionAttempted===!0&&C.pending!==!0&&C.submittedText!==void 0);if(!l)return o.length>0?{drafts:c}:{};const[d,u]=l,f=u.admissionRequestId,p=s.includes(f);if(!p&&!r)return o.length>0?{drafts:c}:{};const{admissionAttempted:w,submittedText:T,submittedAttachments:h,submittedImages:v,submittedMode:E,heldClaimCode:A,error:q,errorCode:ne,errorRetry:he,...ge}=u;return p||ps(n,f),{drafts:{...c,[d]:{...ge,...p?{}:{undelivered:{recordId:f,text:T??"",attachments:h??[]}},admissionRequestId:crypto.randomUUID()}}}}),bindSession:(n,s)=>t().setActiveSession(s),beginAnswer:()=>{const n=t().answerSeq+1;return e({answerSeq:n}),n},applySearchAnswer:(n,s)=>e(r=>{let i=null,o=null,c=null;for(const l of s){const d=r.archiveFacts[l.id];if(d!==void 0&&d.at<n&&(c=c??{...r.archiveFacts},delete c[l.id]),typeof l.pinned!="boolean")continue;const u=r.pinFacts[l.id];if(!(u!==void 0&&u.at>=n)&&(u!==void 0&&(i=i??{...r.pinFacts},delete i[l.id]),r.sessions.some(f=>f.session_id===l.id&&f.pinned!==l.pinned))){o=o??r.sessions.map(f=>({...f}));for(const f of o)f.session_id===l.id&&(f.pinned=l.pinned===!0)}}return i===null&&o===null&&c===null?{}:{...i===null?{}:{pinFacts:i},...o===null?{}:{sessions:o},...c===null?{}:{archiveFacts:c}}}),setSessionPin:async(n,s,r)=>{const i=t().sessions.find(p=>p.session_id===n),o=t().pinFacts[n]??null,c=i===void 0?o?.pinned??!1:i.pinned===!0,l=i===void 0&&r!==void 0?{session_id:n,title:r.title||"Untitled chat",updated_at:r.updated_at,pinned:s}:null,d=t().beginAnswer(),u=i?.title??r?.title,f=i?.updated_at??r?.updated_at;e(p=>({sessions:l===null?p.sessions.map(w=>w.session_id===n?{...w,pinned:s}:w):[...p.sessions,l],pinFacts:{...p.pinFacts,[n]:{pinned:s,at:d,title:u,updated_at:f}},pinFailure:null}));try{const p=await ce({op:"sessions.pin",sessionId:n,pinned:s});let w=!1;return e(T=>{const h=T.pinFacts[n];return h===void 0||h.at!==d?{}:(w=!0,{sessions:T.sessions.map(v=>v.session_id===n?{...v,pinned:p.pinned===!0}:v),pinFacts:{...T.pinFacts,[n]:{...h,pinned:p.pinned===!0}}})}),w}catch(p){return e(w=>{const T=w.pinFacts[n];if(T!==void 0&&T.at!==d)return{};const h={...w.pinFacts};return o===null&&i===void 0?delete h[n]:h[n]={pinned:c,at:Math.max(o?.at??0,d),title:o?.title??u,updated_at:o?.updated_at??f},{sessions:w.sessions.map(v=>v.session_id===n?{...v,pinned:c}:v),pinFacts:h,pinFailure:{sessionId:n,pinned:s,title:i?.title||"this chat",detail:Tn(p,"")}}}),!1}},upsertSession:n=>e(s=>({sessions:s.sessions.some(i=>i.session_id===n.session_id)?s.sessions.map(i=>i.session_id===n.session_id?cn(i,n):i):[...s.sessions,n]}))}),{name:"canonical-sessions-storage",merge:bf,partialize:e=>({sessionByAgent:e.sessionByAgent,activeSessionId:e.activeSessionId,activeDraftKey:e.activeDraftKey,cwd:e.cwd,forgotten:Object.fromEntries(Object.entries(e.forgotten).map(([t,n])=>[t,{at:0,title:n.title}])),drafts:Object.fromEntries(Object.entries(e.drafts).map(([t,n])=>[t,{...n,pending:!1,warmId:void 0}]))})}));var Us=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ot=typeof window>"u"||"Deno"in globalThis;function gs(){}function Qh(e,t){return typeof e=="function"?e(t):e}function ys(e){return typeof e=="number"&&e>=0&&e!==1/0}function ho(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ln(e,t){return typeof e=="function"?e(t):e}function ve(e,t){return typeof e=="function"?e(t):e}function Xh(e,t){const{type:n="all",exact:s,fetchStatus:r,predicate:i,queryKey:o,stale:c}=e;if(o){if(s){if(t.queryHash!==wf(o,t.options))return!1}else if(!Fs(t.queryKey,o))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||r&&r!==t.state.fetchStatus||i&&!i(t))}function Jh(e,t){const{exact:n,status:s,predicate:r,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(vs(t.options.mutationKey)!==vs(i))return!1}else if(!Fs(t.options.mutationKey,i))return!1}return!(s&&t.state.status!==s||r&&!r(t))}function wf(e,t){return(t?.queryKeyHashFn||vs)(e)}function vs(e){return JSON.stringify(e,(t,n)=>bs(n)?Object.keys(n).sort().reduce((s,r)=>(s[r]=n[r],s),{}):n)}function Fs(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>Fs(e[n],t[n])):!1}function mo(e,t){if(e===t)return e;const n=qr(e)&&qr(t);if(n||bs(e)&&bs(t)){const s=n?e:Object.keys(e),r=s.length,i=n?t:Object.keys(t),o=i.length,c=n?[]:{};let l=0;for(let d=0;d<o;d++){const u=n?d:i[d];(!n&&s.includes(u)||n)&&e[u]===void 0&&t[u]===void 0?(c[u]=void 0,l++):(c[u]=mo(e[u],t[u]),c[u]===e[u]&&e[u]!==void 0&&l++)}return r===o&&l===r?e:c}return t}function _s(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function qr(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function bs(e){if(!ei(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!ei(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function ei(e){return Object.prototype.toString.call(e)==="[object Object]"}function Sf(e){return new Promise(t=>{setTimeout(t,e)})}function ws(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?mo(e,t):t}function qh(e){return e}function em(e,t,n=0){const s=[...e,t];return n&&s.length>n?s.slice(1):s}function tm(e,t,n=0){const s=[t,...e];return n&&s.length>n?s.slice(0,-1):s}var go=Symbol();function kf(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===go?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var Tf=class extends Us{#t;#e;#n;constructor(){super(),this.#n=e=>{if(!ot&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#n=e,this.#e?.(),this.#e=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#t!==e&&(this.#t=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#t=="boolean"?this.#t:globalThis.document?.visibilityState!=="hidden"}},yo=new Tf,Ef=class extends Us{#t=!0;#e;#n;constructor(){super(),this.#n=e=>{if(!ot&&window.addEventListener){const t=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}}}}onSubscribe(){this.#e||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#e?.(),this.#e=void 0)}setEventListener(e){this.#n=e,this.#e?.(),this.#e=e(this.setOnline.bind(this))}setOnline(e){this.#t!==e&&(this.#t=e,this.listeners.forEach(n=>{n(e)}))}isOnline(){return this.#t}},vo=new Ef;function Ss(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});n.status="pending",n.catch(()=>{});function s(r){Object.assign(n,r),delete n.resolve,delete n.reject}return n.resolve=r=>{s({status:"fulfilled",value:r}),e(r)},n.reject=r=>{s({status:"rejected",reason:r}),t(r)},n}function xf(e){return Math.min(1e3*2**e,3e4)}function _o(e){return(e??"online")==="online"?vo.isOnline():!0}var bo=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Yn(e){return e instanceof bo}function If(e){let t=!1,n=0,s=!1,r;const i=Ss(),o=h=>{s||(p(new bo(h)),e.abort?.())},c=()=>{t=!0},l=()=>{t=!1},d=()=>yo.isFocused()&&(e.networkMode==="always"||vo.isOnline())&&e.canRun(),u=()=>_o(e.networkMode)&&e.canRun(),f=h=>{s||(s=!0,e.onSuccess?.(h),r?.(),i.resolve(h))},p=h=>{s||(s=!0,e.onError?.(h),r?.(),i.reject(h))},w=()=>new Promise(h=>{r=v=>{(s||d())&&h(v)},e.onPause?.()}).then(()=>{r=void 0,s||e.onContinue?.()}),T=()=>{if(s)return;let h;const v=n===0?e.initialPromise:void 0;try{h=v??e.fn()}catch(E){h=Promise.reject(E)}Promise.resolve(h).then(f).catch(E=>{if(s)return;const A=e.retry??(ot?0:3),q=e.retryDelay??xf,ne=typeof q=="function"?q(n,E):q,he=A===!0||typeof A=="number"&&n<A||typeof A=="function"&&A(n,E);if(t||!he){p(E);return}n++,e.onFail?.(n,E),Sf(ne).then(()=>d()?void 0:w()).then(()=>{t?p(E):T()})})};return{promise:i,cancel:o,continue:()=>(r?.(),i),cancelRetry:c,continueRetry:l,canStart:u,start:()=>(u()?T():w().then(T),i)}}var Cf=e=>setTimeout(e,0);function Rf(){let e=[],t=0,n=c=>{c()},s=c=>{c()},r=Cf;const i=c=>{t?e.push(c):r(()=>{n(c)})},o=()=>{const c=e;e=[],c.length&&r(()=>{s(()=>{c.forEach(l=>{n(l)})})})};return{batch:c=>{let l;t++;try{l=c()}finally{t--,t||o()}return l},batchCalls:c=>(...l)=>{i(()=>{c(...l)})},schedule:i,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{s=c},setScheduler:c=>{r=c}}}var Bs=Rf(),Af=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),ys(this.gcTime)&&(this.#t=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(ot?1/0:5*60*1e3))}clearGcTimeout(){this.#t&&(clearTimeout(this.#t),this.#t=void 0)}},nm=class extends Af{#t;#e;#n;#r;#s;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.client,this.#n=this.#r.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Of(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#s?.promise}setOptions(e){this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#n.remove(this)}setData(e,t){const n=ws(this.state.data,e,this.options);return this.#i({data:n,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#s?.promise;return this.#s?.cancel(e),t?t.then(gs).catch(gs):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#t)}isActive(){return this.observers.some(e=>ve(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===go||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!ho(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#s?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#s?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#s&&(this.#o?this.#s.cancel({revert:!0}):this.#s.cancelRetry()),this.scheduleGc()),this.#n.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(e,t){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#s)return this.#s.continueRetry(),this.#s.promise}if(e&&this.setOptions(e),!this.options.queryFn){const c=this.observers.find(l=>l.options.queryFn);c&&this.setOptions(c.options)}const n=new AbortController,s=c=>{Object.defineProperty(c,"signal",{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},r=()=>{const c=kf(this.options,t),l={client:this.#r,queryKey:this.queryKey,meta:this.meta};return s(l),this.#o=!1,this.options.persister?this.options.persister(c,l,this):c(l)},i={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#r,state:this.state,fetchFn:r};s(i),this.options.behavior?.onFetch(i,this),this.#e=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==i.fetchOptions?.meta)&&this.#i({type:"fetch",meta:i.fetchOptions?.meta});const o=c=>{Yn(c)&&c.silent||this.#i({type:"error",error:c}),Yn(c)||(this.#n.config.onError?.(c,this),this.#n.config.onSettled?.(this.state.data,c,this)),this.scheduleGc()};return this.#s=If({initialPromise:t?.initialPromise,fn:i.fetchFn,abort:n.abort.bind(n),onSuccess:c=>{if(c===void 0){o(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(c)}catch(l){o(l);return}this.#n.config.onSuccess?.(c,this),this.#n.config.onSettled?.(c,this.state.error,this),this.scheduleGc()},onError:o,onFail:(c,l)=>{this.#i({type:"failed",failureCount:c,error:l})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0}),this.#s.start()}#i(e){const t=n=>{switch(e.type){case"failed":return{...n,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...wo(n.data,this.options),fetchMeta:e.meta??null};case"success":return{...n,data:e.data,dataUpdateCount:n.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=e.error;return Yn(s)&&s.revert&&this.#e?{...this.#e,fetchStatus:"idle"}:{...n,error:s,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...e.state}}};this.state=t(this.state),Bs.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),this.#n.notify({query:this,type:"updated",action:e})})}};function wo(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:_o(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Of(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,s=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Pf=class extends Us{constructor(e,t){super(),this.options=t,this.#t=e,this.#i=null,this.#o=Ss(),this.options.experimental_prefetchInRender||this.#o.reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(t)}#t;#e=void 0;#n=void 0;#r=void 0;#s;#a;#o;#i;#m;#f;#p;#l;#d;#c;#h=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#e.addObserver(this),ti(this.#e,this.options)?this.#u():this.updateResult(),this.#_())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ks(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ks(this.#e,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#w(),this.#e.removeObserver(this)}setOptions(e){const t=this.options,n=this.#e;if(this.options=this.#t.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ve(this.options.enabled,this.#e)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#S(),this.#e.setOptions(this.options),t._defaulted&&!_s(this.options,t)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const s=this.hasListeners();s&&ni(this.#e,n,this.options,t)&&this.#u(),this.updateResult(),s&&(this.#e!==n||ve(this.options.enabled,this.#e)!==ve(t.enabled,this.#e)||ln(this.options.staleTime,this.#e)!==ln(t.staleTime,this.#e))&&this.#g();const r=this.#y();s&&(this.#e!==n||ve(this.options.enabled,this.#e)!==ve(t.enabled,this.#e)||r!==this.#c)&&this.#v(r)}getOptimisticResult(e){const t=this.#t.getQueryCache().build(this.#t,e),n=this.createResult(t,e);return Nf(this,n)&&(this.#r=n,this.#a=this.options,this.#s=this.#e.state),n}getCurrentResult(){return this.#r}trackResult(e,t){const n={};return Object.keys(e).forEach(s=>{Object.defineProperty(n,s,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(s),t?.(s),e[s])})}),n}trackProp(e){this.#h.add(e)}getCurrentQuery(){return this.#e}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#t.defaultQueryOptions(e),n=this.#t.getQueryCache().build(this.#t,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#u({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#u(e){this.#S();let t=this.#e.fetch(this.options,e);return e?.throwOnError||(t=t.catch(gs)),t}#g(){this.#b();const e=ln(this.options.staleTime,this.#e);if(ot||this.#r.isStale||!ys(e))return;const n=ho(this.#r.dataUpdatedAt,e)+1;this.#l=setTimeout(()=>{this.#r.isStale||this.updateResult()},n)}#y(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#e):this.options.refetchInterval)??!1}#v(e){this.#w(),this.#c=e,!(ot||ve(this.options.enabled,this.#e)===!1||!ys(this.#c)||this.#c===0)&&(this.#d=setInterval(()=>{(this.options.refetchIntervalInBackground||yo.isFocused())&&this.#u()},this.#c))}#_(){this.#g(),this.#v(this.#y())}#b(){this.#l&&(clearTimeout(this.#l),this.#l=void 0)}#w(){this.#d&&(clearInterval(this.#d),this.#d=void 0)}createResult(e,t){const n=this.#e,s=this.options,r=this.#r,i=this.#s,o=this.#a,l=e!==n?e.state:this.#n,{state:d}=e;let u={...d},f=!1,p;if(t._optimisticResults){const V=this.hasListeners(),oe=!V&&ti(e,t),se=V&&ni(e,n,t,s);(oe||se)&&(u={...u,...wo(d.data,e.options)}),t._optimisticResults==="isRestoring"&&(u.fetchStatus="idle")}let{error:w,errorUpdatedAt:T,status:h}=u;p=u.data;let v=!1;if(t.placeholderData!==void 0&&p===void 0&&h==="pending"){let V;r?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(V=r.data,v=!0):V=typeof t.placeholderData=="function"?t.placeholderData(this.#p?.state.data,this.#p):t.placeholderData,V!==void 0&&(h="success",p=ws(r?.data,V,t),f=!0)}if(t.select&&p!==void 0&&!v)if(r&&p===i?.data&&t.select===this.#m)p=this.#f;else try{this.#m=t.select,p=t.select(p),p=ws(r?.data,p,t),this.#f=p,this.#i=null}catch(V){this.#i=V}this.#i&&(w=this.#i,p=this.#f,T=Date.now(),h="error");const E=u.fetchStatus==="fetching",A=h==="pending",q=h==="error",ne=A&&E,he=p!==void 0,C={status:h,fetchStatus:u.fetchStatus,isPending:A,isSuccess:h==="success",isError:q,isInitialLoading:ne,isLoading:ne,data:p,dataUpdatedAt:u.dataUpdatedAt,error:w,errorUpdatedAt:T,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:u.dataUpdateCount>0||u.errorUpdateCount>0,isFetchedAfterMount:u.dataUpdateCount>l.dataUpdateCount||u.errorUpdateCount>l.errorUpdateCount,isFetching:E,isRefetching:E&&!A,isLoadingError:q&&!he,isPaused:u.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:q&&he,isStale:Zs(e,t),refetch:this.refetch,promise:this.#o};if(this.options.experimental_prefetchInRender){const V=Ae=>{C.status==="error"?Ae.reject(C.error):C.data!==void 0&&Ae.resolve(C.data)},oe=()=>{const Ae=this.#o=C.promise=Ss();V(Ae)},se=this.#o;switch(se.status){case"pending":e.queryHash===n.queryHash&&V(se);break;case"fulfilled":(C.status==="error"||C.data!==se.value)&&oe();break;case"rejected":(C.status!=="error"||C.error!==se.reason)&&oe();break}}return C}updateResult(){const e=this.#r,t=this.createResult(this.#e,this.options);if(this.#s=this.#e.state,this.#a=this.options,this.#s.data!==void 0&&(this.#p=this.#e),_s(t,e))return;this.#r=t;const n=()=>{if(!e)return!0;const{notifyOnChangeProps:s}=this.options,r=typeof s=="function"?s():s;if(r==="all"||!r&&!this.#h.size)return!0;const i=new Set(r??this.#h);return this.options.throwOnError&&i.add("error"),Object.keys(this.#r).some(o=>{const c=o;return this.#r[c]!==e[c]&&i.has(c)})};this.#k({listeners:n()})}#S(){const e=this.#t.getQueryCache().build(this.#t,this.options);if(e===this.#e)return;const t=this.#e;this.#e=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#_()}#k(e){Bs.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#r)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function Df(e,t){return ve(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function ti(e,t){return Df(e,t)||e.state.data!==void 0&&ks(e,t,t.refetchOnMount)}function ks(e,t,n){if(ve(t.enabled,e)!==!1){const s=typeof n=="function"?n(e):n;return s==="always"||s!==!1&&Zs(e,t)}return!1}function ni(e,t,n,s){return(e!==t||ve(s.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&Zs(e,n)}function Zs(e,t){return ve(t.enabled,e)!==!1&&e.isStaleByTime(ln(t.staleTime,e))}function Nf(e,t){return!_s(e.getCurrentResult(),t)}var So=R.createContext(void 0),Lf=e=>{const t=R.useContext(So);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},sm=({client:e,children:t})=>(R.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),Oe.jsx(So.Provider,{value:e,children:t})),ko=R.createContext(!1),jf=()=>R.useContext(ko);ko.Provider;function Mf(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var $f=R.createContext(Mf()),Uf=()=>R.useContext($f);function Ff(e,t){return typeof e=="function"?e(...t):!!e}function si(){}var Bf=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},Zf=e=>{R.useEffect(()=>{e.clearReset()},[e])},Gf=({result:e,errorResetBoundary:t,throwOnError:n,query:s,suspense:r})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(r&&e.data===void 0||Ff(n,[e.error,s])),Vf=e=>{const t=e.staleTime;e.suspense&&(e.staleTime=typeof t=="function"?(...n)=>Math.max(t(...n),1e3):Math.max(t??1e3,1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},Hf=(e,t)=>e.isLoading&&e.isFetching&&!t,zf=(e,t)=>e?.suspense&&t.isPending,ri=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Kf(e,t,n){const s=Lf(),r=jf(),i=Uf(),o=s.defaultQueryOptions(e);s.getDefaultOptions().queries?._experimental_beforeQuery?.(o),o._optimisticResults=r?"isRestoring":"optimistic",Vf(o),Bf(o,i),Zf(i);const c=!s.getQueryCache().get(o.queryHash),[l]=R.useState(()=>new t(s,o)),d=l.getOptimisticResult(o),u=!r&&e.subscribed!==!1;if(R.useSyncExternalStore(R.useCallback(f=>{const p=u?l.subscribe(Bs.batchCalls(f)):si;return l.updateResult(),p},[l,u]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),R.useEffect(()=>{l.setOptions(o)},[o,l]),zf(o,d))throw ri(o,l,i);if(Gf({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s.getQueryCache().get(o.queryHash),suspense:o.suspense}))throw d.error;return s.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!ot&&Hf(d,r)&&(c?ri(o,l,i):s.getQueryCache().get(o.queryHash)?.promise)?.catch(si).finally(()=>{l.updateResult()}),o.notifyOnChangeProps?d:l.trackResult(d)}function To(e,t){return Kf(e,Pf)}/**
|
|
21
|
-
* @license lucide-react v0.507.0 - ISC
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the ISC license.
|
|
24
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/const Wf=[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]],Qn=wn("command",Wf);/**
|
|
26
|
-
* @license lucide-react v0.507.0 - ISC
|
|
27
|
-
*
|
|
28
|
-
* This source code is licensed under the ISC license.
|
|
29
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
30
|
-
*/const Yf=[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]],ii=wn("corner-down-left",Yf);/**
|
|
31
|
-
* @license lucide-react v0.507.0 - ISC
|
|
32
|
-
*
|
|
33
|
-
* This source code is licensed under the ISC license.
|
|
34
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
35
|
-
*/const Qf=[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]],rm=wn("mic",Qf);/**
|
|
36
|
-
* @license lucide-react v0.507.0 - ISC
|
|
37
|
-
*
|
|
38
|
-
* This source code is licensed under the ISC license.
|
|
39
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
40
|
-
*/const Xf=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],im=wn("square",Xf);class Eo extends Error{status;constructor(t,n){super(n),this.name="TranscriptionRequestError",this.status=t}}function om(e){const t=e instanceof Eo?e.status:null;if(t===402)return sp;if(t===401||t===403)return oi;const n=e instanceof Error?e.message:"",s=xo(n);if(s==="")return ip;if(ap.test(s)){const o=mp(s),c=gp(s);return c!==null?o===null?`Dictation failed: the account behind dictation is out of credits. If it's yours, top it up at ${c}.`:`Dictation failed: the ${o} account behind dictation is out of credits. If it's yours, top it up at ${c}.`:rp}if(cp.test(s))return oi;const r=Jf(yp(s)),i=r.endsWith("…")?" ":". ";return`Dictation failed: ${r.replace(np,"")}${i}${op}`}function Jf(e){const[t]=qf.exec(e)??[];return t===void 0||t.length<2||ep.test(t.slice(1))||!tp.test(t)?e:e[0].toLowerCase()+e.slice(1)}const qf=/^[\p{L}\p{N}'’-]+/u,ep=/[\p{Lu}\p{N}]/u,tp=new RegExp("^\\p{Lu}","u"),np=/\.$/,sp="Dictation failed: you're out of Radient credits. Get more credits, then try again.",oi="Dictation failed: your Radient sign-in was refused. Sign in to Radient, then try again.",rp="Dictation failed: the account behind dictation is out of credits. If it's yours, top it up.",ip="Dictation failed: the server gave no reason. Try again, or report it with the app's log.",op="Try again, or report it with the app's log.",ap=/insufficient_quota|insufficient funds|no credits remaining|exceeded your current quota|out of credits|billing (?:hard )?limit|credit balance is too low/i,cp=/unauthorized|invalid[ _-]?api[ _-]?key|incorrect api key|no api key|authentication|permission denied|forbidden/i,lp=/^([A-Za-z][A-Za-z0-9&.+_-]*(?: [A-Za-z][A-Za-z0-9&.+_-]*){0,2}) API error\b/,dp=/\bhttps?:\/\/[^\s"'<>),]+/,up=/^https?:\/\//,fp=/[.,;:]+$/,pp=40,ai=80,hp=40;function xo(e){return e.replace(/\s+/g," ").trim()}function mp(e){return lp.exec(e)?.[1]??null}function gp(e){const t=dp.exec(e)?.[0];if(t===void 0)return null;const n=t.replace(up,"").replace(fp,"");return n===""||n.length>pp?null:n}function yp(e){const t=_p(e);if(t!==null)return ci(xo(t));const n=e.replace(vp,"").trim();return ci(n===""?e:n)}const vp=/^(?:GET|POST|PUT|PATCH|DELETE|HEAD)\s+\S+\s+returned\s+\d{3}\s*/i;function _p(e){const t=e.indexOf("{"),n=e.lastIndexOf("}");if(t===-1||n<=t)return null;let s;try{s=JSON.parse(e.slice(t,n+1))}catch{return null}const r=s;if(typeof r?.message=="string"&&r.message.trim()!=="")return r.message;const i=r?.error??null;return typeof i?.message=="string"&&i.message.trim()!==""?i.message:null}function ci(e){if(e.length<=ai)return e;const t=e.slice(0,ai),n=t.lastIndexOf(" ");return`${(n>hp?t.slice(0,n):t).trimEnd()}…`}const am={async createTranscription(e,t){const n={};t.model!==void 0&&(n.model=t.model),t.prompt!==void 0&&(n.prompt=t.prompt),t.response_format!==void 0&&(n.response_format=t.response_format),t.temperature!==void 0&&(n.temperature=t.temperature.toString()),t.language!==void 0&&(n.language=t.language),t.provider!==void 0&&(n.provider=t.provider);const s=new Uint8Array(await t.file.arrayBuffer()),r=await el({op:"transcription.create",fileName:t.file.name||"audio",mimeType:t.file.type||"application/octet-stream",fields:n},s);if(r.kind!=="json")throw new Eo(r.status,tl(r).message);return r.body}},bp=a.object({VITE_LOCAL_OPERATOR_API_URL:a.string().url("API URL must be a valid URL").optional().default("http://localhost:1111"),VITE_RADIENT_SERVER_BASE_URL:a.string().url("Radient server base URL must be a valid URL").optional().default("https://api.radienthq.com"),VITE_RADIENT_CLIENT_ID:a.string({required_error:"VITE_RADIENT_CLIENT_ID is required",invalid_type_error:"VITE_RADIENT_CLIENT_ID must be a string"}).optional().default("b0fd1aa8-05a2-4ca2-bac2-82db293e7584"),VITE_DISABLE_BACKEND_MANAGER:a.enum(["true","false"]).optional().default("false"),VITE_LOG_LEVEL:a.enum(["debug","info","warn","error"]).optional().default("info"),VITE_PUBLIC_POSTHOG_KEY:a.string().optional().default("phc_u6n9doAtCUbpFbydIqzupCxqCaGUO4SiHMEU5ESvQRL"),VITE_PUBLIC_POSTHOG_HOST:a.string().url("PostHog host must be a valid URL").optional().default("https://us.i.posthog.com")}),wp={BASE_URL:"./",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_GOOGLE_CLIENT_ID:"778402241192-7akrj44ptshfhh067e1lchko5vslcedk.apps.googleusercontent.com",VITE_GOOGLE_CLIENT_SECRET:"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",VITE_MICROSOFT_CLIENT_ID:"ce6f7818-fa68-4063-ae88-5c4888bc4f9f",VITE_MICROSOFT_TENANT_ID:"1cbff824-c118-40e7-86f6-0e8bef31658d"};function Sp(){try{const e={};for(const[t,n]of Object.entries(wp))t.startsWith("VITE_")&&(e[t]=String(n));return bp.parse(e)}catch(e){if(e instanceof pe){const t=e.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(`
|
|
41
|
-
`);throw new Error(`Configuration validation failed:
|
|
42
|
-
${t}`)}throw new Error(`Failed to load configuration: ${e instanceof Error?e.message:String(e)}`)}}const Xn=Sp();let Io=null;function cm(e){Io=e}const lm={get baseUrl(){return Io??Xn.VITE_LOCAL_OPERATOR_API_URL},radientBaseUrl:Xn.VITE_RADIENT_SERVER_BASE_URL,radientClientId:Xn.VITE_RADIENT_CLIENT_ID};function dm(e){return e!=="detached"&&e!=="wedged"}function Co(e){return e!=="governed-elsewhere"&&e!=="pre-handshake"}function um(e){if(!e)return{title:"Not connected to a Local Operator server.",detail:null,retry:!0};const t=e.addressSubstitution??null;if(t&&e.state!=="detached"&&e.state!=="wedged")return t.kind==="substituted"?{title:`Serving on ${t.serving}, not the address this app is configured for.`,detail:t.holder?`${t.holder}. The app uses ${t.serving} while that holds.${t.reclaim?` ${t.reclaim}`:""} It is back on ${t.configured} on its next launch or recovery.`:`The daemon this app is using was already running, so it did not start one. It looks for ${t.configured} again on its next launch or recovery.`,retry:!0}:{title:`Back on ${t.configured}, the address this app is configured for.`,detail:`It served on ${t.serving} while the configured address was held; it is on the address it was told to use again.`,retry:!1,dismiss:!0};const n=e.detail?.trim()?e.detail.trim():null,s=Co(e.pairing?.cause??null);switch(e.state){case"wedged":return{title:"A Local Operator server is running on this machine and this app is not attached to it.",detail:n,retry:s};case"detached":return e.reconnecting?{title:s?"Not connected to a Local Operator server. If one is still running, the app reconnects to it on its own.":"Not connected to a Local Operator server.",detail:n,retry:s}:{title:s?"The Local Operator server stopped. The app keeps looking for one and attaches to it when it appears.":"Not connected to a Local Operator server. The app keeps looking for one.",detail:n,retry:s};default:return null}}function kp(e){if(Xc(e))return"deadline";const t=e instanceof Y?e.status:null;return t===null||t===503?"unreachable":t===401||t===403?"unauthorized":t===404?"outdated":"unknown"}const Ro={unreachable:"",deadline:"",unauthorized:"",outdated:"Update the server and try again.",unknown:""},Ts={unreachable:"The Local Operator server is not answering.",deadline:"The Local Operator server did not answer in time.",unauthorized:"This app cannot authenticate to the running Local Operator server.",outdated:"The Local Operator server is older than this app expects.",unknown:""};function Tp(e,t){const n=kp(t);return[e,Ts[n],Ro[n]].filter(Boolean).join(" ")}const Es={successor:"The Local Operator server was replaced while this app was running. Pairing with the new one.","governed-elsewhere":"The Local Operator server on this machine is already managed by another program, so this app cannot use its settings, provider sign-in, slash commands or MCP management.","pre-handshake":"The Local Operator server on this machine is older than the pairing handshake this app uses, so this app cannot drive its controls. The server itself, and anything you run against it from the terminal, are unaffected.","credential-refused":"This app's credential for the running Local Operator server was refused, so provider sign-in, settings, slash commands and MCP management are unavailable.",unpaired:"This app is not paired with the running Local Operator server, so provider sign-in, settings, slash commands and MCP management are unavailable."},Ep={successor:"This conversation cannot be read here until the app finishes pairing with the replacement server. Your chats are still on that server.","governed-elsewhere":"This conversation cannot be read here: the server's desktop controls belong to another program. Your chats are still on that server.","pre-handshake":"This conversation cannot be read here: that server is older than the pairing handshake this app uses. Your chats are still on that server.","credential-refused":"This conversation cannot be read here: the server refused this app's credential. Your chats are still on that server.",unpaired:"This conversation cannot be read here: the app is not paired with the running server. Your chats are still on that server."};function fm(e,t){return e!=="unpaired"?null:Ep[t??"unpaired"]}function pm(e,t){return e!=="unpaired"?null:Es[t??"unpaired"]}function hm(e){const{kind:t,unpaired:n,answered:s,cause:r=null,servedByThisApp:i=!1}=e;return r==="pre-handshake"?i:r!==null||n?!1:s?i:t==="outdated"}function mm(e){const{kind:t,unpaired:n,missing:s,answered:r,cause:i=null}=e;if(i!==null)return Es[i];if(!r){if(t==="unreachable")return`${Ts.unreachable} Provider sign-in, settings, slash commands and MCP management need it running.`;if(t==="unauthorized")return"This app cannot authenticate to the running Local Operator server, so provider sign-in, settings, slash commands and MCP management are unavailable.";if(t==="deadline")return`${Ts.deadline} Provider sign-in, settings, slash commands and MCP management need it answering.`;if(t==="outdated")return`The Local Operator server is older than this app expects, so provider sign-in, settings, slash commands and MCP management are off. ${Ro.outdated}`}return n?Es.unpaired:r?`The Local Operator server is missing ${s.join(", ")} support. Update it to enable those surfaces.`:"Provider sign-in, settings, slash commands and MCP management are unavailable because the Local Operator server did not answer as expected."}const xp=["auth","settings","commands","catalogues","lifecycle","mcp","radient"];function gm(e,t=null){return t!==null||!e?!0:xp.filter(s=>(e.features?.[s]??0)<1).length>0||e.desktop_available!==!0}function Ip(e,t){return t instanceof Y&&t.status===null?!1:e<1}const Cp={successor:"Your settings could not be loaded: the app is pairing with the server that replaced the one it was using.","governed-elsewhere":"Your settings could not be loaded: another program is managing this machine's Local Operator server, so this page cannot read or change them here.","pre-handshake":"Your settings could not be loaded: the server this app is talking to is older than the pairing handshake, so this page cannot read them from it.","credential-refused":"Your settings could not be loaded: the server refused this app's credential, so this page cannot read them from it.",unpaired:"Your settings could not be loaded: this app is not paired with the running server, so this page cannot read them from it."};function ym(e,t,n){return e===null?{sentence:Tp(t,n),remedy:!0}:{sentence:Cp[e],remedy:Co(e)}}const Ao={capabilities:["desktop","capabilities"],providers:["desktop","auth","providers"],commands:["desktop","commands"],accounts:["desktop","auth","accounts"],catalogue:["desktop","models"],credentials:e=>["desktop","credentials",e]},Rp=3e4,Ap=15e3;function Op(e){return e?.desktop_available===!0}function vm(){return To({queryKey:Ao.capabilities,queryFn:async()=>{try{return await ce({op:"capabilities"})}catch(e){throw e instanceof Error?e:new Error(String(e))}},staleTime:6e4,retry:!1,refetchInterval:e=>Op(e.state.data)?Rp:Ap,refetchIntervalInBackground:!0})}function Pp(e,t,n=1){return e?e.desktop_available?(e.features?.[t]??0)>=n?"enabled":"below-version":"unpaired":"unknown"}function _m(e,t,n=1){return Pp(e,t,n)==="enabled"}function bm(e){return To({queryKey:Ao.providers,queryFn:()=>ce({op:"providers.list"}).then(t=>t.providers),enabled:e,staleTime:3e4,retry:Ip})}const Dp=12,Np="inline-flex h-5 min-w-5 items-center justify-center rounded-xs px-1 font-mono text-ink-dim text-mono-sm",Lp="inline-flex items-center gap-0",jp={"⌘":Qn,cmd:Qn,command:Qn,enter:ii,"↵":ii},wm=({shortcut:e,joined:t=!1})=>{const n=e.split("+").map(s=>s.trim());return Oe.jsx("span",{className:Lp,children:n.map((s,r)=>{const i=jp[s.toLowerCase()];return Oe.jsxs(R.Fragment,{children:[r>0&&!t&&Oe.jsx("span",{"aria-hidden":"true",className:"text-mono-sm text-ink-dim",children:"+"}),Oe.jsx("kbd",{className:Np,children:i?Oe.jsxs(Oe.Fragment,{children:[Oe.jsx(i,{size:Dp,"aria-hidden":"true"}),Oe.jsx("span",{className:"sr-only",children:s})]}):s})]},`${s}-${r}`)})})};function Sm(e){const t=e.trim();if(t.startsWith("="))return null;const n=t.toLowerCase();return n==="pause"||n==="resume"||n==="status"?n:null}function km(e){const t=e.trim();return t.startsWith("=")?t.slice(1).trimStart():t}function Tm(e,t){return e==="pause"?{text:"Aida is paused. She will not check in until you resume her.",kind:"success"}:e==="resume"?{text:"Aida is resumed. She will check in on her usual schedule.",kind:"success"}:{kind:"info",text:t.paused?"Aida is paused.":"Aida is active."}}function Em(e){return Tn(e,"Aida's controls could not reach the backend.")}const xm="The chief of staff is switched off on this install.",Im="primary+alt+space",Mp=/^f([1-9]|1[0-9]|2[0-4])$/;function $p(e){return Mp.test(e)}function Oo(e,t){const n=Up(e,t);return t==="mac"?n.join(""):n.join("+")}function Up(e,t){const s=t==="mac"?{primary:"⌘",meta:"⌘",ctrl:"⌃",alt:"⌥",shift:"⇧"}:{primary:"Ctrl",meta:t==="win"?"Win":"Super",ctrl:"Ctrl",alt:"Alt",shift:"Shift"},r={space:"Space",backspace:"Backspace",delete:"Delete",insert:"Insert",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",up:"Up",down:"Down",left:"Left",right:"Right"};return e.split("+").map(i=>i.trim().toLowerCase()).filter(i=>i.length>0).map(i=>i in s?s[i]:i in r?r[i]:$p(i)||i.length===1?i.toUpperCase():i)}const Cm="Error accessing microphone. Please ensure microphone permissions are granted.",Rm="Dictation is not available on this device.",Am={seatLabel:"To: the chief of staff",placeholder:"Message your chief of staff",send:"Send",sent:"Sent",retry:"Retry",hint:"Enter sends, Shift+Enter adds a line, Esc hides",recording:"Recording. Press the stop button when you're done.",transcribing:"Transcribing.",dictationStart:"Dictate a message",dictationStop:"Stop dictation",seatMissing:"This build doesn't have a chief-of-staff seat.",seatOpenFailed:"Couldn't open the chief-of-staff conversation.",seatUnreachable:"Couldn't reach the chief of staff.",keepText:"Your message is still here.",postAdmission:"That didn't reach the chief of staff — check the conversation."},Om="If the chord does nothing, another app or the system owns it — choose another.",Pm="Works even when the app isn't focused.",Dm="A global shortcut needs a modifier — it would otherwise fire while you type.";function Nm(e){const t=n=>Oo(n,e);return`Try ${t("primary+shift+space")}, ${t("primary+alt+shift+space")} or ${t("primary+f8")} if that one is taken.`}function Lm(e,t){const n=r=>Oo(r,t);switch(e.split("+").map(r=>r.trim().toLowerCase()).filter(Boolean).sort().join("+")){case"alt+primary+space":return Fp(t,"Fantastical and Things Quick Entry use Control+Option+Space; both let you rebind it.","Some capture apps reserve their own chord in this family; the settings inside them can rebind it.");case"primary+shift+space":return`Some editors use ${n("primary+shift+space")} for parameter hints, and word processors for a non-breaking space.`;default:return null}}function Fp(e,t,n){return e==="mac"?t:n}function jm(e,t){switch(e){case"registered":return`Registered ${t}`;case"taken":return`Couldn't register ${t} — another app may already use it. Choose another shortcut.`;case"invalid":return"This key can't be used as a global shortcut on this system.";case"unavailable":return"Global shortcuts aren't supported on this system."}}function Mm(){try{return window.api?.windowChrome?.facts?.().platform??"linux"}catch{return"linux"}}export{zp as $,xm as A,ic as B,oc as C,Y as D,ac as E,Pp as F,cc as G,Us as H,Bs as I,mo as J,wm as K,jf as L,Cm as M,Uf as N,Vf as O,cr as P,Pf as Q,Bf as R,fe as S,am as T,Zf as U,si as V,zf as W,ri as X,Hf as Y,Gf as Z,hr as _,Lf as a,qh as a$,Kp as a0,Ee as a1,Ao as a2,Lm as a3,Dm as a4,$p as a5,Oo as a6,Pm as a7,jm as a8,Om as a9,Ff as aA,qp as aB,el as aC,tl as aD,Xn as aE,cm as aF,dm as aG,Wp as aH,Js as aI,Vc as aJ,Yp as aK,Wa as aL,Qs as aM,zd as aN,Ph as aO,Dh as aP,Oh as aQ,Ji as aR,Zd as aS,Os as aT,ye as aU,bc as aV,Vu as aW,Ai as aX,nl as aY,Cs as aZ,Si as a_,Nm as aa,ym as ab,El as ac,sf as ad,it as ae,Jp as af,Xa as ag,jh as ah,wf as ai,nm as aj,Xh as ak,Af as al,If as am,Jh as an,gs as ao,kf as ap,tm as aq,em as ar,yo as as,vo as at,ln as au,Qh as av,vs as aw,Fs as ax,go as ay,_s as az,To as b,Gh as b$,Ih as b0,Xc as b1,rh as b2,ih as b3,Th as b4,Eh as b5,Xi as b6,Bn as b7,xh as b8,As as b9,lh as bA,ch as bB,ph as bC,dh as bD,bh as bE,Nh as bF,Lh as bG,Xp as bH,za as bI,Ka as bJ,df as bK,lf as bL,Yr as bM,nf as bN,uo as bO,Qr as bP,Vp as bQ,Ue as bR,It as bS,eh as bT,um as bU,kh as bV,Ah as bW,Rh as bX,ki as bY,Vh as bZ,Zh as b_,Rs as ba,rs as bb,xp as bc,gm as bd,kp as be,mm as bf,hm as bg,yt as bh,sh as bi,nh as bj,th as bk,Qp as bl,vh as bm,_h as bn,gh as bo,hh as bp,Oi as bq,fh as br,Mi as bs,Rl as bt,uh as bu,yh as bv,mh as bw,oh as bx,ah as by,ul as bz,Fe as c,Sm as c0,Tm as c1,Em as c2,km as c3,wh as c4,Sh as c5,Cn as c6,Ku as c7,Co as c8,fm as c9,$s as ca,Fh as cb,Mh as cc,Ch as cd,co as ce,Xu as cf,In as cg,Kh as ch,Wh as ci,$h as cj,Uh as ck,ro as cl,ao as cm,Zu as cn,Wr as co,Bh as cp,zh as cq,sm as cr,_m as d,ce as e,bm as f,pm as g,Rm as h,lm as i,Im as j,Am as k,Yh as l,Wu as m,Up as n,im as o,Hh as p,rm as q,Mm as r,zu as s,om as t,vm as u,Tp as v,Tn as w,Hp as x,Ip as y,rc as z};
|