@agentronics/sdk 0.1.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/chunk-4FJRAPA6.js +17 -0
- package/dist/chunk-4FJRAPA6.js.map +1 -0
- package/dist/chunk-LLD3Y2LZ.js +2 -0
- package/dist/chunk-LLD3Y2LZ.js.map +1 -0
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.global.js +3 -3
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{init-only-CsMtI9lh.d.ts → init-only-7f8_LQAI.d.ts} +78 -4
- package/dist/{init-only-CH7e1rAO.d.cts → init-only-Cwll8MGz.d.cts} +78 -4
- package/dist/init-only.cjs +3 -3
- package/dist/init-only.cjs.map +1 -1
- package/dist/init-only.d.cts +1 -1
- package/dist/init-only.d.ts +1 -1
- package/dist/init-only.global.js +3 -3
- package/dist/init-only.global.js.map +1 -1
- package/dist/init-only.js +1 -1
- package/dist/lite.cjs +1 -1
- package/dist/lite.cjs.map +1 -1
- package/dist/lite.global.js +1 -1
- package/dist/lite.global.js.map +1 -1
- package/dist/lite.js +1 -1
- package/package.json +4 -4
- package/dist/chunk-5BS4OAQA.js +0 -2
- package/dist/chunk-5BS4OAQA.js.map +0 -1
- package/dist/chunk-VWQY7QIL.js +0 -17
- package/dist/chunk-VWQY7QIL.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as _agentronics_protocol from '@agentronics/protocol';
|
|
2
2
|
import { AgentIdentity, TraceEvent, TrustLevel, SiteMemory } from '@agentronics/protocol';
|
|
3
|
-
import { T as TraceExporter, P as PolicyEngine, I as InitOptions, A as AgentronicsClient, D as DetectAgentOptions } from './init-only-
|
|
4
|
-
export { a as AgentContextListener, b as AgentContextSnapshot, c as AgentContextStore, d as AuthEngine, e as AuthInput, f as AuthMethod, g as
|
|
3
|
+
import { T as TraceExporter, P as PolicyEngine, I as InitOptions, A as AgentronicsClient, D as DetectAgentOptions } from './init-only-Cwll8MGz.cjs';
|
|
4
|
+
export { a as AgentContextListener, b as AgentContextSnapshot, c as AgentContextStore, d as AuthEngine, e as AuthInput, f as AuthMethod, C as CRAWLER_SIGNATURES, g as CrawlerCategory, h as CrawlerSignature, i as DEFAULT_GROUP, j as DetectCrawlerOptions, k as DetectDomOptions, l as Detector, m as DetectorRegistry, n as DetectorStatus, o as DomSignalName, G as GovernedTool, p as IdentityStore, M as MemoryCache, q as MemoryStore, r as PolicyCache, s as PresentIdentityOptions, t as PresentedIdentity, u as ProgressionConfig, v as ProgressionStage, w as ProgressionStore, x as ProgressionTransition, y as ProvideForPageInput, R as RateLimiter, S as SiteMemoryListener, z as SiteMemoryStore, B as SurfacingContext, E as SurfacingDecision, F as TokenBudgetReport, H as ToolGroupSummary, J as ToolRegistry, K as ToolTokenEstimate, L as TraceInput, N as Tracer, W as WebMcpAdapter, O as WebMcpAdapterOptions, Q as WebMcpProvider, U as WebMcpToolDescriptor, V as bundledDetectors, X as createAgentContextStore, Y as createAuthEngine, Z as createDetectorRegistry, _ as createIdentityStore, $ as createMemoryCache, a0 as createMemoryStore, a1 as createPolicyCache, a2 as createPolicyEngine, a3 as createProgressionStore, a4 as createRateLimiter, a5 as createSiteMemoryStore, a6 as createToolRegistry, a7 as createTracer, a8 as createWebMcpAdapter, a9 as decideSurfacing, aa as detectAgent, ab as detectCrawler, ac as detectDom, ad as estimateBudget, ae as estimateToolTokens, af as explainSurfacing, ag as groupTools, ah as init, ai as listGroupNames, aj as surfaceTools } from './init-only-Cwll8MGz.cjs';
|
|
5
5
|
export { D as DetectWebMcpOptions, d as detectWebMcp } from './webmcp-C4ikhM4g.cjs';
|
|
6
6
|
|
|
7
7
|
interface DeclareAgentInput {
|
|
8
|
-
class: 'webmcp' | 'dom' | 'screenshot';
|
|
8
|
+
class: 'webmcp' | 'dom' | 'screenshot' | 'crawler';
|
|
9
9
|
vendor: string;
|
|
10
10
|
/** Optional bearer token returned by the customer's verification endpoint. */
|
|
11
11
|
verificationToken?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as _agentronics_protocol from '@agentronics/protocol';
|
|
2
2
|
import { AgentIdentity, TraceEvent, TrustLevel, SiteMemory } from '@agentronics/protocol';
|
|
3
|
-
import { T as TraceExporter, P as PolicyEngine, I as InitOptions, A as AgentronicsClient, D as DetectAgentOptions } from './init-only-
|
|
4
|
-
export { a as AgentContextListener, b as AgentContextSnapshot, c as AgentContextStore, d as AuthEngine, e as AuthInput, f as AuthMethod, g as
|
|
3
|
+
import { T as TraceExporter, P as PolicyEngine, I as InitOptions, A as AgentronicsClient, D as DetectAgentOptions } from './init-only-7f8_LQAI.js';
|
|
4
|
+
export { a as AgentContextListener, b as AgentContextSnapshot, c as AgentContextStore, d as AuthEngine, e as AuthInput, f as AuthMethod, C as CRAWLER_SIGNATURES, g as CrawlerCategory, h as CrawlerSignature, i as DEFAULT_GROUP, j as DetectCrawlerOptions, k as DetectDomOptions, l as Detector, m as DetectorRegistry, n as DetectorStatus, o as DomSignalName, G as GovernedTool, p as IdentityStore, M as MemoryCache, q as MemoryStore, r as PolicyCache, s as PresentIdentityOptions, t as PresentedIdentity, u as ProgressionConfig, v as ProgressionStage, w as ProgressionStore, x as ProgressionTransition, y as ProvideForPageInput, R as RateLimiter, S as SiteMemoryListener, z as SiteMemoryStore, B as SurfacingContext, E as SurfacingDecision, F as TokenBudgetReport, H as ToolGroupSummary, J as ToolRegistry, K as ToolTokenEstimate, L as TraceInput, N as Tracer, W as WebMcpAdapter, O as WebMcpAdapterOptions, Q as WebMcpProvider, U as WebMcpToolDescriptor, V as bundledDetectors, X as createAgentContextStore, Y as createAuthEngine, Z as createDetectorRegistry, _ as createIdentityStore, $ as createMemoryCache, a0 as createMemoryStore, a1 as createPolicyCache, a2 as createPolicyEngine, a3 as createProgressionStore, a4 as createRateLimiter, a5 as createSiteMemoryStore, a6 as createToolRegistry, a7 as createTracer, a8 as createWebMcpAdapter, a9 as decideSurfacing, aa as detectAgent, ab as detectCrawler, ac as detectDom, ad as estimateBudget, ae as estimateToolTokens, af as explainSurfacing, ag as groupTools, ah as init, ai as listGroupNames, aj as surfaceTools } from './init-only-7f8_LQAI.js';
|
|
5
5
|
export { D as DetectWebMcpOptions, d as detectWebMcp } from './webmcp-C4ikhM4g.js';
|
|
6
6
|
|
|
7
7
|
interface DeclareAgentInput {
|
|
8
|
-
class: 'webmcp' | 'dom' | 'screenshot';
|
|
8
|
+
class: 'webmcp' | 'dom' | 'screenshot' | 'crawler';
|
|
9
9
|
vendor: string;
|
|
10
10
|
/** Optional bearer token returned by the customer's verification endpoint. */
|
|
11
11
|
verificationToken?: string;
|
package/dist/index.global.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Agentronics=(function(exports){'use strict';var Vr=Object.defineProperty;var Ur=(t,e)=>{for(var r in e)Vr(t,r,{get:e[r],enumerable:true});};var c={};Ur(c,{BRAND:()=>hn,DIRTY:()=>ne,EMPTY_PATH:()=>Hr,INVALID:()=>y,NEVER:()=>eo,OK:()=>O,ParseStatus:()=>C,Schema:()=>k,ZodAny:()=>X,ZodArray:()=>J,ZodBigInt:()=>se,ZodBoolean:()=>ae,ZodBranded:()=>$e,ZodCatch:()=>ye,ZodDate:()=>ie,ZodDefault:()=>he,ZodDiscriminatedUnion:()=>Ze,ZodEffects:()=>W,ZodEnum:()=>me,ZodError:()=>P,ZodFirstPartyTypeKind:()=>x,ZodFunction:()=>Fe,ZodIntersection:()=>de,ZodIssueCode:()=>d,ZodLazy:()=>pe,ZodLiteral:()=>fe,ZodMap:()=>Re,ZodNaN:()=>Ee,ZodNativeEnum:()=>ge,ZodNever:()=>z,ZodNull:()=>le,ZodNullable:()=>G,ZodNumber:()=>oe,ZodObject:()=>D,ZodOptional:()=>$,ZodParsedType:()=>g,ZodPipeline:()=>Le,ZodPromise:()=>Q,ZodReadonly:()=>ve,ZodRecord:()=>Ge,ZodSchema:()=>k,ZodSet:()=>Ce,ZodString:()=>Y,ZodSymbol:()=>Me,ZodTransformer:()=>W,ZodTuple:()=>Z,ZodType:()=>k,ZodUndefined:()=>ce,ZodUnion:()=>ue,ZodUnknown:()=>K,ZodVoid:()=>Ie,addIssueToContext:()=>p,any:()=>Sn,array:()=>Rn,bigint:()=>bn,boolean:()=>lr,coerce:()=>Qn,custom:()=>ar,date:()=>_n,datetimeRegex:()=>or,defaultErrorMap:()=>F,discriminatedUnion:()=>Pn,effect:()=>Gn,enum:()=>Vn,function:()=>Wn,getErrorMap:()=>Te,getParsedType:()=>U,instanceof:()=>vn,intersection:()=>Dn,isAborted:()=>Ve,isAsync:()=>Se,isDirty:()=>Ue,isValid:()=>q,late:()=>yn,lazy:()=>Bn,literal:()=>zn,makeIssue:()=>Ne,map:()=>$n,nan:()=>xn,nativeEnum:()=>Un,never:()=>Mn,null:()=>Tn,nullable:()=>Hn,number:()=>cr,object:()=>Cn,objectUtil:()=>ut,oboolean:()=>Xn,onumber:()=>Yn,optional:()=>Fn,ostring:()=>qn,pipeline:()=>Jn,preprocess:()=>Kn,promise:()=>Zn,quotelessJson:()=>Zr,record:()=>Nn,set:()=>Ln,setErrorMap:()=>Fr,strictObject:()=>En,string:()=>ir,symbol:()=>kn,transformer:()=>Gn,tuple:()=>jn,undefined:()=>wn,union:()=>On,unknown:()=>An,util:()=>T,void:()=>In});var T;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let a of o)s[a]=a;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(i=>typeof o[o[i]]!="number"),a={};for(let i of s)a[i]=o[i];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let a in o)Object.prototype.hasOwnProperty.call(o,a)&&s.push(a);return s},t.find=(o,s)=>{for(let a of o)if(s(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s;})(T||(T={}));var ut;(function(t){t.mergeShapes=(e,r)=>({...e,...r});})(ut||(ut={}));var g=T.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),U=t=>{switch(typeof t){case "undefined":return g.undefined;case "string":return g.string;case "number":return Number.isNaN(t)?g.nan:g.number;case "boolean":return g.boolean;case "function":return g.function;case "bigint":return g.bigint;case "symbol":return g.symbol;case "object":return Array.isArray(t)?g.array:t===null?g.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?g.promise:typeof Map<"u"&&t instanceof Map?g.map:typeof Set<"u"&&t instanceof Set?g.set:typeof Date<"u"&&t instanceof Date?g.date:g.object;default:return g.unknown}};var d=T.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"]),Zr=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),P=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n];},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n];};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e;}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else {let i=n,l=0;for(;l<a.path.length;){let u=a.path[l];l===a.path.length-1?(i[u]=i[u]||{_errors:[]},i[u]._errors.push(r(a))):i[u]=i[u]||{_errors:[]},i=i[u],l++;}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,T.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o));}else n.push(e(o));return {formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};P.create=t=>new P(t);var Gr=(t,e)=>{let r;switch(t.code){case d.invalid_type:t.received===g.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case d.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,T.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:r=`Unrecognized key(s) in object: ${T.joinValues(t.keys,", ")}`;break;case d.invalid_union:r="Invalid input";break;case d.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${T.joinValues(t.options)}`;break;case d.invalid_enum_value:r=`Invalid enum value. Expected ${T.joinValues(t.options)}, received '${t.received}'`;break;case d.invalid_arguments:r="Invalid function arguments";break;case d.invalid_return_type:r="Invalid function return type";break;case d.invalid_date:r="Invalid date";break;case d.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:T.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case d.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case d.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case d.custom:r="Invalid input";break;case d.invalid_intersection_types:r="Intersection results could not be merged";break;case d.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case d.not_finite:r="Number must be finite";break;default:r=e.defaultError,T.assertNever(t);}return {message:r}},F=Gr;var Qt=F;function Fr(t){Qt=t;}function Te(){return Qt}var Ne=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],a={...o,path:s};if(o.message!==void 0)return {...o,path:s,message:o.message};let i="",l=n.filter(u=>!!u).slice().reverse();for(let u of l)i=u(a,{data:e,defaultError:i}).message;return {...o,path:s,message:i}},Hr=[];function p(t,e){let r=Te(),n=Ne({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===F?void 0:F].filter(o=>!!o)});t.common.issues.push(n);}var C=class t{constructor(){this.value="valid";}dirty(){this.value==="valid"&&(this.value="dirty");}abort(){this.value!=="aborted"&&(this.value="aborted");}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return y;o.status==="dirty"&&e.dirty(),n.push(o.value);}return {status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,a=await o.value;n.push({key:s,value:a});}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:a}=o;if(s.status==="aborted"||a.status==="aborted")return y;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet)&&(n[s.value]=a.value);}return {status:e.value,value:n}}},y=Object.freeze({status:"aborted"}),ne=t=>({status:"dirty",value:t}),O=t=>({status:"valid",value:t}),Ve=t=>t.status==="aborted",Ue=t=>t.status==="dirty",q=t=>t.status==="valid",Se=t=>typeof Promise<"u"&&t instanceof Promise;var h;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message;})(h||(h={}));var L=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o;}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}},er=(t,e)=>{if(q(e))return {success:true,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return {success:false,get error(){if(this._error)return this._error;let r=new P(t.common.issues);return this._error=r,this._error}}};function _(t){if(!t)return {};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,i)=>{let{message:l}=t;return a.code==="invalid_enum_value"?{message:l??i.defaultError}:typeof i.data>"u"?{message:l??n??i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:l??r??i.defaultError}},description:o}}var k=class{get description(){return this._def.description}_getType(e){return U(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:U(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return {status:new C,ctx:{common:e.parent.common,data:e.data,parsedType:U(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Se(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??false,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:U(e)},o=this._parseSync({data:e,path:n.path,parent:n});return er(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:U(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return q(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=true),r.common={issues:[],async:true};}return this._parseAsync({data:e,path:[],parent:r}).then(n=>q(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:true},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:U(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(Se(o)?o:Promise.resolve(o));return er(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let a=e(o),i=()=>s.addIssue({code:d.custom,...n(o)});return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?true:(i(),false)):a?true:(i(),false)})}refinement(e,r){return this._refinement((n,o)=>e(n)?true:(o.addIssue(typeof r=="function"?r(n,o):r),false))}_refinement(e){return new W({schema:this,typeName:x.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:r=>this["~validate"](r)};}optional(){return $.create(this,this._def)}nullable(){return G.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return J.create(this)}promise(){return Q.create(this,this._def)}or(e){return ue.create([this,e],this._def)}and(e){return de.create(this,e,this._def)}transform(e){return new W({..._(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new he({..._(this._def),innerType:this,defaultValue:r,typeName:x.ZodDefault})}brand(){return new $e({typeName:x.ZodBranded,type:this,..._(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new ye({..._(this._def),innerType:this,catchValue:r,typeName:x.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Le.create(this,e)}readonly(){return ve.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Kr=/^c[^\s-]{8,}$/i,Jr=/^[0-9a-z]+$/,qr=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Yr=/^[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,Xr=/^[a-z0-9_-]{21}$/i,Qr=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,en=/^[-+]?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)?)??$/,tn=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rn="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",dt,nn=/^(?:(?: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])$/,on=/^(?:(?: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])$/,sn=/^(([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]))$/,an=/^(([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])$/,cn=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ln=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rr="((\\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])))",un=new RegExp(`^${rr}$`);function nr(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return `([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function dn(t){return new RegExp(`^${nr(t)}$`)}function or(t){let e=`${rr}T${nr(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function pn(t,e){return !!((e==="v4"||!e)&&nn.test(t)||(e==="v6"||!e)&&sn.test(t))}function fn(t,e){if(!Qr.test(t))return false;try{let[r]=t.split(".");if(!r)return !1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return !(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return false}}function mn(t,e){return !!((e==="v4"||!e)&&on.test(t)||(e==="v6"||!e)&&an.test(t))}var Y=class t extends k{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==g.string){let s=this._getOrReturnCtx(e);return p(s,{code:d.invalid_type,expected:g.string,received:s.parsedType}),y}let n=new C,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),p(o,{code:d.too_small,minimum:s.value,type:"string",inclusive:true,exact:false,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),p(o,{code:d.too_big,maximum:s.value,type:"string",inclusive:true,exact:false,message:s.message}),n.dirty());else if(s.kind==="length"){let a=e.data.length>s.value,i=e.data.length<s.value;(a||i)&&(o=this._getOrReturnCtx(e,o),a?p(o,{code:d.too_big,maximum:s.value,type:"string",inclusive:true,exact:true,message:s.message}):i&&p(o,{code:d.too_small,minimum:s.value,type:"string",inclusive:true,exact:true,message:s.message}),n.dirty());}else if(s.kind==="email")tn.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"email",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")dt||(dt=new RegExp(rn,"u")),dt.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"emoji",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Yr.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"uuid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")Xr.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"nanoid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Kr.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"cuid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Jr.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"cuid2",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")qr.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"ulid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data);}catch{o=this._getOrReturnCtx(e,o),p(o,{validation:"url",code:d.invalid_string,message:s.message}),n.dirty();}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"regex",code:d.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),p(o,{code:d.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),p(o,{code:d.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),p(o,{code:d.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?or(s).test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{code:d.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?un.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{code:d.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?dn(s).test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{code:d.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?en.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"duration",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?pn(e.data,s.version)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"ip",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?fn(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"jwt",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?mn(e.data,s.version)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"cidr",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?cn.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"base64",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?ln.test(e.data)||(o=this._getOrReturnCtx(e,o),p(o,{validation:"base64url",code:d.invalid_string,message:s.message}),n.dirty()):T.assertNever(s);return {status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:d.invalid_string,...h.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...h.errToObj(e)})}url(e){return this._addCheck({kind:"url",...h.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...h.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...h.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...h.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...h.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...h.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...h.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...h.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...h.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...h.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...h.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...h.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:false,local:false,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??false,local:e?.local??false,...h.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...h.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...h.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...h.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...h.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...h.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...h.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...h.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...h.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...h.errToObj(r)})}nonempty(e){return this.min(1,h.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return !!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return !!this._def.checks.find(e=>e.kind==="date")}get isTime(){return !!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return !!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return !!this._def.checks.find(e=>e.kind==="email")}get isURL(){return !!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return !!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return !!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return !!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return !!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return !!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return !!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return !!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return !!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return !!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return !!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Y.create=t=>new Y({checks:[],typeName:x.ZodString,coerce:t?.coerce??false,..._(t)});function gn(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return s%a/10**o}var oe=class t extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf;}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==g.number){let s=this._getOrReturnCtx(e);return p(s,{code:d.invalid_type,expected:g.number,received:s.parsedType}),y}let n,o=new C;for(let s of this._def.checks)s.kind==="int"?T.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),p(n,{code:d.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),p(n,{code:d.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:false,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),p(n,{code:d.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:false,message:s.message}),o.dirty()):s.kind==="multipleOf"?gn(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),p(n,{code:d.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),p(n,{code:d.not_finite,message:s.message}),o.dirty()):T.assertNever(s);return {status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,true,h.toString(r))}gt(e,r){return this.setLimit("min",e,false,h.toString(r))}lte(e,r){return this.setLimit("max",e,true,h.toString(r))}lt(e,r){return this.setLimit("max",e,false,h.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:h.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:h.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:false,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:false,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:true,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:true,message:h.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:h.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:true,value:Number.MIN_SAFE_INTEGER,message:h.toString(e)})._addCheck({kind:"max",inclusive:true,value:Number.MAX_SAFE_INTEGER,message:h.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return !!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&T.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return true;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);}return Number.isFinite(r)&&Number.isFinite(e)}};oe.create=t=>new oe({checks:[],typeName:x.ZodNumber,coerce:t?.coerce||false,..._(t)});var se=class t extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte;}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data);}catch{return this._getInvalidInput(e)}if(this._getType(e)!==g.bigint)return this._getInvalidInput(e);let n,o=new C;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),p(n,{code:d.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),p(n,{code:d.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),p(n,{code:d.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):T.assertNever(s);return {status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return p(r,{code:d.invalid_type,expected:g.bigint,received:r.parsedType}),y}gte(e,r){return this.setLimit("min",e,true,h.toString(r))}gt(e,r){return this.setLimit("min",e,false,h.toString(r))}lte(e,r){return this.setLimit("max",e,true,h.toString(r))}lt(e,r){return this.setLimit("max",e,false,h.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:h.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:false,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:false,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:true,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:true,message:h.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};se.create=t=>new se({checks:[],typeName:x.ZodBigInt,coerce:t?.coerce??false,..._(t)});var ae=class extends k{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==g.boolean){let n=this._getOrReturnCtx(e);return p(n,{code:d.invalid_type,expected:g.boolean,received:n.parsedType}),y}return O(e.data)}};ae.create=t=>new ae({typeName:x.ZodBoolean,coerce:t?.coerce||false,..._(t)});var ie=class t extends k{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==g.date){let s=this._getOrReturnCtx(e);return p(s,{code:d.invalid_type,expected:g.date,received:s.parsedType}),y}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return p(s,{code:d.invalid_date}),y}let n=new C,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),p(o,{code:d.too_small,message:s.message,inclusive:true,exact:false,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),p(o,{code:d.too_big,message:s.message,inclusive:true,exact:false,maximum:s.value,type:"date"}),n.dirty()):T.assertNever(s);return {status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:h.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:h.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};ie.create=t=>new ie({checks:[],coerce:t?.coerce||false,typeName:x.ZodDate,..._(t)});var Me=class extends k{_parse(e){if(this._getType(e)!==g.symbol){let n=this._getOrReturnCtx(e);return p(n,{code:d.invalid_type,expected:g.symbol,received:n.parsedType}),y}return O(e.data)}};Me.create=t=>new Me({typeName:x.ZodSymbol,..._(t)});var ce=class extends k{_parse(e){if(this._getType(e)!==g.undefined){let n=this._getOrReturnCtx(e);return p(n,{code:d.invalid_type,expected:g.undefined,received:n.parsedType}),y}return O(e.data)}};ce.create=t=>new ce({typeName:x.ZodUndefined,..._(t)});var le=class extends k{_parse(e){if(this._getType(e)!==g.null){let n=this._getOrReturnCtx(e);return p(n,{code:d.invalid_type,expected:g.null,received:n.parsedType}),y}return O(e.data)}};le.create=t=>new le({typeName:x.ZodNull,..._(t)});var X=class extends k{constructor(){super(...arguments),this._any=true;}_parse(e){return O(e.data)}};X.create=t=>new X({typeName:x.ZodAny,..._(t)});var K=class extends k{constructor(){super(...arguments),this._unknown=true;}_parse(e){return O(e.data)}};K.create=t=>new K({typeName:x.ZodUnknown,..._(t)});var z=class extends k{_parse(e){let r=this._getOrReturnCtx(e);return p(r,{code:d.invalid_type,expected:g.never,received:r.parsedType}),y}};z.create=t=>new z({typeName:x.ZodNever,..._(t)});var Ie=class extends k{_parse(e){if(this._getType(e)!==g.undefined){let n=this._getOrReturnCtx(e);return p(n,{code:d.invalid_type,expected:g.void,received:n.parsedType}),y}return O(e.data)}};Ie.create=t=>new Ie({typeName:x.ZodVoid,..._(t)});var J=class t extends k{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==g.array)return p(r,{code:d.invalid_type,expected:g.array,received:r.parsedType}),y;if(o.exactLength!==null){let a=r.data.length>o.exactLength.value,i=r.data.length<o.exactLength.value;(a||i)&&(p(r,{code:a?d.too_big:d.too_small,minimum:i?o.exactLength.value:void 0,maximum:a?o.exactLength.value:void 0,type:"array",inclusive:true,exact:true,message:o.exactLength.message}),n.dirty());}if(o.minLength!==null&&r.data.length<o.minLength.value&&(p(r,{code:d.too_small,minimum:o.minLength.value,type:"array",inclusive:true,exact:false,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(p(r,{code:d.too_big,maximum:o.maxLength.value,type:"array",inclusive:true,exact:false,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,i)=>o.type._parseAsync(new L(r,a,r.path,i)))).then(a=>C.mergeArray(n,a));let s=[...r.data].map((a,i)=>o.type._parseSync(new L(r,a,r.path,i)));return C.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:h.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:h.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:h.toString(r)}})}nonempty(e){return this.min(1,e)}};J.create=(t,e)=>new J({type:t,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,..._(e)});function Ae(t){if(t instanceof D){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=$.create(Ae(n));}return new D({...t._def,shape:()=>e})}else return t instanceof J?new J({...t._def,type:Ae(t.element)}):t instanceof $?$.create(Ae(t.unwrap())):t instanceof G?G.create(Ae(t.unwrap())):t instanceof Z?Z.create(t.items.map(e=>Ae(e))):t}var D=class t extends k{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend;}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=T.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==g.object){let u=this._getOrReturnCtx(e);return p(u,{code:d.invalid_type,expected:g.object,received:u.parsedType}),y}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof z&&this._def.unknownKeys==="strip"))for(let u in o.data)a.includes(u)||i.push(u);let l=[];for(let u of a){let f=s[u],v=o.data[u];l.push({key:{status:"valid",value:u},value:f._parse(new L(o,v,o.path,u)),alwaysSet:u in o.data});}if(this._def.catchall instanceof z){let u=this._def.unknownKeys;if(u==="passthrough")for(let f of i)l.push({key:{status:"valid",value:f},value:{status:"valid",value:o.data[f]}});else if(u==="strict")i.length>0&&(p(o,{code:d.unrecognized_keys,keys:i}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else {let u=this._def.catchall;for(let f of i){let v=o.data[f];l.push({key:{status:"valid",value:f},value:u._parse(new L(o,v,o.path,f)),alwaysSet:f in o.data});}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let f of l){let v=await f.key,b=await f.value;u.push({key:v,value:b,alwaysSet:f.alwaysSet});}return u}).then(u=>C.mergeObjectSync(n,u)):C.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return h.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:h.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:x.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of T.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of T.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ae(this)}partial(e){let r={};for(let n of T.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional();}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of T.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else {let s=this.shape[n];for(;s instanceof $;)s=s._def.innerType;r[n]=s;}return new t({...this._def,shape:()=>r})}keyof(){return sr(T.objectKeys(this.shape))}};D.create=(t,e)=>new D({shape:()=>t,unknownKeys:"strip",catchall:z.create(),typeName:x.ZodObject,..._(e)});D.strictCreate=(t,e)=>new D({shape:()=>t,unknownKeys:"strict",catchall:z.create(),typeName:x.ZodObject,..._(e)});D.lazycreate=(t,e)=>new D({shape:t,unknownKeys:"strip",catchall:z.create(),typeName:x.ZodObject,..._(e)});var ue=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let i of s)if(i.result.status==="valid")return i.result;for(let i of s)if(i.result.status==="dirty")return r.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(i=>new P(i.ctx.common.issues));return p(r,{code:d.invalid_union,unionErrors:a}),y}if(r.common.async)return Promise.all(n.map(async s=>{let a={...r,common:{...r.common,issues:[]},parent:null};return {result:await s._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(o);{let s,a=[];for(let l of n){let u={...r,common:{...r.common,issues:[]},parent:null},f=l._parseSync({data:r.data,path:r.path,parent:u});if(f.status==="valid")return f;f.status==="dirty"&&!s&&(s={result:f,ctx:u}),u.common.issues.length&&a.push(u.common.issues);}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let i=a.map(l=>new P(l));return p(r,{code:d.invalid_union,unionErrors:i}),y}}get options(){return this._def.options}};ue.create=(t,e)=>new ue({options:t,typeName:x.ZodUnion,..._(e)});var H=t=>t instanceof pe?H(t.schema):t instanceof W?H(t.innerType()):t instanceof fe?[t.value]:t instanceof me?t.options:t instanceof ge?T.objectValues(t.enum):t instanceof he?H(t._def.innerType):t instanceof ce?[void 0]:t instanceof le?[null]:t instanceof $?[void 0,...H(t.unwrap())]:t instanceof G?[null,...H(t.unwrap())]:t instanceof $e||t instanceof ve?H(t.unwrap()):t instanceof ye?H(t._def.innerType):[],Ze=class t extends k{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.object)return p(r,{code:d.invalid_type,expected:g.object,received:r.parsedType}),y;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(p(r,{code:d.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),y)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let a=H(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of a){if(o.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);o.set(i,s);}}return new t({typeName:x.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,..._(n)})}};function pt(t,e){let r=U(t),n=U(e);if(t===e)return {valid:true,data:t};if(r===g.object&&n===g.object){let o=T.objectKeys(e),s=T.objectKeys(t).filter(i=>o.indexOf(i)!==-1),a={...t,...e};for(let i of s){let l=pt(t[i],e[i]);if(!l.valid)return {valid:false};a[i]=l.data;}return {valid:true,data:a}}else if(r===g.array&&n===g.array){if(t.length!==e.length)return {valid:false};let o=[];for(let s=0;s<t.length;s++){let a=t[s],i=e[s],l=pt(a,i);if(!l.valid)return {valid:false};o.push(l.data);}return {valid:true,data:o}}else return r===g.date&&n===g.date&&+t==+e?{valid:true,data:t}:{valid:false}}var de=class extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,a)=>{if(Ve(s)||Ve(a))return y;let i=pt(s.value,a.value);return i.valid?((Ue(s)||Ue(a))&&r.dirty(),{status:r.value,value:i.data}):(p(n,{code:d.invalid_intersection_types}),y)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>o(s,a)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};de.create=(t,e,r)=>new de({left:t,right:e,typeName:x.ZodIntersection,..._(r)});var Z=class t extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.array)return p(n,{code:d.invalid_type,expected:g.array,received:n.parsedType}),y;if(n.data.length<this._def.items.length)return p(n,{code:d.too_small,minimum:this._def.items.length,inclusive:true,exact:false,type:"array"}),y;!this._def.rest&&n.data.length>this._def.items.length&&(p(n,{code:d.too_big,maximum:this._def.items.length,inclusive:true,exact:false,type:"array"}),r.dirty());let s=[...n.data].map((a,i)=>{let l=this._def.items[i]||this._def.rest;return l?l._parse(new L(n,a,n.path,i)):null}).filter(a=>!!a);return n.common.async?Promise.all(s).then(a=>C.mergeArray(r,a)):C.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Z.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Z({items:t,typeName:x.ZodTuple,rest:null,..._(e)})};var Ge=class t extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.object)return p(n,{code:d.invalid_type,expected:g.object,received:n.parsedType}),y;let o=[],s=this._def.keyType,a=this._def.valueType;for(let i in n.data)o.push({key:s._parse(new L(n,i,n.path,i)),value:a._parse(new L(n,n.data[i],n.path,i)),alwaysSet:i in n.data});return n.common.async?C.mergeObjectAsync(r,o):C.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof k?new t({keyType:e,valueType:r,typeName:x.ZodRecord,..._(n)}):new t({keyType:Y.create(),valueType:e,typeName:x.ZodRecord,..._(r)})}},Re=class extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.map)return p(n,{code:d.invalid_type,expected:g.map,received:n.parsedType}),y;let o=this._def.keyType,s=this._def.valueType,a=[...n.data.entries()].map(([i,l],u)=>({key:o._parse(new L(n,i,n.path,[u,"key"])),value:s._parse(new L(n,l,n.path,[u,"value"]))}));if(n.common.async){let i=new Map;return Promise.resolve().then(async()=>{for(let l of a){let u=await l.key,f=await l.value;if(u.status==="aborted"||f.status==="aborted")return y;(u.status==="dirty"||f.status==="dirty")&&r.dirty(),i.set(u.value,f.value);}return {status:r.value,value:i}})}else {let i=new Map;for(let l of a){let u=l.key,f=l.value;if(u.status==="aborted"||f.status==="aborted")return y;(u.status==="dirty"||f.status==="dirty")&&r.dirty(),i.set(u.value,f.value);}return {status:r.value,value:i}}}};Re.create=(t,e,r)=>new Re({valueType:e,keyType:t,typeName:x.ZodMap,..._(r)});var Ce=class t extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.set)return p(n,{code:d.invalid_type,expected:g.set,received:n.parsedType}),y;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(p(n,{code:d.too_small,minimum:o.minSize.value,type:"set",inclusive:true,exact:false,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(p(n,{code:d.too_big,maximum:o.maxSize.value,type:"set",inclusive:true,exact:false,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function a(l){let u=new Set;for(let f of l){if(f.status==="aborted")return y;f.status==="dirty"&&r.dirty(),u.add(f.value);}return {status:r.value,value:u}}let i=[...n.data.values()].map((l,u)=>s._parse(new L(n,l,n.path,u)));return n.common.async?Promise.all(i).then(l=>a(l)):a(i)}min(e,r){return new t({...this._def,minSize:{value:e,message:h.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:h.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Ce.create=(t,e)=>new Ce({valueType:t,minSize:null,maxSize:null,typeName:x.ZodSet,..._(e)});var Fe=class t extends k{constructor(){super(...arguments),this.validate=this.implement;}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.function)return p(r,{code:d.invalid_type,expected:g.function,received:r.parsedType}),y;function n(i,l){return Ne({data:i,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Te(),F].filter(u=>!!u),issueData:{code:d.invalid_arguments,argumentsError:l}})}function o(i,l){return Ne({data:i,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Te(),F].filter(u=>!!u),issueData:{code:d.invalid_return_type,returnTypeError:l}})}let s={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof Q){let i=this;return O(async function(...l){let u=new P([]),f=await i._def.args.parseAsync(l,s).catch(S=>{throw u.addIssue(n(l,S)),u}),v=await Reflect.apply(a,this,f);return await i._def.returns._def.type.parseAsync(v,s).catch(S=>{throw u.addIssue(o(v,S)),u})})}else {let i=this;return O(function(...l){let u=i._def.args.safeParse(l,s);if(!u.success)throw new P([n(l,u.error)]);let f=Reflect.apply(a,this,u.data),v=i._def.returns.safeParse(f,s);if(!v.success)throw new P([o(f,v.error)]);return v.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Z.create(e).rest(K.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Z.create([]).rest(K.create()),returns:r||K.create(),typeName:x.ZodFunction,..._(n)})}},pe=class extends k{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};pe.create=(t,e)=>new pe({getter:t,typeName:x.ZodLazy,..._(e)});var fe=class extends k{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return p(r,{received:r.data,code:d.invalid_literal,expected:this._def.value}),y}return {status:"valid",value:e.data}}get value(){return this._def.value}};fe.create=(t,e)=>new fe({value:t,typeName:x.ZodLiteral,..._(e)});function sr(t,e){return new me({values:t,typeName:x.ZodEnum,..._(e)})}var me=class t extends k{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return p(r,{expected:T.joinValues(n),received:r.parsedType,code:d.invalid_type}),y}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return p(r,{received:r.data,code:d.invalid_enum_value,options:n}),y}return O(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};me.create=sr;var ge=class extends k{_parse(e){let r=T.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==g.string&&n.parsedType!==g.number){let o=T.objectValues(r);return p(n,{expected:T.joinValues(o),received:n.parsedType,code:d.invalid_type}),y}if(this._cache||(this._cache=new Set(T.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=T.objectValues(r);return p(n,{received:n.data,code:d.invalid_enum_value,options:o}),y}return O(e.data)}get enum(){return this._def.values}};ge.create=(t,e)=>new ge({values:t,typeName:x.ZodNativeEnum,..._(e)});var Q=class extends k{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.promise&&r.common.async===false)return p(r,{code:d.invalid_type,expected:g.promise,received:r.parsedType}),y;let n=r.parsedType===g.promise?r.data:Promise.resolve(r.data);return O(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};Q.create=(t,e)=>new Q({type:t,typeName:x.ZodPromise,..._(e)});var W=class extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:a=>{p(n,a),a.fatal?r.abort():r.dirty();},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let a=o.transform(n.data,s);if(n.common.async)return Promise.resolve(a).then(async i=>{if(r.value==="aborted")return y;let l=await this._def.schema._parseAsync({data:i,path:n.path,parent:n});return l.status==="aborted"?y:l.status==="dirty"?ne(l.value):r.value==="dirty"?ne(l.value):l});{if(r.value==="aborted")return y;let i=this._def.schema._parseSync({data:a,path:n.path,parent:n});return i.status==="aborted"?y:i.status==="dirty"?ne(i.value):r.value==="dirty"?ne(i.value):i}}if(o.type==="refinement"){let a=i=>{let l=o.refinement(i,s);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(n.common.async===false){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?y:(i.status==="dirty"&&r.dirty(),a(i.value),{status:r.value,value:i.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>i.status==="aborted"?y:(i.status==="dirty"&&r.dirty(),a(i.value).then(()=>({status:r.value,value:i.value}))))}if(o.type==="transform")if(n.common.async===false){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!q(a))return y;let i=o.transform(a.value,s);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return {status:r.value,value:i}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>q(a)?Promise.resolve(o.transform(a.value,s)).then(i=>({status:r.value,value:i})):y);T.assertNever(o);}};W.create=(t,e,r)=>new W({schema:t,typeName:x.ZodEffects,effect:e,..._(r)});W.createWithPreprocess=(t,e,r)=>new W({schema:e,effect:{type:"preprocess",transform:t},typeName:x.ZodEffects,..._(r)});var $=class extends k{_parse(e){return this._getType(e)===g.undefined?O(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};$.create=(t,e)=>new $({innerType:t,typeName:x.ZodOptional,..._(e)});var G=class extends k{_parse(e){return this._getType(e)===g.null?O(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};G.create=(t,e)=>new G({innerType:t,typeName:x.ZodNullable,..._(e)});var he=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===g.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};he.create=(t,e)=>new he({innerType:t,typeName:x.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,..._(e)});var ye=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Se(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new P(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new P(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};ye.create=(t,e)=>new ye({innerType:t,typeName:x.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,..._(e)});var Ee=class extends k{_parse(e){if(this._getType(e)!==g.nan){let n=this._getOrReturnCtx(e);return p(n,{code:d.invalid_type,expected:g.nan,received:n.parsedType}),y}return {status:"valid",value:e.data}}};Ee.create=t=>new Ee({typeName:x.ZodNaN,..._(t)});var hn=Symbol("zod_brand"),$e=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Le=class t extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return (async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?y:s.status==="dirty"?(r.dirty(),ne(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?y:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:x.ZodPipeline})}},ve=class extends k{_parse(e){let r=this._def.innerType._parse(e),n=o=>(q(o)&&(o.value=Object.freeze(o.value)),o);return Se(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};ve.create=(t,e)=>new ve({innerType:t,typeName:x.ZodReadonly,..._(e)});function tr(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function ar(t,e={},r){return t?X.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(a=>{if(!a){let i=tr(e,n),l=i.fatal??r??true;o.addIssue({code:"custom",...i,fatal:l});}});if(!s){let a=tr(e,n),i=a.fatal??r??true;o.addIssue({code:"custom",...a,fatal:i});}}):X.create()}var yn={object:D.lazycreate},x;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly";})(x||(x={}));var vn=(t,e={message:`Input not instance of ${t.name}`})=>ar(r=>r instanceof t,e),ir=Y.create,cr=oe.create,xn=Ee.create,bn=se.create,lr=ae.create,_n=ie.create,kn=Me.create,wn=ce.create,Tn=le.create,Sn=X.create,An=K.create,Mn=z.create,In=Ie.create,Rn=J.create,Cn=D.create,En=D.strictCreate,On=ue.create,Pn=Ze.create,Dn=de.create,jn=Z.create,Nn=Ge.create,$n=Re.create,Ln=Ce.create,Wn=Fe.create,Bn=pe.create,zn=fe.create,Vn=me.create,Un=ge.create,Zn=Q.create,Gn=W.create,Fn=$.create,Hn=G.create,Kn=W.createWithPreprocess,Jn=Le.create,qn=()=>ir().optional(),Yn=()=>cr().optional(),Xn=()=>lr().optional(),Qn={string:(t=>Y.create({...t,coerce:true})),number:(t=>oe.create({...t,coerce:true})),boolean:(t=>ae.create({...t,coerce:true})),bigint:(t=>se.create({...t,coerce:true})),date:(t=>ie.create({...t,coerce:true}))};var eo=y;var Oe="agtx_pk_",He="agtx_sk_";c.string().min(Oe.length+8).startsWith(Oe,{message:`Publishable keys must start with "${Oe}".`});c.string().min(He.length+8).startsWith(He,{message:`Secret keys must start with "${He}".`});var ur=t=>t.startsWith(Oe)?"publishable":t.startsWith(He)?"secret":"unknown",xe=c.enum(["webmcp","dom","screenshot"]),ft=c.enum(["detected","declared","verified","linked"]),to=c.object({class:xe,trust:ft,confidence:c.number().min(0).max(1).default(1),vendor:c.string().nullable(),userAgent:c.string().nullable(),detectionVersion:c.string().default("2026.04"),signals:c.record(c.unknown()).default({})}),ro=c.enum(["bearer","oauth2","sso","spiffe","google-agent","mtls","detection","declaration","extension","session-link","x-agent-header"]),We=c.object({class:xe,vendor:c.string().min(1),token:c.string().min(8),expiresAt:c.string().datetime().optional()});c.object({publishableKey:c.string(),claim:We,nonce:c.string().min(8),origin:c.string().url()});c.object({trust:ft,vendor:c.string(),validUntil:c.string().datetime(),reason:c.string().optional(),subject:c.string().optional(),protocol:ro.optional(),signals:c.record(c.unknown()).optional()});c.object({issuer:c.string().url(),audiences:c.array(c.string().min(1)).min(1)});c.object({trustDomain:c.string().min(1),bundleEndpoint:c.string().url(),audiences:c.array(c.string().min(1)).min(1),googleTrustDomains:c.array(c.string().min(1)).optional()});c.object({rootCerts:c.array(c.string().min(20)).min(1),spiffeTrustDomain:c.string().min(1).optional(),xfccEntryPolicy:c.enum(["last","first","only"]).default("last")});c.enum(["sso","spiffe","mtls"]);c.object({siteId:c.string().min(1),token:c.string().min(8).optional(),xfcc:c.string().min(1).optional(),headers:c.record(c.string()).optional(),origin:c.string().url().optional()});var V={detected:0,declared:1,verified:2,linked:3},dr=(t,e)=>V[t]>V[e],pr=c.enum(["allow","deny","review"]),Be=c.object({id:c.string(),tool:c.string(),minTrust:ft,allowedClasses:c.array(xe).default([]),decision:pr,rateLimit:c.object({max:c.number().int().positive(),windowSeconds:c.number().int().positive()}).optional()}),no=c.object({decision:pr,ruleId:c.string().nullable(),reason:c.string()}),oo=c.enum(["session","user","org"]),mt=c.object({key:c.string().min(1),value:c.unknown(),scope:oo.default("session"),ttlSeconds:c.number().int().positive().nullable().default(null),updatedAt:c.string().datetime().optional()}),so=c.object({path:c.string().min(1),name:c.string().optional(),purpose:c.string().optional(),availableActions:c.array(c.string()).optional(),prerequisites:c.array(c.string()).optional(),queryParams:c.record(c.string()).optional(),notes:c.string().optional()}),ao=c.object({pattern:c.string().optional(),flow:c.string().optional()}),io=c.object({pages:c.array(so).default([]),navigation:ao.optional()}),co=c.object({step:c.number().int().positive(),action:c.string().min(1)}),lo=c.object({steps:c.array(co).default([]),notes:c.string().optional(),policy:c.string().optional()}),uo=c.object({selector:c.string().min(1),behavior:c.string().optional(),location:c.string().optional(),showsCount:c.boolean().optional()}),po=c.object({categories:c.array(c.string()).optional(),productSchema:c.object({fields:c.array(c.string()).optional(),idFormat:c.string().optional()}).optional(),searchBehavior:c.string().optional()}),gt=c.object({path:c.string().min(1),payload:c.record(c.unknown()).default({}),updatedAt:c.string().datetime().optional()}).strict(),j=c.object({version:c.string().default("1"),siteMap:io.optional(),workflows:c.record(lo).default({}),policies:c.record(c.union([c.string(),c.array(c.string())])).default({}),catalog:po.optional(),uiGuidance:c.record(uo).default({}),pageContexts:c.record(gt).default({}),updatedAt:c.string().datetime().optional()}),fr=j.parse({}),fo=c.enum(["agent.detected","agent.missed","auth.identity_presented","auth.identity_cleared","authz.policies_set","authz.evaluated","memory.accessed","memory.updated","tool.registered","tool.executed","tool.surfaced","tool.progressed","sdk.error"]),ht=c.object({id:c.string(),siteId:c.string(),sessionId:c.string(),occurredAt:c.string().datetime(),type:fo,tool:c.string().optional(),agent:to.nullable().optional(),policy:no.optional(),durationMs:c.number().int().nonnegative().optional(),outcome:c.enum(["success","error","blocked"]),error:c.string().optional(),metadata:c.record(c.unknown()).default({})});c.object({publishableKey:c.string(),events:c.array(ht).min(1).max(100)});var ze=class extends Error{code;constructor(t,e){super(e),this.name="AgentronicsError",this.code=t;}};var mo=()=>{if(typeof navigator>"u")return null;let t=navigator.modelContext;return t&&typeof t=="object"?t:null},Pe=async(t={})=>{let{pollMs:e=500}=t,r=Date.now();for(;;){let n=mo();if(n)return go(n);if(Date.now()-r>=e)return null;await new Promise(o=>setTimeout(o,50));}},go=t=>({class:"webmcp",trust:"detected",confidence:1,vendor:t.vendor??t.client??null,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{webmcp:true,toolCount:Array.isArray(t.tools)?t.tools.length:0}});var ho=[/HeadlessChrome/i,/Headless/i,/PhantomJS/i,/SlimerJS/i],yo=()=>({hit:(typeof navigator<"u"&&navigator.webdriver)===true,weight:.6,detail:"navigator.webdriver === true"}),vo=()=>{if(typeof window>"u")return {hit:false,weight:.5};let t=Object.keys(window).filter(e=>e.startsWith("cdc_"));return {hit:t.length>0,weight:.5,detail:`window.${t[0]??"cdc_*"}`}},xo=()=>{if(typeof navigator>"u"||!navigator.plugins)return {hit:false,weight:.2};let t=/Win|Mac|Linux/.test(navigator.userAgent??""),e=navigator.plugins.length===0;return {hit:t&&e,weight:.2,detail:"desktop UA with no plugins"}},bo=()=>{if(typeof navigator>"u")return {hit:false,weight:.7};let t=navigator.userAgent??"",e=ho.some(r=>r.test(t));return e?{hit:e,weight:.7,detail:`headless UA: ${t}`}:{hit:e,weight:.7}},_o=()=>{if(typeof navigator>"u")return {hit:false,weight:.15};let t=navigator.languages;return {hit:!t||t.length===0,weight:.15,detail:"navigator.languages empty"}},ko=()=>{if(typeof navigator>"u")return {hit:false,weight:.1};let t="chrome"in window,e=navigator.userAgent??"";return {hit:/Chrome\//.test(e)&&!/Edg\//.test(e)&&!t,weight:.2,detail:"Chrome UA without window.chrome"}},wo={webdriver:yo,chromedriver:vo,headlessUa:bo,languages:_o,permissions:ko,plugins:xo},De=(t={})=>{let{threshold:e=.4}=t,r={},n=0,o=0;for(let[a,i]of Object.entries(wo)){let l=i();n+=l.weight,r[a]={hit:l.hit,weight:l.weight,detail:l.detail},l.hit&&(o+=l.weight);}let s=n===0?0:o/n;return s<e?null:{class:"dom",trust:"detected",confidence:s,vendor:null,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:r}};var yt=()=>[{id:"webmcp.model-context",status:"stable",detect:()=>Pe({pollMs:0})},{id:"dom.automation-heuristics",status:"beta",detect:()=>De()}],Ke=(t=yt())=>{let e=new Map(t.map(r=>[r.id,r]));return {register(r){e.set(r.id,r);},list(r){let n=[...e.values()];return r?n.filter(o=>o.status===r):n},async detectAll(r=false){for(let n of e.values()){if(n.status==="research"&&!r)continue;let o=await n.detect();if(o)return o}return null}}};var vt=t=>{let e=xe.parse(t.class),r=t.verificationToken?"verified":"declared";return {class:e,trust:r,confidence:1,vendor:t.vendor,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{declared:true,hasVerificationToken:!!t.verificationToken}}};var mr=({gatewayUrl:t,fetcher:e=fetch})=>{let r=null,n=[];return {snapshot(){return [...n]},async sync(){let o=await e(`${t.replace(/\/$/,"")}/v1/detector-signatures`,{headers:r?{"if-none-match":r}:{}});if(o.status===304)return this.snapshot();if(!o.ok)throw new Error(`Detector signature sync failed with status ${o.status}.`);return n=(await o.json()).signatures??[],r=o.headers.get("etag"),this.snapshot()}}};var Je=async(t={})=>{if(t.customDetectors?.length){let e=await Ke(t.customDetectors).detectAll(!!t.experimental);if(e)return e}if(t.webmcp!==false){let e=await Pe(t.webmcp??{});if(e)return e}if(t.dom!==false){let e=De(t.dom??{});if(e)return e}return null};var To=t=>({class:t.class,trust:"declared",confidence:1,vendor:t.vendor,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{declared:true,hasToken:true,tokenExpiresAt:t.expiresAt??null}}),xt=()=>{let t=null;return {present(e){let r=We.safeParse(e);if(!r.success)throw new ze("invalid_api_key",`Invalid identity claim: ${r.error.issues[0]?.message??"unknown"}`);let n={claim:r.data,identity:To(r.data)};return t=n,n},clear(){t=null;},preferOver(e){return t?e?dr(t.identity.trust,e.trust)?t.identity:e:t.identity:e},snapshot(){return t}}};var So=({detected:t,declared:e,verified:r,linked:n})=>n?"linked":r?"verified":e?"declared":"detected",bt=t=>{let e=null;for(let r of t)(!e||V[r.trust]>V[e.trust])&&(e=r);return e};var gr=()=>({name:"bearer",async authenticate(t,e){if(!t.bearerToken)return null;let r=await e.verifyToken?.("bearer",t.bearerToken);return {class:t.classHint??"dom",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"bearer",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{bearer:true,verifiedRemotely:!!r}}}});var hr=()=>({name:"detection",async authenticate(t){return t.detected??null}});var yr=()=>({name:"extensionToken",async authenticate(t,e){if(!t.extensionToken)return null;let r=await e.verifyToken?.("extensionToken",t.extensionToken);return {class:"dom",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"browser-extension",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{extensionToken:true,verifiedRemotely:!!r}}}});var vr=()=>({name:"mtls",async authenticate(t,e){if(!t.xfccHeader)return null;let r=await e.verifyToken?.("mtls",t.xfccHeader);return {class:t.classHint??"webmcp",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"mtls",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{mtls:true,subject:r?.subject??null,verifiedRemotely:!!r,...r?.signals??{}}}}});var xr=()=>({name:"oauth2",async authenticate(t,e){if(!t.oauth2AccessToken)return null;let r=await e.verifyToken?.("oauth2",t.oauth2AccessToken);return {class:t.classHint??"webmcp",trust:t.oauth2Subject?"linked":r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"oauth2",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{oauth2:true,subject:t.oauth2Subject??null,verifiedRemotely:!!r}}}});var Ao=t=>({class:t.class,trust:"declared",confidence:1,vendor:t.vendor,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{declared:true,hasToken:true,tokenExpiresAt:t.expiresAt??null}}),br=()=>({name:"selfDeclaration",async authenticate(t){return t.declaration?Ao(We.parse(t.declaration)):null}});var _r=()=>({name:"sessionLink",async authenticate(t,e){if(!t.sessionLinkToken)return null;let r=await e.verifyToken?.("sessionLink",t.sessionLinkToken);return {class:t.classHint??"screenshot",trust:t.linkedUserId?"linked":r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"session-link",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{sessionLink:true,linkedUserId:t.linkedUserId??null,verifiedRemotely:!!r}}}});var kr=()=>({name:"sso",async authenticate(t,e){if(!t.ssoIdToken)return null;let r=await e.verifyToken?.("sso",t.ssoIdToken);return {class:t.classHint??"dom",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"sso",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{sso:true,subject:r?.subject??null,verifiedRemotely:!!r,...r?.signals??{}}}}});var wr=()=>({name:"spiffe",async authenticate(t,e){if(!t.spiffeJwt)return null;let r=await e.verifyToken?.("spiffe",t.spiffeJwt),n=r?.vendor==="google";return {class:t.classHint??"webmcp",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"spiffe",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{spiffe:true,spiffeId:r?.subject??null,subject:r?.subject??null,verifiedRemotely:!!r,...n?{googleAgent:true}:{},...r?.signals??{}}}}});var Tr=()=>({name:"xAgentHeader",async authenticate(t){if(!t.xAgentHeader)return null;let[e="x-agent",r="dom",n]=t.xAgentHeader.split(";"),o=xe.safeParse(r);return {class:o.success?o.data:"dom",trust:n?"verified":"declared",confidence:n?1:.8,vendor:e,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:"2026.04",signals:{xAgentHeader:true,hasProof:!!n}}}});var Mo=()=>[hr(),br(),gr(),Tr(),yr(),_r(),xr(),kr(),wr(),vr()],Io={detection:"detection",selfDeclaration:"declaration",bearer:"bearer",xAgentHeader:"x-agent-header",extensionToken:"extension",sessionLink:"session-link",oauth2:"oauth2",sso:"sso",spiffe:"spiffe",mtls:"mtls"},Ro=(t,e)=>t==="spiffe"&&e.signals?.googleAgent===true?"google-agent":Io[t],_t=({methods:t=Mo(),context:e={},onTrace:r}={})=>({async authenticate(n){let o=[],s={};for(let v of t){let b=await v.authenticate(n,e);s[v.name]=!!b,b&&o.push({method:v.name,identity:b});}let a=bt(o.map(v=>v.identity)),i=a?o.find(v=>v.identity===a):void 0,l=i?Ro(i.method,i.identity):void 0,u=typeof a?.signals?.subject=="string"?a.signals.subject:void 0,f={type:a?"auth.identity_presented":"sdk.error",agent:a,outcome:a?"success":"error",metadata:{methods:s,...l?{protocol:l}:{},...u?{subject:u}:{}}};return a||(f.error="No auth method produced an identity."),r?.(f),a},methods(){return t.map(n=>n.name)}});var Co={identity:null,source:"initial",updatedAt:null},kt=()=>{let t=Co,e=new Set,r=()=>{e.size!==0&&e.forEach(n=>n(t));};return {snapshot(){return t},set(n,o){t={identity:n,source:o,updatedAt:new Date().toISOString()},r();},subscribe(n){return e.add(n),()=>{e.delete(n);}}}};var Eo=()=>{let t=new Map;return {read:e=>t.get(e)??null,write:(e,r)=>{t.set(e,r);}}},Oo=()=>typeof window>"u"||!window.localStorage?Eo():{read:t=>{try{return window.localStorage.getItem(t)}catch{return null}},write:(t,e)=>{try{window.localStorage.setItem(t,e);}catch{}}},Po=t=>{if(!t)return null;try{let e=JSON.parse(t);if(typeof e=="object"&&e!==null&&Number.isFinite(e.count)&&Number.isFinite(e.resetAt))return e}catch{return null}return null},wt=(t=Oo())=>({consume(e,r,n=Date.now()){let o=`agtx:rate:${e}`,s=Po(t.read(o)),a=s&&s.resetAt>n?s.resetAt:n+r.windowSeconds*1e3,i=s&&s.resetAt>n?s.count+1:1;return t.write(o,JSON.stringify({count:i,resetAt:a})),{allowed:i<=r.max,remaining:Math.max(0,r.max-i),resetAt:a}}});var Do=(t,e)=>t==="*"||t===e?true:t.includes("*")?new RegExp("^"+t.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")+"$").test(e):false,jo=(t,e)=>{let r=t?V[t.trust]:-1,n=V[e.minTrust];return r>=n},No=(t,e)=>e.allowedClasses.length===0?true:t?e.allowedClasses.includes(t.class):false,Sr="review",$o=(t,e)=>{let r=e?.class??"unknown",n=e?.vendor??"unknown",o=e?.trust??"none";return `${t}:${r}:${n}:${o}`},Tt=(t=[],e={})=>{let r=t.map(o=>Be.parse(o)),n=e.rateLimiter??wt();return {set(o){r=o.map(s=>Be.parse(s));},list(){return [...r]},evaluate({tool:o,identity:s}){for(let a of r)if(Do(a.tool,o)){if(!jo(s,a))return {decision:"deny",ruleId:a.id,reason:`Rule "${a.id}" requires trust >= ${a.minTrust}.`};if(!No(s,a))return {decision:"deny",ruleId:a.id,reason:`Rule "${a.id}" restricts to classes: ${a.allowedClasses.join(", ")}.`};if(a.rateLimit){let i=n.consume($o(o,s),a.rateLimit);if(!i.allowed)return {decision:"deny",ruleId:a.id,reason:`Rule "${a.id}" rate limit exceeded. Resets at ${new Date(i.resetAt).toISOString()}.`}}return {decision:a.decision,ruleId:a.id,reason:`Matched rule "${a.id}".`}}return {decision:Sr,ruleId:null,reason:`No rule matched tool "${o}". Falling back to "${Sr}".`}}}};var St=({gatewayUrl:t,siteId:e,publishableKey:r,fetcher:n=fetch})=>{let o={policies:[],etag:null};return {snapshot(){return {policies:[...o.policies],etag:o.etag}},async sync(){let s=await n(`${t.replace(/\/$/,"")}/v1/sites/${encodeURIComponent(e)}/policies`,{headers:{authorization:`Bearer ${r}`,...o.etag?{"if-none-match":o.etag}:{}}});if(s.status===304)return this.snapshot();if(!s.ok)throw new Error(`Policy sync failed with status ${s.status}.`);let a=await s.json();return o={policies:Be.array().parse(a.policies??[]),etag:s.headers.get("etag")},this.snapshot()}}};var At=({message:t="Agent action blocked by site policy.",durationMs:e=2400,documentRef:r=typeof document>"u"?void 0:document}={})=>{if(!r?.body)return null;let n=r.createElement("div");return n.setAttribute("role","status"),n.setAttribute("data-agentronics-deny-overlay","true"),n.textContent=t,Object.assign(n.style,{position:"fixed",zIndex:"2147483647",left:"50%",bottom:"24px",transform:"translateX(-50%)",maxWidth:"min(520px, calc(100vw - 32px))",padding:"12px 16px",borderRadius:"8px",background:"#07091A",color:"#F4F4F5",border:"1px solid #6366F1",boxShadow:"0 20px 48px -16px rgba(7,9,26,0.55)",font:"13px/1.45 'Space Mono', ui-monospace, SFMono-Regular, Menlo, monospace"}),r.body.appendChild(n),window.setTimeout(()=>n.remove(),e),n};var Mt=({policyEngine:t,getIdentity:e,documentRef:r=typeof document>"u"?void 0:document,selector:n="[data-agentronics-tool]"})=>{if(!r)return {uninstall:()=>{}};let o=s=>{let a=s.target instanceof Element?s.target.closest(n):null;if(!(a instanceof HTMLElement))return;let i=a.dataset.agentronicsTool;i&&Promise.resolve(e()).then(l=>{let u=t.evaluate({tool:i,identity:l});u.decision==="deny"&&(s.preventDefault(),s.stopPropagation(),At({message:u.reason,documentRef:r}));});};return r.addEventListener("click",o,true),{uninstall:()=>r.removeEventListener("click",o,true)}};var It=()=>{let t=new Map;return {read:e=>t.get(e)??null,write:(e,r)=>{t.set(e,r);},remove:e=>{t.delete(e);},keys:()=>[...t.keys()]}},Ar=(t,e)=>({read:r=>{try{return t.getItem(e+r)}catch{return null}},write:(r,n)=>{try{t.setItem(e+r,n);}catch{}},remove:r=>{try{t.removeItem(e+r);}catch{}},keys:()=>{let r=[];try{for(let n=0;n<t.length;n++){let o=t.key(n);o&&o.startsWith(e)&&r.push(o.slice(e.length));}}catch{}return r}}),Mr="agtx:",Ir=()=>{let t=typeof window<"u",e=t&&typeof window.sessionStorage<"u"?Ar(window.sessionStorage,Mr+"session:"):It(),r=t&&typeof window.localStorage<"u"?Ar(window.localStorage,Mr+"user:"):It();return {session:e,user:r,org:It()}};var Rr=(t,e)=>t.expiresAt!==null&&t.expiresAt<=e,Cr=t=>{if(!t)return null;try{let e=JSON.parse(t);return typeof e!="object"||e===null?null:e}catch{return null}},Lo=t=>JSON.stringify(t),Rt=(t={})=>{let e=Ir(),r=l=>{t.onTrace?.(l);};return {get:(l,u={})=>{let f=u.scope??"session",v=e[f],b=Cr(v.read(l));if(!b){r({type:"memory.accessed",metadata:{operation:"get",key:l,scope:f,hit:false}});return}if(Rr(b,Date.now())){v.remove(l),r({type:"memory.accessed",metadata:{operation:"get",key:l,scope:f,hit:false,expired:true}});return}return r({type:"memory.accessed",metadata:{operation:"get",key:l,scope:f,hit:true}}),b.value},set:(l,u,f={})=>{let v=f.scope??"session",b=f.ttlSeconds??null,S=Date.now(),R={value:u,expiresAt:b===null?null:S+b*1e3,updatedAt:new Date(S).toISOString()};return e[v].write(l,Lo(R)),r({type:"memory.updated",metadata:{operation:"set",key:l,scope:v,ttlSeconds:b}}),mt.parse({key:l,value:u,scope:v,ttlSeconds:b,updatedAt:R.updatedAt})},remove:(l,u={})=>{let f=u.scope??"session";e[f].remove(l),r({type:"memory.updated",metadata:{operation:"remove",key:l,scope:f}});},list:(l={})=>{let u=l.scope??"session",f=e[u],v=Date.now(),b=[];for(let S of f.keys()){let R=Cr(f.read(S));if(R){if(Rr(R,v)){f.remove(S);continue}b.push(mt.parse({key:S,value:R.value,scope:u,ttlSeconds:R.expiresAt===null?null:Math.max(0,Math.round((R.expiresAt-v)/1e3)),updatedAt:R.updatedAt}));}}return r({type:"memory.accessed",metadata:{operation:"list",scope:u,count:b.length}}),b},clear:(l={})=>{let u=l.scope??"session",f=e[u],v=f.keys().length;for(let b of f.keys())f.remove(b);r({type:"memory.updated",metadata:{operation:"clear",scope:u,count:v}});}}};var Ct=t=>j.parse(JSON.parse(JSON.stringify(t))),qe=t=>({...t,updatedAt:new Date().toISOString()}),Et=(t={})=>{let e=j.parse({...fr,...t.initial??{}}),r=null,n=new Set,o=w=>{t.onTrace?.(w);},s=()=>{r=null;},a=()=>{if(n.size===0)return;let w=Ct(e);r=w,n.forEach(M=>M(w));},i=w=>{let M=j.parse({...e,...w,workflows:{...e.workflows,...w.workflows??{}},policies:{...e.policies,...w.policies??{}},uiGuidance:{...e.uiGuidance,...w.uiGuidance??{}},pageContexts:{...e.pageContexts,...w.pageContexts??{}}});return e=qe(M),s(),o({type:"memory.updated",metadata:{kind:"site",operation:"provide",keys:Object.keys(w)}}),a(),f()},l=(w,M)=>{let I=w.split(".").filter(Boolean);if(I.length===0)throw new Error("siteMemory.update() requires a non-empty dot-path.");let te=JSON.parse(JSON.stringify(e)),re=te;for(let be=0;be<I.length-1;be++){let B=I[be],_e=re[B];(typeof _e!="object"||_e===null||Array.isArray(_e))&&(re[B]={}),re=re[B];}return re[I[I.length-1]]=M,e=qe(j.parse(te)),s(),o({type:"memory.updated",metadata:{kind:"site",operation:"update",path:w}}),a(),f()},u=w=>{let M=gt.parse({path:w.path,payload:w.payload,updatedAt:new Date().toISOString()});return e=qe({...e,pageContexts:{...e.pageContexts,[w.path]:M}}),s(),o({type:"memory.updated",metadata:{kind:"site",operation:"provideForPage",path:w.path}}),a(),{...M,payload:{...M.payload}}},f=()=>(r||(r=Ct(e)),r);return {provide:i,update:l,provideForPage:u,snapshot:f,get:w=>{if(o({type:"memory.accessed",metadata:{kind:"site",operation:w?"get":"snapshot",path:w??null}}),!w)return Ct(e);let M=w.split(".").filter(Boolean),I=e;for(let te of M){if(typeof I!="object"||I===null)return;I=I[te];}return I},getForPage:w=>{o({type:"memory.accessed",metadata:{kind:"site",operation:"getForPage",path:w}});let M=e.pageContexts[w];return M?{...M,payload:{...M.payload}}:null},replace:w=>(e=qe(j.parse(w)),s(),a(),f()),subscribe:w=>(n.add(w),()=>{n.delete(w);})}};var Ot=({gatewayUrl:t,siteId:e,publishableKey:r,fetcher:n=fetch})=>{let o={memory:null,etag:null};return {snapshot(){return {memory:o.memory?j.parse(o.memory):null,etag:o.etag}},async sync(){let s=await n(`${t.replace(/\/$/,"")}/v1/sites/${encodeURIComponent(e)}/memory`,{headers:{authorization:`Bearer ${r}`,...o.etag?{"if-none-match":o.etag}:{}}});if(s.status===304)return this.snapshot();if(!s.ok)throw new Error(`Memory sync failed with status ${s.status}.`);let a=await s.json();return o={memory:j.parse(a.memory??{}),etag:s.headers.get("etag")},this.snapshot()}}};var Er=({toolName:t="getSiteContext",description:e="Returns Agentronics site memory: page map, workflows, policies, UI guidance.",getSnapshot:r,onAccess:n})=>({name:t,description:e,inputSchema:{type:"object",properties:{path:{type:"string",description:'Optional dot-path into the site memory (e.g. "workflows.purchase").'}},required:[]},invoke(o={}){let s=r(),a=o.path??null;if(n?.(a),!a)return {content:s};let i=a.split(".").filter(Boolean),l=s;for(let u of i){if(typeof l!="object"||l===null)return {content:void 0};l=l[u];}return {content:l}}});var ee="agent-context-",Pt="agentronics-site-context",Wo=t=>{try{return JSON.stringify(t)}catch{return "{}"}},Ye=(t,e,r)=>{let n=t.querySelector(`meta[name="${e}"]`);n||(n=t.createElement("meta"),n.setAttribute("name",e),t.head.appendChild(n)),n.setAttribute("content",r);},Xe=(t,e)=>{t.querySelectorAll(`meta[name="${e}"]`).forEach(r=>r.remove());},Qe=({doc:t=typeof document>"u"?null:document,snapshot:e,schemaType:r="WebSite"})=>{if(!t)return {uninstall:()=>{}};Ye(t,`${ee}version`,e.version),Ye(t,`${ee}updated-at`,e.updatedAt??new Date().toISOString()),e.siteMap?.navigation?.flow&&Ye(t,`${ee}flow`,e.siteMap.navigation.flow),Ye(t,`${ee}workflows`,Object.keys(e.workflows).join(","));let n=t.getElementById(Pt);return n||(n=t.createElement("script"),n.type="application/ld+json",n.id=Pt,t.head.appendChild(n)),n.textContent=Wo({"@context":"https://schema.org","@type":r,name:"Agentronics Site Memory",agentronics:e}),{uninstall:()=>{Xe(t,`${ee}version`),Xe(t,`${ee}updated-at`),Xe(t,`${ee}flow`),Xe(t,`${ee}workflows`),t.getElementById(Pt)?.remove();}}};var Or="agentronics-memory-overlay",Bo=t=>`
|
|
1
|
+
var Agentronics=(function(exports){'use strict';var qr=Object.defineProperty;var Yr=(t,e)=>{for(var r in e)qr(t,r,{get:e[r],enumerable:true});};var l={};Yr(l,{BRAND:()=>Tn,DIRTY:()=>se,EMPTY_PATH:()=>tn,INVALID:()=>v,NEVER:()=>co,OK:()=>P,ParseStatus:()=>E,Schema:()=>k,ZodAny:()=>Q,ZodArray:()=>q,ZodBigInt:()=>ie,ZodBoolean:()=>ce,ZodBranded:()=>Be,ZodCatch:()=>xe,ZodDate:()=>le,ZodDefault:()=>ve,ZodDiscriminatedUnion:()=>He,ZodEffects:()=>B,ZodEnum:()=>ye,ZodError:()=>j,ZodFirstPartyTypeKind:()=>x,ZodFunction:()=>qe,ZodIntersection:()=>fe,ZodIssueCode:()=>d,ZodLazy:()=>me,ZodLiteral:()=>ge,ZodMap:()=>Ee,ZodNaN:()=>Pe,ZodNativeEnum:()=>he,ZodNever:()=>U,ZodNull:()=>de,ZodNullable:()=>F,ZodNumber:()=>ae,ZodObject:()=>N,ZodOptional:()=>L,ZodParsedType:()=>g,ZodPipeline:()=>Ve,ZodPromise:()=>ee,ZodReadonly:()=>be,ZodRecord:()=>Je,ZodSchema:()=>k,ZodSet:()=>Oe,ZodString:()=>X,ZodSymbol:()=>Re,ZodTransformer:()=>B,ZodTuple:()=>Z,ZodType:()=>k,ZodUndefined:()=>ue,ZodUnion:()=>pe,ZodUnknown:()=>J,ZodVoid:()=>Me,addIssueToContext:()=>m,any:()=>Pn,array:()=>$n,bigint:()=>Cn,boolean:()=>fr,coerce:()=>io,custom:()=>ur,date:()=>Rn,datetimeRegex:()=>cr,defaultErrorMap:()=>K,discriminatedUnion:()=>Vn,effect:()=>Qn,enum:()=>qn,function:()=>Kn,getErrorMap:()=>Ae,getParsedType:()=>G,instanceof:()=>An,intersection:()=>Un,isAborted:()=>Fe,isAsync:()=>Ie,isDirty:()=>Ke,isValid:()=>Y,late:()=>Sn,lazy:()=>Hn,literal:()=>Jn,makeIssue:()=>We,map:()=>Zn,nan:()=>In,nativeEnum:()=>Yn,never:()=>jn,null:()=>On,nullable:()=>to,number:()=>pr,object:()=>Ln,objectUtil:()=>ft,oboolean:()=>ao,onumber:()=>so,optional:()=>eo,ostring:()=>oo,pipeline:()=>no,preprocess:()=>ro,promise:()=>Xn,quotelessJson:()=>Xr,record:()=>Gn,set:()=>Fn,setErrorMap:()=>en,strictObject:()=>Wn,string:()=>dr,symbol:()=>Mn,transformer:()=>Qn,tuple:()=>zn,undefined:()=>En,union:()=>Bn,unknown:()=>Dn,util:()=>S,void:()=>Nn});var S;(function(t){t.assertEqual=o=>{};function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let a of o)s[a]=a;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(c=>typeof o[o[c]]!="number"),a={};for(let c of s)a[c]=o[c];return t.objectValues(a)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let a in o)Object.prototype.hasOwnProperty.call(o,a)&&s.push(a);return s},t.find=(o,s)=>{for(let a of o)if(s(a))return a},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(a=>typeof a=="string"?`'${a}'`:a).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s;})(S||(S={}));var ft;(function(t){t.mergeShapes=(e,r)=>({...e,...r});})(ft||(ft={}));var g=S.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),G=t=>{switch(typeof t){case "undefined":return g.undefined;case "string":return g.string;case "number":return Number.isNaN(t)?g.nan:g.number;case "boolean":return g.boolean;case "function":return g.function;case "bigint":return g.bigint;case "symbol":return g.symbol;case "object":return Array.isArray(t)?g.array:t===null?g.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?g.promise:typeof Map<"u"&&t instanceof Map?g.map:typeof Set<"u"&&t instanceof Set?g.set:typeof Date<"u"&&t instanceof Date?g.date:g.object;default:return g.unknown}};var d=S.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"]),Xr=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),j=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n];},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n];};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e;}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let a of s.issues)if(a.code==="invalid_union")a.unionErrors.map(o);else if(a.code==="invalid_return_type")o(a.returnTypeError);else if(a.code==="invalid_arguments")o(a.argumentsError);else if(a.path.length===0)n._errors.push(r(a));else {let c=n,i=0;for(;i<a.path.length;){let u=a.path[i];i===a.path.length-1?(c[u]=c[u]||{_errors:[]},c[u]._errors.push(r(a))):c[u]=c[u]||{_errors:[]},c=c[u],i++;}}};return o(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,S.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)if(o.path.length>0){let s=o.path[0];r[s]=r[s]||[],r[s].push(e(o));}else n.push(e(o));return {formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};j.create=t=>new j(t);var Qr=(t,e)=>{let r;switch(t.code){case d.invalid_type:t.received===g.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case d.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,S.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:r=`Unrecognized key(s) in object: ${S.joinValues(t.keys,", ")}`;break;case d.invalid_union:r="Invalid input";break;case d.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${S.joinValues(t.options)}`;break;case d.invalid_enum_value:r=`Invalid enum value. Expected ${S.joinValues(t.options)}, received '${t.received}'`;break;case d.invalid_arguments:r="Invalid function arguments";break;case d.invalid_return_type:r="Invalid function return type";break;case d.invalid_date:r="Invalid date";break;case d.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:S.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case d.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case d.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case d.custom:r="Invalid input";break;case d.invalid_intersection_types:r="Intersection results could not be merged";break;case d.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case d.not_finite:r="Number must be finite";break;default:r=e.defaultError,S.assertNever(t);}return {message:r}},K=Qr;var nr=K;function en(t){nr=t;}function Ae(){return nr}var We=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],a={...o,path:s};if(o.message!==void 0)return {...o,path:s,message:o.message};let c="",i=n.filter(u=>!!u).slice().reverse();for(let u of i)c=u(a,{data:e,defaultError:c}).message;return {...o,path:s,message:c}},tn=[];function m(t,e){let r=Ae(),n=We({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===K?void 0:K].filter(o=>!!o)});t.common.issues.push(n);}var E=class t{constructor(){this.value="valid";}dirty(){this.value==="valid"&&(this.value="dirty");}abort(){this.value!=="aborted"&&(this.value="aborted");}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return v;o.status==="dirty"&&e.dirty(),n.push(o.value);}return {status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r){let s=await o.key,a=await o.value;n.push({key:s,value:a});}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:a}=o;if(s.status==="aborted"||a.status==="aborted")return v;s.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof a.value<"u"||o.alwaysSet)&&(n[s.value]=a.value);}return {status:e.value,value:n}}},v=Object.freeze({status:"aborted"}),se=t=>({status:"dirty",value:t}),P=t=>({status:"valid",value:t}),Fe=t=>t.status==="aborted",Ke=t=>t.status==="dirty",Y=t=>t.status==="valid",Ie=t=>typeof Promise<"u"&&t instanceof Promise;var y;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message;})(y||(y={}));var W=class{constructor(e,r,n,o){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=o;}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}},or=(t,e)=>{if(Y(e))return {success:true,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return {success:false,get error(){if(this._error)return this._error;let r=new j(t.common.issues);return this._error=r,this._error}}};function w(t){if(!t)return {};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(a,c)=>{let{message:i}=t;return a.code==="invalid_enum_value"?{message:i??c.defaultError}:typeof c.data>"u"?{message:i??n??c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:i??r??c.defaultError}},description:o}}var k=class{get description(){return this._def.description}_getType(e){return G(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:G(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return {status:new E,ctx:{common:e.parent.common,data:e.data,parsedType:G(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Ie(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??false,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:G(e)},o=this._parseSync({data:e,path:n.path,parent:n});return or(n,o)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:G(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return Y(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=true),r.common={issues:[],async:true};}return this._parseAsync({data:e,path:[],parent:r}).then(n=>Y(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:true},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:G(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(Ie(o)?o:Promise.resolve(o));return or(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let a=e(o),c=()=>s.addIssue({code:d.custom,...n(o)});return typeof Promise<"u"&&a instanceof Promise?a.then(i=>i?true:(c(),false)):a?true:(c(),false)})}refinement(e,r){return this._refinement((n,o)=>e(n)?true:(o.addIssue(typeof r=="function"?r(n,o):r),false))}_refinement(e){return new B({schema:this,typeName:x.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:r=>this["~validate"](r)};}optional(){return L.create(this,this._def)}nullable(){return F.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return q.create(this)}promise(){return ee.create(this,this._def)}or(e){return pe.create([this,e],this._def)}and(e){return fe.create(this,e,this._def)}transform(e){return new B({...w(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new ve({...w(this._def),innerType:this,defaultValue:r,typeName:x.ZodDefault})}brand(){return new Be({typeName:x.ZodBranded,type:this,...w(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new xe({...w(this._def),innerType:this,catchValue:r,typeName:x.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Ve.create(this,e)}readonly(){return be.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},rn=/^c[^\s-]{8,}$/i,nn=/^[0-9a-z]+$/,on=/^[0-9A-HJKMNP-TV-Z]{26}$/i,sn=/^[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,an=/^[a-z0-9_-]{21}$/i,cn=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ln=/^[-+]?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)?)??$/,un=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,dn="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mt,pn=/^(?:(?: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])$/,fn=/^(?:(?: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])$/,mn=/^(([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]))$/,gn=/^(([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])$/,yn=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,hn=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ar="((\\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])))",vn=new RegExp(`^${ar}$`);function ir(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return `([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function xn(t){return new RegExp(`^${ir(t)}$`)}function cr(t){let e=`${ar}T${ir(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function bn(t,e){return !!((e==="v4"||!e)&&pn.test(t)||(e==="v6"||!e)&&mn.test(t))}function _n(t,e){if(!cn.test(t))return false;try{let[r]=t.split(".");if(!r)return !1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),o=JSON.parse(atob(n));return !(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return false}}function wn(t,e){return !!((e==="v4"||!e)&&fn.test(t)||(e==="v6"||!e)&&gn.test(t))}var X=class t extends k{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==g.string){let s=this._getOrReturnCtx(e);return m(s,{code:d.invalid_type,expected:g.string,received:s.parsedType}),v}let n=new E,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),m(o,{code:d.too_small,minimum:s.value,type:"string",inclusive:true,exact:false,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),m(o,{code:d.too_big,maximum:s.value,type:"string",inclusive:true,exact:false,message:s.message}),n.dirty());else if(s.kind==="length"){let a=e.data.length>s.value,c=e.data.length<s.value;(a||c)&&(o=this._getOrReturnCtx(e,o),a?m(o,{code:d.too_big,maximum:s.value,type:"string",inclusive:true,exact:true,message:s.message}):c&&m(o,{code:d.too_small,minimum:s.value,type:"string",inclusive:true,exact:true,message:s.message}),n.dirty());}else if(s.kind==="email")un.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"email",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")mt||(mt=new RegExp(dn,"u")),mt.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"emoji",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")sn.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"uuid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")an.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"nanoid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")rn.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"cuid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")nn.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"cuid2",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")on.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"ulid",code:d.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data);}catch{o=this._getOrReturnCtx(e,o),m(o,{validation:"url",code:d.invalid_string,message:s.message}),n.dirty();}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"regex",code:d.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),m(o,{code:d.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),m(o,{code:d.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),m(o,{code:d.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?cr(s).test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{code:d.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?vn.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{code:d.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?xn(s).test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{code:d.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?ln.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"duration",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?bn(e.data,s.version)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"ip",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?_n(e.data,s.alg)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"jwt",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?wn(e.data,s.version)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"cidr",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?yn.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"base64",code:d.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?hn.test(e.data)||(o=this._getOrReturnCtx(e,o),m(o,{validation:"base64url",code:d.invalid_string,message:s.message}),n.dirty()):S.assertNever(s);return {status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(o=>e.test(o),{validation:r,code:d.invalid_string,...y.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...y.errToObj(e)})}url(e){return this._addCheck({kind:"url",...y.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...y.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...y.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...y.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...y.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...y.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...y.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...y.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...y.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...y.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...y.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...y.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:false,local:false,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??false,local:e?.local??false,...y.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...y.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...y.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...y.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...y.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...y.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...y.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...y.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...y.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...y.errToObj(r)})}nonempty(e){return this.min(1,y.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return !!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return !!this._def.checks.find(e=>e.kind==="date")}get isTime(){return !!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return !!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return !!this._def.checks.find(e=>e.kind==="email")}get isURL(){return !!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return !!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return !!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return !!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return !!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return !!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return !!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return !!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return !!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return !!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return !!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};X.create=t=>new X({checks:[],typeName:x.ZodString,coerce:t?.coerce??false,...w(t)});function kn(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=Number.parseInt(t.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return s%a/10**o}var ae=class t extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf;}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==g.number){let s=this._getOrReturnCtx(e);return m(s,{code:d.invalid_type,expected:g.number,received:s.parsedType}),v}let n,o=new E;for(let s of this._def.checks)s.kind==="int"?S.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),m(n,{code:d.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:d.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:false,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:d.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:false,message:s.message}),o.dirty()):s.kind==="multipleOf"?kn(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),m(n,{code:d.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),m(n,{code:d.not_finite,message:s.message}),o.dirty()):S.assertNever(s);return {status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,true,y.toString(r))}gt(e,r){return this.setLimit("min",e,false,y.toString(r))}lte(e,r){return this.setLimit("max",e,true,y.toString(r))}lt(e,r){return this.setLimit("max",e,false,y.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:y.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:y.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:false,message:y.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:false,message:y.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:true,message:y.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:true,message:y.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:y.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:y.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:true,value:Number.MIN_SAFE_INTEGER,message:y.toString(e)})._addCheck({kind:"max",inclusive:true,value:Number.MAX_SAFE_INTEGER,message:y.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return !!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&S.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return true;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);}return Number.isFinite(r)&&Number.isFinite(e)}};ae.create=t=>new ae({checks:[],typeName:x.ZodNumber,coerce:t?.coerce||false,...w(t)});var ie=class t extends k{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte;}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data);}catch{return this._getInvalidInput(e)}if(this._getType(e)!==g.bigint)return this._getInvalidInput(e);let n,o=new E;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:d.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),m(n,{code:d.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),m(n,{code:d.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):S.assertNever(s);return {status:o.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return m(r,{code:d.invalid_type,expected:g.bigint,received:r.parsedType}),v}gte(e,r){return this.setLimit("min",e,true,y.toString(r))}gt(e,r){return this.setLimit("min",e,false,y.toString(r))}lte(e,r){return this.setLimit("max",e,true,y.toString(r))}lt(e,r){return this.setLimit("max",e,false,y.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:y.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:false,message:y.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:false,message:y.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:true,message:y.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:true,message:y.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:y.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};ie.create=t=>new ie({checks:[],typeName:x.ZodBigInt,coerce:t?.coerce??false,...w(t)});var ce=class extends k{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==g.boolean){let n=this._getOrReturnCtx(e);return m(n,{code:d.invalid_type,expected:g.boolean,received:n.parsedType}),v}return P(e.data)}};ce.create=t=>new ce({typeName:x.ZodBoolean,coerce:t?.coerce||false,...w(t)});var le=class t extends k{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==g.date){let s=this._getOrReturnCtx(e);return m(s,{code:d.invalid_type,expected:g.date,received:s.parsedType}),v}if(Number.isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return m(s,{code:d.invalid_date}),v}let n=new E,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),m(o,{code:d.too_small,message:s.message,inclusive:true,exact:false,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),m(o,{code:d.too_big,message:s.message,inclusive:true,exact:false,maximum:s.value,type:"date"}),n.dirty()):S.assertNever(s);return {status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:y.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:y.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};le.create=t=>new le({checks:[],coerce:t?.coerce||false,typeName:x.ZodDate,...w(t)});var Re=class extends k{_parse(e){if(this._getType(e)!==g.symbol){let n=this._getOrReturnCtx(e);return m(n,{code:d.invalid_type,expected:g.symbol,received:n.parsedType}),v}return P(e.data)}};Re.create=t=>new Re({typeName:x.ZodSymbol,...w(t)});var ue=class extends k{_parse(e){if(this._getType(e)!==g.undefined){let n=this._getOrReturnCtx(e);return m(n,{code:d.invalid_type,expected:g.undefined,received:n.parsedType}),v}return P(e.data)}};ue.create=t=>new ue({typeName:x.ZodUndefined,...w(t)});var de=class extends k{_parse(e){if(this._getType(e)!==g.null){let n=this._getOrReturnCtx(e);return m(n,{code:d.invalid_type,expected:g.null,received:n.parsedType}),v}return P(e.data)}};de.create=t=>new de({typeName:x.ZodNull,...w(t)});var Q=class extends k{constructor(){super(...arguments),this._any=true;}_parse(e){return P(e.data)}};Q.create=t=>new Q({typeName:x.ZodAny,...w(t)});var J=class extends k{constructor(){super(...arguments),this._unknown=true;}_parse(e){return P(e.data)}};J.create=t=>new J({typeName:x.ZodUnknown,...w(t)});var U=class extends k{_parse(e){let r=this._getOrReturnCtx(e);return m(r,{code:d.invalid_type,expected:g.never,received:r.parsedType}),v}};U.create=t=>new U({typeName:x.ZodNever,...w(t)});var Me=class extends k{_parse(e){if(this._getType(e)!==g.undefined){let n=this._getOrReturnCtx(e);return m(n,{code:d.invalid_type,expected:g.void,received:n.parsedType}),v}return P(e.data)}};Me.create=t=>new Me({typeName:x.ZodVoid,...w(t)});var q=class t extends k{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==g.array)return m(r,{code:d.invalid_type,expected:g.array,received:r.parsedType}),v;if(o.exactLength!==null){let a=r.data.length>o.exactLength.value,c=r.data.length<o.exactLength.value;(a||c)&&(m(r,{code:a?d.too_big:d.too_small,minimum:c?o.exactLength.value:void 0,maximum:a?o.exactLength.value:void 0,type:"array",inclusive:true,exact:true,message:o.exactLength.message}),n.dirty());}if(o.minLength!==null&&r.data.length<o.minLength.value&&(m(r,{code:d.too_small,minimum:o.minLength.value,type:"array",inclusive:true,exact:false,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(m(r,{code:d.too_big,maximum:o.maxLength.value,type:"array",inclusive:true,exact:false,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((a,c)=>o.type._parseAsync(new W(r,a,r.path,c)))).then(a=>E.mergeArray(n,a));let s=[...r.data].map((a,c)=>o.type._parseSync(new W(r,a,r.path,c)));return E.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:y.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:y.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:y.toString(r)}})}nonempty(e){return this.min(1,e)}};q.create=(t,e)=>new q({type:t,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,...w(e)});function Ce(t){if(t instanceof N){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=L.create(Ce(n));}return new N({...t._def,shape:()=>e})}else return t instanceof q?new q({...t._def,type:Ce(t.element)}):t instanceof L?L.create(Ce(t.unwrap())):t instanceof F?F.create(Ce(t.unwrap())):t instanceof Z?Z.create(t.items.map(e=>Ce(e))):t}var N=class t extends k{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend;}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=S.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==g.object){let u=this._getOrReturnCtx(e);return m(u,{code:d.invalid_type,expected:g.object,received:u.parsedType}),v}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof U&&this._def.unknownKeys==="strip"))for(let u in o.data)a.includes(u)||c.push(u);let i=[];for(let u of a){let p=s[u],h=o.data[u];i.push({key:{status:"valid",value:u},value:p._parse(new W(o,h,o.path,u)),alwaysSet:u in o.data});}if(this._def.catchall instanceof U){let u=this._def.unknownKeys;if(u==="passthrough")for(let p of c)i.push({key:{status:"valid",value:p},value:{status:"valid",value:o.data[p]}});else if(u==="strict")c.length>0&&(m(o,{code:d.unrecognized_keys,keys:c}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else {let u=this._def.catchall;for(let p of c){let h=o.data[p];i.push({key:{status:"valid",value:p},value:u._parse(new W(o,h,o.path,p)),alwaysSet:p in o.data});}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let p of i){let h=await p.key,_=await p.value;u.push({key:h,value:_,alwaysSet:p.alwaysSet});}return u}).then(u=>E.mergeObjectSync(n,u)):E.mergeObjectSync(n,i)}get shape(){return this._def.shape()}strict(e){return y.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let o=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:y.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:x.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of S.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of S.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Ce(this)}partial(e){let r={};for(let n of S.objectKeys(this.shape)){let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional();}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of S.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else {let s=this.shape[n];for(;s instanceof L;)s=s._def.innerType;r[n]=s;}return new t({...this._def,shape:()=>r})}keyof(){return lr(S.objectKeys(this.shape))}};N.create=(t,e)=>new N({shape:()=>t,unknownKeys:"strip",catchall:U.create(),typeName:x.ZodObject,...w(e)});N.strictCreate=(t,e)=>new N({shape:()=>t,unknownKeys:"strict",catchall:U.create(),typeName:x.ZodObject,...w(e)});N.lazycreate=(t,e)=>new N({shape:t,unknownKeys:"strip",catchall:U.create(),typeName:x.ZodObject,...w(e)});var pe=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let c of s)if(c.result.status==="valid")return c.result;for(let c of s)if(c.result.status==="dirty")return r.common.issues.push(...c.ctx.common.issues),c.result;let a=s.map(c=>new j(c.ctx.common.issues));return m(r,{code:d.invalid_union,unionErrors:a}),v}if(r.common.async)return Promise.all(n.map(async s=>{let a={...r,common:{...r.common,issues:[]},parent:null};return {result:await s._parseAsync({data:r.data,path:r.path,parent:a}),ctx:a}})).then(o);{let s,a=[];for(let i of n){let u={...r,common:{...r.common,issues:[]},parent:null},p=i._parseSync({data:r.data,path:r.path,parent:u});if(p.status==="valid")return p;p.status==="dirty"&&!s&&(s={result:p,ctx:u}),u.common.issues.length&&a.push(u.common.issues);}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let c=a.map(i=>new j(i));return m(r,{code:d.invalid_union,unionErrors:c}),v}}get options(){return this._def.options}};pe.create=(t,e)=>new pe({options:t,typeName:x.ZodUnion,...w(e)});var H=t=>t instanceof me?H(t.schema):t instanceof B?H(t.innerType()):t instanceof ge?[t.value]:t instanceof ye?t.options:t instanceof he?S.objectValues(t.enum):t instanceof ve?H(t._def.innerType):t instanceof ue?[void 0]:t instanceof de?[null]:t instanceof L?[void 0,...H(t.unwrap())]:t instanceof F?[null,...H(t.unwrap())]:t instanceof Be||t instanceof be?H(t.unwrap()):t instanceof xe?H(t._def.innerType):[],He=class t extends k{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.object)return m(r,{code:d.invalid_type,expected:g.object,received:r.parsedType}),v;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(m(r,{code:d.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),v)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let a=H(s.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let c of a){if(o.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);o.set(c,s);}}return new t({typeName:x.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...w(n)})}};function gt(t,e){let r=G(t),n=G(e);if(t===e)return {valid:true,data:t};if(r===g.object&&n===g.object){let o=S.objectKeys(e),s=S.objectKeys(t).filter(c=>o.indexOf(c)!==-1),a={...t,...e};for(let c of s){let i=gt(t[c],e[c]);if(!i.valid)return {valid:false};a[c]=i.data;}return {valid:true,data:a}}else if(r===g.array&&n===g.array){if(t.length!==e.length)return {valid:false};let o=[];for(let s=0;s<t.length;s++){let a=t[s],c=e[s],i=gt(a,c);if(!i.valid)return {valid:false};o.push(i.data);}return {valid:true,data:o}}else return r===g.date&&n===g.date&&+t==+e?{valid:true,data:t}:{valid:false}}var fe=class extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,a)=>{if(Fe(s)||Fe(a))return v;let c=gt(s.value,a.value);return c.valid?((Ke(s)||Ke(a))&&r.dirty(),{status:r.value,value:c.data}):(m(n,{code:d.invalid_intersection_types}),v)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>o(s,a)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};fe.create=(t,e,r)=>new fe({left:t,right:e,typeName:x.ZodIntersection,...w(r)});var Z=class t extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.array)return m(n,{code:d.invalid_type,expected:g.array,received:n.parsedType}),v;if(n.data.length<this._def.items.length)return m(n,{code:d.too_small,minimum:this._def.items.length,inclusive:true,exact:false,type:"array"}),v;!this._def.rest&&n.data.length>this._def.items.length&&(m(n,{code:d.too_big,maximum:this._def.items.length,inclusive:true,exact:false,type:"array"}),r.dirty());let s=[...n.data].map((a,c)=>{let i=this._def.items[c]||this._def.rest;return i?i._parse(new W(n,a,n.path,c)):null}).filter(a=>!!a);return n.common.async?Promise.all(s).then(a=>E.mergeArray(r,a)):E.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Z.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Z({items:t,typeName:x.ZodTuple,rest:null,...w(e)})};var Je=class t extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.object)return m(n,{code:d.invalid_type,expected:g.object,received:n.parsedType}),v;let o=[],s=this._def.keyType,a=this._def.valueType;for(let c in n.data)o.push({key:s._parse(new W(n,c,n.path,c)),value:a._parse(new W(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?E.mergeObjectAsync(r,o):E.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof k?new t({keyType:e,valueType:r,typeName:x.ZodRecord,...w(n)}):new t({keyType:X.create(),valueType:e,typeName:x.ZodRecord,...w(r)})}},Ee=class extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.map)return m(n,{code:d.invalid_type,expected:g.map,received:n.parsedType}),v;let o=this._def.keyType,s=this._def.valueType,a=[...n.data.entries()].map(([c,i],u)=>({key:o._parse(new W(n,c,n.path,[u,"key"])),value:s._parse(new W(n,i,n.path,[u,"value"]))}));if(n.common.async){let c=new Map;return Promise.resolve().then(async()=>{for(let i of a){let u=await i.key,p=await i.value;if(u.status==="aborted"||p.status==="aborted")return v;(u.status==="dirty"||p.status==="dirty")&&r.dirty(),c.set(u.value,p.value);}return {status:r.value,value:c}})}else {let c=new Map;for(let i of a){let u=i.key,p=i.value;if(u.status==="aborted"||p.status==="aborted")return v;(u.status==="dirty"||p.status==="dirty")&&r.dirty(),c.set(u.value,p.value);}return {status:r.value,value:c}}}};Ee.create=(t,e,r)=>new Ee({valueType:e,keyType:t,typeName:x.ZodMap,...w(r)});var Oe=class t extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==g.set)return m(n,{code:d.invalid_type,expected:g.set,received:n.parsedType}),v;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(m(n,{code:d.too_small,minimum:o.minSize.value,type:"set",inclusive:true,exact:false,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(m(n,{code:d.too_big,maximum:o.maxSize.value,type:"set",inclusive:true,exact:false,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function a(i){let u=new Set;for(let p of i){if(p.status==="aborted")return v;p.status==="dirty"&&r.dirty(),u.add(p.value);}return {status:r.value,value:u}}let c=[...n.data.values()].map((i,u)=>s._parse(new W(n,i,n.path,u)));return n.common.async?Promise.all(c).then(i=>a(i)):a(c)}min(e,r){return new t({...this._def,minSize:{value:e,message:y.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:y.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Oe.create=(t,e)=>new Oe({valueType:t,minSize:null,maxSize:null,typeName:x.ZodSet,...w(e)});var qe=class t extends k{constructor(){super(...arguments),this.validate=this.implement;}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.function)return m(r,{code:d.invalid_type,expected:g.function,received:r.parsedType}),v;function n(c,i){return We({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ae(),K].filter(u=>!!u),issueData:{code:d.invalid_arguments,argumentsError:i}})}function o(c,i){return We({data:c,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ae(),K].filter(u=>!!u),issueData:{code:d.invalid_return_type,returnTypeError:i}})}let s={errorMap:r.common.contextualErrorMap},a=r.data;if(this._def.returns instanceof ee){let c=this;return P(async function(...i){let u=new j([]),p=await c._def.args.parseAsync(i,s).catch(I=>{throw u.addIssue(n(i,I)),u}),h=await Reflect.apply(a,this,p);return await c._def.returns._def.type.parseAsync(h,s).catch(I=>{throw u.addIssue(o(h,I)),u})})}else {let c=this;return P(function(...i){let u=c._def.args.safeParse(i,s);if(!u.success)throw new j([n(i,u.error)]);let p=Reflect.apply(a,this,u.data),h=c._def.returns.safeParse(p,s);if(!h.success)throw new j([o(p,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Z.create(e).rest(J.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Z.create([]).rest(J.create()),returns:r||J.create(),typeName:x.ZodFunction,...w(n)})}},me=class extends k{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};me.create=(t,e)=>new me({getter:t,typeName:x.ZodLazy,...w(e)});var ge=class extends k{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return m(r,{received:r.data,code:d.invalid_literal,expected:this._def.value}),v}return {status:"valid",value:e.data}}get value(){return this._def.value}};ge.create=(t,e)=>new ge({value:t,typeName:x.ZodLiteral,...w(e)});function lr(t,e){return new ye({values:t,typeName:x.ZodEnum,...w(e)})}var ye=class t extends k{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return m(r,{expected:S.joinValues(n),received:r.parsedType,code:d.invalid_type}),v}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return m(r,{received:r.data,code:d.invalid_enum_value,options:n}),v}return P(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};ye.create=lr;var he=class extends k{_parse(e){let r=S.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==g.string&&n.parsedType!==g.number){let o=S.objectValues(r);return m(n,{expected:S.joinValues(o),received:n.parsedType,code:d.invalid_type}),v}if(this._cache||(this._cache=new Set(S.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let o=S.objectValues(r);return m(n,{received:n.data,code:d.invalid_enum_value,options:o}),v}return P(e.data)}get enum(){return this._def.values}};he.create=(t,e)=>new he({values:t,typeName:x.ZodNativeEnum,...w(e)});var ee=class extends k{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==g.promise&&r.common.async===false)return m(r,{code:d.invalid_type,expected:g.promise,received:r.parsedType}),v;let n=r.parsedType===g.promise?r.data:Promise.resolve(r.data);return P(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};ee.create=(t,e)=>new ee({type:t,typeName:x.ZodPromise,...w(e)});var B=class extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:a=>{m(n,a),a.fatal?r.abort():r.dirty();},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){let a=o.transform(n.data,s);if(n.common.async)return Promise.resolve(a).then(async c=>{if(r.value==="aborted")return v;let i=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return i.status==="aborted"?v:i.status==="dirty"?se(i.value):r.value==="dirty"?se(i.value):i});{if(r.value==="aborted")return v;let c=this._def.schema._parseSync({data:a,path:n.path,parent:n});return c.status==="aborted"?v:c.status==="dirty"?se(c.value):r.value==="dirty"?se(c.value):c}}if(o.type==="refinement"){let a=c=>{let i=o.refinement(c,s);if(n.common.async)return Promise.resolve(i);if(i instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(n.common.async===false){let c=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return c.status==="aborted"?v:(c.status==="dirty"&&r.dirty(),a(c.value),{status:r.value,value:c.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(c=>c.status==="aborted"?v:(c.status==="dirty"&&r.dirty(),a(c.value).then(()=>({status:r.value,value:c.value}))))}if(o.type==="transform")if(n.common.async===false){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Y(a))return v;let c=o.transform(a.value,s);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return {status:r.value,value:c}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>Y(a)?Promise.resolve(o.transform(a.value,s)).then(c=>({status:r.value,value:c})):v);S.assertNever(o);}};B.create=(t,e,r)=>new B({schema:t,typeName:x.ZodEffects,effect:e,...w(r)});B.createWithPreprocess=(t,e,r)=>new B({schema:e,effect:{type:"preprocess",transform:t},typeName:x.ZodEffects,...w(r)});var L=class extends k{_parse(e){return this._getType(e)===g.undefined?P(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};L.create=(t,e)=>new L({innerType:t,typeName:x.ZodOptional,...w(e)});var F=class extends k{_parse(e){return this._getType(e)===g.null?P(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};F.create=(t,e)=>new F({innerType:t,typeName:x.ZodNullable,...w(e)});var ve=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===g.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};ve.create=(t,e)=>new ve({innerType:t,typeName:x.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...w(e)});var xe=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Ie(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new j(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new j(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};xe.create=(t,e)=>new xe({innerType:t,typeName:x.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...w(e)});var Pe=class extends k{_parse(e){if(this._getType(e)!==g.nan){let n=this._getOrReturnCtx(e);return m(n,{code:d.invalid_type,expected:g.nan,received:n.parsedType}),v}return {status:"valid",value:e.data}}};Pe.create=t=>new Pe({typeName:x.ZodNaN,...w(t)});var Tn=Symbol("zod_brand"),Be=class extends k{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Ve=class t extends k{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return (async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?v:s.status==="dirty"?(r.dirty(),se(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?v:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:x.ZodPipeline})}},be=class extends k{_parse(e){let r=this._def.innerType._parse(e),n=o=>(Y(o)&&(o.value=Object.freeze(o.value)),o);return Ie(r)?r.then(o=>n(o)):n(r)}unwrap(){return this._def.innerType}};be.create=(t,e)=>new be({innerType:t,typeName:x.ZodReadonly,...w(e)});function sr(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function ur(t,e={},r){return t?Q.create().superRefine((n,o)=>{let s=t(n);if(s instanceof Promise)return s.then(a=>{if(!a){let c=sr(e,n),i=c.fatal??r??true;o.addIssue({code:"custom",...c,fatal:i});}});if(!s){let a=sr(e,n),c=a.fatal??r??true;o.addIssue({code:"custom",...a,fatal:c});}}):Q.create()}var Sn={object:N.lazycreate},x;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly";})(x||(x={}));var An=(t,e={message:`Input not instance of ${t.name}`})=>ur(r=>r instanceof t,e),dr=X.create,pr=ae.create,In=Pe.create,Cn=ie.create,fr=ce.create,Rn=le.create,Mn=Re.create,En=ue.create,On=de.create,Pn=Q.create,Dn=J.create,jn=U.create,Nn=Me.create,$n=q.create,Ln=N.create,Wn=N.strictCreate,Bn=pe.create,Vn=He.create,Un=fe.create,zn=Z.create,Gn=Je.create,Zn=Ee.create,Fn=Oe.create,Kn=qe.create,Hn=me.create,Jn=ge.create,qn=ye.create,Yn=he.create,Xn=ee.create,Qn=B.create,eo=L.create,to=F.create,ro=B.createWithPreprocess,no=Ve.create,oo=()=>dr().optional(),so=()=>pr().optional(),ao=()=>fr().optional(),io={string:(t=>X.create({...t,coerce:true})),number:(t=>ae.create({...t,coerce:true})),boolean:(t=>ce.create({...t,coerce:true})),bigint:(t=>ie.create({...t,coerce:true})),date:(t=>le.create({...t,coerce:true}))};var co=v;var De="agtx_pk_",Ye="agtx_sk_";l.string().min(De.length+8).startsWith(De,{message:`Publishable keys must start with "${De}".`});l.string().min(Ye.length+8).startsWith(Ye,{message:`Secret keys must start with "${Ye}".`});var mr=t=>t.startsWith(De)?"publishable":t.startsWith(Ye)?"secret":"unknown",_e=l.enum(["webmcp","dom","screenshot","crawler"]),yt=l.enum(["detected","declared","verified","linked"]),lo=l.object({class:_e,trust:yt,confidence:l.number().min(0).max(1).default(1),vendor:l.string().nullable(),userAgent:l.string().nullable(),detectionVersion:l.string().default("2026.04"),signals:l.record(l.unknown()).default({})}),uo=l.enum(["bearer","oauth2","sso","spiffe","google-agent","mtls","detection","declaration","extension","session-link","x-agent-header"]),Ue=l.object({class:_e,vendor:l.string().min(1),token:l.string().min(8),expiresAt:l.string().datetime().optional()});l.object({publishableKey:l.string(),claim:Ue,nonce:l.string().min(8),origin:l.string().url()});l.object({trust:yt,vendor:l.string(),validUntil:l.string().datetime(),reason:l.string().optional(),subject:l.string().optional(),protocol:uo.optional(),signals:l.record(l.unknown()).optional()});l.object({issuer:l.string().url(),audiences:l.array(l.string().min(1)).min(1)});l.object({trustDomain:l.string().min(1),bundleEndpoint:l.string().url(),audiences:l.array(l.string().min(1)).min(1),googleTrustDomains:l.array(l.string().min(1)).optional()});l.object({rootCerts:l.array(l.string().min(20)).min(1),spiffeTrustDomain:l.string().min(1).optional(),xfccEntryPolicy:l.enum(["last","first","only"]).default("last")});l.enum(["sso","spiffe","mtls"]);l.object({siteId:l.string().min(1),token:l.string().min(8).optional(),xfcc:l.string().min(1).optional(),headers:l.record(l.string()).optional(),origin:l.string().url().optional()});var z={detected:0,declared:1,verified:2,linked:3},gr=(t,e)=>z[t]>z[e],yr=l.enum(["allow","deny","review"]),ze=l.object({id:l.string(),tool:l.string(),minTrust:yt,allowedClasses:l.array(_e).default([]),decision:yr,rateLimit:l.object({max:l.number().int().positive(),windowSeconds:l.number().int().positive()}).optional()}),po=l.object({decision:yr,ruleId:l.string().nullable(),reason:l.string()}),fo=l.enum(["session","user","org"]),ht=l.object({key:l.string().min(1),value:l.unknown(),scope:fo.default("session"),ttlSeconds:l.number().int().positive().nullable().default(null),updatedAt:l.string().datetime().optional()}),mo=l.object({path:l.string().min(1),name:l.string().optional(),purpose:l.string().optional(),availableActions:l.array(l.string()).optional(),prerequisites:l.array(l.string()).optional(),queryParams:l.record(l.string()).optional(),notes:l.string().optional()}),go=l.object({pattern:l.string().optional(),flow:l.string().optional()}),yo=l.object({pages:l.array(mo).default([]),navigation:go.optional()}),ho=l.object({step:l.number().int().positive(),action:l.string().min(1)}),vo=l.object({steps:l.array(ho).default([]),notes:l.string().optional(),policy:l.string().optional()}),xo=l.object({selector:l.string().min(1),behavior:l.string().optional(),location:l.string().optional(),showsCount:l.boolean().optional()}),bo=l.object({categories:l.array(l.string()).optional(),productSchema:l.object({fields:l.array(l.string()).optional(),idFormat:l.string().optional()}).optional(),searchBehavior:l.string().optional()}),vt=l.object({path:l.string().min(1),payload:l.record(l.unknown()).default({}),updatedAt:l.string().datetime().optional()}).strict(),$=l.object({version:l.string().default("1"),siteMap:yo.optional(),workflows:l.record(vo).default({}),policies:l.record(l.union([l.string(),l.array(l.string())])).default({}),catalog:bo.optional(),uiGuidance:l.record(xo).default({}),pageContexts:l.record(vt).default({}),updatedAt:l.string().datetime().optional()}),hr=$.parse({}),_o=l.object({name:l.string().min(1),group:l.string().optional(),page:l.string().optional(),description:l.string().default(""),inputSchema:l.record(l.unknown()).default({}),outputSchema:l.record(l.unknown()).optional(),tokens:l.number().int().nonnegative().default(0)}),wo=l.object({tools:l.array(_o).default([])});wo.parse({});var ko=l.enum(["agent.detected","agent.missed","auth.identity_presented","auth.identity_cleared","authz.policies_set","authz.evaluated","memory.accessed","memory.updated","tool.registered","tool.executed","tool.surfaced","tool.progressed","sdk.error"]),xt=l.object({id:l.string(),siteId:l.string(),sessionId:l.string(),occurredAt:l.string().datetime(),type:ko,tool:l.string().optional(),agent:lo.nullable().optional(),policy:po.optional(),durationMs:l.number().int().nonnegative().optional(),outcome:l.enum(["success","error","blocked"]),error:l.string().optional(),metadata:l.record(l.unknown()).default({})});l.object({publishableKey:l.string().optional(),events:l.array(xt).min(1).max(100)});var Ge=class extends Error{code;constructor(t,e){super(e),this.name="AgentronicsError",this.code=t;}};var A="0.1.2";var To=()=>{if(typeof navigator>"u")return null;let t=navigator.modelContext;return t&&typeof t=="object"?t:null},je=async(t={})=>{let{pollMs:e=500}=t,r=Date.now();for(;;){let n=To();if(n)return So(n);if(Date.now()-r>=e)return null;await new Promise(o=>setTimeout(o,50));}},So=t=>({class:"webmcp",trust:"detected",confidence:1,vendor:t.vendor??t.client??null,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{webmcp:true,toolCount:Array.isArray(t.tools)?t.tools.length:0}});var bt=[{name:"GPTBot",category:"ai",pattern:/GPTBot/i},{name:"OAI-SearchBot",category:"ai",pattern:/OAI-SearchBot/i},{name:"ChatGPT-User",category:"ai",pattern:/ChatGPT-User/i},{name:"ClaudeBot",category:"ai",pattern:/ClaudeBot/i},{name:"Claude-Web",category:"ai",pattern:/Claude-Web/i},{name:"anthropic-ai",category:"ai",pattern:/anthropic-ai/i},{name:"PerplexityBot",category:"ai",pattern:/PerplexityBot/i},{name:"Google-Extended",category:"ai",pattern:/Google-Extended/i},{name:"Applebot-Extended",category:"ai",pattern:/Applebot-Extended/i},{name:"Amazonbot",category:"ai",pattern:/Amazonbot/i},{name:"Bytespider",category:"ai",pattern:/Bytespider/i},{name:"CCBot",category:"ai",pattern:/CCBot/i},{name:"Meta-ExternalAgent",category:"ai",pattern:/Meta-ExternalAgent/i},{name:"cohere-ai",category:"ai",pattern:/cohere-ai/i},{name:"Googlebot",category:"search",pattern:/Googlebot/i},{name:"Bingbot",category:"search",pattern:/bingbot/i},{name:"DuckDuckBot",category:"search",pattern:/DuckDuckBot/i},{name:"YandexBot",category:"search",pattern:/YandexBot/i},{name:"Baiduspider",category:"search",pattern:/Baiduspider/i},{name:"Applebot",category:"search",pattern:/Applebot/i}],Ne=(t={})=>{let{signatures:e=bt,disable:r=false,confidence:n=.9}=t;if(r||typeof navigator>"u")return null;let o=navigator.userAgent??"";if(!o)return null;for(let s of e)if(s.pattern.test(o))return {class:"crawler",trust:"detected",confidence:n,vendor:s.name,userAgent:o,detectionVersion:A,signals:{matched:s.name,category:s.category,ua:o}};return null};var Ao=[/HeadlessChrome/i,/Headless/i,/PhantomJS/i,/SlimerJS/i],Io=()=>({hit:(typeof navigator<"u"&&navigator.webdriver)===true,weight:.6,detail:"navigator.webdriver === true"}),Co=()=>{if(typeof window>"u")return {hit:false,weight:.5};let t=Object.keys(window).filter(e=>e.startsWith("cdc_"));return {hit:t.length>0,weight:.5,detail:`window.${t[0]??"cdc_*"}`}},Ro=()=>{if(typeof navigator>"u"||!navigator.plugins)return {hit:false,weight:.2};let t=/Win|Mac|Linux/.test(navigator.userAgent??""),e=navigator.plugins.length===0;return {hit:t&&e,weight:.2,detail:"desktop UA with no plugins"}},Mo=()=>{if(typeof navigator>"u")return {hit:false,weight:.7};let t=navigator.userAgent??"",e=Ao.some(r=>r.test(t));return e?{hit:e,weight:.7,detail:`headless UA: ${t}`}:{hit:e,weight:.7}},Eo=()=>{if(typeof navigator>"u")return {hit:false,weight:.15};let t=navigator.languages;return {hit:!t||t.length===0,weight:.15,detail:"navigator.languages empty"}},Oo=()=>{if(typeof navigator>"u")return {hit:false,weight:.1};let t="chrome"in window,e=navigator.userAgent??"";return {hit:/Chrome\//.test(e)&&!/Edg\//.test(e)&&!t,weight:.2,detail:"Chrome UA without window.chrome"}},Po={webdriver:Io,chromedriver:Co,headlessUa:Mo,languages:Eo,permissions:Oo,plugins:Ro},$e=(t={})=>{let{threshold:e=.4}=t,r={},n=0,o=0;for(let[a,c]of Object.entries(Po)){let i=c();n+=i.weight,r[a]={hit:i.hit,weight:i.weight,detail:i.detail},i.hit&&(o+=i.weight);}let s=n===0?0:o/n;return s<e?null:{class:"dom",trust:"detected",confidence:s,vendor:null,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:r}};var _t=()=>[{id:"webmcp.model-context",status:"stable",detect:()=>je({pollMs:0})},{id:"crawler.user-agent",status:"beta",detect:()=>Ne()},{id:"dom.automation-heuristics",status:"beta",detect:()=>$e()}],Xe=(t=_t())=>{let e=new Map(t.map(r=>[r.id,r]));return {register(r){e.set(r.id,r);},list(r){let n=[...e.values()];return r?n.filter(o=>o.status===r):n},async detectAll(r=false){for(let n of e.values()){if(n.status==="research"&&!r)continue;let o=await n.detect();if(o)return o}return null}}};var wt=t=>{let e=_e.parse(t.class),r=t.verificationToken?"verified":"declared";return {class:e,trust:r,confidence:1,vendor:t.vendor,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{declared:true,hasVerificationToken:!!t.verificationToken}}};var vr=({gatewayUrl:t,fetcher:e=fetch})=>{let r=null,n=[];return {snapshot(){return [...n]},async sync(){let o=await e(`${t.replace(/\/$/,"")}/v1/detector-signatures`,{headers:r?{"if-none-match":r}:{}});if(o.status===304)return this.snapshot();if(!o.ok)throw new Error(`Detector signature sync failed with status ${o.status}.`);return n=(await o.json()).signatures??[],r=o.headers.get("etag"),this.snapshot()}}};var Qe=async(t={})=>{if(t.customDetectors?.length){let e=await Xe(t.customDetectors).detectAll(!!t.experimental);if(e)return e}if(t.webmcp!==false){let e=await je(t.webmcp??{});if(e)return e}if(t.crawler!==false){let e=Ne(t.crawler??{});if(e)return e}if(t.dom!==false){let e=$e(t.dom??{});if(e)return e}return null};var Do=t=>({class:t.class,trust:"declared",confidence:1,vendor:t.vendor,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{declared:true,hasToken:true,tokenExpiresAt:t.expiresAt??null}}),kt=()=>{let t=null;return {present(e){let r=Ue.safeParse(e);if(!r.success)throw new Ge("invalid_api_key",`Invalid identity claim: ${r.error.issues[0]?.message??"unknown"}`);let n={claim:r.data,identity:Do(r.data)};return t=n,n},clear(){t=null;},preferOver(e){return t?e?gr(t.identity.trust,e.trust)?t.identity:e:t.identity:e},snapshot(){return t}}};var jo=({detected:t,declared:e,verified:r,linked:n})=>n?"linked":r?"verified":e?"declared":"detected",Tt=t=>{let e=null;for(let r of t)(!e||z[r.trust]>z[e.trust])&&(e=r);return e};var xr=()=>({name:"bearer",async authenticate(t,e){if(!t.bearerToken)return null;let r=await e.verifyToken?.("bearer",t.bearerToken);return {class:t.classHint??"dom",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"bearer",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{bearer:true,verifiedRemotely:!!r}}}});var br=()=>({name:"detection",async authenticate(t){return t.detected??null}});var _r=()=>({name:"extensionToken",async authenticate(t,e){if(!t.extensionToken)return null;let r=await e.verifyToken?.("extensionToken",t.extensionToken);return {class:"dom",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"browser-extension",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{extensionToken:true,verifiedRemotely:!!r}}}});var wr=()=>({name:"mtls",async authenticate(t,e){if(!t.xfccHeader)return null;let r=await e.verifyToken?.("mtls",t.xfccHeader);return {class:t.classHint??"webmcp",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"mtls",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{mtls:true,subject:r?.subject??null,verifiedRemotely:!!r,...r?.signals??{}}}}});var kr=()=>({name:"oauth2",async authenticate(t,e){if(!t.oauth2AccessToken)return null;let r=await e.verifyToken?.("oauth2",t.oauth2AccessToken);return {class:t.classHint??"webmcp",trust:t.oauth2Subject?"linked":r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"oauth2",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{oauth2:true,subject:t.oauth2Subject??null,verifiedRemotely:!!r}}}});var No=t=>({class:t.class,trust:"declared",confidence:1,vendor:t.vendor,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{declared:true,hasToken:true,tokenExpiresAt:t.expiresAt??null}}),Tr=()=>({name:"selfDeclaration",async authenticate(t){return t.declaration?No(Ue.parse(t.declaration)):null}});var Sr=()=>({name:"sessionLink",async authenticate(t,e){if(!t.sessionLinkToken)return null;let r=await e.verifyToken?.("sessionLink",t.sessionLinkToken);return {class:t.classHint??"screenshot",trust:t.linkedUserId?"linked":r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"session-link",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{sessionLink:true,linkedUserId:t.linkedUserId??null,verifiedRemotely:!!r}}}});var Ar=()=>({name:"sso",async authenticate(t,e){if(!t.ssoIdToken)return null;let r=await e.verifyToken?.("sso",t.ssoIdToken);return {class:t.classHint??"dom",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"sso",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{sso:true,subject:r?.subject??null,verifiedRemotely:!!r,...r?.signals??{}}}}});var Ir=()=>({name:"spiffe",async authenticate(t,e){if(!t.spiffeJwt)return null;let r=await e.verifyToken?.("spiffe",t.spiffeJwt),n=r?.vendor==="google";return {class:t.classHint??"webmcp",trust:r?.trust??"verified",confidence:1,vendor:r?.vendor??t.vendorHint??"spiffe",userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{spiffe:true,spiffeId:r?.subject??null,subject:r?.subject??null,verifiedRemotely:!!r,...n?{googleAgent:true}:{},...r?.signals??{}}}}});var Cr=()=>({name:"xAgentHeader",async authenticate(t){if(!t.xAgentHeader)return null;let[e="x-agent",r="dom",n]=t.xAgentHeader.split(";"),o=_e.safeParse(r);return {class:o.success?o.data:"dom",trust:n?"verified":"declared",confidence:n?1:.8,vendor:e,userAgent:typeof navigator>"u"?null:navigator.userAgent,detectionVersion:A,signals:{xAgentHeader:true,hasProof:!!n}}}});var $o=()=>[br(),Tr(),xr(),Cr(),_r(),Sr(),kr(),Ar(),Ir(),wr()],Lo={detection:"detection",selfDeclaration:"declaration",bearer:"bearer",xAgentHeader:"x-agent-header",extensionToken:"extension",sessionLink:"session-link",oauth2:"oauth2",sso:"sso",spiffe:"spiffe",mtls:"mtls"},Wo=(t,e)=>t==="spiffe"&&e.signals?.googleAgent===true?"google-agent":Lo[t],St=({methods:t=$o(),context:e={},onTrace:r}={})=>({async authenticate(n){let o=[],s={};for(let h of t){let _=await h.authenticate(n,e);s[h.name]=!!_,_&&o.push({method:h.name,identity:_});}let a=Tt(o.map(h=>h.identity)),c=a?o.find(h=>h.identity===a):void 0,i=c?Wo(c.method,c.identity):void 0,u=typeof a?.signals?.subject=="string"?a.signals.subject:void 0,p={type:a?"auth.identity_presented":"sdk.error",agent:a,outcome:a?"success":"error",metadata:{methods:s,...i?{protocol:i}:{},...u?{subject:u}:{}}};return a||(p.error="No auth method produced an identity."),r?.(p),a},methods(){return t.map(n=>n.name)}});var Bo={identity:null,source:"initial",updatedAt:null},At=()=>{let t=Bo,e=new Set,r=()=>{e.size!==0&&e.forEach(n=>n(t));};return {snapshot(){return t},set(n,o){t={identity:n,source:o,updatedAt:new Date().toISOString()},r();},subscribe(n){return e.add(n),()=>{e.delete(n);}}}};var Vo=()=>{let t=new Map;return {read:e=>t.get(e)??null,write:(e,r)=>{t.set(e,r);}}},Uo=()=>typeof window>"u"||!window.localStorage?Vo():{read:t=>{try{return window.localStorage.getItem(t)}catch{return null}},write:(t,e)=>{try{window.localStorage.setItem(t,e);}catch{}}},zo=t=>{if(!t)return null;try{let e=JSON.parse(t);if(typeof e=="object"&&e!==null&&Number.isFinite(e.count)&&Number.isFinite(e.resetAt))return e}catch{return null}return null},It=(t=Uo())=>({consume(e,r,n=Date.now()){let o=`agtx:rate:${e}`,s=zo(t.read(o)),a=s&&s.resetAt>n?s.resetAt:n+r.windowSeconds*1e3,c=s&&s.resetAt>n?s.count+1:1;return t.write(o,JSON.stringify({count:c,resetAt:a})),{allowed:c<=r.max,remaining:Math.max(0,r.max-c),resetAt:a}}});var Go=(t,e)=>t==="*"||t===e?true:t.includes("*")?new RegExp("^"+t.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")+"$").test(e):false,Zo=(t,e)=>{let r=t?z[t.trust]:-1,n=z[e.minTrust];return r>=n},Fo=(t,e)=>e.allowedClasses.length===0?true:t?e.allowedClasses.includes(t.class):false,Rr="review",Ko=(t,e)=>{let r=e?.class??"unknown",n=e?.vendor??"unknown",o=e?.trust??"none";return `${t}:${r}:${n}:${o}`},Ct=(t=[],e={})=>{let r=t.map(o=>ze.parse(o)),n=e.rateLimiter??It();return {set(o){r=o.map(s=>ze.parse(s));},list(){return [...r]},evaluate({tool:o,identity:s}){for(let a of r)if(Go(a.tool,o)){if(!Zo(s,a))return {decision:"deny",ruleId:a.id,reason:`Rule "${a.id}" requires trust >= ${a.minTrust}.`};if(!Fo(s,a))return {decision:"deny",ruleId:a.id,reason:`Rule "${a.id}" restricts to classes: ${a.allowedClasses.join(", ")}.`};if(a.rateLimit){let c=n.consume(Ko(o,s),a.rateLimit);if(!c.allowed)return {decision:"deny",ruleId:a.id,reason:`Rule "${a.id}" rate limit exceeded. Resets at ${new Date(c.resetAt).toISOString()}.`}}return {decision:a.decision,ruleId:a.id,reason:`Matched rule "${a.id}".`}}return {decision:Rr,ruleId:null,reason:`No rule matched tool "${o}". Falling back to "${Rr}".`}}}};var Rt=({gatewayUrl:t,siteId:e,publishableKey:r,fetcher:n=fetch})=>{let o={policies:[],etag:null};return {snapshot(){return {policies:[...o.policies],etag:o.etag}},async sync(){let s=await n(`${t.replace(/\/$/,"")}/v1/sites/${encodeURIComponent(e)}/policies`,{headers:{authorization:`Bearer ${r}`,...o.etag?{"if-none-match":o.etag}:{}}});if(s.status===304)return this.snapshot();if(!s.ok)throw new Error(`Policy sync failed with status ${s.status}.`);let a=await s.json();return o={policies:ze.array().parse(a.policies??[]),etag:s.headers.get("etag")},this.snapshot()}}};var Mt=({message:t="Agent action blocked by site policy.",durationMs:e=2400,documentRef:r=typeof document>"u"?void 0:document}={})=>{if(!r?.body)return null;let n=r.createElement("div");return n.setAttribute("role","status"),n.setAttribute("data-agentronics-deny-overlay","true"),n.textContent=t,Object.assign(n.style,{position:"fixed",zIndex:"2147483647",left:"50%",bottom:"24px",transform:"translateX(-50%)",maxWidth:"min(520px, calc(100vw - 32px))",padding:"12px 16px",borderRadius:"8px",background:"#07091A",color:"#F4F4F5",border:"1px solid #6366F1",boxShadow:"0 20px 48px -16px rgba(7,9,26,0.55)",font:"13px/1.45 'Space Mono', ui-monospace, SFMono-Regular, Menlo, monospace"}),r.body.appendChild(n),window.setTimeout(()=>n.remove(),e),n};var Et=({policyEngine:t,getIdentity:e,documentRef:r=typeof document>"u"?void 0:document,selector:n="[data-agentronics-tool]"})=>{if(!r)return {uninstall:()=>{}};let o=s=>{let a=s.target instanceof Element?s.target.closest(n):null;if(!(a instanceof HTMLElement))return;let c=a.dataset.agentronicsTool;c&&Promise.resolve(e()).then(i=>{let u=t.evaluate({tool:c,identity:i});u.decision==="deny"&&(s.preventDefault(),s.stopPropagation(),Mt({message:u.reason,documentRef:r}));});};return r.addEventListener("click",o,true),{uninstall:()=>r.removeEventListener("click",o,true)}};var Ot=()=>{let t=new Map;return {read:e=>t.get(e)??null,write:(e,r)=>{t.set(e,r);},remove:e=>{t.delete(e);},keys:()=>[...t.keys()]}},Mr=(t,e)=>({read:r=>{try{return t.getItem(e+r)}catch{return null}},write:(r,n)=>{try{t.setItem(e+r,n);}catch{}},remove:r=>{try{t.removeItem(e+r);}catch{}},keys:()=>{let r=[];try{for(let n=0;n<t.length;n++){let o=t.key(n);o&&o.startsWith(e)&&r.push(o.slice(e.length));}}catch{}return r}}),Er="agtx:",Or=()=>{let t=typeof window<"u",e=t&&typeof window.sessionStorage<"u"?Mr(window.sessionStorage,Er+"session:"):Ot(),r=t&&typeof window.localStorage<"u"?Mr(window.localStorage,Er+"user:"):Ot();return {session:e,user:r,org:Ot()}};var Pr=(t,e)=>t.expiresAt!==null&&t.expiresAt<=e,Dr=t=>{if(!t)return null;try{let e=JSON.parse(t);return typeof e!="object"||e===null?null:e}catch{return null}},Ho=t=>JSON.stringify(t),Pt=(t={})=>{let e=Or(),r=i=>{t.onTrace?.(i);};return {get:(i,u={})=>{let p=u.scope??"session",h=e[p],_=Dr(h.read(i));if(!_){r({type:"memory.accessed",metadata:{operation:"get",key:i,scope:p,hit:false}});return}if(Pr(_,Date.now())){h.remove(i),r({type:"memory.accessed",metadata:{operation:"get",key:i,scope:p,hit:false,expired:true}});return}return r({type:"memory.accessed",metadata:{operation:"get",key:i,scope:p,hit:true}}),_.value},set:(i,u,p={})=>{let h=p.scope??"session",_=p.ttlSeconds??null,I=Date.now(),R={value:u,expiresAt:_===null?null:I+_*1e3,updatedAt:new Date(I).toISOString()};return e[h].write(i,Ho(R)),r({type:"memory.updated",metadata:{operation:"set",key:i,scope:h,ttlSeconds:_}}),ht.parse({key:i,value:u,scope:h,ttlSeconds:_,updatedAt:R.updatedAt})},remove:(i,u={})=>{let p=u.scope??"session";e[p].remove(i),r({type:"memory.updated",metadata:{operation:"remove",key:i,scope:p}});},list:(i={})=>{let u=i.scope??"session",p=e[u],h=Date.now(),_=[];for(let I of p.keys()){let R=Dr(p.read(I));if(R){if(Pr(R,h)){p.remove(I);continue}_.push(ht.parse({key:I,value:R.value,scope:u,ttlSeconds:R.expiresAt===null?null:Math.max(0,Math.round((R.expiresAt-h)/1e3)),updatedAt:R.updatedAt}));}}return r({type:"memory.accessed",metadata:{operation:"list",scope:u,count:_.length}}),_},clear:(i={})=>{let u=i.scope??"session",p=e[u],h=p.keys().length;for(let _ of p.keys())p.remove(_);r({type:"memory.updated",metadata:{operation:"clear",scope:u,count:h}});}}};var Dt=t=>$.parse(JSON.parse(JSON.stringify(t))),et=t=>({...t,updatedAt:new Date().toISOString()}),jt=(t={})=>{let e=$.parse({...hr,...t.initial??{}}),r=null,n=new Set,o=b=>{t.onTrace?.(b);},s=()=>{r=null;},a=()=>{if(n.size===0)return;let b=Dt(e);r=b,n.forEach(C=>C(b));},c=b=>{let C=$.parse({...e,...b,workflows:{...e.workflows,...b.workflows??{}},policies:{...e.policies,...b.policies??{}},uiGuidance:{...e.uiGuidance,...b.uiGuidance??{}},pageContexts:{...e.pageContexts,...b.pageContexts??{}}});return e=et(C),s(),o({type:"memory.updated",metadata:{kind:"site",operation:"provide",keys:Object.keys(b)}}),a(),p()},i=(b,C)=>{let M=b.split(".").filter(Boolean);if(M.length===0)throw new Error("siteMemory.update() requires a non-empty dot-path.");let re=JSON.parse(JSON.stringify(e)),ne=re;for(let we=0;we<M.length-1;we++){let V=M[we],ke=ne[V];(typeof ke!="object"||ke===null||Array.isArray(ke))&&(ne[V]={}),ne=ne[V];}return ne[M[M.length-1]]=C,e=et($.parse(re)),s(),o({type:"memory.updated",metadata:{kind:"site",operation:"update",path:b}}),a(),p()},u=b=>{let C=vt.parse({path:b.path,payload:b.payload,updatedAt:new Date().toISOString()});return e=et({...e,pageContexts:{...e.pageContexts,[b.path]:C}}),s(),o({type:"memory.updated",metadata:{kind:"site",operation:"provideForPage",path:b.path}}),a(),{...C,payload:{...C.payload}}},p=()=>(r||(r=Dt(e)),r);return {provide:c,update:i,provideForPage:u,snapshot:p,get:b=>{if(o({type:"memory.accessed",metadata:{kind:"site",operation:b?"get":"snapshot",path:b??null}}),!b)return Dt(e);let C=b.split(".").filter(Boolean),M=e;for(let re of C){if(typeof M!="object"||M===null)return;M=M[re];}return M},getForPage:b=>{o({type:"memory.accessed",metadata:{kind:"site",operation:"getForPage",path:b}});let C=e.pageContexts[b];return C?{...C,payload:{...C.payload}}:null},replace:b=>(e=et($.parse(b)),s(),a(),p()),subscribe:b=>(n.add(b),()=>{n.delete(b);})}};var Nt=({gatewayUrl:t,siteId:e,publishableKey:r,fetcher:n=fetch})=>{let o={memory:null,etag:null};return {snapshot(){return {memory:o.memory?$.parse(o.memory):null,etag:o.etag}},async sync(){let s=await n(`${t.replace(/\/$/,"")}/v1/sites/${encodeURIComponent(e)}/memory`,{headers:{authorization:`Bearer ${r}`,...o.etag?{"if-none-match":o.etag}:{}}});if(s.status===304)return this.snapshot();if(!s.ok)throw new Error(`Memory sync failed with status ${s.status}.`);let a=await s.json();return o={memory:$.parse(a.memory??{}),etag:s.headers.get("etag")},this.snapshot()}}};var jr=({toolName:t="getSiteContext",description:e="Returns Agentronics site memory: page map, workflows, policies, UI guidance.",getSnapshot:r,onAccess:n})=>({name:t,description:e,inputSchema:{type:"object",properties:{path:{type:"string",description:'Optional dot-path into the site memory (e.g. "workflows.purchase").'}},required:[]},invoke(o={}){let s=r(),a=o.path??null;if(n?.(a),!a)return {content:s};let c=a.split(".").filter(Boolean),i=s;for(let u of c){if(typeof i!="object"||i===null)return {content:void 0};i=i[u];}return {content:i}}});var te="agent-context-",$t="agentronics-site-context",Jo=t=>{try{return JSON.stringify(t)}catch{return "{}"}},tt=(t,e,r)=>{let n=t.querySelector(`meta[name="${e}"]`);n||(n=t.createElement("meta"),n.setAttribute("name",e),t.head.appendChild(n)),n.setAttribute("content",r);},rt=(t,e)=>{t.querySelectorAll(`meta[name="${e}"]`).forEach(r=>r.remove());},nt=({doc:t=typeof document>"u"?null:document,snapshot:e,schemaType:r="WebSite"})=>{if(!t)return {uninstall:()=>{}};tt(t,`${te}version`,e.version),tt(t,`${te}updated-at`,e.updatedAt??new Date().toISOString()),e.siteMap?.navigation?.flow&&tt(t,`${te}flow`,e.siteMap.navigation.flow),tt(t,`${te}workflows`,Object.keys(e.workflows).join(","));let n=t.getElementById($t);return n||(n=t.createElement("script"),n.type="application/ld+json",n.id=$t,t.head.appendChild(n)),n.textContent=Jo({"@context":"https://schema.org","@type":r,name:"Agentronics Site Memory",agentronics:e}),{uninstall:()=>{rt(t,`${te}version`),rt(t,`${te}updated-at`),rt(t,`${te}flow`),rt(t,`${te}workflows`),t.getElementById($t)?.remove();}}};var Nr="agentronics-memory-overlay",qo=t=>`
|
|
2
2
|
position: fixed;
|
|
3
3
|
bottom: 16px;
|
|
4
4
|
right: 16px;
|
|
@@ -12,6 +12,6 @@ z-index: 2147483647;
|
|
|
12
12
|
opacity: ${t?"0":"1"};
|
|
13
13
|
pointer-events: ${t?"none":"auto"};
|
|
14
14
|
box-shadow: 0 12px 32px rgba(15, 23, 42, 0.35);
|
|
15
|
-
`,Pr=t=>{let e=t.siteMap?.pages?.length??0,r=Object.keys(t.workflows).length,n=Object.keys(t.uiGuidance).length;return `Agentronics site memory \xB7 pages:${e} \xB7 workflows:${r} \xB7 ui-hints:${n}`},et=({doc:t=typeof document>"u"?null:document,snapshot:e,hidden:r=false})=>{if(!t)return {uninstall:()=>{},refresh:()=>{}};let n=t.getElementById(Or);return n||(n=t.createElement("div"),n.id=Or,n.setAttribute("role","note"),n.setAttribute("aria-label","Agentronics site memory summary"),n.setAttribute("data-agent-context","overlay"),t.body.appendChild(n)),n.setAttribute("style",Bo(r)),n.textContent=Pr(e),{uninstall:()=>{n?.remove();},refresh:o=>{n&&(n.textContent=Pr(o));}}};var Dt="/.well-known/agent-context.json",tt=async({origin:t,fetcher:e=fetch,signal:r}={})=>{let n=(t?t.replace(/\/$/,""):typeof window<"u"?window.location.origin:"")+Dt;if(!n.startsWith("http"))return null;let o={headers:{accept:"application/json"}};r!==void 0&&(o.signal=r);let s=await e(n,o);if(!s.ok){if(s.status===404)return null;throw new Error(`well-known agent-context fetch failed with status ${s.status}.`)}let a=await s.json();return j.parse(a)},Dr=({snapshot:t})=>JSON.stringify(j.parse(t));var jt=({evaluate:t,setPolicies:e,listPolicies:r,onTrace:n})=>{let o=new Map,s=new Set,a=i=>{if(!i.authz||!e||!r)return;let l={id:`tool:${i.name}`,tool:i.name,...i.authz,rateLimit:i.rateLimit??i.authz.rateLimit};e([...r().filter(u=>u.id!==l.id),l]);};return {register(i){return o.set(i.name,i),s.delete(i.name),a(i),n?.({type:"tool.registered",tool:i.name,metadata:{version:i.version??null,group:i.group??null,stage:i.stage??null}}),()=>{o.delete(i.name),s.delete(i.name);}},unregister(i){o.delete(i),s.delete(i);},enable(i){!o.has(i)||!s.has(i)||(s.delete(i),n?.({type:"tool.surfaced",tool:i,metadata:{state:"enabled"}}));},disable(i){!o.has(i)||s.has(i)||(s.add(i),n?.({type:"tool.surfaced",tool:i,metadata:{state:"disabled"}}));},isEnabled:i=>o.has(i)&&!s.has(i),list({includeDisabled:i=false}={}){let l=[...o.values()];return i?l:l.filter(u=>!s.has(u.name))},get:i=>o.get(i),async execute(i,l,u=null){let f=o.get(i);if(!f)throw new Error(`Tool "${i}" is not registered.`);if(s.has(i)){let S={decision:"deny",ruleId:`tool:${i}`,reason:"Tool is disabled."};throw n?.({type:"tool.executed",tool:i,agent:u,policy:S,outcome:"blocked"}),new Error(S.reason)}let v=await t(i,{identity:u});if(v.decision==="deny")throw n?.({type:"tool.executed",tool:i,agent:u,policy:v,outcome:"blocked"}),new Error(v.reason);let b=Date.now();try{let S=await f.execute(l,{identity:u});return n?.({type:"tool.executed",tool:i,agent:u,policy:v,outcome:"success",durationMs:Date.now()-b}),S}catch(S){throw n?.({type:"tool.executed",tool:i,agent:u,policy:v,outcome:"error",durationMs:Date.now()-b,error:S instanceof Error?S.message:String(S)}),S}}}};var Nt=(t,e={})=>{let r=new Map;for(let a of t.stages)r.set(a.name,a);if(!r.has(t.initial))throw new Error(`Initial stage "${t.initial}" is not declared in progression stages.`);let n=t.initial,o=()=>{let a=r.get(n);return a?.enables?[n,...a.enables]:[n]},s=(a,i)=>{let l=n;if(!r.has(a))throw new Error(`Cannot transition to unknown stage "${a}".`);return a===n?{changed:false,from:l,to:a}:(n=a,e.onTrace?.({type:"tool.progressed",metadata:{from:l,to:a,trigger:i}}),{changed:true,from:l,to:a})};return {current:()=>n,enabledStages:()=>o(),notify(a){let l=r.get(n)?.transitions?.find(u=>u.on===a);return l?s(l.to,a):{changed:false,from:n,to:n}},set(a){return s(a,"manual")},reset(){let a=n;n=t.initial,a!==n&&e.onTrace?.({type:"tool.progressed",metadata:{from:a,to:n,trigger:"reset"}});},snapshot:()=>({current:n,enabled:o()})}};var zo=(t,e)=>{let r=t.authz?.minTrust;return r?e?V[e.trust]<V[r]?{ok:false,reason:`trust-too-low:${e.trust}<${r}`}:{ok:true,reason:"trust-ok"}:{ok:false,reason:`requires-trust:${r}`}:{ok:true,reason:"no-trust-floor"}},Vo=(t,e)=>{let r=t.authz?.allowedClasses??[];return r.length===0?{ok:true,reason:"no-class-restriction"}:e?r.includes(e.class)?{ok:true,reason:"class-ok"}:{ok:false,reason:`class-not-allowed:${e.class}`}:{ok:false,reason:`requires-class:${r.join("|")}`}},Uo=(t,e)=>t.stage?e.enabledStages&&e.enabledStages.includes(t.stage)?{ok:true,reason:`stage-enabled:${t.stage}`}:e.stage===t.stage?{ok:true,reason:`stage-active:${t.stage}`}:{ok:false,reason:`stage-locked:${t.stage}`}:{ok:true,reason:"no-stage"},$t=(t,e)=>{let r=zo(t,e.identity);if(!r.ok)return {tool:t,visible:false,reason:r.reason};let n=Vo(t,e.identity);if(!n.ok)return {tool:t,visible:false,reason:n.reason};let o=Uo(t,e);return o.ok?t.authz?.decision==="deny"?{tool:t,visible:false,reason:"authz-deny"}:{tool:t,visible:true,reason:"visible"}:{tool:t,visible:false,reason:o.reason}},Lt=(t,e)=>t.filter(r=>$t(r,e).visible),Wt=(t,e)=>t.map(r=>$t(r,e));var Bt="default",zt=t=>{let e=new Map;for(let r of t){let n=r.group??Bt,o=e.get(n)??[];o.push(r),e.set(n,o);}return [...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>({name:r,tools:n}))},Zo=t=>[...new Set(t.map(e=>e.group??Bt))].sort();var Vt=t=>t===null||typeof t!="object"?JSON.stringify(t):Array.isArray(t)?`[${t.map(Vt).join(",")}]`:`{${Object.keys(t).sort().map(r=>`${JSON.stringify(r)}:${Vt(t[r])}`).join(",")}}`,jr=t=>{let e={name:t.name,version:t.version??null,group:t.group??null,description:t.description??null,inputSchema:t.inputSchema??null,authz:t.authz??null,rateLimit:t.rateLimit??null},r=Vt(e).length;return {name:t.name,characters:r,tokens:Math.ceil(r/4)}},Ut=t=>{let e=t.map(jr);return {total:e.reduce((n,o)=>n+o.tokens,0),perTool:e}};var Nr=t=>t.provider?t.provider:(t.doc?.defaultView??(typeof globalThis<"u"?globalThis:null))?.navigator?.modelContext??null,Go=(t,e)=>{let r={name:t.name,invoke:n=>e(t,n)};return t.description!==void 0&&(r.description=t.description),t.inputSchema!==void 0&&(r.inputSchema=t.inputSchema),r},Zt=(t={})=>{let e=t.invoke??(async(n,o)=>n.execute(o,{identity:null})),r=null;return {publish(n){let o=Nr(t);return o?(r?.revoke(),r=o.provideContext({tools:n.map(s=>Go(s,e))}),{revoked:true}):{revoked:false}},revoke(){r?.revoke(),r=null;},available:()=>!!Nr(t)}};var rt=(t=500)=>{let e=[];return {add(r){e.push(r),e.length>t&&e.splice(0,e.length-t);},list(){return [...e]},clear(){e.length=0;}}};var $r=(t,e)=>t===void 0?e:Math.max(0,Math.min(1,t)),Gt=(t={})=>{let e=$r(t.traceRate,1),r=$r(t.errorRate,1),n=t.random??Math.random;return {shouldKeep(o){let s=o.outcome==="error"?r:e;return n()<s}}};var Fo="[REDACTED]",Ho=t=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))},Ft=(t,e)=>{if(e.length===0||typeof t!="object"||t===null)return;let[r,...n]=e;if(!r)return;if(Array.isArray(t)){for(let s of t)Ft(s,e);return}let o=t;if(r in o){if(n.length===0){o[r]=Fo;return}Ft(o[r],n);}},Ht=(t,e=[])=>{if(e.length===0)return t;let r=Ho(t);for(let n of e)Ft(r,n.split(".").filter(Boolean));return r},Kt=["metadata.password","metadata.token","metadata.authorization","metadata.cookie"];var Ko=()=>typeof location<"u"&&typeof location.pathname=="string"?location.pathname:void 0,Lr=t=>{let e=globalThis.crypto;return e&&"randomUUID"in e?`${t}_${e.randomUUID()}`:`${t}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2)}`},nt=({siteId:t,bufferSize:e,sessionId:r=Lr("ses"),scrubPaths:n=Kt,exporters:o=[],onExporterError:s,pageProvider:a=Ko,...i})=>{let l=rt(e),u=Gt(i),f=()=>{try{return a()}catch{return}};return {sessionId:r,async emit(v){let b={...v.metadata};if(b.page===void 0){let R=f();R!==void 0&&(b.page=R);}let S=ht.parse(Ht({id:Lr("trc"),siteId:t,sessionId:r,occurredAt:new Date().toISOString(),outcome:v.outcome??"success",...v,metadata:b},n));return u.shouldKeep(S)?(l.add(S),await Promise.all(o.map(async R=>{try{await R.export([S]);}catch(w){s?.(w,R,S);}})),S):null},list:()=>l.list(),clear:()=>l.clear()}};var ot=()=>({name:"console",export(t){for(let e of t)console.info("[agentronics:trace]",e.type,e);}});var st=({gatewayUrl:t,publishableKey:e,fetcher:r=fetch})=>({name:"gateway",async export(n){let o={publishableKey:e,events:n};await r(`${t.replace(/\/$/,"")}/v1/traces`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},body:JSON.stringify(o)});}});var Jo=t=>new Promise(e=>setTimeout(e,t)),at=({url:t,fetcher:e=fetch,maxRetries:r=2,queueLimit:n=500})=>({name:"webhook",async export(o){let a=[...qo(t),...o].slice(-n),i=0;for(;;){let l=await e(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({events:a})});if(l.ok){Wr(t,[]);return}if(i>=r)throw Wr(t,a),new Error(`Webhook exporter failed with status ${l.status}.`);i+=1,await Jo(100*i);}}}),Jt=t=>`agtx:webhook:${t}`,qo=t=>{if(typeof window>"u"||!window.localStorage)return [];try{let e=window.localStorage.getItem(Jt(t));return e?JSON.parse(e):[]}catch{return []}},Wr=(t,e)=>{if(!(typeof window>"u"||!window.localStorage))try{if(e.length===0){window.localStorage.removeItem(Jt(t));return}window.localStorage.setItem(Jt(t),JSON.stringify(e));}catch{}};var Br="https://gateway.agentronics.dev",Yo=t=>{if(t===void 0)return Br;if(t===Br)return t;let e;try{e=new URL(t);}catch{throw new Error(`Agentronics SDK: \`gatewayUrl\` is not a valid URL: ${t}`)}if(e.hostname==="localhost"||e.hostname==="127.0.0.1")return t;throw new Error(`Agentronics SDK does not support custom gateway URLs. Omit \`gatewayUrl\` to use the canonical https://gateway.agentronics.dev. The only accepted override is a localhost / 127.0.0.1 URL for local development. Got: ${t}`)},zr=t=>{let{publishableKey:e,siteId:r="default",debug:n=false,policies:o=[],trace:s={}}=t,a=Yo(t.gatewayUrl),i=ur(e);if(i==="secret")throw new ze("wrong_key_kind","A secret key was passed to Agentronics.init(). Browser code must use a publishable key (agtx_pk_*).");if(i!=="publishable")throw new ze("invalid_api_key",`Agentronics.init() expected a key starting with "${Oe}".`);let l=s.enabled??true,u=[...n?[ot()]:[],...s.gateway?[st({gatewayUrl:a,publishableKey:e})]:[],...s.webhookUrl?[at({url:s.webhookUrl})]:[],...s.exporters??[]],f={siteId:r,exporters:l?u:[],onExporterError:(m,A)=>{n&&console.warn(`[agentronics] trace exporter "${A.name}" failed`,m);}};s.bufferSize!==void 0&&(f.bufferSize=s.bufferSize),s.traceRate!==void 0&&(f.traceRate=s.traceRate),s.errorRate!==void 0&&(f.errorRate=s.errorRate),s.scrubPaths!==void 0&&(f.scrubPaths=s.scrubPaths);let v=nt(f),b=m=>{l&&v.emit(m);},S=xt(),R={onTrace:b};t.auth!==void 0&&(R.context=t.auth);let w=_t(R),M=kt(),I=Tt(o),te=St({gatewayUrl:a,siteId:r,publishableKey:e}),re=Rt({onTrace:b}),be={onTrace:b};t.siteMemory!==void 0&&(be.initial=t.siteMemory);let B=Et(be),_e=Ot({gatewayUrl:a,siteId:r,publishableKey:e}),it=async m=>{let A=Date.now(),E=await Je(m),N=S.preferOver(E);return l&&await v.emit({type:N?"agent.detected":"agent.missed",agent:N,durationMs:Date.now()-A,metadata:{detectedClass:E?.class??null,presented:S.snapshot()!==null}}),M.set(N,"detect"),N},qt=async(m,A={})=>{let E=Date.now(),N=A.identity!==void 0?A.identity:await it(),lt=I.evaluate({tool:m,identity:N});return l&&await v.emit({type:"authz.evaluated",tool:m,agent:N,policy:lt,outcome:lt.decision==="deny"?"blocked":"success",durationMs:Date.now()-E}),lt},ke=jt({evaluate:qt,setPolicies:m=>I.set(m),listPolicies:()=>I.list(),onTrace:b});for(let m of t.tools??[])ke.register(m);let we=t.progression?Nt(t.progression,{onTrace:b}):null,Yt=m=>{let A={identity:m};return we&&(A.stage=we.current(),A.enabledStages=we.enabledStages()),A},je=m=>Lt(ke.list(),Yt(m)),Xt=m=>{if(!we)return;we.notify(m).changed&&ct.publish(je(null));},ct=Zt({invoke:async(m,A)=>{let E=await ke.execute(m.name,A,null);return Xt(m.name),E}});return Object.freeze({publishableKey:e,siteId:r,gatewayUrl:a,debug:n,memory:re,siteMemory:B,memoryCache:_e,tracer:v,auth:w,agentContext:M,authz:I,policyCache:te,tools:ke,progression:we,webmcp:ct,detect:it,authenticate:async m=>{let A=await w.authenticate(m);return M.set(A,"authenticate"),A},presentIdentity:m=>{let A=S.present(m);return b({type:"auth.identity_presented",agent:A.identity,metadata:{vendor:A.identity.vendor,class:A.identity.class}}),M.set(A.identity,"declare"),A},clearIdentity:()=>{S.clear(),b({type:"auth.identity_cleared"}),M.set(null,"cleared");},presentedIdentity:()=>S.snapshot(),setPolicies:m=>{I.set(m),b({type:"authz.policies_set",metadata:{count:m.length}});},listPolicies:()=>I.list(),syncPolicies:async()=>{let m=await te.sync();return I.set(m.policies),b({type:"authz.policies_set",metadata:{count:m.policies.length,synced:true}}),m.policies},syncSiteMemory:async()=>{let m=await _e.sync();return m.memory&&(B.replace(m.memory),b({type:"memory.updated",metadata:{kind:"site",operation:"sync",etag:m.etag}})),m.memory},provideSiteMemory:m=>B.provide(m),provideForPage:m=>{B.provideForPage(m);},installMemoryDelivery:({metaTags:m=true,overlay:A=false}={})=>{let E=[];return m&&E.push(Qe({snapshot:B.snapshot()})),A&&E.push(et({snapshot:B.snapshot()})),{uninstall:()=>{E.forEach(N=>N.uninstall());}}},fetchWellKnown:async m=>{let A={};m!==void 0&&(A.origin=m);let E=await tt(A);return E&&(B.replace(E),b({type:"memory.updated",metadata:{kind:"site",operation:"wellKnown",origin:m??null}})),E},installDomEnforcer:()=>Mt({policyEngine:I,getIdentity:()=>it({webmcp:{pollMs:0}})}),registerTool:m=>ke.register(m),surfaceTools:({identity:m=null}={})=>je(m),explainSurfacing:({identity:m=null}={})=>Wt(ke.list(),Yt(m)),groupedTools:({identity:m=null}={})=>zt(je(m)),estimateTokens:({identity:m=null}={})=>Ut(je(m)),publishToWebMcp:({identity:m=null}={})=>{let A=je(m),E=ct.publish(A);return A.forEach(N=>{b({type:"tool.surfaced",tool:N.name,metadata:{state:"published",trust:m?.trust??null,group:N.group??null}});}),{revoked:E.revoked,surfaced:A.length}},notifyToolInvoked:m=>Xt(m),evaluate:qt,traces:()=>v.list(),clearTraces:()=>v.clear(),async ping(){try{let m=await fetch(`${a.replace(/\/$/,"")}/v1/health`,{method:"GET",headers:{authorization:`Bearer ${e}`}});if(!m.ok)return {ok:!1,status:m.status,error:`gateway returned ${m.status}`};let A=await m.json().catch(()=>null)??{};return {ok:!0,status:m.status,body:A}}catch(m){return {ok:false,status:0,error:m instanceof Error?m.message:String(m)}}}})};var yc={init:zr,declareAgent:vt,detectAgent:Je},vc="0.1.0";
|
|
16
|
-
exports.Agentronics=
|
|
15
|
+
`,$r=t=>{let e=t.siteMap?.pages?.length??0,r=Object.keys(t.workflows).length,n=Object.keys(t.uiGuidance).length;return `Agentronics site memory \xB7 pages:${e} \xB7 workflows:${r} \xB7 ui-hints:${n}`},ot=({doc:t=typeof document>"u"?null:document,snapshot:e,hidden:r=false})=>{if(!t)return {uninstall:()=>{},refresh:()=>{}};let n=t.getElementById(Nr);return n||(n=t.createElement("div"),n.id=Nr,n.setAttribute("role","note"),n.setAttribute("aria-label","Agentronics site memory summary"),n.setAttribute("data-agent-context","overlay"),t.body.appendChild(n)),n.setAttribute("style",qo(r)),n.textContent=$r(e),{uninstall:()=>{n?.remove();},refresh:o=>{n&&(n.textContent=$r(o));}}};var Lt="/.well-known/agent-context.json",st=async({origin:t,fetcher:e=fetch,signal:r}={})=>{let n=(t?t.replace(/\/$/,""):typeof window<"u"?window.location.origin:"")+Lt;if(!n.startsWith("http"))return null;let o={headers:{accept:"application/json"}};r!==void 0&&(o.signal=r);let s=await e(n,o);if(!s.ok){if(s.status===404)return null;throw new Error(`well-known agent-context fetch failed with status ${s.status}.`)}let a=await s.json();return $.parse(a)},Lr=({snapshot:t})=>JSON.stringify($.parse(t));var Wt=({evaluate:t,setPolicies:e,listPolicies:r,onTrace:n,identityResolver:o})=>{let s=new Map,a=new Set,c=i=>{if(!i.authz||!e||!r)return;let u={id:`tool:${i.name}`,tool:i.name,...i.authz,rateLimit:i.rateLimit??i.authz.rateLimit};e([...r().filter(p=>p.id!==u.id),u]);};return {register(i){return s.set(i.name,i),a.delete(i.name),c(i),n?.({type:"tool.registered",tool:i.name,metadata:{version:i.version??null,group:i.group??null,stage:i.stage??null}}),()=>{s.delete(i.name),a.delete(i.name);}},unregister(i){s.delete(i),a.delete(i);},enable(i){!s.has(i)||!a.has(i)||(a.delete(i),n?.({type:"tool.surfaced",tool:i,metadata:{state:"enabled"}}));},disable(i){!s.has(i)||a.has(i)||(a.add(i),n?.({type:"tool.surfaced",tool:i,metadata:{state:"disabled"}}));},isEnabled:i=>s.has(i)&&!a.has(i),list({includeDisabled:i=false}={}){let u=[...s.values()];return i?u:u.filter(p=>!a.has(p.name))},get:i=>s.get(i),async execute(i,u,p){let h=p===void 0?o?.()??null:p,_=s.get(i);if(!_)throw new Error(`Tool "${i}" is not registered.`);if(a.has(i)){let b={decision:"deny",ruleId:`tool:${i}`,reason:"Tool is disabled."};throw n?.({type:"tool.executed",tool:i,agent:h,policy:b,outcome:"blocked"}),new Error(b.reason)}let I=await t(i,{identity:h});if(I.decision==="deny")throw n?.({type:"tool.executed",tool:i,agent:h,policy:I,outcome:"blocked"}),new Error(I.reason);let R=Date.now();try{let b=await _.execute(u,{identity:h});return n?.({type:"tool.executed",tool:i,agent:h,policy:I,outcome:"success",durationMs:Date.now()-R}),b}catch(b){throw n?.({type:"tool.executed",tool:i,agent:h,policy:I,outcome:"error",durationMs:Date.now()-R,error:b instanceof Error?b.message:String(b)}),b}}}};var Yo=t=>{let e={name:t.name,description:t.description??"",inputSchema:t.inputSchema??{},tokens:0};return t.group&&(e.group=t.group),t.stage&&(e.page=t.stage),t.outputSchema&&(e.outputSchema=t.outputSchema),e.tokens=Math.ceil(JSON.stringify({name:e.name,description:e.description,inputSchema:e.inputSchema,...e.outputSchema?{outputSchema:e.outputSchema}:{}}).length/4),e},Wr=({gatewayUrl:t,siteId:e,publishableKey:r,fetcher:n=fetch})=>({async push(o){let s=o.map(Yo),a=await n(`${t.replace(/\/$/,"")}/v1/sites/${encodeURIComponent(e)}/tools`,{method:"PUT",headers:{authorization:`Bearer ${r}`,"content-type":"application/json"},body:JSON.stringify({registry:{tools:s}})});if(!a.ok)throw new Error(`Tool sync failed with status ${a.status}.`);return s.length}});var Bt=(t,e={})=>{let r=new Map;for(let a of t.stages)r.set(a.name,a);if(!r.has(t.initial))throw new Error(`Initial stage "${t.initial}" is not declared in progression stages.`);let n=t.initial,o=()=>{let a=r.get(n);return a?.enables?[n,...a.enables]:[n]},s=(a,c)=>{let i=n;if(!r.has(a))throw new Error(`Cannot transition to unknown stage "${a}".`);return a===n?{changed:false,from:i,to:a}:(n=a,e.onTrace?.({type:"tool.progressed",metadata:{from:i,to:a,trigger:c}}),{changed:true,from:i,to:a})};return {current:()=>n,enabledStages:()=>o(),notify(a){let i=r.get(n)?.transitions?.find(u=>u.on===a);return i?s(i.to,a):{changed:false,from:n,to:n}},set(a){return s(a,"manual")},reset(){let a=n;n=t.initial,a!==n&&e.onTrace?.({type:"tool.progressed",metadata:{from:a,to:n,trigger:"reset"}});},snapshot:()=>({current:n,enabled:o()})}};var Xo=(t,e)=>{let r=t.authz?.minTrust;return r?e?z[e.trust]<z[r]?{ok:false,reason:`trust-too-low:${e.trust}<${r}`}:{ok:true,reason:"trust-ok"}:{ok:false,reason:`requires-trust:${r}`}:{ok:true,reason:"no-trust-floor"}},Qo=(t,e)=>{let r=t.authz?.allowedClasses??[];return r.length===0?{ok:true,reason:"no-class-restriction"}:e?r.includes(e.class)?{ok:true,reason:"class-ok"}:{ok:false,reason:`class-not-allowed:${e.class}`}:{ok:false,reason:`requires-class:${r.join("|")}`}},es=(t,e)=>t.stage?e.enabledStages&&e.enabledStages.includes(t.stage)?{ok:true,reason:`stage-enabled:${t.stage}`}:e.stage===t.stage?{ok:true,reason:`stage-active:${t.stage}`}:{ok:false,reason:`stage-locked:${t.stage}`}:{ok:true,reason:"no-stage"},Vt=(t,e)=>{let r=Xo(t,e.identity);if(!r.ok)return {tool:t,visible:false,reason:r.reason};let n=Qo(t,e.identity);if(!n.ok)return {tool:t,visible:false,reason:n.reason};let o=es(t,e);return o.ok?t.authz?.decision==="deny"?{tool:t,visible:false,reason:"authz-deny"}:{tool:t,visible:true,reason:"visible"}:{tool:t,visible:false,reason:o.reason}},Ut=(t,e)=>t.filter(r=>Vt(r,e).visible),zt=(t,e)=>t.map(r=>Vt(r,e));var Gt="default",Zt=t=>{let e=new Map;for(let r of t){let n=r.group??Gt,o=e.get(n)??[];o.push(r),e.set(n,o);}return [...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>({name:r,tools:n}))},ts=t=>[...new Set(t.map(e=>e.group??Gt))].sort();var Ft=t=>t===null||typeof t!="object"?JSON.stringify(t):Array.isArray(t)?`[${t.map(Ft).join(",")}]`:`{${Object.keys(t).sort().map(r=>`${JSON.stringify(r)}:${Ft(t[r])}`).join(",")}}`,Br=t=>{let e={name:t.name,version:t.version??null,group:t.group??null,description:t.description??null,inputSchema:t.inputSchema??null,authz:t.authz??null,rateLimit:t.rateLimit??null},r=Ft(e).length;return {name:t.name,characters:r,tokens:Math.ceil(r/4)}},Kt=t=>{let e=t.map(Br);return {total:e.reduce((n,o)=>n+o.tokens,0),perTool:e}};var Vr=t=>{if(t.provider)return t.provider;let r=(t.doc?.defaultView??(typeof globalThis<"u"?globalThis:null))?.navigator?.modelContext;return !r||typeof r.provideContext!="function"?null:r},rs=(t,e)=>{let r={name:t.name,invoke:n=>e(t,n)};return t.description!==void 0&&(r.description=t.description),t.inputSchema!==void 0&&(r.inputSchema=t.inputSchema),r},Ht=(t={})=>{let e=t.invoke??(async(n,o)=>n.execute(o,{identity:null})),r=null;return {publish(n){let o=Vr(t);return o?(r?.revoke(),r=o.provideContext({tools:n.map(s=>rs(s,e))}),{revoked:true}):{revoked:false}},revoke(){r?.revoke(),r=null;},available:()=>!!Vr(t)}};var at=(t=500)=>{let e=[];return {add(r){e.push(r),e.length>t&&e.splice(0,e.length-t);},list(){return [...e]},clear(){e.length=0;}}};var Ur=(t,e)=>t===void 0?e:Math.max(0,Math.min(1,t)),Jt=(t={})=>{let e=Ur(t.traceRate,1),r=Ur(t.errorRate,1),n=t.random??Math.random;return {shouldKeep(o){let s=o.outcome==="error"?r:e;return n()<s}}};var ns="[REDACTED]",os=t=>{if(t!==void 0)return JSON.parse(JSON.stringify(t))},qt=(t,e)=>{if(e.length===0||typeof t!="object"||t===null)return;let[r,...n]=e;if(!r)return;if(Array.isArray(t)){for(let s of t)qt(s,e);return}let o=t;if(r in o){if(n.length===0){o[r]=ns;return}qt(o[r],n);}},Yt=(t,e=[])=>{if(e.length===0)return t;let r=os(t);for(let n of e)qt(r,n.split(".").filter(Boolean));return r},Xt=["metadata.password","metadata.token","metadata.authorization","metadata.cookie"];var ss=()=>typeof location<"u"&&typeof location.pathname=="string"?location.pathname:void 0,zr=t=>{let e=globalThis.crypto;return e&&"randomUUID"in e?`${t}_${e.randomUUID()}`:`${t}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2)}`},it=({siteId:t,bufferSize:e,sessionId:r=zr("ses"),scrubPaths:n=Xt,exporters:o=[],onExporterError:s,pageProvider:a=ss,...c})=>{let i=at(e),u=Jt(c),p=()=>{try{return a()}catch{return}};return {sessionId:r,async emit(h){let _={...h.metadata};if(_.page===void 0){let R=p();R!==void 0&&(_.page=R);}let I=xt.parse(Yt({id:zr("trc"),siteId:t,sessionId:r,occurredAt:new Date().toISOString(),outcome:h.outcome??"success",...h,metadata:_},n));return u.shouldKeep(I)?(i.add(I),await Promise.all(o.map(async R=>{try{await R.export([I]);}catch(b){s?.(b,R,I);}})),I):null},list:()=>i.list(),clear:()=>i.clear()}};var ct=()=>({name:"console",export(t){for(let e of t)console.info("[agentronics:trace]",e.type,e);}});var lt=({gatewayUrl:t,publishableKey:e,fetcher:r=fetch})=>({name:"gateway",async export(n){let o={publishableKey:e,events:n};await r(`${t.replace(/\/$/,"")}/v1/traces`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},body:JSON.stringify(o)});}});var as=t=>new Promise(e=>setTimeout(e,t)),ut=({url:t,fetcher:e=fetch,maxRetries:r=2,queueLimit:n=500})=>({name:"webhook",async export(o){let a=[...is(t),...o].slice(-n),c=0;for(;;){let i=await e(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({events:a})});if(i.ok){Gr(t,[]);return}if(c>=r)throw Gr(t,a),new Error(`Webhook exporter failed with status ${i.status}.`);c+=1,await as(100*c);}}}),Qt=t=>`agtx:webhook:${t}`,is=t=>{if(typeof window>"u"||!window.localStorage)return [];try{let e=window.localStorage.getItem(Qt(t));return e?JSON.parse(e):[]}catch{return []}},Gr=(t,e)=>{if(!(typeof window>"u"||!window.localStorage))try{if(e.length===0){window.localStorage.removeItem(Qt(t));return}window.localStorage.setItem(Qt(t),JSON.stringify(e));}catch{}};var Zr="https://gateway.agentronics.dev",cs=t=>{if(t===void 0)return Zr;if(t===Zr)return t;let e;try{e=new URL(t);}catch{throw new Error(`Agentronics SDK: \`gatewayUrl\` is not a valid URL: ${t}`)}if(e.hostname==="localhost"||e.hostname==="127.0.0.1")return t;throw new Error(`Agentronics SDK does not support custom gateway URLs. Omit \`gatewayUrl\` to use the canonical https://gateway.agentronics.dev. The only accepted override is a localhost / 127.0.0.1 URL for local development. Got: ${t}`)},Fr=t=>{let{publishableKey:e,siteId:r="default",debug:n=false,policies:o=[],trace:s={}}=t,a=cs(t.gatewayUrl),c=mr(e);if(c==="secret")throw new Ge("wrong_key_kind","A secret key was passed to Agentronics.init(). Browser code must use a publishable key (agtx_pk_*).");if(c!=="publishable")throw new Ge("invalid_api_key",`Agentronics.init() expected a key starting with "${De}".`);let i=s.enabled??true,u=[...n?[ct()]:[],...s.gateway?[lt({gatewayUrl:a,publishableKey:e})]:[],...s.webhookUrl?[ut({url:s.webhookUrl})]:[],...s.exporters??[]],p={siteId:r,exporters:i?u:[],onExporterError:(f,T)=>{n&&console.warn(`[agentronics] trace exporter "${T.name}" failed`,f);}};s.bufferSize!==void 0&&(p.bufferSize=s.bufferSize),s.traceRate!==void 0&&(p.traceRate=s.traceRate),s.errorRate!==void 0&&(p.errorRate=s.errorRate),s.scrubPaths!==void 0&&(p.scrubPaths=s.scrubPaths);let h=it(p),_=f=>{i&&h.emit(f);},I=kt(),R={onTrace:_};t.auth!==void 0&&(R.context=t.auth);let b=St(R),C=At(),M=Ct(o),re=Rt({gatewayUrl:a,siteId:r,publishableKey:e}),ne=Pt({onTrace:_}),we={onTrace:_};t.siteMemory!==void 0&&(we.initial=t.siteMemory);let V=jt(we),ke=Nt({gatewayUrl:a,siteId:r,publishableKey:e}),Kr=Wr({gatewayUrl:a,siteId:r,publishableKey:e}),Ze=async f=>{let T=Date.now(),O=await Qe(f),D=I.preferOver(O);return i&&await h.emit({type:D?"agent.detected":"agent.missed",agent:D,durationMs:Date.now()-T,metadata:{detectedClass:O?.class??null,presented:I.snapshot()!==null}}),C.set(D,"detect"),D},er=async(f,T={})=>{let O=Date.now(),D=T.identity!==void 0?T.identity:await Ze(),pt=M.evaluate({tool:f,identity:D});return i&&await h.emit({type:"authz.evaluated",tool:f,agent:D,policy:pt,outcome:pt.decision==="deny"?"blocked":"success",durationMs:Date.now()-O}),pt},oe=Wt({evaluate:er,setPolicies:f=>M.set(f),listPolicies:()=>M.list(),onTrace:_,identityResolver:()=>C.snapshot().identity});for(let f of t.tools??[])oe.register(f);let Te=t.progression?Bt(t.progression,{onTrace:_}):null,tr=f=>{let T={identity:f};return Te&&(T.stage=Te.current(),T.enabledStages=Te.enabledStages()),T},Se=f=>Ut(oe.list(),tr(f)),rr=f=>{if(!Te)return;Te.notify(f).changed&&Le.publish(Se(C.snapshot().identity));},Hr={class:"webmcp",trust:"detected",confidence:1,vendor:null,userAgent:typeof navigator<"u"?navigator.userAgent:null,detectionVersion:A,signals:{source:"navigator.modelContext"}},Le=Ht({invoke:async(f,T)=>{let O=C.snapshot().identity??Hr,D=await oe.execute(f.name,T,O);return rr(f.name),D}});C.subscribe(f=>{Le.available()&&Le.publish(Se(f.identity));});let dt=t.autoDetect??true,Jr=dt===false?Promise.resolve(null):(async()=>{let f=dt===true?{}:dt;try{return await Ze(f)}catch(T){return n&&console.warn("[agentronics] autoDetect failed:",T),null}})();return Object.freeze({publishableKey:e,siteId:r,gatewayUrl:a,debug:n,memory:ne,siteMemory:V,memoryCache:ke,tracer:h,auth:b,agentContext:C,authz:M,policyCache:re,tools:oe,progression:Te,webmcp:Le,ready:Jr,detect:Ze,authenticate:async f=>{let T=await b.authenticate(f);return C.set(T,"authenticate"),T},presentIdentity:f=>{let T=I.present(f);return _({type:"auth.identity_presented",agent:T.identity,metadata:{vendor:T.identity.vendor,class:T.identity.class}}),C.set(T.identity,"declare"),T},clearIdentity:()=>{I.clear(),_({type:"auth.identity_cleared"}),C.set(null,"cleared");},presentedIdentity:()=>I.snapshot(),setPolicies:f=>{M.set(f),_({type:"authz.policies_set",metadata:{count:f.length}});},listPolicies:()=>M.list(),syncPolicies:async()=>{let f=await re.sync();return M.set(f.policies),_({type:"authz.policies_set",metadata:{count:f.policies.length,synced:true}}),f.policies},syncSiteMemory:async()=>{let f=await ke.sync();return f.memory&&(V.replace(f.memory),_({type:"memory.updated",metadata:{kind:"site",operation:"sync",etag:f.etag}})),f.memory},provideSiteMemory:f=>V.provide(f),provideForPage:f=>{V.provideForPage(f);},installMemoryDelivery:({metaTags:f=true,overlay:T=false}={})=>{let O=[];return f&&O.push(nt({snapshot:V.snapshot()})),T&&O.push(ot({snapshot:V.snapshot()})),{uninstall:()=>{O.forEach(D=>D.uninstall());}}},fetchWellKnown:async f=>{let T={};f!==void 0&&(T.origin=f);let O=await st(T);return O&&(V.replace(O),_({type:"memory.updated",metadata:{kind:"site",operation:"wellKnown",origin:f??null}})),O},installDomEnforcer:()=>Et({policyEngine:M,getIdentity:()=>Ze({webmcp:{pollMs:0}})}),registerTool:f=>oe.register(f),syncTools:async()=>{let f=oe.list({includeDisabled:true}),T=await Kr.push(f);return _({type:"tool.registered",metadata:{operation:"sync",count:T}}),T},surfaceTools:({identity:f=null}={})=>Se(f),explainSurfacing:({identity:f=null}={})=>zt(oe.list(),tr(f)),groupedTools:({identity:f=null}={})=>Zt(Se(f)),estimateTokens:({identity:f=null}={})=>Kt(Se(f)),publishToWebMcp:({identity:f=null}={})=>{let T=Se(f),O=Le.publish(T);return T.forEach(D=>{_({type:"tool.surfaced",tool:D.name,metadata:{state:"published",trust:f?.trust??null,group:D.group??null}});}),{revoked:O.revoked,surfaced:T.length}},notifyToolInvoked:f=>rr(f),evaluate:er,traces:()=>h.list(),clearTraces:()=>h.clear(),async ping(){try{let f=await fetch(`${a.replace(/\/$/,"")}/v1/health`,{method:"GET",headers:{authorization:`Bearer ${e}`}});if(!f.ok)return {ok:!1,status:f.status,error:`gateway returned ${f.status}`};let T=await f.json().catch(()=>null)??{};return {ok:!0,status:f.status,body:T}}catch(f){return {ok:false,status:0,error:f instanceof Error?f.message:String(f)}}}})};var Yc={init:Fr,declareAgent:wt,detectAgent:Qe},Xc="0.1.0";
|
|
16
|
+
exports.Agentronics=Yc;exports.CRAWLER_SIGNATURES=bt;exports.DEFAULT_GROUP=Gt;exports.VERSION=Xc;exports.WELL_KNOWN_PATH=Lt;exports.bundledDetectors=_t;exports.createAgentContextStore=At;exports.createAuthEngine=St;exports.createConsoleExporter=ct;exports.createDetectorRegistry=Xe;exports.createGatewayExporter=lt;exports.createIdentityStore=kt;exports.createMemoryCache=Nt;exports.createMemoryStore=Pt;exports.createPolicyCache=Rt;exports.createPolicyEngine=Ct;exports.createProgressionStore=Bt;exports.createRateLimiter=It;exports.createSignatureLoader=vr;exports.createSiteMemoryStore=jt;exports.createToolRegistry=Wt;exports.createTraceBuffer=at;exports.createTracer=it;exports.createWebMcpAdapter=Ht;exports.createWebMcpContextTool=jr;exports.createWebhookExporter=ut;exports.decideSurfacing=Vt;exports.declareAgent=wt;exports.deriveTrustLevel=jo;exports.detectAgent=Qe;exports.detectCrawler=Ne;exports.detectDom=$e;exports.detectWebMcp=je;exports.estimateBudget=Kt;exports.estimateToolTokens=Br;exports.explainSurfacing=zt;exports.fetchWellKnownContext=st;exports.groupTools=Zt;exports.highestTrust=Tt;exports.init=Fr;exports.installDomEnforcer=Et;exports.installMemoryOverlay=ot;exports.installMetaTags=nt;exports.listGroupNames=ts;exports.serializeWellKnownContext=Lr;exports.showDenyOverlay=Mt;exports.surfaceTools=Ut;return exports;})({});//# sourceMappingURL=index.global.js.map
|
|
17
17
|
//# sourceMappingURL=index.global.js.map
|