@tomismeta/paperclip-aperture 0.4.6 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/worker.js CHANGED
@@ -1,11 +1,11 @@
1
- var ly=Object.defineProperty;var uy=(e,t)=>{for(var n in t)ly(e,n,{get:t[n],enumerable:!0})};function Ys(e){return Object.freeze({definition:e})}var r={};uy(r,{BRAND:()=>Dy,DIRTY:()=>lt,EMPTY_PATH:()=>gy,INVALID:()=>A,NEVER:()=>IS,OK:()=>Z,ParseStatus:()=>z,Schema:()=>C,ZodAny:()=>Xe,ZodArray:()=>$e,ZodBigInt:()=>dt,ZodBoolean:()=>pt,ZodBranded:()=>En,ZodCatch:()=>_t,ZodDate:()=>mt,ZodDefault:()=>kt,ZodDiscriminatedUnion:()=>yr,ZodEffects:()=>ge,ZodEnum:()=>It,ZodError:()=>se,ZodFirstPartyTypeKind:()=>w,ZodFunction:()=>br,ZodIntersection:()=>yt,ZodIssueCode:()=>y,ZodLazy:()=>St,ZodLiteral:()=>bt,ZodMap:()=>Zt,ZodNaN:()=>Xt,ZodNativeEnum:()=>vt,ZodNever:()=>Ie,ZodNull:()=>ft,ZodNullable:()=>xe,ZodNumber:()=>ut,ZodObject:()=>ie,ZodOptional:()=>pe,ZodParsedType:()=>k,ZodPipeline:()=>An,ZodPromise:()=>Qe,ZodReadonly:()=>Et,ZodRecord:()=>Sr,ZodSchema:()=>C,ZodSet:()=>Jt,ZodString:()=>Je,ZodSymbol:()=>Gt,ZodTransformer:()=>ge,ZodTuple:()=>we,ZodType:()=>C,ZodUndefined:()=>gt,ZodUnion:()=>ht,ZodUnknown:()=>qe,ZodVoid:()=>Yt,addIssueToContext:()=>v,any:()=>Ky,array:()=>Yy,bigint:()=>qy,boolean:()=>cu,coerce:()=>bS,custom:()=>iu,date:()=>$y,datetimeRegex:()=>ru,defaultErrorMap:()=>Fe,discriminatedUnion:()=>Qy,effect:()=>dS,enum:()=>cS,function:()=>iS,getErrorMap:()=>Kt,getParsedType:()=>Ae,instanceof:()=>Fy,intersection:()=>eS,isAborted:()=>fr,isAsync:()=>zt,isDirty:()=>hr,isValid:()=>Ze,late:()=>Uy,lazy:()=>oS,literal:()=>aS,makeIssue:()=>_n,map:()=>rS,nan:()=>jy,nativeEnum:()=>lS,never:()=>Wy,null:()=>Vy,nullable:()=>mS,number:()=>au,object:()=>Zy,objectUtil:()=>Zs,oboolean:()=>SS,onumber:()=>yS,optional:()=>pS,ostring:()=>hS,pipeline:()=>fS,preprocess:()=>gS,promise:()=>uS,quotelessJson:()=>dy,record:()=>nS,set:()=>sS,setErrorMap:()=>my,strictObject:()=>Jy,string:()=>ou,symbol:()=>By,transformer:()=>dS,tuple:()=>tS,undefined:()=>Hy,union:()=>Xy,unknown:()=>zy,util:()=>O,void:()=>Gy});var O;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{let o={};for(let a of i)o[a]=a;return o},e.getValidEnumValues=i=>{let o=e.objectKeys(i).filter(c=>typeof i[i[c]]!="number"),a={};for(let c of o)a[c]=i[c];return e.objectValues(a)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let o=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&o.push(a);return o},e.find=(i,o)=>{for(let a of i)if(o(a))return a},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function s(i,o=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}e.joinValues=s,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(O||(O={}));var Zs;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Zs||(Zs={}));var k=O.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ae=e=>{switch(typeof e){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(e)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(e)?k.array:e===null?k.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?k.promise:typeof Map<"u"&&e instanceof Map?k.map:typeof Set<"u"&&e instanceof Set?k.set:typeof Date<"u"&&e instanceof Date?k.date:k.object;default:return k.unknown}};var y=O.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"]),dy=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),se=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]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},s={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)s._errors.push(n(a));else{let c=s,u=0;for(;u<a.path.length;){let p=a.path[u];u===a.path.length-1?(c[p]=c[p]||{_errors:[]},c[p]._errors.push(n(a))):c[p]=c[p]||{_errors:[]},c=c[p],u++}}};return i(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,O.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},s=[];for(let i of this.issues)if(i.path.length>0){let o=i.path[0];n[o]=n[o]||[],n[o].push(t(i))}else s.push(t(i));return{formErrors:s,fieldErrors:n}}get formErrors(){return this.flatten()}};se.create=e=>new se(e);var py=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===k.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,O.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${O.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${O.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${O.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.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}"`:O.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.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==="bigint"?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 y.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 y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,O.assertNever(e)}return{message:n}},Fe=py;var Xl=Fe;function my(e){Xl=e}function Kt(){return Xl}var _n=e=>{let{data:t,path:n,errorMaps:s,issueData:i}=e,o=[...n,...i.path||[]],a={...i,path:o};if(i.message!==void 0)return{...i,path:o,message:i.message};let c="",u=s.filter(p=>!!p).slice().reverse();for(let p of u)c=p(a,{data:t,defaultError:c}).message;return{...i,path:o,message:c}},gy=[];function v(e,t){let n=Kt(),s=_n({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Fe?void 0:Fe].filter(i=>!!i)});e.common.issues.push(s)}var z=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let s=[];for(let i of n){if(i.status==="aborted")return A;i.status==="dirty"&&t.dirty(),s.push(i.value)}return{status:t.value,value:s}}static async mergeObjectAsync(t,n){let s=[];for(let i of n){let o=await i.key,a=await i.value;s.push({key:o,value:a})}return e.mergeObjectSync(t,s)}static mergeObjectSync(t,n){let s={};for(let i of n){let{key:o,value:a}=i;if(o.status==="aborted"||a.status==="aborted")return A;o.status==="dirty"&&t.dirty(),a.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(s[o.value]=a.value)}return{status:t.value,value:s}}},A=Object.freeze({status:"aborted"}),lt=e=>({status:"dirty",value:e}),Z=e=>({status:"valid",value:e}),fr=e=>e.status==="aborted",hr=e=>e.status==="dirty",Ze=e=>e.status==="valid",zt=e=>typeof Promise<"u"&&e instanceof Promise;var _;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(_||(_={}));var me=class{constructor(t,n,s,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=s,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Ql=(e,t)=>{if(Ze(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;let n=new se(e.common.issues);return this._error=n,this._error}}};function T(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:s,description:i}=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:i}:{errorMap:(a,c)=>{let{message:u}=e;return a.code==="invalid_enum_value"?{message:u??c.defaultError}:typeof c.data>"u"?{message:u??s??c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:u??n??c.defaultError}},description:i}}var C=class{get description(){return this._def.description}_getType(t){return Ae(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new z,ctx:{common:t.parent.common,data:t.data,parsedType:Ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(zt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let s=this.safeParse(t,n);if(s.success)return s.data;throw s.error}safeParse(t,n){let s={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ae(t)},i=this._parseSync({data:t,path:s.path,parent:s});return Ql(s,i)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ae(t)};if(!this["~standard"].async)try{let s=this._parseSync({data:t,path:[],parent:n});return Ze(s)?{value:s.value}:{issues:n.common.issues}}catch(s){s?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(s=>Ze(s)?{value:s.value}:{issues:n.common.issues})}async parseAsync(t,n){let s=await this.safeParseAsync(t,n);if(s.success)return s.data;throw s.error}async safeParseAsync(t,n){let s={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ae(t)},i=this._parse({data:t,path:s.path,parent:s}),o=await(zt(i)?i:Promise.resolve(i));return Ql(s,o)}refine(t,n){let s=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{let a=t(i),c=()=>o.addIssue({code:y.custom,...s(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(c(),!1)):a?!0:(c(),!1)})}refinement(t,n){return this._refinement((s,i)=>t(s)?!0:(i.addIssue(typeof n=="function"?n(s,i):n),!1))}_refinement(t){return new ge({schema:this,typeName:w.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return pe.create(this,this._def)}nullable(){return xe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $e.create(this)}promise(){return Qe.create(this,this._def)}or(t){return ht.create([this,t],this._def)}and(t){return yt.create(this,t,this._def)}transform(t){return new ge({...T(this._def),schema:this,typeName:w.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new kt({...T(this._def),innerType:this,defaultValue:n,typeName:w.ZodDefault})}brand(){return new En({typeName:w.ZodBranded,type:this,...T(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new _t({...T(this._def),innerType:this,catchValue:n,typeName:w.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return An.create(this,t)}readonly(){return Et.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},fy=/^c[^\s-]{8,}$/i,hy=/^[0-9a-z]+$/,yy=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Sy=/^[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,by=/^[a-z0-9_-]{21}$/i,Iy=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,vy=/^[-+]?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)?)??$/,ky=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_y="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Js,Ey=/^(?:(?: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])$/,Ay=/^(?:(?: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])$/,wy=/^(([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]))$/,xy=/^(([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])$/,Ty=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ry=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tu="((\\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])))",Cy=new RegExp(`^${tu}$`);function nu(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Py(e){return new RegExp(`^${nu(e)}$`)}function ru(e){let t=`${tu}T${nu(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Oy(e,t){return!!((t==="v4"||!t)&&Ey.test(e)||(t==="v6"||!t)&&wy.test(e))}function Ny(e,t){if(!Iy.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let s=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(s));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function Ly(e,t){return!!((t==="v4"||!t)&&Ay.test(e)||(t==="v6"||!t)&&xy.test(e))}var Je=class e extends C{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==k.string){let o=this._getOrReturnCtx(t);return v(o,{code:y.invalid_type,expected:k.string,received:o.parsedType}),A}let s=new z,i;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(i=this._getOrReturnCtx(t,i),v(i,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if(o.kind==="max")t.data.length>o.value&&(i=this._getOrReturnCtx(t,i),v(i,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if(o.kind==="length"){let a=t.data.length>o.value,c=t.data.length<o.value;(a||c)&&(i=this._getOrReturnCtx(t,i),a?v(i,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):c&&v(i,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),s.dirty())}else if(o.kind==="email")ky.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"email",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="emoji")Js||(Js=new RegExp(_y,"u")),Js.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"emoji",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="uuid")Sy.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"uuid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="nanoid")by.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"nanoid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="cuid")fy.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"cuid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="cuid2")hy.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"cuid2",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="ulid")yy.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"ulid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),v(i,{validation:"url",code:y.invalid_string,message:o.message}),s.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"regex",code:y.invalid_string,message:o.message}),s.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(i=this._getOrReturnCtx(t,i),v(i,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),s.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(i=this._getOrReturnCtx(t,i),v(i,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),s.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(i=this._getOrReturnCtx(t,i),v(i,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),s.dirty()):o.kind==="datetime"?ru(o).test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{code:y.invalid_string,validation:"datetime",message:o.message}),s.dirty()):o.kind==="date"?Cy.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{code:y.invalid_string,validation:"date",message:o.message}),s.dirty()):o.kind==="time"?Py(o).test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{code:y.invalid_string,validation:"time",message:o.message}),s.dirty()):o.kind==="duration"?vy.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"duration",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="ip"?Oy(t.data,o.version)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"ip",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="jwt"?Ny(t.data,o.alg)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"jwt",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="cidr"?Ly(t.data,o.version)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"cidr",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="base64"?Ty.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"base64",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="base64url"?Ry.test(t.data)||(i=this._getOrReturnCtx(t,i),v(i,{validation:"base64url",code:y.invalid_string,message:o.message}),s.dirty()):O.assertNever(o);return{status:s.value,value:t.data}}_regex(t,n,s){return this.refinement(i=>t.test(i),{validation:n,code:y.invalid_string,..._.errToObj(s)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",..._.errToObj(t)})}url(t){return this._addCheck({kind:"url",..._.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",..._.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",..._.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",..._.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",..._.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",..._.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",..._.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",..._.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",..._.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",..._.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",..._.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",..._.errToObj(t)})}datetime(t){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:t?.offset??!1,local:t?.local??!1,..._.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,..._.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",..._.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,..._.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,..._.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,..._.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,..._.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,..._.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,..._.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,..._.errToObj(n)})}nonempty(t){return this.min(1,_.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Je.create=e=>new Je({checks:[],typeName:w.ZodString,coerce:e?.coerce??!1,...T(e)});function My(e,t){let n=(e.toString().split(".")[1]||"").length,s=(t.toString().split(".")[1]||"").length,i=n>s?n:s,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}var ut=class e extends C{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)!==k.number){let o=this._getOrReturnCtx(t);return v(o,{code:y.invalid_type,expected:k.number,received:o.parsedType}),A}let s,i=new z;for(let o of this._def.checks)o.kind==="int"?O.isInteger(t.data)||(s=this._getOrReturnCtx(t,s),v(s,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(s=this._getOrReturnCtx(t,s),v(s,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(s=this._getOrReturnCtx(t,s),v(s,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?My(t.data,o.value)!==0&&(s=this._getOrReturnCtx(t,s),v(s,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(s=this._getOrReturnCtx(t,s),v(s,{code:y.not_finite,message:o.message}),i.dirty()):O.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,s,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:_.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:_.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:_.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let 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"&&O.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let 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)}};ut.create=e=>new ut({checks:[],typeName:w.ZodNumber,coerce:e?.coerce||!1,...T(e)});var dt=class e extends C{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)!==k.bigint)return this._getInvalidInput(t);let s,i=new z;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(s=this._getOrReturnCtx(t,s),v(s,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(s=this._getOrReturnCtx(t,s),v(s,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(s=this._getOrReturnCtx(t,s),v(s,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):O.assertNever(o);return{status:i.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return v(n,{code:y.invalid_type,expected:k.bigint,received:n.parsedType}),A}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,s,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:_.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};dt.create=e=>new dt({checks:[],typeName:w.ZodBigInt,coerce:e?.coerce??!1,...T(e)});var pt=class extends C{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==k.boolean){let s=this._getOrReturnCtx(t);return v(s,{code:y.invalid_type,expected:k.boolean,received:s.parsedType}),A}return Z(t.data)}};pt.create=e=>new pt({typeName:w.ZodBoolean,coerce:e?.coerce||!1,...T(e)});var mt=class e extends C{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==k.date){let o=this._getOrReturnCtx(t);return v(o,{code:y.invalid_type,expected:k.date,received:o.parsedType}),A}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return v(o,{code:y.invalid_date}),A}let s=new z,i;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(i=this._getOrReturnCtx(t,i),v(i,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),s.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(i=this._getOrReturnCtx(t,i),v(i,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),s.dirty()):O.assertNever(o);return{status:s.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:_.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:_.toString(n)})}get minDate(){let t=null;for(let 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(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};mt.create=e=>new mt({checks:[],coerce:e?.coerce||!1,typeName:w.ZodDate,...T(e)});var Gt=class extends C{_parse(t){if(this._getType(t)!==k.symbol){let s=this._getOrReturnCtx(t);return v(s,{code:y.invalid_type,expected:k.symbol,received:s.parsedType}),A}return Z(t.data)}};Gt.create=e=>new Gt({typeName:w.ZodSymbol,...T(e)});var gt=class extends C{_parse(t){if(this._getType(t)!==k.undefined){let s=this._getOrReturnCtx(t);return v(s,{code:y.invalid_type,expected:k.undefined,received:s.parsedType}),A}return Z(t.data)}};gt.create=e=>new gt({typeName:w.ZodUndefined,...T(e)});var ft=class extends C{_parse(t){if(this._getType(t)!==k.null){let s=this._getOrReturnCtx(t);return v(s,{code:y.invalid_type,expected:k.null,received:s.parsedType}),A}return Z(t.data)}};ft.create=e=>new ft({typeName:w.ZodNull,...T(e)});var Xe=class extends C{constructor(){super(...arguments),this._any=!0}_parse(t){return Z(t.data)}};Xe.create=e=>new Xe({typeName:w.ZodAny,...T(e)});var qe=class extends C{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Z(t.data)}};qe.create=e=>new qe({typeName:w.ZodUnknown,...T(e)});var Ie=class extends C{_parse(t){let n=this._getOrReturnCtx(t);return v(n,{code:y.invalid_type,expected:k.never,received:n.parsedType}),A}};Ie.create=e=>new Ie({typeName:w.ZodNever,...T(e)});var Yt=class extends C{_parse(t){if(this._getType(t)!==k.undefined){let s=this._getOrReturnCtx(t);return v(s,{code:y.invalid_type,expected:k.void,received:s.parsedType}),A}return Z(t.data)}};Yt.create=e=>new Yt({typeName:w.ZodVoid,...T(e)});var $e=class e extends C{_parse(t){let{ctx:n,status:s}=this._processInputParams(t),i=this._def;if(n.parsedType!==k.array)return v(n,{code:y.invalid_type,expected:k.array,received:n.parsedType}),A;if(i.exactLength!==null){let a=n.data.length>i.exactLength.value,c=n.data.length<i.exactLength.value;(a||c)&&(v(n,{code:a?y.too_big:y.too_small,minimum:c?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),s.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(v(n,{code:y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),s.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(v(n,{code:y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),s.dirty()),n.common.async)return Promise.all([...n.data].map((a,c)=>i.type._parseAsync(new me(n,a,n.path,c)))).then(a=>z.mergeArray(s,a));let o=[...n.data].map((a,c)=>i.type._parseSync(new me(n,a,n.path,c)));return z.mergeArray(s,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:_.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:_.toString(n)}})}nonempty(t){return this.min(1,t)}};$e.create=(e,t)=>new $e({type:e,minLength:null,maxLength:null,exactLength:null,typeName:w.ZodArray,...T(t)});function Wt(e){if(e instanceof ie){let t={};for(let n in e.shape){let s=e.shape[n];t[n]=pe.create(Wt(s))}return new ie({...e._def,shape:()=>t})}else return e instanceof $e?new $e({...e._def,type:Wt(e.element)}):e instanceof pe?pe.create(Wt(e.unwrap())):e instanceof xe?xe.create(Wt(e.unwrap())):e instanceof we?we.create(e.items.map(t=>Wt(t))):e}var ie=class e extends C{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=O.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==k.object){let p=this._getOrReturnCtx(t);return v(p,{code:y.invalid_type,expected:k.object,received:p.parsedType}),A}let{status:s,ctx:i}=this._processInputParams(t),{shape:o,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof Ie&&this._def.unknownKeys==="strip"))for(let p in i.data)a.includes(p)||c.push(p);let u=[];for(let p of a){let m=o[p],f=i.data[p];u.push({key:{status:"valid",value:p},value:m._parse(new me(i,f,i.path,p)),alwaysSet:p in i.data})}if(this._def.catchall instanceof Ie){let p=this._def.unknownKeys;if(p==="passthrough")for(let m of c)u.push({key:{status:"valid",value:m},value:{status:"valid",value:i.data[m]}});else if(p==="strict")c.length>0&&(v(i,{code:y.unrecognized_keys,keys:c}),s.dirty());else if(p!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let p=this._def.catchall;for(let m of c){let f=i.data[m];u.push({key:{status:"valid",value:m},value:p._parse(new me(i,f,i.path,m)),alwaysSet:m in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let p=[];for(let m of u){let f=await m.key,h=await m.value;p.push({key:f,value:h,alwaysSet:m.alwaysSet})}return p}).then(p=>z.mergeObjectSync(s,p)):z.mergeObjectSync(s,u)}get shape(){return this._def.shape()}strict(t){return _.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,s)=>{let i=this._def.errorMap?.(n,s).message??s.defaultError;return n.code==="unrecognized_keys"?{message:_.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:w.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let s of O.objectKeys(t))t[s]&&this.shape[s]&&(n[s]=this.shape[s]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let s of O.objectKeys(this.shape))t[s]||(n[s]=this.shape[s]);return new e({...this._def,shape:()=>n})}deepPartial(){return Wt(this)}partial(t){let n={};for(let s of O.objectKeys(this.shape)){let i=this.shape[s];t&&!t[s]?n[s]=i:n[s]=i.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let s of O.objectKeys(this.shape))if(t&&!t[s])n[s]=this.shape[s];else{let o=this.shape[s];for(;o instanceof pe;)o=o._def.innerType;n[s]=o}return new e({...this._def,shape:()=>n})}keyof(){return su(O.objectKeys(this.shape))}};ie.create=(e,t)=>new ie({shape:()=>e,unknownKeys:"strip",catchall:Ie.create(),typeName:w.ZodObject,...T(t)});ie.strictCreate=(e,t)=>new ie({shape:()=>e,unknownKeys:"strict",catchall:Ie.create(),typeName:w.ZodObject,...T(t)});ie.lazycreate=(e,t)=>new ie({shape:e,unknownKeys:"strip",catchall:Ie.create(),typeName:w.ZodObject,...T(t)});var ht=class extends C{_parse(t){let{ctx:n}=this._processInputParams(t),s=this._def.options;function i(o){for(let c of o)if(c.result.status==="valid")return c.result;for(let c of o)if(c.result.status==="dirty")return n.common.issues.push(...c.ctx.common.issues),c.result;let a=o.map(c=>new se(c.ctx.common.issues));return v(n,{code:y.invalid_union,unionErrors:a}),A}if(n.common.async)return Promise.all(s.map(async o=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(i);{let o,a=[];for(let u of s){let p={...n,common:{...n.common,issues:[]},parent:null},m=u._parseSync({data:n.data,path:n.path,parent:p});if(m.status==="valid")return m;m.status==="dirty"&&!o&&(o={result:m,ctx:p}),p.common.issues.length&&a.push(p.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let c=a.map(u=>new se(u));return v(n,{code:y.invalid_union,unionErrors:c}),A}}get options(){return this._def.options}};ht.create=(e,t)=>new ht({options:e,typeName:w.ZodUnion,...T(t)});var je=e=>e instanceof St?je(e.schema):e instanceof ge?je(e.innerType()):e instanceof bt?[e.value]:e instanceof It?e.options:e instanceof vt?O.objectValues(e.enum):e instanceof kt?je(e._def.innerType):e instanceof gt?[void 0]:e instanceof ft?[null]:e instanceof pe?[void 0,...je(e.unwrap())]:e instanceof xe?[null,...je(e.unwrap())]:e instanceof En||e instanceof Et?je(e.unwrap()):e instanceof _t?je(e._def.innerType):[],yr=class e extends C{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.object)return v(n,{code:y.invalid_type,expected:k.object,received:n.parsedType}),A;let s=this.discriminator,i=n.data[s],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(v(n,{code:y.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){let i=new Map;for(let o of n){let a=je(o.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let c of a){if(i.has(c))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(c)}`);i.set(c,o)}}return new e({typeName:w.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...T(s)})}};function Xs(e,t){let n=Ae(e),s=Ae(t);if(e===t)return{valid:!0,data:e};if(n===k.object&&s===k.object){let i=O.objectKeys(t),o=O.objectKeys(e).filter(c=>i.indexOf(c)!==-1),a={...e,...t};for(let c of o){let u=Xs(e[c],t[c]);if(!u.valid)return{valid:!1};a[c]=u.data}return{valid:!0,data:a}}else if(n===k.array&&s===k.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let o=0;o<e.length;o++){let a=e[o],c=t[o],u=Xs(a,c);if(!u.valid)return{valid:!1};i.push(u.data)}return{valid:!0,data:i}}else return n===k.date&&s===k.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var yt=class extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t),i=(o,a)=>{if(fr(o)||fr(a))return A;let c=Xs(o.value,a.value);return c.valid?((hr(o)||hr(a))&&n.dirty(),{status:n.value,value:c.data}):(v(s,{code:y.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(([o,a])=>i(o,a)):i(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}};yt.create=(e,t,n)=>new yt({left:e,right:t,typeName:w.ZodIntersection,...T(n)});var we=class e extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.array)return v(s,{code:y.invalid_type,expected:k.array,received:s.parsedType}),A;if(s.data.length<this._def.items.length)return v(s,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&s.data.length>this._def.items.length&&(v(s,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...s.data].map((a,c)=>{let u=this._def.items[c]||this._def.rest;return u?u._parse(new me(s,a,s.path,c)):null}).filter(a=>!!a);return s.common.async?Promise.all(o).then(a=>z.mergeArray(n,a)):z.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};we.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new we({items:e,typeName:w.ZodTuple,rest:null,...T(t)})};var Sr=class e extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.object)return v(s,{code:y.invalid_type,expected:k.object,received:s.parsedType}),A;let i=[],o=this._def.keyType,a=this._def.valueType;for(let c in s.data)i.push({key:o._parse(new me(s,c,s.path,c)),value:a._parse(new me(s,s.data[c],s.path,c)),alwaysSet:c in s.data});return s.common.async?z.mergeObjectAsync(n,i):z.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,s){return n instanceof C?new e({keyType:t,valueType:n,typeName:w.ZodRecord,...T(s)}):new e({keyType:Je.create(),valueType:t,typeName:w.ZodRecord,...T(n)})}},Zt=class extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.map)return v(s,{code:y.invalid_type,expected:k.map,received:s.parsedType}),A;let i=this._def.keyType,o=this._def.valueType,a=[...s.data.entries()].map(([c,u],p)=>({key:i._parse(new me(s,c,s.path,[p,"key"])),value:o._parse(new me(s,u,s.path,[p,"value"]))}));if(s.common.async){let c=new Map;return Promise.resolve().then(async()=>{for(let u of a){let p=await u.key,m=await u.value;if(p.status==="aborted"||m.status==="aborted")return A;(p.status==="dirty"||m.status==="dirty")&&n.dirty(),c.set(p.value,m.value)}return{status:n.value,value:c}})}else{let c=new Map;for(let u of a){let p=u.key,m=u.value;if(p.status==="aborted"||m.status==="aborted")return A;(p.status==="dirty"||m.status==="dirty")&&n.dirty(),c.set(p.value,m.value)}return{status:n.value,value:c}}}};Zt.create=(e,t,n)=>new Zt({valueType:t,keyType:e,typeName:w.ZodMap,...T(n)});var Jt=class e extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.set)return v(s,{code:y.invalid_type,expected:k.set,received:s.parsedType}),A;let i=this._def;i.minSize!==null&&s.data.size<i.minSize.value&&(v(s,{code:y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&s.data.size>i.maxSize.value&&(v(s,{code:y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());let o=this._def.valueType;function a(u){let p=new Set;for(let m of u){if(m.status==="aborted")return A;m.status==="dirty"&&n.dirty(),p.add(m.value)}return{status:n.value,value:p}}let c=[...s.data.values()].map((u,p)=>o._parse(new me(s,u,s.path,p)));return s.common.async?Promise.all(c).then(u=>a(u)):a(c)}min(t,n){return new e({...this._def,minSize:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:_.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Jt.create=(e,t)=>new Jt({valueType:e,minSize:null,maxSize:null,typeName:w.ZodSet,...T(t)});var br=class e extends C{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.function)return v(n,{code:y.invalid_type,expected:k.function,received:n.parsedType}),A;function s(c,u){return _n({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Kt(),Fe].filter(p=>!!p),issueData:{code:y.invalid_arguments,argumentsError:u}})}function i(c,u){return _n({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Kt(),Fe].filter(p=>!!p),issueData:{code:y.invalid_return_type,returnTypeError:u}})}let o={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof Qe){let c=this;return Z(async function(...u){let p=new se([]),m=await c._def.args.parseAsync(u,o).catch(b=>{throw p.addIssue(s(u,b)),p}),f=await Reflect.apply(a,this,m);return await c._def.returns._def.type.parseAsync(f,o).catch(b=>{throw p.addIssue(i(f,b)),p})})}else{let c=this;return Z(function(...u){let p=c._def.args.safeParse(u,o);if(!p.success)throw new se([s(u,p.error)]);let m=Reflect.apply(a,this,p.data),f=c._def.returns.safeParse(m,o);if(!f.success)throw new se([i(m,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:we.create(t).rest(qe.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,s){return new e({args:t||we.create([]).rest(qe.create()),returns:n||qe.create(),typeName:w.ZodFunction,...T(s)})}},St=class extends C{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};St.create=(e,t)=>new St({getter:e,typeName:w.ZodLazy,...T(t)});var bt=class extends C{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return v(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:t.data}}get value(){return this._def.value}};bt.create=(e,t)=>new bt({value:e,typeName:w.ZodLiteral,...T(t)});function su(e,t){return new It({values:e,typeName:w.ZodEnum,...T(t)})}var It=class e extends C{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),s=this._def.values;return v(n,{expected:O.joinValues(s),received:n.parsedType,code:y.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),s=this._def.values;return v(n,{received:n.data,code:y.invalid_enum_value,options:s}),A}return Z(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(s=>!t.includes(s)),{...this._def,...n})}};It.create=su;var vt=class extends C{_parse(t){let n=O.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(t);if(s.parsedType!==k.string&&s.parsedType!==k.number){let i=O.objectValues(n);return v(s,{expected:O.joinValues(i),received:s.parsedType,code:y.invalid_type}),A}if(this._cache||(this._cache=new Set(O.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=O.objectValues(n);return v(s,{received:s.data,code:y.invalid_enum_value,options:i}),A}return Z(t.data)}get enum(){return this._def.values}};vt.create=(e,t)=>new vt({values:e,typeName:w.ZodNativeEnum,...T(t)});var Qe=class extends C{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.promise&&n.common.async===!1)return v(n,{code:y.invalid_type,expected:k.promise,received:n.parsedType}),A;let s=n.parsedType===k.promise?n.data:Promise.resolve(n.data);return Z(s.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Qe.create=(e,t)=>new Qe({type:e,typeName:w.ZodPromise,...T(t)});var ge=class extends C{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===w.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:s}=this._processInputParams(t),i=this._def.effect||null,o={addIssue:a=>{v(s,a),a.fatal?n.abort():n.dirty()},get path(){return s.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="preprocess"){let a=i.transform(s.data,o);if(s.common.async)return Promise.resolve(a).then(async c=>{if(n.value==="aborted")return A;let u=await this._def.schema._parseAsync({data:c,path:s.path,parent:s});return u.status==="aborted"?A:u.status==="dirty"?lt(u.value):n.value==="dirty"?lt(u.value):u});{if(n.value==="aborted")return A;let c=this._def.schema._parseSync({data:a,path:s.path,parent:s});return c.status==="aborted"?A:c.status==="dirty"?lt(c.value):n.value==="dirty"?lt(c.value):c}}if(i.type==="refinement"){let a=c=>{let u=i.refinement(c,o);if(s.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(s.common.async===!1){let c=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return c.status==="aborted"?A:(c.status==="dirty"&&n.dirty(),a(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(),a(c.value).then(()=>({status:n.value,value:c.value}))))}if(i.type==="transform")if(s.common.async===!1){let a=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!Ze(a))return A;let c=i.transform(a.value,o);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(a=>Ze(a)?Promise.resolve(i.transform(a.value,o)).then(c=>({status:n.value,value:c})):A);O.assertNever(i)}};ge.create=(e,t,n)=>new ge({schema:e,typeName:w.ZodEffects,effect:t,...T(n)});ge.createWithPreprocess=(e,t,n)=>new ge({schema:t,effect:{type:"preprocess",transform:e},typeName:w.ZodEffects,...T(n)});var pe=class extends C{_parse(t){return this._getType(t)===k.undefined?Z(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};pe.create=(e,t)=>new pe({innerType:e,typeName:w.ZodOptional,...T(t)});var xe=class extends C{_parse(t){return this._getType(t)===k.null?Z(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};xe.create=(e,t)=>new xe({innerType:e,typeName:w.ZodNullable,...T(t)});var kt=class extends C{_parse(t){let{ctx:n}=this._processInputParams(t),s=n.data;return n.parsedType===k.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};kt.create=(e,t)=>new kt({innerType:e,typeName:w.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...T(t)});var _t=class extends C{_parse(t){let{ctx:n}=this._processInputParams(t),s={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return zt(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new se(s.common.issues)},input:s.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new se(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}};_t.create=(e,t)=>new _t({innerType:e,typeName:w.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...T(t)});var Xt=class extends C{_parse(t){if(this._getType(t)!==k.nan){let s=this._getOrReturnCtx(t);return v(s,{code:y.invalid_type,expected:k.nan,received:s.parsedType}),A}return{status:"valid",value:t.data}}};Xt.create=e=>new Xt({typeName:w.ZodNaN,...T(e)});var Dy=Symbol("zod_brand"),En=class extends C{_parse(t){let{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}},An=class e extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?A:o.status==="dirty"?(n.dirty(),lt(o.value)):this._def.out._parseAsync({data:o.value,path:s.path,parent:s})})();{let i=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return i.status==="aborted"?A:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:s.path,parent:s})}}static create(t,n){return new e({in:t,out:n,typeName:w.ZodPipeline})}},Et=class extends C{_parse(t){let n=this._def.innerType._parse(t),s=i=>(Ze(i)&&(i.value=Object.freeze(i.value)),i);return zt(n)?n.then(i=>s(i)):s(n)}unwrap(){return this._def.innerType}};Et.create=(e,t)=>new Et({innerType:e,typeName:w.ZodReadonly,...T(t)});function eu(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function iu(e,t={},n){return e?Xe.create().superRefine((s,i)=>{let o=e(s);if(o instanceof Promise)return o.then(a=>{if(!a){let c=eu(t,s),u=c.fatal??n??!0;i.addIssue({code:"custom",...c,fatal:u})}});if(!o){let a=eu(t,s),c=a.fatal??n??!0;i.addIssue({code:"custom",...a,fatal:c})}}):Xe.create()}var Uy={object:ie.lazycreate},w;(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"})(w||(w={}));var Fy=(e,t={message:`Input not instance of ${e.name}`})=>iu(n=>n instanceof e,t),ou=Je.create,au=ut.create,jy=Xt.create,qy=dt.create,cu=pt.create,$y=mt.create,By=Gt.create,Hy=gt.create,Vy=ft.create,Ky=Xe.create,zy=qe.create,Wy=Ie.create,Gy=Yt.create,Yy=$e.create,Zy=ie.create,Jy=ie.strictCreate,Xy=ht.create,Qy=yr.create,eS=yt.create,tS=we.create,nS=Sr.create,rS=Zt.create,sS=Jt.create,iS=br.create,oS=St.create,aS=bt.create,cS=It.create,lS=vt.create,uS=Qe.create,dS=ge.create,pS=pe.create,mS=xe.create,gS=ge.createWithPreprocess,fS=An.create,hS=()=>ou().optional(),yS=()=>au().optional(),SS=()=>cu().optional(),bS={string:(e=>Je.create({...e,coerce:!0})),number:(e=>ut.create({...e,coerce:!0})),boolean:(e=>pt.create({...e,coerce:!0})),bigint:(e=>dt.create({...e,coerce:!0})),date:(e=>mt.create({...e,coerce:!0}))};var IS=A;var Qs=["active","paused","archived"];var ei=["local_trusted","authenticated"],ti=["private","public"],ni=["loopback","lan","tailnet","custom"],ri=["auto","explicit"],si=["active","paused","idle","running","error","pending_approval","terminated"],wn=["process","http","acpx_local","claude_local","codex_local","cursor_cloud","gemini_local","opencode_local","pi_local","cursor","openclaw_gateway"],ii=["ceo","cto","cmo","cfo","security","engineer","designer","pm","qa","devops","researcher","general"];var oi=["cheap"],ai=["bot","cpu","brain","zap","rocket","code","terminal","shield","eye","search","wrench","hammer","lightbulb","sparkles","star","heart","flame","bug","cog","database","globe","lock","mail","message-square","file-code","git-branch","package","puzzle","target","wand","atom","circuit-board","radar","swords","telescope","microscope","crown","gem","hexagon","pentagon","fingerprint"],ci=["folder","rocket","code","terminal","database","globe","package","boxes","box","layers","briefcase","compass","target","flame","zap","star","bug","wrench","hammer","lightbulb","sparkles","shield","lock","search","cog","brain","cpu","git-branch","file-code","puzzle","gem","atom","heart","mail","message-square","crown","radar","telescope","hexagon"],xn=["backlog","todo","in_progress","in_review","done","blocked","cancelled"],lu=["backlog","todo","in_progress","in_review","blocked","done"],li=lu.join(","),Te=["critical","high","medium","low"],Ir=["standard","planning"],uu=1024,ui=["user","agent","system"],di=["message","system_notice"],pi=["neutral","info","success","warning","danger"],mi=["text","code","key_value","issue_link","agent_link","run_link"];function gi(e){return typeof e!="number"||!Number.isFinite(e)?0:Math.min(uu,Math.max(0,Math.floor(e)))}var fi=["suggest_tasks","ask_user_questions","request_confirmation","request_checkbox_confirmation"],Qt=200,hi=["pending","accepted","rejected","answered","cancelled","expired","failed"],yi=["none","wake_assignee","wake_assignee_on_accept"];var Si=["default","plugin_operation"],bi=["missing_disposition","stranded_assigned_issue","workspace_validation","active_run_watchdog","issue_graph_liveness"],Ii=["active","escalated","resolved","cancelled"],vi=["agent","user","board","system"],ki=["restored","delegated","false_positive","blocked","escalated","cancelled"];var _i=["pause","resume","cancel","restore"];var Ei=["manual","after_active_runs_finish"],du="continuation-summary",pu=[du],iT=new Set(pu);var Ai=["open","resolved"],wi=["active","stale","orphaned"],xi=["exact","duplicate","fuzzy","ambiguous","missing"],Ti=["normal","auto"],vr=["review","approval"],kr=["assignee","board"],_r=["external_service"],Er=["wake_owner","create_recovery_issue","escalate_to_board"],Ri=["idle","pending","changes_requested","completed"],Ci=["scheduled","triggered","cleared"],Pi=["manual","triggered","done","cancelled","invalid_status","invalid_assignee","dispatch_skipped","timeout_exceeded","max_attempts_exhausted"],Oi=["approved","changes_requested"],Ni=["company","team","agent","task"],Li=["planned","active","achieved","cancelled"],Mi=["backlog","planned","in_progress","completed","cancelled"],Di=["local","ssh","sandbox","plugin"],Ui=["active","archived"],Fi=["active","released","expired","failed","retained"];var ji=["pending","success","failed"],en=["active","paused","archived"],tn=["coalesce_if_active","always_enqueue","skip_if_active"],nn=["skip_missed","enqueue_missed_with_cap"],Tn=["schedule","webhook","api"],At=["bearer","hmac_sha256","github_hmac","none"],qi=["text","textarea","number","boolean","select"];var $i=["hire_agent","approve_ceo_strategy","budget_override_required","request_board_approval"];var wt=["local_encrypted","aws_secrets_manager","gcp_secret_manager","vault"],Ar=["ready","warning","coming_soon","disabled"];var mu=["active","disabled","archived","deleted"],gu=["paperclip_managed","external_reference"];var fu=["agent","project","environment","routine","plugin","issue","run","system"];var Bi=["local_disk","s3"],Hi=["metered_api","subscription_included","subscription_overage","credits","fixed","unknown"],Vi=["inference_charge","platform_fee","credit_purchase","credit_refund","credit_expiry","byok_fee","gateway_overhead","log_storage_charge","logpush_charge","provisioned_capacity_charge","training_charge","custom_model_import_charge","custom_model_storage_charge","manual_adjustment"],Ki=["debit","credit"],zi=["input_token","output_token","cached_input_token","request","credit_usd","credit_unit","model_unit_minute","model_unit_hour","gb_month","train_token","unknown"],Wi=["company","agent","project"],Gi=["billed_cents"],Yi=["calendar_month_utc","lifetime"];var Zi=["keep_paused","raise_budget_and_resume"];var rn=["owner","admin","operator","viewer"];var Ji=["human","agent","both"],wr=["human","agent"],Xi=["pending_approval","approved","rejected"],xr=["agents:create","environments:manage","users:invite","users:manage_permissions","tasks:assign","tasks:assign_scope","tasks:manage_active_checkouts","joins:approve"];var Tr=["installed","ready","disabled","error","upgrade_pending","uninstalled"],Rr=["connector","workspace","automation","ui"],Cr=["companies.read","projects.read","project.workspaces.read","execution.workspaces.read","issues.read","issue.relations.read","issue.subtree.read","issue.comments.read","issue.documents.read","agents.read","goals.read","goals.create","goals.update","activity.read","costs.read","issues.orchestration.read","access.members.read","access.invites.read","authorization.grants.read","authorization.policies.read","authorization.audit.read","database.namespace.read","issues.create","issues.update","issue.relations.write","issues.checkout","issues.wakeup","issue.comments.create","issue.interactions.create","issue.documents.write","projects.managed","routines.managed","skills.managed","agents.pause","agents.resume","agents.invoke","agents.managed","access.members.write","access.invites.write","authorization.grants.write","authorization.policies.write","agent.sessions.create","agent.sessions.list","agent.sessions.send","agent.sessions.close","activity.log.write","metrics.write","telemetry.track","database.namespace.migrate","database.namespace.write","plugin.state.read","plugin.state.write","events.subscribe","events.emit","jobs.schedule","webhooks.receive","api.routes.register","http.outbound","secrets.read-ref","environment.drivers.register","local.folders","agent.tools.register","instance.settings.register","ui.sidebar.register","ui.page.register","ui.detailTab.register","ui.dashboardWidget.register","ui.commentAnnotation.register","ui.action.register"];var Qi=["companies","projects","goals","agents","issues","issue_documents","issue_relations","issue_comments","heartbeat_runs","cost_events","approvals","issue_approvals","budget_incidents"],eo=["GET","POST","PATCH","DELETE"],to=["board","agent","board-or-agent","webhook"],no=["none","required-for-agent-in-progress","always-for-agent"],Pr=["page","detailTab","taskDetailView","dashboardWidget","sidebar","routeSidebar","sidebarPanel","projectSidebarItem","globalToolbarButton","toolbarButton","contextMenuItem","commentAnnotation","commentContextMenuItem","settingsPage","companySettingsPage"],hu=["dashboard","onboarding","companies","company","settings","plugins","org","agents","projects","issues","goals","approvals","costs","activity","inbox","design-guide","tests"],Or=["general","environments","access","members","invites","secrets","instance"],ro=["page","detailTab","taskDetailView","dashboardWidget","sidebar","sidebarPanel","projectSidebarItem","globalToolbarButton","toolbarButton","contextMenuItem","commentAnnotation","commentContextMenuItem","settingsPage"],so=["navigate","openModal","openDrawer","openPopover","performAction","deepLink"],io=["inline","compact","default","wide","full"],oo=["hostInline","hostOverlay","hostRoute","external","iframe"],Rn=["project","issue","agent","goal","run","comment","execution_workspace","project_workspace"],sn=["instance","company","project","project_workspace","agent","issue","goal","run"];var ao=r.string().trim().min(1).default("process").describe(`Known built-in adapters: ${wn.join(", ")}. External adapters may register additional non-empty string types at runtime.`),co=r.string().trim().min(1).optional();var Nr=["standard","low_trust_review"];var Cn="low_trust_review";var Lr="quarantine";function on(e){let t=e?.trim();return t||void 0}function lo(e){let t=on(e)?.toLowerCase();return t==="127.0.0.1"||t==="localhost"||t==="::1"}function uo(e){let t=on(e)?.toLowerCase();return t==="0.0.0.0"||t==="::"}function yu(e,t){let n=on(e),s=on(t?.tailnetBindHost);return!n||lo(n)?"loopback":uo(n)?"lan":s&&n===s?"tailnet":"custom"}function po(e){let t=e.bind??yu(e.host),n=on(e.customBindHost),s=[];if(e.deploymentMode==="local_trusted"&&t!=="loopback"&&s.push("local_trusted requires server.bind=loopback"),t==="custom"&&!n){let i=on(e.host);(!i||lo(i)||uo(i))&&s.push("server.customBindHost is required when server.bind=custom")}return e.deploymentMode==="authenticated"&&e.deploymentExposure==="public"&&t==="tailnet"&&s.push("server.bind=tailnet is only supported for authenticated/private deployments"),s}var Mr=[3,7,14],Dr=[1,2,4],Ur=[1,3,6],Fr=24,Pn=1,On=720,xt={dailyDays:7,weeklyWeeks:4,monthlyMonths:1};var jr=["all","issues","comments","documents","artifacts","agents","projects"];var qr=["joined","left"];var Su=r.string().uuid(),bu=r.object({orderedIds:r.array(Su),updatedAt:r.coerce.date().nullable()}),Iu=r.object({orderedIds:r.array(Su)});var go=r.enum(qr),vu=r.object({state:go});var fo=r.enum(["active","idle","in_review","archived","cleanup_failed"]),ku=r.object({environmentId:r.string().uuid().optional().nullable(),provisionCommand:r.string().optional().nullable(),teardownCommand:r.string().optional().nullable(),cleanupCommand:r.string().optional().nullable(),workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable(),desiredState:r.enum(["running","stopped","manual"]).optional().nullable(),serviceStates:r.record(r.enum(["running","stopped","manual"])).optional().nullable()}).strict(),_S=r.object({workspaceCommandId:r.string().min(1).optional().nullable(),runtimeServiceId:r.string().uuid().optional().nullable(),serviceIndex:r.number().int().nonnegative().optional().nullable()}).strict(),ho=r.enum(["ready","ready_with_warnings","blocked"]),yo=r.enum(["archive_record","stop_runtime_services","cleanup_command","teardown_command","git_worktree_remove","git_branch_delete","remove_local_directory"]),So=r.object({kind:yo,label:r.string(),description:r.string(),command:r.string().nullable()}).strict(),bo=r.object({id:r.string().uuid(),identifier:r.string().nullable(),title:r.string(),status:r.string(),isTerminal:r.boolean()}).strict(),Io=r.object({repoRoot:r.string().nullable(),workspacePath:r.string().nullable(),branchName:r.string().nullable(),baseRef:r.string().nullable(),hasDirtyTrackedFiles:r.boolean(),hasUntrackedFiles:r.boolean(),dirtyEntryCount:r.number().int().nonnegative(),untrackedEntryCount:r.number().int().nonnegative(),aheadCount:r.number().int().nonnegative().nullable(),behindCount:r.number().int().nonnegative().nullable(),isMergedIntoBase:r.boolean().nullable(),createdByRuntime:r.boolean()}).strict(),ES=r.object({id:r.string(),companyId:r.string().uuid(),projectId:r.string().uuid().nullable(),projectWorkspaceId:r.string().uuid().nullable(),executionWorkspaceId:r.string().uuid().nullable(),issueId:r.string().uuid().nullable(),scopeType:r.enum(["project_workspace","execution_workspace","run","agent"]),scopeId:r.string().nullable(),serviceName:r.string(),status:r.enum(["starting","running","stopped","failed"]),lifecycle:r.enum(["shared","ephemeral"]),reuseKey:r.string().nullable(),command:r.string().nullable(),cwd:r.string().nullable(),port:r.number().int().nullable(),url:r.string().nullable(),provider:r.enum(["local_process","adapter_managed"]),providerRef:r.string().nullable(),ownerAgentId:r.string().uuid().nullable(),startedByRunId:r.string().uuid().nullable(),lastUsedAt:r.coerce.date(),startedAt:r.coerce.date(),stoppedAt:r.coerce.date().nullable(),stopPolicy:r.record(r.string(),r.unknown()).nullable(),healthStatus:r.enum(["unknown","healthy","unhealthy"]),configIndex:r.number().int().nonnegative().nullable().optional(),createdAt:r.coerce.date(),updatedAt:r.coerce.date()}).strict(),_u=r.object({workspaceId:r.string().uuid(),state:ho,blockingReasons:r.array(r.string()),warnings:r.array(r.string()),linkedIssues:r.array(bo),plannedActions:r.array(So),isDestructiveCloseAllowed:r.boolean(),isSharedWorkspace:r.boolean(),isProjectPrimaryWorkspace:r.boolean(),git:Io.nullable(),runtimeServices:r.array(ES)}).strict(),Eu=r.object({name:r.string().min(1).optional(),cwd:r.string().optional().nullable(),repoUrl:r.string().optional().nullable(),baseRef:r.string().optional().nullable(),branchName:r.string().optional().nullable(),providerRef:r.string().optional().nullable(),status:fo.optional(),cleanupEligibleAt:r.string().datetime().optional().nullable(),cleanupReason:r.string().optional().nullable(),config:ku.optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict();var vo=["issue_comment","issue_document_revision"],ko=["up","down"],_o=["allowed","not_allowed","prompt"],Eo="prompt",Ao=["local_only","pending","sent","failed"];var wo=r.enum(vo),Au=r.enum(Ao),xo=r.enum(ko),To=r.enum(_o),wu=r.object({targetType:wo,targetId:r.string().uuid(),vote:xo,reason:r.string().trim().max(1e3).optional(),allowSharing:r.boolean().optional()});function Ro(e,t){return r.number().refine(n=>e.includes(n),{message:`${t} must be one of: ${e.join(", ")}`})}var AS=r.object({dailyDays:Ro(Mr,"dailyDays").default(xt.dailyDays),weeklyWeeks:Ro(Dr,"weeklyWeeks").default(xt.weeklyWeeks),monthlyMonths:Ro(Ur,"monthlyMonths").default(xt.monthlyMonths)}),Co=r.object({censorUsernameInLogs:r.boolean().default(!1),keyboardShortcuts:r.boolean().default(!1),feedbackDataSharingPreference:To.default(Eo),backupRetention:AS.default(xt)}).strict(),xu=Co.partial(),Po=r.object({enableEnvironments:r.boolean().default(!1),enableIsolatedWorkspaces:r.boolean().default(!1),enableStreamlinedLeftNavigation:r.boolean().default(!1),enableIssuePlanDecompositions:r.boolean().default(!1),enableCloudSync:r.boolean().default(!1),autoRestartDevServerWhenIdle:r.boolean().default(!1),enableIssueGraphLivenessAutoRecovery:r.boolean().default(!1),issueGraphLivenessAutoRecoveryLookbackHours:r.number().int().min(Pn).max(On).default(Fr)}).strict(),Tu=Po.partial(),Ru=r.object({lookbackHours:r.number().int().min(Pn).max(On).optional()}).strict();var Cu=r.object({scopeType:r.enum(Wi),scopeId:r.string().uuid(),metric:r.enum(Gi).optional().default("billed_cents"),windowKind:r.enum(Yi).optional().default("calendar_month_utc"),amount:r.number().int().nonnegative(),warnPercent:r.number().int().min(1).max(99).optional().default(80),hardStopEnabled:r.boolean().optional().default(!0),notifyEnabled:r.boolean().optional().default(!0),isActive:r.boolean().optional().default(!0)}),Pu=r.object({action:r.enum(Zi),amount:r.number().int().nonnegative().optional(),decisionNote:r.string().optional().nullable()}).superRefine((e,t)=>{e.action==="raise_budget_and_resume"&&typeof e.amount!="number"&&t.addIssue({code:r.ZodIssueCode.custom,message:"amount is required when raising a budget",path:["amount"]})});var Ou=r.string().uuid().nullable().optional(),Nu=r.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional(),wS=r.string().min(1).nullable().optional(),Lu=r.number().int().min(1).max(1073741824),Oo=r.object({name:r.string().min(1),description:r.string().optional().nullable(),budgetMonthlyCents:r.number().int().nonnegative().optional().default(0),attachmentMaxBytes:Lu.optional()}),Mu=Oo.partial().extend({status:r.enum(Qs).optional(),spentMonthlyCents:r.number().int().nonnegative().optional(),requireBoardApprovalForNewAgents:r.boolean().optional(),feedbackDataSharingEnabled:r.boolean().optional(),feedbackDataSharingConsentAt:r.coerce.date().nullable().optional(),feedbackDataSharingConsentByUserId:r.string().min(1).nullable().optional(),feedbackDataSharingTermsVersion:wS,brandColor:Nu,logoAssetId:Ou,attachmentMaxBytes:Lu.optional()}),Du=r.object({name:r.string().min(1).optional(),description:r.string().nullable().optional(),brandColor:Nu,logoAssetId:Ou}).strict().refine(e=>e.name!==void 0||e.description!==void 0||e.brandColor!==void 0||e.logoAssetId!==void 0,"At least one branding field must be provided");var Nn=r.enum(Di),Br=r.enum(Ui),Uu=r.enum(Fi),Fu=r.enum(ji),xS={name:r.string().min(1),description:r.string().optional().nullable(),driver:Nn,status:Br.optional().default("active"),config:r.record(r.string(),r.unknown()).optional().default({}),metadata:r.record(r.string(),r.unknown()).optional().nullable()},ju=r.object(xS).strict(),qu=r.object({name:r.string().min(1).optional(),description:r.string().optional().nullable(),driver:Nn.optional(),status:Br.optional(),config:r.record(r.string(),r.unknown()).optional(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict(),$u=r.object({name:r.string().min(1).optional(),description:r.string().optional().nullable(),driver:Nn,config:r.record(r.string(),r.unknown()).optional().default({}),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict();var No=r.enum(["local_path","github","url","catalog","skills_sh"]),Hr=r.enum(["markdown_only","assets","scripts_executables"]),Vr=r.enum(["compatible","unknown","invalid"]),Kr=r.enum(["paperclip","github","local","url","catalog","skills_sh"]),Lo=r.object({path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"])}),Tt=r.object({id:r.string().uuid(),companyId:r.string().uuid(),key:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),description:r.string().nullable(),markdown:r.string(),sourceType:No,sourceLocator:r.string().nullable(),sourceRef:r.string().nullable(),trustLevel:Hr,compatibility:Vr,fileInventory:r.array(Lo).default([]),metadata:r.record(r.string(),r.unknown()).nullable(),createdAt:r.coerce.date(),updatedAt:r.coerce.date()}),Bu=Tt.extend({attachedAgentCount:r.number().int().nonnegative(),editable:r.boolean(),editableReason:r.string().nullable(),sourceLabel:r.string().nullable(),sourceBadge:Kr,catalogKind:r.enum(["bundled","optional"]).nullable(),originHash:r.string().nullable(),packageName:r.string().nullable(),packageVersion:r.string().nullable()}),Mo=r.object({id:r.string().uuid(),name:r.string().min(1),urlKey:r.string().min(1),adapterType:r.string().min(1),desired:r.boolean(),actualState:r.string().nullable().describe("Runtime adapter skill state when explicitly fetched; company skill detail reads return null without probing agent runtimes.")}),Hu=Tt.extend({attachedAgentCount:r.number().int().nonnegative(),usedByAgents:r.array(Mo).default([]),editable:r.boolean(),editableReason:r.string().nullable(),sourceLabel:r.string().nullable(),sourceBadge:Kr}),Vu=r.object({supported:r.boolean(),reason:r.string().nullable(),trackingRef:r.string().nullable(),currentRef:r.string().nullable(),latestRef:r.string().nullable(),hasUpdate:r.boolean(),installedHash:r.string().nullable(),originHash:r.string().nullable(),userModifiedAt:r.string().nullable(),updateHoldReason:r.enum(["local_modifications","audit_hard_stop","origin_unavailable","compatibility_invalid","operator_hold"]).nullable(),auditVerdict:r.enum(["pass","warning","fail"]).nullable(),auditCodes:r.array(r.string())}),Do=r.object({code:r.string().min(1),severity:r.enum(["warning","error"]),message:r.string().min(1),path:r.string().nullable()}),Ku=r.object({skillId:r.string().uuid(),installedHash:r.string().nullable(),originHash:r.string().nullable(),verdict:r.enum(["pass","warning","fail"]),codes:r.array(r.string()),findings:r.array(Do),scannedAt:r.string().min(1),scanVersion:r.string().min(1)}),zu=r.object({force:r.boolean().optional()}).default({}),Wu=r.object({force:r.boolean().optional()}).default({}),Gu=r.object({source:r.string().min(1)}),Yu=r.object({projectIds:r.array(r.string().uuid()).optional(),workspaceIds:r.array(r.string().uuid()).optional()}),Uo=r.object({projectId:r.string().uuid(),projectName:r.string().min(1),workspaceId:r.string().uuid().nullable(),workspaceName:r.string().nullable(),path:r.string().nullable(),reason:r.string().min(1)}),Fo=r.object({slug:r.string().min(1),key:r.string().min(1),projectId:r.string().uuid(),projectName:r.string().min(1),workspaceId:r.string().uuid(),workspaceName:r.string().min(1),path:r.string().min(1),existingSkillId:r.string().uuid(),existingSkillKey:r.string().min(1),existingSourceLocator:r.string().nullable(),reason:r.string().min(1)}),Zu=r.object({scannedProjects:r.number().int().nonnegative(),scannedWorkspaces:r.number().int().nonnegative(),discovered:r.number().int().nonnegative(),imported:r.array(Tt),updated:r.array(Tt),skipped:r.array(Uo),conflicts:r.array(Fo),warnings:r.array(r.string())}),Ju=r.object({name:r.string().min(1),slug:r.string().min(1).nullable().optional(),description:r.string().nullable().optional(),markdown:r.string().nullable().optional()}),Xu=r.object({skillId:r.string().uuid(),path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"]),content:r.string(),language:r.string().nullable(),markdown:r.boolean(),editable:r.boolean()}),Qu=r.object({path:r.string().min(1),content:r.string()}),zr=r.enum(["bundled","optional"]),jo=r.object({path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"]),sizeBytes:r.number().int().nonnegative(),sha256:r.string().min(1)}),qo=r.object({type:r.literal("github"),hostname:r.string().min(1),owner:r.string().min(1),repo:r.string().min(1),ref:r.string().min(1),commit:r.string().regex(/^[0-9a-f]{40}$/i),path:r.string(),url:r.string().url()}),$o=qo,Bo=r.object({id:r.string().min(1),key:r.string().min(1),kind:zr,category:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),description:r.string(),path:r.string().min(1),entrypoint:r.literal("SKILL.md"),trustLevel:Hr,compatibility:Vr,defaultInstall:r.boolean(),recommendedForRoles:r.array(r.string()),requires:r.array(r.string()),tags:r.array(r.string()),files:r.array(jo),contentHash:r.string().min(1),source:$o.optional(),packageName:r.string().min(1).optional(),packageVersion:r.string().min(1).optional()}),ed=r.object({kind:zr.optional(),category:r.string().min(1).optional(),q:r.string().min(1).optional()}),td=r.object({catalogSkillId:r.string().min(1),path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"]),content:r.string(),language:r.string().nullable(),markdown:r.boolean()}),nd=r.object({catalogSkillId:r.string().min(1),slug:r.string().min(1).nullable().optional(),force:r.boolean().optional()}),rd=r.object({action:r.enum(["created","updated","unchanged"]),skill:Tt,catalogSkill:Bo,warnings:r.array(r.string())});function TS(e){return e.replace(/\\r\\n/g,`
1
+ var hy=Object.defineProperty;var yy=(e,t)=>{for(var n in t)hy(e,n,{get:t[n],enumerable:!0})};function Js(e){return Object.freeze({definition:e})}var r={};yy(r,{BRAND:()=>Hy,DIRTY:()=>at,EMPTY_PATH:()=>vy,INVALID:()=>A,NEVER:()=>xS,OK:()=>Z,ParseStatus:()=>z,Schema:()=>C,ZodAny:()=>Ze,ZodArray:()=>qe,ZodBigInt:()=>lt,ZodBoolean:()=>ut,ZodBranded:()=>En,ZodCatch:()=>vt,ZodDate:()=>dt,ZodDefault:()=>It,ZodDiscriminatedUnion:()=>yr,ZodEffects:()=>ge,ZodEnum:()=>St,ZodError:()=>se,ZodFirstPartyTypeKind:()=>w,ZodFunction:()=>br,ZodIntersection:()=>ft,ZodIssueCode:()=>y,ZodLazy:()=>ht,ZodLiteral:()=>yt,ZodMap:()=>Zt,ZodNaN:()=>Xt,ZodNativeEnum:()=>bt,ZodNever:()=>Ie,ZodNull:()=>mt,ZodNullable:()=>xe,ZodNumber:()=>ct,ZodObject:()=>ie,ZodOptional:()=>pe,ZodParsedType:()=>k,ZodPipeline:()=>An,ZodPromise:()=>Je,ZodReadonly:()=>kt,ZodRecord:()=>Sr,ZodSchema:()=>C,ZodSet:()=>Jt,ZodString:()=>Ye,ZodSymbol:()=>Gt,ZodTransformer:()=>ge,ZodTuple:()=>we,ZodType:()=>C,ZodUndefined:()=>pt,ZodUnion:()=>gt,ZodUnknown:()=>je,ZodVoid:()=>Yt,addIssueToContext:()=>I,any:()=>Xy,array:()=>nS,bigint:()=>Wy,boolean:()=>uu,coerce:()=>wS,custom:()=>au,date:()=>Gy,datetimeRegex:()=>iu,defaultErrorMap:()=>Ue,discriminatedUnion:()=>oS,effect:()=>SS,enum:()=>fS,function:()=>pS,getErrorMap:()=>Kt,getParsedType:()=>Ae,instanceof:()=>Ky,intersection:()=>aS,isAborted:()=>fr,isAsync:()=>zt,isDirty:()=>hr,isValid:()=>Ge,late:()=>Vy,lazy:()=>mS,literal:()=>gS,makeIssue:()=>_n,map:()=>uS,nan:()=>zy,nativeEnum:()=>hS,never:()=>eS,null:()=>Jy,nullable:()=>IS,number:()=>lu,object:()=>rS,objectUtil:()=>Xs,oboolean:()=>AS,onumber:()=>ES,optional:()=>bS,ostring:()=>_S,pipeline:()=>kS,preprocess:()=>vS,promise:()=>yS,quotelessJson:()=>Sy,record:()=>lS,set:()=>dS,setErrorMap:()=>Iy,strictObject:()=>sS,string:()=>cu,symbol:()=>Yy,transformer:()=>SS,tuple:()=>cS,undefined:()=>Zy,union:()=>iS,unknown:()=>Qy,util:()=>O,void:()=>tS});var O;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{let o={};for(let a of i)o[a]=a;return o},e.getValidEnumValues=i=>{let o=e.objectKeys(i).filter(c=>typeof i[i[c]]!="number"),a={};for(let c of o)a[c]=i[c];return e.objectValues(a)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{let o=[];for(let a in i)Object.prototype.hasOwnProperty.call(i,a)&&o.push(a);return o},e.find=(i,o)=>{for(let a of i)if(o(a))return a},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function s(i,o=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}e.joinValues=s,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(O||(O={}));var Xs;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Xs||(Xs={}));var k=O.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ae=e=>{switch(typeof e){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(e)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(e)?k.array:e===null?k.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?k.promise:typeof Map<"u"&&e instanceof Map?k.map:typeof Set<"u"&&e instanceof Set?k.set:typeof Date<"u"&&e instanceof Date?k.date:k.object;default:return k.unknown}};var y=O.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"]),Sy=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),se=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]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},s={_errors:[]},i=o=>{for(let a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)s._errors.push(n(a));else{let c=s,u=0;for(;u<a.path.length;){let p=a.path[u];u===a.path.length-1?(c[p]=c[p]||{_errors:[]},c[p]._errors.push(n(a))):c[p]=c[p]||{_errors:[]},c=c[p],u++}}};return i(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,O.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},s=[];for(let i of this.issues)if(i.path.length>0){let o=i.path[0];n[o]=n[o]||[],n[o].push(t(i))}else s.push(t(i));return{formErrors:s,fieldErrors:n}}get formErrors(){return this.flatten()}};se.create=e=>new se(e);var by=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===k.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,O.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${O.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${O.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${O.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.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}"`:O.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.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==="bigint"?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 y.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 y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,O.assertNever(e)}return{message:n}},Ue=by;var eu=Ue;function Iy(e){eu=e}function Kt(){return eu}var _n=e=>{let{data:t,path:n,errorMaps:s,issueData:i}=e,o=[...n,...i.path||[]],a={...i,path:o};if(i.message!==void 0)return{...i,path:o,message:i.message};let c="",u=s.filter(p=>!!p).slice().reverse();for(let p of u)c=p(a,{data:t,defaultError:c}).message;return{...i,path:o,message:c}},vy=[];function I(e,t){let n=Kt(),s=_n({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Ue?void 0:Ue].filter(i=>!!i)});e.common.issues.push(s)}var z=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let s=[];for(let i of n){if(i.status==="aborted")return A;i.status==="dirty"&&t.dirty(),s.push(i.value)}return{status:t.value,value:s}}static async mergeObjectAsync(t,n){let s=[];for(let i of n){let o=await i.key,a=await i.value;s.push({key:o,value:a})}return e.mergeObjectSync(t,s)}static mergeObjectSync(t,n){let s={};for(let i of n){let{key:o,value:a}=i;if(o.status==="aborted"||a.status==="aborted")return A;o.status==="dirty"&&t.dirty(),a.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(s[o.value]=a.value)}return{status:t.value,value:s}}},A=Object.freeze({status:"aborted"}),at=e=>({status:"dirty",value:e}),Z=e=>({status:"valid",value:e}),fr=e=>e.status==="aborted",hr=e=>e.status==="dirty",Ge=e=>e.status==="valid",zt=e=>typeof Promise<"u"&&e instanceof Promise;var _;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(_||(_={}));var me=class{constructor(t,n,s,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=s,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},tu=(e,t)=>{if(Ge(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;let n=new se(e.common.issues);return this._error=n,this._error}}};function T(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:s,description:i}=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:i}:{errorMap:(a,c)=>{let{message:u}=e;return a.code==="invalid_enum_value"?{message:u??c.defaultError}:typeof c.data>"u"?{message:u??s??c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:u??n??c.defaultError}},description:i}}var C=class{get description(){return this._def.description}_getType(t){return Ae(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new z,ctx:{common:t.parent.common,data:t.data,parsedType:Ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(zt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let s=this.safeParse(t,n);if(s.success)return s.data;throw s.error}safeParse(t,n){let s={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ae(t)},i=this._parseSync({data:t,path:s.path,parent:s});return tu(s,i)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ae(t)};if(!this["~standard"].async)try{let s=this._parseSync({data:t,path:[],parent:n});return Ge(s)?{value:s.value}:{issues:n.common.issues}}catch(s){s?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(s=>Ge(s)?{value:s.value}:{issues:n.common.issues})}async parseAsync(t,n){let s=await this.safeParseAsync(t,n);if(s.success)return s.data;throw s.error}async safeParseAsync(t,n){let s={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ae(t)},i=this._parse({data:t,path:s.path,parent:s}),o=await(zt(i)?i:Promise.resolve(i));return tu(s,o)}refine(t,n){let s=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{let a=t(i),c=()=>o.addIssue({code:y.custom,...s(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(c(),!1)):a?!0:(c(),!1)})}refinement(t,n){return this._refinement((s,i)=>t(s)?!0:(i.addIssue(typeof n=="function"?n(s,i):n),!1))}_refinement(t){return new ge({schema:this,typeName:w.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return pe.create(this,this._def)}nullable(){return xe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return qe.create(this)}promise(){return Je.create(this,this._def)}or(t){return gt.create([this,t],this._def)}and(t){return ft.create(this,t,this._def)}transform(t){return new ge({...T(this._def),schema:this,typeName:w.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new It({...T(this._def),innerType:this,defaultValue:n,typeName:w.ZodDefault})}brand(){return new En({typeName:w.ZodBranded,type:this,...T(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new vt({...T(this._def),innerType:this,catchValue:n,typeName:w.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return An.create(this,t)}readonly(){return kt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},ky=/^c[^\s-]{8,}$/i,_y=/^[0-9a-z]+$/,Ey=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ay=/^[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,wy=/^[a-z0-9_-]{21}$/i,xy=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ty=/^[-+]?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)?)??$/,Ry=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Cy="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Qs,Py=/^(?:(?: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])$/,Oy=/^(?:(?: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])$/,Ny=/^(([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]))$/,Ly=/^(([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])$/,My=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Dy=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ru="((\\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])))",Uy=new RegExp(`^${ru}$`);function su(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Fy(e){return new RegExp(`^${su(e)}$`)}function iu(e){let t=`${ru}T${su(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function jy(e,t){return!!((t==="v4"||!t)&&Py.test(e)||(t==="v6"||!t)&&Ny.test(e))}function qy(e,t){if(!xy.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let s=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(s));return!(typeof i!="object"||i===null||"typ"in i&&i?.typ!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function $y(e,t){return!!((t==="v4"||!t)&&Oy.test(e)||(t==="v6"||!t)&&Ly.test(e))}var Ye=class e extends C{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==k.string){let o=this._getOrReturnCtx(t);return I(o,{code:y.invalid_type,expected:k.string,received:o.parsedType}),A}let s=new z,i;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(i=this._getOrReturnCtx(t,i),I(i,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if(o.kind==="max")t.data.length>o.value&&(i=this._getOrReturnCtx(t,i),I(i,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),s.dirty());else if(o.kind==="length"){let a=t.data.length>o.value,c=t.data.length<o.value;(a||c)&&(i=this._getOrReturnCtx(t,i),a?I(i,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):c&&I(i,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),s.dirty())}else if(o.kind==="email")Ry.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"email",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="emoji")Qs||(Qs=new RegExp(Cy,"u")),Qs.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"emoji",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="uuid")Ay.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"uuid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="nanoid")wy.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"nanoid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="cuid")ky.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"cuid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="cuid2")_y.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"cuid2",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="ulid")Ey.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"ulid",code:y.invalid_string,message:o.message}),s.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),I(i,{validation:"url",code:y.invalid_string,message:o.message}),s.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"regex",code:y.invalid_string,message:o.message}),s.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(i=this._getOrReturnCtx(t,i),I(i,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),s.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(i=this._getOrReturnCtx(t,i),I(i,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),s.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(i=this._getOrReturnCtx(t,i),I(i,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),s.dirty()):o.kind==="datetime"?iu(o).test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{code:y.invalid_string,validation:"datetime",message:o.message}),s.dirty()):o.kind==="date"?Uy.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{code:y.invalid_string,validation:"date",message:o.message}),s.dirty()):o.kind==="time"?Fy(o).test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{code:y.invalid_string,validation:"time",message:o.message}),s.dirty()):o.kind==="duration"?Ty.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"duration",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="ip"?jy(t.data,o.version)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"ip",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="jwt"?qy(t.data,o.alg)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"jwt",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="cidr"?$y(t.data,o.version)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"cidr",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="base64"?My.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"base64",code:y.invalid_string,message:o.message}),s.dirty()):o.kind==="base64url"?Dy.test(t.data)||(i=this._getOrReturnCtx(t,i),I(i,{validation:"base64url",code:y.invalid_string,message:o.message}),s.dirty()):O.assertNever(o);return{status:s.value,value:t.data}}_regex(t,n,s){return this.refinement(i=>t.test(i),{validation:n,code:y.invalid_string,..._.errToObj(s)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",..._.errToObj(t)})}url(t){return this._addCheck({kind:"url",..._.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",..._.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",..._.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",..._.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",..._.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",..._.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",..._.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",..._.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",..._.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",..._.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",..._.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",..._.errToObj(t)})}datetime(t){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:t?.offset??!1,local:t?.local??!1,..._.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,..._.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",..._.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,..._.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,..._.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,..._.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,..._.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,..._.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,..._.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,..._.errToObj(n)})}nonempty(t){return this.min(1,_.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ye.create=e=>new Ye({checks:[],typeName:w.ZodString,coerce:e?.coerce??!1,...T(e)});function By(e,t){let n=(e.toString().split(".")[1]||"").length,s=(t.toString().split(".")[1]||"").length,i=n>s?n:s,o=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return o%a/10**i}var ct=class e extends C{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)!==k.number){let o=this._getOrReturnCtx(t);return I(o,{code:y.invalid_type,expected:k.number,received:o.parsedType}),A}let s,i=new z;for(let o of this._def.checks)o.kind==="int"?O.isInteger(t.data)||(s=this._getOrReturnCtx(t,s),I(s,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(s=this._getOrReturnCtx(t,s),I(s,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(s=this._getOrReturnCtx(t,s),I(s,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?By(t.data,o.value)!==0&&(s=this._getOrReturnCtx(t,s),I(s,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(s=this._getOrReturnCtx(t,s),I(s,{code:y.not_finite,message:o.message}),i.dirty()):O.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,s,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:_.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:_.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:_.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let 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"&&O.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let 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)}};ct.create=e=>new ct({checks:[],typeName:w.ZodNumber,coerce:e?.coerce||!1,...T(e)});var lt=class e extends C{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)!==k.bigint)return this._getInvalidInput(t);let s,i=new z;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(s=this._getOrReturnCtx(t,s),I(s,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(s=this._getOrReturnCtx(t,s),I(s,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(s=this._getOrReturnCtx(t,s),I(s,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):O.assertNever(o);return{status:i.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return I(n,{code:y.invalid_type,expected:k.bigint,received:n.parsedType}),A}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,s,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:s,message:_.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};lt.create=e=>new lt({checks:[],typeName:w.ZodBigInt,coerce:e?.coerce??!1,...T(e)});var ut=class extends C{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==k.boolean){let s=this._getOrReturnCtx(t);return I(s,{code:y.invalid_type,expected:k.boolean,received:s.parsedType}),A}return Z(t.data)}};ut.create=e=>new ut({typeName:w.ZodBoolean,coerce:e?.coerce||!1,...T(e)});var dt=class e extends C{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==k.date){let o=this._getOrReturnCtx(t);return I(o,{code:y.invalid_type,expected:k.date,received:o.parsedType}),A}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return I(o,{code:y.invalid_date}),A}let s=new z,i;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(i=this._getOrReturnCtx(t,i),I(i,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),s.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(i=this._getOrReturnCtx(t,i),I(i,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),s.dirty()):O.assertNever(o);return{status:s.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:_.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:_.toString(n)})}get minDate(){let t=null;for(let 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(let 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:w.ZodDate,...T(e)});var Gt=class extends C{_parse(t){if(this._getType(t)!==k.symbol){let s=this._getOrReturnCtx(t);return I(s,{code:y.invalid_type,expected:k.symbol,received:s.parsedType}),A}return Z(t.data)}};Gt.create=e=>new Gt({typeName:w.ZodSymbol,...T(e)});var pt=class extends C{_parse(t){if(this._getType(t)!==k.undefined){let s=this._getOrReturnCtx(t);return I(s,{code:y.invalid_type,expected:k.undefined,received:s.parsedType}),A}return Z(t.data)}};pt.create=e=>new pt({typeName:w.ZodUndefined,...T(e)});var mt=class extends C{_parse(t){if(this._getType(t)!==k.null){let s=this._getOrReturnCtx(t);return I(s,{code:y.invalid_type,expected:k.null,received:s.parsedType}),A}return Z(t.data)}};mt.create=e=>new mt({typeName:w.ZodNull,...T(e)});var Ze=class extends C{constructor(){super(...arguments),this._any=!0}_parse(t){return Z(t.data)}};Ze.create=e=>new Ze({typeName:w.ZodAny,...T(e)});var je=class extends C{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Z(t.data)}};je.create=e=>new je({typeName:w.ZodUnknown,...T(e)});var Ie=class extends C{_parse(t){let n=this._getOrReturnCtx(t);return I(n,{code:y.invalid_type,expected:k.never,received:n.parsedType}),A}};Ie.create=e=>new Ie({typeName:w.ZodNever,...T(e)});var Yt=class extends C{_parse(t){if(this._getType(t)!==k.undefined){let s=this._getOrReturnCtx(t);return I(s,{code:y.invalid_type,expected:k.void,received:s.parsedType}),A}return Z(t.data)}};Yt.create=e=>new Yt({typeName:w.ZodVoid,...T(e)});var qe=class e extends C{_parse(t){let{ctx:n,status:s}=this._processInputParams(t),i=this._def;if(n.parsedType!==k.array)return I(n,{code:y.invalid_type,expected:k.array,received:n.parsedType}),A;if(i.exactLength!==null){let a=n.data.length>i.exactLength.value,c=n.data.length<i.exactLength.value;(a||c)&&(I(n,{code:a?y.too_big:y.too_small,minimum:c?i.exactLength.value:void 0,maximum:a?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),s.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&(I(n,{code:y.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),s.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&(I(n,{code:y.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),s.dirty()),n.common.async)return Promise.all([...n.data].map((a,c)=>i.type._parseAsync(new me(n,a,n.path,c)))).then(a=>z.mergeArray(s,a));let o=[...n.data].map((a,c)=>i.type._parseSync(new me(n,a,n.path,c)));return z.mergeArray(s,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:_.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:_.toString(n)}})}nonempty(t){return this.min(1,t)}};qe.create=(e,t)=>new qe({type:e,minLength:null,maxLength:null,exactLength:null,typeName:w.ZodArray,...T(t)});function Wt(e){if(e instanceof ie){let t={};for(let n in e.shape){let s=e.shape[n];t[n]=pe.create(Wt(s))}return new ie({...e._def,shape:()=>t})}else return e instanceof qe?new qe({...e._def,type:Wt(e.element)}):e instanceof pe?pe.create(Wt(e.unwrap())):e instanceof xe?xe.create(Wt(e.unwrap())):e instanceof we?we.create(e.items.map(t=>Wt(t))):e}var ie=class e extends C{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=O.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==k.object){let p=this._getOrReturnCtx(t);return I(p,{code:y.invalid_type,expected:k.object,received:p.parsedType}),A}let{status:s,ctx:i}=this._processInputParams(t),{shape:o,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof Ie&&this._def.unknownKeys==="strip"))for(let p in i.data)a.includes(p)||c.push(p);let u=[];for(let p of a){let m=o[p],h=i.data[p];u.push({key:{status:"valid",value:p},value:m._parse(new me(i,h,i.path,p)),alwaysSet:p in i.data})}if(this._def.catchall instanceof Ie){let p=this._def.unknownKeys;if(p==="passthrough")for(let m of c)u.push({key:{status:"valid",value:m},value:{status:"valid",value:i.data[m]}});else if(p==="strict")c.length>0&&(I(i,{code:y.unrecognized_keys,keys:c}),s.dirty());else if(p!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let p=this._def.catchall;for(let m of c){let h=i.data[m];u.push({key:{status:"valid",value:m},value:p._parse(new me(i,h,i.path,m)),alwaysSet:m in i.data})}}return i.common.async?Promise.resolve().then(async()=>{let p=[];for(let m of u){let h=await m.key,f=await m.value;p.push({key:h,value:f,alwaysSet:m.alwaysSet})}return p}).then(p=>z.mergeObjectSync(s,p)):z.mergeObjectSync(s,u)}get shape(){return this._def.shape()}strict(t){return _.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,s)=>{let i=this._def.errorMap?.(n,s).message??s.defaultError;return n.code==="unrecognized_keys"?{message:_.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:w.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let s of O.objectKeys(t))t[s]&&this.shape[s]&&(n[s]=this.shape[s]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let s of O.objectKeys(this.shape))t[s]||(n[s]=this.shape[s]);return new e({...this._def,shape:()=>n})}deepPartial(){return Wt(this)}partial(t){let n={};for(let s of O.objectKeys(this.shape)){let i=this.shape[s];t&&!t[s]?n[s]=i:n[s]=i.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let s of O.objectKeys(this.shape))if(t&&!t[s])n[s]=this.shape[s];else{let o=this.shape[s];for(;o instanceof pe;)o=o._def.innerType;n[s]=o}return new e({...this._def,shape:()=>n})}keyof(){return ou(O.objectKeys(this.shape))}};ie.create=(e,t)=>new ie({shape:()=>e,unknownKeys:"strip",catchall:Ie.create(),typeName:w.ZodObject,...T(t)});ie.strictCreate=(e,t)=>new ie({shape:()=>e,unknownKeys:"strict",catchall:Ie.create(),typeName:w.ZodObject,...T(t)});ie.lazycreate=(e,t)=>new ie({shape:e,unknownKeys:"strip",catchall:Ie.create(),typeName:w.ZodObject,...T(t)});var gt=class extends C{_parse(t){let{ctx:n}=this._processInputParams(t),s=this._def.options;function i(o){for(let c of o)if(c.result.status==="valid")return c.result;for(let c of o)if(c.result.status==="dirty")return n.common.issues.push(...c.ctx.common.issues),c.result;let a=o.map(c=>new se(c.ctx.common.issues));return I(n,{code:y.invalid_union,unionErrors:a}),A}if(n.common.async)return Promise.all(s.map(async o=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(i);{let o,a=[];for(let u of s){let p={...n,common:{...n.common,issues:[]},parent:null},m=u._parseSync({data:n.data,path:n.path,parent:p});if(m.status==="valid")return m;m.status==="dirty"&&!o&&(o={result:m,ctx:p}),p.common.issues.length&&a.push(p.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let c=a.map(u=>new se(u));return I(n,{code:y.invalid_union,unionErrors:c}),A}}get options(){return this._def.options}};gt.create=(e,t)=>new gt({options:e,typeName:w.ZodUnion,...T(t)});var Fe=e=>e instanceof ht?Fe(e.schema):e instanceof ge?Fe(e.innerType()):e instanceof yt?[e.value]:e instanceof St?e.options:e instanceof bt?O.objectValues(e.enum):e instanceof It?Fe(e._def.innerType):e instanceof pt?[void 0]:e instanceof mt?[null]:e instanceof pe?[void 0,...Fe(e.unwrap())]:e instanceof xe?[null,...Fe(e.unwrap())]:e instanceof En||e instanceof kt?Fe(e.unwrap()):e instanceof vt?Fe(e._def.innerType):[],yr=class e extends C{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.object)return I(n,{code:y.invalid_type,expected:k.object,received:n.parsedType}),A;let s=this.discriminator,i=n.data[s],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(I(n,{code:y.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){let i=new Map;for(let o of n){let a=Fe(o.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let c of a){if(i.has(c))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(c)}`);i.set(c,o)}}return new e({typeName:w.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...T(s)})}};function ei(e,t){let n=Ae(e),s=Ae(t);if(e===t)return{valid:!0,data:e};if(n===k.object&&s===k.object){let i=O.objectKeys(t),o=O.objectKeys(e).filter(c=>i.indexOf(c)!==-1),a={...e,...t};for(let c of o){let u=ei(e[c],t[c]);if(!u.valid)return{valid:!1};a[c]=u.data}return{valid:!0,data:a}}else if(n===k.array&&s===k.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let o=0;o<e.length;o++){let a=e[o],c=t[o],u=ei(a,c);if(!u.valid)return{valid:!1};i.push(u.data)}return{valid:!0,data:i}}else return n===k.date&&s===k.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var ft=class extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t),i=(o,a)=>{if(fr(o)||fr(a))return A;let c=ei(o.value,a.value);return c.valid?((hr(o)||hr(a))&&n.dirty(),{status:n.value,value:c.data}):(I(s,{code:y.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(([o,a])=>i(o,a)):i(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}};ft.create=(e,t,n)=>new ft({left:e,right:t,typeName:w.ZodIntersection,...T(n)});var we=class e extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.array)return I(s,{code:y.invalid_type,expected:k.array,received:s.parsedType}),A;if(s.data.length<this._def.items.length)return I(s,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&s.data.length>this._def.items.length&&(I(s,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...s.data].map((a,c)=>{let u=this._def.items[c]||this._def.rest;return u?u._parse(new me(s,a,s.path,c)):null}).filter(a=>!!a);return s.common.async?Promise.all(o).then(a=>z.mergeArray(n,a)):z.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};we.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new we({items:e,typeName:w.ZodTuple,rest:null,...T(t)})};var Sr=class e extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.object)return I(s,{code:y.invalid_type,expected:k.object,received:s.parsedType}),A;let i=[],o=this._def.keyType,a=this._def.valueType;for(let c in s.data)i.push({key:o._parse(new me(s,c,s.path,c)),value:a._parse(new me(s,s.data[c],s.path,c)),alwaysSet:c in s.data});return s.common.async?z.mergeObjectAsync(n,i):z.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,s){return n instanceof C?new e({keyType:t,valueType:n,typeName:w.ZodRecord,...T(s)}):new e({keyType:Ye.create(),valueType:t,typeName:w.ZodRecord,...T(n)})}},Zt=class extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.map)return I(s,{code:y.invalid_type,expected:k.map,received:s.parsedType}),A;let i=this._def.keyType,o=this._def.valueType,a=[...s.data.entries()].map(([c,u],p)=>({key:i._parse(new me(s,c,s.path,[p,"key"])),value:o._parse(new me(s,u,s.path,[p,"value"]))}));if(s.common.async){let c=new Map;return Promise.resolve().then(async()=>{for(let u of a){let p=await u.key,m=await u.value;if(p.status==="aborted"||m.status==="aborted")return A;(p.status==="dirty"||m.status==="dirty")&&n.dirty(),c.set(p.value,m.value)}return{status:n.value,value:c}})}else{let c=new Map;for(let u of a){let p=u.key,m=u.value;if(p.status==="aborted"||m.status==="aborted")return A;(p.status==="dirty"||m.status==="dirty")&&n.dirty(),c.set(p.value,m.value)}return{status:n.value,value:c}}}};Zt.create=(e,t,n)=>new Zt({valueType:t,keyType:e,typeName:w.ZodMap,...T(n)});var Jt=class e extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.parsedType!==k.set)return I(s,{code:y.invalid_type,expected:k.set,received:s.parsedType}),A;let i=this._def;i.minSize!==null&&s.data.size<i.minSize.value&&(I(s,{code:y.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&s.data.size>i.maxSize.value&&(I(s,{code:y.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());let o=this._def.valueType;function a(u){let p=new Set;for(let m of u){if(m.status==="aborted")return A;m.status==="dirty"&&n.dirty(),p.add(m.value)}return{status:n.value,value:p}}let c=[...s.data.values()].map((u,p)=>o._parse(new me(s,u,s.path,p)));return s.common.async?Promise.all(c).then(u=>a(u)):a(c)}min(t,n){return new e({...this._def,minSize:{value:t,message:_.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:_.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Jt.create=(e,t)=>new Jt({valueType:e,minSize:null,maxSize:null,typeName:w.ZodSet,...T(t)});var br=class e extends C{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.function)return I(n,{code:y.invalid_type,expected:k.function,received:n.parsedType}),A;function s(c,u){return _n({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Kt(),Ue].filter(p=>!!p),issueData:{code:y.invalid_arguments,argumentsError:u}})}function i(c,u){return _n({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Kt(),Ue].filter(p=>!!p),issueData:{code:y.invalid_return_type,returnTypeError:u}})}let o={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof Je){let c=this;return Z(async function(...u){let p=new se([]),m=await c._def.args.parseAsync(u,o).catch(b=>{throw p.addIssue(s(u,b)),p}),h=await Reflect.apply(a,this,m);return await c._def.returns._def.type.parseAsync(h,o).catch(b=>{throw p.addIssue(i(h,b)),p})})}else{let c=this;return Z(function(...u){let p=c._def.args.safeParse(u,o);if(!p.success)throw new se([s(u,p.error)]);let m=Reflect.apply(a,this,p.data),h=c._def.returns.safeParse(m,o);if(!h.success)throw new se([i(m,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:we.create(t).rest(je.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,s){return new e({args:t||we.create([]).rest(je.create()),returns:n||je.create(),typeName:w.ZodFunction,...T(s)})}},ht=class extends C{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};ht.create=(e,t)=>new ht({getter:e,typeName:w.ZodLazy,...T(t)});var yt=class extends C{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return I(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:t.data}}get value(){return this._def.value}};yt.create=(e,t)=>new yt({value:e,typeName:w.ZodLiteral,...T(t)});function ou(e,t){return new St({values:e,typeName:w.ZodEnum,...T(t)})}var St=class e extends C{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),s=this._def.values;return I(n,{expected:O.joinValues(s),received:n.parsedType,code:y.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),s=this._def.values;return I(n,{received:n.data,code:y.invalid_enum_value,options:s}),A}return Z(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(s=>!t.includes(s)),{...this._def,...n})}};St.create=ou;var bt=class extends C{_parse(t){let n=O.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(t);if(s.parsedType!==k.string&&s.parsedType!==k.number){let i=O.objectValues(n);return I(s,{expected:O.joinValues(i),received:s.parsedType,code:y.invalid_type}),A}if(this._cache||(this._cache=new Set(O.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let i=O.objectValues(n);return I(s,{received:s.data,code:y.invalid_enum_value,options:i}),A}return Z(t.data)}get enum(){return this._def.values}};bt.create=(e,t)=>new bt({values:e,typeName:w.ZodNativeEnum,...T(t)});var Je=class extends C{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.promise&&n.common.async===!1)return I(n,{code:y.invalid_type,expected:k.promise,received:n.parsedType}),A;let s=n.parsedType===k.promise?n.data:Promise.resolve(n.data);return Z(s.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Je.create=(e,t)=>new Je({type:e,typeName:w.ZodPromise,...T(t)});var ge=class extends C{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===w.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:s}=this._processInputParams(t),i=this._def.effect||null,o={addIssue:a=>{I(s,a),a.fatal?n.abort():n.dirty()},get path(){return s.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="preprocess"){let a=i.transform(s.data,o);if(s.common.async)return Promise.resolve(a).then(async c=>{if(n.value==="aborted")return A;let u=await this._def.schema._parseAsync({data:c,path:s.path,parent:s});return u.status==="aborted"?A:u.status==="dirty"?at(u.value):n.value==="dirty"?at(u.value):u});{if(n.value==="aborted")return A;let c=this._def.schema._parseSync({data:a,path:s.path,parent:s});return c.status==="aborted"?A:c.status==="dirty"?at(c.value):n.value==="dirty"?at(c.value):c}}if(i.type==="refinement"){let a=c=>{let u=i.refinement(c,o);if(s.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(s.common.async===!1){let c=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return c.status==="aborted"?A:(c.status==="dirty"&&n.dirty(),a(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(),a(c.value).then(()=>({status:n.value,value:c.value}))))}if(i.type==="transform")if(s.common.async===!1){let a=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!Ge(a))return A;let c=i.transform(a.value,o);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(a=>Ge(a)?Promise.resolve(i.transform(a.value,o)).then(c=>({status:n.value,value:c})):A);O.assertNever(i)}};ge.create=(e,t,n)=>new ge({schema:e,typeName:w.ZodEffects,effect:t,...T(n)});ge.createWithPreprocess=(e,t,n)=>new ge({schema:t,effect:{type:"preprocess",transform:e},typeName:w.ZodEffects,...T(n)});var pe=class extends C{_parse(t){return this._getType(t)===k.undefined?Z(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};pe.create=(e,t)=>new pe({innerType:e,typeName:w.ZodOptional,...T(t)});var xe=class extends C{_parse(t){return this._getType(t)===k.null?Z(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};xe.create=(e,t)=>new xe({innerType:e,typeName:w.ZodNullable,...T(t)});var It=class extends C{_parse(t){let{ctx:n}=this._processInputParams(t),s=n.data;return n.parsedType===k.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};It.create=(e,t)=>new It({innerType:e,typeName:w.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...T(t)});var vt=class extends C{_parse(t){let{ctx:n}=this._processInputParams(t),s={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return zt(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new se(s.common.issues)},input:s.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new se(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}};vt.create=(e,t)=>new vt({innerType:e,typeName:w.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...T(t)});var Xt=class extends C{_parse(t){if(this._getType(t)!==k.nan){let s=this._getOrReturnCtx(t);return I(s,{code:y.invalid_type,expected:k.nan,received:s.parsedType}),A}return{status:"valid",value:t.data}}};Xt.create=e=>new Xt({typeName:w.ZodNaN,...T(e)});var Hy=Symbol("zod_brand"),En=class extends C{_parse(t){let{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}},An=class e extends C{_parse(t){let{status:n,ctx:s}=this._processInputParams(t);if(s.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?A:o.status==="dirty"?(n.dirty(),at(o.value)):this._def.out._parseAsync({data:o.value,path:s.path,parent:s})})();{let i=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return i.status==="aborted"?A:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:s.path,parent:s})}}static create(t,n){return new e({in:t,out:n,typeName:w.ZodPipeline})}},kt=class extends C{_parse(t){let n=this._def.innerType._parse(t),s=i=>(Ge(i)&&(i.value=Object.freeze(i.value)),i);return zt(n)?n.then(i=>s(i)):s(n)}unwrap(){return this._def.innerType}};kt.create=(e,t)=>new kt({innerType:e,typeName:w.ZodReadonly,...T(t)});function nu(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function au(e,t={},n){return e?Ze.create().superRefine((s,i)=>{let o=e(s);if(o instanceof Promise)return o.then(a=>{if(!a){let c=nu(t,s),u=c.fatal??n??!0;i.addIssue({code:"custom",...c,fatal:u})}});if(!o){let a=nu(t,s),c=a.fatal??n??!0;i.addIssue({code:"custom",...a,fatal:c})}}):Ze.create()}var Vy={object:ie.lazycreate},w;(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"})(w||(w={}));var Ky=(e,t={message:`Input not instance of ${e.name}`})=>au(n=>n instanceof e,t),cu=Ye.create,lu=ct.create,zy=Xt.create,Wy=lt.create,uu=ut.create,Gy=dt.create,Yy=Gt.create,Zy=pt.create,Jy=mt.create,Xy=Ze.create,Qy=je.create,eS=Ie.create,tS=Yt.create,nS=qe.create,rS=ie.create,sS=ie.strictCreate,iS=gt.create,oS=yr.create,aS=ft.create,cS=we.create,lS=Sr.create,uS=Zt.create,dS=Jt.create,pS=br.create,mS=ht.create,gS=yt.create,fS=St.create,hS=bt.create,yS=Je.create,SS=ge.create,bS=pe.create,IS=xe.create,vS=ge.createWithPreprocess,kS=An.create,_S=()=>cu().optional(),ES=()=>lu().optional(),AS=()=>uu().optional(),wS={string:(e=>Ye.create({...e,coerce:!0})),number:(e=>ct.create({...e,coerce:!0})),boolean:(e=>ut.create({...e,coerce:!0})),bigint:(e=>lt.create({...e,coerce:!0})),date:(e=>dt.create({...e,coerce:!0}))};var xS=A;var ti=["active","paused","archived"];var ni=["local_trusted","authenticated"],ri=["private","public"],si=["loopback","lan","tailnet","custom"],ii=["auto","explicit"],oi=["active","paused","idle","running","error","pending_approval","terminated"],wn=["process","http","acpx_local","claude_local","codex_local","cursor_cloud","gemini_local","opencode_local","pi_local","cursor","openclaw_gateway"],ai=["ceo","cto","cmo","cfo","security","engineer","designer","pm","qa","devops","researcher","general"];var ci=["cheap"],li=["bot","cpu","brain","zap","rocket","code","terminal","shield","eye","search","wrench","hammer","lightbulb","sparkles","star","heart","flame","bug","cog","database","globe","lock","mail","message-square","file-code","git-branch","package","puzzle","target","wand","atom","circuit-board","radar","swords","telescope","microscope","crown","gem","hexagon","pentagon","fingerprint"],ui=["folder","rocket","code","terminal","database","globe","package","boxes","box","layers","briefcase","compass","target","flame","zap","star","bug","wrench","hammer","lightbulb","sparkles","shield","lock","search","cog","brain","cpu","git-branch","file-code","puzzle","gem","atom","heart","mail","message-square","crown","radar","telescope","hexagon"],xn=["backlog","todo","in_progress","in_review","done","blocked","cancelled"],du=["backlog","todo","in_progress","in_review","blocked","done"],di=du.join(","),Te=["critical","high","medium","low"],Ir=["standard","planning"],pu=1024,pi=["user","agent","system"],mi=["message","system_notice"],gi=["neutral","info","success","warning","danger"],fi=["text","code","key_value","issue_link","agent_link","run_link"];function hi(e){return typeof e!="number"||!Number.isFinite(e)?0:Math.min(pu,Math.max(0,Math.floor(e)))}var yi=["suggest_tasks","ask_user_questions","request_confirmation","request_checkbox_confirmation"],Qt=200,Si=["pending","accepted","rejected","answered","cancelled","expired","failed"],bi=["none","wake_assignee","wake_assignee_on_accept"];var Ii=["default","plugin_operation"],vi=["missing_disposition","stranded_assigned_issue","workspace_validation","active_run_watchdog","issue_graph_liveness"],ki=["active","escalated","resolved","cancelled"],_i=["agent","user","board","system"],Ei=["restored","delegated","false_positive","blocked","escalated","cancelled"];var Ai=["pause","resume","cancel","restore"];var wi=["manual","after_active_runs_finish"],mu="continuation-summary",gu=[mu],lT=new Set(gu);var xi=["open","resolved"],Ti=["active","stale","orphaned"],Ri=["exact","duplicate","fuzzy","ambiguous","missing"],Ci=["normal","auto"],vr=["review","approval"],kr=["assignee","board"],_r=["external_service"],Er=["wake_owner","create_recovery_issue","escalate_to_board"],Pi=["idle","pending","changes_requested","completed"],Oi=["scheduled","triggered","cleared"],Ni=["manual","triggered","done","cancelled","invalid_status","invalid_assignee","dispatch_skipped","timeout_exceeded","max_attempts_exhausted"],Li=["approved","changes_requested"],Mi=["company","team","agent","task"],Di=["planned","active","achieved","cancelled"],Ui=["backlog","planned","in_progress","completed","cancelled"],Fi=["local","ssh","sandbox","plugin"],ji=["active","archived"],qi=["active","released","expired","failed","retained"];var $i=["pending","success","failed"],en=["active","paused","archived"],tn=["coalesce_if_active","always_enqueue","skip_if_active"],nn=["skip_missed","enqueue_missed_with_cap"],Tn=["schedule","webhook","api"],_t=["bearer","hmac_sha256","github_hmac","none"],Bi=["text","textarea","number","boolean","select"];var Hi=["hire_agent","approve_ceo_strategy","budget_override_required","request_board_approval"];var Et=["local_encrypted","aws_secrets_manager","gcp_secret_manager","vault"],Ar=["ready","warning","coming_soon","disabled"];var fu=["active","disabled","archived","deleted"],hu=["paperclip_managed","external_reference"];var yu=["agent","project","environment","routine","plugin","issue","run","system"];var Vi=["local_disk","s3"],Ki=["metered_api","subscription_included","subscription_overage","credits","fixed","unknown"],zi=["inference_charge","platform_fee","credit_purchase","credit_refund","credit_expiry","byok_fee","gateway_overhead","log_storage_charge","logpush_charge","provisioned_capacity_charge","training_charge","custom_model_import_charge","custom_model_storage_charge","manual_adjustment"],Wi=["debit","credit"],Gi=["input_token","output_token","cached_input_token","request","credit_usd","credit_unit","model_unit_minute","model_unit_hour","gb_month","train_token","unknown"],Yi=["company","agent","project"],Zi=["billed_cents"],Ji=["calendar_month_utc","lifetime"];var Xi=["keep_paused","raise_budget_and_resume"];var rn=["owner","admin","operator","viewer"];var Qi=["human","agent","both"],wr=["human","agent"],eo=["pending_approval","approved","rejected"],xr=["agents:create","environments:manage","users:invite","users:manage_permissions","tasks:assign","tasks:assign_scope","tasks:manage_active_checkouts","joins:approve"];var Tr=["installed","ready","disabled","error","upgrade_pending","uninstalled"],Rr=["connector","workspace","automation","ui"],Cr=["companies.read","projects.read","project.workspaces.read","execution.workspaces.read","issues.read","issue.relations.read","issue.subtree.read","issue.comments.read","issue.documents.read","agents.read","goals.read","goals.create","goals.update","activity.read","costs.read","issues.orchestration.read","access.members.read","access.invites.read","authorization.grants.read","authorization.policies.read","authorization.audit.read","database.namespace.read","issues.create","issues.update","issue.relations.write","issues.checkout","issues.wakeup","issue.comments.create","issue.interactions.create","issue.documents.write","projects.managed","routines.managed","skills.managed","agents.pause","agents.resume","agents.invoke","agents.managed","access.members.write","access.invites.write","authorization.grants.write","authorization.policies.write","agent.sessions.create","agent.sessions.list","agent.sessions.send","agent.sessions.close","activity.log.write","metrics.write","telemetry.track","database.namespace.migrate","database.namespace.write","plugin.state.read","plugin.state.write","events.subscribe","events.emit","jobs.schedule","webhooks.receive","api.routes.register","http.outbound","secrets.read-ref","environment.drivers.register","local.folders","agent.tools.register","instance.settings.register","ui.sidebar.register","ui.page.register","ui.detailTab.register","ui.dashboardWidget.register","ui.commentAnnotation.register","ui.action.register"];var to=["companies","projects","goals","agents","issues","issue_documents","issue_relations","issue_comments","heartbeat_runs","cost_events","approvals","issue_approvals","budget_incidents"],no=["GET","POST","PATCH","DELETE"],ro=["board","agent","board-or-agent","webhook"],so=["none","required-for-agent-in-progress","always-for-agent"],Pr=["page","detailTab","taskDetailView","dashboardWidget","sidebar","routeSidebar","sidebarPanel","projectSidebarItem","globalToolbarButton","toolbarButton","contextMenuItem","commentAnnotation","commentContextMenuItem","settingsPage","companySettingsPage"],Su=["dashboard","onboarding","companies","company","settings","plugins","org","agents","projects","issues","goals","approvals","costs","activity","inbox","design-guide","tests"],Or=["general","environments","access","members","invites","secrets","instance"],io=["page","detailTab","taskDetailView","dashboardWidget","sidebar","sidebarPanel","projectSidebarItem","globalToolbarButton","toolbarButton","contextMenuItem","commentAnnotation","commentContextMenuItem","settingsPage"],oo=["navigate","openModal","openDrawer","openPopover","performAction","deepLink"],ao=["inline","compact","default","wide","full"],co=["hostInline","hostOverlay","hostRoute","external","iframe"],Rn=["project","issue","agent","goal","run","comment","execution_workspace","project_workspace"],sn=["instance","company","project","project_workspace","agent","issue","goal","run"];var lo=r.string().trim().min(1).default("process").describe(`Known built-in adapters: ${wn.join(", ")}. External adapters may register additional non-empty string types at runtime.`),uo=r.string().trim().min(1).optional();var Nr=["standard","low_trust_review"];var Cn="low_trust_review";var Lr="quarantine";function on(e){let t=e?.trim();return t||void 0}function po(e){let t=on(e)?.toLowerCase();return t==="127.0.0.1"||t==="localhost"||t==="::1"}function mo(e){let t=on(e)?.toLowerCase();return t==="0.0.0.0"||t==="::"}function bu(e,t){let n=on(e),s=on(t?.tailnetBindHost);return!n||po(n)?"loopback":mo(n)?"lan":s&&n===s?"tailnet":"custom"}function go(e){let t=e.bind??bu(e.host),n=on(e.customBindHost),s=[];if(e.deploymentMode==="local_trusted"&&t!=="loopback"&&s.push("local_trusted requires server.bind=loopback"),t==="custom"&&!n){let i=on(e.host);(!i||po(i)||mo(i))&&s.push("server.customBindHost is required when server.bind=custom")}return e.deploymentMode==="authenticated"&&e.deploymentExposure==="public"&&t==="tailnet"&&s.push("server.bind=tailnet is only supported for authenticated/private deployments"),s}var Mr=[3,7,14],Dr=[1,2,4],Ur=[1,3,6],Fr=24,Pn=1,On=720,At={dailyDays:7,weeklyWeeks:4,monthlyMonths:1};var jr=["all","issues","comments","documents","artifacts","agents","projects"];var qr=["joined","left"];var Iu=r.string().uuid(),vu=r.object({orderedIds:r.array(Iu),updatedAt:r.coerce.date().nullable()}),ku=r.object({orderedIds:r.array(Iu)});var ho=r.enum(qr),_u=r.object({state:ho});var yo=r.enum(["active","idle","in_review","archived","cleanup_failed"]),Eu=r.object({environmentId:r.string().uuid().optional().nullable(),provisionCommand:r.string().optional().nullable(),teardownCommand:r.string().optional().nullable(),cleanupCommand:r.string().optional().nullable(),workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable(),desiredState:r.enum(["running","stopped","manual"]).optional().nullable(),serviceStates:r.record(r.enum(["running","stopped","manual"])).optional().nullable()}).strict(),CS=r.object({workspaceCommandId:r.string().min(1).optional().nullable(),runtimeServiceId:r.string().uuid().optional().nullable(),serviceIndex:r.number().int().nonnegative().optional().nullable()}).strict(),So=r.enum(["ready","ready_with_warnings","blocked"]),bo=r.enum(["archive_record","stop_runtime_services","cleanup_command","teardown_command","git_worktree_remove","git_branch_delete","remove_local_directory"]),Io=r.object({kind:bo,label:r.string(),description:r.string(),command:r.string().nullable()}).strict(),vo=r.object({id:r.string().uuid(),identifier:r.string().nullable(),title:r.string(),status:r.string(),isTerminal:r.boolean()}).strict(),ko=r.object({repoRoot:r.string().nullable(),workspacePath:r.string().nullable(),branchName:r.string().nullable(),baseRef:r.string().nullable(),hasDirtyTrackedFiles:r.boolean(),hasUntrackedFiles:r.boolean(),dirtyEntryCount:r.number().int().nonnegative(),untrackedEntryCount:r.number().int().nonnegative(),aheadCount:r.number().int().nonnegative().nullable(),behindCount:r.number().int().nonnegative().nullable(),isMergedIntoBase:r.boolean().nullable(),createdByRuntime:r.boolean()}).strict(),PS=r.object({id:r.string(),companyId:r.string().uuid(),projectId:r.string().uuid().nullable(),projectWorkspaceId:r.string().uuid().nullable(),executionWorkspaceId:r.string().uuid().nullable(),issueId:r.string().uuid().nullable(),scopeType:r.enum(["project_workspace","execution_workspace","run","agent"]),scopeId:r.string().nullable(),serviceName:r.string(),status:r.enum(["starting","running","stopped","failed"]),lifecycle:r.enum(["shared","ephemeral"]),reuseKey:r.string().nullable(),command:r.string().nullable(),cwd:r.string().nullable(),port:r.number().int().nullable(),url:r.string().nullable(),provider:r.enum(["local_process","adapter_managed"]),providerRef:r.string().nullable(),ownerAgentId:r.string().uuid().nullable(),startedByRunId:r.string().uuid().nullable(),lastUsedAt:r.coerce.date(),startedAt:r.coerce.date(),stoppedAt:r.coerce.date().nullable(),stopPolicy:r.record(r.string(),r.unknown()).nullable(),healthStatus:r.enum(["unknown","healthy","unhealthy"]),configIndex:r.number().int().nonnegative().nullable().optional(),createdAt:r.coerce.date(),updatedAt:r.coerce.date()}).strict(),Au=r.object({workspaceId:r.string().uuid(),state:So,blockingReasons:r.array(r.string()),warnings:r.array(r.string()),linkedIssues:r.array(vo),plannedActions:r.array(Io),isDestructiveCloseAllowed:r.boolean(),isSharedWorkspace:r.boolean(),isProjectPrimaryWorkspace:r.boolean(),git:ko.nullable(),runtimeServices:r.array(PS)}).strict(),wu=r.object({name:r.string().min(1).optional(),cwd:r.string().optional().nullable(),repoUrl:r.string().optional().nullable(),baseRef:r.string().optional().nullable(),branchName:r.string().optional().nullable(),providerRef:r.string().optional().nullable(),status:yo.optional(),cleanupEligibleAt:r.string().datetime().optional().nullable(),cleanupReason:r.string().optional().nullable(),config:Eu.optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict();var _o=["issue_comment","issue_document_revision"],Eo=["up","down"],Ao=["allowed","not_allowed","prompt"],wo="prompt",xo=["local_only","pending","sent","failed"];var To=r.enum(_o),xu=r.enum(xo),Ro=r.enum(Eo),Co=r.enum(Ao),Tu=r.object({targetType:To,targetId:r.string().uuid(),vote:Ro,reason:r.string().trim().max(1e3).optional(),allowSharing:r.boolean().optional()});function Po(e,t){return r.number().refine(n=>e.includes(n),{message:`${t} must be one of: ${e.join(", ")}`})}var OS=r.object({dailyDays:Po(Mr,"dailyDays").default(At.dailyDays),weeklyWeeks:Po(Dr,"weeklyWeeks").default(At.weeklyWeeks),monthlyMonths:Po(Ur,"monthlyMonths").default(At.monthlyMonths)}),Oo=r.object({censorUsernameInLogs:r.boolean().default(!1),keyboardShortcuts:r.boolean().default(!1),feedbackDataSharingPreference:Co.default(wo),backupRetention:OS.default(At)}).strict(),Ru=Oo.partial(),No=r.object({enableEnvironments:r.boolean().default(!1),enableIsolatedWorkspaces:r.boolean().default(!1),enableStreamlinedLeftNavigation:r.boolean().default(!1),enableIssuePlanDecompositions:r.boolean().default(!1),enableCloudSync:r.boolean().default(!1),autoRestartDevServerWhenIdle:r.boolean().default(!1),enableIssueGraphLivenessAutoRecovery:r.boolean().default(!1),issueGraphLivenessAutoRecoveryLookbackHours:r.number().int().min(Pn).max(On).default(Fr)}).strict(),Cu=No.partial(),Pu=r.object({lookbackHours:r.number().int().min(Pn).max(On).optional()}).strict();var Ou=r.object({scopeType:r.enum(Yi),scopeId:r.string().uuid(),metric:r.enum(Zi).optional().default("billed_cents"),windowKind:r.enum(Ji).optional().default("calendar_month_utc"),amount:r.number().int().nonnegative(),warnPercent:r.number().int().min(1).max(99).optional().default(80),hardStopEnabled:r.boolean().optional().default(!0),notifyEnabled:r.boolean().optional().default(!0),isActive:r.boolean().optional().default(!0)}),Nu=r.object({action:r.enum(Xi),amount:r.number().int().nonnegative().optional(),decisionNote:r.string().optional().nullable()}).superRefine((e,t)=>{e.action==="raise_budget_and_resume"&&typeof e.amount!="number"&&t.addIssue({code:r.ZodIssueCode.custom,message:"amount is required when raising a budget",path:["amount"]})});var Lu=r.string().uuid().nullable().optional(),Mu=r.string().regex(/^#[0-9a-fA-F]{6}$/).nullable().optional(),NS=r.string().min(1).nullable().optional(),Du=r.number().int().min(1).max(1073741824),Lo=r.object({name:r.string().min(1),description:r.string().optional().nullable(),budgetMonthlyCents:r.number().int().nonnegative().optional().default(0),attachmentMaxBytes:Du.optional()}),Uu=Lo.partial().extend({status:r.enum(ti).optional(),spentMonthlyCents:r.number().int().nonnegative().optional(),requireBoardApprovalForNewAgents:r.boolean().optional(),feedbackDataSharingEnabled:r.boolean().optional(),feedbackDataSharingConsentAt:r.coerce.date().nullable().optional(),feedbackDataSharingConsentByUserId:r.string().min(1).nullable().optional(),feedbackDataSharingTermsVersion:NS,brandColor:Mu,logoAssetId:Lu,attachmentMaxBytes:Du.optional()}),Fu=r.object({name:r.string().min(1).optional(),description:r.string().nullable().optional(),brandColor:Mu,logoAssetId:Lu}).strict().refine(e=>e.name!==void 0||e.description!==void 0||e.brandColor!==void 0||e.logoAssetId!==void 0,"At least one branding field must be provided");var Nn=r.enum(Fi),Br=r.enum(ji),ju=r.enum(qi),qu=r.enum($i),LS={name:r.string().min(1),description:r.string().optional().nullable(),driver:Nn,status:Br.optional().default("active"),config:r.record(r.string(),r.unknown()).optional().default({}),metadata:r.record(r.string(),r.unknown()).optional().nullable()},$u=r.object(LS).strict(),Bu=r.object({name:r.string().min(1).optional(),description:r.string().optional().nullable(),driver:Nn.optional(),status:Br.optional(),config:r.record(r.string(),r.unknown()).optional(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict(),Hu=r.object({name:r.string().min(1).optional(),description:r.string().optional().nullable(),driver:Nn,config:r.record(r.string(),r.unknown()).optional().default({}),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict();var Mo=r.enum(["local_path","github","url","catalog","skills_sh"]),Hr=r.enum(["markdown_only","assets","scripts_executables"]),Vr=r.enum(["compatible","unknown","invalid"]),Kr=r.enum(["paperclip","github","local","url","catalog","skills_sh"]),Do=r.object({path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"])}),wt=r.object({id:r.string().uuid(),companyId:r.string().uuid(),key:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),description:r.string().nullable(),markdown:r.string(),sourceType:Mo,sourceLocator:r.string().nullable(),sourceRef:r.string().nullable(),trustLevel:Hr,compatibility:Vr,fileInventory:r.array(Do).default([]),metadata:r.record(r.string(),r.unknown()).nullable(),createdAt:r.coerce.date(),updatedAt:r.coerce.date()}),Vu=wt.extend({attachedAgentCount:r.number().int().nonnegative(),editable:r.boolean(),editableReason:r.string().nullable(),sourceLabel:r.string().nullable(),sourceBadge:Kr,catalogKind:r.enum(["bundled","optional"]).nullable(),originHash:r.string().nullable(),packageName:r.string().nullable(),packageVersion:r.string().nullable()}),Uo=r.object({id:r.string().uuid(),name:r.string().min(1),urlKey:r.string().min(1),adapterType:r.string().min(1),desired:r.boolean(),actualState:r.string().nullable().describe("Runtime adapter skill state when explicitly fetched; company skill detail reads return null without probing agent runtimes.")}),Ku=wt.extend({attachedAgentCount:r.number().int().nonnegative(),usedByAgents:r.array(Uo).default([]),editable:r.boolean(),editableReason:r.string().nullable(),sourceLabel:r.string().nullable(),sourceBadge:Kr}),zu=r.object({supported:r.boolean(),reason:r.string().nullable(),trackingRef:r.string().nullable(),currentRef:r.string().nullable(),latestRef:r.string().nullable(),hasUpdate:r.boolean(),installedHash:r.string().nullable(),originHash:r.string().nullable(),userModifiedAt:r.string().nullable(),updateHoldReason:r.enum(["local_modifications","audit_hard_stop","origin_unavailable","compatibility_invalid","operator_hold"]).nullable(),auditVerdict:r.enum(["pass","warning","fail"]).nullable(),auditCodes:r.array(r.string())}),Fo=r.object({code:r.string().min(1),severity:r.enum(["warning","error"]),message:r.string().min(1),path:r.string().nullable()}),Wu=r.object({skillId:r.string().uuid(),installedHash:r.string().nullable(),originHash:r.string().nullable(),verdict:r.enum(["pass","warning","fail"]),codes:r.array(r.string()),findings:r.array(Fo),scannedAt:r.string().min(1),scanVersion:r.string().min(1)}),Gu=r.object({force:r.boolean().optional()}).default({}),Yu=r.object({force:r.boolean().optional()}).default({}),Zu=r.object({source:r.string().min(1)}),Ju=r.object({projectIds:r.array(r.string().uuid()).optional(),workspaceIds:r.array(r.string().uuid()).optional()}),jo=r.object({projectId:r.string().uuid(),projectName:r.string().min(1),workspaceId:r.string().uuid().nullable(),workspaceName:r.string().nullable(),path:r.string().nullable(),reason:r.string().min(1)}),qo=r.object({slug:r.string().min(1),key:r.string().min(1),projectId:r.string().uuid(),projectName:r.string().min(1),workspaceId:r.string().uuid(),workspaceName:r.string().min(1),path:r.string().min(1),existingSkillId:r.string().uuid(),existingSkillKey:r.string().min(1),existingSourceLocator:r.string().nullable(),reason:r.string().min(1)}),Xu=r.object({scannedProjects:r.number().int().nonnegative(),scannedWorkspaces:r.number().int().nonnegative(),discovered:r.number().int().nonnegative(),imported:r.array(wt),updated:r.array(wt),skipped:r.array(jo),conflicts:r.array(qo),warnings:r.array(r.string())}),Qu=r.object({name:r.string().min(1),slug:r.string().min(1).nullable().optional(),description:r.string().nullable().optional(),markdown:r.string().nullable().optional()}),ed=r.object({skillId:r.string().uuid(),path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"]),content:r.string(),language:r.string().nullable(),markdown:r.boolean(),editable:r.boolean()}),td=r.object({path:r.string().min(1),content:r.string()}),zr=r.enum(["bundled","optional"]),$o=r.object({path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"]),sizeBytes:r.number().int().nonnegative(),sha256:r.string().min(1)}),Bo=r.object({type:r.literal("github"),hostname:r.string().min(1),owner:r.string().min(1),repo:r.string().min(1),ref:r.string().min(1),commit:r.string().regex(/^[0-9a-f]{40}$/i),path:r.string(),url:r.string().url()}),Ho=Bo,Vo=r.object({id:r.string().min(1),key:r.string().min(1),kind:zr,category:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),description:r.string(),path:r.string().min(1),entrypoint:r.literal("SKILL.md"),trustLevel:Hr,compatibility:Vr,defaultInstall:r.boolean(),recommendedForRoles:r.array(r.string()),requires:r.array(r.string()),tags:r.array(r.string()),files:r.array($o),contentHash:r.string().min(1),source:Ho.optional(),packageName:r.string().min(1).optional(),packageVersion:r.string().min(1).optional()}),nd=r.object({kind:zr.optional(),category:r.string().min(1).optional(),q:r.string().min(1).optional()}),rd=r.object({catalogSkillId:r.string().min(1),path:r.string().min(1),kind:r.enum(["skill","markdown","reference","script","asset","other"]),content:r.string(),language:r.string().nullable(),markdown:r.boolean()}),sd=r.object({catalogSkillId:r.string().min(1),slug:r.string().min(1).nullable().optional(),force:r.boolean().optional()}),id=r.object({action:r.enum(["created","updated","unchanged"]),skill:wt,catalogSkill:Vo,warnings:r.array(r.string())});function MS(e){return e.replace(/\\r\\n/g,`
2
2
  `).replace(/\\n/g,`
3
3
  `).replace(/\\r/g,`
4
- `)}var J=r.string().transform(TS);var Rt=r.enum(Nr),RS=r.object({type:r.literal("issue"),issueId:r.string().uuid()}).strict(),Ho=r.object({mode:r.literal(Cn),companyId:r.string().uuid().optional(),projectIds:r.array(r.string().uuid()).optional(),rootIssueId:r.string().uuid().optional(),issueIds:r.array(r.string().uuid()).optional(),allowedAgentIds:r.array(r.string().uuid()).optional(),allowedSecretBindingIds:r.array(r.string().uuid()).optional(),allowedToolClasses:r.array(r.string().trim().min(1)).optional(),outputPromotionTarget:RS.optional()}).strict(),Ln=r.object({id:r.literal(Cn),version:r.literal(1),rawOutputDisposition:r.literal(Lr)}).strict(),Be=r.object({trustPreset:Rt.optional(),reviewPreset:Ln.optional(),trustBoundary:Ho.optional()}).catchall(r.unknown()),sd=r.enum(["issue","comment","document","work_product"]),CS=r.object({preset:Rt,disposition:r.enum(["quarantined","promoted"]),sourceIssueId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),sourceAgentId:r.string().uuid().nullable().optional(),promotedFrom:r.object({artifactKind:sd,artifactId:r.string().uuid(),issueId:r.string().uuid().nullable().optional()}).strict().nullable().optional(),promotedByActorType:r.enum(["agent","user","system"]).nullable().optional(),promotedByActorId:r.string().trim().min(1).nullable().optional(),promotedAt:r.string().datetime({offset:!0}).nullable().optional()}).strict();var Vo=r.enum(["needs_attention","awaiting_decision","external_wait","recovery_open","missing_disposition"]),Ko=r.enum(["critical","high","medium","low"]),zo=r.enum(["blocked_by_unassigned_issue","blocked_by_assigned_backlog_issue","blocked_by_uninvokable_assignee","blocked_by_cancelled_issue","blocked_chain_stalled","invalid_review_participant","in_review_without_action_path","missing_successful_run_disposition","pending_board_decision","pending_user_decision","external_owner_action","open_recovery_issue"]),Mn=r.object({id:r.string().uuid(),identifier:r.string().nullable(),title:r.string(),status:r.enum(xn),priority:r.enum(Te),assigneeAgentId:r.string().uuid().nullable(),assigneeUserId:r.string().nullable()}).strict(),od=r.object({kind:r.literal("blocked"),state:Vo,reason:zo,severity:Ko,stoppedSinceAt:r.string().datetime().nullable(),owner:r.object({type:r.enum(["agent","user","board","external","unknown"]),agentId:r.string().uuid().nullable(),userId:r.string().nullable(),label:r.string().nullable()}).strict(),action:r.object({label:r.string().trim().min(1),detail:r.string().nullable()}).strict(),sourceIssue:Mn.nullable(),leafIssue:Mn.nullable(),recoveryIssue:Mn.nullable(),approvalId:r.string().uuid().nullable(),interactionId:r.string().uuid().nullable(),sampleIssueIdentifier:r.string().nullable(),redaction:r.object({externalDetailsRedacted:r.boolean(),secretFieldsOmitted:r.literal(!0)}).strict()}).strict(),Wr=["inherit","shared_workspace","isolated_workspace","operator_branch","reuse_existing","agent_default"],PS=r.object({type:r.enum(["project_primary","git_worktree","adapter_managed","cloud_sandbox"]).optional(),baseRef:r.string().optional().nullable(),branchTemplate:r.string().optional().nullable(),worktreeParentDir:r.string().optional().nullable(),provisionCommand:r.string().optional().nullable(),teardownCommand:r.string().optional().nullable()}).strict(),Un=r.object({mode:r.enum(Wr).optional(),environmentId:r.string().uuid().optional().nullable(),workspaceStrategy:PS.optional().nullable(),workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable()}).strict(),OS=r.object({modelProfile:r.enum(oi).optional(),adapterConfig:r.record(r.string(),r.unknown()).optional(),useProjectWorkspace:r.boolean().optional()}).strict(),ad=r.object({type:r.enum(["agent","user"]),agentId:r.string().uuid().optional().nullable(),userId:r.string().optional().nullable()}),id=ad.superRefine((e,t)=>{if(e.type==="agent"){e.agentId||t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants require agentId",path:["agentId"]}),e.userId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants cannot set userId",path:["userId"]});return}e.userId||t.addIssue({code:r.ZodIssueCode.custom,message:"User participants require userId",path:["userId"]}),e.agentId&&t.addIssue({code:r.ZodIssueCode.custom,message:"User participants cannot set agentId",path:["agentId"]})}),NS=ad.extend({id:r.string().uuid().optional()}).superRefine((e,t)=>{if(e.type==="agent"){e.agentId||t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants require agentId",path:["agentId"]}),e.userId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants cannot set userId",path:["userId"]});return}e.userId||t.addIssue({code:r.ZodIssueCode.custom,message:"User participants require userId",path:["userId"]}),e.agentId&&t.addIssue({code:r.ZodIssueCode.custom,message:"User participants cannot set agentId",path:["agentId"]})}),LS=r.object({id:r.string().uuid().optional(),type:r.enum(vr),approvalsNeeded:r.literal(1).optional().default(1),participants:r.array(NS).default([])}),MS=r.object({nextCheckAt:r.string().datetime(),notes:r.string().max(500).optional().nullable().default(null),scheduledBy:r.enum(kr).optional().default("assignee"),kind:r.enum(_r).optional().nullable().default(null),serviceName:r.string().trim().min(1).max(120).optional().nullable().default(null),externalRef:r.string().trim().min(1).max(500).optional().nullable().default(null),timeoutAt:r.string().datetime().optional().nullable().default(null),maxAttempts:r.number().int().positive().max(100).optional().nullable().default(null),recoveryPolicy:r.enum(Er).optional().nullable().default(null)}),Wo=r.object({mode:r.enum(Ti).optional().default("normal"),commentRequired:r.boolean().optional().default(!0),stages:r.array(LS).default([]),monitor:MS.optional().nullable(),reviewPreset:Ln.optional(),authorizationPolicy:Be.optional()}),DS=r.object({status:r.enum(Ci),nextCheckAt:r.string().datetime().nullable(),lastTriggeredAt:r.string().datetime().nullable(),attemptCount:r.number().int().nonnegative().default(0),notes:r.string().max(500).nullable(),scheduledBy:r.enum(kr).nullable(),kind:r.enum(_r).nullable().optional().default(null),serviceName:r.string().trim().min(1).max(120).nullable().optional().default(null),externalRef:r.string().trim().min(1).max(500).nullable().optional().default(null),timeoutAt:r.string().datetime().nullable().optional().default(null),maxAttempts:r.number().int().positive().max(100).nullable().optional().default(null),recoveryPolicy:r.enum(Er).nullable().optional().default(null),clearedAt:r.string().datetime().nullable(),clearReason:r.enum(Pi).nullable()}),Gr=r.object({instructions:r.string().trim().min(1).max(2e4)}).strict(),cd=r.object({status:r.enum(Ri),currentStageId:r.string().uuid().nullable(),currentStageIndex:r.number().int().nonnegative().nullable(),currentStageType:r.enum(vr).nullable(),currentParticipant:id.nullable(),returnAssignee:id.nullable(),reviewRequest:Gr.nullable().optional().default(null),completedStageIds:r.array(r.string().uuid()).default([]),lastDecisionId:r.string().uuid().nullable(),lastDecisionOutcome:r.enum(Oi).nullable(),monitor:DS.optional().nullable()}),US=r.object({id:r.string().uuid(),companyId:r.string().uuid(),sourceIssueId:r.string().uuid(),recoveryIssueId:r.string().uuid().nullable(),kind:r.enum(bi),status:r.enum(Ii),ownerType:r.enum(vi),ownerAgentId:r.string().uuid().nullable(),ownerUserId:r.string().nullable(),previousOwnerAgentId:r.string().uuid().nullable(),returnOwnerAgentId:r.string().uuid().nullable(),cause:r.string().min(1),fingerprint:r.string().min(1),evidence:r.record(r.string(),r.unknown()),nextAction:r.string().min(1),wakePolicy:r.record(r.string(),r.unknown()).nullable(),monitorPolicy:r.record(r.string(),r.unknown()).nullable(),attemptCount:r.number().int().nonnegative(),maxAttempts:r.number().int().positive().nullable(),timeoutAt:r.union([r.date(),r.string().datetime()]).nullable(),lastAttemptAt:r.union([r.date(),r.string().datetime()]).nullable(),outcome:r.enum(ki).nullable(),resolutionNote:r.string().nullable(),resolvedAt:r.union([r.date(),r.string().datetime()]).nullable(),createdAt:r.union([r.date(),r.string().datetime()]),updatedAt:r.union([r.date(),r.string().datetime()])}),FS=["restored","false_positive","blocked","cancelled"],ld=r.object({actionId:r.string().uuid().optional(),outcome:r.enum(FS),sourceIssueStatus:r.enum(["todo","done","in_review","blocked"]),resolutionNote:J.optional().nullable()}).strict().superRefine((e,t)=>{if(e.outcome==="restored"){e.sourceIssueStatus!=="todo"&&e.sourceIssueStatus!=="done"&&e.sourceIssueStatus!=="in_review"&&t.addIssue({code:r.ZodIssueCode.custom,message:"Restored recovery actions must move the source issue to todo, done, or in_review",path:["sourceIssueStatus"]});return}if(e.outcome==="blocked"){e.sourceIssueStatus!=="blocked"&&t.addIssue({code:r.ZodIssueCode.custom,message:"Blocked recovery actions must move the source issue to blocked",path:["sourceIssueStatus"]});return}if(e.outcome==="false_positive"||e.outcome==="cancelled"){e.sourceIssueStatus!=="done"&&e.sourceIssueStatus!=="in_review"&&t.addIssue({code:r.ZodIssueCode.custom,message:"This recovery outcome requires sourceIssueStatus to be done or in_review",path:["sourceIssueStatus"]});return}}),ud=r.number().int().nonnegative().transform(e=>gi(e));function Go(e){if(typeof e.status=="string")return{status:e.status,defaulted:!1,reason:"explicit"};let t=typeof e.assigneeAgentId=="string"&&e.assigneeAgentId.length>0||typeof e.assigneeUserId=="string"&&e.assigneeUserId.length>0;return{status:t?"todo":"backlog",defaulted:!0,reason:t?"assigned_omitted_status":"unassigned_omitted_status"}}function dd(e){return r.preprocess(t=>{if(!t||typeof t!="object"||Array.isArray(t))return t;let n=t;return n.status!==void 0?t:{...n,status:Go(n).status}},e)}var Dn=r.object({projectId:r.string().uuid().optional().nullable(),projectWorkspaceId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),parentId:r.string().uuid().optional().nullable(),blockedByIssueIds:r.array(r.string().uuid()).optional(),inheritExecutionWorkspaceFromIssueId:r.string().uuid().optional().nullable(),title:r.string().min(1),description:J.optional().nullable(),status:r.enum(xn),workMode:r.enum(Ir).optional().default("standard"),priority:r.enum(Te).optional().default("medium"),assigneeAgentId:r.string().uuid().optional().nullable(),assigneeUserId:r.string().optional().nullable(),requestDepth:ud.optional().default(0),billingCode:r.string().optional().nullable(),assigneeAdapterOverrides:OS.optional().nullable(),executionPolicy:Wo.optional().nullable(),executionWorkspaceId:r.string().uuid().optional().nullable(),executionWorkspacePreference:r.enum(Wr).optional().nullable(),executionWorkspaceSettings:Un.optional().nullable(),labelIds:r.array(r.string().uuid()).optional()}),pd=Dn.extend({status:Dn.shape.status.optional()}),md=dd(Dn),Yo=dd(Dn.omit({parentId:!0,inheritExecutionWorkspaceFromIssueId:!0}).extend({acceptanceCriteria:r.array(r.string().trim().min(1).max(500)).max(20).optional(),blockParentUntilDone:r.boolean().optional().default(!1)})),gd=r.object({acceptedPlanRevisionId:r.string().uuid(),children:r.array(Yo).min(1).max(25)}),fd=r.object({name:r.string().trim().min(1).max(48),color:r.string().regex(/^#(?:[0-9a-fA-F]{6})$/,"Color must be a 6-digit hex value")}),hd=Dn.partial().extend({requestDepth:ud.optional(),assigneeAgentId:r.string().trim().min(1).optional().nullable(),comment:J.pipe(r.string().min(1)).optional(),reviewRequest:Gr.optional().nullable(),reopen:r.boolean().optional(),resume:r.boolean().optional(),interrupt:r.boolean().optional(),hiddenAt:r.string().datetime().nullable().optional()}),yd=r.object({agentId:r.string().uuid(),expectedStatuses:r.array(r.enum(xn)).nonempty()}),Sd=r.string().trim().min(1).max(120),bd=r.string().trim().min(1).max(2e3),Fn=r.enum(ui),jn=r.object({kind:r.enum(di).default("message"),tone:r.enum(pi).default("neutral"),title:r.string().trim().min(1).max(160).nullable().optional(),detailsDefaultOpen:r.boolean().optional().default(!1)}).strict(),cn=r.object({type:r.enum(mi),label:Sd.nullable().optional()}),jS=cn.extend({type:r.literal("text"),text:bd}).strict(),qS=cn.extend({type:r.literal("code"),code:r.string().min(1).max(4e3),language:r.string().trim().min(1).max(40).nullable().optional()}).strict(),$S=cn.extend({type:r.literal("key_value"),label:Sd,value:bd}).strict(),BS=cn.extend({type:r.literal("issue_link"),issueId:r.string().uuid().nullable().optional(),identifier:r.string().trim().min(1).max(80).nullable().optional(),title:r.string().trim().min(1).max(240).nullable().optional()}).strict(),HS=cn.extend({type:r.literal("agent_link"),agentId:r.string().uuid(),name:r.string().trim().min(1).max(160).nullable().optional()}).strict(),VS=cn.extend({type:r.literal("run_link"),runId:r.string().uuid(),title:r.string().trim().min(1).max(160).nullable().optional()}).strict(),Zo=r.discriminatedUnion("type",[jS,qS,$S,BS,HS,VS]).superRefine((e,t)=>{e.type==="issue_link"&&!e.issueId&&!e.identifier&&t.addIssue({code:r.ZodIssueCode.custom,message:"Issue link rows require issueId or identifier",path:["issueId"]})}),Jo=r.object({title:r.string().trim().min(1).max(160).nullable().optional(),rows:r.array(Zo).min(1).max(50)}).strict(),qn=r.object({version:r.literal(1),sourceRunId:r.string().uuid().nullable().optional(),sections:r.array(Jo).min(1).max(20)}).strict(),Id=r.object({body:J.pipe(r.string().min(1)),authorType:Fn.optional(),presentation:jn.nullable().optional(),metadata:qn.nullable().optional(),reopen:r.boolean().optional(),resume:r.boolean().optional(),interrupt:r.boolean().optional()}),vd=r.enum(hi),kd=r.enum(fi),an=r.enum(yi),Xo=r.string().trim().min(1).max(64).regex(/^[a-z0-9][a-z0-9_-]*$/,"Document key must be lowercase letters, numbers, _ or -"),Qo=r.object({clientKey:r.string().trim().min(1).max(120),parentClientKey:r.string().trim().min(1).max(120).nullable().optional(),parentId:r.string().uuid().nullable().optional(),title:r.string().trim().min(1).max(240),description:J.pipe(r.string().trim().max(2e4)).nullable().optional(),priority:r.enum(Te).nullable().optional(),workMode:r.enum(Ir).nullable().optional(),assigneeAgentId:r.string().uuid().nullable().optional(),assigneeUserId:r.string().trim().min(1).nullable().optional(),projectId:r.string().uuid().nullable().optional(),goalId:r.string().uuid().nullable().optional(),billingCode:r.string().trim().max(120).nullable().optional(),labels:r.array(r.string().trim().min(1).max(48)).max(20).optional(),hiddenInPreview:r.boolean().optional()}).superRefine((e,t)=>{e.assigneeAgentId&&e.assigneeUserId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Suggested tasks can only target one assignee",path:["assigneeAgentId"]})}),ea=r.object({version:r.literal(1),defaultParentId:r.string().uuid().nullable().optional(),tasks:r.array(Qo).min(1).max(50)}).superRefine((e,t)=>{let n=new Set;for(let[s,i]of e.tasks.entries()){if(n.has(i.clientKey)){t.addIssue({code:r.ZodIssueCode.custom,message:"clientKey must be unique within one interaction",path:["tasks",s,"clientKey"]});continue}n.add(i.clientKey)}}),ta=r.object({clientKey:r.string().trim().min(1).max(120),issueId:r.string().uuid(),identifier:r.string().trim().min(1).nullable().optional(),title:r.string().trim().min(1).nullable().optional(),parentIssueId:r.string().uuid().nullable().optional(),parentIdentifier:r.string().trim().min(1).nullable().optional()}),_d=r.object({version:r.literal(1),createdTasks:r.array(ta).max(50).optional(),skippedClientKeys:r.array(r.string().trim().min(1).max(120)).max(50).optional(),rejectionReason:r.string().trim().max(4e3).nullable().optional()}),na=r.object({id:r.string().trim().min(1).max(120),label:r.string().trim().min(1).max(120),description:r.string().trim().max(500).nullable().optional()}),ra=r.object({id:r.string().trim().min(1).max(120),prompt:r.string().trim().min(1).max(500),helpText:r.string().trim().max(1e3).nullable().optional(),selectionMode:r.enum(["single","multi"]),required:r.boolean().optional(),options:r.array(na).min(1).max(10)}),sa=r.object({version:r.literal(1),title:r.string().trim().max(240).nullable().optional(),submitLabel:r.string().trim().max(120).nullable().optional(),questions:r.array(ra).min(1).max(10)}).superRefine((e,t)=>{let n=new Set;for(let[s,i]of e.questions.entries()){n.has(i.id)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Question ids must be unique within one interaction",path:["questions",s,"id"]}),n.add(i.id);let o=new Set;for(let[a,c]of i.options.entries())o.has(c.id)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Option ids must be unique within one question",path:["questions",s,"options",a,"id"]}),o.add(c.id)}}),Yr=r.object({questionId:r.string().trim().min(1).max(120),optionIds:r.array(r.string().trim().min(1).max(120)).max(20),otherText:J.pipe(r.string().trim().max(4e3)).nullable().optional()}),Ed=r.object({version:r.literal(1),answers:r.array(Yr).max(20),cancelled:r.literal(!0).optional(),cancellationReason:r.string().trim().max(4e3).nullable().optional(),summaryMarkdown:r.string().max(2e4).nullable().optional()}),KS=r.string().trim().min(1).max(2e3).refine(e=>e.startsWith("#")?!0:e.startsWith("/")?!e.startsWith("//"):/^https?:\/\//i.test(e),"href must be a root-relative path, same-page fragment, or http(s) URL"),Ad=r.object({label:r.string().trim().min(1).max(120).nullable().optional(),href:KS.nullable().optional()}),ia=Ad.extend({type:r.literal("issue_document"),issueId:r.string().uuid().nullable().optional(),documentId:r.string().uuid().nullable().optional(),key:Xo,revisionId:r.string().uuid(),revisionNumber:r.number().int().positive().nullable().optional()}),oa=Ad.extend({type:r.literal("custom"),key:r.string().trim().min(1).max(120),revisionId:r.string().trim().min(1).max(255).nullable().optional(),revisionNumber:r.number().int().positive().nullable().optional()}),$n=r.discriminatedUnion("type",[ia,oa]),aa=r.object({version:r.literal(1),prompt:r.string().trim().min(1).max(1e3),acceptLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectRequiresReason:r.boolean().optional(),rejectReasonLabel:r.string().trim().min(1).max(160).nullable().optional(),allowDeclineReason:r.boolean().optional().default(!0),declineReasonPlaceholder:r.string().trim().min(1).max(240).nullable().optional(),detailsMarkdown:r.string().max(2e4).nullable().optional(),supersedeOnUserComment:r.boolean().optional(),target:$n.nullable().optional()}),ca=r.object({id:r.string().trim().min(1).max(120),label:r.string().trim().min(1).max(120),description:r.string().trim().max(500).nullable().optional()}),la=r.object({version:r.literal(1),prompt:r.string().trim().min(1).max(1e3),detailsMarkdown:r.string().max(2e4).nullable().optional(),options:r.array(ca).min(1).max(Qt),defaultSelectedOptionIds:r.array(r.string().trim().min(1).max(120)).max(Qt).optional().default([]),minSelected:r.number().int().min(0).optional().default(0),maxSelected:r.number().int().min(0).nullable().optional(),acceptLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectRequiresReason:r.boolean().optional(),rejectReasonLabel:r.string().trim().min(1).max(160).nullable().optional(),allowDeclineReason:r.boolean().optional().default(!0),declineReasonPlaceholder:r.string().trim().min(1).max(240).nullable().optional(),supersedeOnUserComment:r.boolean().optional(),target:$n.nullable().optional()}).superRefine((e,t)=>{let n=new Set;for(let[o,a]of e.options.entries())n.has(a.id)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Option ids must be unique within one checkbox confirmation",path:["options",o,"id"]}),n.add(a.id);let s=new Set;for(let[o,a]of e.defaultSelectedOptionIds.entries()){if(s.has(a)){t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds must be unique",path:["defaultSelectedOptionIds",o]});continue}s.add(a),n.has(a)||t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds must reference existing option ids",path:["defaultSelectedOptionIds",o]})}let i=e.maxSelected??null;e.minSelected>e.options.length&&t.addIssue({code:r.ZodIssueCode.custom,message:"minSelected cannot exceed the option count",path:["minSelected"]}),e.defaultSelectedOptionIds.length<e.minSelected&&t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds must satisfy minSelected",path:["defaultSelectedOptionIds"]}),i!=null&&(i<e.minSelected&&t.addIssue({code:r.ZodIssueCode.custom,message:"maxSelected must be greater than or equal to minSelected",path:["maxSelected"]}),i>e.options.length&&t.addIssue({code:r.ZodIssueCode.custom,message:"maxSelected cannot exceed the option count",path:["maxSelected"]}),e.defaultSelectedOptionIds.length>i&&t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds cannot exceed maxSelected",path:["defaultSelectedOptionIds"]}))}),ua=r.object({version:r.literal(1),outcome:r.enum(["accepted","rejected","superseded_by_comment","stale_target"]),reason:r.string().trim().max(4e3).nullable().optional(),commentId:r.string().uuid().nullable().optional(),staleTarget:$n.nullable().optional()}),wd=ua.extend({selectedOptionIds:r.array(r.string().trim().min(1).max(120)).max(Qt).optional()}).superRefine((e,t)=>{let n=e.selectedOptionIds??[],s=new Set;for(let[i,o]of n.entries())s.has(o)&&t.addIssue({code:r.ZodIssueCode.custom,message:"selectedOptionIds must be unique",path:["selectedOptionIds",i]}),s.add(o)}),xd=r.discriminatedUnion("kind",[r.object({kind:r.literal("suggest_tasks"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("wake_assignee"),payload:ea}),r.object({kind:r.literal("ask_user_questions"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("wake_assignee"),payload:sa}),r.object({kind:r.literal("request_confirmation"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("none"),payload:aa}),r.object({kind:r.literal("request_checkbox_confirmation"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("wake_assignee"),payload:la})]),Td=r.object({selectedClientKeys:r.array(r.string().trim().min(1).max(120)).min(1).max(50).optional(),selectedOptionIds:r.array(r.string().trim().min(1).max(120)).max(Qt).optional()}).superRefine((e,t)=>{let n=new Set;for(let[i,o]of(e.selectedClientKeys??[]).entries()){if(n.has(o)){t.addIssue({code:r.ZodIssueCode.custom,message:"selectedClientKeys must be unique",path:["selectedClientKeys",i]});continue}n.add(o)}let s=new Set;for(let[i,o]of(e.selectedOptionIds??[]).entries()){if(s.has(o)){t.addIssue({code:r.ZodIssueCode.custom,message:"selectedOptionIds must be unique",path:["selectedOptionIds",i]});continue}s.add(o)}}),Rd=r.object({reason:r.string().trim().max(4e3).optional()}),Cd=r.object({reason:r.string().trim().max(4e3).optional()}),Pd=r.object({answers:r.array(Yr).max(20),summaryMarkdown:J.pipe(r.string().max(2e4)).nullable().optional()}),Od=r.object({approvalId:r.string().uuid()}),Nd=r.object({issueCommentId:r.string().uuid().optional().nullable()}),zS=["markdown"],da=r.enum(zS),Ld=r.object({title:r.string().trim().max(200).nullable().optional(),format:da,body:J.pipe(r.string().max(524288)),changeSummary:r.string().trim().max(500).nullable().optional(),baseRevisionId:r.string().uuid().nullable().optional()}),Md=r.object({});var pa=r.object({type:r.literal("plain"),value:r.string()}),ma=r.object({type:r.literal("secret_ref"),secretId:r.string().uuid(),version:r.union([r.literal("latest"),r.number().int().positive()]).optional()}),ga=r.union([r.string(),pa,ma]),He=r.record(r.string(),ga),Dd=r.object({name:r.string().min(1),key:r.string().min(1).regex(/^[a-zA-Z0-9_.-]+$/).optional(),provider:r.enum(wt).optional(),providerConfigId:r.string().uuid().optional().nullable(),managedMode:r.enum(gu).optional(),value:r.string().min(1).optional().nullable(),description:r.string().optional().nullable(),externalRef:r.string().optional().nullable(),providerMetadata:r.record(r.string(),r.unknown()).optional().nullable(),providerVersionRef:r.string().optional().nullable()}).superRefine((e,t)=>{if((e.managedMode??"paperclip_managed")==="external_reference"){e.externalRef?.trim()||t.addIssue({code:r.ZodIssueCode.custom,path:["externalRef"],message:"External reference secrets require externalRef"});return}e.externalRef?.trim()&&t.addIssue({code:r.ZodIssueCode.custom,path:["externalRef"],message:"Managed secrets cannot set externalRef"}),e.value?.trim()||t.addIssue({code:r.ZodIssueCode.custom,path:["value"],message:"Managed secrets require value"})}),Ud=r.object({value:r.string().min(1).optional().nullable(),externalRef:r.string().optional().nullable(),providerVersionRef:r.string().optional().nullable(),providerConfigId:r.string().uuid().optional().nullable()}),Fd=r.object({name:r.string().min(1).optional(),key:r.string().min(1).regex(/^[a-zA-Z0-9_.-]+$/).optional(),status:r.enum(mu).optional(),providerConfigId:r.string().uuid().optional().nullable(),description:r.string().optional().nullable(),externalRef:r.string().optional().nullable(),providerMetadata:r.record(r.string(),r.unknown()).optional().nullable()}),fa=r.object({targetType:r.enum(fu),targetId:r.string().min(1),configPath:r.string().min(1)}),jd=fa.extend({secretId:r.string().uuid(),versionSelector:r.union([r.literal("latest"),r.number().int().positive()]).default("latest"),required:r.boolean().default(!0),label:r.string().optional().nullable()}),WS=r.string().trim().min(1).max(160),Re=WS.optional().nullable(),GS=/^(access[-_]?key([-_]?id)?|secret[-_]?access[-_]?key|secret[-_]?key|token|password|passwd|credential|credentials|private[-_]?key|pem|jwt|session[-_]?token|service[-_]?account([-_]?json)?|client[-_]?secret|secret[-_]?id|unseal[-_]?key|recovery[-_]?key|key[-_]?file([-_]?path)?|token[-_]?file([-_]?path)?)$/i;function ha(e,t){if(!(!e||typeof e!="object"||Array.isArray(e)))for(let n of Object.keys(e))GS.test(n)&&t.addIssue({code:r.ZodIssueCode.custom,path:["config",n],message:`Provider vault config cannot persist sensitive field: ${n}`})}var ya=r.object({backupReminderAcknowledged:r.boolean().optional()}).strict(),Sa=r.object({region:r.string().trim().regex(/^[a-z]{2}(?:-gov)?-[a-z]+-\d+$/,"Invalid AWS region"),namespace:Re,secretNamePrefix:Re,kmsKeyId:r.string().trim().min(1).max(512).optional().nullable(),ownerTag:Re,environmentTag:Re}).strict(),ba=r.object({projectId:r.string().trim().min(1).max(128).regex(/^[a-z][a-z0-9-]{4,127}$/).optional().nullable(),location:Re,namespace:Re,secretNamePrefix:Re}).strict(),qd=r.preprocess(e=>typeof e=="string"?e.trim():e,r.string().url().superRefine((e,t)=>{let n;try{n=new URL(e)}catch{return}let s=n.pathname!==""&&n.pathname!=="/";(n.protocol!=="http:"&&n.protocol!=="https:"||n.username||n.password||n.search||n.hash||s)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Vault address must be an origin-only HTTP(S) URL without credentials, path, query, or fragment"})}).transform(e=>new URL(e).origin));function YS(e,t){if(e==null)return;let n=qd.safeParse(e);if(!n.success)for(let s of n.error.issues)t.addIssue({...s,path:["config","address",...s.path]})}var Ia=r.object({address:qd.optional().nullable(),namespace:Re,mountPath:Re,secretPathPrefix:Re}).strict(),Zr=r.discriminatedUnion("provider",[r.object({provider:r.literal("local_encrypted"),config:ya}),r.object({provider:r.literal("aws_secrets_manager"),config:Sa}),r.object({provider:r.literal("gcp_secret_manager"),config:ba}),r.object({provider:r.literal("vault"),config:Ia})]),$d=r.object({provider:r.enum(wt),displayName:r.string().trim().min(1).max(120),status:r.enum(Ar).optional(),isDefault:r.boolean().optional(),config:r.record(r.string(),r.unknown()).default({})}).superRefine((e,t)=>{ha(e.config,t);let n=Zr.safeParse({provider:e.provider,config:e.config});if(!n.success)for(let i of n.error.issues)t.addIssue({...i,path:i.path[0]==="config"?i.path:["config",...i.path]});let s=e.status??(["gcp_secret_manager","vault"].includes(e.provider)?"coming_soon":"ready");(e.provider==="gcp_secret_manager"||e.provider==="vault")&&s!=="coming_soon"&&s!=="disabled"&&t.addIssue({code:r.ZodIssueCode.custom,path:["status"],message:`${e.provider} provider vaults are locked while coming soon`}),(s==="coming_soon"||s==="disabled")&&e.isDefault&&t.addIssue({code:r.ZodIssueCode.custom,path:["isDefault"],message:"Only ready or warning provider vaults can be default"})}),Bd=r.object({displayName:r.string().trim().min(1).max(120).optional(),status:r.enum(Ar).optional(),isDefault:r.boolean().optional(),config:r.record(r.string(),r.unknown()).optional()}).superRefine((e,t)=>{e.config!==void 0&&(ha(e.config,t),YS(e.config.address,t)),(e.status==="coming_soon"||e.status==="disabled")&&e.isDefault&&t.addIssue({code:r.ZodIssueCode.custom,path:["isDefault"],message:"Only ready or warning provider vaults can be default"})}),Hd=r.object({providerConfigId:r.string().uuid(),query:r.string().trim().max(200).optional().nullable(),nextToken:r.string().trim().min(1).max(4096).optional().nullable(),pageSize:r.number().int().min(1).max(100).optional()}),Vd=r.object({provider:r.enum(wt),config:r.record(r.unknown()).default({}),query:r.string().trim().max(200).optional().nullable(),nextToken:r.string().trim().min(1).max(4096).optional().nullable(),pageSize:r.number().int().min(1).max(100).optional()}).superRefine((e,t)=>{ha(e.config,t);let n=Zr.safeParse({provider:e.provider,config:e.config});if(!n.success)for(let s of n.error.issues)t.addIssue({...s,path:s.path[0]==="config"?s.path:["config",...s.path]})}),va=r.object({externalRef:r.string().trim().min(1).max(2048),name:r.string().trim().min(1).max(160).optional().nullable(),key:r.string().trim().min(1).max(120).regex(/^[a-zA-Z0-9_.-]+$/).optional().nullable(),description:r.string().trim().max(500).optional().nullable(),providerVersionRef:r.string().trim().min(1).max(512).optional().nullable(),providerMetadata:r.record(r.string(),r.unknown()).optional().nullable()}),Kd=r.object({providerConfigId:r.string().uuid(),secrets:r.array(va).min(1).max(100)});var zd=r.union([r.string(),r.number().finite(),r.boolean()]),et=r.object({name:r.string().trim().regex(/^[A-Za-z][A-Za-z0-9_]*$/),label:r.string().trim().max(120).optional().nullable(),type:r.enum(qi).optional().default("text"),defaultValue:zd.optional().nullable(),required:r.boolean().optional().default(!0),options:r.array(r.string().trim().min(1).max(120)).max(50).optional().default([])}).superRefine((e,t)=>{e.type==="select"&&e.options.length===0&&t.addIssue({code:r.ZodIssueCode.custom,path:["options"],message:"Select variables require at least one option"}),e.type!=="select"&&e.options.length>0&&t.addIssue({code:r.ZodIssueCode.custom,path:["options"],message:"Only select variables can define options"}),e.type==="select"&&e.defaultValue!=null&&(typeof e.defaultValue!="string"||!e.options.includes(e.defaultValue))&&t.addIssue({code:r.ZodIssueCode.custom,path:["defaultValue"],message:"Select variable defaults must match one of the allowed options"})}),_a=r.object({projectId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),parentIssueId:r.string().uuid().optional().nullable(),title:r.string().trim().min(1).max(200),description:r.string().optional().nullable(),assigneeAgentId:r.string().uuid().optional().nullable(),priority:r.enum(Te).optional().default("medium"),status:r.enum(en).optional().default("active"),concurrencyPolicy:r.enum(tn).optional().default("coalesce_if_active"),catchUpPolicy:r.enum(nn).optional().default("skip_missed"),variables:r.array(et).optional().default([]),env:He.optional().nullable()}),Wd=_a.partial().extend({baseRevisionId:r.string().uuid().optional().nullable()}),Ea=r.object({id:r.string().uuid(),companyId:r.string().uuid(),projectId:r.string().uuid().nullable(),goalId:r.string().uuid().nullable(),parentIssueId:r.string().uuid().nullable(),title:r.string().trim().min(1).max(200),description:r.string().nullable(),assigneeAgentId:r.string().uuid().nullable(),priority:r.enum(Te),status:r.enum(en),concurrencyPolicy:r.enum(tn),catchUpPolicy:r.enum(nn),variables:r.array(et),env:He.nullable().default(null)}).strict(),Aa=r.object({id:r.string().uuid(),kind:r.enum(Tn),label:r.string().nullable(),enabled:r.boolean(),cronExpression:r.string().nullable(),timezone:r.string().nullable(),publicId:r.string().nullable(),signingMode:r.enum(At).nullable(),replayWindowSec:r.number().int().min(30).max(86400).nullable()}).strict(),Gd=r.object({version:r.literal(1),routine:Ea,triggers:r.array(Aa)}).strict();var ka=r.object({label:r.string().trim().max(120).optional().nullable(),enabled:r.boolean().optional().default(!0)}),Yd=r.discriminatedUnion("kind",[ka.extend({kind:r.literal("schedule"),cronExpression:r.string().trim().min(1),timezone:r.string().trim().min(1).default("UTC")}),ka.extend({kind:r.literal("webhook"),signingMode:r.enum(At).optional().default("bearer"),replayWindowSec:r.number().int().min(30).max(86400).optional().default(300)}),ka.extend({kind:r.literal("api")})]),Zd=r.object({label:r.string().trim().max(120).optional().nullable(),enabled:r.boolean().optional(),cronExpression:r.string().trim().min(1).optional().nullable(),timezone:r.string().trim().min(1).optional().nullable(),signingMode:r.enum(At).optional().nullable(),replayWindowSec:r.number().int().min(30).max(86400).optional().nullable()}),Jd=r.object({triggerId:r.string().uuid().optional().nullable(),payload:r.record(r.string(),r.unknown()).optional().nullable(),variables:r.record(r.string(),zd).optional().nullable(),projectId:r.string().uuid().optional().nullable(),assigneeAgentId:r.string().uuid().optional().nullable(),idempotencyKey:r.string().trim().max(255).optional().nullable(),source:r.enum(["manual","api"]).optional().default("manual"),executionWorkspaceId:r.string().uuid().optional().nullable(),executionWorkspacePreference:r.enum(Wr).optional().nullable(),executionWorkspaceSettings:Un.optional().nullable()}),Xd=r.object({});var ln=r.object({company:r.boolean().optional(),agents:r.boolean().optional(),projects:r.boolean().optional(),issues:r.boolean().optional(),skills:r.boolean().optional()}).partial(),wa=r.object({key:r.string().min(1),description:r.string().nullable(),agentSlug:r.string().min(1).nullable(),projectSlug:r.string().min(1).nullable(),kind:r.enum(["secret","plain"]),requirement:r.enum(["required","optional"]),defaultValue:r.string().nullable(),portability:r.enum(["portable","system_dependent"])}),ZS=r.union([r.string(),r.object({encoding:r.literal("base64"),data:r.string(),contentType:r.string().min(1).optional().nullable()})]),xa=r.object({path:r.string().min(1),name:r.string().min(1),description:r.string().nullable(),brandColor:r.string().nullable(),logoPath:r.string().nullable(),attachmentMaxBytes:r.number().int().min(1).max(1073741824).nullable().default(null),requireBoardApprovalForNewAgents:r.boolean(),feedbackDataSharingEnabled:r.boolean().default(!1),feedbackDataSharingConsentAt:r.string().datetime().nullable().default(null),feedbackDataSharingConsentByUserId:r.string().nullable().default(null),feedbackDataSharingTermsVersion:r.string().nullable().default(null)}),Jr=r.object({agents:r.array(r.string().min(1)).default([]),projects:r.array(r.string().min(1)).default([])}),Ta=r.object({slug:r.string().min(1),name:r.string().min(1),path:r.string().min(1),skills:r.array(r.string().min(1)).default([]),role:r.string().min(1),title:r.string().nullable(),icon:r.string().nullable(),capabilities:r.string().nullable(),reportsToSlug:r.string().min(1).nullable(),adapterType:r.string().min(1),adapterConfig:r.record(r.string(),r.unknown()),runtimeConfig:r.record(r.string(),r.unknown()),permissions:r.record(r.string(),r.unknown()),budgetMonthlyCents:r.number().int().nonnegative(),metadata:r.record(r.string(),r.unknown()).nullable()}),Qd=r.object({key:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),path:r.string().min(1),description:r.string().nullable(),sourceType:r.string().min(1),sourceLocator:r.string().nullable(),sourceRef:r.string().nullable(),trustLevel:r.string().nullable(),compatibility:r.string().nullable(),metadata:r.record(r.string(),r.unknown()).nullable(),fileInventory:r.array(r.object({path:r.string().min(1),kind:r.string().min(1)})).default([])}),JS=r.object({slug:r.string().min(1),name:r.string().min(1),path:r.string().min(1),description:r.string().nullable(),ownerAgentSlug:r.string().min(1).nullable(),leadAgentSlug:r.string().min(1).nullable(),targetDate:r.string().nullable(),color:r.string().nullable(),status:r.string().nullable(),executionWorkspacePolicy:r.record(r.string(),r.unknown()).nullable(),workspaces:r.array(r.object({key:r.string().min(1),name:r.string().min(1),sourceType:r.string().nullable(),repoUrl:r.string().nullable(),repoRef:r.string().nullable(),defaultRef:r.string().nullable(),visibility:r.string().nullable(),setupCommand:r.string().nullable(),cleanupCommand:r.string().nullable(),metadata:r.record(r.string(),r.unknown()).nullable(),isPrimary:r.boolean()})).default([]),metadata:r.record(r.string(),r.unknown()).nullable()}),XS=r.object({kind:r.string().min(1),label:r.string().nullable(),enabled:r.boolean(),cronExpression:r.string().nullable(),timezone:r.string().nullable(),signingMode:r.string().nullable(),replayWindowSec:r.number().int().nullable()}),QS=r.object({concurrencyPolicy:r.string().nullable(),catchUpPolicy:r.string().nullable(),variables:r.array(et).nullable().optional(),triggers:r.array(XS).default([])}),eb=r.object({body:r.string().min(1),authorType:Fn,authorAgentSlug:r.string().min(1).nullable(),authorUserId:r.string().nullable(),presentation:jn.nullable(),metadata:qn.nullable(),createdAt:r.string().datetime().nullable()}),tb=r.object({slug:r.string().min(1),identifier:r.string().min(1).nullable(),title:r.string().min(1),path:r.string().min(1),projectSlug:r.string().min(1).nullable(),projectWorkspaceKey:r.string().min(1).nullable(),assigneeAgentSlug:r.string().min(1).nullable(),description:r.string().nullable(),recurring:r.boolean().default(!1),routine:QS.nullable(),legacyRecurrence:r.record(r.string(),r.unknown()).nullable(),status:r.string().nullable(),priority:r.string().nullable(),labelIds:r.array(r.string().min(1)).default([]),billingCode:r.string().nullable(),executionWorkspaceSettings:r.record(r.string(),r.unknown()).nullable(),assigneeAdapterOverrides:r.record(r.string(),r.unknown()).nullable(),comments:r.array(eb).default([]),metadata:r.record(r.string(),r.unknown()).nullable()}),ep=r.object({schemaVersion:r.number().int().positive(),generatedAt:r.string().datetime(),source:r.object({companyId:r.string().uuid(),companyName:r.string().min(1)}).nullable(),includes:r.object({company:r.boolean(),agents:r.boolean(),projects:r.boolean(),issues:r.boolean(),skills:r.boolean()}),company:xa.nullable(),sidebar:Jr.nullable(),agents:r.array(Ta),skills:r.array(Qd).default([]),projects:r.array(JS).default([]),issues:r.array(tb).default([]),envInputs:r.array(wa).default([])}),Ra=r.discriminatedUnion("type",[r.object({type:r.literal("inline"),rootPath:r.string().min(1).optional().nullable(),files:r.record(r.string(),ZS)}),r.object({type:r.literal("github"),url:r.string().url()})]),Ca=r.discriminatedUnion("mode",[r.object({mode:r.literal("new_company"),newCompanyName:r.string().min(1).optional().nullable()}),r.object({mode:r.literal("existing_company"),companyId:r.string().uuid()})]),Bn=r.union([r.literal("all"),r.array(r.string().min(1))]),Hn=r.enum(["rename","skip","replace"]),tp=r.object({include:ln.optional(),agents:r.array(r.string().min(1)).optional(),skills:r.array(r.string().min(1)).optional(),projects:r.array(r.string().min(1)).optional(),issues:r.array(r.string().min(1)).optional(),projectIssues:r.array(r.string().min(1)).optional(),selectedFiles:r.array(r.string().min(1)).optional(),expandReferencedSkills:r.boolean().optional(),sidebarOrder:Jr.partial().optional()}),Pa=r.object({source:Ra,include:ln.optional(),target:Ca,agents:Bn.optional(),collisionStrategy:Hn.optional(),nameOverrides:r.record(r.string().min(1),r.string().min(1)).optional(),selectedFiles:r.array(r.string().min(1)).optional()}),Oa=r.object({adapterType:r.string().min(1),adapterConfig:r.record(r.string(),r.unknown()).optional()}),np=Pa.extend({adapterOverrides:r.record(r.string().min(1),Oa).optional(),secretValues:r.record(r.string().min(1),r.string()).optional()});var Xr=r.enum(["bundled","optional"]),Na=r.enum(["markdown_only","assets","scripts_executables","external_sources"]),La=r.enum(["compatible","unknown","invalid"]),Qr=r.enum(["team","agent","project","task","skill","extension","readme","reference","script","asset","markdown","other"]),es=r.enum(["catalog","local","skills_sh","github","url","local_path","agent_package"]),Ma=r.object({type:es,ref:r.string().min(1),agentSlugs:r.array(r.string().min(1)),resolved:r.boolean(),catalogSkillId:r.string().min(1).optional(),catalogSkillKey:r.string().min(1).optional(),localPath:r.string().min(1).optional(),sourceLocator:r.string().min(1).optional(),sourceRef:r.string().min(1).optional()}),Da=r.object({key:r.string().min(1),agentSlug:r.string().min(1).nullable(),projectSlug:r.string().min(1).nullable(),kind:r.enum(["secret","plain"]),requirement:r.enum(["required","optional"])}),Ua=r.object({type:r.enum(["skills_sh","github","url","local_path","agent_package","include"]),ref:r.string().min(1),pinned:r.boolean()}),Fa=r.object({path:r.string().min(1),kind:Qr,sizeBytes:r.number().int().nonnegative(),sha256:r.string().min(1)}),rp=r.object({id:r.string().min(1),key:r.string().min(1),kind:Xr,category:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),description:r.string(),path:r.string().min(1),entrypoint:r.literal("TEAM.md"),schema:r.literal("agentcompanies/v1"),defaultInstall:r.boolean(),recommendedForCompanyTypes:r.array(r.string()),tags:r.array(r.string()),counts:r.object({agents:r.number().int().nonnegative(),projects:r.number().int().nonnegative(),tasks:r.number().int().nonnegative(),routines:r.number().int().nonnegative(),localSkills:r.number().int().nonnegative(),catalogSkills:r.number().int().nonnegative(),externalSkillSources:r.number().int().nonnegative()}),rootAgentSlugs:r.array(r.string()),agentSlugs:r.array(r.string()),projectSlugs:r.array(r.string()),requiredSkills:r.array(Ma),envInputs:r.array(Da),sourceRefs:r.array(Ua),files:r.array(Fa),trustLevel:Na,compatibility:La,contentHash:r.string().min(1),packageName:r.string().min(1).optional(),packageVersion:r.string().min(1).optional()}),sp=r.object({kind:Xr.optional(),category:r.string().min(1).optional(),q:r.string().min(1).optional()}),ip=r.object({catalogTeamId:r.string().min(1),path:r.string().min(1),kind:Qr,content:r.string(),language:r.string().nullable(),markdown:r.boolean()}),ja=r.object({allowExternalSources:r.boolean().optional(),allowUnpinnedOptionalSources:r.boolean().optional(),allowLocalPathSources:r.boolean().optional()}).strict(),qa=r.object({targetManagerAgentId:r.string().min(1).nullable().optional(),targetManagerSlug:r.string().min(1).nullable().optional(),include:ln.omit({company:!0}).strict().optional(),agents:Bn.optional(),collisionStrategy:Hn.optional(),nameOverrides:r.record(r.string().min(1),r.string().min(1)).optional(),selectedFiles:r.array(r.string().min(1)).optional(),sourcePolicy:ja.optional()}).strict(),op=qa.extend({adapterOverrides:r.record(r.string().min(1),Oa).optional(),secretValues:r.record(r.string().min(1),r.string()).optional()}).strict(),ap=r.object({type:es,ref:r.string().min(1),agentSlugs:r.array(r.string().min(1)),action:r.enum(["already_in_package","catalog_install_required","external_import_required","blocked"]),catalogSkillId:r.string().min(1).nullable(),catalogSkillKey:r.string().min(1).nullable(),sourceLocator:r.string().min(1).nullable(),sourceRef:r.string().min(1).nullable(),reason:r.string().min(1).nullable()});var $a=r.enum(["available","configured","installed","missing","stale","external"]),nb=r.enum(["company_managed","paperclip_required","user_installed","external_unknown"]),Ba=r.enum(["unsupported","persistent","ephemeral"]),Ha=r.object({key:r.string().min(1),runtimeName:r.string().min(1).nullable(),desired:r.boolean(),managed:r.boolean(),required:r.boolean().optional(),requiredReason:r.string().nullable().optional(),state:$a,origin:nb.optional(),originLabel:r.string().nullable().optional(),locationLabel:r.string().nullable().optional(),readOnly:r.boolean().optional(),sourcePath:r.string().nullable().optional(),targetPath:r.string().nullable().optional(),detail:r.string().nullable().optional()}),cp=r.object({adapterType:r.string().min(1),supported:r.boolean(),mode:Ba,desiredSkills:r.array(r.string().min(1)),entries:r.array(Ha),warnings:r.array(r.string())}),lp=r.object({desiredSkills:r.array(r.string().min(1))});var Va=r.object({canCreateAgents:r.boolean().optional().default(!1),trustPreset:Rt.optional(),authorizationPolicy:Be.optional()}).catchall(r.unknown()),Ka=r.enum(["managed","external"]),up=r.object({mode:Ka.optional(),rootPath:r.string().trim().min(1).nullable().optional(),entryFile:r.string().trim().min(1).optional(),clearLegacyPromptTemplate:r.boolean().optional().default(!1)}),dp=r.object({path:r.string().trim().min(1),content:r.string(),clearLegacyPromptTemplate:r.boolean().optional().default(!1)}),za=r.record(r.string(),r.unknown()).superRefine((e,t)=>{let n=e.env;if(n===void 0)return;He.safeParse(n).success||t.addIssue({code:r.ZodIssueCode.custom,message:"adapterConfig.env must be a map of valid env bindings",path:["env"]})}),rb=r.object({entryFile:r.string().trim().min(1).optional(),files:r.record(r.string(),r.string()).refine(e=>Object.keys(e).length>0,{message:"instructionsBundle.files must contain at least one file"})}),sb=r.object({enabled:r.boolean().optional(),label:r.string().trim().min(1).optional(),adapterConfig:za}).strict(),pp=r.object({modelProfiles:r.object({cheap:sb.optional()}).strict().optional()}).catchall(r.unknown()),ts=r.object({name:r.string().min(1),role:r.enum(ii).optional().default("general"),title:r.string().optional().nullable(),icon:r.enum(ai).optional().nullable(),reportsTo:r.string().uuid().optional().nullable(),capabilities:r.string().optional().nullable(),desiredSkills:r.array(r.string().min(1)).optional(),adapterType:ao,adapterConfig:za.optional().default({}),instructionsBundle:rb.optional(),runtimeConfig:pp.optional().default({}),defaultEnvironmentId:r.string().uuid().optional().nullable(),budgetMonthlyCents:r.number().int().nonnegative().optional().default(0),permissions:Va.optional(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}),mp=ts.extend({sourceIssueId:r.string().uuid().optional().nullable(),sourceIssueIds:r.array(r.string().uuid()).optional()}),gp=ts.omit({permissions:!0}).partial().extend({permissions:r.never().optional(),replaceAdapterConfig:r.boolean().optional(),status:r.enum(si).optional(),spentMonthlyCents:r.number().int().nonnegative().optional()}),fp=r.object({path:r.string().trim().min(1).nullable(),adapterConfigKey:r.string().trim().min(1).optional()}),hp=r.object({name:r.string().min(1).default("default")}),yp=r.object({userId:r.string().trim().min(1),status:r.string().trim().min(1).optional().default(li)}),Sp=r.object({source:r.enum(["timer","assignment","on_demand","automation"]).optional().default("on_demand"),triggerDetail:r.enum(["manual","ping","callback","system"]).optional(),reason:r.string().optional().nullable(),payload:r.record(r.string(),r.unknown()).optional().nullable(),idempotencyKey:r.string().optional().nullable(),forceFreshSession:r.preprocess(e=>e===null?void 0:e,r.boolean().optional().default(!1))}),bp=r.object({taskKey:r.string().min(1).optional().nullable()}),Ip=r.object({adapterConfig:za.optional().default({}),environmentId:r.string().uuid().optional().nullable()}),vp=r.object({canCreateAgents:r.boolean(),canAssignTasks:r.boolean(),trustPreset:Rt.optional(),authorizationPolicy:Be.optional()});var ib=r.object({type:r.enum(["project_primary","git_worktree","adapter_managed","cloud_sandbox"]).optional(),baseRef:r.string().optional().nullable(),branchTemplate:r.string().optional().nullable(),worktreeParentDir:r.string().optional().nullable(),provisionCommand:r.string().optional().nullable(),teardownCommand:r.string().optional().nullable()}).strict(),Wa=r.object({enabled:r.boolean(),defaultMode:r.enum(["shared_workspace","isolated_workspace","operator_branch","adapter_default"]).optional(),allowIssueOverride:r.boolean().optional(),defaultProjectWorkspaceId:r.string().uuid().optional().nullable(),environmentId:r.string().uuid().optional().nullable(),workspaceStrategy:ib.optional().nullable(),workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable(),branchPolicy:r.record(r.string(),r.unknown()).optional().nullable(),pullRequestPolicy:r.record(r.string(),r.unknown()).optional().nullable(),runtimePolicy:r.record(r.string(),r.unknown()).optional().nullable(),cleanupPolicy:r.record(r.string(),r.unknown()).optional().nullable(),authorizationPolicy:Be.optional().nullable()}).strict(),kp=r.object({workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable(),desiredState:r.enum(["running","stopped","manual"]).optional().nullable(),serviceStates:r.record(r.enum(["running","stopped","manual"])).optional().nullable()}).strict(),ob=r.enum(["local_path","git_repo","remote_managed","non_git_path"]),ab=r.enum(["default","advanced"]),_p={name:r.string().min(1).optional(),sourceType:ob.optional(),cwd:r.string().min(1).optional().nullable(),repoUrl:r.string().url().optional().nullable(),repoRef:r.string().optional().nullable(),defaultRef:r.string().optional().nullable(),visibility:ab.optional(),setupCommand:r.string().optional().nullable(),cleanupCommand:r.string().optional().nullable(),remoteProvider:r.string().optional().nullable(),remoteWorkspaceRef:r.string().optional().nullable(),sharedWorkspaceKey:r.string().optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable(),runtimeConfig:kp.optional().nullable()};function cb(e,t){let n=e.sourceType??"local_path",s=typeof e.cwd=="string"&&e.cwd.trim().length>0,i=typeof e.repoUrl=="string"&&e.repoUrl.trim().length>0,o=typeof e.remoteWorkspaceRef=="string"&&e.remoteWorkspaceRef.trim().length>0;if(n==="remote_managed"){!o&&!i&&t.addIssue({code:r.ZodIssueCode.custom,message:"Remote-managed workspace requires remoteWorkspaceRef or repoUrl.",path:["remoteWorkspaceRef"]});return}!s&&!i&&t.addIssue({code:r.ZodIssueCode.custom,message:"Workspace requires at least one of cwd or repoUrl.",path:["cwd"]})}var Ga=r.object({..._p,isPrimary:r.boolean().optional().default(!1)}).superRefine(cb),Ep=r.object({..._p,isPrimary:r.boolean().optional()}).partial(),Ap={goalId:r.string().uuid().optional().nullable(),goalIds:r.array(r.string().uuid()).optional(),name:r.string().min(1),description:r.string().optional().nullable(),status:r.enum(Mi).optional().default("backlog"),leadAgentId:r.string().uuid().optional().nullable(),targetDate:r.string().optional().nullable(),color:r.string().optional().nullable(),icon:r.enum(ci).optional().nullable(),env:He.optional().nullable(),executionWorkspacePolicy:Wa.optional().nullable(),archivedAt:r.string().datetime().optional().nullable()},wp=r.object({...Ap,workspace:Ga.optional()}),xp=r.object(Ap).partial();var Ya=r.enum(Ai),Tp=r.enum(wi),Rp=r.enum(xi),Za=r.object({exact:r.string().min(1).max(1e4),prefix:r.string().max(1e3).default(""),suffix:r.string().max(1e3).default("")}).strict(),Ja=r.object({normalizedStart:r.number().int().nonnegative(),normalizedEnd:r.number().int().nonnegative(),markdownStart:r.number().int().nonnegative(),markdownEnd:r.number().int().nonnegative()}).strict().superRefine((e,t)=>{e.normalizedEnd<=e.normalizedStart&&t.addIssue({code:r.ZodIssueCode.custom,message:"normalizedEnd must be greater than normalizedStart",path:["normalizedEnd"]}),e.markdownEnd<=e.markdownStart&&t.addIssue({code:r.ZodIssueCode.custom,message:"markdownEnd must be greater than markdownStart",path:["markdownEnd"]})}),Xa=r.object({quote:Za,position:Ja}).strict(),Cp=r.object({baseRevisionId:r.string().uuid(),baseRevisionNumber:r.number().int().positive(),selector:Xa,body:J.pipe(r.string().min(1).max(2e4)),issueCommentId:r.string().uuid().nullable().optional()}).strict(),Pp=r.object({body:J.pipe(r.string().min(1).max(2e4)),issueCommentId:r.string().uuid().nullable().optional()}).strict(),Op=r.object({status:Ya.optional()}).strict().refine(e=>e.status!=null,{message:"At least one field must be provided"});var ec=200;var tc=20,nc=50,rc=200;function Qa(e){return Array.isArray(e)?e[0]:e}function Np(e,t,n,s){let i=Qa(e),o=typeof i=="number"?i:typeof i=="string"&&i.trim().length>0?Number.parseInt(i,10):Number.NaN;return Number.isFinite(o)?Math.min(s,Math.max(n,Math.floor(o))):t}var Lp=r.object({q:r.preprocess(Qa,r.string().optional().default("")).transform(e=>e.slice(0,ec)),scope:r.preprocess(Qa,r.enum(jr).catch("all")).optional().default("all"),limit:r.unknown().optional().transform(e=>Np(e,tc,1,nc)),offset:r.unknown().optional().transform(e=>Np(e,0,0,rc))});var ns=r.enum(_i),Vn=r.object({strategy:r.enum(Ei).default("manual"),note:r.string().trim().min(1).max(500).optional().nullable()}).strict(),Mp=r.object({mode:ns,releasePolicy:Vn.optional().nullable()}).strict(),Dp=r.object({mode:ns,reason:r.string().trim().min(1).max(1e3).optional().nullable(),releasePolicy:Vn.optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict(),Up=r.object({reason:r.string().trim().min(1).max(1e3).optional().nullable(),releasePolicy:Vn.optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict();function lb(e){return`/api/attachments/${e}/content`}var sc=r.enum(["preview_url","runtime_service","pull_request","branch","commit","artifact","document"]),ic=r.enum(["active","ready_for_review","approved","changes_requested","merged","closed","failed","archived","draft"]),oc=r.enum(["none","needs_board_review","approved","changes_requested"]),Fp=r.object({attachmentId:r.string().uuid(),contentType:r.string().min(1),byteSize:r.number().int().nonnegative(),contentPath:r.string().min(1),openPath:r.string().min(1),downloadPath:r.string().min(1),originalFilename:r.string().optional().nullable()}).superRefine((e,t)=>{let n=lb(e.attachmentId);e.contentPath!==n&&t.addIssue({code:r.ZodIssueCode.custom,path:["contentPath"],message:"contentPath must point to the same-origin attachment content route"}),e.openPath!==n&&t.addIssue({code:r.ZodIssueCode.custom,path:["openPath"],message:"openPath must point to the same-origin attachment content route"}),e.downloadPath!==`${n}?download=1`&&t.addIssue({code:r.ZodIssueCode.custom,path:["downloadPath"],message:"downloadPath must point to the same-origin attachment download route"})}),ac=r.object({projectId:r.string().uuid().optional().nullable(),executionWorkspaceId:r.string().uuid().optional().nullable(),runtimeServiceId:r.string().uuid().optional().nullable(),type:sc,provider:r.string().min(1),externalId:r.string().optional().nullable(),title:r.string().min(1),url:r.string().url().optional().nullable(),status:ic.default("active"),reviewState:oc.optional().default("none"),isPrimary:r.boolean().optional().default(!1),healthStatus:r.enum(["unknown","healthy","unhealthy"]).optional().default("unknown"),summary:r.string().optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable(),createdByRunId:r.string().uuid().optional().nullable()}),jp=ac.partial();var cc=30,lc=100,uc=160,dc=r.enum(["document","attachment","work_product"]),ss=r.enum(["image","video","text","document","file","empty"]),is=r.enum(["none","task","parent_task"]),qp=r.object({kind:r.enum(["image","video","text","document","file","all"]).optional().default("all"),projectId:r.string().uuid().optional(),q:r.string().trim().max(uc).optional(),groupBy:is.optional().default("none"),groupIssueId:r.string().uuid().optional(),limit:r.coerce.number().int().min(1).max(lc).optional().default(cc),cursor:r.string().min(1).optional()}),os=r.object({id:r.string().min(1),source:dc,mediaKind:ss,title:r.string(),previewText:r.string().nullable(),contentType:r.string().nullable(),contentPath:r.string().nullable(),openPath:r.string().nullable(),downloadPath:r.string().nullable(),issue:r.object({id:r.string().uuid(),identifier:r.string(),title:r.string()}),project:r.object({id:r.string().uuid(),name:r.string()}).nullable(),createdByAgent:r.object({id:r.string().uuid(),name:r.string()}).nullable(),updatedAt:r.string().datetime(),href:r.string().min(1)}),rs=r.object({id:r.string().min(1),groupBy:is.exclude(["none"]),issue:r.object({id:r.string().uuid(),identifier:r.string(),title:r.string()}),title:r.string(),count:r.number().int().min(0),mediaKinds:r.array(ss),previewArtifacts:r.array(os),updatedAt:r.string().datetime(),href:r.string().min(1)}),$p=r.object({artifacts:r.array(os),groups:r.array(rs).optional(),selectedGroup:rs.nullable().optional(),nextCursor:r.string().nullable()});var pc=r.object({title:r.string().min(1),description:r.string().optional().nullable(),level:r.enum(Ni).optional().default("task"),status:r.enum(Li).optional().default("planned"),parentId:r.string().uuid().optional().nullable(),ownerAgentId:r.string().uuid().optional().nullable()}),Bp=pc.partial();var Hp=r.object({type:r.enum($i),requestedByAgentId:r.string().uuid().optional().nullable(),payload:r.record(r.string(),r.unknown()),issueIds:r.array(r.string().uuid()).optional()}),Vp=r.object({decisionNote:J.optional().nullable()}),Kp=r.object({decisionNote:J.optional().nullable()}),zp=r.object({payload:r.record(r.string(),r.unknown()).optional()}),Wp=r.object({body:J.pipe(r.string().min(1))});var Gp=r.object({agentId:r.string().uuid(),issueId:r.string().uuid().optional().nullable(),projectId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),heartbeatRunId:r.string().uuid().optional().nullable(),billingCode:r.string().optional().nullable(),provider:r.string().min(1),biller:r.string().min(1).optional(),billingType:r.enum(Hi).optional().default("unknown"),model:r.string().min(1),inputTokens:r.number().int().nonnegative().optional().default(0),cachedInputTokens:r.number().int().nonnegative().optional().default(0),outputTokens:r.number().int().nonnegative().optional().default(0),costCents:r.number().int().nonnegative(),occurredAt:r.string().datetime()}).transform(e=>({...e,biller:e.biller??e.provider})),Yp=r.object({budgetMonthlyCents:r.number().int().nonnegative()});var Zp=r.object({agentId:r.string().uuid().optional().nullable(),issueId:r.string().uuid().optional().nullable(),projectId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),heartbeatRunId:r.string().uuid().optional().nullable(),costEventId:r.string().uuid().optional().nullable(),billingCode:r.string().optional().nullable(),description:r.string().max(500).optional().nullable(),eventKind:r.enum(Vi),direction:r.enum(Ki).optional().default("debit"),biller:r.string().min(1),provider:r.string().min(1).optional().nullable(),executionAdapterType:r.enum(wn).optional().nullable(),pricingTier:r.string().min(1).optional().nullable(),region:r.string().min(1).optional().nullable(),model:r.string().min(1).optional().nullable(),quantity:r.number().int().nonnegative().optional().nullable(),unit:r.enum(zi).optional().nullable(),amountCents:r.number().int().nonnegative(),currency:r.string().length(3).optional().default("USD"),estimated:r.boolean().optional().default(!1),externalInvoiceId:r.string().optional().nullable(),metadataJson:r.record(r.string(),r.unknown()).optional().nullable(),occurredAt:r.string().datetime()}).transform(e=>({...e,currency:e.currency.toUpperCase()}));var Jp=r.object({namespace:r.string().trim().min(1).max(120).regex(/^[a-zA-Z0-9/_-]+$/).optional()});var Xp=r.object({allowedJoinTypes:r.enum(Ji).default("both"),humanRole:r.enum(rn).optional().nullable(),defaultsPayload:r.record(r.string(),r.unknown()).optional().nullable(),agentMessage:r.string().max(4e3).optional().nullable()}),Qp=r.object({agentMessage:r.string().max(4e3).optional().nullable()}),em=r.object({requestType:r.enum(wr),agentName:r.string().min(1).max(120).optional(),adapterType:co,capabilities:r.string().max(4e3).optional().nullable(),agentDefaultsPayload:r.record(r.string(),r.unknown()).optional().nullable(),responsesWebhookUrl:r.string().max(4e3).optional().nullable(),responsesWebhookMethod:r.string().max(32).optional().nullable(),responsesWebhookHeaders:r.record(r.string(),r.unknown()).optional().nullable(),paperclipApiUrl:r.string().max(4e3).optional().nullable(),webhookAuthHeader:r.string().max(4e3).optional().nullable()}),tm=r.object({status:r.enum(Xi).optional(),requestType:r.enum(wr).optional()}),nm=r.object({state:r.enum(["active","revoked","accepted","expired"]).optional(),limit:r.coerce.number().int().min(1).max(100).optional().default(20),offset:r.coerce.number().int().min(0).optional().default(0)}),rm=r.object({claimSecret:r.string().min(16).max(256)}),mc=r.enum(["board","instance_admin_required"]),sm=r.object({command:r.string().min(1).max(240),clientName:r.string().max(120).optional().nullable(),requestedAccess:mc.default("board"),requestedCompanyId:r.string().uuid().optional().nullable()}),im=r.object({token:r.string().min(16).max(256)}),om=r.object({name:r.string().trim().min(1).max(120).default("paperclipai cli"),expiresAt:r.coerce.date().optional().nullable(),requestedCompanyId:r.string().uuid().optional().nullable()}),gc=r.object({grants:r.array(r.object({permissionKey:r.enum(xr),scope:r.record(r.string(),r.unknown()).optional().nullable()}))}),am=["pending","active","suspended"],cm=r.object({membershipRole:r.enum(rn).optional().nullable(),status:r.enum(am).optional()}).refine(e=>e.membershipRole!==void 0||e.status!==void 0,{message:"membershipRole or status is required"}),lm=r.object({membershipRole:r.enum(rn).optional().nullable(),status:r.enum(am).optional(),grants:gc.shape.grants.default([])}).refine(e=>e.membershipRole!==void 0||e.status!==void 0,{message:"membershipRole or status is required"}),um=r.object({reassignment:r.object({assigneeAgentId:r.string().uuid().optional().nullable(),assigneeUserId:r.string().uuid().optional().nullable()}).optional().nullable()}).superRefine((e,t)=>{e.reassignment?.assigneeAgentId&&e.reassignment.assigneeUserId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Choose either an agent or user reassignment target",path:["reassignment"]})}),dm=r.object({companyIds:r.array(r.string().uuid()).default([])}),pm=r.object({query:r.string().trim().max(120).optional().default("")}),ub=/^\/api\/assets\/[^/?#]+\/content(?:\?[^#]*)?(?:#.*)?$/;function db(e){if(ub.test(e))return!0;try{let t=new URL(e);return t.protocol==="https:"||t.protocol==="http:"}catch{return!1}}var mm=r.string().trim().min(1).max(4e3).refine(db,{message:"Invalid profile image URL"}),fc=r.object({id:r.string().min(1),email:r.string().email().nullable(),name:r.string().min(1).max(120).nullable(),image:mm.nullable()}),gm=r.object({session:r.object({id:r.string().min(1),userId:r.string().min(1)}),user:fc}),fm=r.object({name:r.string().trim().min(1).max(120),image:r.union([mm,r.literal(""),r.null()]).optional().transform(e=>e===""?null:e)});var Kn=r.record(r.string(),r.unknown()).refine(e=>Object.keys(e).length===0?!0:typeof e.type=="string"||e.$ref!==void 0||e.oneOf!==void 0||e.anyOf!==void 0||e.allOf!==void 0,{message:"Must be a valid JSON Schema object (requires at least a 'type', '$ref', or composition keyword)"}),pb=/^(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?)(?:,(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?))*$/;function mb(e){let t=e.trim();if(!t)return!1;let n=t.split(/\s+/);return n.length!==5?!1:n.every(s=>pb.test(s))}var yc=r.object({jobKey:r.string().min(1),displayName:r.string().min(1),description:r.string().optional(),schedule:r.string().refine(e=>mb(e),{message:"schedule must be a valid 5-field cron expression (e.g. '*/15 * * * *')"}).optional()}),Sc=r.object({endpointKey:r.string().min(1),displayName:r.string().min(1),description:r.string().optional()}),bc=r.object({name:r.string().min(1),displayName:r.string().min(1),description:r.string().min(1),parametersSchema:Kn}),Ic=r.object({driverKey:r.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/,"Environment driver key must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),kind:r.enum(["environment_driver","sandbox_provider"]).optional(),displayName:r.string().min(1).max(100),description:r.string().max(500).optional(),configSchema:Kn}),gb=r.object({agentKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"agentKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(100),role:r.string().min(1).max(100).optional(),title:r.string().max(200).nullable().optional(),icon:r.string().max(100).nullable().optional(),capabilities:r.string().max(2e3).nullable().optional(),adapterType:r.string().min(1).max(100).optional(),adapterPreference:r.array(r.string().min(1).max(100)).max(10).optional(),adapterConfig:r.record(r.string(),r.unknown()).optional(),runtimeConfig:r.record(r.string(),r.unknown()).optional(),permissions:r.record(r.string(),r.unknown()).optional(),status:r.enum(["idle","paused"]).optional(),budgetMonthlyCents:r.number().int().min(0).optional(),instructions:r.object({entryFile:r.string().min(1).max(200).optional(),content:r.string().max(2e5).optional(),files:r.record(r.string().max(2e5)).optional(),assetPath:r.string().min(1).max(500).optional()}).optional()}),fb=r.object({projectKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"projectKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(120),description:r.string().max(2e3).nullable().optional(),status:r.enum(["backlog","planned","in_progress","completed","cancelled"]).optional(),color:r.string().max(32).nullable().optional(),settings:r.record(r.string(),r.unknown()).optional()}),hm=r.object({pluginKey:r.string().min(1).max(100).optional(),resourceKind:r.enum(["agent","project","routine","skill"]),resourceKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"resourceKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"})}),hb=r.object({routineKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"routineKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),title:r.string().trim().min(1).max(200),description:r.string().max(1e4).nullable().optional(),assigneeRef:hm.extend({resourceKind:r.literal("agent")}).nullable().optional(),projectRef:hm.extend({resourceKind:r.literal("project")}).nullable().optional(),goalId:r.string().uuid().nullable().optional(),status:r.enum(en).optional(),priority:r.enum(Te).optional(),concurrencyPolicy:r.enum(tn).optional(),catchUpPolicy:r.enum(nn).optional(),variables:r.array(et).optional(),triggers:r.array(r.object({kind:r.enum(Tn),label:r.string().trim().max(120).nullable().optional(),enabled:r.boolean().optional(),cronExpression:r.string().trim().min(1).optional().nullable(),timezone:r.string().trim().min(1).optional().nullable(),signingMode:r.enum(At).optional().nullable(),replayWindowSec:r.number().int().min(30).max(86400).optional().nullable()})).max(20).optional(),issueTemplate:r.object({surfaceVisibility:r.enum(Si).optional(),originId:r.string().trim().max(255).nullable().optional(),billingCode:r.string().trim().max(200).nullable().optional()}).optional()}),hc=r.string().min(1).max(500).refine(e=>!e.startsWith("/")&&!e.includes("..")&&!e.includes("\\")&&!e.split("/").some(t=>t===""||t==="."),{message:"local folder paths must be relative paths without traversal, empty segments, or backslashes"}),yb=r.object({folderKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"folderKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(100),description:r.string().max(500).optional(),access:r.enum(["read","readWrite"]).optional(),requiredDirectories:r.array(hc).optional(),requiredFiles:r.array(hc).optional()}),ym=r.object({path:hc.refine(e=>e.toLowerCase()!=="skill.md",{message:"managed skill files cannot replace SKILL.md; use markdown for the main skill file"}),content:r.string().max(2e5)}),Sm=r.object({skillKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"skillKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(100),slug:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"slug must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}).optional(),description:r.string().max(2e3).nullable().optional(),markdown:r.string().max(2e5).optional(),files:r.array(ym).max(50).optional()}).superRefine((e,t)=>{let n=(e.files??[]).map(i=>i.path),s=n.filter((i,o)=>n.indexOf(i)!==o);s.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed skill file paths: ${[...new Set(s)].join(", ")}`,path:["files"]})}),vc=r.object({type:r.enum(Pr),id:r.string().min(1),displayName:r.string().min(1),exportName:r.string().min(1),entityTypes:r.array(r.enum(Rn)).optional(),routePath:r.string().regex(/^[a-z0-9][a-z0-9-]*$/,{message:"routePath must be a lowercase single-segment slug (letters, numbers, hyphens)"}).optional(),order:r.number().int().optional()}).superRefine((e,t)=>{["detailTab","taskDetailView","contextMenuItem","commentAnnotation","commentContextMenuItem","projectSidebarItem"].includes(e.type)&&(!e.entityTypes||e.entityTypes.length===0)&&t.addIssue({code:r.ZodIssueCode.custom,message:`${e.type} slots require at least one entityType`,path:["entityTypes"]}),e.type==="projectSidebarItem"&&e.entityTypes&&!e.entityTypes.includes("project")&&t.addIssue({code:r.ZodIssueCode.custom,message:'projectSidebarItem slots require entityTypes to include "project"',path:["entityTypes"]}),e.type==="commentAnnotation"&&e.entityTypes&&!e.entityTypes.includes("comment")&&t.addIssue({code:r.ZodIssueCode.custom,message:'commentAnnotation slots require entityTypes to include "comment"',path:["entityTypes"]}),e.type==="commentContextMenuItem"&&e.entityTypes&&!e.entityTypes.includes("comment")&&t.addIssue({code:r.ZodIssueCode.custom,message:'commentContextMenuItem slots require entityTypes to include "comment"',path:["entityTypes"]}),e.routePath&&e.type!=="page"&&e.type!=="routeSidebar"&&e.type!=="companySettingsPage"&&t.addIssue({code:r.ZodIssueCode.custom,message:"routePath is only supported for page, routeSidebar, and companySettingsPage slots",path:["routePath"]}),e.type==="routeSidebar"&&!e.routePath&&t.addIssue({code:r.ZodIssueCode.custom,message:"routeSidebar slots require routePath",path:["routePath"]}),e.type==="companySettingsPage"&&!e.routePath&&t.addIssue({code:r.ZodIssueCode.custom,message:"companySettingsPage slots require routePath",path:["routePath"]}),e.routePath&&hu.includes(e.routePath)&&t.addIssue({code:r.ZodIssueCode.custom,message:`routePath "${e.routePath}" is reserved by the host`,path:["routePath"]}),e.type==="companySettingsPage"&&e.routePath&&Or.includes(e.routePath)&&t.addIssue({code:r.ZodIssueCode.custom,message:`company settings routePath "${e.routePath}" is reserved by the host`,path:["routePath"]})}),Sb=["detailTab","taskDetailView","contextMenuItem","commentAnnotation","commentContextMenuItem","projectSidebarItem"],bb={hostInline:["inline","compact","default"],hostOverlay:["compact","default","wide","full"],hostRoute:["default","wide","full"],external:[],iframe:["compact","default","wide","full"]},kc=r.object({type:r.enum(so),target:r.string().min(1),params:r.record(r.string(),r.unknown()).optional()}).superRefine((e,t)=>{e.type==="performAction"&&e.target.includes("/")&&t.addIssue({code:r.ZodIssueCode.custom,message:"performAction launchers must target an action key, not a route or URL",path:["target"]}),e.type==="navigate"&&/^https?:\/\//.test(e.target)&&t.addIssue({code:r.ZodIssueCode.custom,message:"navigate launchers must target a host route, not an absolute URL",path:["target"]})}),_c=r.object({environment:r.enum(oo),bounds:r.enum(io).optional()}).superRefine((e,t)=>{if(!e.bounds)return;bb[e.environment].includes(e.bounds)||t.addIssue({code:r.ZodIssueCode.custom,message:`bounds "${e.bounds}" is not supported for render environment "${e.environment}"`,path:["bounds"]})}),as=r.object({id:r.string().min(1),displayName:r.string().min(1),description:r.string().optional(),placementZone:r.enum(ro),exportName:r.string().min(1).optional(),entityTypes:r.array(r.enum(Rn)).optional(),order:r.number().int().optional(),action:kc,render:_c.optional()}).superRefine((e,t)=>{Sb.some(n=>n===e.placementZone)&&(!e.entityTypes||e.entityTypes.length===0)&&t.addIssue({code:r.ZodIssueCode.custom,message:`${e.placementZone} launchers require at least one entityType`,path:["entityTypes"]}),e.placementZone==="projectSidebarItem"&&e.entityTypes&&!e.entityTypes.includes("project")&&t.addIssue({code:r.ZodIssueCode.custom,message:'projectSidebarItem launchers require entityTypes to include "project"',path:["entityTypes"]}),e.action.type==="performAction"&&e.render&&t.addIssue({code:r.ZodIssueCode.custom,message:"performAction launchers cannot declare render hints",path:["render"]}),["openModal","openDrawer","openPopover"].includes(e.action.type)&&!e.render&&t.addIssue({code:r.ZodIssueCode.custom,message:`${e.action.type} launchers require render metadata`,path:["render"]}),e.action.type==="openModal"&&e.render?.environment==="hostInline"&&t.addIssue({code:r.ZodIssueCode.custom,message:"openModal launchers cannot use the hostInline render environment",path:["render","environment"]}),e.action.type==="openDrawer"&&e.render&&!["hostOverlay","iframe"].includes(e.render.environment)&&t.addIssue({code:r.ZodIssueCode.custom,message:"openDrawer launchers must use hostOverlay or iframe render environments",path:["render","environment"]}),e.action.type==="openPopover"&&e.render?.environment==="hostRoute"&&t.addIssue({code:r.ZodIssueCode.custom,message:"openPopover launchers cannot use the hostRoute render environment",path:["render","environment"]})}),Ec=r.object({namespaceSlug:r.string().regex(/^[a-z0-9][a-z0-9_]*$/,{message:"namespaceSlug must be lowercase letters, digits, or underscores and start with a letter or digit"}).max(40).optional(),migrationsDir:r.string().min(1).refine(e=>!e.startsWith("/")&&!e.includes("..")&&!/[\\]/.test(e),{message:"migrationsDir must be a relative package path without '..' or backslashes"}),coreReadTables:r.array(r.enum(Qi)).optional()}),Ac=r.object({routeKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"routeKey must be lowercase letters, digits, dots, colons, underscores, or hyphens"}),method:r.enum(eo),path:r.string().min(1).regex(/^\/[a-zA-Z0-9:_./-]*$/,{message:"path must start with / and contain only path-safe literal or :param segments"}).refine(e=>!e.includes("..")&&!e.includes("//")&&e!=="/api"&&!e.startsWith("/api/")&&e!=="/plugins"&&!e.startsWith("/plugins/"),{message:"path must stay inside the plugin api namespace"}),auth:r.enum(to),capability:r.literal("api.routes.register"),checkoutPolicy:r.enum(no).optional(),companyResolution:r.discriminatedUnion("from",[r.object({from:r.literal("body"),key:r.string().min(1)}),r.object({from:r.literal("query"),key:r.string().min(1)}),r.object({from:r.literal("issue"),param:r.string().min(1)})]).optional()}),bm=r.object({id:r.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/,"Plugin id must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),apiVersion:r.literal(1),version:r.string().min(1).regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,"Version must follow semver (e.g. 1.0.0 or 1.0.0-beta.1)"),displayName:r.string().min(1).max(100),description:r.string().min(1).max(500),author:r.string().min(1).max(200),categories:r.array(r.enum(Rr)).min(1),minimumHostVersion:r.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,"minimumHostVersion must follow semver (e.g. 1.0.0)").optional(),minimumPaperclipVersion:r.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,"minimumPaperclipVersion must follow semver (e.g. 1.0.0)").optional(),capabilities:r.array(r.enum(Cr)).min(1),entrypoints:r.object({worker:r.string().min(1),ui:r.string().min(1).optional()}),instanceConfigSchema:Kn.optional(),jobs:r.array(yc).optional(),webhooks:r.array(Sc).optional(),tools:r.array(bc).optional(),database:Ec.optional(),apiRoutes:r.array(Ac).optional(),environmentDrivers:r.array(Ic).optional(),agents:r.array(gb).optional(),projects:r.array(fb).optional(),routines:r.array(hb).optional(),skills:r.array(Sm).optional(),localFolders:r.array(yb).optional(),launchers:r.array(as).optional(),ui:r.object({slots:r.array(vc).min(1).optional(),launchers:r.array(as).optional()}).optional()}).superRefine((e,t)=>{let n=(e.ui?.slots?.length??0)>0,s=(e.ui?.launchers?.length??0)>0;if((n||s)&&!e.entrypoints.ui&&t.addIssue({code:r.ZodIssueCode.custom,message:"entrypoints.ui is required when ui.slots or ui.launchers are declared",path:["entrypoints","ui"]}),e.minimumHostVersion&&e.minimumPaperclipVersion&&e.minimumHostVersion!==e.minimumPaperclipVersion&&t.addIssue({code:r.ZodIssueCode.custom,message:"minimumHostVersion and minimumPaperclipVersion must match when both are declared",path:["minimumHostVersion"]}),e.tools&&e.tools.length>0&&(e.capabilities.includes("agent.tools.register")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'agent.tools.register' is required when tools are declared",path:["capabilities"]})),e.environmentDrivers&&e.environmentDrivers.length>0&&(e.capabilities.includes("environment.drivers.register")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'environment.drivers.register' is required when environmentDrivers are declared",path:["capabilities"]})),e.agents&&e.agents.length>0&&(e.capabilities.includes("agents.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'agents.managed' is required when managed agents are declared",path:["capabilities"]})),e.projects&&e.projects.length>0&&(e.capabilities.includes("projects.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'projects.managed' is required when managed projects are declared",path:["capabilities"]})),e.routines&&e.routines.length>0&&(e.capabilities.includes("routines.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'routines.managed' is required when managed routines are declared",path:["capabilities"]})),e.skills&&e.skills.length>0&&(e.capabilities.includes("skills.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'skills.managed' is required when managed skills are declared",path:["capabilities"]})),e.localFolders&&e.localFolders.length>0&&(e.capabilities.includes("local.folders")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'local.folders' is required when local folders are declared",path:["capabilities"]})),e.jobs&&e.jobs.length>0&&(e.capabilities.includes("jobs.schedule")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'jobs.schedule' is required when jobs are declared",path:["capabilities"]})),e.webhooks&&e.webhooks.length>0&&(e.capabilities.includes("webhooks.receive")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'webhooks.receive' is required when webhooks are declared",path:["capabilities"]})),e.apiRoutes&&e.apiRoutes.length>0&&(e.capabilities.includes("api.routes.register")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'api.routes.register' is required when apiRoutes are declared",path:["capabilities"]})),e.database){let o=["database.namespace.migrate","database.namespace.read"];for(let u of o)e.capabilities.includes(u)||t.addIssue({code:r.ZodIssueCode.custom,message:`Capability '${u}' is required when database migrations are declared`,path:["capabilities"]});let a=e.database.coreReadTables??[],c=a.filter((u,p)=>a.indexOf(u)!==p);c.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate database coreReadTables: ${[...new Set(c)].join(", ")}`,path:["database","coreReadTables"]})}if(e.jobs){let o=e.jobs.map(c=>c.jobKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate job keys: ${[...new Set(a)].join(", ")}`,path:["jobs"]})}if(e.webhooks){let o=e.webhooks.map(c=>c.endpointKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate webhook endpoint keys: ${[...new Set(a)].join(", ")}`,path:["webhooks"]})}if(e.apiRoutes){let o=e.apiRoutes.map(p=>p.routeKey),a=o.filter((p,m)=>o.indexOf(p)!==m);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate api route keys: ${[...new Set(a)].join(", ")}`,path:["apiRoutes"]});let c=e.apiRoutes.map(p=>`${p.method} ${p.path}`),u=c.filter((p,m)=>c.indexOf(p)!==m);u.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate api routes: ${[...new Set(u)].join(", ")}`,path:["apiRoutes"]})}if(e.tools){let o=e.tools.map(c=>c.name),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate tool names: ${[...new Set(a)].join(", ")}`,path:["tools"]})}if(e.environmentDrivers){let o=e.environmentDrivers.map(c=>c.driverKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate environment driver keys: ${[...new Set(a)].join(", ")}`,path:["environmentDrivers"]})}if(e.localFolders){let o=e.localFolders.map(c=>c.folderKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate local folder keys: ${[...new Set(a)].join(", ")}`,path:["localFolders"]})}if(e.agents){let o=e.agents.map(c=>c.agentKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed agent keys: ${[...new Set(a)].join(", ")}`,path:["agents"]})}if(e.projects){let o=e.projects.map(c=>c.projectKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed project keys: ${[...new Set(a)].join(", ")}`,path:["projects"]})}if(e.routines){let o=e.routines.map(c=>c.routineKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed routine keys: ${[...new Set(a)].join(", ")}`,path:["routines"]})}if(e.skills){let o=e.skills.map(c=>c.skillKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed skill keys: ${[...new Set(a)].join(", ")}`,path:["skills"]})}if(e.ui&&e.ui.slots){let o=e.ui.slots.map(c=>c.id),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate UI slot ids: ${[...new Set(a)].join(", ")}`,path:["ui","slots"]})}let i=[...e.launchers??[],...e.ui?.launchers??[]];if(i.length>0){let o=i.map(c=>c.id),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate launcher ids: ${[...new Set(a)].join(", ")}`,path:e.ui?.launchers?["ui","launchers"]:["launchers"]})}}),Im=r.object({packageName:r.string().min(1),version:r.string().min(1).optional(),packagePath:r.string().min(1).optional()}),vm=r.object({configJson:r.record(r.string(),r.unknown())}),km=r.object({configJson:r.record(r.string(),r.unknown())}),_m=r.object({status:r.enum(Tr),lastError:r.string().nullable().optional()}),Em=r.object({removeData:r.boolean().optional().default(!1)}),Am=r.object({scopeKind:r.enum(sn),scopeId:r.string().min(1).optional(),namespace:r.string().min(1).optional(),stateKey:r.string().min(1)}),wm=r.object({scopeKind:r.enum(sn),scopeId:r.string().min(1).optional(),namespace:r.string().min(1).optional(),stateKey:r.string().min(1),value:r.unknown()}),xm=r.object({scopeKind:r.enum(sn).optional(),scopeId:r.string().min(1).optional(),namespace:r.string().min(1).optional()});var F="/api",kb={health:`${F}/health`,companies:`${F}/companies`,agents:`${F}/agents`,projects:`${F}/projects`,issues:`${F}/issues`,issueTreeControl:`${F}/issues/:issueId/tree-control`,issueTreeHolds:`${F}/issues/:issueId/tree-holds`,goals:`${F}/goals`,approvals:`${F}/approvals`,secrets:`${F}/secrets`,secretProviderConfigs:`${F}/secret-provider-configs`,secretProviderConfigDiscoveryPreview:`${F}/companies/:companyId/secret-provider-configs/discovery/preview`,costs:`${F}/costs`,activity:`${F}/activity`,dashboard:`${F}/dashboard`,sidebarBadges:`${F}/sidebar-badges`,sidebarPreferences:`${F}/sidebar-preferences`,resourceMemberships:`${F}/resource-memberships`,invites:`${F}/invites`,joinRequests:`${F}/join-requests`,members:`${F}/members`,admin:`${F}/admin`};var n0=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0,timeZone:"UTC",timeZoneName:"short"});var Tm=r.object({version:r.literal(1),updatedAt:r.string(),source:r.enum(["onboard","configure","doctor"])}),Rm=r.object({provider:r.enum(["claude","openai"]),apiKey:r.string().optional()}),Cm=r.object({enabled:r.boolean().default(!0),intervalMinutes:r.number().int().min(1).max(10080).default(60),retentionDays:r.number().int().min(1).max(3650).default(7),dir:r.string().default("~/.paperclip/instances/default/data/backups")}),Pm=r.object({mode:r.enum(["embedded-postgres","postgres"]).default("embedded-postgres"),connectionString:r.string().optional(),embeddedPostgresDataDir:r.string().default("~/.paperclip/instances/default/db"),embeddedPostgresPort:r.number().int().min(1).max(65535).default(54329),backup:Cm.default({enabled:!0,intervalMinutes:60,retentionDays:7,dir:"~/.paperclip/instances/default/data/backups"})}),Om=r.object({mode:r.enum(["file","cloud"]),logDir:r.string().default("~/.paperclip/instances/default/logs")}),Nm=r.object({deploymentMode:r.enum(ei).default("local_trusted"),exposure:r.enum(ti).default("private"),bind:r.enum(ni).optional(),customBindHost:r.string().optional(),host:r.string().default("127.0.0.1"),port:r.number().int().min(1).max(65535).default(3100),allowedHostnames:r.array(r.string().min(1)).default([]),serveUi:r.boolean().default(!0)}),Lm=r.object({baseUrlMode:r.enum(ri).default("auto"),publicBaseUrl:r.string().url().optional(),disableSignUp:r.boolean().default(!1)}),Mm=r.object({baseDir:r.string().default("~/.paperclip/instances/default/data/storage")}),Dm=r.object({bucket:r.string().min(1).default("paperclip"),region:r.string().min(1).default("us-east-1"),endpoint:r.string().optional(),prefix:r.string().default(""),forcePathStyle:r.boolean().default(!1)}),Um=r.object({provider:r.enum(Bi).default("local_disk"),localDisk:Mm.default({baseDir:"~/.paperclip/instances/default/data/storage"}),s3:Dm.default({bucket:"paperclip",region:"us-east-1",prefix:"",forcePathStyle:!1})}),Fm=r.object({keyFilePath:r.string().default("~/.paperclip/instances/default/secrets/master.key")}),jm=r.object({provider:r.enum(wt).default("local_encrypted"),strictMode:r.boolean().default(!1),localEncrypted:Fm.default({keyFilePath:"~/.paperclip/instances/default/secrets/master.key"})}),qm=r.object({enabled:r.boolean().default(!0)}).default({}),_b=r.object({$meta:Tm,llm:Rm.optional(),database:Pm,logging:Om,server:Nm,telemetry:qm,auth:Lm.default({baseUrlMode:"auto",disableSignUp:!1}),storage:Um.default({provider:"local_disk",localDisk:{baseDir:"~/.paperclip/instances/default/data/storage"},s3:{bucket:"paperclip",region:"us-east-1",prefix:"",forcePathStyle:!1}}),secrets:jm.default({provider:"local_encrypted",strictMode:!1,localEncrypted:{keyFilePath:"~/.paperclip/instances/default/secrets/master.key"}})}).superRefine((e,t)=>{e.server.deploymentMode==="local_trusted"&&e.server.exposure!=="private"&&t.addIssue({code:r.ZodIssueCode.custom,message:"server.exposure must be private when deploymentMode is local_trusted",path:["server","exposure"]});for(let n of po({deploymentMode:e.server.deploymentMode,deploymentExposure:e.server.exposure,bind:e.server.bind,host:e.server.host,customBindHost:e.server.customBindHost}))t.addIssue({code:r.ZodIssueCode.custom,message:n,path:n.includes("customBindHost")?["server","customBindHost"]:["server","bind"]});e.auth.baseUrlMode==="explicit"&&!e.auth.publicBaseUrl&&t.addIssue({code:r.ZodIssueCode.custom,message:"auth.publicBaseUrl is required when auth.baseUrlMode is explicit",path:["auth","publicBaseUrl"]}),e.server.exposure==="public"&&e.auth.baseUrlMode!=="explicit"&&t.addIssue({code:r.ZodIssueCode.custom,message:"auth.baseUrlMode must be explicit when deploymentMode=authenticated and exposure=public",path:["auth","baseUrlMode"]}),e.server.exposure==="public"&&!e.auth.publicBaseUrl&&t.addIssue({code:r.ZodIssueCode.custom,message:"auth.publicBaseUrl is required when deploymentMode=authenticated and exposure=public",path:["auth","publicBaseUrl"]})});import Db from"node:fs";import{AsyncLocalStorage as Ub}from"node:async_hooks";import Fb from"node:path";import{createInterface as jb}from"node:readline";import{fileURLToPath as qb}from"node:url";var cs={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603},fe={WORKER_UNAVAILABLE:-32e3,CAPABILITY_DENIED:-32001,WORKER_ERROR:-32002,TIMEOUT:-32003,METHOD_NOT_IMPLEMENTED:-32004,INVOCATION_SCOPE_DENIED:-32005,UNKNOWN:-32099};var wc=1,Mb=Number.MAX_SAFE_INTEGER-1;function xc(e,t,n){return wc>=Mb&&(wc=1),{jsonrpc:"2.0",id:n??wc++,method:e,params:t}}function Tc(e,t){return{jsonrpc:"2.0",id:e,result:t}}function dn(e,t,n,s){return{jsonrpc:"2.0",id:e,error:s!==void 0?{code:t,message:n,data:s}:{code:t,message:n}}}function Rc(e,t){return{jsonrpc:"2.0",method:e,params:t}}function Cc(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&"id"in t&&t.id!==void 0&&t.id!==null}function Pc(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&!("id"in t)}function Oc(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.jsonrpc==="2.0"&&"id"in t&&("result"in t||"error"in t)}function Nc(e){return"result"in e&&!("error"in e&&e.error!==void 0)}function Lc(e){return"error"in e&&e.error!==void 0}var $m=`
5
- `;function Mc(e){return JSON.stringify(e)+$m}function Dc(e){let t=e.trim();if(t.length===0)throw new Ve("Empty message");let n;try{n=JSON.parse(t)}catch{throw new Ve(`Invalid JSON: ${t.slice(0,200)}`)}if(typeof n!="object"||n===null)throw new Ve("Message must be a JSON object");let s=n;if(s.jsonrpc!=="2.0")throw new Ve(`Invalid or missing jsonrpc version (expected "2.0", got ${JSON.stringify(s.jsonrpc)})`);return n}var Ve=class extends Error{name="JsonRpcParseError";constructor(t){super(t)}},un=class extends Error{name="JsonRpcCallError";code;data;constructor(t){super(t.message),this.code=t.code,this.data=t.data}};var $b=3e4;function Bm(e){let t=Fb.resolve(e);try{return Db.realpathSync.native(t)}catch{return t}}function Bb(e,t){let n=Bm(qb(t)),s=Bm(e);return n===s}function Fc(e,t,n){if(n?.stdin!=null&&n?.stdout!=null)return Uc({plugin:e,stdin:n.stdin,stdout:n.stdout});let s=process.argv[1];typeof s=="string"&&Bb(s,t)&&Uc({plugin:e})}function Uc(e){let{plugin:t}=e,n=e.stdin??process.stdin,s=e.stdout??process.stdout,i=e.rpcTimeoutMs??$b,o=!0,a=!1,c=null,u={},p=null,m=new Ub,f=[],h=new Map,b=new Map,I=new Map,N=new Map,K=new Map,$=new Map,q=new Map,M=1,ct=Number.MAX_SAFE_INTEGER-1;function Ge(l){if(!o)return;let d=Mc(l);s.write(d)}function S(l,d,g){return new Promise((E,x)=>{if(!o){x(new Error(`Cannot call "${l}" \u2014 worker RPC host is not running`));return}M>=ct&&(M=1);let Y=M++,re=g??i,Zl=!1,kn=(ce,Gs)=>{Zl||(Zl=!0,clearTimeout(Jl),q.delete(Y),ce(Gs))},Jl=setTimeout(()=>{kn(x,new un({code:fe.TIMEOUT,message:`Worker\u2192host call "${l}" timed out after ${re}ms`}))},re);q.set(Y,{resolve:ce=>{Nc(ce)?kn(E,ce.result):Lc(ce)?kn(x,new un(ce.error)):kn(x,new Error(`Unexpected response format for "${l}"`))},timer:Jl});try{let ce=m.getStore(),Gs={...xc(l,d,Y),...ce?{paperclipInvocationId:ce.id}:{}};Ge(Gs)}catch(ce){kn(x,ce instanceof Error?ce:new Error(String(ce)))}})}function de(l,d){try{let g=m.getStore();Ge({...Rc(l,d),...g?{paperclipInvocationId:g.id}:{}})}catch{}}function Mh(){return{get manifest(){if(!c)throw new Error("Plugin context accessed before initialization");return c},config:{async get(){return S("config.get",{})}},localFolders:{declarations(){if(!c)throw new Error("Plugin context accessed before initialization");return c.localFolders??[]},async configure(l){return S("localFolders.configure",{companyId:l.companyId,folderKey:l.folderKey,path:l.path,access:l.access,requiredDirectories:l.requiredDirectories,requiredFiles:l.requiredFiles})},async status(l,d){return S("localFolders.status",{companyId:l,folderKey:d})},async list(l,d,g={}){return S("localFolders.list",{companyId:l,folderKey:d,relativePath:g.relativePath,recursive:g.recursive,maxEntries:g.maxEntries})},async readText(l,d,g){return S("localFolders.readText",{companyId:l,folderKey:d,relativePath:g})},async writeTextAtomic(l,d,g,E){return S("localFolders.writeTextAtomic",{companyId:l,folderKey:d,relativePath:g,contents:E})},async deleteFile(l,d,g){return S("localFolders.deleteFile",{companyId:l,folderKey:d,relativePath:g})}},events:{on(l,d,g){let E;if(typeof d=="function")E={name:l,fn:d};else{if(!g)throw new Error("Event handler function is required");E={name:l,filter:d,fn:g}}return f.push(E),S("events.subscribe",{eventPattern:l,filter:E.filter??null}).catch(x=>{de("log",{level:"warn",message:`Failed to subscribe to event "${l}" on host: ${x instanceof Error?x.message:String(x)}`})}),()=>{let x=f.indexOf(E);x!==-1&&f.splice(x,1)}},async emit(l,d,g){await S("events.emit",{name:l,companyId:d,payload:g})}},jobs:{register(l,d){h.set(l,d)}},launchers:{register(l){b.set(l.id,l)}},db:{get namespace(){return p??""},async query(l,d){return S("db.query",{sql:l,params:d})},async execute(l,d){return S("db.execute",{sql:l,params:d})}},http:{async fetch(l,d){let g={};if(d){if(d.method&&(g.method=d.method),d.headers)if(d.headers instanceof Headers){let x={};d.headers.forEach((Y,re)=>{x[re]=Y}),g.headers=x}else if(Array.isArray(d.headers)){let x={};for(let[Y,re]of d.headers)x[Y]=re;g.headers=x}else g.headers=d.headers;d.body!==void 0&&d.body!==null&&(g.body=typeof d.body=="string"?d.body:String(d.body))}let E=await S("http.fetch",{url:l,init:Object.keys(g).length>0?g:void 0});return new Response(E.body,{status:E.status,statusText:E.statusText,headers:E.headers})}},secrets:{async resolve(l){return S("secrets.resolve",{secretRef:l})}},activity:{async log(l){await S("activity.log",{companyId:l.companyId,message:l.message,entityType:l.entityType,entityId:l.entityId,metadata:l.metadata})}},state:{async get(l){return S("state.get",{scopeKind:l.scopeKind,scopeId:l.scopeId,namespace:l.namespace,stateKey:l.stateKey})},async set(l,d){await S("state.set",{scopeKind:l.scopeKind,scopeId:l.scopeId,namespace:l.namespace,stateKey:l.stateKey,value:d})},async delete(l){await S("state.delete",{scopeKind:l.scopeKind,scopeId:l.scopeId,namespace:l.namespace,stateKey:l.stateKey})}},entities:{async upsert(l){return S("entities.upsert",{entityType:l.entityType,scopeKind:l.scopeKind,scopeId:l.scopeId,externalId:l.externalId,title:l.title,status:l.status,data:l.data})},async list(l){return S("entities.list",{entityType:l.entityType,scopeKind:l.scopeKind,scopeId:l.scopeId,externalId:l.externalId,limit:l.limit,offset:l.offset})}},projects:{async list(l){return S("projects.list",{companyId:l.companyId,limit:l.limit,offset:l.offset})},async get(l,d){return S("projects.get",{projectId:l,companyId:d})},async listWorkspaces(l,d){return S("projects.listWorkspaces",{projectId:l,companyId:d})},async getPrimaryWorkspace(l,d){return S("projects.getPrimaryWorkspace",{projectId:l,companyId:d})},async getWorkspaceForIssue(l,d){return S("projects.getWorkspaceForIssue",{issueId:l,companyId:d})},managed:{async get(l,d){return S("projects.managed.get",{projectKey:l,companyId:d})},async reconcile(l,d){return S("projects.managed.reconcile",{projectKey:l,companyId:d})},async reset(l,d){return S("projects.managed.reset",{projectKey:l,companyId:d})}}},executionWorkspaces:{async get(l,d){return S("executionWorkspaces.get",{workspaceId:l,companyId:d})}},routines:{managed:{async get(l,d){return S("routines.managed.get",{routineKey:l,companyId:d})},async reconcile(l,d,g){return S("routines.managed.reconcile",{routineKey:l,companyId:d,...g})},async reset(l,d,g){return S("routines.managed.reset",{routineKey:l,companyId:d,...g})},async update(l,d,g){return S("routines.managed.update",{routineKey:l,companyId:d,...g})},async run(l,d,g){return S("routines.managed.run",{routineKey:l,companyId:d,...g})}}},skills:{managed:{async get(l,d){return S("skills.managed.get",{skillKey:l,companyId:d})},async reconcile(l,d){return S("skills.managed.reconcile",{skillKey:l,companyId:d})},async reset(l,d){return S("skills.managed.reset",{skillKey:l,companyId:d})}}},companies:{async list(l){return S("companies.list",{limit:l?.limit,offset:l?.offset})},async get(l){return S("companies.get",{companyId:l})}},issues:{async list(l){return S("issues.list",{companyId:l.companyId,projectId:l.projectId,assigneeAgentId:l.assigneeAgentId,originKind:l.originKind,originKindPrefix:l.originKindPrefix,originId:l.originId,status:l.status,includePluginOperations:l.includePluginOperations,limit:l.limit,offset:l.offset})},async get(l,d){return S("issues.get",{issueId:l,companyId:d})},async create(l){return S("issues.create",{companyId:l.companyId,projectId:l.projectId,goalId:l.goalId,parentId:l.parentId,inheritExecutionWorkspaceFromIssueId:l.inheritExecutionWorkspaceFromIssueId,title:l.title,description:l.description,status:l.status,priority:l.priority,assigneeAgentId:l.assigneeAgentId,assigneeUserId:l.assigneeUserId,requestDepth:l.requestDepth,billingCode:l.billingCode,assigneeAdapterOverrides:l.assigneeAdapterOverrides,surfaceVisibility:l.surfaceVisibility,originKind:l.originKind,originId:l.originId,originRunId:l.originRunId,blockedByIssueIds:l.blockedByIssueIds,labelIds:l.labelIds,executionWorkspaceId:l.executionWorkspaceId,executionWorkspacePreference:l.executionWorkspacePreference,executionWorkspaceSettings:l.executionWorkspaceSettings,actorAgentId:l.actor?.actorAgentId,actorUserId:l.actor?.actorUserId,actorRunId:l.actor?.actorRunId})},async update(l,d,g,E){return S("issues.update",{issueId:l,patch:{...d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId},companyId:g})},async assertCheckoutOwner(l){return S("issues.assertCheckoutOwner",l)},async getSubtree(l,d,g){return S("issues.getSubtree",{issueId:l,companyId:d,includeRoot:g?.includeRoot,includeRelations:g?.includeRelations,includeDocuments:g?.includeDocuments,includeActiveRuns:g?.includeActiveRuns,includeAssignees:g?.includeAssignees})},async requestWakeup(l,d,g){return S("issues.requestWakeup",{issueId:l,companyId:d,reason:g?.reason,contextSource:g?.contextSource,idempotencyKey:g?.idempotencyKey,actorAgentId:g?.actorAgentId,actorUserId:g?.actorUserId,actorRunId:g?.actorRunId})},async requestWakeups(l,d,g){return S("issues.requestWakeups",{issueIds:l,companyId:d,reason:g?.reason,contextSource:g?.contextSource,idempotencyKeyPrefix:g?.idempotencyKeyPrefix,actorAgentId:g?.actorAgentId,actorUserId:g?.actorUserId,actorRunId:g?.actorRunId})},async listComments(l,d){return S("issues.listComments",{issueId:l,companyId:d})},async createComment(l,d,g,E){return S("issues.createComment",{issueId:l,body:d,companyId:g,authorAgentId:E?.authorAgentId})},async createInteraction(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:d,authorAgentId:E?.authorAgentId})},async suggestTasks(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"suggest_tasks"},authorAgentId:E?.authorAgentId})},async askUserQuestions(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"ask_user_questions"},authorAgentId:E?.authorAgentId})},async requestConfirmation(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"request_confirmation"},authorAgentId:E?.authorAgentId})},async requestCheckboxConfirmation(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"request_checkbox_confirmation"},authorAgentId:E?.authorAgentId})},documents:{async list(l,d){return S("issues.documents.list",{issueId:l,companyId:d})},async get(l,d,g){return S("issues.documents.get",{issueId:l,key:d,companyId:g})},async upsert(l){return S("issues.documents.upsert",{issueId:l.issueId,key:l.key,body:l.body,companyId:l.companyId,title:l.title,format:l.format,changeSummary:l.changeSummary})},async delete(l,d,g){return S("issues.documents.delete",{issueId:l,key:d,companyId:g})}},relations:{async get(l,d){return S("issues.relations.get",{issueId:l,companyId:d})},async setBlockedBy(l,d,g,E){return S("issues.relations.setBlockedBy",{issueId:l,companyId:g,blockedByIssueIds:d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId})},async addBlockers(l,d,g,E){return S("issues.relations.addBlockers",{issueId:l,companyId:g,blockerIssueIds:d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId})},async removeBlockers(l,d,g,E){return S("issues.relations.removeBlockers",{issueId:l,companyId:g,blockerIssueIds:d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId})}},summaries:{async getOrchestration(l){return S("issues.summaries.getOrchestration",l)}}},agents:{async list(l){return S("agents.list",{companyId:l.companyId,status:l.status,limit:l.limit,offset:l.offset})},async get(l,d){return S("agents.get",{agentId:l,companyId:d})},async pause(l,d){return S("agents.pause",{agentId:l,companyId:d})},async resume(l,d){return S("agents.resume",{agentId:l,companyId:d})},async invoke(l,d,g){return S("agents.invoke",{agentId:l,companyId:d,prompt:g.prompt,reason:g.reason})},managed:{async get(l,d){return S("agents.managed.get",{agentKey:l,companyId:d})},async reconcile(l,d){return S("agents.managed.reconcile",{agentKey:l,companyId:d})},async reset(l,d){return S("agents.managed.reset",{agentKey:l,companyId:d})}},sessions:{async create(l,d,g){return S("agents.sessions.create",{agentId:l,companyId:d,taskKey:g?.taskKey,reason:g?.reason})},async list(l,d){return S("agents.sessions.list",{agentId:l,companyId:d})},async sendMessage(l,d,g){g.onEvent&&$.set(l,g.onEvent);try{return await S("agents.sessions.sendMessage",{sessionId:l,companyId:d,prompt:g.prompt,reason:g.reason})}catch(E){throw $.delete(l),E}},async close(l,d){$.delete(l),await S("agents.sessions.close",{sessionId:l,companyId:d})}}},goals:{async list(l){return S("goals.list",{companyId:l.companyId,level:l.level,status:l.status,limit:l.limit,offset:l.offset})},async get(l,d){return S("goals.get",{goalId:l,companyId:d})},async create(l){return S("goals.create",{companyId:l.companyId,title:l.title,description:l.description,level:l.level,status:l.status,parentId:l.parentId,ownerAgentId:l.ownerAgentId})},async update(l,d,g){return S("goals.update",{goalId:l,patch:d,companyId:g})}},access:{members:{async list(l){return S("access.members.list",{companyId:l.companyId,includeArchived:l.includeArchived})},async get(l,d){return S("access.members.get",{memberId:l,companyId:d})},async update(l,d,g){return S("access.members.update",{memberId:l,patch:d,companyId:g})}},invites:{async list(l){return S("access.invites.list",{companyId:l.companyId,state:l.state,limit:l.limit,offset:l.offset})},async create(l){return S("access.invites.create",{companyId:l.companyId,allowedJoinTypes:l.allowedJoinTypes,humanRole:l.humanRole,defaultsPayload:l.defaultsPayload,agentMessage:l.agentMessage})},async revoke(l,d){return S("access.invites.revoke",{inviteId:l,companyId:d})}}},authorization:{grants:{async list(l){return S("authorization.grants.list",l)},async set(l){return S("authorization.grants.set",l)}},policies:{async summary(l){return S("authorization.policies.summary",{companyId:l})},async get(l){return S("authorization.policies.get",l)},async update(l){return S("authorization.policies.update",l)},async previewAssignment(l){return S("authorization.policies.previewAssignment",l)},async explainAssignment(l){return S("authorization.policies.explainAssignment",l)}},audit:{async search(l){return S("authorization.audit.search",l)}}},data:{register(l,d){I.set(l,d)}},actions:{register(l,d){N.set(l,d)}},streams:(()=>{let l=new Map;return{open(d,g){l.set(d,g),de("streams.open",{channel:d,companyId:g})},emit(d,g){let E=l.get(d)??"";de("streams.emit",{channel:d,companyId:E,event:g})},close(d){let g=l.get(d)??"";l.delete(d),de("streams.close",{channel:d,companyId:g})}}})(),tools:{register(l,d,g){K.set(l,{declaration:d,fn:g})}},metrics:{async write(l,d,g){await S("metrics.write",{name:l,value:d,tags:g})}},telemetry:{async track(l,d){await S("telemetry.track",{eventName:l,dimensions:d})}},logger:{info(l,d){de("log",{level:"info",message:l,meta:d})},warn(l,d){de("log",{level:"warn",message:l,meta:d})},error(l,d){de("log",{level:"error",message:l,meta:d})},debug(l,d){de("log",{level:"debug",message:l,meta:d})}}}}let Dh=Mh();async function Uh(l){let{id:d,method:g,params:E}=l;try{let x=()=>Fh(g,E),Y=l.paperclipInvocation?await m.run(l.paperclipInvocation,x):await x();Ge(Tc(d,Y??null))}catch(x){let Y=x instanceof Error?x.message:String(x),re=typeof x?.code=="number"?x.code:fe.WORKER_ERROR;Ge(dn(d,re,Y))}}async function Fh(l,d){switch(l){case"initialize":return jh(d);case"health":return qh();case"shutdown":return $h();case"validateConfig":return Bh(d);case"configChanged":return Hh(d);case"onEvent":return Yl(d);case"runJob":return Vh(d);case"handleWebhook":return Kh(d);case"handleApiRequest":return zh(d);case"getData":return Wh(d);case"performAction":return Zh(d);case"executeTool":return Jh(d);case"environmentValidateConfig":return Xh(d);case"environmentProbe":return Qh(d);case"environmentAcquireLease":return ey(d);case"environmentResumeLease":return ty(d);case"environmentReleaseLease":return ny(d);case"environmentDestroyLease":return ry(d);case"environmentRealizeWorkspace":return sy(d);case"environmentExecute":return iy(d);default:throw Object.assign(new Error(`Unknown method: ${l}`),{code:cs.METHOD_NOT_FOUND})}}async function jh(l){if(a)throw new Error("Worker already initialized");c=l.manifest,u=l.config,p=l.databaseNamespace??null,await t.definition.setup(Dh),a=!0;let d=[];return t.definition.onValidateConfig&&d.push("validateConfig"),t.definition.onConfigChanged&&d.push("configChanged"),t.definition.onHealth&&d.push("health"),t.definition.onShutdown&&d.push("shutdown"),t.definition.onApiRequest&&d.push("handleApiRequest"),t.definition.onEnvironmentValidateConfig&&d.push("environmentValidateConfig"),t.definition.onEnvironmentProbe&&d.push("environmentProbe"),t.definition.onEnvironmentAcquireLease&&d.push("environmentAcquireLease"),t.definition.onEnvironmentResumeLease&&d.push("environmentResumeLease"),t.definition.onEnvironmentReleaseLease&&d.push("environmentReleaseLease"),t.definition.onEnvironmentDestroyLease&&d.push("environmentDestroyLease"),t.definition.onEnvironmentRealizeWorkspace&&d.push("environmentRealizeWorkspace"),t.definition.onEnvironmentExecute&&d.push("environmentExecute"),{ok:!0,supportedMethods:d}}async function qh(){return t.definition.onHealth?t.definition.onHealth():{status:"ok"}}async function $h(){t.definition.onShutdown&&await t.definition.onShutdown(),setImmediate(()=>{Ws(),!e.stdin&&!e.stdout&&process.exit(0)})}async function Bh(l){if(!t.definition.onValidateConfig)throw Object.assign(new Error("validateConfig is not implemented by this plugin"),{code:fe.METHOD_NOT_IMPLEMENTED});return t.definition.onValidateConfig(l.config)}async function Hh(l){u=l.config,t.definition.onConfigChanged&&await t.definition.onConfigChanged(l.config)}async function Yl(l){let d=l.event;for(let g of f){let E=g.name===d.eventType,x=g.name==="plugin.*"&&d.eventType.startsWith("plugin."),Y=g.name.endsWith(".*")&&d.eventType.startsWith(g.name.slice(0,-1));if(!(!E&&!x&&!Y)&&!(g.filter&&!oy(g.filter,d)))try{await g.fn(d)}catch(re){de("log",{level:"error",message:`Event handler for "${g.name}" failed: ${re instanceof Error?re.message:String(re)}`,meta:{eventType:d.eventType,stack:re instanceof Error?re.stack:void 0}})}}}async function Vh(l){let d=h.get(l.job.jobKey);if(!d)throw new Error(`No handler registered for job "${l.job.jobKey}"`);await d(l.job)}async function Kh(l){if(!t.definition.onWebhook)throw Object.assign(new Error("handleWebhook is not implemented by this plugin"),{code:fe.METHOD_NOT_IMPLEMENTED});await t.definition.onWebhook(l)}async function zh(l){if(!t.definition.onApiRequest)throw Object.assign(new Error("handleApiRequest is not implemented by this plugin"),{code:fe.METHOD_NOT_IMPLEMENTED});return t.definition.onApiRequest(l)}async function Wh(l){let d=I.get(l.key);if(!d)throw new Error(`No data handler registered for key "${l.key}"`);return d({...l.params,...l.companyId===void 0?{}:{companyId:l.companyId},...l.renderEnvironment===void 0?{}:{renderEnvironment:l.renderEnvironment}})}function gr(l){return typeof l=="string"&&l.trim().length>0?l.trim():null}function Gh(l){return l==="user"||l==="agent"||l==="system"?l:"system"}function Yh(l){let d=l.actorContext&&typeof l.actorContext=="object"?l.actorContext:null,g=Object.freeze({type:Gh(d?.type),userId:gr(d?.userId),agentId:gr(d?.agentId),runId:gr(d?.runId),companyId:gr(d?.companyId)});return Object.freeze({actor:g,companyId:g.companyId})}async function Zh(l){let d=N.get(l.key);if(!d)throw new Error(`No action handler registered for key "${l.key}"`);return d({...l.params,...l.companyId===void 0?{}:{companyId:l.companyId},...l.renderEnvironment===void 0?{}:{renderEnvironment:l.renderEnvironment}},Yh(l))}async function Jh(l){let d=K.get(l.toolName);if(!d)throw new Error(`No tool handler registered for "${l.toolName}"`);return d.fn(l.parameters,l.runContext)}function Ye(l){return Object.assign(new Error(`${l} is not implemented by this plugin`),{code:fe.METHOD_NOT_IMPLEMENTED})}async function Xh(l){if(!t.definition.onEnvironmentValidateConfig)throw Ye("environmentValidateConfig");return t.definition.onEnvironmentValidateConfig(l)}async function Qh(l){if(!t.definition.onEnvironmentProbe)throw Ye("environmentProbe");return t.definition.onEnvironmentProbe(l)}async function ey(l){if(!t.definition.onEnvironmentAcquireLease)throw Ye("environmentAcquireLease");return t.definition.onEnvironmentAcquireLease(l)}async function ty(l){if(!t.definition.onEnvironmentResumeLease)throw Ye("environmentResumeLease");return t.definition.onEnvironmentResumeLease(l)}async function ny(l){if(!t.definition.onEnvironmentReleaseLease)throw Ye("environmentReleaseLease");return t.definition.onEnvironmentReleaseLease(l)}async function ry(l){if(!t.definition.onEnvironmentDestroyLease)throw Ye("environmentDestroyLease");return t.definition.onEnvironmentDestroyLease(l)}async function sy(l){if(!t.definition.onEnvironmentRealizeWorkspace)throw Ye("environmentRealizeWorkspace");return t.definition.onEnvironmentRealizeWorkspace(l)}async function iy(l){if(!t.definition.onEnvironmentExecute)throw Ye("environmentExecute");return t.definition.onEnvironmentExecute(l)}function oy(l,d){let g=d.payload;return!(l.companyId!==void 0&&(d.companyId??String(g?.companyId??""))!==l.companyId||l.projectId!==void 0&&(d.entityType==="project"?d.entityId:String(g?.projectId??""))!==l.projectId||l.agentId!==void 0&&(d.entityType==="agent"?d.entityId:String(g?.agentId??""))!==l.agentId)}function ay(l){let d=l.id;if(d==null)return;let g=q.get(d);g&&(clearTimeout(g.timer),q.delete(d),g.resolve(l))}function cy(l){if(!l.trim())return;let d;try{d=Dc(l)}catch(g){g instanceof Ve&&Ge(dn(null,cs.PARSE_ERROR,`Parse error: ${g.message}`));return}if(Oc(d))ay(d);else if(Cc(d))Uh(d).catch(g=>{let E=g instanceof Error?g.message:String(g),x=g?.code??fe.WORKER_ERROR;try{Ge(dn(d.id,typeof x=="number"?x:fe.WORKER_ERROR,E))}catch{}});else if(Pc(d)){let g=d,E=x=>g.paperclipInvocation?m.run(g.paperclipInvocation,x):x();if(g.method==="agents.sessions.event"&&g.params){let x=g.params,Y=$.get(x.sessionId);Y&&Y(x)}else g.method==="onEvent"&&g.params&&Promise.resolve(E(()=>Yl(g.params))).catch(x=>{de("log",{level:"error",message:`Failed to handle event notification: ${x instanceof Error?x.message:String(x)}`})})}}function Ws(){o=!1,vn&&(vn.close(),vn=null);for(let[l,d]of q)clearTimeout(d.timer),d.resolve(dn(l,fe.WORKER_UNAVAILABLE,"Worker RPC host is shutting down"));q.clear(),$.clear()}let vn=jb({input:n,crlfDelay:1/0});return vn.on("line",cy),vn.on("close",()=>{o&&(Ws(),!e.stdin&&!e.stdout&&process.exit(0))}),!e.stdin&&!e.stdout&&(process.on("uncaughtException",l=>{de("log",{level:"error",message:`Uncaught exception: ${l.message}`,meta:{stack:l.stack}}),setTimeout(()=>process.exit(1),100)}),process.on("unhandledRejection",l=>{let d=l instanceof Error?l.message:String(l),g=l instanceof Error?l.stack:void 0;de("log",{level:"error",message:`Unhandled rejection: ${d}`,meta:{stack:g}})})),{get running(){return o},stop(){Ws()}}}import{performance as Hm}from"perf_hooks";import{join as zc,dirname as Hb}from"path";import{randomBytes as Vb}from"crypto";import{readFile as Kb,mkdir as zb,open as Wb,rename as Gb,unlink as Yb}from"fs/promises";function Zb(e){return og(e.priority)*100+ag(e.consequence)*10+cg(e.tone)+(e.blocking?1e3:0)+(e.attentionScoreOffset??0)}function Oe(e,t={}){return og(le(e))*100+ag(e.consequence)*10+cg(e.tone)+($t(e)?1e3:0)+ig(e)+Jb(e,t.now)}function le(e){return e.mode==="status"?e.tone==="critical"||e.consequence==="high"?"high":e.tone==="focused"||e.consequence==="medium"?"normal":"background":"high"}function ig(e){let t=e.metadata?.attention;return t&&typeof t=="object"&&"scoreOffset"in t&&typeof t.scoreOffset=="number"?t.scoreOffset:0}function $t(e){return e.mode!=="status"&&e.responseSpec?.kind!=="none"}function og(e){switch(e){case"background":return 0;case"normal":return 1;case"high":return 2}}function ag(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}function cg(e){switch(e){case"ambient":return 0;case"focused":return 1;case"critical":return 2}}function Jb(e,t){let n=t??e.timing.updatedAt,s=Date.parse(e.timing.updatedAt),i=Date.parse(n);if(Number.isNaN(s)||Number.isNaN(i)||i<=s)return 0;let o=i-s,a=Xb(e);if(o<=a.graceMs)return 0;let c=Math.floor((o-a.graceMs)/a.stepMs)+1;return-Math.min(a.maxPenalty,c*a.penaltyPerStep)}function Xb(e){return $t(e)?{graceMs:1800*1e3,stepMs:600*1e3,penaltyPerStep:1,maxPenalty:6}:e.tone==="critical"||e.consequence==="high"?{graceMs:1200*1e3,stepMs:600*1e3,penaltyPerStep:1,maxPenalty:8}:e.tone==="focused"||e.consequence==="medium"?{graceMs:600*1e3,stepMs:600*1e3,penaltyPerStep:2,maxPenalty:12}:{graceMs:300*1e3,stepMs:600*1e3,penaltyPerStep:3,maxPenalty:18}}var Qb=250;function eI(e,t={}){let n=[],s=[];for(let a of e)a.now&&(tI(a.now)?s.push(a.now):n.push(a.now)),n.push(...a.next),s.push(...a.ambient);let i=t.now??rI([...n,...s]);if(nI([...n,...s])>=2){let a=[],c=[];for(let u of n)!lg(u)&&Oe(u,{now:i})<200?c.push(u):a.push(u);n=a,s=[...s,...c]}if(n.sort((a,c)=>Vm(a,c,i)),s.sort((a,c)=>Vm(a,c,i)),t.operatorPresence==="absent")return{now:null,next:n,ambient:s};let o=sI(n,s,t.focusedInteractionId??null,i);if(o){let a=n.some(c=>c.interactionId===o.interactionId);return{now:o,next:a?n.filter(c=>c.interactionId!==o.interactionId):n,ambient:s.filter(c=>c.interactionId!==o.interactionId)}}if(n.length>0){let[a,...c]=n;return{now:a??null,next:c,ambient:s}}if(s.length>0){let[a,...c]=s;return a&&(Oe(a,{now:i})<=0||t.globalAttentionState==="overloaded"&&Oe(a,{now:i})<200)?{now:null,next:[],ambient:s}:{now:a??null,next:[],ambient:c}}return{now:null,next:[],ambient:[]}}function tI(e){return e.mode==="status"||e.tone==="ambient"}function lg(e){return e.mode!=="status"||e.tone==="critical"||e.consequence==="high"}function nI(e){return e.filter(lg).length}function Vm(e,t,n){let s=Oe(t,{now:n})-Oe(e,{now:n});return s!==0?s:e.timing.createdAt.localeCompare(t.timing.createdAt)}function rI(e){let t="1970-01-01T00:00:00.000Z";for(let n of e){let s=n.timing.updatedAt;s.localeCompare(t)>0&&(t=s)}return t}function sI(e,t,n,s){if(!n)return null;let i=e.find(a=>a.interactionId===n)??t.find(a=>a.interactionId===n)??null;if(!i)return null;let o=e[0]??t[0]??null;return!o||o.interactionId===i.interactionId?i:iI(i,o,s)?null:i}function iI(e,t,n){return t.tone==="critical"&&e.tone!=="critical"||t.mode!=="status"&&t.consequence==="high"&&e.consequence!=="high"?!0:Oe(t,{now:n})-Oe(e,{now:n})>=Qb}function Nt(e){let t=e.counts.presented>=5;return e.counts.presented+e.counts.deferred>=5&&e.counts.deferred>=3&&e.deferred.next+e.deferred.suppressed>=3?"overloaded":t&&e.dismissalRate>=.6&&e.deferred.suppressed>=2?"avoiding":e.counts.contextExpanded>=1&&e.averageResponseLatencyMs!==null&&e.averageResponseLatencyMs>=15e3?"hesitating":t&&e.responseRate>=.6&&e.averageResponseLatencyMs!==null&&e.averageResponseLatencyMs<=1e4?"engaged":"monitoring"}function ls(e){let t=[];return e.counts.contextExpanded>=1&&e.counts.responded>=1&&t.push("context_before_action"),e.counts.deferred>=2&&e.counts.returned>=1&&t.push("defer_then_return"),e.counts.attentionShifted>=3&&t.push("fragmented_attention"),e.counts.viewed>=1&&e.counts.timedOut>=1&&e.counts.responded===0&&t.push("stalling"),t}var oI=class{apply(e,t,n=t){let s=this.scoreOffset(e,t,n),i=this.rationale(e,t,n,s);return{...e,...s!==0?{attentionScoreOffset:s}:{},...i.length>0?{attentionRationale:i}:{}}}scoreOffset(e,t,n){let s=0,i=Nt(t),o=Nt(n),a=ls(t),c=ls(n);if(e.mode==="status"){let u=e.consequence==="high"||e.tone==="critical";t.dismissalRate>=.5&&(s-=15),t.deferred.suppressed>=2&&(s-=10),u&&(s+=20),!u&&i==="overloaded"&&(s-=10),!u&&i==="avoiding"&&(s-=10),!u&&i!=="overloaded"&&o==="overloaded"&&(s-=5),!u&&c.includes("fragmented_attention")&&(s-=5)}return e.blocking&&t.counts.contextExpanded>=2&&(s+=10),e.blocking&&t.responseRate>=.75&&t.averageResponseLatencyMs!==null&&t.averageResponseLatencyMs<=1e4&&(s+=5),e.blocking&&i==="hesitating"&&(s+=5),e.blocking&&a.includes("defer_then_return")&&(s+=5),s}rationale(e,t,n,s){let i=[],o=Nt(t),a=Nt(n),c=ls(t),u=ls(n);return e.mode==="status"&&t.dismissalRate>=.5&&i.push("status updates for this task are often dismissed"),e.mode==="status"&&t.deferred.suppressed>=2&&i.push("similar task updates have repeatedly remained ambient"),e.mode==="status"&&(e.consequence==="high"||e.tone==="critical")&&i.push("high-consequence status should remain more visible"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&o==="overloaded"&&i.push("recent task activity suggests attention is already saturated"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&o==="avoiding"&&i.push("recent behavior suggests low-value updates should stay quiet"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&o!=="overloaded"&&a==="overloaded"&&i.push("overall operator activity suggests attention is already saturated"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&u.includes("fragmented_attention")&&i.push("recent attention has already shifted repeatedly across work"),e.blocking&&t.counts.contextExpanded>=2&&i.push("this task often requires deeper context before action"),e.blocking&&t.responseRate>=.75&&t.averageResponseLatencyMs!==null&&t.averageResponseLatencyMs<=1e4&&i.push("similar blocking interactions usually receive quick responses"),e.blocking&&o==="hesitating"&&i.push("similar blocking interactions appear to require more deliberation"),e.blocking&&c.includes("defer_then_return")&&i.push("similar interactions are often deferred and resumed later"),s===0?[]:i}},aI=["need your input","need your approval","need your review","need your sign off","need your sign-off","should i continue","can you approve","can you review","what should i do"],ug=["no action needed","no approval needed","approval is not needed","approval not needed","sign off not needed","sign-off not needed","no input needed","for awareness only","for your awareness","continuing automatically"],cI=["cannot continue","can't continue","cannot proceed","can't proceed","unable to continue","unable to proceed","blocked on","blocked until","stuck on","requires operator input before continuing","needs operator input before continuing","must be provided before continuing"],lI=["waiting for approval","approval required","awaiting approval","waiting on approval","pending approval","waiting for input","awaiting input","waiting on input","awaiting review","waiting for review"],uI=["production","prod","force push","git push --force","rm -rf","drop table","delete database","delete prod","sudo","chmod 777","kill process","migrate"],dI=["result of running cat -n","result of running sed -n","result of running grep","result of running ls","result of running find","here s the result of running cat -n","here s the result of running sed -n"],pI=["observation","contents of","showing first","showing top","found"],mI=["path","type file","content"],gI=["ran successfully and did not produce any output","command ran successfully and did not produce any output","completed successfully and did not produce any output"],fI=["tool-output","dmesg"],hI=["makefile","spdx-license-identifier","patchlevel","sublevel","extraversion"],yI=/(?:^|\s)\/[a-z0-9._-]+(?:\/[a-z0-9._-]+)+(?:\s|$)/,SI=/\bfound\s+\d+\s+match(?:es)?\b|\bshowing\s+(?:first|top)\s+\d+\b|\bmatch(?:es)?\s+in\s+\d+\s+files?\b/,bI=/\b(import|from|export|class|def|function|const|let|var|return)\b/,II=/\b\d+\s+(?:import|from|export|class|def|function|const|let|var|return)\b/,vI=/\/[a-z0-9._/-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)(?:\b|\/)/,kI=/\b[a-z0-9.-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)\b/,_I=/\b(static|struct|enum|typedef|void|int|char|bool|return)\b/,EI=/\b\d+\s+(?:static|struct|enum|typedef|void|int|char|bool|return)\b/,AI=/\b\d+\s+\[\s*\d+\.\d+\]\s+[a-z0-9_.:-]+/,wI=/\b(?:version|patchlevel|sublevel|extraversion)\b/,xI=["form is valid false","form without instance is valid false","form errors","errorlist","decompress result"],TI=["traceback","exception","permission denied","command not found","segmentation fault"],RI=["still","again","back again","came back","continues","continuing","returned","returning","remains","persisting","retrying","recurred"],CI=["did not repeat","didn t repeat","did not return","didn t return","did not recur","didn t recur","not repeated","not returning","not recurring","no repeat"],PI=["resolved","fixed","unblocked","no longer blocked"],Km=["not resolved","did not resolve","didn t resolve","not fixed","did not fix","didn t fix","not recovered","did not recover","didn t recover"],OI=["recovered","completed successfully","succeeded after"],zm=["instead","supersedes","superseded","replaced by","use this plan instead","follow this plan instead"],NI=["worse","worsened","escalating","regression","regressed","spread","broader impact","degraded further","critical now","now failing"],LI=["did not regress","didn t regress","no regression","not worsening","did not worsen","didn t worsen","not escalating","did not escalate","didn t escalate"],MI=["fail","failed","failing","failure","error","broken","blocked","stalled","stall","incident","issue","outage","degraded","regression","retry","rollback"];function Xn(e){return e.toLowerCase().replace(/[^a-z0-9/._-]+/g," ").trim()}function Wc(e){return[...new Set(e)]}function sl(e){return jc(e.toolFamily)??jc(GI(e.metadata))??jc(YI(e.context))}function dg(e){let t=sl(e);if(t)return t;let n=Xn(`${e.title} ${e.summary??""}`);return Ce(n,"wants to read")||Ce(n,"wants to inspect")||Wn(n,"read")||Wn(n,"inspect")?"read":Ce(n,"wants to write")||Wn(n,"write")?"write":Ce(n,"wants to edit")||Wn(n,"edit")?"edit":Ce(n,"shell command")||Ce(n,"wants to run")?"bash":Ce(n,"search the web")?"web":Ce(n,"search files")||Ce(n,"search file contents")?"search":null}function DI(e){return D(e,ug)?!1:D(e,aI)}function UI(e){return D(e,ug)?null:D(e,cI)?"blocking":D(e,lI)?"waiting":null}function pg(e){let t=[],n=D(e,RI)&&!D(e,CI),s=D(e,PI)&&!D(e,Km),i=D(e,OI)&&!D(e,Km),o=D(e,NI)&&!D(e,LI),a=D(e,MI)||D(e,zm)||o;return n&&a&&t.push({kind:"same_issue"},{kind:"repeats"}),(s||i&&a)&&t.push({kind:"same_issue"},{kind:"resolves"}),D(e,zm)&&t.push({kind:"same_issue"},{kind:"supersedes"}),o&&t.push({kind:"same_issue"},{kind:"escalates"}),JI(t)}function zn(e,t,n){return ZI(e)||n==="read"||n==="search"?t:$I(e,uI)?"high":(n==="write"||n==="edit"||n==="bash")&&t==="low"?"medium":t}function FI(e,t){return t!=="edit"&&t!=="read"?!1:D(e,dI)||fg(e)||gg(e)}function jI(e,t){return t==="search"?Wm(e):t==="read"?Wm(e)?!0:!fg(e)&&!gg(e)||KI(e)?!1:zI(e)||WI(e):!1}function qI(e,t){return t!=="bash"?!1:D(e,xI)&&!D(e,TI)}function D(e,t){return t.some(n=>mg(e,n))}function $I(e,t){return t.some(n=>BI(e,n))}function mg(e,t){let n=Xn(t);return n?n.includes(" ")?Ce(e,n):Wn(e,n):!1}function BI(e,t){return mg(e,t)}function gg(e){return il(e)?D(e,pI)||HI(e)||VI(e):!1}function fg(e){return D(e,mI)&&il(e)}function Wm(e){return SI.test(e)||il(e)&&/\bmatch(?:es)?\b/.test(e)}function il(e){return yI.test(e)}function HI(e){return bI.test(e)}function VI(e){return II.test(e)}function KI(e){return vI.test(e)||kI.test(e)||_I.test(e)||EI.test(e)}function zI(e){return AI.test(e)||D(e,fI)}function WI(e){return wI.test(e)||D(e,hI)}function GI(e){let t=e?.toolFamily;return typeof t=="string"?t:null}function YI(e){if(!e?.items)return null;for(let t of e.items){let n=t.id.toLowerCase(),s=t.label.toLowerCase();if(n==="toolfamily"||n==="tool_family"||n==="tool"||s==="tool family")return t.value??null}return null}function jc(e){if(!e)return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function Ce(e,t){let n=Xn(t);return n?new RegExp(`(?:^|[^a-z0-9_])${hg(n)}(?:$|[^a-z0-9_])`).test(e):!1}function Wn(e,t){return new RegExp(`(?:^|[^a-z0-9_])${hg(t)}(?:$|[^a-z0-9_])`).test(e)}function hg(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ZI(e){return D(e,gI)}function JI(e){let t=new Set,n=[];for(let s of e){let i=`${s.kind}:${s.target??""}`;t.has(i)||(t.add(i),n.push(s))}return n}function XI(e){switch(e){case"approval":return"approval_request";case"choice":return"question_request";case"form":return"form_request"}}function QI(e){switch(e){case"approval":return"permission_request";case"choice":case"form":return"question_request"}}function ev(e,t){switch(e){case"approval":return t==="high"?"A high-risk action needs explicit operator approval.":"Approval is required before work can continue.";case"choice":return"A decision is required before work can continue.";case"form":return"Additional input is required before work can continue."}}function Lt(e,t){if(t?.wasCancelled)return"Work was cancelled and may need review.";switch(e){case"failed":return"Work has failed and should be reviewed.";case"blocked":return"Work is blocked and may require operator attention.";case"running":case"waiting":case"completed":return t?.impliedAsk?"Status text implies the operator may need to respond.":void 0}}function pn(e,t){if(t?.wasCancelled)return["task cancellation is an explicit lifecycle fact"];switch(e){case"failed":return["task status explicitly indicates failure"];case"blocked":return["task status explicitly indicates blocked work"];case"running":case"waiting":case"completed":return t?.impliedAsk?["status wording suggests an implied operator request"]:["task update carries a non-blocking lifecycle status"]}}function Gm(e){switch(e){case"task_started":return["task start is an explicit lifecycle fact"];case"completion":return["task completion is an explicit lifecycle fact"]}}function yg(e){let t=tv(e);return sv(t,e.semanticHints)}function tv(e){switch(e.type){case"task.started":return{intentFrame:"task_started",activityClass:"session_status",consequence:"low",factors:["task.started"],relationHints:[],confidence:"high",reasons:Gm("task_started"),provenance:oe(["intentFrame","activityClass","consequence","confidence"])};case"task.updated":return nv(e);case"human.input.requested":return rv(e);case"task.completed":return{intentFrame:"completion",activityClass:"tool_completion",consequence:"low",factors:["task.completed"],relationHints:[],confidence:"high",reasons:Gm("completion"),provenance:oe(["intentFrame","activityClass","consequence","confidence"])};case"task.cancelled":return{intentFrame:"cancellation",activityClass:"status_update",consequence:"low",...e.reason?{whyNow:Lt("completed",{wasCancelled:!0})??"Work was cancelled and may need review."}:{},factors:["task.cancelled"],relationHints:[],confidence:"high",reasons:pn("completed",{wasCancelled:!0}),provenance:{...oe(["intentFrame","activityClass","consequence","confidence"]),...e.reason?oe(["whyNow"]):{}}};default:return cv(e)}}function nv(e){let t=Xn(`${e.title} ${e.summary??""}`),n=DI(t),s=UI(t),i=pg(t),o=vg(e.title,e.summary,e.toolFamily,e.context),{toolFamily:a,source:c}=Ig(o,!0),u=i.length>0?oe(["relationHints"]):{},p=e.status==="failed"&&FI(t,a),m=e.status==="failed"&&jI(t,a),f=e.status==="failed"&&qI(t,a);switch(e.status){case"failed":return p?{intentFrame:"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:zn(t,m?"low":"high",a),factors:["task.updated","failed","observational_failure"],relationHints:i,confidence:"high",reasons:["task status indicates failure but the update reads like observational output"],provenance:{...oe(["intentFrame","activityClass","consequence","confidence"]),...Gn(c),...u}}:{intentFrame:"failure",activityClass:"tool_failure",...a?{toolFamily:a}:{},consequence:zn(t,m?"low":f?"medium":"high",a),whyNow:Lt("failed")??"Work has failed and should be reviewed.",factors:["task.updated","failed"],relationHints:i,confidence:n?"medium":"high",reasons:f?[...pn("failed",{impliedAsk:n}),"failure content looks like expected diagnostic output from repro work"]:pn("failed",{impliedAsk:n}),provenance:{...oe(["intentFrame","activityClass","consequence","whyNow","confidence"]),...Gn(c),...u}};case"blocked":return{intentFrame:"blocked_work",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:zn(t,"medium",a),whyNow:Lt("blocked")??"Work is blocked and may require operator attention.",factors:["task.updated","blocked"],relationHints:i,confidence:n?"medium":"high",reasons:pn("blocked",{impliedAsk:n}),provenance:{...oe(["intentFrame","activityClass","consequence","whyNow","confidence"]),...Gn(c),...u}};case"running":case"waiting":case"completed":return{intentFrame:s==="blocking"?"blocked_work":"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:zn(t,"low",a),...(()=>{let h=s==="blocking"?Lt("blocked"):n?Lt(e.status,{impliedAsk:n}):void 0;return h!==void 0?{whyNow:h}:{}})(),factors:["task.updated",e.status,...s==="blocking"?["semantic blocking signal"]:[]],relationHints:i,confidence:s==="blocking"?"medium":n?"low":"high",reasons:s==="blocking"?[...pn("blocked"),"status wording indicates work cannot continue yet"]:pn(e.status,{impliedAsk:n}),provenance:{...oe(["intentFrame","activityClass","consequence","confidence"]),...Gn(c),...s==="blocking"||n?oe(["whyNow"]):{},...u}};default:return lv(e.status)}}function rv(e){let t=vg(e.title,e.summary,e.toolFamily,e.context),{toolFamily:n,source:s}=Ig(t,e.request.kind==="approval"),i=Xn(`${e.title} ${e.summary}`),o=pg(i),a=e.riskHint??av(e.request.kind,n),c=zn(i,a,n),u=o.length>0?oe(["relationHints"]):{};return{intentFrame:XI(e.request.kind),activityClass:QI(e.request.kind),...n?{toolFamily:n}:{},consequence:c,whyNow:ev(e.request.kind,c),factors:["human.input.requested",e.request.kind],relationHints:o,confidence:e.riskHint?"high":e.request.kind==="approval"&&n?"medium":"low",reasons:[e.riskHint?"source provided an explicit risk hint":"request kind establishes an explicit operator decision point",...s==="explicit"?["tool family was supplied by the source or context"]:s==="inferred"?["tool family was inferred from approval wording"]:[]],provenance:{...oe(["intentFrame","activityClass","whyNow"]),...Gn(s),...e.riskHint?Sg(["consequence","confidence"]):oe(["consequence","confidence"]),...u}}}function oe(e){return bg(e,"inferred")}function Sg(e){return bg(e,"source")}function bg(e,t){return Object.fromEntries(e.map(n=>[n,t]))}function Gn(e){switch(e){case"explicit":return Sg(["toolFamily"]);case"inferred":return oe(["toolFamily"]);case"none":return{};default:return dv(e)}}function Ig(e,t){let n=sl(e);if(n)return{toolFamily:n,source:"explicit"};if(!t)return{source:"none"};let s=dg(e);return s?{toolFamily:s,source:"inferred"}:{source:"none"}}function sv(e,t){return t?{...e,...ov(t),factors:Wc([...e.factors??[],...t.factors??[]]),relationHints:[...t.relationHints??e.relationHints],reasons:Wc([...e.reasons??[],...t.reasons??[]]),provenance:{...e.provenance??{},...iv(t)}}:e}function iv(e){return{...e.intentFrame!==void 0?{intentFrame:"hint"}:{},...e.activityClass!==void 0?{activityClass:"hint"}:{},...e.toolFamily!==void 0?{toolFamily:"hint"}:{},...e.consequence!==void 0?{consequence:"hint"}:{},...e.whyNow!==void 0?{whyNow:"hint"}:{},...e.relationHints!==void 0?{relationHints:"hint"}:{},...e.confidence!==void 0?{confidence:"hint"}:{},...e.abstained!==void 0?{abstained:"hint"}:{}}}function ov(e){let t={};for(let[n,s]of Object.entries(e))s!==void 0&&n!=="factors"&&n!=="relationHints"&&n!=="reasons"&&(t[n]=s);return t}function av(e,t){switch(e){case"approval":return t==="read"||t==="search"?"low":"medium";case"choice":case"form":return"medium";default:return uv(e)}}function vg(e,t,n,s){return{title:e,...t!==void 0?{summary:t}:{},...n!==void 0?{toolFamily:n}:{},...s?.items!==void 0?{context:{items:s.items}}:{}}}function cv(e){throw new Error(`Unhandled source event in semantic interpreter: ${JSON.stringify(e)}`)}function lv(e){throw new Error(`Unhandled task status in semantic interpreter: ${e}`)}function uv(e){throw new Error(`Unhandled human input request kind in semantic interpreter: ${e}`)}function dv(e){throw new Error(`Unhandled tool family provenance source in semantic interpreter: ${e}`)}function ol(e,t){return{ask:pv(e,t),activity:mv(e,t),...t.consequence!==void 0?{consequence:t.consequence}:{},blocking:gv(e,t),episode:fv(e,t),confidence:t.confidence,source:yv(e,t)}}function pv(e,t){switch(e.type){case"human.input.requested":return e.request.kind;case"task.started":case"task.completed":case"task.cancelled":return"none";case"task.updated":return t.intentFrame==="approval_request"||t.activityClass==="permission_request"?"approval":t.intentFrame==="form_request"?"form":t.intentFrame==="question_request"||t.activityClass==="question_request"?"choice":"status";default:return _s(e)}}function mv(e,t){switch(e.type){case"human.input.requested":return e.request.kind==="approval"?"decision_request":"question";case"task.completed":case"task.cancelled":return"task_completion";case"task.updated":return t.intentFrame==="approval_request"||t.activityClass==="permission_request"?"decision_request":t.intentFrame==="question_request"||t.intentFrame==="form_request"||t.activityClass==="question_request"?"question":e.status==="failed"||t.intentFrame==="failure"?"failure":e.status==="completed"?"task_completion":"task_progress";case"task.started":return"background_work";default:return _s(e)}}function gv(e,t){switch(e.type){case"human.input.requested":return"blocking";case"task.started":case"task.completed":case"task.cancelled":return"non_blocking";case"task.updated":return e.status==="blocked"||t.intentFrame==="blocked_work"?"blocking":e.status==="waiting"||t.intentFrame==="approval_request"||t.intentFrame==="question_request"||t.intentFrame==="form_request"?"waiting":"non_blocking";default:return _s(e)}}function fv(e,t){let n=new Set(t.relationHints.map(s=>s.kind));return n.has("resolves")?"resolved":n.has("same_issue")&&hv(t.relationHints)?"resurfaced":n.has("same_issue")?"same_issue":e.type==="human.input.requested"||e.type==="task.started"?"new":"unknown"}function hv(e){return e.some(t=>t.kind==="repeats"||t.kind==="escalates"||t.kind==="supersedes")}function yv(e,t){let n=Object.values(t.provenance??{});return n.includes("hint")?"hinted":Sv(e,t)?e.type==="task.updated"&&t.intentFrame==="status_update"&&t.confidence==="low"&&t.provenance?.confidence==="inferred"?"inferred":"explicit":n.includes("source")?"explicit":n.includes("inferred")?"inferred":"explicit"}function Sv(e,t){switch(e.type){case"human.input.requested":return!0;case"task.started":case"task.completed":case"task.cancelled":return!0;case"task.updated":switch(e.status){case"blocked":return t.intentFrame==="blocked_work";case"failed":return t.intentFrame==="failure"||t.intentFrame==="status_update";case"completed":return t.intentFrame==="completion"||t.intentFrame==="status_update";case"running":case"waiting":return t.intentFrame==="status_update";default:return bv(e.status)}default:return _s(e)}}function _s(e){throw new Error(`Unhandled semantic ontology event: ${JSON.stringify(e)}`)}function bv(e){throw new Error(`Unhandled task status in semantic ontology: ${e}`)}function Iv(e){if(!e.semantic)return{blockedLikeStatus:!1};let t=ol(e,e.semantic),n=e.semantic.abstained===!0;return{ontology:t,semanticEvidence:{confidence:t.confidence,source:t.source,strength:wg(t.confidence,t.source,n),abstained:n},...e.semantic.relationHints.length>0?{relationEvidence:{source:xg(e.semantic),strength:Ev(e.semantic,n)}}:{},blockedLikeStatus:e.type==="task.updated"&&t.blocking==="blocking"&&e.status!=="blocked"}}function kg(e){return Bt(e)?.strength??null}function Bt(e){return e.judgmentInput.semanticEvidence??null}function vv(e){return e.judgmentInput.relationEvidence??null}function _g(e){return vv(e)?.strength??null}function Eg(e){return e.judgmentInput.ontology??null}function fs(e){return Bt(e)?.confidence??null}function hs(e){return Bt(e)?.abstained===!0}function kv(e){return fs(e)==="low"}function _v(e){let t=kg(e),n=Bt(e)?.source;if(!t||!n)return 0;if(n==="inferred")switch(t){case"weak":return-2;case"qualified":return-1;case"strong":return 0}return(n==="explicit"||n==="hinted")&&t==="strong"?1:0}function al(e){return e.judgmentInput.blockedLikeStatus}function Ag(e,t){return t==="ambient"&&al(e)?"queue":t}function wg(e,t,n){if(n)return"weak";switch(e){case"low":return"weak";case"medium":return t==="inferred"?"weak":"qualified";case"high":return t==="inferred"?"qualified":"strong"}}function xg(e){switch(e.provenance?.relationHints){case"source":return"explicit";case"hint":return"hinted";case"inferred":return"inferred";default:return"inferred"}}function Ev(e,t){switch(xg(e)){case"explicit":return"strong";case"hinted":return t?"weak":"qualified";case"inferred":return wg(e.confidence,"inferred",t)}}var Av=1,rt=Av,W={ambiguity:{nonBlockingActivationThreshold:180,promotionMargin:20},attentionValue:{memorySufficiency:{toolFamilyPresentations:3,toolFamilyResponses:3,consequenceReviewedCount:4},responseAffinity:{fastLatencyMs:2e3,mediumLatencyMs:5e3,fastBoost:8,mediumBoost:4},consequenceCalibration:{highRejectionRate:.5,mediumRejectionRate:.25,adjustments:{low:{highRate:8,mediumRate:4},medium:{highRate:4,mediumRate:2},high:{highRate:-4,mediumRate:-2}}},contextCost:{highRate:.6,mediumRate:.3,highPenalty:-6,mediumPenalty:-3},deferralAffinity:{highRate:.6,mediumRate:.3,highBoost:6,mediumBoost:3}},queuePlanner:{minimumDwellMs:3e4,streamContinuityMargin:20,conflictingInterruptMargin:10,statusBurstWindowMs:6e4,urgentBacklogWindowMs:9e4,deferredEscalationThreshold:3,returnedEscalationThreshold:2,escalationScoreSlack:10,highContextQueueMargin:8,mediumContextQueueMargin:4,actionableEpisodeEvidenceThreshold:4,actionableEpisodeScoreSlack:15},pressureForecast:{freshness:{demandMs:2e4,residualMs:12e4},visibleInterruptiveBoost:{elevatedCount:1,highCount:2},recentDemand:{elevatedCount:5,highCount:8},responseLatencyMs:{elevated:8e3,high:15e3},deferredPressure:{elevatedSuppressedCount:1,highSuppressedCount:2,elevatedDeferredCount:2,highDeferredCount:4},slowClearance:{presentedCount:4,responseRate:.3},scoreBands:{elevatedLevel:2,highLevel:5,risingRisk:3,highRisk:6}},attentionBudget:{thresholdOffset:{elevated:6,high:12},recentDecisions:{elevatedCount:4,highCount:8},responseLatencyMs:{elevated:8e3,high:15e3},deferredCount:{elevated:2,high:4},interruptiveVisible:{elevated:1,high:2},scoreBands:{elevatedScore:2,highScore:5}},episodeEvidence:{blockingBoost:4,recurringEpisodeBoost:1,persistentEpisodeBoost:1,highSignalBoost:2,multiModeBoost:1,stackingBoost:1,relationRepeatBoost:1,relationEscalationBoost:2,actionableThreshold:4,staleAfterMs:15*6e4}};function Tg(e,t){return(e??[]).some(n=>n.kind===t)}function wv(e){return(e??[]).find(n=>typeof n.target=="string"&&n.target.length>0)?.target??null}function Es(e=Date.now){return{nowMs:()=>e(),nowIso:()=>gn(e()),parse:Zn,add:xv,diff:cl}}function Zn(e){let t=Date.parse(e);return Number.isNaN(t)?null:t}function gn(e){return new Date(e).toISOString()}function xv(e,t){let n=Zn(e);return n===null?null:gn(n+t)}function cl(e,t){let n=Zn(e),s=Zn(t);return n===null||s===null?null:n-s}var ke=W.episodeEvidence,Tv=1440*6e4,Rv=1024,Cv=class{byKey=new Map;byId=new Map;byInteractionId=new Map;nextSequenceByKey=new Map;clock;dormantRetentionMs;maxDormantEpisodes;latestObservedAtMs=null;prunedRecords=0;constructor(e={}){this.clock=e.clock??Es(),this.dormantRetentionMs=e.dormantRetentionMs??Tv,this.maxDormantEpisodes=e.maxDormantEpisodes??Rv}assign(e){let t=this.clock.parse(e.timestamp);t!==null&&(this.latestObservedAtMs===null||t>this.latestObservedAtMs)&&(this.latestObservedAtMs=t);let n=Pv(e),s=this.byInteractionId.get(e.interactionId),i=s?this.byId.get(s):void 0,o=i?null:this.byKey.get(n),a=i??this.resolveAssignableRecord(n,o,e),c=this.evolveRecord(a,e);return this.byKey.set(c.key,c),this.byId.set(c.id,c),this.byInteractionId.set(e.interactionId,c.id),this.pruneDormantRecords(),{...e,episodeId:c.id,episodeKey:c.key,episodeState:c.state,episodeSize:c.size,episodeEvidenceScore:c.evidenceScore,episodeEvidenceReasons:[...c.evidenceReasons]}}resolveInteraction(e){let t=this.byInteractionId.get(e);if(!t)return;let n=this.byId.get(t);if(n){this.byKey.get(n.key)?.id===n.id&&this.byKey.delete(n.key),this.byId.delete(n.id);for(let s of n.interactions)this.byInteractionId.delete(s)}}readFrameEpisode(e){if(!e)return null;let t=e.metadata?.episode;if(!t||typeof t!="object")return null;let n=mn(t,"id"),s=mn(t,"key"),i=Cg(t,"state"),o=Ym(t,"size"),a=Ym(t,"evidenceScore")??0,c=Uv(t,"evidenceReasons"),u=mn(t,"lastInteractionId"),p=mn(t,"updatedAt");return!n||!s||!i||o===null||!u||!p?null:{id:n,key:s,state:i,size:o,evidenceScore:a,evidenceReasons:c,lastInteractionId:u,updatedAt:p}}stats(){let e=0,t=0,n=null;for(let s of this.byId.values())this.isActiveRecord(s)?e+=1:t+=1,(n===null||s.updatedAt>n)&&(n=s.updatedAt);return{activeRecords:e,dormantRecords:t,retainedRecords:this.byId.size,boundInteractions:this.byInteractionId.size,dormantRetentionMs:this.dormantRetentionMs,maxDormantRecords:this.maxDormantEpisodes,prunedRecords:this.prunedRecords,latestEpisodeAt:n}}createRecord(e,t){let n=(this.nextSequenceByKey.get(e)??0)+1;this.nextSequenceByKey.set(e,n);let s=Rg(t)?(t.relationHints??[]).map(i=>i.kind):[];return{id:`episode:${e}:${n}`,key:e,state:t.blocking?"actionable":"emerging",size:0,evidenceScore:t.blocking?ke.blockingBoost:0,evidenceReasons:t.blocking?["operator-facing work makes this episode immediately actionable"]:[],lastInteractionId:t.interactionId,updatedAt:t.timestamp,interactions:new Set,modes:new Set([t.mode]),highSignals:t.consequence==="high"||t.tone==="critical"?1:0,blockingSignals:t.blocking?1:0,relationKinds:new Set(s)}}resolveAssignableRecord(e,t,n){if(!t)return this.createRecord(e,n);if(this.shouldRollEpisode(t,n.timestamp)){let s={...t,state:"stale"};return this.byId.set(s.id,s),this.createRecord(e,n)}return t}shouldRollEpisode(e,t){if(Ke(e.state))return!0;let n=this.clock.parse(e.updatedAt),s=this.clock.parse(t);return n===null||s===null?!1:s-n>=ke.staleAfterMs}evolveRecord(e,t){let n=new Set(e.interactions);n.add(t.interactionId);let s=new Set(e.modes);s.add(t.mode);let i=Mv(e.relationKinds,t),o={...e,lastInteractionId:t.interactionId,updatedAt:t.timestamp,size:n.size,interactions:n,modes:s,relationKinds:i,blockingSignals:e.blockingSignals+(t.blocking?1:0),highSignals:e.highSignals+(t.consequence==="high"||t.tone==="critical"?1:0)},a=Lv(o,t);return{...o,evidenceScore:a.score,evidenceReasons:a.reasons,state:Nv(e.state,t,o,a.score)}}pruneDormantRecords(){let e=[...this.byId.values()].filter(s=>!this.isActiveRecord(s));if(this.latestObservedAtMs!==null)for(let s of e){let i=this.clock.parse(s.updatedAt);i!==null&&this.latestObservedAtMs-i>this.dormantRetentionMs&&this.deleteRecord(s)}let t=[...this.byId.values()].filter(s=>!this.isActiveRecord(s)).sort((s,i)=>s.updatedAt.localeCompare(i.updatedAt));if(t.length<=this.maxDormantEpisodes)return;let n=t.length-this.maxDormantEpisodes;for(let s of t.slice(0,n))this.deleteRecord(s)}isActiveRecord(e){return this.byKey.get(e.key)?.id===e.id&&!Ke(e.state)}deleteRecord(e){this.byKey.get(e.key)?.id===e.id&&this.byKey.delete(e.key),this.byId.delete(e.id);for(let t of e.interactions)this.byInteractionId.get(t)===e.id&&this.byInteractionId.delete(t);this.prunedRecords+=1}};function Pv(e){let t=e.source?.kind??e.source?.id??"unknown",n=Ov(e),s=e.blocking?"interruptive":"status";return Dv([t,s,n].join(":"))}function Dt(e){return e?mn(e.metadata?.episode,"id"):null}function Ut(e){return e?Cg(e.metadata?.episode,"state"):null}function Ke(e){return e==="stale"||e==="resolved"}function Ov(e){let t=wv(e.relationHints);if(t)return t;let s=(e.context?.items??[]).find(o=>{let a=o.id.toLowerCase(),c=o.label.toLowerCase();return a.includes("file")||a==="path"||a.includes("issue")||a==="command"||c.includes("file")||c.includes("path")||c.includes("issue")||c.includes("command")});if(s?.value)return s.value;let i=e.summary??e.title;return i.length>0?i:e.taskId}function Nv(e,t,n,s){return t.blocking||s>=ke.actionableThreshold?"actionable":e==="actionable"?"waiting":n.size>=2?"batched":"emerging"}function Lv(e,t){let n=0,s=[];return t.blocking&&(n+=ke.blockingBoost,s.push("operator-facing work makes this episode immediately actionable")),e.size>=2&&(n+=ke.recurringEpisodeBoost,s.push("multiple related interactions have accumulated in this episode")),e.size>=3&&(n+=ke.persistentEpisodeBoost,s.push("the same episode keeps recurring without resolution")),e.highSignals>=1&&(n+=ke.highSignalBoost,s.push("at least one related interaction carried high consequence or critical tone")),e.modes.size>=2&&(n+=ke.multiModeBoost,s.push("related work has spread across multiple interaction modes")),e.highSignals>=1&&e.size>=2&&(n+=ke.stackingBoost,s.push("high-signal evidence is stacking up across the episode")),e.relationKinds.has("repeats")&&(n+=ke.relationRepeatBoost,s.push("semantic relation hints indicate this issue is recurring")),e.relationKinds.has("escalates")&&(n+=ke.relationEscalationBoost,s.push("semantic relation hints indicate this issue is escalating")),{score:n,reasons:s}}function Mv(e,t){let n=new Set(e);if(!Rg(t))return n;for(let s of t.relationHints??[])n.add(s.kind);return n}function Dv(e){return e.toLowerCase().replace(/[^a-z0-9:/._-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,120)}function Rg(e){let t=_g(e);return t===null||t!=="weak"}function mn(e,t){if(!e||typeof e!="object"||!(t in e))return null;let n=e[t];return typeof n=="string"&&n.length>0?n:null}function Ym(e,t){if(!e||typeof e!="object"||!(t in e))return null;let n=e[t];return typeof n=="number"?n:null}function Cg(e,t){let n=mn(e,t);switch(n){case"emerging":case"actionable":case"batched":case"waiting":case"stale":case"resolved":return n;default:return null}}function Uv(e,t){if(!e||typeof e!="object"||!(t in e))return[];let n=e[t];return Array.isArray(n)?n.filter(s=>typeof s=="string"&&s.length>0):[]}function ll(e={}){let t=e.base,n=e.semantic,s=t?.whyNow??n?.whyNow??e.fallbackWhyNow,i=Wc([...t?.factors??[],...n?.factors??[],...e.extraFactors??[]]);if(!(t===void 0&&s===void 0&&i.length===0))return{...t??{},...s!==void 0?{whyNow:s}:{},...i.length>0?{factors:i}:{}}}var Fv=class{evaluate(e){switch(e.type){case"task.started":return{kind:"candidate",candidate:{taskId:e.taskId,interactionId:`interaction:${e.taskId}:status`,...e.source!==void 0?{source:e.source}:{},mode:"status",tone:"ambient",consequence:"low",title:e.title,responseSpec:{kind:"none"},priority:"background",blocking:!1,timestamp:e.timestamp,...e.summary!==void 0?{summary:e.summary}:{},...qc(e)}};case"task.updated":return{kind:"candidate",candidate:this.evaluateTaskUpdate(e)};case"human.input.requested":return{kind:"candidate",candidate:this.evaluateHumanInput(e)};case"task.completed":case"task.cancelled":return{kind:"clear",taskId:e.taskId};default:return $v(e)}}evaluateTaskUpdate(e){let t=this.priorityForStatus(e.status),n=this.toneForStatus(e.status),s=this.consequenceForStatus(e.status),i=this.responseSpecForStatus(e.status);return{taskId:e.taskId,interactionId:`interaction:${e.taskId}:status`,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},mode:"status",tone:n,consequence:s,title:e.title,responseSpec:i,priority:t,blocking:!1,timestamp:e.timestamp,...e.summary!==void 0?{summary:e.summary}:{},...e.semantic?.relationHints?.length?{relationHints:e.semantic.relationHints}:{},...qc(e),...jv(e),...qv(e)}}evaluateHumanInput(e){let t=this.createActions(e),n=this.createResponseSpec(e,t),s=e.request.kind==="approval"?e.toolFamily:void 0;return{taskId:e.taskId,interactionId:e.interactionId,...e.source!==void 0?{source:e.source}:{},...s!==void 0?{toolFamily:s}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},mode:e.request.kind,tone:e.tone??"focused",consequence:e.consequence??"medium",title:e.title,summary:e.summary,...e.semantic?.relationHints?.length?{relationHints:e.semantic.relationHints}:{},responseSpec:n,priority:this.priorityForHumanInput(e),blocking:!0,timestamp:e.timestamp,...qc(e),...e.context!==void 0?{context:e.context}:{},...(()=>{let i=ll({base:e.provenance,semantic:e.semantic});return i!==void 0?{provenance:i}:{}})()}}priorityForHumanInput(e){return e.request.kind==="approval"&&e.consequence==="low"?"normal":"high"}createActions(e){switch(e.request.kind){case"approval":return[{id:"approve",label:"Approve",kind:"approve",emphasis:"primary"},{id:"reject",label:"Reject",kind:"reject",emphasis:"danger"}];case"choice":case"form":return[{id:"submit",label:"Continue",kind:"submit",emphasis:"primary"},{id:"cancel",label:"Cancel",kind:"cancel",emphasis:"secondary"}];default:return Zm(e.request)}}createResponseSpec(e,t){switch(e.request.kind){case"approval":return e.request.requireReason!==void 0?{kind:"approval",actions:t,requireReason:e.request.requireReason}:{kind:"approval",actions:t};case"choice":return{kind:"choice",selectionMode:e.request.selectionMode,...e.request.allowTextResponse!==void 0?{allowTextResponse:e.request.allowTextResponse}:{},options:e.request.options,actions:t};case"form":return{kind:"form",fields:e.request.fields,actions:t};default:return Zm(e.request)}}responseSpecForStatus(e){switch(e){case"blocked":case"failed":return{kind:"acknowledge",actions:[{id:"acknowledge",label:"Acknowledge",kind:"acknowledge",emphasis:"primary"}]};case"running":case"waiting":case"completed":return{kind:"none"};default:return us(e)}}priorityForStatus(e){switch(e){case"blocked":return"normal";case"failed":return"high";case"running":case"waiting":case"completed":return"background";default:return us(e)}}toneForStatus(e){switch(e){case"blocked":return"focused";case"failed":return"critical";case"running":case"waiting":case"completed":return"ambient";default:return us(e)}}consequenceForStatus(e){switch(e){case"blocked":return"medium";case"failed":return"high";case"running":case"waiting":case"completed":return"low";default:return us(e)}}};function jv(e){let t=e.context,n=t?.items,s=n!==void 0&&n.length>0;return e.progress===void 0&&t?.stage===void 0&&!s?{}:{context:{...t?.stage!==void 0?{stage:t.stage}:{},...e.progress!==void 0?{progress:e.progress}:{},...s?{items:n}:{}}}}function qv(e){let t=ll({semantic:e.semantic,fallbackWhyNow:e.status==="blocked"?Lt("blocked"):e.status==="failed"?Lt("failed"):void 0,extraFactors:e.status==="blocked"||e.status==="failed"?[e.status]:[]});return t===void 0?{}:{provenance:t}}function qc(e){return{judgmentInput:Iv(e)}}function $v(e){throw new Error(`Unhandled ApertureEvent in event evaluator: ${JSON.stringify(e)}`)}function Zm(e){throw new Error(`Unhandled human input request in event evaluator: ${JSON.stringify(e)}`)}function us(e){throw new Error(`Unhandled task status in event evaluator: ${e}`)}var Bv=class{plan(e,t){let n=t?.interactionId===e.interactionId,s=t?.metadata?.attention,i={...s&&typeof s=="object"?s:{},score:Zb(e),scoreOffset:e.attentionScoreOffset??0,rationale:e.attentionRationale??[]},o=t?.metadata?.episode,a=e.toolFamily??(typeof t?.metadata?.toolFamily=="string"?t.metadata.toolFamily:void 0),c=e.episodeId?{...o&&typeof o=="object"?o:{},id:e.episodeId,key:e.episodeKey,state:e.episodeState,size:e.episodeSize??1,evidenceScore:e.episodeEvidenceScore??0,evidenceReasons:e.episodeEvidenceReasons??[],lastInteractionId:e.interactionId,updatedAt:e.timestamp}:o,u=t?.metadata?.semantic,p=e.relationHints?.length?{...u&&typeof u=="object"?u:{},relationHints:e.relationHints}:u;return{id:n?t.id:`frame:${e.interactionId}`,taskId:e.taskId,interactionId:e.interactionId,...e.source!==void 0?{source:e.source}:{},version:(t?.version??0)+1,mode:e.mode,tone:e.tone,consequence:e.consequence,title:e.title,responseSpec:e.responseSpec,timing:{createdAt:t?.timing.createdAt??e.timestamp,updatedAt:e.timestamp},metadata:{...t?.metadata??{},attention:i,...a!==void 0?{toolFamily:a}:{},...p?{semantic:p}:{},...c?{episode:c}:{}},...e.summary!==void 0?{summary:e.summary}:{},...e.context!==void 0?{context:e.context}:{},...e.provenance!==void 0?{provenance:e.provenance}:{}}}},Hv=1800*1e3,Jm=256,Vv=1440*6e4,Kv=1024,zv=class{byTaskId=new Map;clock;taskRetentionMs;maxTrackedTasks;latestObservedAtMs=null;prunedTasks=0;constructor(e={}){this.clock=e.clock??Es(),this.taskRetentionMs=e.taskRetentionMs??Vv,this.maxTrackedTasks=e.maxTrackedTasks??Kv}record(e){let n=[...this.byTaskId.get(e.taskId)??[],e];this.byTaskId.set(e.taskId,n.length>Jm?n.slice(-Jm):n);let s=this.clock.parse(e.timestamp);s!==null&&(this.latestObservedAtMs===null||s>this.latestObservedAtMs)&&(this.latestObservedAtMs=s),this.prune()}list(e){return e!==void 0?[...this.byTaskId.get(e)??[]]:[...this.byTaskId.values()].flat().sort((t,n)=>t.timestamp.localeCompare(n.timestamp))}summarize(e){return Pg(this.list(e),this.clock)}stats(){let e=0,t=null,n=null;for(let s of this.byTaskId.values()){e+=s.length;let i=s[0]?.timestamp??null,o=s[s.length-1]?.timestamp??null;i&&(t===null||i<t)&&(t=i),o&&(n===null||o>n)&&(n=o)}return{taskCount:this.byTaskId.size,signalCount:e,oldestSignalAt:t,latestSignalAt:n,taskRetentionMs:this.taskRetentionMs,maxTrackedTasks:this.maxTrackedTasks,prunedTasks:this.prunedTasks}}prune(){if(this.latestObservedAtMs!==null)for(let[n,s]of this.byTaskId.entries()){let i=s[s.length-1],o=i?this.clock.parse(i.timestamp):null;o!==null&&this.latestObservedAtMs-o>this.taskRetentionMs&&(this.byTaskId.delete(n),this.prunedTasks+=1)}if(this.byTaskId.size<=this.maxTrackedTasks)return;let e=this.byTaskId.size-this.maxTrackedTasks,t=[...this.byTaskId.entries()].map(([n,s])=>({taskId:n,latestAt:s[s.length-1]?.timestamp??""})).sort((n,s)=>n.latestAt.localeCompare(s.latestAt)).slice(0,e);for(let n of t)this.byTaskId.delete(n.taskId),this.prunedTasks+=1}};function Pg(e,t=Es()){let n=Wv(e,t),s={presented:0,viewed:0,responded:0,dismissed:0,deferred:0,contextExpanded:0,contextSkipped:0,timedOut:0,returned:0,attentionShifted:0},i={next:0,suppressed:0,manual:0},o=0,a=0,c=0,u=0;for(let p of n)switch(p.kind){case"presented":s.presented+=1;break;case"viewed":s.viewed+=1;break;case"responded":s.responded+=1,p.latencyMs!==void 0&&(o+=p.latencyMs,a+=1);break;case"dismissed":s.dismissed+=1,p.latencyMs!==void 0&&(c+=p.latencyMs,u+=1);break;case"deferred":s.deferred+=1,p.reason!==void 0&&(i[p.reason]+=1);break;case"context_expanded":s.contextExpanded+=1;break;case"context_skipped":s.contextSkipped+=1;break;case"timed_out":s.timedOut+=1;break;case"returned":s.returned+=1;break;case"attention_shifted":s.attentionShifted+=1;break}return{recentSignals:n.length,lifetimeSignals:e.length,counts:s,deferred:i,responseRate:s.presented>0?s.responded/s.presented:0,dismissalRate:s.presented>0?s.dismissed/s.presented:0,averageResponseLatencyMs:a>0?Math.round(o/a):null,averageDismissalLatencyMs:u>0?Math.round(c/u):null,lastSignalAt:e.length>0?e[e.length-1]?.timestamp??null:null}}function Wv(e,t){let n=e.slice(-32),s=n[n.length-1]?.timestamp;if(s===void 0)return n;let i=t.parse(s);if(i===null)return n;let o=n.filter(a=>{let c=t.parse(a.timestamp);return c===null?!0:i-c<=Hv});return o.length>0?o:n}function Gc(e){return sl(e)}function Gv(e){return dg(e)}function ul(e){return e.mode==="status"?Gc(e):e.mode!=="approval"||e.activityClass!==void 0&&e.activityClass!=="permission_request"?null:Gv(e)}function ys(e){return e?e.kind??e.id:null}function Og(e,t,n){let s=Zv(e,t),i=Jv(e,t),o=Xv(e,t);return{...e,version:rt,updatedAt:n,sessionCount:e.sessionCount+1,...Object.keys(s).length>0?{toolFamilies:s}:{},...Object.keys(i).length>0?{sourceTrust:i}:{},...Object.keys(o).length>0?{consequenceProfiles:o}:{}}}function Qn(e){let t={consequence:e.consequence},n=Ng(e);n&&(t.toolFamily=n);let s=ys(e.source);s&&(t.sourceKey=s);let i=e.metadata?.episode;return i&&typeof i=="object"&&!Array.isArray(i)&&(t.episode=i),t}function Yv(e){let t={consequence:e.consequence},n=Ng(e);n&&(t.toolFamily=n);let s=ys(e.source);return s&&(t.sourceKey=s),t}function Ng(e){return ul(e)}function Zv(e,t){let n={...e.toolFamilies??{}},s=new Map,i=new Map;for(let o of t){let a=Ss(o.metadata,"toolFamily");if(!a)continue;let c=`${a}::${o.interactionId}`,u=i.get(c)??{toolFamily:a,presented:!1,responded:!1,dismissed:!1,contextExpanded:!1,deferred:!1,returned:!1};switch(o.kind){case"presented":u.presented=!0;break;case"responded":u.responded=!0,u.dismissed=!1,o.latencyMs!==void 0&&(u.responseLatencyMs=o.latencyMs);break;case"dismissed":u.responded||(u.dismissed=!0,o.latencyMs!==void 0&&(u.dismissalLatencyMs=o.latencyMs));break;case"context_expanded":u.contextExpanded=!0;break;case"deferred":u.deferred=!0;break;case"returned":u.returned=!0;break}i.set(c,u)}for(let o of i.values()){let a=s.get(o.toolFamily)??{presentations:0,responses:0,dismissals:0,responseLatencyTotal:0,responseLatencyCount:0,dismissalLatencyTotal:0,dismissalLatencyCount:0,contextExpanded:0,deferrals:0,returns:0};(o.presented||o.responded||o.dismissed)&&(a.presentations+=1),o.responded?(a.responses+=1,o.responseLatencyMs!==void 0&&(a.responseLatencyTotal+=o.responseLatencyMs,a.responseLatencyCount+=1)):o.dismissed&&(a.dismissals+=1,o.dismissalLatencyMs!==void 0&&(a.dismissalLatencyTotal+=o.dismissalLatencyMs,a.dismissalLatencyCount+=1)),o.contextExpanded&&(a.contextExpanded+=1),o.deferred&&(a.deferrals+=1,o.returned&&(a.returns+=1)),s.set(o.toolFamily,a)}for(let[o,a]of s.entries()){let c=n[o]??{presentations:0,responses:0,dismissals:0},u=c.presentations+a.presentations,p=c.responses+a.responses,m=c.dismissals+a.dismissals,f=a.responseLatencyCount>0?a.responseLatencyTotal/a.responseLatencyCount:void 0,h=a.dismissalLatencyCount>0?a.dismissalLatencyTotal/a.dismissalLatencyCount:void 0,b=c.contextExpansionRate!==void 0?c.contextExpansionRate*c.presentations:0,I=a.contextExpanded;n[o]={presentations:u,responses:p,dismissals:m,...f!==void 0?{avgResponseLatencyMs:Xm(c.avgResponseLatencyMs,c.responses,f,a.responseLatencyCount)}:c.avgResponseLatencyMs!==void 0?{avgResponseLatencyMs:c.avgResponseLatencyMs}:{},...h!==void 0?{avgDismissalLatencyMs:Xm(c.avgDismissalLatencyMs,c.dismissals,h,a.dismissalLatencyCount)}:c.avgDismissalLatencyMs!==void 0?{avgDismissalLatencyMs:c.avgDismissalLatencyMs}:{},...u>0?{contextExpansionRate:Yc((b+I)/u)}:c.contextExpansionRate!==void 0?{contextExpansionRate:c.contextExpansionRate}:{},...a.deferrals>0?{returnAfterDeferralRate:Yc(a.returns/a.deferrals)}:c.returnAfterDeferralRate!==void 0?{returnAfterDeferralRate:c.returnAfterDeferralRate}:{}}}return n}function Jv(e,t){let n=structuredClone(e.sourceTrust??{}),s=new Map;for(let i of t){let o=Ss(i.metadata,"sourceKey"),a=Ss(i.metadata,"consequence");if(!o||a!=="low"&&a!=="medium"&&a!=="high")continue;let c=`${o}::${a}::${i.interactionId}`,u=s.get(c)??{source:o,consequence:a,responded:!1,rejected:!1,dismissed:!1};i.kind==="responded"?(u.responded=!0,u.dismissed=!1,u.rejected=i.responseKind==="rejected"):i.kind==="dismissed"&&(u.responded||(u.dismissed=!0)),s.set(c,u)}for(let i of s.values()){let o=n[i.source]?.[i.consequence]??{confirmations:0,disagreements:0,trustAdjustment:0};i.responded?i.rejected?o.disagreements+=1:o.confirmations+=1:i.dismissed&&(o.disagreements+=1);let a=o.confirmations+o.disagreements;o.trustAdjustment=a>0?Math.round((o.confirmations-o.disagreements)/a*10*Math.min(a/5,1)):0,n[i.source]={...n[i.source]??{},[i.consequence]:o}}return n}function Xv(e,t){let n={...e.consequenceProfiles??{}},s=new Map;for(let o of t){let a=Ss(o.metadata,"consequence");a!=="low"&&a!=="medium"&&a!=="high"||o.kind==="responded"&&s.set(`${a}::${o.interactionId}`,{consequence:a,rejected:o.responseKind==="rejected"})}let i=new Map;for(let o of s.values()){let a=i.get(o.consequence)??{reviewed:0,rejected:0};a.reviewed+=1,o.rejected&&(a.rejected+=1),i.set(o.consequence,a)}for(let[o,a]of i.entries()){let c=n[o]??{rejectionRate:0,reviewedCount:0},u=(c.reviewedCount??0)+a.reviewed;n[o]={rejectionRate:u>0?Yc(((c.reviewedCount??0)*c.rejectionRate+a.rejected)/u):0,reviewedCount:u}}return n}function Ss(e,t){let n=e?.[t];return typeof n=="string"&&n.length>0?n:null}function Yc(e){return Math.round(e*1e3)/1e3}function Xm(e,t,n,s){let i=t+s;if(i<=0)return Math.round(n);let o=(e??0)*t,a=n*s;return Math.round((o+a)/i)}function Qv(e,t,n,s="present",i){if(s==="absent")return Lg();let o=W.attentionBudget,a=ek(e,i),c=a?(e?.counts.responded??0)+(e?.counts.dismissed??0)+(e?.counts.deferred??0)+(e?.counts.contextExpanded??0)+(e?.counts.contextSkipped??0):0,u=a?e?.counts.deferred??0:0,p=a?e?.averageResponseLatencyMs??null:null,m=t?.metrics.interruptiveVisible??0,f=n??"monitoring",h=t?.level??"steady",b=[],I=0;return h==="high"?(I+=2,b.push("current pressure is already high")):h==="elevated"&&(I+=1,b.push("current pressure is elevated")),f==="overloaded"?(I+=2,b.push("recent operator behavior indicates overload")):(f==="hesitating"||f==="avoiding")&&(I+=1,b.push("recent operator behavior suggests attention is already strained")),c>=o.recentDecisions.highCount?(I+=2,b.push("recent decision volume is high")):c>=o.recentDecisions.elevatedCount&&(I+=1,b.push("recent decision volume is climbing")),p!==null&&p>=o.responseLatencyMs.high?(I+=2,b.push("recent decision latency is slow")):p!==null&&p>=o.responseLatencyMs.elevated&&(I+=1,b.push("recent decision latency is rising")),u>=o.deferredCount.high?(I+=2,b.push("recent deferrals are accumulating")):u>=o.deferredCount.elevated&&(I+=1,b.push("recent deferrals suggest growing burden")),m>=o.interruptiveVisible.high?(I+=2,b.push("multiple interruptive frames are already visible")):m>=o.interruptiveVisible.elevated&&(I+=1,b.push("interruptive work is already visible")),{level:I>=o.scoreBands.highScore?"high":I>=o.scoreBands.elevatedScore?"elevated":"light",thresholdOffset:I>=o.scoreBands.highScore?o.thresholdOffset.high:I>=o.scoreBands.elevatedScore?o.thresholdOffset.elevated:0,metrics:{recentDecisions:c,deferredCount:u,averageResponseLatencyMs:p,interruptiveVisible:m,pressureLevel:h,attentionState:f},reasons:b}}function ek(e,t){let n=e?.lastSignalAt;if(!n||t===void 0)return!0;let s=Date.parse(n),i=tk(t);return Number.isNaN(s)||i===null?!0:i-s<=W.pressureForecast.freshness.residualMs}function tk(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(e instanceof Date){let n=e.getTime();return Number.isFinite(n)?n:null}let t=Date.parse(e);return Number.isNaN(t)?null:t}function Lg(){return{level:"light",thresholdOffset:0,metrics:{recentDecisions:0,deferredCount:0,averageResponseLatencyMs:null,interruptiveVisible:0,pressureLevel:"steady",attentionState:"monitoring"},reasons:[]}}function nk(e,t,n){let s=ok(t),i=[],o=0,a=W.pressureForecast,c=rk(e,n),u=c===null||c<=a.freshness.demandMs,p=c===null||c<=a.freshness.residualMs,m=u?(e?.counts.presented??0)+(e?.counts.deferred??0)+(e?.counts.returned??0):0,f=p?e?.averageResponseLatencyMs??null:null,h=p?e?.counts.deferred??0:0,b=p?e?.deferred.suppressed??0:0,I=p?e?.responseRate??0:0,N=p?e?.counts.presented??0:0;return s>=a.visibleInterruptiveBoost.highCount?(o+=2,i.push("multiple interruptive frames are already visible")):s>=a.visibleInterruptiveBoost.elevatedCount&&(o+=1,i.push("interruptive work is already visible")),m>=a.recentDemand.highCount?(o+=2,i.push("incoming demand is arriving quickly")):m>=a.recentDemand.elevatedCount&&(o+=1,i.push("incoming demand is climbing")),f!==null&&f>=a.responseLatencyMs.high?(o+=2,i.push("recent response latency is slow")):f!==null&&f>=a.responseLatencyMs.elevated&&(o+=1,i.push("recent response latency is rising")),b>=a.deferredPressure.highSuppressedCount||h>=a.deferredPressure.highDeferredCount?(o+=2,i.push("recent deferrals suggest operator capacity is tightening")):(b>=a.deferredPressure.elevatedSuppressedCount||h>=a.deferredPressure.elevatedDeferredCount)&&(o+=1,i.push("recent deferrals suggest operator capacity is tightening")),N>=a.slowClearance.presentedCount&&I<=a.slowClearance.responseRate&&(o+=1,i.push("presented work is being cleared slowly")),{level:o>=a.scoreBands.highLevel?"high":o>=a.scoreBands.elevatedLevel?"elevated":"steady",overloadRisk:o>=a.scoreBands.highRisk?"high":o>=a.scoreBands.risingRisk?"rising":"low",score:o,metrics:{recentDemand:m,interruptiveVisible:s,averageResponseLatencyMs:f,deferredCount:h,suppressedCount:b},reasons:i}}function rk(e,t){let n=e?.lastSignalAt;if(!n||t===void 0)return null;let s=Date.parse(n),i=sk(t);return Number.isNaN(s)||i===null?null:Math.max(0,i-s)}function sk(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(e instanceof Date){let n=e.getTime();return Number.isFinite(n)?n:null}let t=Date.parse(e);return Number.isNaN(t)?null:t}function ik(){return{level:"steady",overloadRisk:"low",score:0,metrics:{recentDemand:0,interruptiveVisible:0,averageResponseLatencyMs:null,deferredCount:0,suppressedCount:0},reasons:[]}}function ok(e){return e?[e.now,...e.next].filter(t=>t!==null).filter(ak).length:0}function ak(e){return e.mode!=="status"||e.consequence==="high"||e.tone==="critical"}var bs={topology:{supportsAmbient:!0},responses:{supportsSingleChoice:!0,supportsMultipleChoice:!1,supportsForm:!0,supportsTextResponse:!1}};function Qm(e={}){let t=e.taskSignalSummary??Zc();return{currentFrame:e.currentFrame??null,currentTaskView:e.currentTaskView??lk(),currentEpisode:e.currentEpisode??null,attentionView:e.attentionView??uk(),taskSignalSummary:t,continuitySignalSummary:e.continuitySignalSummary??t,globalSignalSummary:e.globalSignalSummary??Zc(),taskAttentionState:e.taskAttentionState??"monitoring",globalAttentionState:e.globalAttentionState??"monitoring",pressureForecast:e.pressureForecast??ik(),attentionBurden:e.attentionBurden??Lg(),surfaceCapabilities:e.surfaceCapabilities?{topology:{...e.surfaceCapabilities.topology},responses:{...e.surfaceCapabilities.responses}}:{topology:{...bs.topology},responses:{...bs.responses}},operatorPresence:e.operatorPresence??"present"}}function As(e={}){return{...e.currentFrame!==void 0?{currentFrame:e.currentFrame}:{},...e.currentTaskView!==void 0?{currentTaskView:e.currentTaskView}:{},...e.currentEpisode!==void 0?{currentEpisode:e.currentEpisode}:{},...e.attentionView!==void 0?{attentionView:e.attentionView}:{},...e.taskSignalSummary!==void 0?{taskSignalSummary:e.taskSignalSummary}:{},...e.continuitySignalSummary!==void 0?{continuitySignalSummary:e.continuitySignalSummary}:{},...e.globalSignalSummary!==void 0?{globalSignalSummary:e.globalSignalSummary}:{},...e.taskAttentionState!==void 0?{taskAttentionState:e.taskAttentionState}:{},...e.globalAttentionState!==void 0?{globalAttentionState:e.globalAttentionState}:{},...e.pressureForecast!==void 0?{pressureForecast:e.pressureForecast}:{},...e.attentionBurden!==void 0?{attentionBurden:e.attentionBurden}:{},...e.surfaceCapabilities!==void 0?{surfaceCapabilities:e.surfaceCapabilities}:{},...e.operatorPresence!==void 0?{operatorPresence:e.operatorPresence}:{}}}function dl(e,t={},n){let s=As(t);if(ck(s))return s.currentFrame===e?s:Qm({...s,currentFrame:e});let i=s.globalSignalSummary??Zc(),o=s.pressureForecast??nk(i,s.attentionView,n),a=s.operatorPresence??"present";return Qm({...s,currentFrame:e,globalSignalSummary:i,pressureForecast:o,attentionBurden:s.attentionBurden??Qv(i,o,s.globalAttentionState,a,n),operatorPresence:a})}function ck(e){return"currentFrame"in e&&"currentTaskView"in e&&"currentEpisode"in e&&"attentionView"in e&&"taskSignalSummary"in e&&"continuitySignalSummary"in e&&"globalSignalSummary"in e&&"taskAttentionState"in e&&"globalAttentionState"in e&&"pressureForecast"in e&&"attentionBurden"in e&&"surfaceCapabilities"in e&&"operatorPresence"in e&&e.currentFrame!==void 0&&e.currentTaskView!==void 0&&e.currentEpisode!==void 0&&e.attentionView!==void 0&&e.taskSignalSummary!==void 0&&e.continuitySignalSummary!==void 0&&e.globalSignalSummary!==void 0&&e.taskAttentionState!==void 0&&e.globalAttentionState!==void 0&&e.pressureForecast!==void 0&&e.attentionBurden!==void 0&&e.surfaceCapabilities!==void 0&&e.operatorPresence!==void 0}function lk(){return{now:null,next:[],ambient:[]}}function uk(){return{now:null,next:[],ambient:[]}}function Zc(){return{recentSignals:0,lifetimeSignals:0,counts:{presented:0,viewed:0,responded:0,dismissed:0,deferred:0,contextExpanded:0,contextSkipped:0,timedOut:0,returned:0,attentionShifted:0},deferred:{next:0,suppressed:0,manual:0},responseRate:0,dismissalRate:0,averageResponseLatencyMs:null,averageDismissalLatencyMs:null,lastSignalAt:null}}function P(e,t=[]){return{rule:e,kind:"noop",rationale:t}}function ye(e,t,n,s,i){return{rule:e,kind:"override",decision:t,currentPriority:n,currentScore:s,rationale:i}}var dk=e=>{let{candidate:t,context:n,evidence:s}=e,i=s.attentionView.now??s.currentFrame;if(!i)return P("deferral_escalation");let o=i===s.currentFrame?n.currentScore:Oe(i,{now:t.timestamp});return o===null||t.blocking||t.priority==="background"||$t(i)||!Jn(s.continuitySignalSummary)||n.candidateScore<o-W.queuePlanner.escalationScoreSlack?P("deferral_escalation"):ye("deferral_escalation",{kind:"activate",candidate:t},le(i),o,["repeated deferral or resurfacing makes this task more deserving of current focus"])};function Jn(e){return e.counts.deferred>=W.queuePlanner.deferredEscalationThreshold||e.counts.returned>=W.queuePlanner.returnedEscalationThreshold}var pl=W.queuePlanner;function pk(e,t,n,s){return n.currentFrame?hk(n.currentFrame,e,t,n,s):fk(e,t,n)}function Ft(e,t,n){return{kind:ml(e,t,n),candidate:e}}function mk(e,t,n,s){return Ug(e,n)?{kind:"queue",candidate:e}:Ft(e,t,s)}function Jc(e,t,n,s){return(n.components.deferralAffinity>0||n.components.consequenceCalibration>0)&&t.minimumLane!=="now"?{kind:"queue",candidate:e}:Ft(e,t,s)}function ml(e,t,n=bs){return Ag(e,t.minimumLane==="ambient"?"ambient":"queue")==="ambient"&&gk(e,n)?"ambient":"queue"}function gk(e,t){if(!t.topology.supportsAmbient)return!1;switch(e.responseSpec.kind){case"approval":return!0;case"choice":return(e.responseSpec.selectionMode==="multiple"?t.responses.supportsMultipleChoice:t.responses.supportsSingleChoice)&&(!e.responseSpec.allowTextResponse||t.responses.supportsTextResponse);case"form":return t.responses.supportsForm;case"none":return!0}return!1}function fk(e,t,n){let s=[];return Dg(e)?n.pressureForecast.overloadRisk==="high"?(s.push("the episode has become actionable, but predicted overload keeps it in next instead of surfacing it now"),B({kind:"queue",candidate:e},s)):t.policyVerdict.mayInterrupt?(s.push("the episode has accumulated enough evidence to deserve interruptive attention"),B({kind:"activate",candidate:e},s)):(s.push("the episode has become actionable, so it stays visible even though policy still prevents interrupting"),B({kind:"queue",candidate:e},s)):Mg(e,t.policyVerdict,n.pressureForecast)?(s.push("predicted overload keeps lower-value work peripheral before the queue spikes"),B(Jc(e,t.policyVerdict,t.utility,n.surfaceCapabilities),s)):!t.policyVerdict.mayInterrupt&&t.policyVerdict.minimumLane==="ambient"?al(e)?(s.push("status routing stays non-blocking, but blocked-like semantics keep it visible in next"),B({kind:"queue",candidate:e},s)):(s.push("policy keeps this interaction ambient until stronger context arrives"),B(Ft(e,t.policyVerdict,n.surfaceCapabilities),s)):(s.push("nothing is in now for this task"),B({kind:"activate",candidate:e},s))}function hk(e,t,n,s,i){let o=[],a=Dg(t),c=$t(e),u=le(e),p=n.currentScore;if(a)return c||s.pressureForecast.overloadRisk==="high"?(o.push(c?"the episode has become actionable, but current blocking work keeps it in next":"the episode has become actionable, but predicted overload keeps it in next"),B({kind:"queue",candidate:t},o,u,p)):p!==null&&n.candidateScore<p-pl.actionableEpisodeScoreSlack?(o.push("actionable episode evidence keeps this work visible even though the current frame is still stronger"),B({kind:"queue",candidate:t},o,u,p)):n.policyVerdict.mayInterrupt?(o.push("the episode has accumulated enough evidence to compete for current focus"),B({kind:"activate",candidate:t},o,u,p)):(o.push("the episode has become actionable, so it stays in next even though policy still prevents interrupting"),B({kind:"queue",candidate:t},o,u,p));if(c&&!t.blocking)return Jn(s.continuitySignalSummary)?(o.push("blocking work keeps resurfacing backlog in next so it stays visible until focus can return"),B({kind:"queue",candidate:t},o,u,p)):(o.push("blocking work keeps non-blocking updates in the periphery"),B(Ft(t,n.policyVerdict,s.surfaceCapabilities),o));if(!c&&t.blocking)return o.push("blocking work interrupts non-blocking activity"),B({kind:"activate",candidate:t},o);if(Mg(t,n.policyVerdict,s.pressureForecast))return o.push("predicted overload keeps lower-value work peripheral before the queue spikes"),B(Jc(t,n.policyVerdict,n.utility,s.surfaceCapabilities),o,u,p);if(yk(t,s.attentionView,t.timestamp,i))return Jn(s.continuitySignalSummary)?(o.push("existing urgent backlog keeps resurfacing work in next so it remains visible"),B({kind:"queue",candidate:t},o,u,p)):(o.push(n.utility.components.deferralAffinity>0?"existing urgent backlog defers this work, but memory keeps it in next because it usually returns after deferral":"existing urgent backlog keeps lower-value status work in next"),B(Jc(t,n.policyVerdict,n.utility,s.surfaceCapabilities),o,u,p));if(p!==null&&n.candidateScore<p)return o.push("current work still outranks the new candidate"),B(Ft(t,n.policyVerdict,s.surfaceCapabilities),o,u,p);if(p!==null&&n.candidateScore===p){let m=cl(t.timestamp,e.timing.updatedAt);if(m!==null&&m<0)return o.push("older work yields when scores tie"),B(Ft(t,n.policyVerdict,s.surfaceCapabilities),o,u,p)}return o.push("new work outranks the current frame"),B({kind:"activate",candidate:t},o,u,p)}function B(e,t,n=null,s=null){return{decision:e,currentPriority:n,currentScore:s,reasons:t}}function yk(e,t,n,s){return s?.deferLowValueDuringPressure===!1||e.blocking||e.consequence==="high"||e.tone==="critical"||!t?!1:Ug(e,t)?!0:[t.now,...t.next].filter(o=>o!==null).filter(o=>o.interactionId===e.interactionId?!1:$t(o)||o.consequence==="high"||o.tone==="critical").filter(o=>{let a=cl(n,o.timing.updatedAt);return a===null?!0:a<=pl.urgentBacklogWindowMs}).length>=2}function Mg(e,t,n){return n.overloadRisk==="low"||e.blocking||t.requiresOperatorResponse||t.minimumLane==="now"||e.consequence==="high"||e.tone==="critical"?!1:n.overloadRisk==="high"?!0:e.mode==="status"||e.priority==="background"||e.consequence==="low"}function Dg(e){return!e.blocking&&e.episodeState==="actionable"&&(e.episodeEvidenceScore??0)>=pl.actionableEpisodeEvidenceThreshold}function Ug(e,t){return e.episodeId!==void 0&&[t?.now,...t?.next??[]].filter(n=>n!==null).some(n=>n.interactionId!==e.interactionId&&Dt(n)===e.episodeId&&!Ke(Ut(n)))}var Sk=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,plannerDefaults:a,routed:c}=e;if(!t||c.decision.kind!=="activate"||a?.batchStatusBursts===!1||t.taskId!==n.taskId||t.mode!=="status"||n.mode!=="status"||n.blocking||n.consequence==="high"||n.tone==="critical")return P("burst_dampening");let u=Date.parse(t.timing.updatedAt),p=Date.parse(n.timestamp);return Number.isNaN(u)||Number.isNaN(p)||p-u>W.queuePlanner.statusBurstWindowMs?P("burst_dampening"):ye("burst_dampening",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`rapid successive updates within ${p-u}ms stay bundled instead of stealing focus`])},Pe={STATUS_ONLY:0,NON_STATUS:1,CRITICAL_CONSEQUENCE:2,BLOCKING_OR_REQUIRED:3},bk=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,routed:a,plannerDefaults:c}=e;if(!t||a.decision.kind!=="activate"||s.currentScore===null)return P("conflicting_interrupt");let u=Ik(t),p=vk(n,s.policyVerdict);if(u===Pe.STATUS_ONLY||p===Pe.STATUS_ONLY||p>u)return P("conflicting_interrupt");if(p<u)return ye("conflicting_interrupt",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,["the current interrupt is more urgent, so the challenger waits instead of stealing focus"]);let m=c?.conflictingInterruptMargin??W.queuePlanner.conflictingInterruptMargin;return m<=0||s.candidateScore>=s.currentScore+m?P("conflicting_interrupt"):ye("conflicting_interrupt",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,["equally interruptive work needs a clear advantage before it can replace the current interrupt"])};function Ik(e){return e.mode!=="status"&&e.responseSpec?.kind!=="none"?Pe.BLOCKING_OR_REQUIRED:e.tone==="critical"||e.consequence==="high"?Pe.CRITICAL_CONSEQUENCE:e.mode!=="status"?Pe.NON_STATUS:Pe.STATUS_ONLY}function vk(e,t){return e.blocking||t.requiresOperatorResponse||t.minimumLane==="now"?Pe.BLOCKING_OR_REQUIRED:e.tone==="critical"||e.consequence==="high"?Pe.CRITICAL_CONSEQUENCE:e.mode!=="status"?Pe.NON_STATUS:Pe.STATUS_ONLY}var kk=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o}=e;if(!t||s.currentScore===null||n.blocking||$t(t)||n.consequence==="high"||n.tone==="critical"||s.candidateScore<=s.currentScore)return P("context_patience");let{contextCost:a}=s.utility.components,c=a<=-6?W.queuePlanner.highContextQueueMargin:a<=-3?W.queuePlanner.mediumContextQueueMargin:null;if(c===null||s.candidateScore>=s.currentScore+c)return P("context_patience");let u=s.candidateScore-s.currentScore;return ye("context_patience",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`memory suggests this interaction usually needs context, so it stays peripheral until it clears the ${c}-point margin (gap: ${u})`])},_k=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,routed:a,plannerDefaults:c}=e;if(!t||a.decision.kind!=="activate"||s.currentScore===null||n.blocking||n.consequence==="high"||n.tone==="critical"||t.consequence==="high"||t.tone==="critical"||Ek(t,n))return P("decision_stream_continuity");let u=c?.streamContinuityMargin??W.queuePlanner.streamContinuityMargin;if(u<=0||s.candidateScore>=s.currentScore+u)return P("decision_stream_continuity");let p=s.candidateScore-s.currentScore;return ye("decision_stream_continuity",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`the current decision stream stays active until cross-stream work clears the ${u}-point margin (gap: ${p})`])};function Ek(e,t){let n=ys(e.source),s=ys(t.source);if(n&&s&&n!==s)return!1;if(n&&s&&n===s)return!0;let i=Gc(e),o=Gc(t);return i&&o&&i!==o?!1:!!(i&&o&&i===o||e.taskId===t.taskId)}var Ak=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,routed:a,plannerDefaults:c}=e;if(!t||a.decision.kind!=="activate"||n.blocking||n.consequence==="high"||n.tone==="critical")return P("minimum_dwell");let u=c?.minimumDwellMs??W.queuePlanner.minimumDwellMs;if(u<=0)return P("minimum_dwell");let p=Date.parse(t.timing.updatedAt),m=Date.parse(n.timestamp);if(Number.isNaN(p)||Number.isNaN(m)||m-p>=u)return P("minimum_dwell");let f=u-(m-p);return ye("minimum_dwell",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`recently surfaced work keeps focus for another ${f}ms to avoid a premature switch`])},wk=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o}=e;if(!t||!n.episodeId)return P("same_episode");let a=Dt(t);return!a||a!==n.episodeId||Ke(Ut(t))?P("same_episode"):n.blocking&&!$t(t)?ye("same_episode",{kind:"activate",candidate:n},le(t),s.currentScore,["the current episode has progressed into an interruptive step that belongs in now"]):n.blocking&&Tg(n.relationHints,"supersedes")&&_g(n)!=="weak"?ye("same_episode",{kind:"activate",candidate:n},le(t),s.currentScore,["the current episode has advanced to a superseding step that belongs in now"]):Jn(i.continuitySignalSummary)?P("same_episode"):ye("same_episode",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,["related work stays bundled with the current episode already in now"])},xk=e=>{let t=e.evidence.currentFrame;return!t||t.interactionId!==e.candidate.interactionId?P("same_interaction"):ye("same_interaction",{kind:"activate",candidate:e.candidate},null,null,["same interaction refreshes the existing frame"])},Tk=e=>{let{candidate:t,context:n,evidence:s,helpers:i}=e;if(!t.episodeId||t.blocking||t.consequence==="high"||t.tone==="critical")return P("visible_episode");let o=[s.attentionView.now,...s.attentionView.next,...s.attentionView.ambient].filter(a=>a!==null).filter(a=>a.interactionId!==t.interactionId&&Dt(a)===t.episodeId&&!Ke(Ut(a)));return o.length===0||!(t.episodeState==="batched"||(t.episodeSize??1)>=2||o.length>=2)||Jn(s.continuitySignalSummary)?P("visible_episode"):ye("visible_episode",i.batchedDecision(t,n.policyVerdict,s.attentionView,s.surfaceCapabilities),null,s.currentFrame?n.currentScore:null,[s.currentFrame?"related episode work is already building in the queue, so this interaction stays bundled with it":"related episode work is already visible, so this interaction batches with it instead of interrupting"])},Rk=[Tk,wk,Ak,Sk,xk,dk,bk,_k,kk],Fg=class{plannerDefaults;constructor(e={}){this.plannerDefaults=e.plannerDefaults}explain(e,t,n){let s=this.resolveEvidenceContext(e,n,t.timestamp),i=pk(t,n,s,this.plannerDefaults);return this.applyContinuity(t,n,s,i)}clear(){return{kind:"clear"}}preferredPeripheralBucket(e,t,n){return ml(e,t,n)}applyContinuity(e,t,n,s){let i=new Set(this.plannerDefaults?.disabledContinuityRules??[]),o=Rk.map(c=>{let u=c({candidate:e,context:t,evidence:n,routed:s,plannerDefaults:this.plannerDefaults,helpers:{peripheralDecision:Ft,batchedDecision:mk}});return i.has(u.rule)?P(u.rule,[`operator disabled the ${u.rule} continuity rule`]):u}),a=o.find(c=>c.kind==="override");return a?{decision:a.decision,currentPriority:a.currentPriority,currentScore:a.currentScore,reasons:[...s.reasons,...a.rationale],continuityEvaluations:o}:{...s,continuityEvaluations:o}}resolveEvidenceContext(e,t,n){return dl(e,As(t),Zn(n)??0)}},Ck=class{runtime;constructor(e){this.runtime=e}assemble(e,t){let n=this.runtime.signals.summarize(e),s=this.runtime.signals.summarize(),i=Nt(n),o=Nt(s),a=this.runtime.getTaskView(e),c=this.runtime.getAttentionView(),u=this.runtime.getOperatorPresence();return dl(t,As({currentFrame:t,currentTaskView:a,currentEpisode:this.runtime.episodes.readFrameEpisode(t),attentionView:c,taskSignalSummary:n,continuitySignalSummary:n,globalSignalSummary:s,taskAttentionState:i,globalAttentionState:o,surfaceCapabilities:this.runtime.getSurfaceCapabilities(),operatorPresence:u}),this.runtime.clock.nowMs())}augmentContinuitySignalSummary(e,t,n){let s=this.resolveContinuitySignalSummary(e,t,n.taskSignalSummary);return s===n.taskSignalSummary?n:{...n,continuitySignalSummary:s}}resolveContinuitySignalSummary(e,t,n){if(!t.episodeId)return n;let s=this.runtime.signals.list(e),i=this.runtime.signals.list().filter(o=>o.taskId!==e&&Pk(o)===t.episodeId);return i.length===0?n:Pg([...s,...i].sort((o,a)=>o.timestamp.localeCompare(a.timestamp)))}};function Pk(e){let t=e.metadata?.episode;if(!t||typeof t!="object"||Array.isArray(t))return null;let n=t.id;return typeof n=="string"&&n.length>0?n:null}var jg=class extends Error{code;constructor(e,t){super(t),this.name=new.target.name,this.code=e}},he=class extends jg{field;constructor(e,t={}){super(t.code??"validation_error",e),this.field=t.field}},Ok=class extends jg{taskId;interactionId;expiredAt;constructor(e){super("response_expired",`response for interaction ${e.interactionId} expired at ${e.expiredAt} and must be revalidated before submission`),this.taskId=e.taskId,this.interactionId=e.interactionId,this.expiredAt=e.expiredAt}};function Nk(e,t,n){let s=Fk(e,n),i={taskId:e.taskId,interactionId:e.interactionId,timestamp:n,frameId:e.id,...e.source!==void 0?{source:e.source}:{},metadata:Qn(e)};return t.response.kind==="dismissed"?{kind:"dismissed",...i,...s!==void 0?{latencyMs:s}:{}}:{kind:"responded",...i,responseKind:t.response.kind,...s!==void 0?{latencyMs:s}:{}}}function Lk(e,t,n){return{kind:"responded",taskId:e.taskId,interactionId:e.interactionId,timestamp:n,...e.source!==void 0?{source:e.source}:{},responseKind:t.response.kind==="dismissed"?"acknowledged":t.response.kind,metadata:{...Yv(e),autoResolved:!0}}}function $c(e,t,n=e){return{kind:"deferred",taskId:n.taskId,interactionId:n.interactionId,timestamp:e.timing.updatedAt,frameId:e.id,...n.source!==void 0?{source:n.source}:{},reason:t,metadata:Qn(e)}}function Mk(e,t,n){let s=e.now,i=t.now;return i?[...Dk(s,i,n),...Uk(e,i,n)]:[]}function ds(e,t,n,s,i,o={}){return{kind:e,taskId:t,interactionId:n,timestamp:s,...i?.id!==void 0?{frameId:i.id}:{},...i?.source!==void 0?{source:i.source}:{},...i?{metadata:Qn(i)}:{},...o.surface!==void 0?{surface:o.surface}:{},...e==="context_expanded"&&o.section!==void 0?{section:o.section}:{},...e==="context_skipped"&&o.section!==void 0?{section:o.section}:{},...e==="timed_out"&&o.timeoutMs!==void 0?{timeoutMs:o.timeoutMs}:{}}}function Dk(e,t,n){if(!e||Xc(e,t))return[];let s={kind:"attention_shifted",taskId:t.taskId,interactionId:t.interactionId,timestamp:n,frameId:t.id,...t.source!==void 0?{source:t.source}:{},fromInteractionId:e.interactionId,toInteractionId:t.interactionId};return e.taskId===t.taskId?[s]:[s,{kind:"attention_shifted",taskId:e.taskId,interactionId:e.interactionId,timestamp:n,frameId:e.id,...e.source!==void 0?{source:e.source}:{},fromInteractionId:e.interactionId,toInteractionId:t.interactionId}]}function Uk(e,t,n){let s=e.next.some(i=>Xc(i,t))?"next":e.ambient.some(i=>Xc(i,t))?"ambient":null;return s?[{kind:"returned",taskId:t.taskId,interactionId:t.interactionId,timestamp:n,frameId:t.id,...t.source!==void 0?{source:t.source}:{},from:s,metadata:Qn(t)}]:[]}function Fk(e,t){let n=Date.parse(e.timing.updatedAt),s=Date.parse(t);if(!(Number.isNaN(n)||Number.isNaN(s)))return Math.max(0,s-n)}function Xc(e,t){return e.id===t.id||e.taskId===t.taskId&&e.interactionId===t.interactionId}var jk=class{runtime;constructor(e){this.runtime=e}commitFrame(e,t=[]){let n=this.runtime.getAttentionView(),s=new Set;for(let a of t){let c=`${a.taskId}::${a.interactionId}`;if(s.has(c))continue;s.add(c);let u=this.runtime.taskViews.discard(a.taskId,a.interactionId);a.taskId!==e.taskId&&(this.runtime.notifyFrame(a.taskId,u.now),this.runtime.notifyTaskView(a.taskId,u))}let i=this.runtime.taskViews.setNow(e.taskId,e),o=this.runtime.getAttentionView();return this.recordAttentionTransition(n,o,e.timing.updatedAt),this.runtime.recordSignal({kind:"presented",taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timing.updatedAt,frameId:e.id,...e.source!==void 0?{source:e.source}:{},metadata:Qn(e)}),this.runtime.notifyFrame(e.taskId,e),this.runtime.notifyTaskView(e.taskId,i),this.runtime.notifyAttentionView(),e}applyClear(e){let t=this.runtime.getAttentionView(),n=this.runtime.taskViews.get(e);if(!(n.now!==null||n.next.length>0||n.ambient.length>0))return null;for(let a of[n.now,...n.next,...n.ambient])a&&this.runtime.episodes.resolveInteraction(a.interactionId);this.runtime.clearOperatorEngagement(e);let i=this.runtime.taskViews.clear(e),o=this.runtime.getAttentionView();return this.recordAttentionTransition(t,o,this.runtime.clock.nowIso()),this.runtime.notifyFrame(e,null),this.runtime.notifyTaskView(e,i),this.runtime.notifyAttentionView(),null}queueFrame(e,t){let n=this.runtime.taskViews.addNext(e,t);return this.runtime.recordSignal($c(t,"next")),this.runtime.notifyTaskView(e,n),this.runtime.notifyAttentionView(),n.now??t}addAmbientFrame(e,t){let n=this.runtime.taskViews.addAmbient(e,t);return this.runtime.recordSignal($c(t,"suppressed")),this.runtime.notifyTaskView(e,n),this.runtime.notifyAttentionView(),n.now??t}materializePeripheralFrame(e,t,n){let s=e.episodeId?this.findPeripheralEpisodeFrame(e.episodeId,n):null;if(!s){let p=this.applyResponseExpiry(this.runtime.planner.plan(e,null));return t==="queue"?this.queueFrame(e.taskId,p):this.addAmbientFrame(e.taskId,p)}let i=s.bucket==="queue"||t==="queue"?"queue":"ambient",a={...this.applyResponseExpiry(this.runtime.planner.plan(e,s.frame)),id:s.frame.id},c=this.runtime.taskViews.discard(s.frame.taskId,s.frame.interactionId);this.runtime.notifyTaskView(s.frame.taskId,c);let u=i==="queue"?this.runtime.taskViews.addNext(a.taskId,a):this.runtime.taskViews.addAmbient(a.taskId,a);return this.runtime.recordSignal($c(a,i==="queue"?"next":"suppressed",e)),this.runtime.notifyTaskView(a.taskId,u),this.runtime.notifyAttentionView(),a}promotePeripheralEpisodeFrame(e,t){let s={...this.applyResponseExpiry(this.runtime.planner.plan(e,t)),id:t.id};return this.commitFrame(s,[t])}submit(e){let t=this.findFrame(e.taskId,e.interactionId);if(!t)return;let n=this.readExpiredResponseTimestamp(t,this.runtime.clock.nowIso());if(n)throw new Ok({taskId:e.taskId,interactionId:e.interactionId,expiredAt:n});let s=this.runtime.getAttentionView(),i=this.runtime.clock.nowIso();this.runtime.clearOperatorEngagement(e.taskId,e.interactionId),this.runtime.recordSignal(Nk(t,e,i)),this.runtime.episodes.resolveInteraction(e.interactionId);let o=this.runtime.taskViews.resolve(e.taskId,e.interactionId),a=this.runtime.getAttentionView();this.recordAttentionTransition(s,a,i),this.runtime.notifyFrame(e.taskId,o.now??null),this.runtime.notifyTaskView(e.taskId,o),this.runtime.notifyAttentionView(),this.runtime.emitResponse(e)}applyAutoResponse(e,t){let n=this.runtime.clock.nowIso();return this.runtime.recordSignal(Lk(e,t,n)),this.runtime.episodes.resolveInteraction(e.interactionId),this.runtime.emitResponse(t),null}findFrameByInteractionId(e,t){return this.findFrame(e,t)}shouldRetireSupersededEpisodeFrames(e,t){return this.findSupersededEpisodeFrames(e,t).length>0}findSupersededEpisodeFrames(e,t){return!e.episodeId||!Tg(e.relationHints,"supersedes")?[]:[t.now,...t.next,...t.ambient].filter(n=>n!==null&&n.interactionId!==e.interactionId&&Dt(n)===e.episodeId&&!Ke(Ut(n)))}applyResponseExpiry(e){if(this.runtime.responseExpiryMs===void 0||e.responseSpec?.kind==="none")return e;let t=this.runtime.clock.add(e.timing.updatedAt,this.runtime.responseExpiryMs);return t===null?e:{...e,timing:{...e.timing,expiresAt:t}}}readExpiredResponseTimestamp(e,t){let n=e.timing.expiresAt;if(!n)return null;let s=this.runtime.clock.parse(n),i=this.runtime.clock.parse(t);return s===null||i===null||i<=s?null:n}findPeripheralEpisodeFrame(e,t){let n=t.next.find(i=>Dt(i)===e&&!Ke(Ut(i)));if(n)return{frame:n,bucket:"queue"};let s=t.ambient.find(i=>Dt(i)===e&&!Ke(Ut(i)));return s?{frame:s,bucket:"ambient"}:null}shouldPromotePeripheralEpisodeFrame(e){return e.continuityEvaluations?.some(t=>t.rule==="deferral_escalation"&&t.kind==="override"&&t.decision?.kind==="activate")??!1}findFrame(e,t){let n=this.runtime.taskViews.get(e);if(n.now?.interactionId===t)return n.now;let s=n.next.find(i=>i.interactionId===t);return s||(n.ambient.find(i=>i.interactionId===t)??null)}recordAttentionTransition(e,t,n){for(let s of Mk(e,t,n))this.runtime.recordSignal(s)}},qk=12,$k=class{taskViews=new Map;get(e){return this.taskViews.get(e)??{now:null,next:[],ambient:[]}}setNow(e,t){let n=this.get(e),s=n.next.filter(a=>a.interactionId!==t.interactionId),i=n.now&&n.now.interactionId!==t.interactionId?n.now:null,o={now:t,next:i?[i,...s]:s,ambient:n.ambient.filter(a=>a.interactionId!==t.interactionId)};return this.persist(e,o)}addNext(e,t){return this.upsert(e,"next",t)}addAmbient(e,t){return this.upsert(e,"ambient",t)}clear(e){let t={now:null,next:[],ambient:[]};return this.taskViews.delete(e),t}discard(e,t){let n=this.get(e),s={now:n.now?.interactionId===t?null:n.now,next:n.next.filter(i=>i.interactionId!==t),ambient:n.ambient.filter(i=>i.interactionId!==t)};return this.persist(e,s)}resolve(e,t){let n=this.get(e),s=n.next.filter(c=>c.interactionId!==t),i=n.ambient.filter(c=>c.interactionId!==t),o=n.now;o?.interactionId===t&&(o=s.shift()??null);let a={now:o,next:s,ambient:i};return this.persist(e,a)}upsert(e,t,n){let s=this.get(e),i=s.next.filter(p=>p.interactionId!==n.interactionId),o=s.ambient.filter(p=>p.interactionId!==n.interactionId),u={now:s.now?.interactionId===n.interactionId?i.shift()??null:s.now,next:t==="next"?[n,...i]:i,ambient:t==="ambient"?[n,...o].slice(0,qk):o};return this.persist(e,u)}values(){return this.taskViews.values()}stats(){let e=0,t=0,n=0;for(let s of this.taskViews.values())s.now&&(e+=1),t+=s.next.length,n+=s.ambient.length;return{taskCount:this.taskViews.size,nowCount:e,nextCount:t,ambientCount:n,totalFrames:e+t+n}}persist(e,t){return Bk(t)?this.taskViews.delete(e):this.taskViews.set(e,t),t}};function Bk(e){return e.now===null&&e.next.length===0&&e.ambient.length===0}var Qc=Symbol("aperture.internal.subscribeTrace");function gl(e,t){let n=[];return ms("",e,t,n),n}function ms(e,t,n,s){if(!Object.is(t,n)){if(t==null&&ps(n)){for(let i of Object.keys(n).sort()){let o=e.length>0?`${e}.${i}`:i;ms(o,void 0,n[i],s)}return}if(n==null&&ps(t)){for(let i of Object.keys(t).sort()){let o=e.length>0?`${e}.${i}`:i;ms(o,t[i],void 0,s)}return}if(t===void 0||n===void 0){s.push({path:e,before:t,after:n});return}if(Array.isArray(t)||Array.isArray(n)){s.push({path:e,before:t,after:n});return}if(ps(t)&&ps(n)){let i=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of[...i].sort()){let a=e.length>0?`${e}.${o}`:o;ms(a,t[o],n[o],s)}return}s.push({path:e,before:t,after:n})}}function ps(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var Hk=class{recordNoop(e){return{...e,evaluation:{kind:"noop"}}}recordClear(e,t){return{...e,evaluation:{kind:"clear",taskId:t}}}recordCandidate(e,t){let{original:n,adjusted:s,explanation:i,result:o}=t,a=Wk(e.event,s);return{...e,evaluation:{kind:"candidate",original:n,adjusted:s},candidateTransition:Vk(n,s),frameTransition:Kk(e.current,o),heuristics:{scoreOffset:s.attentionScoreOffset??0,rationale:s.attentionRationale??[]},...a!==void 0?{semantic:a}:{},episode:zk(s),policy:i.policy,policyRules:{gateEvaluations:i.policyGateEvaluations,criterion:i.criterion,criterionEvaluations:i.policyCriterionEvaluations},utility:{candidate:i.utility,currentScore:i.currentScore,currentPriority:i.currentPriority},planner:{kind:i.decision.kind,reasons:i.reasons,continuityEvaluations:i.continuityEvaluations},coordination:{kind:i.decision.kind,resultLane:Jk(e.attentionView,s.taskId,s.interactionId,i.decision.kind),candidateScore:i.candidateScore,currentScore:i.currentScore,currentPriority:i.currentPriority,criterion:i.criterion,ambiguity:i.ambiguity,reasons:i.reasons,continuityEvaluations:i.continuityEvaluations},pressureForecast:i.pressureForecast,attentionBurden:i.attentionBurden,result:o}}};function Vk(e,t){return{changedFields:gl(e,t)}}function Kk(e,t){return{changedFields:gl(e,t)}}function zk(e){return e.episodeId?{id:e.episodeId,key:e.episodeKey??e.episodeId,state:e.episodeState??"emerging",size:e.episodeSize??1,evidenceScore:e.episodeEvidenceScore??0,evidenceReasons:e.episodeEvidenceReasons??[],lastInteractionId:e.interactionId,updatedAt:e.timestamp}:null}function Wk(e,t){let n=e.semantic;if(!n)return;let s=Eg(t)??ol(e,n),i=Bt(t);return{intentFrame:n.intentFrame,...n.activityClass!==void 0?{activityClass:n.activityClass}:{},...n.toolFamily!==void 0?{toolFamily:n.toolFamily}:{},...n.consequence!==void 0?{consequence:n.consequence}:{},...i?.confidence!==void 0?{confidence:i.confidence}:{},...i?.abstained===!0?{abstained:!0}:{},ontology:s,...n.whyNow!==void 0?{whyNow:n.whyNow}:{},relationHints:n.relationHints,factors:n.factors,reasons:n.reasons,influence:Gk(e,t),impact:Yk(e,t),...n.provenance!==void 0?{provenance:n.provenance}:{}}}function Gk(e,t){let n=e.semantic;if(!n)return[];let s=Eg(t)??ol(e,n),i=[];return e.type==="task.updated"?(i.push("task status stayed authoritative for candidate routing; semantic details still affected context, continuity, ambiguity handling, and ontology diagnostics"),"activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&i.push("activity class enriched canonical status facts"),e.toolFamily===n.toolFamily&&n.toolFamily!==void 0&&i.push("tool family enriched canonical status facts without changing the route"),n.relationHints.length>0&&i.push("relation hints informed continuity handling"),s.blocking!=="non_blocking"&&!t.blocking&&i.push(s.blocking==="blocking"?"semantic blocking marked the waiting status as blocked-like for peripheral routing while status handling stayed non-blocking":"semantic waiting stayed diagnostic because status updates still route as non-blocking candidates"),hs(t)?i.push("semantic abstention can keep non-blocking status work peripheral until clearer evidence arrives"):fs(t)==="low"&&i.push("low semantic confidence can keep non-blocking status work peripheral until the signal is clearer"),i):e.type==="human.input.requested"?("activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&i.push("activity class was projected into the canonical request"),e.consequence===n.consequence&&n.consequence!==void 0&&i.push("semantic consequence set the canonical human-input consequence"),n.toolFamily!==void 0&&(e.request.kind==="approval"?i.push("tool family remained decision-bearing on the approval path"):i.push("tool family stayed context-only on the question/form path")),n.relationHints.length>0&&i.push("relation hints informed continuity handling"),hs(t)?i.push(t.blocking?"semantic abstention stayed visible but did not downgrade blocking work":"semantic abstention constrained non-blocking routing"):fs(t)==="low"&&i.push(t.blocking?"semantic low confidence stayed visible but did not downgrade blocking work":"low semantic confidence constrained non-blocking routing"),i.length===0&&i.push("semantic interpretation mostly stayed context-only beyond the explicit request"),i):(i.push("semantic interpretation was recorded for explanation only"),i)}function Yk(e,t){let n=e.semantic,s=new Set,i=new Set,o=new Set,a=new Set,c=new Set,u=Bt(t),p=Zk(e);if(!n)return{routingAuthority:p,decisionBearing:[],explanatory:[],canonical:[],routing:[],continuity:[],ambiguity:[],contextOnly:[]};switch(c.add("intent"),n.activityClass!==void 0&&c.add("activity"),n.toolFamily!==void 0&&c.add("tool"),n.consequence!==void 0&&c.add("consequence"),n.whyNow!==void 0&&c.add("why now"),n.relationHints.length>0&&c.add("relations"),u?.confidence!==void 0&&c.add("confidence"),u?.abstained===!0&&c.add("abstention"),e.type){case"task.updated":"activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&ve(c,s,"activity","activity (canonical)"),n.toolFamily!==void 0&&e.toolFamily===n.toolFamily&&ve(c,s,"tool","tool (bounded)"),n.relationHints.length>0&&ve(c,o,"relations","relations (continuity)"),al(t)&&ve(c,i,"intent","blocking (peripheral routing)");break;case"human.input.requested":"activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&ve(c,s,"activity","activity (canonical)"),n.consequence!==void 0&&e.consequence===n.consequence&&ve(c,s,"consequence","consequence (canonical)"),n.toolFamily!==void 0&&e.request.kind==="approval"&&ve(c,s,"tool","tool (approval path)"),n.relationHints.length>0&&ve(c,o,"relations","relations (continuity)");break;default:n.relationHints.length>0&&ve(c,o,"relations","relations (continuity)");break}return!t.blocking&&kv(t)&&ve(c,a,"confidence","confidence (ambiguity)"),!t.blocking&&hs(t)&&ve(c,a,"abstention","abstention (ambiguity)"),{routingAuthority:p,decisionBearing:[...s,...i,...o,...a],explanatory:[...c],canonical:[...s],routing:[...i],continuity:[...o],ambiguity:[...a],contextOnly:[...c]}}function Zk(e){switch(e.type){case"task.updated":return"status";case"human.input.requested":return"request";default:return"event"}}function ve(e,t,n,s){e.delete(n),t.add(s)}function Jk(e,t,n,s){return s==="auto_approve"||s==="clear"?"none":e.now&&e.now.taskId===t&&e.now.interactionId===n?"now":e.next.some(i=>i.taskId===t&&i.interactionId===n)?"next":e.ambient.some(i=>i.taskId===t&&i.interactionId===n)?"ambient":"none"}function Xk(e,t,n){return{kind:e,original:t,finalized:n,changedFields:gl(t,n)}}var Qk=class{constructor(e){this.timeSource=e}engagement=null;timer=null;engage(e,t,n={},s){let i=e_(n.durationMs);this.engagement={taskId:e,interactionId:t,expiresAtMs:this.timeSource()+i},this.scheduleExpiry(i,e,t,s)}readFocusedInteractionId(e){let t=this.engagement;return t?t.expiresAtMs<=this.timeSource()?(this.clear(),null):e(t.taskId,t.interactionId)?t.interactionId:(this.clear(),null):null}clear(e,t){let n=this.engagement;n&&(e!==void 0&&n.taskId!==e||t!==void 0&&n.interactionId!==t||(this.engagement=null,this.clearTimer()))}dispose(){this.engagement=null,this.clearTimer()}scheduleExpiry(e,t,n,s){this.clearTimer(),this.timer=setTimeout(()=>{if(!(this.engagement?.taskId!==t||this.engagement?.interactionId!==n)){if(s){s();return}this.clear()}},e),this.timer.unref?.()}clearTimer(){this.timer&&(clearTimeout(this.timer),this.timer=null)}};function eg(e,t){return e.now?.interactionId===t.now?.interactionId&&tg(e.next,t.next)&&tg(e.ambient,t.ambient)}function e_(e){return e===void 0?12e3:Math.max(25,Math.floor(e))}function tg(e,t){return e.length===t.length&&e.every((n,s)=>n.interactionId===t[s]?.interactionId)}function t_(e){return e.evaluation.kind==="candidate"}function n_(e){return t_(e)}function r_(e){if(e.evaluation.kind==="noop")return{timestamp:e.timestamp,event:e.event,eventTransition:e.eventTransition,evaluation:{kind:"noop"}};if(e.evaluation.kind==="clear")return{timestamp:e.timestamp,event:e.event,eventTransition:e.eventTransition,evaluation:{kind:"clear",taskId:e.evaluation.taskId}};if(!n_(e))throw new Error("Unexpected internal trace variant");return{timestamp:e.timestamp,event:e.event,eventTransition:e.eventTransition,evaluation:{kind:"candidate"},candidateTransition:e.candidateTransition,frameTransition:e.frameTransition,...e.semantic!==void 0?{semantic:e.semantic}:{},policyRules:{gateEvaluations:e.policyRules.gateEvaluations.map(t=>({rule:t.rule,kind:t.kind,rationale:[...t.rationale]})),criterion:e.policyRules.criterion?{criterion:{activationThreshold:e.policyRules.criterion.criterion.activationThreshold,promotionMargin:e.policyRules.criterion.criterion.promotionMargin},peripheralResolution:e.policyRules.criterion.peripheralResolution,ambiguity:e.policyRules.criterion.ambiguity?{kind:e.policyRules.criterion.ambiguity.kind,reason:e.policyRules.criterion.ambiguity.reason,resolution:e.policyRules.criterion.ambiguity.resolution}:null,rationale:[...e.policyRules.criterion.rationale]}:null,criterionEvaluations:e.policyRules.criterionEvaluations.map(t=>({rule:t.rule,kind:t.kind,rationale:[...t.rationale]}))},coordination:{kind:e.coordination.kind,resultLane:e.coordination.resultLane,candidateScore:e.coordination.candidateScore,currentScore:e.coordination.currentScore,currentPriority:e.coordination.currentPriority,ambiguity:e.coordination.ambiguity?{kind:e.coordination.ambiguity.kind,reason:e.coordination.ambiguity.reason,resolution:e.coordination.ambiguity.resolution}:null,reasons:[...e.coordination.reasons],continuityEvaluations:e.coordination.continuityEvaluations.map(t=>({rule:t.rule,kind:t.kind,rationale:[...t.rationale]}))}}}var s_=3,i_=25,o_=class{frameListeners=new Map;taskViewListeners=new Map;attentionViewListeners=new Set;responseListeners=new Set;signalListeners=new Set;traceListeners=new Set;internalTraceListeners=new Set;frameHealth=Pt();taskViewHealth=Pt();attentionViewHealth=Pt();responseHealth=Pt();signalHealth=Pt();traceHealth=Pt();internalTraceHealth=Pt();subscribeFrame(e,t,n){let s=this.frameListeners.get(e)??new Set,i=Ct(t);s.add(i),this.frameListeners.set(e,s);let o=()=>{s.delete(i),s.size===0&&this.frameListeners.delete(e)};try{t(n)}catch(a){throw o(),a}return o}subscribeTaskView(e,t,n){let s=this.taskViewListeners.get(e)??new Set,i=Ct(t);s.add(i),this.taskViewListeners.set(e,s);let o=()=>{s.delete(i),s.size===0&&this.taskViewListeners.delete(e)};try{t(n)}catch(a){throw o(),a}return o}subscribeAttentionView(e,t){let n=Ct(e);this.attentionViewListeners.add(n);try{e(t)}catch(s){throw this.attentionViewListeners.delete(n),s}return()=>{this.attentionViewListeners.delete(n)}}onResponse(e){let t=Ct(e);return this.responseListeners.add(t),()=>{this.responseListeners.delete(t)}}onSignal(e){let t=Ct(e);return this.signalListeners.add(t),()=>{this.signalListeners.delete(t)}}onTrace(e){let t=Ct(e);return this.traceListeners.add(t),()=>{this.traceListeners.delete(t)}}[Qc](e){let t=Ct(e);return this.internalTraceListeners.add(t),()=>{this.internalTraceListeners.delete(t)}}emitFrame(e,t){let n=this.frameListeners.get(e);n&&(this.emitRegistrations(n,this.frameHealth,s=>s(t)),n.size===0&&this.frameListeners.delete(e))}emitTaskView(e,t){let n=this.taskViewListeners.get(e);n&&(this.emitRegistrations(n,this.taskViewHealth,s=>s(t)),n.size===0&&this.taskViewListeners.delete(e))}emitAttentionView(e){this.emitRegistrations(this.attentionViewListeners,this.attentionViewHealth,t=>t(e))}emitResponse(e){this.emitRegistrations(this.responseListeners,this.responseHealth,t=>t(e))}emitSignal(e){this.emitRegistrations(this.signalListeners,this.signalHealth,t=>t(e))}emitTrace(e){this.emitRegistrations(this.internalTraceListeners,this.internalTraceHealth,n=>n(e));let t=r_(e);this.emitRegistrations(this.traceListeners,this.traceHealth,n=>n(t))}getHealthSnapshot(){let e=Ot(this.frameHealth,ng(this.frameListeners)),t=Ot(this.taskViewHealth,ng(this.taskViewListeners)),n=Ot(this.attentionViewHealth,this.attentionViewListeners.size),s=Ot(this.responseHealth,this.responseListeners.size),i=Ot(this.signalHealth,this.signalListeners.size),o=Ot(this.traceHealth,this.traceListeners.size),a=Ot(this.internalTraceHealth,this.internalTraceListeners.size);return{totalActive:e.active+t.active+n.active+s.active+i.active+o.active+a.active,frame:e,taskView:t,attentionView:n,response:s,signal:i,trace:o,internalTrace:a}}emitRegistrations(e,t,n){for(let s of[...e]){let i=Hm.now();try{n(s.listener),s.consecutiveFailures=0}catch(o){s.consecutiveFailures+=1,t.failures+=1,t.lastErrorAt=new Date().toISOString(),t.lastErrorMessage=o instanceof Error?o.message:String(o),s.consecutiveFailures>=s_&&(e.delete(s),t.detached+=1)}finally{let o=Hm.now()-i;t.emissions+=1,o>t.maxDeliveryMs&&(t.maxDeliveryMs=o),o>=i_&&(t.slowDeliveries+=1)}}}};function Ct(e){return{listener:e,consecutiveFailures:0}}function Pt(){return{emissions:0,failures:0,detached:0,slowDeliveries:0,maxDeliveryMs:0,lastErrorAt:null,lastErrorMessage:null}}function Ot(e,t){return{active:t,emissions:e.emissions,failures:e.failures,detached:e.detached,slowDeliveries:e.slowDeliveries,maxDeliveryMs:Number(e.maxDeliveryMs.toFixed(2)),lastErrorAt:e.lastErrorAt,lastErrorMessage:e.lastErrorMessage}}function ng(e){let t=0;for(let n of e.values())t+=n.size;return t}function a_(e){let t=yg(e),n=e.type==="human.input.requested"&&e.riskHint!==void 0?{riskHint:e.riskHint}:void 0;return qg(u_(e),t,n)}function rg(e,t={}){if(t.skipSemanticDefaults)return e;let n=e.semantic??yg(d_(e));return qg(e,n)}function c_(e){switch(e){case"high":return"critical";case"medium":case"low":return"focused";default:return m_(e)}}function qg(e,t,n={}){switch(e.type){case"task.started":return{...e,semantic:t};case"task.updated":return{...e,...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t};case"task.completed":case"task.cancelled":return{...e,semantic:t};case"human.input.requested":return l_(e,t,n);default:return $g(e)}}function l_(e,t,n){let{toolFamily:s,...i}=e,o=e.consequence??t.consequence??n.riskHint??"medium",a=e.tone??c_(o),c=ll({base:e.provenance,semantic:t}),u=e.request.kind==="approval"?e.toolFamily??t.toolFamily:void 0;return{...i,...u!==void 0?{toolFamily:u}:{},...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t,tone:a,consequence:o,...c!==void 0?{provenance:c}:{}}}function u_(e){switch(e.type){case"task.started":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{}};case"task.updated":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{},status:e.status,...e.progress!==void 0?{progress:e.progress}:{},...e.context!==void 0?{context:e.context}:{}};case"task.completed":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.summary!==void 0?{summary:e.summary}:{}};case"task.cancelled":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.reason!==void 0?{reason:e.reason}:{}};case"human.input.requested":return{id:e.id,type:e.type,taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,summary:e.summary,request:e.request,...e.context!==void 0?{context:e.context}:{},...e.provenance!==void 0?{provenance:e.provenance}:{}};default:return p_(e)}}function d_(e){switch(e.type){case"task.started":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{}};case"task.updated":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{},status:e.status,...e.progress!==void 0?{progress:e.progress}:{},...e.context!==void 0?{context:e.context}:{}};case"task.completed":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.summary!==void 0?{summary:e.summary}:{}};case"task.cancelled":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.reason!==void 0?{reason:e.reason}:{}};case"human.input.requested":return{id:e.id,type:e.type,taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,summary:e.summary,request:e.request,...e.context!==void 0?{context:e.context}:{},...e.consequence!==void 0?{riskHint:e.consequence}:{}};default:return $g(e)}}function $g(e){throw new Error(`Unhandled ApertureEvent in semantic normalizer: ${JSON.stringify(e)}`)}function p_(e){throw new Error(`Unhandled SourceEvent in semantic normalizer: ${JSON.stringify(e)}`)}function m_(e){throw new Error(`Unhandled consequence level in semantic normalizer: ${e}`)}function g_(e){return{originalEvent:e,finalizedEvent:a_(e),transitionKind:"source_normalized"}}function f_(e,t={}){let n=t.applySemanticDefaults!==!1;return{originalEvent:e,finalizedEvent:n?rg(e):rg(e,{skipSemanticDefaults:!0}),transitionKind:n?"direct_enriched":"direct_passthrough"}}async function el(e,t,n){try{let s=await Kb(e,"utf8"),i=n(s);return i===null?(sg(e,"Failed to parse markdown state. Falling back to the in-memory default."),t):i}catch(s){return S_(s)||sg(e,"Failed to read markdown state. Falling back to the in-memory default.",s),t}}async function h_(e,t){await zb(Hb(e),{recursive:!0});let n=`${e}.${process.pid}.${Vb(6).toString("hex")}.tmp`,s=await Wb(n,"w",384),i=!1;try{await s.writeFile(t,"utf8"),await s.sync(),await s.close(),i=!0,await Gb(n,e)}catch(o){throw i||await s.close().catch(()=>{}),await Yb(n).catch(()=>{}),o}}function fl(e){let t=/^(#{1,3})\s+(.+?)\s*$/.exec(e.trim());if(!t)return null;let n=t[1];if(n===void 0)return null;let s=n.length;if(s<1||s>3)return null;let i=t[2]?.trim();return i?{level:s,text:i}:null}function hl(e){let t=e.trim();if(!t.startsWith("- "))return null;let n=t.slice(2).trim(),s=n.indexOf(":");if(s===-1)return n.length>0?{text:n}:null;let i=n.slice(0,s).trim(),o=n.slice(s+1).trim();return i.length===0?null:{key:i,value:o}}function jt(e){return e==="true"?!0:e==="false"?!1:/^-?\d+(?:\.\d+)?$/.test(e)?Number(e):e}function X(e,t){return`- ${e}: ${String(t)}`}function y_(e){return`- ${e}`}function S_(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ENOENT"}function sg(e,t,n){let s=n===void 0?"":` ${n instanceof Error?n.message:String(n)}`;console.warn(`[aperture] ${t} (${e})${s}`)}function Is(e){switch(e){case"ambient":return"ambient";case"next":case"queue":return"next";case"now":case"active":return"now";default:return}}async function Bg(e,t){return el(zc(e,"JUDGMENT.md"),t,b_)}function b_(e){let t=new Map,n=new Map,s=new Map,i=new Map,o=null,a=null;for(let p of e.split(`
6
- `)){let m=fl(p);if(m){m.level===2?(o=m.text,a=null):m.level===3&&o==="Policy"&&(a=m.text,n.has(a)||n.set(a,{}));continue}let f=hl(p);if(!(!f||!("key"in f))){if(o==="Meta"){t.set(f.key,f.value);continue}if(o==="Policy"&&a){let h=jt(f.value),b=I_(Bc(f.key));n.set(a,{...n.get(a)??{},...b==="minimumLane"?(()=>{let I=Is(h);return I===void 0?{}:{minimumLane:I}})():{[b]:h}});continue}if(o==="Planner Defaults"){let h=Bc(f.key);if(h==="disabledContinuityRules"){let I=E_(f.value);I.length>0&&i.set(h,I);continue}let b=jt(f.value);(typeof b=="boolean"||typeof b=="number")&&i.set(h,b);continue}if(o==="Ambiguity Defaults"){let h=jt(f.value);typeof h=="number"&&s.set(Bc(f.key),h)}}}let c=v_(t.get("version")),u=t.get("updated at");return c===null||c!==rt||!u?null:{version:c,updatedAt:u,...n.size>0?{policy:Object.fromEntries(n.entries())}:{},...s.size>0?{ambiguityDefaults:Object.fromEntries(s.entries())}:{},...i.size>0?{plannerDefaults:Object.fromEntries(i.entries())}:{}}}function I_(e){return e==="minimumPresentation"?"minimumLane":e}function v_(e){return e!==void 0&&/^-?\d+(?:\.\d+)?$/.test(e)?Number(e):null}function Bc(e){return e.replace(/\s+([a-z])/g,(t,n)=>n.toUpperCase())}var k_={same_interaction:!0,visible_episode:!0,same_episode:!0,minimum_dwell:!0,burst_dampening:!0,deferral_escalation:!0,conflicting_interrupt:!0,decision_stream_continuity:!0,context_patience:!0},__=Object.keys(k_);function E_(e){let t=new Set;for(let n of e.split(",")){let s=n.trim();A_(s)&&t.add(s)}return[...t]}function A_(e){return __.includes(e)}var w_=class{rootDir;constructor(e){this.rootDir=e}loadUserProfile(e){return el(this.userPath(),e,x_)}loadMemoryProfile(e){return el(this.memoryPath(),e,R_)}saveMemoryProfile(e){return h_(this.memoryPath(),C_(e))}userPath(){return zc(this.rootDir,"USER.md")}memoryPath(){return zc(this.rootDir,"MEMORY.md")}};function x_(e){let t=new Map,n=new Map,s=new Map,i=null,o=null;for(let p of e.split(`
7
- `)){let m=fl(p);if(m){m.level===2?(i=m.text,o=null):m.level===3&&i==="Tool Overrides"&&(o=m.text,s.has(o)||s.set(o,{}));continue}let f=hl(p);if(!(!f||!("key"in f))){if(i==="Meta"){tl(t,f.key,f.value);continue}if(i==="Preferences"){tl(n,f.key,f.value);continue}if(i==="Tool Overrides"&&o){let h=jt(f.value),b=T_(gs(f.key));s.set(o,{...s.get(o)??{},...b==="minimumLane"?(()=>{let I=Is(h);return I===void 0?{}:{minimumLane:I}})():{[b]:h}})}}}let a=Mt(t,"operator id"),c=Mt(t,"updated at"),u=nl(Mt(t,"version"));return!a||!c||u===null||u!==rt?null:{version:u,operatorId:a,updatedAt:c,...n.size>0?{preferences:{...tt(n,"quiet hours").length>0?{quietHours:tt(n,"quiet hours")}:{},...tt(n,"prefer batching for").length>0?{preferBatchingFor:tt(n,"prefer batching for")}:{},...tt(n,"always expand context for").length>0?{alwaysExpandContextFor:tt(n,"always expand context for")}:{},...tt(n,"never auto approve").length>0?{neverAutoApprove:tt(n,"never auto approve")}:{}}}:{},...s.size>0?{overrides:{tools:Object.fromEntries(s.entries())}}:{}}}function T_(e){switch(e){case"defaultPresentation":case"minimumPresentation":return"minimumLane";default:return e}}function R_(e){let t=new Map,n=new Map,s=new Map,i=new Map,o=[],a=null,c=null;for(let h of e.split(`
8
- `)){let b=fl(h);if(b){b.level===2?(a=b.text,c=null):b.level===3&&(c=b.text);continue}let I=hl(h);if(I){if(a==="Meta"&&"key"in I){tl(t,I.key,I.value);continue}if(a==="Tool Families"&&c&&"key"in I){n.set(c,{...n.get(c)??P_(),[gs(I.key)]:jt(I.value)});continue}if(a==="Source Trust"&&c&&"key"in I){let[N,K]=c.split("/").map(q=>q.trim());if(!N||!K)continue;let $=s.get(N)??{};$[K]={...$[K]??{confirmations:0,disagreements:0,trustAdjustment:0},[gs(I.key)]:jt(I.value)},s.set(N,$);continue}if(a==="Consequence Profiles"&&c&&"key"in I){i.set(c,{...i.get(c)??{rejectionRate:0},[gs(I.key)]:jt(I.value)});continue}a==="Lessons"&&"text"in I&&o.push(I.text)}}let u=Mt(t,"operator id"),p=Mt(t,"updated at"),m=nl(Mt(t,"version")),f=nl(Mt(t,"session count"));return!u||!p||m===null||m!==rt||f===null?null:{version:m,operatorId:u,updatedAt:p,sessionCount:f,...n.size>0?{toolFamilies:Object.fromEntries(n.entries())}:{},...s.size>0?{sourceTrust:Object.fromEntries(s.entries())}:{},...i.size>0?{consequenceProfiles:Object.fromEntries(i.entries())}:{},...o.length>0?{lessons:o}:{}}}function C_(e){let t=["# Memory","","## Meta",X("version",e.version),X("operator id",e.operatorId),X("updated at",e.updatedAt),X("session count",e.sessionCount)];if(e.toolFamilies&&Object.keys(e.toolFamilies).length>0){t.push("","## Tool Families");for(let[n,s]of Object.entries(e.toolFamilies))t.push("",`### ${n}`),t.push(X("presentations",s.presentations)),t.push(X("responses",s.responses)),t.push(X("dismissals",s.dismissals)),s.avgResponseLatencyMs!==void 0&&t.push(X("avg response latency ms",s.avgResponseLatencyMs)),s.avgDismissalLatencyMs!==void 0&&t.push(X("avg dismissal latency ms",s.avgDismissalLatencyMs)),s.contextExpansionRate!==void 0&&t.push(X("context expansion rate",s.contextExpansionRate)),s.returnAfterDeferralRate!==void 0&&t.push(X("return after deferral rate",s.returnAfterDeferralRate))}if(e.sourceTrust&&Object.keys(e.sourceTrust).length>0){t.push("","## Source Trust");for(let[n,s]of Object.entries(e.sourceTrust))for(let[i,o]of Object.entries(s))t.push("",`### ${n} / ${i}`),t.push(X("confirmations",o.confirmations)),t.push(X("disagreements",o.disagreements)),t.push(X("trust adjustment",o.trustAdjustment))}if(e.consequenceProfiles&&Object.keys(e.consequenceProfiles).length>0){t.push("","## Consequence Profiles");for(let[n,s]of Object.entries(e.consequenceProfiles))t.push("",`### ${n}`),t.push(X("rejection rate",s.rejectionRate)),s.reviewedCount!==void 0&&t.push(X("reviewed count",s.reviewedCount))}if(e.lessons&&e.lessons.length>0){t.push("","## Lessons");for(let n of e.lessons)t.push(y_(n))}return t.push(""),t.join(`
9
- `)}function P_(){return{presentations:0,responses:0,dismissals:0}}function tl(e,t,n){let s=e.get(t)??[];s.push(n),e.set(t,s)}function Mt(e,t){return e.get(t)?.[0]??null}function tt(e,t){return e.get(t)??[]}function nl(e){return e!==null&&/^-?\d+(?:\.\d+)?$/.test(e)?Number(e):null}function gs(e){return e.replace(/\s+([a-z])/g,(t,n)=>n.toUpperCase())}async function O_(e){let t=new w_(e),[n,s,i]=await Promise.all([t.loadUserProfile(Hg()),t.loadMemoryProfile(M_()),Bg(e,Vg())]);return{profileStore:t,markdownRootDir:e,userProfile:n,memoryProfile:s,judgmentConfig:i}}async function N_(e){let[t,n,s]=await Promise.all([e.profileStore.loadUserProfile(e.userProfile??Hg()),e.profileStore.loadMemoryProfile(e.memoryProfile),Bg(e.markdownRootDir,e.judgmentConfig??Vg())]);return{userProfile:t,memoryProfile:n,judgmentConfig:s}}async function L_(e){if(!e.profileStore)return null;let t=Og(e.memoryProfile,e.signals,e.now);return await e.profileStore.saveMemoryProfile(t),t}function Hg(){return{version:rt,operatorId:"default",updatedAt:gn(0)}}function M_(){return{version:rt,operatorId:"default",updatedAt:gn(0),sessionCount:0}}function Vg(){return{version:rt,updatedAt:gn(0)}}function Hc(e){let{timestamp:t,event:n,eventTransition:s,evidence:i,taskView:o,attentionView:a}=e;return{timestamp:t,event:n,eventTransition:s,taskSummary:i.taskSignalSummary,globalSummary:i.globalSignalSummary,taskAttentionState:i.taskAttentionState,globalAttentionState:i.globalAttentionState,pressureForecast:i.pressureForecast,attentionBurden:i.attentionBurden,current:i.currentFrame,taskView:o,attentionView:a}}function ws(e,t=[]){return{rule:e,kind:"noop",rationale:t}}function qt(e,t,n=t.rationale){return{rule:e,kind:"verdict",verdict:t,rationale:n}}var D_=e=>e.candidate.priority!=="background"?ws("background"):qt("background",{autoApprove:!1,mayInterrupt:!1,requiresOperatorResponse:!1,minimumLane:"ambient",minimumLaneIsSticky:!0,rationale:["background work should remain peripheral by default"]}),U_=e=>e.candidate.blocking?qt("blocking",{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!0,minimumLane:"now",minimumLaneIsSticky:!1,rationale:["blocking interactions require explicit operator attention"]}):ws("blocking");function F_(e,t){let n=e?.policy;if(!n)return;let s=j_(t);for(let i of s){let o=n[i];if(o)return o}}function Kg(e){return zg(e)?ul(e):null}function j_(e){let t=[];if(!zg(e))return t;let n=Kg(e),s=[e.title,e.summary??"",...e.context?.items?.flatMap(i=>[i.label,i.value??""])??[]].join(" ").toLowerCase();return e.consequence==="low"&&n==="read"&&t.push("lowRiskRead"),e.consequence==="low"&&n==="web"&&t.push("lowRiskWeb"),s.includes(".env")&&(n==="write"||n==="edit"||n==="bash")&&t.push("envWrite"),(n==="write"||n==="edit")&&t.push("fileWrite"),n==="bash"&&e.consequence==="high"&&t.push("destructiveBash"),t}function zg(e){return e.activityClass!==void 0?q_(e.activityClass):e.mode==="approval"}function q_(e){switch(e){case"permission_request":return!0;case"question_request":case"follow_up":case"tool_completion":case"tool_failure":case"session_status":case"status_update":return!1;default:return e}}var $_=e=>{let{candidate:t,judgmentConfig:n,userProfile:s}=e,i=Kg(t),o=i?s?.overrides?.tools?.[i]:void 0,a=F_(n,t),c=o?.requireContextExpansion===!0||a?.requireContextExpansion===!0,u=a?.autoApprove===!0&&t.mode==="approval"&&t.responseSpec.kind==="approval"&&!c,p=Is(o?.minimumLane??o?.defaultPresentation)??Is(a?.minimumLane)??(c?"now":void 0),m=a?.mayInterrupt,f=!u&&(t.blocking||p==="now"||c);if(p===void 0&&m===void 0&&!o&&!u)return ws("configured_policy");let h=[];return i&&o&&h.push(`user override applies for ${i} interactions`),a&&h.push("configured judgment policy applies to this interaction"),u?(h.push("configured judgment policy auto-approves this bounded approval"),qt("configured_policy",{autoApprove:!0,mayInterrupt:!1,requiresOperatorResponse:!1,minimumLane:"ambient",minimumLaneIsSticky:!0,rationale:h})):f?(h.push("operator-response work cannot remain passive without auto-resolution"),qt("configured_policy",{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!0,minimumLane:"now",minimumLaneIsSticky:!1,rationale:h})):qt("configured_policy",{autoApprove:!1,mayInterrupt:m??!1,requiresOperatorResponse:f,minimumLane:p??(t.blocking?"now":"next"),minimumLaneIsSticky:p!==void 0||m===!1,rationale:h})},B_=()=>qt("interruptive_default",{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!1,minimumLane:"next",minimumLaneIsSticky:!1,rationale:["urgent non-blocking work may compete for interruptive attention"]});function nt(e,t=[]){return{rule:e,kind:"noop",rationale:t}}function _e(e,t,n=t.rationale){return{rule:e,kind:"verdict",verdict:t,rationale:n}}function Wg(e,t,n){return{rule:e,kind:"adjust",criterion:t,rationale:n}}function vs(e){return{criterion:e,peripheralResolution:null,ambiguity:null,rationale:[]}}function H_(e,t,n=[]){return{criterion:e,peripheralResolution:t,ambiguity:null,rationale:n}}function Yn(e,t,n,s){return{criterion:e,peripheralResolution:t,ambiguity:n,rationale:s}}var V_=e=>{let{evidence:t,criterion:n}=e,s=t.attentionBurden.thresholdOffset;return s<=0?nt("attention_budget"):Wg("attention_budget",{activationThreshold:n.activationThreshold+s,promotionMargin:n.promotionMargin+s},["sustained attention burden raises the interrupt bar until the operator load eases"])},K_=e=>{let{candidate:t,policyVerdict:n,criterion:s,peripheralResolution:i,evidence:o}=e;return!n.mayInterrupt&&n.minimumLaneIsSticky?_e("interrupt_eligibility",H_(s,z_(t,i,o.surfaceCapabilities))):t.blocking||t.episodeState==="actionable"||n.autoApprove||n.requiresOperatorResponse||n.minimumLane==="now"?_e("interrupt_eligibility",vs(s)):nt("interrupt_eligibility")};function z_(e,t,n){if(t!=="ambient"||!n.topology.supportsAmbient)return"queue";switch(e.responseSpec.kind){case"approval":case"acknowledge":case"none":return"ambient";case"choice":return(e.responseSpec.selectionMode==="multiple"?n.responses.supportsMultipleChoice:n.responses.supportsSingleChoice)&&(!e.responseSpec.allowTextResponse||n.responses.supportsTextResponse)?"ambient":"queue";case"form":return n.responses.supportsForm?"ambient":"queue"}}var W_=e=>{let{candidate:t,evidence:n,candidateScore:s,criterion:i,peripheralResolution:o}=e;return n.currentFrame||t.episodeId!==void 0&&[n.attentionView.now,...n.attentionView.next,...n.attentionView.ambient].filter(a=>a!==null).some(a=>a.interactionId!==t.interactionId&&Dt(a)===t.episodeId&&!Ke(Ut(a)))?nt("no_active_frame"):s>=i.activationThreshold?_e("no_active_frame",vs(i)):_e("no_active_frame",Yn(i,o,{kind:"interrupt",reason:"low_signal",resolution:o},["uncertain interruptive work stays peripheral until its signal is stronger"]))},G_=e=>{let{evidence:t,criterion:n,peripheralResolution:s}=e;return t.operatorPresence!=="absent"?nt("operator_absence"):_e("operator_absence",{criterion:n,peripheralResolution:s,ambiguity:null,rationale:["operator absence keeps interruptive work peripheral until foreground attention returns"]})},Y_=e=>{let{candidate:t}=e;return t.mode!=="status"||t.consequence==="high"||t.tone==="critical"?ws("peripheral_status"):qt("peripheral_status",{autoApprove:!1,mayInterrupt:!1,requiresOperatorResponse:!1,minimumLane:"ambient",minimumLaneIsSticky:!1,rationale:["non-critical status work should start in the periphery"]})},Z_=e=>{let{candidate:t,criterion:n,peripheralResolution:s}=e;return t.blocking?nt("semantic_uncertainty"):hs(t)?_e("semantic_uncertainty",Yn(n,s,{kind:"interrupt",reason:"low_signal",resolution:s},["semantic interpretation abstained, so non-blocking work stays peripheral until stronger explicit evidence arrives"])):fs(t)==="low"?_e("semantic_uncertainty",Yn(n,s,{kind:"interrupt",reason:"low_signal",resolution:s},["low-confidence semantic interpretation keeps non-blocking work peripheral until the signal is clearer"])):kg(t)==="weak"?_e("semantic_uncertainty",Yn(n,s,{kind:"interrupt",reason:"low_signal",resolution:s},["inferred semantic evidence stays peripheral until stronger source-backed context arrives"])):nt("semantic_uncertainty",Bt(t)!==null?["semantic evidence is strong enough to keep ordinary interrupt rules in play"]:[])},J_=e=>{let{candidateScore:t,currentScore:n,criterion:s,peripheralResolution:i}=e;return n===null||t<=n||t>=n+s.promotionMargin?_e("small_score_gap",vs(s)):_e("small_score_gap",Yn(s,i,{kind:"interrupt",reason:"small_score_gap",resolution:i},["small score gaps resolve to the periphery instead of stealing focus immediately"]))},X_=2,ks=6,Q_=e=>{let{candidate:t,criterion:n,sourceTrustAdjustment:s}=e,i=eE(s),o=_v(t),a=Math.max(-ks,Math.min(ks,i+o));if(a===0)return nt("source_trust");let c={activationThreshold:Math.max(0,n.activationThreshold-a),promotionMargin:Math.max(0,n.promotionMargin-a)},u=[...i>0?["durable source trust lowers the interrupt bar for this source"]:i<0?["low-trust source signals need a clearer margin before interrupting"]:[],...o>0?["explicit semantic evidence lowers the interrupt bar slightly"]:o<0?["inferred semantic evidence needs a clearer margin before interrupting"]:[]];return Wg("source_trust",c,u)};function eE(e){return e===0?0:Math.max(-ks,Math.min(ks,Math.trunc(e/X_)))}var tE=[$_,U_,D_,Y_,B_],nE=[G_,K_,Q_,V_,Z_,W_,J_],Gg=class{judgmentConfig;userProfile;memoryProfile;constructor(e={}){this.judgmentConfig=e.judgmentConfig,this.userProfile=e.userProfile,this.memoryProfile=e.memoryProfile}evaluateGates(e){return this.explainGates(e).verdict}explainGates(e){let t=this.buildPolicyGateInput(e),n=[];for(let i of tE){let o=i(t);if(n.push(o),o.kind==="verdict")return{verdict:o.verdict,evaluations:n}}return{verdict:{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!1,minimumLane:"next",minimumLaneIsSticky:!1,rationale:["urgent non-blocking work may compete for interruptive attention"]},evaluations:n}}evaluateInterruptCriterion(e,t,n,s,i,o={}){return this.explainInterruptCriterion(e,t,n,s,i,o).verdict}explainInterruptCriterion(e,t,n,s,i,o={}){let a=this.readInterruptCriterion(o.ambiguityDefaults),c=this.readPeripheralResolution(e,t),u=this.readSourceTrustAdjustment(e),p=[],m=[];for(let f of nE){let h=f(this.buildPolicyCriterionInput(e,t,n,s,i,a,u,c));if(m.push(h),h.kind==="adjust"){a=h.criterion,p.push(...h.rationale);continue}if(h.kind==="verdict")return{verdict:{...h.verdict,rationale:[...p,...h.verdict.rationale]},evaluations:m}}return{verdict:{criterion:a,peripheralResolution:null,ambiguity:null,rationale:p},evaluations:m}}readInterruptCriterion(e){return{activationThreshold:e?.nonBlockingActivationThreshold??this.judgmentConfig?.ambiguityDefaults?.nonBlockingActivationThreshold??W.ambiguity.nonBlockingActivationThreshold,promotionMargin:e?.promotionMargin??this.judgmentConfig?.ambiguityDefaults?.promotionMargin??W.ambiguity.promotionMargin}}readPeripheralResolution(e,t){return Ag(e,t.minimumLane==="ambient"?"ambient":"queue")}readSourceTrustAdjustment(e){let t=e.source?.kind??e.source?.id;return t?this.memoryProfile?.sourceTrust?.[t]?.[e.consequence]?.trustAdjustment??0:0}buildPolicyGateInput(e){return{candidate:e,...this.judgmentConfig!==void 0?{judgmentConfig:this.judgmentConfig}:{},...this.userProfile!==void 0?{userProfile:this.userProfile}:{}}}buildPolicyCriterionInput(e,t,n,s,i,o,a,c){return{candidate:e,policyVerdict:t,evidence:n,candidateScore:s,currentScore:i,criterion:o,sourceTrustAdjustment:a,peripheralResolution:c}}},L=W.attentionValue,Yg=class{memoryProfile;constructor(e={}){this.memoryProfile=e.memoryProfile}scoreCandidate(e){let t=this.sourceTrustAdjustment(e),n=this.consequenceCalibrationAdjustment(e),s=this.responseAffinityAdjustment(e),i=this.contextCostAdjustment(e),o=this.deferralAffinityAdjustment(e),a={priority:rE(e.priority)*100,consequence:sE(e.consequence)*10,tone:iE(e.tone),blocking:e.blocking?1e3:0,heuristics:e.attentionScoreOffset??0,sourceTrust:t,consequenceCalibration:n,responseAffinity:s,contextCost:i,deferralAffinity:o},c=e.attentionRationale?[...e.attentionRationale]:[];return t!==0&&c.push("durable source trust adjusts this interaction's utility"),n>0&&c.push("memory suggests this consequence band is often understated and deserves more attention"),n<0&&c.push("memory suggests this consequence band is often overstated and should be tempered"),s>0&&c.push("memory suggests this kind of interaction usually resolves quickly"),i<0&&c.push("memory suggests this interaction usually needs extra context before action"),o>0&&c.push("memory suggests deferred interactions of this kind are usually resumed"),{total:a.priority+a.consequence+a.tone+a.blocking+a.heuristics+a.sourceTrust+a.consequenceCalibration+a.responseAffinity+a.contextCost+a.deferralAffinity,components:a,rationale:c}}scoreAttentionFrame(e,t={}){return{total:Oe(e,t),components:{attentionAdjustment:ig(e)}}}sourceTrustAdjustment(e){let t=e.source?.kind??e.source?.id;return t?this.memoryProfile?.sourceTrust?.[t]?.[e.consequence]?.trustAdjustment??0:0}responseAffinityAdjustment(e){let t=Vc(e);if(!t)return 0;let n=this.memoryProfile?.toolFamilies?.[t];return!n||n.avgResponseLatencyMs===void 0||n.presentations<L.memorySufficiency.toolFamilyPresentations||n.responses<L.memorySufficiency.toolFamilyResponses?0:n.avgResponseLatencyMs<=L.responseAffinity.fastLatencyMs?L.responseAffinity.fastBoost:n.avgResponseLatencyMs<=L.responseAffinity.mediumLatencyMs?L.responseAffinity.mediumBoost:0}consequenceCalibrationAdjustment(e){let t=this.memoryProfile?.consequenceProfiles?.[e.consequence],n=t?.rejectionRate;if(n===void 0||(t?.reviewedCount??0)<L.memorySufficiency.consequenceReviewedCount)return 0;switch(e.consequence){case"low":return n>=L.consequenceCalibration.highRejectionRate?L.consequenceCalibration.adjustments.low.highRate:n>=L.consequenceCalibration.mediumRejectionRate?L.consequenceCalibration.adjustments.low.mediumRate:0;case"medium":return n>=L.consequenceCalibration.highRejectionRate?L.consequenceCalibration.adjustments.medium.highRate:n>=L.consequenceCalibration.mediumRejectionRate?L.consequenceCalibration.adjustments.medium.mediumRate:0;case"high":return n>=L.consequenceCalibration.highRejectionRate?L.consequenceCalibration.adjustments.high.highRate:n>=L.consequenceCalibration.mediumRejectionRate?L.consequenceCalibration.adjustments.high.mediumRate:0}}contextCostAdjustment(e){let t=Vc(e);if(!t)return 0;let n=this.memoryProfile?.toolFamilies?.[t]?.contextExpansionRate;return n===void 0||(this.memoryProfile?.toolFamilies?.[t]?.presentations??0)<L.memorySufficiency.toolFamilyPresentations?0:n>=L.contextCost.highRate?L.contextCost.highPenalty:n>=L.contextCost.mediumRate?L.contextCost.mediumPenalty:0}deferralAffinityAdjustment(e){let t=Vc(e);if(!t)return 0;let n=this.memoryProfile?.toolFamilies?.[t]?.returnAfterDeferralRate;return n===void 0||(this.memoryProfile?.toolFamilies?.[t]?.presentations??0)<L.memorySufficiency.toolFamilyPresentations?0:n>=L.deferralAffinity.highRate?L.deferralAffinity.highBoost:n>=L.deferralAffinity.mediumRate?L.deferralAffinity.mediumBoost:0}};function Vc(e){return ul(e)}function rE(e){switch(e){case"background":return 0;case"normal":return 1;case"high":return 2}}function sE(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}function iE(e){switch(e){case"ambient":return 0;case"focused":return 1;case"critical":return 2}}var oE=class{policyGates;utilityScore;queuePlanner;ambiguityDefaults;constructor(e=new Gg,t=new Yg,n=new Fg,s={}){this.policyGates=e,this.utilityScore=t,this.queuePlanner=n,this.ambiguityDefaults=s.ambiguityDefaults}coordinate(e,t,n={}){return this.explain(e,t,n).decision}explain(e,t,n={}){let s=this.resolveEvidenceContext(e,n,t.timestamp),i=this.policyGates.explainGates(t),o=i.verdict,a=this.utilityScore.scoreCandidate(t),c=s.currentFrame?Oe(s.currentFrame,{now:t.timestamp}):null,u=s.pressureForecast;if(o.autoApprove){let h=[...o.rationale,"bounded approval work is auto-resolved instead of entering the attention surface"];return{decision:{kind:"auto_approve",candidate:t,response:{taskId:t.taskId,interactionId:t.interactionId,response:{kind:"approved"}}},policy:o,policyGateEvaluations:i.evaluations,utility:a,criterion:null,policyCriterionEvaluations:[],pressureForecast:u,attentionBurden:s.attentionBurden,candidateScore:a.total,currentScore:c,currentPriority:null,ambiguity:null,reasons:h,continuityEvaluations:[]}}let p=this.policyGates.explainInterruptCriterion(t,o,s,a.total,c,this.ambiguityDefaults!==void 0?{ambiguityDefaults:this.ambiguityDefaults}:{}),m=p.verdict;if(m.peripheralResolution){let h=[...o.rationale,...m.rationale];return{decision:{kind:m.peripheralResolution,candidate:t},policy:o,policyGateEvaluations:i.evaluations,utility:a,criterion:m,policyCriterionEvaluations:p.evaluations,pressureForecast:u,attentionBurden:s.attentionBurden,candidateScore:a.total,currentScore:c,currentPriority:s.currentFrame?le(s.currentFrame):null,ambiguity:m.ambiguity,reasons:h,continuityEvaluations:[]}}let f=this.queuePlanner.explain(s.currentFrame,t,{...s,policyVerdict:o,utility:a,pressureForecast:u,candidateScore:a.total,currentScore:c});return{decision:f.decision,policy:o,policyGateEvaluations:i.evaluations,utility:a,criterion:m,policyCriterionEvaluations:p.evaluations,pressureForecast:u,attentionBurden:s.attentionBurden,candidateScore:a.total,currentScore:f.currentScore,currentPriority:f.currentPriority,ambiguity:null,reasons:f.reasons,continuityEvaluations:f.continuityEvaluations??[]}}clear(){return this.queuePlanner.clear()}resolveEvidenceContext(e,t,n){return dl(e,As(t),aE(n))}};function aE(e){let t=Date.parse(e);return Number.isNaN(t)?0:t}function cE(e={}){return{userProfile:e.userProfile,baseMemoryProfile:e.memoryProfile??lE(),judgmentConfig:e.judgmentConfig,surfaceCapabilities:rl(e.surfaceCapabilities),operatorPresence:e.operatorPresence??"present",responseExpiryMs:e.responseExpiryMs,timeSource:e.timeSource??Date.now}}function Kc(e){return new oE(new Gg({...e.userProfile!==void 0?{userProfile:e.userProfile}:{},...e.judgmentConfig!==void 0?{judgmentConfig:e.judgmentConfig}:{},memoryProfile:e.baseMemoryProfile}),new Yg({memoryProfile:e.baseMemoryProfile}),new Fg({...e.judgmentConfig?.plannerDefaults!==void 0?{plannerDefaults:e.judgmentConfig.plannerDefaults}:{}}))}function rl(e){let t=e??bs;return{topology:{...t.topology},responses:{...t.responses}}}function lE(){return{version:rt,operatorId:"default",updatedAt:gn(0),sessionCount:0}}function uE(e){switch(j("event.id",e.id),j("event.taskId",e.taskId),yl("event.timestamp",e.timestamp),e.source!==void 0&&j("event.source.id",e.source.id),e.type){case"task.started":case"task.updated":j("event.title",e.title);break;case"human.input.requested":j("event.interactionId",e.interactionId),j("event.title",e.title),j("event.summary",e.summary);break;case"task.completed":case"task.cancelled":break;default:return yE(e)}}function dE(e){switch(j("event.id",e.id),j("event.taskId",e.taskId),yl("event.timestamp",e.timestamp),e.source&&j("event.source.id",e.source.id),e.type){case"task.started":j("event.title",e.title);return;case"task.updated":j("event.title",e.title),gE("event.status",e.status);return;case"task.completed":return;case"task.cancelled":e.reason!==void 0&&j("event.reason",e.reason);return;case"human.input.requested":j("event.interactionId",e.interactionId),j("event.title",e.title),j("event.summary",e.summary),hE("event.request",e.request),e.riskHint!==void 0&&fE("event.riskHint",e.riskHint);return;default:return SE(e)}}function pE(e){switch(j("response.taskId",e.taskId),j("response.interactionId",e.interactionId),e.response.kind){case"acknowledged":case"approved":case"rejected":case"dismissed":return;case"option_selected":if(e.response.optionIds.length===0)throw new he("response.optionIds must contain at least one option id",{field:"response.optionIds"});return;case"text_submitted":j("response.text",e.response.text);return;case"form_submitted":if(e.response.values===null||typeof e.response.values!="object"||Array.isArray(e.response.values))throw new he("response.values must be an object",{field:"response.values"});return}}function mE(e){j("signal.taskId",e.taskId),j("signal.interactionId",e.interactionId),yl("signal.timestamp",e.timestamp),e.source!==void 0&&j("signal.source.id",e.source.id)}function j(e,t){if(typeof t!="string"||t.trim().length===0)throw new he(`${e} must be a non-empty string`,{field:e})}function yl(e,t){if(j(e,t),Number.isNaN(Date.parse(t)))throw new he(`${e} must be a valid ISO timestamp`,{field:e})}function gE(e,t){if(!["running","blocked","waiting","completed","failed"].includes(t))throw new he(`${e} must be a valid task status`,{field:e})}function fE(e,t){if(!["low","medium","high"].includes(t))throw new he(`${e} must be a valid consequence level`,{field:e})}function hE(e,t){if(!t||typeof t!="object"||!("kind"in t))throw new he(`${e} must be a valid human input request`,{field:e});switch(t.kind){case"approval":return;case"choice":if(!Array.isArray(t.options)||t.options.length===0)throw new he(`${e}.options must contain at least one option`,{field:`${e}.options`});return;case"form":if(!Array.isArray(t.fields)||t.fields.length===0)throw new he(`${e}.fields must contain at least one field`,{field:`${e}.fields`});return;default:throw new he(`${e} must have a supported request kind`,{field:e})}}function yE(e){throw new he(`Unhandled ApertureEvent in validation: ${JSON.stringify(e)}`,{field:"event.type",code:"unsupported_event_variant"})}function SE(e){throw new he(`Unhandled SourceEvent in validation: ${JSON.stringify(e)}`,{field:"event.type",code:"unsupported_event_variant"})}var bE=Symbol("aperture.internal.readHealth"),Zg=class Jg{listeners=new o_;taskViews=new $k;heuristics=new oI;evaluation=new Fv;traceRecorder=new Hk;coordinator;planner=new Bv;attentionEvidence;frameLifecycle;profileStore;markdownRootDir;baseMemoryProfile;userProfile;judgmentConfig;surfaceCapabilities;operatorPresence;responseExpiryMs;clock;signals;episodes;operatorEngagement;reloadInFlight=null;constructor(t={}){let n=cE(t);this.markdownRootDir=t.markdownRootDir,this.profileStore=t.profileStore,this.userProfile=n.userProfile,this.judgmentConfig=n.judgmentConfig,this.surfaceCapabilities=n.surfaceCapabilities,this.operatorPresence=n.operatorPresence,this.responseExpiryMs=n.responseExpiryMs,this.clock=Es(n.timeSource),this.signals=new zv({clock:this.clock}),this.episodes=new Cv({clock:this.clock}),this.operatorEngagement=new Qk(n.timeSource),this.baseMemoryProfile=n.baseMemoryProfile,this.coordinator=Kc(n),this.attentionEvidence=new Ck({signals:this.signals,episodes:this.episodes,clock:this.clock,getTaskView:s=>this.getTaskView(s),getAttentionView:()=>this.getAttentionView(),getOperatorPresence:()=>this.getOperatorPresence(),getSurfaceCapabilities:()=>this.getSurfaceCapabilities()}),this.frameLifecycle=new jk({taskViews:this.taskViews,planner:this.planner,episodes:this.episodes,clock:this.clock,responseExpiryMs:this.responseExpiryMs,getAttentionView:()=>this.getAttentionView(),recordSignal:s=>this.recordSignal(s),clearOperatorEngagement:(s,i)=>this.operatorEngagement.clear(s,i),notifyFrame:(s,i)=>this.listeners.emitFrame(s,i),notifyTaskView:(s,i)=>this.listeners.emitTaskView(s,i),notifyAttentionView:()=>this.listeners.emitAttentionView(this.getAttentionView()),emitResponse:s=>this.listeners.emitResponse(s)})}static async fromMarkdown(t){let{profileStore:n,markdownRootDir:s,userProfile:i,memoryProfile:o,judgmentConfig:a}=await O_(t);return new Jg({userProfile:i,memoryProfile:o,judgmentConfig:a,profileStore:n,markdownRootDir:s})}async reloadMarkdown(){if(!this.profileStore||!this.markdownRootDir)return!1;if(this.reloadInFlight)return this.reloadInFlight;this.reloadInFlight=this.performMarkdownReload();try{return await this.reloadInFlight}finally{this.reloadInFlight=null}}publishSourceEvent(t){return dE(t),this.publishPreparedEvent(g_(t))}publish(t,n={}){return uE(t),this.publishPreparedEvent(f_(t,n))}publishPreparedEvent(t){let{finalizedEvent:n,originalEvent:s,transitionKind:i}=t,o=Xk(i,s,n),a=this.getFrame(n.taskId),c=this.attentionEvidence.assemble(n.taskId,a),u=c.taskSignalSummary,p=c.globalSignalSummary,m=c.attentionView,f=this.evaluation.evaluate(n);switch(f.kind){case"noop":return this.notifyTrace(this.traceRecorder.recordNoop(Hc({timestamp:this.nowIso(),event:n,eventTransition:o,evidence:c,taskView:c.currentTaskView,attentionView:m}))),null;case"clear":{let h=this.frameLifecycle.applyClear(n.taskId),b=this.getAttentionView();return this.notifyTrace(this.traceRecorder.recordClear(Hc({timestamp:this.nowIso(),event:n,eventTransition:o,evidence:c,taskView:this.getTaskView(n.taskId),attentionView:b}),n.taskId)),h}case"candidate":{let h=this.prepareCandidateForJudgment(f.candidate,u,p),b=this.explainCandidateDecision(n.taskId,h,c),I=this.applyCandidateDecision(n.taskId,b,c,m),N=this.getAttentionView();return this.notifyTrace(this.traceRecorder.recordCandidate(Hc({timestamp:this.nowIso(),event:n,eventTransition:o,evidence:c,taskView:this.getTaskView(n.taskId),attentionView:N}),{original:f.candidate,adjusted:h,explanation:b,result:I})),I}}}prepareCandidateForJudgment(t,n,s){return this.episodes.assign(this.heuristics.apply(t,n,s))}explainCandidateDecision(t,n,s){let i=this.attentionEvidence.augmentContinuitySignalSummary(t,n,s);return this.coordinator.explain(s.currentFrame,n,i)}applyCandidateDecision(t,n,s,i){switch(n.decision.kind){case"auto_approve":return this.frameLifecycle.applyAutoResponse(n.decision.candidate,n.decision.response);case"clear":return this.frameLifecycle.applyClear(t);case"ambient":return this.frameLifecycle.materializePeripheralFrame(n.decision.candidate,"ambient",i);case"queue":return this.frameLifecycle.materializePeripheralFrame(n.decision.candidate,"queue",i);case"activate":return this.applyActivationDecision(n,s,i)}}applyActivationDecision(t,n,s){if(t.decision.kind!=="activate")return null;let i=t.decision.candidate;if(this.frameLifecycle.shouldRetireSupersededEpisodeFrames(i,s))return this.frameLifecycle.commitFrame(this.frameLifecycle.applyResponseExpiry(this.planner.plan(i,n.currentFrame)),this.frameLifecycle.findSupersededEpisodeFrames(i,s));let o=i.episodeId?this.frameLifecycle.findPeripheralEpisodeFrame(i.episodeId,s):null;return o&&this.frameLifecycle.shouldPromotePeripheralEpisodeFrame(t)?this.frameLifecycle.promotePeripheralEpisodeFrame(i,o.frame):o?this.frameLifecycle.materializePeripheralFrame(i,ml(i,t.policy,n.surfaceCapabilities),s):this.frameLifecycle.commitFrame(this.frameLifecycle.applyResponseExpiry(this.planner.plan(i,n.currentFrame)))}getFrame(t){return this.taskViews.get(t).now??null}subscribe(t,n){return this.listeners.subscribeFrame(t,n,this.getFrame(t))}subscribeTaskView(t,n){return this.listeners.subscribeTaskView(t,n,this.getTaskView(t))}subscribeAttentionView(t){return this.listeners.subscribeAttentionView(t,this.getAttentionView())}onResponse(t){return this.listeners.onResponse(t)}onSignal(t){return this.listeners.onSignal(t)}onTrace(t){return this.listeners.onTrace(t)}[Qc](t){return this.listeners[Qc](t)}submit(t){pE(t),this.frameLifecycle.submit(t)}getTaskView(t){return this.taskViews.get(t)}getAttentionView(){return eI(this.taskViews.values(),{globalAttentionState:this.getAttentionState(),operatorPresence:this.getOperatorPresence(),focusedInteractionId:this.readOperatorEngagementInteractionId()})}getSignals(t){return this.signals.list(t)}getSignalSummary(t){return this.signals.summarize(t)}getAttentionState(t){return Nt(this.signals.summarize(t))}[bE](){return{attentionState:this.getAttentionState(),operatorPresence:this.getOperatorPresence(),responseExpiryMs:this.responseExpiryMs??null,surfaceCapabilities:this.getSurfaceCapabilities(),listeners:this.listeners.getHealthSnapshot(),stores:{taskViews:this.taskViews.stats(),signals:this.signals.stats(),episodes:this.episodes.stats()}}}getSurfaceCapabilities(){return rl(this.surfaceCapabilities)}getOperatorPresence(){return this.operatorPresence}setOperatorPresence(t){this.operatorPresence=t}engage(t,n,s={}){if(!this.frameLifecycle.findFrameByInteractionId(t,n))return;let i=this.getAttentionView();this.operatorEngagement.engage(t,n,s,()=>{let a=this.getAttentionView();this.operatorEngagement.clear(t,n);let c=this.getAttentionView();eg(a,c)||this.notifyAttentionView()});let o=this.getAttentionView();eg(i,o)||this.notifyAttentionView()}setSurfaceCapabilities(t){this.surfaceCapabilities=rl(t)}snapshotMemoryProfile(t=this.nowIso()){return Og(this.baseMemoryProfile,this.signals.list(),t)}async checkpointMemory(t=this.nowIso()){let n=await L_({profileStore:this.profileStore,memoryProfile:this.baseMemoryProfile,signals:this.signals.list(),now:t});return n?(this.baseMemoryProfile=n,this.coordinator=Kc({userProfile:this.userProfile,baseMemoryProfile:this.baseMemoryProfile,judgmentConfig:this.judgmentConfig}),n):null}markViewed(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("viewed",t,n,this.nowIso(),i,s))}markTimedOut(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("timed_out",t,n,this.nowIso(),i,s))}markContextExpanded(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("context_expanded",t,n,this.nowIso(),i,s))}markContextSkipped(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("context_skipped",t,n,this.nowIso(),i,s))}recordSignal(t){mE(t),this.signals.record(t),this.listeners.emitSignal(t)}notifyFrame(t,n){this.listeners.emitFrame(t,n)}notifyTaskView(t,n){this.listeners.emitTaskView(t,n)}notifyAttentionView(){this.listeners.emitAttentionView(this.getAttentionView())}readOperatorEngagementInteractionId(){return this.operatorEngagement.readFocusedInteractionId((t,n)=>this.frameLifecycle.findFrameByInteractionId(t,n)!==null)}notifyTrace(t){this.listeners.emitTrace(t)}nowIso(){return this.clock.nowIso()}async performMarkdownReload(){let{userProfile:t,memoryProfile:n,judgmentConfig:s}=await N_({profileStore:this.profileStore,markdownRootDir:this.markdownRootDir,userProfile:this.userProfile,memoryProfile:this.baseMemoryProfile,judgmentConfig:this.judgmentConfig}),i=Kc({userProfile:t,baseMemoryProfile:n,judgmentConfig:s});return this.userProfile=t,this.baseMemoryProfile=n,this.judgmentConfig=s,this.coordinator=i,!0}};function Sl(e){return e?{id:e.id,taskId:e.taskId,interactionId:e.interactionId,source:e.source,version:e.version,mode:e.mode,tone:e.tone,consequence:e.consequence,title:e.title,summary:e.summary,context:e.context,responseSpec:e.responseSpec,provenance:e.provenance,timing:e.timing,metadata:e.metadata}:null}function ue(e){return{companyId:e,updatedAt:new Date().toISOString(),now:null,next:[],ambient:[],counts:{now:0,next:0,ambient:0,total:0}}}function st(){return[]}function Q(e){return{companyId:e,updatedAt:new Date().toISOString(),frames:{}}}function Se(e,t,n,s){let i=t,o=Sl("now"in t?t.now:i.active??null),a=("next"in t?t.next:i.queued??[]).map(u=>Sl(u)).filter(u=>u!==null),c=t.ambient.map(u=>Sl(u)).filter(u=>u!==null);return{companyId:e,updatedAt:s??new Date().toISOString(),now:o,next:a,ambient:c,counts:{now:o?1:0,next:a.length,ambient:c.length,total:(o?1:0)+a.length+c.length},...n?{lastEvent:n}:{}}}function fn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Qg(e){let t=fn(e);return t&&typeof t.taskId=="string"&&typeof t.interactionId=="string"?t:null}function Xg(e){return Array.isArray(e)?e.map(Qg).filter(t=>t!==null):[]}function hn(e,t){let n=fn(t);if(!n||n.companyId!==e||typeof n.updatedAt!="string")return null;let s=fn(n.counts),i=fn(n.review),o=fn(i?.unread),a=Qg(n.now??n.active??null),c=Xg(n.next??n.queued??[]),u=Xg(n.ambient);return{companyId:e,updatedAt:n.updatedAt,now:a,next:c,ambient:u,counts:{now:typeof s?.now=="number"?s.now:typeof s?.active=="number"?s.active:a?1:0,next:typeof s?.next=="number"?s.next:typeof s?.queued=="number"?s.queued:c.length,ambient:typeof s?.ambient=="number"?s.ambient:u.length,total:typeof s?.total=="number"?s.total:(a?1:0)+c.length+u.length},...i?{review:{...typeof i.lastSeenAt=="string"?{lastSeenAt:i.lastSeenAt}:{},unread:{now:typeof o?.now=="number"?o.now:typeof o?.active=="number"?o.active:0,next:typeof o?.next=="number"?o.next:typeof o?.queued=="number"?o.queued:0,ambient:typeof o?.ambient=="number"?o.ambient:0,total:typeof o?.total=="number"?o.total:0}}}:{},...fn(n.lastEvent)?{lastEvent:{eventType:String(n.lastEvent.eventType),...typeof n.lastEvent.entityId=="string"?{entityId:n.lastEvent.entityId}:{},...typeof n.lastEvent.entityType=="string"?{entityType:n.lastEvent.entityType}:{}}}:{}}}var xs={topology:{supportsAmbient:!0},responses:{supportsSingleChoice:!0,supportsMultipleChoice:!1,supportsForm:!1,supportsTextResponse:!0}};var IE=100,bl=100,ef=1800*1e3,vE=15e3,Rs=class{sessions=new Map;getHealth(){return{trackedCompanies:this.sessions.size,maxCompanySessions:bl,idleSessionTtlMs:ef,faultedCompanies:[...this.sessions.values()].filter(t=>t.persistence.state==="faulted").length,hostCacheEntries:[...this.sessions.values()].reduce((t,n)=>t+n.hostCache.size,0),cachedReconciliations:[...this.sessions.values()].filter(t=>t.reconciledCandidates!==null).length}}getCoreDiagnostics(t){let n=this.sessions.get(t);if(!n)return null;this.touchSession(n);let s=this.syncSnapshotFromCore(t,n),i=s.now?{taskId:s.now.taskId,interactionId:s.now.interactionId,signalSummary:n.core.getSignalSummary(s.now.taskId),attentionState:n.core.getAttentionState(s.now.taskId)}:null;return{eventCount:n.eventCount,persistence:{...n.persistence},surfaceCapabilities:n.core.getSurfaceCapabilities(),operatorPresence:n.core.getOperatorPresence(),globalSignalSummary:n.core.getSignalSummary(),globalAttentionState:n.core.getAttentionState(),memoryProfile:n.core.snapshotMemoryProfile(s.updatedAt),ledger:_E(n.ledger),host:{cacheEntries:n.hostCache.size,hostDataRevision:n.hostDataRevision,approvalRecords:n.approvals.records?.length??0,approvalsDirty:n.approvals.dirty,approvalAdapterLastLoadedAt:n.approvals.lastLoadedAt,approvalAdapterLastError:n.approvals.lastError},currentNowTask:i}}hasSession(t){return this.sessions.has(t)}hydrate(t,n){let s=this.sessions.get(t);if(s)return this.touchSession(s),{snapshot:s.snapshot??Se(t,s.core.getAttentionView()),review:s.review};let i=this.buildSession(t,n);return this.sessions.set(t,i),this.pruneSessions(),{snapshot:i.snapshot??Se(t,i.core.getAttentionView()),review:i.review}}ingest(t,n,s){let i=this.ensureSession(t),o=i.core.publish(n);return i.eventCount+=1,i.snapshot=Se(t,i.core.getAttentionView(),s),{frame:o,snapshot:i.snapshot}}submit(t,n,s){let i=this.ensureSession(t);return i.core.submit(n),i.snapshot=Se(t,i.core.getAttentionView(),s),i.snapshot}getSnapshot(t){let n=this.sessions.get(t);return n?(this.touchSession(n),this.syncSnapshotFromCore(t,n)):null}getLedger(t){let n=this.sessions.get(t);return n&&this.touchSession(n),[...n?.ledger??[]]}getReview(t){let n=this.sessions.get(t);return n?(this.touchSession(n),n.review):null}setReview(t,n){let s=this.ensureSession(t);return s.review=n,this.invalidateReconciled(t),s.review}getTraces(t){let n=this.sessions.get(t);return n&&this.touchSession(n),[...n?.traces??[]]}getCachedReconciledCandidates(t,n){let s=this.sessions.get(t);s&&this.touchSession(s);let i=s?.reconciledCandidates;return!i||i.key!==n?null:i.expiresAt<=Date.now()?(s&&(s.reconciledCandidates=null,s.hostDataRevision+=1),null):[...i.candidates]}setCachedReconciledCandidates(t,n,s){let i=this.ensureSession(t);return i.reconciledCandidates={key:n,candidates:[...s],expiresAt:Date.now()+vE},[...s]}getReconciledRevision(t){return this.sessions.get(t)?.hostDataRevision??0}invalidateReconciled(t){let n=this.sessions.get(t);n&&(n.reconciledCandidates=null,n.hostDataRevision+=1)}getCachedHostValue(t,n){let s=this.sessions.get(t);if(!s)return null;this.touchSession(s);let i=s.hostCache.get(n);return i?i.expiresAt<=Date.now()?(s.hostCache.delete(n),null):i.value:null}setCachedHostValue(t,n,s,i){return this.ensureSession(t).hostCache.set(n,{value:s,expiresAt:Date.now()+Math.max(1,i)}),s}invalidateHostCache(t,n={}){let s=this.sessions.get(t);if(!s)return;let{keys:i=[],prefixes:o=[],bumpRevision:a=!0}=n;for(let c of i)s.hostCache.delete(c);if(o.length>0)for(let c of[...s.hostCache.keys()])o.some(u=>c.startsWith(u))&&s.hostCache.delete(c);a&&this.invalidateReconciled(t)}getApprovals(t){return this.sessions.get(t)?.approvals.records??null}setApprovals(t,n){let s=this.ensureSession(t);return s.approvals={records:[...n],dirty:!1,lastLoadedAt:new Date().toISOString(),lastError:void 0},[...n]}approvalsDirty(t){let n=this.sessions.get(t);return n&&this.touchSession(n),n?.approvals.dirty??!0}invalidateApprovals(t){let n=this.sessions.get(t);n&&(n.approvals={records:n.approvals.records,dirty:!0,lastLoadedAt:n.approvals.lastLoadedAt,lastError:n.approvals.lastError})}markApprovalAdapterFailure(t,n){let s=this.ensureSession(t);s.approvals={records:s.approvals.records,dirty:!0,lastLoadedAt:s.approvals.lastLoadedAt,lastError:n}}restore(t,n){let s=this.buildSession(t,n,this.sessions.get(t));return this.sessions.set(t,s),{snapshot:s.snapshot??Se(t,s.core.getAttentionView()),review:s.review}}markPersistenceHealthy(t){let n=this.sessions.get(t);n&&(n.persistence={state:"healthy",updatedAt:new Date().toISOString()})}markPersistenceFault(t,n){let s=this.ensureSession(t);s.persistence={state:"faulted",updatedAt:new Date().toISOString(),lastError:n}}appendLedgerEntry(t,n){let s=this.ensureSession(t);return s.ledger=[...s.ledger,n],this.getLedger(t)}applyEvent(t,n){let s=this.ensureSession(t),i=s.ledger,o=s.snapshot,a=s.eventCount;s.ledger=[...s.ledger,n];try{let c=n.sourceEvent?s.core.publishSourceEvent(n.sourceEvent):s.core.publish(n.apertureEvent);return s.eventCount+=1,s.snapshot=Se(t,s.core.getAttentionView(),n.source,n.occurredAt),s.reconciledCandidates=null,{frame:c,ledger:this.getLedger(t),snapshot:s.snapshot}}catch(c){throw s.ledger=i,s.snapshot=o,s.eventCount=a,c}}applyResponse(t,n){let s=this.ensureSession(t),i=s.ledger,o=s.snapshot,a=s.eventCount;s.ledger=[...s.ledger,n];try{return s.core.submit(n.apertureResponse),s.snapshot=Se(t,s.core.getAttentionView(),n.source,n.occurredAt),s.reconciledCandidates=null,{ledger:this.getLedger(t),snapshot:s.snapshot}}catch(c){throw s.ledger=i,s.snapshot=o,s.eventCount=a,c}}applyOverlayResponse(t,n){let s=this.ensureSession(t);return s.ledger=[...s.ledger,n],s.reconciledCandidates=null,{ledger:this.getLedger(t),snapshot:this.syncSnapshotFromCore(t,s)}}applySignal(t,n){let s=this.ensureSession(t),i=this.syncSnapshotFromCore(t,s);s.ledger=[...s.ledger,n],s.core.recordSignal(n.apertureSignal);let o=this.syncSnapshotFromCore(t,s);return{ledger:this.getLedger(t),snapshot:o,changed:!Ts(i,o)}}replaceLedger(t,n){let s=this.ensureSession(t);return s.ledger=[...n],s.reconciledCandidates=null,this.getLedger(t)}rebuildFromLedger(t,n){let s=this.sessions.get(t)?.review??Q(t),i=this.buildSession(t,{ledger:n,review:s},this.sessions.get(t));return this.sessions.set(t,i),i.snapshot??Se(t,i.core.getAttentionView())}getCompanyCount(){return this.sessions.size}engage(t,n,s,i={}){let o=this.ensureSession(t),a=this.syncSnapshotFromCore(t,o);o.core.engage(n,s,i);let c=this.syncSnapshotFromCore(t,o);return{snapshot:c,changed:!Ts(a,c)}}markViewed(t,n,s,i={}){let o=this.ensureSession(t),a=this.syncSnapshotFromCore(t,o);o.core.markViewed(n,s,i);let c=this.syncSnapshotFromCore(t,o);return{snapshot:c,changed:!Ts(a,c)}}markContextExpanded(t,n,s,i={}){let o=this.ensureSession(t),a=this.syncSnapshotFromCore(t,o);o.core.markContextExpanded(n,s,i);let c=this.syncSnapshotFromCore(t,o);return{snapshot:c,changed:!Ts(a,c)}}setOperatorPresence(t,n){let s=this.ensureSession(t);return s.core.setOperatorPresence(n),this.touchSession(s),s.core.getOperatorPresence()}ensureSession(t){let n=this.sessions.get(t);return n?(this.touchSession(n),n):(n=this.createSession(t),this.sessions.set(t,n),this.pruneSessions(),n)}buildSession(t,n,s){let i=this.createSession(t);if(i.ledger=[...n.ledger],i.review=n.review??Q(t),i.approvals={records:s?.approvals.records?[...s.approvals.records]:null,dirty:s?.approvals.dirty??!0,lastLoadedAt:s?.approvals.lastLoadedAt,lastError:s?.approvals.lastError},i.hostCache=s?new Map(s.hostCache):new Map,i.hostDataRevision=s?.hostDataRevision??0,i.persistence=s?.persistence??Il(),i.traces=s?[...s.traces]:[],n.ledger.length>0){let o,a;for(let c of n.ledger)o=c.source,a=c.occurredAt,c.kind==="event"?(c.sourceEvent?i.core.publishSourceEvent(c.sourceEvent):i.core.publish(c.apertureEvent),i.eventCount+=1):c.kind==="response"?i.core.submit(c.apertureResponse):c.kind==="signal"&&i.core.recordSignal(c.apertureSignal);i.snapshot=Se(t,i.core.getAttentionView(),o,a)}else i.snapshot=n.snapshot??Se(t,i.core.getAttentionView());return i.persistence=s?.persistence?.state==="faulted"?s.persistence:Il(),i}createSession(t){let n=new Zg({surfaceCapabilities:xs}),s=Date.now(),i={core:n,snapshot:null,ledger:st(),review:Q(t),eventCount:0,traces:[],reconciledCandidates:null,approvals:{records:null,dirty:!0},hostCache:new Map,hostDataRevision:0,persistence:Il(),lastTouchedAt:s};return n.onTrace(o=>{i.traces=[...i.traces.slice(-(IE-1)),o]}),i}touchSession(t){t.lastTouchedAt=Date.now()}pruneSessions(){let t=Date.now();for(let[s,i]of this.sessions.entries())t-i.lastTouchedAt>ef&&this.sessions.delete(s);if(this.sessions.size<=bl)return;let n=[...this.sessions.entries()].sort((s,i)=>s[1].lastTouchedAt-i[1].lastTouchedAt);for(;this.sessions.size>bl&&n.length>0;){let[s]=n.shift();this.sessions.delete(s)}}syncSnapshotFromCore(t,n){let s=n.core.getAttentionView(),i=n.snapshot;if(i&&kE(i,s))return i;let o=Se(t,s,i?.lastEvent);return n.snapshot=o,o}};function Ts(e,t){return!e||!t?e===t:e.now?.interactionId===t.now?.interactionId&&Cs(e.next,t.next)&&Cs(e.ambient,t.ambient)}function kE(e,t){return e.now?.interactionId===t.now?.interactionId&&Cs(e.next,t.next)&&Cs(e.ambient,t.ambient)}function Cs(e,t){return e.length===t.length&&e.every((n,s)=>n.interactionId===t[s]?.interactionId)}function _E(e){return{entries:e.length,eventEntries:e.filter(t=>t.kind==="event").length,responseEntries:e.filter(t=>t.kind==="response").length,overlayResponseEntries:e.filter(t=>t.kind==="overlay-response").length,signalEntries:e.filter(t=>t.kind==="signal").length,replayStrategy:"full-ledger",compactionRecommended:e.length>2e3}}function Il(){return{state:"healthy",updatedAt:new Date().toISOString()}}function it(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Ne(e){return typeof e=="string"&&e.trim().length>0?e:void 0}function vl(e){return e===null?null:Ne(e)}function Ps(e){if(!Array.isArray(e))return;let t=e.filter(n=>typeof n=="string"&&n.trim().length>0);return t.length>0?t:void 0}function EE(e){if(!Array.isArray(e))return;let t=e.filter(n=>{if(typeof n!="object"||n===null)return!1;let s=n;return s.kind==="same_issue"||s.kind==="resolves"||s.kind==="supersedes"||s.kind==="repeats"||s.kind==="escalates"});return t.length>0?t:void 0}function er(e){let t=it(e.metadata),n=it(t?.attention),s=it(t?.semantic),i=it(t?.episode),o=it(t?.issueIntelligence),a=it(t?.decision);return{entityType:Ne(t?.entityType),issueStatus:Ne(t?.issueStatus),issuePriority:Ne(t?.issuePriority),approvalStatus:Ne(t?.approvalStatus),approvalType:Ne(t?.approvalType),agentStatus:Ne(t?.agentStatus),pauseReason:vl(t?.pauseReason),liveReconciled:typeof t?.liveReconciled=="boolean"?t.liveReconciled:void 0,activityPath:Ne(t?.activityPath),attention:n?{rationale:Ps(n.rationale)}:void 0,semantic:s?{confidence:s.confidence==="low"||s.confidence==="medium"||s.confidence==="high"?s.confidence:void 0,relationHints:EE(s.relationHints)}:void 0,episode:i?{size:typeof i.size=="number"?i.size:void 0,state:Ne(i.state)}:void 0,issueIntelligence:o?{matchedRuleIds:Ps(o.matchedRuleIds),owner:vl(o.owner),ownerKind:o.ownerKind==="agent"||o.ownerKind==="human"?o.ownerKind:o.ownerKind===null?null:void 0,blockingTarget:vl(o.blockingTarget)}:void 0,decision:a?{owner:a.owner==="aperture_core"||a.owner==="paperclip_reconciliation"||a.owner==="approval_overlay"||a.owner==="display_merge"?a.owner:void 0,lane:a.lane==="now"||a.lane==="next"||a.lane==="ambient"?a.lane:void 0,sourcePolicy:Ne(a.sourcePolicy),rationale:Ps(a.rationale),promotedFromLane:a.promotedFromLane==="next"||a.promotedFromLane==="ambient"?a.promotedFromLane:void 0}:void 0}}function Ht(e,t){let n=it(e.metadata)??{},s=it(n.decision)??{},i=[...Ps(s.rationale)??[],...t.rationale??[]].filter((o,a,c)=>c.indexOf(o)===a);return{...e,metadata:{...n,decision:{...s,...t,...i.length>0?{rationale:i}:{}}}}}function kl(e){return{taskId:e.taskId,interactionId:e.interactionId,response:e.action==="dismiss"?{kind:"dismissed"}:e.action==="approve"?{kind:"approved"}:e.action==="reject"?{kind:"rejected"}:e.action==="request-revision"?{kind:"rejected",reason:"revision requested"}:{kind:"acknowledged"}}}function _l(e,t){let n=e.trim();if(!n)throw new Error(`${t} is required.`);return n}function tf(e){try{let t=decodeURIComponent(e);return t.trim().length>0?t:null}catch{return null}}function Le(e,t){let n=_l(e,"task kind"),s=_l(t,"task id");return`${encodeURIComponent(n)}:${encodeURIComponent(s)}`}function tr(e){if(typeof e!="string")return null;let t=e.indexOf(":");if(t<=0||t>=e.length-1)return null;let n=tf(e.slice(0,t)),s=tf(e.slice(t+1));return!n||!s?null:{kind:n,id:s}}function nf(e){return tr(e)?.kind??null}function rf(e,t){return tr(e)?.kind===t}function Me(e,t){let n=_l(t,"interaction step");return`${e}:${encodeURIComponent(n)}`}function AE(e){return e instanceof Error?e.message.toLowerCase().includes("private/reserved ranges"):!1}function sf(e){let t=typeof e.paperclipApiBase=="string"?e.paperclipApiBase.trim():"";if(t.length===0)return null;let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")throw new Error("paperclipApiBase must be an http(s) URL.");return n.toString()}async function of(e,t,n,s={}){let{expectJson:i=!0,retries:o=0,headers:a,...c}=s,u=sf(t);if(!u)throw new Error("Paperclip approval API base is not configured.");let p=new URL(n,u).toString(),m=null;for(let f=0;f<=o;f+=1)try{let h=await e.http.fetch(p,{...c,headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest",...a??{}}});if(!h.ok){let b=await h.text().catch(()=>"");throw new Error(`Request failed (${h.status})${b?`: ${b.trim()}`:""}`)}return i?await h.json():void 0}catch(h){if(m=h instanceof Error?h:new Error(String(h)),f>=o)break;await new Promise(b=>setTimeout(b,250*(f+1)))}throw m??new Error("Request failed.")}async function af(e,t,n){if(!sf(n))return[];try{return await of(e,n,`/api/companies/${t}/approvals?status=pending`,{method:"GET",retries:2})}catch(s){if(AE(s))return[];throw s}}async function cf(e,t,n,s){let i=n==="request-revision"?`/api/approvals/${t}/request-revision`:`/api/approvals/${t}/${n}`;await of(e,s,i,{method:"POST",expectJson:!1,headers:{"Content-Type":"application/json"},body:JSON.stringify({})})}var wE=1,xE=2,uf=3;function Os(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function TE(e){return!e||typeof e!="object"?!1:typeof e.eventType=="string"}function RE(e){if(!e||typeof e!="object")return!1;let t=e;return t.kind!=="event"&&t.kind!=="response"&&t.kind!=="overlay-response"&&t.kind!=="signal"||typeof t.id!="string"||typeof t.occurredAt!="string"||!TE(t.source)?!1:t.kind==="event"?!!t.apertureEvent&&typeof t.apertureEvent=="object":t.kind==="response"?!!t.apertureResponse&&typeof t.apertureResponse=="object":t.kind==="overlay-response"?!!t.apertureResponse&&typeof t.apertureResponse=="object"&&!!t.overlay&&typeof t.overlay=="object":!!t.apertureSignal&&typeof t.apertureSignal=="object"}function yn(e){return Array.isArray(e)&&e.every(RE)}function nr(e,t){if(!e||typeof e!="object")return!1;let n=e;return n.companyId!==t||typeof n.updatedAt!="string"||!n.frames||typeof n.frames!="object"?!1:Object.values(n.frames).every(s=>{if(!s||typeof s!="object")return!1;let i=s;return(i.lastSeenAt===void 0||typeof i.lastSeenAt=="string")&&(i.suppressedAt===void 0||typeof i.suppressedAt=="string")})}function df(e,t){let n=t.snapshot??ue(e),s=t.review??Q(e);return{schemaVersion:uf,payload:{companyId:e,ledger:[...t.ledger],snapshot:n,review:s,meta:Ns(t.ledger)}}}function pf(e,t){let n=Os(t);if(!n)return null;let s=n.schemaVersion;return s===uf||s===xE?lf(e,n):s===wE?CE(e,n):s===void 0?PE(e,n):null}function Ns(e,t=new Date().toISOString()){let n=e.length;return{persistedAt:t,ledgerEntries:n,eventEntries:e.filter(s=>s.kind==="event").length,responseEntries:e.filter(s=>s.kind==="response").length,overlayResponseEntries:e.filter(s=>s.kind==="overlay-response").length,signalEntries:e.filter(s=>s.kind==="signal").length,replayStrategy:"full-ledger",compactionRecommended:n>2e3}}function lf(e,t){let n=Os(t.payload);if(!n||n.companyId!==e)return null;let s=yn(n.ledger)?n.ledger:st(),i=hn(e,n.snapshot),o=nr(n.review,e)?n.review:Q(e);return i?{companyId:e,ledger:s,snapshot:i,review:o,meta:OE(n.meta,s)}:null}function CE(e,t){let n=Os(t.payload);if(!n||n.companyId!==e)return null;let s=yn(n.ledger)?n.ledger:st(),i=hn(e,n.snapshot),o=nr(n.review,e)?n.review:Q(e);return i?{companyId:e,ledger:s,snapshot:i,review:o,meta:Ns(s)}:null}function PE(e,t){if(t.companyId!==e)return null;let n=yn(t.ledger)?t.ledger:st(),s=hn(e,t.snapshot),i=nr(t.review,e)?t.review:Q(e);return s?{companyId:e,ledger:n,snapshot:s,review:i,meta:Ns(n)}:null}function OE(e,t){let n=Os(e);return n&&typeof n.persistedAt=="string"&&typeof n.ledgerEntries=="number"&&typeof n.eventEntries=="number"&&typeof n.responseEntries=="number"?{persistedAt:n.persistedAt,ledgerEntries:n.ledgerEntries,eventEntries:n.eventEntries,responseEntries:n.responseEntries,overlayResponseEntries:typeof n.overlayResponseEntries=="number"?n.overlayResponseEntries:t.filter(s=>s.kind==="overlay-response").length,signalEntries:typeof n.signalEntries=="number"?n.signalEntries:t.filter(s=>s.kind==="signal").length,replayStrategy:"full-ledger",compactionRecommended:typeof n.compactionRecommended=="boolean"?n.compactionRecommended:t.length>2e3}:Ns(t)}var gf="attention-state",ff="attention-snapshot",hf="attention-ledger",yf="attention-review",mf="attention-updates",Ls=new Map,El=[10,30];function ee(e,t){let n=e[t];if(typeof n=="string"&&n.trim().length>0)return n;throw new Error(`${t} is required`)}function G(e){return ee(e,"companyId")}async function rr(e,t){let n=await e.state.get({scopeKind:"company",scopeId:t,stateKey:gf});return pf(t,n)}async function NE(e,t,n){await e.state.set({scopeKind:"company",scopeId:t,stateKey:gf},df(t,n))}function De(e,t){e.streams.open(mf,t.companyId),e.streams.emit(mf,t)}async function Sf(e,t){for(let n=0;n<=El.length;n+=1)try{await e();return}catch(s){let i=n===El.length;if(t(s,n+1,i),i)return;await new Promise(o=>{setTimeout(o,El[n])})}}async function Vt(e,t,n){await Sf(async()=>{await e.telemetry.track(t,{surface:"focus",...n??{}})},(s,i,o)=>{e.logger.warn(o?"Failed to emit Focus telemetry after retries":"Retrying Focus telemetry after failure",{eventName:t,attempt:i,error:s instanceof Error?s.message:String(s)})})}async function Al(e,t){await Sf(async()=>{await e.activity.log({companyId:t.companyId,message:t.message,...t.entityType?{entityType:t.entityType}:{},...t.entityId?{entityId:t.entityId}:{},...t.metadata?{metadata:t.metadata}:{}})},(n,s,i)=>{e.logger.warn(i?"Failed to write Focus activity log entry after retries":"Retrying Focus activity log entry after failure",{message:t.message,entityType:t.entityType,entityId:t.entityId,attempt:s,error:n instanceof Error?n.message:String(n)})})}async function ze(e,t,n,s){let i=Ls.get(n)??Promise.resolve(),o,a=new Promise(b=>{o=b}),c=i.catch(()=>{}).then(()=>a);Ls.set(n,c),await i.catch(()=>{});let u=await rr(e,n),p=t.getLedger(n),m=t.getSnapshot(n)??ue(n),f=t.getReview(n)??u?.review??Q(n),h=u??{companyId:n,ledger:p,snapshot:m,review:f};try{let b=await s();try{return b.review&&t.setReview(n,b.review),await NE(e,n,{ledger:b.ledger,snapshot:b.snapshot,review:b.review??t.getReview(n)??f}),t.markPersistenceHealthy(n),b}catch(I){throw t.restore(n,h),t.markPersistenceFault(n,I instanceof Error?I.message:String(I)),I}}catch(b){throw t.restore(n,h),b}finally{o(),Ls.get(n)===c&&Ls.delete(n)}}async function Ms(e,t,n){let s=t.getReview(n);if(s)return s;let i=await rr(e,n);return i?.review?i.review:Q(n)}function Ds(e,t,n,s=!1){let i=new Date().toISOString(),o={...e,updatedAt:i,lastSeenAt:i,frames:{...e.frames}};for(let a of n){let c=o.frames[a]??{};o.frames[a]={...c,lastSeenAt:i,...s?{suppressedAt:i}:{}}}return o}function LE(e,t){return e?[...e.now?[e.now]:[],...e.next,...e.ambient].some(s=>s.taskId===t):!1}function bf(e){return nf(e)??"unknown"}function ME(e,t){return e?e.now?.taskId===t?"now":e.next.some(n=>n.taskId===t)?"next":e.ambient.some(n=>n.taskId===t)?"ambient":"ui_only":"ui_only"}function wl(e){let t=e.occurredAt??new Date().toISOString();return{kind:"signal",id:`${e.taskId}:${e.signal.kind}:${t}`,occurredAt:t,source:{eventType:e.sourceEventType,entityId:e.sourceEntityId??e.taskId,entityType:bf(e.taskId)},apertureSignal:{...e.signal,taskId:e.taskId,interactionId:e.interactionId,timestamp:t}}}function sr(e,t){let n=ME(e,t),s=bf(t),i=n==="ui_only"?null:n==="now"?e?.now??null:n==="next"?e?.next.find(a=>a.taskId===t)??null:e?.ambient.find(a=>a.taskId===t)??null,o={entityType:s,lane:n};if(i?.mode&&(o.mode=i.mode),i?.source?.kind&&(o.sourceKind=i.source.kind),i){let a=er(i);typeof a.liveReconciled=="boolean"&&(o.liveReconciled=a.liveReconciled)}return o}function DE(e){let t=tr(e);return t?.kind==="approval"?t.id:null}function If(e,t){e.actions.register("set-focus-presence",async n=>{let s=G(n),o=ee(n,"presence")==="absent"?"absent":"present";return{ok:!0,operatorPresence:t.setOperatorPresence(s,o)}}),e.actions.register("mark-attention-viewed",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=typeof n.surface=="string"&&n.surface.trim().length>0?n.surface.trim():"focus",c=t.getSnapshot(s),u=wl({taskId:i,interactionId:o,sourceEventType:"plugin.local.viewed",signal:{kind:"viewed",surface:a}}),{snapshot:p,changed:m}=await ze(e,t,s,()=>{let{ledger:f,snapshot:h,changed:b}=t.applySignal(s,u);return{ledger:f,snapshot:h,changed:b}});return m&&De(e,{companyId:s,reason:"action",eventType:"plugin.local.viewed",updatedAt:p.updatedAt,counts:p.counts}),await Vt(e,"frame_viewed",{...sr(c,i),surface:a}),{ok:!0,snapshot:p,changed:m}}),e.actions.register("engage-focus",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=typeof n.durationMs=="number"&&Number.isFinite(n.durationMs)?Math.max(25,Math.floor(n.durationMs)):void 0,c=typeof n.reason=="string"&&n.reason.trim().length>0?n.reason.trim():"operator_interaction",u=t.getSnapshot(s),p=new Date().toISOString(),m=[wl({taskId:i,interactionId:o,occurredAt:p,sourceEventType:"plugin.local.engage.viewed",signal:{kind:"viewed",surface:"focus"}}),...c==="show_context"||c==="comment_compose"?[wl({taskId:i,interactionId:o,occurredAt:p,sourceEventType:"plugin.local.engage.context_expanded",signal:{kind:"context_expanded",surface:"focus",section:c==="show_context"?"now_context":"comment_compose"}})]:[]],{snapshot:f,changed:h}=await ze(e,t,s,()=>{let b=t.engage(s,i,o,{durationMs:a}),I=t.getLedger(s),N=b.snapshot,K=!1;for(let $ of m){let q=t.applySignal(s,$);I=q.ledger,N=q.snapshot,K||=q.changed}return{ledger:I,snapshot:N,changed:b.changed||K}});return h&&De(e,{companyId:s,reason:"action",eventType:"plugin.local.engage",updatedAt:f.updatedAt,counts:f.counts}),await Vt(e,"focus_engaged",{...sr(u,i),actionKind:"engage",reason:c,...a?{durationMs:a}:{}}),{ok:!0,snapshot:f,changed:h}}),e.actions.register("acknowledge-frame",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=kl({taskId:i,interactionId:o,action:"acknowledge"}),c={kind:"response",id:`${i}:acknowledge:${Date.now()}`,occurredAt:new Date().toISOString(),source:{eventType:"plugin.local.acknowledge",entityId:i},apertureResponse:a},u=t.getSnapshot(s),p=await Ms(e,t,s),m=Ds(p,s,[i],!0),{snapshot:f}=await ze(e,t,s,()=>{let{ledger:h,snapshot:b}=t.applyResponse(s,c);return{ledger:h,snapshot:b,review:m}});return De(e,{companyId:s,reason:"action",eventType:"plugin.local.acknowledge",updatedAt:f.updatedAt,counts:f.counts}),await Vt(e,"frame_acknowledged",{...sr(u,i)}),{ok:!0,snapshot:f}}),e.actions.register("comment-on-issue",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"issueId"),a=ee(n,"body").trim(),c=tr(i);if(!c||c.kind!=="issue")throw new Error("Comments can only be posted on issue-backed frames.");if(c.id!==o)throw new Error("Issue comment target does not match the selected frame.");let u=await e.issues.createComment(o,a,s),p=t.getSnapshot(s),m=await Ms(e,t,s),f=Ds(m,s,[i],!1),{snapshot:h}=await ze(e,t,s,()=>(t.invalidateHostCache(s,{keys:[`issue:${o}:detail`,`issue:${o}:comments`],prefixes:["issues:blocked","issues:in_review"]}),t.setReview(s,f),{ledger:t.getLedger(s),snapshot:t.getSnapshot(s)??ue(s),review:f}));return De(e,{companyId:s,reason:"action",eventType:"plugin.local.comment",updatedAt:h.updatedAt,counts:h.counts}),await Vt(e,"issue_comment_submitted",{...sr(p,i),actionKind:"comment"}),await Al(e,{companyId:s,message:"Posted an issue comment from Focus.",entityType:"issue",entityId:o,metadata:{source:"focus",taskId:i}}),{ok:!0,comment:u,review:f}}),e.actions.register("record-approval-response",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=ee(n,"decision");if(!rf(i,"approval"))throw new Error("Approval responses can only be recorded for approval-backed frames.");if(!["approve","reject","request-revision"].includes(a))throw new Error("decision must be approve, reject, or request-revision.");let c=kl({taskId:i,interactionId:o,action:a}),u={kind:"response",id:`${i}:${a}:${Date.now()}`,occurredAt:new Date().toISOString(),source:{eventType:`plugin.local.approval.${a}`,entityId:i},apertureResponse:c},p=DE(i);if(!p)throw new Error("Approval responses require a durable approval id.");let m=await e.config.get();await cf(e,p,a,m),t.invalidateApprovals(s);let f=await Ms(e,t,s),h=Ds(f,s,[i],!0),b=t.getSnapshot(s),I=LE(b,i),{snapshot:N}=await ze(e,t,s,()=>{if(I){let{ledger:M,snapshot:ct}=t.applyResponse(s,u);return{ledger:M,snapshot:ct,review:h}}let K={kind:"overlay-response",id:u.id,occurredAt:u.occurredAt,source:u.source,apertureResponse:u.apertureResponse,overlay:{kind:"approval_overlay",reason:"Approval frame came from the Paperclip approvals display adapter, not the replayed Core snapshot."}},{ledger:$,snapshot:q}=t.applyOverlayResponse(s,K);return{ledger:$,snapshot:q,review:h}});return De(e,{companyId:s,reason:"action",eventType:`plugin.local.approval.${a}`,updatedAt:N.updatedAt,counts:N.counts}),await Vt(e,"approval_response_recorded",{...sr(b,i),decision:a==="request-revision"?"request_revision":a}),await Al(e,{companyId:s,message:a==="approve"?"Approved a Focus approval.":a==="reject"?"Rejected a Focus approval.":"Requested revision on a Focus approval.",entityType:"approval",entityId:p,metadata:{source:"focus",decision:a,taskId:i}}),{ok:!0,snapshot:N,review:h}}),e.actions.register("mark-attention-seen",async n=>{let s=G(n),i=Array.isArray(n.taskIds)?n.taskIds.filter(u=>typeof u=="string"&&u.trim().length>0):[];if(i.length===0)throw new Error("taskIds must include at least one frame task id.");let o=await Ms(e,t,s),a=Ds(o,s,i),{snapshot:c}=await ze(e,t,s,()=>(t.setReview(s,a),{ledger:t.getLedger(s),snapshot:t.getSnapshot(s)??ue(s),review:a}));return De(e,{companyId:s,reason:"action",eventType:"plugin.local.seen",updatedAt:c.updatedAt,counts:c.counts}),await Vt(e,"attention_seen_marked",{frameCount:i.length}),{ok:!0,review:a,snapshot:c}})}var H={approvalType:"approval-type",requestedAmount:"requested-amount",budgetReason:"budget-reason",decisionContext:"decision-context",linkedIssues:"linked-issues",needsActionFrom:"needs-action-from",blockedBy:"blocked-by",blocksTarget:"blocks-target",recommendedMove:"recommended-move",issueStatus:"issue-status",issuePriority:"issue-priority",issueWorkMode:"issue-work-mode",blockedReason:"blocked-reason",blockedSeverity:"blocked-severity",recoveryAction:"recovery-action",documentLock:"document-lock",latestComment:"latest-comment",agentStatus:"agent-status",pauseReason:"pause-reason",agentTitle:"agent-title"};function V(e,t,n){return{id:e,label:t,value:n}}function be(e){return e.split(/[_\-.]/g).filter(Boolean).map(t=>t.slice(0,1).toUpperCase()+t.slice(1)).join(" ")}function Us(e){return V(H.approvalType,"Type",e)}function Fs(e){return V(H.requestedAmount,"Requested amount",e)}function js(e){return V(H.budgetReason,"Reason",e)}function qs(e){return V(H.decisionContext,"Decision context",e)}function vf(e){return V(H.linkedIssues,"Linked issues",e)}function kf(e){return V(H.needsActionFrom,"Needs action from",e)}function _f(e){return V(H.blockedBy,"Blocked by",e)}function Ef(e){return V(H.blocksTarget,"Blocks",e)}function Af(e){return V(H.recommendedMove,"Recommended move",e)}function wf(e){return V(H.issueStatus,"Status",e)}function xf(e){return V(H.issuePriority,"Priority",e)}function Tf(e){return V(H.issueWorkMode,"Mode",e)}function Rf(e){return V(H.blockedReason,"Blocked reason",e)}function Cf(e){return V(H.blockedSeverity,"Severity",e)}function Pf(e){return V(H.recoveryAction,"Recovery",e)}function Of(e){return V(H.documentLock,"Document lock",e)}function Nf(e){return V(H.latestComment,"Latest comment",e)}function Lf(e){return V(H.agentStatus,"Status",e)}function Mf(e){return V(H.pauseReason,"Pause reason",e)}function Df(e){return V(H.agentTitle,"Role",e)}var UE=300*1e3;function ir(e,t){return e.timing.updatedAt||t}function Uf(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function FE(e,t,n){let s=Uf(ir(e,t)),i=Uf(n);return s===null||i===null?!1:i-s>UE}function Ff(){return{now:0,next:0,ambient:0,total:0}}function jf(e,t){return e?.frames[t]}function jE(e,t,n){let s=jf(n,e.taskId)?.suppressedAt;return s?ir(e,t).localeCompare(s)<=0:!1}function xl(e,t,n){let s=ir(e,t),i=jf(n,e.taskId)?.lastSeenAt??n?.lastSeenAt;return i?s.localeCompare(i)>0:!0}function qE(e,t){let n=Ff();return e.now&&xl(e.now,e.updatedAt,t)&&(n.now+=1),n.next=e.next.filter(s=>xl(s,e.updatedAt,t)).length,n.ambient=e.ambient.filter(s=>xl(s,e.updatedAt,t)).length,n.total=n.now+n.next+n.ambient,n}function $E(e,t){return{...e,review:{lastSeenAt:t?.lastSeenAt,unread:qE(e,t)}}}function Sn(e,t,n,s,i=new Date().toISOString()){let o=e??{companyId:t,updatedAt:new Date().toISOString(),now:null,next:[],ambient:[],counts:Ff()},a=new Set(n.map(M=>M.frame.taskId)),u=[...[...o.now?[{frame:o.now,lane:"now"}]:[],...o.next.map(M=>({frame:M,lane:"next"})),...o.ambient.map(M=>({frame:M,lane:"ambient"}))].filter(M=>!a.has(M.frame.taskId)),...n].filter(M=>!jE(M.frame,o.updatedAt,s)),p=M=>u.filter(ct=>ct.lane===M).sort((ct,Ge)=>ir(Ge.frame,o.updatedAt).localeCompare(ir(ct.frame,o.updatedAt))),m=p("now"),f=p("next"),h=p("ambient").filter(M=>!FE(M.frame,o.updatedAt,i)),b=m.shift()??null,I=b?null:f.shift()??null,N=b??I,K=[...m,...f].map(M=>M.frame),$=h.map(M=>M.frame),q=I?Ht(I.frame,{owner:"display_merge",lane:"now",sourcePolicy:"mergeStoredFrames.promoteNextWhenNowEmpty",promotedFromLane:"next",rationale:["No explicit now candidate was available, so the highest next candidate became the active focus."]}):N?.frame??null;return $E({...o,now:q,next:K,ambient:$,counts:{now:q?1:0,next:K.length,ambient:$.length,total:(q?1:0)+K.length+$.length}},s)}function $s(e){return e?"Budget controls are blocking work until a board decision lands.":"A board decision is blocking work in Paperclip."}function or(e){return e?"Budget controls are blocking work until a board decision lands.":"Paperclip is waiting on a human approval before work can continue."}function qf(e){return e.status==="error"?{whyNow:"This agent is in an error state and may have a failed or stalled run.",factors:["run failed","operator review"]}:e.status==="pending_approval"?{whyNow:"This agent is paused behind a human approval gate.",factors:["pending approval","waiting on human"]}:e.pauseReason==="budget"?{whyNow:"This agent is paused by budget controls.",factors:["budget stop","paused work"]}:{whyNow:"This agent is paused and may represent stale work.",factors:["paused work"]}}function $f(e){return e.status==="error"?"An agent needs operator attention after entering an error state.":e.status==="pending_approval"?"A human decision is required before this agent can continue.":e.pauseReason==="budget"?"Budget controls are holding this agent in a paused state.":"This agent is paused and may need a quick operator check."}function Bf(e){return e.status==="error"?`${e.name} needs attention`:e.status==="pending_approval"?`${e.name} is waiting for approval`:`${e.name} is paused`}function Hf(){return"An agent run failed and may need operator attention."}function Vf(){return"A Paperclip-managed run failed and is now competing for operator attention."}function Kf(){return"Agent waiting for approval"}function zf(){return"A Paperclip-managed agent cannot continue until a pending approval is resolved."}function Tl(){return"The agent is paused behind a Paperclip approval gate."}function BE(e){let t=e.payload??{},n=typeof t.title=="string"?t.title:typeof t.plan=="string"?t.plan:typeof t.name=="string"?t.name:null;return n||`${be(e.type)} approval`}function Rl(e){return e.type==="budget_override_required"}function HE(e){return e?e.filter(t=>t.status==="pending"||t.status==="revision_requested").sort((t,n)=>{let s=Rl(t)?1:0,i=Rl(n)?1:0;return s!==i?i-s:(n.updatedAt??n.createdAt).localeCompare(t.updatedAt??t.createdAt)}):[]}function VE(e){let t=Le("approval",e.id),n=e.payload??{},s=Rl(e),i=typeof n.requestedAmount=="string"?n.requestedAmount:void 0,o=typeof n.reason=="string"?n.reason:void 0,a=typeof n.decisionContext=="string"?n.decisionContext:void 0,c=typeof n.summary=="string"?n.summary:$s(s),u=e.updatedAt??e.createdAt,p={whyNow:or(s),factors:s?["budget stop","approval","operator decision"]:["approval","operator decision"]};return Ht({id:`approval-bootstrap:${e.id}`,taskId:t,interactionId:Me(t,"approval"),source:{id:"paperclip:approval",kind:"paperclip",label:"Paperclip approval"},version:1,mode:"approval",tone:"focused",consequence:s?"high":"medium",title:BE(e),summary:c,context:{items:[{...Us(be(e.type))},...i?[Fs(i)]:[],...o?[js(o)]:[],...a?[qs(a)]:[]]},responseSpec:{kind:"approval",actions:[{id:"approve",label:"Approve",kind:"approve",emphasis:"primary"},{id:"reject",label:"Reject",kind:"reject",emphasis:"danger"},...s?[{id:"request-revision",label:"Request revision",kind:"cancel",emphasis:"secondary"}]:[]]},provenance:p,timing:{createdAt:e.createdAt,updatedAt:u},metadata:{entityType:"approval",approvalStatus:e.status,approvalType:e.type,attention:{rationale:p.factors},semantic:{confidence:"high"}}},{owner:"approval_overlay",lane:"next",sourcePolicy:"pendingApprovals.displayOverlay",rationale:["Pending approval fetched from Paperclip approvals adapter."]})}function Cl(e,t,n,s){let i=HE(n).map(VE),o=e??ue(t);return Sn(o,t,[...i.map(c=>({frame:c,lane:"next"}))],s)}var KE=[{id:"clarification.generic",key:"clarification",pattern:/\b(?:clarification|clarify|question|need(?:s|ed)?\s+(?:info|more|clarification|feedback)|waiting on|feedback needed)\b/i,description:"Signals that the thread is blocked on clarification or more information."},{id:"resolution.direction",key:"resolution",pattern:/final direction|lock these in|use these|not a request for iteration|you can proceed|ready to proceed|unblocked|resolved/i,description:"Signals that the latest guidance appears to resolve or unblock the thread."},{id:"artifact.share_with_board",key:"share_with_board",pattern:/share .* with the board/i,description:"Signals that a review artifact still needs to be shared with the board."},{id:"confirmation.explicit",key:"confirmation",pattern:/please review and confirm|review and confirm|confirm the direction|confirm whether|\bconfirm\b/i,description:"Signals an explicit confirmation step before work can continue."},{id:"board_instruction.explicit",key:"board_instruction",pattern:/(board should either .*?)(?:[.!?]|$)/i,description:"Signals explicit board-facing instructions in the latest operator text."},{id:"dependency.reference",key:"dependency_reference",pattern:/\b[A-Z]+-\d+\b/,description:"Signals a downstream dependency reference in the thread."}];function zE(e){return e.toUpperCase()===e?e:e.slice(0,1).toUpperCase()+e.slice(1).toLowerCase()}function WE(e){return e.toUpperCase()===e?e:e.toLowerCase()}function We(e,t=180){let n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-1).trimEnd()}\u2026`}function GE(e,t){return[t?.body,e.description].filter(n=>!!n).join(`
10
- `)}function Bs(e){if(!e)return 0;if(e instanceof Date)return e.getTime();let t=Date.parse(e);return Number.isNaN(t)?0:t}function Wf(e){return e?typeof e=="string"?e:e.toISOString():null}function Gf(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function YE(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Hs(e){return Le("issue",e)}function ZE(e){let t=new Set,n=[];for(let s of KE)s.pattern.test(e)&&(t.add(s.key),n.push(s.id));return{intents:t,matchedRuleIds:n}}function JE(e,t){let n=t?.toUpperCase();return(e.match(/\b[A-Z]+-\d+\b/g)??[]).find(i=>i.toUpperCase()!==n)??null}function XE(e){return e.replace(/\s+/g," ").trim().match(/(board should either .*?)(?:[.!?]|$)/i)?.[1]??null}function QE(e){return e.has("resolution")||e.has("share_with_board")||e.has("confirmation")||e.has("board_instruction")?"high":e.has("clarification")?"medium":null}function eA(e,t){let n=[],s=t??void 0;return s&&n.push({kind:"same_issue",target:s}),e.has("resolution")?(n.push(s?{kind:"resolves",target:s}:{kind:"resolves"}),n):e.has("share_with_board")||e.has("confirmation")||e.has("board_instruction")?(n.push(s?{kind:"supersedes",target:s}:{kind:"supersedes"}),n):(e.has("clarification")&&n.push(s?{kind:"repeats",target:s}:{kind:"repeats"}),n)}function Pl(e){let{intents:t,matchedRuleIds:n}=ZE(e.text);return{text:e.text,blockingTarget:JE(e.text,e.identifier),intents:t,matchedRuleIds:n,explicitBoardInstruction:XE(e.text),semanticConfidence:QE(t),relationHints:eA(t,e.issueTarget)}}function tA(e,t){if(!t||t.agentNames.length===0)return null;let n=e.match(/needed from\s+@([a-z0-9_-]+)/i)??e.match(/@([a-z0-9_-]+)/i);if(n?.[1]){let s=Gf(n[1]),i=t.agentNames.find(o=>Gf(o)===s);if(i)return i}return[...t.agentNames].sort((s,i)=>i.length-s.length).find(s=>new RegExp(`\\b${YE(s)}\\b`,"i").test(e))??null}function Yf(e,t,n){let s=GE(e,t),i=Pl({text:s,identifier:e.identifier,issueTarget:Hs(e.id)}),o=tA(s,n),a=s.match(/needed from\s+@([a-z0-9_-]+)/i)??s.match(/@([a-z0-9_-]+)/i),c=o??(a?.[1]?zE(a[1]):/board should|board can/i.test(s)?"Board":/ceo agent|@ceo|\bceo\b/i.test(s)?"CEO":/requires human|waiting on human|human review/i.test(s)?"Human":/operator intervention|operator review/i.test(s)?"Operator":null);return{...i,owner:c,ownerKind:o?"agent":c?"human":null}}function te(e,t){return e.intents.has(t)}function ar(e,t){return t==="agent"?e:WE(e)}function nA(e){return e.length===0?null:[...e].sort((t,n)=>Bs(n.updatedAt)-Bs(t.updatedAt))[0]??null}function Zf(e,t,n){let s=nA(e),i=Wf(s?.updatedAt),o=Wf(s?.lockedAt),a=t?.updatedAt??null,c=e.filter(u=>!!u.lockedAt);return{hasDocuments:e.length>0,hasLockedDocuments:c.length>0,latestDocumentTitle:s?.title??null,latestDocumentUpdatedAt:i,latestDocumentLockedAt:o,latestDocumentLockOwnerKind:s?.lockedByAgentId?"agent":s?.lockedByUserId?"user":null,latestDocumentLockOwnerId:s?.lockedByAgentId??s?.lockedByUserId??null,resolvesArtifactRequest:te(n,"share_with_board")&&!!s&&(!a||Bs(i)>=Bs(a))}}function Jf(e,t,n){let s=t.text.replace(/\s+/g," ").trim();return n?.resolvesArtifactRequest?n.latestDocumentLockedAt?"Monitor the locked review snapshot now that the memo is attached.":"Monitor the review now that the memo is attached.":te(t,"resolution")?"Monitor execution and confirm the team resumes work.":te(t,"share_with_board")?"Share the memo with the board so review can continue.":t.explicitBoardInstruction?We(t.explicitBoardInstruction,140):te(t,"confirmation")?t.blockingTarget?`Confirm the direction so ${t.blockingTarget} can proceed.`:"Review the draft and confirm whether work should proceed.":/leave a comment/i.test(s)?"Leave a comment with enough context for work to resume.":/complete [A-Z]+-\d+/i.test(s)?"Complete the blocking dependency or add enough context to proceed.":e.status==="blocked"?"Unblock the dependency or add the missing context needed to continue.":e.status==="in_review"?"Review the issue and decide whether work can continue.":null}function Xf(e,t,n){if(n?.resolvesArtifactRequest)return n.latestDocumentLockedAt?"The requested memo is attached and locked, so review should be able to continue from the preserved snapshot.":"The requested memo appears attached, so review should be able to continue.";if(te(t,"resolution"))return"Latest operator guidance appears to unblock this issue.";if(te(t,"share_with_board"))return"Board still needs the memo before review can continue.";if(te(t,"confirmation")&&t.blockingTarget)return`Waiting on confirmation before ${t.blockingTarget} can proceed.`;let s=te(t,"clarification"),i=t.owner;return e.status==="blocked"&&i?s?`Blocked on ${ar(i,t.ownerKind)} clarification before work can continue.`:`Blocked on ${ar(i,t.ownerKind)} action before work can continue.`:e.status==="blocked"?s?"Blocked issue waiting on clarification before work can continue.":"Blocked issue that may need operator intervention to move forward.":e.status==="in_review"?i?`Waiting on ${ar(i,t.ownerKind)} review before work can continue.`:"Issue is waiting on human review before work can continue.":e.description?We(e.description):"This issue has new operator-relevant activity."}function Qf(e,t,n){if(n?.resolvesArtifactRequest)return{whyNow:n.latestDocumentTitle?n.latestDocumentLockedAt?`${n.latestDocumentTitle} was attached and locked after the request, so the missing artifact appears preserved for review.`:`${n.latestDocumentTitle} was attached after the request, so the missing artifact appears resolved.`:n.latestDocumentLockedAt?"A review document was attached and locked after the request, so the missing artifact appears preserved for review.":"A review document was attached after the request, so the missing artifact appears resolved.",factors:n.latestDocumentLockedAt?["document attached","document locked","review can proceed"]:["document attached","review can proceed"]};if(te(t,"resolution"))return{whyNow:"The latest comment appears to resolve the blocker; monitor execution rather than intervening.",factors:["comment follow-up"]};if(te(t,"share_with_board"))return{whyNow:"The board still needs the memo before review can continue.",factors:["waiting on human","issue review"]};if(te(t,"confirmation")&&t.blockingTarget)return{whyNow:`${t.blockingTarget} is waiting on explicit confirmation before work can continue.`,factors:["waiting on human","issue review"]};let s=t.owner;if(e.status==="blocked"){let i=te(t,"clarification");return{whyNow:s?i?`This issue is blocked on clarification from ${ar(s,t.ownerKind)}.`:`This issue is blocked on action from ${ar(s,t.ownerKind)}.`:i?"This issue is blocked on clarification from a human.":"This issue is blocked and may need operator intervention.",factors:i?["blocked","needs clarification","waiting on human"]:["blocked","operator review"]}}return e.status==="in_review"?{whyNow:"This issue is waiting on human review before work can continue.",factors:["waiting on human","issue review"]}:{whyNow:"A recent issue comment added operator-relevant context.",factors:["comment follow-up"]}}var Ol=6,rA=15e3,sA=15e3,iA=15e3,oA=15e3,aA=15e3;function cA(e,t){let n={...e?{confidence:e}:{},...t.length>0?{relationHints:t}:{}};return Object.keys(n).length>0?n:void 0}function Ee(e){if(e)return typeof e=="string"?e:e.toISOString()}function eh(e){if(!e)return 0;if(e instanceof Date)return e.getTime();let t=Date.parse(e);return Number.isNaN(t)?0:t}function Vs(e){return Ee(e)??null}function ne(e){return be(e).toLowerCase()}function bn(e){return e?.status==="active"||e?.status==="escalated"}function nh(e){return e?e.identifier?`${e.identifier} ${e.title}`:e.title:null}function lA(e){let t=e.owner.label?.trim();return t||(e.owner.type==="unknown"?null:be(e.owner.type))}function uA(e){return bn(e)?e.ownerType==="system"?"System":e.ownerType==="board"?"Board":e.ownerType==="agent"?e.ownerAgentId?`Agent ${e.ownerAgentId}`:"Agent":e.ownerUserId?`User ${e.ownerUserId}`:"User":null}function dA(e){return e.action.label||e.action.detail}function pA(e){return bn(e)?e.nextAction||`Resolve the ${ne(e.kind)} recovery action.`:null}function mA(e){if(e.action.detail)return We(e.action.detail);if(e.action.label)return We(e.action.label);let t=nh(e.leafIssue??e.sourceIssue);return t?`${t} needs attention before this blocked issue can move.`:`Paperclip marked this blocked issue as ${ne(e.state)}.`}function gA(e){let t=e.nextAction?`: ${We(e.nextAction,140)}`:".";return`Paperclip opened a ${ne(e.kind)} recovery action${t}`}function fA(e){let t=e.action.detail||e.action.label;return{whyNow:t?`Paperclip Blocked Inbox marks this as ${ne(e.severity)} urgency for ${ne(e.reason)}: ${We(t,140)}`:`Paperclip Blocked Inbox marks this as ${ne(e.severity)} urgency for ${ne(e.reason)}.`,factors:["blocked inbox",ne(e.reason),`${ne(e.severity)} urgency`]}}function hA(e){return{whyNow:e.nextAction?`Paperclip has an ${ne(e.status)} ${ne(e.kind)} recovery action: ${We(e.nextAction,140)}`:`Paperclip has an ${ne(e.status)} ${ne(e.kind)} recovery action.`,factors:["recovery action",ne(e.kind),ne(e.status)]}}function yA(e){return e.severity==="critical"||e.severity==="high"?"high":e.severity==="medium"?"medium":"low"}function SA(e,t){return e.blockedInboxAttention?yA(e.blockedInboxAttention):e.activeRecoveryAction?.status==="escalated"||e.activeRecoveryAction?.status==="active"&&e.priority==="critical"?"high":e.status==="blocked"?xA(e):t==="ambient"?"low":"medium"}function bA(e,t){return e.blockedInboxAttention?.severity==="critical"||e.activeRecoveryAction?.status==="escalated"?"critical":e.status==="blocked"?"focused":t==="ambient"?"ambient":"focused"}function IA(e){return nh(e.leafIssue??e.sourceIssue)}function vA(e){return e.latestDocumentLockedAt?`Locked snapshot${e.latestDocumentLockOwnerKind?` by ${e.latestDocumentLockOwnerKind}`:""}`:null}function Nl(e){return e?{id:e.id,identifier:e.identifier,title:e.title,status:e.status,priority:e.priority,assigneeAgentId:e.assigneeAgentId,assigneeUserId:e.assigneeUserId}:null}function kA(e){return{state:e.state,reason:e.reason,severity:e.severity,stoppedSinceAt:e.stoppedSinceAt,owner:e.owner,action:e.action,sourceIssue:Nl(e.sourceIssue),leafIssue:Nl(e.leafIssue),recoveryIssue:Nl(e.recoveryIssue),approvalId:e.approvalId,interactionId:e.interactionId,sampleIssueIdentifier:e.sampleIssueIdentifier,redaction:e.redaction}}function _A(e){return{id:e.id,kind:e.kind,status:e.status,ownerType:e.ownerType,ownerAgentId:e.ownerAgentId,ownerUserId:e.ownerUserId,cause:e.cause,nextAction:e.nextAction,attemptCount:e.attemptCount,maxAttempts:e.maxAttempts,timeoutAt:Vs(e.timeoutAt),lastAttemptAt:Vs(e.lastAttemptAt),outcome:e.outcome,resolvedAt:Vs(e.resolvedAt),updatedAt:Vs(e.updatedAt)}}function EA(e){return e.hasDocuments?{hasDocuments:e.hasDocuments,hasLockedDocuments:e.hasLockedDocuments,latestDocumentTitle:e.latestDocumentTitle,latestDocumentUpdatedAt:e.latestDocumentUpdatedAt,latestDocumentLockedAt:e.latestDocumentLockedAt,latestDocumentLockOwnerKind:e.latestDocumentLockOwnerKind,latestDocumentLockOwnerId:e.latestDocumentLockOwnerId,resolvesArtifactRequest:e.resolvesArtifactRequest}:null}function rh(){return{kind:"acknowledge",actions:[{id:"acknowledge",label:"Acknowledge",kind:"acknowledge",emphasis:"primary"}]}}function AA(e){return e.identifier?`${e.identifier} ${e.title}`:e.title}function wA(e){let t=e.filter(i=>!i.deletedAt);if(t.length===0)return null;let n=[...t].sort((i,o)=>eh(o.updatedAt)-eh(i.updatedAt))[0],s=Ee(n.updatedAt)??Ee(n.createdAt)??new Date(0).toISOString();return{body:We(n.body),updatedAt:s}}function xA(e){return e.priority==="critical"||e.priority==="high"?"high":"medium"}function TA(e,t,n){if(e.blockedInboxAttention){let s=e.blockedInboxAttention;return s.severity==="critical"||s.severity==="high"||s.state==="needs_attention"||s.state==="recovery_open"||s.state==="missing_disposition"?"now":"next"}return e.activeRecoveryAction?.status==="escalated"?"now":bn(e.activeRecoveryAction)?e.priority==="critical"||e.priority==="high"?"now":"next":(e.status==="blocked"||e.status==="in_review")&&(te(n.analysis,"resolution")||n.documentSignal.resolvesArtifactRequest)?t||e.isUnreadForMe||n.documentSignal.hasDocuments?"ambient":null:e.status==="blocked"?e.workMode==="planning"?"ambient":e.priority==="critical"?"now":"next":e.status==="in_review"?"next":t||e.isUnreadForMe?"ambient":null}function RA(e){return e.status==="done"||e.status==="cancelled"}function sh(e){return e?.blockedBy.filter(t=>!RA(t))??[]}function ih(e){return sh(e)[0]??null}function Ml(e){return e.identifier?`${e.identifier} ${e.title}`:e.title}function CA(e){let t=sh(e);if(t.length===0)return null;let[n,...s]=t,i=Ml(n);return s.length>0?`${i} +${s.length} more`:i}function PA(e){if(!e||e.blockedBy.length===0&&e.blocks.length===0)return;let t=n=>({id:n.id,identifier:n.identifier,title:n.title,status:n.status,priority:n.priority});return{blockedBy:e.blockedBy.map(t),blocks:e.blocks.map(t)}}function OA(e,t){if(e.blockedInboxAttention)return mA(e.blockedInboxAttention);if(bn(e.activeRecoveryAction))return gA(e.activeRecoveryAction);let n=ih(t.relations);return n?`${Ml(n)} is a tracked blocker for this issue.`:Xf(e,t.analysis,t.documentSignal)}function NA(e,t){if(e.blockedInboxAttention)return fA(e.blockedInboxAttention);if(bn(e.activeRecoveryAction))return hA(e.activeRecoveryAction);let n=Qf(e,t.analysis,t.documentSignal),s=ih(t.relations);return s?{...n,whyNow:`${Ml(s)} is linked as a blocker in Paperclip.`,factors:[...new Set([...n.factors??[],"blocked by issue relation"])]}:n}function LA(e,t,n){let s=[t?.updatedAt,Ee(e.lastExternalCommentAt),n.latestDocumentUpdatedAt,n.latestDocumentLockedAt,e.blockedInboxAttention?.stoppedSinceAt,Ee(e.activeRecoveryAction?.updatedAt)].filter(i=>!!i).sort();return s.length>0?s.at(-1):Ee(e.updatedAt)??Ee(e.createdAt)??new Date(0).toISOString()}function MA(e,t,n,s,i){let o=Yf(e,t,i),a=Zf(n,t,o),c={analysis:o,documentSignal:a,relations:s},u=TA(e,t,c);if(!u)return null;let p=LA(e,t,a),m=NA(e,c),f=te(o,"resolution")||a.resolvesArtifactRequest?null:e.blockedInboxAttention?lA(e.blockedInboxAttention):uA(e.activeRecoveryAction)??o.owner,h=e.blockedInboxAttention?dA(e.blockedInboxAttention):pA(e.activeRecoveryAction)??Jf(e,o,a),b=o.blockingTarget,I=cA(o.semanticConfidence,o.relationHints),N=Le("issue",e.id),K=e.blockedInboxAttention?IA(e.blockedInboxAttention):CA(s),$=PA(s),q=vA(a),M=EA(a);return{lane:u,frame:Ht({id:`reconcile:issue:${e.id}:${p}`,taskId:N,interactionId:Me(N,e.status),source:{id:"paperclip:issue",kind:"paperclip",label:"Paperclip issue"},version:1,mode:"status",tone:bA(e,u),consequence:SA(e,u),title:AA(e),summary:OA(e,c),context:{items:[...f?[kf(f)]:[],...K?[_f(K)]:[],...b?[Ef(b)]:[],...h?[Af(h)]:[],...e.blockedInboxAttention?[Rf(be(e.blockedInboxAttention.reason)),Cf(be(e.blockedInboxAttention.severity))]:[],...bn(e.activeRecoveryAction)?[Pf(be(e.activeRecoveryAction.kind))]:[],...q?[Of(q)]:[],wf(e.status.replace(/_/g," ")),xf(e.priority),Tf(be(e.workMode)),...t?[Nf(t.body)]:[]]},responseSpec:rh(),provenance:m,timing:{createdAt:Ee(e.createdAt)??p,updatedAt:p},metadata:{entityType:"issue",issueStatus:e.status,issuePriority:e.priority,issueWorkMode:e.workMode,liveReconciled:!0,activityPath:t?"activity":void 0,attention:{rationale:m.factors??[]},issueIntelligence:{matchedRuleIds:o.matchedRuleIds,owner:o.owner,ownerKind:o.ownerKind,blockingTarget:o.blockingTarget},...e.blockedInboxAttention?{blockedInboxAttention:kA(e.blockedInboxAttention)}:{},...e.activeRecoveryAction?{activeRecoveryAction:_A(e.activeRecoveryAction)}:{},...M?{issueDocuments:M}:{},...$?{issueRelations:$}:{},...I?{semantic:I}:{}}},{owner:"paperclip_reconciliation",lane:u,sourcePolicy:`issue.${e.status}.${e.priority}.${e.workMode}`,rationale:m.factors??[]})}}function DA(e){return e.status==="error"?"now":e.status==="pending_approval"||e.status==="paused"&&e.pauseReason==="budget"?"next":e.status==="paused"?"ambient":null}function UA(e){return qf(e)}function FA(e){return $f(e)}function jA(e){let t=DA(e);if(!t)return null;let n=Ee(e.updatedAt)??Ee(e.createdAt)??new Date(0).toISOString(),s=UA(e),i=Le("agent",e.id);return{lane:t,frame:Ht({id:`reconcile:agent:${e.id}:${n}`,taskId:i,interactionId:Me(i,e.status),source:{id:"paperclip:agent",kind:"paperclip",label:"Paperclip agent"},version:1,mode:"status",tone:e.status==="error"?"critical":e.pauseReason==="budget"||e.status==="pending_approval"?"focused":"ambient",consequence:e.status==="error"||e.pauseReason==="budget"?"high":e.status==="pending_approval"?"medium":"low",title:Bf(e),summary:FA(e),context:{items:[Lf(e.status.replace(/_/g," ")),...e.pauseReason?[Mf(e.pauseReason)]:[],...e.title?[Df(e.title)]:[]]},responseSpec:rh(),provenance:s,timing:{createdAt:Ee(e.createdAt)??n,updatedAt:n},metadata:{entityType:"agent",agentStatus:e.status,pauseReason:e.pauseReason,liveReconciled:!0,activityPath:e.status==="error"?"activity":void 0,attention:{rationale:s.factors??[]},semantic:{confidence:"high"}}},{owner:"paperclip_reconciliation",lane:t,sourcePolicy:`agent.${e.status}${e.pauseReason?`.${e.pauseReason}`:""}`,rationale:s.factors??[]})}}async function qA(e,t){try{let n=await e.issues.listComments(t.id,t.companyId);return wA(n)}catch(n){return e.logger.warn("Failed to load issue comments during Aperture reconciliation",{issueId:t.id,error:n instanceof Error?n.message:String(n)}),null}}async function cr(e,t,n,s,i,o){if(!i?.fresh){let c=e.getCachedHostValue(t,n);if(c!==null)return c}let a=await o();return e.setCachedHostValue(t,n,a,s)}async function $A(e,t){try{return await e.issues.documents.list(t.id,t.companyId)}catch(n){return e.logger.warn("Failed to load issue documents during Aperture reconciliation",{issueId:t.id,error:n instanceof Error?n.message:String(n)}),[]}}async function BA(e,t){let n=t.blockedBy??[],s=t.blocks??[];if(n.length>0||s.length>0)return{blockedBy:n,blocks:s};try{return await e.issues.relations.get(t.id,t.companyId)}catch(i){return e.logger.warn("Failed to load issue relations during Aperture reconciliation",{issueId:t.id,error:i instanceof Error?i.message:String(i)}),null}}async function Ll(e,t,n){if(e.length===0)return[];let s=new Array(e.length),i=0;async function o(){for(;i<e.length;){let c=i;i+=1,s[c]=await n(e[c],c)}}let a=Math.min(t,e.length);return await Promise.all(Array.from({length:a},()=>o())),s}async function th(e,t,n,s,i){return cr(t,n,`issues:${s}`,rA,{fresh:i?.freshHostData},async()=>await e.issues.list({companyId:n,status:s,includePluginOperations:!1,limit:25}))}async function HA(e,t,n,s){return cr(t,n,"agents:all",aA,{fresh:s?.freshHostData},async()=>await e.agents.list({companyId:n,limit:100}))}async function VA(e,t,n,s,i){let[o,a]=await Promise.all([th(e,t,n,"blocked",i),th(e,t,n,"in_review",i)]),c=[...o,...a],[u,p,m]=await Promise.all([Ll(c,Ol,h=>cr(t,n,`issue:${h.id}:comments`,sA,{fresh:i?.freshHostData},()=>qA(e,h))),Ll(c,Ol,h=>cr(t,n,`issue:${h.id}:documents`,iA,{fresh:i?.freshHostData},()=>$A(e,h))),Ll(c,Ol,h=>cr(t,n,`issue:${h.id}:relations`,oA,{fresh:i?.freshHostData},()=>BA(e,h)))]),f={agentNames:s.map(h=>h.name).filter(h=>typeof h=="string"&&h.trim().length>0)};return c.map((h,b)=>MA(h,u[b]??null,p[b]??[],m[b]??null,f)).filter(h=>h!==null)}function KA(e){return e.filter(t=>t.status==="pending_approval"||t.status==="error"||t.status==="paused").map(t=>jA(t)).filter(t=>t!==null)}async function oh(e,t,n,s,i){let o=await HA(e,t,n,i),a=s.captureIssueLifecycle===!1?Promise.resolve([]):VA(e,t,n,o,i),c=Promise.resolve(KA(o)),[u,p]=await Promise.all([a,c]);return[...u,...p]}function Dl(e){let t=[];e.now&&t.push([e.now.taskId,{frame:e.now,lane:"now"}]);for(let n of e.next)t.push([n.taskId,{frame:n,lane:"next"}]);for(let n of e.ambient)t.push([n.taskId,{frame:n,lane:"ambient"}]);return new Map(t)}function ah(e,t,n){return t===n?null:t===null&&n!==null?{stage:e,kind:"introduced",fromLane:t,toLane:n}:t!==null&&n===null?{stage:e,kind:"removed",fromLane:t,toLane:n}:{stage:e,kind:"moved",fromLane:t,toLane:n}}function zA(e,t){return e?"core":t?"reconciled":"display_overlay"}function WA(e,t){if(t==="display_overlay")return er(e).entityType==="approval"?"approval_overlay":"display_overlay"}function Ul(e){let t=Dl(e.snapshot),n=Dl(e.reconciledSnapshot),s=Dl(e.displaySnapshot),o=[...new Set([...t.keys(),...n.keys(),...s.keys()])].sort().map(c=>{let u=t.get(c),p=n.get(c),m=s.get(c),f=m?.frame??p?.frame??u?.frame;if(!f)throw new Error(`Overlay diagnostics could not resolve representative frame for ${c}.`);let h=er(f),b=[ah("reconciled",u?.lane??null,p?.lane??null),ah("display",p?.lane??null,m?.lane??null)].filter(N=>N!==null),I=zA(u,p);return{taskId:c,title:f.title,entityType:h.entityType,interactionIds:{...u?{core:u.frame.interactionId}:{},...p?{reconciled:p.frame.interactionId}:{},...m?{display:m.frame.interactionId}:{}},lanePath:{core:u?.lane??null,reconciled:p?.lane??null,display:m?.lane??null},canonicalSource:I,overlayKind:WA(f,I),liveReconciled:h.liveReconciled,attentionRationale:h.attention?.rationale??[],matchedRuleIds:h.issueIntelligence?.matchedRuleIds??[],relationHintKinds:h.semantic?.relationHints?.map(N=>N.kind)??[],decision:h.decision,changes:b}}),a={coreFrames:t.size,reconciledFrames:n.size,displayFrames:s.size,introducedByReconciliation:o.filter(c=>c.changes.some(u=>u.stage==="reconciled"&&u.kind==="introduced")).length,removedByReconciliation:o.filter(c=>c.changes.some(u=>u.stage==="reconciled"&&u.kind==="removed")).length,movedByReconciliation:o.filter(c=>c.changes.some(u=>u.stage==="reconciled"&&u.kind==="moved")).length,introducedByDisplayOverlay:o.filter(c=>c.changes.some(u=>u.stage==="display"&&u.kind==="introduced")).length,removedByDisplayOverlay:o.filter(c=>c.changes.some(u=>u.stage==="display"&&u.kind==="removed")).length,movedByDisplayOverlay:o.filter(c=>c.changes.some(u=>u.stage==="display"&&u.kind==="moved")).length,approvalOverlayFrames:o.filter(c=>c.overlayKind==="approval_overlay").length};return{generatedAt:e.displaySnapshot.updatedAt,summary:a,frames:o}}var ch=250,GA=50,lh=1e3,YA=200;function uh(e){return{eventCount:0,persistence:{state:"healthy"},surfaceCapabilities:xs,operatorPresence:"present",globalSignalSummary:{recentSignals:0,lifetimeSignals:0,counts:{presented:0,viewed:0,responded:0,dismissed:0,deferred:0,contextExpanded:0,contextSkipped:0,timedOut:0,returned:0,attentionShifted:0},deferred:{next:0,suppressed:0,manual:0},responseRate:0,dismissalRate:0,averageResponseLatencyMs:null,averageDismissalLatencyMs:null,lastSignalAt:null},globalAttentionState:"monitoring",memoryProfile:{version:1,operatorId:"unknown",updatedAt:e,sessionCount:0},ledger:{entries:0,eventEntries:0,responseEntries:0,overlayResponseEntries:0,signalEntries:0,replayStrategy:"full-ledger",compactionRecommended:!1},host:{cacheEntries:0,hostDataRevision:0,approvalRecords:0,approvalsDirty:!1},currentNowTask:null}}function Ks(e,t){return e?t?e.localeCompare(t)>=0?e:t:e:t}function Fl(e,t,n){if(typeof e!="number"||!Number.isFinite(e))return t;let s=Math.trunc(e);return s<=0?t:Math.min(s,n)}function jl(e,t){let n=e.length,s=Math.max(1,t);return n<=s?{items:[...e],total:n,hasMoreBefore:!1}:{items:e.slice(-s),total:n,hasMoreBefore:!0}}function ZA(e,t,n){let s=n?{...n,frames:Object.fromEntries(Object.entries(n.frames).map(([i,o])=>[i,{...o}]))}:Q(e);for(let i of t){if(i.kind!=="response"&&i.kind!=="overlay-response")continue;let o=i.occurredAt,a=i.apertureResponse.taskId,c=i.apertureResponse.response.kind,u=s.frames[a]??{};s.frames[a]={...u,lastSeenAt:Ks(u.lastSeenAt,o),...c==="acknowledged"||c==="dismissed"?{suppressedAt:Ks(u.suppressedAt,o)}:{}},s.lastSeenAt=Ks(s.lastSeenAt,o),s.updatedAt=Ks(s.updatedAt,o)??o}return s}async function ot(e,t,n){if(t.hasSession(n)){let f=t.getSnapshot(n)??ue(n);return{baseLedger:t.getLedger(n),snapshot:f,reviewState:t.getReview(n)??Q(n)}}let s=await rr(e,n);if(s){let{snapshot:f}=t.hydrate(n,{ledger:s.ledger,snapshot:s.snapshot,review:s.review});return{baseLedger:s.ledger,snapshot:f,reviewState:s.review}}let i=await e.state.get({scopeKind:"company",scopeId:n,stateKey:hf}),o=await e.state.get({scopeKind:"company",scopeId:n,stateKey:ff}),a=await e.state.get({scopeKind:"company",scopeId:n,stateKey:yf}),c=yn(i)?i:st(),u=hn(n,o),p=ZA(n,c,nr(a,n)?a:null),{snapshot:m}=t.hydrate(n,{ledger:c,snapshot:u,review:p});return!yn(i)&&u&&e.logger.warn("Legacy snapshot found without replay ledger; rebuilt state may be partial until new events arrive.",{companyId:n}),{baseLedger:c,snapshot:m,reviewState:p}}function JA(e,t,n){return JSON.stringify({reconciliationRevision:e.getReconciledRevision(t),captureIssueLifecycle:n.captureIssueLifecycle!==!1,captureRunFailures:n.captureRunFailures!==!1})}async function ql(e,t,n,s,i,o={}){let a=await e.config.get(),c=JA(t,n,a);if(o.preferCache&&!o.freshHostData){let m=t.getCachedReconciledCandidates(n,c);if(m)return Sn(s,n,m,i)}let u=await oh(e,t,n,a,{freshHostData:o.freshHostData}),p=Sn(s,n,u,i);return o.preferCache&&!o.freshHostData&&t.setCachedReconciledCandidates(n,c,u),p}async function ph(e,t,n){let s=t.getApprovals(n);if(!t.approvalsDirty(n)&&s)return s;let i=await e.config.get();try{let o=await af(e,n,i);return t.setApprovals(n,o)}catch(o){let a=o instanceof Error?o.message:String(o);return t.markApprovalAdapterFailure(n,a),e.logger.warn("Failed to load pending approvals for Focus display",{companyId:n,error:a}),s||t.setApprovals(n,[])}}async function dh(e,t,n,s,i){let o=await ql(e,t,n,s,i,{preferCache:!0}),a=await ph(e,t,n);return{reconciledSnapshot:o,displaySnapshot:Cl(o,n,a,i)}}function mh(e,t){e.data.register("health",async()=>{let n=t.getHealth();return{status:"ok",checkedAt:new Date().toISOString(),trackedCompanies:n.trackedCompanies,maxCompanySessions:n.maxCompanySessions,idleSessionTtlMs:n.idleSessionTtlMs,faultedCompanies:n.faultedCompanies,hostCacheEntries:n.hostCacheEntries,cachedReconciliations:n.cachedReconciliations}}),e.data.register("attention-diagnostics",async n=>{let s=G(n);return await ot(e,t,s),t.getCoreDiagnostics(s)??uh(new Date().toISOString())}),e.data.register("attention-overlay-diagnostics",async n=>{let s=G(n),{snapshot:i,reviewState:o}=await ot(e,t,s),{reconciledSnapshot:a,displaySnapshot:c}=await dh(e,t,s,i,o);return Ul({snapshot:i,reconciledSnapshot:a,displaySnapshot:c})}),e.data.register("attention-summary",async n=>{let s=G(n),{snapshot:i,reviewState:o}=await ot(e,t,s);return await ql(e,t,s,i,o,{freshHostData:!0})??ue(s)}),e.data.register("attention-display",async n=>{let s=G(n),{snapshot:i,reviewState:o}=await ot(e,t,s),{displaySnapshot:a}=await dh(e,t,s,i,o);return{companyId:s,snapshot:a??ue(s),reviewState:o}}),e.data.register("attention-export",async n=>{let s=G(n),i=Fl(n.limit,ch,lh),o=Fl(n.traceLimit,GA,YA),a=new Date().toISOString(),{baseLedger:c,snapshot:u,reviewState:p}=await ot(e,t,s),m=await ql(e,t,s,u,p,{freshHostData:!0}),f=await ph(e,t,s),h=Cl(m,s,f,p),b=jl(c,i),I=jl(t.getTraces(s),o);return{companyId:s,exportedAt:a,ledger:b.items,eventEntries:b.items.filter(N=>N.kind==="event"),responseEntries:b.items.filter(N=>N.kind==="response"),overlayResponseEntries:b.items.filter(N=>N.kind==="overlay-response"),signalEntries:b.items.filter(N=>N.kind==="signal"),traces:I.items,window:{entryLimit:i,traceLimit:o,totalLedgerEntries:b.total,returnedLedgerEntries:b.items.length,totalTraces:I.total,returnedTraces:I.items.length,hasMoreBefore:b.hasMoreBefore||I.hasMoreBefore},snapshot:u,reconciledSnapshot:m,displaySnapshot:h,review:p,coreDiagnostics:t.getCoreDiagnostics(s)??uh(a),overlayDiagnostics:Ul({snapshot:u,reconciledSnapshot:m,displaySnapshot:h})}}),e.data.register("attention-traces",async n=>{let s=G(n);return await ot(e,t,s),t.getTraces(s)}),e.data.register("attention-replay-scenario",async n=>{let s=G(n),i=Fl(n.limit,ch,lh),{baseLedger:o,snapshot:a}=await ot(e,t,s),c=jl(o,i);return{id:`paperclip-attention-${s}`,title:`Paperclip attention replay for ${s}`,description:"Replay scenario exported from the Paperclip Aperture plugin ledger.",doctrineTags:["paperclip","aperture","replay-export"],window:{entryLimit:i,totalLedgerEntries:c.total,returnedSteps:c.items.length,hasMoreBefore:c.hasMoreBefore},expectations:{finalNowInteractionId:a.now?.interactionId??null,nextInteractionIds:a.next.map(u=>u.interactionId),ambientInteractionIds:a.ambient.map(u=>u.interactionId),resultLaneCounts:{now:a.counts.now,next:a.counts.next,ambient:a.counts.ambient}},steps:c.items.map(u=>u.kind==="event"?{kind:"publish",event:u.apertureEvent,label:`${u.source.eventType} @ ${u.occurredAt}`}:u.kind==="response"?{kind:"submit",response:u.apertureResponse,label:`${u.source.eventType} @ ${u.occurredAt}`}:u.kind==="signal"?{kind:"signal",signal:u.apertureSignal,label:`${u.source.eventType} @ ${u.occurredAt}`}:{kind:"overlay-response",response:u.apertureResponse,overlay:u.overlay,label:`${u.source.eventType} @ ${u.occurredAt}`})}}),e.data.register("attention-review",async n=>{let s=G(n),{reviewState:i}=await ot(e,t,s);return i})}var XA=["need your input","need your approval","need your review","need your sign off","need your sign-off","should i continue","can you approve","can you review","what should i do"],Sh=["no action needed","no approval needed","approval is not needed","approval not needed","sign off not needed","sign-off not needed","no input needed","for awareness only","for your awareness","continuing automatically"],QA=["cannot continue","can't continue","cannot proceed","can't proceed","unable to continue","unable to proceed","blocked on","blocked until","stuck on","requires operator input before continuing","needs operator input before continuing","must be provided before continuing"],ew=["waiting for approval","approval required","awaiting approval","waiting on approval","pending approval","waiting for input","awaiting input","waiting on input","awaiting review","waiting for review"],tw=["production","prod","force push","git push --force","rm -rf","drop table","delete database","delete prod","sudo","chmod 777","kill process","migrate"],nw=["result of running cat -n","result of running sed -n","result of running grep","result of running ls","result of running find","here s the result of running cat -n","here s the result of running sed -n"],rw=["observation","contents of","showing first","showing top","found"],sw=["path","type file","content"],iw=["ran successfully and did not produce any output","command ran successfully and did not produce any output","completed successfully and did not produce any output"],ow=["tool-output","dmesg"],aw=["makefile","spdx-license-identifier","patchlevel","sublevel","extraversion"],cw=/(?:^|\s)\/[a-z0-9._-]+(?:\/[a-z0-9._-]+)+(?:\s|$)/,lw=/\bfound\s+\d+\s+match(?:es)?\b|\bshowing\s+(?:first|top)\s+\d+\b|\bmatch(?:es)?\s+in\s+\d+\s+files?\b/,uw=/\b(import|from|export|class|def|function|const|let|var|return)\b/,dw=/\b\d+\s+(?:import|from|export|class|def|function|const|let|var|return)\b/,pw=/\/[a-z0-9._/-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)(?:\b|\/)/,mw=/\b[a-z0-9.-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)\b/,gw=/\b(static|struct|enum|typedef|void|int|char|bool|return)\b/,fw=/\b\d+\s+(?:static|struct|enum|typedef|void|int|char|bool|return)\b/,hw=/\b\d+\s+\[\s*\d+\.\d+\]\s+[a-z0-9_.:-]+/,yw=/\b(?:version|patchlevel|sublevel|extraversion)\b/,Sw=["form is valid false","form without instance is valid false","form errors","errorlist","decompress result"],bw=["traceback","exception","permission denied","command not found","segmentation fault"],Iw=["still","again","back again","came back","continues","continuing","returned","returning","remains","persisting","retrying","recurred"],vw=["did not repeat","didn t repeat","did not return","didn t return","did not recur","didn t recur","not repeated","not returning","not recurring","no repeat"],kw=["resolved","fixed","unblocked","no longer blocked"],gh=["not resolved","did not resolve","didn t resolve","not fixed","did not fix","didn t fix","not recovered","did not recover","didn t recover"],_w=["recovered","completed successfully","succeeded after"],fh=["instead","supersedes","superseded","replaced by","use this plan instead","follow this plan instead"],Ew=["worse","worsened","escalating","regression","regressed","spread","broader impact","degraded further","critical now","now failing"],Aw=["did not regress","didn t regress","no regression","not worsening","did not worsen","didn t worsen","not escalating","did not escalate","didn t escalate"],ww=["fail","failed","failing","failure","error","broken","blocked","stalled","stall","incident","issue","outage","degraded","regression","retry","rollback"];function mr(e){return e.toLowerCase().replace(/[^a-z0-9/._-]+/g," ").trim()}function Bl(e){return[...new Set(e)]}function bh(e){return $l(e.toolFamily)??$l(qw(e.metadata))??$l($w(e.context))}function xw(e){let t=bh(e);if(t)return t;let n=mr(`${e.title} ${e.summary??""}`);return Ue(n,"wants to read")||Ue(n,"wants to inspect")||ur(n,"read")||ur(n,"inspect")?"read":Ue(n,"wants to write")||ur(n,"write")?"write":Ue(n,"wants to edit")||ur(n,"edit")?"edit":Ue(n,"shell command")||Ue(n,"wants to run")?"bash":Ue(n,"search the web")?"web":Ue(n,"search files")||Ue(n,"search file contents")?"search":null}function Tw(e){return U(e,Sh)?!1:U(e,XA)}function Rw(e){return U(e,Sh)?null:U(e,QA)?"blocking":U(e,ew)?"waiting":null}function Ih(e){let t=[],n=U(e,Iw)&&!U(e,vw),s=U(e,kw)&&!U(e,gh),i=U(e,_w)&&!U(e,gh),o=U(e,Ew)&&!U(e,Aw),a=U(e,ww)||U(e,fh)||o;return n&&a&&t.push({kind:"same_issue"},{kind:"repeats"}),(s||i&&a)&&t.push({kind:"same_issue"},{kind:"resolves"}),U(e,fh)&&t.push({kind:"same_issue"},{kind:"supersedes"}),o&&t.push({kind:"same_issue"},{kind:"escalates"}),Hw(t)}function lr(e,t,n){return Bw(e)||n==="read"||n==="search"?t:Nw(e,tw)?"high":(n==="write"||n==="edit"||n==="bash")&&t==="low"?"medium":t}function Cw(e,t){return t!=="edit"&&t!=="read"?!1:U(e,nw)||_h(e)||kh(e)}function Pw(e,t){return t==="search"?hh(e):t==="read"?hh(e)?!0:!_h(e)&&!kh(e)||Uw(e)?!1:Fw(e)||jw(e):!1}function Ow(e,t){return t!=="bash"?!1:U(e,Sw)&&!U(e,bw)}function U(e,t){return t.some(n=>vh(e,n))}function Nw(e,t){return t.some(n=>Lw(e,n))}function vh(e,t){let n=mr(t);return n?n.includes(" ")?Ue(e,n):ur(e,n):!1}function Lw(e,t){return vh(e,t)}function kh(e){return Hl(e)?U(e,rw)||Mw(e)||Dw(e):!1}function _h(e){return U(e,sw)&&Hl(e)}function hh(e){return lw.test(e)||Hl(e)&&/\bmatch(?:es)?\b/.test(e)}function Hl(e){return cw.test(e)}function Mw(e){return uw.test(e)}function Dw(e){return dw.test(e)}function Uw(e){return pw.test(e)||mw.test(e)||gw.test(e)||fw.test(e)}function Fw(e){return hw.test(e)||U(e,ow)}function jw(e){return yw.test(e)||U(e,aw)}function qw(e){let t=e?.toolFamily;return typeof t=="string"?t:null}function $w(e){if(!e?.items)return null;for(let t of e.items){let n=t.id.toLowerCase(),s=t.label.toLowerCase();if(n==="toolfamily"||n==="tool_family"||n==="tool"||s==="tool family")return t.value??null}return null}function $l(e){if(!e)return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function Ue(e,t){let n=mr(t);return n?new RegExp(`(?:^|[^a-z0-9_])${Eh(n)}(?:$|[^a-z0-9_])`).test(e):!1}function ur(e,t){return new RegExp(`(?:^|[^a-z0-9_])${Eh(t)}(?:$|[^a-z0-9_])`).test(e)}function Eh(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Bw(e){return U(e,iw)}function Hw(e){let t=new Set,n=[];for(let s of e){let i=`${s.kind}:${s.target??""}`;t.has(i)||(t.add(i),n.push(s))}return n}function Vw(e){switch(e){case"approval":return"approval_request";case"choice":return"question_request";case"form":return"form_request"}}function Kw(e){switch(e){case"approval":return"permission_request";case"choice":case"form":return"question_request"}}function zw(e,t){switch(e){case"approval":return t==="high"?"A high-risk action needs explicit operator approval.":"Approval is required before work can continue.";case"choice":return"A decision is required before work can continue.";case"form":return"Additional input is required before work can continue."}}function dr(e,t){if(t?.wasCancelled)return"Work was cancelled and may need review.";switch(e){case"failed":return"Work has failed and should be reviewed.";case"blocked":return"Work is blocked and may require operator attention.";case"running":case"waiting":case"completed":return t?.impliedAsk?"Status text implies the operator may need to respond.":void 0}}function In(e,t){if(t?.wasCancelled)return["task cancellation is an explicit lifecycle fact"];switch(e){case"failed":return["task status explicitly indicates failure"];case"blocked":return["task status explicitly indicates blocked work"];case"running":case"waiting":case"completed":return t?.impliedAsk?["status wording suggests an implied operator request"]:["task update carries a non-blocking lifecycle status"]}}function yh(e){switch(e){case"task_started":return["task start is an explicit lifecycle fact"];case"completion":return["task completion is an explicit lifecycle fact"]}}function Vl(e){let t=Ww(e);return Zw(t,e.semanticHints)}function Ww(e){switch(e.type){case"task.started":return{intentFrame:"task_started",activityClass:"session_status",consequence:"low",factors:["task.started"],relationHints:[],confidence:"high",reasons:yh("task_started"),provenance:ae(["intentFrame","activityClass","consequence","confidence"])};case"task.updated":return Gw(e);case"human.input.requested":return Yw(e);case"task.completed":return{intentFrame:"completion",activityClass:"tool_completion",consequence:"low",factors:["task.completed"],relationHints:[],confidence:"high",reasons:yh("completion"),provenance:ae(["intentFrame","activityClass","consequence","confidence"])};case"task.cancelled":return{intentFrame:"cancellation",activityClass:"status_update",consequence:"low",...e.reason?{whyNow:dr("completed",{wasCancelled:!0})??"Work was cancelled and may need review."}:{},factors:["task.cancelled"],relationHints:[],confidence:"high",reasons:In("completed",{wasCancelled:!0}),provenance:{...ae(["intentFrame","activityClass","consequence","confidence"]),...e.reason?ae(["whyNow"]):{}}};default:return ex(e)}}function Gw(e){let t=mr(`${e.title} ${e.summary??""}`),n=Tw(t),s=Rw(t),i=Ih(t),o=Th(e.title,e.summary,e.toolFamily,e.context),{toolFamily:a,source:c}=xh(o,!0),u=i.length>0?ae(["relationHints"]):{},p=e.status==="failed"&&Cw(t,a),m=e.status==="failed"&&Pw(t,a),f=e.status==="failed"&&Ow(t,a);switch(e.status){case"failed":return p?{intentFrame:"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:lr(t,m?"low":"high",a),factors:["task.updated","failed","observational_failure"],relationHints:i,confidence:"high",reasons:["task status indicates failure but the update reads like observational output"],provenance:{...ae(["intentFrame","activityClass","consequence","confidence"]),...pr(c),...u}}:{intentFrame:"failure",activityClass:"tool_failure",...a?{toolFamily:a}:{},consequence:lr(t,m?"low":f?"medium":"high",a),whyNow:dr("failed")??"Work has failed and should be reviewed.",factors:["task.updated","failed"],relationHints:i,confidence:n?"medium":"high",reasons:f?[...In("failed",{impliedAsk:n}),"failure content looks like expected diagnostic output from repro work"]:In("failed",{impliedAsk:n}),provenance:{...ae(["intentFrame","activityClass","consequence","whyNow","confidence"]),...pr(c),...u}};case"blocked":return{intentFrame:"blocked_work",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:lr(t,"medium",a),whyNow:dr("blocked")??"Work is blocked and may require operator attention.",factors:["task.updated","blocked"],relationHints:i,confidence:n?"medium":"high",reasons:In("blocked",{impliedAsk:n}),provenance:{...ae(["intentFrame","activityClass","consequence","whyNow","confidence"]),...pr(c),...u}};case"running":case"waiting":case"completed":return{intentFrame:s==="blocking"?"blocked_work":"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:lr(t,"low",a),...(()=>{let h=s==="blocking"?dr("blocked"):n?dr(e.status,{impliedAsk:n}):void 0;return h!==void 0?{whyNow:h}:{}})(),factors:["task.updated",e.status,...s==="blocking"?["semantic blocking signal"]:[]],relationHints:i,confidence:s==="blocking"?"medium":n?"low":"high",reasons:s==="blocking"?[...In("blocked"),"status wording indicates work cannot continue yet"]:In(e.status,{impliedAsk:n}),provenance:{...ae(["intentFrame","activityClass","consequence","confidence"]),...pr(c),...s==="blocking"||n?ae(["whyNow"]):{},...u}};default:return tx(e.status)}}function Yw(e){let t=Th(e.title,e.summary,e.toolFamily,e.context),{toolFamily:n,source:s}=xh(t,e.request.kind==="approval"),i=mr(`${e.title} ${e.summary}`),o=Ih(i),a=e.riskHint??Qw(e.request.kind,n),c=lr(i,a,n),u=o.length>0?ae(["relationHints"]):{};return{intentFrame:Vw(e.request.kind),activityClass:Kw(e.request.kind),...n?{toolFamily:n}:{},consequence:c,whyNow:zw(e.request.kind,c),factors:["human.input.requested",e.request.kind],relationHints:o,confidence:e.riskHint?"high":e.request.kind==="approval"&&n?"medium":"low",reasons:[e.riskHint?"source provided an explicit risk hint":"request kind establishes an explicit operator decision point",...s==="explicit"?["tool family was supplied by the source or context"]:s==="inferred"?["tool family was inferred from approval wording"]:[]],provenance:{...ae(["intentFrame","activityClass","whyNow"]),...pr(s),...e.riskHint?Ah(["consequence","confidence"]):ae(["consequence","confidence"]),...u}}}function ae(e){return wh(e,"inferred")}function Ah(e){return wh(e,"source")}function wh(e,t){return Object.fromEntries(e.map(n=>[n,t]))}function pr(e){switch(e){case"explicit":return Ah(["toolFamily"]);case"inferred":return ae(["toolFamily"]);case"none":return{};default:return rx(e)}}function xh(e,t){let n=bh(e);if(n)return{toolFamily:n,source:"explicit"};if(!t)return{source:"none"};let s=xw(e);return s?{toolFamily:s,source:"inferred"}:{source:"none"}}function Zw(e,t){return t?{...e,...Xw(t),factors:Bl([...e.factors??[],...t.factors??[]]),relationHints:[...t.relationHints??e.relationHints],reasons:Bl([...e.reasons??[],...t.reasons??[]]),provenance:{...e.provenance??{},...Jw(t)}}:e}function Jw(e){return{...e.intentFrame!==void 0?{intentFrame:"hint"}:{},...e.activityClass!==void 0?{activityClass:"hint"}:{},...e.toolFamily!==void 0?{toolFamily:"hint"}:{},...e.consequence!==void 0?{consequence:"hint"}:{},...e.whyNow!==void 0?{whyNow:"hint"}:{},...e.relationHints!==void 0?{relationHints:"hint"}:{},...e.confidence!==void 0?{confidence:"hint"}:{},...e.abstained!==void 0?{abstained:"hint"}:{}}}function Xw(e){let t={};for(let[n,s]of Object.entries(e))s!==void 0&&n!=="factors"&&n!=="relationHints"&&n!=="reasons"&&(t[n]=s);return t}function Qw(e,t){switch(e){case"approval":return t==="read"||t==="search"?"low":"medium";case"choice":case"form":return"medium";default:return nx(e)}}function Th(e,t,n,s){return{title:e,...t!==void 0?{summary:t}:{},...n!==void 0?{toolFamily:n}:{},...s?.items!==void 0?{context:{items:s.items}}:{}}}function ex(e){throw new Error(`Unhandled source event in semantic interpreter: ${JSON.stringify(e)}`)}function tx(e){throw new Error(`Unhandled task status in semantic interpreter: ${e}`)}function nx(e){throw new Error(`Unhandled human input request kind in semantic interpreter: ${e}`)}function rx(e){throw new Error(`Unhandled tool family provenance source in semantic interpreter: ${e}`)}function sx(e={}){let t=e.base,n=e.semantic,s=t?.whyNow??n?.whyNow??e.fallbackWhyNow,i=Bl([...t?.factors??[],...n?.factors??[],...e.extraFactors??[]]);if(!(t===void 0&&s===void 0&&i.length===0))return{...t??{},...s!==void 0?{whyNow:s}:{},...i.length>0?{factors:i}:{}}}function Rh(e){let t=Vl(e),n=e.type==="human.input.requested"&&e.riskHint!==void 0?{riskHint:e.riskHint}:void 0;return ox(cx(e),t,n)}function ix(e){switch(e){case"high":return"critical";case"medium":case"low":return"focused";default:return dx(e)}}function ox(e,t,n={}){switch(e.type){case"task.started":return{...e,semantic:t};case"task.updated":return{...e,...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t};case"task.completed":case"task.cancelled":return{...e,semantic:t};case"human.input.requested":return ax(e,t,n);default:return lx(e)}}function ax(e,t,n){let{toolFamily:s,...i}=e,o=e.consequence??t.consequence??n.riskHint??"medium",a=e.tone??ix(o),c=sx({base:e.provenance,semantic:t}),u=e.request.kind==="approval"?e.toolFamily??t.toolFamily:void 0;return{...i,...u!==void 0?{toolFamily:u}:{},...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t,tone:a,consequence:o,...c!==void 0?{provenance:c}:{}}}function cx(e){switch(e.type){case"task.started":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{}};case"task.updated":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{},status:e.status,...e.progress!==void 0?{progress:e.progress}:{},...e.context!==void 0?{context:e.context}:{}};case"task.completed":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.summary!==void 0?{summary:e.summary}:{}};case"task.cancelled":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.reason!==void 0?{reason:e.reason}:{}};case"human.input.requested":return{id:e.id,type:e.type,taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,summary:e.summary,request:e.request,...e.context!==void 0?{context:e.context}:{},...e.provenance!==void 0?{provenance:e.provenance}:{}};default:return ux(e)}}function lx(e){throw new Error(`Unhandled ApertureEvent in semantic normalizer: ${JSON.stringify(e)}`)}function ux(e){throw new Error(`Unhandled SourceEvent in semantic normalizer: ${JSON.stringify(e)}`)}function dx(e){throw new Error(`Unhandled consequence level in semantic normalizer: ${e}`)}function px(e){return typeof e=="string"&&e.trim().length>0?e:void 0}function Ch(e,t){if(!e||typeof e!="object")return;let n=e[t];return Array.isArray(n)&&n.every(s=>typeof s=="string")?n:void 0}function R(e,t){if(!(!e||typeof e!="object"))return px(e[t])}function Wl(e){return e?be(e):void 0}function mx(e){let t=e.entityType??"event",n=e.entityId??e.eventId;return Le(t,n)}function gx(e){let t=R(e,"issueId")??R(e,"sourceIssueId")??R(e,"parentIssueId")??Ch(e,"issueIds")?.[0];return t?Le("issue",t):null}function fx(e){let t=e.entityType??"event";switch(t){case"approval":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip approval"};case"issue":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip issue"};case"run":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip run"};case"agent":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip agent"};default:return{id:`paperclip:${e.eventType}`,kind:"paperclip",label:"Paperclip"}}}function Kl(e){let t=R(e,"status")?.toLowerCase(),n=[R(e,"summary"),R(e,"description"),R(e,"bodySnippet"),R(e,"title"),R(e,"issueTitle")].filter(s=>!!s).join(" ").toLowerCase();return t?.includes("block")?"blocked":t?.includes("wait")?"waiting":t?.includes("done")||t?.includes("complete")||t?.includes("closed")?"completed":t?.includes("fail")?"failed":n.includes("blocked")||n.includes("clarification")?"blocked":n.includes("waiting")?"waiting":"running"}function hx(e){let t=R(e,"status")?.toLowerCase();return t?t.includes("approval")||t.includes("block")?"blocked":t.includes("wait")||t.includes("pause")?"waiting":t.includes("fail")||t.includes("error")?"failed":t.includes("done")||t.includes("complete")?"completed":"running":"running"}function yx(e){let t=R(e.payload,"title")??R(e.payload,"plan")??R(e.payload,"name");if(t)return t;let n=Wl(R(e.payload,"type"));return n?`${n} approval`:"Approval requested"}function Ph(e){return R(e.payload,"type")}function Sx(e){return Ph(e)==="budget_override_required"}function zl(e,t){let n=R(e.payload,"identifier"),s=R(e.payload,"issueTitle")??R(e.payload,"title");return n&&s?`${n} ${s}`:n?`${n} ${t}`:s||t}function bx(e){if(!(!e||e.length===0))return{relationHints:e.map(t=>({kind:"same_issue",target:Hs(t)}))}}function Ix(e){return[R(e,"bodySnippet"),R(e,"summary"),R(e,"description"),R(e,"title"),R(e,"issueTitle")].filter(t=>!!t).join(`
11
- `)}function zs(e){if(e.entityType!=="issue"||!e.entityId)return;let t=Pl({text:Ix(e.payload),identifier:R(e.payload,"identifier"),issueTarget:Hs(e.entityId)});return{...t.semanticConfidence?{confidence:t.semanticConfidence}:{},...t.relationHints.length>0?{relationHints:t.relationHints}:{}}}function vx(e,t){return{whyNow:or(e),factors:e?["budget stop","approval","operator decision"]:["approval","operator decision"],...bx(t)??{}}}function kx(){return{whyNow:Tl(),factors:["pending approval"]}}function _x(){return{intentFrame:"failure",whyNow:Vf(),factors:["run failed","operator review"]}}function at(e){return Vl(e)}function Gl(e){let t=e.eventType,n=mx(e),s=fx(e);switch(t){case"approval.created":{let i=Ph(e),o=Sx(e),a=R(e.payload,"requestedAmount"),c=R(e.payload,"reason"),u=R(e.payload,"decisionContext"),p=Ch(e.payload,"issueIds"),m=yx(e),f=R(e.payload,"summary")??$s(o),h=at({id:`${e.eventId}:approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:m,summary:f,request:{kind:"approval"},riskHint:o?"high":"medium",semanticHints:vx(o,p)});return{id:`${e.eventId}:approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:m,summary:f,consequence:o?"high":"medium",tone:"focused",request:{kind:"approval"},semantic:h,context:{items:[...Wl(i)?[Us(Wl(i))]:[],...a?[Fs(a)]:[],...c?[js(c)]:[],...u?[qs(u)]:[],...p?.length?[vf(String(p.length))]:[]]},provenance:{whyNow:or(o),factors:o?["budget stop","approval","operator decision"]:["approval","operator decision"]}}}case"approval.decided":case"approval.approved":case"approval.rejected":case"approval.revision_requested":return{id:`${e.eventId}:resolved`,type:"task.completed",taskId:n,timestamp:e.occurredAt,source:s,summary:R(e.payload,"status")??(t==="approval.approved"?"Approval approved":t==="approval.rejected"?"Approval rejected":t==="approval.revision_requested"?"Revision requested":"Approval resolved")};case"issue.created":{let i=zl(e,"Issue created"),o=R(e.payload,"description")??"A new issue entered Paperclip.",a=Kl(e.payload);return a==="running"?{id:`${e.eventId}:issue-created`,type:"task.started",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,semantic:at({id:`${e.eventId}:issue-created`,type:"task.started",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,semanticHints:zs(e)})}:{id:`${e.eventId}:issue-created-status`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"status_update",status:a,semantic:at({id:`${e.eventId}:issue-created-status`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"status_update",status:a,semanticHints:zs(e)})}}case"issue.updated":{let i=zl(e,"Issue updated"),o=R(e.payload,"summary")??R(e.payload,"description"),a=Kl(e.payload);return{id:`${e.eventId}:issue-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"status_update",status:a,semantic:at({id:`${e.eventId}:issue-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,...o!==void 0?{summary:o}:{},activityClass:"status_update",status:a,semanticHints:zs(e)})}}case"issue.comment.created":case"issue.comment_added":{let i=zl(e,"Issue comment"),o=R(e.payload,"bodySnippet")??"A comment added new context in Paperclip.",a=Kl(e.payload);return{id:`${e.eventId}:issue-comment`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"follow_up",status:a,progress:void 0,semantic:at({id:`${e.eventId}:issue-comment`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"follow_up",status:a,semanticHints:zs(e)})}}case"agent.run.started":return{id:`${e.eventId}:run-started`,type:"task.started",taskId:n,timestamp:e.occurredAt,source:s,title:R(e.payload,"title")??"Agent run started",summary:R(e.payload,"summary")??"A Paperclip agent began a new run."};case"agent.run.failed":{let i=gx(e.payload)??n,o=R(e.payload,"title")??"Agent run failed",a=R(e.payload,"summary")??Hf();return{id:`${e.eventId}:run-failed`,type:"task.updated",taskId:i,timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"tool_failure",status:"failed",title:o,summary:a,semantic:at({id:`${e.eventId}:run-failed`,type:"task.updated",taskId:i,timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"tool_failure",title:o,summary:a,status:"failed",semanticHints:_x()})}}case"agent.run.finished":return{id:`${e.eventId}:run-finished`,type:"task.completed",taskId:n,timestamp:e.occurredAt,source:s,summary:R(e.payload,"summary")??"Agent run finished"};case"agent.run.cancelled":return{id:`${e.eventId}:run-cancelled`,type:"task.cancelled",taskId:n,timestamp:e.occurredAt,source:s,reason:R(e.payload,"summary")??"Agent run cancelled"};case"agent.error_cleared":{let i=R(e.payload,"summary")??"The agent error state was cleared in Paperclip.";return{id:`${e.eventId}:error-cleared`,type:"task.completed",taskId:n,timestamp:e.occurredAt,source:s,summary:i}}case"agent.status_changed":{let i=R(e.payload,"status")?.toLowerCase();if(i==="pending_approval"){let u=Kf(),p=zf();return{id:`${e.eventId}:status-pending-approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"pending-approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:u,summary:p,consequence:"medium",tone:"focused",request:{kind:"approval"},semantic:at({id:`${e.eventId}:status-pending-approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"pending-approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:u,summary:p,request:{kind:"approval"},riskHint:"medium",semanticHints:kx()}),provenance:{whyNow:Tl(),factors:["pending approval"]}}}let o=hx(e.payload),a="Agent status changed",c=i?`Agent status is now ${i}.`:"Agent status changed.";return{id:`${e.eventId}:status-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:a,summary:c,activityClass:"session_status",status:o,semantic:at({id:`${e.eventId}:status-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:a,summary:c,activityClass:"session_status",status:o})}}default:return null}}function Ex(e){let t={...e.semantic?.confidence?{confidence:e.semantic.confidence}:{},...e.semantic?.relationHints?.length?{relationHints:e.semantic.relationHints}:{},...e.semantic?.whyNow?{whyNow:e.semantic.whyNow}:{},...e.semantic?.factors?.length?{factors:e.semantic.factors}:{},...e.semantic?.intentFrame?{intentFrame:e.semantic.intentFrame}:{}};return Object.keys(t).length>0?t:void 0}function Oh(e){let t=Gl(e);if(!t)return null;let n={id:t.id,taskId:t.taskId,timestamp:t.timestamp,source:t.source,semanticHints:Ex(t)};switch(t.type){case"task.started":return{...n,type:"task.started",title:t.title,...t.summary?{summary:t.summary}:{}};case"task.updated":return{...n,type:"task.updated",title:t.title,...t.summary?{summary:t.summary}:{},...t.toolFamily?{toolFamily:t.toolFamily}:{},...t.activityClass?{activityClass:t.activityClass}:{},status:t.status,...typeof t.progress=="number"?{progress:t.progress}:{},...t.context?{context:t.context}:{}};case"human.input.requested":return{...n,type:"human.input.requested",interactionId:t.interactionId,...t.toolFamily?{toolFamily:t.toolFamily}:{},...t.activityClass?{activityClass:t.activityClass}:{},title:t.title,summary:t.summary,request:t.request,...t.context?{context:t.context}:{},...t.provenance?{provenance:t.provenance}:{},...t.consequence?{riskHint:t.consequence}:{}};case"task.completed":return{...n,type:"task.completed",...t.summary?{summary:t.summary}:{}};case"task.cancelled":return{...n,type:"task.cancelled",...t.reason?{reason:t.reason}:{}};default:return null}}var Ax=["activity.logged","approval.created","approval.decided","approval.approved","approval.rejected","approval.revision_requested","issue.created","issue.updated","issue.comment.created","issue.comment_added","agent.run.started","agent.run.failed","agent.run.finished","agent.run.cancelled","agent.status_changed","agent.error_cleared"],wx=new Set(["issue.document_created","issue.document_updated","issue.document_deleted"]),xx=1e4;function Tx(e,t){return!((t==="issue.created"||t==="issue.updated"||t==="issue.comment.created"||t==="issue.comment_added")&&e.captureIssueLifecycle===!1||t==="agent.run.failed"&&e.captureRunFailures===!1)}async function Rx(e,t,n){if(n.entityType!=="issue"||!n.entityId)return n;let s=n.payload&&typeof n.payload=="object"?n.payload:{};try{let i=`issue:${n.entityId}:detail`,o=t.getCachedHostValue(n.companyId,i)??await e.issues.get(n.entityId,n.companyId);return o?(t.setCachedHostValue(n.companyId,i,o,xx),{...n,payload:{...s,title:typeof s.title=="string"?s.title:o.title,issueTitle:typeof s.issueTitle=="string"?s.issueTitle:o.title,identifier:typeof s.identifier=="string"?s.identifier:o.identifier,description:typeof s.description=="string"?s.description:o.description,status:typeof s.status=="string"?s.status:o.status}}):n}catch(i){return e.logger.warn("Failed to enrich issue payload for Aperture",{issueId:n.entityId,eventType:n.eventType,error:i instanceof Error?i.message:String(i)}),n}}async function Cx(e,t,n){let s=await e.config.get();if(!Tx(s,n.eventType))return;if(n.eventType==="activity.logged"){let p=n.payload&&typeof n.payload=="object"?n.payload:{},m=typeof p.action=="string"?p.action:void 0,f=typeof p.entityType=="string"?p.entityType:n.entityType;f==="issue"&&m&&wx.has(m)&&(t.invalidateHostCache(n.companyId,{keys:n.entityId?[`issue:${n.entityId}:documents`,`issue:${n.entityId}:relations`]:[],prefixes:["issues:blocked","issues:in_review"]}),De(e,{companyId:n.companyId,reason:"event",eventType:`activity.${m}`,updatedAt:n.occurredAt,counts:t.getSnapshot(n.companyId)?.counts??{now:0,next:0,ambient:0,total:0}}),e.logger.info("Triggered Focus refresh from activity log event",{companyId:n.companyId,action:m,entityId:n.entityId,entityType:f}));return}n.entityType==="issue"&&n.entityId?t.invalidateHostCache(n.companyId,{keys:[`issue:${n.entityId}:detail`,`issue:${n.entityId}:comments`,`issue:${n.entityId}:relations`],prefixes:["issues:blocked","issues:in_review"]}):n.entityType==="agent"&&t.invalidateHostCache(n.companyId,{keys:["agents:all"]});let i=await Rx(e,t,n),o=Oh(i),a=o?Rh(o):Gl(i);if(!a)return;i.entityType==="approval"&&t.invalidateApprovals(i.companyId);let c={kind:"event",id:`${i.eventId}:event`,occurredAt:i.occurredAt,source:{eventType:i.eventType,entityId:i.entityId,entityType:i.entityType},...o?{sourceEvent:o}:{},apertureEvent:a},{snapshot:u}=await ze(e,t,i.companyId,()=>{let{ledger:p,snapshot:m}=t.applyEvent(i.companyId,c);return{ledger:p,snapshot:m}});De(e,{companyId:i.companyId,reason:"event",eventType:i.eventType,updatedAt:u.updatedAt,counts:u.counts}),e.logger.info("Captured Paperclip event for Aperture",{companyId:i.companyId,eventType:i.eventType,entityId:i.entityId,mappedType:a.type})}function Nh(e,t){for(let n of Ax)e.events.on(n,async s=>{await Cx(e,t,s)})}var Lh=Ys({async setup(e){let t=new Rs;mh(e,t),If(e,t),Nh(e,t)},async onHealth(){return{status:"ok",message:"Paperclip Aperture worker is running"}}}),gM=Lh;Fc(Lh,import.meta.url);export{gM as default};
4
+ `)}var J=r.string().transform(MS);var xt=r.enum(Nr),DS=r.object({type:r.literal("issue"),issueId:r.string().uuid()}).strict(),Ko=r.object({mode:r.literal(Cn),companyId:r.string().uuid().optional(),projectIds:r.array(r.string().uuid()).optional(),rootIssueId:r.string().uuid().optional(),issueIds:r.array(r.string().uuid()).optional(),allowedAgentIds:r.array(r.string().uuid()).optional(),allowedSecretBindingIds:r.array(r.string().uuid()).optional(),allowedToolClasses:r.array(r.string().trim().min(1)).optional(),outputPromotionTarget:DS.optional()}).strict(),Ln=r.object({id:r.literal(Cn),version:r.literal(1),rawOutputDisposition:r.literal(Lr)}).strict(),$e=r.object({trustPreset:xt.optional(),reviewPreset:Ln.optional(),trustBoundary:Ko.optional()}).catchall(r.unknown()),od=r.enum(["issue","comment","document","work_product"]),US=r.object({preset:xt,disposition:r.enum(["quarantined","promoted"]),sourceIssueId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),sourceAgentId:r.string().uuid().nullable().optional(),promotedFrom:r.object({artifactKind:od,artifactId:r.string().uuid(),issueId:r.string().uuid().nullable().optional()}).strict().nullable().optional(),promotedByActorType:r.enum(["agent","user","system"]).nullable().optional(),promotedByActorId:r.string().trim().min(1).nullable().optional(),promotedAt:r.string().datetime({offset:!0}).nullable().optional()}).strict();var zo=r.enum(["needs_attention","awaiting_decision","external_wait","recovery_open","missing_disposition"]),Wo=r.enum(["critical","high","medium","low"]),Go=r.enum(["blocked_by_unassigned_issue","blocked_by_assigned_backlog_issue","blocked_by_uninvokable_assignee","blocked_by_cancelled_issue","blocked_chain_stalled","invalid_review_participant","in_review_without_action_path","missing_successful_run_disposition","pending_board_decision","pending_user_decision","external_owner_action","open_recovery_issue"]),Mn=r.object({id:r.string().uuid(),identifier:r.string().nullable(),title:r.string(),status:r.enum(xn),priority:r.enum(Te),assigneeAgentId:r.string().uuid().nullable(),assigneeUserId:r.string().nullable()}).strict(),cd=r.object({kind:r.literal("blocked"),state:zo,reason:Go,severity:Wo,stoppedSinceAt:r.string().datetime().nullable(),owner:r.object({type:r.enum(["agent","user","board","external","unknown"]),agentId:r.string().uuid().nullable(),userId:r.string().nullable(),label:r.string().nullable()}).strict(),action:r.object({label:r.string().trim().min(1),detail:r.string().nullable()}).strict(),sourceIssue:Mn.nullable(),leafIssue:Mn.nullable(),recoveryIssue:Mn.nullable(),approvalId:r.string().uuid().nullable(),interactionId:r.string().uuid().nullable(),sampleIssueIdentifier:r.string().nullable(),redaction:r.object({externalDetailsRedacted:r.boolean(),secretFieldsOmitted:r.literal(!0)}).strict()}).strict(),Wr=["inherit","shared_workspace","isolated_workspace","operator_branch","reuse_existing","agent_default"],FS=r.object({type:r.enum(["project_primary","git_worktree","adapter_managed","cloud_sandbox"]).optional(),baseRef:r.string().optional().nullable(),branchTemplate:r.string().optional().nullable(),worktreeParentDir:r.string().optional().nullable(),provisionCommand:r.string().optional().nullable(),teardownCommand:r.string().optional().nullable()}).strict(),Un=r.object({mode:r.enum(Wr).optional(),environmentId:r.string().uuid().optional().nullable(),workspaceStrategy:FS.optional().nullable(),workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable()}).strict(),jS=r.object({modelProfile:r.enum(ci).optional(),adapterConfig:r.record(r.string(),r.unknown()).optional(),useProjectWorkspace:r.boolean().optional()}).strict(),ld=r.object({type:r.enum(["agent","user"]),agentId:r.string().uuid().optional().nullable(),userId:r.string().optional().nullable()}),ad=ld.superRefine((e,t)=>{if(e.type==="agent"){e.agentId||t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants require agentId",path:["agentId"]}),e.userId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants cannot set userId",path:["userId"]});return}e.userId||t.addIssue({code:r.ZodIssueCode.custom,message:"User participants require userId",path:["userId"]}),e.agentId&&t.addIssue({code:r.ZodIssueCode.custom,message:"User participants cannot set agentId",path:["agentId"]})}),qS=ld.extend({id:r.string().uuid().optional()}).superRefine((e,t)=>{if(e.type==="agent"){e.agentId||t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants require agentId",path:["agentId"]}),e.userId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Agent participants cannot set userId",path:["userId"]});return}e.userId||t.addIssue({code:r.ZodIssueCode.custom,message:"User participants require userId",path:["userId"]}),e.agentId&&t.addIssue({code:r.ZodIssueCode.custom,message:"User participants cannot set agentId",path:["agentId"]})}),$S=r.object({id:r.string().uuid().optional(),type:r.enum(vr),approvalsNeeded:r.literal(1).optional().default(1),participants:r.array(qS).default([])}),BS=r.object({nextCheckAt:r.string().datetime(),notes:r.string().max(500).optional().nullable().default(null),scheduledBy:r.enum(kr).optional().default("assignee"),kind:r.enum(_r).optional().nullable().default(null),serviceName:r.string().trim().min(1).max(120).optional().nullable().default(null),externalRef:r.string().trim().min(1).max(500).optional().nullable().default(null),timeoutAt:r.string().datetime().optional().nullable().default(null),maxAttempts:r.number().int().positive().max(100).optional().nullable().default(null),recoveryPolicy:r.enum(Er).optional().nullable().default(null)}),Yo=r.object({mode:r.enum(Ci).optional().default("normal"),commentRequired:r.boolean().optional().default(!0),stages:r.array($S).default([]),monitor:BS.optional().nullable(),reviewPreset:Ln.optional(),authorizationPolicy:$e.optional()}),HS=r.object({status:r.enum(Oi),nextCheckAt:r.string().datetime().nullable(),lastTriggeredAt:r.string().datetime().nullable(),attemptCount:r.number().int().nonnegative().default(0),notes:r.string().max(500).nullable(),scheduledBy:r.enum(kr).nullable(),kind:r.enum(_r).nullable().optional().default(null),serviceName:r.string().trim().min(1).max(120).nullable().optional().default(null),externalRef:r.string().trim().min(1).max(500).nullable().optional().default(null),timeoutAt:r.string().datetime().nullable().optional().default(null),maxAttempts:r.number().int().positive().max(100).nullable().optional().default(null),recoveryPolicy:r.enum(Er).nullable().optional().default(null),clearedAt:r.string().datetime().nullable(),clearReason:r.enum(Ni).nullable()}),Gr=r.object({instructions:r.string().trim().min(1).max(2e4)}).strict(),ud=r.object({status:r.enum(Pi),currentStageId:r.string().uuid().nullable(),currentStageIndex:r.number().int().nonnegative().nullable(),currentStageType:r.enum(vr).nullable(),currentParticipant:ad.nullable(),returnAssignee:ad.nullable(),reviewRequest:Gr.nullable().optional().default(null),completedStageIds:r.array(r.string().uuid()).default([]),lastDecisionId:r.string().uuid().nullable(),lastDecisionOutcome:r.enum(Li).nullable(),monitor:HS.optional().nullable()}),VS=r.object({id:r.string().uuid(),companyId:r.string().uuid(),sourceIssueId:r.string().uuid(),recoveryIssueId:r.string().uuid().nullable(),kind:r.enum(vi),status:r.enum(ki),ownerType:r.enum(_i),ownerAgentId:r.string().uuid().nullable(),ownerUserId:r.string().nullable(),previousOwnerAgentId:r.string().uuid().nullable(),returnOwnerAgentId:r.string().uuid().nullable(),cause:r.string().min(1),fingerprint:r.string().min(1),evidence:r.record(r.string(),r.unknown()),nextAction:r.string().min(1),wakePolicy:r.record(r.string(),r.unknown()).nullable(),monitorPolicy:r.record(r.string(),r.unknown()).nullable(),attemptCount:r.number().int().nonnegative(),maxAttempts:r.number().int().positive().nullable(),timeoutAt:r.union([r.date(),r.string().datetime()]).nullable(),lastAttemptAt:r.union([r.date(),r.string().datetime()]).nullable(),outcome:r.enum(Ei).nullable(),resolutionNote:r.string().nullable(),resolvedAt:r.union([r.date(),r.string().datetime()]).nullable(),createdAt:r.union([r.date(),r.string().datetime()]),updatedAt:r.union([r.date(),r.string().datetime()])}),KS=["restored","false_positive","blocked","cancelled"],dd=r.object({actionId:r.string().uuid().optional(),outcome:r.enum(KS),sourceIssueStatus:r.enum(["todo","done","in_review","blocked"]),resolutionNote:J.optional().nullable()}).strict().superRefine((e,t)=>{if(e.outcome==="restored"){e.sourceIssueStatus!=="todo"&&e.sourceIssueStatus!=="done"&&e.sourceIssueStatus!=="in_review"&&t.addIssue({code:r.ZodIssueCode.custom,message:"Restored recovery actions must move the source issue to todo, done, or in_review",path:["sourceIssueStatus"]});return}if(e.outcome==="blocked"){e.sourceIssueStatus!=="blocked"&&t.addIssue({code:r.ZodIssueCode.custom,message:"Blocked recovery actions must move the source issue to blocked",path:["sourceIssueStatus"]});return}if(e.outcome==="false_positive"||e.outcome==="cancelled"){e.sourceIssueStatus!=="done"&&e.sourceIssueStatus!=="in_review"&&t.addIssue({code:r.ZodIssueCode.custom,message:"This recovery outcome requires sourceIssueStatus to be done or in_review",path:["sourceIssueStatus"]});return}}),pd=r.number().int().nonnegative().transform(e=>hi(e));function Zo(e){if(typeof e.status=="string")return{status:e.status,defaulted:!1,reason:"explicit"};let t=typeof e.assigneeAgentId=="string"&&e.assigneeAgentId.length>0||typeof e.assigneeUserId=="string"&&e.assigneeUserId.length>0;return{status:t?"todo":"backlog",defaulted:!0,reason:t?"assigned_omitted_status":"unassigned_omitted_status"}}function md(e){return r.preprocess(t=>{if(!t||typeof t!="object"||Array.isArray(t))return t;let n=t;return n.status!==void 0?t:{...n,status:Zo(n).status}},e)}var Dn=r.object({projectId:r.string().uuid().optional().nullable(),projectWorkspaceId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),parentId:r.string().uuid().optional().nullable(),blockedByIssueIds:r.array(r.string().uuid()).optional(),inheritExecutionWorkspaceFromIssueId:r.string().uuid().optional().nullable(),title:r.string().min(1),description:J.optional().nullable(),status:r.enum(xn),workMode:r.enum(Ir).optional().default("standard"),priority:r.enum(Te).optional().default("medium"),assigneeAgentId:r.string().uuid().optional().nullable(),assigneeUserId:r.string().optional().nullable(),requestDepth:pd.optional().default(0),billingCode:r.string().optional().nullable(),assigneeAdapterOverrides:jS.optional().nullable(),executionPolicy:Yo.optional().nullable(),executionWorkspaceId:r.string().uuid().optional().nullable(),executionWorkspacePreference:r.enum(Wr).optional().nullable(),executionWorkspaceSettings:Un.optional().nullable(),labelIds:r.array(r.string().uuid()).optional()}),gd=Dn.extend({status:Dn.shape.status.optional()}),fd=md(Dn),Jo=md(Dn.omit({parentId:!0,inheritExecutionWorkspaceFromIssueId:!0}).extend({acceptanceCriteria:r.array(r.string().trim().min(1).max(500)).max(20).optional(),blockParentUntilDone:r.boolean().optional().default(!1)})),hd=r.object({acceptedPlanRevisionId:r.string().uuid(),children:r.array(Jo).min(1).max(25)}),yd=r.object({name:r.string().trim().min(1).max(48),color:r.string().regex(/^#(?:[0-9a-fA-F]{6})$/,"Color must be a 6-digit hex value")}),Sd=Dn.partial().extend({requestDepth:pd.optional(),assigneeAgentId:r.string().trim().min(1).optional().nullable(),comment:J.pipe(r.string().min(1)).optional(),reviewRequest:Gr.optional().nullable(),reopen:r.boolean().optional(),resume:r.boolean().optional(),interrupt:r.boolean().optional(),hiddenAt:r.string().datetime().nullable().optional()}),bd=r.object({agentId:r.string().uuid(),expectedStatuses:r.array(r.enum(xn)).nonempty()}),Id=r.string().trim().min(1).max(120),vd=r.string().trim().min(1).max(2e3),Fn=r.enum(pi),jn=r.object({kind:r.enum(mi).default("message"),tone:r.enum(gi).default("neutral"),title:r.string().trim().min(1).max(160).nullable().optional(),detailsDefaultOpen:r.boolean().optional().default(!1)}).strict(),cn=r.object({type:r.enum(fi),label:Id.nullable().optional()}),zS=cn.extend({type:r.literal("text"),text:vd}).strict(),WS=cn.extend({type:r.literal("code"),code:r.string().min(1).max(4e3),language:r.string().trim().min(1).max(40).nullable().optional()}).strict(),GS=cn.extend({type:r.literal("key_value"),label:Id,value:vd}).strict(),YS=cn.extend({type:r.literal("issue_link"),issueId:r.string().uuid().nullable().optional(),identifier:r.string().trim().min(1).max(80).nullable().optional(),title:r.string().trim().min(1).max(240).nullable().optional()}).strict(),ZS=cn.extend({type:r.literal("agent_link"),agentId:r.string().uuid(),name:r.string().trim().min(1).max(160).nullable().optional()}).strict(),JS=cn.extend({type:r.literal("run_link"),runId:r.string().uuid(),title:r.string().trim().min(1).max(160).nullable().optional()}).strict(),Xo=r.discriminatedUnion("type",[zS,WS,GS,YS,ZS,JS]).superRefine((e,t)=>{e.type==="issue_link"&&!e.issueId&&!e.identifier&&t.addIssue({code:r.ZodIssueCode.custom,message:"Issue link rows require issueId or identifier",path:["issueId"]})}),Qo=r.object({title:r.string().trim().min(1).max(160).nullable().optional(),rows:r.array(Xo).min(1).max(50)}).strict(),qn=r.object({version:r.literal(1),sourceRunId:r.string().uuid().nullable().optional(),sections:r.array(Qo).min(1).max(20)}).strict(),kd=r.object({body:J.pipe(r.string().min(1)),authorType:Fn.optional(),presentation:jn.nullable().optional(),metadata:qn.nullable().optional(),reopen:r.boolean().optional(),resume:r.boolean().optional(),interrupt:r.boolean().optional()}),_d=r.enum(Si),Ed=r.enum(yi),an=r.enum(bi),ea=r.string().trim().min(1).max(64).regex(/^[a-z0-9][a-z0-9_-]*$/,"Document key must be lowercase letters, numbers, _ or -"),ta=r.object({clientKey:r.string().trim().min(1).max(120),parentClientKey:r.string().trim().min(1).max(120).nullable().optional(),parentId:r.string().uuid().nullable().optional(),title:r.string().trim().min(1).max(240),description:J.pipe(r.string().trim().max(2e4)).nullable().optional(),priority:r.enum(Te).nullable().optional(),workMode:r.enum(Ir).nullable().optional(),assigneeAgentId:r.string().uuid().nullable().optional(),assigneeUserId:r.string().trim().min(1).nullable().optional(),projectId:r.string().uuid().nullable().optional(),goalId:r.string().uuid().nullable().optional(),billingCode:r.string().trim().max(120).nullable().optional(),labels:r.array(r.string().trim().min(1).max(48)).max(20).optional(),hiddenInPreview:r.boolean().optional()}).superRefine((e,t)=>{e.assigneeAgentId&&e.assigneeUserId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Suggested tasks can only target one assignee",path:["assigneeAgentId"]})}),na=r.object({version:r.literal(1),defaultParentId:r.string().uuid().nullable().optional(),tasks:r.array(ta).min(1).max(50)}).superRefine((e,t)=>{let n=new Set;for(let[s,i]of e.tasks.entries()){if(n.has(i.clientKey)){t.addIssue({code:r.ZodIssueCode.custom,message:"clientKey must be unique within one interaction",path:["tasks",s,"clientKey"]});continue}n.add(i.clientKey)}}),ra=r.object({clientKey:r.string().trim().min(1).max(120),issueId:r.string().uuid(),identifier:r.string().trim().min(1).nullable().optional(),title:r.string().trim().min(1).nullable().optional(),parentIssueId:r.string().uuid().nullable().optional(),parentIdentifier:r.string().trim().min(1).nullable().optional()}),Ad=r.object({version:r.literal(1),createdTasks:r.array(ra).max(50).optional(),skippedClientKeys:r.array(r.string().trim().min(1).max(120)).max(50).optional(),rejectionReason:r.string().trim().max(4e3).nullable().optional()}),sa=r.object({id:r.string().trim().min(1).max(120),label:r.string().trim().min(1).max(120),description:r.string().trim().max(500).nullable().optional()}),ia=r.object({id:r.string().trim().min(1).max(120),prompt:r.string().trim().min(1).max(500),helpText:r.string().trim().max(1e3).nullable().optional(),selectionMode:r.enum(["single","multi"]),required:r.boolean().optional(),options:r.array(sa).min(1).max(10)}),oa=r.object({version:r.literal(1),title:r.string().trim().max(240).nullable().optional(),submitLabel:r.string().trim().max(120).nullable().optional(),questions:r.array(ia).min(1).max(10)}).superRefine((e,t)=>{let n=new Set;for(let[s,i]of e.questions.entries()){n.has(i.id)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Question ids must be unique within one interaction",path:["questions",s,"id"]}),n.add(i.id);let o=new Set;for(let[a,c]of i.options.entries())o.has(c.id)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Option ids must be unique within one question",path:["questions",s,"options",a,"id"]}),o.add(c.id)}}),Yr=r.object({questionId:r.string().trim().min(1).max(120),optionIds:r.array(r.string().trim().min(1).max(120)).max(20),otherText:J.pipe(r.string().trim().max(4e3)).nullable().optional()}),wd=r.object({version:r.literal(1),answers:r.array(Yr).max(20),cancelled:r.literal(!0).optional(),cancellationReason:r.string().trim().max(4e3).nullable().optional(),summaryMarkdown:r.string().max(2e4).nullable().optional()}),XS=r.string().trim().min(1).max(2e3).refine(e=>e.startsWith("#")?!0:e.startsWith("/")?!e.startsWith("//"):/^https?:\/\//i.test(e),"href must be a root-relative path, same-page fragment, or http(s) URL"),xd=r.object({label:r.string().trim().min(1).max(120).nullable().optional(),href:XS.nullable().optional()}),aa=xd.extend({type:r.literal("issue_document"),issueId:r.string().uuid().nullable().optional(),documentId:r.string().uuid().nullable().optional(),key:ea,revisionId:r.string().uuid(),revisionNumber:r.number().int().positive().nullable().optional()}),ca=xd.extend({type:r.literal("custom"),key:r.string().trim().min(1).max(120),revisionId:r.string().trim().min(1).max(255).nullable().optional(),revisionNumber:r.number().int().positive().nullable().optional()}),$n=r.discriminatedUnion("type",[aa,ca]),la=r.object({version:r.literal(1),prompt:r.string().trim().min(1).max(1e3),acceptLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectRequiresReason:r.boolean().optional(),rejectReasonLabel:r.string().trim().min(1).max(160).nullable().optional(),allowDeclineReason:r.boolean().optional().default(!0),declineReasonPlaceholder:r.string().trim().min(1).max(240).nullable().optional(),detailsMarkdown:r.string().max(2e4).nullable().optional(),supersedeOnUserComment:r.boolean().optional(),target:$n.nullable().optional()}),ua=r.object({id:r.string().trim().min(1).max(120),label:r.string().trim().min(1).max(120),description:r.string().trim().max(500).nullable().optional()}),da=r.object({version:r.literal(1),prompt:r.string().trim().min(1).max(1e3),detailsMarkdown:r.string().max(2e4).nullable().optional(),options:r.array(ua).min(1).max(Qt),defaultSelectedOptionIds:r.array(r.string().trim().min(1).max(120)).max(Qt).optional().default([]),minSelected:r.number().int().min(0).optional().default(0),maxSelected:r.number().int().min(0).nullable().optional(),acceptLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectLabel:r.string().trim().min(1).max(80).nullable().optional(),rejectRequiresReason:r.boolean().optional(),rejectReasonLabel:r.string().trim().min(1).max(160).nullable().optional(),allowDeclineReason:r.boolean().optional().default(!0),declineReasonPlaceholder:r.string().trim().min(1).max(240).nullable().optional(),supersedeOnUserComment:r.boolean().optional(),target:$n.nullable().optional()}).superRefine((e,t)=>{let n=new Set;for(let[o,a]of e.options.entries())n.has(a.id)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Option ids must be unique within one checkbox confirmation",path:["options",o,"id"]}),n.add(a.id);let s=new Set;for(let[o,a]of e.defaultSelectedOptionIds.entries()){if(s.has(a)){t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds must be unique",path:["defaultSelectedOptionIds",o]});continue}s.add(a),n.has(a)||t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds must reference existing option ids",path:["defaultSelectedOptionIds",o]})}let i=e.maxSelected??null;e.minSelected>e.options.length&&t.addIssue({code:r.ZodIssueCode.custom,message:"minSelected cannot exceed the option count",path:["minSelected"]}),e.defaultSelectedOptionIds.length<e.minSelected&&t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds must satisfy minSelected",path:["defaultSelectedOptionIds"]}),i!=null&&(i<e.minSelected&&t.addIssue({code:r.ZodIssueCode.custom,message:"maxSelected must be greater than or equal to minSelected",path:["maxSelected"]}),i>e.options.length&&t.addIssue({code:r.ZodIssueCode.custom,message:"maxSelected cannot exceed the option count",path:["maxSelected"]}),e.defaultSelectedOptionIds.length>i&&t.addIssue({code:r.ZodIssueCode.custom,message:"defaultSelectedOptionIds cannot exceed maxSelected",path:["defaultSelectedOptionIds"]}))}),pa=r.object({version:r.literal(1),outcome:r.enum(["accepted","rejected","superseded_by_comment","stale_target"]),reason:r.string().trim().max(4e3).nullable().optional(),commentId:r.string().uuid().nullable().optional(),staleTarget:$n.nullable().optional()}),Td=pa.extend({selectedOptionIds:r.array(r.string().trim().min(1).max(120)).max(Qt).optional()}).superRefine((e,t)=>{let n=e.selectedOptionIds??[],s=new Set;for(let[i,o]of n.entries())s.has(o)&&t.addIssue({code:r.ZodIssueCode.custom,message:"selectedOptionIds must be unique",path:["selectedOptionIds",i]}),s.add(o)}),Rd=r.discriminatedUnion("kind",[r.object({kind:r.literal("suggest_tasks"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("wake_assignee"),payload:na}),r.object({kind:r.literal("ask_user_questions"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("wake_assignee"),payload:oa}),r.object({kind:r.literal("request_confirmation"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("none"),payload:la}),r.object({kind:r.literal("request_checkbox_confirmation"),idempotencyKey:r.string().trim().max(255).nullable().optional(),sourceCommentId:r.string().uuid().nullable().optional(),sourceRunId:r.string().uuid().nullable().optional(),title:r.string().trim().max(240).nullable().optional(),summary:r.string().trim().max(1e3).nullable().optional(),continuationPolicy:an.optional().default("wake_assignee"),payload:da})]),Cd=r.object({selectedClientKeys:r.array(r.string().trim().min(1).max(120)).min(1).max(50).optional(),selectedOptionIds:r.array(r.string().trim().min(1).max(120)).max(Qt).optional()}).superRefine((e,t)=>{let n=new Set;for(let[i,o]of(e.selectedClientKeys??[]).entries()){if(n.has(o)){t.addIssue({code:r.ZodIssueCode.custom,message:"selectedClientKeys must be unique",path:["selectedClientKeys",i]});continue}n.add(o)}let s=new Set;for(let[i,o]of(e.selectedOptionIds??[]).entries()){if(s.has(o)){t.addIssue({code:r.ZodIssueCode.custom,message:"selectedOptionIds must be unique",path:["selectedOptionIds",i]});continue}s.add(o)}}),Pd=r.object({reason:r.string().trim().max(4e3).optional()}),Od=r.object({reason:r.string().trim().max(4e3).optional()}),Nd=r.object({answers:r.array(Yr).max(20),summaryMarkdown:J.pipe(r.string().max(2e4)).nullable().optional()}),Ld=r.object({approvalId:r.string().uuid()}),Md=r.object({issueCommentId:r.string().uuid().optional().nullable()}),QS=["markdown"],ma=r.enum(QS),Dd=r.object({title:r.string().trim().max(200).nullable().optional(),format:ma,body:J.pipe(r.string().max(524288)),changeSummary:r.string().trim().max(500).nullable().optional(),baseRevisionId:r.string().uuid().nullable().optional()}),Ud=r.object({});var ga=r.object({type:r.literal("plain"),value:r.string()}),fa=r.object({type:r.literal("secret_ref"),secretId:r.string().uuid(),version:r.union([r.literal("latest"),r.number().int().positive()]).optional()}),ha=r.union([r.string(),ga,fa]),Be=r.record(r.string(),ha),Fd=r.object({name:r.string().min(1),key:r.string().min(1).regex(/^[a-zA-Z0-9_.-]+$/).optional(),provider:r.enum(Et).optional(),providerConfigId:r.string().uuid().optional().nullable(),managedMode:r.enum(hu).optional(),value:r.string().min(1).optional().nullable(),description:r.string().optional().nullable(),externalRef:r.string().optional().nullable(),providerMetadata:r.record(r.string(),r.unknown()).optional().nullable(),providerVersionRef:r.string().optional().nullable()}).superRefine((e,t)=>{if((e.managedMode??"paperclip_managed")==="external_reference"){e.externalRef?.trim()||t.addIssue({code:r.ZodIssueCode.custom,path:["externalRef"],message:"External reference secrets require externalRef"});return}e.externalRef?.trim()&&t.addIssue({code:r.ZodIssueCode.custom,path:["externalRef"],message:"Managed secrets cannot set externalRef"}),e.value?.trim()||t.addIssue({code:r.ZodIssueCode.custom,path:["value"],message:"Managed secrets require value"})}),jd=r.object({value:r.string().min(1).optional().nullable(),externalRef:r.string().optional().nullable(),providerVersionRef:r.string().optional().nullable(),providerConfigId:r.string().uuid().optional().nullable()}),qd=r.object({name:r.string().min(1).optional(),key:r.string().min(1).regex(/^[a-zA-Z0-9_.-]+$/).optional(),status:r.enum(fu).optional(),providerConfigId:r.string().uuid().optional().nullable(),description:r.string().optional().nullable(),externalRef:r.string().optional().nullable(),providerMetadata:r.record(r.string(),r.unknown()).optional().nullable()}),ya=r.object({targetType:r.enum(yu),targetId:r.string().min(1),configPath:r.string().min(1)}),$d=ya.extend({secretId:r.string().uuid(),versionSelector:r.union([r.literal("latest"),r.number().int().positive()]).default("latest"),required:r.boolean().default(!0),label:r.string().optional().nullable()}),eb=r.string().trim().min(1).max(160),Re=eb.optional().nullable(),tb=/^(access[-_]?key([-_]?id)?|secret[-_]?access[-_]?key|secret[-_]?key|token|password|passwd|credential|credentials|private[-_]?key|pem|jwt|session[-_]?token|service[-_]?account([-_]?json)?|client[-_]?secret|secret[-_]?id|unseal[-_]?key|recovery[-_]?key|key[-_]?file([-_]?path)?|token[-_]?file([-_]?path)?)$/i;function Sa(e,t){if(!(!e||typeof e!="object"||Array.isArray(e)))for(let n of Object.keys(e))tb.test(n)&&t.addIssue({code:r.ZodIssueCode.custom,path:["config",n],message:`Provider vault config cannot persist sensitive field: ${n}`})}var ba=r.object({backupReminderAcknowledged:r.boolean().optional()}).strict(),Ia=r.object({region:r.string().trim().regex(/^[a-z]{2}(?:-gov)?-[a-z]+-\d+$/,"Invalid AWS region"),namespace:Re,secretNamePrefix:Re,kmsKeyId:r.string().trim().min(1).max(512).optional().nullable(),ownerTag:Re,environmentTag:Re}).strict(),va=r.object({projectId:r.string().trim().min(1).max(128).regex(/^[a-z][a-z0-9-]{4,127}$/).optional().nullable(),location:Re,namespace:Re,secretNamePrefix:Re}).strict(),Bd=r.preprocess(e=>typeof e=="string"?e.trim():e,r.string().url().superRefine((e,t)=>{let n;try{n=new URL(e)}catch{return}let s=n.pathname!==""&&n.pathname!=="/";(n.protocol!=="http:"&&n.protocol!=="https:"||n.username||n.password||n.search||n.hash||s)&&t.addIssue({code:r.ZodIssueCode.custom,message:"Vault address must be an origin-only HTTP(S) URL without credentials, path, query, or fragment"})}).transform(e=>new URL(e).origin));function nb(e,t){if(e==null)return;let n=Bd.safeParse(e);if(!n.success)for(let s of n.error.issues)t.addIssue({...s,path:["config","address",...s.path]})}var ka=r.object({address:Bd.optional().nullable(),namespace:Re,mountPath:Re,secretPathPrefix:Re}).strict(),Zr=r.discriminatedUnion("provider",[r.object({provider:r.literal("local_encrypted"),config:ba}),r.object({provider:r.literal("aws_secrets_manager"),config:Ia}),r.object({provider:r.literal("gcp_secret_manager"),config:va}),r.object({provider:r.literal("vault"),config:ka})]),Hd=r.object({provider:r.enum(Et),displayName:r.string().trim().min(1).max(120),status:r.enum(Ar).optional(),isDefault:r.boolean().optional(),config:r.record(r.string(),r.unknown()).default({})}).superRefine((e,t)=>{Sa(e.config,t);let n=Zr.safeParse({provider:e.provider,config:e.config});if(!n.success)for(let i of n.error.issues)t.addIssue({...i,path:i.path[0]==="config"?i.path:["config",...i.path]});let s=e.status??(["gcp_secret_manager","vault"].includes(e.provider)?"coming_soon":"ready");(e.provider==="gcp_secret_manager"||e.provider==="vault")&&s!=="coming_soon"&&s!=="disabled"&&t.addIssue({code:r.ZodIssueCode.custom,path:["status"],message:`${e.provider} provider vaults are locked while coming soon`}),(s==="coming_soon"||s==="disabled")&&e.isDefault&&t.addIssue({code:r.ZodIssueCode.custom,path:["isDefault"],message:"Only ready or warning provider vaults can be default"})}),Vd=r.object({displayName:r.string().trim().min(1).max(120).optional(),status:r.enum(Ar).optional(),isDefault:r.boolean().optional(),config:r.record(r.string(),r.unknown()).optional()}).superRefine((e,t)=>{e.config!==void 0&&(Sa(e.config,t),nb(e.config.address,t)),(e.status==="coming_soon"||e.status==="disabled")&&e.isDefault&&t.addIssue({code:r.ZodIssueCode.custom,path:["isDefault"],message:"Only ready or warning provider vaults can be default"})}),Kd=r.object({providerConfigId:r.string().uuid(),query:r.string().trim().max(200).optional().nullable(),nextToken:r.string().trim().min(1).max(4096).optional().nullable(),pageSize:r.number().int().min(1).max(100).optional()}),zd=r.object({provider:r.enum(Et),config:r.record(r.unknown()).default({}),query:r.string().trim().max(200).optional().nullable(),nextToken:r.string().trim().min(1).max(4096).optional().nullable(),pageSize:r.number().int().min(1).max(100).optional()}).superRefine((e,t)=>{Sa(e.config,t);let n=Zr.safeParse({provider:e.provider,config:e.config});if(!n.success)for(let s of n.error.issues)t.addIssue({...s,path:s.path[0]==="config"?s.path:["config",...s.path]})}),_a=r.object({externalRef:r.string().trim().min(1).max(2048),name:r.string().trim().min(1).max(160).optional().nullable(),key:r.string().trim().min(1).max(120).regex(/^[a-zA-Z0-9_.-]+$/).optional().nullable(),description:r.string().trim().max(500).optional().nullable(),providerVersionRef:r.string().trim().min(1).max(512).optional().nullable(),providerMetadata:r.record(r.string(),r.unknown()).optional().nullable()}),Wd=r.object({providerConfigId:r.string().uuid(),secrets:r.array(_a).min(1).max(100)});var Gd=r.union([r.string(),r.number().finite(),r.boolean()]),Xe=r.object({name:r.string().trim().regex(/^[A-Za-z][A-Za-z0-9_]*$/),label:r.string().trim().max(120).optional().nullable(),type:r.enum(Bi).optional().default("text"),defaultValue:Gd.optional().nullable(),required:r.boolean().optional().default(!0),options:r.array(r.string().trim().min(1).max(120)).max(50).optional().default([])}).superRefine((e,t)=>{e.type==="select"&&e.options.length===0&&t.addIssue({code:r.ZodIssueCode.custom,path:["options"],message:"Select variables require at least one option"}),e.type!=="select"&&e.options.length>0&&t.addIssue({code:r.ZodIssueCode.custom,path:["options"],message:"Only select variables can define options"}),e.type==="select"&&e.defaultValue!=null&&(typeof e.defaultValue!="string"||!e.options.includes(e.defaultValue))&&t.addIssue({code:r.ZodIssueCode.custom,path:["defaultValue"],message:"Select variable defaults must match one of the allowed options"})}),Aa=r.object({projectId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),parentIssueId:r.string().uuid().optional().nullable(),title:r.string().trim().min(1).max(200),description:r.string().optional().nullable(),assigneeAgentId:r.string().uuid().optional().nullable(),priority:r.enum(Te).optional().default("medium"),status:r.enum(en).optional().default("active"),concurrencyPolicy:r.enum(tn).optional().default("coalesce_if_active"),catchUpPolicy:r.enum(nn).optional().default("skip_missed"),variables:r.array(Xe).optional().default([]),env:Be.optional().nullable()}),Yd=Aa.partial().extend({baseRevisionId:r.string().uuid().optional().nullable()}),wa=r.object({id:r.string().uuid(),companyId:r.string().uuid(),projectId:r.string().uuid().nullable(),goalId:r.string().uuid().nullable(),parentIssueId:r.string().uuid().nullable(),title:r.string().trim().min(1).max(200),description:r.string().nullable(),assigneeAgentId:r.string().uuid().nullable(),priority:r.enum(Te),status:r.enum(en),concurrencyPolicy:r.enum(tn),catchUpPolicy:r.enum(nn),variables:r.array(Xe),env:Be.nullable().default(null)}).strict(),xa=r.object({id:r.string().uuid(),kind:r.enum(Tn),label:r.string().nullable(),enabled:r.boolean(),cronExpression:r.string().nullable(),timezone:r.string().nullable(),publicId:r.string().nullable(),signingMode:r.enum(_t).nullable(),replayWindowSec:r.number().int().min(30).max(86400).nullable()}).strict(),Zd=r.object({version:r.literal(1),routine:wa,triggers:r.array(xa)}).strict();var Ea=r.object({label:r.string().trim().max(120).optional().nullable(),enabled:r.boolean().optional().default(!0)}),Jd=r.discriminatedUnion("kind",[Ea.extend({kind:r.literal("schedule"),cronExpression:r.string().trim().min(1),timezone:r.string().trim().min(1).default("UTC")}),Ea.extend({kind:r.literal("webhook"),signingMode:r.enum(_t).optional().default("bearer"),replayWindowSec:r.number().int().min(30).max(86400).optional().default(300)}),Ea.extend({kind:r.literal("api")})]),Xd=r.object({label:r.string().trim().max(120).optional().nullable(),enabled:r.boolean().optional(),cronExpression:r.string().trim().min(1).optional().nullable(),timezone:r.string().trim().min(1).optional().nullable(),signingMode:r.enum(_t).optional().nullable(),replayWindowSec:r.number().int().min(30).max(86400).optional().nullable()}),Qd=r.object({triggerId:r.string().uuid().optional().nullable(),payload:r.record(r.string(),r.unknown()).optional().nullable(),variables:r.record(r.string(),Gd).optional().nullable(),projectId:r.string().uuid().optional().nullable(),assigneeAgentId:r.string().uuid().optional().nullable(),idempotencyKey:r.string().trim().max(255).optional().nullable(),source:r.enum(["manual","api"]).optional().default("manual"),executionWorkspaceId:r.string().uuid().optional().nullable(),executionWorkspacePreference:r.enum(Wr).optional().nullable(),executionWorkspaceSettings:Un.optional().nullable()}),ep=r.object({});var ln=r.object({company:r.boolean().optional(),agents:r.boolean().optional(),projects:r.boolean().optional(),issues:r.boolean().optional(),skills:r.boolean().optional()}).partial(),Ta=r.object({key:r.string().min(1),description:r.string().nullable(),agentSlug:r.string().min(1).nullable(),projectSlug:r.string().min(1).nullable(),kind:r.enum(["secret","plain"]),requirement:r.enum(["required","optional"]),defaultValue:r.string().nullable(),portability:r.enum(["portable","system_dependent"])}),rb=r.union([r.string(),r.object({encoding:r.literal("base64"),data:r.string(),contentType:r.string().min(1).optional().nullable()})]),Ra=r.object({path:r.string().min(1),name:r.string().min(1),description:r.string().nullable(),brandColor:r.string().nullable(),logoPath:r.string().nullable(),attachmentMaxBytes:r.number().int().min(1).max(1073741824).nullable().default(null),requireBoardApprovalForNewAgents:r.boolean(),feedbackDataSharingEnabled:r.boolean().default(!1),feedbackDataSharingConsentAt:r.string().datetime().nullable().default(null),feedbackDataSharingConsentByUserId:r.string().nullable().default(null),feedbackDataSharingTermsVersion:r.string().nullable().default(null)}),Jr=r.object({agents:r.array(r.string().min(1)).default([]),projects:r.array(r.string().min(1)).default([])}),Ca=r.object({slug:r.string().min(1),name:r.string().min(1),path:r.string().min(1),skills:r.array(r.string().min(1)).default([]),role:r.string().min(1),title:r.string().nullable(),icon:r.string().nullable(),capabilities:r.string().nullable(),reportsToSlug:r.string().min(1).nullable(),adapterType:r.string().min(1),adapterConfig:r.record(r.string(),r.unknown()),runtimeConfig:r.record(r.string(),r.unknown()),permissions:r.record(r.string(),r.unknown()),budgetMonthlyCents:r.number().int().nonnegative(),metadata:r.record(r.string(),r.unknown()).nullable()}),tp=r.object({key:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),path:r.string().min(1),description:r.string().nullable(),sourceType:r.string().min(1),sourceLocator:r.string().nullable(),sourceRef:r.string().nullable(),trustLevel:r.string().nullable(),compatibility:r.string().nullable(),metadata:r.record(r.string(),r.unknown()).nullable(),fileInventory:r.array(r.object({path:r.string().min(1),kind:r.string().min(1)})).default([])}),sb=r.object({slug:r.string().min(1),name:r.string().min(1),path:r.string().min(1),description:r.string().nullable(),ownerAgentSlug:r.string().min(1).nullable(),leadAgentSlug:r.string().min(1).nullable(),targetDate:r.string().nullable(),color:r.string().nullable(),status:r.string().nullable(),executionWorkspacePolicy:r.record(r.string(),r.unknown()).nullable(),workspaces:r.array(r.object({key:r.string().min(1),name:r.string().min(1),sourceType:r.string().nullable(),repoUrl:r.string().nullable(),repoRef:r.string().nullable(),defaultRef:r.string().nullable(),visibility:r.string().nullable(),setupCommand:r.string().nullable(),cleanupCommand:r.string().nullable(),metadata:r.record(r.string(),r.unknown()).nullable(),isPrimary:r.boolean()})).default([]),metadata:r.record(r.string(),r.unknown()).nullable()}),ib=r.object({kind:r.string().min(1),label:r.string().nullable(),enabled:r.boolean(),cronExpression:r.string().nullable(),timezone:r.string().nullable(),signingMode:r.string().nullable(),replayWindowSec:r.number().int().nullable()}),ob=r.object({concurrencyPolicy:r.string().nullable(),catchUpPolicy:r.string().nullable(),variables:r.array(Xe).nullable().optional(),triggers:r.array(ib).default([])}),ab=r.object({body:r.string().min(1),authorType:Fn,authorAgentSlug:r.string().min(1).nullable(),authorUserId:r.string().nullable(),presentation:jn.nullable(),metadata:qn.nullable(),createdAt:r.string().datetime().nullable()}),cb=r.object({slug:r.string().min(1),identifier:r.string().min(1).nullable(),title:r.string().min(1),path:r.string().min(1),projectSlug:r.string().min(1).nullable(),projectWorkspaceKey:r.string().min(1).nullable(),assigneeAgentSlug:r.string().min(1).nullable(),description:r.string().nullable(),recurring:r.boolean().default(!1),routine:ob.nullable(),legacyRecurrence:r.record(r.string(),r.unknown()).nullable(),status:r.string().nullable(),priority:r.string().nullable(),labelIds:r.array(r.string().min(1)).default([]),billingCode:r.string().nullable(),executionWorkspaceSettings:r.record(r.string(),r.unknown()).nullable(),assigneeAdapterOverrides:r.record(r.string(),r.unknown()).nullable(),comments:r.array(ab).default([]),metadata:r.record(r.string(),r.unknown()).nullable()}),np=r.object({schemaVersion:r.number().int().positive(),generatedAt:r.string().datetime(),source:r.object({companyId:r.string().uuid(),companyName:r.string().min(1)}).nullable(),includes:r.object({company:r.boolean(),agents:r.boolean(),projects:r.boolean(),issues:r.boolean(),skills:r.boolean()}),company:Ra.nullable(),sidebar:Jr.nullable(),agents:r.array(Ca),skills:r.array(tp).default([]),projects:r.array(sb).default([]),issues:r.array(cb).default([]),envInputs:r.array(Ta).default([])}),Pa=r.discriminatedUnion("type",[r.object({type:r.literal("inline"),rootPath:r.string().min(1).optional().nullable(),files:r.record(r.string(),rb)}),r.object({type:r.literal("github"),url:r.string().url()})]),Oa=r.discriminatedUnion("mode",[r.object({mode:r.literal("new_company"),newCompanyName:r.string().min(1).optional().nullable()}),r.object({mode:r.literal("existing_company"),companyId:r.string().uuid()})]),Bn=r.union([r.literal("all"),r.array(r.string().min(1))]),Hn=r.enum(["rename","skip","replace"]),rp=r.object({include:ln.optional(),agents:r.array(r.string().min(1)).optional(),skills:r.array(r.string().min(1)).optional(),projects:r.array(r.string().min(1)).optional(),issues:r.array(r.string().min(1)).optional(),projectIssues:r.array(r.string().min(1)).optional(),selectedFiles:r.array(r.string().min(1)).optional(),expandReferencedSkills:r.boolean().optional(),sidebarOrder:Jr.partial().optional()}),Na=r.object({source:Pa,include:ln.optional(),target:Oa,agents:Bn.optional(),collisionStrategy:Hn.optional(),nameOverrides:r.record(r.string().min(1),r.string().min(1)).optional(),selectedFiles:r.array(r.string().min(1)).optional()}),La=r.object({adapterType:r.string().min(1),adapterConfig:r.record(r.string(),r.unknown()).optional()}),sp=Na.extend({adapterOverrides:r.record(r.string().min(1),La).optional(),secretValues:r.record(r.string().min(1),r.string()).optional()});var Xr=r.enum(["bundled","optional"]),Ma=r.enum(["markdown_only","assets","scripts_executables","external_sources"]),Da=r.enum(["compatible","unknown","invalid"]),Qr=r.enum(["team","agent","project","task","skill","extension","readme","reference","script","asset","markdown","other"]),es=r.enum(["catalog","local","skills_sh","github","url","local_path","agent_package"]),Ua=r.object({type:es,ref:r.string().min(1),agentSlugs:r.array(r.string().min(1)),resolved:r.boolean(),catalogSkillId:r.string().min(1).optional(),catalogSkillKey:r.string().min(1).optional(),localPath:r.string().min(1).optional(),sourceLocator:r.string().min(1).optional(),sourceRef:r.string().min(1).optional()}),Fa=r.object({key:r.string().min(1),agentSlug:r.string().min(1).nullable(),projectSlug:r.string().min(1).nullable(),kind:r.enum(["secret","plain"]),requirement:r.enum(["required","optional"])}),ja=r.object({type:r.enum(["skills_sh","github","url","local_path","agent_package","include"]),ref:r.string().min(1),pinned:r.boolean()}),qa=r.object({path:r.string().min(1),kind:Qr,sizeBytes:r.number().int().nonnegative(),sha256:r.string().min(1)}),ip=r.object({id:r.string().min(1),key:r.string().min(1),kind:Xr,category:r.string().min(1),slug:r.string().min(1),name:r.string().min(1),description:r.string(),path:r.string().min(1),entrypoint:r.literal("TEAM.md"),schema:r.literal("agentcompanies/v1"),defaultInstall:r.boolean(),recommendedForCompanyTypes:r.array(r.string()),tags:r.array(r.string()),counts:r.object({agents:r.number().int().nonnegative(),projects:r.number().int().nonnegative(),tasks:r.number().int().nonnegative(),routines:r.number().int().nonnegative(),localSkills:r.number().int().nonnegative(),catalogSkills:r.number().int().nonnegative(),externalSkillSources:r.number().int().nonnegative()}),rootAgentSlugs:r.array(r.string()),agentSlugs:r.array(r.string()),projectSlugs:r.array(r.string()),requiredSkills:r.array(Ua),envInputs:r.array(Fa),sourceRefs:r.array(ja),files:r.array(qa),trustLevel:Ma,compatibility:Da,contentHash:r.string().min(1),packageName:r.string().min(1).optional(),packageVersion:r.string().min(1).optional()}),op=r.object({kind:Xr.optional(),category:r.string().min(1).optional(),q:r.string().min(1).optional()}),ap=r.object({catalogTeamId:r.string().min(1),path:r.string().min(1),kind:Qr,content:r.string(),language:r.string().nullable(),markdown:r.boolean()}),$a=r.object({allowExternalSources:r.boolean().optional(),allowUnpinnedOptionalSources:r.boolean().optional(),allowLocalPathSources:r.boolean().optional()}).strict(),Ba=r.object({targetManagerAgentId:r.string().min(1).nullable().optional(),targetManagerSlug:r.string().min(1).nullable().optional(),include:ln.omit({company:!0}).strict().optional(),agents:Bn.optional(),collisionStrategy:Hn.optional(),nameOverrides:r.record(r.string().min(1),r.string().min(1)).optional(),selectedFiles:r.array(r.string().min(1)).optional(),sourcePolicy:$a.optional()}).strict(),cp=Ba.extend({adapterOverrides:r.record(r.string().min(1),La).optional(),secretValues:r.record(r.string().min(1),r.string()).optional()}).strict(),lp=r.object({type:es,ref:r.string().min(1),agentSlugs:r.array(r.string().min(1)),action:r.enum(["already_in_package","catalog_install_required","external_import_required","blocked"]),catalogSkillId:r.string().min(1).nullable(),catalogSkillKey:r.string().min(1).nullable(),sourceLocator:r.string().min(1).nullable(),sourceRef:r.string().min(1).nullable(),reason:r.string().min(1).nullable()});var Ha=r.enum(["available","configured","installed","missing","stale","external"]),lb=r.enum(["company_managed","paperclip_required","user_installed","external_unknown"]),Va=r.enum(["unsupported","persistent","ephemeral"]),Ka=r.object({key:r.string().min(1),runtimeName:r.string().min(1).nullable(),desired:r.boolean(),managed:r.boolean(),required:r.boolean().optional(),requiredReason:r.string().nullable().optional(),state:Ha,origin:lb.optional(),originLabel:r.string().nullable().optional(),locationLabel:r.string().nullable().optional(),readOnly:r.boolean().optional(),sourcePath:r.string().nullable().optional(),targetPath:r.string().nullable().optional(),detail:r.string().nullable().optional()}),up=r.object({adapterType:r.string().min(1),supported:r.boolean(),mode:Va,desiredSkills:r.array(r.string().min(1)),entries:r.array(Ka),warnings:r.array(r.string())}),dp=r.object({desiredSkills:r.array(r.string().min(1))});var za=r.object({canCreateAgents:r.boolean().optional().default(!1),trustPreset:xt.optional(),authorizationPolicy:$e.optional()}).catchall(r.unknown()),Wa=r.enum(["managed","external"]),pp=r.object({mode:Wa.optional(),rootPath:r.string().trim().min(1).nullable().optional(),entryFile:r.string().trim().min(1).optional(),clearLegacyPromptTemplate:r.boolean().optional().default(!1)}),mp=r.object({path:r.string().trim().min(1),content:r.string(),clearLegacyPromptTemplate:r.boolean().optional().default(!1)}),Ga=r.record(r.string(),r.unknown()).superRefine((e,t)=>{let n=e.env;if(n===void 0)return;Be.safeParse(n).success||t.addIssue({code:r.ZodIssueCode.custom,message:"adapterConfig.env must be a map of valid env bindings",path:["env"]})}),ub=r.object({entryFile:r.string().trim().min(1).optional(),files:r.record(r.string(),r.string()).refine(e=>Object.keys(e).length>0,{message:"instructionsBundle.files must contain at least one file"})}),db=r.object({enabled:r.boolean().optional(),label:r.string().trim().min(1).optional(),adapterConfig:Ga}).strict(),gp=r.object({modelProfiles:r.object({cheap:db.optional()}).strict().optional()}).catchall(r.unknown()),ts=r.object({name:r.string().min(1),role:r.enum(ai).optional().default("general"),title:r.string().optional().nullable(),icon:r.enum(li).optional().nullable(),reportsTo:r.string().uuid().optional().nullable(),capabilities:r.string().optional().nullable(),desiredSkills:r.array(r.string().min(1)).optional(),adapterType:lo,adapterConfig:Ga.optional().default({}),instructionsBundle:ub.optional(),runtimeConfig:gp.optional().default({}),defaultEnvironmentId:r.string().uuid().optional().nullable(),budgetMonthlyCents:r.number().int().nonnegative().optional().default(0),permissions:za.optional(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}),fp=ts.extend({sourceIssueId:r.string().uuid().optional().nullable(),sourceIssueIds:r.array(r.string().uuid()).optional()}),hp=ts.omit({permissions:!0}).partial().extend({permissions:r.never().optional(),replaceAdapterConfig:r.boolean().optional(),status:r.enum(oi).optional(),spentMonthlyCents:r.number().int().nonnegative().optional()}),yp=r.object({path:r.string().trim().min(1).nullable(),adapterConfigKey:r.string().trim().min(1).optional()}),Sp=r.object({name:r.string().min(1).default("default")}),bp=r.object({userId:r.string().trim().min(1),status:r.string().trim().min(1).optional().default(di)}),Ip=r.object({source:r.enum(["timer","assignment","on_demand","automation"]).optional().default("on_demand"),triggerDetail:r.enum(["manual","ping","callback","system"]).optional(),reason:r.string().optional().nullable(),payload:r.record(r.string(),r.unknown()).optional().nullable(),idempotencyKey:r.string().optional().nullable(),forceFreshSession:r.preprocess(e=>e===null?void 0:e,r.boolean().optional().default(!1))}),vp=r.object({taskKey:r.string().min(1).optional().nullable()}),kp=r.object({adapterConfig:Ga.optional().default({}),environmentId:r.string().uuid().optional().nullable()}),_p=r.object({canCreateAgents:r.boolean(),canAssignTasks:r.boolean(),trustPreset:xt.optional(),authorizationPolicy:$e.optional()});var pb=r.object({type:r.enum(["project_primary","git_worktree","adapter_managed","cloud_sandbox"]).optional(),baseRef:r.string().optional().nullable(),branchTemplate:r.string().optional().nullable(),worktreeParentDir:r.string().optional().nullable(),provisionCommand:r.string().optional().nullable(),teardownCommand:r.string().optional().nullable()}).strict(),Ya=r.object({enabled:r.boolean(),defaultMode:r.enum(["shared_workspace","isolated_workspace","operator_branch","adapter_default"]).optional(),allowIssueOverride:r.boolean().optional(),defaultProjectWorkspaceId:r.string().uuid().optional().nullable(),environmentId:r.string().uuid().optional().nullable(),workspaceStrategy:pb.optional().nullable(),workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable(),branchPolicy:r.record(r.string(),r.unknown()).optional().nullable(),pullRequestPolicy:r.record(r.string(),r.unknown()).optional().nullable(),runtimePolicy:r.record(r.string(),r.unknown()).optional().nullable(),cleanupPolicy:r.record(r.string(),r.unknown()).optional().nullable(),authorizationPolicy:$e.optional().nullable()}).strict(),Ep=r.object({workspaceRuntime:r.record(r.string(),r.unknown()).optional().nullable(),desiredState:r.enum(["running","stopped","manual"]).optional().nullable(),serviceStates:r.record(r.enum(["running","stopped","manual"])).optional().nullable()}).strict(),mb=r.enum(["local_path","git_repo","remote_managed","non_git_path"]),gb=r.enum(["default","advanced"]),Ap={name:r.string().min(1).optional(),sourceType:mb.optional(),cwd:r.string().min(1).optional().nullable(),repoUrl:r.string().url().optional().nullable(),repoRef:r.string().optional().nullable(),defaultRef:r.string().optional().nullable(),visibility:gb.optional(),setupCommand:r.string().optional().nullable(),cleanupCommand:r.string().optional().nullable(),remoteProvider:r.string().optional().nullable(),remoteWorkspaceRef:r.string().optional().nullable(),sharedWorkspaceKey:r.string().optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable(),runtimeConfig:Ep.optional().nullable()};function fb(e,t){let n=e.sourceType??"local_path",s=typeof e.cwd=="string"&&e.cwd.trim().length>0,i=typeof e.repoUrl=="string"&&e.repoUrl.trim().length>0,o=typeof e.remoteWorkspaceRef=="string"&&e.remoteWorkspaceRef.trim().length>0;if(n==="remote_managed"){!o&&!i&&t.addIssue({code:r.ZodIssueCode.custom,message:"Remote-managed workspace requires remoteWorkspaceRef or repoUrl.",path:["remoteWorkspaceRef"]});return}!s&&!i&&t.addIssue({code:r.ZodIssueCode.custom,message:"Workspace requires at least one of cwd or repoUrl.",path:["cwd"]})}var Za=r.object({...Ap,isPrimary:r.boolean().optional().default(!1)}).superRefine(fb),wp=r.object({...Ap,isPrimary:r.boolean().optional()}).partial(),xp={goalId:r.string().uuid().optional().nullable(),goalIds:r.array(r.string().uuid()).optional(),name:r.string().min(1),description:r.string().optional().nullable(),status:r.enum(Ui).optional().default("backlog"),leadAgentId:r.string().uuid().optional().nullable(),targetDate:r.string().optional().nullable(),color:r.string().optional().nullable(),icon:r.enum(ui).optional().nullable(),env:Be.optional().nullable(),executionWorkspacePolicy:Ya.optional().nullable(),archivedAt:r.string().datetime().optional().nullable()},Tp=r.object({...xp,workspace:Za.optional()}),Rp=r.object(xp).partial();var Ja=r.enum(xi),Cp=r.enum(Ti),Pp=r.enum(Ri),Xa=r.object({exact:r.string().min(1).max(1e4),prefix:r.string().max(1e3).default(""),suffix:r.string().max(1e3).default("")}).strict(),Qa=r.object({normalizedStart:r.number().int().nonnegative(),normalizedEnd:r.number().int().nonnegative(),markdownStart:r.number().int().nonnegative(),markdownEnd:r.number().int().nonnegative()}).strict().superRefine((e,t)=>{e.normalizedEnd<=e.normalizedStart&&t.addIssue({code:r.ZodIssueCode.custom,message:"normalizedEnd must be greater than normalizedStart",path:["normalizedEnd"]}),e.markdownEnd<=e.markdownStart&&t.addIssue({code:r.ZodIssueCode.custom,message:"markdownEnd must be greater than markdownStart",path:["markdownEnd"]})}),ec=r.object({quote:Xa,position:Qa}).strict(),Op=r.object({baseRevisionId:r.string().uuid(),baseRevisionNumber:r.number().int().positive(),selector:ec,body:J.pipe(r.string().min(1).max(2e4)),issueCommentId:r.string().uuid().nullable().optional()}).strict(),Np=r.object({body:J.pipe(r.string().min(1).max(2e4)),issueCommentId:r.string().uuid().nullable().optional()}).strict(),Lp=r.object({status:Ja.optional()}).strict().refine(e=>e.status!=null,{message:"At least one field must be provided"});var nc=200;var rc=20,sc=50,ic=200;function tc(e){return Array.isArray(e)?e[0]:e}function Mp(e,t,n,s){let i=tc(e),o=typeof i=="number"?i:typeof i=="string"&&i.trim().length>0?Number.parseInt(i,10):Number.NaN;return Number.isFinite(o)?Math.min(s,Math.max(n,Math.floor(o))):t}var Dp=r.object({q:r.preprocess(tc,r.string().optional().default("")).transform(e=>e.slice(0,nc)),scope:r.preprocess(tc,r.enum(jr).catch("all")).optional().default("all"),limit:r.unknown().optional().transform(e=>Mp(e,rc,1,sc)),offset:r.unknown().optional().transform(e=>Mp(e,0,0,ic))});var ns=r.enum(Ai),Vn=r.object({strategy:r.enum(wi).default("manual"),note:r.string().trim().min(1).max(500).optional().nullable()}).strict(),Up=r.object({mode:ns,releasePolicy:Vn.optional().nullable()}).strict(),Fp=r.object({mode:ns,reason:r.string().trim().min(1).max(1e3).optional().nullable(),releasePolicy:Vn.optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict(),jp=r.object({reason:r.string().trim().min(1).max(1e3).optional().nullable(),releasePolicy:Vn.optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable()}).strict();function hb(e){return`/api/attachments/${e}/content`}var oc=r.enum(["preview_url","runtime_service","pull_request","branch","commit","artifact","document"]),ac=r.enum(["active","ready_for_review","approved","changes_requested","merged","closed","failed","archived","draft"]),cc=r.enum(["none","needs_board_review","approved","changes_requested"]),qp=r.object({attachmentId:r.string().uuid(),contentType:r.string().min(1),byteSize:r.number().int().nonnegative(),contentPath:r.string().min(1),openPath:r.string().min(1),downloadPath:r.string().min(1),originalFilename:r.string().optional().nullable()}).superRefine((e,t)=>{let n=hb(e.attachmentId);e.contentPath!==n&&t.addIssue({code:r.ZodIssueCode.custom,path:["contentPath"],message:"contentPath must point to the same-origin attachment content route"}),e.openPath!==n&&t.addIssue({code:r.ZodIssueCode.custom,path:["openPath"],message:"openPath must point to the same-origin attachment content route"}),e.downloadPath!==`${n}?download=1`&&t.addIssue({code:r.ZodIssueCode.custom,path:["downloadPath"],message:"downloadPath must point to the same-origin attachment download route"})}),lc=r.object({projectId:r.string().uuid().optional().nullable(),executionWorkspaceId:r.string().uuid().optional().nullable(),runtimeServiceId:r.string().uuid().optional().nullable(),type:oc,provider:r.string().min(1),externalId:r.string().optional().nullable(),title:r.string().min(1),url:r.string().url().optional().nullable(),status:ac.default("active"),reviewState:cc.optional().default("none"),isPrimary:r.boolean().optional().default(!1),healthStatus:r.enum(["unknown","healthy","unhealthy"]).optional().default("unknown"),summary:r.string().optional().nullable(),metadata:r.record(r.string(),r.unknown()).optional().nullable(),createdByRunId:r.string().uuid().optional().nullable()}),$p=lc.partial();var uc=30,dc=100,pc=160,mc=r.enum(["document","attachment","work_product"]),ss=r.enum(["image","video","text","document","file","empty"]),is=r.enum(["none","task","parent_task"]),Bp=r.object({kind:r.enum(["image","video","text","document","file","all"]).optional().default("all"),projectId:r.string().uuid().optional(),q:r.string().trim().max(pc).optional(),groupBy:is.optional().default("none"),groupIssueId:r.string().uuid().optional(),limit:r.coerce.number().int().min(1).max(dc).optional().default(uc),cursor:r.string().min(1).optional()}),os=r.object({id:r.string().min(1),source:mc,mediaKind:ss,title:r.string(),previewText:r.string().nullable(),contentType:r.string().nullable(),contentPath:r.string().nullable(),openPath:r.string().nullable(),downloadPath:r.string().nullable(),issue:r.object({id:r.string().uuid(),identifier:r.string(),title:r.string()}),project:r.object({id:r.string().uuid(),name:r.string()}).nullable(),createdByAgent:r.object({id:r.string().uuid(),name:r.string()}).nullable(),updatedAt:r.string().datetime(),href:r.string().min(1)}),rs=r.object({id:r.string().min(1),groupBy:is.exclude(["none"]),issue:r.object({id:r.string().uuid(),identifier:r.string(),title:r.string()}),title:r.string(),count:r.number().int().min(0),mediaKinds:r.array(ss),previewArtifacts:r.array(os),updatedAt:r.string().datetime(),href:r.string().min(1)}),Hp=r.object({artifacts:r.array(os),groups:r.array(rs).optional(),selectedGroup:rs.nullable().optional(),nextCursor:r.string().nullable()});var gc=r.object({title:r.string().min(1),description:r.string().optional().nullable(),level:r.enum(Mi).optional().default("task"),status:r.enum(Di).optional().default("planned"),parentId:r.string().uuid().optional().nullable(),ownerAgentId:r.string().uuid().optional().nullable()}),Vp=gc.partial();var Kp=r.object({type:r.enum(Hi),requestedByAgentId:r.string().uuid().optional().nullable(),payload:r.record(r.string(),r.unknown()),issueIds:r.array(r.string().uuid()).optional()}),zp=r.object({decisionNote:J.optional().nullable()}),Wp=r.object({decisionNote:J.optional().nullable()}),Gp=r.object({payload:r.record(r.string(),r.unknown()).optional()}),Yp=r.object({body:J.pipe(r.string().min(1))});var Zp=r.object({agentId:r.string().uuid(),issueId:r.string().uuid().optional().nullable(),projectId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),heartbeatRunId:r.string().uuid().optional().nullable(),billingCode:r.string().optional().nullable(),provider:r.string().min(1),biller:r.string().min(1).optional(),billingType:r.enum(Ki).optional().default("unknown"),model:r.string().min(1),inputTokens:r.number().int().nonnegative().optional().default(0),cachedInputTokens:r.number().int().nonnegative().optional().default(0),outputTokens:r.number().int().nonnegative().optional().default(0),costCents:r.number().int().nonnegative(),occurredAt:r.string().datetime()}).transform(e=>({...e,biller:e.biller??e.provider})),Jp=r.object({budgetMonthlyCents:r.number().int().nonnegative()});var Xp=r.object({agentId:r.string().uuid().optional().nullable(),issueId:r.string().uuid().optional().nullable(),projectId:r.string().uuid().optional().nullable(),goalId:r.string().uuid().optional().nullable(),heartbeatRunId:r.string().uuid().optional().nullable(),costEventId:r.string().uuid().optional().nullable(),billingCode:r.string().optional().nullable(),description:r.string().max(500).optional().nullable(),eventKind:r.enum(zi),direction:r.enum(Wi).optional().default("debit"),biller:r.string().min(1),provider:r.string().min(1).optional().nullable(),executionAdapterType:r.enum(wn).optional().nullable(),pricingTier:r.string().min(1).optional().nullable(),region:r.string().min(1).optional().nullable(),model:r.string().min(1).optional().nullable(),quantity:r.number().int().nonnegative().optional().nullable(),unit:r.enum(Gi).optional().nullable(),amountCents:r.number().int().nonnegative(),currency:r.string().length(3).optional().default("USD"),estimated:r.boolean().optional().default(!1),externalInvoiceId:r.string().optional().nullable(),metadataJson:r.record(r.string(),r.unknown()).optional().nullable(),occurredAt:r.string().datetime()}).transform(e=>({...e,currency:e.currency.toUpperCase()}));var Qp=r.object({namespace:r.string().trim().min(1).max(120).regex(/^[a-zA-Z0-9/_-]+$/).optional()});var em=r.object({allowedJoinTypes:r.enum(Qi).default("both"),humanRole:r.enum(rn).optional().nullable(),defaultsPayload:r.record(r.string(),r.unknown()).optional().nullable(),agentMessage:r.string().max(4e3).optional().nullable()}),tm=r.object({agentMessage:r.string().max(4e3).optional().nullable()}),nm=r.object({requestType:r.enum(wr),agentName:r.string().min(1).max(120).optional(),adapterType:uo,capabilities:r.string().max(4e3).optional().nullable(),agentDefaultsPayload:r.record(r.string(),r.unknown()).optional().nullable(),responsesWebhookUrl:r.string().max(4e3).optional().nullable(),responsesWebhookMethod:r.string().max(32).optional().nullable(),responsesWebhookHeaders:r.record(r.string(),r.unknown()).optional().nullable(),paperclipApiUrl:r.string().max(4e3).optional().nullable(),webhookAuthHeader:r.string().max(4e3).optional().nullable()}),rm=r.object({status:r.enum(eo).optional(),requestType:r.enum(wr).optional()}),sm=r.object({state:r.enum(["active","revoked","accepted","expired"]).optional(),limit:r.coerce.number().int().min(1).max(100).optional().default(20),offset:r.coerce.number().int().min(0).optional().default(0)}),im=r.object({claimSecret:r.string().min(16).max(256)}),fc=r.enum(["board","instance_admin_required"]),om=r.object({command:r.string().min(1).max(240),clientName:r.string().max(120).optional().nullable(),requestedAccess:fc.default("board"),requestedCompanyId:r.string().uuid().optional().nullable()}),am=r.object({token:r.string().min(16).max(256)}),cm=r.object({name:r.string().trim().min(1).max(120).default("paperclipai cli"),expiresAt:r.coerce.date().optional().nullable(),requestedCompanyId:r.string().uuid().optional().nullable()}),hc=r.object({grants:r.array(r.object({permissionKey:r.enum(xr),scope:r.record(r.string(),r.unknown()).optional().nullable()}))}),lm=["pending","active","suspended"],um=r.object({membershipRole:r.enum(rn).optional().nullable(),status:r.enum(lm).optional()}).refine(e=>e.membershipRole!==void 0||e.status!==void 0,{message:"membershipRole or status is required"}),dm=r.object({membershipRole:r.enum(rn).optional().nullable(),status:r.enum(lm).optional(),grants:hc.shape.grants.default([])}).refine(e=>e.membershipRole!==void 0||e.status!==void 0,{message:"membershipRole or status is required"}),pm=r.object({reassignment:r.object({assigneeAgentId:r.string().uuid().optional().nullable(),assigneeUserId:r.string().uuid().optional().nullable()}).optional().nullable()}).superRefine((e,t)=>{e.reassignment?.assigneeAgentId&&e.reassignment.assigneeUserId&&t.addIssue({code:r.ZodIssueCode.custom,message:"Choose either an agent or user reassignment target",path:["reassignment"]})}),mm=r.object({companyIds:r.array(r.string().uuid()).default([])}),gm=r.object({query:r.string().trim().max(120).optional().default("")}),yb=/^\/api\/assets\/[^/?#]+\/content(?:\?[^#]*)?(?:#.*)?$/;function Sb(e){if(yb.test(e))return!0;try{let t=new URL(e);return t.protocol==="https:"||t.protocol==="http:"}catch{return!1}}var fm=r.string().trim().min(1).max(4e3).refine(Sb,{message:"Invalid profile image URL"}),yc=r.object({id:r.string().min(1),email:r.string().email().nullable(),name:r.string().min(1).max(120).nullable(),image:fm.nullable()}),hm=r.object({session:r.object({id:r.string().min(1),userId:r.string().min(1)}),user:yc}),ym=r.object({name:r.string().trim().min(1).max(120),image:r.union([fm,r.literal(""),r.null()]).optional().transform(e=>e===""?null:e)});var Kn=r.record(r.string(),r.unknown()).refine(e=>Object.keys(e).length===0?!0:typeof e.type=="string"||e.$ref!==void 0||e.oneOf!==void 0||e.anyOf!==void 0||e.allOf!==void 0,{message:"Must be a valid JSON Schema object (requires at least a 'type', '$ref', or composition keyword)"}),bb=/^(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?)(?:,(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?))*$/;function Ib(e){let t=e.trim();if(!t)return!1;let n=t.split(/\s+/);return n.length!==5?!1:n.every(s=>bb.test(s))}var bc=r.object({jobKey:r.string().min(1),displayName:r.string().min(1),description:r.string().optional(),schedule:r.string().refine(e=>Ib(e),{message:"schedule must be a valid 5-field cron expression (e.g. '*/15 * * * *')"}).optional()}),Ic=r.object({endpointKey:r.string().min(1),displayName:r.string().min(1),description:r.string().optional()}),vc=r.object({name:r.string().min(1),displayName:r.string().min(1),description:r.string().min(1),parametersSchema:Kn}),kc=r.object({driverKey:r.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/,"Environment driver key must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),kind:r.enum(["environment_driver","sandbox_provider"]).optional(),displayName:r.string().min(1).max(100),description:r.string().max(500).optional(),configSchema:Kn}),vb=r.object({agentKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"agentKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(100),role:r.string().min(1).max(100).optional(),title:r.string().max(200).nullable().optional(),icon:r.string().max(100).nullable().optional(),capabilities:r.string().max(2e3).nullable().optional(),adapterType:r.string().min(1).max(100).optional(),adapterPreference:r.array(r.string().min(1).max(100)).max(10).optional(),adapterConfig:r.record(r.string(),r.unknown()).optional(),runtimeConfig:r.record(r.string(),r.unknown()).optional(),permissions:r.record(r.string(),r.unknown()).optional(),status:r.enum(["idle","paused"]).optional(),budgetMonthlyCents:r.number().int().min(0).optional(),instructions:r.object({entryFile:r.string().min(1).max(200).optional(),content:r.string().max(2e5).optional(),files:r.record(r.string().max(2e5)).optional(),assetPath:r.string().min(1).max(500).optional()}).optional()}),kb=r.object({projectKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"projectKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(120),description:r.string().max(2e3).nullable().optional(),status:r.enum(["backlog","planned","in_progress","completed","cancelled"]).optional(),color:r.string().max(32).nullable().optional(),settings:r.record(r.string(),r.unknown()).optional()}),Sm=r.object({pluginKey:r.string().min(1).max(100).optional(),resourceKind:r.enum(["agent","project","routine","skill"]),resourceKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"resourceKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"})}),_b=r.object({routineKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"routineKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),title:r.string().trim().min(1).max(200),description:r.string().max(1e4).nullable().optional(),assigneeRef:Sm.extend({resourceKind:r.literal("agent")}).nullable().optional(),projectRef:Sm.extend({resourceKind:r.literal("project")}).nullable().optional(),goalId:r.string().uuid().nullable().optional(),status:r.enum(en).optional(),priority:r.enum(Te).optional(),concurrencyPolicy:r.enum(tn).optional(),catchUpPolicy:r.enum(nn).optional(),variables:r.array(Xe).optional(),triggers:r.array(r.object({kind:r.enum(Tn),label:r.string().trim().max(120).nullable().optional(),enabled:r.boolean().optional(),cronExpression:r.string().trim().min(1).optional().nullable(),timezone:r.string().trim().min(1).optional().nullable(),signingMode:r.enum(_t).optional().nullable(),replayWindowSec:r.number().int().min(30).max(86400).optional().nullable()})).max(20).optional(),issueTemplate:r.object({surfaceVisibility:r.enum(Ii).optional(),originId:r.string().trim().max(255).nullable().optional(),billingCode:r.string().trim().max(200).nullable().optional()}).optional()}),Sc=r.string().min(1).max(500).refine(e=>!e.startsWith("/")&&!e.includes("..")&&!e.includes("\\")&&!e.split("/").some(t=>t===""||t==="."),{message:"local folder paths must be relative paths without traversal, empty segments, or backslashes"}),Eb=r.object({folderKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"folderKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(100),description:r.string().max(500).optional(),access:r.enum(["read","readWrite"]).optional(),requiredDirectories:r.array(Sc).optional(),requiredFiles:r.array(Sc).optional()}),bm=r.object({path:Sc.refine(e=>e.toLowerCase()!=="skill.md",{message:"managed skill files cannot replace SKILL.md; use markdown for the main skill file"}),content:r.string().max(2e5)}),Im=r.object({skillKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"skillKey must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}),displayName:r.string().min(1).max(100),slug:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"slug must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, colons, underscores, or hyphens"}).optional(),description:r.string().max(2e3).nullable().optional(),markdown:r.string().max(2e5).optional(),files:r.array(bm).max(50).optional()}).superRefine((e,t)=>{let n=(e.files??[]).map(i=>i.path),s=n.filter((i,o)=>n.indexOf(i)!==o);s.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed skill file paths: ${[...new Set(s)].join(", ")}`,path:["files"]})}),_c=r.object({type:r.enum(Pr),id:r.string().min(1),displayName:r.string().min(1),exportName:r.string().min(1),entityTypes:r.array(r.enum(Rn)).optional(),routePath:r.string().regex(/^[a-z0-9][a-z0-9-]*$/,{message:"routePath must be a lowercase single-segment slug (letters, numbers, hyphens)"}).optional(),order:r.number().int().optional()}).superRefine((e,t)=>{["detailTab","taskDetailView","contextMenuItem","commentAnnotation","commentContextMenuItem","projectSidebarItem"].includes(e.type)&&(!e.entityTypes||e.entityTypes.length===0)&&t.addIssue({code:r.ZodIssueCode.custom,message:`${e.type} slots require at least one entityType`,path:["entityTypes"]}),e.type==="projectSidebarItem"&&e.entityTypes&&!e.entityTypes.includes("project")&&t.addIssue({code:r.ZodIssueCode.custom,message:'projectSidebarItem slots require entityTypes to include "project"',path:["entityTypes"]}),e.type==="commentAnnotation"&&e.entityTypes&&!e.entityTypes.includes("comment")&&t.addIssue({code:r.ZodIssueCode.custom,message:'commentAnnotation slots require entityTypes to include "comment"',path:["entityTypes"]}),e.type==="commentContextMenuItem"&&e.entityTypes&&!e.entityTypes.includes("comment")&&t.addIssue({code:r.ZodIssueCode.custom,message:'commentContextMenuItem slots require entityTypes to include "comment"',path:["entityTypes"]}),e.routePath&&e.type!=="page"&&e.type!=="routeSidebar"&&e.type!=="companySettingsPage"&&t.addIssue({code:r.ZodIssueCode.custom,message:"routePath is only supported for page, routeSidebar, and companySettingsPage slots",path:["routePath"]}),e.type==="routeSidebar"&&!e.routePath&&t.addIssue({code:r.ZodIssueCode.custom,message:"routeSidebar slots require routePath",path:["routePath"]}),e.type==="companySettingsPage"&&!e.routePath&&t.addIssue({code:r.ZodIssueCode.custom,message:"companySettingsPage slots require routePath",path:["routePath"]}),e.routePath&&Su.includes(e.routePath)&&t.addIssue({code:r.ZodIssueCode.custom,message:`routePath "${e.routePath}" is reserved by the host`,path:["routePath"]}),e.type==="companySettingsPage"&&e.routePath&&Or.includes(e.routePath)&&t.addIssue({code:r.ZodIssueCode.custom,message:`company settings routePath "${e.routePath}" is reserved by the host`,path:["routePath"]})}),Ab=["detailTab","taskDetailView","contextMenuItem","commentAnnotation","commentContextMenuItem","projectSidebarItem"],wb={hostInline:["inline","compact","default"],hostOverlay:["compact","default","wide","full"],hostRoute:["default","wide","full"],external:[],iframe:["compact","default","wide","full"]},Ec=r.object({type:r.enum(oo),target:r.string().min(1),params:r.record(r.string(),r.unknown()).optional()}).superRefine((e,t)=>{e.type==="performAction"&&e.target.includes("/")&&t.addIssue({code:r.ZodIssueCode.custom,message:"performAction launchers must target an action key, not a route or URL",path:["target"]}),e.type==="navigate"&&/^https?:\/\//.test(e.target)&&t.addIssue({code:r.ZodIssueCode.custom,message:"navigate launchers must target a host route, not an absolute URL",path:["target"]})}),Ac=r.object({environment:r.enum(co),bounds:r.enum(ao).optional()}).superRefine((e,t)=>{if(!e.bounds)return;wb[e.environment].includes(e.bounds)||t.addIssue({code:r.ZodIssueCode.custom,message:`bounds "${e.bounds}" is not supported for render environment "${e.environment}"`,path:["bounds"]})}),as=r.object({id:r.string().min(1),displayName:r.string().min(1),description:r.string().optional(),placementZone:r.enum(io),exportName:r.string().min(1).optional(),entityTypes:r.array(r.enum(Rn)).optional(),order:r.number().int().optional(),action:Ec,render:Ac.optional()}).superRefine((e,t)=>{Ab.some(n=>n===e.placementZone)&&(!e.entityTypes||e.entityTypes.length===0)&&t.addIssue({code:r.ZodIssueCode.custom,message:`${e.placementZone} launchers require at least one entityType`,path:["entityTypes"]}),e.placementZone==="projectSidebarItem"&&e.entityTypes&&!e.entityTypes.includes("project")&&t.addIssue({code:r.ZodIssueCode.custom,message:'projectSidebarItem launchers require entityTypes to include "project"',path:["entityTypes"]}),e.action.type==="performAction"&&e.render&&t.addIssue({code:r.ZodIssueCode.custom,message:"performAction launchers cannot declare render hints",path:["render"]}),["openModal","openDrawer","openPopover"].includes(e.action.type)&&!e.render&&t.addIssue({code:r.ZodIssueCode.custom,message:`${e.action.type} launchers require render metadata`,path:["render"]}),e.action.type==="openModal"&&e.render?.environment==="hostInline"&&t.addIssue({code:r.ZodIssueCode.custom,message:"openModal launchers cannot use the hostInline render environment",path:["render","environment"]}),e.action.type==="openDrawer"&&e.render&&!["hostOverlay","iframe"].includes(e.render.environment)&&t.addIssue({code:r.ZodIssueCode.custom,message:"openDrawer launchers must use hostOverlay or iframe render environments",path:["render","environment"]}),e.action.type==="openPopover"&&e.render?.environment==="hostRoute"&&t.addIssue({code:r.ZodIssueCode.custom,message:"openPopover launchers cannot use the hostRoute render environment",path:["render","environment"]})}),wc=r.object({namespaceSlug:r.string().regex(/^[a-z0-9][a-z0-9_]*$/,{message:"namespaceSlug must be lowercase letters, digits, or underscores and start with a letter or digit"}).max(40).optional(),migrationsDir:r.string().min(1).refine(e=>!e.startsWith("/")&&!e.includes("..")&&!/[\\]/.test(e),{message:"migrationsDir must be a relative package path without '..' or backslashes"}),coreReadTables:r.array(r.enum(to)).optional()}),xc=r.object({routeKey:r.string().min(1).max(100).regex(/^[a-z0-9][a-z0-9._:-]*$/,{message:"routeKey must be lowercase letters, digits, dots, colons, underscores, or hyphens"}),method:r.enum(no),path:r.string().min(1).regex(/^\/[a-zA-Z0-9:_./-]*$/,{message:"path must start with / and contain only path-safe literal or :param segments"}).refine(e=>!e.includes("..")&&!e.includes("//")&&e!=="/api"&&!e.startsWith("/api/")&&e!=="/plugins"&&!e.startsWith("/plugins/"),{message:"path must stay inside the plugin api namespace"}),auth:r.enum(ro),capability:r.literal("api.routes.register"),checkoutPolicy:r.enum(so).optional(),companyResolution:r.discriminatedUnion("from",[r.object({from:r.literal("body"),key:r.string().min(1)}),r.object({from:r.literal("query"),key:r.string().min(1)}),r.object({from:r.literal("issue"),param:r.string().min(1)})]).optional()}),vm=r.object({id:r.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/,"Plugin id must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),apiVersion:r.literal(1),version:r.string().min(1).regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,"Version must follow semver (e.g. 1.0.0 or 1.0.0-beta.1)"),displayName:r.string().min(1).max(100),description:r.string().min(1).max(500),author:r.string().min(1).max(200),categories:r.array(r.enum(Rr)).min(1),minimumHostVersion:r.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,"minimumHostVersion must follow semver (e.g. 1.0.0)").optional(),minimumPaperclipVersion:r.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/,"minimumPaperclipVersion must follow semver (e.g. 1.0.0)").optional(),capabilities:r.array(r.enum(Cr)).min(1),entrypoints:r.object({worker:r.string().min(1),ui:r.string().min(1).optional()}),instanceConfigSchema:Kn.optional(),jobs:r.array(bc).optional(),webhooks:r.array(Ic).optional(),tools:r.array(vc).optional(),database:wc.optional(),apiRoutes:r.array(xc).optional(),environmentDrivers:r.array(kc).optional(),agents:r.array(vb).optional(),projects:r.array(kb).optional(),routines:r.array(_b).optional(),skills:r.array(Im).optional(),localFolders:r.array(Eb).optional(),launchers:r.array(as).optional(),ui:r.object({slots:r.array(_c).min(1).optional(),launchers:r.array(as).optional()}).optional()}).superRefine((e,t)=>{let n=(e.ui?.slots?.length??0)>0,s=(e.ui?.launchers?.length??0)>0;if((n||s)&&!e.entrypoints.ui&&t.addIssue({code:r.ZodIssueCode.custom,message:"entrypoints.ui is required when ui.slots or ui.launchers are declared",path:["entrypoints","ui"]}),e.minimumHostVersion&&e.minimumPaperclipVersion&&e.minimumHostVersion!==e.minimumPaperclipVersion&&t.addIssue({code:r.ZodIssueCode.custom,message:"minimumHostVersion and minimumPaperclipVersion must match when both are declared",path:["minimumHostVersion"]}),e.tools&&e.tools.length>0&&(e.capabilities.includes("agent.tools.register")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'agent.tools.register' is required when tools are declared",path:["capabilities"]})),e.environmentDrivers&&e.environmentDrivers.length>0&&(e.capabilities.includes("environment.drivers.register")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'environment.drivers.register' is required when environmentDrivers are declared",path:["capabilities"]})),e.agents&&e.agents.length>0&&(e.capabilities.includes("agents.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'agents.managed' is required when managed agents are declared",path:["capabilities"]})),e.projects&&e.projects.length>0&&(e.capabilities.includes("projects.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'projects.managed' is required when managed projects are declared",path:["capabilities"]})),e.routines&&e.routines.length>0&&(e.capabilities.includes("routines.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'routines.managed' is required when managed routines are declared",path:["capabilities"]})),e.skills&&e.skills.length>0&&(e.capabilities.includes("skills.managed")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'skills.managed' is required when managed skills are declared",path:["capabilities"]})),e.localFolders&&e.localFolders.length>0&&(e.capabilities.includes("local.folders")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'local.folders' is required when local folders are declared",path:["capabilities"]})),e.jobs&&e.jobs.length>0&&(e.capabilities.includes("jobs.schedule")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'jobs.schedule' is required when jobs are declared",path:["capabilities"]})),e.webhooks&&e.webhooks.length>0&&(e.capabilities.includes("webhooks.receive")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'webhooks.receive' is required when webhooks are declared",path:["capabilities"]})),e.apiRoutes&&e.apiRoutes.length>0&&(e.capabilities.includes("api.routes.register")||t.addIssue({code:r.ZodIssueCode.custom,message:"Capability 'api.routes.register' is required when apiRoutes are declared",path:["capabilities"]})),e.database){let o=["database.namespace.migrate","database.namespace.read"];for(let u of o)e.capabilities.includes(u)||t.addIssue({code:r.ZodIssueCode.custom,message:`Capability '${u}' is required when database migrations are declared`,path:["capabilities"]});let a=e.database.coreReadTables??[],c=a.filter((u,p)=>a.indexOf(u)!==p);c.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate database coreReadTables: ${[...new Set(c)].join(", ")}`,path:["database","coreReadTables"]})}if(e.jobs){let o=e.jobs.map(c=>c.jobKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate job keys: ${[...new Set(a)].join(", ")}`,path:["jobs"]})}if(e.webhooks){let o=e.webhooks.map(c=>c.endpointKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate webhook endpoint keys: ${[...new Set(a)].join(", ")}`,path:["webhooks"]})}if(e.apiRoutes){let o=e.apiRoutes.map(p=>p.routeKey),a=o.filter((p,m)=>o.indexOf(p)!==m);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate api route keys: ${[...new Set(a)].join(", ")}`,path:["apiRoutes"]});let c=e.apiRoutes.map(p=>`${p.method} ${p.path}`),u=c.filter((p,m)=>c.indexOf(p)!==m);u.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate api routes: ${[...new Set(u)].join(", ")}`,path:["apiRoutes"]})}if(e.tools){let o=e.tools.map(c=>c.name),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate tool names: ${[...new Set(a)].join(", ")}`,path:["tools"]})}if(e.environmentDrivers){let o=e.environmentDrivers.map(c=>c.driverKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate environment driver keys: ${[...new Set(a)].join(", ")}`,path:["environmentDrivers"]})}if(e.localFolders){let o=e.localFolders.map(c=>c.folderKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate local folder keys: ${[...new Set(a)].join(", ")}`,path:["localFolders"]})}if(e.agents){let o=e.agents.map(c=>c.agentKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed agent keys: ${[...new Set(a)].join(", ")}`,path:["agents"]})}if(e.projects){let o=e.projects.map(c=>c.projectKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed project keys: ${[...new Set(a)].join(", ")}`,path:["projects"]})}if(e.routines){let o=e.routines.map(c=>c.routineKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed routine keys: ${[...new Set(a)].join(", ")}`,path:["routines"]})}if(e.skills){let o=e.skills.map(c=>c.skillKey),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate managed skill keys: ${[...new Set(a)].join(", ")}`,path:["skills"]})}if(e.ui&&e.ui.slots){let o=e.ui.slots.map(c=>c.id),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate UI slot ids: ${[...new Set(a)].join(", ")}`,path:["ui","slots"]})}let i=[...e.launchers??[],...e.ui?.launchers??[]];if(i.length>0){let o=i.map(c=>c.id),a=o.filter((c,u)=>o.indexOf(c)!==u);a.length>0&&t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate launcher ids: ${[...new Set(a)].join(", ")}`,path:e.ui?.launchers?["ui","launchers"]:["launchers"]})}}),km=r.object({packageName:r.string().min(1),version:r.string().min(1).optional(),packagePath:r.string().min(1).optional()}),_m=r.object({configJson:r.record(r.string(),r.unknown())}),Em=r.object({configJson:r.record(r.string(),r.unknown())}),Am=r.object({status:r.enum(Tr),lastError:r.string().nullable().optional()}),wm=r.object({removeData:r.boolean().optional().default(!1)}),xm=r.object({scopeKind:r.enum(sn),scopeId:r.string().min(1).optional(),namespace:r.string().min(1).optional(),stateKey:r.string().min(1)}),Tm=r.object({scopeKind:r.enum(sn),scopeId:r.string().min(1).optional(),namespace:r.string().min(1).optional(),stateKey:r.string().min(1),value:r.unknown()}),Rm=r.object({scopeKind:r.enum(sn).optional(),scopeId:r.string().min(1).optional(),namespace:r.string().min(1).optional()});var F="/api",Rb={health:`${F}/health`,companies:`${F}/companies`,agents:`${F}/agents`,projects:`${F}/projects`,issues:`${F}/issues`,issueTreeControl:`${F}/issues/:issueId/tree-control`,issueTreeHolds:`${F}/issues/:issueId/tree-holds`,goals:`${F}/goals`,approvals:`${F}/approvals`,secrets:`${F}/secrets`,secretProviderConfigs:`${F}/secret-provider-configs`,secretProviderConfigDiscoveryPreview:`${F}/companies/:companyId/secret-provider-configs/discovery/preview`,costs:`${F}/costs`,activity:`${F}/activity`,dashboard:`${F}/dashboard`,sidebarBadges:`${F}/sidebar-badges`,sidebarPreferences:`${F}/sidebar-preferences`,resourceMemberships:`${F}/resource-memberships`,invites:`${F}/invites`,joinRequests:`${F}/join-requests`,members:`${F}/members`,admin:`${F}/admin`};var o0=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0,timeZone:"UTC",timeZoneName:"short"});var Cm=r.object({version:r.literal(1),updatedAt:r.string(),source:r.enum(["onboard","configure","doctor"])}),Pm=r.object({provider:r.enum(["claude","openai"]),apiKey:r.string().optional()}),Om=r.object({enabled:r.boolean().default(!0),intervalMinutes:r.number().int().min(1).max(10080).default(60),retentionDays:r.number().int().min(1).max(3650).default(7),dir:r.string().default("~/.paperclip/instances/default/data/backups")}),Nm=r.object({mode:r.enum(["embedded-postgres","postgres"]).default("embedded-postgres"),connectionString:r.string().optional(),embeddedPostgresDataDir:r.string().default("~/.paperclip/instances/default/db"),embeddedPostgresPort:r.number().int().min(1).max(65535).default(54329),backup:Om.default({enabled:!0,intervalMinutes:60,retentionDays:7,dir:"~/.paperclip/instances/default/data/backups"})}),Lm=r.object({mode:r.enum(["file","cloud"]),logDir:r.string().default("~/.paperclip/instances/default/logs")}),Mm=r.object({deploymentMode:r.enum(ni).default("local_trusted"),exposure:r.enum(ri).default("private"),bind:r.enum(si).optional(),customBindHost:r.string().optional(),host:r.string().default("127.0.0.1"),port:r.number().int().min(1).max(65535).default(3100),allowedHostnames:r.array(r.string().min(1)).default([]),serveUi:r.boolean().default(!0)}),Dm=r.object({baseUrlMode:r.enum(ii).default("auto"),publicBaseUrl:r.string().url().optional(),disableSignUp:r.boolean().default(!1)}),Um=r.object({baseDir:r.string().default("~/.paperclip/instances/default/data/storage")}),Fm=r.object({bucket:r.string().min(1).default("paperclip"),region:r.string().min(1).default("us-east-1"),endpoint:r.string().optional(),prefix:r.string().default(""),forcePathStyle:r.boolean().default(!1)}),jm=r.object({provider:r.enum(Vi).default("local_disk"),localDisk:Um.default({baseDir:"~/.paperclip/instances/default/data/storage"}),s3:Fm.default({bucket:"paperclip",region:"us-east-1",prefix:"",forcePathStyle:!1})}),qm=r.object({keyFilePath:r.string().default("~/.paperclip/instances/default/secrets/master.key")}),$m=r.object({provider:r.enum(Et).default("local_encrypted"),strictMode:r.boolean().default(!1),localEncrypted:qm.default({keyFilePath:"~/.paperclip/instances/default/secrets/master.key"})}),Bm=r.object({enabled:r.boolean().default(!0)}).default({}),Cb=r.object({$meta:Cm,llm:Pm.optional(),database:Nm,logging:Lm,server:Mm,telemetry:Bm,auth:Dm.default({baseUrlMode:"auto",disableSignUp:!1}),storage:jm.default({provider:"local_disk",localDisk:{baseDir:"~/.paperclip/instances/default/data/storage"},s3:{bucket:"paperclip",region:"us-east-1",prefix:"",forcePathStyle:!1}}),secrets:$m.default({provider:"local_encrypted",strictMode:!1,localEncrypted:{keyFilePath:"~/.paperclip/instances/default/secrets/master.key"}})}).superRefine((e,t)=>{e.server.deploymentMode==="local_trusted"&&e.server.exposure!=="private"&&t.addIssue({code:r.ZodIssueCode.custom,message:"server.exposure must be private when deploymentMode is local_trusted",path:["server","exposure"]});for(let n of go({deploymentMode:e.server.deploymentMode,deploymentExposure:e.server.exposure,bind:e.server.bind,host:e.server.host,customBindHost:e.server.customBindHost}))t.addIssue({code:r.ZodIssueCode.custom,message:n,path:n.includes("customBindHost")?["server","customBindHost"]:["server","bind"]});e.auth.baseUrlMode==="explicit"&&!e.auth.publicBaseUrl&&t.addIssue({code:r.ZodIssueCode.custom,message:"auth.publicBaseUrl is required when auth.baseUrlMode is explicit",path:["auth","publicBaseUrl"]}),e.server.exposure==="public"&&e.auth.baseUrlMode!=="explicit"&&t.addIssue({code:r.ZodIssueCode.custom,message:"auth.baseUrlMode must be explicit when deploymentMode=authenticated and exposure=public",path:["auth","baseUrlMode"]}),e.server.exposure==="public"&&!e.auth.publicBaseUrl&&t.addIssue({code:r.ZodIssueCode.custom,message:"auth.publicBaseUrl is required when deploymentMode=authenticated and exposure=public",path:["auth","publicBaseUrl"]})});import Hb from"node:fs";import{AsyncLocalStorage as Vb}from"node:async_hooks";import Kb from"node:path";import{createInterface as zb}from"node:readline";import{fileURLToPath as Wb}from"node:url";var cs={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603},fe={WORKER_UNAVAILABLE:-32e3,CAPABILITY_DENIED:-32001,WORKER_ERROR:-32002,TIMEOUT:-32003,METHOD_NOT_IMPLEMENTED:-32004,INVOCATION_SCOPE_DENIED:-32005,UNKNOWN:-32099};var Tc=1,Bb=Number.MAX_SAFE_INTEGER-1;function Rc(e,t,n){return Tc>=Bb&&(Tc=1),{jsonrpc:"2.0",id:n??Tc++,method:e,params:t}}function Cc(e,t){return{jsonrpc:"2.0",id:e,result:t}}function dn(e,t,n,s){return{jsonrpc:"2.0",id:e,error:s!==void 0?{code:t,message:n,data:s}:{code:t,message:n}}}function Pc(e,t){return{jsonrpc:"2.0",method:e,params:t}}function Oc(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&"id"in t&&t.id!==void 0&&t.id!==null}function Nc(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.jsonrpc==="2.0"&&typeof t.method=="string"&&!("id"in t)}function Lc(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.jsonrpc==="2.0"&&"id"in t&&("result"in t||"error"in t)}function Mc(e){return"result"in e&&!("error"in e&&e.error!==void 0)}function Dc(e){return"error"in e&&e.error!==void 0}var Hm=`
5
+ `;function Uc(e){return JSON.stringify(e)+Hm}function Fc(e){let t=e.trim();if(t.length===0)throw new He("Empty message");let n;try{n=JSON.parse(t)}catch{throw new He(`Invalid JSON: ${t.slice(0,200)}`)}if(typeof n!="object"||n===null)throw new He("Message must be a JSON object");let s=n;if(s.jsonrpc!=="2.0")throw new He(`Invalid or missing jsonrpc version (expected "2.0", got ${JSON.stringify(s.jsonrpc)})`);return n}var He=class extends Error{name="JsonRpcParseError";constructor(t){super(t)}},un=class extends Error{name="JsonRpcCallError";code;data;constructor(t){super(t.message),this.code=t.code,this.data=t.data}};var Gb=3e4;function Vm(e){let t=Kb.resolve(e);try{return Hb.realpathSync.native(t)}catch{return t}}function Yb(e,t){let n=Vm(Wb(t)),s=Vm(e);return n===s}function qc(e,t,n){if(n?.stdin!=null&&n?.stdout!=null)return jc({plugin:e,stdin:n.stdin,stdout:n.stdout});let s=process.argv[1];typeof s=="string"&&Yb(s,t)&&jc({plugin:e})}function jc(e){let{plugin:t}=e,n=e.stdin??process.stdin,s=e.stdout??process.stdout,i=e.rpcTimeoutMs??Gb,o=!0,a=!1,c=null,u={},p=null,m=new Vb,h=[],f=new Map,b=new Map,v=new Map,N=new Map,K=new Map,$=new Map,q=new Map,M=1,ot=Number.MAX_SAFE_INTEGER-1;function ze(l){if(!o)return;let d=Uc(l);s.write(d)}function S(l,d,g){return new Promise((E,x)=>{if(!o){x(new Error(`Cannot call "${l}" \u2014 worker RPC host is not running`));return}M>=ot&&(M=1);let Y=M++,re=g??i,Xl=!1,kn=(ce,Zs)=>{Xl||(Xl=!0,clearTimeout(Ql),q.delete(Y),ce(Zs))},Ql=setTimeout(()=>{kn(x,new un({code:fe.TIMEOUT,message:`Worker\u2192host call "${l}" timed out after ${re}ms`}))},re);q.set(Y,{resolve:ce=>{Mc(ce)?kn(E,ce.result):Dc(ce)?kn(x,new un(ce.error)):kn(x,new Error(`Unexpected response format for "${l}"`))},timer:Ql});try{let ce=m.getStore(),Zs={...Rc(l,d,Y),...ce?{paperclipInvocationId:ce.id}:{}};ze(Zs)}catch(ce){kn(x,ce instanceof Error?ce:new Error(String(ce)))}})}function de(l,d){try{let g=m.getStore();ze({...Pc(l,d),...g?{paperclipInvocationId:g.id}:{}})}catch{}}function Bh(){return{get manifest(){if(!c)throw new Error("Plugin context accessed before initialization");return c},config:{async get(){return S("config.get",{})}},localFolders:{declarations(){if(!c)throw new Error("Plugin context accessed before initialization");return c.localFolders??[]},async configure(l){return S("localFolders.configure",{companyId:l.companyId,folderKey:l.folderKey,path:l.path,access:l.access,requiredDirectories:l.requiredDirectories,requiredFiles:l.requiredFiles})},async status(l,d){return S("localFolders.status",{companyId:l,folderKey:d})},async list(l,d,g={}){return S("localFolders.list",{companyId:l,folderKey:d,relativePath:g.relativePath,recursive:g.recursive,maxEntries:g.maxEntries})},async readText(l,d,g){return S("localFolders.readText",{companyId:l,folderKey:d,relativePath:g})},async writeTextAtomic(l,d,g,E){return S("localFolders.writeTextAtomic",{companyId:l,folderKey:d,relativePath:g,contents:E})},async deleteFile(l,d,g){return S("localFolders.deleteFile",{companyId:l,folderKey:d,relativePath:g})}},events:{on(l,d,g){let E;if(typeof d=="function")E={name:l,fn:d};else{if(!g)throw new Error("Event handler function is required");E={name:l,filter:d,fn:g}}return h.push(E),S("events.subscribe",{eventPattern:l,filter:E.filter??null}).catch(x=>{de("log",{level:"warn",message:`Failed to subscribe to event "${l}" on host: ${x instanceof Error?x.message:String(x)}`})}),()=>{let x=h.indexOf(E);x!==-1&&h.splice(x,1)}},async emit(l,d,g){await S("events.emit",{name:l,companyId:d,payload:g})}},jobs:{register(l,d){f.set(l,d)}},launchers:{register(l){b.set(l.id,l)}},db:{get namespace(){return p??""},async query(l,d){return S("db.query",{sql:l,params:d})},async execute(l,d){return S("db.execute",{sql:l,params:d})}},http:{async fetch(l,d){let g={};if(d){if(d.method&&(g.method=d.method),d.headers)if(d.headers instanceof Headers){let x={};d.headers.forEach((Y,re)=>{x[re]=Y}),g.headers=x}else if(Array.isArray(d.headers)){let x={};for(let[Y,re]of d.headers)x[Y]=re;g.headers=x}else g.headers=d.headers;d.body!==void 0&&d.body!==null&&(g.body=typeof d.body=="string"?d.body:String(d.body))}let E=await S("http.fetch",{url:l,init:Object.keys(g).length>0?g:void 0});return new Response(E.body,{status:E.status,statusText:E.statusText,headers:E.headers})}},secrets:{async resolve(l){return S("secrets.resolve",{secretRef:l})}},activity:{async log(l){await S("activity.log",{companyId:l.companyId,message:l.message,entityType:l.entityType,entityId:l.entityId,metadata:l.metadata})}},state:{async get(l){return S("state.get",{scopeKind:l.scopeKind,scopeId:l.scopeId,namespace:l.namespace,stateKey:l.stateKey})},async set(l,d){await S("state.set",{scopeKind:l.scopeKind,scopeId:l.scopeId,namespace:l.namespace,stateKey:l.stateKey,value:d})},async delete(l){await S("state.delete",{scopeKind:l.scopeKind,scopeId:l.scopeId,namespace:l.namespace,stateKey:l.stateKey})}},entities:{async upsert(l){return S("entities.upsert",{entityType:l.entityType,scopeKind:l.scopeKind,scopeId:l.scopeId,externalId:l.externalId,title:l.title,status:l.status,data:l.data})},async list(l){return S("entities.list",{entityType:l.entityType,scopeKind:l.scopeKind,scopeId:l.scopeId,externalId:l.externalId,limit:l.limit,offset:l.offset})}},projects:{async list(l){return S("projects.list",{companyId:l.companyId,limit:l.limit,offset:l.offset})},async get(l,d){return S("projects.get",{projectId:l,companyId:d})},async listWorkspaces(l,d){return S("projects.listWorkspaces",{projectId:l,companyId:d})},async getPrimaryWorkspace(l,d){return S("projects.getPrimaryWorkspace",{projectId:l,companyId:d})},async getWorkspaceForIssue(l,d){return S("projects.getWorkspaceForIssue",{issueId:l,companyId:d})},managed:{async get(l,d){return S("projects.managed.get",{projectKey:l,companyId:d})},async reconcile(l,d){return S("projects.managed.reconcile",{projectKey:l,companyId:d})},async reset(l,d){return S("projects.managed.reset",{projectKey:l,companyId:d})}}},executionWorkspaces:{async get(l,d){return S("executionWorkspaces.get",{workspaceId:l,companyId:d})}},routines:{managed:{async get(l,d){return S("routines.managed.get",{routineKey:l,companyId:d})},async reconcile(l,d,g){return S("routines.managed.reconcile",{routineKey:l,companyId:d,...g})},async reset(l,d,g){return S("routines.managed.reset",{routineKey:l,companyId:d,...g})},async update(l,d,g){return S("routines.managed.update",{routineKey:l,companyId:d,...g})},async run(l,d,g){return S("routines.managed.run",{routineKey:l,companyId:d,...g})}}},skills:{managed:{async get(l,d){return S("skills.managed.get",{skillKey:l,companyId:d})},async reconcile(l,d){return S("skills.managed.reconcile",{skillKey:l,companyId:d})},async reset(l,d){return S("skills.managed.reset",{skillKey:l,companyId:d})}}},companies:{async list(l){return S("companies.list",{limit:l?.limit,offset:l?.offset})},async get(l){return S("companies.get",{companyId:l})}},issues:{async list(l){return S("issues.list",{companyId:l.companyId,projectId:l.projectId,assigneeAgentId:l.assigneeAgentId,originKind:l.originKind,originKindPrefix:l.originKindPrefix,originId:l.originId,status:l.status,includePluginOperations:l.includePluginOperations,limit:l.limit,offset:l.offset})},async get(l,d){return S("issues.get",{issueId:l,companyId:d})},async create(l){return S("issues.create",{companyId:l.companyId,projectId:l.projectId,goalId:l.goalId,parentId:l.parentId,inheritExecutionWorkspaceFromIssueId:l.inheritExecutionWorkspaceFromIssueId,title:l.title,description:l.description,status:l.status,priority:l.priority,assigneeAgentId:l.assigneeAgentId,assigneeUserId:l.assigneeUserId,requestDepth:l.requestDepth,billingCode:l.billingCode,assigneeAdapterOverrides:l.assigneeAdapterOverrides,surfaceVisibility:l.surfaceVisibility,originKind:l.originKind,originId:l.originId,originRunId:l.originRunId,blockedByIssueIds:l.blockedByIssueIds,labelIds:l.labelIds,executionWorkspaceId:l.executionWorkspaceId,executionWorkspacePreference:l.executionWorkspacePreference,executionWorkspaceSettings:l.executionWorkspaceSettings,actorAgentId:l.actor?.actorAgentId,actorUserId:l.actor?.actorUserId,actorRunId:l.actor?.actorRunId})},async update(l,d,g,E){return S("issues.update",{issueId:l,patch:{...d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId},companyId:g})},async assertCheckoutOwner(l){return S("issues.assertCheckoutOwner",l)},async getSubtree(l,d,g){return S("issues.getSubtree",{issueId:l,companyId:d,includeRoot:g?.includeRoot,includeRelations:g?.includeRelations,includeDocuments:g?.includeDocuments,includeActiveRuns:g?.includeActiveRuns,includeAssignees:g?.includeAssignees})},async requestWakeup(l,d,g){return S("issues.requestWakeup",{issueId:l,companyId:d,reason:g?.reason,contextSource:g?.contextSource,idempotencyKey:g?.idempotencyKey,actorAgentId:g?.actorAgentId,actorUserId:g?.actorUserId,actorRunId:g?.actorRunId})},async requestWakeups(l,d,g){return S("issues.requestWakeups",{issueIds:l,companyId:d,reason:g?.reason,contextSource:g?.contextSource,idempotencyKeyPrefix:g?.idempotencyKeyPrefix,actorAgentId:g?.actorAgentId,actorUserId:g?.actorUserId,actorRunId:g?.actorRunId})},async listComments(l,d){return S("issues.listComments",{issueId:l,companyId:d})},async createComment(l,d,g,E){return S("issues.createComment",{issueId:l,body:d,companyId:g,authorAgentId:E?.authorAgentId})},async createInteraction(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:d,authorAgentId:E?.authorAgentId})},async suggestTasks(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"suggest_tasks"},authorAgentId:E?.authorAgentId})},async askUserQuestions(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"ask_user_questions"},authorAgentId:E?.authorAgentId})},async requestConfirmation(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"request_confirmation"},authorAgentId:E?.authorAgentId})},async requestCheckboxConfirmation(l,d,g,E){return S("issues.createInteraction",{issueId:l,companyId:g,interaction:{...d,kind:"request_checkbox_confirmation"},authorAgentId:E?.authorAgentId})},documents:{async list(l,d){return S("issues.documents.list",{issueId:l,companyId:d})},async get(l,d,g){return S("issues.documents.get",{issueId:l,key:d,companyId:g})},async upsert(l){return S("issues.documents.upsert",{issueId:l.issueId,key:l.key,body:l.body,companyId:l.companyId,title:l.title,format:l.format,changeSummary:l.changeSummary})},async delete(l,d,g){return S("issues.documents.delete",{issueId:l,key:d,companyId:g})}},relations:{async get(l,d){return S("issues.relations.get",{issueId:l,companyId:d})},async setBlockedBy(l,d,g,E){return S("issues.relations.setBlockedBy",{issueId:l,companyId:g,blockedByIssueIds:d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId})},async addBlockers(l,d,g,E){return S("issues.relations.addBlockers",{issueId:l,companyId:g,blockerIssueIds:d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId})},async removeBlockers(l,d,g,E){return S("issues.relations.removeBlockers",{issueId:l,companyId:g,blockerIssueIds:d,actorAgentId:E?.actorAgentId,actorUserId:E?.actorUserId,actorRunId:E?.actorRunId})}},summaries:{async getOrchestration(l){return S("issues.summaries.getOrchestration",l)}}},agents:{async list(l){return S("agents.list",{companyId:l.companyId,status:l.status,limit:l.limit,offset:l.offset})},async get(l,d){return S("agents.get",{agentId:l,companyId:d})},async pause(l,d){return S("agents.pause",{agentId:l,companyId:d})},async resume(l,d){return S("agents.resume",{agentId:l,companyId:d})},async invoke(l,d,g){return S("agents.invoke",{agentId:l,companyId:d,prompt:g.prompt,reason:g.reason})},managed:{async get(l,d){return S("agents.managed.get",{agentKey:l,companyId:d})},async reconcile(l,d){return S("agents.managed.reconcile",{agentKey:l,companyId:d})},async reset(l,d){return S("agents.managed.reset",{agentKey:l,companyId:d})}},sessions:{async create(l,d,g){return S("agents.sessions.create",{agentId:l,companyId:d,taskKey:g?.taskKey,reason:g?.reason})},async list(l,d){return S("agents.sessions.list",{agentId:l,companyId:d})},async sendMessage(l,d,g){g.onEvent&&$.set(l,g.onEvent);try{return await S("agents.sessions.sendMessage",{sessionId:l,companyId:d,prompt:g.prompt,reason:g.reason})}catch(E){throw $.delete(l),E}},async close(l,d){$.delete(l),await S("agents.sessions.close",{sessionId:l,companyId:d})}}},goals:{async list(l){return S("goals.list",{companyId:l.companyId,level:l.level,status:l.status,limit:l.limit,offset:l.offset})},async get(l,d){return S("goals.get",{goalId:l,companyId:d})},async create(l){return S("goals.create",{companyId:l.companyId,title:l.title,description:l.description,level:l.level,status:l.status,parentId:l.parentId,ownerAgentId:l.ownerAgentId})},async update(l,d,g){return S("goals.update",{goalId:l,patch:d,companyId:g})}},access:{members:{async list(l){return S("access.members.list",{companyId:l.companyId,includeArchived:l.includeArchived})},async get(l,d){return S("access.members.get",{memberId:l,companyId:d})},async update(l,d,g){return S("access.members.update",{memberId:l,patch:d,companyId:g})}},invites:{async list(l){return S("access.invites.list",{companyId:l.companyId,state:l.state,limit:l.limit,offset:l.offset})},async create(l){return S("access.invites.create",{companyId:l.companyId,allowedJoinTypes:l.allowedJoinTypes,humanRole:l.humanRole,defaultsPayload:l.defaultsPayload,agentMessage:l.agentMessage})},async revoke(l,d){return S("access.invites.revoke",{inviteId:l,companyId:d})}}},authorization:{grants:{async list(l){return S("authorization.grants.list",l)},async set(l){return S("authorization.grants.set",l)}},policies:{async summary(l){return S("authorization.policies.summary",{companyId:l})},async get(l){return S("authorization.policies.get",l)},async update(l){return S("authorization.policies.update",l)},async previewAssignment(l){return S("authorization.policies.previewAssignment",l)},async explainAssignment(l){return S("authorization.policies.explainAssignment",l)}},audit:{async search(l){return S("authorization.audit.search",l)}}},data:{register(l,d){v.set(l,d)}},actions:{register(l,d){N.set(l,d)}},streams:(()=>{let l=new Map;return{open(d,g){l.set(d,g),de("streams.open",{channel:d,companyId:g})},emit(d,g){let E=l.get(d)??"";de("streams.emit",{channel:d,companyId:E,event:g})},close(d){let g=l.get(d)??"";l.delete(d),de("streams.close",{channel:d,companyId:g})}}})(),tools:{register(l,d,g){K.set(l,{declaration:d,fn:g})}},metrics:{async write(l,d,g){await S("metrics.write",{name:l,value:d,tags:g})}},telemetry:{async track(l,d){await S("telemetry.track",{eventName:l,dimensions:d})}},logger:{info(l,d){de("log",{level:"info",message:l,meta:d})},warn(l,d){de("log",{level:"warn",message:l,meta:d})},error(l,d){de("log",{level:"error",message:l,meta:d})},debug(l,d){de("log",{level:"debug",message:l,meta:d})}}}}let Hh=Bh();async function Vh(l){let{id:d,method:g,params:E}=l;try{let x=()=>Kh(g,E),Y=l.paperclipInvocation?await m.run(l.paperclipInvocation,x):await x();ze(Cc(d,Y??null))}catch(x){let Y=x instanceof Error?x.message:String(x),re=typeof x?.code=="number"?x.code:fe.WORKER_ERROR;ze(dn(d,re,Y))}}async function Kh(l,d){switch(l){case"initialize":return zh(d);case"health":return Wh();case"shutdown":return Gh();case"validateConfig":return Yh(d);case"configChanged":return Zh(d);case"onEvent":return Jl(d);case"runJob":return Jh(d);case"handleWebhook":return Xh(d);case"handleApiRequest":return Qh(d);case"getData":return ey(d);case"performAction":return ry(d);case"executeTool":return sy(d);case"environmentValidateConfig":return iy(d);case"environmentProbe":return oy(d);case"environmentAcquireLease":return ay(d);case"environmentResumeLease":return cy(d);case"environmentReleaseLease":return ly(d);case"environmentDestroyLease":return uy(d);case"environmentRealizeWorkspace":return dy(d);case"environmentExecute":return py(d);default:throw Object.assign(new Error(`Unknown method: ${l}`),{code:cs.METHOD_NOT_FOUND})}}async function zh(l){if(a)throw new Error("Worker already initialized");c=l.manifest,u=l.config,p=l.databaseNamespace??null,await t.definition.setup(Hh),a=!0;let d=[];return t.definition.onValidateConfig&&d.push("validateConfig"),t.definition.onConfigChanged&&d.push("configChanged"),t.definition.onHealth&&d.push("health"),t.definition.onShutdown&&d.push("shutdown"),t.definition.onApiRequest&&d.push("handleApiRequest"),t.definition.onEnvironmentValidateConfig&&d.push("environmentValidateConfig"),t.definition.onEnvironmentProbe&&d.push("environmentProbe"),t.definition.onEnvironmentAcquireLease&&d.push("environmentAcquireLease"),t.definition.onEnvironmentResumeLease&&d.push("environmentResumeLease"),t.definition.onEnvironmentReleaseLease&&d.push("environmentReleaseLease"),t.definition.onEnvironmentDestroyLease&&d.push("environmentDestroyLease"),t.definition.onEnvironmentRealizeWorkspace&&d.push("environmentRealizeWorkspace"),t.definition.onEnvironmentExecute&&d.push("environmentExecute"),{ok:!0,supportedMethods:d}}async function Wh(){return t.definition.onHealth?t.definition.onHealth():{status:"ok"}}async function Gh(){t.definition.onShutdown&&await t.definition.onShutdown(),setImmediate(()=>{Ys(),!e.stdin&&!e.stdout&&process.exit(0)})}async function Yh(l){if(!t.definition.onValidateConfig)throw Object.assign(new Error("validateConfig is not implemented by this plugin"),{code:fe.METHOD_NOT_IMPLEMENTED});return t.definition.onValidateConfig(l.config)}async function Zh(l){u=l.config,t.definition.onConfigChanged&&await t.definition.onConfigChanged(l.config)}async function Jl(l){let d=l.event;for(let g of h){let E=g.name===d.eventType,x=g.name==="plugin.*"&&d.eventType.startsWith("plugin."),Y=g.name.endsWith(".*")&&d.eventType.startsWith(g.name.slice(0,-1));if(!(!E&&!x&&!Y)&&!(g.filter&&!my(g.filter,d)))try{await g.fn(d)}catch(re){de("log",{level:"error",message:`Event handler for "${g.name}" failed: ${re instanceof Error?re.message:String(re)}`,meta:{eventType:d.eventType,stack:re instanceof Error?re.stack:void 0}})}}}async function Jh(l){let d=f.get(l.job.jobKey);if(!d)throw new Error(`No handler registered for job "${l.job.jobKey}"`);await d(l.job)}async function Xh(l){if(!t.definition.onWebhook)throw Object.assign(new Error("handleWebhook is not implemented by this plugin"),{code:fe.METHOD_NOT_IMPLEMENTED});await t.definition.onWebhook(l)}async function Qh(l){if(!t.definition.onApiRequest)throw Object.assign(new Error("handleApiRequest is not implemented by this plugin"),{code:fe.METHOD_NOT_IMPLEMENTED});return t.definition.onApiRequest(l)}async function ey(l){let d=v.get(l.key);if(!d)throw new Error(`No data handler registered for key "${l.key}"`);return d({...l.params,...l.companyId===void 0?{}:{companyId:l.companyId},...l.renderEnvironment===void 0?{}:{renderEnvironment:l.renderEnvironment}})}function gr(l){return typeof l=="string"&&l.trim().length>0?l.trim():null}function ty(l){return l==="user"||l==="agent"||l==="system"?l:"system"}function ny(l){let d=l.actorContext&&typeof l.actorContext=="object"?l.actorContext:null,g=Object.freeze({type:ty(d?.type),userId:gr(d?.userId),agentId:gr(d?.agentId),runId:gr(d?.runId),companyId:gr(d?.companyId)});return Object.freeze({actor:g,companyId:g.companyId})}async function ry(l){let d=N.get(l.key);if(!d)throw new Error(`No action handler registered for key "${l.key}"`);return d({...l.params,...l.companyId===void 0?{}:{companyId:l.companyId},...l.renderEnvironment===void 0?{}:{renderEnvironment:l.renderEnvironment}},ny(l))}async function sy(l){let d=K.get(l.toolName);if(!d)throw new Error(`No tool handler registered for "${l.toolName}"`);return d.fn(l.parameters,l.runContext)}function We(l){return Object.assign(new Error(`${l} is not implemented by this plugin`),{code:fe.METHOD_NOT_IMPLEMENTED})}async function iy(l){if(!t.definition.onEnvironmentValidateConfig)throw We("environmentValidateConfig");return t.definition.onEnvironmentValidateConfig(l)}async function oy(l){if(!t.definition.onEnvironmentProbe)throw We("environmentProbe");return t.definition.onEnvironmentProbe(l)}async function ay(l){if(!t.definition.onEnvironmentAcquireLease)throw We("environmentAcquireLease");return t.definition.onEnvironmentAcquireLease(l)}async function cy(l){if(!t.definition.onEnvironmentResumeLease)throw We("environmentResumeLease");return t.definition.onEnvironmentResumeLease(l)}async function ly(l){if(!t.definition.onEnvironmentReleaseLease)throw We("environmentReleaseLease");return t.definition.onEnvironmentReleaseLease(l)}async function uy(l){if(!t.definition.onEnvironmentDestroyLease)throw We("environmentDestroyLease");return t.definition.onEnvironmentDestroyLease(l)}async function dy(l){if(!t.definition.onEnvironmentRealizeWorkspace)throw We("environmentRealizeWorkspace");return t.definition.onEnvironmentRealizeWorkspace(l)}async function py(l){if(!t.definition.onEnvironmentExecute)throw We("environmentExecute");return t.definition.onEnvironmentExecute(l)}function my(l,d){let g=d.payload;return!(l.companyId!==void 0&&(d.companyId??String(g?.companyId??""))!==l.companyId||l.projectId!==void 0&&(d.entityType==="project"?d.entityId:String(g?.projectId??""))!==l.projectId||l.agentId!==void 0&&(d.entityType==="agent"?d.entityId:String(g?.agentId??""))!==l.agentId)}function gy(l){let d=l.id;if(d==null)return;let g=q.get(d);g&&(clearTimeout(g.timer),q.delete(d),g.resolve(l))}function fy(l){if(!l.trim())return;let d;try{d=Fc(l)}catch(g){g instanceof He&&ze(dn(null,cs.PARSE_ERROR,`Parse error: ${g.message}`));return}if(Lc(d))gy(d);else if(Oc(d))Vh(d).catch(g=>{let E=g instanceof Error?g.message:String(g),x=g?.code??fe.WORKER_ERROR;try{ze(dn(d.id,typeof x=="number"?x:fe.WORKER_ERROR,E))}catch{}});else if(Nc(d)){let g=d,E=x=>g.paperclipInvocation?m.run(g.paperclipInvocation,x):x();if(g.method==="agents.sessions.event"&&g.params){let x=g.params,Y=$.get(x.sessionId);Y&&Y(x)}else g.method==="onEvent"&&g.params&&Promise.resolve(E(()=>Jl(g.params))).catch(x=>{de("log",{level:"error",message:`Failed to handle event notification: ${x instanceof Error?x.message:String(x)}`})})}}function Ys(){o=!1,vn&&(vn.close(),vn=null);for(let[l,d]of q)clearTimeout(d.timer),d.resolve(dn(l,fe.WORKER_UNAVAILABLE,"Worker RPC host is shutting down"));q.clear(),$.clear()}let vn=zb({input:n,crlfDelay:1/0});return vn.on("line",fy),vn.on("close",()=>{o&&(Ys(),!e.stdin&&!e.stdout&&process.exit(0))}),!e.stdin&&!e.stdout&&(process.on("uncaughtException",l=>{de("log",{level:"error",message:`Uncaught exception: ${l.message}`,meta:{stack:l.stack}}),setTimeout(()=>process.exit(1),100)}),process.on("unhandledRejection",l=>{let d=l instanceof Error?l.message:String(l),g=l instanceof Error?l.stack:void 0;de("log",{level:"error",message:`Unhandled rejection: ${d}`,meta:{stack:g}})})),{get running(){return o},stop(){Ys()}}}import{performance as Km}from"perf_hooks";import{join as Gc,dirname as Zb}from"path";import{randomBytes as Jb}from"crypto";import{readFile as Xb,mkdir as Qb,open as eI,rename as tI,unlink as nI}from"fs/promises";function rI(e){return cg(e.priority)*100+lg(e.consequence)*10+ug(e.tone)+(e.blocking?1e3:0)+(e.attentionScoreOffset??0)}function Oe(e,t={}){return cg(le(e))*100+lg(e.consequence)*10+ug(e.tone)+(jt(e)?1e3:0)+ag(e)+sI(e,t.now)}function le(e){return e.mode==="status"?e.tone==="critical"||e.consequence==="high"?"high":e.tone==="focused"||e.consequence==="medium"?"normal":"background":"high"}function ag(e){let t=e.metadata?.attention;return t&&typeof t=="object"&&"scoreOffset"in t&&typeof t.scoreOffset=="number"?t.scoreOffset:0}function jt(e){return e.mode!=="status"&&e.responseSpec?.kind!=="none"}function cg(e){switch(e){case"background":return 0;case"normal":return 1;case"high":return 2}}function lg(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}function ug(e){switch(e){case"ambient":return 0;case"focused":return 1;case"critical":return 2}}function sI(e,t){let n=t??e.timing.updatedAt,s=Date.parse(e.timing.updatedAt),i=Date.parse(n);if(Number.isNaN(s)||Number.isNaN(i)||i<=s)return 0;let o=i-s,a=iI(e);if(o<=a.graceMs)return 0;let c=Math.floor((o-a.graceMs)/a.stepMs)+1;return-Math.min(a.maxPenalty,c*a.penaltyPerStep)}function iI(e){return jt(e)?{graceMs:1800*1e3,stepMs:600*1e3,penaltyPerStep:1,maxPenalty:6}:e.tone==="critical"||e.consequence==="high"?{graceMs:1200*1e3,stepMs:600*1e3,penaltyPerStep:1,maxPenalty:8}:e.tone==="focused"||e.consequence==="medium"?{graceMs:600*1e3,stepMs:600*1e3,penaltyPerStep:2,maxPenalty:12}:{graceMs:300*1e3,stepMs:600*1e3,penaltyPerStep:3,maxPenalty:18}}var oI=250;function aI(e,t={}){let n=[],s=[];for(let a of e)a.now&&(cI(a.now)?s.push(a.now):n.push(a.now)),n.push(...a.next),s.push(...a.ambient);let i=t.now??uI([...n,...s]);if(lI([...n,...s])>=2){let a=[],c=[];for(let u of n)!dg(u)&&Oe(u,{now:i})<200?c.push(u):a.push(u);n=a,s=[...s,...c]}if(n.sort((a,c)=>zm(a,c,i)),s.sort((a,c)=>zm(a,c,i)),t.operatorPresence==="absent")return{now:null,next:n,ambient:s};let o=dI(n,s,t.focusedInteractionId??null,i);if(o){let a=n.some(c=>c.interactionId===o.interactionId);return{now:o,next:a?n.filter(c=>c.interactionId!==o.interactionId):n,ambient:s.filter(c=>c.interactionId!==o.interactionId)}}if(n.length>0){let[a,...c]=n;return{now:a??null,next:c,ambient:s}}if(s.length>0){let[a,...c]=s;return a&&(Oe(a,{now:i})<=0||t.globalAttentionState==="overloaded"&&Oe(a,{now:i})<200)?{now:null,next:[],ambient:s}:{now:a??null,next:[],ambient:c}}return{now:null,next:[],ambient:[]}}function cI(e){return e.mode==="status"||e.tone==="ambient"}function dg(e){return e.mode!=="status"||e.tone==="critical"||e.consequence==="high"}function lI(e){return e.filter(dg).length}function zm(e,t,n){let s=Oe(t,{now:n})-Oe(e,{now:n});return s!==0?s:e.timing.createdAt.localeCompare(t.timing.createdAt)}function uI(e){let t="1970-01-01T00:00:00.000Z";for(let n of e){let s=n.timing.updatedAt;s.localeCompare(t)>0&&(t=s)}return t}function dI(e,t,n,s){if(!n)return null;let i=e.find(a=>a.interactionId===n)??t.find(a=>a.interactionId===n)??null;if(!i)return null;let o=e[0]??t[0]??null;return!o||o.interactionId===i.interactionId?i:pI(i,o,s)?null:i}function pI(e,t,n){return t.tone==="critical"&&e.tone!=="critical"||t.mode!=="status"&&t.consequence==="high"&&e.consequence!=="high"?!0:Oe(t,{now:n})-Oe(e,{now:n})>=oI}function Pt(e){let t=e.counts.presented>=5;return e.counts.presented+e.counts.deferred>=5&&e.counts.deferred>=3&&e.deferred.next+e.deferred.suppressed>=3?"overloaded":t&&e.dismissalRate>=.6&&e.deferred.suppressed>=2?"avoiding":e.counts.contextExpanded>=1&&e.averageResponseLatencyMs!==null&&e.averageResponseLatencyMs>=15e3?"hesitating":t&&e.responseRate>=.6&&e.averageResponseLatencyMs!==null&&e.averageResponseLatencyMs<=1e4?"engaged":"monitoring"}function ls(e){let t=[];return e.counts.contextExpanded>=1&&e.counts.responded>=1&&t.push("context_before_action"),e.counts.deferred>=2&&e.counts.returned>=1&&t.push("defer_then_return"),e.counts.attentionShifted>=3&&t.push("fragmented_attention"),e.counts.viewed>=1&&e.counts.timedOut>=1&&e.counts.responded===0&&t.push("stalling"),t}var mI=class{apply(e,t,n=t){let s=this.scoreOffset(e,t,n),i=this.rationale(e,t,n,s);return{...e,...s!==0?{attentionScoreOffset:s}:{},...i.length>0?{attentionRationale:i}:{}}}scoreOffset(e,t,n){let s=0,i=Pt(t),o=Pt(n),a=ls(t),c=ls(n);if(e.mode==="status"){let u=e.consequence==="high"||e.tone==="critical";t.dismissalRate>=.5&&(s-=15),t.deferred.suppressed>=2&&(s-=10),u&&(s+=20),!u&&i==="overloaded"&&(s-=10),!u&&i==="avoiding"&&(s-=10),!u&&i!=="overloaded"&&o==="overloaded"&&(s-=5),!u&&c.includes("fragmented_attention")&&(s-=5)}return e.blocking&&t.counts.contextExpanded>=2&&(s+=10),e.blocking&&t.responseRate>=.75&&t.averageResponseLatencyMs!==null&&t.averageResponseLatencyMs<=1e4&&(s+=5),e.blocking&&i==="hesitating"&&(s+=5),e.blocking&&a.includes("defer_then_return")&&(s+=5),s}rationale(e,t,n,s){let i=[],o=Pt(t),a=Pt(n),c=ls(t),u=ls(n);return e.mode==="status"&&t.dismissalRate>=.5&&i.push("status updates for this task are often dismissed"),e.mode==="status"&&t.deferred.suppressed>=2&&i.push("similar task updates have repeatedly remained ambient"),e.mode==="status"&&(e.consequence==="high"||e.tone==="critical")&&i.push("high-consequence status should remain more visible"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&o==="overloaded"&&i.push("recent task activity suggests attention is already saturated"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&o==="avoiding"&&i.push("recent behavior suggests low-value updates should stay quiet"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&o!=="overloaded"&&a==="overloaded"&&i.push("overall operator activity suggests attention is already saturated"),e.mode==="status"&&e.consequence!=="high"&&e.tone!=="critical"&&u.includes("fragmented_attention")&&i.push("recent attention has already shifted repeatedly across work"),e.blocking&&t.counts.contextExpanded>=2&&i.push("this task often requires deeper context before action"),e.blocking&&t.responseRate>=.75&&t.averageResponseLatencyMs!==null&&t.averageResponseLatencyMs<=1e4&&i.push("similar blocking interactions usually receive quick responses"),e.blocking&&o==="hesitating"&&i.push("similar blocking interactions appear to require more deliberation"),e.blocking&&c.includes("defer_then_return")&&i.push("similar interactions are often deferred and resumed later"),s===0?[]:i}},gI=["need your input","need your approval","need your review","need your sign off","need your sign-off","should i continue","can you approve","can you review","what should i do"],pg=["no action needed","no approval needed","approval is not needed","approval not needed","sign off not needed","sign-off not needed","no input needed","for awareness only","for your awareness","continuing automatically"],fI=["cannot continue","can't continue","cannot proceed","can't proceed","unable to continue","unable to proceed","blocked on","blocked until","stuck on","requires operator input before continuing","needs operator input before continuing","must be provided before continuing"],hI=["waiting for approval","approval required","awaiting approval","waiting on approval","pending approval","waiting for input","awaiting input","waiting on input","awaiting review","waiting for review"],yI=["production","prod","force push","git push --force","rm -rf","drop table","delete database","delete prod","sudo","chmod 777","kill process","migrate"],SI=["result of running cat -n","result of running sed -n","result of running grep","result of running ls","result of running find","here s the result of running cat -n","here s the result of running sed -n"],bI=["observation","contents of","showing first","showing top","found"],II=["path","type file","content"],vI=["ran successfully and did not produce any output","command ran successfully and did not produce any output","completed successfully and did not produce any output"],kI=["tool-output","dmesg"],_I=["makefile","spdx-license-identifier","patchlevel","sublevel","extraversion"],EI=/(?:^|\s)\/[a-z0-9._-]+(?:\/[a-z0-9._-]+)+(?:\s|$)/,AI=/\bfound\s+\d+\s+match(?:es)?\b|\bshowing\s+(?:first|top)\s+\d+\b|\bmatch(?:es)?\s+in\s+\d+\s+files?\b/,wI=/\b(import|from|export|class|def|function|const|let|var|return)\b/,xI=/\b\d+\s+(?:import|from|export|class|def|function|const|let|var|return)\b/,TI=/\/[a-z0-9._/-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)(?:\b|\/)/,RI=/\b[a-z0-9.-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)\b/,CI=/\b(static|struct|enum|typedef|void|int|char|bool|return)\b/,PI=/\b\d+\s+(?:static|struct|enum|typedef|void|int|char|bool|return)\b/,OI=/\b\d+\s+\[\s*\d+\.\d+\]\s+[a-z0-9_.:-]+/,NI=/\b(?:version|patchlevel|sublevel|extraversion)\b/,LI=["form is valid false","form without instance is valid false","form errors","errorlist","decompress result"],MI=["traceback","exception","permission denied","command not found","segmentation fault"],DI=["still","again","back again","came back","continues","continuing","returned","returning","remains","persisting","retrying","recurred"],UI=["did not repeat","didn t repeat","did not return","didn t return","did not recur","didn t recur","not repeated","not returning","not recurring","no repeat"],FI=["resolved","fixed","unblocked","no longer blocked"],Wm=["not resolved","did not resolve","didn t resolve","not fixed","did not fix","didn t fix","not recovered","did not recover","didn t recover"],jI=["recovered","completed successfully","succeeded after"],Gm=["instead","supersedes","superseded","replaced by","use this plan instead","follow this plan instead"],qI=["worse","worsened","escalating","regression","regressed","spread","broader impact","degraded further","critical now","now failing"],$I=["did not regress","didn t regress","no regression","not worsening","did not worsen","didn t worsen","not escalating","did not escalate","didn t escalate"],BI=["fail","failed","failing","failure","error","broken","blocked","stalled","stall","incident","issue","outage","degraded","regression","retry","rollback"];function Xn(e){return e.toLowerCase().replace(/[^a-z0-9/._-]+/g," ").trim()}function Yc(e){return[...new Set(e)]}function ol(e){return $c(e.toolFamily)??$c(tv(e.metadata))??$c(nv(e.context))}function mg(e){let t=ol(e);if(t)return t;let n=Xn(`${e.title} ${e.summary??""}`);return Ce(n,"wants to read")||Ce(n,"wants to inspect")||Wn(n,"read")||Wn(n,"inspect")?"read":Ce(n,"wants to write")||Wn(n,"write")?"write":Ce(n,"wants to edit")||Wn(n,"edit")?"edit":Ce(n,"shell command")||Ce(n,"wants to run")?"bash":Ce(n,"search the web")?"web":Ce(n,"search files")||Ce(n,"search file contents")?"search":null}function HI(e){return D(e,pg)?!1:D(e,gI)}function VI(e){return D(e,pg)?null:D(e,fI)?"blocking":D(e,hI)?"waiting":null}function gg(e){let t=[],n=D(e,DI)&&!D(e,UI),s=D(e,FI)&&!D(e,Wm),i=D(e,jI)&&!D(e,Wm),o=D(e,qI)&&!D(e,$I),a=D(e,BI)||D(e,Gm)||o;return n&&a&&t.push({kind:"same_issue"},{kind:"repeats"}),(s||i&&a)&&t.push({kind:"same_issue"},{kind:"resolves"}),D(e,Gm)&&t.push({kind:"same_issue"},{kind:"supersedes"}),o&&t.push({kind:"same_issue"},{kind:"escalates"}),sv(t)}function zn(e,t,n){return rv(e)||n==="read"||n==="search"?t:GI(e,yI)?"high":(n==="write"||n==="edit"||n==="bash")&&t==="low"?"medium":t}function KI(e,t){return t!=="edit"&&t!=="read"?!1:D(e,SI)||yg(e)||hg(e)}function zI(e,t){return t==="search"?Ym(e):t==="read"?Ym(e)?!0:!yg(e)&&!hg(e)||XI(e)?!1:QI(e)||ev(e):!1}function WI(e,t){return t!=="bash"?!1:D(e,LI)&&!D(e,MI)}function D(e,t){return t.some(n=>fg(e,n))}function GI(e,t){return t.some(n=>YI(e,n))}function fg(e,t){let n=Xn(t);return n?n.includes(" ")?Ce(e,n):Wn(e,n):!1}function YI(e,t){return fg(e,t)}function hg(e){return al(e)?D(e,bI)||ZI(e)||JI(e):!1}function yg(e){return D(e,II)&&al(e)}function Ym(e){return AI.test(e)||al(e)&&/\bmatch(?:es)?\b/.test(e)}function al(e){return EI.test(e)}function ZI(e){return wI.test(e)}function JI(e){return xI.test(e)}function XI(e){return TI.test(e)||RI.test(e)||CI.test(e)||PI.test(e)}function QI(e){return OI.test(e)||D(e,kI)}function ev(e){return NI.test(e)||D(e,_I)}function tv(e){let t=e?.toolFamily;return typeof t=="string"?t:null}function nv(e){if(!e?.items)return null;for(let t of e.items){let n=t.id.toLowerCase(),s=t.label.toLowerCase();if(n==="toolfamily"||n==="tool_family"||n==="tool"||s==="tool family")return t.value??null}return null}function $c(e){if(!e)return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function Ce(e,t){let n=Xn(t);return n?new RegExp(`(?:^|[^a-z0-9_])${Sg(n)}(?:$|[^a-z0-9_])`).test(e):!1}function Wn(e,t){return new RegExp(`(?:^|[^a-z0-9_])${Sg(t)}(?:$|[^a-z0-9_])`).test(e)}function Sg(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function rv(e){return D(e,vI)}function sv(e){let t=new Set,n=[];for(let s of e){let i=`${s.kind}:${s.target??""}`;t.has(i)||(t.add(i),n.push(s))}return n}function iv(e){switch(e){case"approval":return"approval_request";case"choice":return"question_request";case"form":return"form_request"}}function ov(e){switch(e){case"approval":return"permission_request";case"choice":case"form":return"question_request"}}function av(e,t){switch(e){case"approval":return t==="high"?"A high-risk action needs explicit operator approval.":"Approval is required before work can continue.";case"choice":return"A decision is required before work can continue.";case"form":return"Additional input is required before work can continue."}}function Ot(e,t){if(t?.wasCancelled)return"Work was cancelled and may need review.";switch(e){case"failed":return"Work has failed and should be reviewed.";case"blocked":return"Work is blocked and may require operator attention.";case"running":case"waiting":case"completed":return t?.impliedAsk?"Status text implies the operator may need to respond.":void 0}}function pn(e,t){if(t?.wasCancelled)return["task cancellation is an explicit lifecycle fact"];switch(e){case"failed":return["task status explicitly indicates failure"];case"blocked":return["task status explicitly indicates blocked work"];case"running":case"waiting":case"completed":return t?.impliedAsk?["status wording suggests an implied operator request"]:["task update carries a non-blocking lifecycle status"]}}function Zm(e){switch(e){case"task_started":return["task start is an explicit lifecycle fact"];case"completion":return["task completion is an explicit lifecycle fact"]}}function bg(e){let t=cv(e);return dv(t,e.semanticHints)}function cv(e){switch(e.type){case"task.started":return{intentFrame:"task_started",activityClass:"session_status",consequence:"low",factors:["task.started"],relationHints:[],confidence:"high",reasons:Zm("task_started"),provenance:oe(["intentFrame","activityClass","consequence","confidence"])};case"task.updated":return lv(e);case"human.input.requested":return uv(e);case"task.completed":return{intentFrame:"completion",activityClass:"tool_completion",consequence:"low",factors:["task.completed"],relationHints:[],confidence:"high",reasons:Zm("completion"),provenance:oe(["intentFrame","activityClass","consequence","confidence"])};case"task.cancelled":return{intentFrame:"cancellation",activityClass:"status_update",consequence:"low",...e.reason?{whyNow:Ot("completed",{wasCancelled:!0})??"Work was cancelled and may need review."}:{},factors:["task.cancelled"],relationHints:[],confidence:"high",reasons:pn("completed",{wasCancelled:!0}),provenance:{...oe(["intentFrame","activityClass","consequence","confidence"]),...e.reason?oe(["whyNow"]):{}}};default:return fv(e)}}function lv(e){let t=Xn(`${e.title} ${e.summary??""}`),n=HI(t),s=VI(t),i=gg(t),o=_g(e.title,e.summary,e.toolFamily,e.context),{toolFamily:a,source:c}=kg(o,!0),u=i.length>0?oe(["relationHints"]):{},p=e.status==="failed"&&KI(t,a),m=e.status==="failed"&&zI(t,a),h=e.status==="failed"&&WI(t,a);switch(e.status){case"failed":return p?{intentFrame:"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:zn(t,m?"low":"high",a),factors:["task.updated","failed","observational_failure"],relationHints:i,confidence:"high",reasons:["task status indicates failure but the update reads like observational output"],provenance:{...oe(["intentFrame","activityClass","consequence","confidence"]),...Gn(c),...u}}:{intentFrame:"failure",activityClass:"tool_failure",...a?{toolFamily:a}:{},consequence:zn(t,m?"low":h?"medium":"high",a),whyNow:Ot("failed")??"Work has failed and should be reviewed.",factors:["task.updated","failed"],relationHints:i,confidence:n?"medium":"high",reasons:h?[...pn("failed",{impliedAsk:n}),"failure content looks like expected diagnostic output from repro work"]:pn("failed",{impliedAsk:n}),provenance:{...oe(["intentFrame","activityClass","consequence","whyNow","confidence"]),...Gn(c),...u}};case"blocked":return{intentFrame:"blocked_work",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:zn(t,"medium",a),whyNow:Ot("blocked")??"Work is blocked and may require operator attention.",factors:["task.updated","blocked"],relationHints:i,confidence:n?"medium":"high",reasons:pn("blocked",{impliedAsk:n}),provenance:{...oe(["intentFrame","activityClass","consequence","whyNow","confidence"]),...Gn(c),...u}};case"running":case"waiting":case"completed":return{intentFrame:s==="blocking"?"blocked_work":"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:zn(t,"low",a),...(()=>{let f=s==="blocking"?Ot("blocked"):n?Ot(e.status,{impliedAsk:n}):void 0;return f!==void 0?{whyNow:f}:{}})(),factors:["task.updated",e.status,...s==="blocking"?["semantic blocking signal"]:[]],relationHints:i,confidence:s==="blocking"?"medium":n?"low":"high",reasons:s==="blocking"?[...pn("blocked"),"status wording indicates work cannot continue yet"]:pn(e.status,{impliedAsk:n}),provenance:{...oe(["intentFrame","activityClass","consequence","confidence"]),...Gn(c),...s==="blocking"||n?oe(["whyNow"]):{},...u}};default:return hv(e.status)}}function uv(e){let t=_g(e.title,e.summary,e.toolFamily,e.context),{toolFamily:n,source:s}=kg(t,e.request.kind==="approval"),i=Xn(`${e.title} ${e.summary}`),o=gg(i),a=e.riskHint??gv(e.request.kind,n),c=zn(i,a,n),u=o.length>0?oe(["relationHints"]):{};return{intentFrame:iv(e.request.kind),activityClass:ov(e.request.kind),...n?{toolFamily:n}:{},consequence:c,whyNow:av(e.request.kind,c),factors:["human.input.requested",e.request.kind],relationHints:o,confidence:e.riskHint?"high":e.request.kind==="approval"&&n?"medium":"low",reasons:[e.riskHint?"source provided an explicit risk hint":"request kind establishes an explicit operator decision point",...s==="explicit"?["tool family was supplied by the source or context"]:s==="inferred"?["tool family was inferred from approval wording"]:[]],provenance:{...oe(["intentFrame","activityClass","whyNow"]),...Gn(s),...e.riskHint?Ig(["consequence","confidence"]):oe(["consequence","confidence"]),...u}}}function oe(e){return vg(e,"inferred")}function Ig(e){return vg(e,"source")}function vg(e,t){return Object.fromEntries(e.map(n=>[n,t]))}function Gn(e){switch(e){case"explicit":return Ig(["toolFamily"]);case"inferred":return oe(["toolFamily"]);case"none":return{};default:return Sv(e)}}function kg(e,t){let n=ol(e);if(n)return{toolFamily:n,source:"explicit"};if(!t)return{source:"none"};let s=mg(e);return s?{toolFamily:s,source:"inferred"}:{source:"none"}}function dv(e,t){return t?{...e,...mv(t),factors:Yc([...e.factors??[],...t.factors??[]]),relationHints:[...t.relationHints??e.relationHints],reasons:Yc([...e.reasons??[],...t.reasons??[]]),provenance:{...e.provenance??{},...pv(t)}}:e}function pv(e){return{...e.intentFrame!==void 0?{intentFrame:"hint"}:{},...e.activityClass!==void 0?{activityClass:"hint"}:{},...e.toolFamily!==void 0?{toolFamily:"hint"}:{},...e.consequence!==void 0?{consequence:"hint"}:{},...e.whyNow!==void 0?{whyNow:"hint"}:{},...e.relationHints!==void 0?{relationHints:"hint"}:{},...e.confidence!==void 0?{confidence:"hint"}:{},...e.abstained!==void 0?{abstained:"hint"}:{}}}function mv(e){let t={};for(let[n,s]of Object.entries(e))s!==void 0&&n!=="factors"&&n!=="relationHints"&&n!=="reasons"&&(t[n]=s);return t}function gv(e,t){switch(e){case"approval":return t==="read"||t==="search"?"low":"medium";case"choice":case"form":return"medium";default:return yv(e)}}function _g(e,t,n,s){return{title:e,...t!==void 0?{summary:t}:{},...n!==void 0?{toolFamily:n}:{},...s?.items!==void 0?{context:{items:s.items}}:{}}}function fv(e){throw new Error(`Unhandled source event in semantic interpreter: ${JSON.stringify(e)}`)}function hv(e){throw new Error(`Unhandled task status in semantic interpreter: ${e}`)}function yv(e){throw new Error(`Unhandled human input request kind in semantic interpreter: ${e}`)}function Sv(e){throw new Error(`Unhandled tool family provenance source in semantic interpreter: ${e}`)}function cl(e,t){return{ask:bv(e,t),activity:Iv(e,t),...t.consequence!==void 0?{consequence:t.consequence}:{},blocking:vv(e,t),episode:kv(e,t),confidence:t.confidence,source:Ev(e,t)}}function bv(e,t){switch(e.type){case"human.input.requested":return e.request.kind;case"task.started":case"task.completed":case"task.cancelled":return"none";case"task.updated":return t.intentFrame==="approval_request"||t.activityClass==="permission_request"?"approval":t.intentFrame==="form_request"?"form":t.intentFrame==="question_request"||t.activityClass==="question_request"?"choice":"status";default:return _s(e)}}function Iv(e,t){switch(e.type){case"human.input.requested":return e.request.kind==="approval"?"decision_request":"question";case"task.completed":case"task.cancelled":return"task_completion";case"task.updated":return t.intentFrame==="approval_request"||t.activityClass==="permission_request"?"decision_request":t.intentFrame==="question_request"||t.intentFrame==="form_request"||t.activityClass==="question_request"?"question":e.status==="failed"||t.intentFrame==="failure"?"failure":e.status==="completed"?"task_completion":"task_progress";case"task.started":return"background_work";default:return _s(e)}}function vv(e,t){switch(e.type){case"human.input.requested":return"blocking";case"task.started":case"task.completed":case"task.cancelled":return"non_blocking";case"task.updated":return e.status==="blocked"||t.intentFrame==="blocked_work"?"blocking":e.status==="waiting"||t.intentFrame==="approval_request"||t.intentFrame==="question_request"||t.intentFrame==="form_request"?"waiting":"non_blocking";default:return _s(e)}}function kv(e,t){let n=new Set(t.relationHints.map(s=>s.kind));return n.has("resolves")?"resolved":n.has("same_issue")&&_v(t.relationHints)?"resurfaced":n.has("same_issue")?"same_issue":e.type==="human.input.requested"||e.type==="task.started"?"new":"unknown"}function _v(e){return e.some(t=>t.kind==="repeats"||t.kind==="escalates"||t.kind==="supersedes")}function Ev(e,t){let n=Object.values(t.provenance??{});return n.includes("hint")?"hinted":Av(e,t)?e.type==="task.updated"&&t.intentFrame==="status_update"&&t.confidence==="low"&&t.provenance?.confidence==="inferred"?"inferred":"explicit":n.includes("source")?"explicit":n.includes("inferred")?"inferred":"explicit"}function Av(e,t){switch(e.type){case"human.input.requested":return!0;case"task.started":case"task.completed":case"task.cancelled":return!0;case"task.updated":switch(e.status){case"blocked":return t.intentFrame==="blocked_work";case"failed":return t.intentFrame==="failure"||t.intentFrame==="status_update";case"completed":return t.intentFrame==="completion"||t.intentFrame==="status_update";case"running":case"waiting":return t.intentFrame==="status_update";default:return wv(e.status)}default:return _s(e)}}function _s(e){throw new Error(`Unhandled semantic ontology event: ${JSON.stringify(e)}`)}function wv(e){throw new Error(`Unhandled task status in semantic ontology: ${e}`)}function xv(e){if(!e.semantic)return{blockedLikeStatus:!1};let t=cl(e,e.semantic),n=e.semantic.abstained===!0;return{ontology:t,semanticEvidence:{confidence:t.confidence,source:t.source,strength:Tg(t.confidence,t.source,n),abstained:n},...e.semantic.relationHints.length>0?{relationEvidence:{source:Rg(e.semantic),strength:Pv(e.semantic,n)}}:{},blockedLikeStatus:e.type==="task.updated"&&t.blocking==="blocking"&&e.status!=="blocked"}}function Eg(e){return qt(e)?.strength??null}function qt(e){return e.judgmentInput.semanticEvidence??null}function Tv(e){return e.judgmentInput.relationEvidence??null}function Ag(e){return Tv(e)?.strength??null}function wg(e){return e.judgmentInput.ontology??null}function fs(e){return qt(e)?.confidence??null}function hs(e){return qt(e)?.abstained===!0}function Rv(e){return fs(e)==="low"}function Cv(e){let t=Eg(e),n=qt(e)?.source;if(!t||!n)return 0;if(n==="inferred")switch(t){case"weak":return-2;case"qualified":return-1;case"strong":return 0}return(n==="explicit"||n==="hinted")&&t==="strong"?1:0}function ll(e){return e.judgmentInput.blockedLikeStatus}function xg(e,t){return t==="ambient"&&ll(e)?"queue":t}function Tg(e,t,n){if(n)return"weak";switch(e){case"low":return"weak";case"medium":return t==="inferred"?"weak":"qualified";case"high":return t==="inferred"?"qualified":"strong"}}function Rg(e){switch(e.provenance?.relationHints){case"source":return"explicit";case"hint":return"hinted";case"inferred":return"inferred";default:return"inferred"}}function Pv(e,t){switch(Rg(e)){case"explicit":return"strong";case"hinted":return t?"weak":"qualified";case"inferred":return Tg(e.confidence,"inferred",t)}}var Ov=1,tt=Ov,W={ambiguity:{nonBlockingActivationThreshold:180,promotionMargin:20},attentionValue:{memorySufficiency:{toolFamilyPresentations:3,toolFamilyResponses:3,consequenceReviewedCount:4},responseAffinity:{fastLatencyMs:2e3,mediumLatencyMs:5e3,fastBoost:8,mediumBoost:4},consequenceCalibration:{highRejectionRate:.5,mediumRejectionRate:.25,adjustments:{low:{highRate:8,mediumRate:4},medium:{highRate:4,mediumRate:2},high:{highRate:-4,mediumRate:-2}}},contextCost:{highRate:.6,mediumRate:.3,highPenalty:-6,mediumPenalty:-3},deferralAffinity:{highRate:.6,mediumRate:.3,highBoost:6,mediumBoost:3}},queuePlanner:{minimumDwellMs:3e4,streamContinuityMargin:20,conflictingInterruptMargin:10,statusBurstWindowMs:6e4,urgentBacklogWindowMs:9e4,deferredEscalationThreshold:3,returnedEscalationThreshold:2,escalationScoreSlack:10,highContextQueueMargin:8,mediumContextQueueMargin:4,actionableEpisodeEvidenceThreshold:4,actionableEpisodeScoreSlack:15},pressureForecast:{freshness:{demandMs:2e4,residualMs:12e4},visibleInterruptiveBoost:{elevatedCount:1,highCount:2},recentDemand:{elevatedCount:5,highCount:8},responseLatencyMs:{elevated:8e3,high:15e3},deferredPressure:{elevatedSuppressedCount:1,highSuppressedCount:2,elevatedDeferredCount:2,highDeferredCount:4},slowClearance:{presentedCount:4,responseRate:.3},scoreBands:{elevatedLevel:2,highLevel:5,risingRisk:3,highRisk:6}},attentionBudget:{thresholdOffset:{elevated:6,high:12},recentDecisions:{elevatedCount:4,highCount:8},responseLatencyMs:{elevated:8e3,high:15e3},deferredCount:{elevated:2,high:4},interruptiveVisible:{elevated:1,high:2},scoreBands:{elevatedScore:2,highScore:5}},episodeEvidence:{blockingBoost:4,recurringEpisodeBoost:1,persistentEpisodeBoost:1,highSignalBoost:2,multiModeBoost:1,stackingBoost:1,relationRepeatBoost:1,relationEscalationBoost:2,actionableThreshold:4,staleAfterMs:15*6e4}};function Cg(e,t){return(e??[]).some(n=>n.kind===t)}function Nv(e){return(e??[]).find(n=>typeof n.target=="string"&&n.target.length>0)?.target??null}function Es(e=Date.now){return{nowMs:()=>e(),nowIso:()=>gn(e()),parse:Zn,add:Lv,diff:ul}}function Zn(e){let t=Date.parse(e);return Number.isNaN(t)?null:t}function gn(e){return new Date(e).toISOString()}function Lv(e,t){let n=Zn(e);return n===null?null:gn(n+t)}function ul(e,t){let n=Zn(e),s=Zn(t);return n===null||s===null?null:n-s}var ke=W.episodeEvidence,Mv=1440*6e4,Dv=1024,Uv=class{byKey=new Map;byId=new Map;byInteractionId=new Map;nextSequenceByKey=new Map;clock;dormantRetentionMs;maxDormantEpisodes;latestObservedAtMs=null;prunedRecords=0;constructor(e={}){this.clock=e.clock??Es(),this.dormantRetentionMs=e.dormantRetentionMs??Mv,this.maxDormantEpisodes=e.maxDormantEpisodes??Dv}assign(e){let t=this.clock.parse(e.timestamp);t!==null&&(this.latestObservedAtMs===null||t>this.latestObservedAtMs)&&(this.latestObservedAtMs=t);let n=Fv(e),s=this.byInteractionId.get(e.interactionId),i=s?this.byId.get(s):void 0,o=i?null:this.byKey.get(n),a=i??this.resolveAssignableRecord(n,o,e),c=this.evolveRecord(a,e);return this.byKey.set(c.key,c),this.byId.set(c.id,c),this.byInteractionId.set(e.interactionId,c.id),this.pruneDormantRecords(),{...e,episodeId:c.id,episodeKey:c.key,episodeState:c.state,episodeSize:c.size,episodeEvidenceScore:c.evidenceScore,episodeEvidenceReasons:[...c.evidenceReasons]}}resolveInteraction(e){let t=this.byInteractionId.get(e);if(!t)return;let n=this.byId.get(t);if(n){this.byKey.get(n.key)?.id===n.id&&this.byKey.delete(n.key),this.byId.delete(n.id);for(let s of n.interactions)this.byInteractionId.delete(s)}}readFrameEpisode(e){if(!e)return null;let t=e.metadata?.episode;if(!t||typeof t!="object")return null;let n=mn(t,"id"),s=mn(t,"key"),i=Og(t,"state"),o=Jm(t,"size"),a=Jm(t,"evidenceScore")??0,c=Vv(t,"evidenceReasons"),u=mn(t,"lastInteractionId"),p=mn(t,"updatedAt");return!n||!s||!i||o===null||!u||!p?null:{id:n,key:s,state:i,size:o,evidenceScore:a,evidenceReasons:c,lastInteractionId:u,updatedAt:p}}stats(){let e=0,t=0,n=null;for(let s of this.byId.values())this.isActiveRecord(s)?e+=1:t+=1,(n===null||s.updatedAt>n)&&(n=s.updatedAt);return{activeRecords:e,dormantRecords:t,retainedRecords:this.byId.size,boundInteractions:this.byInteractionId.size,dormantRetentionMs:this.dormantRetentionMs,maxDormantRecords:this.maxDormantEpisodes,prunedRecords:this.prunedRecords,latestEpisodeAt:n}}createRecord(e,t){let n=(this.nextSequenceByKey.get(e)??0)+1;this.nextSequenceByKey.set(e,n);let s=Pg(t)?(t.relationHints??[]).map(i=>i.kind):[];return{id:`episode:${e}:${n}`,key:e,state:t.blocking?"actionable":"emerging",size:0,evidenceScore:t.blocking?ke.blockingBoost:0,evidenceReasons:t.blocking?["operator-facing work makes this episode immediately actionable"]:[],lastInteractionId:t.interactionId,updatedAt:t.timestamp,interactions:new Set,modes:new Set([t.mode]),highSignals:t.consequence==="high"||t.tone==="critical"?1:0,blockingSignals:t.blocking?1:0,relationKinds:new Set(s)}}resolveAssignableRecord(e,t,n){if(!t)return this.createRecord(e,n);if(this.shouldRollEpisode(t,n.timestamp)){let s={...t,state:"stale"};return this.byId.set(s.id,s),this.createRecord(e,n)}return t}shouldRollEpisode(e,t){if(Ve(e.state))return!0;let n=this.clock.parse(e.updatedAt),s=this.clock.parse(t);return n===null||s===null?!1:s-n>=ke.staleAfterMs}evolveRecord(e,t){let n=new Set(e.interactions);n.add(t.interactionId);let s=new Set(e.modes);s.add(t.mode);let i=Bv(e.relationKinds,t),o={...e,lastInteractionId:t.interactionId,updatedAt:t.timestamp,size:n.size,interactions:n,modes:s,relationKinds:i,blockingSignals:e.blockingSignals+(t.blocking?1:0),highSignals:e.highSignals+(t.consequence==="high"||t.tone==="critical"?1:0)},a=$v(o,t);return{...o,evidenceScore:a.score,evidenceReasons:a.reasons,state:qv(e.state,t,o,a.score)}}pruneDormantRecords(){let e=[...this.byId.values()].filter(s=>!this.isActiveRecord(s));if(this.latestObservedAtMs!==null)for(let s of e){let i=this.clock.parse(s.updatedAt);i!==null&&this.latestObservedAtMs-i>this.dormantRetentionMs&&this.deleteRecord(s)}let t=[...this.byId.values()].filter(s=>!this.isActiveRecord(s)).sort((s,i)=>s.updatedAt.localeCompare(i.updatedAt));if(t.length<=this.maxDormantEpisodes)return;let n=t.length-this.maxDormantEpisodes;for(let s of t.slice(0,n))this.deleteRecord(s)}isActiveRecord(e){return this.byKey.get(e.key)?.id===e.id&&!Ve(e.state)}deleteRecord(e){this.byKey.get(e.key)?.id===e.id&&this.byKey.delete(e.key),this.byId.delete(e.id);for(let t of e.interactions)this.byInteractionId.get(t)===e.id&&this.byInteractionId.delete(t);this.prunedRecords+=1}};function Fv(e){let t=e.source?.kind??e.source?.id??"unknown",n=jv(e),s=e.blocking?"interruptive":"status";return Hv([t,s,n].join(":"))}function Lt(e){return e?mn(e.metadata?.episode,"id"):null}function Mt(e){return e?Og(e.metadata?.episode,"state"):null}function Ve(e){return e==="stale"||e==="resolved"}function jv(e){let t=Nv(e.relationHints);if(t)return t;let s=(e.context?.items??[]).find(o=>{let a=o.id.toLowerCase(),c=o.label.toLowerCase();return a.includes("file")||a==="path"||a.includes("issue")||a==="command"||c.includes("file")||c.includes("path")||c.includes("issue")||c.includes("command")});if(s?.value)return s.value;let i=e.summary??e.title;return i.length>0?i:e.taskId}function qv(e,t,n,s){return t.blocking||s>=ke.actionableThreshold?"actionable":e==="actionable"?"waiting":n.size>=2?"batched":"emerging"}function $v(e,t){let n=0,s=[];return t.blocking&&(n+=ke.blockingBoost,s.push("operator-facing work makes this episode immediately actionable")),e.size>=2&&(n+=ke.recurringEpisodeBoost,s.push("multiple related interactions have accumulated in this episode")),e.size>=3&&(n+=ke.persistentEpisodeBoost,s.push("the same episode keeps recurring without resolution")),e.highSignals>=1&&(n+=ke.highSignalBoost,s.push("at least one related interaction carried high consequence or critical tone")),e.modes.size>=2&&(n+=ke.multiModeBoost,s.push("related work has spread across multiple interaction modes")),e.highSignals>=1&&e.size>=2&&(n+=ke.stackingBoost,s.push("high-signal evidence is stacking up across the episode")),e.relationKinds.has("repeats")&&(n+=ke.relationRepeatBoost,s.push("semantic relation hints indicate this issue is recurring")),e.relationKinds.has("escalates")&&(n+=ke.relationEscalationBoost,s.push("semantic relation hints indicate this issue is escalating")),{score:n,reasons:s}}function Bv(e,t){let n=new Set(e);if(!Pg(t))return n;for(let s of t.relationHints??[])n.add(s.kind);return n}function Hv(e){return e.toLowerCase().replace(/[^a-z0-9:/._-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,120)}function Pg(e){let t=Ag(e);return t===null||t!=="weak"}function mn(e,t){if(!e||typeof e!="object"||!(t in e))return null;let n=e[t];return typeof n=="string"&&n.length>0?n:null}function Jm(e,t){if(!e||typeof e!="object"||!(t in e))return null;let n=e[t];return typeof n=="number"?n:null}function Og(e,t){let n=mn(e,t);switch(n){case"emerging":case"actionable":case"batched":case"waiting":case"stale":case"resolved":return n;default:return null}}function Vv(e,t){if(!e||typeof e!="object"||!(t in e))return[];let n=e[t];return Array.isArray(n)?n.filter(s=>typeof s=="string"&&s.length>0):[]}function dl(e={}){let t=e.base,n=e.semantic,s=t?.whyNow??n?.whyNow??e.fallbackWhyNow,i=Yc([...t?.factors??[],...n?.factors??[],...e.extraFactors??[]]);if(!(t===void 0&&s===void 0&&i.length===0))return{...t??{},...s!==void 0?{whyNow:s}:{},...i.length>0?{factors:i}:{}}}var Kv=class{evaluate(e){switch(e.type){case"task.started":return{kind:"candidate",candidate:{taskId:e.taskId,interactionId:`interaction:${e.taskId}:status`,...e.source!==void 0?{source:e.source}:{},mode:"status",tone:"ambient",consequence:"low",title:e.title,responseSpec:{kind:"none"},priority:"background",blocking:!1,timestamp:e.timestamp,...e.summary!==void 0?{summary:e.summary}:{},...Bc(e)}};case"task.updated":return{kind:"candidate",candidate:this.evaluateTaskUpdate(e)};case"human.input.requested":return{kind:"candidate",candidate:this.evaluateHumanInput(e)};case"task.completed":case"task.cancelled":return{kind:"clear",taskId:e.taskId};default:return Gv(e)}}evaluateTaskUpdate(e){let t=this.priorityForStatus(e.status),n=this.toneForStatus(e.status),s=this.consequenceForStatus(e.status),i=this.responseSpecForStatus(e.status);return{taskId:e.taskId,interactionId:`interaction:${e.taskId}:status`,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},mode:"status",tone:n,consequence:s,title:e.title,responseSpec:i,priority:t,blocking:!1,timestamp:e.timestamp,...e.summary!==void 0?{summary:e.summary}:{},...e.semantic?.relationHints?.length?{relationHints:e.semantic.relationHints}:{},...Bc(e),...zv(e),...Wv(e)}}evaluateHumanInput(e){let t=this.createActions(e),n=this.createResponseSpec(e,t),s=e.request.kind==="approval"?e.toolFamily:void 0;return{taskId:e.taskId,interactionId:e.interactionId,...e.source!==void 0?{source:e.source}:{},...s!==void 0?{toolFamily:s}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},mode:e.request.kind,tone:e.tone??"focused",consequence:e.consequence??"medium",title:e.title,summary:e.summary,...e.semantic?.relationHints?.length?{relationHints:e.semantic.relationHints}:{},responseSpec:n,priority:this.priorityForHumanInput(e),blocking:!0,timestamp:e.timestamp,...Bc(e),...e.context!==void 0?{context:e.context}:{},...(()=>{let i=dl({base:e.provenance,semantic:e.semantic});return i!==void 0?{provenance:i}:{}})()}}priorityForHumanInput(e){return e.request.kind==="approval"&&e.consequence==="low"?"normal":"high"}createActions(e){switch(e.request.kind){case"approval":return[{id:"approve",label:"Approve",kind:"approve",emphasis:"primary"},{id:"reject",label:"Reject",kind:"reject",emphasis:"danger"}];case"choice":case"form":return[{id:"submit",label:"Continue",kind:"submit",emphasis:"primary"},{id:"cancel",label:"Cancel",kind:"cancel",emphasis:"secondary"}];default:return Xm(e.request)}}createResponseSpec(e,t){switch(e.request.kind){case"approval":return e.request.requireReason!==void 0?{kind:"approval",actions:t,requireReason:e.request.requireReason}:{kind:"approval",actions:t};case"choice":return{kind:"choice",selectionMode:e.request.selectionMode,...e.request.allowTextResponse!==void 0?{allowTextResponse:e.request.allowTextResponse}:{},options:e.request.options,actions:t};case"form":return{kind:"form",fields:e.request.fields,actions:t};default:return Xm(e.request)}}responseSpecForStatus(e){switch(e){case"blocked":case"failed":return{kind:"acknowledge",actions:[{id:"acknowledge",label:"Acknowledge",kind:"acknowledge",emphasis:"primary"}]};case"running":case"waiting":case"completed":return{kind:"none"};default:return us(e)}}priorityForStatus(e){switch(e){case"blocked":return"normal";case"failed":return"high";case"running":case"waiting":case"completed":return"background";default:return us(e)}}toneForStatus(e){switch(e){case"blocked":return"focused";case"failed":return"critical";case"running":case"waiting":case"completed":return"ambient";default:return us(e)}}consequenceForStatus(e){switch(e){case"blocked":return"medium";case"failed":return"high";case"running":case"waiting":case"completed":return"low";default:return us(e)}}};function zv(e){let t=e.context,n=t?.items,s=n!==void 0&&n.length>0;return e.progress===void 0&&t?.stage===void 0&&!s?{}:{context:{...t?.stage!==void 0?{stage:t.stage}:{},...e.progress!==void 0?{progress:e.progress}:{},...s?{items:n}:{}}}}function Wv(e){let t=dl({semantic:e.semantic,fallbackWhyNow:e.status==="blocked"?Ot("blocked"):e.status==="failed"?Ot("failed"):void 0,extraFactors:e.status==="blocked"||e.status==="failed"?[e.status]:[]});return t===void 0?{}:{provenance:t}}function Bc(e){return{judgmentInput:xv(e)}}function Gv(e){throw new Error(`Unhandled ApertureEvent in event evaluator: ${JSON.stringify(e)}`)}function Xm(e){throw new Error(`Unhandled human input request in event evaluator: ${JSON.stringify(e)}`)}function us(e){throw new Error(`Unhandled task status in event evaluator: ${e}`)}var Yv=class{plan(e,t){let n=t?.interactionId===e.interactionId,s=t?.metadata?.attention,i={...s&&typeof s=="object"?s:{},score:rI(e),scoreOffset:e.attentionScoreOffset??0,rationale:e.attentionRationale??[]},o=t?.metadata?.episode,a=e.toolFamily??(typeof t?.metadata?.toolFamily=="string"?t.metadata.toolFamily:void 0),c=e.episodeId?{...o&&typeof o=="object"?o:{},id:e.episodeId,key:e.episodeKey,state:e.episodeState,size:e.episodeSize??1,evidenceScore:e.episodeEvidenceScore??0,evidenceReasons:e.episodeEvidenceReasons??[],lastInteractionId:e.interactionId,updatedAt:e.timestamp}:o,u=t?.metadata?.semantic,p=e.relationHints?.length?{...u&&typeof u=="object"?u:{},relationHints:e.relationHints}:u;return{id:n?t.id:`frame:${e.interactionId}`,taskId:e.taskId,interactionId:e.interactionId,...e.source!==void 0?{source:e.source}:{},version:(t?.version??0)+1,mode:e.mode,tone:e.tone,consequence:e.consequence,title:e.title,responseSpec:e.responseSpec,timing:{createdAt:t?.timing.createdAt??e.timestamp,updatedAt:e.timestamp},metadata:{...t?.metadata??{},attention:i,...a!==void 0?{toolFamily:a}:{},...p?{semantic:p}:{},...c?{episode:c}:{}},...e.summary!==void 0?{summary:e.summary}:{},...e.context!==void 0?{context:e.context}:{},...e.provenance!==void 0?{provenance:e.provenance}:{}}}},Zv=1800*1e3,Qm=256,Jv=1440*6e4,Xv=1024,Qv=class{byTaskId=new Map;clock;taskRetentionMs;maxTrackedTasks;latestObservedAtMs=null;prunedTasks=0;constructor(e={}){this.clock=e.clock??Es(),this.taskRetentionMs=e.taskRetentionMs??Jv,this.maxTrackedTasks=e.maxTrackedTasks??Xv}record(e){let n=[...this.byTaskId.get(e.taskId)??[],e];this.byTaskId.set(e.taskId,n.length>Qm?n.slice(-Qm):n);let s=this.clock.parse(e.timestamp);s!==null&&(this.latestObservedAtMs===null||s>this.latestObservedAtMs)&&(this.latestObservedAtMs=s),this.prune()}list(e){return e!==void 0?[...this.byTaskId.get(e)??[]]:[...this.byTaskId.values()].flat().sort((t,n)=>t.timestamp.localeCompare(n.timestamp))}summarize(e){return Ng(this.list(e),this.clock)}stats(){let e=0,t=null,n=null;for(let s of this.byTaskId.values()){e+=s.length;let i=s[0]?.timestamp??null,o=s[s.length-1]?.timestamp??null;i&&(t===null||i<t)&&(t=i),o&&(n===null||o>n)&&(n=o)}return{taskCount:this.byTaskId.size,signalCount:e,oldestSignalAt:t,latestSignalAt:n,taskRetentionMs:this.taskRetentionMs,maxTrackedTasks:this.maxTrackedTasks,prunedTasks:this.prunedTasks}}prune(){if(this.latestObservedAtMs!==null)for(let[n,s]of this.byTaskId.entries()){let i=s[s.length-1],o=i?this.clock.parse(i.timestamp):null;o!==null&&this.latestObservedAtMs-o>this.taskRetentionMs&&(this.byTaskId.delete(n),this.prunedTasks+=1)}if(this.byTaskId.size<=this.maxTrackedTasks)return;let e=this.byTaskId.size-this.maxTrackedTasks,t=[...this.byTaskId.entries()].map(([n,s])=>({taskId:n,latestAt:s[s.length-1]?.timestamp??""})).sort((n,s)=>n.latestAt.localeCompare(s.latestAt)).slice(0,e);for(let n of t)this.byTaskId.delete(n.taskId),this.prunedTasks+=1}};function Ng(e,t=Es()){let n=ek(e,t),s={presented:0,viewed:0,responded:0,dismissed:0,deferred:0,contextExpanded:0,contextSkipped:0,timedOut:0,returned:0,attentionShifted:0},i={next:0,suppressed:0,manual:0},o=0,a=0,c=0,u=0;for(let p of n)switch(p.kind){case"presented":s.presented+=1;break;case"viewed":s.viewed+=1;break;case"responded":s.responded+=1,p.latencyMs!==void 0&&(o+=p.latencyMs,a+=1);break;case"dismissed":s.dismissed+=1,p.latencyMs!==void 0&&(c+=p.latencyMs,u+=1);break;case"deferred":s.deferred+=1,p.reason!==void 0&&(i[p.reason]+=1);break;case"context_expanded":s.contextExpanded+=1;break;case"context_skipped":s.contextSkipped+=1;break;case"timed_out":s.timedOut+=1;break;case"returned":s.returned+=1;break;case"attention_shifted":s.attentionShifted+=1;break}return{recentSignals:n.length,lifetimeSignals:e.length,counts:s,deferred:i,responseRate:s.presented>0?s.responded/s.presented:0,dismissalRate:s.presented>0?s.dismissed/s.presented:0,averageResponseLatencyMs:a>0?Math.round(o/a):null,averageDismissalLatencyMs:u>0?Math.round(c/u):null,lastSignalAt:e.length>0?e[e.length-1]?.timestamp??null:null}}function ek(e,t){let n=e.slice(-32),s=n[n.length-1]?.timestamp;if(s===void 0)return n;let i=t.parse(s);if(i===null)return n;let o=n.filter(a=>{let c=t.parse(a.timestamp);return c===null?!0:i-c<=Zv});return o.length>0?o:n}function Zc(e){return ol(e)}function tk(e){return mg(e)}function pl(e){return e.mode==="status"?Zc(e):e.mode!=="approval"||e.activityClass!==void 0&&e.activityClass!=="permission_request"?null:tk(e)}function ys(e){return e?e.kind??e.id:null}function Lg(e,t,n){let s=rk(e,t),i=sk(e,t),o=ik(e,t);return{...e,version:tt,updatedAt:n,sessionCount:e.sessionCount+1,...Object.keys(s).length>0?{toolFamilies:s}:{},...Object.keys(i).length>0?{sourceTrust:i}:{},...Object.keys(o).length>0?{consequenceProfiles:o}:{}}}function Qn(e){let t={consequence:e.consequence},n=Mg(e);n&&(t.toolFamily=n);let s=ys(e.source);s&&(t.sourceKey=s);let i=e.metadata?.episode;return i&&typeof i=="object"&&!Array.isArray(i)&&(t.episode=i),t}function nk(e){let t={consequence:e.consequence},n=Mg(e);n&&(t.toolFamily=n);let s=ys(e.source);return s&&(t.sourceKey=s),t}function Mg(e){return pl(e)}function rk(e,t){let n={...e.toolFamilies??{}},s=new Map,i=new Map;for(let o of t){let a=Ss(o.metadata,"toolFamily");if(!a)continue;let c=`${a}::${o.interactionId}`,u=i.get(c)??{toolFamily:a,presented:!1,responded:!1,dismissed:!1,contextExpanded:!1,deferred:!1,returned:!1};switch(o.kind){case"presented":u.presented=!0;break;case"responded":u.responded=!0,u.dismissed=!1,o.latencyMs!==void 0&&(u.responseLatencyMs=o.latencyMs);break;case"dismissed":u.responded||(u.dismissed=!0,o.latencyMs!==void 0&&(u.dismissalLatencyMs=o.latencyMs));break;case"context_expanded":u.contextExpanded=!0;break;case"deferred":u.deferred=!0;break;case"returned":u.returned=!0;break}i.set(c,u)}for(let o of i.values()){let a=s.get(o.toolFamily)??{presentations:0,responses:0,dismissals:0,responseLatencyTotal:0,responseLatencyCount:0,dismissalLatencyTotal:0,dismissalLatencyCount:0,contextExpanded:0,deferrals:0,returns:0};(o.presented||o.responded||o.dismissed)&&(a.presentations+=1),o.responded?(a.responses+=1,o.responseLatencyMs!==void 0&&(a.responseLatencyTotal+=o.responseLatencyMs,a.responseLatencyCount+=1)):o.dismissed&&(a.dismissals+=1,o.dismissalLatencyMs!==void 0&&(a.dismissalLatencyTotal+=o.dismissalLatencyMs,a.dismissalLatencyCount+=1)),o.contextExpanded&&(a.contextExpanded+=1),o.deferred&&(a.deferrals+=1,o.returned&&(a.returns+=1)),s.set(o.toolFamily,a)}for(let[o,a]of s.entries()){let c=n[o]??{presentations:0,responses:0,dismissals:0},u=c.presentations+a.presentations,p=c.responses+a.responses,m=c.dismissals+a.dismissals,h=a.responseLatencyCount>0?a.responseLatencyTotal/a.responseLatencyCount:void 0,f=a.dismissalLatencyCount>0?a.dismissalLatencyTotal/a.dismissalLatencyCount:void 0,b=c.contextExpansionRate!==void 0?c.contextExpansionRate*c.presentations:0,v=a.contextExpanded;n[o]={presentations:u,responses:p,dismissals:m,...h!==void 0?{avgResponseLatencyMs:eg(c.avgResponseLatencyMs,c.responses,h,a.responseLatencyCount)}:c.avgResponseLatencyMs!==void 0?{avgResponseLatencyMs:c.avgResponseLatencyMs}:{},...f!==void 0?{avgDismissalLatencyMs:eg(c.avgDismissalLatencyMs,c.dismissals,f,a.dismissalLatencyCount)}:c.avgDismissalLatencyMs!==void 0?{avgDismissalLatencyMs:c.avgDismissalLatencyMs}:{},...u>0?{contextExpansionRate:Jc((b+v)/u)}:c.contextExpansionRate!==void 0?{contextExpansionRate:c.contextExpansionRate}:{},...a.deferrals>0?{returnAfterDeferralRate:Jc(a.returns/a.deferrals)}:c.returnAfterDeferralRate!==void 0?{returnAfterDeferralRate:c.returnAfterDeferralRate}:{}}}return n}function sk(e,t){let n=structuredClone(e.sourceTrust??{}),s=new Map;for(let i of t){let o=Ss(i.metadata,"sourceKey"),a=Ss(i.metadata,"consequence");if(!o||a!=="low"&&a!=="medium"&&a!=="high")continue;let c=`${o}::${a}::${i.interactionId}`,u=s.get(c)??{source:o,consequence:a,responded:!1,rejected:!1,dismissed:!1};i.kind==="responded"?(u.responded=!0,u.dismissed=!1,u.rejected=i.responseKind==="rejected"):i.kind==="dismissed"&&(u.responded||(u.dismissed=!0)),s.set(c,u)}for(let i of s.values()){let o=n[i.source]?.[i.consequence]??{confirmations:0,disagreements:0,trustAdjustment:0};i.responded?i.rejected?o.disagreements+=1:o.confirmations+=1:i.dismissed&&(o.disagreements+=1);let a=o.confirmations+o.disagreements;o.trustAdjustment=a>0?Math.round((o.confirmations-o.disagreements)/a*10*Math.min(a/5,1)):0,n[i.source]={...n[i.source]??{},[i.consequence]:o}}return n}function ik(e,t){let n={...e.consequenceProfiles??{}},s=new Map;for(let o of t){let a=Ss(o.metadata,"consequence");a!=="low"&&a!=="medium"&&a!=="high"||o.kind==="responded"&&s.set(`${a}::${o.interactionId}`,{consequence:a,rejected:o.responseKind==="rejected"})}let i=new Map;for(let o of s.values()){let a=i.get(o.consequence)??{reviewed:0,rejected:0};a.reviewed+=1,o.rejected&&(a.rejected+=1),i.set(o.consequence,a)}for(let[o,a]of i.entries()){let c=n[o]??{rejectionRate:0,reviewedCount:0},u=(c.reviewedCount??0)+a.reviewed;n[o]={rejectionRate:u>0?Jc(((c.reviewedCount??0)*c.rejectionRate+a.rejected)/u):0,reviewedCount:u}}return n}function Ss(e,t){let n=e?.[t];return typeof n=="string"&&n.length>0?n:null}function Jc(e){return Math.round(e*1e3)/1e3}function eg(e,t,n,s){let i=t+s;if(i<=0)return Math.round(n);let o=(e??0)*t,a=n*s;return Math.round((o+a)/i)}function ok(e,t,n,s="present",i){if(s==="absent")return Dg();let o=W.attentionBudget,a=ak(e,i),c=a?(e?.counts.responded??0)+(e?.counts.dismissed??0)+(e?.counts.deferred??0)+(e?.counts.contextExpanded??0)+(e?.counts.contextSkipped??0):0,u=a?e?.counts.deferred??0:0,p=a?e?.averageResponseLatencyMs??null:null,m=t?.metrics.interruptiveVisible??0,h=n??"monitoring",f=t?.level??"steady",b=[],v=0;return f==="high"?(v+=2,b.push("current pressure is already high")):f==="elevated"&&(v+=1,b.push("current pressure is elevated")),h==="overloaded"?(v+=2,b.push("recent operator behavior indicates overload")):(h==="hesitating"||h==="avoiding")&&(v+=1,b.push("recent operator behavior suggests attention is already strained")),c>=o.recentDecisions.highCount?(v+=2,b.push("recent decision volume is high")):c>=o.recentDecisions.elevatedCount&&(v+=1,b.push("recent decision volume is climbing")),p!==null&&p>=o.responseLatencyMs.high?(v+=2,b.push("recent decision latency is slow")):p!==null&&p>=o.responseLatencyMs.elevated&&(v+=1,b.push("recent decision latency is rising")),u>=o.deferredCount.high?(v+=2,b.push("recent deferrals are accumulating")):u>=o.deferredCount.elevated&&(v+=1,b.push("recent deferrals suggest growing burden")),m>=o.interruptiveVisible.high?(v+=2,b.push("multiple interruptive frames are already visible")):m>=o.interruptiveVisible.elevated&&(v+=1,b.push("interruptive work is already visible")),{level:v>=o.scoreBands.highScore?"high":v>=o.scoreBands.elevatedScore?"elevated":"light",thresholdOffset:v>=o.scoreBands.highScore?o.thresholdOffset.high:v>=o.scoreBands.elevatedScore?o.thresholdOffset.elevated:0,metrics:{recentDecisions:c,deferredCount:u,averageResponseLatencyMs:p,interruptiveVisible:m,pressureLevel:f,attentionState:h},reasons:b}}function ak(e,t){let n=e?.lastSignalAt;if(!n||t===void 0)return!0;let s=Date.parse(n),i=ck(t);return Number.isNaN(s)||i===null?!0:i-s<=W.pressureForecast.freshness.residualMs}function ck(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(e instanceof Date){let n=e.getTime();return Number.isFinite(n)?n:null}let t=Date.parse(e);return Number.isNaN(t)?null:t}function Dg(){return{level:"light",thresholdOffset:0,metrics:{recentDecisions:0,deferredCount:0,averageResponseLatencyMs:null,interruptiveVisible:0,pressureLevel:"steady",attentionState:"monitoring"},reasons:[]}}function lk(e,t,n){let s=mk(t),i=[],o=0,a=W.pressureForecast,c=uk(e,n),u=c===null||c<=a.freshness.demandMs,p=c===null||c<=a.freshness.residualMs,m=u?(e?.counts.presented??0)+(e?.counts.deferred??0)+(e?.counts.returned??0):0,h=p?e?.averageResponseLatencyMs??null:null,f=p?e?.counts.deferred??0:0,b=p?e?.deferred.suppressed??0:0,v=p?e?.responseRate??0:0,N=p?e?.counts.presented??0:0;return s>=a.visibleInterruptiveBoost.highCount?(o+=2,i.push("multiple interruptive frames are already visible")):s>=a.visibleInterruptiveBoost.elevatedCount&&(o+=1,i.push("interruptive work is already visible")),m>=a.recentDemand.highCount?(o+=2,i.push("incoming demand is arriving quickly")):m>=a.recentDemand.elevatedCount&&(o+=1,i.push("incoming demand is climbing")),h!==null&&h>=a.responseLatencyMs.high?(o+=2,i.push("recent response latency is slow")):h!==null&&h>=a.responseLatencyMs.elevated&&(o+=1,i.push("recent response latency is rising")),b>=a.deferredPressure.highSuppressedCount||f>=a.deferredPressure.highDeferredCount?(o+=2,i.push("recent deferrals suggest operator capacity is tightening")):(b>=a.deferredPressure.elevatedSuppressedCount||f>=a.deferredPressure.elevatedDeferredCount)&&(o+=1,i.push("recent deferrals suggest operator capacity is tightening")),N>=a.slowClearance.presentedCount&&v<=a.slowClearance.responseRate&&(o+=1,i.push("presented work is being cleared slowly")),{level:o>=a.scoreBands.highLevel?"high":o>=a.scoreBands.elevatedLevel?"elevated":"steady",overloadRisk:o>=a.scoreBands.highRisk?"high":o>=a.scoreBands.risingRisk?"rising":"low",score:o,metrics:{recentDemand:m,interruptiveVisible:s,averageResponseLatencyMs:h,deferredCount:f,suppressedCount:b},reasons:i}}function uk(e,t){let n=e?.lastSignalAt;if(!n||t===void 0)return null;let s=Date.parse(n),i=dk(t);return Number.isNaN(s)||i===null?null:Math.max(0,i-s)}function dk(e){if(typeof e=="number")return Number.isFinite(e)?e:null;if(e instanceof Date){let n=e.getTime();return Number.isFinite(n)?n:null}let t=Date.parse(e);return Number.isNaN(t)?null:t}function pk(){return{level:"steady",overloadRisk:"low",score:0,metrics:{recentDemand:0,interruptiveVisible:0,averageResponseLatencyMs:null,deferredCount:0,suppressedCount:0},reasons:[]}}function mk(e){return e?[e.now,...e.next].filter(t=>t!==null).filter(gk).length:0}function gk(e){return e.mode!=="status"||e.consequence==="high"||e.tone==="critical"}var bs={topology:{supportsAmbient:!0},responses:{supportsSingleChoice:!0,supportsMultipleChoice:!1,supportsForm:!0,supportsTextResponse:!1}};function tg(e={}){let t=e.taskSignalSummary??Xc();return{currentFrame:e.currentFrame??null,currentTaskView:e.currentTaskView??hk(),currentEpisode:e.currentEpisode??null,attentionView:e.attentionView??yk(),taskSignalSummary:t,continuitySignalSummary:e.continuitySignalSummary??t,globalSignalSummary:e.globalSignalSummary??Xc(),taskAttentionState:e.taskAttentionState??"monitoring",globalAttentionState:e.globalAttentionState??"monitoring",pressureForecast:e.pressureForecast??pk(),attentionBurden:e.attentionBurden??Dg(),surfaceCapabilities:e.surfaceCapabilities?{topology:{...e.surfaceCapabilities.topology},responses:{...e.surfaceCapabilities.responses}}:{topology:{...bs.topology},responses:{...bs.responses}},operatorPresence:e.operatorPresence??"present"}}function As(e={}){return{...e.currentFrame!==void 0?{currentFrame:e.currentFrame}:{},...e.currentTaskView!==void 0?{currentTaskView:e.currentTaskView}:{},...e.currentEpisode!==void 0?{currentEpisode:e.currentEpisode}:{},...e.attentionView!==void 0?{attentionView:e.attentionView}:{},...e.taskSignalSummary!==void 0?{taskSignalSummary:e.taskSignalSummary}:{},...e.continuitySignalSummary!==void 0?{continuitySignalSummary:e.continuitySignalSummary}:{},...e.globalSignalSummary!==void 0?{globalSignalSummary:e.globalSignalSummary}:{},...e.taskAttentionState!==void 0?{taskAttentionState:e.taskAttentionState}:{},...e.globalAttentionState!==void 0?{globalAttentionState:e.globalAttentionState}:{},...e.pressureForecast!==void 0?{pressureForecast:e.pressureForecast}:{},...e.attentionBurden!==void 0?{attentionBurden:e.attentionBurden}:{},...e.surfaceCapabilities!==void 0?{surfaceCapabilities:e.surfaceCapabilities}:{},...e.operatorPresence!==void 0?{operatorPresence:e.operatorPresence}:{}}}function ml(e,t={},n){let s=As(t);if(fk(s))return s.currentFrame===e?s:tg({...s,currentFrame:e});let i=s.globalSignalSummary??Xc(),o=s.pressureForecast??lk(i,s.attentionView,n),a=s.operatorPresence??"present";return tg({...s,currentFrame:e,globalSignalSummary:i,pressureForecast:o,attentionBurden:s.attentionBurden??ok(i,o,s.globalAttentionState,a,n),operatorPresence:a})}function fk(e){return"currentFrame"in e&&"currentTaskView"in e&&"currentEpisode"in e&&"attentionView"in e&&"taskSignalSummary"in e&&"continuitySignalSummary"in e&&"globalSignalSummary"in e&&"taskAttentionState"in e&&"globalAttentionState"in e&&"pressureForecast"in e&&"attentionBurden"in e&&"surfaceCapabilities"in e&&"operatorPresence"in e&&e.currentFrame!==void 0&&e.currentTaskView!==void 0&&e.currentEpisode!==void 0&&e.attentionView!==void 0&&e.taskSignalSummary!==void 0&&e.continuitySignalSummary!==void 0&&e.globalSignalSummary!==void 0&&e.taskAttentionState!==void 0&&e.globalAttentionState!==void 0&&e.pressureForecast!==void 0&&e.attentionBurden!==void 0&&e.surfaceCapabilities!==void 0&&e.operatorPresence!==void 0}function hk(){return{now:null,next:[],ambient:[]}}function yk(){return{now:null,next:[],ambient:[]}}function Xc(){return{recentSignals:0,lifetimeSignals:0,counts:{presented:0,viewed:0,responded:0,dismissed:0,deferred:0,contextExpanded:0,contextSkipped:0,timedOut:0,returned:0,attentionShifted:0},deferred:{next:0,suppressed:0,manual:0},responseRate:0,dismissalRate:0,averageResponseLatencyMs:null,averageDismissalLatencyMs:null,lastSignalAt:null}}function P(e,t=[]){return{rule:e,kind:"noop",rationale:t}}function ye(e,t,n,s,i){return{rule:e,kind:"override",decision:t,currentPriority:n,currentScore:s,rationale:i}}var Sk=e=>{let{candidate:t,context:n,evidence:s}=e,i=s.attentionView.now??s.currentFrame;if(!i)return P("deferral_escalation");let o=i===s.currentFrame?n.currentScore:Oe(i,{now:t.timestamp});return o===null||t.blocking||t.priority==="background"||jt(i)||!Jn(s.continuitySignalSummary)||n.candidateScore<o-W.queuePlanner.escalationScoreSlack?P("deferral_escalation"):ye("deferral_escalation",{kind:"activate",candidate:t},le(i),o,["repeated deferral or resurfacing makes this task more deserving of current focus"])};function Jn(e){return e.counts.deferred>=W.queuePlanner.deferredEscalationThreshold||e.counts.returned>=W.queuePlanner.returnedEscalationThreshold}var gl=W.queuePlanner;function bk(e,t,n,s){return n.currentFrame?_k(n.currentFrame,e,t,n,s):kk(e,t,n)}function Dt(e,t,n){return{kind:fl(e,t,n),candidate:e}}function Ik(e,t,n,s){return jg(e,n)?{kind:"queue",candidate:e}:Dt(e,t,s)}function Qc(e,t,n,s){return(n.components.deferralAffinity>0||n.components.consequenceCalibration>0)&&t.minimumLane!=="now"?{kind:"queue",candidate:e}:Dt(e,t,s)}function fl(e,t,n=bs){return xg(e,t.minimumLane==="ambient"?"ambient":"queue")==="ambient"&&vk(e,n)?"ambient":"queue"}function vk(e,t){if(!t.topology.supportsAmbient)return!1;switch(e.responseSpec.kind){case"approval":return!0;case"choice":return(e.responseSpec.selectionMode==="multiple"?t.responses.supportsMultipleChoice:t.responses.supportsSingleChoice)&&(!e.responseSpec.allowTextResponse||t.responses.supportsTextResponse);case"form":return t.responses.supportsForm;case"none":return!0}return!1}function kk(e,t,n){let s=[];return Fg(e)?n.pressureForecast.overloadRisk==="high"?(s.push("the episode has become actionable, but predicted overload keeps it in next instead of surfacing it now"),B({kind:"queue",candidate:e},s)):t.policyVerdict.mayInterrupt?(s.push("the episode has accumulated enough evidence to deserve interruptive attention"),B({kind:"activate",candidate:e},s)):(s.push("the episode has become actionable, so it stays visible even though policy still prevents interrupting"),B({kind:"queue",candidate:e},s)):Ug(e,t.policyVerdict,n.pressureForecast)?(s.push("predicted overload keeps lower-value work peripheral before the queue spikes"),B(Qc(e,t.policyVerdict,t.utility,n.surfaceCapabilities),s)):!t.policyVerdict.mayInterrupt&&t.policyVerdict.minimumLane==="ambient"?ll(e)?(s.push("status routing stays non-blocking, but blocked-like semantics keep it visible in next"),B({kind:"queue",candidate:e},s)):(s.push("policy keeps this interaction ambient until stronger context arrives"),B(Dt(e,t.policyVerdict,n.surfaceCapabilities),s)):(s.push("nothing is in now for this task"),B({kind:"activate",candidate:e},s))}function _k(e,t,n,s,i){let o=[],a=Fg(t),c=jt(e),u=le(e),p=n.currentScore;if(a)return c||s.pressureForecast.overloadRisk==="high"?(o.push(c?"the episode has become actionable, but current blocking work keeps it in next":"the episode has become actionable, but predicted overload keeps it in next"),B({kind:"queue",candidate:t},o,u,p)):p!==null&&n.candidateScore<p-gl.actionableEpisodeScoreSlack?(o.push("actionable episode evidence keeps this work visible even though the current frame is still stronger"),B({kind:"queue",candidate:t},o,u,p)):n.policyVerdict.mayInterrupt?(o.push("the episode has accumulated enough evidence to compete for current focus"),B({kind:"activate",candidate:t},o,u,p)):(o.push("the episode has become actionable, so it stays in next even though policy still prevents interrupting"),B({kind:"queue",candidate:t},o,u,p));if(c&&!t.blocking)return Jn(s.continuitySignalSummary)?(o.push("blocking work keeps resurfacing backlog in next so it stays visible until focus can return"),B({kind:"queue",candidate:t},o,u,p)):(o.push("blocking work keeps non-blocking updates in the periphery"),B(Dt(t,n.policyVerdict,s.surfaceCapabilities),o));if(!c&&t.blocking)return o.push("blocking work interrupts non-blocking activity"),B({kind:"activate",candidate:t},o);if(Ug(t,n.policyVerdict,s.pressureForecast))return o.push("predicted overload keeps lower-value work peripheral before the queue spikes"),B(Qc(t,n.policyVerdict,n.utility,s.surfaceCapabilities),o,u,p);if(Ek(t,s.attentionView,t.timestamp,i))return Jn(s.continuitySignalSummary)?(o.push("existing urgent backlog keeps resurfacing work in next so it remains visible"),B({kind:"queue",candidate:t},o,u,p)):(o.push(n.utility.components.deferralAffinity>0?"existing urgent backlog defers this work, but memory keeps it in next because it usually returns after deferral":"existing urgent backlog keeps lower-value status work in next"),B(Qc(t,n.policyVerdict,n.utility,s.surfaceCapabilities),o,u,p));if(p!==null&&n.candidateScore<p)return o.push("current work still outranks the new candidate"),B(Dt(t,n.policyVerdict,s.surfaceCapabilities),o,u,p);if(p!==null&&n.candidateScore===p){let m=ul(t.timestamp,e.timing.updatedAt);if(m!==null&&m<0)return o.push("older work yields when scores tie"),B(Dt(t,n.policyVerdict,s.surfaceCapabilities),o,u,p)}return o.push("new work outranks the current frame"),B({kind:"activate",candidate:t},o,u,p)}function B(e,t,n=null,s=null){return{decision:e,currentPriority:n,currentScore:s,reasons:t}}function Ek(e,t,n,s){return s?.deferLowValueDuringPressure===!1||e.blocking||e.consequence==="high"||e.tone==="critical"||!t?!1:jg(e,t)?!0:[t.now,...t.next].filter(o=>o!==null).filter(o=>o.interactionId===e.interactionId?!1:jt(o)||o.consequence==="high"||o.tone==="critical").filter(o=>{let a=ul(n,o.timing.updatedAt);return a===null?!0:a<=gl.urgentBacklogWindowMs}).length>=2}function Ug(e,t,n){return n.overloadRisk==="low"||e.blocking||t.requiresOperatorResponse||t.minimumLane==="now"||e.consequence==="high"||e.tone==="critical"?!1:n.overloadRisk==="high"?!0:e.mode==="status"||e.priority==="background"||e.consequence==="low"}function Fg(e){return!e.blocking&&e.episodeState==="actionable"&&(e.episodeEvidenceScore??0)>=gl.actionableEpisodeEvidenceThreshold}function jg(e,t){return e.episodeId!==void 0&&[t?.now,...t?.next??[]].filter(n=>n!==null).some(n=>n.interactionId!==e.interactionId&&Lt(n)===e.episodeId&&!Ve(Mt(n)))}var Ak=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,plannerDefaults:a,routed:c}=e;if(!t||c.decision.kind!=="activate"||a?.batchStatusBursts===!1||t.taskId!==n.taskId||t.mode!=="status"||n.mode!=="status"||n.blocking||n.consequence==="high"||n.tone==="critical")return P("burst_dampening");let u=Date.parse(t.timing.updatedAt),p=Date.parse(n.timestamp);return Number.isNaN(u)||Number.isNaN(p)||p-u>W.queuePlanner.statusBurstWindowMs?P("burst_dampening"):ye("burst_dampening",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`rapid successive updates within ${p-u}ms stay bundled instead of stealing focus`])},Pe={STATUS_ONLY:0,NON_STATUS:1,CRITICAL_CONSEQUENCE:2,BLOCKING_OR_REQUIRED:3},wk=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,routed:a,plannerDefaults:c}=e;if(!t||a.decision.kind!=="activate"||s.currentScore===null)return P("conflicting_interrupt");let u=xk(t),p=Tk(n,s.policyVerdict);if(u===Pe.STATUS_ONLY||p===Pe.STATUS_ONLY||p>u)return P("conflicting_interrupt");if(p<u)return ye("conflicting_interrupt",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,["the current interrupt is more urgent, so the challenger waits instead of stealing focus"]);let m=c?.conflictingInterruptMargin??W.queuePlanner.conflictingInterruptMargin;return m<=0||s.candidateScore>=s.currentScore+m?P("conflicting_interrupt"):ye("conflicting_interrupt",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,["equally interruptive work needs a clear advantage before it can replace the current interrupt"])};function xk(e){return e.mode!=="status"&&e.responseSpec?.kind!=="none"?Pe.BLOCKING_OR_REQUIRED:e.tone==="critical"||e.consequence==="high"?Pe.CRITICAL_CONSEQUENCE:e.mode!=="status"?Pe.NON_STATUS:Pe.STATUS_ONLY}function Tk(e,t){return e.blocking||t.requiresOperatorResponse||t.minimumLane==="now"?Pe.BLOCKING_OR_REQUIRED:e.tone==="critical"||e.consequence==="high"?Pe.CRITICAL_CONSEQUENCE:e.mode!=="status"?Pe.NON_STATUS:Pe.STATUS_ONLY}var Rk=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o}=e;if(!t||s.currentScore===null||n.blocking||jt(t)||n.consequence==="high"||n.tone==="critical"||s.candidateScore<=s.currentScore)return P("context_patience");let{contextCost:a}=s.utility.components,c=a<=-6?W.queuePlanner.highContextQueueMargin:a<=-3?W.queuePlanner.mediumContextQueueMargin:null;if(c===null||s.candidateScore>=s.currentScore+c)return P("context_patience");let u=s.candidateScore-s.currentScore;return ye("context_patience",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`memory suggests this interaction usually needs context, so it stays peripheral until it clears the ${c}-point margin (gap: ${u})`])},Ck=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,routed:a,plannerDefaults:c}=e;if(!t||a.decision.kind!=="activate"||s.currentScore===null||n.blocking||n.consequence==="high"||n.tone==="critical"||t.consequence==="high"||t.tone==="critical"||Pk(t,n))return P("decision_stream_continuity");let u=c?.streamContinuityMargin??W.queuePlanner.streamContinuityMargin;if(u<=0||s.candidateScore>=s.currentScore+u)return P("decision_stream_continuity");let p=s.candidateScore-s.currentScore;return ye("decision_stream_continuity",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`the current decision stream stays active until cross-stream work clears the ${u}-point margin (gap: ${p})`])};function Pk(e,t){let n=ys(e.source),s=ys(t.source);if(n&&s&&n!==s)return!1;if(n&&s&&n===s)return!0;let i=Zc(e),o=Zc(t);return i&&o&&i!==o?!1:!!(i&&o&&i===o||e.taskId===t.taskId)}var Ok=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o,routed:a,plannerDefaults:c}=e;if(!t||a.decision.kind!=="activate"||n.blocking||n.consequence==="high"||n.tone==="critical")return P("minimum_dwell");let u=c?.minimumDwellMs??W.queuePlanner.minimumDwellMs;if(u<=0)return P("minimum_dwell");let p=Date.parse(t.timing.updatedAt),m=Date.parse(n.timestamp);if(Number.isNaN(p)||Number.isNaN(m)||m-p>=u)return P("minimum_dwell");let h=u-(m-p);return ye("minimum_dwell",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,[`recently surfaced work keeps focus for another ${h}ms to avoid a premature switch`])},Nk=e=>{let t=e.evidence.currentFrame,{candidate:n,context:s,evidence:i,helpers:o}=e;if(!t||!n.episodeId)return P("same_episode");let a=Lt(t);return!a||a!==n.episodeId||Ve(Mt(t))?P("same_episode"):n.blocking&&!jt(t)?ye("same_episode",{kind:"activate",candidate:n},le(t),s.currentScore,["the current episode has progressed into an interruptive step that belongs in now"]):n.blocking&&Cg(n.relationHints,"supersedes")&&Ag(n)!=="weak"?ye("same_episode",{kind:"activate",candidate:n},le(t),s.currentScore,["the current episode has advanced to a superseding step that belongs in now"]):Jn(i.continuitySignalSummary)?P("same_episode"):ye("same_episode",o.peripheralDecision(n,s.policyVerdict,i.surfaceCapabilities),le(t),s.currentScore,["related work stays bundled with the current episode already in now"])},Lk=e=>{let t=e.evidence.currentFrame;return!t||t.interactionId!==e.candidate.interactionId?P("same_interaction"):ye("same_interaction",{kind:"activate",candidate:e.candidate},null,null,["same interaction refreshes the existing frame"])},Mk=e=>{let{candidate:t,context:n,evidence:s,helpers:i}=e;if(!t.episodeId||t.blocking||t.consequence==="high"||t.tone==="critical")return P("visible_episode");let o=[s.attentionView.now,...s.attentionView.next,...s.attentionView.ambient].filter(a=>a!==null).filter(a=>a.interactionId!==t.interactionId&&Lt(a)===t.episodeId&&!Ve(Mt(a)));return o.length===0||!(t.episodeState==="batched"||(t.episodeSize??1)>=2||o.length>=2)||Jn(s.continuitySignalSummary)?P("visible_episode"):ye("visible_episode",i.batchedDecision(t,n.policyVerdict,s.attentionView,s.surfaceCapabilities),null,s.currentFrame?n.currentScore:null,[s.currentFrame?"related episode work is already building in the queue, so this interaction stays bundled with it":"related episode work is already visible, so this interaction batches with it instead of interrupting"])},Dk=[Mk,Nk,Ok,Ak,Lk,Sk,wk,Ck,Rk],qg=class{plannerDefaults;constructor(e={}){this.plannerDefaults=e.plannerDefaults}explain(e,t,n){let s=this.resolveEvidenceContext(e,n,t.timestamp),i=bk(t,n,s,this.plannerDefaults);return this.applyContinuity(t,n,s,i)}clear(){return{kind:"clear"}}preferredPeripheralBucket(e,t,n){return fl(e,t,n)}applyContinuity(e,t,n,s){let i=new Set(this.plannerDefaults?.disabledContinuityRules??[]),o=Dk.map(c=>{let u=c({candidate:e,context:t,evidence:n,routed:s,plannerDefaults:this.plannerDefaults,helpers:{peripheralDecision:Dt,batchedDecision:Ik}});return i.has(u.rule)?P(u.rule,[`operator disabled the ${u.rule} continuity rule`]):u}),a=o.find(c=>c.kind==="override");return a?{decision:a.decision,currentPriority:a.currentPriority,currentScore:a.currentScore,reasons:[...s.reasons,...a.rationale],continuityEvaluations:o}:{...s,continuityEvaluations:o}}resolveEvidenceContext(e,t,n){return ml(e,As(t),Zn(n)??0)}},Uk=class{runtime;constructor(e){this.runtime=e}assemble(e,t){let n=this.runtime.signals.summarize(e),s=this.runtime.signals.summarize(),i=Pt(n),o=Pt(s),a=this.runtime.getTaskView(e),c=this.runtime.getAttentionView(),u=this.runtime.getOperatorPresence();return ml(t,As({currentFrame:t,currentTaskView:a,currentEpisode:this.runtime.episodes.readFrameEpisode(t),attentionView:c,taskSignalSummary:n,continuitySignalSummary:n,globalSignalSummary:s,taskAttentionState:i,globalAttentionState:o,surfaceCapabilities:this.runtime.getSurfaceCapabilities(),operatorPresence:u}),this.runtime.clock.nowMs())}augmentContinuitySignalSummary(e,t,n){let s=this.resolveContinuitySignalSummary(e,t,n.taskSignalSummary);return s===n.taskSignalSummary?n:{...n,continuitySignalSummary:s}}resolveContinuitySignalSummary(e,t,n){if(!t.episodeId)return n;let s=this.runtime.signals.list(e),i=this.runtime.signals.list().filter(o=>o.taskId!==e&&Fk(o)===t.episodeId);return i.length===0?n:Ng([...s,...i].sort((o,a)=>o.timestamp.localeCompare(a.timestamp)))}};function Fk(e){let t=e.metadata?.episode;if(!t||typeof t!="object"||Array.isArray(t))return null;let n=t.id;return typeof n=="string"&&n.length>0?n:null}var $g=class extends Error{code;constructor(e,t){super(t),this.name=new.target.name,this.code=e}},he=class extends $g{field;constructor(e,t={}){super(t.code??"validation_error",e),this.field=t.field}},jk=class extends $g{taskId;interactionId;expiredAt;constructor(e){super("response_expired",`response for interaction ${e.interactionId} expired at ${e.expiredAt} and must be revalidated before submission`),this.taskId=e.taskId,this.interactionId=e.interactionId,this.expiredAt=e.expiredAt}};function qk(e,t,n){let s=Kk(e,n),i={taskId:e.taskId,interactionId:e.interactionId,timestamp:n,frameId:e.id,...e.source!==void 0?{source:e.source}:{},metadata:Qn(e)};return t.response.kind==="dismissed"?{kind:"dismissed",...i,...s!==void 0?{latencyMs:s}:{}}:{kind:"responded",...i,responseKind:t.response.kind,...s!==void 0?{latencyMs:s}:{}}}function $k(e,t,n){return{kind:"responded",taskId:e.taskId,interactionId:e.interactionId,timestamp:n,...e.source!==void 0?{source:e.source}:{},responseKind:t.response.kind==="dismissed"?"acknowledged":t.response.kind,metadata:{...nk(e),autoResolved:!0}}}function Hc(e,t,n=e){return{kind:"deferred",taskId:n.taskId,interactionId:n.interactionId,timestamp:e.timing.updatedAt,frameId:e.id,...n.source!==void 0?{source:n.source}:{},reason:t,metadata:Qn(e)}}function Bk(e,t,n){let s=e.now,i=t.now;return i?[...Hk(s,i,n),...Vk(e,i,n)]:[]}function ds(e,t,n,s,i,o={}){return{kind:e,taskId:t,interactionId:n,timestamp:s,...i?.id!==void 0?{frameId:i.id}:{},...i?.source!==void 0?{source:i.source}:{},...i?{metadata:Qn(i)}:{},...o.surface!==void 0?{surface:o.surface}:{},...e==="context_expanded"&&o.section!==void 0?{section:o.section}:{},...e==="context_skipped"&&o.section!==void 0?{section:o.section}:{},...e==="timed_out"&&o.timeoutMs!==void 0?{timeoutMs:o.timeoutMs}:{}}}function Hk(e,t,n){if(!e||el(e,t))return[];let s={kind:"attention_shifted",taskId:t.taskId,interactionId:t.interactionId,timestamp:n,frameId:t.id,...t.source!==void 0?{source:t.source}:{},fromInteractionId:e.interactionId,toInteractionId:t.interactionId};return e.taskId===t.taskId?[s]:[s,{kind:"attention_shifted",taskId:e.taskId,interactionId:e.interactionId,timestamp:n,frameId:e.id,...e.source!==void 0?{source:e.source}:{},fromInteractionId:e.interactionId,toInteractionId:t.interactionId}]}function Vk(e,t,n){let s=e.next.some(i=>el(i,t))?"next":e.ambient.some(i=>el(i,t))?"ambient":null;return s?[{kind:"returned",taskId:t.taskId,interactionId:t.interactionId,timestamp:n,frameId:t.id,...t.source!==void 0?{source:t.source}:{},from:s,metadata:Qn(t)}]:[]}function Kk(e,t){let n=Date.parse(e.timing.updatedAt),s=Date.parse(t);if(!(Number.isNaN(n)||Number.isNaN(s)))return Math.max(0,s-n)}function el(e,t){return e.id===t.id||e.taskId===t.taskId&&e.interactionId===t.interactionId}var zk=class{runtime;constructor(e){this.runtime=e}commitFrame(e,t=[]){let n=this.runtime.getAttentionView(),s=new Set;for(let a of t){let c=`${a.taskId}::${a.interactionId}`;if(s.has(c))continue;s.add(c);let u=this.runtime.taskViews.discard(a.taskId,a.interactionId);a.taskId!==e.taskId&&(this.runtime.notifyFrame(a.taskId,u.now),this.runtime.notifyTaskView(a.taskId,u))}let i=this.runtime.taskViews.setNow(e.taskId,e),o=this.runtime.getAttentionView();return this.recordAttentionTransition(n,o,e.timing.updatedAt),this.runtime.recordSignal({kind:"presented",taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timing.updatedAt,frameId:e.id,...e.source!==void 0?{source:e.source}:{},metadata:Qn(e)}),this.runtime.notifyFrame(e.taskId,e),this.runtime.notifyTaskView(e.taskId,i),this.runtime.notifyAttentionView(),e}applyClear(e){let t=this.runtime.getAttentionView(),n=this.runtime.taskViews.get(e);if(!(n.now!==null||n.next.length>0||n.ambient.length>0))return null;for(let a of[n.now,...n.next,...n.ambient])a&&this.runtime.episodes.resolveInteraction(a.interactionId);this.runtime.clearOperatorEngagement(e);let i=this.runtime.taskViews.clear(e),o=this.runtime.getAttentionView();return this.recordAttentionTransition(t,o,this.runtime.clock.nowIso()),this.runtime.notifyFrame(e,null),this.runtime.notifyTaskView(e,i),this.runtime.notifyAttentionView(),null}queueFrame(e,t){let n=this.runtime.taskViews.addNext(e,t);return this.runtime.recordSignal(Hc(t,"next")),this.runtime.notifyTaskView(e,n),this.runtime.notifyAttentionView(),n.now??t}addAmbientFrame(e,t){let n=this.runtime.taskViews.addAmbient(e,t);return this.runtime.recordSignal(Hc(t,"suppressed")),this.runtime.notifyTaskView(e,n),this.runtime.notifyAttentionView(),n.now??t}materializePeripheralFrame(e,t,n){let s=e.episodeId?this.findPeripheralEpisodeFrame(e.episodeId,n):null;if(!s){let p=this.applyResponseExpiry(this.runtime.planner.plan(e,null));return t==="queue"?this.queueFrame(e.taskId,p):this.addAmbientFrame(e.taskId,p)}let i=s.bucket==="queue"||t==="queue"?"queue":"ambient",a={...this.applyResponseExpiry(this.runtime.planner.plan(e,s.frame)),id:s.frame.id},c=this.runtime.taskViews.discard(s.frame.taskId,s.frame.interactionId);this.runtime.notifyTaskView(s.frame.taskId,c);let u=i==="queue"?this.runtime.taskViews.addNext(a.taskId,a):this.runtime.taskViews.addAmbient(a.taskId,a);return this.runtime.recordSignal(Hc(a,i==="queue"?"next":"suppressed",e)),this.runtime.notifyTaskView(a.taskId,u),this.runtime.notifyAttentionView(),a}promotePeripheralEpisodeFrame(e,t){let s={...this.applyResponseExpiry(this.runtime.planner.plan(e,t)),id:t.id};return this.commitFrame(s,[t])}submit(e){let t=this.findFrame(e.taskId,e.interactionId);if(!t)return;let n=this.readExpiredResponseTimestamp(t,this.runtime.clock.nowIso());if(n)throw new jk({taskId:e.taskId,interactionId:e.interactionId,expiredAt:n});let s=this.runtime.getAttentionView(),i=this.runtime.clock.nowIso();this.runtime.clearOperatorEngagement(e.taskId,e.interactionId),this.runtime.recordSignal(qk(t,e,i)),this.runtime.episodes.resolveInteraction(e.interactionId);let o=this.runtime.taskViews.resolve(e.taskId,e.interactionId),a=this.runtime.getAttentionView();this.recordAttentionTransition(s,a,i),this.runtime.notifyFrame(e.taskId,o.now??null),this.runtime.notifyTaskView(e.taskId,o),this.runtime.notifyAttentionView(),this.runtime.emitResponse(e)}applyAutoResponse(e,t){let n=this.runtime.clock.nowIso();return this.runtime.recordSignal($k(e,t,n)),this.runtime.episodes.resolveInteraction(e.interactionId),this.runtime.emitResponse(t),null}findFrameByInteractionId(e,t){return this.findFrame(e,t)}shouldRetireSupersededEpisodeFrames(e,t){return this.findSupersededEpisodeFrames(e,t).length>0}findSupersededEpisodeFrames(e,t){return!e.episodeId||!Cg(e.relationHints,"supersedes")?[]:[t.now,...t.next,...t.ambient].filter(n=>n!==null&&n.interactionId!==e.interactionId&&Lt(n)===e.episodeId&&!Ve(Mt(n)))}applyResponseExpiry(e){if(this.runtime.responseExpiryMs===void 0||e.responseSpec?.kind==="none")return e;let t=this.runtime.clock.add(e.timing.updatedAt,this.runtime.responseExpiryMs);return t===null?e:{...e,timing:{...e.timing,expiresAt:t}}}readExpiredResponseTimestamp(e,t){let n=e.timing.expiresAt;if(!n)return null;let s=this.runtime.clock.parse(n),i=this.runtime.clock.parse(t);return s===null||i===null||i<=s?null:n}findPeripheralEpisodeFrame(e,t){let n=t.next.find(i=>Lt(i)===e&&!Ve(Mt(i)));if(n)return{frame:n,bucket:"queue"};let s=t.ambient.find(i=>Lt(i)===e&&!Ve(Mt(i)));return s?{frame:s,bucket:"ambient"}:null}shouldPromotePeripheralEpisodeFrame(e){return e.continuityEvaluations?.some(t=>t.rule==="deferral_escalation"&&t.kind==="override"&&t.decision?.kind==="activate")??!1}findFrame(e,t){let n=this.runtime.taskViews.get(e);if(n.now?.interactionId===t)return n.now;let s=n.next.find(i=>i.interactionId===t);return s||(n.ambient.find(i=>i.interactionId===t)??null)}recordAttentionTransition(e,t,n){for(let s of Bk(e,t,n))this.runtime.recordSignal(s)}},Wk=12,Gk=class{taskViews=new Map;get(e){return this.taskViews.get(e)??{now:null,next:[],ambient:[]}}setNow(e,t){let n=this.get(e),s=n.next.filter(a=>a.interactionId!==t.interactionId),i=n.now&&n.now.interactionId!==t.interactionId?n.now:null,o={now:t,next:i?[i,...s]:s,ambient:n.ambient.filter(a=>a.interactionId!==t.interactionId)};return this.persist(e,o)}addNext(e,t){return this.upsert(e,"next",t)}addAmbient(e,t){return this.upsert(e,"ambient",t)}clear(e){let t={now:null,next:[],ambient:[]};return this.taskViews.delete(e),t}discard(e,t){let n=this.get(e),s={now:n.now?.interactionId===t?null:n.now,next:n.next.filter(i=>i.interactionId!==t),ambient:n.ambient.filter(i=>i.interactionId!==t)};return this.persist(e,s)}resolve(e,t){let n=this.get(e),s=n.next.filter(c=>c.interactionId!==t),i=n.ambient.filter(c=>c.interactionId!==t),o=n.now;o?.interactionId===t&&(o=s.shift()??null);let a={now:o,next:s,ambient:i};return this.persist(e,a)}upsert(e,t,n){let s=this.get(e),i=s.next.filter(p=>p.interactionId!==n.interactionId),o=s.ambient.filter(p=>p.interactionId!==n.interactionId),u={now:s.now?.interactionId===n.interactionId?i.shift()??null:s.now,next:t==="next"?[n,...i]:i,ambient:t==="ambient"?[n,...o].slice(0,Wk):o};return this.persist(e,u)}values(){return this.taskViews.values()}stats(){let e=0,t=0,n=0;for(let s of this.taskViews.values())s.now&&(e+=1),t+=s.next.length,n+=s.ambient.length;return{taskCount:this.taskViews.size,nowCount:e,nextCount:t,ambientCount:n,totalFrames:e+t+n}}persist(e,t){return Yk(t)?this.taskViews.delete(e):this.taskViews.set(e,t),t}};function Yk(e){return e.now===null&&e.next.length===0&&e.ambient.length===0}var tl=Symbol("aperture.internal.subscribeTrace");function hl(e,t){let n=[];return ms("",e,t,n),n}function ms(e,t,n,s){if(!Object.is(t,n)){if(t==null&&ps(n)){for(let i of Object.keys(n).sort()){let o=e.length>0?`${e}.${i}`:i;ms(o,void 0,n[i],s)}return}if(n==null&&ps(t)){for(let i of Object.keys(t).sort()){let o=e.length>0?`${e}.${i}`:i;ms(o,t[i],void 0,s)}return}if(t===void 0||n===void 0){s.push({path:e,before:t,after:n});return}if(Array.isArray(t)||Array.isArray(n)){s.push({path:e,before:t,after:n});return}if(ps(t)&&ps(n)){let i=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of[...i].sort()){let a=e.length>0?`${e}.${o}`:o;ms(a,t[o],n[o],s)}return}s.push({path:e,before:t,after:n})}}function ps(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}var Zk=class{recordNoop(e){return{...e,evaluation:{kind:"noop"}}}recordClear(e,t){return{...e,evaluation:{kind:"clear",taskId:t}}}recordCandidate(e,t){let{original:n,adjusted:s,explanation:i,result:o}=t,a=e_(e.event,s);return{...e,evaluation:{kind:"candidate",original:n,adjusted:s},candidateTransition:Jk(n,s),frameTransition:Xk(e.current,o),heuristics:{scoreOffset:s.attentionScoreOffset??0,rationale:s.attentionRationale??[]},...a!==void 0?{semantic:a}:{},episode:Qk(s),policy:i.policy,policyRules:{gateEvaluations:i.policyGateEvaluations,criterion:i.criterion,criterionEvaluations:i.policyCriterionEvaluations},utility:{candidate:i.utility,currentScore:i.currentScore,currentPriority:i.currentPriority},planner:{kind:i.decision.kind,reasons:i.reasons,continuityEvaluations:i.continuityEvaluations},coordination:{kind:i.decision.kind,resultLane:s_(e.attentionView,s.taskId,s.interactionId,i.decision.kind),candidateScore:i.candidateScore,currentScore:i.currentScore,currentPriority:i.currentPriority,criterion:i.criterion,ambiguity:i.ambiguity,reasons:i.reasons,continuityEvaluations:i.continuityEvaluations},pressureForecast:i.pressureForecast,attentionBurden:i.attentionBurden,result:o}}};function Jk(e,t){return{changedFields:hl(e,t)}}function Xk(e,t){return{changedFields:hl(e,t)}}function Qk(e){return e.episodeId?{id:e.episodeId,key:e.episodeKey??e.episodeId,state:e.episodeState??"emerging",size:e.episodeSize??1,evidenceScore:e.episodeEvidenceScore??0,evidenceReasons:e.episodeEvidenceReasons??[],lastInteractionId:e.interactionId,updatedAt:e.timestamp}:null}function e_(e,t){let n=e.semantic;if(!n)return;let s=wg(t)??cl(e,n),i=qt(t);return{intentFrame:n.intentFrame,...n.activityClass!==void 0?{activityClass:n.activityClass}:{},...n.toolFamily!==void 0?{toolFamily:n.toolFamily}:{},...n.consequence!==void 0?{consequence:n.consequence}:{},...i?.confidence!==void 0?{confidence:i.confidence}:{},...i?.abstained===!0?{abstained:!0}:{},ontology:s,...n.whyNow!==void 0?{whyNow:n.whyNow}:{},relationHints:n.relationHints,factors:n.factors,reasons:n.reasons,influence:t_(e,t),impact:n_(e,t),...n.provenance!==void 0?{provenance:n.provenance}:{}}}function t_(e,t){let n=e.semantic;if(!n)return[];let s=wg(t)??cl(e,n),i=[];return e.type==="task.updated"?(i.push("task status stayed authoritative for candidate routing; semantic details still affected context, continuity, ambiguity handling, and ontology diagnostics"),"activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&i.push("activity class enriched canonical status facts"),e.toolFamily===n.toolFamily&&n.toolFamily!==void 0&&i.push("tool family enriched canonical status facts without changing the route"),n.relationHints.length>0&&i.push("relation hints informed continuity handling"),s.blocking!=="non_blocking"&&!t.blocking&&i.push(s.blocking==="blocking"?"semantic blocking marked the waiting status as blocked-like for peripheral routing while status handling stayed non-blocking":"semantic waiting stayed diagnostic because status updates still route as non-blocking candidates"),hs(t)?i.push("semantic abstention can keep non-blocking status work peripheral until clearer evidence arrives"):fs(t)==="low"&&i.push("low semantic confidence can keep non-blocking status work peripheral until the signal is clearer"),i):e.type==="human.input.requested"?("activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&i.push("activity class was projected into the canonical request"),e.consequence===n.consequence&&n.consequence!==void 0&&i.push("semantic consequence set the canonical human-input consequence"),n.toolFamily!==void 0&&(e.request.kind==="approval"?i.push("tool family remained decision-bearing on the approval path"):i.push("tool family stayed context-only on the question/form path")),n.relationHints.length>0&&i.push("relation hints informed continuity handling"),hs(t)?i.push(t.blocking?"semantic abstention stayed visible but did not downgrade blocking work":"semantic abstention constrained non-blocking routing"):fs(t)==="low"&&i.push(t.blocking?"semantic low confidence stayed visible but did not downgrade blocking work":"low semantic confidence constrained non-blocking routing"),i.length===0&&i.push("semantic interpretation mostly stayed context-only beyond the explicit request"),i):(i.push("semantic interpretation was recorded for explanation only"),i)}function n_(e,t){let n=e.semantic,s=new Set,i=new Set,o=new Set,a=new Set,c=new Set,u=qt(t),p=r_(e);if(!n)return{routingAuthority:p,decisionBearing:[],explanatory:[],canonical:[],routing:[],continuity:[],ambiguity:[],contextOnly:[]};switch(c.add("intent"),n.activityClass!==void 0&&c.add("activity"),n.toolFamily!==void 0&&c.add("tool"),n.consequence!==void 0&&c.add("consequence"),n.whyNow!==void 0&&c.add("why now"),n.relationHints.length>0&&c.add("relations"),u?.confidence!==void 0&&c.add("confidence"),u?.abstained===!0&&c.add("abstention"),e.type){case"task.updated":"activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&ve(c,s,"activity","activity (canonical)"),n.toolFamily!==void 0&&e.toolFamily===n.toolFamily&&ve(c,s,"tool","tool (bounded)"),n.relationHints.length>0&&ve(c,o,"relations","relations (continuity)"),ll(t)&&ve(c,i,"intent","blocking (peripheral routing)");break;case"human.input.requested":"activityClass"in e&&e.activityClass===n.activityClass&&n.activityClass!==void 0&&ve(c,s,"activity","activity (canonical)"),n.consequence!==void 0&&e.consequence===n.consequence&&ve(c,s,"consequence","consequence (canonical)"),n.toolFamily!==void 0&&e.request.kind==="approval"&&ve(c,s,"tool","tool (approval path)"),n.relationHints.length>0&&ve(c,o,"relations","relations (continuity)");break;default:n.relationHints.length>0&&ve(c,o,"relations","relations (continuity)");break}return!t.blocking&&Rv(t)&&ve(c,a,"confidence","confidence (ambiguity)"),!t.blocking&&hs(t)&&ve(c,a,"abstention","abstention (ambiguity)"),{routingAuthority:p,decisionBearing:[...s,...i,...o,...a],explanatory:[...c],canonical:[...s],routing:[...i],continuity:[...o],ambiguity:[...a],contextOnly:[...c]}}function r_(e){switch(e.type){case"task.updated":return"status";case"human.input.requested":return"request";default:return"event"}}function ve(e,t,n,s){e.delete(n),t.add(s)}function s_(e,t,n,s){return s==="auto_approve"||s==="clear"?"none":e.now&&e.now.taskId===t&&e.now.interactionId===n?"now":e.next.some(i=>i.taskId===t&&i.interactionId===n)?"next":e.ambient.some(i=>i.taskId===t&&i.interactionId===n)?"ambient":"none"}function i_(e,t,n){return{kind:e,original:t,finalized:n,changedFields:hl(t,n)}}var o_=class{constructor(e){this.timeSource=e}engagement=null;timer=null;engage(e,t,n={},s){let i=a_(n.durationMs);this.engagement={taskId:e,interactionId:t,expiresAtMs:this.timeSource()+i},this.scheduleExpiry(i,e,t,s)}readFocusedInteractionId(e){let t=this.engagement;return t?t.expiresAtMs<=this.timeSource()?(this.clear(),null):e(t.taskId,t.interactionId)?t.interactionId:(this.clear(),null):null}clear(e,t){let n=this.engagement;n&&(e!==void 0&&n.taskId!==e||t!==void 0&&n.interactionId!==t||(this.engagement=null,this.clearTimer()))}dispose(){this.engagement=null,this.clearTimer()}scheduleExpiry(e,t,n,s){this.clearTimer(),this.timer=setTimeout(()=>{if(!(this.engagement?.taskId!==t||this.engagement?.interactionId!==n)){if(s){s();return}this.clear()}},e),this.timer.unref?.()}clearTimer(){this.timer&&(clearTimeout(this.timer),this.timer=null)}};function ng(e,t){return e.now?.interactionId===t.now?.interactionId&&rg(e.next,t.next)&&rg(e.ambient,t.ambient)}function a_(e){return e===void 0?12e3:Math.max(25,Math.floor(e))}function rg(e,t){return e.length===t.length&&e.every((n,s)=>n.interactionId===t[s]?.interactionId)}function c_(e){return e.evaluation.kind==="candidate"}function l_(e){return c_(e)}function u_(e){if(e.evaluation.kind==="noop")return{timestamp:e.timestamp,event:e.event,eventTransition:e.eventTransition,evaluation:{kind:"noop"}};if(e.evaluation.kind==="clear")return{timestamp:e.timestamp,event:e.event,eventTransition:e.eventTransition,evaluation:{kind:"clear",taskId:e.evaluation.taskId}};if(!l_(e))throw new Error("Unexpected internal trace variant");return{timestamp:e.timestamp,event:e.event,eventTransition:e.eventTransition,evaluation:{kind:"candidate"},candidateTransition:e.candidateTransition,frameTransition:e.frameTransition,...e.semantic!==void 0?{semantic:e.semantic}:{},policyRules:{gateEvaluations:e.policyRules.gateEvaluations.map(t=>({rule:t.rule,kind:t.kind,rationale:[...t.rationale]})),criterion:e.policyRules.criterion?{criterion:{activationThreshold:e.policyRules.criterion.criterion.activationThreshold,promotionMargin:e.policyRules.criterion.criterion.promotionMargin},peripheralResolution:e.policyRules.criterion.peripheralResolution,ambiguity:e.policyRules.criterion.ambiguity?{kind:e.policyRules.criterion.ambiguity.kind,reason:e.policyRules.criterion.ambiguity.reason,resolution:e.policyRules.criterion.ambiguity.resolution}:null,rationale:[...e.policyRules.criterion.rationale]}:null,criterionEvaluations:e.policyRules.criterionEvaluations.map(t=>({rule:t.rule,kind:t.kind,rationale:[...t.rationale]}))},coordination:{kind:e.coordination.kind,resultLane:e.coordination.resultLane,candidateScore:e.coordination.candidateScore,currentScore:e.coordination.currentScore,currentPriority:e.coordination.currentPriority,ambiguity:e.coordination.ambiguity?{kind:e.coordination.ambiguity.kind,reason:e.coordination.ambiguity.reason,resolution:e.coordination.ambiguity.resolution}:null,reasons:[...e.coordination.reasons],continuityEvaluations:e.coordination.continuityEvaluations.map(t=>({rule:t.rule,kind:t.kind,rationale:[...t.rationale]}))}}}var d_=3,p_=25,m_=class{frameListeners=new Map;taskViewListeners=new Map;attentionViewListeners=new Set;responseListeners=new Set;signalListeners=new Set;traceListeners=new Set;internalTraceListeners=new Set;frameHealth=Rt();taskViewHealth=Rt();attentionViewHealth=Rt();responseHealth=Rt();signalHealth=Rt();traceHealth=Rt();internalTraceHealth=Rt();subscribeFrame(e,t,n){let s=this.frameListeners.get(e)??new Set,i=Tt(t);s.add(i),this.frameListeners.set(e,s);let o=()=>{s.delete(i),s.size===0&&this.frameListeners.delete(e)};try{t(n)}catch(a){throw o(),a}return o}subscribeTaskView(e,t,n){let s=this.taskViewListeners.get(e)??new Set,i=Tt(t);s.add(i),this.taskViewListeners.set(e,s);let o=()=>{s.delete(i),s.size===0&&this.taskViewListeners.delete(e)};try{t(n)}catch(a){throw o(),a}return o}subscribeAttentionView(e,t){let n=Tt(e);this.attentionViewListeners.add(n);try{e(t)}catch(s){throw this.attentionViewListeners.delete(n),s}return()=>{this.attentionViewListeners.delete(n)}}onResponse(e){let t=Tt(e);return this.responseListeners.add(t),()=>{this.responseListeners.delete(t)}}onSignal(e){let t=Tt(e);return this.signalListeners.add(t),()=>{this.signalListeners.delete(t)}}onTrace(e){let t=Tt(e);return this.traceListeners.add(t),()=>{this.traceListeners.delete(t)}}[tl](e){let t=Tt(e);return this.internalTraceListeners.add(t),()=>{this.internalTraceListeners.delete(t)}}emitFrame(e,t){let n=this.frameListeners.get(e);n&&(this.emitRegistrations(n,this.frameHealth,s=>s(t)),n.size===0&&this.frameListeners.delete(e))}emitTaskView(e,t){let n=this.taskViewListeners.get(e);n&&(this.emitRegistrations(n,this.taskViewHealth,s=>s(t)),n.size===0&&this.taskViewListeners.delete(e))}emitAttentionView(e){this.emitRegistrations(this.attentionViewListeners,this.attentionViewHealth,t=>t(e))}emitResponse(e){this.emitRegistrations(this.responseListeners,this.responseHealth,t=>t(e))}emitSignal(e){this.emitRegistrations(this.signalListeners,this.signalHealth,t=>t(e))}emitTrace(e){this.emitRegistrations(this.internalTraceListeners,this.internalTraceHealth,n=>n(e));let t=u_(e);this.emitRegistrations(this.traceListeners,this.traceHealth,n=>n(t))}getHealthSnapshot(){let e=Ct(this.frameHealth,sg(this.frameListeners)),t=Ct(this.taskViewHealth,sg(this.taskViewListeners)),n=Ct(this.attentionViewHealth,this.attentionViewListeners.size),s=Ct(this.responseHealth,this.responseListeners.size),i=Ct(this.signalHealth,this.signalListeners.size),o=Ct(this.traceHealth,this.traceListeners.size),a=Ct(this.internalTraceHealth,this.internalTraceListeners.size);return{totalActive:e.active+t.active+n.active+s.active+i.active+o.active+a.active,frame:e,taskView:t,attentionView:n,response:s,signal:i,trace:o,internalTrace:a}}emitRegistrations(e,t,n){for(let s of[...e]){let i=Km.now();try{n(s.listener),s.consecutiveFailures=0}catch(o){s.consecutiveFailures+=1,t.failures+=1,t.lastErrorAt=new Date().toISOString(),t.lastErrorMessage=o instanceof Error?o.message:String(o),s.consecutiveFailures>=d_&&(e.delete(s),t.detached+=1)}finally{let o=Km.now()-i;t.emissions+=1,o>t.maxDeliveryMs&&(t.maxDeliveryMs=o),o>=p_&&(t.slowDeliveries+=1)}}}};function Tt(e){return{listener:e,consecutiveFailures:0}}function Rt(){return{emissions:0,failures:0,detached:0,slowDeliveries:0,maxDeliveryMs:0,lastErrorAt:null,lastErrorMessage:null}}function Ct(e,t){return{active:t,emissions:e.emissions,failures:e.failures,detached:e.detached,slowDeliveries:e.slowDeliveries,maxDeliveryMs:Number(e.maxDeliveryMs.toFixed(2)),lastErrorAt:e.lastErrorAt,lastErrorMessage:e.lastErrorMessage}}function sg(e){let t=0;for(let n of e.values())t+=n.size;return t}function g_(e){let t=bg(e),n=e.type==="human.input.requested"&&e.riskHint!==void 0?{riskHint:e.riskHint}:void 0;return Bg(y_(e),t,n)}function ig(e,t={}){if(t.skipSemanticDefaults)return e;let n=e.semantic??bg(S_(e));return Bg(e,n)}function f_(e){switch(e){case"high":return"critical";case"medium":case"low":return"focused";default:return I_(e)}}function Bg(e,t,n={}){switch(e.type){case"task.started":return{...e,semantic:t};case"task.updated":return{...e,...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t};case"task.completed":case"task.cancelled":return{...e,semantic:t};case"human.input.requested":return h_(e,t,n);default:return Hg(e)}}function h_(e,t,n){let{toolFamily:s,...i}=e,o=e.consequence??t.consequence??n.riskHint??"medium",a=e.tone??f_(o),c=dl({base:e.provenance,semantic:t}),u=e.request.kind==="approval"?e.toolFamily??t.toolFamily:void 0;return{...i,...u!==void 0?{toolFamily:u}:{},...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t,tone:a,consequence:o,...c!==void 0?{provenance:c}:{}}}function y_(e){switch(e.type){case"task.started":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{}};case"task.updated":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{},status:e.status,...e.progress!==void 0?{progress:e.progress}:{},...e.context!==void 0?{context:e.context}:{}};case"task.completed":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.summary!==void 0?{summary:e.summary}:{}};case"task.cancelled":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.reason!==void 0?{reason:e.reason}:{}};case"human.input.requested":return{id:e.id,type:e.type,taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,summary:e.summary,request:e.request,...e.context!==void 0?{context:e.context}:{},...e.provenance!==void 0?{provenance:e.provenance}:{}};default:return b_(e)}}function S_(e){switch(e.type){case"task.started":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{}};case"task.updated":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{},status:e.status,...e.progress!==void 0?{progress:e.progress}:{},...e.context!==void 0?{context:e.context}:{}};case"task.completed":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.summary!==void 0?{summary:e.summary}:{}};case"task.cancelled":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.reason!==void 0?{reason:e.reason}:{}};case"human.input.requested":return{id:e.id,type:e.type,taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,summary:e.summary,request:e.request,...e.context!==void 0?{context:e.context}:{},...e.consequence!==void 0?{riskHint:e.consequence}:{}};default:return Hg(e)}}function Hg(e){throw new Error(`Unhandled ApertureEvent in semantic normalizer: ${JSON.stringify(e)}`)}function b_(e){throw new Error(`Unhandled SourceEvent in semantic normalizer: ${JSON.stringify(e)}`)}function I_(e){throw new Error(`Unhandled consequence level in semantic normalizer: ${e}`)}function v_(e){return{originalEvent:e,finalizedEvent:g_(e),transitionKind:"source_normalized"}}function k_(e,t={}){let n=t.applySemanticDefaults!==!1;return{originalEvent:e,finalizedEvent:n?ig(e):ig(e,{skipSemanticDefaults:!0}),transitionKind:n?"direct_enriched":"direct_passthrough"}}async function nl(e,t,n){try{let s=await Xb(e,"utf8"),i=n(s);return i===null?(og(e,"Failed to parse markdown state. Falling back to the in-memory default."),t):i}catch(s){return A_(s)||og(e,"Failed to read markdown state. Falling back to the in-memory default.",s),t}}async function __(e,t){await Qb(Zb(e),{recursive:!0});let n=`${e}.${process.pid}.${Jb(6).toString("hex")}.tmp`,s=await eI(n,"w",384),i=!1;try{await s.writeFile(t,"utf8"),await s.sync(),await s.close(),i=!0,await tI(n,e)}catch(o){throw i||await s.close().catch(()=>{}),await nI(n).catch(()=>{}),o}}function yl(e){let t=/^(#{1,3})\s+(.+?)\s*$/.exec(e.trim());if(!t)return null;let n=t[1];if(n===void 0)return null;let s=n.length;if(s<1||s>3)return null;let i=t[2]?.trim();return i?{level:s,text:i}:null}function Sl(e){let t=e.trim();if(!t.startsWith("- "))return null;let n=t.slice(2).trim(),s=n.indexOf(":");if(s===-1)return n.length>0?{text:n}:null;let i=n.slice(0,s).trim(),o=n.slice(s+1).trim();return i.length===0?null:{key:i,value:o}}function Ut(e){return e==="true"?!0:e==="false"?!1:/^-?\d+(?:\.\d+)?$/.test(e)?Number(e):e}function X(e,t){return`- ${e}: ${String(t)}`}function E_(e){return`- ${e}`}function A_(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ENOENT"}function og(e,t,n){let s=n===void 0?"":` ${n instanceof Error?n.message:String(n)}`;console.warn(`[aperture] ${t} (${e})${s}`)}function Is(e){switch(e){case"ambient":return"ambient";case"next":case"queue":return"next";case"now":case"active":return"now";default:return}}async function Vg(e,t){return nl(Gc(e,"JUDGMENT.md"),t,w_)}function w_(e){let t=new Map,n=new Map,s=new Map,i=new Map,o=null,a=null;for(let p of e.split(`
6
+ `)){let m=yl(p);if(m){m.level===2?(o=m.text,a=null):m.level===3&&o==="Policy"&&(a=m.text,n.has(a)||n.set(a,{}));continue}let h=Sl(p);if(!(!h||!("key"in h))){if(o==="Meta"){t.set(h.key,h.value);continue}if(o==="Policy"&&a){let f=Ut(h.value),b=x_(Vc(h.key));n.set(a,{...n.get(a)??{},...b==="minimumLane"?(()=>{let v=Is(f);return v===void 0?{}:{minimumLane:v}})():{[b]:f}});continue}if(o==="Planner Defaults"){let f=Vc(h.key);if(f==="disabledContinuityRules"){let v=P_(h.value);v.length>0&&i.set(f,v);continue}let b=Ut(h.value);(typeof b=="boolean"||typeof b=="number")&&i.set(f,b);continue}if(o==="Ambiguity Defaults"){let f=Ut(h.value);typeof f=="number"&&s.set(Vc(h.key),f)}}}let c=T_(t.get("version")),u=t.get("updated at");return c===null||c!==tt||!u?null:{version:c,updatedAt:u,...n.size>0?{policy:Object.fromEntries(n.entries())}:{},...s.size>0?{ambiguityDefaults:Object.fromEntries(s.entries())}:{},...i.size>0?{plannerDefaults:Object.fromEntries(i.entries())}:{}}}function x_(e){return e==="minimumPresentation"?"minimumLane":e}function T_(e){return e!==void 0&&/^-?\d+(?:\.\d+)?$/.test(e)?Number(e):null}function Vc(e){return e.replace(/\s+([a-z])/g,(t,n)=>n.toUpperCase())}var R_={same_interaction:!0,visible_episode:!0,same_episode:!0,minimum_dwell:!0,burst_dampening:!0,deferral_escalation:!0,conflicting_interrupt:!0,decision_stream_continuity:!0,context_patience:!0},C_=Object.keys(R_);function P_(e){let t=new Set;for(let n of e.split(",")){let s=n.trim();O_(s)&&t.add(s)}return[...t]}function O_(e){return C_.includes(e)}var N_=class{rootDir;constructor(e){this.rootDir=e}loadUserProfile(e){return nl(this.userPath(),e,L_)}loadMemoryProfile(e){return nl(this.memoryPath(),e,D_)}saveMemoryProfile(e){return __(this.memoryPath(),U_(e))}userPath(){return Gc(this.rootDir,"USER.md")}memoryPath(){return Gc(this.rootDir,"MEMORY.md")}};function L_(e){let t=new Map,n=new Map,s=new Map,i=null,o=null;for(let p of e.split(`
7
+ `)){let m=yl(p);if(m){m.level===2?(i=m.text,o=null):m.level===3&&i==="Tool Overrides"&&(o=m.text,s.has(o)||s.set(o,{}));continue}let h=Sl(p);if(!(!h||!("key"in h))){if(i==="Meta"){rl(t,h.key,h.value);continue}if(i==="Preferences"){rl(n,h.key,h.value);continue}if(i==="Tool Overrides"&&o){let f=Ut(h.value),b=M_(gs(h.key));s.set(o,{...s.get(o)??{},...b==="minimumLane"?(()=>{let v=Is(f);return v===void 0?{}:{minimumLane:v}})():{[b]:f}})}}}let a=Nt(t,"operator id"),c=Nt(t,"updated at"),u=sl(Nt(t,"version"));return!a||!c||u===null||u!==tt?null:{version:u,operatorId:a,updatedAt:c,...n.size>0?{preferences:{...Qe(n,"quiet hours").length>0?{quietHours:Qe(n,"quiet hours")}:{},...Qe(n,"prefer batching for").length>0?{preferBatchingFor:Qe(n,"prefer batching for")}:{},...Qe(n,"always expand context for").length>0?{alwaysExpandContextFor:Qe(n,"always expand context for")}:{},...Qe(n,"never auto approve").length>0?{neverAutoApprove:Qe(n,"never auto approve")}:{}}}:{},...s.size>0?{overrides:{tools:Object.fromEntries(s.entries())}}:{}}}function M_(e){switch(e){case"defaultPresentation":case"minimumPresentation":return"minimumLane";default:return e}}function D_(e){let t=new Map,n=new Map,s=new Map,i=new Map,o=[],a=null,c=null;for(let f of e.split(`
8
+ `)){let b=yl(f);if(b){b.level===2?(a=b.text,c=null):b.level===3&&(c=b.text);continue}let v=Sl(f);if(v){if(a==="Meta"&&"key"in v){rl(t,v.key,v.value);continue}if(a==="Tool Families"&&c&&"key"in v){n.set(c,{...n.get(c)??F_(),[gs(v.key)]:Ut(v.value)});continue}if(a==="Source Trust"&&c&&"key"in v){let[N,K]=c.split("/").map(q=>q.trim());if(!N||!K)continue;let $=s.get(N)??{};$[K]={...$[K]??{confirmations:0,disagreements:0,trustAdjustment:0},[gs(v.key)]:Ut(v.value)},s.set(N,$);continue}if(a==="Consequence Profiles"&&c&&"key"in v){i.set(c,{...i.get(c)??{rejectionRate:0},[gs(v.key)]:Ut(v.value)});continue}a==="Lessons"&&"text"in v&&o.push(v.text)}}let u=Nt(t,"operator id"),p=Nt(t,"updated at"),m=sl(Nt(t,"version")),h=sl(Nt(t,"session count"));return!u||!p||m===null||m!==tt||h===null?null:{version:m,operatorId:u,updatedAt:p,sessionCount:h,...n.size>0?{toolFamilies:Object.fromEntries(n.entries())}:{},...s.size>0?{sourceTrust:Object.fromEntries(s.entries())}:{},...i.size>0?{consequenceProfiles:Object.fromEntries(i.entries())}:{},...o.length>0?{lessons:o}:{}}}function U_(e){let t=["# Memory","","## Meta",X("version",e.version),X("operator id",e.operatorId),X("updated at",e.updatedAt),X("session count",e.sessionCount)];if(e.toolFamilies&&Object.keys(e.toolFamilies).length>0){t.push("","## Tool Families");for(let[n,s]of Object.entries(e.toolFamilies))t.push("",`### ${n}`),t.push(X("presentations",s.presentations)),t.push(X("responses",s.responses)),t.push(X("dismissals",s.dismissals)),s.avgResponseLatencyMs!==void 0&&t.push(X("avg response latency ms",s.avgResponseLatencyMs)),s.avgDismissalLatencyMs!==void 0&&t.push(X("avg dismissal latency ms",s.avgDismissalLatencyMs)),s.contextExpansionRate!==void 0&&t.push(X("context expansion rate",s.contextExpansionRate)),s.returnAfterDeferralRate!==void 0&&t.push(X("return after deferral rate",s.returnAfterDeferralRate))}if(e.sourceTrust&&Object.keys(e.sourceTrust).length>0){t.push("","## Source Trust");for(let[n,s]of Object.entries(e.sourceTrust))for(let[i,o]of Object.entries(s))t.push("",`### ${n} / ${i}`),t.push(X("confirmations",o.confirmations)),t.push(X("disagreements",o.disagreements)),t.push(X("trust adjustment",o.trustAdjustment))}if(e.consequenceProfiles&&Object.keys(e.consequenceProfiles).length>0){t.push("","## Consequence Profiles");for(let[n,s]of Object.entries(e.consequenceProfiles))t.push("",`### ${n}`),t.push(X("rejection rate",s.rejectionRate)),s.reviewedCount!==void 0&&t.push(X("reviewed count",s.reviewedCount))}if(e.lessons&&e.lessons.length>0){t.push("","## Lessons");for(let n of e.lessons)t.push(E_(n))}return t.push(""),t.join(`
9
+ `)}function F_(){return{presentations:0,responses:0,dismissals:0}}function rl(e,t,n){let s=e.get(t)??[];s.push(n),e.set(t,s)}function Nt(e,t){return e.get(t)?.[0]??null}function Qe(e,t){return e.get(t)??[]}function sl(e){return e!==null&&/^-?\d+(?:\.\d+)?$/.test(e)?Number(e):null}function gs(e){return e.replace(/\s+([a-z])/g,(t,n)=>n.toUpperCase())}async function j_(e){let t=new N_(e),[n,s,i]=await Promise.all([t.loadUserProfile(Kg()),t.loadMemoryProfile(B_()),Vg(e,zg())]);return{profileStore:t,markdownRootDir:e,userProfile:n,memoryProfile:s,judgmentConfig:i}}async function q_(e){let[t,n,s]=await Promise.all([e.profileStore.loadUserProfile(e.userProfile??Kg()),e.profileStore.loadMemoryProfile(e.memoryProfile),Vg(e.markdownRootDir,e.judgmentConfig??zg())]);return{userProfile:t,memoryProfile:n,judgmentConfig:s}}async function $_(e){if(!e.profileStore)return null;let t=Lg(e.memoryProfile,e.signals,e.now);return await e.profileStore.saveMemoryProfile(t),t}function Kg(){return{version:tt,operatorId:"default",updatedAt:gn(0)}}function B_(){return{version:tt,operatorId:"default",updatedAt:gn(0),sessionCount:0}}function zg(){return{version:tt,updatedAt:gn(0)}}function Kc(e){let{timestamp:t,event:n,eventTransition:s,evidence:i,taskView:o,attentionView:a}=e;return{timestamp:t,event:n,eventTransition:s,taskSummary:i.taskSignalSummary,globalSummary:i.globalSignalSummary,taskAttentionState:i.taskAttentionState,globalAttentionState:i.globalAttentionState,pressureForecast:i.pressureForecast,attentionBurden:i.attentionBurden,current:i.currentFrame,taskView:o,attentionView:a}}function ws(e,t=[]){return{rule:e,kind:"noop",rationale:t}}function Ft(e,t,n=t.rationale){return{rule:e,kind:"verdict",verdict:t,rationale:n}}var H_=e=>e.candidate.priority!=="background"?ws("background"):Ft("background",{autoApprove:!1,mayInterrupt:!1,requiresOperatorResponse:!1,minimumLane:"ambient",minimumLaneIsSticky:!0,rationale:["background work should remain peripheral by default"]}),V_=e=>e.candidate.blocking?Ft("blocking",{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!0,minimumLane:"now",minimumLaneIsSticky:!1,rationale:["blocking interactions require explicit operator attention"]}):ws("blocking");function K_(e,t){let n=e?.policy;if(!n)return;let s=z_(t);for(let i of s){let o=n[i];if(o)return o}}function Wg(e){return Gg(e)?pl(e):null}function z_(e){let t=[];if(!Gg(e))return t;let n=Wg(e),s=[e.title,e.summary??"",...e.context?.items?.flatMap(i=>[i.label,i.value??""])??[]].join(" ").toLowerCase();return e.consequence==="low"&&n==="read"&&t.push("lowRiskRead"),e.consequence==="low"&&n==="web"&&t.push("lowRiskWeb"),s.includes(".env")&&(n==="write"||n==="edit"||n==="bash")&&t.push("envWrite"),(n==="write"||n==="edit")&&t.push("fileWrite"),n==="bash"&&e.consequence==="high"&&t.push("destructiveBash"),t}function Gg(e){return e.activityClass!==void 0?W_(e.activityClass):e.mode==="approval"}function W_(e){switch(e){case"permission_request":return!0;case"question_request":case"follow_up":case"tool_completion":case"tool_failure":case"session_status":case"status_update":return!1;default:return e}}var G_=e=>{let{candidate:t,judgmentConfig:n,userProfile:s}=e,i=Wg(t),o=i?s?.overrides?.tools?.[i]:void 0,a=K_(n,t),c=o?.requireContextExpansion===!0||a?.requireContextExpansion===!0,u=a?.autoApprove===!0&&t.mode==="approval"&&t.responseSpec.kind==="approval"&&!c,p=Is(o?.minimumLane??o?.defaultPresentation)??Is(a?.minimumLane)??(c?"now":void 0),m=a?.mayInterrupt,h=!u&&(t.blocking||p==="now"||c);if(p===void 0&&m===void 0&&!o&&!u)return ws("configured_policy");let f=[];return i&&o&&f.push(`user override applies for ${i} interactions`),a&&f.push("configured judgment policy applies to this interaction"),u?(f.push("configured judgment policy auto-approves this bounded approval"),Ft("configured_policy",{autoApprove:!0,mayInterrupt:!1,requiresOperatorResponse:!1,minimumLane:"ambient",minimumLaneIsSticky:!0,rationale:f})):h?(f.push("operator-response work cannot remain passive without auto-resolution"),Ft("configured_policy",{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!0,minimumLane:"now",minimumLaneIsSticky:!1,rationale:f})):Ft("configured_policy",{autoApprove:!1,mayInterrupt:m??!1,requiresOperatorResponse:h,minimumLane:p??(t.blocking?"now":"next"),minimumLaneIsSticky:p!==void 0||m===!1,rationale:f})},Y_=()=>Ft("interruptive_default",{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!1,minimumLane:"next",minimumLaneIsSticky:!1,rationale:["urgent non-blocking work may compete for interruptive attention"]});function et(e,t=[]){return{rule:e,kind:"noop",rationale:t}}function _e(e,t,n=t.rationale){return{rule:e,kind:"verdict",verdict:t,rationale:n}}function Yg(e,t,n){return{rule:e,kind:"adjust",criterion:t,rationale:n}}function vs(e){return{criterion:e,peripheralResolution:null,ambiguity:null,rationale:[]}}function Z_(e,t,n=[]){return{criterion:e,peripheralResolution:t,ambiguity:null,rationale:n}}function Yn(e,t,n,s){return{criterion:e,peripheralResolution:t,ambiguity:n,rationale:s}}var J_=e=>{let{evidence:t,criterion:n}=e,s=t.attentionBurden.thresholdOffset;return s<=0?et("attention_budget"):Yg("attention_budget",{activationThreshold:n.activationThreshold+s,promotionMargin:n.promotionMargin+s},["sustained attention burden raises the interrupt bar until the operator load eases"])},X_=e=>{let{candidate:t,policyVerdict:n,criterion:s,peripheralResolution:i,evidence:o}=e;return!n.mayInterrupt&&n.minimumLaneIsSticky?_e("interrupt_eligibility",Z_(s,Q_(t,i,o.surfaceCapabilities))):t.blocking||t.episodeState==="actionable"||n.autoApprove||n.requiresOperatorResponse||n.minimumLane==="now"?_e("interrupt_eligibility",vs(s)):et("interrupt_eligibility")};function Q_(e,t,n){if(t!=="ambient"||!n.topology.supportsAmbient)return"queue";switch(e.responseSpec.kind){case"approval":case"acknowledge":case"none":return"ambient";case"choice":return(e.responseSpec.selectionMode==="multiple"?n.responses.supportsMultipleChoice:n.responses.supportsSingleChoice)&&(!e.responseSpec.allowTextResponse||n.responses.supportsTextResponse)?"ambient":"queue";case"form":return n.responses.supportsForm?"ambient":"queue"}}var eE=e=>{let{candidate:t,evidence:n,candidateScore:s,criterion:i,peripheralResolution:o}=e;return n.currentFrame||t.episodeId!==void 0&&[n.attentionView.now,...n.attentionView.next,...n.attentionView.ambient].filter(a=>a!==null).some(a=>a.interactionId!==t.interactionId&&Lt(a)===t.episodeId&&!Ve(Mt(a)))?et("no_active_frame"):s>=i.activationThreshold?_e("no_active_frame",vs(i)):_e("no_active_frame",Yn(i,o,{kind:"interrupt",reason:"low_signal",resolution:o},["uncertain interruptive work stays peripheral until its signal is stronger"]))},tE=e=>{let{evidence:t,criterion:n,peripheralResolution:s}=e;return t.operatorPresence!=="absent"?et("operator_absence"):_e("operator_absence",{criterion:n,peripheralResolution:s,ambiguity:null,rationale:["operator absence keeps interruptive work peripheral until foreground attention returns"]})},nE=e=>{let{candidate:t}=e;return t.mode!=="status"||t.consequence==="high"||t.tone==="critical"?ws("peripheral_status"):Ft("peripheral_status",{autoApprove:!1,mayInterrupt:!1,requiresOperatorResponse:!1,minimumLane:"ambient",minimumLaneIsSticky:!1,rationale:["non-critical status work should start in the periphery"]})},rE=e=>{let{candidate:t,criterion:n,peripheralResolution:s}=e;return t.blocking?et("semantic_uncertainty"):hs(t)?_e("semantic_uncertainty",Yn(n,s,{kind:"interrupt",reason:"low_signal",resolution:s},["semantic interpretation abstained, so non-blocking work stays peripheral until stronger explicit evidence arrives"])):fs(t)==="low"?_e("semantic_uncertainty",Yn(n,s,{kind:"interrupt",reason:"low_signal",resolution:s},["low-confidence semantic interpretation keeps non-blocking work peripheral until the signal is clearer"])):Eg(t)==="weak"?_e("semantic_uncertainty",Yn(n,s,{kind:"interrupt",reason:"low_signal",resolution:s},["inferred semantic evidence stays peripheral until stronger source-backed context arrives"])):et("semantic_uncertainty",qt(t)!==null?["semantic evidence is strong enough to keep ordinary interrupt rules in play"]:[])},sE=e=>{let{candidateScore:t,currentScore:n,criterion:s,peripheralResolution:i}=e;return n===null||t<=n||t>=n+s.promotionMargin?_e("small_score_gap",vs(s)):_e("small_score_gap",Yn(s,i,{kind:"interrupt",reason:"small_score_gap",resolution:i},["small score gaps resolve to the periphery instead of stealing focus immediately"]))},iE=2,ks=6,oE=e=>{let{candidate:t,criterion:n,sourceTrustAdjustment:s}=e,i=aE(s),o=Cv(t),a=Math.max(-ks,Math.min(ks,i+o));if(a===0)return et("source_trust");let c={activationThreshold:Math.max(0,n.activationThreshold-a),promotionMargin:Math.max(0,n.promotionMargin-a)},u=[...i>0?["durable source trust lowers the interrupt bar for this source"]:i<0?["low-trust source signals need a clearer margin before interrupting"]:[],...o>0?["explicit semantic evidence lowers the interrupt bar slightly"]:o<0?["inferred semantic evidence needs a clearer margin before interrupting"]:[]];return Yg("source_trust",c,u)};function aE(e){return e===0?0:Math.max(-ks,Math.min(ks,Math.trunc(e/iE)))}var cE=[G_,V_,H_,nE,Y_],lE=[tE,X_,oE,J_,rE,eE,sE],Zg=class{judgmentConfig;userProfile;memoryProfile;constructor(e={}){this.judgmentConfig=e.judgmentConfig,this.userProfile=e.userProfile,this.memoryProfile=e.memoryProfile}evaluateGates(e){return this.explainGates(e).verdict}explainGates(e){let t=this.buildPolicyGateInput(e),n=[];for(let i of cE){let o=i(t);if(n.push(o),o.kind==="verdict")return{verdict:o.verdict,evaluations:n}}return{verdict:{autoApprove:!1,mayInterrupt:!0,requiresOperatorResponse:!1,minimumLane:"next",minimumLaneIsSticky:!1,rationale:["urgent non-blocking work may compete for interruptive attention"]},evaluations:n}}evaluateInterruptCriterion(e,t,n,s,i,o={}){return this.explainInterruptCriterion(e,t,n,s,i,o).verdict}explainInterruptCriterion(e,t,n,s,i,o={}){let a=this.readInterruptCriterion(o.ambiguityDefaults),c=this.readPeripheralResolution(e,t),u=this.readSourceTrustAdjustment(e),p=[],m=[];for(let h of lE){let f=h(this.buildPolicyCriterionInput(e,t,n,s,i,a,u,c));if(m.push(f),f.kind==="adjust"){a=f.criterion,p.push(...f.rationale);continue}if(f.kind==="verdict")return{verdict:{...f.verdict,rationale:[...p,...f.verdict.rationale]},evaluations:m}}return{verdict:{criterion:a,peripheralResolution:null,ambiguity:null,rationale:p},evaluations:m}}readInterruptCriterion(e){return{activationThreshold:e?.nonBlockingActivationThreshold??this.judgmentConfig?.ambiguityDefaults?.nonBlockingActivationThreshold??W.ambiguity.nonBlockingActivationThreshold,promotionMargin:e?.promotionMargin??this.judgmentConfig?.ambiguityDefaults?.promotionMargin??W.ambiguity.promotionMargin}}readPeripheralResolution(e,t){return xg(e,t.minimumLane==="ambient"?"ambient":"queue")}readSourceTrustAdjustment(e){let t=e.source?.kind??e.source?.id;return t?this.memoryProfile?.sourceTrust?.[t]?.[e.consequence]?.trustAdjustment??0:0}buildPolicyGateInput(e){return{candidate:e,...this.judgmentConfig!==void 0?{judgmentConfig:this.judgmentConfig}:{},...this.userProfile!==void 0?{userProfile:this.userProfile}:{}}}buildPolicyCriterionInput(e,t,n,s,i,o,a,c){return{candidate:e,policyVerdict:t,evidence:n,candidateScore:s,currentScore:i,criterion:o,sourceTrustAdjustment:a,peripheralResolution:c}}},L=W.attentionValue,Jg=class{memoryProfile;constructor(e={}){this.memoryProfile=e.memoryProfile}scoreCandidate(e){let t=this.sourceTrustAdjustment(e),n=this.consequenceCalibrationAdjustment(e),s=this.responseAffinityAdjustment(e),i=this.contextCostAdjustment(e),o=this.deferralAffinityAdjustment(e),a={priority:uE(e.priority)*100,consequence:dE(e.consequence)*10,tone:pE(e.tone),blocking:e.blocking?1e3:0,heuristics:e.attentionScoreOffset??0,sourceTrust:t,consequenceCalibration:n,responseAffinity:s,contextCost:i,deferralAffinity:o},c=e.attentionRationale?[...e.attentionRationale]:[];return t!==0&&c.push("durable source trust adjusts this interaction's utility"),n>0&&c.push("memory suggests this consequence band is often understated and deserves more attention"),n<0&&c.push("memory suggests this consequence band is often overstated and should be tempered"),s>0&&c.push("memory suggests this kind of interaction usually resolves quickly"),i<0&&c.push("memory suggests this interaction usually needs extra context before action"),o>0&&c.push("memory suggests deferred interactions of this kind are usually resumed"),{total:a.priority+a.consequence+a.tone+a.blocking+a.heuristics+a.sourceTrust+a.consequenceCalibration+a.responseAffinity+a.contextCost+a.deferralAffinity,components:a,rationale:c}}scoreAttentionFrame(e,t={}){return{total:Oe(e,t),components:{attentionAdjustment:ag(e)}}}sourceTrustAdjustment(e){let t=e.source?.kind??e.source?.id;return t?this.memoryProfile?.sourceTrust?.[t]?.[e.consequence]?.trustAdjustment??0:0}responseAffinityAdjustment(e){let t=zc(e);if(!t)return 0;let n=this.memoryProfile?.toolFamilies?.[t];return!n||n.avgResponseLatencyMs===void 0||n.presentations<L.memorySufficiency.toolFamilyPresentations||n.responses<L.memorySufficiency.toolFamilyResponses?0:n.avgResponseLatencyMs<=L.responseAffinity.fastLatencyMs?L.responseAffinity.fastBoost:n.avgResponseLatencyMs<=L.responseAffinity.mediumLatencyMs?L.responseAffinity.mediumBoost:0}consequenceCalibrationAdjustment(e){let t=this.memoryProfile?.consequenceProfiles?.[e.consequence],n=t?.rejectionRate;if(n===void 0||(t?.reviewedCount??0)<L.memorySufficiency.consequenceReviewedCount)return 0;switch(e.consequence){case"low":return n>=L.consequenceCalibration.highRejectionRate?L.consequenceCalibration.adjustments.low.highRate:n>=L.consequenceCalibration.mediumRejectionRate?L.consequenceCalibration.adjustments.low.mediumRate:0;case"medium":return n>=L.consequenceCalibration.highRejectionRate?L.consequenceCalibration.adjustments.medium.highRate:n>=L.consequenceCalibration.mediumRejectionRate?L.consequenceCalibration.adjustments.medium.mediumRate:0;case"high":return n>=L.consequenceCalibration.highRejectionRate?L.consequenceCalibration.adjustments.high.highRate:n>=L.consequenceCalibration.mediumRejectionRate?L.consequenceCalibration.adjustments.high.mediumRate:0}}contextCostAdjustment(e){let t=zc(e);if(!t)return 0;let n=this.memoryProfile?.toolFamilies?.[t]?.contextExpansionRate;return n===void 0||(this.memoryProfile?.toolFamilies?.[t]?.presentations??0)<L.memorySufficiency.toolFamilyPresentations?0:n>=L.contextCost.highRate?L.contextCost.highPenalty:n>=L.contextCost.mediumRate?L.contextCost.mediumPenalty:0}deferralAffinityAdjustment(e){let t=zc(e);if(!t)return 0;let n=this.memoryProfile?.toolFamilies?.[t]?.returnAfterDeferralRate;return n===void 0||(this.memoryProfile?.toolFamilies?.[t]?.presentations??0)<L.memorySufficiency.toolFamilyPresentations?0:n>=L.deferralAffinity.highRate?L.deferralAffinity.highBoost:n>=L.deferralAffinity.mediumRate?L.deferralAffinity.mediumBoost:0}};function zc(e){return pl(e)}function uE(e){switch(e){case"background":return 0;case"normal":return 1;case"high":return 2}}function dE(e){switch(e){case"low":return 0;case"medium":return 1;case"high":return 2}}function pE(e){switch(e){case"ambient":return 0;case"focused":return 1;case"critical":return 2}}var mE=class{policyGates;utilityScore;queuePlanner;ambiguityDefaults;constructor(e=new Zg,t=new Jg,n=new qg,s={}){this.policyGates=e,this.utilityScore=t,this.queuePlanner=n,this.ambiguityDefaults=s.ambiguityDefaults}coordinate(e,t,n={}){return this.explain(e,t,n).decision}explain(e,t,n={}){let s=this.resolveEvidenceContext(e,n,t.timestamp),i=this.policyGates.explainGates(t),o=i.verdict,a=this.utilityScore.scoreCandidate(t),c=s.currentFrame?Oe(s.currentFrame,{now:t.timestamp}):null,u=s.pressureForecast;if(o.autoApprove){let f=[...o.rationale,"bounded approval work is auto-resolved instead of entering the attention surface"];return{decision:{kind:"auto_approve",candidate:t,response:{taskId:t.taskId,interactionId:t.interactionId,response:{kind:"approved"}}},policy:o,policyGateEvaluations:i.evaluations,utility:a,criterion:null,policyCriterionEvaluations:[],pressureForecast:u,attentionBurden:s.attentionBurden,candidateScore:a.total,currentScore:c,currentPriority:null,ambiguity:null,reasons:f,continuityEvaluations:[]}}let p=this.policyGates.explainInterruptCriterion(t,o,s,a.total,c,this.ambiguityDefaults!==void 0?{ambiguityDefaults:this.ambiguityDefaults}:{}),m=p.verdict;if(m.peripheralResolution){let f=[...o.rationale,...m.rationale];return{decision:{kind:m.peripheralResolution,candidate:t},policy:o,policyGateEvaluations:i.evaluations,utility:a,criterion:m,policyCriterionEvaluations:p.evaluations,pressureForecast:u,attentionBurden:s.attentionBurden,candidateScore:a.total,currentScore:c,currentPriority:s.currentFrame?le(s.currentFrame):null,ambiguity:m.ambiguity,reasons:f,continuityEvaluations:[]}}let h=this.queuePlanner.explain(s.currentFrame,t,{...s,policyVerdict:o,utility:a,pressureForecast:u,candidateScore:a.total,currentScore:c});return{decision:h.decision,policy:o,policyGateEvaluations:i.evaluations,utility:a,criterion:m,policyCriterionEvaluations:p.evaluations,pressureForecast:u,attentionBurden:s.attentionBurden,candidateScore:a.total,currentScore:h.currentScore,currentPriority:h.currentPriority,ambiguity:null,reasons:h.reasons,continuityEvaluations:h.continuityEvaluations??[]}}clear(){return this.queuePlanner.clear()}resolveEvidenceContext(e,t,n){return ml(e,As(t),gE(n))}};function gE(e){let t=Date.parse(e);return Number.isNaN(t)?0:t}function fE(e={}){return{userProfile:e.userProfile,baseMemoryProfile:e.memoryProfile??hE(),judgmentConfig:e.judgmentConfig,surfaceCapabilities:il(e.surfaceCapabilities),operatorPresence:e.operatorPresence??"present",responseExpiryMs:e.responseExpiryMs,timeSource:e.timeSource??Date.now}}function Wc(e){return new mE(new Zg({...e.userProfile!==void 0?{userProfile:e.userProfile}:{},...e.judgmentConfig!==void 0?{judgmentConfig:e.judgmentConfig}:{},memoryProfile:e.baseMemoryProfile}),new Jg({memoryProfile:e.baseMemoryProfile}),new qg({...e.judgmentConfig?.plannerDefaults!==void 0?{plannerDefaults:e.judgmentConfig.plannerDefaults}:{}}))}function il(e){let t=e??bs;return{topology:{...t.topology},responses:{...t.responses}}}function hE(){return{version:tt,operatorId:"default",updatedAt:gn(0),sessionCount:0}}function yE(e){switch(j("event.id",e.id),j("event.taskId",e.taskId),bl("event.timestamp",e.timestamp),e.source!==void 0&&j("event.source.id",e.source.id),e.type){case"task.started":case"task.updated":j("event.title",e.title);break;case"human.input.requested":j("event.interactionId",e.interactionId),j("event.title",e.title),j("event.summary",e.summary);break;case"task.completed":case"task.cancelled":break;default:return EE(e)}}function SE(e){switch(j("event.id",e.id),j("event.taskId",e.taskId),bl("event.timestamp",e.timestamp),e.source&&j("event.source.id",e.source.id),e.type){case"task.started":j("event.title",e.title);return;case"task.updated":j("event.title",e.title),vE("event.status",e.status);return;case"task.completed":return;case"task.cancelled":e.reason!==void 0&&j("event.reason",e.reason);return;case"human.input.requested":j("event.interactionId",e.interactionId),j("event.title",e.title),j("event.summary",e.summary),_E("event.request",e.request),e.riskHint!==void 0&&kE("event.riskHint",e.riskHint);return;default:return AE(e)}}function bE(e){switch(j("response.taskId",e.taskId),j("response.interactionId",e.interactionId),e.response.kind){case"acknowledged":case"approved":case"rejected":case"dismissed":return;case"option_selected":if(e.response.optionIds.length===0)throw new he("response.optionIds must contain at least one option id",{field:"response.optionIds"});return;case"text_submitted":j("response.text",e.response.text);return;case"form_submitted":if(e.response.values===null||typeof e.response.values!="object"||Array.isArray(e.response.values))throw new he("response.values must be an object",{field:"response.values"});return}}function IE(e){j("signal.taskId",e.taskId),j("signal.interactionId",e.interactionId),bl("signal.timestamp",e.timestamp),e.source!==void 0&&j("signal.source.id",e.source.id)}function j(e,t){if(typeof t!="string"||t.trim().length===0)throw new he(`${e} must be a non-empty string`,{field:e})}function bl(e,t){if(j(e,t),Number.isNaN(Date.parse(t)))throw new he(`${e} must be a valid ISO timestamp`,{field:e})}function vE(e,t){if(!["running","blocked","waiting","completed","failed"].includes(t))throw new he(`${e} must be a valid task status`,{field:e})}function kE(e,t){if(!["low","medium","high"].includes(t))throw new he(`${e} must be a valid consequence level`,{field:e})}function _E(e,t){if(!t||typeof t!="object"||!("kind"in t))throw new he(`${e} must be a valid human input request`,{field:e});switch(t.kind){case"approval":return;case"choice":if(!Array.isArray(t.options)||t.options.length===0)throw new he(`${e}.options must contain at least one option`,{field:`${e}.options`});return;case"form":if(!Array.isArray(t.fields)||t.fields.length===0)throw new he(`${e}.fields must contain at least one field`,{field:`${e}.fields`});return;default:throw new he(`${e} must have a supported request kind`,{field:e})}}function EE(e){throw new he(`Unhandled ApertureEvent in validation: ${JSON.stringify(e)}`,{field:"event.type",code:"unsupported_event_variant"})}function AE(e){throw new he(`Unhandled SourceEvent in validation: ${JSON.stringify(e)}`,{field:"event.type",code:"unsupported_event_variant"})}var wE=Symbol("aperture.internal.readHealth"),Xg=class Qg{listeners=new m_;taskViews=new Gk;heuristics=new mI;evaluation=new Kv;traceRecorder=new Zk;coordinator;planner=new Yv;attentionEvidence;frameLifecycle;profileStore;markdownRootDir;baseMemoryProfile;userProfile;judgmentConfig;surfaceCapabilities;operatorPresence;responseExpiryMs;clock;signals;episodes;operatorEngagement;reloadInFlight=null;constructor(t={}){let n=fE(t);this.markdownRootDir=t.markdownRootDir,this.profileStore=t.profileStore,this.userProfile=n.userProfile,this.judgmentConfig=n.judgmentConfig,this.surfaceCapabilities=n.surfaceCapabilities,this.operatorPresence=n.operatorPresence,this.responseExpiryMs=n.responseExpiryMs,this.clock=Es(n.timeSource),this.signals=new Qv({clock:this.clock}),this.episodes=new Uv({clock:this.clock}),this.operatorEngagement=new o_(n.timeSource),this.baseMemoryProfile=n.baseMemoryProfile,this.coordinator=Wc(n),this.attentionEvidence=new Uk({signals:this.signals,episodes:this.episodes,clock:this.clock,getTaskView:s=>this.getTaskView(s),getAttentionView:()=>this.getAttentionView(),getOperatorPresence:()=>this.getOperatorPresence(),getSurfaceCapabilities:()=>this.getSurfaceCapabilities()}),this.frameLifecycle=new zk({taskViews:this.taskViews,planner:this.planner,episodes:this.episodes,clock:this.clock,responseExpiryMs:this.responseExpiryMs,getAttentionView:()=>this.getAttentionView(),recordSignal:s=>this.recordSignal(s),clearOperatorEngagement:(s,i)=>this.operatorEngagement.clear(s,i),notifyFrame:(s,i)=>this.listeners.emitFrame(s,i),notifyTaskView:(s,i)=>this.listeners.emitTaskView(s,i),notifyAttentionView:()=>this.listeners.emitAttentionView(this.getAttentionView()),emitResponse:s=>this.listeners.emitResponse(s)})}static async fromMarkdown(t){let{profileStore:n,markdownRootDir:s,userProfile:i,memoryProfile:o,judgmentConfig:a}=await j_(t);return new Qg({userProfile:i,memoryProfile:o,judgmentConfig:a,profileStore:n,markdownRootDir:s})}async reloadMarkdown(){if(!this.profileStore||!this.markdownRootDir)return!1;if(this.reloadInFlight)return this.reloadInFlight;this.reloadInFlight=this.performMarkdownReload();try{return await this.reloadInFlight}finally{this.reloadInFlight=null}}publishSourceEvent(t){return SE(t),this.publishPreparedEvent(v_(t))}publish(t,n={}){return yE(t),this.publishPreparedEvent(k_(t,n))}publishPreparedEvent(t){let{finalizedEvent:n,originalEvent:s,transitionKind:i}=t,o=i_(i,s,n),a=this.getFrame(n.taskId),c=this.attentionEvidence.assemble(n.taskId,a),u=c.taskSignalSummary,p=c.globalSignalSummary,m=c.attentionView,h=this.evaluation.evaluate(n);switch(h.kind){case"noop":return this.notifyTrace(this.traceRecorder.recordNoop(Kc({timestamp:this.nowIso(),event:n,eventTransition:o,evidence:c,taskView:c.currentTaskView,attentionView:m}))),null;case"clear":{let f=this.frameLifecycle.applyClear(n.taskId),b=this.getAttentionView();return this.notifyTrace(this.traceRecorder.recordClear(Kc({timestamp:this.nowIso(),event:n,eventTransition:o,evidence:c,taskView:this.getTaskView(n.taskId),attentionView:b}),n.taskId)),f}case"candidate":{let f=this.prepareCandidateForJudgment(h.candidate,u,p),b=this.explainCandidateDecision(n.taskId,f,c),v=this.applyCandidateDecision(n.taskId,b,c,m),N=this.getAttentionView();return this.notifyTrace(this.traceRecorder.recordCandidate(Kc({timestamp:this.nowIso(),event:n,eventTransition:o,evidence:c,taskView:this.getTaskView(n.taskId),attentionView:N}),{original:h.candidate,adjusted:f,explanation:b,result:v})),v}}}prepareCandidateForJudgment(t,n,s){return this.episodes.assign(this.heuristics.apply(t,n,s))}explainCandidateDecision(t,n,s){let i=this.attentionEvidence.augmentContinuitySignalSummary(t,n,s);return this.coordinator.explain(s.currentFrame,n,i)}applyCandidateDecision(t,n,s,i){switch(n.decision.kind){case"auto_approve":return this.frameLifecycle.applyAutoResponse(n.decision.candidate,n.decision.response);case"clear":return this.frameLifecycle.applyClear(t);case"ambient":return this.frameLifecycle.materializePeripheralFrame(n.decision.candidate,"ambient",i);case"queue":return this.frameLifecycle.materializePeripheralFrame(n.decision.candidate,"queue",i);case"activate":return this.applyActivationDecision(n,s,i)}}applyActivationDecision(t,n,s){if(t.decision.kind!=="activate")return null;let i=t.decision.candidate;if(this.frameLifecycle.shouldRetireSupersededEpisodeFrames(i,s))return this.frameLifecycle.commitFrame(this.frameLifecycle.applyResponseExpiry(this.planner.plan(i,n.currentFrame)),this.frameLifecycle.findSupersededEpisodeFrames(i,s));let o=i.episodeId?this.frameLifecycle.findPeripheralEpisodeFrame(i.episodeId,s):null;return o&&this.frameLifecycle.shouldPromotePeripheralEpisodeFrame(t)?this.frameLifecycle.promotePeripheralEpisodeFrame(i,o.frame):o?this.frameLifecycle.materializePeripheralFrame(i,fl(i,t.policy,n.surfaceCapabilities),s):this.frameLifecycle.commitFrame(this.frameLifecycle.applyResponseExpiry(this.planner.plan(i,n.currentFrame)))}getFrame(t){return this.taskViews.get(t).now??null}subscribe(t,n){return this.listeners.subscribeFrame(t,n,this.getFrame(t))}subscribeTaskView(t,n){return this.listeners.subscribeTaskView(t,n,this.getTaskView(t))}subscribeAttentionView(t){return this.listeners.subscribeAttentionView(t,this.getAttentionView())}onResponse(t){return this.listeners.onResponse(t)}onSignal(t){return this.listeners.onSignal(t)}onTrace(t){return this.listeners.onTrace(t)}[tl](t){return this.listeners[tl](t)}submit(t){bE(t),this.frameLifecycle.submit(t)}getTaskView(t){return this.taskViews.get(t)}getAttentionView(){return aI(this.taskViews.values(),{globalAttentionState:this.getAttentionState(),operatorPresence:this.getOperatorPresence(),focusedInteractionId:this.readOperatorEngagementInteractionId()})}getSignals(t){return this.signals.list(t)}getSignalSummary(t){return this.signals.summarize(t)}getAttentionState(t){return Pt(this.signals.summarize(t))}[wE](){return{attentionState:this.getAttentionState(),operatorPresence:this.getOperatorPresence(),responseExpiryMs:this.responseExpiryMs??null,surfaceCapabilities:this.getSurfaceCapabilities(),listeners:this.listeners.getHealthSnapshot(),stores:{taskViews:this.taskViews.stats(),signals:this.signals.stats(),episodes:this.episodes.stats()}}}getSurfaceCapabilities(){return il(this.surfaceCapabilities)}getOperatorPresence(){return this.operatorPresence}setOperatorPresence(t){this.operatorPresence=t}engage(t,n,s={}){if(!this.frameLifecycle.findFrameByInteractionId(t,n))return;let i=this.getAttentionView();this.operatorEngagement.engage(t,n,s,()=>{let a=this.getAttentionView();this.operatorEngagement.clear(t,n);let c=this.getAttentionView();ng(a,c)||this.notifyAttentionView()});let o=this.getAttentionView();ng(i,o)||this.notifyAttentionView()}setSurfaceCapabilities(t){this.surfaceCapabilities=il(t)}snapshotMemoryProfile(t=this.nowIso()){return Lg(this.baseMemoryProfile,this.signals.list(),t)}async checkpointMemory(t=this.nowIso()){let n=await $_({profileStore:this.profileStore,memoryProfile:this.baseMemoryProfile,signals:this.signals.list(),now:t});return n?(this.baseMemoryProfile=n,this.coordinator=Wc({userProfile:this.userProfile,baseMemoryProfile:this.baseMemoryProfile,judgmentConfig:this.judgmentConfig}),n):null}markViewed(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("viewed",t,n,this.nowIso(),i,s))}markTimedOut(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("timed_out",t,n,this.nowIso(),i,s))}markContextExpanded(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("context_expanded",t,n,this.nowIso(),i,s))}markContextSkipped(t,n,s={}){let i=this.frameLifecycle.findFrame(t,n);this.recordSignal(ds("context_skipped",t,n,this.nowIso(),i,s))}recordSignal(t){IE(t),this.signals.record(t),this.listeners.emitSignal(t)}notifyFrame(t,n){this.listeners.emitFrame(t,n)}notifyTaskView(t,n){this.listeners.emitTaskView(t,n)}notifyAttentionView(){this.listeners.emitAttentionView(this.getAttentionView())}readOperatorEngagementInteractionId(){return this.operatorEngagement.readFocusedInteractionId((t,n)=>this.frameLifecycle.findFrameByInteractionId(t,n)!==null)}notifyTrace(t){this.listeners.emitTrace(t)}nowIso(){return this.clock.nowIso()}async performMarkdownReload(){let{userProfile:t,memoryProfile:n,judgmentConfig:s}=await q_({profileStore:this.profileStore,markdownRootDir:this.markdownRootDir,userProfile:this.userProfile,memoryProfile:this.baseMemoryProfile,judgmentConfig:this.judgmentConfig}),i=Wc({userProfile:t,baseMemoryProfile:n,judgmentConfig:s});return this.userProfile=t,this.baseMemoryProfile=n,this.judgmentConfig=s,this.coordinator=i,!0}};function Il(e){return e?{id:e.id,taskId:e.taskId,interactionId:e.interactionId,source:e.source,version:e.version,mode:e.mode,tone:e.tone,consequence:e.consequence,title:e.title,summary:e.summary,context:e.context,responseSpec:e.responseSpec,provenance:e.provenance,timing:e.timing,metadata:e.metadata}:null}function ue(e){return{companyId:e,updatedAt:new Date().toISOString(),now:null,next:[],ambient:[],counts:{now:0,next:0,ambient:0,total:0}}}function nt(){return[]}function Q(e){return{companyId:e,updatedAt:new Date().toISOString(),frames:{}}}function Se(e,t,n,s){let i=t,o=Il("now"in t?t.now:i.active??null),a=("next"in t?t.next:i.queued??[]).map(u=>Il(u)).filter(u=>u!==null),c=t.ambient.map(u=>Il(u)).filter(u=>u!==null);return{companyId:e,updatedAt:s??new Date().toISOString(),now:o,next:a,ambient:c,counts:{now:o?1:0,next:a.length,ambient:c.length,total:(o?1:0)+a.length+c.length},...n?{lastEvent:n}:{}}}function fn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function tf(e){let t=fn(e);return t&&typeof t.taskId=="string"&&typeof t.interactionId=="string"?t:null}function ef(e){return Array.isArray(e)?e.map(tf).filter(t=>t!==null):[]}function hn(e,t){let n=fn(t);if(!n||n.companyId!==e||typeof n.updatedAt!="string")return null;let s=fn(n.counts),i=fn(n.review),o=fn(i?.unread),a=tf(n.now??n.active??null),c=ef(n.next??n.queued??[]),u=ef(n.ambient);return{companyId:e,updatedAt:n.updatedAt,now:a,next:c,ambient:u,counts:{now:typeof s?.now=="number"?s.now:typeof s?.active=="number"?s.active:a?1:0,next:typeof s?.next=="number"?s.next:typeof s?.queued=="number"?s.queued:c.length,ambient:typeof s?.ambient=="number"?s.ambient:u.length,total:typeof s?.total=="number"?s.total:(a?1:0)+c.length+u.length},...i?{review:{...typeof i.lastSeenAt=="string"?{lastSeenAt:i.lastSeenAt}:{},unread:{now:typeof o?.now=="number"?o.now:typeof o?.active=="number"?o.active:0,next:typeof o?.next=="number"?o.next:typeof o?.queued=="number"?o.queued:0,ambient:typeof o?.ambient=="number"?o.ambient:0,total:typeof o?.total=="number"?o.total:0}}}:{},...fn(n.lastEvent)?{lastEvent:{eventType:String(n.lastEvent.eventType),...typeof n.lastEvent.entityId=="string"?{entityId:n.lastEvent.entityId}:{},...typeof n.lastEvent.entityType=="string"?{entityType:n.lastEvent.entityType}:{}}}:{}}}var xs={topology:{supportsAmbient:!0},responses:{supportsSingleChoice:!0,supportsMultipleChoice:!1,supportsForm:!1,supportsTextResponse:!0}};var xE=100,vl=100,nf=1800*1e3,TE=15e3,Rs=class{sessions=new Map;getHealth(){return{trackedCompanies:this.sessions.size,maxCompanySessions:vl,idleSessionTtlMs:nf,faultedCompanies:[...this.sessions.values()].filter(t=>t.persistence.state==="faulted").length,hostCacheEntries:[...this.sessions.values()].reduce((t,n)=>t+n.hostCache.size,0),cachedReconciliations:[...this.sessions.values()].filter(t=>t.reconciledCandidates!==null).length}}getCoreDiagnostics(t){let n=this.sessions.get(t);if(!n)return null;this.touchSession(n);let s=this.syncSnapshotFromCore(t,n),i=s.now?{taskId:s.now.taskId,interactionId:s.now.interactionId,signalSummary:n.core.getSignalSummary(s.now.taskId),attentionState:n.core.getAttentionState(s.now.taskId)}:null;return{eventCount:n.eventCount,persistence:{...n.persistence},surfaceCapabilities:n.core.getSurfaceCapabilities(),operatorPresence:n.core.getOperatorPresence(),globalSignalSummary:n.core.getSignalSummary(),globalAttentionState:n.core.getAttentionState(),memoryProfile:n.core.snapshotMemoryProfile(s.updatedAt),ledger:CE(n.ledger),host:{cacheEntries:n.hostCache.size,hostDataRevision:n.hostDataRevision,approvalRecords:n.approvals.records?.length??0,approvalsDirty:n.approvals.dirty,approvalAdapterLastLoadedAt:n.approvals.lastLoadedAt,approvalAdapterLastError:n.approvals.lastError},currentNowTask:i}}hasSession(t){return this.sessions.has(t)}hydrate(t,n){let s=this.sessions.get(t);if(s)return this.touchSession(s),{snapshot:s.snapshot??Se(t,s.core.getAttentionView()),review:s.review};let i=this.buildSession(t,n);return this.sessions.set(t,i),this.pruneSessions(),{snapshot:i.snapshot??Se(t,i.core.getAttentionView()),review:i.review}}ingest(t,n,s){let i=this.ensureSession(t),o=i.core.publish(n);return i.eventCount+=1,i.snapshot=Se(t,i.core.getAttentionView(),s),{frame:o,snapshot:i.snapshot}}submit(t,n,s){let i=this.ensureSession(t);return i.core.submit(n),i.snapshot=Se(t,i.core.getAttentionView(),s),i.snapshot}getSnapshot(t){let n=this.sessions.get(t);return n?(this.touchSession(n),this.syncSnapshotFromCore(t,n)):null}getLedger(t){let n=this.sessions.get(t);return n&&this.touchSession(n),[...n?.ledger??[]]}getReview(t){let n=this.sessions.get(t);return n?(this.touchSession(n),n.review):null}hasPendingPersistence(t){return this.sessions.get(t)?.pendingPersistence??!1}markPersistencePending(t){let n=this.ensureSession(t);n.pendingPersistence=!0}getPersistableState(t){let n=this.sessions.get(t);return n?(this.touchSession(n),{ledger:this.getLedger(t),snapshot:this.syncSnapshotFromCore(t,n),review:n.review}):null}setReview(t,n){let s=this.ensureSession(t);return s.review=n,this.invalidateReconciled(t),s.review}getTraces(t){let n=this.sessions.get(t);return n&&this.touchSession(n),[...n?.traces??[]]}getCachedReconciledCandidates(t,n){let s=this.sessions.get(t);s&&this.touchSession(s);let i=s?.reconciledCandidates;return!i||i.key!==n?null:i.expiresAt<=Date.now()?(s&&(s.reconciledCandidates=null,s.hostDataRevision+=1),null):[...i.candidates]}setCachedReconciledCandidates(t,n,s){let i=this.ensureSession(t);return i.reconciledCandidates={key:n,candidates:[...s],expiresAt:Date.now()+TE},[...s]}getReconciledRevision(t){return this.sessions.get(t)?.hostDataRevision??0}invalidateReconciled(t){let n=this.sessions.get(t);n&&(n.reconciledCandidates=null,n.hostDataRevision+=1)}getCachedHostValue(t,n){let s=this.sessions.get(t);if(!s)return null;this.touchSession(s);let i=s.hostCache.get(n);return i?i.expiresAt<=Date.now()?(s.hostCache.delete(n),null):i.value:null}setCachedHostValue(t,n,s,i){return this.ensureSession(t).hostCache.set(n,{value:s,expiresAt:Date.now()+Math.max(1,i)}),s}invalidateHostCache(t,n={}){let s=this.sessions.get(t);if(!s)return;let{keys:i=[],prefixes:o=[],bumpRevision:a=!0}=n;for(let c of i)s.hostCache.delete(c);if(o.length>0)for(let c of[...s.hostCache.keys()])o.some(u=>c.startsWith(u))&&s.hostCache.delete(c);a&&this.invalidateReconciled(t)}getApprovals(t){return this.sessions.get(t)?.approvals.records??null}setApprovals(t,n){let s=this.ensureSession(t);return s.approvals={records:[...n],dirty:!1,lastLoadedAt:new Date().toISOString(),lastError:void 0},[...n]}approvalsDirty(t){let n=this.sessions.get(t);return n&&this.touchSession(n),n?.approvals.dirty??!0}invalidateApprovals(t){let n=this.sessions.get(t);n&&(n.approvals={records:n.approvals.records,dirty:!0,lastLoadedAt:n.approvals.lastLoadedAt,lastError:n.approvals.lastError})}markApprovalAdapterFailure(t,n){let s=this.ensureSession(t);s.approvals={records:s.approvals.records,dirty:!0,lastLoadedAt:s.approvals.lastLoadedAt,lastError:n}}restore(t,n){let s=this.buildSession(t,n,this.sessions.get(t));return this.sessions.set(t,s),{snapshot:s.snapshot??Se(t,s.core.getAttentionView()),review:s.review}}markPersistenceHealthy(t){let n=this.sessions.get(t);n&&(n.pendingPersistence=!1,n.persistence={state:"healthy",updatedAt:new Date().toISOString()})}markPersistenceFault(t,n){let s=this.ensureSession(t);s.persistence={state:"faulted",updatedAt:new Date().toISOString(),lastError:n}}appendLedgerEntry(t,n){let s=this.ensureSession(t);return s.ledger=[...s.ledger,n],this.getLedger(t)}applyEvent(t,n){let s=this.ensureSession(t),i=s.ledger,o=s.snapshot,a=s.eventCount;s.ledger=[...s.ledger,n];try{let c=n.sourceEvent?s.core.publishSourceEvent(n.sourceEvent):s.core.publish(n.apertureEvent);return s.eventCount+=1,s.snapshot=Se(t,s.core.getAttentionView(),n.source,n.occurredAt),s.reconciledCandidates=null,{frame:c,ledger:this.getLedger(t),snapshot:s.snapshot}}catch(c){throw s.ledger=i,s.snapshot=o,s.eventCount=a,c}}applyResponse(t,n){let s=this.ensureSession(t),i=s.ledger,o=s.snapshot,a=s.eventCount;s.ledger=[...s.ledger,n];try{return s.core.submit(n.apertureResponse),s.snapshot=Se(t,s.core.getAttentionView(),n.source,n.occurredAt),s.reconciledCandidates=null,{ledger:this.getLedger(t),snapshot:s.snapshot}}catch(c){throw s.ledger=i,s.snapshot=o,s.eventCount=a,c}}applyOverlayResponse(t,n){let s=this.ensureSession(t);return s.ledger=[...s.ledger,n],s.reconciledCandidates=null,{ledger:this.getLedger(t),snapshot:this.syncSnapshotFromCore(t,s)}}applySignal(t,n){let s=this.ensureSession(t),i=this.syncSnapshotFromCore(t,s);s.ledger=[...s.ledger,n],s.core.recordSignal(n.apertureSignal);let o=this.syncSnapshotFromCore(t,s);return{ledger:this.getLedger(t),snapshot:o,changed:!Ts(i,o)}}replaceLedger(t,n){let s=this.ensureSession(t);return s.ledger=[...n],s.reconciledCandidates=null,this.getLedger(t)}rebuildFromLedger(t,n){let s=this.sessions.get(t)?.review??Q(t),i=this.buildSession(t,{ledger:n,review:s},this.sessions.get(t));return this.sessions.set(t,i),i.snapshot??Se(t,i.core.getAttentionView())}getCompanyCount(){return this.sessions.size}engage(t,n,s,i={}){let o=this.ensureSession(t),a=this.syncSnapshotFromCore(t,o);o.core.engage(n,s,i);let c=this.syncSnapshotFromCore(t,o);return{snapshot:c,changed:!Ts(a,c)}}markViewed(t,n,s,i={}){let o=this.ensureSession(t),a=this.syncSnapshotFromCore(t,o);o.core.markViewed(n,s,i);let c=this.syncSnapshotFromCore(t,o);return{snapshot:c,changed:!Ts(a,c)}}markContextExpanded(t,n,s,i={}){let o=this.ensureSession(t),a=this.syncSnapshotFromCore(t,o);o.core.markContextExpanded(n,s,i);let c=this.syncSnapshotFromCore(t,o);return{snapshot:c,changed:!Ts(a,c)}}setOperatorPresence(t,n){let s=this.ensureSession(t);return s.core.setOperatorPresence(n),this.touchSession(s),s.core.getOperatorPresence()}ensureSession(t){let n=this.sessions.get(t);return n?(this.touchSession(n),n):(n=this.createSession(t),this.sessions.set(t,n),this.pruneSessions(),n)}buildSession(t,n,s){let i=this.createSession(t);if(i.ledger=[...n.ledger],i.review=n.review??Q(t),i.approvals={records:s?.approvals.records?[...s.approvals.records]:null,dirty:s?.approvals.dirty??!0,lastLoadedAt:s?.approvals.lastLoadedAt,lastError:s?.approvals.lastError},i.hostCache=s?new Map(s.hostCache):new Map,i.hostDataRevision=s?.hostDataRevision??0,i.persistence=s?.persistence??kl(),i.traces=s?[...s.traces]:[],n.ledger.length>0){let o,a;for(let c of n.ledger)o=c.source,a=c.occurredAt,c.kind==="event"?(c.sourceEvent?i.core.publishSourceEvent(c.sourceEvent):i.core.publish(c.apertureEvent),i.eventCount+=1):c.kind==="response"?i.core.submit(c.apertureResponse):c.kind==="signal"&&i.core.recordSignal(c.apertureSignal);i.snapshot=Se(t,i.core.getAttentionView(),o,a)}else i.snapshot=n.snapshot??Se(t,i.core.getAttentionView());return i.persistence=s?.persistence?.state==="faulted"?s.persistence:kl(),i}createSession(t){let n=new Xg({surfaceCapabilities:xs}),s=Date.now(),i={core:n,snapshot:null,ledger:nt(),review:Q(t),pendingPersistence:!1,eventCount:0,traces:[],reconciledCandidates:null,approvals:{records:null,dirty:!0},hostCache:new Map,hostDataRevision:0,persistence:kl(),lastTouchedAt:s};return n.onTrace(o=>{i.traces=[...i.traces.slice(-(xE-1)),o]}),i}touchSession(t){t.lastTouchedAt=Date.now()}pruneSessions(){let t=Date.now();for(let[s,i]of this.sessions.entries())t-i.lastTouchedAt>nf&&this.sessions.delete(s);if(this.sessions.size<=vl)return;let n=[...this.sessions.entries()].sort((s,i)=>s[1].lastTouchedAt-i[1].lastTouchedAt);for(;this.sessions.size>vl&&n.length>0;){let[s]=n.shift();this.sessions.delete(s)}}syncSnapshotFromCore(t,n){let s=n.core.getAttentionView(),i=n.snapshot;if(i&&RE(i,s))return i;let o=Se(t,s,i?.lastEvent);return n.snapshot=o,o}};function Ts(e,t){return!e||!t?e===t:e.now?.interactionId===t.now?.interactionId&&Cs(e.next,t.next)&&Cs(e.ambient,t.ambient)}function RE(e,t){return e.now?.interactionId===t.now?.interactionId&&Cs(e.next,t.next)&&Cs(e.ambient,t.ambient)}function Cs(e,t){return e.length===t.length&&e.every((n,s)=>n.interactionId===t[s]?.interactionId)}function CE(e){return{entries:e.length,eventEntries:e.filter(t=>t.kind==="event").length,responseEntries:e.filter(t=>t.kind==="response").length,overlayResponseEntries:e.filter(t=>t.kind==="overlay-response").length,signalEntries:e.filter(t=>t.kind==="signal").length,replayStrategy:"full-ledger",compactionRecommended:e.length>2e3}}function kl(){return{state:"healthy",updatedAt:new Date().toISOString()}}function rt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Ne(e){return typeof e=="string"&&e.trim().length>0?e:void 0}function _l(e){return e===null?null:Ne(e)}function Ps(e){if(!Array.isArray(e))return;let t=e.filter(n=>typeof n=="string"&&n.trim().length>0);return t.length>0?t:void 0}function PE(e){if(!Array.isArray(e))return;let t=e.filter(n=>{if(typeof n!="object"||n===null)return!1;let s=n;return s.kind==="same_issue"||s.kind==="resolves"||s.kind==="supersedes"||s.kind==="repeats"||s.kind==="escalates"});return t.length>0?t:void 0}function er(e){let t=rt(e.metadata),n=rt(t?.attention),s=rt(t?.semantic),i=rt(t?.episode),o=rt(t?.issueIntelligence),a=rt(t?.decision);return{entityType:Ne(t?.entityType),issueStatus:Ne(t?.issueStatus),issuePriority:Ne(t?.issuePriority),approvalStatus:Ne(t?.approvalStatus),approvalType:Ne(t?.approvalType),agentStatus:Ne(t?.agentStatus),pauseReason:_l(t?.pauseReason),liveReconciled:typeof t?.liveReconciled=="boolean"?t.liveReconciled:void 0,activityPath:Ne(t?.activityPath),attention:n?{rationale:Ps(n.rationale)}:void 0,semantic:s?{confidence:s.confidence==="low"||s.confidence==="medium"||s.confidence==="high"?s.confidence:void 0,relationHints:PE(s.relationHints)}:void 0,episode:i?{size:typeof i.size=="number"?i.size:void 0,state:Ne(i.state)}:void 0,issueIntelligence:o?{matchedRuleIds:Ps(o.matchedRuleIds),owner:_l(o.owner),ownerKind:o.ownerKind==="agent"||o.ownerKind==="human"?o.ownerKind:o.ownerKind===null?null:void 0,blockingTarget:_l(o.blockingTarget)}:void 0,decision:a?{owner:a.owner==="aperture_core"||a.owner==="paperclip_reconciliation"||a.owner==="approval_overlay"||a.owner==="display_merge"?a.owner:void 0,lane:a.lane==="now"||a.lane==="next"||a.lane==="ambient"?a.lane:void 0,sourcePolicy:Ne(a.sourcePolicy),rationale:Ps(a.rationale),promotedFromLane:a.promotedFromLane==="next"||a.promotedFromLane==="ambient"?a.promotedFromLane:void 0}:void 0}}function $t(e,t){let n=rt(e.metadata)??{},s=rt(n.decision)??{},i=[...Ps(s.rationale)??[],...t.rationale??[]].filter((o,a,c)=>c.indexOf(o)===a);return{...e,metadata:{...n,decision:{...s,...t,...i.length>0?{rationale:i}:{}}}}}function El(e){return{taskId:e.taskId,interactionId:e.interactionId,response:e.action==="dismiss"?{kind:"dismissed"}:e.action==="approve"?{kind:"approved"}:e.action==="reject"?{kind:"rejected"}:e.action==="request-revision"?{kind:"rejected",reason:"revision requested"}:{kind:"acknowledged"}}}function Al(e,t){let n=e.trim();if(!n)throw new Error(`${t} is required.`);return n}function rf(e){try{let t=decodeURIComponent(e);return t.trim().length>0?t:null}catch{return null}}function Le(e,t){let n=Al(e,"task kind"),s=Al(t,"task id");return`${encodeURIComponent(n)}:${encodeURIComponent(s)}`}function tr(e){if(typeof e!="string")return null;let t=e.indexOf(":");if(t<=0||t>=e.length-1)return null;let n=rf(e.slice(0,t)),s=rf(e.slice(t+1));return!n||!s?null:{kind:n,id:s}}function sf(e){return tr(e)?.kind??null}function of(e,t){return tr(e)?.kind===t}function Me(e,t){let n=Al(t,"interaction step");return`${e}:${encodeURIComponent(n)}`}function OE(e){return e instanceof Error?e.message.toLowerCase().includes("private/reserved ranges"):!1}function af(e){let t=typeof e.paperclipApiBase=="string"?e.paperclipApiBase.trim():"";if(t.length===0)return null;let n=new URL(t);if(n.protocol!=="http:"&&n.protocol!=="https:")throw new Error("paperclipApiBase must be an http(s) URL.");return n.toString()}async function cf(e,t,n,s={}){let{expectJson:i=!0,retries:o=0,headers:a,...c}=s,u=af(t);if(!u)throw new Error("Paperclip approval API base is not configured.");let p=new URL(n,u).toString(),m=null;for(let h=0;h<=o;h+=1)try{let f=await e.http.fetch(p,{...c,headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest",...a??{}}});if(!f.ok){let b=await f.text().catch(()=>"");throw new Error(`Request failed (${f.status})${b?`: ${b.trim()}`:""}`)}return i?await f.json():void 0}catch(f){if(m=f instanceof Error?f:new Error(String(f)),h>=o)break;await new Promise(b=>setTimeout(b,250*(h+1)))}throw m??new Error("Request failed.")}async function lf(e,t,n){if(!af(n))return[];try{return await cf(e,n,`/api/companies/${t}/approvals?status=pending`,{method:"GET",retries:2})}catch(s){if(OE(s))return[];throw s}}async function uf(e,t,n,s){let i=n==="request-revision"?`/api/approvals/${t}/request-revision`:`/api/approvals/${t}/${n}`;await cf(e,s,i,{method:"POST",expectJson:!1,headers:{"Content-Type":"application/json"},body:JSON.stringify({})})}var NE=1,LE=2,pf=3;function Os(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function ME(e){return!e||typeof e!="object"?!1:typeof e.eventType=="string"}function DE(e){if(!e||typeof e!="object")return!1;let t=e;return t.kind!=="event"&&t.kind!=="response"&&t.kind!=="overlay-response"&&t.kind!=="signal"||typeof t.id!="string"||typeof t.occurredAt!="string"||!ME(t.source)?!1:t.kind==="event"?!!t.apertureEvent&&typeof t.apertureEvent=="object":t.kind==="response"?!!t.apertureResponse&&typeof t.apertureResponse=="object":t.kind==="overlay-response"?!!t.apertureResponse&&typeof t.apertureResponse=="object"&&!!t.overlay&&typeof t.overlay=="object":!!t.apertureSignal&&typeof t.apertureSignal=="object"}function yn(e){return Array.isArray(e)&&e.every(DE)}function nr(e,t){if(!e||typeof e!="object")return!1;let n=e;return n.companyId!==t||typeof n.updatedAt!="string"||!n.frames||typeof n.frames!="object"?!1:Object.values(n.frames).every(s=>{if(!s||typeof s!="object")return!1;let i=s;return(i.lastSeenAt===void 0||typeof i.lastSeenAt=="string")&&(i.suppressedAt===void 0||typeof i.suppressedAt=="string")})}function mf(e,t){let n=t.snapshot??ue(e),s=t.review??Q(e);return{schemaVersion:pf,payload:{companyId:e,ledger:[...t.ledger],snapshot:n,review:s,meta:Ns(t.ledger)}}}function gf(e,t){let n=Os(t);if(!n)return null;let s=n.schemaVersion;return s===pf||s===LE?df(e,n):s===NE?UE(e,n):s===void 0?FE(e,n):null}function Ns(e,t=new Date().toISOString()){let n=e.length;return{persistedAt:t,ledgerEntries:n,eventEntries:e.filter(s=>s.kind==="event").length,responseEntries:e.filter(s=>s.kind==="response").length,overlayResponseEntries:e.filter(s=>s.kind==="overlay-response").length,signalEntries:e.filter(s=>s.kind==="signal").length,replayStrategy:"full-ledger",compactionRecommended:n>2e3}}function df(e,t){let n=Os(t.payload);if(!n||n.companyId!==e)return null;let s=yn(n.ledger)?n.ledger:nt(),i=hn(e,n.snapshot),o=nr(n.review,e)?n.review:Q(e);return i?{companyId:e,ledger:s,snapshot:i,review:o,meta:jE(n.meta,s)}:null}function UE(e,t){let n=Os(t.payload);if(!n||n.companyId!==e)return null;let s=yn(n.ledger)?n.ledger:nt(),i=hn(e,n.snapshot),o=nr(n.review,e)?n.review:Q(e);return i?{companyId:e,ledger:s,snapshot:i,review:o,meta:Ns(s)}:null}function FE(e,t){if(t.companyId!==e)return null;let n=yn(t.ledger)?t.ledger:nt(),s=hn(e,t.snapshot),i=nr(t.review,e)?t.review:Q(e);return s?{companyId:e,ledger:n,snapshot:s,review:i,meta:Ns(n)}:null}function jE(e,t){let n=Os(e);return n&&typeof n.persistedAt=="string"&&typeof n.ledgerEntries=="number"&&typeof n.eventEntries=="number"&&typeof n.responseEntries=="number"?{persistedAt:n.persistedAt,ledgerEntries:n.ledgerEntries,eventEntries:n.eventEntries,responseEntries:n.responseEntries,overlayResponseEntries:typeof n.overlayResponseEntries=="number"?n.overlayResponseEntries:t.filter(s=>s.kind==="overlay-response").length,signalEntries:typeof n.signalEntries=="number"?n.signalEntries:t.filter(s=>s.kind==="signal").length,replayStrategy:"full-ledger",compactionRecommended:typeof n.compactionRecommended=="boolean"?n.compactionRecommended:t.length>2e3}:Ns(t)}var hf="attention-state",yf="attention-snapshot",Sf="attention-ledger",bf="attention-review",ff="attention-updates",Ls=new Map,wl=[10,30];function ee(e,t){let n=e[t];if(typeof n=="string"&&n.trim().length>0)return n;throw new Error(`${t} is required`)}function G(e){return ee(e,"companyId")}function Ms(e){let t=e instanceof Error?e.message:String(e);return t.includes("invocation scope")||t.includes("not allowed to perform")}async function If(e,t){let n=Ls.get(e)??Promise.resolve(),s,i=new Promise(a=>{s=a}),o=n.catch(()=>{}).then(()=>i);Ls.set(e,o),await n.catch(()=>{});try{return await t()}finally{s(),Ls.get(e)===o&&Ls.delete(e)}}async function rr(e,t){let n=await e.state.get({scopeKind:"company",scopeId:t,stateKey:hf});return gf(t,n)}async function vf(e,t,n){await e.state.set({scopeKind:"company",scopeId:t,stateKey:hf},mf(t,n))}function Bt(e,t){e.streams.open(ff,t.companyId),e.streams.emit(ff,t)}async function kf(e,t,n){return If(n,async()=>{if(!t.hasPendingPersistence(n))return!1;let s=t.getPersistableState(n);if(!s)return!1;try{return await vf(e,n,s),t.markPersistenceHealthy(n),!0}catch(i){let o=i instanceof Error?i.message:String(i);return Ms(i)?e.logger.warn("Aperture pending state could not be persisted in this host callback; will retry from the next scoped invocation.",{companyId:n,error:o}):(t.markPersistenceFault(n,o),e.logger.warn("Failed to persist pending Aperture event state.",{companyId:n,error:o})),!1}})}async function _f(e,t){for(let n=0;n<=wl.length;n+=1)try{await e();return}catch(s){let i=n===wl.length;if(t(s,n+1,i),i)return;await new Promise(o=>{setTimeout(o,wl[n])})}}async function Ht(e,t,n){await _f(async()=>{await e.telemetry.track(t,{surface:"focus",...n??{}})},(s,i,o)=>{e.logger.warn(o?"Failed to emit Focus telemetry after retries":"Retrying Focus telemetry after failure",{eventName:t,attempt:i,error:s instanceof Error?s.message:String(s)})})}async function xl(e,t){await _f(async()=>{await e.activity.log({companyId:t.companyId,message:t.message,...t.entityType?{entityType:t.entityType}:{},...t.entityId?{entityId:t.entityId}:{},...t.metadata?{metadata:t.metadata}:{}})},(n,s,i)=>{e.logger.warn(i?"Failed to write Focus activity log entry after retries":"Retrying Focus activity log entry after failure",{message:t.message,entityType:t.entityType,entityId:t.entityId,attempt:s,error:n instanceof Error?n.message:String(n)})})}async function Vt(e,t,n,s){return If(n,async()=>{let i=await rr(e,n),o=t.getLedger(n),a=t.getSnapshot(n)??ue(n),c=t.getReview(n)??i?.review??Q(n),u=i??{companyId:n,ledger:o,snapshot:a,review:c};try{let p=await s();try{return p.review&&t.setReview(n,p.review),await vf(e,n,{ledger:p.ledger,snapshot:p.snapshot,review:p.review??t.getReview(n)??c}),t.markPersistenceHealthy(n),p}catch(m){throw t.restore(n,u),t.markPersistenceFault(n,m instanceof Error?m.message:String(m)),m}}catch(p){throw t.restore(n,u),p}})}async function Ds(e,t,n){let s=t.getReview(n);if(s)return s;let i=await rr(e,n);return i?.review?i.review:Q(n)}function Us(e,t,n,s=!1){let i=new Date().toISOString(),o={...e,updatedAt:i,lastSeenAt:i,frames:{...e.frames}};for(let a of n){let c=o.frames[a]??{};o.frames[a]={...c,lastSeenAt:i,...s?{suppressedAt:i}:{}}}return o}function qE(e,t){return e?[...e.now?[e.now]:[],...e.next,...e.ambient].some(s=>s.taskId===t):!1}function Ef(e){return sf(e)??"unknown"}function $E(e,t){return e?e.now?.taskId===t?"now":e.next.some(n=>n.taskId===t)?"next":e.ambient.some(n=>n.taskId===t)?"ambient":"ui_only":"ui_only"}function Tl(e){let t=e.occurredAt??new Date().toISOString();return{kind:"signal",id:`${e.taskId}:${e.signal.kind}:${t}`,occurredAt:t,source:{eventType:e.sourceEventType,entityId:e.sourceEntityId??e.taskId,entityType:Ef(e.taskId)},apertureSignal:{...e.signal,taskId:e.taskId,interactionId:e.interactionId,timestamp:t}}}function sr(e,t){let n=$E(e,t),s=Ef(t),i=n==="ui_only"?null:n==="now"?e?.now??null:n==="next"?e?.next.find(a=>a.taskId===t)??null:e?.ambient.find(a=>a.taskId===t)??null,o={entityType:s,lane:n};if(i?.mode&&(o.mode=i.mode),i?.source?.kind&&(o.sourceKind=i.source.kind),i){let a=er(i);typeof a.liveReconciled=="boolean"&&(o.liveReconciled=a.liveReconciled)}return o}function BE(e){let t=tr(e);return t?.kind==="approval"?t.id:null}function Af(e,t){e.actions.register("set-focus-presence",async n=>{let s=G(n),o=ee(n,"presence")==="absent"?"absent":"present";return{ok:!0,operatorPresence:t.setOperatorPresence(s,o)}}),e.actions.register("mark-attention-viewed",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=typeof n.surface=="string"&&n.surface.trim().length>0?n.surface.trim():"focus",c=t.getSnapshot(s),u=Tl({taskId:i,interactionId:o,sourceEventType:"plugin.local.viewed",signal:{kind:"viewed",surface:a}}),{snapshot:p,changed:m}=await Vt(e,t,s,()=>{let{ledger:h,snapshot:f,changed:b}=t.applySignal(s,u);return{ledger:h,snapshot:f,changed:b}});return m&&Bt(e,{companyId:s,reason:"action",eventType:"plugin.local.viewed",updatedAt:p.updatedAt,counts:p.counts}),await Ht(e,"frame_viewed",{...sr(c,i),surface:a}),{ok:!0,snapshot:p,changed:m}}),e.actions.register("engage-focus",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=typeof n.durationMs=="number"&&Number.isFinite(n.durationMs)?Math.max(25,Math.floor(n.durationMs)):void 0,c=typeof n.reason=="string"&&n.reason.trim().length>0?n.reason.trim():"operator_interaction",u=t.getSnapshot(s),p=new Date().toISOString(),m=[Tl({taskId:i,interactionId:o,occurredAt:p,sourceEventType:"plugin.local.engage.viewed",signal:{kind:"viewed",surface:"focus"}}),...c==="show_context"||c==="comment_compose"?[Tl({taskId:i,interactionId:o,occurredAt:p,sourceEventType:"plugin.local.engage.context_expanded",signal:{kind:"context_expanded",surface:"focus",section:c==="show_context"?"now_context":"comment_compose"}})]:[]],{snapshot:h,changed:f}=await Vt(e,t,s,()=>{let b=t.engage(s,i,o,{durationMs:a}),v=t.getLedger(s),N=b.snapshot,K=!1;for(let $ of m){let q=t.applySignal(s,$);v=q.ledger,N=q.snapshot,K||=q.changed}return{ledger:v,snapshot:N,changed:b.changed||K}});return f&&Bt(e,{companyId:s,reason:"action",eventType:"plugin.local.engage",updatedAt:h.updatedAt,counts:h.counts}),await Ht(e,"focus_engaged",{...sr(u,i),actionKind:"engage",reason:c,...a?{durationMs:a}:{}}),{ok:!0,snapshot:h,changed:f}}),e.actions.register("acknowledge-frame",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=El({taskId:i,interactionId:o,action:"acknowledge"}),c={kind:"response",id:`${i}:acknowledge:${Date.now()}`,occurredAt:new Date().toISOString(),source:{eventType:"plugin.local.acknowledge",entityId:i},apertureResponse:a},u=t.getSnapshot(s),p=await Ds(e,t,s),m=Us(p,s,[i],!0),{snapshot:h}=await Vt(e,t,s,()=>{let{ledger:f,snapshot:b}=t.applyResponse(s,c);return{ledger:f,snapshot:b,review:m}});return Bt(e,{companyId:s,reason:"action",eventType:"plugin.local.acknowledge",updatedAt:h.updatedAt,counts:h.counts}),await Ht(e,"frame_acknowledged",{...sr(u,i)}),{ok:!0,snapshot:h}}),e.actions.register("comment-on-issue",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"issueId"),a=ee(n,"body").trim(),c=tr(i);if(!c||c.kind!=="issue")throw new Error("Comments can only be posted on issue-backed frames.");if(c.id!==o)throw new Error("Issue comment target does not match the selected frame.");let u=await e.issues.createComment(o,a,s),p=t.getSnapshot(s),m=await Ds(e,t,s),h=Us(m,s,[i],!1),{snapshot:f}=await Vt(e,t,s,()=>(t.invalidateHostCache(s,{keys:[`issue:${o}:detail`,`issue:${o}:comments`],prefixes:["issues:blocked","issues:in_review"]}),t.setReview(s,h),{ledger:t.getLedger(s),snapshot:t.getSnapshot(s)??ue(s),review:h}));return Bt(e,{companyId:s,reason:"action",eventType:"plugin.local.comment",updatedAt:f.updatedAt,counts:f.counts}),await Ht(e,"issue_comment_submitted",{...sr(p,i),actionKind:"comment"}),await xl(e,{companyId:s,message:"Posted an issue comment from Focus.",entityType:"issue",entityId:o,metadata:{source:"focus",taskId:i}}),{ok:!0,comment:u,review:h}}),e.actions.register("record-approval-response",async n=>{let s=G(n),i=ee(n,"taskId"),o=ee(n,"interactionId"),a=ee(n,"decision");if(!of(i,"approval"))throw new Error("Approval responses can only be recorded for approval-backed frames.");if(!["approve","reject","request-revision"].includes(a))throw new Error("decision must be approve, reject, or request-revision.");let c=El({taskId:i,interactionId:o,action:a}),u={kind:"response",id:`${i}:${a}:${Date.now()}`,occurredAt:new Date().toISOString(),source:{eventType:`plugin.local.approval.${a}`,entityId:i},apertureResponse:c},p=BE(i);if(!p)throw new Error("Approval responses require a durable approval id.");let m=await e.config.get();await uf(e,p,a,m),t.invalidateApprovals(s);let h=await Ds(e,t,s),f=Us(h,s,[i],!0),b=t.getSnapshot(s),v=qE(b,i),{snapshot:N}=await Vt(e,t,s,()=>{if(v){let{ledger:M,snapshot:ot}=t.applyResponse(s,u);return{ledger:M,snapshot:ot,review:f}}let K={kind:"overlay-response",id:u.id,occurredAt:u.occurredAt,source:u.source,apertureResponse:u.apertureResponse,overlay:{kind:"approval_overlay",reason:"Approval frame came from the Paperclip approvals display adapter, not the replayed Core snapshot."}},{ledger:$,snapshot:q}=t.applyOverlayResponse(s,K);return{ledger:$,snapshot:q,review:f}});return Bt(e,{companyId:s,reason:"action",eventType:`plugin.local.approval.${a}`,updatedAt:N.updatedAt,counts:N.counts}),await Ht(e,"approval_response_recorded",{...sr(b,i),decision:a==="request-revision"?"request_revision":a}),await xl(e,{companyId:s,message:a==="approve"?"Approved a Focus approval.":a==="reject"?"Rejected a Focus approval.":"Requested revision on a Focus approval.",entityType:"approval",entityId:p,metadata:{source:"focus",decision:a,taskId:i}}),{ok:!0,snapshot:N,review:f}}),e.actions.register("mark-attention-seen",async n=>{let s=G(n),i=Array.isArray(n.taskIds)?n.taskIds.filter(u=>typeof u=="string"&&u.trim().length>0):[];if(i.length===0)throw new Error("taskIds must include at least one frame task id.");let o=await Ds(e,t,s),a=Us(o,s,i),{snapshot:c}=await Vt(e,t,s,()=>(t.setReview(s,a),{ledger:t.getLedger(s),snapshot:t.getSnapshot(s)??ue(s),review:a}));return Bt(e,{companyId:s,reason:"action",eventType:"plugin.local.seen",updatedAt:c.updatedAt,counts:c.counts}),await Ht(e,"attention_seen_marked",{frameCount:i.length}),{ok:!0,review:a,snapshot:c}})}var H={approvalType:"approval-type",requestedAmount:"requested-amount",budgetReason:"budget-reason",decisionContext:"decision-context",linkedIssues:"linked-issues",needsActionFrom:"needs-action-from",blockedBy:"blocked-by",blocksTarget:"blocks-target",recommendedMove:"recommended-move",issueStatus:"issue-status",issuePriority:"issue-priority",issueWorkMode:"issue-work-mode",blockedReason:"blocked-reason",blockedSeverity:"blocked-severity",recoveryAction:"recovery-action",documentLock:"document-lock",latestComment:"latest-comment",agentStatus:"agent-status",pauseReason:"pause-reason",agentTitle:"agent-title"};function V(e,t,n){return{id:e,label:t,value:n}}function be(e){return e.split(/[_\-.]/g).filter(Boolean).map(t=>t.slice(0,1).toUpperCase()+t.slice(1)).join(" ")}function Fs(e){return V(H.approvalType,"Type",e)}function js(e){return V(H.requestedAmount,"Requested amount",e)}function qs(e){return V(H.budgetReason,"Reason",e)}function $s(e){return V(H.decisionContext,"Decision context",e)}function wf(e){return V(H.linkedIssues,"Linked issues",e)}function xf(e){return V(H.needsActionFrom,"Needs action from",e)}function Tf(e){return V(H.blockedBy,"Blocked by",e)}function Rf(e){return V(H.blocksTarget,"Blocks",e)}function Cf(e){return V(H.recommendedMove,"Recommended move",e)}function Pf(e){return V(H.issueStatus,"Status",e)}function Of(e){return V(H.issuePriority,"Priority",e)}function Nf(e){return V(H.issueWorkMode,"Mode",e)}function Lf(e){return V(H.blockedReason,"Blocked reason",e)}function Mf(e){return V(H.blockedSeverity,"Severity",e)}function Df(e){return V(H.recoveryAction,"Recovery",e)}function Uf(e){return V(H.documentLock,"Document lock",e)}function Ff(e){return V(H.latestComment,"Latest comment",e)}function jf(e){return V(H.agentStatus,"Status",e)}function qf(e){return V(H.pauseReason,"Pause reason",e)}function $f(e){return V(H.agentTitle,"Role",e)}var HE=300*1e3;function ir(e,t){return e.timing.updatedAt||t}function Bf(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function VE(e,t,n){let s=Bf(ir(e,t)),i=Bf(n);return s===null||i===null?!1:i-s>HE}function Hf(){return{now:0,next:0,ambient:0,total:0}}function Vf(e,t){return e?.frames[t]}function KE(e,t,n){let s=Vf(n,e.taskId)?.suppressedAt;return s?ir(e,t).localeCompare(s)<=0:!1}function Rl(e,t,n){let s=ir(e,t),i=Vf(n,e.taskId)?.lastSeenAt??n?.lastSeenAt;return i?s.localeCompare(i)>0:!0}function zE(e,t){let n=Hf();return e.now&&Rl(e.now,e.updatedAt,t)&&(n.now+=1),n.next=e.next.filter(s=>Rl(s,e.updatedAt,t)).length,n.ambient=e.ambient.filter(s=>Rl(s,e.updatedAt,t)).length,n.total=n.now+n.next+n.ambient,n}function WE(e,t){return{...e,review:{lastSeenAt:t?.lastSeenAt,unread:zE(e,t)}}}function Sn(e,t,n,s,i=new Date().toISOString()){let o=e??{companyId:t,updatedAt:new Date().toISOString(),now:null,next:[],ambient:[],counts:Hf()},a=new Set(n.map(M=>M.frame.taskId)),u=[...[...o.now?[{frame:o.now,lane:"now"}]:[],...o.next.map(M=>({frame:M,lane:"next"})),...o.ambient.map(M=>({frame:M,lane:"ambient"}))].filter(M=>!a.has(M.frame.taskId)),...n].filter(M=>!KE(M.frame,o.updatedAt,s)),p=M=>u.filter(ot=>ot.lane===M).sort((ot,ze)=>ir(ze.frame,o.updatedAt).localeCompare(ir(ot.frame,o.updatedAt))),m=p("now"),h=p("next"),f=p("ambient").filter(M=>!VE(M.frame,o.updatedAt,i)),b=m.shift()??null,v=b?null:h.shift()??null,N=b??v,K=[...m,...h].map(M=>M.frame),$=f.map(M=>M.frame),q=v?$t(v.frame,{owner:"display_merge",lane:"now",sourcePolicy:"mergeStoredFrames.promoteNextWhenNowEmpty",promotedFromLane:"next",rationale:["No explicit now candidate was available, so the highest next candidate became the active focus."]}):N?.frame??null;return WE({...o,now:q,next:K,ambient:$,counts:{now:q?1:0,next:K.length,ambient:$.length,total:(q?1:0)+K.length+$.length}},s)}function Bs(e){return e?"Budget controls are blocking work until a board decision lands.":"A board decision is blocking work in Paperclip."}function or(e){return e?"Budget controls are blocking work until a board decision lands.":"Paperclip is waiting on a human approval before work can continue."}function Kf(e){return e.status==="error"?{whyNow:"This agent is in an error state and may have a failed or stalled run.",factors:["run failed","operator review"]}:e.status==="pending_approval"?{whyNow:"This agent is paused behind a human approval gate.",factors:["pending approval","waiting on human"]}:e.pauseReason==="budget"?{whyNow:"This agent is paused by budget controls.",factors:["budget stop","paused work"]}:{whyNow:"This agent is paused and may represent stale work.",factors:["paused work"]}}function zf(e){return e.status==="error"?"An agent needs operator attention after entering an error state.":e.status==="pending_approval"?"A human decision is required before this agent can continue.":e.pauseReason==="budget"?"Budget controls are holding this agent in a paused state.":"This agent is paused and may need a quick operator check."}function Wf(e){return e.status==="error"?`${e.name} needs attention`:e.status==="pending_approval"?`${e.name} is waiting for approval`:`${e.name} is paused`}function Gf(){return"An agent run failed and may need operator attention."}function Yf(){return"A Paperclip-managed run failed and is now competing for operator attention."}function Zf(){return"Agent waiting for approval"}function Jf(){return"A Paperclip-managed agent cannot continue until a pending approval is resolved."}function Cl(){return"The agent is paused behind a Paperclip approval gate."}function GE(e){let t=e.payload??{},n=typeof t.title=="string"?t.title:typeof t.plan=="string"?t.plan:typeof t.name=="string"?t.name:null;return n||`${be(e.type)} approval`}function Pl(e){return e.type==="budget_override_required"}function YE(e){return e?e.filter(t=>t.status==="pending"||t.status==="revision_requested").sort((t,n)=>{let s=Pl(t)?1:0,i=Pl(n)?1:0;return s!==i?i-s:(n.updatedAt??n.createdAt).localeCompare(t.updatedAt??t.createdAt)}):[]}function ZE(e){let t=Le("approval",e.id),n=e.payload??{},s=Pl(e),i=typeof n.requestedAmount=="string"?n.requestedAmount:void 0,o=typeof n.reason=="string"?n.reason:void 0,a=typeof n.decisionContext=="string"?n.decisionContext:void 0,c=typeof n.summary=="string"?n.summary:Bs(s),u=e.updatedAt??e.createdAt,p={whyNow:or(s),factors:s?["budget stop","approval","operator decision"]:["approval","operator decision"]};return $t({id:`approval-bootstrap:${e.id}`,taskId:t,interactionId:Me(t,"approval"),source:{id:"paperclip:approval",kind:"paperclip",label:"Paperclip approval"},version:1,mode:"approval",tone:"focused",consequence:s?"high":"medium",title:GE(e),summary:c,context:{items:[{...Fs(be(e.type))},...i?[js(i)]:[],...o?[qs(o)]:[],...a?[$s(a)]:[]]},responseSpec:{kind:"approval",actions:[{id:"approve",label:"Approve",kind:"approve",emphasis:"primary"},{id:"reject",label:"Reject",kind:"reject",emphasis:"danger"},...s?[{id:"request-revision",label:"Request revision",kind:"cancel",emphasis:"secondary"}]:[]]},provenance:p,timing:{createdAt:e.createdAt,updatedAt:u},metadata:{entityType:"approval",approvalStatus:e.status,approvalType:e.type,attention:{rationale:p.factors},semantic:{confidence:"high"}}},{owner:"approval_overlay",lane:"next",sourcePolicy:"pendingApprovals.displayOverlay",rationale:["Pending approval fetched from Paperclip approvals adapter."]})}function Ol(e,t,n,s){let i=YE(n).map(ZE),o=e??ue(t);return Sn(o,t,[...i.map(c=>({frame:c,lane:"next"}))],s)}var JE=[{id:"clarification.generic",key:"clarification",pattern:/\b(?:clarification|clarify|question|need(?:s|ed)?\s+(?:info|more|clarification|feedback)|waiting on|feedback needed)\b/i,description:"Signals that the thread is blocked on clarification or more information."},{id:"resolution.direction",key:"resolution",pattern:/final direction|lock these in|use these|not a request for iteration|you can proceed|ready to proceed|unblocked|resolved/i,description:"Signals that the latest guidance appears to resolve or unblock the thread."},{id:"artifact.share_with_board",key:"share_with_board",pattern:/share .* with the board/i,description:"Signals that a review artifact still needs to be shared with the board."},{id:"confirmation.explicit",key:"confirmation",pattern:/please review and confirm|review and confirm|confirm the direction|confirm whether|\bconfirm\b/i,description:"Signals an explicit confirmation step before work can continue."},{id:"board_instruction.explicit",key:"board_instruction",pattern:/(board should either .*?)(?:[.!?]|$)/i,description:"Signals explicit board-facing instructions in the latest operator text."},{id:"dependency.reference",key:"dependency_reference",pattern:/\b[A-Z]+-\d+\b/,description:"Signals a downstream dependency reference in the thread."}];function XE(e){return e.toUpperCase()===e?e:e.slice(0,1).toUpperCase()+e.slice(1).toLowerCase()}function QE(e){return e.toUpperCase()===e?e:e.toLowerCase()}function Ke(e,t=180){let n=e.replace(/\s+/g," ").trim();return n.length<=t?n:`${n.slice(0,t-1).trimEnd()}\u2026`}function eA(e,t){return[t?.body,e.description].filter(n=>!!n).join(`
10
+ `)}function Hs(e){if(!e)return 0;if(e instanceof Date)return e.getTime();let t=Date.parse(e);return Number.isNaN(t)?0:t}function Xf(e){return e?typeof e=="string"?e:e.toISOString():null}function Qf(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function tA(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Vs(e){return Le("issue",e)}function nA(e){let t=new Set,n=[];for(let s of JE)s.pattern.test(e)&&(t.add(s.key),n.push(s.id));return{intents:t,matchedRuleIds:n}}function rA(e,t){let n=t?.toUpperCase();return(e.match(/\b[A-Z]+-\d+\b/g)??[]).find(i=>i.toUpperCase()!==n)??null}function sA(e){return e.replace(/\s+/g," ").trim().match(/(board should either .*?)(?:[.!?]|$)/i)?.[1]??null}function iA(e){return e.has("resolution")||e.has("share_with_board")||e.has("confirmation")||e.has("board_instruction")?"high":e.has("clarification")?"medium":null}function oA(e,t){let n=[],s=t??void 0;return s&&n.push({kind:"same_issue",target:s}),e.has("resolution")?(n.push(s?{kind:"resolves",target:s}:{kind:"resolves"}),n):e.has("share_with_board")||e.has("confirmation")||e.has("board_instruction")?(n.push(s?{kind:"supersedes",target:s}:{kind:"supersedes"}),n):(e.has("clarification")&&n.push(s?{kind:"repeats",target:s}:{kind:"repeats"}),n)}function Nl(e){let{intents:t,matchedRuleIds:n}=nA(e.text);return{text:e.text,blockingTarget:rA(e.text,e.identifier),intents:t,matchedRuleIds:n,explicitBoardInstruction:sA(e.text),semanticConfidence:iA(t),relationHints:oA(t,e.issueTarget)}}function aA(e,t){if(!t||t.agentNames.length===0)return null;let n=e.match(/needed from\s+@([a-z0-9_-]+)/i)??e.match(/@([a-z0-9_-]+)/i);if(n?.[1]){let s=Qf(n[1]),i=t.agentNames.find(o=>Qf(o)===s);if(i)return i}return[...t.agentNames].sort((s,i)=>i.length-s.length).find(s=>new RegExp(`\\b${tA(s)}\\b`,"i").test(e))??null}function eh(e,t,n){let s=eA(e,t),i=Nl({text:s,identifier:e.identifier,issueTarget:Vs(e.id)}),o=aA(s,n),a=s.match(/needed from\s+@([a-z0-9_-]+)/i)??s.match(/@([a-z0-9_-]+)/i),c=o??(a?.[1]?XE(a[1]):/board should|board can/i.test(s)?"Board":/ceo agent|@ceo|\bceo\b/i.test(s)?"CEO":/requires human|waiting on human|human review/i.test(s)?"Human":/operator intervention|operator review/i.test(s)?"Operator":null);return{...i,owner:c,ownerKind:o?"agent":c?"human":null}}function te(e,t){return e.intents.has(t)}function ar(e,t){return t==="agent"?e:QE(e)}function cA(e){return e.length===0?null:[...e].sort((t,n)=>Hs(n.updatedAt)-Hs(t.updatedAt))[0]??null}function th(e,t,n){let s=cA(e),i=Xf(s?.updatedAt),o=Xf(s?.lockedAt),a=t?.updatedAt??null,c=e.filter(u=>!!u.lockedAt);return{hasDocuments:e.length>0,hasLockedDocuments:c.length>0,latestDocumentTitle:s?.title??null,latestDocumentUpdatedAt:i,latestDocumentLockedAt:o,latestDocumentLockOwnerKind:s?.lockedByAgentId?"agent":s?.lockedByUserId?"user":null,latestDocumentLockOwnerId:s?.lockedByAgentId??s?.lockedByUserId??null,resolvesArtifactRequest:te(n,"share_with_board")&&!!s&&(!a||Hs(i)>=Hs(a))}}function nh(e,t,n){let s=t.text.replace(/\s+/g," ").trim();return n?.resolvesArtifactRequest?n.latestDocumentLockedAt?"Monitor the locked review snapshot now that the memo is attached.":"Monitor the review now that the memo is attached.":te(t,"resolution")?"Monitor execution and confirm the team resumes work.":te(t,"share_with_board")?"Share the memo with the board so review can continue.":t.explicitBoardInstruction?Ke(t.explicitBoardInstruction,140):te(t,"confirmation")?t.blockingTarget?`Confirm the direction so ${t.blockingTarget} can proceed.`:"Review the draft and confirm whether work should proceed.":/leave a comment/i.test(s)?"Leave a comment with enough context for work to resume.":/complete [A-Z]+-\d+/i.test(s)?"Complete the blocking dependency or add enough context to proceed.":e.status==="blocked"?"Unblock the dependency or add the missing context needed to continue.":e.status==="in_review"?"Review the issue and decide whether work can continue.":null}function rh(e,t,n){if(n?.resolvesArtifactRequest)return n.latestDocumentLockedAt?"The requested memo is attached and locked, so review should be able to continue from the preserved snapshot.":"The requested memo appears attached, so review should be able to continue.";if(te(t,"resolution"))return"Latest operator guidance appears to unblock this issue.";if(te(t,"share_with_board"))return"Board still needs the memo before review can continue.";if(te(t,"confirmation")&&t.blockingTarget)return`Waiting on confirmation before ${t.blockingTarget} can proceed.`;let s=te(t,"clarification"),i=t.owner;return e.status==="blocked"&&i?s?`Blocked on ${ar(i,t.ownerKind)} clarification before work can continue.`:`Blocked on ${ar(i,t.ownerKind)} action before work can continue.`:e.status==="blocked"?s?"Blocked issue waiting on clarification before work can continue.":"Blocked issue that may need operator intervention to move forward.":e.status==="in_review"?i?`Waiting on ${ar(i,t.ownerKind)} review before work can continue.`:"Issue is waiting on human review before work can continue.":e.description?Ke(e.description):"This issue has new operator-relevant activity."}function sh(e,t,n){if(n?.resolvesArtifactRequest)return{whyNow:n.latestDocumentTitle?n.latestDocumentLockedAt?`${n.latestDocumentTitle} was attached and locked after the request, so the missing artifact appears preserved for review.`:`${n.latestDocumentTitle} was attached after the request, so the missing artifact appears resolved.`:n.latestDocumentLockedAt?"A review document was attached and locked after the request, so the missing artifact appears preserved for review.":"A review document was attached after the request, so the missing artifact appears resolved.",factors:n.latestDocumentLockedAt?["document attached","document locked","review can proceed"]:["document attached","review can proceed"]};if(te(t,"resolution"))return{whyNow:"The latest comment appears to resolve the blocker; monitor execution rather than intervening.",factors:["comment follow-up"]};if(te(t,"share_with_board"))return{whyNow:"The board still needs the memo before review can continue.",factors:["waiting on human","issue review"]};if(te(t,"confirmation")&&t.blockingTarget)return{whyNow:`${t.blockingTarget} is waiting on explicit confirmation before work can continue.`,factors:["waiting on human","issue review"]};let s=t.owner;if(e.status==="blocked"){let i=te(t,"clarification");return{whyNow:s?i?`This issue is blocked on clarification from ${ar(s,t.ownerKind)}.`:`This issue is blocked on action from ${ar(s,t.ownerKind)}.`:i?"This issue is blocked on clarification from a human.":"This issue is blocked and may need operator intervention.",factors:i?["blocked","needs clarification","waiting on human"]:["blocked","operator review"]}}return e.status==="in_review"?{whyNow:"This issue is waiting on human review before work can continue.",factors:["waiting on human","issue review"]}:{whyNow:"A recent issue comment added operator-relevant context.",factors:["comment follow-up"]}}var Ll=6,lA=15e3,uA=15e3,dA=15e3,pA=15e3,mA=15e3;function gA(e,t){let n={...e?{confidence:e}:{},...t.length>0?{relationHints:t}:{}};return Object.keys(n).length>0?n:void 0}function Ee(e){if(e)return typeof e=="string"?e:e.toISOString()}function ih(e){if(!e)return 0;if(e instanceof Date)return e.getTime();let t=Date.parse(e);return Number.isNaN(t)?0:t}function Ks(e){return Ee(e)??null}function ne(e){return be(e).toLowerCase()}function bn(e){return e?.status==="active"||e?.status==="escalated"}function ah(e){return e?e.identifier?`${e.identifier} ${e.title}`:e.title:null}function fA(e){let t=e.owner.label?.trim();return t||(e.owner.type==="unknown"?null:be(e.owner.type))}function hA(e){return bn(e)?e.ownerType==="system"?"System":e.ownerType==="board"?"Board":e.ownerType==="agent"?e.ownerAgentId?`Agent ${e.ownerAgentId}`:"Agent":e.ownerUserId?`User ${e.ownerUserId}`:"User":null}function yA(e){return e.action.label||e.action.detail}function SA(e){return bn(e)?e.nextAction||`Resolve the ${ne(e.kind)} recovery action.`:null}function bA(e){if(e.action.detail)return Ke(e.action.detail);if(e.action.label)return Ke(e.action.label);let t=ah(e.leafIssue??e.sourceIssue);return t?`${t} needs attention before this blocked issue can move.`:`Paperclip marked this blocked issue as ${ne(e.state)}.`}function IA(e){let t=e.nextAction?`: ${Ke(e.nextAction,140)}`:".";return`Paperclip opened a ${ne(e.kind)} recovery action${t}`}function vA(e){let t=e.action.detail||e.action.label;return{whyNow:t?`Paperclip Blocked Inbox marks this as ${ne(e.severity)} urgency for ${ne(e.reason)}: ${Ke(t,140)}`:`Paperclip Blocked Inbox marks this as ${ne(e.severity)} urgency for ${ne(e.reason)}.`,factors:["blocked inbox",ne(e.reason),`${ne(e.severity)} urgency`]}}function kA(e){return{whyNow:e.nextAction?`Paperclip has an ${ne(e.status)} ${ne(e.kind)} recovery action: ${Ke(e.nextAction,140)}`:`Paperclip has an ${ne(e.status)} ${ne(e.kind)} recovery action.`,factors:["recovery action",ne(e.kind),ne(e.status)]}}function _A(e){return e.severity==="critical"||e.severity==="high"?"high":e.severity==="medium"?"medium":"low"}function EA(e,t){return e.blockedInboxAttention?_A(e.blockedInboxAttention):e.activeRecoveryAction?.status==="escalated"||e.activeRecoveryAction?.status==="active"&&e.priority==="critical"?"high":e.status==="blocked"?NA(e):t==="ambient"?"low":"medium"}function AA(e,t){return e.blockedInboxAttention?.severity==="critical"||e.activeRecoveryAction?.status==="escalated"?"critical":e.status==="blocked"?"focused":t==="ambient"?"ambient":"focused"}function wA(e){return ah(e.leafIssue??e.sourceIssue)}function xA(e){return e.latestDocumentLockedAt?`Locked snapshot${e.latestDocumentLockOwnerKind?` by ${e.latestDocumentLockOwnerKind}`:""}`:null}function Ml(e){return e?{id:e.id,identifier:e.identifier,title:e.title,status:e.status,priority:e.priority,assigneeAgentId:e.assigneeAgentId,assigneeUserId:e.assigneeUserId}:null}function TA(e){return{state:e.state,reason:e.reason,severity:e.severity,stoppedSinceAt:e.stoppedSinceAt,owner:e.owner,action:e.action,sourceIssue:Ml(e.sourceIssue),leafIssue:Ml(e.leafIssue),recoveryIssue:Ml(e.recoveryIssue),approvalId:e.approvalId,interactionId:e.interactionId,sampleIssueIdentifier:e.sampleIssueIdentifier,redaction:e.redaction}}function RA(e){return{id:e.id,kind:e.kind,status:e.status,ownerType:e.ownerType,ownerAgentId:e.ownerAgentId,ownerUserId:e.ownerUserId,cause:e.cause,nextAction:e.nextAction,attemptCount:e.attemptCount,maxAttempts:e.maxAttempts,timeoutAt:Ks(e.timeoutAt),lastAttemptAt:Ks(e.lastAttemptAt),outcome:e.outcome,resolvedAt:Ks(e.resolvedAt),updatedAt:Ks(e.updatedAt)}}function CA(e){return e.hasDocuments?{hasDocuments:e.hasDocuments,hasLockedDocuments:e.hasLockedDocuments,latestDocumentTitle:e.latestDocumentTitle,latestDocumentUpdatedAt:e.latestDocumentUpdatedAt,latestDocumentLockedAt:e.latestDocumentLockedAt,latestDocumentLockOwnerKind:e.latestDocumentLockOwnerKind,latestDocumentLockOwnerId:e.latestDocumentLockOwnerId,resolvesArtifactRequest:e.resolvesArtifactRequest}:null}function ch(){return{kind:"acknowledge",actions:[{id:"acknowledge",label:"Acknowledge",kind:"acknowledge",emphasis:"primary"}]}}function PA(e){return e.identifier?`${e.identifier} ${e.title}`:e.title}function OA(e){let t=e.filter(i=>!i.deletedAt);if(t.length===0)return null;let n=[...t].sort((i,o)=>ih(o.updatedAt)-ih(i.updatedAt))[0],s=Ee(n.updatedAt)??Ee(n.createdAt)??new Date(0).toISOString();return{body:Ke(n.body),updatedAt:s}}function NA(e){return e.priority==="critical"||e.priority==="high"?"high":"medium"}function LA(e,t,n){if(e.blockedInboxAttention){let s=e.blockedInboxAttention;return s.severity==="critical"||s.severity==="high"||s.state==="needs_attention"||s.state==="recovery_open"||s.state==="missing_disposition"?"now":"next"}return e.activeRecoveryAction?.status==="escalated"?"now":bn(e.activeRecoveryAction)?e.priority==="critical"||e.priority==="high"?"now":"next":(e.status==="blocked"||e.status==="in_review")&&(te(n.analysis,"resolution")||n.documentSignal.resolvesArtifactRequest)?t||e.isUnreadForMe||n.documentSignal.hasDocuments?"ambient":null:e.status==="blocked"?e.workMode==="planning"?"ambient":e.priority==="critical"?"now":"next":e.status==="in_review"?"next":t||e.isUnreadForMe?"ambient":null}function MA(e){return e.status==="done"||e.status==="cancelled"}function lh(e){return e?.blockedBy.filter(t=>!MA(t))??[]}function uh(e){return lh(e)[0]??null}function Ul(e){return e.identifier?`${e.identifier} ${e.title}`:e.title}function DA(e){let t=lh(e);if(t.length===0)return null;let[n,...s]=t,i=Ul(n);return s.length>0?`${i} +${s.length} more`:i}function UA(e){if(!e||e.blockedBy.length===0&&e.blocks.length===0)return;let t=n=>({id:n.id,identifier:n.identifier,title:n.title,status:n.status,priority:n.priority});return{blockedBy:e.blockedBy.map(t),blocks:e.blocks.map(t)}}function FA(e,t){if(e.blockedInboxAttention)return bA(e.blockedInboxAttention);if(bn(e.activeRecoveryAction))return IA(e.activeRecoveryAction);let n=uh(t.relations);return n?`${Ul(n)} is a tracked blocker for this issue.`:rh(e,t.analysis,t.documentSignal)}function jA(e,t){if(e.blockedInboxAttention)return vA(e.blockedInboxAttention);if(bn(e.activeRecoveryAction))return kA(e.activeRecoveryAction);let n=sh(e,t.analysis,t.documentSignal),s=uh(t.relations);return s?{...n,whyNow:`${Ul(s)} is linked as a blocker in Paperclip.`,factors:[...new Set([...n.factors??[],"blocked by issue relation"])]}:n}function qA(e,t,n){let s=[t?.updatedAt,Ee(e.lastExternalCommentAt),n.latestDocumentUpdatedAt,n.latestDocumentLockedAt,e.blockedInboxAttention?.stoppedSinceAt,Ee(e.activeRecoveryAction?.updatedAt)].filter(i=>!!i).sort();return s.length>0?s.at(-1):Ee(e.updatedAt)??Ee(e.createdAt)??new Date(0).toISOString()}function $A(e,t,n,s,i){let o=eh(e,t,i),a=th(n,t,o),c={analysis:o,documentSignal:a,relations:s},u=LA(e,t,c);if(!u)return null;let p=qA(e,t,a),m=jA(e,c),h=te(o,"resolution")||a.resolvesArtifactRequest?null:e.blockedInboxAttention?fA(e.blockedInboxAttention):hA(e.activeRecoveryAction)??o.owner,f=e.blockedInboxAttention?yA(e.blockedInboxAttention):SA(e.activeRecoveryAction)??nh(e,o,a),b=o.blockingTarget,v=gA(o.semanticConfidence,o.relationHints),N=Le("issue",e.id),K=e.blockedInboxAttention?wA(e.blockedInboxAttention):DA(s),$=UA(s),q=xA(a),M=CA(a);return{lane:u,frame:$t({id:`reconcile:issue:${e.id}:${p}`,taskId:N,interactionId:Me(N,e.status),source:{id:"paperclip:issue",kind:"paperclip",label:"Paperclip issue"},version:1,mode:"status",tone:AA(e,u),consequence:EA(e,u),title:PA(e),summary:FA(e,c),context:{items:[...h?[xf(h)]:[],...K?[Tf(K)]:[],...b?[Rf(b)]:[],...f?[Cf(f)]:[],...e.blockedInboxAttention?[Lf(be(e.blockedInboxAttention.reason)),Mf(be(e.blockedInboxAttention.severity))]:[],...bn(e.activeRecoveryAction)?[Df(be(e.activeRecoveryAction.kind))]:[],...q?[Uf(q)]:[],Pf(e.status.replace(/_/g," ")),Of(e.priority),Nf(be(e.workMode)),...t?[Ff(t.body)]:[]]},responseSpec:ch(),provenance:m,timing:{createdAt:Ee(e.createdAt)??p,updatedAt:p},metadata:{entityType:"issue",issueStatus:e.status,issuePriority:e.priority,issueWorkMode:e.workMode,liveReconciled:!0,activityPath:t?"activity":void 0,attention:{rationale:m.factors??[]},issueIntelligence:{matchedRuleIds:o.matchedRuleIds,owner:o.owner,ownerKind:o.ownerKind,blockingTarget:o.blockingTarget},...e.blockedInboxAttention?{blockedInboxAttention:TA(e.blockedInboxAttention)}:{},...e.activeRecoveryAction?{activeRecoveryAction:RA(e.activeRecoveryAction)}:{},...M?{issueDocuments:M}:{},...$?{issueRelations:$}:{},...v?{semantic:v}:{}}},{owner:"paperclip_reconciliation",lane:u,sourcePolicy:`issue.${e.status}.${e.priority}.${e.workMode}`,rationale:m.factors??[]})}}function BA(e){return e.status==="error"?"now":e.status==="pending_approval"||e.status==="paused"&&e.pauseReason==="budget"?"next":e.status==="paused"?"ambient":null}function HA(e){return Kf(e)}function VA(e){return zf(e)}function KA(e){let t=BA(e);if(!t)return null;let n=Ee(e.updatedAt)??Ee(e.createdAt)??new Date(0).toISOString(),s=HA(e),i=Le("agent",e.id);return{lane:t,frame:$t({id:`reconcile:agent:${e.id}:${n}`,taskId:i,interactionId:Me(i,e.status),source:{id:"paperclip:agent",kind:"paperclip",label:"Paperclip agent"},version:1,mode:"status",tone:e.status==="error"?"critical":e.pauseReason==="budget"||e.status==="pending_approval"?"focused":"ambient",consequence:e.status==="error"||e.pauseReason==="budget"?"high":e.status==="pending_approval"?"medium":"low",title:Wf(e),summary:VA(e),context:{items:[jf(e.status.replace(/_/g," ")),...e.pauseReason?[qf(e.pauseReason)]:[],...e.title?[$f(e.title)]:[]]},responseSpec:ch(),provenance:s,timing:{createdAt:Ee(e.createdAt)??n,updatedAt:n},metadata:{entityType:"agent",agentStatus:e.status,pauseReason:e.pauseReason,liveReconciled:!0,activityPath:e.status==="error"?"activity":void 0,attention:{rationale:s.factors??[]},semantic:{confidence:"high"}}},{owner:"paperclip_reconciliation",lane:t,sourcePolicy:`agent.${e.status}${e.pauseReason?`.${e.pauseReason}`:""}`,rationale:s.factors??[]})}}async function zA(e,t){try{let n=await e.issues.listComments(t.id,t.companyId);return OA(n)}catch(n){return e.logger.warn("Failed to load issue comments during Aperture reconciliation",{issueId:t.id,error:n instanceof Error?n.message:String(n)}),null}}async function cr(e,t,n,s,i,o){if(!i?.fresh){let c=e.getCachedHostValue(t,n);if(c!==null)return c}let a=await o();return e.setCachedHostValue(t,n,a,s)}async function WA(e,t){try{return await e.issues.documents.list(t.id,t.companyId)}catch(n){return e.logger.warn("Failed to load issue documents during Aperture reconciliation",{issueId:t.id,error:n instanceof Error?n.message:String(n)}),[]}}async function GA(e,t){let n=t.blockedBy??[],s=t.blocks??[];if(n.length>0||s.length>0)return{blockedBy:n,blocks:s};try{return await e.issues.relations.get(t.id,t.companyId)}catch(i){return e.logger.warn("Failed to load issue relations during Aperture reconciliation",{issueId:t.id,error:i instanceof Error?i.message:String(i)}),null}}async function Dl(e,t,n){if(e.length===0)return[];let s=new Array(e.length),i=0;async function o(){for(;i<e.length;){let c=i;i+=1,s[c]=await n(e[c],c)}}let a=Math.min(t,e.length);return await Promise.all(Array.from({length:a},()=>o())),s}async function oh(e,t,n,s,i){return cr(t,n,`issues:${s}`,lA,{fresh:i?.freshHostData},async()=>await e.issues.list({companyId:n,status:s,includePluginOperations:!1,limit:25}))}async function YA(e,t,n,s){return cr(t,n,"agents:all",mA,{fresh:s?.freshHostData},async()=>await e.agents.list({companyId:n,limit:100}))}async function ZA(e,t,n,s,i){let[o,a]=await Promise.all([oh(e,t,n,"blocked",i),oh(e,t,n,"in_review",i)]),c=[...o,...a],[u,p,m]=await Promise.all([Dl(c,Ll,f=>cr(t,n,`issue:${f.id}:comments`,uA,{fresh:i?.freshHostData},()=>zA(e,f))),Dl(c,Ll,f=>cr(t,n,`issue:${f.id}:documents`,dA,{fresh:i?.freshHostData},()=>WA(e,f))),Dl(c,Ll,f=>cr(t,n,`issue:${f.id}:relations`,pA,{fresh:i?.freshHostData},()=>GA(e,f)))]),h={agentNames:s.map(f=>f.name).filter(f=>typeof f=="string"&&f.trim().length>0)};return c.map((f,b)=>$A(f,u[b]??null,p[b]??[],m[b]??null,h)).filter(f=>f!==null)}function JA(e){return e.filter(t=>t.status==="pending_approval"||t.status==="error"||t.status==="paused").map(t=>KA(t)).filter(t=>t!==null)}async function dh(e,t,n,s,i){let o=await YA(e,t,n,i),a=s.captureIssueLifecycle===!1?Promise.resolve([]):ZA(e,t,n,o,i),c=Promise.resolve(JA(o)),[u,p]=await Promise.all([a,c]);return[...u,...p]}function Fl(e){let t=[];e.now&&t.push([e.now.taskId,{frame:e.now,lane:"now"}]);for(let n of e.next)t.push([n.taskId,{frame:n,lane:"next"}]);for(let n of e.ambient)t.push([n.taskId,{frame:n,lane:"ambient"}]);return new Map(t)}function ph(e,t,n){return t===n?null:t===null&&n!==null?{stage:e,kind:"introduced",fromLane:t,toLane:n}:t!==null&&n===null?{stage:e,kind:"removed",fromLane:t,toLane:n}:{stage:e,kind:"moved",fromLane:t,toLane:n}}function XA(e,t){return e?"core":t?"reconciled":"display_overlay"}function QA(e,t){if(t==="display_overlay")return er(e).entityType==="approval"?"approval_overlay":"display_overlay"}function jl(e){let t=Fl(e.snapshot),n=Fl(e.reconciledSnapshot),s=Fl(e.displaySnapshot),o=[...new Set([...t.keys(),...n.keys(),...s.keys()])].sort().map(c=>{let u=t.get(c),p=n.get(c),m=s.get(c),h=m?.frame??p?.frame??u?.frame;if(!h)throw new Error(`Overlay diagnostics could not resolve representative frame for ${c}.`);let f=er(h),b=[ph("reconciled",u?.lane??null,p?.lane??null),ph("display",p?.lane??null,m?.lane??null)].filter(N=>N!==null),v=XA(u,p);return{taskId:c,title:h.title,entityType:f.entityType,interactionIds:{...u?{core:u.frame.interactionId}:{},...p?{reconciled:p.frame.interactionId}:{},...m?{display:m.frame.interactionId}:{}},lanePath:{core:u?.lane??null,reconciled:p?.lane??null,display:m?.lane??null},canonicalSource:v,overlayKind:QA(h,v),liveReconciled:f.liveReconciled,attentionRationale:f.attention?.rationale??[],matchedRuleIds:f.issueIntelligence?.matchedRuleIds??[],relationHintKinds:f.semantic?.relationHints?.map(N=>N.kind)??[],decision:f.decision,changes:b}}),a={coreFrames:t.size,reconciledFrames:n.size,displayFrames:s.size,introducedByReconciliation:o.filter(c=>c.changes.some(u=>u.stage==="reconciled"&&u.kind==="introduced")).length,removedByReconciliation:o.filter(c=>c.changes.some(u=>u.stage==="reconciled"&&u.kind==="removed")).length,movedByReconciliation:o.filter(c=>c.changes.some(u=>u.stage==="reconciled"&&u.kind==="moved")).length,introducedByDisplayOverlay:o.filter(c=>c.changes.some(u=>u.stage==="display"&&u.kind==="introduced")).length,removedByDisplayOverlay:o.filter(c=>c.changes.some(u=>u.stage==="display"&&u.kind==="removed")).length,movedByDisplayOverlay:o.filter(c=>c.changes.some(u=>u.stage==="display"&&u.kind==="moved")).length,approvalOverlayFrames:o.filter(c=>c.overlayKind==="approval_overlay").length};return{generatedAt:e.displaySnapshot.updatedAt,summary:a,frames:o}}var mh=250,ew=50,gh=1e3,tw=200;function fh(e){return{eventCount:0,persistence:{state:"healthy"},surfaceCapabilities:xs,operatorPresence:"present",globalSignalSummary:{recentSignals:0,lifetimeSignals:0,counts:{presented:0,viewed:0,responded:0,dismissed:0,deferred:0,contextExpanded:0,contextSkipped:0,timedOut:0,returned:0,attentionShifted:0},deferred:{next:0,suppressed:0,manual:0},responseRate:0,dismissalRate:0,averageResponseLatencyMs:null,averageDismissalLatencyMs:null,lastSignalAt:null},globalAttentionState:"monitoring",memoryProfile:{version:1,operatorId:"unknown",updatedAt:e,sessionCount:0},ledger:{entries:0,eventEntries:0,responseEntries:0,overlayResponseEntries:0,signalEntries:0,replayStrategy:"full-ledger",compactionRecommended:!1},host:{cacheEntries:0,hostDataRevision:0,approvalRecords:0,approvalsDirty:!1},currentNowTask:null}}function zs(e,t){return e?t?e.localeCompare(t)>=0?e:t:e:t}function ql(e,t,n){if(typeof e!="number"||!Number.isFinite(e))return t;let s=Math.trunc(e);return s<=0?t:Math.min(s,n)}function $l(e,t){let n=e.length,s=Math.max(1,t);return n<=s?{items:[...e],total:n,hasMoreBefore:!1}:{items:e.slice(-s),total:n,hasMoreBefore:!0}}function nw(e,t,n){let s=n?{...n,frames:Object.fromEntries(Object.entries(n.frames).map(([i,o])=>[i,{...o}]))}:Q(e);for(let i of t){if(i.kind!=="response"&&i.kind!=="overlay-response")continue;let o=i.occurredAt,a=i.apertureResponse.taskId,c=i.apertureResponse.response.kind,u=s.frames[a]??{};s.frames[a]={...u,lastSeenAt:zs(u.lastSeenAt,o),...c==="acknowledged"||c==="dismissed"?{suppressedAt:zs(u.suppressedAt,o)}:{}},s.lastSeenAt=zs(s.lastSeenAt,o),s.updatedAt=zs(s.updatedAt,o)??o}return s}function hh(e,t){return{baseLedger:e.getLedger(t),snapshot:e.getSnapshot(t)??ue(t),reviewState:e.getReview(t)??Q(t)}}async function st(e,t,n){if(t.hasSession(n))return await kf(e,t,n),hh(t,n);try{let s=await rr(e,n);if(s){let{snapshot:h}=t.hydrate(n,{ledger:s.ledger,snapshot:s.snapshot,review:s.review});return{baseLedger:s.ledger,snapshot:h,reviewState:s.review}}let i=await e.state.get({scopeKind:"company",scopeId:n,stateKey:Sf}),o=await e.state.get({scopeKind:"company",scopeId:n,stateKey:yf}),a=await e.state.get({scopeKind:"company",scopeId:n,stateKey:bf}),c=yn(i)?i:nt(),u=hn(n,o),p=nw(n,c,nr(a,n)?a:null),{snapshot:m}=t.hydrate(n,{ledger:c,snapshot:u,review:p});return!yn(i)&&u&&e.logger.warn("Legacy snapshot found without replay ledger; rebuilt state may be partial until new events arrive.",{companyId:n}),{baseLedger:c,snapshot:m,reviewState:p}}catch(s){if(!Ms(s))throw s;return e.logger.warn("Aperture persisted state unavailable in this host callback; using in-memory attention state.",{companyId:n,error:s instanceof Error?s.message:String(s)}),hh(t,n)}}function rw(e,t,n){return JSON.stringify({reconciliationRevision:e.getReconciledRevision(t),captureIssueLifecycle:n.captureIssueLifecycle!==!1,captureRunFailures:n.captureRunFailures!==!1})}async function Bl(e,t,n,s,i,o={}){let a=await e.config.get(),c=rw(t,n,a);if(o.preferCache&&!o.freshHostData){let m=t.getCachedReconciledCandidates(n,c);if(m)return Sn(s,n,m,i)}let u;try{u=await dh(e,t,n,a,{freshHostData:o.freshHostData})}catch(m){if(!Ms(m))throw m;return e.logger.warn("Aperture host reconciliation unavailable in this host callback; using current attention snapshot.",{companyId:n,error:m instanceof Error?m.message:String(m)}),s}let p=Sn(s,n,u,i);return o.preferCache&&!o.freshHostData&&t.setCachedReconciledCandidates(n,c,u),p}async function Sh(e,t,n){let s=t.getApprovals(n);if(!t.approvalsDirty(n)&&s)return s;let i=await e.config.get();try{let o=await lf(e,n,i);return t.setApprovals(n,o)}catch(o){let a=o instanceof Error?o.message:String(o);return t.markApprovalAdapterFailure(n,a),e.logger.warn("Failed to load pending approvals for Focus display",{companyId:n,error:a}),s||t.setApprovals(n,[])}}async function yh(e,t,n,s,i){let o=await Bl(e,t,n,s,i,{preferCache:!0}),a=await Sh(e,t,n);return{reconciledSnapshot:o,displaySnapshot:Ol(o,n,a,i)}}function bh(e,t){e.data.register("health",async()=>{let n=t.getHealth();return{status:"ok",checkedAt:new Date().toISOString(),trackedCompanies:n.trackedCompanies,maxCompanySessions:n.maxCompanySessions,idleSessionTtlMs:n.idleSessionTtlMs,faultedCompanies:n.faultedCompanies,hostCacheEntries:n.hostCacheEntries,cachedReconciliations:n.cachedReconciliations}}),e.data.register("attention-diagnostics",async n=>{let s=G(n);return await st(e,t,s),t.getCoreDiagnostics(s)??fh(new Date().toISOString())}),e.data.register("attention-overlay-diagnostics",async n=>{let s=G(n),{snapshot:i,reviewState:o}=await st(e,t,s),{reconciledSnapshot:a,displaySnapshot:c}=await yh(e,t,s,i,o);return jl({snapshot:i,reconciledSnapshot:a,displaySnapshot:c})}),e.data.register("attention-summary",async n=>{let s=G(n),{snapshot:i,reviewState:o}=await st(e,t,s);return await Bl(e,t,s,i,o,{freshHostData:!0})??ue(s)}),e.data.register("attention-display",async n=>{let s=G(n),{snapshot:i,reviewState:o}=await st(e,t,s),{displaySnapshot:a}=await yh(e,t,s,i,o);return{companyId:s,snapshot:a??ue(s),reviewState:o}}),e.data.register("attention-export",async n=>{let s=G(n),i=ql(n.limit,mh,gh),o=ql(n.traceLimit,ew,tw),a=new Date().toISOString(),{baseLedger:c,snapshot:u,reviewState:p}=await st(e,t,s),m=await Bl(e,t,s,u,p,{freshHostData:!0}),h=await Sh(e,t,s),f=Ol(m,s,h,p),b=$l(c,i),v=$l(t.getTraces(s),o);return{companyId:s,exportedAt:a,ledger:b.items,eventEntries:b.items.filter(N=>N.kind==="event"),responseEntries:b.items.filter(N=>N.kind==="response"),overlayResponseEntries:b.items.filter(N=>N.kind==="overlay-response"),signalEntries:b.items.filter(N=>N.kind==="signal"),traces:v.items,window:{entryLimit:i,traceLimit:o,totalLedgerEntries:b.total,returnedLedgerEntries:b.items.length,totalTraces:v.total,returnedTraces:v.items.length,hasMoreBefore:b.hasMoreBefore||v.hasMoreBefore},snapshot:u,reconciledSnapshot:m,displaySnapshot:f,review:p,coreDiagnostics:t.getCoreDiagnostics(s)??fh(a),overlayDiagnostics:jl({snapshot:u,reconciledSnapshot:m,displaySnapshot:f})}}),e.data.register("attention-traces",async n=>{let s=G(n);return await st(e,t,s),t.getTraces(s)}),e.data.register("attention-replay-scenario",async n=>{let s=G(n),i=ql(n.limit,mh,gh),{baseLedger:o,snapshot:a}=await st(e,t,s),c=$l(o,i);return{id:`paperclip-attention-${s}`,title:`Paperclip attention replay for ${s}`,description:"Replay scenario exported from the Paperclip Aperture plugin ledger.",doctrineTags:["paperclip","aperture","replay-export"],window:{entryLimit:i,totalLedgerEntries:c.total,returnedSteps:c.items.length,hasMoreBefore:c.hasMoreBefore},expectations:{finalNowInteractionId:a.now?.interactionId??null,nextInteractionIds:a.next.map(u=>u.interactionId),ambientInteractionIds:a.ambient.map(u=>u.interactionId),resultLaneCounts:{now:a.counts.now,next:a.counts.next,ambient:a.counts.ambient}},steps:c.items.map(u=>u.kind==="event"?{kind:"publish",event:u.apertureEvent,label:`${u.source.eventType} @ ${u.occurredAt}`}:u.kind==="response"?{kind:"submit",response:u.apertureResponse,label:`${u.source.eventType} @ ${u.occurredAt}`}:u.kind==="signal"?{kind:"signal",signal:u.apertureSignal,label:`${u.source.eventType} @ ${u.occurredAt}`}:{kind:"overlay-response",response:u.apertureResponse,overlay:u.overlay,label:`${u.source.eventType} @ ${u.occurredAt}`})}}),e.data.register("attention-review",async n=>{let s=G(n),{reviewState:i}=await st(e,t,s);return i})}var sw=["need your input","need your approval","need your review","need your sign off","need your sign-off","should i continue","can you approve","can you review","what should i do"],Eh=["no action needed","no approval needed","approval is not needed","approval not needed","sign off not needed","sign-off not needed","no input needed","for awareness only","for your awareness","continuing automatically"],iw=["cannot continue","can't continue","cannot proceed","can't proceed","unable to continue","unable to proceed","blocked on","blocked until","stuck on","requires operator input before continuing","needs operator input before continuing","must be provided before continuing"],ow=["waiting for approval","approval required","awaiting approval","waiting on approval","pending approval","waiting for input","awaiting input","waiting on input","awaiting review","waiting for review"],aw=["production","prod","force push","git push --force","rm -rf","drop table","delete database","delete prod","sudo","chmod 777","kill process","migrate"],cw=["result of running cat -n","result of running sed -n","result of running grep","result of running ls","result of running find","here s the result of running cat -n","here s the result of running sed -n"],lw=["observation","contents of","showing first","showing top","found"],uw=["path","type file","content"],dw=["ran successfully and did not produce any output","command ran successfully and did not produce any output","completed successfully and did not produce any output"],pw=["tool-output","dmesg"],mw=["makefile","spdx-license-identifier","patchlevel","sublevel","extraversion"],gw=/(?:^|\s)\/[a-z0-9._-]+(?:\/[a-z0-9._-]+)+(?:\s|$)/,fw=/\bfound\s+\d+\s+match(?:es)?\b|\bshowing\s+(?:first|top)\s+\d+\b|\bmatch(?:es)?\s+in\s+\d+\s+files?\b/,hw=/\b(import|from|export|class|def|function|const|let|var|return)\b/,yw=/\b\d+\s+(?:import|from|export|class|def|function|const|let|var|return)\b/,Sw=/\/[a-z0-9._/-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)(?:\b|\/)/,bw=/\b[a-z0-9.-]+\.(?:c|cc|cpp|cxx|h|hpp|ts|tsx|js|jsx|py|rb|go|rs|java|kt|swift)\b/,Iw=/\b(static|struct|enum|typedef|void|int|char|bool|return)\b/,vw=/\b\d+\s+(?:static|struct|enum|typedef|void|int|char|bool|return)\b/,kw=/\b\d+\s+\[\s*\d+\.\d+\]\s+[a-z0-9_.:-]+/,_w=/\b(?:version|patchlevel|sublevel|extraversion)\b/,Ew=["form is valid false","form without instance is valid false","form errors","errorlist","decompress result"],Aw=["traceback","exception","permission denied","command not found","segmentation fault"],ww=["still","again","back again","came back","continues","continuing","returned","returning","remains","persisting","retrying","recurred"],xw=["did not repeat","didn t repeat","did not return","didn t return","did not recur","didn t recur","not repeated","not returning","not recurring","no repeat"],Tw=["resolved","fixed","unblocked","no longer blocked"],Ih=["not resolved","did not resolve","didn t resolve","not fixed","did not fix","didn t fix","not recovered","did not recover","didn t recover"],Rw=["recovered","completed successfully","succeeded after"],vh=["instead","supersedes","superseded","replaced by","use this plan instead","follow this plan instead"],Cw=["worse","worsened","escalating","regression","regressed","spread","broader impact","degraded further","critical now","now failing"],Pw=["did not regress","didn t regress","no regression","not worsening","did not worsen","didn t worsen","not escalating","did not escalate","didn t escalate"],Ow=["fail","failed","failing","failure","error","broken","blocked","stalled","stall","incident","issue","outage","degraded","regression","retry","rollback"];function mr(e){return e.toLowerCase().replace(/[^a-z0-9/._-]+/g," ").trim()}function Vl(e){return[...new Set(e)]}function Ah(e){return Hl(e.toolFamily)??Hl(zw(e.metadata))??Hl(Ww(e.context))}function Nw(e){let t=Ah(e);if(t)return t;let n=mr(`${e.title} ${e.summary??""}`);return De(n,"wants to read")||De(n,"wants to inspect")||ur(n,"read")||ur(n,"inspect")?"read":De(n,"wants to write")||ur(n,"write")?"write":De(n,"wants to edit")||ur(n,"edit")?"edit":De(n,"shell command")||De(n,"wants to run")?"bash":De(n,"search the web")?"web":De(n,"search files")||De(n,"search file contents")?"search":null}function Lw(e){return U(e,Eh)?!1:U(e,sw)}function Mw(e){return U(e,Eh)?null:U(e,iw)?"blocking":U(e,ow)?"waiting":null}function wh(e){let t=[],n=U(e,ww)&&!U(e,xw),s=U(e,Tw)&&!U(e,Ih),i=U(e,Rw)&&!U(e,Ih),o=U(e,Cw)&&!U(e,Pw),a=U(e,Ow)||U(e,vh)||o;return n&&a&&t.push({kind:"same_issue"},{kind:"repeats"}),(s||i&&a)&&t.push({kind:"same_issue"},{kind:"resolves"}),U(e,vh)&&t.push({kind:"same_issue"},{kind:"supersedes"}),o&&t.push({kind:"same_issue"},{kind:"escalates"}),Yw(t)}function lr(e,t,n){return Gw(e)||n==="read"||n==="search"?t:jw(e,aw)?"high":(n==="write"||n==="edit"||n==="bash")&&t==="low"?"medium":t}function Dw(e,t){return t!=="edit"&&t!=="read"?!1:U(e,cw)||Rh(e)||Th(e)}function Uw(e,t){return t==="search"?kh(e):t==="read"?kh(e)?!0:!Rh(e)&&!Th(e)||Hw(e)?!1:Vw(e)||Kw(e):!1}function Fw(e,t){return t!=="bash"?!1:U(e,Ew)&&!U(e,Aw)}function U(e,t){return t.some(n=>xh(e,n))}function jw(e,t){return t.some(n=>qw(e,n))}function xh(e,t){let n=mr(t);return n?n.includes(" ")?De(e,n):ur(e,n):!1}function qw(e,t){return xh(e,t)}function Th(e){return Kl(e)?U(e,lw)||$w(e)||Bw(e):!1}function Rh(e){return U(e,uw)&&Kl(e)}function kh(e){return fw.test(e)||Kl(e)&&/\bmatch(?:es)?\b/.test(e)}function Kl(e){return gw.test(e)}function $w(e){return hw.test(e)}function Bw(e){return yw.test(e)}function Hw(e){return Sw.test(e)||bw.test(e)||Iw.test(e)||vw.test(e)}function Vw(e){return kw.test(e)||U(e,pw)}function Kw(e){return _w.test(e)||U(e,mw)}function zw(e){let t=e?.toolFamily;return typeof t=="string"?t:null}function Ww(e){if(!e?.items)return null;for(let t of e.items){let n=t.id.toLowerCase(),s=t.label.toLowerCase();if(n==="toolfamily"||n==="tool_family"||n==="tool"||s==="tool family")return t.value??null}return null}function Hl(e){if(!e)return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function De(e,t){let n=mr(t);return n?new RegExp(`(?:^|[^a-z0-9_])${Ch(n)}(?:$|[^a-z0-9_])`).test(e):!1}function ur(e,t){return new RegExp(`(?:^|[^a-z0-9_])${Ch(t)}(?:$|[^a-z0-9_])`).test(e)}function Ch(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Gw(e){return U(e,dw)}function Yw(e){let t=new Set,n=[];for(let s of e){let i=`${s.kind}:${s.target??""}`;t.has(i)||(t.add(i),n.push(s))}return n}function Zw(e){switch(e){case"approval":return"approval_request";case"choice":return"question_request";case"form":return"form_request"}}function Jw(e){switch(e){case"approval":return"permission_request";case"choice":case"form":return"question_request"}}function Xw(e,t){switch(e){case"approval":return t==="high"?"A high-risk action needs explicit operator approval.":"Approval is required before work can continue.";case"choice":return"A decision is required before work can continue.";case"form":return"Additional input is required before work can continue."}}function dr(e,t){if(t?.wasCancelled)return"Work was cancelled and may need review.";switch(e){case"failed":return"Work has failed and should be reviewed.";case"blocked":return"Work is blocked and may require operator attention.";case"running":case"waiting":case"completed":return t?.impliedAsk?"Status text implies the operator may need to respond.":void 0}}function In(e,t){if(t?.wasCancelled)return["task cancellation is an explicit lifecycle fact"];switch(e){case"failed":return["task status explicitly indicates failure"];case"blocked":return["task status explicitly indicates blocked work"];case"running":case"waiting":case"completed":return t?.impliedAsk?["status wording suggests an implied operator request"]:["task update carries a non-blocking lifecycle status"]}}function _h(e){switch(e){case"task_started":return["task start is an explicit lifecycle fact"];case"completion":return["task completion is an explicit lifecycle fact"]}}function zl(e){let t=Qw(e);return nx(t,e.semanticHints)}function Qw(e){switch(e.type){case"task.started":return{intentFrame:"task_started",activityClass:"session_status",consequence:"low",factors:["task.started"],relationHints:[],confidence:"high",reasons:_h("task_started"),provenance:ae(["intentFrame","activityClass","consequence","confidence"])};case"task.updated":return ex(e);case"human.input.requested":return tx(e);case"task.completed":return{intentFrame:"completion",activityClass:"tool_completion",consequence:"low",factors:["task.completed"],relationHints:[],confidence:"high",reasons:_h("completion"),provenance:ae(["intentFrame","activityClass","consequence","confidence"])};case"task.cancelled":return{intentFrame:"cancellation",activityClass:"status_update",consequence:"low",...e.reason?{whyNow:dr("completed",{wasCancelled:!0})??"Work was cancelled and may need review."}:{},factors:["task.cancelled"],relationHints:[],confidence:"high",reasons:In("completed",{wasCancelled:!0}),provenance:{...ae(["intentFrame","activityClass","consequence","confidence"]),...e.reason?ae(["whyNow"]):{}}};default:return ox(e)}}function ex(e){let t=mr(`${e.title} ${e.summary??""}`),n=Lw(t),s=Mw(t),i=wh(t),o=Lh(e.title,e.summary,e.toolFamily,e.context),{toolFamily:a,source:c}=Nh(o,!0),u=i.length>0?ae(["relationHints"]):{},p=e.status==="failed"&&Dw(t,a),m=e.status==="failed"&&Uw(t,a),h=e.status==="failed"&&Fw(t,a);switch(e.status){case"failed":return p?{intentFrame:"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:lr(t,m?"low":"high",a),factors:["task.updated","failed","observational_failure"],relationHints:i,confidence:"high",reasons:["task status indicates failure but the update reads like observational output"],provenance:{...ae(["intentFrame","activityClass","consequence","confidence"]),...pr(c),...u}}:{intentFrame:"failure",activityClass:"tool_failure",...a?{toolFamily:a}:{},consequence:lr(t,m?"low":h?"medium":"high",a),whyNow:dr("failed")??"Work has failed and should be reviewed.",factors:["task.updated","failed"],relationHints:i,confidence:n?"medium":"high",reasons:h?[...In("failed",{impliedAsk:n}),"failure content looks like expected diagnostic output from repro work"]:In("failed",{impliedAsk:n}),provenance:{...ae(["intentFrame","activityClass","consequence","whyNow","confidence"]),...pr(c),...u}};case"blocked":return{intentFrame:"blocked_work",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:lr(t,"medium",a),whyNow:dr("blocked")??"Work is blocked and may require operator attention.",factors:["task.updated","blocked"],relationHints:i,confidence:n?"medium":"high",reasons:In("blocked",{impliedAsk:n}),provenance:{...ae(["intentFrame","activityClass","consequence","whyNow","confidence"]),...pr(c),...u}};case"running":case"waiting":case"completed":return{intentFrame:s==="blocking"?"blocked_work":"status_update",activityClass:"status_update",...a?{toolFamily:a}:{},consequence:lr(t,"low",a),...(()=>{let f=s==="blocking"?dr("blocked"):n?dr(e.status,{impliedAsk:n}):void 0;return f!==void 0?{whyNow:f}:{}})(),factors:["task.updated",e.status,...s==="blocking"?["semantic blocking signal"]:[]],relationHints:i,confidence:s==="blocking"?"medium":n?"low":"high",reasons:s==="blocking"?[...In("blocked"),"status wording indicates work cannot continue yet"]:In(e.status,{impliedAsk:n}),provenance:{...ae(["intentFrame","activityClass","consequence","confidence"]),...pr(c),...s==="blocking"||n?ae(["whyNow"]):{},...u}};default:return ax(e.status)}}function tx(e){let t=Lh(e.title,e.summary,e.toolFamily,e.context),{toolFamily:n,source:s}=Nh(t,e.request.kind==="approval"),i=mr(`${e.title} ${e.summary}`),o=wh(i),a=e.riskHint??ix(e.request.kind,n),c=lr(i,a,n),u=o.length>0?ae(["relationHints"]):{};return{intentFrame:Zw(e.request.kind),activityClass:Jw(e.request.kind),...n?{toolFamily:n}:{},consequence:c,whyNow:Xw(e.request.kind,c),factors:["human.input.requested",e.request.kind],relationHints:o,confidence:e.riskHint?"high":e.request.kind==="approval"&&n?"medium":"low",reasons:[e.riskHint?"source provided an explicit risk hint":"request kind establishes an explicit operator decision point",...s==="explicit"?["tool family was supplied by the source or context"]:s==="inferred"?["tool family was inferred from approval wording"]:[]],provenance:{...ae(["intentFrame","activityClass","whyNow"]),...pr(s),...e.riskHint?Ph(["consequence","confidence"]):ae(["consequence","confidence"]),...u}}}function ae(e){return Oh(e,"inferred")}function Ph(e){return Oh(e,"source")}function Oh(e,t){return Object.fromEntries(e.map(n=>[n,t]))}function pr(e){switch(e){case"explicit":return Ph(["toolFamily"]);case"inferred":return ae(["toolFamily"]);case"none":return{};default:return lx(e)}}function Nh(e,t){let n=Ah(e);if(n)return{toolFamily:n,source:"explicit"};if(!t)return{source:"none"};let s=Nw(e);return s?{toolFamily:s,source:"inferred"}:{source:"none"}}function nx(e,t){return t?{...e,...sx(t),factors:Vl([...e.factors??[],...t.factors??[]]),relationHints:[...t.relationHints??e.relationHints],reasons:Vl([...e.reasons??[],...t.reasons??[]]),provenance:{...e.provenance??{},...rx(t)}}:e}function rx(e){return{...e.intentFrame!==void 0?{intentFrame:"hint"}:{},...e.activityClass!==void 0?{activityClass:"hint"}:{},...e.toolFamily!==void 0?{toolFamily:"hint"}:{},...e.consequence!==void 0?{consequence:"hint"}:{},...e.whyNow!==void 0?{whyNow:"hint"}:{},...e.relationHints!==void 0?{relationHints:"hint"}:{},...e.confidence!==void 0?{confidence:"hint"}:{},...e.abstained!==void 0?{abstained:"hint"}:{}}}function sx(e){let t={};for(let[n,s]of Object.entries(e))s!==void 0&&n!=="factors"&&n!=="relationHints"&&n!=="reasons"&&(t[n]=s);return t}function ix(e,t){switch(e){case"approval":return t==="read"||t==="search"?"low":"medium";case"choice":case"form":return"medium";default:return cx(e)}}function Lh(e,t,n,s){return{title:e,...t!==void 0?{summary:t}:{},...n!==void 0?{toolFamily:n}:{},...s?.items!==void 0?{context:{items:s.items}}:{}}}function ox(e){throw new Error(`Unhandled source event in semantic interpreter: ${JSON.stringify(e)}`)}function ax(e){throw new Error(`Unhandled task status in semantic interpreter: ${e}`)}function cx(e){throw new Error(`Unhandled human input request kind in semantic interpreter: ${e}`)}function lx(e){throw new Error(`Unhandled tool family provenance source in semantic interpreter: ${e}`)}function ux(e={}){let t=e.base,n=e.semantic,s=t?.whyNow??n?.whyNow??e.fallbackWhyNow,i=Vl([...t?.factors??[],...n?.factors??[],...e.extraFactors??[]]);if(!(t===void 0&&s===void 0&&i.length===0))return{...t??{},...s!==void 0?{whyNow:s}:{},...i.length>0?{factors:i}:{}}}function Mh(e){let t=zl(e),n=e.type==="human.input.requested"&&e.riskHint!==void 0?{riskHint:e.riskHint}:void 0;return px(gx(e),t,n)}function dx(e){switch(e){case"high":return"critical";case"medium":case"low":return"focused";default:return yx(e)}}function px(e,t,n={}){switch(e.type){case"task.started":return{...e,semantic:t};case"task.updated":return{...e,...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t};case"task.completed":case"task.cancelled":return{...e,semantic:t};case"human.input.requested":return mx(e,t,n);default:return fx(e)}}function mx(e,t,n){let{toolFamily:s,...i}=e,o=e.consequence??t.consequence??n.riskHint??"medium",a=e.tone??dx(o),c=ux({base:e.provenance,semantic:t}),u=e.request.kind==="approval"?e.toolFamily??t.toolFamily:void 0;return{...i,...u!==void 0?{toolFamily:u}:{},...e.activityClass===void 0&&t.activityClass!==void 0?{activityClass:t.activityClass}:{},semantic:t,tone:a,consequence:o,...c!==void 0?{provenance:c}:{}}}function gx(e){switch(e.type){case"task.started":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{}};case"task.updated":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,...e.summary!==void 0?{summary:e.summary}:{},status:e.status,...e.progress!==void 0?{progress:e.progress}:{},...e.context!==void 0?{context:e.context}:{}};case"task.completed":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.summary!==void 0?{summary:e.summary}:{}};case"task.cancelled":return{id:e.id,type:e.type,taskId:e.taskId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.reason!==void 0?{reason:e.reason}:{}};case"human.input.requested":return{id:e.id,type:e.type,taskId:e.taskId,interactionId:e.interactionId,timestamp:e.timestamp,...e.source!==void 0?{source:e.source}:{},...e.toolFamily!==void 0?{toolFamily:e.toolFamily}:{},...e.activityClass!==void 0?{activityClass:e.activityClass}:{},title:e.title,summary:e.summary,request:e.request,...e.context!==void 0?{context:e.context}:{},...e.provenance!==void 0?{provenance:e.provenance}:{}};default:return hx(e)}}function fx(e){throw new Error(`Unhandled ApertureEvent in semantic normalizer: ${JSON.stringify(e)}`)}function hx(e){throw new Error(`Unhandled SourceEvent in semantic normalizer: ${JSON.stringify(e)}`)}function yx(e){throw new Error(`Unhandled consequence level in semantic normalizer: ${e}`)}function Sx(e){return typeof e=="string"&&e.trim().length>0?e:void 0}function Dh(e,t){if(!e||typeof e!="object")return;let n=e[t];return Array.isArray(n)&&n.every(s=>typeof s=="string")?n:void 0}function R(e,t){if(!(!e||typeof e!="object"))return Sx(e[t])}function Yl(e){return e?be(e):void 0}function bx(e){let t=e.entityType??"event",n=e.entityId??e.eventId;return Le(t,n)}function Ix(e){let t=R(e,"issueId")??R(e,"sourceIssueId")??R(e,"parentIssueId")??Dh(e,"issueIds")?.[0];return t?Le("issue",t):null}function vx(e){let t=e.entityType??"event";switch(t){case"approval":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip approval"};case"issue":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip issue"};case"run":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip run"};case"agent":return{id:`paperclip:${t}`,kind:"paperclip",label:"Paperclip agent"};default:return{id:`paperclip:${e.eventType}`,kind:"paperclip",label:"Paperclip"}}}function Wl(e){let t=R(e,"status")?.toLowerCase(),n=[R(e,"summary"),R(e,"description"),R(e,"bodySnippet"),R(e,"title"),R(e,"issueTitle")].filter(s=>!!s).join(" ").toLowerCase();return t?.includes("block")?"blocked":t?.includes("wait")?"waiting":t?.includes("done")||t?.includes("complete")||t?.includes("closed")?"completed":t?.includes("fail")?"failed":n.includes("blocked")||n.includes("clarification")?"blocked":n.includes("waiting")?"waiting":"running"}function kx(e){let t=R(e,"status")?.toLowerCase();return t?t.includes("approval")||t.includes("block")?"blocked":t.includes("wait")||t.includes("pause")?"waiting":t.includes("fail")||t.includes("error")?"failed":t.includes("done")||t.includes("complete")?"completed":"running":"running"}function _x(e){let t=R(e.payload,"title")??R(e.payload,"plan")??R(e.payload,"name");if(t)return t;let n=Yl(R(e.payload,"type"));return n?`${n} approval`:"Approval requested"}function Uh(e){return R(e.payload,"type")}function Ex(e){return Uh(e)==="budget_override_required"}function Gl(e,t){let n=R(e.payload,"identifier"),s=R(e.payload,"issueTitle")??R(e.payload,"title");return n&&s?`${n} ${s}`:n?`${n} ${t}`:s||t}function Ax(e){if(!(!e||e.length===0))return{relationHints:e.map(t=>({kind:"same_issue",target:Vs(t)}))}}function wx(e){return[R(e,"bodySnippet"),R(e,"summary"),R(e,"description"),R(e,"title"),R(e,"issueTitle")].filter(t=>!!t).join(`
11
+ `)}function Ws(e){if(e.entityType!=="issue"||!e.entityId)return;let t=Nl({text:wx(e.payload),identifier:R(e.payload,"identifier"),issueTarget:Vs(e.entityId)});return{...t.semanticConfidence?{confidence:t.semanticConfidence}:{},...t.relationHints.length>0?{relationHints:t.relationHints}:{}}}function xx(e,t){return{whyNow:or(e),factors:e?["budget stop","approval","operator decision"]:["approval","operator decision"],...Ax(t)??{}}}function Tx(){return{whyNow:Cl(),factors:["pending approval"]}}function Rx(){return{intentFrame:"failure",whyNow:Yf(),factors:["run failed","operator review"]}}function it(e){return zl(e)}function Zl(e){let t=e.eventType,n=bx(e),s=vx(e);switch(t){case"approval.created":{let i=Uh(e),o=Ex(e),a=R(e.payload,"requestedAmount"),c=R(e.payload,"reason"),u=R(e.payload,"decisionContext"),p=Dh(e.payload,"issueIds"),m=_x(e),h=R(e.payload,"summary")??Bs(o),f=it({id:`${e.eventId}:approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:m,summary:h,request:{kind:"approval"},riskHint:o?"high":"medium",semanticHints:xx(o,p)});return{id:`${e.eventId}:approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:m,summary:h,consequence:o?"high":"medium",tone:"focused",request:{kind:"approval"},semantic:f,context:{items:[...Yl(i)?[Fs(Yl(i))]:[],...a?[js(a)]:[],...c?[qs(c)]:[],...u?[$s(u)]:[],...p?.length?[wf(String(p.length))]:[]]},provenance:{whyNow:or(o),factors:o?["budget stop","approval","operator decision"]:["approval","operator decision"]}}}case"approval.decided":case"approval.approved":case"approval.rejected":case"approval.revision_requested":return{id:`${e.eventId}:resolved`,type:"task.completed",taskId:n,timestamp:e.occurredAt,source:s,summary:R(e.payload,"status")??(t==="approval.approved"?"Approval approved":t==="approval.rejected"?"Approval rejected":t==="approval.revision_requested"?"Revision requested":"Approval resolved")};case"issue.created":{let i=Gl(e,"Issue created"),o=R(e.payload,"description")??"A new issue entered Paperclip.",a=Wl(e.payload);return a==="running"?{id:`${e.eventId}:issue-created`,type:"task.started",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,semantic:it({id:`${e.eventId}:issue-created`,type:"task.started",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,semanticHints:Ws(e)})}:{id:`${e.eventId}:issue-created-status`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"status_update",status:a,semantic:it({id:`${e.eventId}:issue-created-status`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"status_update",status:a,semanticHints:Ws(e)})}}case"issue.updated":{let i=Gl(e,"Issue updated"),o=R(e.payload,"summary")??R(e.payload,"description"),a=Wl(e.payload);return{id:`${e.eventId}:issue-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"status_update",status:a,semantic:it({id:`${e.eventId}:issue-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,...o!==void 0?{summary:o}:{},activityClass:"status_update",status:a,semanticHints:Ws(e)})}}case"issue.comment.created":case"issue.comment_added":{let i=Gl(e,"Issue comment"),o=R(e.payload,"bodySnippet")??"A comment added new context in Paperclip.",a=Wl(e.payload);return{id:`${e.eventId}:issue-comment`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"follow_up",status:a,progress:void 0,semantic:it({id:`${e.eventId}:issue-comment`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:i,summary:o,activityClass:"follow_up",status:a,semanticHints:Ws(e)})}}case"agent.run.started":return{id:`${e.eventId}:run-started`,type:"task.started",taskId:n,timestamp:e.occurredAt,source:s,title:R(e.payload,"title")??"Agent run started",summary:R(e.payload,"summary")??"A Paperclip agent began a new run."};case"agent.run.failed":{let i=Ix(e.payload)??n,o=R(e.payload,"title")??"Agent run failed",a=R(e.payload,"summary")??Gf();return{id:`${e.eventId}:run-failed`,type:"task.updated",taskId:i,timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"tool_failure",status:"failed",title:o,summary:a,semantic:it({id:`${e.eventId}:run-failed`,type:"task.updated",taskId:i,timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"tool_failure",title:o,summary:a,status:"failed",semanticHints:Rx()})}}case"agent.run.finished":return{id:`${e.eventId}:run-finished`,type:"task.completed",taskId:n,timestamp:e.occurredAt,source:s,summary:R(e.payload,"summary")??"Agent run finished"};case"agent.run.cancelled":return{id:`${e.eventId}:run-cancelled`,type:"task.cancelled",taskId:n,timestamp:e.occurredAt,source:s,reason:R(e.payload,"summary")??"Agent run cancelled"};case"agent.error_cleared":{let i=R(e.payload,"summary")??"The agent error state was cleared in Paperclip.";return{id:`${e.eventId}:error-cleared`,type:"task.completed",taskId:n,timestamp:e.occurredAt,source:s,summary:i}}case"agent.status_changed":{let i=R(e.payload,"status")?.toLowerCase();if(i==="pending_approval"){let u=Zf(),p=Jf();return{id:`${e.eventId}:status-pending-approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"pending-approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:u,summary:p,consequence:"medium",tone:"focused",request:{kind:"approval"},semantic:it({id:`${e.eventId}:status-pending-approval`,type:"human.input.requested",taskId:n,interactionId:Me(n,"pending-approval"),timestamp:e.occurredAt,source:s,toolFamily:"paperclip",activityClass:"permission_request",title:u,summary:p,request:{kind:"approval"},riskHint:"medium",semanticHints:Tx()}),provenance:{whyNow:Cl(),factors:["pending approval"]}}}let o=kx(e.payload),a="Agent status changed",c=i?`Agent status is now ${i}.`:"Agent status changed.";return{id:`${e.eventId}:status-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:a,summary:c,activityClass:"session_status",status:o,semantic:it({id:`${e.eventId}:status-updated`,type:"task.updated",taskId:n,timestamp:e.occurredAt,source:s,title:a,summary:c,activityClass:"session_status",status:o})}}default:return null}}function Cx(e){let t={...e.semantic?.confidence?{confidence:e.semantic.confidence}:{},...e.semantic?.relationHints?.length?{relationHints:e.semantic.relationHints}:{},...e.semantic?.whyNow?{whyNow:e.semantic.whyNow}:{},...e.semantic?.factors?.length?{factors:e.semantic.factors}:{},...e.semantic?.intentFrame?{intentFrame:e.semantic.intentFrame}:{}};return Object.keys(t).length>0?t:void 0}function Fh(e){let t=Zl(e);if(!t)return null;let n={id:t.id,taskId:t.taskId,timestamp:t.timestamp,source:t.source,semanticHints:Cx(t)};switch(t.type){case"task.started":return{...n,type:"task.started",title:t.title,...t.summary?{summary:t.summary}:{}};case"task.updated":return{...n,type:"task.updated",title:t.title,...t.summary?{summary:t.summary}:{},...t.toolFamily?{toolFamily:t.toolFamily}:{},...t.activityClass?{activityClass:t.activityClass}:{},status:t.status,...typeof t.progress=="number"?{progress:t.progress}:{},...t.context?{context:t.context}:{}};case"human.input.requested":return{...n,type:"human.input.requested",interactionId:t.interactionId,...t.toolFamily?{toolFamily:t.toolFamily}:{},...t.activityClass?{activityClass:t.activityClass}:{},title:t.title,summary:t.summary,request:t.request,...t.context?{context:t.context}:{},...t.provenance?{provenance:t.provenance}:{},...t.consequence?{riskHint:t.consequence}:{}};case"task.completed":return{...n,type:"task.completed",...t.summary?{summary:t.summary}:{}};case"task.cancelled":return{...n,type:"task.cancelled",...t.reason?{reason:t.reason}:{}};default:return null}}var Px=["activity.logged","approval.created","approval.decided","approval.approved","approval.rejected","approval.revision_requested","issue.created","issue.updated","issue.comment.created","issue.comment_added","agent.run.started","agent.run.failed","agent.run.finished","agent.run.cancelled","agent.status_changed","agent.error_cleared"],Ox=new Set(["issue.document_created","issue.document_updated","issue.document_deleted"]);function Nx(e,t){return!((t==="issue.created"||t==="issue.updated"||t==="issue.comment.created"||t==="issue.comment_added")&&e.captureIssueLifecycle===!1||t==="agent.run.failed"&&e.captureRunFailures===!1)}async function Lx(e,t,n,s){if(!Nx(s,n.eventType))return;if(n.eventType==="activity.logged"){let u=n.payload&&typeof n.payload=="object"?n.payload:{},p=typeof u.action=="string"?u.action:void 0,m=typeof u.entityType=="string"?u.entityType:n.entityType;m==="issue"&&p&&Ox.has(p)&&(t.invalidateHostCache(n.companyId,{keys:n.entityId?[`issue:${n.entityId}:documents`,`issue:${n.entityId}:relations`]:[],prefixes:["issues:blocked","issues:in_review"]}),e.logger.info("Triggered Focus refresh from activity log event",{companyId:n.companyId,action:p,entityId:n.entityId,entityType:m}));return}n.entityType==="issue"&&n.entityId?t.invalidateHostCache(n.companyId,{keys:[`issue:${n.entityId}:detail`,`issue:${n.entityId}:comments`,`issue:${n.entityId}:relations`],prefixes:["issues:blocked","issues:in_review"]}):n.entityType==="agent"&&t.invalidateHostCache(n.companyId,{keys:["agents:all"]});let i=n,o=Fh(i),a=o?Mh(o):Zl(i);if(!a)return;i.entityType==="approval"&&t.invalidateApprovals(i.companyId);let c={kind:"event",id:`${i.eventId}:event`,occurredAt:i.occurredAt,source:{eventType:i.eventType,entityId:i.entityId,entityType:i.entityType},...o?{sourceEvent:o}:{},apertureEvent:a};t.applyEvent(i.companyId,c),t.markPersistencePending(i.companyId),e.logger.info("Captured Paperclip event for Aperture",{companyId:i.companyId,eventType:i.eventType,entityId:i.entityId,mappedType:a.type})}function jh(e,t,n=()=>({})){for(let s of Px)e.events.on(s,async i=>{await Lx(e,t,i,n())})}function qh(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}var Gs={},$h=Js({async setup(e){let t=new Rs;try{Gs=qh(await e.config.get())}catch(n){Gs={},e.logger.warn("Failed to load initial Focus config; event handlers will use defaults.",{error:n instanceof Error?n.message:String(n)})}bh(e,t),Af(e,t),jh(e,t,()=>Gs)},async onConfigChanged(e){Gs=qh(e)},async onHealth(){return{status:"ok",message:"Paperclip Aperture worker is running"}}}),yM=$h;qc($h,import.meta.url);export{yM as default};