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