local-operator-ui 0.31.25 → 0.31.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/out/main/index.js +173 -4
  2. package/out/renderer/assets/{_basePickBy-DtOJmAXM.js → _basePickBy-oM-LmypH.js} +1 -1
  3. package/out/renderer/assets/{_baseUniq-D4Ilp27b.js → _baseUniq-CfyEpPZd.js} +1 -1
  4. package/out/renderer/assets/{agent-details-page-Bh4K8Iwb.js → agent-details-page-DIBks4X5.js} +1 -1
  5. package/out/renderer/assets/{agent-hub-page-CkRKlRVv.js → agent-hub-page-oV4gEqC4.js} +2 -2
  6. package/out/renderer/assets/agents-page-CZrNPorc.js +7 -0
  7. package/out/renderer/assets/aida-control-CQx1CGx-.js +50 -0
  8. package/out/renderer/assets/{arc-1vBZU1-K.js → arc-DXJiD7SC.js} +1 -1
  9. package/out/renderer/assets/{architectureDiagram-IEHRJDOE-DRP5N9mU.js → architectureDiagram-IEHRJDOE-VHM5BLyo.js} +1 -1
  10. package/out/renderer/assets/{blockDiagram-JOT3LUYC-ctI5tO48.js → blockDiagram-JOT3LUYC-Cn1dvDZU.js} +1 -1
  11. package/out/renderer/assets/{book-open-CFXGmNLm.js → book-open-P6KBj9Du.js} +1 -1
  12. package/out/renderer/assets/browser-page-D6eiItUp.js +1 -0
  13. package/out/renderer/assets/{browser-webauthn-prompt-BuK5zreB.js → browser-webauthn-prompt-CByfVm08.js} +1 -1
  14. package/out/renderer/assets/{c4Diagram-VJAJSXHY-l-ND7xp_.js → c4Diagram-VJAJSXHY-B8F1XGHT.js} +1 -1
  15. package/out/renderer/assets/channel-DZQWNfux.js +1 -0
  16. package/out/renderer/assets/{chunk-4BMEZGHF-6Y8cTvPc.js → chunk-4BMEZGHF-CVoXO2u6.js} +1 -1
  17. package/out/renderer/assets/{chunk-A2AXSNBT-BgaFZM8u.js → chunk-A2AXSNBT-LFo0s6P7.js} +1 -1
  18. package/out/renderer/assets/{chunk-AEK57VVT-BH1nrUJX.js → chunk-AEK57VVT-B8s36YJo.js} +1 -1
  19. package/out/renderer/assets/{chunk-D6G4REZN-CUFL14Pn.js → chunk-D6G4REZN-BKkRpyOx.js} +1 -1
  20. package/out/renderer/assets/{chunk-RZ5BOZE2-b6xH254o.js → chunk-RZ5BOZE2-qoB87AlE.js} +1 -1
  21. package/out/renderer/assets/{chunk-XZIHB7SX-LJ4OJrLS.js → chunk-XZIHB7SX-BACgoEDe.js} +1 -1
  22. package/out/renderer/assets/classDiagram-GIVACNV2-jw9F6ZK-.js +1 -0
  23. package/out/renderer/assets/classDiagram-v2-COTLJTTW-jw9F6ZK-.js +1 -0
  24. package/out/renderer/assets/clone-DzWAH3PE.js +1 -0
  25. package/out/renderer/assets/{console-mirror-CFCrcGWO.js → console-mirror-fXJ5fMxl.js} +1 -1
  26. package/out/renderer/assets/{consoleCapture-CjKcWy4E.js → consoleCapture-Df4uIOqu.js} +1 -1
  27. package/out/renderer/assets/{dagre-OKDRZEBW-DXHKHLnU.js → dagre-OKDRZEBW-CLMw1D7m.js} +1 -1
  28. package/out/renderer/assets/{diagram-SSKATNLV-UKgq2fbv.js → diagram-SSKATNLV-plMydQ5N.js} +1 -1
  29. package/out/renderer/assets/{diagram-VNBRO52H-BabJ1Nlz.js → diagram-VNBRO52H-BptPse7H.js} +1 -1
  30. package/out/renderer/assets/{erDiagram-Q7BY3M3F-Sw0hlfoT.js → erDiagram-Q7BY3M3F-CGjlhqbg.js} +1 -1
  31. package/out/renderer/assets/{error-boundary-C0hpzM--.js → error-boundary-D3Um1PIl.js} +1 -1
  32. package/out/renderer/assets/{flowDiagram-4HSFHLVR-DXjBuAqj.js → flowDiagram-4HSFHLVR-rb1I18B8.js} +1 -1
  33. package/out/renderer/assets/{ganttDiagram-APWFNJXF-Cq2SPDKE.js → ganttDiagram-APWFNJXF-D-bSpERZ.js} +3 -3
  34. package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-ChKKsHx5.js → gitGraphDiagram-7IBYFJ6S-DDJQIXgd.js} +1 -1
  35. package/out/renderer/assets/{graph-BAUmW-50.js → graph-BkNT14na.js} +1 -1
  36. package/out/renderer/assets/index-2qmFWi_F.css +1 -0
  37. package/out/renderer/assets/{index-ChmxCHh1.js → index-BXamXVGw.js} +1 -1
  38. package/out/renderer/assets/{index-qyhLiyUA.js → index-D3ICBbhi.js} +525 -416
  39. package/out/renderer/assets/{index-CFuQcv73.js → index-DHcQTmYa.js} +1 -1
  40. package/out/renderer/assets/index-DuUnXH9L.css +1 -0
  41. package/out/renderer/assets/{index-B0XQElRx.js → index-_dbvHdgc.js} +9 -9
  42. package/out/renderer/assets/infoDiagram-PH2N3AL5-Bg2dnJEw.js +2 -0
  43. package/out/renderer/assets/{installer-C3EF84m2.js → installer-D-IQpqXR.js} +1 -1
  44. package/out/renderer/assets/{journeyDiagram-U35MCT3I-DWuX3DW-.js → journeyDiagram-U35MCT3I-B5bji5kb.js} +1 -1
  45. package/out/renderer/assets/{kanban-definition-NDS4AKOZ-DOXDVLfH.js → kanban-definition-NDS4AKOZ-BGi8PMEB.js} +1 -1
  46. package/out/renderer/assets/{layout-DHD837Ua.js → layout-D3rwe0Wt.js} +1 -1
  47. package/out/renderer/assets/{legacy-agents-page-C8_h-8Wq.js → legacy-agents-page-DnpWTuf8.js} +4 -4
  48. package/out/renderer/assets/{mermaid.core-BxuSu0Fy.js → mermaid.core-CHiYins7.js} +5 -5
  49. package/out/renderer/assets/mesh-page-B2_ZtHTQ.js +1 -0
  50. package/out/renderer/assets/{mindmap-definition-ALO5MXBD-BWCb1yuZ.js → mindmap-definition-ALO5MXBD-BwO55Ck2.js} +1 -1
  51. package/out/renderer/assets/{mini-p9kRkvFx.js → mini-D7VYY0xP.js} +1 -1
  52. package/out/renderer/assets/{org-surface-gate-Bw1O5WmZ.js → org-surface-gate-Da1VmZbG.js} +1 -1
  53. package/out/renderer/assets/{page-header-CbFURe4P.js → page-header-B3kbzqCp.js} +1 -1
  54. package/out/renderer/assets/{pieDiagram-IB7DONF6-CCiaGzMI.js → pieDiagram-IB7DONF6-j0i7dQ2D.js} +1 -1
  55. package/out/renderer/assets/{projects-page-t99csL0v.js → projects-page-f-tkHojn.js} +14 -14
  56. package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-_eUAPvOV.js → quadrantDiagram-7GDLP6J5-BZkLgvoE.js} +1 -1
  57. package/out/renderer/assets/{radar-MK3ICKWK-CoWAOtlW.js → radar-MK3ICKWK-QB0E4nFC.js} +1 -1
  58. package/out/renderer/assets/{radient-auth-buttons-CIoFcpsP.js → radient-auth-buttons-2wnsv7f6.js} +1 -1
  59. package/out/renderer/assets/{requirementDiagram-KVF5MWMF-DsKtTFMa.js → requirementDiagram-KVF5MWMF-Cb1rqfe3.js} +1 -1
  60. package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-D_3HMjNJ.js → sankeyDiagram-QLVOVGJD-ST_5m9Zy.js} +1 -1
  61. package/out/renderer/assets/{schedules-page-DgLrBBeE.js → schedules-page-DnHKOQij.js} +10 -10
  62. package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-BjrJomG7.js → sequenceDiagram-X6HHIX6F-Bh-yCDC0.js} +1 -1
  63. package/out/renderer/assets/{settings-page-DCTtjWIR.js → settings-page-D1dF4GZE.js} +11 -11
  64. package/out/renderer/assets/{settings-section-BNMsDc1y.js → settings-section-C9etJXA9.js} +1 -1
  65. package/out/renderer/assets/{stateDiagram-DGXRK772-C1qHybrk.js → stateDiagram-DGXRK772-D6MGh56o.js} +1 -1
  66. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Dvv5Bcoz.js +1 -0
  67. package/out/renderer/assets/{textarea-B1SvaviK.js → textarea-DeXGhzIK.js} +2 -2
  68. package/out/renderer/assets/{timeline-definition-BDJGKUSR-CesgQJz2.js → timeline-definition-BDJGKUSR-pgK_gxyk.js} +1 -1
  69. package/out/renderer/assets/ui-preferences-store-BLiDaCIL.js +1 -0
  70. package/out/renderer/assets/{use-download-agent-mutation-CLAqbNgy.js → use-download-agent-mutation-CXw_g4Rv.js} +3 -3
  71. package/out/renderer/assets/{use-memberships-query-C4q_o12A.js → use-memberships-query-BGPQ6jDl.js} +1 -1
  72. package/out/renderer/assets/{xychartDiagram-VJFVF3MP-BF-M8M-D.js → xychartDiagram-VJFVF3MP-CYYxIZAM.js} +1 -1
  73. package/out/renderer/console-capture.html +5 -5
  74. package/out/renderer/index.html +9 -9
  75. package/out/renderer/installer.html +5 -5
  76. package/out/renderer/mini.html +6 -6
  77. package/package.json +3 -3
  78. package/out/renderer/assets/agents-page-vEQhOUdl.js +0 -7
  79. package/out/renderer/assets/aida-control-CbUlbi35.js +0 -50
  80. package/out/renderer/assets/browser-page-D4WeldyV.js +0 -1
  81. package/out/renderer/assets/channel-DGKS_wLD.js +0 -1
  82. package/out/renderer/assets/classDiagram-GIVACNV2-BEQUGws4.js +0 -1
  83. package/out/renderer/assets/classDiagram-v2-COTLJTTW-BEQUGws4.js +0 -1
  84. package/out/renderer/assets/clone-CRiQHx8U.js +0 -1
  85. package/out/renderer/assets/index-BAIw_wBx.css +0 -1
  86. package/out/renderer/assets/index-CSPo12AE.css +0 -1
  87. package/out/renderer/assets/infoDiagram-PH2N3AL5-DiBBd_87.js +0 -2
  88. package/out/renderer/assets/mesh-page-BfktlCxW.js +0 -2
  89. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-CThxNf1C.js +0 -1
  90. package/out/renderer/assets/ui-preferences-store-OD43KVN4.js +0 -1
@@ -0,0 +1,50 @@
1
+ import{c as $s,p as Ri}from"./ui-preferences-store-BLiDaCIL.js";import{r as I,j as Ue}from"./index-_dbvHdgc.js";import{c as Mn}from"./textarea-DeXGhzIK.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 us;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(us||(us={}));const b=G.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ge=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"]),pa=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 xt=(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 Ai=xt;function ha(e){Ai=e}function kn(){return Ai}const Tn=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}},ma=[];function g(e,t){const n=kn(),s=Tn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===xt?void 0:xt].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}),fs=e=>e.status==="aborted",ps=e=>e.status==="dirty",lt=e=>e.status==="valid",Gt=e=>typeof Promise<"u"&&e instanceof Promise;function En(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 Oi(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 Ne{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 ir=(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 Ge(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Ge(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:Ge(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:Ge(t)},i=this._parseSync({data:t,path:r.path,parent:r});return ir(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:Ge(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:Ge(t)},r=this._parse({data:t,path:s.path,parent:s}),i=await(Gt(r)?r:Promise.resolve(r));return ir(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 Ce({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 Le.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 Ce({...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 Us({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 ga=/^c[^\s-]{8,}$/i,ya=/^[0-9a-z]+$/,va=/^[0-9A-HJKMNP-TV-Z]{26}$/i,_a=/^[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,ba=/^[a-z0-9_-]{21}$/i,wa=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Sa=/^[-+]?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)?)??$/,ka=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ta="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Kn;const Ea=/^(?:(?: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])$/,Ia=/^(?:(?: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])$/,xa=/^(([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]))$/,Ca=/^(([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])$/,Ra=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Aa=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pi="((\\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])))",Oa=new RegExp(`^${Pi}$`);function Di(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 Pa(e){return new RegExp(`^${Di(e)}$`)}function Mi(e){let t=`${Pi}T${Di(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 Da(e,t){return!!((t==="v4"||!t)&&Ea.test(e)||(t==="v6"||!t)&&xa.test(e))}function Ma(e,t){if(!wa.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 La(e,t){return!!((t==="v4"||!t)&&Ia.test(e)||(t==="v6"||!t)&&Ca.test(e))}class Ie 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")ka.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")Kn||(Kn=new RegExp(Ta,"u")),Kn.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")_a.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")ba.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")ga.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")ya.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")va.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"?Mi(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"?Oa.test(t.data)||(r=this._getOrReturnCtx(t,r),g(r,{code:h.invalid_string,validation:"date",message:i.message}),s.dirty()):i.kind==="time"?Pa(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"?Sa.test(t.data)||(r=this._getOrReturnCtx(t,r),g(r,{validation:"duration",code:h.invalid_string,message:i.message}),s.dirty()):i.kind==="ip"?Da(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"?Ma(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"?La(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"?Ra.test(t.data)||(r=this._getOrReturnCtx(t,r),g(r,{validation:"base64",code:h.invalid_string,message:i.message}),s.dirty()):i.kind==="base64url"?Aa.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 Ie({...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 Ie({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Ie({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Ie({...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}}Ie.create=e=>{var t;return new Ie({checks:[],typeName:R.ZodString,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...D(e)})};function Na(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"?Na(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 Ye 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 Ye({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:T.toString(r)}]})}_addCheck(t){return new Ye({...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}}Ye.create=e=>{var t;return new Ye({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 In 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)}}In.create=e=>new In({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 Ne(n,o,n.path,c)))).then(o=>he.mergeArray(s,o));const i=[...n.data].map((o,c)=>r.type._parseSync(new Ne(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]=Le.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 Le?Le.create(wt(e.unwrap())):e instanceof Xe?Xe.create(wt(e.unwrap())):e instanceof je?je.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 Ne(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 Ne(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 Le;)i=i._def.innerType;n[s]=i}}),new J({...this._def,shape:()=>n})}keyof(){return Li(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 Fe=e=>e instanceof Yt?Fe(e.schema):e instanceof Ce?Fe(e.innerType()):e instanceof Qt?[e.value]:e instanceof Qe?e.options:e instanceof Xt?G.objectValues(e.enum):e instanceof Jt?Fe(e._def.innerType):e instanceof Ht?[void 0]:e instanceof Vt?[null]:e instanceof Le?[void 0,...Fe(e.unwrap())]:e instanceof Xe?[null,...Fe(e.unwrap())]:e instanceof Us||e instanceof en?Fe(e.unwrap()):e instanceof qt?Fe(e._def.innerType):[];class Ln 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=Fe(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 Ln({typeName:R.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:r,...D(s)})}}function hs(e,t){const n=Ge(e),s=Ge(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=hs(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=hs(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(fs(i)||fs(o))return A;const c=hs(i.value,o.value);return c.valid?((ps(i)||ps(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 je 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 Ne(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 je({...this._def,rest:t})}}je.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new je({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 Ne(s,c,s.path,c)),value:o._parse(new Ne(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:Ie.create(),valueType:t,typeName:R.ZodRecord,...D(n)})}}class Cn 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 Ne(s,c,s.path,[d,"key"])),value:i._parse(new Ne(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}}}}Cn.create=(e,t,n)=>new Cn({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 Ne(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 Tn({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,kn(),xt].filter(d=>!!d),issueData:{code:h.invalid_arguments,argumentsError:l}})}function r(c,l){return Tn({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,kn(),xt].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:je.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||je.create([]).rest(at.create()),returns:n||at.create(),typeName:R.ZodFunction,...D(s)})}}class Yt 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})}}Yt.create=(e,t)=>new Yt({getter:e,typeName:R.ZodLazy,...D(t)});class Qt 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}}Qt.create=(e,t)=>new Qt({value:e,typeName:R.ZodLiteral,...D(t)});function Li(e,t){return new Qe({values:e,typeName:R.ZodEnum,...D(t)})}class Qe 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(En(this,Dt)||Oi(this,Dt,new Set(this._def.values)),!En(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 Qe.create(t,{...this._def,...n})}exclude(t,n=this._def){return Qe.create(this.options.filter(s=>!t.includes(s)),{...this._def,...n})}}Dt=new WeakMap;Qe.create=Li;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(En(this,Mt)||Oi(this,Mt,new Set(G.getValidEnumValues(this._def.values))),!En(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 Ce 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)}}Ce.create=(e,t,n)=>new Ce({schema:e,typeName:R.ZodEffects,effect:t,...D(n)});Ce.createWithPreprocess=(e,t,n)=>new Ce({schema:t,effect:{type:"preprocess",transform:e},typeName:R.ZodEffects,...D(n)});class Le extends j{_parse(t){return this._getType(t)===b.undefined?ge(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Le.create=(e,t)=>new Le({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 Rn 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}}}Rn.create=e=>new Rn({typeName:R.ZodNaN,...D(e)});const ja=Symbol("zod_brand");class Us 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 or(e,t){const n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Ni(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=or(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=or(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 $a={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 Ua=(e,t={message:`Input not instance of ${e.name}`})=>Ni(n=>n instanceof e,t),ji=Ie.create,$i=We.create,Fa=Rn.create,Ba=Ye.create,Ui=Zt.create,Ga=dt.create,Za=In.create,Ha=Ht.create,Va=Vt.create,za=Ct.create,Ka=at.create,Wa=Ze.create,Ya=xn.create,Qa=xe.create,Xa=J.create,Ja=J.strictCreate,qa=zt.create,ec=Ln.create,tc=Kt.create,nc=je.create,sc=Wt.create,rc=Cn.create,ic=ut.create,oc=Tt.create,ac=Yt.create,cc=Qt.create,lc=Qe.create,dc=Xt.create,uc=Rt.create,ar=Ce.create,fc=Le.create,pc=Xe.create,hc=Ce.createWithPreprocess,mc=sn.create,gc=()=>ji().optional(),yc=()=>$i().optional(),vc=()=>Ui().optional(),_c={string:e=>Ie.create({...e,coerce:!0}),number:e=>We.create({...e,coerce:!0}),boolean:e=>Zt.create({...e,coerce:!0}),bigint:e=>Ye.create({...e,coerce:!0}),date:e=>dt.create({...e,coerce:!0})},bc=A;var a=Object.freeze({__proto__:null,defaultErrorMap:xt,setErrorMap:ha,getErrorMap:kn,makeIssue:Tn,EMPTY_PATH:ma,addIssueToContext:g,ParseStatus:he,INVALID:A,DIRTY:St,OK:ge,isAborted:fs,isDirty:ps,isValid:lt,isAsync:Gt,get util(){return G},get objectUtil(){return us},ZodParsedType:b,getParsedType:Ge,ZodType:j,datetimeRegex:Mi,ZodString:Ie,ZodNumber:We,ZodBigInt:Ye,ZodBoolean:Zt,ZodDate:dt,ZodSymbol:In,ZodUndefined:Ht,ZodNull:Vt,ZodAny:Ct,ZodUnknown:at,ZodNever:Ze,ZodVoid:xn,ZodArray:xe,ZodObject:J,ZodUnion:zt,ZodDiscriminatedUnion:Ln,ZodIntersection:Kt,ZodTuple:je,ZodRecord:Wt,ZodMap:Cn,ZodSet:ut,ZodFunction:Tt,ZodLazy:Yt,ZodLiteral:Qt,ZodEnum:Qe,ZodNativeEnum:Xt,ZodPromise:Rt,ZodEffects:Ce,ZodTransformer:Ce,ZodOptional:Le,ZodNullable:Xe,ZodDefault:Jt,ZodCatch:qt,ZodNaN:Rn,BRAND:ja,ZodBranded:Us,ZodPipeline:sn,ZodReadonly:en,custom:Ni,Schema:j,ZodSchema:j,late:$a,get ZodFirstPartyTypeKind(){return R},coerce:_c,any:za,array:Qa,bigint:Ba,boolean:Ui,date:Ga,discriminatedUnion:ec,effect:ar,enum:lc,function:oc,instanceof:Ua,intersection:tc,lazy:ac,literal:cc,map:rc,nan:Fa,nativeEnum:dc,never:Wa,null:Va,nullable:pc,number:$i,object:Xa,oboolean:vc,onumber:yc,optional:fc,ostring:gc,pipeline:mc,preprocess:hc,promise:uc,record:sc,set:ic,strictObject:Ja,string:ji,symbol:Za,transformer:ar,tuple:nc,undefined:Ha,union:qa,unknown:Ka,void:Ya,NEVER:bc,ZodIssueCode:h,quotelessJson:pa,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}$/),wc=a.string().min(1).max(4096),Wn=a.string().regex(/^[A-Za-z0-9_.:-]{1,100}$/),un=a.string().regex(/^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/),cr=a.string().regex(/^[a-f0-9]{32}$/),Yn=a.string().min(1).max(4096).regex(/^(\/|[A-Za-z]:[\\/])/),lr=/^[a-f0-9]{32}$/,W=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}$/),dr=a.object({data_b64:a.string().min(1).max(1e6),mime_type:a.enum(["image/png","image/jpeg","image/gif","image/webp"])}).strict(),ur=2e5,Sc=256,kc=100,fr=16,Tc=256,Ec=100,Ic=200,xc=1e6,Se=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:Se}).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(),pr=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(),hr=a.object({name:a.string().min(1).max(64).optional(),description:a.string().max(8e3).optional(),manager:Se.optional(),members:a.array(a.object({role:Se,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(),Cc=a.record(a.array(a.string().max(1024)).max(100)),mr=a.enum(["minutes","hours","days"]);function Rc(e){return!/^\.+$/.test(e)}const sm=e=>_n.safeParse(e).success,_n=a.string().min(1).max(128).refine(e=>[...e].every(t=>t.charCodeAt(0)>=32&&t.charCodeAt(0)!==127&&t!=="/"&&t!=="\\")).refine(Rc),gr=a.enum(["str","int","float","bool","list","dict"]),yr=a.string().max(16384),Ac=2e3,vr=a.string().min(1).max(Ac),_r=a.string().min(1).max(64),Oc=a.string().min(1).max(64),br=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(),Pc=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(),ms=128,wr=2e3,Sr=8e3,kr=64,Tr=64,Nn=e=>[...e].length,gs=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,Dc=e=>e===9||e===10||e===11||e===12||e===13||e===133,Mc=e=>e<=31||e>=127&&e<=159,Lc=e=>new RegExp("\\p{Cf}","u").test(String.fromCodePoint(e)),Nc=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},Fi=e=>{const t=[...e];let n=0,s=t.length;for(;n<s&&gs(t[n].codePointAt(0)??0);)n++;for(;s>n&&gs(t[s-1].codePointAt(0)??0);)s--;return t.slice(n,s).join("")},jc=e=>{let t="",n=!1;for(const s of e){if(gs(s.codePointAt(0)??0)){n=t.length>0;continue}n&&(t+=" ",n=!1),t+=s}return t};function $c(e){const t=Fi(e);if(!t)return"must not be empty";if(Nn(t)>ms)return`must be at most ${ms} characters`;if(/[/\\:]/.test(t))return'must not contain "/", "\\" or ":"';if(pn(t,Nc))return"must not contain Unicode bidirectional override characters";if(pn(t,Dc))return"must not contain whitespace";if(pn(t,Mc))return"must not contain control characters";if(pn(t,Lc))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 rm(e){return jc(Fi(e).normalize("NFKC").toLowerCase())}function Uc(e){return e.trim()?Nn(e)>wr?`must be at most ${wr} characters`:null:"must not be empty"}function Fc(e){return e.trim()?Nn(e)>Sr?`must be at most ${Sr} characters`:null:"must not be empty"}function Bc(e){if(e.length>Tr)return`must hold at most ${Tr} items`;for(const t of e)if(!t.trim()||Nn(t)>kr)return`must hold items of 1 to ${kr} characters`;return null}const Gc=e=>$c(e)===null,Zc=a.string().refine(Gc,{message:"That is not a name the hub can publish."}),Hc=a.string().refine(e=>Fc(e)===null,{message:"That instruction body cannot be published."}),Vc=a.string().refine(e=>Uc(e)===null,{message:"That description cannot be published."}),zc=a.array(a.string()).refine(e=>Bc(e)===null,{message:"That tool list cannot be published."}),Er=a.object({name:Zc,description:Vc,instructions:Hc,kind:a.enum(["role","specialist"]),when_to_use:a.string(),tools:zc,effort:a.string(),delegate:a.boolean(),version:a.string(),categories:a.array(a.string()),tags:a.array(a.string())}).partial().strict(),Kc=a.enum(["team","agent"]),Wc=a.string().min(1).max(64),Yc=a.string().min(1).max(256),Bi=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Xn=a.string().regex(Bi,{message:"Letters, digits, dot, underscore and dash; no spaces."}),Qc=["planning","active","qa","validation","done","paused","archived"],Ir=a.enum(Qc),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),Xc=1e3,Cr=240,Rr=80,Jc=/^[a-z0-9][a-z0-9_-]{0,23}$/;function im(e){return e?Bi.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 om(e){return Jc.test(e)?null:"Tags are 1-24 characters of lowercase letters, digits, underscore or dash."}const mn=a.enum(["agent","team"]),qc=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:Se}).strict(),a.object({op:a.literal("profiles.install"),name:Se,requestId:W}).strict(),a.object({op:a.literal("profiles.create"),name:Se,requestId:W,fields:pr.extend({description:a.string().max(8e3),instructions:a.string().min(1).max(8e3)})}).strict(),a.object({op:a.literal("profiles.update"),name:Se,requestId:W,fields:pr}).strict(),a.object({op:a.literal("hub.updates")}).strict(),a.object({op:a.literal("hub.check"),requestId:W,kind:mn.optional(),name:Se.optional()}).strict(),a.object({op:a.literal("hub.apply"),requestId:W,kind:mn,name:Se,prefer:a.enum(["local","remote"]).optional(),acknowledgeUnknownBaseline:a.boolean().optional(),dryRun:a.boolean().optional()}).strict(),a.object({op:a.literal("hub.applyAll"),requestId:W,kind:mn.optional()}).strict(),a.object({op:a.literal("hub.retry"),requestId:W,kind:mn,name:Se}).strict(),a.object({op:a.literal("teams.list")}).strict(),a.object({op:a.literal("teams.get"),name:Se}).strict(),a.object({op:a.literal("teams.create"),requestId:W,fields:hr.extend({name:a.string().min(1).max(64)})}).strict(),a.object({op:a.literal("teams.update"),name:Se,requestId:W,fields:hr}).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:Kc.optional(),scope_name:Wc.optional(),cursor:Yc.optional(),with_counts:a.boolean().optional()}).strict(),a.object({op:a.literal("sessions.search"),q:a.string().min(1).max(Sc),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:W,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:W,cwd:a.string().min(1).max(4096),target:fn.optional(),model:Qn.optional()}).strict(),a.object({op:a.literal("sessions.draft"),requestId:W,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(fr).optional(),limit:a.number().int().min(1).max(fr).optional()}).strict(),a.object({op:a.literal("sessions.find"),sessionId:C,q:a.string().min(1).max(Tc),limit:a.number().int().min(1).max(Ic).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:W,text:a.string().max(ur),images:a.array(dr).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:W,command:a.string().regex(/^\/?[A-Za-z]+$/).max(64),args:a.string().max(ur).optional(),images:a.array(dr).max(8).optional()}).strict(),a.object({op:a.literal("sessions.move"),sessionId:C,requestId:W,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(lr),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:W}).strict(),a.object({op:a.literal("sessions.variables.list"),sessionId:C}).strict(),a.object({op:a.literal("sessions.variables.create"),sessionId:C,key:_n,value:yr,type:gr}).strict(),a.object({op:a.literal("sessions.variables.update"),sessionId:C,key:_n,value:yr,type:gr}).strict(),a.object({op:a.literal("sessions.variables.delete"),sessionId:C,key:_n}).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:Er.optional(),visibility:a.literal("org").optional(),tenantId:P.optional()}).strict(),a.object({op:a.literal("agent.republish"),agentId:P,hubAgentId:P,document:Er.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(ms)}).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:br.extend({prompt:a.string().max(64e3),interval:a.number().int().min(1),unit:mr})}).strict(),a.object({op:a.literal("legacy.schedule.get"),scheduleId:P}).strict(),a.object({op:a.literal("legacy.schedule.edit"),scheduleId:P,schedule:br.extend({prompt:a.string().max(64e3).nullish(),interval:a.number().int().min(1).nullish(),unit:mr.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(xc)}).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.optional(),cwd:wc.optional(),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:W,message:a.string().max(2e5).optional(),boundary:a.literal("next_safe").optional()}).strict(),a.object({op:a.literal("sessions.stop"),requestId:W,targets:a.array(C).min(1).max(100),confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.aside"),sessionId:C,requestId:W,text:a.string().min(1).max(32768),asideId:W.optional(),subscriptionId:a.string().regex(lr).optional()}).strict(),a.object({op:a.literal("sessions.adopt"),sessionId:C,requestId:W,asideId:W,confirmed:a.literal(!0)}).strict(),a.object({op:a.literal("sessions.aside.get"),sessionId:C,asideId:W}).strict(),a.object({op:a.literal("sessions.aside.close"),sessionId:C,asideId:W}).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:W,sessionId:C.optional(),cwd:a.string().min(1).max(4096).optional(),target:fn.optional(),message:vr,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:_r,message:vr.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:_r}).strict(),a.object({op:a.literal("monitors.cancel"),sessionId:C,monitorId:Oc}).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:Wn.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:cr.optional()}).strict()}).strict(),a.object({op:a.literal("mcp.catalog"),cwd:Yn.optional(),sessionId:C.optional()}).strict(),a.object({op:a.literal("mcp.catalog.control"),cwd:Yn.optional(),control:a.object({action:a.enum(["add","remove","test","login","reauth","logout","status","cancel"]),name:Wn.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:cr.optional()}).strict()}).strict(),a.object({op:a.literal("mcp.catalog.credentials"),header:a.string().min(1).max(128).optional(),cwd:Yn.optional(),name:Wn,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:W.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:Cc.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:Pc}).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:W.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:Xn,description:a.string().max(Cr).optional(),status:Ir.optional(),tags:xr.optional()}).strict(),a.object({op:a.literal("projects.update"),key:st,fields:a.object({name:Xn.optional(),title:a.string().max(80).optional(),owner:a.string().max(80).optional(),team:a.string().max(80).optional(),description:a.string().max(Cr).optional(),status:Ir.optional(),progress:a.string().max(Xc).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:Xn}).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(Rr),targetDate:hn.optional(),completed:a.boolean().optional()}).strict(),a.object({op:a.literal("projects.milestone.remove"),key:st,name:a.string().min(1).max(Rr)}).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()]);qc.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 Te={noCredential:"pairing.no-credential",refused:"pairing.refused",planeClosed:"pairing.plane-closed",transportFailed:"transport.failed"},el={runtimeUnreachable:"runtime_unreachable"},Fs="runtime_busy",Gi="runtime_retiring",Bs={[Te.noCredential]:"This app is not paired with the running Local Operator server, so this control is unavailable.",[Te.refused]:"This app's credential for the running Local Operator server was refused, so this control is unavailable.",[Te.planeClosed]:"The running Local Operator server does not accept this app's desktop controls.",[Te.transportFailed]:"The Local Operator server did not answer this request."},ys={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 Gs(e){return e!==void 0&&Object.values(Te).includes(e)}function tl(e,t){if(e.startsWith("/v1/desktop/")){if(t===401||t===403)return Te.refused;if(t===503)return Te.planeClosed}}const nl=88e4,sl=11e5,rl=2e4,il=9e4,ol=new Set(["analytics.get","analytics.models","sessions.report"]),al=new Set(["usage.get"]),cl=new Set(["networks.list","peers.list"]),ll=new Set([...ol,...al,...cl]),dl=90,ul=30,fl=300,pl=10,Zi=15,hl=1e4;function ml(e){const n=e.to==="local"||e.keep?fl:ul,s=Math.max(0,e.waitS??0);return(dl+n+pl+Zi)*1e3+s*1e3}const gl=120,Hi=(gl+30+Zi)*1e3,yl=6e4,vl=5*Hi,_l=new Set(["hub.apply","hub.retry","hub.check","hub.applyAll"]);function bl(e){switch(e){case"hub.apply":case"hub.retry":return Hi;case"hub.check":return yl;case"hub.applyAll":return vl;default:return null}}function wl(e){if(typeof e!="string"&&e.op==="sessions.transfer")return ml(e)+hl;const t=typeof e=="string"?e:e.op,n=bl(t);return n!==null?n:ll.has(t)?il:rl}const Sl=5e3;function Vi(e){return wl(e)+Sl}const Zs="deadline_exceeded",zi="foreground_required",Ki="View these completions in the foreground before marking them read.",kl=new Set(["capabilities","accounts.list","analytics.get","analytics.models","commands.entities","commands.list","config.get","credentials.list","hub.updates","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"]),Tl=new Set(["analytics.get","analytics.models","networks.list","peers.list","usage.get","sessions.report","info.get","sessions.failovers"]);function El(e,t){const n=Math.round(t/1e3),s=Zs;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.`}:_l.has(e)?{code:s,message:"This is taking longer than expected. It may still finish; the mark will update."}:kl.has(e)?{code:s,message:Tl.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 am=nl,cm=sl;function Il(e){return e.sessionId?{session_id:e.sessionId}:{...e.cwd?{cwd:e.cwd}:{},...e.target?{target:e.target}:{}}}function Ar(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 Or(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 xl(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"hub.updates":return{path:"/v1/desktop/hub/updates",method:"GET"};case"hub.check":return{path:"/v1/desktop/hub/updates/check",method:"POST",body:{request_id:e.requestId,...e.kind?{kind:e.kind}:{},...e.name?{name:e.name}:{}}};case"hub.apply":return{path:"/v1/desktop/hub/updates/apply",method:"POST",body:{request_id:e.requestId,kind:e.kind,name:e.name,...e.prefer?{prefer:e.prefer}:{},...e.acknowledgeUnknownBaseline!==void 0?{acknowledge_unknown_baseline:e.acknowledgeUnknownBaseline}:{},...e.dryRun!==void 0?{dry_run:e.dryRun}:{}}};case"hub.applyAll":return{path:"/v1/desktop/hub/updates/apply-all",method:"POST",body:{request_id:e.requestId,...e.kind?{kind:e.kind}:{}}};case"hub.retry":return{path:"/v1/desktop/hub/updates/retry",method:"POST",body:{request_id:e.requestId,kind:e.kind,name:e.name}};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??kc)});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??Ec)});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":{Or(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":{Or(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,...Il(e),message:e.message,...Ar(e)}};case"wakes.edit":return{path:`/v1/desktop/wakes/${e.sessionId}/${e.wakeId}`,method:"PATCH",body:{...e.message!==void 0?{message:e.message}:{},...Ar(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":{const t=new URLSearchParams;e.sessionId&&t.set("session_id",e.sessionId),e.cwd&&t.set("cwd",e.cwd),e.name&&t.set("name",e.name);const n=t.toString();return{path:`/v1/desktop/skills${n?`?${n}`:""}`,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 lm=64,dm=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."},Pr={statement:"Lost the connection to this conversation — reconnect to keep reading.",action:"reconnect"},Cl={statement:"The Local Operator server is not running — reconnect once it is back, or restart the app if it stays down.",action:"reconnect"},Rl={statement:"This app is not paired with the Local Operator server, so this conversation cannot be read yet.",action:null},Al={statement:"Could not load this conversation's history — reconnect to try again.",action:"reconnect"},Ol={statement:"This conversation's updates were too large to display — reconnect to try again.",action:"reconnect"};function Dr(e){return e?e===jt.notPaired?Rl:e===jt.serverDown?Cl:e===jt.frameBudget?Ol:Pr:Pr}async function Wi(e){if(window.api?.desktop)try{return await Pl(window.api.desktop.request(e),e)}catch(n){throw n instanceof q?n:Ll(n)?new Je(Ki,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 Pl(e,t){const n=Vi(t);let s;return Promise.race([e,new Promise((r,i)=>{s=setTimeout(()=>{const o=El(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 jn(e,t){return e instanceof q||e instanceof Je?Gs(e.code)?Bs[e.code]:e.message:t}function Dl(e,t,n,s){return typeof s=="string"?s:n===ys.noCredential?Te.noCredential:n===ys.transportFailed?Te.transportFailed:tl(xl(e).path,t)}async function de(e){const t=await Wi(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,Dl(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 Ml(e){return e instanceof q&&e.code===Zs}function um(e){return e instanceof q?e.status===null||e.status===503:!1}function fm(e){return e instanceof Je&&e.code===zi}function Ll(e){return e instanceof Error&&e.message.includes(Ki)}async function pm(e){const t=await Wi(e);return new Response(t.status===204?null:JSON.stringify(t.body),{status:t.status,headers:{"Content-Type":"application/json"}})}async function hm(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 Nl(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 jl(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===ys.noCredential?Te.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 $l(e){return e.kind==="error"?Gs(e.code)?new Je(Bs[e.code],e.code):new Error(e.detail):new Error("The media request returned an unexpected response.")}const mm="superseded_completion_token",gm="store_busy";function ym(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 Ul(e){const t=Number(e);return Number.isFinite(t)&&t>0?Math.round(t*1e3):null}const vm=e=>typeof e?.goal_status=="string",_m=e=>(e?.goal??"").trim().length>0;function Fl(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 Yi=/\s+/,Bl=/[\\/]+$/,Gl=/[\\/]/,Qi=`
2
+
3
+ `,Zl=" — cancel with wake(",Hl=120,Vl=/(?:\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,zl=new RegExp("\\p{Cf}","gu"),Kl=4096;function vs(e){return e==null?"":(typeof e=="string"?e:String(e)).replace(Vl,"").replace(zl,"").split(Yi).filter(Boolean).join(" ").slice(0,Hl)}function Xi(e){if(e.conversationName)return{name:e.conversationName,quoted:!0};const t=e.cwd.replace(Bl,"");if(t){const n=t.split(Gl).pop()??"";if(n)return{name:`${n}/`,quoted:!1}}return e.sessionId?{name:e.sessionId.slice(0,8),quoted:!1}:{name:"",quoted:!1}}function Ji(e){const{name:t,quoted:n}=Xi(e);return t?n?`"${t}"`:t:e.pid?`pid ${e.pid}`:"another session"}function Wl(e){const{name:t,quoted:n}=Xi(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 bm(e,t){return t.trim()?!0:Wl(e)!==Ji(e)}function Yl(e){for(const t of e.slice(0,Kl).split(`
4
+ `)){const n=vs(t);if(n)return n}return""}function wm(e,t){const n=Ji(e),s=Yl(t);return s?`${n} · ${s}`:n}function Ql(e,t){return e.pid===t.pid&&e.conversationName===t.conversationName&&e.cwd===t.cwd&&e.sessionId===t.sessionId&&e.modelLabel===t.modelLabel}const Xl=/^<peer-session-message\s+((?:[^>"']|"[^"]*"|'[^']*')*)>([\s\S]*?)<\/peer-session-message>\s*$/,Jl=/<\/?peer-session-message(?:[^>"']|"[^"]*"|'[^']*')*>/g,ql=/^<peer-session-message[^>]*>/,ed=/([a-zA-Z_]+)\s*=\s*(?:'([^']*)'|"([^"]*)"|([^\s>]+))/g;function td(e){const t=String(e.text??e.detail??""),n=Xl.exec(t.trim()),s={};if(n)for(const d of n[1].matchAll(ed))s[d[1]]=d[2]??d[3]??d[4]??"";const r=n?n[2]:"",o=(String(e.body??"").trim()||r||(n?"":t.trim().replace(ql,""))).replace(Jl,"").trim(),c=e.sender??{},l=(d,u)=>vs(d)||vs(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 nd(e){return!!e.wake_catchup}function Sm(e){let t=e.split(Qi)[0]??"";t=t.split(Yi).filter(Boolean).join(" "),t=t.split(Zl)[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 km(e){const t=e.indexOf(Qi);return t===-1?"":e.slice(t+2).trim()}const sd=new Set(["command","path","file_path","url","pattern","query","name","target","message","milestone"]),rd=new Set(["true","yes","y","t","on","1"]),id={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?`· ${no(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 Mr="mcp__",od=/^\/(?:Users|home)\/[^/]+\//,ad=/\s+/;function cd(e){return!e.startsWith("/")||e.includes(" ")?e:e.replace(od,"~/")}function we(e){return typeof e=="string"?cd(e.trim()).replace(/\n/g," ").trim():typeof e=="number"||typeof e=="boolean"?String(e):""}function ld(e){return e.now?"now":e.wake===!1?"quiet":"wake"}function dd(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(ad).filter(Boolean).join(" ")||"?"}function ud(e){return[ld(e),we(dd(e))||"?",we(e.message)].filter(Boolean).join(" · ")}const fd=new Set(["delivered","mailbox","unconfirmed","failed"]);function pd(e){if(!e||typeof e!="object")return null;const t=e.delivery;if(!t||typeof t!="object")return null;const n=t.state;return typeof n=="string"&&fd.has(n)?n:null}function qi(e,t){return!e||typeof e!="object"?t??null:pd(e)}const Tm={mailbox:"wake unconfirmed",unconfirmed:"delivery unconfirmed",failed:"not delivered"},Em={mailbox:"In their mailbox. The wake got no answer, so they will read it on their next turn.",unconfirmed:"No wake answer and not yet in their transcript — it may still arrive. Check before resending."},Im={mailbox:"Delivered to their mailbox. The wake got no answer, so they will read the message on their next turn. Do not send it again.",unconfirmed:"Not confirmed: there was no answer and the message is not in their transcript. It may still arrive, so check before resending.",failed:"Nothing was delivered. Fix the cause named below, or retry the send."},xm={mailbox:"delivered, wake unconfirmed",unconfirmed:"delivery unconfirmed — it may still arrive, so check before resending"};function eo(e){return e==="mailbox"||e==="unconfirmed"}function Cm(e){return eo(e)?"partial":null}function Rm(e){return e==="failed"?"Attempted":null}function Am(e,t){return e!==!0?!1:!eo(t)}function Lr(e){const t=Et(e.pid);return t!==null&&Number.isInteger(t)?`pid ${t}`:we(e.session)||we(e.target)||"?"}function hd(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 md(e){const t=_d(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 Lr(e);if(t==="peek")return[Lr(e),hd(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 Om(e,t){const n=e.trim();if(!t)return n;if(n==="send")return ud(t)||n;if(n.toLowerCase()==="sessions"){const i=md(t);if(i!==null)return i||n}const s=bd(n)?Object.entries(t).filter(([i])=>!so.has(i)):Object.entries(t);let r=s.filter(([i])=>sd.has(i)).map(([,i])=>we(i)).filter(Boolean);if(r.length===0){const i=id[n.toLowerCase()];r=s.map(([o,c])=>i?.[o]?.(c)||we(c)).filter(Boolean)}return r.slice(0,2).join(" ")||n}function to(e){const t=e.trim();if(!t.toLowerCase().startsWith(Mr))return t;const n=t.slice(Mr.length),s=n.indexOf("_");return s<=0?n||t:n.slice(s+1)||n}function gd(e,t){return e===t||e===to(t)}const yd=/^(?:exit code:?\s*-?\d*|\(empty\)|--- (?:stdout|stderr) ---)$/,vd="… ";function Pm(e,t=!1){if(!e||t)return null;for(const n of e.split(`
5
+ `)){const s=n.trim();if(s&&!yd.test(s))return`${vd}${s.slice(0,160)}`}return null}function no(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 Dm(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`:no(t)}function Nr(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?`${Nr(e/1024)} KB`:`${Nr(e/(1024*1024))} MB`}function jr(e){return typeof e!="number"||!Number.isInteger(e)||e<=0?0:e}const $r={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 Lm(e){const t=e.trim().toLowerCase();return Object.prototype.hasOwnProperty.call($r,t)?$r[t]:"plain"}function _d(e){if(!e)return"";for(const t of so){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"&&rd.has(r.toLowerCase());return s==="milestone"&&i?"milestone-remove":s}}return""}const so=new Set(["op","action","method"]),bd=e=>Object.prototype.hasOwnProperty.call(ro,e.trim().toLowerCase()),wd={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"}},ro={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 Sd(e,t){const n=e.trim().toLowerCase(),s=(t??"").trim().toLowerCase(),r=s?ro[n]?.[s]:void 0;if(r)return{...r,named:!0};const i=wd[n];return i?{...i,named:!0}:{settled:"Called",running:"Calling",named:!1}}function Nm(e,t,n,s,r="",i=null){const o=Sd(e,r),c=gd(t,e)?n??"":t;return{verb:s?o.running:i??o.settled,object:o.named?c:[to(e),c].filter(Boolean).join(" ")}}const kd=new Set(["write","edit"]);function Td(e){return kd.has(e.trim().toLowerCase())}function jm(e){return Td(e.toolName)&&e.diff!==null&&!e.isError}function io(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 Ed(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 oo(e,t){return e===null||Ed(e,t)?t:e}function ao(e,t){if(!e||typeof e!="object")return{added:t?.added??0,removed:t?.removed??0};const n=e;return{added:jr(n.added),removed:jr(n.removed)}}function Id(e){return e.length>=2&&_s(e[0])==="---"&&_s(e[1])==="+++"?e.slice(2):e.slice()}const xd=/\s+$/;function _s(e){return e.replace(xd,"")}function Cd(e){const t=e.slice(0,1);return t==="@"?"hunk":t==="+"?"added":t==="-"?"removed":"context"}const Rd=40;function $m(e){const t=Id(e),n=t.slice(0,Rd);return{lines:n.map(s=>{const r=_s(s);return{text:r,marker:r.slice(0,1),kind:Cd(r)}}),hidden:t.length-n.length}}function Um(e){return`… ${e} more diff line${e===1?"":"s"}`}const Ad=`Continue working toward this goal:
7
+
8
+ `,Od=`
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.`,Pd=`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.`,[Dd="",Md=""]=Pd.split("{goal}"),Ld="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 co(e){const t=e.trim();return t===Ld||t.startsWith(Ad)&&t.endsWith(Od)||t.startsWith(Dd.trim())&&t.endsWith(Md.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 lo(e){return e==="skipped"||e==="aborted"}function Ur(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Fr(e,t,n,s){return Ur(n.args)??(s?.kind==="tool"?s.args:null)??Ur(e.argsByCall.get(t)?.arguments)}function uo(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&&!uo(n)).filter(n=>(n.type??"text")==="text").map(n=>n.text??"").join(""):""}function An(e,t,n){const s=e?.content;if(!Array.isArray(s))return n?.length?n:$t;const r=[];for(const i of s)uo(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&&fo(n,r)?n:r}const $t=[];function Nd(e,t){return e.length===0&&t.length>0?t:e}function fo(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 jd(e,t){return t&&(!e||t.epoch!==e.epoch||t.seq>=e.seq)?t:e}const $d=new Set;function po(e,t=$d){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 bs(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)&&fo(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(bs(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 Hs(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 Br(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")?Hs(e,i=>i.id===n):e}function Ud(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 Fd=new Set(["frontend_state_checkpoint_v1","session_state","hub_communication","wake_schedule","prune"]);function ho(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 Bd(e,t){const n=Wr(e),s=Wr(t);return n===s?`Context compacted to ${s} tokens`:`Context compacted, ${n} to ${s} tokens`}const mo="Context compacted",Gd=12e4;function go(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>Gd||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 Zd(e){const t=go(e.records);return t===e.records?e:{...e,records:t,index:At(t)}}const Hd="peer_message",yo="Completed — runtime retired/disposed",vo="Retired for an update — a turn was in flight and was cut; its earlier output is kept",Vd="wake_prompt",zd="session_mcp_unavailable",Kd=new Set(["session_mcp_recovery","session_model_switch","session_credential"]),Wd=/^\[session incident(?:\s*\(([^)]*)\))?\]\s*([^:\n]{1,40}):\s*/,Gr=/^<\/?[a-z][a-z0-9-]*(\s[^>]*)?>$/i,Yd=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."]),_o=/^\[[^\]]{1,32}\]\s*/,On="Reason:",Qd=/[\n;,(]| [—–] /,Xd=/^\d+\.$/,Jd=/[A-Z]/,qd=/\s/,Ut=160;function eu(e,t,n){if(e==="session_incident")return{level:"error",...iu(t,n)};let s;return e===zd?s=tu(t):Kd.has(e)?s=su(t.trim().replace(_o,"")):s=ou(t),{level:"info",category:null,provider:null,...s}}function tu(e){const t=e.trim().replace(_o,"").split(`
15
+ `).map(c=>c.trim()),n=t[0]??"",s=t[1]?.startsWith(On)?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:nu(s);if(o!==null){const c=(f,p)=>`${On} ${[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:bo(i),detail:[s,r].filter(Boolean).join(`
18
+ `)||null}}function nu(e){const t=e.startsWith(On)?e.slice(On.length):e,n=t.indexOf("/mcp");if(n<0)return null;const s=t.slice(n),r=s.search(Qd),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 su(e){const t=e.trim(),n=ru(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 ru(e){for(let t=0;t<e.length-1;t++)if(".!?…".includes(e[t])&&qd.test(e[t+1])&&!Xd.test(e.slice(0,t+1))&&Jd.test(e.slice(t+1).trimStart()[0]??""))return t+1;return-1}function iu(e,t){const n=e.split(`
19
+ `),s=n[0].match(Wd),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 ou(e){const t=au(e),n=e.split(`
21
+ `).map(s=>s.trim()).filter(Boolean).join(" ");return{headline:t,detail:n===t?null:e}}function au(e){const t=e.split(`
22
+ `).map(c=>c.trim()).filter(Boolean),n=c=>!Gr.test(c)&&!cu(c),s=t.find(n),r=t.find(c=>Gr.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 bo(i)}function cu(e){return Yd.has(e.replace(/\s+/g," ").trim().toLowerCase())}function bo(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 lu="harness_injected",wo=e=>!e||typeof e!="object"?!1:e[lu]===!0;function du(e,t){const n=e.payload??{},s=Math.round((e.ts??0)*1e3);if(e.type==="compaction"){const o=t?.kind==="compaction"?t.text:mo,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=ho(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:yo,level:"info"};if(o.kind==="retired")return{kind:"notice",id:o.anchor,ts:s,complete:!0,text:vo,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(Fd.has(o))return null;const c=n.details??{};if(o===Hd){const{body:d,sender:u}=td(c);return{kind:"peer",id:e.id,ts:s,body:d,sender:t?.kind==="peer"&&Ql(t.sender,u)?t.sender:u}}if(o===Vd){if(nd(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",...eu(o,l,c)}:null}const i=String(n.role??"");if(i==="user"){if(wo(n.provider_payload))return null;const o=ot(n);return co(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:An(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=lo(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:An(n,`tool:${o}`,t?.kind==="tool"?t.images:void 0),...ao(c.details,t?.kind==="tool"?t:null),diff:oo(io(c.details),t?.kind==="tool"?t.diff:null),stopped:d,delivery:qi(c.details,t?.kind==="tool"?t.delivery:null)}}return null}function uu(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 fu=/^(?:tool|compaction|local):/;function pu(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)&&!fu.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&&!Cu(w,e.clearedAt))continue;const x=e.records[e.index.get(w.id)??-1]??e.records[e.index.get(`tool:${String(w.payload?.tool_call_id??"")}`)??-1],Z=du(w,x);Z&&r.push(Z)}let i=e.argsByCall,o=!1;for(const w of t.entries){const x=w.payload?.tool_calls;if(!Array.isArray(x))continue;const Z=Math.round((w.ts??0)*1e3);for(const ee of x)!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 x=r[w];if(x.kind!=="tool")continue;const Z=i.get(x.toolCallId);if(!Z)continue;const ee=Z.arguments??null;r[w]={...x,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 x=d.get(w.id);if(!x){u=!0,d.set(w.id,w);continue}if(x.kind==="tool"&&w.kind==="tool"){const Z={...w,args:w.args??x.args,intent:w.intent??x.intent,images:x.images.length?x.images:w.images};bs(x,Z)||(u=!0,d.set(w.id,Z));continue}bs(x,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=go(po([...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 $e={settledAssistantUpdate:0,seededDeltaWithheld:0,staleUpdateFrameDropped:0,idlessFrameRefused:0};function Jn(e){const t=e?.id;return typeof t=="string"&&t!==""?t:null}function ws(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=Jn(r);if(r===void 0||o===null)return $e.idlessFrameRefused+=1,e;const c=e.records[e.index.get(o)??-1];if(r.role==="user"){if(wo(r.provider_payload))return e;const l=ot(r);if(co(l))return e;const d=c?.kind==="user"&&c.provisional===!0;return oe(e,{kind:"user",id:o,ts:d?Ks(e,n):n,text:l,images:An(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=Jn(r);if(r===void 0||o===null)return $e.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 $e.settledAssistantUpdate+=1,e;if(s.seed!==!0&&i&&u.frame&&i.epoch===u.frame.epoch&&i.seq<=u.frame.seq)return $e.staleUpdateFrameDropped+=1,e;const f=jd(u.frame,i);if(s.seed===!0&&!d)return!u.text&&!l?e:($e.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=Jn(r);if(r===void 0)return $e.idlessFrameRefused+=1,e;if(o===null){if(r.role!=="assistant")return $e.idlessFrameRefused+=1,e;let p;for(const v of e.records)if(!(v.kind!=="assistant"||!v.streaming)){if(p!==void 0)return $e.idlessFrameRefused+=1,e;p=v}if(p===void 0)return $e.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"?Br(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"?Ud(e,c,k):oe(c&&d?.kind==="tool"?Br(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=Fr(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=Fr(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=lo(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:Nd(An(d,c,f.images),f.images),...ao(d.details,f),diff:oo(io(d.details),f.diff),stopped:f.stopped||L||k,delivery:qi(d.details,f.delivery)})}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:ho(String(t.detail??"")),u=d?d.text:o&&c?Bd(o,c):mo,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}):Zd(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 Ul(e.started_at_epoch)}function So(e){if(!e.type.startsWith("tool_"))return null;const t=String(e.tool_call_id??"");return t||null}function hu(e){const t=So(e);if(t)return`tool:${t}`;const n=e.message;return typeof n?.id=="string"&&n.id?n.id:null}function mu(e,t){const n=Bt(e);if(n!==null)return n;const s=So(e);if(!s)return null;const r=t.argsByCall.get(s)?.anchoredAt;return typeof r=="number"&&Number.isFinite(r)&&r>0?r:null}function Vs(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 $n(e){return e.type==="tool_execution_end"}function gu(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=hu(u);if(p!==null&&!r.index.has(p)){const _=mu(u,r);if(_!==null)f=_,o=!0,c.add(p);else if($n(u)||Vs(u)||!i)continue}r=ws(r,u,f,{seed:!0,...s?{frame:s}:{}})}if(!o)return r;const l=po(r.records,c);return{...r,records:l,index:At(l)}}function Zr(e){const t=new Map;for(const n of e??[]){if(!n)continue;const s=n;if(!$n(s)&&!Vs(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 yu(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 vu=5e3;function _u(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 bu(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-vu}function Hr(e,t){const n=[];for(const s of e??[]){if(!s)continue;const r=s;if(!$n(r)&&!Vs(r))continue;const i=String(r.tool_call_id??"");!i||n.includes(i)||t.has(i)||n.push(i)}return n}function Vr(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 wu=3.25,Ss=100,zs=500;function zr(e){return e<=0?Ss:Math.min(zs,Ss+Math.ceil(wu*e))}function qn(e,t){const n=[];if(t.size===0)return n;for(const s of e){const r=s.payload?.tool_calls;if(Array.isArray(r))for(const i of r)i&&typeof i.id=="string"&&t.has(i.id)&&n.push(i.id)}return n}function Su(e){for(const t of e)if(t.payload?.role==="user")return!0;return!1}function ku(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 Tu(e,t){return e&&t===0}function Eu(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"&&!$n(s)&&!i)continue;const o=String(s.tool_call_id??"");o&&t.add(o)}return t}function ko(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 Iu(e,t,n){return ko(e,t,n).length}function Kr(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 xu(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 Cu(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 Wr(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function Ru(e){const t=e.compacting?{...e,compacting:!1,compactingSince:0}:e;return Hs(t,n=>n.kind==="assistant"&&n.streaming||n.kind==="tool"&&n.phase!=="done")}function Ks(e,t){let n=t;for(const s of e.records)s.ts>n&&(n=s.ts);return n}function To(e,t,n,s,r=Date.now()){return e.index.has(t)?e:oe(e,{kind:"user",id:t,ts:Ks(e,r),text:n,images:s,local:!0,provisional:!0})}function Au(e,t){return Hs(e,n=>n.id===t)}let Yr=0;function Ou(e,t,n,s=Date.now()){return Yr+=1,oe(e,{kind:"notice",id:`local:${s}:${Yr}`,ts:Ks(e,s),text:t,level:n})}function Fm(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"?yo:i==="retired"?vo:i==="error"?"Stopped with an error":"Interrupted",level:i==="closed"?"info":i==="retired"?"warning":i==="error"?"error":"warning"}))}const Pu="compacting context…";function Bm(e){return typeof e=="string"&&e.trim()===Pu}const Du=[1500,5e3];async function Gm(e,t=n=>new Promise(s=>setTimeout(s,n))){for(const n of Du){await t(n);try{if(await e())return}catch{}}}function Mu(e,t){return e.some(n=>Math.round((n.ts??0)*1e3)<t?!1:n.type==="compaction"||n.type==="message"&&n.payload?.custom_type==="compaction_refused")}const Qr=new Set(["openrouter","radient","radient-key"]),Lu=new Set(["auto","openrouter/auto"]),Nu="Auto";function Eo(e){return e.slice(e.lastIndexOf("/")+1)||e}function ju(e,t){return e===t||e===Eo(t)}function es(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 Zm(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||ju(s,e.model_id)||s.toLowerCase()==="unknown";return{name:Qr.has(t)&&Lu.has(e.model_id)?Nu:r?Eo(n):s,selector:n}}function Hm(e,t){const n=e?.effective_model??e?.selected_model??null;return{identity:t??n,effort:n}}function Vm(e){return e?.supports_fast_mode!==!0?null:e.fast_mode===!0?"on":"off"}function zm(e){return Array.isArray(e?.reasoning_efforts)?e.reasoning_efforts.filter(t=>typeof t=="string"&&t!==""):[]}function Km(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 Wm(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 Io(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 Ym(e,t){const n=(e??t)?.effective_model;return Io(n)?null:n?.model_id??null}function Qm(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=Io(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 Xm(e,t){if(!e)return null;if(!t||t.length===0||e.knownLadder)return e;const n=t.map(s=>typeof s=="object"&&s!==null&&"value"in s?String(s.value):"").filter(Boolean);return n.length===0?e:{...e,adjustable:!0,detail:`Reasoning effort. This model offers ${n.join(", ")}.`}}function $u(e,t){if(e&&!(e.settled||e.error!==null))return{...e,text:e.text+t,streaming:!0}}function Uu(e,t){return!!e.streams[t]}function xo(e,t){return e.attached[t]?.turns.at(-1)}function Jm(e,t){const n=xo(e,t);return n?e.streams[n.asideId]:void 0}function qm(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 Fu(){return{text:"",streaming:!0,settled:!1,error:null}}function Bu(e){return{text:e,streaming:!1,settled:!0,error:null}}function Gu(e,t){return{text:e?.text??"",streaming:!1,settled:!1,error:t}}const Zu=$s(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]:Fu()},attached:{...r.attached,[t]:{turns:[...r.attached[t]?.turns??[],{asideId:n,question:s}],notice:null}}})),applyAsideDelta:(t,n)=>e(s=>{const r=$u(s.streams[t],n);return r?{streams:{...s.streams,[t]:r}}:s}),settleAside:(t,n)=>e(s=>s.streams[t]?{streams:{...s.streams,[t]:Bu(n)}}:s),failAside:(t,n)=>e(s=>Uu(s,t)?{streams:{...s.streams,[t]:Gu(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 eg(e,t){return xo(e,t)?.asideId}const Hu=4*1024*1024,Vu=1024*1024,Me=new Map;function Xr(e){if(e.length===0)return 0;try{return new TextEncoder().encode(JSON.stringify(e)).length}catch{return Number.POSITIVE_INFINITY}}function zu(e){const t=e.slice(-200);let n=0,s=Xr(t);for(;n<t.length&&s>Vu;)n+=1,s=Xr(t.slice(n));return{records:t.slice(n),bytes:s}}function Ku(e,t){const{records:n,bytes:s}=zu(Ru(t.transcript).records);if(n.length===0){Me.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:Jr(n,t.owedLabels),markLabels:Jr(n,t.markLabels)};Me.delete(e),Me.set(e,i),Yu()}function Jr(e,t){if(!t||t.size===0)return qr;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:qr}const qr=new Set;function Co(e){const t=Me.get(e);if(!t)return null;const{bytes:n,...s}=t;return s}function Wu(e){Me.delete(e)}function Yu(){let e=0;for(const t of Me.values())e+=t.bytes;for(;e>Hu&&Me.size>0;){const t=Me.keys().next().value;if(t===void 0)break;const n=Me.get(t);Me.delete(t),e-=n?.bytes??0}}const Qu=8,Xu=128,Ro=new Set,Ju="",Be=new Map,Ws=e=>e??Ju;function tg(e){return Be.get(Ws(e))??Ro}function ng(e,t,n){const s=Ws(e),r=Be.get(s)??new Set,i=new Set(r);if(n)for(i.delete(t),i.add(t);i.size>Xu;){const o=i.values().next().value;if(o===void 0)break;i.delete(o)}else i.delete(t);for(Be.delete(s),i.size>0&&Be.set(s,i);Be.size>Qu;){const o=Be.keys().next().value;if(o===void 0)break;Be.delete(o)}return Be.get(s)??Ro}function qu(e){Be.delete(Ws(e))}function ef(){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=pu(n.getTranscript()),d=l!==null&&l!==r?l:uu(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 tf=new Set(["subagent_start","subagent_progress","subagent_end"]),nf=(e,t)=>({...e,[t]:(e[t]??0)+1}),sf=e=>{const t={};if(!Array.isArray(e))return t;for(const n of e){const s=Ao(n);s&&(t[s]=(t[s]??0)+1)}return t},Ao=e=>{if(!e||typeof e!="object")return null;const t=e;return tf.has(String(t.type??""))&&typeof t.job_id=="string"&&t.job_id?t.job_id:null},rf=(e,t)=>{const n=Ao(t);return n?nf(e,n):e};function of(e){for(const t of e)t.type==="aside_delta"&&Zu.getState().applyAsideDelta(t.payload.aside_id,t.payload.delta)}function af(e){return e.some(t=>t.type!=="aside_delta"&&t.type!=="heartbeat")}const it=new Set,Lt=new Set;function cf(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 lf=new Set(["agent_end","agent_start","provider_start","steering_delivered","turn_end","turn_start"]),df=15e3,ks=[500,1e3,2e3,4e3,8e3,8e3],uf=ks.length,ff=2e4,pf=1e4;function ei(e){const t=Math.max(1,Math.min(e,ks.length));return ks[t-1]??8e3}const hf=3,mf=250,ti=512,ni=new Set(["turn_end","agent_end"]),si=2,gf=500,ri=zs,yf=6,ts=Vi("sessions.history"),vf=2e3,ii={targets:new Set,order:[],every:new Set,found:new Set,pending:[],starts:new Map,waiting:new Set},ct=new Map,bn=new Map,_f=8,bf=2048,oi=1024,wf=1024,Sf="",rt=new Map;function ai(e){const t=e??Sf,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>_f;){const r=rt.keys().next().value;if(r===void 0||r===t)break;rt.delete(r)}return s}function ns(e){return e.terminal||e.failure?!1:(e.frontend??e.heldFrontend)?.streaming===!0}function ss(e,t,n,s){return t.has(n)?!1:e.inFlight.has(n)?!0:s}function kf(e,t){return bn.set(e,t),()=>{bn.get(e)===t&&bn.delete(e)}}function sg(e){const t=bn.get(e);return t?(t(),!0):!1}const ae=new Map,Tf=4,Ef=16;function Oo(e,t){e(n=>To(n,t.id,t.text,t.images)),t.painted||(t.painted=!0,t.onPainted?.())}function If(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 Ts(e,t){let n=ae.get(e);if(!n){if(ae.size>=Ef){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>Tf;){const i=n.keys().next();if(i.done)break;n.delete(i.value)}const r=ct.get(e);r&&Oo(r,s)}function rg(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 Es(e,t){const n=ae.get(e);n&&(n.delete(t),n.size===0&&ae.delete(e))}function Is(e,t){const n=ae.get(e)?.get(t);n&&(n.settled=!0)}function ci(e,t){return e?ae.get(e)?.has(t)===!0:!1}function ig(e){return e?(ae.get(e)?.size??0)>0:!1}function xf(e,t,n){const s=ae.get(e)?.get(t);if(!s)return;s.text=n;const r=ct.get(e);r&&r(i=>If(i,t,n))}function Cf(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 gn(e){ae.delete(e)}function Rf(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&&Es(e,s)}}function Af(e,t){ct.set(e,t);const n=ae.get(e);if(n)for(const s of n.values())Oo(t,s);return()=>{ct.get(e)===t&&ct.delete(e)}}function Of(e,t){const n=ae.get(e);if(!n)return t;let s=t;for(const r of n.values())s=To(s,r.id,r.text,r.images);return s}function Pf(e,t,n){return e===t?!0:!n}function og(e,t){const n=ct.get(e);if(!n)return Es(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",Au(r,t)):(s="owner",r)}),Es(e,t),s}function Df(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 Mf(e){const t=Co(e);return t?{transcript:t.transcript,stale:!0,owedLabels:t.owedLabels,markLabels:t.markLabels}:{transcript:ze,stale:!1,owedLabels:it,markLabels:Lt}}function Lf(e){return"cold_reason"in e&&!e.history.cursor_missing&&e.history.entries.length>0}function ag(e,t,n=!0,s=e){const[r,i]=I.useState(()=>{const E=t&&e?Mf(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?Of(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=I.useRef(r),c=I.useCallback(E=>{const N=E(o.current);return N===o.current||(o.current=N,i(N)),N},[]),l=I.useRef(e),d=I.useRef([]),u=I.useRef(ze.index),f=I.useRef(ai(e)),p=I.useRef(new Set),_=I.useRef(null),S=I.useRef({}),v=I.useRef(null),k=I.useRef(0);I.useEffect(()=>{if(!e||!t)return;const E=++k.current;let N=null,z=!1,te=0,X=0,ie=0,ce=0,Ae=0,Ot=0,qe=0,Gn=!1;const an=()=>{Ot&&(window.clearTimeout(Ot),Ot=0)},aa=$=>{for(const B of $)f.current.attempts.set(B,(f.current.attempts.get(B)??0)+1)},Zn=$=>{c(B=>{const H=new Set;for(const ne of B.labelPending)B.labelPending.has(ne)&&(ss(f.current,B.transcript.argsByCall,ne,ns(B))||H.add(ne));let V=null;for(const ne of B.labelMarked)ss(f.current,B.transcript.argsByCall,ne,ns(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}})},ca=$=>{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}})},Hn=async($,B,H=ii,V=1,le)=>{for(const be of H.targets)f.current.inFlight.add(be),p.current.add(be);let ne=!1;try{ne=await la($,B,H,V,le)}finally{if(!ne){for(const be of H.targets)f.current.inFlight.delete(be);f.current.refused&&ca(H.targets),Zn()}}},la=async($,B,H,V,le)=>{const ne=new Set;let be,pt=0,ht=0,et=!1,mt=!1;const Oe=new Set(H.found),tt=()=>Iu(H.order,H.targets,Oe),gt=()=>ko(H.order,H.targets,Oe),nt=()=>{const Q=new Map;for(const M of y){if(Oe.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 Oe)He.add(Q);const y=new Set,m=new Map;let se=1;const me=H.targets.size>0;let yt=Math.max(zr(tt()),me?f.current.depth:0),F=0;for(;pt<ri&&ht<yf;){ht+=1;let Q;try{Q=await de({op:"sessions.history",sessionId:e,...be?{beforeId:be}:{},limit:Math.min(yt,ri-pt)})}catch{if(o.current.transcript.records.length>0){if(F++>0)return f.current.refused=!0,!1;continue}return V<hf?(Ae=window.setTimeout(()=>{if(Ae=0,k.current!==$){Zn();return}Hn($,B,H,V+1,le)},ei(V)),!0):(c(re=>({...re,status:"unavailable",failure:Al,heldFrontend:null})),!1)}finally{Zn()}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 Pe=Ft(re.transcript,Q),vt=qn(Q.entries,He),zn=new Set(re.labelPending);for(const fa of vt)zn.delete(fa);return{...re,hydrated:!0,labelPending:zn.size?zn:it,labelMarked:cf(re.labelMarked,vt),transcript:Pe}}),e&&be===void 0&&Ke.getState().resolveHeldFromServer(e,Q.entries.map(re=>re.id),!Q.cursor_missing);const pe=tt();for(const re of qn(Q.entries,He))Oe.add(re),He.add(re);if(Su(Q.entries)&&(mt=!0),me){const re=ku(Q.entries,He);for(const Pe of re)y.add(Pe),He.add(Pe);for(const[Pe,vt]of _u(Q.entries,re))m.set(Pe,vt);for(const Pe of[...y])Oe.has(Pe)&&y.delete(Pe);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(zs,Math.max(f.current.depth,pt))),me){const re=gt();if(bu(Q.entries,re,H.starts,nt(),new Set(re.filter(vt=>H.waiting.has(vt))))||mt)return!1}if(Tu(et,Ve)||!M||!Q.has_more)return!1;be=M.id,yt=Ve>0?zr(Ve):Ss}return!1},sr=()=>{if(te&&cancelAnimationFrame(te),X&&clearTimeout(X),te=0,X=0,k.current!==E)return;const $=d.current;if(d.current=[],$.length===0)return;of($);const B=y=>{const se=y.payload.history.entries.at(-1);return se?Lf(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"&&ni.has(String(y.payload.type??""))),ht=Vr(f.current.attempts,Hr(ne,le),le,si),et=pt?Vr(f.current.attempts,[...f.current.attempts.keys(),...f.current.settled],le,si):[],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 Oe=[];for(const y of mt){const m=String(y.tool_call_id??"");le.has(m)||f.current.settled.has(m)||Oe.push(m)}for(const y of Oe)f.current.settled.add(y);for(;f.current.settled.size>ti;){const y=f.current.settled.values().next().value;if(y===void 0)break;f.current.settled.delete(y)}for(const[y,m]of Zr(mt))f.current.starts.set(y,m);for(;f.current.starts.size>oi;){const y=f.current.starts.keys().next().value;if(y===void 0)break;f.current.starts.delete(y)}const tt=f.current.settleRows<gf?Oe:[],gt=[...new Set([...ht,...et,...tt])],nt=gt.filter(y=>!f.current.painted.has(y));if(ne.length>0){f.current.order=Hr(ne,new Set);for(const[y,m]of Zr(ne))f.current.starts.set(y,m);for(;f.current.starts.size>oi;){const y=f.current.starts.keys().next().value;if(y===void 0)break;f.current.starts.delete(y)}for(const y of yu(ne))f.current.waiting.add(y);for(const y of Eu(ne))f.current.waiting.delete(y);for(;f.current.waiting.size>wf;){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(aa([...ht,...et]);f.current.attempts.size>ti;){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:Kr(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:Kr(m.transcript)},M&&m.status==="live"&&(m={...m,status:"reconnecting"}),se=!1}continue}if(!se){if(F.type==="event"&&(me=ws(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=gu(pe,M.frontend.snapshot,yt,{epoch:F.epoch,seq:F.seq}),m={...m,subagentPulses:sf(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&&Fl(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??"");lf.has(M)&&(m={...m,terminal:M}),ni.has(M)&&(m={...m,turnsCompleted:m.turnsCompleted+1});const pe=ws(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=rf(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,!af($))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>bf;){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;Hn(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(qn($.flatMap(se=>se.type==="snapshot"?se.payload.history.entries:[]),new Set(m))),pending:nt}:ii,1,He?se=>{f.current.settleRows+=se}:void 0)}},Vn=()=>{const $=N;if(N=null,!!$){z=!0;try{$()}finally{z=!1}}},cn=()=>{an(),Ot=window.setTimeout(()=>{Ot=0,k.current===E&&(Vn(),c($=>({...$,subscriptionId:null,status:"unavailable",failure:Dr(jt.ended),heldFrontend:null})),!Gn&&(Gn=!0,qe=window.setTimeout(()=>{qe=0,k.current===E&&rr()},pf)))},ff),N=Nl({sessionId:e,epoch:S.current.epoch,afterSeq:S.current.afterSeq},$=>{if(k.current===E){if($.kind==="error"||$.kind==="end"){if(z)return;if(an(),Vn(),$.kind==="error"&&$.status===404){e&&(Wu(e),qu(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>=uf){c(V=>({...V,status:"unavailable",failure:Dr(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()},ei(ie));return}if($.data!==void 0)try{const B=JSON.parse($.data);B.type==="snapshot"&&(ie=0,an(),Gn=!1),d.current.push(B),te||(te=requestAnimationFrame(sr)),X||(X=window.setTimeout(sr,mf))}catch{}}})},da=()=>{ce!==0&&(window.clearTimeout(ce),ce=0),S.current={},_.current=null,Vn(),cn()},rr=()=>{ie=0,qe&&(window.clearTimeout(qe),qe=0),ce&&(window.clearTimeout(ce),ce=0),Ae&&(window.clearTimeout(Ae),Ae=0),c($=>({...$,failure:null,status:$.status==="unavailable"?"connecting":$.status})),o.current.hydrated||Hn(E,new Set(o.current.transcript.index.keys())),!N&&cn()};cn(),v.current=rr;const ua=kf(e,da);return()=>{k.current+=1,v.current=null,ua(),N?.(),te&&cancelAnimationFrame(te),X&&clearTimeout(X),ce&&clearTimeout(ce),Ae&&clearTimeout(Ae),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]),I.useEffect(()=>{S.current={},_.current=null,u.current=ze.index;const E=Pf(l.current,e,n);l.current=e;const N=e?Co(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=ai(e)},[e,n]),I.useEffect(()=>{if(e)return()=>{const E=o.current.transcript;E.records.length>0&&Ku(e,{transcript:E,owedLabels:new Set([...o.current.labelPending].filter(N=>ss(f.current,o.current.transcript.argsByCall,N,ns(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=I.useRef(0);I.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 X of N)if(te.inFlight.has(X)){L.current=window.setTimeout(E,ts);return}for(const X of z)if(te.inFlight.has(X)){L.current=window.setTimeout(E,ts);return}c(X=>X.labelPending.size===0&&X.labelMarked.size===0?X:{...X,labelPending:it,labelMarked:Lt})};L.current=window.setTimeout(E,ts)},[c,r.labelPending,r.labelMarked]);const O=I.useRef(0);I.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})},vf))},[c,r.labelPending,r.labelHoldLate]);const w=I.useRef(e);w.current=e;const x=I.useRef({id:e,epoch:0});x.current.id!==e&&(x.current={id:e,epoch:x.current.epoch+1});const Z=I.useRef(null);Z.current===null&&(Z.current=ef());const ee=I.useCallback(async()=>{const E=Z.current;if(!e||!E)return{kind:"nothing-to-load"};const N=e,z=x.current.epoch,te=()=>x.current.epoch===z,X=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 Ae=ie(ce.transcript);return Ae===ce.transcript?ce:{...ce,transcript:Ae}}).transcript,setLoading:ie=>{te()&&c(ce=>ce.loadingOlder===ie?ce:{...ce,loadingOlder:ie})}});return te()&&(X.kind==="failed"?c(ie=>ie.olderFailed?ie:{...ie,olderFailed:!0}):X.kind==="applied"&&c(ie=>ie.olderFailed?{...ie,olderFailed:!1}:ie)),X},[c,e]),U=I.useCallback(async()=>(await ee()).kind==="applied",[ee]),K=I.useRef(!1),Y=I.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(X=>({...X,transcript:Ft(X.transcript,te,{keepPaging:!0})})),Mu(te.entries,E))}catch{return!1}finally{K.current=!1}},[c,e]);I.useEffect(()=>s?Af(s,N=>{c(z=>{const te=N(z.transcript);return te===z.transcript?z:{...z,transcript:te}})}):void 0,[c,s]),I.useEffect(()=>{s&&Rf(s,r.transcript)},[s,r.transcript]);const fe=I.useCallback(()=>{c(E=>({...E,transcript:xu(E.transcript),olderFailed:!1,heldFrontend:null}))},[c]),ye=I.useCallback(()=>{v.current?.()},[]),Re=I.useCallback((E,N="info")=>{c(z=>({...z,transcript:Ou(z.transcript,E,N)}))},[c]),on=I.useCallback(E=>{c(N=>({...N,pendingModel:E}))},[c]),nr=I.useCallback(()=>{c(E=>E.pendingModel===null?E:{...E,pendingModel:null})},[c]);return I.useEffect(()=>{const E=r.pendingModel;if(!E)return;const N=es(E);if(!N)return;const z=r.frontend;(es(z?.selected_model)===N||es(z?.effective_model)===N)&&c(te=>({...te,pendingModel:null}))},[c,r.frontend,r.pendingModel]),I.useEffect(()=>{if(!r.pendingModel)return;const E=window.setTimeout(()=>c(N=>({...N,pendingModel:null})),df);return()=>window.clearTimeout(E)},[c,r.pendingModel]),I.useMemo(()=>({...r,awaitingHydration:t&&!!e&&n&&!r.hydrated,loadOlder:U,loadOlderDetailed:ee,refreshTail:Y,clearView:fe,addNote:Re,paintPendingModel:on,clearPendingModel:nr,retry:ye}),[r,t,e,n,U,ee,Y,fe,Re,on,nr,ye])}function Un(e,t){return t===""?e:e===""?t:e===t||e.startsWith(`${t}
23
+
24
+ `)?e:`${t}
25
+
26
+ ${e}`}const rs={currentInput:"",submittedMessages:[],currentHistoryIndex:null,replies:[],attachments:[]};function wn(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:Un(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 Nf(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 jf(e){return{text:Un(e.currentInput??"",e.pendingText??""),attachments:(e.attachments??[]).map(t=>t.path),replies:e.replies??[]}}function $f(e,t){if(!e||!t)return!1;const n=jf(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 Uf(e,t=()=>crypto.randomUUID()){const n={};for(const[s,r]of Object.entries(e??{}))n[s]=r.inFlight?wn(r,r.inFlight,t):r;return n}function Ff(e,t){const n=t.text,s=Un(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 De=$s()(Ri((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"&&!Nf(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]??rs,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]??rs;n!==s&&i&&(c=wn(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=wn(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=Un(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]??rs;r.inFlight||e({inputByConversation:{...t().inputByConversation,[n]:wn(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?$f(s,s.returned):r(s),c=s.returned?Ff(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:Uf(e?.inputByConversation)})})),yn=(e,t)=>e instanceof q?jn(e,t):e instanceof Error?e.message:t,Fn="session_unvalidated",Bf="This chat is not ready for messages yet, so the message was not sent. Sending works once it is ready.",Pn="leading_slash_message",Po="A message can't start with / — that is a command. Move it below your text, or send it on its own.";function Gf(e,t){return e instanceof q&&e.status===422&&e.code===void 0&&t.trimStart().startsWith("/")}const Do="attachment_read_failed",Mo="store_out_of_space",Lo="store_unavailable";function li(e){return e===Mo||e===Lo}const Zf="answer_not_sent",No="aside_not_answered",jo="aside_still_answering";function Nt(e){return e===Pn||e===Do||e===Mo||e===Lo||e===Zf||e===No||e===jo||e===Fn}function Hf(e){return e instanceof q&&e.status===409&&Ys(e)===void 0}function $o(e,t=!1){return Kf(e)||Hf(e)&&!t?"not_sent":e instanceof q&&e.status===404?"gone":"unknown"}function Ys(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 cg(e){return e?ve.gateLock:ve.sendLock}const lg="Retry",dg="Clear";function Vf(e,t,n=!1){const s=$o(e,n),r=t??Ys(e),i=jn(e,ve.generic);return s==="gone"?{message:ve.gone,retry:!1,code:r}:s==="not_sent"?r===Fs?{message:ve.busy,retry:!0,code:r}:r===Gi?{message:ve.retiring,retry:!0,code:r}:r===Fn?{message:ve.notReady,retry:!Nt(r),code:r}:r===No?{message:ve.asideNotAnswered,retry:!1,code:r}:r===jo?{message:ve.asideStillAnswering,retry:!1,code:r}:r===Pn?{message:Po,retry:!1,code:r}:{message:i,retry:!1,code:r}:r===Te.transportFailed?{message:ve.unreachable,retry:!0,code:r}:Gs(r)?{message:Bs[r],retry:!1,code:r}:r===Zs?{message:ve.unconfirmed,retry:!Nt(r),code:r}:r===el.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 ug(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 Cs(e,t){return e.sessionId===t||e.key===t||e.key===`send:${t}`}function fg(e,t,n){if(e)return e;if(!t)return null;const s=Object.entries(n).filter(([,i])=>Cs(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 zf(e,t,n){return e?t??void 0:n??void 0}function pg(e,t,n){return Qs(e,zf(e,t,n))}function Kf(e){return e instanceof q?e.status===413||e.status===422?!0:e.code===Fs||e.code===Gi||e.code===Te.noCredential||li(e.code):e instanceof Je&&(e.code===Fn||e.code===Do||li(e.code))}function Bn(e,t){const n=e.startsWith("send:")?e.slice(5):null;return Qs(e.startsWith("draft:")?e:null,t??n)??e}function Wf(e,t){const n=De.getState(),s=Bn(e,t),r=s===""||s===e?[e]:[e,s];n.settleInFlight(r),s!==""&&s!==e&&n.inputByConversation[e]&&n.returnInFlight(e,s)}function hg(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=Bn(e,t.sessionId);return De.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 mg(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=Bn(e,t.sessionId);if(n)return ci(i,n.recordId)?!1:(Ts(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 ci(i,o)?!1:(Ts(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 Yf(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 Qf(e,t){return!!t&&e===t}const Xf=3,Jf=5e3,qf=2e3;async function ep(e){for(let t=0;;t++)try{await de(e);return}catch(n){if(t>=Xf||!(n instanceof q)||n.code!==Fs)throw n;const s=Math.min(Math.max(0,n.retryAfterMs??qf),Jf);await new Promise(r=>setTimeout(r,s))}}async function gg(e,t,n,s,r){const i=Ke.getState();if(Qf(i.validatingSessionId,n))throw new Je(Bf,Fn);const o=i.drafts[e];if(o?.pending)return null;const c=xs(t.text),l=o?.submittedText!==void 0&&Yf(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&&Ts(k,{id:S,submittedAt:v,text:c,images:u.map((x,Z)=>({id:`${S}:${Z}`,data:x.data_b64,attachment:null,mimeType:x.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&&Cf(k,O),i.fetchSessions()}const x=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:x}),O&&xf(O,S,x),w="sessions.message",await ep({op:"sessions.message",sessionId:O,requestId:S,text:x,images:u.length?u:void 0,mode:f,inputMode:p,inputPath:_}),i.finishDraft(e,O),Ke.setState({error:null}),O}catch(x){Ke.setState({error:null});const Z=l&&o?.admissionAttempted===!0,ee=$o(x,Z),U=w==="sessions.message"&&Gf(x,c),K=U?Pn:Ys(x),Y=Vf(x,K,Z);let fe=!1;const ye=O??k??void 0;if(ye&&ee==="unknown"&&(fe=L&&Df(ye,S)==="owner"),i.updateDraft(e,{pending:!1,admissionAttempted:ee==="unknown"&&L,errorCode:K,error:Y.message,errorRetry:Y.retry}),fe)return O?(i.finishDraft(e,O),O):null;const Re=Bn(e,O??d.sessionId),on=k&&k!==Re?[k,Re]:[Re];throw De.getState().settleInFlight(on),k&&k!==Re&&De.getState().returnInFlight(k,Re),ye&&Is(ye,S),e!==ye&&Is(e,S),U?new q(422,Po,x,Pn):x}}const Uo=50,tp=25,np=500;function sp(e){return e?Uo:np}function di(e,t){return`${e}:${t}`}function rp(e){const t=new Set;for(const n of Object.values(e))for(const s of n.ids)t.add(s);return t}function ip(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 op(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 Sn(e,t){return{...e,...t,...dp(e,t),...up(t,e),attention:kt(e?.attention,t.attention,t.session_id)}}const ap=e=>{if(e.attention?.unseen!==!0)return null;const t=e.status?.code;return t==="complete"||t==="error"||t==="interrupted"?t:null},cp=e=>e.filter(t=>{if(ap(t)===null)return!1;const n=t.attention?.completion_token;return typeof n=="string"&&n.length>0}),ui=(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},lp=(e,t)=>({sessionId:t,revision:(e?.revision??0)+1});function dp(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 up(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 fp(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 is(e,t){const n={...e.archiveFacts};delete n[t];const s=e.answerSeq+1;return{sessions:e.sessions.filter(r=>r.session_id!==t),archiveFacts:n,answerSeq:s,forgotten:{...e.forgotten,[t]:{at:s,title:e.sessions.find(r=>r.session_id===t)?.title??void 0}},deleteCandidate:e.deleteCandidate===t?null:e.deleteCandidate}}function Fo(e){return e.map(({id:t,name:n,mtime:s,...r})=>({...r,session_id:t,title:n,updated_at:s}))}function fi(e,t){return Fo(e).filter(n=>t[n.session_id]===void 0)}function os(e){return typeof e=="string"&&e.length>0?e:null}function pp(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 hp(e,t){const n=new Map(e.map(s=>[s.session_id,s]));return[...new Map(t.map(s=>[s.session_id,Sn(n.get(s.session_id),s)])).values()]}let as=0,bt=null;function mp(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 Bo(){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 gp(){const e=Bo();return e.kind==="session"?e.sessionId:null}function yp(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 vp(e,t){const n={...t,...e},s=Bo();if(s.kind==="session")return{...n,activeSessionId:s.sessionId};if(s.kind==="catalogue")return{...n,activeSessionId:null};const r=yp(n);return r?{...n,...r}:n}const Ke=$s()(Ri((e,t)=>({sessions:[],cataloguePageable:!1,draftWarmable:!1,activeSessionId:gp(),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=sp(t().cataloguePageable),s=!1)=>{const r=++as,i=t().answerSeq+1;e({answerSeq:i}),e({loading:!0,error:null});try{const o=await mp(n,s,(l,d)=>de({op:"sessions.list",limit:l,include_archived:!0,...d?{with_counts:!0}:{}}));if(r!==as)return;const c=Fo(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=os(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=ip({sessions:l.sessions,scopeIds:rp(l.scopes),keepIds:l.activeSessionId===null?[]:[l.activeSessionId],tailIds:k?[]:l.head.tailIds,page:S,merge:hp});let x=w.rows;for(const U of O){const K=l.pinFacts[U.session_id],Y=x.findIndex(fe=>fe.session_id===U.session_id);Y===-1?x=[...x,{...U,pinned:K.pinned}]:x[Y]={...x[Y],pinned:K.pinned}}const Z=fp(l.archiveFacts,i),ee=pp(o.counts);return{sessions:x,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===as&&e({loading:!1,error:yn(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:Uo,include_archived:!0,cursor:s}),i=fi(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]=Sn(l[p],f)}const u=os(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:yn(r,"Could not load more chats.")}}))}}},fetchScopePage:async(n,s,r=null,i=tp)=>{const o=di(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=fi(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,_=op({sessions:u.sessions,previousIds:p?f.ids:[],page:d,merge:Sn}),S=os(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:yn(l,"Could not load this group's chats.")}}}})}},clearScope:(n,s)=>{const r=di(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;De.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=De.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=>is(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=>is(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:yn(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,...is(t(),n)})},rearmReadAck:n=>{e(s=>({readAckRearm:lp(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=ui(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=ui(r,o.slice(8),i))}return r===s.sessions?s:{...s,sessions:r}})},markAllRead:async()=>{const n=cp(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=>{Wf(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=De.getState().inputByConversation[n];gn(n),i&&i!==n&&gn(i),delete r[n],De.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);gn(u),p&&p!==u&&gn(p),o.push(u),c[u]=f;const _=De.getState().inputByConversation[u];_&&(l[u]=_),delete r[u],De.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(([,Y])=>Cs(Y,n)&&Y.undelivered!==void 0&&s.includes(Y.undelivered.recordId));let c=i.drafts;if(o.length>0){c={...c};for(const[Y,fe]of o){const{undelivered:ye,...Re}=fe;c[Y]=Re}}const l=Object.entries(c).find(([,Y])=>Cs(Y,n)&&Y.admissionAttempted===!0&&Y.pending!==!0&&Y.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:x,error:Z,errorCode:ee,errorRetry:U,...K}=u;return p||Is(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:jn(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?Sn(i,n):i):[...s.sessions,n]}))}),{name:"canonical-sessions-storage",merge:vp,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 ke(){}function _p(e,t){return typeof e=="function"?e(t):e}function Rs(e){return typeof e=="number"&&e>=0&&e!==1/0}function Go(e,t){return Math.max(e+(t||0)-Date.now(),0)}function It(e,t){return typeof e=="function"?e(t):e}function Ee(e,t){return typeof e=="function"?e(t):e}function pi(e,t){const{type:n="all",exact:s,fetchStatus:r,predicate:i,queryKey:o,stale:c}=e;if(o){if(s){if(t.queryHash!==Xs(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 hi(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 Xs(e,t){return(t?.queryKeyHashFn||tn)(e)}function tn(e){return JSON.stringify(e,(t,n)=>Os(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 Zo(e,t){if(e===t)return e;const n=mi(e)&&mi(t);if(n||Os(e)&&Os(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]=Zo(e[u],t[u]),c[u]===e[u]&&e[u]!==void 0&&l++)}return r===o&&l===r?e:c}return t}function As(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 mi(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Os(e){if(!gi(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!gi(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function gi(e){return Object.prototype.toString.call(e)==="[object Object]"}function bp(e){return new Promise(t=>{setTimeout(t,e)})}function Ps(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Zo(e,t):t}function yg(e){return e}function wp(e,t,n=0){const s=[...e,t];return n&&s.length>n?s.slice(1):s}function Sp(e,t,n=0){const s=[t,...e];return n&&s.length>n?s.slice(0,-1):s}var Js=Symbol();function Ho(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Js?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var kp=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"}},qs=new kp,Tp=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}},Dn=new Tp;function Ds(){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 Ep(e){return Math.min(1e3*2**e,3e4)}function Vo(e){return(e??"online")==="online"?Dn.isOnline():!0}var zo=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function cs(e){return e instanceof zo}function Ko(e){let t=!1,n=0,s=!1,r;const i=Ds(),o=v=>{s||(p(new zo(v)),e.abort?.())},c=()=>{t=!0},l=()=>{t=!1},d=()=>qs.isFocused()&&(e.networkMode==="always"||Dn.isOnline())&&e.canRun(),u=()=>Vo(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??Ep,x=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),bp(x).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 Ip=e=>setTimeout(e,0);function xp(){let e=[],t=0,n=c=>{c()},s=c=>{c()},r=Ip;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=xp(),Wo=class{#t;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Rs(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)}},Cp=class extends Wo{#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=Rp(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=Ps(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(ke).catch(ke):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#t)}isActive(){return this.observers.some(e=>Ee(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Js||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||!Go(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=Ho(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=>{cs(c)&&c.silent||this.#i({type:"error",error:c}),cs(c)||(this.#n.config.onError?.(c,this),this.#n.config.onSettled?.(this.state.data,c,this)),this.scheduleGc()};return this.#r=Ko({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,...Yo(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 cs(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 Yo(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Vo(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Rp(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 Ap=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??Xs(s,t);let i=this.get(r);return i||(i=new Cp({client:e,queryKey:s,queryHash:r,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(s)}),this.add(i)),i}add(e){this.#t.has(e.queryHash)||(this.#t.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#t.get(e.queryHash);t&&(e.destroy(),t===e&&this.#t.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){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=>pi(t,n))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(n=>pi(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()})})}},Op=class extends Wo{#t;#e;#n;constructor(e){super(),this.mutationId=e.mutationId,this.#e=e.mutationCache,this.#t=[],this.state=e.state||Pp(),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=Ko({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 Pp(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Dp=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 Op({mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(s),s}add(e){this.#t.add(e);const t=vn(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=vn(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=vn(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=vn(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=>hi(t,n))}findAll(e={}){return this.getAll().filter(t=>hi(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(ke))))}};function vn(e){return e.options.scope?.id}function yi(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=Ho(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,x=k?Sp:wp;return{pages:x(S.pages,O,w),pageParams:x(S.pageParams,v,w)}};if(r&&i.length){const S=r==="backward",v=S?Mp:vi,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:vi(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 vi(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 Mp(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Lp=class{#t;#e;#n;#s;#r;#a;#o;#i;constructor(e={}){this.#t=e.queryCache||new Ap,this.#e=e.mutationCache||new Dp,this.#n=e.defaultOptions||{},this.#s=new Map,this.#r=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=qs.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#t.onFocus())}),this.#i=Dn.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(It(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=_p(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(ke).catch(ke)}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(ke)),r.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(s).then(ke)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=this.#t.build(this,t);return n.isStaleByTime(It(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ke).catch(ke)}fetchInfiniteQuery(e){return e.behavior=yi(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ke).catch(ke)}ensureInfiniteQueryData(e){return e.behavior=yi(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Dn.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=Xs(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===Js&&(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()}},Np=class extends rn{constructor(e,t){super(),this.options=t,this.#t=e,this.#i=null,this.#o=Ds(),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),_i(this.#e,this.options)?this.#u():this.updateResult(),this.#_())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ms(this.#e,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ms(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 Ee(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&&!As(this.options,t)&&this.#t.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#e,observer:this});const s=this.hasListeners();s&&bi(this.#e,n,this.options,t)&&this.#u(),this.updateResult(),s&&(this.#e!==n||Ee(this.options.enabled,this.#e)!==Ee(t.enabled,this.#e)||It(this.options.staleTime,this.#e)!==It(t.staleTime,this.#e))&&this.#g();const r=this.#y();s&&(this.#e!==n||Ee(this.options.enabled,this.#e)!==Ee(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 $p(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(ke)),t}#g(){this.#b();const e=It(this.options.staleTime,this.#e);if(ft||this.#s.isStale||!Rs(e))return;const n=Go(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||Ee(this.options.enabled,this.#e)===!1||!Rs(this.#c)||this.#c===0)&&(this.#d=setInterval(()=>{(this.options.refetchIntervalInBackground||qs.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(),Y=!K&&_i(e,t),fe=K&&bi(e,n,t,s);(Y||fe)&&(u={...u,...Yo(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=Ps(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=Ps(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",x=O&&L,Z=p!==void 0,U={status:v,fetchStatus:u.fetchStatus,isPending:O,isSuccess:v==="success",isError:w,isInitialLoading:x,isLoading:x,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:er(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)},Y=()=>{const ye=this.#o=U.promise=Ds();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)&&Y();break;case"rejected":(U.status!=="error"||U.error!==fe.reason)&&Y();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),As(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 jp(e,t){return Ee(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function _i(e,t){return jp(e,t)||e.state.data!==void 0&&Ms(e,t,t.refetchOnMount)}function Ms(e,t,n){if(Ee(t.enabled,e)!==!1){const s=typeof n=="function"?n(e):n;return s==="always"||s!==!1&&er(e,t)}return!1}function bi(e,t,n,s){return(e!==t||Ee(s.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&er(e,n)}function er(e,t){return Ee(t.enabled,e)!==!1&&e.isStaleByTime(It(t.staleTime,e))}function $p(e,t){return!As(e.getCurrentResult(),t)}var tr=I.createContext(void 0),Up=e=>{const t=I.useContext(tr);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},vg=({client:e,children:t})=>(I.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),Ue.jsx(tr.Provider,{value:e,children:t})),Qo=I.createContext(!1),Fp=()=>I.useContext(Qo);Qo.Provider;function Bp(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Gp=I.createContext(Bp()),Zp=()=>I.useContext(Gp);function Hp(e,t){return typeof e=="function"?e(...t):!!e}function wi(){}var Vp=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},zp=e=>{I.useEffect(()=>{e.clearReset()},[e])},Kp=({result:e,errorResetBoundary:t,throwOnError:n,query:s,suspense:r})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(r&&e.data===void 0||Hp(n,[e.error,s])),Wp=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)))},Yp=(e,t)=>e.isLoading&&e.isFetching&&!t,Qp=(e,t)=>e?.suspense&&t.isPending,Si=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Xp(e,t,n){const s=Up(n),r=Fp(),i=Zp(),o=s.defaultQueryOptions(e);s.getDefaultOptions().queries?._experimental_beforeQuery?.(o),o._optimisticResults=r?"isRestoring":"optimistic",Wp(o),Vp(o,i),zp(i);const c=!s.getQueryCache().get(o.queryHash),[l]=I.useState(()=>new t(s,o)),d=l.getOptimisticResult(o),u=!r&&e.subscribed!==!1;if(I.useSyncExternalStore(I.useCallback(f=>{const p=u?l.subscribe(ue.batchCalls(f)):wi;return l.updateResult(),p},[l,u]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),I.useEffect(()=>{l.setOptions(o)},[o,l]),Qp(o,d))throw Si(o,l,i);if(Kp({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&&Yp(d,r)&&(c?Si(o,l,i):s.getQueryCache().get(o.queryHash)?.promise)?.catch(wi).finally(()=>{l.updateResult()}),o.notifyOnChangeProps?d:l.trackResult(d)}function Xo(e,t){return Xp(e,Np,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 Jp=[["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"}]],ls=Mn("command",Jp);/**
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 qp=[["polyline",{points:"9 10 4 15 9 20",key:"r3jprv"}],["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}]],ki=Mn("corner-down-left",qp);/**
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 eh=[["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"}]],_g=Mn("mic",eh);/**
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 th=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],bg=Mn("square",th);class Jo extends Error{status;constructor(t,n){super(n),this.name="TranscriptionRequestError",this.status=t}}function wg(e){const t=e instanceof Jo?e.status:null;if(t===402)return ah;if(t===401||t===403)return Ti;const n=e instanceof Error?e.message:"",s=qo(n);if(s==="")return lh;if(uh.test(s)){const o=_h(s),c=bh(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}.`:ch}if(fh.test(s))return Ti;const r=nh(wh(s)),i=r.endsWith("…")?" ":". ";return`Dictation failed: ${r.replace(oh,"")}${i}${dh}`}function nh(e){const[t]=sh.exec(e)??[];return t===void 0||t.length<2||rh.test(t.slice(1))||!ih.test(t)?e:e[0].toLowerCase()+e.slice(1)}const sh=/^[\p{L}\p{N}'’-]+/u,rh=/[\p{Lu}\p{N}]/u,ih=new RegExp("^\\p{Lu}","u"),oh=/\.$/,ah="Dictation failed: you're out of Radient credits. Get more credits, then try again.",Ti="Dictation failed: your Radient sign-in was refused. Sign in to Radient, then try again.",ch="Dictation failed: the account behind dictation is out of credits. If it's yours, top it up.",lh="Dictation failed: the server gave no reason. Try again, or report it with the app's log.",dh="Try again, or report it with the app's log.",uh=/insufficient_quota|insufficient funds|no credits remaining|exceeded your current quota|out of credits|billing (?:hard )?limit|credit balance is too low/i,fh=/unauthorized|invalid[ _-]?api[ _-]?key|incorrect api key|no api key|authentication|permission denied|forbidden/i,ph=/^([A-Za-z][A-Za-z0-9&.+_-]*(?: [A-Za-z][A-Za-z0-9&.+_-]*){0,2}) API error\b/,hh=/\bhttps?:\/\/[^\s"'<>),]+/,mh=/^https?:\/\//,gh=/[.,;:]+$/,yh=40,Ei=80,vh=40;function qo(e){return e.replace(/\s+/g," ").trim()}function _h(e){return ph.exec(e)?.[1]??null}function bh(e){const t=hh.exec(e)?.[0];if(t===void 0)return null;const n=t.replace(mh,"").replace(gh,"");return n===""||n.length>yh?null:n}function wh(e){const t=kh(e);if(t!==null)return Ii(qo(t));const n=e.replace(Sh,"").trim();return Ii(n===""?e:n)}const Sh=/^(?:GET|POST|PUT|PATCH|DELETE|HEAD)\s+\S+\s+returned\s+\d{3}\s*/i;function kh(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 Ii(e){if(e.length<=Ei)return e;const t=e.slice(0,Ei),n=t.lastIndexOf(" ");return`${(n>vh?t.slice(0,n):t).trimEnd()}…`}const Sg="No words were picked up. Try again a little closer to the microphone.",kg={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 jl({op:"transcription.create",fileName:t.file.name||"audio",mimeType:t.file.type||"application/octet-stream",fields:n},s);if(r.kind!=="json")throw new Jo(r.status,$l(r).message);return r.body}},Th=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")}),Eh={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 Ih(){try{const e={};for(const[t,n]of Object.entries(Eh))t.startsWith("VITE_")&&(e[t]=String(n));return Th.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 ds=Ih();let ea=null;function Tg(e){ea=e}const Eg={get baseUrl(){return ea??ds.VITE_LOCAL_OPERATOR_API_URL},radientBaseUrl:ds.VITE_RADIENT_SERVER_BASE_URL,radientClientId:ds.VITE_RADIENT_CLIENT_ID};function Ig(e){return e!=="detached"&&e!=="wedged"}function ta(e){return e!=="governed-elsewhere"&&e!=="pre-handshake"}function xg(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=ta(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 xh(e){if(Ml(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 na={unreachable:"",deadline:"",unauthorized:"",outdated:"Update the server and try again.",unknown:""},Ls={unreachable:"The Local Operator server is not answering.",deadline:"The Local Operator server did not answer in time.",unauthorized:"This app cannot authenticate to the running Local Operator server.",outdated:"The Local Operator server is older than this app expects.",unknown:""};function Ch(e,t){const n=xh(t);return[e,Ls[n],na[n]].filter(Boolean).join(" ")}const Ns={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."},Rh={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 Cg(e,t){return e!=="unpaired"?null:Rh[t??"unpaired"]}function Rg(e,t){return e!=="unpaired"?null:Ns[t??"unpaired"]}function Ag(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 Og(e){const{kind:t,unpaired:n,missing:s,answered:r,cause:i=null}=e;if(i!==null)return Ns[i];if(!r){if(t==="unreachable")return`${Ls.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`${Ls.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. ${na.outdated}`}return n?Ns.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 Ah=["auth","settings","commands","catalogues","lifecycle","mcp","radient"];function Pg(e,t=null){return t!==null||!e?!0:Ah.filter(s=>(e.features?.[s]??0)<1).length>0||e.desktop_available!==!0}function Oh(e,t){return t instanceof q&&t.status===null?!1:e<1}const Ph={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 Dg(e,t,n){return e===null?{sentence:Ch(t,n),remedy:!0}:{sentence:Ph[e],remedy:ta(e)}}const Dh=()=>{const e=I.useContext(tr)??null,t=I.useMemo(()=>new Lp({defaultOptions:{queries:{enabled:!1,retry:!1}}}),[]);return I.useMemo(()=>e?{client:e,provided:!0}:{client:t,provided:!1},[e,t])},sa={capabilities:["desktop","capabilities"],providers:["desktop","auth","providers"],commands:["desktop","commands"],accounts:["desktop","auth","accounts"],catalogue:["desktop","models"],credentials:e=>["desktop","credentials",e]},Mh=3e4,Lh=15e3;function Nh(e){return e?.desktop_available===!0}function Mg(){const{client:e,provided:t}=Dh();return Xo({enabled:t,queryKey:sa.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=>Nh(n.state.data)?Mh:Lh,refetchIntervalInBackground:!0},e)}function jh(e,t,n=1){return e?e.desktop_available?(e.features?.[t]??0)>=n?"enabled":"below-version":"unpaired":"unknown"}function Lg(e,t,n=1){return jh(e,t,n)==="enabled"}function Ng(e){return Xo({queryKey:sa.providers,queryFn:()=>de({op:"providers.list"}).then(t=>t.providers),enabled:e,staleTime:3e4,retry:Oh})}const $h=12,Uh="inline-flex h-5 min-w-5 items-center justify-center rounded-xs px-1 font-mono text-ink-dim text-mono-sm",Fh="inline-flex items-center gap-0",Bh={"⌘":ls,cmd:ls,command:ls,enter:ki,"↵":ki},jg=({shortcut:e,joined:t=!1})=>{const n=e.split("+").map(s=>s.trim());return Ue.jsx("span",{className:Fh,children:n.map((s,r)=>{const i=Bh[s.toLowerCase()];return Ue.jsxs(I.Fragment,{children:[r>0&&!t&&Ue.jsx("span",{"aria-hidden":"true",className:"text-mono-sm text-ink-dim",children:"+"}),Ue.jsx("kbd",{className:Uh,children:i?Ue.jsxs(Ue.Fragment,{children:[Ue.jsx(i,{size:$h,"aria-hidden":"true"}),Ue.jsx("span",{className:"sr-only",children:s})]}):s})]},`${s}-${r}`)})})},$g="primary+alt+shift+space",Gh=/^f([1-9]|1[0-9]|2[0-4])$/;function Zh(e){return Gh.test(e)}function ra(e,t){const n=Hh(e,t);return t==="mac"?n.join(""):n.join("+")}function Hh(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]:Zh(i)||i.length===1?i.toUpperCase():i)}const Ug="Error accessing microphone. Please ensure microphone permissions are granted.",Fg="Dictation is not available on this device.",Bg={seatLabel:"To: the chief of staff",placeholder:"Message your chief of staff",send:"Send",sent:"Sent",retry:"Retry",hint:"Enter sends, Shift+Enter adds a line, Esc hides",recording:"Recording. Press the stop button when you're done.",transcribing:"Transcribing.",dictationStart:"Dictate a message",dictationStop:"Stop dictation",seatMissing:"This build doesn't have a chief-of-staff seat.",seatOpenFailed:"Couldn't open the chief-of-staff conversation.",seatUnreachable:"Couldn't reach the chief of staff.",keepText:"Your message is still here.",postAdmission:"That didn't reach the chief of staff — check the conversation."},Gg="If the chord does nothing, another app or the system owns it — choose another.",Zg="Works even when the app isn't focused.",Hg="A global shortcut needs a modifier — it would otherwise fire while you type.";function Vg(e){const t=n=>ra(n,e);return`Try ${t("primary+shift+space")} or ${t("primary+f8")} if that one is taken.`}function zg(e,t){const n=r=>ra(r,t);switch(e.split("+").map(r=>r.trim().toLowerCase()).filter(Boolean).sort().join("+")){case"alt+primary+space":return Vh(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 Vh(e,t,n){return e==="mac"?t:n}function Kg(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 Wg(){try{return window.api?.windowChrome?.facts?.().platform??"linux"}catch{return"linux"}}var zh=(e=>(e[e.MESSAGE_INPUT=1]="MESSAGE_INPUT",e[e.INLINE_EDIT=2]="INLINE_EDIT",e))(zh||{});const Kh=/Mac|iPhone|iPad/,Wh={darwin:{alt:"Option",meta:"Command",ctrl:"Control"},win32:{alt:"Command",meta:"Win",ctrl:"Control"},other:{alt:"Command",meta:"Super",ctrl:"Control"}},Yh=()=>{const e=typeof navigator>"u"?"":navigator.platform??"";return Kh.test(e)?"darwin":/Win/i.test(e)?"win32":"other"},Qh=(e,t,n)=>`${e==="alt"?n==="darwin"?"Alt":"Meta":e==="meta"?"Meta":"Control"}${t==="left"?"Left":"Right"}`,ia=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=Yh(),[,s,r]=t;return{code:Qh(s,r,n),label:`${r==="left"?"Left":"Right"}-${Wh[n][s]}`}},Xh=()=>ia("alt-right-hold");let oa=null;const xi=()=>oa??Xh();let Pt=null;const Jh=async()=>Pt||(Pt=(async()=>{try{const t=(await de({op:"settings.list"})).settings.find(n=>n.key==="keymap.push_to_talk");oa=ia(t?.value)}catch{}finally{Pt=null}})(),Pt),js=new Set,Yg=(e,t)=>{t?js.add(e):js.delete(e)},Qg=()=>js.size>0;class qh{handlers=new Map;isListening=!1;engaged=null;register(t,n,s,r){this.handlers.set(t,{id:t,priority:n,handler:s,isActive:r}),Jh(),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 Ci=new qh,Xg=(e,t,n,s)=>{const r=I.useRef(n),i=I.useRef(s);r.current=n,i.current=s;const o=I.useRef({start:()=>r.current.start(),stop:l=>r.current.stop(l)}),c=I.useCallback(()=>i.current(),[]);I.useEffect(()=>(Ci.register(e,t,o.current,c),()=>{Ci.unregister(e)}),[e,t,c])};function Jg(e){const t=e.trim();if(t.startsWith("="))return null;const n=t.toLowerCase();return n==="pause"||n==="resume"||n==="status"?n:null}function qg(e){const t=e.trim();return t.startsWith("=")?t.slice(1).trimStart():t}function ey(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 ty(e){return jn(e,"Aida's controls could not reach the backend.")}const ny="The chief of staff is switched off on this install.";export{Si as $,ny as A,Xo as B,Oh as C,q as D,$c as E,Uc as F,Fc as G,Bc as H,jh as I,ag as J,jg as K,Gc as L,Ug as M,rn as N,ue as O,Sr as P,Zo as Q,Np as R,ve as S,kg as T,Fp as U,Zp as V,Wp as W,Vp as X,zp as Y,wi as Z,Qp as _,Mg as a,Tc as a$,Yp as a0,Kp as a1,Cr as a2,im as a3,om as a4,De as a5,cd as a6,np as a7,Dg as a8,Je as a9,Te as aA,el as aB,Zf as aC,to as aD,Ul as aE,Hm as aF,Zm as aG,Vm as aH,Xm as aI,Qm as aJ,Wm as aK,kt as aL,ym as aM,fm as aN,gm as aO,mm as aP,lm as aQ,$m as aR,Um as aS,Nm as aT,Lm as aU,Rm as aV,no as aW,Dm as aX,Tm as aY,Em as aZ,xm as a_,um as aa,Ac as ab,sg as ac,As as ad,tn as ae,Pp as af,Hp as ag,pm as ah,jl as ai,$l as aj,ds as ak,Tg as al,Ig as am,am as an,ur as ao,xl as ap,cm as aq,xc as ar,sa as as,Zu as at,qm as au,eg as av,Jm as aw,xo as ax,Uu as ay,Zs as az,Ng as b,cp as b$,Ec as b0,Ic as b1,eo as b2,lo as b3,fr as b4,Dh as b5,hm as b6,zg as b7,Hg as b8,Zh as b9,ys as bA,_m as bB,vm as bC,Lp as bD,yg as bE,Ml as bF,zm as bG,Io as bH,es as bI,Km as bJ,Vi as bK,Sg as bL,ug as bM,lg as bN,dg as bO,xi as bP,lr as bQ,Fs as bR,Gi as bS,Ah as bT,Pg as bU,xh as bV,Og as bW,Ag as bX,dm as bY,Sc as bZ,kc as b_,ra as ba,Zg as bb,Kg as bc,Gg as bd,Vg as be,Cm as bf,gd as bg,Pm as bh,jm as bi,Am as bj,_d as bk,bm as bl,wm as bm,Wl as bn,km as bo,Sm as bp,Mm as bq,Om as br,Im as bs,Fm as bt,tg as bu,ng as bv,ze as bw,Ft as bx,Gs as by,Bs as bz,Rg as c,ap as c0,li as c1,tp as c2,Uo as c3,di as c4,sm as c5,xg as c6,Jg as c7,ey as c8,ty as c9,qg as ca,Bm as cb,Gm as cc,Bn as cd,zf as ce,ta as cf,Cg as cg,Qs as ch,rg as ci,Ym as cj,jo as ck,Qf as cl,Fn as cm,hg as cn,mg as co,ig as cp,og as cq,Do as cr,No as cs,Bf as ct,ci as cu,cg as cv,Qg as cw,pg as cx,Cp as cy,vg as cz,Lg as d,Fg as e,Eg as f,$g as g,de as h,Bg as i,Ke as j,gg as k,Kf as l,Yg as m,Xg as n,zh as o,fg as p,Hh as q,Wg as r,Vf as s,wg as t,Up as u,bg as v,_g as w,Ch as x,jn as y,rm as z};