local-operator-ui 0.31.22 → 0.31.23
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/out/main/index.js +233 -7
- package/out/renderer/assets/{_basePickBy-DF0sHvnl.js → _basePickBy-B4bNbRB1.js} +1 -1
- package/out/renderer/assets/{_baseUniq-BFKFl7Wd.js → _baseUniq-CVwZpL22.js} +1 -1
- package/out/renderer/assets/{agent-details-page-vTsZEkqQ.js → agent-details-page-BX0suGni.js} +1 -1
- package/out/renderer/assets/{agent-hub-page-jm_fZiZn.js → agent-hub-page-mag_Df5M.js} +1 -1
- package/out/renderer/assets/{agents-page-DC8A3FoC.js → agents-page-B_OovOwu.js} +2 -2
- package/out/renderer/assets/aida-control-Dxs-zwz7.js +50 -0
- package/out/renderer/assets/{arc-D0w6ee3G.js → arc-fIR19KcX.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-BHo23p2c.js → architectureDiagram-IEHRJDOE-DXEcmxDN.js} +1 -1
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-C4PlyJ6T.js → blockDiagram-JOT3LUYC-B4wc6PHf.js} +1 -1
- package/out/renderer/assets/{book-open-BI_Ayn7w.js → book-open-Cr3wDsTU.js} +1 -1
- package/out/renderer/assets/browser-page-QYVO_Ty7.js +1 -0
- package/out/renderer/assets/{browser-webauthn-prompt-B5MUKS69.js → browser-webauthn-prompt-CsoybaA5.js} +1 -1
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-CjzI59bD.js → c4Diagram-VJAJSXHY-1uEwtfMU.js} +1 -1
- package/out/renderer/assets/channel-CNKok60B.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-hXZ4B7Yp.js → chunk-4BMEZGHF-DRHY8LIl.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-C6wS72cg.js → chunk-A2AXSNBT-QZQ3z3yi.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-CLqS3upu.js → chunk-AEK57VVT-DtF0CfVL.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-C6hjevFK.js → chunk-D6G4REZN-BEo703CU.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-Bz6LVJIn.js → chunk-RZ5BOZE2-daWWt7HX.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-DmbrcRnR.js → chunk-XZIHB7SX-u-ggjLcj.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-mOBGp7Id.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-mOBGp7Id.js +1 -0
- package/out/renderer/assets/clone-oFxgV7gz.js +1 -0
- package/out/renderer/assets/{console-mirror-CHRPaR1r.js → console-mirror-BF1k198x.js} +1 -1
- package/out/renderer/assets/{consoleCapture-DCMDDQHm.js → consoleCapture-CB6NivW_.js} +1 -1
- package/out/renderer/assets/{dagre-OKDRZEBW-D80irjtc.js → dagre-OKDRZEBW-8g3lvHle.js} +1 -1
- package/out/renderer/assets/{diagram-SSKATNLV-Cw1zxYSh.js → diagram-SSKATNLV-MQ--LUAc.js} +1 -1
- package/out/renderer/assets/{diagram-VNBRO52H-DMzy3XEu.js → diagram-VNBRO52H-D1t3DNGA.js} +1 -1
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-YenYV77V.js → erDiagram-Q7BY3M3F-BFxoPqTx.js} +1 -1
- package/out/renderer/assets/{error-boundary-DYh9GOqG.js → error-boundary-BA_k6l0v.js} +1 -1
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-Bds7_Ont.js → flowDiagram-4HSFHLVR-CCtyNwMw.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-Nl53cyHj.js → ganttDiagram-APWFNJXF-BTr5f_or.js} +1 -1
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-BJBHzwkB.js → gitGraphDiagram-7IBYFJ6S-BPIItuIc.js} +1 -1
- package/out/renderer/assets/{graph-BPbBedPT.js → graph-BfbjaXow.js} +1 -1
- package/out/renderer/assets/index-CEf8R_cp.css +1 -0
- package/out/renderer/assets/{index-ec0p7piv.js → index-CpCEfkD6.js} +435 -430
- package/out/renderer/assets/{index-Bnk19Me4.js → index-DAlzRpjG.js} +1 -1
- package/out/renderer/assets/{index-BNjEDIyj.js → index-Dj4iGwiM.js} +1 -1
- package/out/renderer/assets/infoDiagram-PH2N3AL5-C6s8nAmm.js +2 -0
- package/out/renderer/assets/installer-B0cRTOY4.js +1 -0
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-D6V9F8qH.js → journeyDiagram-U35MCT3I-CcTXYhF0.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-3AEAKd1U.js → kanban-definition-NDS4AKOZ-C8zq_ypt.js} +1 -1
- package/out/renderer/assets/{layout-CWH68IUl.js → layout-JqMKtpWk.js} +1 -1
- package/out/renderer/assets/{legacy-agents-page-CaXRBxnF.js → legacy-agents-page-DAsmlMHi.js} +1 -1
- package/out/renderer/assets/{mermaid.core-SkXjY8IF.js → mermaid.core-BllcynrC.js} +5 -5
- package/out/renderer/assets/{mesh-page-Cr_4iB8D.js → mesh-page-CEvXBJRu.js} +1 -1
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-CLOmofrv.js → mindmap-definition-ALO5MXBD-BKNq6niU.js} +1 -1
- package/out/renderer/assets/{mini-BAGYXudo.js → mini-DVCmoZnA.js} +1 -1
- package/out/renderer/assets/{org-surface-gate-Dj95j2Nj.js → org-surface-gate-i2tRIcUb.js} +1 -1
- package/out/renderer/assets/{page-header-Dz4E9Ji9.js → page-header-6gka2c-2.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-BVWVZWCS.js → pieDiagram-IB7DONF6-B5zKXmP-.js} +1 -1
- package/out/renderer/assets/{projects-page-Cu2gc5tY.js → projects-page-Bl47UxEv.js} +6 -6
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DeqQdNl0.js → quadrantDiagram-7GDLP6J5-CywomFxA.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-aqXYJ4Ku.js → radar-MK3ICKWK-DVI3UMkb.js} +1 -1
- package/out/renderer/assets/{radient-auth-buttons-BqeoOp94.js → radient-auth-buttons-CuD380Dg.js} +1 -1
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-D81fmjDn.js → requirementDiagram-KVF5MWMF-Dx45yRmF.js} +1 -1
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-C0C6sBpn.js → sankeyDiagram-QLVOVGJD-MTCmQwVB.js} +1 -1
- package/out/renderer/assets/{schedules-page-Blr9zzCG.js → schedules-page-I-U4fcxy.js} +3 -3
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-TB7F8Hqt.js → sequenceDiagram-X6HHIX6F-DnpYYNTl.js} +1 -1
- package/out/renderer/assets/{settings-page-DpqcsEmy.js → settings-page-DwfZyrWO.js} +60 -65
- package/out/renderer/assets/{settings-section-lpy--SWL.js → settings-section-C-N8ZUsZ.js} +1 -1
- package/out/renderer/assets/{stateDiagram-DGXRK772-B6dcayLG.js → stateDiagram-DGXRK772-D4r0DeWs.js} +1 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-DLJs3lLO.js +1 -0
- package/out/renderer/assets/{textarea-dtE2fZRJ.js → textarea-CKZ36wuK.js} +2 -2
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-DUOG5GaW.js → timeline-definition-BDJGKUSR-CFliRV8y.js} +1 -1
- package/out/renderer/assets/{ui-preferences-store-B6-k1D10.js → ui-preferences-store-2ZO9oo_L.js} +1 -1
- package/out/renderer/assets/{use-download-agent-mutation-724n3ZAY.js → use-download-agent-mutation-BSPpQ8Bq.js} +1 -1
- package/out/renderer/assets/{use-memberships-query-CComBrZl.js → use-memberships-query-ChbBWsGj.js} +1 -1
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-BLvnlG7d.js → xychartDiagram-VJFVF3MP-BDBd-Bch.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/aida-control-Bwkluijq.js +0 -42
- package/out/renderer/assets/browser-page-TT7eVydU.js +0 -1
- package/out/renderer/assets/channel-BnPqoquV.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-D_CSusj-.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-D_CSusj-.js +0 -1
- package/out/renderer/assets/clone-BRW-kqpe.js +0 -1
- package/out/renderer/assets/index-DcDXH072.css +0 -1
- package/out/renderer/assets/infoDiagram-PH2N3AL5-DBjhwY6o.js +0 -2
- package/out/renderer/assets/installer-BgtX9Kgc.js +0 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-TfdpV2Sz.js +0 -1
- /package/out/renderer/assets/{index-BJJKraKa.js → index-BPylsrgv.js} +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import{c as Ls,p as xi}from"./ui-preferences-store-2ZO9oo_L.js";import{r as E,j as Le}from"./index-BPylsrgv.js";import{c as On}from"./textarea-CKZ36wuK.js";var B;(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})(B||(B={}));var cs;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(cs||(cs={}));const b=B.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$e=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=B.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"]),oa=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class ve 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 ve))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,B.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()}}ve.create=e=>new ve(e);const kt=(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,B.jsonStringifyReplacer)}`;break;case m.unrecognized_keys:n=`Unrecognized key(s) in object: ${B.joinValues(e.keys,", ")}`;break;case m.invalid_union:n="Invalid input";break;case m.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${B.joinValues(e.options)}`;break;case m.invalid_enum_value:n=`Invalid enum value. Expected ${B.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}"`:B.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,B.assertNever(e)}return{message:n}};let Ii=kt;function aa(e){Ii=e}function _n(){return Ii}const bn=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}},ca=[];function v(e,t){const n=_n(),s=bn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===kt?void 0:kt].filter(r=>!!r)});e.common.issues.push(s)}class fe{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 A;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 fe.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 A;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 A=Object.freeze({status:"aborted"}),_t=e=>({status:"dirty",value:e}),he=e=>({status:"valid",value:e}),ls=e=>e.status==="aborted",ds=e=>e.status==="dirty",at=e=>e.status==="valid",Ut=e=>typeof Promise<"u"&&e instanceof Promise;function wn(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 Ci(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 k;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(k||(k={}));var At,Ot;class De{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 tr=(e,t)=>{if(at(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 ve(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 L{get description(){return this._def.description}_getType(t){return $e(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:$e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new fe,ctx:{common:t.parent.common,data:t.data,parsedType:$e(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Ut(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:$e(t)},i=this._parseSync({data:t,path:r.path,parent:r});return tr(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:$e(t)};if(!this["~standard"].async)try{const i=this._parseSync({data:t,path:[],parent:r});return at(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=>at(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:$e(t)},r=this._parse({data:t,path:s.path,parent:s}),i=await(Ut(r)?r:Promise.resolve(r));return tr(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 Ee({schema:this,typeName:R.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 Pe.create(this,this._def)}nullable(){return We.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Te.create(this)}promise(){return Et.create(this,this._def)}or(t){return Zt.create([this,t],this._def)}and(t){return Ht.create(this,t,this._def)}transform(t){return new Ee({...D(this._def),schema:this,typeName:R.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Qt({...D(this._def),innerType:this,defaultValue:n,typeName:R.ZodDefault})}brand(){return new Ns({typeName:R.ZodBranded,type:this,...D(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Yt({...D(this._def),innerType:this,catchValue:n,typeName:R.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return en.create(this,t)}readonly(){return Xt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const la=/^c[^\s-]{8,}$/i,da=/^[0-9a-z]+$/,ua=/^[0-9A-HJKMNP-TV-Z]{26}$/i,fa=/^[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,pa=/^[a-z0-9_-]{21}$/i,ha=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ma=/^[-+]?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)?)??$/,ga=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ya="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Hn;const va=/^(?:(?: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])$/,_a=/^(?:(?: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])$/,ba=/^(([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]))$/,wa=/^(([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])$/,Sa=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ka=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ri="((\\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])))",Ta=new RegExp(`^${Ri}$`);function Ai(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 Ea(e){return new RegExp(`^${Ai(e)}$`)}function Oi(e){let t=`${Ri}T${Ai(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 xa(e,t){return!!((t==="v4"||!t)&&va.test(e)||(t==="v6"||!t)&&ba.test(e))}function Ia(e,t){if(!ha.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 Ca(e,t){return!!((t==="v4"||!t)&&_a.test(e)||(t==="v6"||!t)&&wa.test(e))}class ke extends L{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==b.string){const i=this._getOrReturnCtx(t);return v(i,{code:m.invalid_type,expected:b.string,received:i.parsedType}),A}const s=new fe;let r;for(const i of this._def.checks)if(i.kind==="min")t.data.length<i.value&&(r=this._getOrReturnCtx(t,r),v(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),v(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?v(r,{code:m.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):c&&v(r,{code:m.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),s.dirty())}else if(i.kind==="email")ga.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"email",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="emoji")Hn||(Hn=new RegExp(ya,"u")),Hn.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"emoji",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="uuid")fa.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"uuid",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="nanoid")pa.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"nanoid",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="cuid")la.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"cuid",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="cuid2")da.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"cuid2",code:m.invalid_string,message:i.message}),s.dirty());else if(i.kind==="ulid")ua.test(t.data)||(r=this._getOrReturnCtx(t,r),v(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),v(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),v(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),v(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),v(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),v(r,{code:m.invalid_string,validation:{endsWith:i.value},message:i.message}),s.dirty()):i.kind==="datetime"?Oi(i).test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{code:m.invalid_string,validation:"datetime",message:i.message}),s.dirty()):i.kind==="date"?Ta.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{code:m.invalid_string,validation:"date",message:i.message}),s.dirty()):i.kind==="time"?Ea(i).test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{code:m.invalid_string,validation:"time",message:i.message}),s.dirty()):i.kind==="duration"?ma.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"duration",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="ip"?xa(t.data,i.version)||(r=this._getOrReturnCtx(t,r),v(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),v(r,{validation:"jwt",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="cidr"?Ca(t.data,i.version)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"cidr",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="base64"?Sa.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"base64",code:m.invalid_string,message:i.message}),s.dirty()):i.kind==="base64url"?ka.test(t.data)||(r=this._getOrReturnCtx(t,r),v(r,{validation:"base64url",code:m.invalid_string,message:i.message}),s.dirty()):B.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,...k.errToObj(s)})}_addCheck(t){return new ke({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...k.errToObj(t)})}url(t){return this._addCheck({kind:"url",...k.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...k.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...k.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...k.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...k.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...k.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...k.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...k.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...k.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...k.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...k.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...k.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,...k.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,...k.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...k.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...k.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...k.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...k.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...k.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...k.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...k.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...k.errToObj(n)})}nonempty(t){return this.min(1,k.errToObj(t))}trim(){return new ke({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ke({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ke({...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}}ke.create=e=>{var t;return new ke({checks:[],typeName:R.ZodString,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...D(e)})};function Ra(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 Ve extends L{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 v(i,{code:m.invalid_type,expected:b.number,received:i.parsedType}),A}let s;const r=new fe;for(const i of this._def.checks)i.kind==="int"?B.isInteger(t.data)||(s=this._getOrReturnCtx(t,s),v(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),v(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),v(s,{code:m.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()):i.kind==="multipleOf"?Ra(t.data,i.value)!==0&&(s=this._getOrReturnCtx(t,s),v(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),v(s,{code:m.not_finite,message:i.message}),r.dirty()):B.assertNever(i);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,k.toString(n))}gt(t,n){return this.setLimit("min",t,!1,k.toString(n))}lte(t,n){return this.setLimit("max",t,!0,k.toString(n))}lt(t,n){return this.setLimit("max",t,!1,k.toString(n))}setLimit(t,n,s,r){return new Ve({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:k.toString(r)}]})}_addCheck(t){return new Ve({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:k.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:k.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:k.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:k.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:k.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:k.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:k.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:k.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:k.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"&&B.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)}}Ve.create=e=>new Ve({checks:[],typeName:R.ZodNumber,coerce:e?.coerce||!1,...D(e)});class ze extends L{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 fe;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),v(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),v(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),v(s,{code:m.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()):B.assertNever(i);return{status:r.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return v(n,{code:m.invalid_type,expected:b.bigint,received:n.parsedType}),A}gte(t,n){return this.setLimit("min",t,!0,k.toString(n))}gt(t,n){return this.setLimit("min",t,!1,k.toString(n))}lte(t,n){return this.setLimit("max",t,!0,k.toString(n))}lt(t,n){return this.setLimit("max",t,!1,k.toString(n))}setLimit(t,n,s,r){return new ze({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:k.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:k.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:k.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:k.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:k.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:k.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:R.ZodBigInt,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...D(e)})};class Ft extends L{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==b.boolean){const s=this._getOrReturnCtx(t);return v(s,{code:m.invalid_type,expected:b.boolean,received:s.parsedType}),A}return he(t.data)}}Ft.create=e=>new Ft({typeName:R.ZodBoolean,coerce:e?.coerce||!1,...D(e)});class ct extends L{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==b.date){const i=this._getOrReturnCtx(t);return v(i,{code:m.invalid_type,expected:b.date,received:i.parsedType}),A}if(isNaN(t.data.getTime())){const i=this._getOrReturnCtx(t);return v(i,{code:m.invalid_date}),A}const s=new fe;let r;for(const i of this._def.checks)i.kind==="min"?t.data.getTime()<i.value&&(r=this._getOrReturnCtx(t,r),v(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),v(r,{code:m.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),s.dirty()):B.assertNever(i);return{status:s.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ct({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:k.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:k.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}}ct.create=e=>new ct({checks:[],coerce:e?.coerce||!1,typeName:R.ZodDate,...D(e)});class Sn extends L{_parse(t){if(this._getType(t)!==b.symbol){const s=this._getOrReturnCtx(t);return v(s,{code:m.invalid_type,expected:b.symbol,received:s.parsedType}),A}return he(t.data)}}Sn.create=e=>new Sn({typeName:R.ZodSymbol,...D(e)});class Bt extends L{_parse(t){if(this._getType(t)!==b.undefined){const s=this._getOrReturnCtx(t);return v(s,{code:m.invalid_type,expected:b.undefined,received:s.parsedType}),A}return he(t.data)}}Bt.create=e=>new Bt({typeName:R.ZodUndefined,...D(e)});class Gt extends L{_parse(t){if(this._getType(t)!==b.null){const s=this._getOrReturnCtx(t);return v(s,{code:m.invalid_type,expected:b.null,received:s.parsedType}),A}return he(t.data)}}Gt.create=e=>new Gt({typeName:R.ZodNull,...D(e)});class Tt extends L{constructor(){super(...arguments),this._any=!0}_parse(t){return he(t.data)}}Tt.create=e=>new Tt({typeName:R.ZodAny,...D(e)});class it extends L{constructor(){super(...arguments),this._unknown=!0}_parse(t){return he(t.data)}}it.create=e=>new it({typeName:R.ZodUnknown,...D(e)});class Fe extends L{_parse(t){const n=this._getOrReturnCtx(t);return v(n,{code:m.invalid_type,expected:b.never,received:n.parsedType}),A}}Fe.create=e=>new Fe({typeName:R.ZodNever,...D(e)});class kn extends L{_parse(t){if(this._getType(t)!==b.undefined){const s=this._getOrReturnCtx(t);return v(s,{code:m.invalid_type,expected:b.void,received:s.parsedType}),A}return he(t.data)}}kn.create=e=>new kn({typeName:R.ZodVoid,...D(e)});class Te extends L{_parse(t){const{ctx:n,status:s}=this._processInputParams(t),r=this._def;if(n.parsedType!==b.array)return v(n,{code:m.invalid_type,expected:b.array,received:n.parsedType}),A;if(r.exactLength!==null){const o=n.data.length>r.exactLength.value,c=n.data.length<r.exactLength.value;(o||c)&&(v(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&&(v(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&&(v(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 De(n,o,n.path,c)))).then(o=>fe.mergeArray(s,o));const i=[...n.data].map((o,c)=>r.type._parseSync(new De(n,o,n.path,c)));return fe.mergeArray(s,i)}get element(){return this._def.type}min(t,n){return new Te({...this._def,minLength:{value:t,message:k.toString(n)}})}max(t,n){return new Te({...this._def,maxLength:{value:t,message:k.toString(n)}})}length(t,n){return new Te({...this._def,exactLength:{value:t,message:k.toString(n)}})}nonempty(t){return this.min(1,t)}}Te.create=(e,t)=>new Te({type:e,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...D(t)});function vt(e){if(e instanceof Y){const t={};for(const n in e.shape){const s=e.shape[n];t[n]=Pe.create(vt(s))}return new Y({...e._def,shape:()=>t})}else return e instanceof Te?new Te({...e._def,type:vt(e.element)}):e instanceof Pe?Pe.create(vt(e.unwrap())):e instanceof We?We.create(vt(e.unwrap())):e instanceof Me?Me.create(e.items.map(t=>vt(t))):e}class Y extends L{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=B.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==b.object){const d=this._getOrReturnCtx(t);return v(d,{code:m.invalid_type,expected:b.object,received:d.parsedType}),A}const{status:s,ctx:r}=this._processInputParams(t),{shape:i,keys:o}=this._getCached(),c=[];if(!(this._def.catchall instanceof Fe&&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 De(r,f,r.path,d)),alwaysSet:d in r.data})}if(this._def.catchall instanceof Fe){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&&(v(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 De(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,h=await u.value;d.push({key:f,value:h,alwaysSet:u.alwaysSet})}return d}).then(d=>fe.mergeObjectSync(s,d)):fe.mergeObjectSync(s,l)}get shape(){return this._def.shape()}strict(t){return k.errToObj,new Y({...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=k.errToObj(t).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new Y({...this._def,unknownKeys:"strip"})}passthrough(){return new Y({...this._def,unknownKeys:"passthrough"})}extend(t){return new Y({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Y({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:R.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Y({...this._def,catchall:t})}pick(t){const n={};return B.objectKeys(t).forEach(s=>{t[s]&&this.shape[s]&&(n[s]=this.shape[s])}),new Y({...this._def,shape:()=>n})}omit(t){const n={};return B.objectKeys(this.shape).forEach(s=>{t[s]||(n[s]=this.shape[s])}),new Y({...this._def,shape:()=>n})}deepPartial(){return vt(this)}partial(t){const n={};return B.objectKeys(this.shape).forEach(s=>{const r=this.shape[s];t&&!t[s]?n[s]=r:n[s]=r.optional()}),new Y({...this._def,shape:()=>n})}required(t){const n={};return B.objectKeys(this.shape).forEach(s=>{if(t&&!t[s])n[s]=this.shape[s];else{let i=this.shape[s];for(;i instanceof Pe;)i=i._def.innerType;n[s]=i}}),new Y({...this._def,shape:()=>n})}keyof(){return Pi(B.objectKeys(this.shape))}}Y.create=(e,t)=>new Y({shape:()=>e,unknownKeys:"strip",catchall:Fe.create(),typeName:R.ZodObject,...D(t)});Y.strictCreate=(e,t)=>new Y({shape:()=>e,unknownKeys:"strict",catchall:Fe.create(),typeName:R.ZodObject,...D(t)});Y.lazycreate=(e,t)=>new Y({shape:e,unknownKeys:"strip",catchall:Fe.create(),typeName:R.ZodObject,...D(t)});class Zt extends L{_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 ve(c.ctx.common.issues));return v(n,{code:m.invalid_union,unionErrors:o}),A}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 ve(l));return v(n,{code:m.invalid_union,unionErrors:c}),A}}get options(){return this._def.options}}Zt.create=(e,t)=>new Zt({options:e,typeName:R.ZodUnion,...D(t)});const Ne=e=>e instanceof zt?Ne(e.schema):e instanceof Ee?Ne(e.innerType()):e instanceof Kt?[e.value]:e instanceof Ke?e.options:e instanceof Wt?B.objectValues(e.enum):e instanceof Qt?Ne(e._def.innerType):e instanceof Bt?[void 0]:e instanceof Gt?[null]:e instanceof Pe?[void 0,...Ne(e.unwrap())]:e instanceof We?[null,...Ne(e.unwrap())]:e instanceof Ns||e instanceof Xt?Ne(e.unwrap()):e instanceof Yt?Ne(e._def.innerType):[];class Pn extends L{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.object)return v(n,{code:m.invalid_type,expected:b.object,received:n.parsedType}),A;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}):(v(n,{code:m.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),A)}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=Ne(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 Pn({typeName:R.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:r,...D(s)})}}function us(e,t){const n=$e(e),s=$e(t);if(e===t)return{valid:!0,data:e};if(n===b.object&&s===b.object){const r=B.objectKeys(t),i=B.objectKeys(e).filter(c=>r.indexOf(c)!==-1),o={...e,...t};for(const c of i){const l=us(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=us(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 Ht extends L{_parse(t){const{status:n,ctx:s}=this._processInputParams(t),r=(i,o)=>{if(ls(i)||ls(o))return A;const c=us(i.value,o.value);return c.valid?((ds(i)||ds(o))&&n.dirty(),{status:n.value,value:c.data}):(v(s,{code:m.invalid_intersection_types}),A)};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}))}}Ht.create=(e,t,n)=>new Ht({left:e,right:t,typeName:R.ZodIntersection,...D(n)});class Me extends L{_parse(t){const{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==b.array)return v(s,{code:m.invalid_type,expected:b.array,received:s.parsedType}),A;if(s.data.length<this._def.items.length)return v(s,{code:m.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&s.data.length>this._def.items.length&&(v(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 De(s,o,s.path,c)):null}).filter(o=>!!o);return s.common.async?Promise.all(i).then(o=>fe.mergeArray(n,o)):fe.mergeArray(n,i)}get items(){return this._def.items}rest(t){return new Me({...this._def,rest:t})}}Me.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Me({items:e,typeName:R.ZodTuple,rest:null,...D(t)})};class Vt extends L{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 v(s,{code:m.invalid_type,expected:b.object,received:s.parsedType}),A;const r=[],i=this._def.keyType,o=this._def.valueType;for(const c in s.data)r.push({key:i._parse(new De(s,c,s.path,c)),value:o._parse(new De(s,s.data[c],s.path,c)),alwaysSet:c in s.data});return s.common.async?fe.mergeObjectAsync(n,r):fe.mergeObjectSync(n,r)}get element(){return this._def.valueType}static create(t,n,s){return n instanceof L?new Vt({keyType:t,valueType:n,typeName:R.ZodRecord,...D(s)}):new Vt({keyType:ke.create(),valueType:t,typeName:R.ZodRecord,...D(n)})}}class Tn extends L{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 v(s,{code:m.invalid_type,expected:b.map,received:s.parsedType}),A;const r=this._def.keyType,i=this._def.valueType,o=[...s.data.entries()].map(([c,l],d)=>({key:r._parse(new De(s,c,s.path,[d,"key"])),value:i._parse(new De(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 A;(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 A;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),c.set(d.value,u.value)}return{status:n.value,value:c}}}}Tn.create=(e,t,n)=>new Tn({valueType:t,keyType:e,typeName:R.ZodMap,...D(n)});class lt extends L{_parse(t){const{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==b.set)return v(s,{code:m.invalid_type,expected:b.set,received:s.parsedType}),A;const r=this._def;r.minSize!==null&&s.data.size<r.minSize.value&&(v(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&&(v(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 A;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 De(s,l,s.path,d)));return s.common.async?Promise.all(c).then(l=>o(l)):o(c)}min(t,n){return new lt({...this._def,minSize:{value:t,message:k.toString(n)}})}max(t,n){return new lt({...this._def,maxSize:{value:t,message:k.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}lt.create=(e,t)=>new lt({valueType:e,minSize:null,maxSize:null,typeName:R.ZodSet,...D(t)});class wt extends L{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.function)return v(n,{code:m.invalid_type,expected:b.function,received:n.parsedType}),A;function s(c,l){return bn({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,_n(),kt].filter(d=>!!d),issueData:{code:m.invalid_arguments,argumentsError:l}})}function r(c,l){return bn({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,_n(),kt].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 Et){const c=this;return he(async function(...l){const d=new ve([]),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 he(function(...l){const d=c._def.args.safeParse(l,i);if(!d.success)throw new ve([s(l,d.error)]);const u=Reflect.apply(o,this,d.data),f=c._def.returns.safeParse(u,i);if(!f.success)throw new ve([r(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new wt({...this._def,args:Me.create(t).rest(it.create())})}returns(t){return new wt({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,s){return new wt({args:t||Me.create([]).rest(it.create()),returns:n||it.create(),typeName:R.ZodFunction,...D(s)})}}class zt extends L{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})}}zt.create=(e,t)=>new zt({getter:e,typeName:R.ZodLazy,...D(t)});class Kt extends L{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return v(n,{received:n.data,code:m.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:t.data}}get value(){return this._def.value}}Kt.create=(e,t)=>new Kt({value:e,typeName:R.ZodLiteral,...D(t)});function Pi(e,t){return new Ke({values:e,typeName:R.ZodEnum,...D(t)})}class Ke extends L{constructor(){super(...arguments),At.set(this,void 0)}_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),s=this._def.values;return v(n,{expected:B.joinValues(s),received:n.parsedType,code:m.invalid_type}),A}if(wn(this,At)||Ci(this,At,new Set(this._def.values)),!wn(this,At).has(t.data)){const n=this._getOrReturnCtx(t),s=this._def.values;return v(n,{received:n.data,code:m.invalid_enum_value,options:s}),A}return he(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 Ke.create(t,{...this._def,...n})}exclude(t,n=this._def){return Ke.create(this.options.filter(s=>!t.includes(s)),{...this._def,...n})}}At=new WeakMap;Ke.create=Pi;class Wt extends L{constructor(){super(...arguments),Ot.set(this,void 0)}_parse(t){const n=B.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(t);if(s.parsedType!==b.string&&s.parsedType!==b.number){const r=B.objectValues(n);return v(s,{expected:B.joinValues(r),received:s.parsedType,code:m.invalid_type}),A}if(wn(this,Ot)||Ci(this,Ot,new Set(B.getValidEnumValues(this._def.values))),!wn(this,Ot).has(t.data)){const r=B.objectValues(n);return v(s,{received:s.data,code:m.invalid_enum_value,options:r}),A}return he(t.data)}get enum(){return this._def.values}}Ot=new WeakMap;Wt.create=(e,t)=>new Wt({values:e,typeName:R.ZodNativeEnum,...D(t)});class Et extends L{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.promise&&n.common.async===!1)return v(n,{code:m.invalid_type,expected:b.promise,received:n.parsedType}),A;const s=n.parsedType===b.promise?n.data:Promise.resolve(n.data);return he(s.then(r=>this._def.type.parseAsync(r,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Et.create=(e,t)=>new Et({type:e,typeName:R.ZodPromise,...D(t)});class Ee extends L{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===R.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=>{v(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 A;const l=await this._def.schema._parseAsync({data:c,path:s.path,parent:s});return l.status==="aborted"?A:l.status==="dirty"||n.value==="dirty"?_t(l.value):l});{if(n.value==="aborted")return A;const c=this._def.schema._parseSync({data:o,path:s.path,parent:s});return c.status==="aborted"?A:c.status==="dirty"||n.value==="dirty"?_t(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"?A:(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"?A:(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(!at(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=>at(o)?Promise.resolve(r.transform(o.value,i)).then(c=>({status:n.value,value:c})):o);B.assertNever(r)}}Ee.create=(e,t,n)=>new Ee({schema:e,typeName:R.ZodEffects,effect:t,...D(n)});Ee.createWithPreprocess=(e,t,n)=>new Ee({schema:t,effect:{type:"preprocess",transform:e},typeName:R.ZodEffects,...D(n)});class Pe extends L{_parse(t){return this._getType(t)===b.undefined?he(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Pe.create=(e,t)=>new Pe({innerType:e,typeName:R.ZodOptional,...D(t)});class We extends L{_parse(t){return this._getType(t)===b.null?he(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}We.create=(e,t)=>new We({innerType:e,typeName:R.ZodNullable,...D(t)});class Qt extends L{_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}}Qt.create=(e,t)=>new Qt({innerType:e,typeName:R.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...D(t)});class Yt extends L{_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 Ut(r)?r.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ve(s.common.issues)},input:s.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new ve(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}Yt.create=(e,t)=>new Yt({innerType:e,typeName:R.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...D(t)});class En extends L{_parse(t){if(this._getType(t)!==b.nan){const s=this._getOrReturnCtx(t);return v(s,{code:m.invalid_type,expected:b.nan,received:s.parsedType}),A}return{status:"valid",value:t.data}}}En.create=e=>new En({typeName:R.ZodNaN,...D(e)});const Aa=Symbol("zod_brand");class Ns extends L{_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 en extends L{_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"?A:i.status==="dirty"?(n.dirty(),_t(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"?A: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 en({in:t,out:n,typeName:R.ZodPipeline})}}class Xt extends L{_parse(t){const n=this._def.innerType._parse(t),s=r=>(at(r)&&(r.value=Object.freeze(r.value)),r);return Ut(n)?n.then(r=>s(r)):s(n)}unwrap(){return this._def.innerType}}Xt.create=(e,t)=>new Xt({innerType:e,typeName:R.ZodReadonly,...D(t)});function nr(e,t){const n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Di(e,t={},n){return e?Tt.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=nr(t,s),h=(u=(d=f.fatal)!==null&&d!==void 0?d:n)!==null&&u!==void 0?u:!0;r.addIssue({code:"custom",...f,fatal:h})}});if(!c){const l=nr(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})}}):Tt.create()}const Oa={object:Y.lazycreate};var R;(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"})(R||(R={}));const Pa=(e,t={message:`Input not instance of ${e.name}`})=>Di(n=>n instanceof e,t),Mi=ke.create,Li=Ve.create,Da=En.create,Ma=ze.create,Ni=Ft.create,La=ct.create,Na=Sn.create,ja=Bt.create,$a=Gt.create,Ua=Tt.create,Fa=it.create,Ba=Fe.create,Ga=kn.create,Za=Te.create,Ha=Y.create,Va=Y.strictCreate,za=Zt.create,Ka=Pn.create,Wa=Ht.create,Qa=Me.create,Ya=Vt.create,Xa=Tn.create,Ja=lt.create,qa=wt.create,ec=zt.create,tc=Kt.create,nc=Ke.create,sc=Wt.create,rc=Et.create,sr=Ee.create,ic=Pe.create,oc=We.create,ac=Ee.createWithPreprocess,cc=en.create,lc=()=>Mi().optional(),dc=()=>Li().optional(),uc=()=>Ni().optional(),fc={string:e=>ke.create({...e,coerce:!0}),number:e=>Ve.create({...e,coerce:!0}),boolean:e=>Ft.create({...e,coerce:!0}),bigint:e=>ze.create({...e,coerce:!0}),date:e=>ct.create({...e,coerce:!0})},pc=A;var a=Object.freeze({__proto__:null,defaultErrorMap:kt,setErrorMap:aa,getErrorMap:_n,makeIssue:bn,EMPTY_PATH:ca,addIssueToContext:v,ParseStatus:fe,INVALID:A,DIRTY:_t,OK:he,isAborted:ls,isDirty:ds,isValid:at,isAsync:Ut,get util(){return B},get objectUtil(){return cs},ZodParsedType:b,getParsedType:$e,ZodType:L,datetimeRegex:Oi,ZodString:ke,ZodNumber:Ve,ZodBigInt:ze,ZodBoolean:Ft,ZodDate:ct,ZodSymbol:Sn,ZodUndefined:Bt,ZodNull:Gt,ZodAny:Tt,ZodUnknown:it,ZodNever:Fe,ZodVoid:kn,ZodArray:Te,ZodObject:Y,ZodUnion:Zt,ZodDiscriminatedUnion:Pn,ZodIntersection:Ht,ZodTuple:Me,ZodRecord:Vt,ZodMap:Tn,ZodSet:lt,ZodFunction:wt,ZodLazy:zt,ZodLiteral:Kt,ZodEnum:Ke,ZodNativeEnum:Wt,ZodPromise:Et,ZodEffects:Ee,ZodTransformer:Ee,ZodOptional:Pe,ZodNullable:We,ZodDefault:Qt,ZodCatch:Yt,ZodNaN:En,BRAND:Aa,ZodBranded:Ns,ZodPipeline:en,ZodReadonly:Xt,custom:Di,Schema:L,ZodSchema:L,late:Oa,get ZodFirstPartyTypeKind(){return R},coerce:fc,any:Ua,array:Za,bigint:Ma,boolean:Ni,date:La,discriminatedUnion:Ka,effect:sr,enum:nc,function:qa,instanceof:Pa,intersection:Wa,lazy:ec,literal:tc,map:Xa,nan:Da,nativeEnum:sc,never:Ba,null:$a,nullable:oc,number:Li,object:Ha,oboolean:uc,onumber:dc,optional:ic,ostring:lc,pipeline:cc,preprocess:ac,promise:rc,record:Ya,set:Ja,strictObject:Va,string:Mi,symbol:Na,transformer:sr,tuple:Qa,undefined:ja,union:za,unknown:Fa,void:Ga,NEVER:pc,ZodIssueCode:m,quotelessJson:oa,ZodError:ve});const O=a.string().min(1).max(128).regex(/^[a-zA-Z0-9_-]+$/),on=a.string().min(1).max(256).regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]*$/),an=a.string().min(1).max(32768),C=a.string().regex(/^[a-f0-9]{12}$/),Vn=a.string().regex(/^[A-Za-z0-9_.:-]{1,100}$/),cn=a.string().regex(/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/),rr=a.string().regex(/^[a-f0-9]{32}$/),zn=a.string().min(1).max(4096).regex(/^(\/|[A-Za-z]:[\\/])/),ir=/^[a-f0-9]{32}$/,Q=a.string().regex(/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/),Ct=a.string().regex(/^[A-Za-z0-9_-]{1,128}$/),or=a.object({data_b64:a.string().min(1).max(1e6),mime_type:a.enum(["image/png","image/jpeg","image/gif","image/webp"])}).strict(),ar=2e5,hc=256,mc=100,cr=16,gc=256,yc=100,vc=200,_c=1e6,Ue=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)),ln=a.object({kind:a.enum(["agent","team"]),name:Ue}).strict(),Kn=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(),lr=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(),dr=a.object({name:a.string().min(1).max(64).optional(),description:a.string().max(8e3).optional(),manager:Ue.optional(),members:a.array(a.object({role:Ue,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(),bc=a.record(a.array(a.string().max(1024)).max(100)),ur=a.enum(["minutes","hours","days"]);function wc(e){return!/^\.+$/.test(e)}const jh=e=>mn.safeParse(e).success,mn=a.string().min(1).max(128).refine(e=>[...e].every(t=>t.charCodeAt(0)>=32&&t.charCodeAt(0)!==127&&t!=="/"&&t!=="\\")).refine(wc),fr=a.enum(["str","int","float","bool","list","dict"]),pr=a.string().max(16384),Sc=2e3,hr=a.string().min(1).max(Sc),mr=a.string().min(1).max(64),kc=a.string().min(1).max(64),gr=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(),Tc=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(),fs=128,yr=2e3,vr=8e3,_r=64,br=64,Dn=e=>[...e].length,ps=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,Ec=e=>e===9||e===10||e===11||e===12||e===13||e===133,xc=e=>e<=31||e>=127&&e<=159,Ic=e=>new RegExp("\\p{Cf}","u").test(String.fromCodePoint(e)),Cc=e=>e>=8234&&e<=8238||e>=8294&&e<=8297,dn=(e,t)=>{for(const n of e)if(t(n.codePointAt(0)??0))return!0;return!1},ji=e=>{const t=[...e];let n=0,s=t.length;for(;n<s&&ps(t[n].codePointAt(0)??0);)n++;for(;s>n&&ps(t[s-1].codePointAt(0)??0);)s--;return t.slice(n,s).join("")},Rc=e=>{let t="",n=!1;for(const s of e){if(ps(s.codePointAt(0)??0)){n=t.length>0;continue}n&&(t+=" ",n=!1),t+=s}return t};function Ac(e){const t=ji(e);if(!t)return"must not be empty";if(Dn(t)>fs)return`must be at most ${fs} characters`;if(/[/\\:]/.test(t))return'must not contain "/", "\\" or ":"';if(dn(t,Cc))return"must not contain Unicode bidirectional override characters";if(dn(t,Ec))return"must not contain whitespace";if(dn(t,xc))return"must not contain control characters";if(dn(t,Ic))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 $h(e){return Rc(ji(e).normalize("NFKC").toLowerCase())}function Oc(e){return e.trim()?Dn(e)>yr?`must be at most ${yr} characters`:null:"must not be empty"}function Pc(e){return e.trim()?Dn(e)>vr?`must be at most ${vr} characters`:null:"must not be empty"}function Dc(e){if(e.length>br)return`must hold at most ${br} items`;for(const t of e)if(!t.trim()||Dn(t)>_r)return`must hold items of 1 to ${_r} characters`;return null}const Mc=e=>Ac(e)===null,Lc=a.string().refine(Mc,{message:"That is not a name the hub can publish."}),Nc=a.string().refine(e=>Pc(e)===null,{message:"That instruction body cannot be published."}),jc=a.string().refine(e=>Oc(e)===null,{message:"That description cannot be published."}),$c=a.array(a.string()).refine(e=>Dc(e)===null,{message:"That tool list cannot be published."}),wr=a.object({name:Lc,description:jc,instructions:Nc,kind:a.enum(["role","specialist"]),when_to_use:a.string(),tools:$c,effort:a.string(),delegate:a.boolean(),version:a.string(),categories:a.array(a.string()),tags:a.array(a.string())}).partial().strict(),Uc=a.enum(["team","agent"]),Fc=a.string().min(1).max(64),Bc=a.string().min(1).max(256),$i=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Wn=a.string().regex($i,{message:"Letters, digits, dot, underscore and dash; no spaces."}),Gc=["planning","active","qa","validation","done","paused","archived"],Sr=a.enum(Gc),un=a.string().regex(/^$|^\d{4}-\d{2}-\d{2}$/,"Dates are YYYY-MM-DD, or empty to clear."),kr=a.array(a.string().min(1).max(24)).max(8),tt=a.string().min(1).max(64),Zc=1e3,Tr=240,Er=80,Hc=/^[a-z0-9][a-z0-9_-]{0,23}$/;function Uh(e){return e?$i.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 Fh(e){return Hc.test(e)?null:"Tags are 1-24 characters of lowercase letters, digits, underscore or dash."}const Vc=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:Ue}).strict(),a.object({op:a.literal("profiles.install"),name:Ue,requestId:Q}).strict(),a.object({op:a.literal("profiles.create"),name:Ue,requestId:Q,fields:lr.extend({description:a.string().max(8e3),instructions:a.string().min(1).max(8e3)})}).strict(),a.object({op:a.literal("profiles.update"),name:Ue,requestId:Q,fields:lr}).strict(),a.object({op:a.literal("teams.list")}).strict(),a.object({op:a.literal("teams.get"),name:Ue}).strict(),a.object({op:a.literal("teams.create"),requestId:Q,fields:dr.extend({name:a.string().min(1).max(64)})}).strict(),a.object({op:a.literal("teams.update"),name:Ue,requestId:Q,fields:dr}).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:Uc.optional(),scope_name:Fc.optional(),cursor:Bc.optional(),with_counts:a.boolean().optional()}).strict(),a.object({op:a.literal("sessions.search"),q:a.string().min(1).max(hc),limit:a.number().int().min(1).max(500).optional(),include_archived:a.boolean().optional()}).strict(),a.object({op:a.literal("sessions.archive"),sessionId:C,archived:a.boolean()}).strict(),a.object({op:a.literal("sessions.delete"),sessionId:C,confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.create"),requestId:Q,cwd:a.string().min(1).max(4096),target:ln.optional(),model:Kn.optional(),draftId:C.optional()}).strict(),a.object({op:a.literal("sessions.preview"),requestId:Q,cwd:a.string().min(1).max(4096),target:ln.optional(),model:Kn.optional()}).strict(),a.object({op:a.literal("sessions.draft"),requestId:Q,cwd:a.string().min(1).max(4096),target:ln.optional(),model:Kn.optional()}).strict(),a.object({op:a.literal("sessions.get"),sessionId:C}).strict(),a.object({op:a.literal("sessions.history"),sessionId:C,beforeId:O.optional(),limit:a.number().int().min(1).max(500).optional()}).strict(),a.object({op:a.literal("sessions.checkpoints"),sessionId:C}).strict(),a.object({op:a.literal("sessions.checkpoints.warm"),sessionId:C,ids:a.array(O).max(cr).optional(),limit:a.number().int().min(1).max(cr).optional()}).strict(),a.object({op:a.literal("sessions.find"),sessionId:C,q:a.string().min(1).max(gc),limit:a.number().int().min(1).max(vc).optional()}).strict(),a.object({op:a.literal("subagents.transcript"),sessionId:C,childId:C,beforeId:O.optional(),limit:a.number().int().min(1).max(500).optional()}).strict(),a.object({op:a.literal("sessions.message"),sessionId:C,requestId:Q,text:a.string().max(ar),images:a.array(or).max(8).optional(),mode:a.enum(["prompt","steer"]).optional(),inputMode:a.enum(["typed","dictated","mixed"]).optional(),inputPath:a.string().max(1024).optional()}).strict(),a.object({op:a.literal("sessions.command"),sessionId:C,requestId:Q,command:a.string().regex(/^\/?[A-Za-z]+$/).max(64),args:a.string().max(ar).optional(),images:a.array(or).max(8).optional()}).strict(),a.object({op:a.literal("sessions.move"),sessionId:C,requestId:Q,cwd:a.string().min(1).max(4096)}).strict(),a.object({op:a.literal("sessions.answer"),sessionId:C,epoch:O,requestId:O,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:C,completionToken:a.string().uuid()}).strict(),a.object({op:a.literal("attention.seen"),items:a.array(a.object({sessionId:C,completionToken:a.string().uuid()}).strict()).min(1).max(500)}).strict(),a.object({op:a.literal("sessions.notified"),sessionId:C,completionToken:a.string().uuid()}).strict(),a.object({op:a.literal("sessions.pin"),sessionId:C,pinned:a.boolean()}).strict(),a.object({op:a.literal("sessions.watch"),sessionId:C,subscriptionId:a.string().regex(ir),visible:a.boolean(),canNotify:a.boolean()}).strict(),a.object({op:a.literal("sessions.warm"),sessionId:C}).strict(),a.object({op:a.literal("sessions.interrupt"),sessionId:C,requestId:Q}).strict(),a.object({op:a.literal("sessions.variables.list"),sessionId:C}).strict(),a.object({op:a.literal("sessions.variables.create"),sessionId:C,key:mn,value:pr,type:fr}).strict(),a.object({op:a.literal("sessions.variables.update"),sessionId:C,key:mn,value:pr,type:fr}).strict(),a.object({op:a.literal("sessions.variables.delete"),sessionId:C,key:mn}).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:O}).strict(),a.object({op:a.literal("legacy.agent.upload"),agentId:O}).strict(),a.object({op:a.literal("agent.publish"),agentId:O,document:wr.optional(),visibility:a.literal("org").optional(),tenantId:O.optional()}).strict(),a.object({op:a.literal("agent.republish"),agentId:O,hubAgentId:O,document:wr.optional(),visibility:a.literal("org").optional(),tenantId:O.optional()}).strict(),a.object({op:a.literal("team.pull"),teamId:O,tenantId:O.optional()}).strict(),a.object({op:a.literal("agent.nameAvailability"),name:a.string().min(1).max(fs)}).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:O}).strict(),a.object({op:a.literal("legacy.agent.history"),agentId:O,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:O.optional(),status:a.string().max(64).optional()}).strict(),a.object({op:a.literal("legacy.job.get"),jobId:O}).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:O,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:O,schedule:gr.extend({prompt:a.string().max(64e3),interval:a.number().int().min(1),unit:ur})}).strict(),a.object({op:a.literal("legacy.schedule.get"),scheduleId:O}).strict(),a.object({op:a.literal("legacy.schedule.edit"),scheduleId:O,schedule:gr.extend({prompt:a.string().max(64e3).nullish(),interval:a.number().int().min(1).nullish(),unit:ur.nullish()})}).strict(),a.object({op:a.literal("legacy.schedule.remove"),scheduleId:O}).strict(),a.object({op:a.literal("legacy.agent.create"),agent:a.record(a.unknown())}).strict(),a.object({op:a.literal("legacy.agent.update"),agentId:O,update:a.record(a.unknown())}).strict(),a.object({op:a.literal("legacy.agent.delete"),agentId:O}).strict(),a.object({op:a.literal("legacy.agent.conversation.clear"),agentId:O}).strict(),a.object({op:a.literal("legacy.agent.systemPrompt.get"),agentId:O}).strict(),a.object({op:a.literal("legacy.agent.systemPrompt.update"),agentId:O,systemPrompt:a.string().max(_c)}).strict(),a.object({op:a.literal("legacy.agent.download"),agentId:O}).strict(),a.object({op:a.literal("legacy.job.cancel"),jobId:O}).strict(),a.object({op:a.literal("commands.list")}).strict(),a.object({op:a.literal("commands.entities"),sessionId:C,command:O,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:O.optional(),live:a.boolean().optional(),refresh:a.boolean().optional()}).strict(),a.object({op:a.literal("analytics.get"),sessionId:C.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:C.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:C,recentLimit:a.number().int().min(0).max(50).optional()}).strict(),a.object({op:a.literal("skills.list"),sessionId:C,name:O.optional()}).strict(),a.object({op:a.literal("sessions.failovers"),sessionId:C}).strict(),a.object({op:a.literal("sessions.credential"),sessionId:C,action:a.enum(["list","store","forget"]),key:on.optional(),value:an.optional(),confirmed:a.boolean().optional()}).strict(),a.object({op:a.literal("sessions.fork"),sessionId:C,requestId:Q,message:a.string().max(2e5).optional(),boundary:a.literal("next_safe").optional()}).strict(),a.object({op:a.literal("sessions.stop"),requestId:Q,targets:a.array(C).min(1).max(100),confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.aside"),sessionId:C,requestId:Q,text:a.string().min(1).max(32768),asideId:Q.optional(),subscriptionId:a.string().regex(ir).optional()}).strict(),a.object({op:a.literal("sessions.adopt"),sessionId:C,requestId:Q,asideId:Q,confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.aside.get"),sessionId:C,asideId:Q}).strict(),a.object({op:a.literal("sessions.aside.close"),sessionId:C,asideId:Q}).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:Q,sessionId:C.optional(),cwd:a.string().min(1).max(4096).optional(),target:ln.optional(),message:hr,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:C,wakeId:mr,message:hr.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:C,wakeId:mr}).strict(),a.object({op:a.literal("monitors.cancel"),sessionId:C,monitorId:kc}).strict(),a.object({op:a.literal("mcp.list"),sessionId:C}).strict(),a.object({op:a.literal("mcp.credentials.store"),sessionId:C,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:C,control:a.object({action:a.enum(["list","add","remove","reload","connect","probe","disconnect","login","logout","reauth","status","cancel"]),name:Vn.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(cn).optional(),url:a.string().max(4096).optional(),headers:a.record(cn).optional(),oauth:a.boolean().optional(),confirmed:a.boolean().optional(),operation_id:rr.optional()}).strict()}).strict(),a.object({op:a.literal("mcp.catalog"),cwd:zn.optional(),sessionId:C.optional()}).strict(),a.object({op:a.literal("mcp.catalog.control"),cwd:zn.optional(),control:a.object({action:a.enum(["add","remove","test","login","reauth","logout","status","cancel"]),name:Vn.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(cn).optional(),url:a.string().max(4096).optional(),headers:a.record(cn).optional(),confirmed:a.boolean().optional(),operation_id:rr.optional()}).strict()}).strict(),a.object({op:a.literal("mcp.catalog.credentials"),header:a.string().min(1).max(128).optional(),cwd:zn.optional(),name:Vn,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:Q.optional(),tenant_id:O.optional(),account_id:O.optional(),agent_id:O.optional(),comment_id:O.optional(),team_id:O.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:O}).strict(),a.object({op:a.literal("auth.status"),id:O}).strict(),a.object({op:a.literal("auth.input"),id:O,promptId:O,value:an}).strict(),a.object({op:a.literal("auth.cancel"),id:O}).strict(),a.object({op:a.literal("auth.key"),provider:O,value:an}).strict(),a.object({op:a.literal("auth.logout"),provider:O}).strict(),a.object({op:a.literal("settings.list")}).strict(),a.object({op:a.literal("settings.edit"),key:on,value:a.unknown().refine(e=>e!==void 0,"A setting value is required."),base:bc.optional()}).strict(),a.object({op:a.literal("settings.reset"),key:on}).strict(),a.object({op:a.literal("config.get")}).strict(),a.object({op:a.literal("config.update"),value:Tc}).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:on,value:an}).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:Ct,role:a.enum(["read","drive","admin"]),deviceId:Ct.optional()}).strict(),a.object({op:a.literal("networks.member.remove"),networkId:Ct,deviceId:Ct,confirm:a.string().min(1).max(256)}).strict(),a.object({op:a.literal("sessions.transfer"),sessionId:C,to:a.union([a.literal("local"),Ct]),keep:a.boolean().optional(),waitS:a.number().min(0).max(300).optional(),requestId:Q.optional()}).strict(),a.object({op:a.literal("projects.list")}).strict(),a.object({op:a.literal("projects.get"),key:tt}).strict(),a.object({op:a.literal("projects.create"),name:Wn,description:a.string().max(Tr).optional(),status:Sr.optional(),tags:kr.optional()}).strict(),a.object({op:a.literal("projects.update"),key:tt,fields:a.object({name:Wn.optional(),title:a.string().max(80).optional(),owner:a.string().max(80).optional(),team:a.string().max(80).optional(),description:a.string().max(Tr).optional(),status:Sr.optional(),progress:a.string().max(Zc).optional(),tags:kr.optional(),start_date:un.optional(),target_date:un.optional(),completed_at:un.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:tt,confirmed_name:Wn}).strict(),a.object({op:a.literal("projects.link"),key:tt,sessionId:C}).strict(),a.object({op:a.literal("projects.unlink"),key:tt,sessionId:C}).strict(),a.object({op:a.literal("projects.milestone"),key:tt,name:a.string().min(1).max(Er),targetDate:un.optional(),completed:a.boolean().optional()}).strict(),a.object({op:a.literal("projects.milestone.remove"),key:tt,name:a.string().min(1).max(Er)}).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()]);Vc.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 we={noCredential:"pairing.no-credential",refused:"pairing.refused",planeClosed:"pairing.plane-closed",transportFailed:"transport.failed"},zc={runtimeUnreachable:"runtime_unreachable"},js="runtime_busy",Ui="runtime_retiring",$s={[we.noCredential]:"This app is not paired with the running Local Operator server, so this control is unavailable.",[we.refused]:"This app's credential for the running Local Operator server was refused, so this control is unavailable.",[we.planeClosed]:"The running Local Operator server does not accept this app's desktop controls.",[we.transportFailed]:"The Local Operator server did not answer this request."},hs={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 Us(e){return e!==void 0&&Object.values(we).includes(e)}function Kc(e,t){if(e.startsWith("/v1/desktop/")){if(t===401||t===403)return we.refused;if(t===503)return we.planeClosed}}const Wc=88e4,Qc=11e5,Yc=2e4,Xc=9e4,Jc=new Set(["analytics.get","analytics.models","sessions.report"]),qc=new Set(["usage.get"]),el=new Set(["networks.list","peers.list"]),tl=new Set([...Jc,...qc,...el]),nl=90,sl=30,rl=300,il=10,ol=15,al=1e4;function cl(e){const n=e.to==="local"||e.keep?rl:sl,s=Math.max(0,e.waitS??0);return(nl+n+il+ol)*1e3+s*1e3}function ll(e){if(typeof e!="string"&&e.op==="sessions.transfer")return cl(e)+al;const t=typeof e=="string"?e:e.op;return tl.has(t)?Xc:Yc}const dl=5e3;function Fi(e){return ll(e)+dl}const Fs="deadline_exceeded",Bi="foreground_required",Gi="View these completions in the foreground before marking them read.",ul=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.checkpoints","sessions.failovers","sessions.find","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"]),fl=new Set(["analytics.get","analytics.models","networks.list","peers.list","usage.get","sessions.report","info.get","sessions.failovers"]);function pl(e,t){const n=Math.round(t/1e3),s=Fs;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.`}:ul.has(e)?{code:s,message:fl.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 Bh=Wc,Gh=Qc;function hl(e){return e.sessionId?{session_id:e.sessionId}:{...e.cwd?{cwd:e.cwd}:{},...e.target?{target:e.target}:{}}}function xr(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 Ir(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 ml(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??mc)});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"sessions.checkpoints":return{path:`/v1/desktop/sessions/${e.sessionId}/checkpoints`,method:"GET"};case"sessions.checkpoints.warm":return{path:`/v1/desktop/sessions/${e.sessionId}/checkpoints/warm`,method:"POST",body:{...e.ids?{ids:e.ids}:{},...e.limit!==void 0?{limit:e.limit}:{}}};case"sessions.find":{const t=new URLSearchParams({q:e.q,limit:String(e.limit??yc)});return{path:`/v1/desktop/sessions/${e.sessionId}/find?${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",...e.inputMode?{input_mode:e.inputMode}:{},...e.inputPath?{input_path:e.inputPath}:{}}};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":{Ir(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":{Ir(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,...hl(e),message:e.message,...xr(e)}};case"wakes.edit":return{path:`/v1/desktop/wakes/${e.sessionId}/${e.wakeId}`,method:"PATCH",body:{...e.message!==void 0?{message:e.message}:{},...xr(e)}};case"wakes.remove":return{path:`/v1/desktop/wakes/${e.sessionId}/${e.wakeId}`,method:"DELETE"};case"monitors.cancel":return{path:`/v1/desktop/monitors/${encodeURIComponent(e.sessionId)}/${encodeURIComponent(e.monitorId)}`,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 Zh=64,Hh=64*1024*1024,Lt={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."},Cr={statement:"Lost the connection to this conversation — reconnect to keep reading.",action:"reconnect"},gl={statement:"The Local Operator server is not running — reconnect once it is back, or restart the app if it stays down.",action:"reconnect"},yl={statement:"This app is not paired with the Local Operator server, so this conversation cannot be read yet.",action:null},vl={statement:"Could not load this conversation's history — reconnect to try again.",action:"reconnect"},_l={statement:"This conversation's updates were too large to display — reconnect to try again.",action:"reconnect"};function Rr(e){return e?e===Lt.notPaired?yl:e===Lt.serverDown?gl:e===Lt.frameBudget?_l:Cr:Cr}async function Zi(e){if(window.api?.desktop)try{return await bl(window.api.desktop.request(e),e)}catch(n){throw n instanceof X?n:kl(n)?new Qe(Gi,Bi):new X(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 X(null,"Desktop controls could not reach the backend process.",n)}if(!t.ok)throw new X(t.status,"Desktop controls need a compatible backend connection.");return t.json()}function bl(e,t){const n=Fi(t);let s;return Promise.race([e,new Promise((r,i)=>{s=setTimeout(()=>{const o=pl(t.op,n);i(new X(null,o.message,void 0,o.code))},n)})]).finally(()=>clearTimeout(s))}class X 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 Qe extends Error{code;constructor(t,n){super(t),this.name="UserFacingError",this.code=n}}function Mn(e,t){return e instanceof X||e instanceof Qe?Us(e.code)?$s[e.code]:e.message:t}function wl(e,t,n,s){return typeof s=="string"?s:n===hs.noCredential?we.noCredential:n===hs.transportFailed?we.transportFailed:Kc(ml(e).path,t)}async function ce(e){const t=await Zi(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 X(t.status,s??"This server did not answer the request for its desktop controls.",void 0,wl(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 Sl(e){return e instanceof X&&e.code===Fs}function Vh(e){return e instanceof X?e.status===null||e.status===503:!1}function zh(e){return e instanceof Qe&&e.code===Bi}function kl(e){return e instanceof Error&&e.message.includes(Gi)}async function Kh(e){const t=await Zi(e);return new Response(t.status===204?null:JSON.stringify(t.body),{status:t.status,headers:{"Content-Type":"application/json"}})}async function Wh(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 Tl(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:Lt.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===hs.noCredential?we.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 xl(e){return e.kind==="error"?Us(e.code)?new Qe($s[e.code],e.code):new Error(e.detail):new Error("The media request returned an unexpected response.")}const Qh="superseded_completion_token",Yh="store_busy";function Xh(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 bt(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 Il(e){const t=Number(e);return Number.isFinite(t)&&t>0?Math.round(t*1e3):null}const Jh=e=>typeof e?.goal_status=="string",qh=e=>(e?.goal??"").trim().length>0;function Cl(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 Hi=/\s+/,Rl=/[\\/]+$/,Al=/[\\/]/,Vi=`
|
|
2
|
+
|
|
3
|
+
`,Ol=" — cancel with wake(",Pl=120,Dl=/(?:\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,Ml=new RegExp("\\p{Cf}","gu"),Ll=4096;function ms(e){return e==null?"":(typeof e=="string"?e:String(e)).replace(Dl,"").replace(Ml,"").split(Hi).filter(Boolean).join(" ").slice(0,Pl)}function zi(e){if(e.conversationName)return{name:e.conversationName,quoted:!0};const t=e.cwd.replace(Rl,"");if(t){const n=t.split(Al).pop()??"";if(n)return{name:`${n}/`,quoted:!1}}return e.sessionId?{name:e.sessionId.slice(0,8),quoted:!1}:{name:"",quoted:!1}}function Ki(e){const{name:t,quoted:n}=zi(e);return t?n?`"${t}"`:t:e.pid?`pid ${e.pid}`:"another session"}function Nl(e){const{name:t,quoted:n}=zi(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 em(e,t){return t.trim()?!0:Nl(e)!==Ki(e)}function jl(e){for(const t of e.slice(0,Ll).split(`
|
|
4
|
+
`)){const n=ms(t);if(n)return n}return""}function tm(e,t){const n=Ki(e),s=jl(t);return s?`${n} · ${s}`:n}function $l(e,t){return e.pid===t.pid&&e.conversationName===t.conversationName&&e.cwd===t.cwd&&e.sessionId===t.sessionId&&e.modelLabel===t.modelLabel}const Ul=/^<peer-session-message\s+((?:[^>"']|"[^"]*"|'[^']*')*)>([\s\S]*?)<\/peer-session-message>\s*$/,Fl=/<\/?peer-session-message(?:[^>"']|"[^"]*"|'[^']*')*>/g,Bl=/^<peer-session-message[^>]*>/,Gl=/([a-zA-Z_]+)\s*=\s*(?:'([^']*)'|"([^"]*)"|([^\s>]+))/g;function Zl(e){const t=String(e.text??e.detail??""),n=Ul.exec(t.trim()),s={};if(n)for(const d of n[1].matchAll(Gl))s[d[1]]=d[2]??d[3]??d[4]??"";const r=n?n[2]:"",o=(String(e.body??"").trim()||r||(n?"":t.trim().replace(Bl,""))).replace(Fl,"").trim(),c=e.sender??{},l=(d,u)=>ms(d)||ms(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 Hl(e){return!!e.wake_catchup}function nm(e){let t=e.split(Vi)[0]??"";t=t.split(Hi).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 sm(e){const t=e.indexOf(Vi);return t===-1?"":e.slice(t+2).trim()}const Vl=new Set(["command","path","file_path","url","pattern","query","name","target","message","milestone"]),zl=new Set(["true","yes","y","t","on","1"]),Kl={hub:{steps:e=>{const t=Ar(e);return t!==null&&Number.isInteger(t)&&t>=0?`${t} ${t===1?"step":"steps"}`:""}},wait:{wait_ms:e=>{const t=Ar(e);return t!==null&&t>0?`· ${Qi(t/1e3)}`:""}}};function Ar(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 Or="mcp__",Wl=/^\/(?:Users|home)\/[^/]+\//,Ql=/\s+/;function Yl(e){return!e.startsWith("/")||e.includes(" ")?e:e.replace(Wl,"~/")}function xn(e){return typeof e=="string"?Yl(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 Jl(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(Ql).filter(Boolean).join(" ")||"?"}function ql(e){return[Xl(e),xn(Jl(e))||"?",xn(e.message)].filter(Boolean).join(" · ")}function rm(e,t){const n=e.trim();if(!t)return n;if(n==="send")return ql(t)||n;const s=sd(n)?Object.entries(t).filter(([i])=>!Yi.has(i)):Object.entries(t);let r=s.filter(([i])=>Vl.has(i)).map(([,i])=>xn(i)).filter(Boolean);if(r.length===0){const i=Kl[n.toLowerCase()];r=s.map(([o,c])=>i?.[o]?.(c)||xn(c)).filter(Boolean)}return r.slice(0,2).join(" ")||n}function Wi(e){const t=e.trim();if(!t.toLowerCase().startsWith(Or))return t;const n=t.slice(Or.length),s=n.indexOf("_");return s<=0?n||t:n.slice(s+1)||n}function ed(e,t){return e===t||e===Wi(t)}const td=/^(?:exit code:?\s*-?\d*|\(empty\)|--- (?:stdout|stderr) ---)$/,nd="… ";function im(e,t=!1){if(!e||t)return null;for(const n of e.split(`
|
|
5
|
+
`)){const s=n.trim();if(s&&!td.test(s))return`${nd}${s.slice(0,160)}`}return null}function Qi(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 om(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`:Qi(t)}function Pr(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 am(e){return e<1024?`${e} B`:e<1024*1024?`${Pr(e/1024)} KB`:`${Pr(e/(1024*1024))} MB`}function Dr(e){return typeof e!="number"||!Number.isInteger(e)||e<=0?0:e}const Mr={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 cm(e){const t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call(Mr,t)?Mr[t]:"plain"}function lm(e){if(!e)return"";for(const t of Yi){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"&&zl.has(r.toLowerCase());return s==="milestone"&&i?"milestone-remove":s}}return""}const Yi=new Set(["op","action","method"]),sd=e=>Object.prototype.hasOwnProperty.call(Xi,e.trim().toLowerCase()),rd={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"}},Xi={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 id(e,t){const n=e.trim().toLowerCase(),s=(t??"").trim().toLowerCase(),r=s?Xi[n]?.[s]:void 0;if(r)return{...r,named:!0};const i=rd[n];return i?{...i,named:!0}:{settled:"Called",running:"Calling",named:!1}}function dm(e,t,n,s,r=""){const i=id(e,r),o=ed(t,e)?n??"":t;return{verb:s?i.running:i.settled,object:i.named?o:[Wi(e),o].filter(Boolean).join(" ")}}const od=new Set(["write","edit"]);function ad(e){return od.has(e.trim().toLowerCase())}function um(e){return ad(e.toolName)&&e.diff!==null&&!e.isError}function Ji(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 cd(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 qi(e,t){return e===null||cd(e,t)?t:e}function eo(e,t){if(!e||typeof e!="object")return{added:t?.added??0,removed:t?.removed??0};const n=e;return{added:Dr(n.added),removed:Dr(n.removed)}}function ld(e){return e.length>=2&&gs(e[0])==="---"&&gs(e[1])==="+++"?e.slice(2):e.slice()}const dd=/\s+$/;function gs(e){return e.replace(dd,"")}function ud(e){const t=e.slice(0,1);return t==="@"?"hunk":t==="+"?"added":t==="-"?"removed":"context"}const fd=40;function fm(e){const t=ld(e),n=t.slice(0,fd);return{lines:n.map(s=>{const r=gs(s);return{text:r,marker:r.slice(0,1),kind:ud(r)}}),hidden:t.length-n.length}}function pm(e){return`… ${e} more diff line${e===1?"":"s"}`}const pd=`Continue working toward this goal:
|
|
7
|
+
|
|
8
|
+
`,hd=`
|
|
9
|
+
|
|
10
|
+
Make concrete progress with the tools available, then state plainly what advanced and what remains. If the goal is fully met, say so and stop.`,md=`Work toward this goal:
|
|
11
|
+
|
|
12
|
+
{goal}
|
|
13
|
+
|
|
14
|
+
Make concrete progress with the tools available, then briefly state what advanced and what remains. If the goal is already fully met, say so plainly.`,[gd="",yd=""]=md.split("{goal}"),vd="Continue working toward the standing goal. Make concrete progress with the tools available, then briefly state what advanced and what remains. If the goal is already fully met, say so plainly and stop.";function to(e){const t=e.trim();return t===vd||t.startsWith(pd)&&t.endsWith(hd)||t.startsWith(gd.trim())&&t.endsWith(yd.trim())}const Ze={records:[],index:new Map,generation:0,compacting:!1,compactingSince:0,viewEpoch:0,oldestId:null,hasMore:!1,argsByCall:new Map};function no(e){return e==="skipped"||e==="aborted"}function Lr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Nr(e,t,n,s){return Lr(n.args)??(s?.kind==="tool"?s.args:null)??Lr(e.argsByCall.get(t)?.arguments)}function so(e){return e?e.type==="image"||typeof e.attachment=="string"&&e.attachment?!0:typeof e.data=="string"&&e.data.length>0:!1}function rt(e){const t=e?.content;return Array.isArray(t)?t.filter(n=>n&&!so(n)).filter(n=>(n.type??"text")==="text").map(n=>n.text??"").join(""):""}function In(e,t,n){const s=e?.content;if(!Array.isArray(s))return n?.length?n:Nt;const r=[];for(const i of s)so(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?Nt:n&&ro(n,r)?n:r}const Nt=[];function _d(e,t){return e.length===0&&t.length>0?t:e}function ro(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 xt(e){const t=new Map;return e.forEach((n,s)=>t.set(n.id,s)),t}function bd(e,t){return t&&(!e||t.epoch!==e.epoch||t.seq>=e.seq)?t:e}const wd=new Set;function io(e,t=wd){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 ys(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)&&ro(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 se(e,t){const n=e.index.get(t.id);if(n!==void 0){const i=e.records[n];if(ys(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 Bs(e,t){if(!e.records.some(t))return e;const n=e.records.filter(s=>!t(s));return{...e,records:n,index:xt(n)}}function jr(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")?Bs(e,i=>i.id===n):e}function Sd(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:xt(i)}}const kd=new Set(["frontend_state_checkpoint_v1","session_state","hub_communication","wake_schedule","prune"]);function oo(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 Td(e,t){const n=Vr(e),s=Vr(t);return n===s?`Context compacted to ${s} tokens`:`Context compacted, ${n} to ${s} tokens`}const ao="Context compacted",Ed=12e4;function co(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>Ed||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 xd(e){const t=co(e.records);return t===e.records?e:{...e,records:t,index:xt(t)}}const Id="peer_message",lo="Completed — runtime retired/disposed",uo="Retired for an update — a turn was in flight and was cut; its earlier output is kept",Cd="wake_prompt",Rd="session_mcp_unavailable",Ad=new Set(["session_mcp_recovery","session_model_switch","session_credential"]),Od=/^\[session incident(?:\s*\(([^)]*)\))?\]\s*([^:\n]{1,40}):\s*/,$r=/^<\/?[a-z][a-z0-9-]*(\s[^>]*)?>$/i,Pd=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."]),fo=/^\[[^\]]{1,32}\]\s*/,Cn="Reason:",Dd=/[\n;,(]| [—–] /,Md=/^\d+\.$/,Ld=/[A-Z]/,Nd=/\s/,jt=160;function jd(e,t,n){if(e==="session_incident")return{level:"error",...Gd(t,n)};let s;return e===Rd?s=$d(t):Ad.has(e)?s=Fd(t.trim().replace(fo,"")):s=Zd(t),{level:"info",category:null,provider:null,...s}}function $d(e){const t=e.trim().replace(fo,"").split(`
|
|
15
|
+
`).map(c=>c.trim()),n=t[0]??"",s=t[1]?.startsWith(Cn)?t[1]:null,r=t.slice(s?2:1).filter(Boolean).join(`
|
|
16
|
+
`),i=(s?`${n} ${s}`:n).trim();if(i.length<=jt)return{headline:i,detail:r||null};const o=s===null?null:Ud(s);if(o!==null){const c=(f,h)=>`${Cn} ${[f,h].filter(Boolean).join(" ")}`,l=f=>[f,r].filter(Boolean).join(`
|
|
17
|
+
`)||null,d=`${n} ${c(o.leading,o.clause)}`;if(d.length<=jt)return{headline:d,detail:l(o.rest)};const u=`${n} ${c("",o.clause)}`;if(u.length<=jt)return{headline:u,detail:l([o.leading,o.rest].filter(Boolean).join(" "))}}return{headline:po(i),detail:[s,r].filter(Boolean).join(`
|
|
18
|
+
`)||null}}function Ud(e){const t=e.startsWith(Cn)?e.slice(Cn.length):e,n=t.indexOf("/mcp");if(n<0)return null;const s=t.slice(n),r=s.search(Dd),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 Fd(e){const t=e.trim(),n=Bd(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 Bd(e){for(let t=0;t<e.length-1;t++)if(".!?…".includes(e[t])&&Nd.test(e[t+1])&&!Md.test(e.slice(0,t+1))&&Ld.test(e.slice(t+1).trimStart()[0]??""))return t+1;return-1}function Gd(e,t){const n=e.split(`
|
|
19
|
+
`),s=n[0].match(Od),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(`
|
|
20
|
+
`).trim();return{provider:(s?.[1]??"").trim()||null,category:(s?.[2]??"").trim()||null,headline:i,detail:o||null}}function Zd(e){const t=Hd(e),n=e.split(`
|
|
21
|
+
`).map(s=>s.trim()).filter(Boolean).join(" ");return{headline:t,detail:n===t?null:e}}function Hd(e){const t=e.split(`
|
|
22
|
+
`).map(c=>c.trim()).filter(Boolean),n=c=>!$r.test(c)&&!Vd(c),s=t.find(n),r=t.find(c=>$r.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 po(i)}function Vd(e){return Pd.has(e.replace(/\s+/g," ").trim().toLowerCase())}function po(e){const t=e.trim();if(t.length<=jt)return t;const n=t.slice(0,jt),s=n.lastIndexOf(" ");return`${(s>0?n.slice(0,s):n).trimEnd()}…`}const zd="harness_injected",ho=e=>!e||typeof e!="object"?!1:e[zd]===!0;function Kd(e,t){const n=e.payload??{},s=Math.round((e.ts??0)*1e3);if(e.type==="compaction"){const o=t?.kind==="compaction"?t.text:ao,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=oo(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"){if(o.kind==="closed")return{kind:"notice",id:o.anchor,ts:s,complete:!0,text:lo,level:"info"};if(o.kind==="retired")return{kind:"notice",id:o.anchor,ts:s,complete:!0,text:uo,level:"warning"};if(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(kd.has(o))return null;const c=n.details??{};if(o===Id){const{body:d,sender:u}=Zl(c);return{kind:"peer",id:e.id,ts:s,body:d,sender:t?.kind==="peer"&&$l(t.sender,u)?t.sender:u}}if(o===Cd){if(Hl(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",...jd(o,l,c)}:null}const i=String(n.role??"");if(i==="user"){if(ho(n.provider_payload))return null;const o=rt(n);return to(o)?null: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:In(n,e.id,t?.kind==="user"?t.images:void 0)}}if(i==="assistant"){const o=Array.isArray(n.tool_calls)?n.tool_calls:[],c=rt(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=no(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:rt(n)||null,isError:d?!1:!!n.is_error,durationS:typeof c.duration_s=="number"?c.duration_s:null,startedAt:null,endedAt:null,images:In(n,`tool:${o}`,t?.kind==="tool"?t.images:void 0),...eo(c.details,t?.kind==="tool"?t:null),diff:qi(Ji(c.details),t?.kind==="tool"?t.diff:null),stopped:d}}return null}function Wd(e,t){if(!e.cursor_missing||e.entries.length===0)return null;const n=e.entries[0]?.id;return typeof n!="string"||n===t?null:n}function Ur(e,t,n){if(!e.cursor_missing)return{cursor:null,failed:!1};const s=Wd(e,t);return!n&&s!==null?{cursor:s,failed:!1}:{cursor:null,failed:!0}}function Pt(e,t,n={}){const s=n.keepPaging===!0&&e.viewEpoch>0,r=[];for(const p of t.entries){if(s&&!lu(p,e.clearedAt))continue;const y=e.records[e.index.get(p.id)??-1]??e.records[e.index.get(`tool:${String(p.payload?.tool_call_id??"")}`)??-1],x=Kd(p,y);x&&r.push(x)}let i=e.argsByCall,o=!1;for(const p of t.entries){const y=p.payload?.tool_calls;if(!Array.isArray(y))continue;const x=Math.round((p.ts??0)*1e3);for(const I of y)!I||typeof I.id!="string"||i.has(I.id)||(o||(i=new Map(i),o=!0),i.set(I.id,{...I,anchoredAt:x}))}for(let p=0;p<r.length;p++){const y=r[p];if(y.kind!=="tool")continue;const x=i.get(y.toolCallId);if(!x)continue;const I=x.arguments??null;r[p]={...y,args:I,intent:typeof I?.i=="string"?I.i:null}}const c=o?e.records.map(p=>{if(p.kind!=="tool"||p.args)return p;const x=i.get(p.toolCallId)?.arguments??null;return x?{...p,args:x,intent:p.intent??(typeof x.i=="string"?x.i:null)}:p}):e.records,l=n.replace?Ze:{...e,records:c},d=new Map(l.records.map(p=>[p.id,p]));let u=n.replace||!n.replace&&c!==e.records;for(const p of r){const y=d.get(p.id);if(!y){u=!0,d.set(p.id,p);continue}if(y.kind==="tool"&&p.kind==="tool"){const x={...p,args:p.args??y.args,intent:p.intent??y.intent,images:y.images.length?y.images:p.images};ys(y,x)||(u=!0,d.set(p.id,x));continue}ys(y,p)||(u=!0,d.set(p.id,p))}const f=e.compacting&&t.entries.some(p=>e.index.has(p.id)||Math.round((p.ts??0)*1e3)<e.compactingSince?!1:p.type==="compaction"||p.type==="message"&&p.payload?.custom_type==="compaction_refused");if(!u&&e.hasMore===t.has_more&&!f)return e;const h=co(io([...d.values()],new Set(r.map(p=>p.id)))),w=t.entries[0];let S=l.oldestId;if(n.keepPaging)return{...e,records:h,index:xt(h),argsByCall:i};if(w){const p=Math.round((w.ts??0)*1e3),y=S?l.records[l.index.get(S)??-1]:void 0;(!y||p<=y.ts)&&(S=w.id)}return{...e,records:h,index:xt(h),oldestId:S,hasMore:t.has_more,argsByCall:i,compacting:f?!1:e.compacting,compactingSince:f?0:e.compactingSince}}const Qn={settledAssistantUpdate:0,seededDeltaWithheld:0,staleUpdateFrameDropped:0};function vs(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=se(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=se(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(ho(r.provider_payload))return e;const c=rt(r);if(to(c))return e;const l=o?.kind==="user"&&o.provisional===!0;return se(e,{kind:"user",id:r.id,ts:l?Hs(e,n):n,text:c,images:In(r,r.id,o?.kind==="user"?o.images:void 0),...l?{provisional:!0}:{}})}return r.role!=="assistant"||o?e:se(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=rt(r);if(o===void 0)return!l&&!c?e:se(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 Qn.settledAssistantUpdate+=1,e;if(s.seed!==!0&&i&&d.frame&&i.epoch===d.frame.epoch&&i.seq<=d.frame.seq)return Qn.staleUpdateFrameDropped+=1,e;const u=bd(d.frame,i);if(s.seed===!0&&!l)return!d.text&&!c?e:(Qn.seededDeltaWithheld+=d.text?1:0,se(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 se(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=rt(r),l=o===void 0?void 0:e.records[o],d=Array.isArray(r.tool_calls)?r.tool_calls:[],u={kind:"assistant",id:r.id,ts:o===void 0?n:e.records[o].ts,text:c,...c||d.length===0?{complete:!0}:{},streaming:!1,settledAt:l?.kind==="assistant"&&l.settledAt!==void 0?l.settledAt:n,stopReason:r.stop_reason??null,error:!!r.is_error};return se(e,u)}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 Pt(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"?jr(e,c):e;const w=String(t.not_run_reason??"").trim()||null,S=String(t.not_run_kind??"").trim()||null,p=Number(t.argument_bytes??0),y={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:p>0?p:f?.argumentBytes??0,output:null,isError:!1,durationS:null,startedAt:null,endedAt:null,images:Nt,added:0,removed:0,diff:null,stopped:!1,notRunReason:w,notRunKind:w?S:null,neverSent:w!==null};return c&&u?.kind==="tool"&&d?.kind!=="tool"?Sd(e,c,y):se(c&&d?.kind==="tool"?jr(e,c):e,y)}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=Nr(e,o,t,l),u=d&&!e.argsByCall.has(o)?new Map(e.argsByCall).set(o,{arguments:d,anchoredAt:$t(t)??n}):e.argsByCall,f=u===e.argsByCall?e:{...e,argsByCall:u};return se(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:$t(t)??(l?.kind==="tool"&&l.startedAt!==null?l.startedAt:n),endedAt:null,images:l?.kind==="tool"?l.images:Nt,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=Nr(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:Nt,added:0,removed:0,diff:null,stopped:!1},h=u&&!e.argsByCall.has(o)?new Map(e.argsByCall).set(o,{arguments:u,anchoredAt:$t(t)??n}):e.argsByCall,w=h===e.argsByCall?e:{...e,argsByCall:h},S=s.userStoppedAt??null,p=!!(t.is_error??d.is_error),y=no(d.details?.__fault),x=S!==null&&(typeof f.startedAt=="number"?f.startedAt<=S:p);return se(w,{...f,args:u,phase:"done",notRunReason:null,notRunKind:null,neverSent:!1,output:rt(d)||null,isError:x||y?!1:p,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:_d(In(d,c,f.images),f.images),...eo(d.details,f),diff:qi(Ji(d.details),f.diff),stopped:f.stopped||x||y})}case"notice":{const o=String(t.text??"");if(!o)return e;const c=`notice:${e.generation}:${o}`;return e.index.has(c)?e:se(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:oo(String(t.detail??"")),u=d?d.text:o&&c?Td(o,c):ao,f=`compaction:${e.generation}:${o}:${c}`,h=e.compacting?{...e,compacting:!1,compactingSince:0}:e;return h.index.has(f)?h:d?se(h,{kind:"notice",id:f,ts:n,text:u,level:d.level}):xd(se(h,{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:se(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:se(e,{kind:"notice",id:o,ts:d?.ts??n,text:l,level:c==="failed"?"error":"info"})}default:return e}}function $t(e){return Il(e.started_at_epoch)}function mo(e){if(!e.type.startsWith("tool_"))return null;const t=String(e.tool_call_id??"");return t||null}function Qd(e){const t=mo(e);if(t)return`tool:${t}`;const n=e.message;return typeof n?.id=="string"&&n.id?n.id:null}function Yd(e,t){const n=$t(e);if(n!==null)return n;const s=mo(e);if(!s)return null;const r=t.argsByCall.get(s)?.anchoredAt;return typeof r=="number"&&Number.isFinite(r)&&r>0?r:null}function Gs(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 Ln(e){return e.type==="tool_execution_end"}function Xd(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 h=Qd(u);if(h!==null&&!r.index.has(h)){const w=Yd(u,r);if(w!==null)f=w,o=!0,c.add(h);else if(Ln(u)||Gs(u)||!i)continue}r=vs(r,u,f,{seed:!0,...s?{frame:s}:{}})}if(!o)return r;const l=io(r.records,c);return{...r,records:l,index:xt(l)}}function Fr(e){const t=new Map;for(const n of e??[]){if(!n)continue;const s=n;if(!Ln(s)&&!Gs(s))continue;const r=String(s.tool_call_id??"");if(!r)continue;const i=$t(s);i!==null&&t.set(r,i)}return t}function Jd(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 qd=5e3;function eu(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 tu(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-qd}function Br(e,t){const n=[];for(const s of e??[]){if(!s)continue;const r=s;if(!Ln(r)&&!Gs(r))continue;const i=String(r.tool_call_id??"");!i||n.includes(i)||t.has(i)||n.push(i)}return n}function Gr(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 nu=3.25,_s=100,Zs=500;function Zr(e){return e<=0?_s:Math.min(Zs,_s+Math.ceil(nu*e))}function Yn(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 su(e){for(const t of e)if(t.payload?.role==="user")return!0;return!1}function ru(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 iu(e,t){return e&&t===0}function ou(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"&&!Ln(s)&&!i)continue;const o=String(s.tool_call_id??"");o&&t.add(o)}return t}function go(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 au(e,t,n){return go(e,t,n).length}function Hr(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=se(t,{...n,truncated:"interrupted"}));return t}function cu(e,t=Date.now()){return e.records.length===0?e:{...Ze,generation:e.generation,compacting:e.compacting,compactingSince:e.compactingSince,viewEpoch:e.viewEpoch+1,clearedAt:t,argsByCall:e.argsByCall}}function lu(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 Vr(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function du(e){const t=e.compacting?{...e,compacting:!1,compactingSince:0}:e;return Bs(t,n=>n.kind==="assistant"&&n.streaming||n.kind==="tool"&&n.phase!=="done")}function Hs(e,t){let n=t;for(const s of e.records)s.ts>n&&(n=s.ts);return n}function yo(e,t,n,s,r=Date.now()){return e.index.has(t)?e:se(e,{kind:"user",id:t,ts:Hs(e,r),text:n,images:s,local:!0,provisional:!0})}function uu(e,t){return Bs(e,n=>n.id===t)}let zr=0;function fu(e,t,n,s=Date.now()){return zr+=1,se(e,{kind:"notice",id:`local:${s}:${zr}`,ts:Hs(e,s),text:t,level:n})}function hm(e,t,n,s){const r=t?.anchor_id,i=t?.kind;return!r||i!=="error"&&i!=="interrupted"&&i!=="closed"&&i!=="retired"||n||e.index.has(r)||!t?.unseen&&!s?.has(r)?e:(s?.add(r),se(e,{kind:"notice",id:r,ts:e.records.at(-1)?.ts??Date.now(),complete:!0,text:i==="closed"?lo:i==="retired"?uo:i==="error"?"Stopped with an error":"Interrupted",level:i==="closed"?"info":i==="retired"?"warning":i==="error"?"error":"warning"}))}const pu="compacting context…";function mm(e){return typeof e=="string"&&e.trim()===pu}const hu=[1500,5e3];async function gm(e,t=n=>new Promise(s=>setTimeout(s,n))){for(const n of hu){await t(n);try{if(await e())return}catch{}}}function mu(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 Kr=new Set(["openrouter","radient","radient-key"]),gu=new Set(["auto","openrouter/auto"]),yu="Auto";function vo(e){return e.slice(e.lastIndexOf("/")+1)||e}function vu(e,t){return e===t||e===vo(t)}function Xn(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 ym(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=Kr.has(t)||!s||vu(s,e.model_id)||s.toLowerCase()==="unknown";return{name:Kr.has(t)&&gu.has(e.model_id)?yu:r?vo(n):s,selector:n}}function vm(e,t){const n=e?.effective_model??e?.selected_model??null;return{identity:t??n,effort:n}}function _m(e){return e?.supports_fast_mode!==!0?null:e.fast_mode===!0?"on":"off"}function bm(e){return Array.isArray(e?.reasoning_efforts)?e.reasoning_efforts.filter(t=>typeof t=="string"&&t!==""):[]}function wm(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 Sm(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 _o(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 km(e,t){const n=(e??t)?.effective_model;return _o(n)?null:n?.model_id??null}function Tm(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=_o(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 Em(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 _u(e,t){if(e&&!(e.settled||e.error!==null))return{...e,text:e.text+t,streaming:!0}}function bu(e,t){return!!e.streams[t]}function bo(e,t){return e.attached[t]?.turns.at(-1)}function xm(e,t){const n=bo(e,t);return n?e.streams[n.asideId]:void 0}function Im(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 wu(){return{text:"",streaming:!0,settled:!1,error:null}}function Su(e){return{text:e,streaming:!1,settled:!0,error:null}}function ku(e,t){return{text:e?.text??"",streaming:!1,settled:!1,error:t}}const Tu=Ls(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]:wu()},attached:{...r.attached,[t]:{turns:[...r.attached[t]?.turns??[],{asideId:n,question:s}],notice:null}}})),applyAsideDelta:(t,n)=>e(s=>{const r=_u(s.streams[t],n);return r?{streams:{...s.streams,[t]:r}}:s}),settleAside:(t,n)=>e(s=>s.streams[t]?{streams:{...s.streams,[t]:Su(n)}}:s),failAside:(t,n)=>e(s=>bu(s,t)?{streams:{...s.streams,[t]:ku(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 Cm(e,t){return bo(e,t)?.asideId}const Eu=4*1024*1024,xu=1024*1024,Oe=new Map;function Wr(e){if(e.length===0)return 0;try{return new TextEncoder().encode(JSON.stringify(e)).length}catch{return Number.POSITIVE_INFINITY}}function Iu(e){const t=e.slice(-200);let n=0,s=Wr(t);for(;n<t.length&&s>xu;)n+=1,s=Wr(t.slice(n));return{records:t.slice(n),bytes:s}}function Cu(e,t){const{records:n,bytes:s}=Iu(du(t.transcript).records);if(n.length===0){Oe.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:Qr(n,t.owedLabels),markLabels:Qr(n,t.markLabels)};Oe.delete(e),Oe.set(e,i),Au()}function Qr(e,t){if(!t||t.size===0)return Yr;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:Yr}const Yr=new Set;function wo(e){const t=Oe.get(e);if(!t)return null;const{bytes:n,...s}=t;return s}function Ru(e){Oe.delete(e)}function Au(){let e=0;for(const t of Oe.values())e+=t.bytes;for(;e>Eu&&Oe.size>0;){const t=Oe.keys().next().value;if(t===void 0)break;const n=Oe.get(t);Oe.delete(t),e-=n?.bytes??0}}const Ou=8,Pu=128,So=new Set,Du="",je=new Map,Vs=e=>e??Du;function Rm(e){return je.get(Vs(e))??So}function Am(e,t,n){const s=Vs(e),r=je.get(s)??new Set,i=new Set(r);if(n)for(i.delete(t),i.add(t);i.size>Pu;){const o=i.values().next().value;if(o===void 0)break;i.delete(o)}else i.delete(t);for(je.delete(s),i.size>0&&je.set(s,i);je.size>Ou;){const o=je.keys().next().value;if(o===void 0)break;je.delete(o)}return je.get(s)??So}function Mu(e){je.delete(Vs(e))}const Lu=new Set(["subagent_start","subagent_progress","subagent_end"]),Nu=(e,t)=>({...e,[t]:(e[t]??0)+1}),ju=e=>{const t={};if(!Array.isArray(e))return t;for(const n of e){const s=ko(n);s&&(t[s]=(t[s]??0)+1)}return t},ko=e=>{if(!e||typeof e!="object")return null;const t=e;return Lu.has(String(t.type??""))&&typeof t.job_id=="string"&&t.job_id?t.job_id:null},$u=(e,t)=>{const n=ko(t);return n?Nu(e,n):e};function Uu(e){for(const t of e)t.type==="aside_delta"&&Tu.getState().applyAsideDelta(t.payload.aside_id,t.payload.delta)}function Fu(e){return e.some(t=>t.type!=="aside_delta"&&t.type!=="heartbeat")}const st=new Set,Dt=new Set;function Bu(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 Gu=new Set(["agent_end","agent_start","provider_start","steering_delivered","turn_end","turn_start"]),Zu=15e3,bs=[500,1e3,2e3,4e3,8e3,8e3],Hu=bs.length,Vu=2e4,zu=1e4;function Xr(e){const t=Math.max(1,Math.min(e,bs.length));return bs[t-1]??8e3}const Ku=3,Wu=250,Jr=512,qr=new Set(["turn_end","agent_end"]),ei=2,Qu=500,ti=Zs,Yu=6,Jn=Fi("sessions.history"),Xu=2e3,ni={targets:new Set,order:[],every:new Set,found:new Set,pending:[],starts:new Map,waiting:new Set},ot=new Map,gn=new Map,Ju=8,qu=2048,si=1024,ef=1024,tf="",nt=new Map;function ri(e){const t=e??tf,n=nt.get(t);if(n)return nt.delete(t),nt.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(nt.set(t,s);nt.size>Ju;){const r=nt.keys().next().value;if(r===void 0||r===t)break;nt.delete(r)}return s}function qn(e){return e.terminal||e.failure?!1:(e.frontend??e.heldFrontend)?.streaming===!0}function es(e,t,n,s){return t.has(n)?!1:e.inFlight.has(n)?!0:s}function nf(e,t){return gn.set(e,t),()=>{gn.get(e)===t&&gn.delete(e)}}function Om(e){const t=gn.get(e);return t?(t(),!0):!1}const re=new Map,sf=4,rf=16;function To(e,t){e(n=>yo(n,t.id,t.text,t.images)),t.painted||(t.painted=!0,t.onPainted?.())}function of(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 ws(e,t){let n=re.get(e);if(!n){if(re.size>=rf){const i=re.keys().next();i.done||re.delete(i.value)}n=new Map,re.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>sf;){const i=n.keys().next();if(i.done)break;n.delete(i.value)}const r=ot.get(e);r&&To(r,s)}function Pm(e){if(!e)return null;const t=re.get(e);if(!t)return null;for(const n of t.values())if(!n.settled)return n;return null}function Ss(e,t){const n=re.get(e);n&&(n.delete(t),n.size===0&&re.delete(e))}function ks(e,t){const n=re.get(e)?.get(t);n&&(n.settled=!0)}function ii(e,t){return e?re.get(e)?.has(t)===!0:!1}function Dm(e){return e?(re.get(e)?.size??0)>0:!1}function af(e,t,n){const s=re.get(e)?.get(t);if(!s)return;s.text=n;const r=ot.get(e);r&&r(i=>of(i,t,n))}function cf(e,t){if(e===t)return;const n=re.get(e);if(!n)return;re.delete(e);const s=re.get(t)??new Map;for(const[r,i]of n)i.identity=t,s.set(r,i);re.set(t,s)}function fn(e){re.delete(e)}function lf(e,t){const n=re.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&&Ss(e,s)}}function df(e,t){ot.set(e,t);const n=re.get(e);if(n)for(const s of n.values())To(t,s);return()=>{ot.get(e)===t&&ot.delete(e)}}function uf(e,t){const n=re.get(e);if(!n)return t;let s=t;for(const r of n.values())s=yo(s,r.id,r.text,r.images);return s}function ff(e,t,n){return e===t?!0:!n}function Mm(e,t){const n=ot.get(e);if(!n)return Ss(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",uu(r,t)):(s="owner",r)}),Ss(e,t),s}function pf(e,t){const n=ot.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 hf(e){const t=wo(e);return t?{transcript:t.transcript,stale:!0,owedLabels:t.owedLabels,markLabels:t.markLabels}:{transcript:Ze,stale:!1,owedLabels:st,markLabels:Dt}}function mf(e){return"cold_reason"in e&&!e.history.cursor_missing&&e.history.entries.length>0}function Lm(e,t,n=!0,s=e){const[r,i]=E.useState(()=>{const T=t&&e?hf(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?uf(s,T?.transcript??Ze):Ze,stale:T?.stale??!1,missing:!1,loadingOlder:!1,subagentPulses:{},labelPending:T?.owedLabels??st,labelMarked:T?.markLabels??Dt,labelHoldLate:!1,hydrated:!1}}),o=E.useRef(r),c=E.useCallback(T=>{const P=T(o.current);return P===o.current||(o.current=P,i(P)),P},[]),l=E.useRef(e),d=E.useRef([]),u=E.useRef(Ze.index),f=E.useRef(ri(e)),h=E.useRef(new Set),w=E.useRef(null),S=E.useRef({}),p=E.useRef(null),y=E.useRef(0);E.useEffect(()=>{if(!e||!t)return;const T=++y.current;let P=null,U=!1,ne=0,W=0,ge=0,ie=0,Ye=0,It=0,Xe=0,Un=!1;const sn=()=>{It&&(window.clearTimeout(It),It=0)},ea=j=>{for(const F of j)f.current.attempts.set(F,(f.current.attempts.get(F)??0)+1)},Fn=j=>{c(F=>{const Z=new Set;for(const q of F.labelPending)F.labelPending.has(q)&&(es(f.current,F.transcript.argsByCall,q,qn(F))||Z.add(q));let H=null;for(const q of F.labelMarked)es(f.current,F.transcript.argsByCall,q,qn(F))||(H=H??new Set(F.labelMarked),H.delete(q));if(Z.size===0&&!H)return F;const oe=new Set(F.labelPending);for(const q of Z)oe.delete(q);return{...F,labelPending:oe.size?oe:st,labelMarked:H&&H.size===0?Dt:H??F.labelMarked}})},ta=j=>{c(F=>{let Z=null,H=null;for(const oe of j)F.labelPending.has(oe)&&(Z=Z??new Set(F.labelPending),Z.delete(oe),H=H??new Set(F.labelMarked),H.add(oe));return!Z||!H?F:{...F,labelPending:Z.size?Z:st,labelMarked:H}})},Bn=async(j,F,Z=ni,H=1,oe)=>{for(const _e of Z.targets)f.current.inFlight.add(_e),h.current.add(_e);let q=!1;try{q=await na(j,F,Z,H,oe)}finally{if(!q){for(const _e of Z.targets)f.current.inFlight.delete(_e);f.current.refused&&ta(Z.targets),Fn()}}},na=async(j,F,Z,H,oe)=>{const q=new Set;let _e,ut=0,ft=0,Je=!1,pt=!1;const Ce=new Set(Z.found),qe=()=>au(Z.order,Z.targets,Ce),ht=()=>go(Z.order,Z.targets,Ce),et=()=>{const K=new Map;for(const M of _){if(Ce.has(M))continue;const ue=g.get(M);ue!==void 0&&K.set(M,ue)}return K},Be=new Set(Z.every);for(const K of Ce)Be.add(K);const _=new Set,g=new Map;let ee=1;const pe=Z.targets.size>0;let mt=Math.max(Zr(qe()),pe?f.current.depth:0),$=0;for(;ut<ti&&ft<Yu;){ft+=1;let K;try{K=await ce({op:"sessions.history",sessionId:e,..._e?{beforeId:_e}:{},limit:Math.min(mt,ti-ut)})}catch{if(o.current.transcript.records.length>0){if($++>0)return f.current.refused=!0,!1;continue}return H<Ku?(Ye=window.setTimeout(()=>{if(Ye=0,y.current!==j){Fn();return}Bn(j,F,Z,H+1,oe)},Xr(H)),!0):(c(te=>({...te,status:"unavailable",failure:vl,heldFrontend:null})),!1)}finally{Fn()}if(y.current!==j)return!1;f.current.refused=!1;const M=K.entries[0];ut+=K.entries.length,oe?.(K.entries.length),c(te=>{const Re=Pt(te.transcript,K),gt=Yn(K.entries,Be),Zn=new Set(te.labelPending);for(const ia of gt)Zn.delete(ia);return{...te,hydrated:!0,labelPending:Zn.size?Zn:st,labelMarked:Bu(te.labelMarked,gt),transcript:Re}}),e&&_e===void 0&&He.getState().resolveHeldFromServer(e,K.entries.map(te=>te.id),!K.cursor_missing);const ue=qe();for(const te of Yn(K.entries,Be))Ce.add(te),Be.add(te);if(su(K.entries)&&(pt=!0),pe){const te=ru(K.entries,Be);for(const Re of te)_.add(Re),Be.add(Re);for(const[Re,gt]of eu(K.entries,te))g.set(Re,gt);for(const Re of[..._])Ce.has(Re)&&_.delete(Re);_.size>0&&ee--<=0&&_.clear()}Je=Je||F.size===0||K.entries.some(te=>F.has(te.id)||q.has(te.id));for(const te of K.entries)q.add(te.id);const Ge=qe()+_.size;if(pe&&qe()<ue&&(f.current.depth=Math.min(Zs,Math.max(f.current.depth,ut))),pe){const te=ht();if(tu(K.entries,te,Z.starts,et(),new Set(te.filter(gt=>Z.waiting.has(gt))))||pt)return!1}if(iu(Je,Ge)||!M||!K.has_more)return!1;_e=M.id,mt=Ge>0?Zr(Ge):_s}return!1},qs=()=>{if(ne&&cancelAnimationFrame(ne),W&&clearTimeout(W),ne=0,W=0,y.current!==T)return;const j=d.current;if(d.current=[],j.length===0)return;Uu(j);const F=_=>{const ee=_.payload.history.entries.at(-1);return ee?mf(_.payload)?!0:ee.id===_.payload.frontend.snapshot.history_cursor?!1:u.current.has(ee.id):!1},Z=_=>_!=null&&u.current.has(_),H=j.some(_=>_.type==="attention"?!Z(_.payload.anchor_id):_.type==="snapshot"&&!F(_)),oe=new Set(o.current.transcript.argsByCall.keys()),q=[],_e=new Set;for(const _ of j)if(_.type==="snapshot"){for(const g of _.payload.history.entries){_e.add(g.id);const ee=g.payload?.tool_calls;if(Array.isArray(ee))for(const pe of ee)pe&&typeof pe.id=="string"&&oe.add(pe.id)}for(const g of _.payload.frontend.snapshot.live_events??[]){const ee=g.message;typeof ee?.id=="string"&&_e.add(ee.id)}q.push(..._.payload.frontend.snapshot.live_events??[])}const ut=j.some(_=>_.type==="event"&&qr.has(String(_.payload.type??""))),ft=Gr(f.current.attempts,Br(q,oe),oe,ei),Je=ut?Gr(f.current.attempts,[...f.current.attempts.keys(),...f.current.settled],oe,ei):[],pt=[];for(const _ of j){if(_.type!=="event")continue;const g=_.payload;String(g.type??"")==="tool_execution_end"&&String(g.tool_call_id??"")&&pt.push(g)}const Ce=[];for(const _ of pt){const g=String(_.tool_call_id??"");oe.has(g)||f.current.settled.has(g)||Ce.push(g)}for(const _ of Ce)f.current.settled.add(_);for(;f.current.settled.size>Jr;){const _=f.current.settled.values().next().value;if(_===void 0)break;f.current.settled.delete(_)}for(const[_,g]of Fr(pt))f.current.starts.set(_,g);for(;f.current.starts.size>si;){const _=f.current.starts.keys().next().value;if(_===void 0)break;f.current.starts.delete(_)}const qe=f.current.settleRows<Qu?Ce:[],ht=[...new Set([...ft,...Je,...qe])],et=ht.filter(_=>!f.current.painted.has(_));if(q.length>0){f.current.order=Br(q,new Set);for(const[_,g]of Fr(q))f.current.starts.set(_,g);for(;f.current.starts.size>si;){const _=f.current.starts.keys().next().value;if(_===void 0)break;f.current.starts.delete(_)}for(const _ of Jd(q))f.current.waiting.add(_);for(const _ of ou(q))f.current.waiting.delete(_);for(;f.current.waiting.size>ef;){const _=f.current.waiting.values().next().value;if(_===void 0)break;f.current.waiting.delete(_)}}for(const _ of[...f.current.attempts.keys()])oe.has(_)&&f.current.attempts.delete(_);for(ea([...ft,...Je]);f.current.attempts.size>Jr;){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={..._},ee=g.frontend!==null,pe=null;const mt=Date.now();for(const $ of j){if($.type==="heartbeat")continue;if($.type==="gap"){g={...g,frontend:null,heldFrontend:g.frontend??g.heldFrontend,history:null,terminal:null,status:"reconnecting",transcript:Hr(g.transcript)},ee=!1;continue}const K=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 M=g.frontend??g.heldFrontend;g={...g,frontend:null,heldFrontend:M,history:null,transcript:Hr(g.transcript)},M&&g.status==="live"&&(g={...g,status:"reconnecting"}),ee=!1}continue}if(!ee){if($.type==="event"&&(pe=vs(pe??g.transcript,$.payload,mt,{frame:{epoch:$.epoch,seq:$.seq}})),$.type==="snapshot"){const M=$.payload;let ue=pe??g.transcript;M.history.cursor_missing||(ue=Pt(ue,M.history)),e&&He.getState().resolveHeldFromServer(e,M.history.entries.map(Ge=>Ge.id),!M.history.cursor_missing),ue=Xd(ue,M.frontend.snapshot,mt,{epoch:$.epoch,seq:$.seq}),g={...g,subagentPulses:ju(M.frontend.snapshot.live_events),status:"live",stale:!1,frontend:{...M.frontend.snapshot,attention:bt(g.frontend?.attention,M.frontend.snapshot.attention,e)},history:M.history,cold:M.cold,ownerEpoch:M.frontend.epoch,failure:null,hydrated:g.hydrated||!M.history.cursor_missing&&M.history.entries.length>0,transcript:ue},ee=!0,pe=null}continue}if($.type==="attention"){g.frontend&&(g={...g,frontend:{...g.frontend,attention:bt(g.frontend.attention,$.payload,e)}});continue}if($.type==="frontend.update"){const M=$.payload;if(!g.frontend)continue;const ue=M.epoch!==g.ownerEpoch&&M.changes.epoch===M.epoch;(ue||M.epoch===g.ownerEpoch&&g.frontend.sequence<M.sequence)&&(g={...g,ownerEpoch:ue?M.epoch:g.ownerEpoch,frontend:{...g.frontend,...M.changes,attention:bt(g.frontend.attention,M.changes.attention,e),sequence:M.sequence}});continue}if($.type==="frontend.replace"){if(g.frontend&&Cl(K,e,$)){const M=$.payload.frontend;g={...g,frontend:{...M.snapshot,attention:bt(g.frontend.attention,M.snapshot.attention,e)},ownerEpoch:M.epoch,cold:$.payload.cold}}continue}if($.type==="event"){const M=String($.payload.type??"");Gu.has(M)&&(g={...g,terminal:M}),qr.has(M)&&(g={...g,turnsCompleted:g.turnsCompleted+1});const ue=vs(g.transcript,$.payload,mt,{frame:{epoch:$.epoch,seq:$.seq},userStoppedAt:e?He.getState().stoppedTurns[e]??null:null});ue!==g.transcript&&(g={...g,transcript:ue});const Ge=$u(g.subagentPulses,$.payload);Ge!==g.subagentPulses&&(g={...g,subagentPulses:Ge})}}if(!ee&&pe&&(g={...g,transcript:pe}),performance.mark("lop:transcript:flush:end"),performance.measure("lop:transcript:flush","lop:transcript:flush:start","lop:transcript:flush:end"),u.current=g.transcript.index,!Fu(j))return _;if(et.length>0){const $=new Set(g.labelPending);for(const K of et)$.add(K);g={...g,labelPending:$}}return g.frontend!==null&&g.frontend!==g.heldFrontend&&(g={...g,heldFrontend:g.frontend}),g}),et.length>0){for(const _ of et)f.current.painted.add(_);for(;f.current.painted.size>qu;){const _=f.current.painted.values().next().value;if(_===void 0)break;f.current.painted.delete(_)}}const Be=qe.length>0&&ft.length===0&&Je.length===0&&!H;if(H||ht.length>0){const _=new Set(ht),g=f.current.order;Bn(T,_e,ht.length>0?{targets:_,order:g,starts:f.current.starts,waiting:f.current.waiting,every:new Set([...g,..._]),found:new Set(Yn(j.flatMap(ee=>ee.type==="snapshot"?ee.payload.history.entries:[]),new Set(g))),pending:et}:ni,1,Be?ee=>{f.current.settleRows+=ee}:void 0)}},Gn=()=>{const j=P;if(P=null,!!j){U=!0;try{j()}finally{U=!1}}},rn=()=>{sn(),It=window.setTimeout(()=>{It=0,y.current===T&&(Gn(),c(j=>({...j,subscriptionId:null,status:"unavailable",failure:Rr(Lt.ended),heldFrontend:null})),!Un&&(Un=!0,Xe=window.setTimeout(()=>{Xe=0,y.current===T&&er()},zu)))},Vu),P=Tl({sessionId:e,epoch:S.current.epoch,afterSeq:S.current.afterSeq},j=>{if(y.current===T){if(j.kind==="error"||j.kind==="end"){if(U)return;if(sn(),Gn(),j.kind==="error"&&j.status===404){e&&(Ru(e),Mu(e)),c(H=>({...H,subscriptionId:null,status:"unavailable",missing:!0,failure:null,heldFrontend:null}));return}const F=j.kind==="error"?j.detail??"The event stream failed.":"The event stream closed unexpectedly.";if(c(H=>({...H,subscriptionId:null})),ge>=Hu){c(H=>({...H,status:"unavailable",failure:Rr(F),heldFrontend:null}));return}ge+=1;const Z=w.current;Z&&(S.current={epoch:Z.epoch,afterSeq:Z.seq}),c(H=>H.status==="unavailable"&&ge>1?H:{...H,status:"reconnecting",failure:null}),ie=window.setTimeout(()=>{ie=0,y.current===T&&rn()},Xr(ge));return}if(j.data!==void 0)try{const F=JSON.parse(j.data);F.type==="snapshot"&&(ge=0,sn(),Un=!1),d.current.push(F),ne||(ne=requestAnimationFrame(qs)),W||(W=window.setTimeout(qs,Wu))}catch{}}})},sa=()=>{ie!==0&&(window.clearTimeout(ie),ie=0),S.current={},w.current=null,Gn(),rn()},er=()=>{ge=0,Xe&&(window.clearTimeout(Xe),Xe=0),ie&&(window.clearTimeout(ie),ie=0),Ye&&(window.clearTimeout(Ye),Ye=0),c(j=>({...j,failure:null,status:j.status==="unavailable"?"connecting":j.status})),o.current.hydrated||Bn(T,new Set(o.current.transcript.index.keys())),!P&&rn()};rn(),p.current=er;const ra=nf(e,sa);return()=>{y.current+=1,p.current=null,ra(),P?.(),ne&&cancelAnimationFrame(ne),W&&clearTimeout(W),ie&&clearTimeout(ie),Ye&&clearTimeout(Ye),x.current&&(window.clearTimeout(x.current),x.current=0),I.current&&(window.clearTimeout(I.current),I.current=0),Xe&&window.clearTimeout(Xe),sn(),d.current=[]}},[c,e,t]),E.useEffect(()=>{S.current={},w.current=null,u.current=Ze.index;const T=ff(l.current,e,n);l.current=e;const P=e?wo(e):null;c(U=>({...U,frontend:null,heldFrontend:T?U.heldFrontend:null,pendingModel:null,history:null,terminal:null,turnsCompleted:T?U.turnsCompleted:0,transcript:T?U.transcript:P?.transcript??Ze,stale:T?U.stale:P!==null,missing:T?U.missing:!1,status:"connecting",subagentPulses:{},labelPending:P?.owedLabels??st,labelMarked:P?.markLabels??Dt,labelHoldLate:!1,hydrated:!1,loadingOlder:!1})),f.current=ri(e)},[e,n]),E.useEffect(()=>{if(e)return()=>{const T=o.current.transcript;T.records.length>0&&Cu(e,{transcript:T,owedLabels:new Set([...o.current.labelPending].filter(P=>es(f.current,o.current.transcript.argsByCall,P,qn(o.current)))),markLabels:new Set(o.current.labelMarked)});for(const P of h.current)f.current.inFlight.delete(P);h.current.clear()}},[e]);const x=E.useRef(0);E.useEffect(()=>{if(r.labelPending.size===0&&r.labelMarked.size===0){x.current&&(window.clearTimeout(x.current),x.current=0);return}if(x.current)return;const T=()=>{x.current=0;const P=o.current.labelPending,U=o.current.labelMarked;if(P.size===0&&U.size===0)return;const ne=f.current;for(const W of P)if(ne.inFlight.has(W)){x.current=window.setTimeout(T,Jn);return}for(const W of U)if(ne.inFlight.has(W)){x.current=window.setTimeout(T,Jn);return}c(W=>W.labelPending.size===0&&W.labelMarked.size===0?W:{...W,labelPending:st,labelMarked:Dt})};x.current=window.setTimeout(T,Jn)},[c,r.labelPending,r.labelMarked]);const I=E.useRef(0);E.useEffect(()=>{if(r.labelPending.size===0){I.current&&(window.clearTimeout(I.current),I.current=0),c(T=>T.labelHoldLate?{...T,labelHoldLate:!1}:T);return}r.labelHoldLate||I.current||(I.current=window.setTimeout(()=>{I.current=0,c(T=>T.labelPending.size===0||T.labelHoldLate?T:{...T,labelHoldLate:!0})},Xu))},[c,r.labelPending,r.labelHoldLate]);const J=E.useRef(e);J.current=e;const G=E.useRef(!1),ae=E.useRef({session:null,cursor:null});ae.current.session!==e&&(ae.current={session:e??null,cursor:null});const xe=E.useCallback(async()=>{if(!e||G.current)return!1;const{transcript:T}=o.current;if(!T.hasMore||!T.oldestId)return!1;const P=e;G.current=!0,c(U=>({...U,loadingOlder:!0}));try{const U=ie=>ce({op:"sessions.history",sessionId:P,beforeId:ie,limit:100}),ne=ae.current.cursor??T.oldestId;let W=await U(ne),ge=Ur(W,ne,!1);return ge.cursor!==null&&(ae.current={session:P,cursor:ge.cursor},W=await U(ge.cursor),ge=Ur(W,ge.cursor,!0)),ae.current={session:P,cursor:ge.cursor},ge.failed?(c(ie=>({...ie,loadingOlder:!1})),!1):J.current!==P?(c(ie=>({...ie,loadingOlder:!1})),!1):(c(ie=>({...ie,loadingOlder:!1,transcript:Pt(ie.transcript,W)})),!0)}catch{return c(U=>({...U,loadingOlder:!1})),!1}finally{G.current=!1}},[c,e]),N=E.useRef(!1),V=E.useCallback(async(T,P)=>{if(!e||N.current)return!1;const U=e;N.current=!0;try{const ne=await ce({op:"sessions.history",sessionId:U,limit:100});return J.current!==U||o.current.transcript.viewEpoch!==P?!1:(c(W=>({...W,transcript:Pt(W.transcript,ne,{keepPaging:!0})})),mu(ne.entries,T))}catch{return!1}finally{N.current=!1}},[c,e]);E.useEffect(()=>s?df(s,P=>{c(U=>{const ne=P(U.transcript);return ne===U.transcript?U:{...U,transcript:ne}})}):void 0,[c,s]),E.useEffect(()=>{s&&lf(s,r.transcript)},[s,r.transcript]);const z=E.useCallback(()=>{c(T=>({...T,transcript:cu(T.transcript),heldFrontend:null}))},[c]),de=E.useCallback(()=>{p.current?.()},[]),me=E.useCallback((T,P="info")=>{c(U=>({...U,transcript:fu(U.transcript,T,P)}))},[c]),Ie=E.useCallback(T=>{c(P=>({...P,pendingModel:T}))},[c]),nn=E.useCallback(()=>{c(T=>T.pendingModel===null?T:{...T,pendingModel:null})},[c]);return E.useEffect(()=>{const T=r.pendingModel;if(!T)return;const P=Xn(T);if(!P)return;const U=r.frontend;(Xn(U?.selected_model)===P||Xn(U?.effective_model)===P)&&c(ne=>({...ne,pendingModel:null}))},[c,r.frontend,r.pendingModel]),E.useEffect(()=>{if(!r.pendingModel)return;const T=window.setTimeout(()=>c(P=>({...P,pendingModel:null})),Zu);return()=>window.clearTimeout(T)},[c,r.pendingModel]),E.useMemo(()=>({...r,awaitingHydration:t&&!!e&&n&&!r.hydrated,loadOlder:xe,refreshTail:V,clearView:z,addNote:me,paintPendingModel:Ie,clearPendingModel:nn,retry:de}),[r,t,e,n,xe,V,z,me,Ie,nn,de])}function Nn(e,t){return t===""?e:e===""?t:e===t||e.startsWith(`${t}
|
|
23
|
+
|
|
24
|
+
`)?e:`${t}
|
|
25
|
+
|
|
26
|
+
${e}`}const ts={currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]};function yn(e,t,n){const s=[...e.attachments??[]],r=[],i=[],o=new Set;for(const h of t.attachments){const w=s.find(p=>p.path===h&&!o.has(p.id));if(w){o.add(w.id),i.push(w.id);continue}const S={id:n(),path:h};r.push(S),i.push(S.id)}const c=[...e.replies??[]],l=t.replies.filter(h=>!c.some(w=>w.id===h.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:Nn(e.pendingText??"",d),unredactedChars:Math.max(e.unredactedChars??0,t.unredactedChars??0),returned:{text:d,chipIds:i,replyIds:t.replies.map(h=>f.find(w=>w.id===h.id)?.id).filter(h=>h!==void 0),volatileText:t.volatileText},inFlight:void 0,lateDelivered:void 0}}function gf(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 yf(e){return{text:Nn(e.currentInput??"",e.pendingText??""),attachments:(e.attachments??[]).map(t=>t.path),replies:e.replies??[]}}function vf(e,t){if(!e||!t)return!1;const n=yf(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 _f(e,t=()=>crypto.randomUUID()){const n={};for(const[s,r]of Object.entries(e??{}))n[s]=r.inFlight?yn(r,r.inFlight,t):r;return n}function bf(e,t){const n=t.text,s=Nn(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 Ae=Ls()(xi((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"&&!gf(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]??ts,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]??ts;n!==s&&i&&(c=yn(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=yn(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=Nn(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]??ts;r.inFlight||e({inputByConversation:{...t().inputByConversation,[n]:yn(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?vf(s,s.returned):r(s),c=s.returned?bf(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:_f(e?.inputByConversation)})})),pn=(e,t)=>e instanceof X?Mn(e,t):e instanceof Error?e.message:t,jn="session_unvalidated",wf="This chat is not ready for messages yet, so the message was not sent. Sending works once it is ready.",Rn="leading_slash_message",Eo="A message can't start with / — that is a command. Move it below your text, or send it on its own.";function Sf(e,t){return e instanceof X&&e.status===422&&e.code===void 0&&t.trimStart().startsWith("/")}const xo="attachment_read_failed",Io="store_out_of_space",Co="store_unavailable";function oi(e){return e===Io||e===Co}const kf="answer_not_sent",Ro="aside_not_answered",Ao="aside_still_answering";function Mt(e){return e===Rn||e===xo||e===Io||e===Co||e===kf||e===Ro||e===Ao||e===jn}function Tf(e){return e instanceof X&&e.status===409&&zs(e)===void 0}function Oo(e,t=!1){return If(e)||Tf(e)&&!t?"not_sent":e instanceof X&&e.status===404?"gone":"unknown"}function zs(e){if(e instanceof X||e instanceof Qe)return e.code;if(e&&typeof e=="object"&&"code"in e){const t=e.code;if(typeof t=="string")return t}}const ye={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 Nm(e){return e?ye.gateLock:ye.sendLock}const jm="Retry",$m="Clear";function Ef(e,t,n=!1){const s=Oo(e,n),r=t??zs(e),i=Mn(e,ye.generic);return s==="gone"?{message:ye.gone,retry:!1,code:r}:s==="not_sent"?r===js?{message:ye.busy,retry:!0,code:r}:r===Ui?{message:ye.retiring,retry:!0,code:r}:r===jn?{message:ye.notReady,retry:!Mt(r),code:r}:r===Ro?{message:ye.asideNotAnswered,retry:!1,code:r}:r===Ao?{message:ye.asideStillAnswering,retry:!1,code:r}:r===Rn?{message:Eo,retry:!1,code:r}:{message:i,retry:!1,code:r}:r===we.transportFailed?{message:ye.unreachable,retry:!0,code:r}:Us(r)?{message:$s[r],retry:!1,code:r}:r===Fs?{message:ye.unconfirmed,retry:!Mt(r),code:r}:r===zc.runtimeUnreachable?{message:ye.unconfirmed,retry:!0,code:r}:r?{message:i,retry:!Mt(r),code:r}:{message:ye.unconfirmed,retry:!Mt(r),code:r}}function Ts(e){return e.trim()}function Um(e,t){if(t.length===0)return Ts(e);const n=t.map(s=>`<reply-to>${s.text}</reply-to>`).join(`
|
|
27
|
+
`);return Ts(`${n}
|
|
28
|
+
${e}`)}function Es(e,t){return e.sessionId===t||e.key===t||e.key===`send:${t}`}function Fm(e,t,n){if(e)return e;if(!t)return null;const s=Object.entries(n).filter(([,i])=>Es(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 Ks(e,t){return t??e??void 0}function xf(e,t,n){return e?t??void 0:n??void 0}function Bm(e,t,n){return Ks(e,xf(e,t,n))}function If(e){return e instanceof X?e.status===413||e.status===422?!0:e.code===js||e.code===Ui||e.code===we.noCredential||oi(e.code):e instanceof Qe&&(e.code===jn||e.code===xo||oi(e.code))}function $n(e,t){const n=e.startsWith("send:")?e.slice(5):null;return Ks(e.startsWith("draft:")?e:null,t??n)??e}function Cf(e,t){const n=Ae.getState(),s=$n(e,t),r=s===""||s===e?[e]:[e,s];n.settleInFlight(r),s!==""&&s!==e&&n.inputByConversation[e]&&n.returnInFlight(e,s)}function Gm(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=$n(e,t.sessionId);return Ae.getState().returnPayload(s,{text:t.submittedText,attachments:t.submittedAttachments??[],replies:[]}),He.getState().updateDraft(e,{migratedHeld:!0,submittedText:void 0,submittedAttachments:void 0,error:ye.unconfirmed,errorCode:t.heldClaimCode,errorRetry:!Mt(t.heldClaimCode),heldClaimCode:void 0}),!0}function Zm(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=$n(e,t.sessionId);if(n)return ii(i,n.recordId)?!1:(ws(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 ii(i,o)?!1:(ws(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 Rf(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 Af(e,t){return!!t&&e===t}const Of=3,Pf=5e3,Df=2e3;async function Mf(e){for(let t=0;;t++)try{await ce(e);return}catch(n){if(t>=Of||!(n instanceof X)||n.code!==js)throw n;const s=Math.min(Math.max(0,n.retryAfterMs??Df),Pf);await new Promise(r=>setTimeout(r,s))}}async function Hm(e,t,n,s,r){const i=He.getState();if(Af(i.validatingSessionId,n))throw new Qe(wf,jn);const o=i.drafts[e];if(o?.pending)return null;const c=Ts(t.text),l=o?.submittedText!==void 0&&Rf(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,h=l&&o?o.submittedInputMode:t.inputMode,w=l&&o?o.submittedInputPath:t.inputPath,S=o?.submittedText===void 0||l?o?.admissionRequestId??crypto.randomUUID():crypto.randomUUID(),p=Date.now();i.updateDraft(e,{...d,admissionAttempted:l,admissionRequestId:S,submittedRendered:l?o?.submittedRendered:void 0,migratedHeld:o?.migratedHeld,pending:!0,submittedText:c,submittedAttachments:t.attachments,submittedImages:u,submittedMode:f,submittedInputMode:h,submittedInputPath:w,error:void 0,errorCode:void 0,submittedAt:p});const y=Ks(e.startsWith("draft:")?e:null,n??d.sessionId)??null;y&&ws(y,{id:S,submittedAt:p,text:c,images:u.map((G,ae)=>({id:`${S}:${ae}`,data:G.data_b64,attachment:null,mimeType:G.mime_type})),onPainted:s});let x=l,I=n??d.sessionId,J=null;try{if(!I){if(J="sessions.create",I=await i.createSession(t.cwd,d.target,d.createRequestId,d.model??null,d.warmId)??void 0,!I)throw new Qe(He.getState().error??"Chat could not start.");i.updateDraft(e,{sessionId:I}),y&&cf(y,I),i.fetchSessions()}const G=l&&o?.submittedRendered!==void 0?o.submittedRendered:r?await r(I)??c:c;return x=!0,i.updateDraft(e,{error:void 0,errorCode:void 0,errorRetry:void 0,admissionAttempted:!0,submittedRendered:G}),I&&af(I,S,G),J="sessions.message",await Mf({op:"sessions.message",sessionId:I,requestId:S,text:G,images:u.length?u:void 0,mode:f,inputMode:h,inputPath:w}),i.finishDraft(e,I),He.setState({error:null}),I}catch(G){He.setState({error:null});const ae=l&&o?.admissionAttempted===!0,xe=Oo(G,ae),N=J==="sessions.message"&&Sf(G,c),V=N?Rn:zs(G),z=Ef(G,V,ae);let de=!1;const me=I??y??void 0;if(me&&xe==="unknown"&&(de=x&&pf(me,S)==="owner"),i.updateDraft(e,{pending:!1,admissionAttempted:xe==="unknown"&&x,errorCode:V,error:z.message,errorRetry:z.retry}),de)return I?(i.finishDraft(e,I),I):null;const Ie=$n(e,I??d.sessionId),nn=y&&y!==Ie?[y,Ie]:[Ie];throw Ae.getState().settleInFlight(nn),y&&y!==Ie&&Ae.getState().returnInFlight(y,Ie),me&&ks(me,S),e!==me&&ks(e,S),N?new X(422,Eo,G,Rn):G}}const Po=50,Lf=25,Nf=500;function jf(e){return e?Po:Nf}function ai(e,t){return`${e}:${t}`}function $f(e){const t=new Set;for(const n of Object.values(e))for(const s of n.ids)t.add(s);return t}function Uf(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 Ff(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 vn(e,t){return{...e,...t,...Hf(e,t),...Vf(t,e),attention:bt(e?.attention,t.attention,t.session_id)}}const Bf=e=>{if(e.attention?.unseen!==!0)return null;const t=e.status?.code;return t==="complete"||t==="error"||t==="interrupted"?t:null},Gf=e=>e.filter(t=>{if(Bf(t)===null)return!1;const n=t.attention?.completion_token;return typeof n=="string"&&n.length>0}),ci=(e,t,n)=>{const s=e.findIndex(c=>c.session_id===t);if(s<0)return e;const r=e[s],i=bt(r.attention,n,t);if(i===r.attention)return e;const o=e.slice();return o[s]={...r,attention:i},o},Zf=(e,t)=>({sessionId:t,revision:(e?.revision??0)+1});function Hf(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 Vf(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 zf(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 ns(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 Do(e){return e.map(({id:t,name:n,mtime:s,...r})=>({...r,session_id:t,title:n,updated_at:s}))}function li(e,t){return Do(e).filter(n=>t[n.session_id]===void 0)}function ss(e){return typeof e=="string"&&e.length>0?e:null}function Kf(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 Wf(e,t){const n=new Map(e.map(s=>[s.session_id,s]));return[...new Map(t.map(s=>[s.session_id,vn(n.get(s.session_id),s)])).values()]}let rs=0,yt=null;function Qf(e,t,n){const s=yt;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 yt=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 yt===r&&(yt=null),i}}finally{yt===r&&(yt=null)}})(),r.promise}function Mo(){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 Yf(){const e=Mo();return e.kind==="session"?e.sessionId:null}function Xf(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 Jf(e,t){const n={...t,...e},s=Mo();if(s.kind==="session")return{...n,activeSessionId:s.sessionId};if(s.kind==="catalogue")return{...n,activeSessionId:null};const r=Xf(n);return r?{...n,...r}:n}const He=Ls()(xi((e,t)=>({sessions:[],cataloguePageable:!1,draftWarmable:!1,activeSessionId:Yf(),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=jf(t().cataloguePageable),s=!1)=>{const r=++rs,i=t().answerSeq+1;e({answerSeq:i}),e({loading:!0,error:null});try{const o=await Qf(n,s,(l,d)=>ce({op:"sessions.list",limit:l,include_archived:!0,...d?{with_counts:!0}:{}}));if(r!==rs)return;const c=Do(o.sessions);e(l=>{const d={...l.pinFacts};for(const[N,V]of Object.entries(d))V.at>=i||delete d[N];const u=new Set(c.map(N=>N.session_id));let f=!1;const h={...l.forgotten};for(const[N,V]of Object.entries(h))V.at<i&&u.has(N)&&(delete h[N],f=!0);const w=f?h:l.forgotten,S=c.filter(N=>w[N.session_id]===void 0),p=ss(o.next_cursor),y=p===null&&o.truncated!==!0,x=S.map(N=>N.session_id),I=l.sessions.filter(N=>w[N.session_id]===void 0&&(l.pinFacts[N.session_id]?.at??-1)>=i),J=Uf({sessions:l.sessions,scopeIds:$f(l.scopes),keepIds:l.activeSessionId===null?[]:[l.activeSessionId],tailIds:y?[]:l.head.tailIds,page:S,merge:Wf});let G=J.rows;for(const N of I){const V=l.pinFacts[N.session_id],z=G.findIndex(de=>de.session_id===N.session_id);z===-1?G=[...G,{...N,pinned:V.pinned}]:G[z]={...G[z],pinned:V.pinned}}const ae=zf(l.archiveFacts,i),xe=Kf(o.counts);return{sessions:G,pinFacts:d,archiveFacts:ae,forgotten:w,loading:!1,truncated:o.truncated===!0,head:{pageIds:x,tailIds:J.tailIds,nextCursor:p,tailCursor:y?null:l.head.tailStarted?l.head.tailCursor:p,tailStarted:l.head.tailStarted,complete:y,loading:!1,error:null,at:i},...xe===null?{}:{counts:xe},statusUnavailable:Array.isArray(o.degraded)?o.degraded.filter(N=>typeof N=="string"):[]}})}catch(o){r===rs&&e({loading:!1,error:pn(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:Po,include_archived:!0,cursor:s}),i=li(r.sessions,t().forgotten);e(o=>{const c=new Map(o.sessions.map((f,h)=>[f.session_id,h])),l=[...o.sessions],d=[];for(const f of i){const h=c.get(f.session_id);if(h===void 0){c.set(f.session_id,l.length),l.push(f),d.push(f.session_id);continue}l[h]=vn(l[h],f)}const u=ss(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:pn(r,"Could not load more chats.")}}))}}},fetchScopePage:async(n,s,r=null,i=Lf)=>{const o=ai(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=li(l.sessions,t().forgotten);e(u=>{const f=u.scopes[o];if(f===void 0||f.at!==c)return{};const h=r!==null&&l.cursor_missing!==!0,w=Ff({sessions:u.sessions,previousIds:h?f.ids:[],page:d,merge:vn}),S=ss(l.next_cursor);return{sessions:w.rows,scopes:{...u.scopes,[o]:{ids:w.ids,nextCursor:S,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:pn(l,"Could not load this group's chats.")}}}})}},clearScope:(n,s)=>{const r=ai(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(h=>!d.has(h.session_id)||u.has(h.session_id)||l!==null&&h.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;Ae.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=Ae.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 X&&l.message?l.message:""}}}),!1}},deleteSession:async n=>{try{return await ce({op:"sessions.delete",sessionId:n,confirmed:!0}),e(s=>ns(s,n)),{ok:!0}}catch(s){const r=s instanceof X?s.status:null,i=s instanceof X?s.code??null:null;return r===404?(e(o=>ns(o,n)),{ok:!0}):{ok:!1,guarded:i==="session_delete_refused",detail:s instanceof X&&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:pn(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,...ns(t(),n)})},rearmReadAck:n=>{e(s=>({readAckRearm:Zf(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=ci(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=ci(r,o.slice(8),i))}return r===s.sessions?s:{...s,sessions:r}})},markAllRead:async()=>{const n=Gf(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(h=>h.session_id===n);let l=!1;const d=o.sessions.map(h=>{if(h.status_epoch===void 0&&h.status_revision===void 0||h.status_epoch===i)return h;l=!0;const{status_revision:w,status_epoch:S,...p}=h;return p});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=>{Cf(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=Ae.getState().inputByConversation[n];fn(n),i&&i!==n&&fn(i),delete r[n],Ae.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 h=f.sessionId??(u.startsWith("send:")?u.slice(5):void 0);fn(u),h&&h!==u&&fn(h),o.push(u),c[u]=f;const w=Ae.getState().inputByConversation[u];w&&(l[u]=w),delete r[u],Ae.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(([,z])=>Es(z,n)&&z.undelivered!==void 0&&s.includes(z.undelivered.recordId));let c=i.drafts;if(o.length>0){c={...c};for(const[z,de]of o){const{undelivered:me,...Ie}=de;c[z]=Ie}}const l=Object.entries(c).find(([,z])=>Es(z,n)&&z.admissionAttempted===!0&&z.pending!==!0&&z.submittedText!==void 0);if(!l)return o.length>0?{drafts:c}:{};const[d,u]=l,f=u.admissionRequestId,h=s.includes(f);if(!h&&!r)return o.length>0?{drafts:c}:{};const{admissionAttempted:w,submittedText:S,submittedAttachments:p,submittedImages:y,submittedMode:x,submittedInputMode:I,submittedInputPath:J,heldClaimCode:G,error:ae,errorCode:xe,errorRetry:N,...V}=u;return h||ks(n,f),{drafts:{...c,[d]:{...V,...h?{}:{undelivered:{recordId:f,text:S??"",attachments:p??[]}},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(h=>h.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(h=>({sessions:l===null?h.sessions.map(w=>w.session_id===n?{...w,pinned:s}:w):[...h.sessions,l],pinFacts:{...h.pinFacts,[n]:{pinned:s,at:d,title:u,updated_at:f}},pinFailure:null}));try{const h=await ce({op:"sessions.pin",sessionId:n,pinned:s});let w=!1;return e(S=>{const p=S.pinFacts[n];return p===void 0||p.at!==d?{}:(w=!0,{sessions:S.sessions.map(y=>y.session_id===n?{...y,pinned:h.pinned===!0}:y),pinFacts:{...S.pinFacts,[n]:{...p,pinned:h.pinned===!0}}})}),w}catch(h){return e(w=>{const S=w.pinFacts[n];if(S!==void 0&&S.at!==d)return{};const p={...w.pinFacts};return o===null&&i===void 0?delete p[n]:p[n]={pinned:c,at:Math.max(o?.at??0,d),title:o?.title??u,updated_at:o?.updated_at??f},{sessions:w.sessions.map(y=>y.session_id===n?{...y,pinned:c}:y),pinFacts:p,pinFailure:{sessionId:n,pinned:s,title:i?.title||"this chat",detail:Mn(h,"")}}}),!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?vn(i,n):i):[...s.sessions,n]}))}),{name:"canonical-sessions-storage",merge:Jf,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 tn=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(){}},dt=typeof window>"u"||"Deno"in globalThis;function be(){}function qf(e,t){return typeof e=="function"?e(t):e}function xs(e){return typeof e=="number"&&e>=0&&e!==1/0}function Lo(e,t){return Math.max(e+(t||0)-Date.now(),0)}function St(e,t){return typeof e=="function"?e(t):e}function Se(e,t){return typeof e=="function"?e(t):e}function di(e,t){const{type:n="all",exact:s,fetchStatus:r,predicate:i,queryKey:o,stale:c}=e;if(o){if(s){if(t.queryHash!==Ws(o,t.options))return!1}else if(!qt(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 ui(e,t){const{exact:n,status:s,predicate:r,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Jt(t.options.mutationKey)!==Jt(i))return!1}else if(!qt(t.options.mutationKey,i))return!1}return!(s&&t.state.status!==s||r&&!r(t))}function Ws(e,t){return(t?.queryKeyHashFn||Jt)(e)}function Jt(e){return JSON.stringify(e,(t,n)=>Cs(n)?Object.keys(n).sort().reduce((s,r)=>(s[r]=n[r],s),{}):n)}function qt(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>qt(e[n],t[n])):!1}function No(e,t){if(e===t)return e;const n=fi(e)&&fi(t);if(n||Cs(e)&&Cs(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]=No(e[u],t[u]),c[u]===e[u]&&e[u]!==void 0&&l++)}return r===o&&l===r?e:c}return t}function Is(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 fi(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Cs(e){if(!pi(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!pi(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function pi(e){return Object.prototype.toString.call(e)==="[object Object]"}function ep(e){return new Promise(t=>{setTimeout(t,e)})}function Rs(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?No(e,t):t}function Vm(e){return e}function tp(e,t,n=0){const s=[...e,t];return n&&s.length>n?s.slice(1):s}function np(e,t,n=0){const s=[t,...e];return n&&s.length>n?s.slice(0,-1):s}var Qs=Symbol();function jo(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Qs?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var sp=class extends tn{#t;#e;#n;constructor(){super(),this.#n=e=>{if(!dt&&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"}},Ys=new sp,rp=class extends tn{#t=!0;#e;#n;constructor(){super(),this.#n=e=>{if(!dt&&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}},An=new rp;function As(){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 ip(e){return Math.min(1e3*2**e,3e4)}function $o(e){return(e??"online")==="online"?An.isOnline():!0}var Uo=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function is(e){return e instanceof Uo}function Fo(e){let t=!1,n=0,s=!1,r;const i=As(),o=p=>{s||(h(new Uo(p)),e.abort?.())},c=()=>{t=!0},l=()=>{t=!1},d=()=>Ys.isFocused()&&(e.networkMode==="always"||An.isOnline())&&e.canRun(),u=()=>$o(e.networkMode)&&e.canRun(),f=p=>{s||(s=!0,e.onSuccess?.(p),r?.(),i.resolve(p))},h=p=>{s||(s=!0,e.onError?.(p),r?.(),i.reject(p))},w=()=>new Promise(p=>{r=y=>{(s||d())&&p(y)},e.onPause?.()}).then(()=>{r=void 0,s||e.onContinue?.()}),S=()=>{if(s)return;let p;const y=n===0?e.initialPromise:void 0;try{p=y??e.fn()}catch(x){p=Promise.reject(x)}Promise.resolve(p).then(f).catch(x=>{if(s)return;const I=e.retry??(dt?0:3),J=e.retryDelay??ip,G=typeof J=="function"?J(n,x):J,ae=I===!0||typeof I=="number"&&n<I||typeof I=="function"&&I(n,x);if(t||!ae){h(x);return}n++,e.onFail?.(n,x),ep(G).then(()=>d()?void 0:w()).then(()=>{t?h(x):S()})})};return{promise:i,cancel:o,continue:()=>(r?.(),i),cancelRetry:c,continueRetry:l,canStart:u,start:()=>(u()?S():w().then(S),i)}}var op=e=>setTimeout(e,0);function ap(){let e=[],t=0,n=c=>{c()},s=c=>{c()},r=op;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 le=ap(),Bo=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),xs(this.gcTime)&&(this.#t=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(dt?1/0:5*60*1e3))}clearGcTimeout(){this.#t&&(clearTimeout(this.#t),this.#t=void 0)}},cp=class extends Bo{#t;#e;#n;#s;#r;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#s=e.client,this.#n=this.#s.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=lp(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#r?.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=Rs(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.#r?.promise;return this.#r?.cancel(e),t?t.then(be).catch(be):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#t)}isActive(){return this.observers.some(e=>Se(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Qs||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||!Lo(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.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.#r&&(this.#o?this.#r.cancel({revert:!0}):this.#r.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.#r)return this.#r.continueRetry(),this.#r.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=jo(this.options,t),l={client:this.#s,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.#s,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=>{is(c)&&c.silent||this.#i({type:"error",error:c}),is(c)||(this.#n.config.onError?.(c,this),this.#n.config.onSettled?.(this.state.data,c,this)),this.scheduleGc()};return this.#r=Fo({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.#r.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,...Go(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 is(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),le.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),this.#n.notify({query:this,type:"updated",action:e})})}};function Go(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:$o(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function lp(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 dp=class extends tn{constructor(e={}){super(),this.config=e,this.#t=new Map}#t;build(e,t,n){const s=t.queryKey,r=t.queryHash??Ws(s,t);let i=this.get(r);return i||(i=new cp({client:e,queryKey:s,queryHash:r,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(s)}),this.add(i)),i}add(e){this.#t.has(e.queryHash)||(this.#t.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#t.get(e.queryHash);t&&(e.destroy(),t===e&&this.#t.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){le.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#t.get(e)}getAll(){return[...this.#t.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(n=>di(t,n))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(n=>di(e,n)):t}notify(e){le.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){le.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){le.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},up=class extends Bo{#t;#e;#n;constructor(e){super(),this.mutationId=e.mutationId,this.#e=e.mutationCache,this.#t=[],this.state=e.state||fp(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#e.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#e.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status==="pending"?this.scheduleGc():this.#e.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){this.#n=Fo({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(s,r)=>{this.#s({type:"failed",failureCount:s,error:r})},onPause:()=>{this.#s({type:"pause"})},onContinue:()=>{this.#s({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#e.canRun(this)});const t=this.state.status==="pending",n=!this.#n.canStart();try{if(!t){this.#s({type:"pending",variables:e,isPaused:n}),await this.#e.config.onMutate?.(e,this);const r=await this.options.onMutate?.(e);r!==this.state.context&&this.#s({type:"pending",context:r,variables:e,isPaused:n})}const s=await this.#n.start();return await this.#e.config.onSuccess?.(s,e,this.state.context,this),await this.options.onSuccess?.(s,e,this.state.context),await this.#e.config.onSettled?.(s,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(s,null,e,this.state.context),this.#s({type:"success",data:s}),s}catch(s){try{throw await this.#e.config.onError?.(s,e,this.state.context,this),await this.options.onError?.(s,e,this.state.context),await this.#e.config.onSettled?.(void 0,s,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,s,e,this.state.context),s}finally{this.#s({type:"error",error:s})}}finally{this.#e.runNext(this)}}#s(e){const t=n=>{switch(e.type){case"failed":return{...n,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...n,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:e.error,failureCount:n.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),le.batch(()=>{this.#t.forEach(n=>{n.onMutationUpdate(e)}),this.#e.notify({mutation:this,type:"updated",action:e})})}};function fp(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var pp=class extends tn{constructor(e={}){super(),this.config=e,this.#t=new Set,this.#e=new Map,this.#n=0}#t;#e;#n;build(e,t,n){const s=new up({mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(s),s}add(e){this.#t.add(e);const t=hn(e);if(typeof t=="string"){const n=this.#e.get(t);n?n.push(e):this.#e.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#t.delete(e)){const t=hn(e);if(typeof t=="string"){const n=this.#e.get(t);if(n)if(n.length>1){const s=n.indexOf(e);s!==-1&&n.splice(s,1)}else n[0]===e&&this.#e.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){const t=hn(e);if(typeof t=="string"){const s=this.#e.get(t)?.find(r=>r.state.status==="pending");return!s||s===e}else return!0}runNext(e){const t=hn(e);return typeof t=="string"?this.#e.get(t)?.find(s=>s!==e&&s.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){le.batch(()=>{this.#t.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(e){const t={exact:!0,...e};return this.getAll().find(n=>ui(t,n))}findAll(e={}){return this.getAll().filter(t=>ui(e,t))}notify(e){le.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return le.batch(()=>Promise.all(e.map(t=>t.continue().catch(be))))}};function hn(e){return e.options.scope?.id}function hi(e){return{onFetch:(t,n)=>{const s=t.options,r=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],o=t.state.data?.pageParams||[];let c={pages:[],pageParams:[]},l=0;const d=async()=>{let u=!1;const f=S=>{Object.defineProperty(S,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},h=jo(t.options,t.fetchOptions),w=async(S,p,y)=>{if(u)return Promise.reject();if(p==null&&S.pages.length)return Promise.resolve(S);const x={client:t.client,queryKey:t.queryKey,pageParam:p,direction:y?"backward":"forward",meta:t.options.meta};f(x);const I=await h(x),{maxPages:J}=t.options,G=y?np:tp;return{pages:G(S.pages,I,J),pageParams:G(S.pageParams,p,J)}};if(r&&i.length){const S=r==="backward",p=S?hp:mi,y={pages:i,pageParams:o},x=p(s,y);c=await w(y,x,S)}else{const S=e??i.length;do{const p=l===0?o[0]??s.initialPageParam:mi(s,c);if(l>0&&p==null)break;c=await w(c,p),l++}while(l<S)}return c};t.options.persister?t.fetchFn=()=>t.options.persister?.(d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=d}}}function mi(e,{pages:t,pageParams:n}){const s=t.length-1;return t.length>0?e.getNextPageParam(t[s],t,n[s],n):void 0}function hp(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var mp=class{#t;#e;#n;#s;#r;#a;#o;#i;constructor(e={}){this.#t=e.queryCache||new dp,this.#e=e.mutationCache||new pp,this.#n=e.defaultOptions||{},this.#s=new Map,this.#r=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Ys.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#i=An.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#t.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#i?.(),this.#i=void 0)}isFetching(e){return this.#t.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#e.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#t.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=this.#t.build(this,t),s=n.state.data;return s===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(St(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(s))}getQueriesData(e){return this.#t.findAll(e).map(({queryKey:t,state:n})=>{const s=n.data;return[t,s]})}setQueryData(e,t,n){const s=this.defaultQueryOptions({queryKey:e}),i=this.#t.get(s.queryHash)?.state.data,o=qf(t,i);if(o!==void 0)return this.#t.build(this,s).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return le.batch(()=>this.#t.findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,t,n)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#t.get(t.queryHash)?.state}removeQueries(e){const t=this.#t;le.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=this.#t;return le.batch(()=>(n.findAll(e).forEach(s=>{s.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},s=le.batch(()=>this.#t.findAll(e).map(r=>r.cancel(n)));return Promise.all(s).then(be).catch(be)}invalidateQueries(e,t={}){return le.batch(()=>(this.#t.findAll(e).forEach(n=>{n.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},s=le.batch(()=>this.#t.findAll(e).filter(r=>!r.isDisabled()).map(r=>{let i=r.fetch(void 0,n);return n.throwOnError||(i=i.catch(be)),r.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(s).then(be)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=this.#t.build(this,t);return n.isStaleByTime(St(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(be).catch(be)}fetchInfiniteQuery(e){return e.behavior=hi(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(be).catch(be)}ensureInfiniteQueryData(e){return e.behavior=hi(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return An.isOnline()?this.#e.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#t}getMutationCache(){return this.#e}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#s.set(Jt(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#s.values()],n={};return t.forEach(s=>{qt(e,s.queryKey)&&Object.assign(n,s.defaultOptions)}),n}setMutationDefaults(e,t){this.#r.set(Jt(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#r.values()],n={};return t.forEach(s=>{qt(e,s.mutationKey)&&Object.assign(n,s.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Ws(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Qs&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#t.clear(),this.#e.clear()}},gp=class extends tn{constructor(e,t){super(),this.options=t,this.#t=e,this.#i=null,this.#o=As(),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;#s=void 0;#r;#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),gi(this.#e,this.options)?this.#u():this.updateResult(),this.#_())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Os(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Os(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 Se(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&&!Is(this.options,t)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const s=this.hasListeners();s&&yi(this.#e,n,this.options,t)&&this.#u(),this.updateResult(),s&&(this.#e!==n||Se(this.options.enabled,this.#e)!==Se(t.enabled,this.#e)||St(this.options.staleTime,this.#e)!==St(t.staleTime,this.#e))&&this.#g();const r=this.#y();s&&(this.#e!==n||Se(this.options.enabled,this.#e)!==Se(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 vp(this,n)&&(this.#s=n,this.#a=this.options,this.#r=this.#e.state),n}getCurrentResult(){return this.#s}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.#s))}#u(e){this.#S();let t=this.#e.fetch(this.options,e);return e?.throwOnError||(t=t.catch(be)),t}#g(){this.#b();const e=St(this.options.staleTime,this.#e);if(dt||this.#s.isStale||!xs(e))return;const n=Lo(this.#s.dataUpdatedAt,e)+1;this.#l=setTimeout(()=>{this.#s.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,!(dt||Se(this.options.enabled,this.#e)===!1||!xs(this.#c)||this.#c===0)&&(this.#d=setInterval(()=>{(this.options.refetchIntervalInBackground||Ys.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.#s,i=this.#r,o=this.#a,l=e!==n?e.state:this.#n,{state:d}=e;let u={...d},f=!1,h;if(t._optimisticResults){const V=this.hasListeners(),z=!V&&gi(e,t),de=V&&yi(e,n,t,s);(z||de)&&(u={...u,...Go(d.data,e.options)}),t._optimisticResults==="isRestoring"&&(u.fetchStatus="idle")}let{error:w,errorUpdatedAt:S,status:p}=u;h=u.data;let y=!1;if(t.placeholderData!==void 0&&h===void 0&&p==="pending"){let V;r?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(V=r.data,y=!0):V=typeof t.placeholderData=="function"?t.placeholderData(this.#p?.state.data,this.#p):t.placeholderData,V!==void 0&&(p="success",h=Rs(r?.data,V,t),f=!0)}if(t.select&&h!==void 0&&!y)if(r&&h===i?.data&&t.select===this.#m)h=this.#f;else try{this.#m=t.select,h=t.select(h),h=Rs(r?.data,h,t),this.#f=h,this.#i=null}catch(V){this.#i=V}this.#i&&(w=this.#i,h=this.#f,S=Date.now(),p="error");const x=u.fetchStatus==="fetching",I=p==="pending",J=p==="error",G=I&&x,ae=h!==void 0,N={status:p,fetchStatus:u.fetchStatus,isPending:I,isSuccess:p==="success",isError:J,isInitialLoading:G,isLoading:G,data:h,dataUpdatedAt:u.dataUpdatedAt,error:w,errorUpdatedAt:S,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:x,isRefetching:x&&!I,isLoadingError:J&&!ae,isPaused:u.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:J&&ae,isStale:Xs(e,t),refetch:this.refetch,promise:this.#o};if(this.options.experimental_prefetchInRender){const V=me=>{N.status==="error"?me.reject(N.error):N.data!==void 0&&me.resolve(N.data)},z=()=>{const me=this.#o=N.promise=As();V(me)},de=this.#o;switch(de.status){case"pending":e.queryHash===n.queryHash&&V(de);break;case"fulfilled":(N.status==="error"||N.data!==de.value)&&z();break;case"rejected":(N.status!=="error"||N.error!==de.reason)&&z();break}}return N}updateResult(){const e=this.#s,t=this.createResult(this.#e,this.options);if(this.#r=this.#e.state,this.#a=this.options,this.#r.data!==void 0&&(this.#p=this.#e),Is(t,e))return;this.#s=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.#s).some(o=>{const c=o;return this.#s[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){le.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#s)}),this.#t.getQueryCache().notify({query:this.#e,type:"observerResultsUpdated"})})}};function yp(e,t){return Se(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function gi(e,t){return yp(e,t)||e.state.data!==void 0&&Os(e,t,t.refetchOnMount)}function Os(e,t,n){if(Se(t.enabled,e)!==!1){const s=typeof n=="function"?n(e):n;return s==="always"||s!==!1&&Xs(e,t)}return!1}function yi(e,t,n,s){return(e!==t||Se(s.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&Xs(e,n)}function Xs(e,t){return Se(t.enabled,e)!==!1&&e.isStaleByTime(St(t.staleTime,e))}function vp(e,t){return!Is(e.getCurrentResult(),t)}var Js=E.createContext(void 0),_p=e=>{const t=E.useContext(Js);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},zm=({client:e,children:t})=>(E.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),Le.jsx(Js.Provider,{value:e,children:t})),Zo=E.createContext(!1),bp=()=>E.useContext(Zo);Zo.Provider;function wp(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Sp=E.createContext(wp()),kp=()=>E.useContext(Sp);function Tp(e,t){return typeof e=="function"?e(...t):!!e}function vi(){}var Ep=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},xp=e=>{E.useEffect(()=>{e.clearReset()},[e])},Ip=({result:e,errorResetBoundary:t,throwOnError:n,query:s,suspense:r})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(r&&e.data===void 0||Tp(n,[e.error,s])),Cp=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)))},Rp=(e,t)=>e.isLoading&&e.isFetching&&!t,Ap=(e,t)=>e?.suspense&&t.isPending,_i=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Op(e,t,n){const s=_p(n),r=bp(),i=kp(),o=s.defaultQueryOptions(e);s.getDefaultOptions().queries?._experimental_beforeQuery?.(o),o._optimisticResults=r?"isRestoring":"optimistic",Cp(o),Ep(o,i),xp(i);const c=!s.getQueryCache().get(o.queryHash),[l]=E.useState(()=>new t(s,o)),d=l.getOptimisticResult(o),u=!r&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(f=>{const h=u?l.subscribe(le.batchCalls(f)):vi;return l.updateResult(),h},[l,u]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),E.useEffect(()=>{l.setOptions(o)},[o,l]),Ap(o,d))throw _i(o,l,i);if(Ip({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&&!dt&&Rp(d,r)&&(c?_i(o,l,i):s.getQueryCache().get(o.queryHash)?.promise)?.catch(vi).finally(()=>{l.updateResult()}),o.notifyOnChangeProps?d:l.trackResult(d)}function Ho(e,t){return Op(e,gp,t)}/**
|
|
29
|
+
* @license lucide-react v0.507.0 - ISC
|
|
30
|
+
*
|
|
31
|
+
* This source code is licensed under the ISC license.
|
|
32
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
33
|
+
*/const Pp=[["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"}]],os=On("command",Pp);/**
|
|
34
|
+
* @license lucide-react v0.507.0 - ISC
|
|
35
|
+
*
|
|
36
|
+
* This source code is licensed under the ISC license.
|
|
37
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38
|
+
*/const Dp=[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]],bi=On("corner-down-left",Dp);/**
|
|
39
|
+
* @license lucide-react v0.507.0 - ISC
|
|
40
|
+
*
|
|
41
|
+
* This source code is licensed under the ISC license.
|
|
42
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
43
|
+
*/const Mp=[["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"}]],Km=On("mic",Mp);/**
|
|
44
|
+
* @license lucide-react v0.507.0 - ISC
|
|
45
|
+
*
|
|
46
|
+
* This source code is licensed under the ISC license.
|
|
47
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
48
|
+
*/const Lp=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Wm=On("square",Lp);class Vo extends Error{status;constructor(t,n){super(n),this.name="TranscriptionRequestError",this.status=t}}function Qm(e){const t=e instanceof Vo?e.status:null;if(t===402)return Bp;if(t===401||t===403)return wi;const n=e instanceof Error?e.message:"",s=zo(n);if(s==="")return Zp;if(Vp.test(s)){const o=qp(s),c=eh(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}.`:Gp}if(zp.test(s))return wi;const r=Np(th(s)),i=r.endsWith("…")?" ":". ";return`Dictation failed: ${r.replace(Fp,"")}${i}${Hp}`}function Np(e){const[t]=jp.exec(e)??[];return t===void 0||t.length<2||$p.test(t.slice(1))||!Up.test(t)?e:e[0].toLowerCase()+e.slice(1)}const jp=/^[\p{L}\p{N}'’-]+/u,$p=/[\p{Lu}\p{N}]/u,Up=new RegExp("^\\p{Lu}","u"),Fp=/\.$/,Bp="Dictation failed: you're out of Radient credits. Get more credits, then try again.",wi="Dictation failed: your Radient sign-in was refused. Sign in to Radient, then try again.",Gp="Dictation failed: the account behind dictation is out of credits. If it's yours, top it up.",Zp="Dictation failed: the server gave no reason. Try again, or report it with the app's log.",Hp="Try again, or report it with the app's log.",Vp=/insufficient_quota|insufficient funds|no credits remaining|exceeded your current quota|out of credits|billing (?:hard )?limit|credit balance is too low/i,zp=/unauthorized|invalid[ _-]?api[ _-]?key|incorrect api key|no api key|authentication|permission denied|forbidden/i,Kp=/^([A-Za-z][A-Za-z0-9&.+_-]*(?: [A-Za-z][A-Za-z0-9&.+_-]*){0,2}) API error\b/,Wp=/\bhttps?:\/\/[^\s"'<>),]+/,Qp=/^https?:\/\//,Yp=/[.,;:]+$/,Xp=40,Si=80,Jp=40;function zo(e){return e.replace(/\s+/g," ").trim()}function qp(e){return Kp.exec(e)?.[1]??null}function eh(e){const t=Wp.exec(e)?.[0];if(t===void 0)return null;const n=t.replace(Qp,"").replace(Yp,"");return n===""||n.length>Xp?null:n}function th(e){const t=sh(e);if(t!==null)return ki(zo(t));const n=e.replace(nh,"").trim();return ki(n===""?e:n)}const nh=/^(?:GET|POST|PUT|PATCH|DELETE|HEAD)\s+\S+\s+returned\s+\d{3}\s*/i;function sh(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 ki(e){if(e.length<=Si)return e;const t=e.slice(0,Si),n=t.lastIndexOf(" ");return`${(n>Jp?t.slice(0,n):t).trimEnd()}…`}const Ym="No words were picked up. Try again a little closer to the microphone.",Xm={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 Vo(r.status,xl(r).message);return r.body}},rh=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")}),ih={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 oh(){try{const e={};for(const[t,n]of Object.entries(ih))t.startsWith("VITE_")&&(e[t]=String(n));return rh.parse(e)}catch(e){if(e instanceof ve){const t=e.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(`
|
|
49
|
+
`);throw new Error(`Configuration validation failed:
|
|
50
|
+
${t}`)}throw new Error(`Failed to load configuration: ${e instanceof Error?e.message:String(e)}`)}}const as=oh();let Ko=null;function Jm(e){Ko=e}const qm={get baseUrl(){return Ko??as.VITE_LOCAL_OPERATOR_API_URL},radientBaseUrl:as.VITE_RADIENT_SERVER_BASE_URL,radientClientId:as.VITE_RADIENT_CLIENT_ID};function eg(e){return e!=="detached"&&e!=="wedged"}function Wo(e){return e!=="governed-elsewhere"&&e!=="pre-handshake"}function tg(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=Wo(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 ah(e){if(Sl(e))return"deadline";const t=e instanceof X?e.status:null;return t===null||t===503?"unreachable":t===401||t===403?"unauthorized":t===404?"outdated":"unknown"}const Qo={unreachable:"",deadline:"",unauthorized:"",outdated:"Update the server and try again.",unknown:""},Ps={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 ch(e,t){const n=ah(t);return[e,Ps[n],Qo[n]].filter(Boolean).join(" ")}const Ds={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."},lh={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 ng(e,t){return e!=="unpaired"?null:lh[t??"unpaired"]}function sg(e,t){return e!=="unpaired"?null:Ds[t??"unpaired"]}function rg(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 ig(e){const{kind:t,unpaired:n,missing:s,answered:r,cause:i=null}=e;if(i!==null)return Ds[i];if(!r){if(t==="unreachable")return`${Ps.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`${Ps.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. ${Qo.outdated}`}return n?Ds.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 dh=["auth","settings","commands","catalogues","lifecycle","mcp","radient"];function og(e,t=null){return t!==null||!e?!0:dh.filter(s=>(e.features?.[s]??0)<1).length>0||e.desktop_available!==!0}function uh(e,t){return t instanceof X&&t.status===null?!1:e<1}const fh={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 ag(e,t,n){return e===null?{sentence:ch(t,n),remedy:!0}:{sentence:fh[e],remedy:Wo(e)}}const ph=()=>{const e=E.useContext(Js)??null,t=E.useMemo(()=>new mp({defaultOptions:{queries:{enabled:!1,retry:!1}}}),[]);return E.useMemo(()=>e?{client:e,provided:!0}:{client:t,provided:!1},[e,t])},Yo={capabilities:["desktop","capabilities"],providers:["desktop","auth","providers"],commands:["desktop","commands"],accounts:["desktop","auth","accounts"],catalogue:["desktop","models"],credentials:e=>["desktop","credentials",e]},hh=3e4,mh=15e3;function gh(e){return e?.desktop_available===!0}function cg(){const{client:e,provided:t}=ph();return Ho({enabled:t,queryKey:Yo.capabilities,queryFn:async()=>{try{return await ce({op:"capabilities"})}catch(n){throw n instanceof Error?n:new Error(String(n))}},staleTime:6e4,retry:!1,refetchInterval:n=>gh(n.state.data)?hh:mh,refetchIntervalInBackground:!0},e)}function yh(e,t,n=1){return e?e.desktop_available?(e.features?.[t]??0)>=n?"enabled":"below-version":"unpaired":"unknown"}function lg(e,t,n=1){return yh(e,t,n)==="enabled"}function dg(e){return Ho({queryKey:Yo.providers,queryFn:()=>ce({op:"providers.list"}).then(t=>t.providers),enabled:e,staleTime:3e4,retry:uh})}const vh=12,_h="inline-flex h-5 min-w-5 items-center justify-center rounded-xs px-1 font-mono text-ink-dim text-mono-sm",bh="inline-flex items-center gap-0",wh={"⌘":os,cmd:os,command:os,enter:bi,"↵":bi},ug=({shortcut:e,joined:t=!1})=>{const n=e.split("+").map(s=>s.trim());return Le.jsx("span",{className:bh,children:n.map((s,r)=>{const i=wh[s.toLowerCase()];return Le.jsxs(E.Fragment,{children:[r>0&&!t&&Le.jsx("span",{"aria-hidden":"true",className:"text-mono-sm text-ink-dim",children:"+"}),Le.jsx("kbd",{className:_h,children:i?Le.jsxs(Le.Fragment,{children:[Le.jsx(i,{size:vh,"aria-hidden":"true"}),Le.jsx("span",{className:"sr-only",children:s})]}):s})]},`${s}-${r}`)})})},fg="primary+alt+shift+space",Sh=/^f([1-9]|1[0-9]|2[0-4])$/;function kh(e){return Sh.test(e)}function Xo(e,t){const n=Th(e,t);return t==="mac"?n.join(""):n.join("+")}function Th(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]:kh(i)||i.length===1?i.toUpperCase():i)}const pg="Error accessing microphone. Please ensure microphone permissions are granted.",hg="Dictation is not available on this device.",mg={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."},gg="If the chord does nothing, another app or the system owns it — choose another.",yg="Works even when the app isn't focused.",vg="A global shortcut needs a modifier — it would otherwise fire while you type.";function _g(e){const t=n=>Xo(n,e);return`Try ${t("primary+shift+space")} or ${t("primary+f8")} if that one is taken.`}function bg(e,t){const n=r=>Xo(r,t);switch(e.split("+").map(r=>r.trim().toLowerCase()).filter(Boolean).sort().join("+")){case"alt+primary+space":return Eh(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 Eh(e,t,n){return e==="mac"?t:n}function wg(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 Sg(){try{return window.api?.windowChrome?.facts?.().platform??"linux"}catch{return"linux"}}var xh=(e=>(e[e.MESSAGE_INPUT=1]="MESSAGE_INPUT",e[e.INLINE_EDIT=2]="INLINE_EDIT",e))(xh||{});const Ih=/Mac|iPhone|iPad/,Ch={darwin:{alt:"Option",meta:"Command",ctrl:"Control"},win32:{alt:"Command",meta:"Win",ctrl:"Control"},other:{alt:"Command",meta:"Super",ctrl:"Control"}},Rh=()=>{const e=typeof navigator>"u"?"":navigator.platform??"";return Ih.test(e)?"darwin":/Win/i.test(e)?"win32":"other"},Ah=(e,t,n)=>`${e==="alt"?n==="darwin"?"Alt":"Meta":e==="meta"?"Meta":"Control"}${t==="left"?"Left":"Right"}`,Jo=e=>{if(typeof e!="string")return null;const t=/^(alt|meta|ctrl)-(left|right)-hold$/.exec(e.trim().toLowerCase());if(!t)return null;const n=Rh(),[,s,r]=t;return{code:Ah(s,r,n),label:`${r==="left"?"Left":"Right"}-${Ch[n][s]}`}},Oh=()=>Jo("alt-right-hold");let qo=null;const Ti=()=>qo??Oh();let Rt=null;const Ph=async()=>Rt||(Rt=(async()=>{try{const t=(await ce({op:"settings.list"})).settings.find(n=>n.key==="keymap.push_to_talk");qo=Jo(t?.value)}catch{}finally{Rt=null}})(),Rt),Ms=new Set,kg=(e,t)=>{t?Ms.add(e):Ms.delete(e)},Tg=()=>Ms.size>0;class Dh{handlers=new Map;isListening=!1;engaged=null;register(t,n,s,r){this.handlers.set(t,{id:t,priority:n,handler:s,isActive:r}),Ph(),this.setupListener()}unregister(t){if(this.handlers.delete(t),this.engaged?.id===t){const{handler:n}=this.engaged;this.engaged=null;try{n.stop("abort")}catch{}}this.handlers.size===0&&this.removeListener()}handleSpeechToText=()=>{const t=this.highestActive();t&&t.handler.start()};spaceFocusGuardRefuses(){const t=document.activeElement;return!!(t&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable))}highestActive(){return Array.from(this.handlers.values()).filter(n=>n.isActive()).sort((n,s)=>s.priority-n.priority)[0]??null}engage(t){const n=this.highestActive();n&&(t.preventDefault(),this.engaged={id:n.id,handler:n.handler},n.handler.start())}releaseHold(t){const n=this.engaged;n&&(this.engaged=null,n.handler.stop(t))}handleKeyDown=t=>{if(t.isComposing)return;const n=Ti(),s=t.code===n.code,r=t.code==="Space";if(!(t.repeat&&(s||r))){if(s){this.engaged||this.engage(t);return}if(this.engaged){t.key==="Escape"&&t.preventDefault(),this.releaseHold("abort");return}if(r){if(this.spaceFocusGuardRefuses())return;this.engage(t)}}};handleKeyUp=t=>{if(!this.engaged)return;const n=Ti();(t.code===n.code||t.code==="Space")&&(t.preventDefault(),this.releaseHold("release"))};handleWindowBlur=()=>{this.releaseHold("release")};setupListener(){this.isListening||(window.electron.ipcRenderer.on("start-speech-to-text",this.handleSpeechToText),window.addEventListener("keydown",this.handleKeyDown,!0),window.addEventListener("keyup",this.handleKeyUp),window.addEventListener("blur",this.handleWindowBlur),this.isListening=!0)}removeListener(){if(this.isListening&&(window.electron.ipcRenderer.removeListener("start-speech-to-text",this.handleSpeechToText),window.removeEventListener("keydown",this.handleKeyDown,!0),window.removeEventListener("keyup",this.handleKeyUp),window.removeEventListener("blur",this.handleWindowBlur),this.isListening=!1),this.engaged){const{handler:t}=this.engaged;this.engaged=null;try{t.stop("abort")}catch{}}}}const Ei=new Dh,Eg=(e,t,n,s)=>{const r=E.useRef(n),i=E.useRef(s);r.current=n,i.current=s;const o=E.useRef({start:()=>r.current.start(),stop:l=>r.current.stop(l)}),c=E.useCallback(()=>i.current(),[]);E.useEffect(()=>(Ei.register(e,t,o.current,c),()=>{Ei.unregister(e)}),[e,t,c])};function xg(e){const t=e.trim();if(t.startsWith("="))return null;const n=t.toLowerCase();return n==="pause"||n==="resume"||n==="status"?n:null}function Ig(e){const t=e.trim();return t.startsWith("=")?t.slice(1).trimStart():t}function Cg(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 Rg(e){return Mn(e,"Aida's controls could not reach the backend.")}const Ag="The chief of staff is switched off on this install.";export{Rp as $,Ag as A,$h as B,uh as C,X as D,Ac as E,Oc as F,Pc as G,Dc as H,yh as I,Mc as J,ug as K,tn as L,pg as M,le as N,No as O,vr as P,gp as Q,bp as R,ye as S,Xm as T,kp as U,Cp as V,Ep as W,xp as X,vi as Y,Ap as Z,_i as _,_p as a,ph as a$,Ip as a0,Tr as a1,Uh as a2,Fh as a3,Ae as a4,Yl as a5,Nf as a6,ag as a7,Qe as a8,Vh as a9,zc as aA,kf as aB,Wi as aC,Il as aD,vm as aE,ym as aF,_m as aG,Em as aH,Tm as aI,Sm as aJ,bt as aK,Xh as aL,zh as aM,Yh as aN,Qh as aO,Zh as aP,fm as aQ,pm as aR,dm as aS,cm as aT,Qi as aU,om as aV,gc as aW,yc as aX,vc as aY,no as aZ,cr as a_,Sc as aa,Om as ab,Is as ac,Jt as ad,fp as ae,Tp as af,Kh as ag,El as ah,xl as ai,as as aj,Jm as ak,eg as al,Bh as am,ar as an,ml as ao,Gh as ap,_c as aq,Yo as ar,Tu as as,Im as at,Cm as au,xm as av,bo as aw,bu as ax,Fs as ay,we as az,Ho as b,Cg as b$,Wh as b0,bg as b1,vg as b2,kh as b3,Xo as b4,yg as b5,wg as b6,gg as b7,_g as b8,ed as b9,wm as bA,Fi as bB,Um as bC,Ym as bD,jm as bE,$m as bF,Ti as bG,ir as bH,js as bI,Ui as bJ,dh as bK,og as bL,ah as bM,ig as bN,rg as bO,Hh as bP,hc as bQ,mc as bR,Gf as bS,Bf as bT,oi as bU,Lf as bV,Po as bW,ai as bX,jh as bY,tg as bZ,xg as b_,im as ba,um as bb,lm as bc,em as bd,tm as be,Nl as bf,sm as bg,nm as bh,am as bi,rm as bj,hm as bk,Rm as bl,Am as bm,Ze as bn,Pt as bo,Us as bp,$s as bq,hs as br,qh as bs,Jh as bt,mp as bu,Vm as bv,Sl as bw,bm as bx,_o as by,Xn as bz,He as c,Rg as c0,Ig as c1,mm as c2,gm as c3,$n as c4,xf as c5,Wo as c6,ng as c7,Ks as c8,Lm as c9,Pm as ca,km as cb,Ao as cc,Af as cd,jn as ce,Gm as cf,Zm as cg,Dm as ch,Mm as ci,xo as cj,Ro as ck,wf as cl,ii as cm,Nm as cn,Tg as co,Bm as cp,cp as cq,zm as cr,lg as d,ce as e,dg as f,sg as g,hg as h,qm as i,fg as j,mg as k,Hm as l,If as m,kg as n,Eg as o,Fm as p,xh as q,Sg as r,Ef as s,Qm as t,cg as u,Th as v,Wm as w,Km as x,ch as y,Mn as z};
|