firefox-cli 0.1.1

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.
@@ -0,0 +1,128 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ --flow-primary: #00d46a;
4
+ --flow-primary-dark: #00944a;
5
+ --flow-primary-light: #15ff8a;
6
+ --surface: #111418;
7
+ --surface-elevated: #1e2227;
8
+ --surface-muted: #252b32;
9
+ --text: #f4fff8;
10
+ --text-muted: #9facb8;
11
+ --danger: #ff6678;
12
+ --border: rgba(21, 255, 138, 0.18);
13
+ --base-font: "Comfortaa", "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
14
+ --heading-font: "Montserrat Alternates", "Comfortaa", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
15
+ }
16
+
17
+ * {
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ body {
22
+ background: var(--surface);
23
+ color: var(--text);
24
+ font: 13px / 1.45 var(--base-font);
25
+ margin: 0;
26
+ min-width: 300px;
27
+ }
28
+
29
+ .approval-card {
30
+ padding: 16px;
31
+ }
32
+
33
+ .status-panel {
34
+ background: var(--surface-elevated);
35
+ border: 1px solid var(--border);
36
+ border-radius: 16px;
37
+ display: grid;
38
+ gap: 8px;
39
+ padding: 12px;
40
+ }
41
+
42
+ .approval-state,
43
+ .connection-state,
44
+ #error {
45
+ margin: 0;
46
+ }
47
+
48
+ .approval-state {
49
+ color: var(--text);
50
+ font-family: var(--heading-font);
51
+ font-size: 15px;
52
+ font-weight: 700;
53
+ }
54
+
55
+ .approval-state[data-state="approved"] {
56
+ color: var(--flow-primary-light);
57
+ }
58
+
59
+ .connection-state {
60
+ align-items: center;
61
+ color: var(--text-muted);
62
+ display: flex;
63
+ gap: 8px;
64
+ }
65
+
66
+ .connection-state::before {
67
+ background: var(--danger);
68
+ border-radius: 999px;
69
+ content: "";
70
+ height: 8px;
71
+ width: 8px;
72
+ }
73
+
74
+ .connection-state[data-state="connected"]::before {
75
+ background: var(--flow-primary);
76
+ }
77
+
78
+ #error {
79
+ background: rgba(255, 102, 120, 0.11);
80
+ border: 1px solid rgba(255, 102, 120, 0.28);
81
+ border-radius: 12px;
82
+ color: #ffd8de;
83
+ margin-top: 10px;
84
+ padding: 9px 10px;
85
+ }
86
+
87
+ .actions {
88
+ display: grid;
89
+ gap: 8px;
90
+ margin-top: 12px;
91
+ }
92
+
93
+ button {
94
+ border: 0;
95
+ border-radius: 999px;
96
+ cursor: pointer;
97
+ font: 700 13px / 1 var(--base-font);
98
+ padding: 11px 14px;
99
+ }
100
+
101
+ button:focus-visible {
102
+ outline: 2px solid var(--flow-primary-light);
103
+ outline-offset: 3px;
104
+ }
105
+
106
+ button[hidden] {
107
+ display: none;
108
+ }
109
+
110
+ .primary-action {
111
+ background: var(--flow-primary);
112
+ color: #041008;
113
+ }
114
+
115
+ .primary-action:hover {
116
+ filter: brightness(1.05);
117
+ }
118
+
119
+ .secondary-action {
120
+ background: var(--surface-muted);
121
+ color: var(--text);
122
+ border: 1px solid rgba(255, 255, 255, 0.08);
123
+ }
124
+
125
+ .secondary-action:hover {
126
+ border-color: var(--border);
127
+ color: var(--flow-primary-light);
128
+ }
@@ -0,0 +1,23 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>Extension approval</title>
7
+ <link rel="stylesheet" href="./popup.css" />
8
+ </head>
9
+ <body>
10
+ <main class="approval-card">
11
+ <section class="status-panel" aria-live="polite">
12
+ <p id="approval" class="approval-state">Checking approval...</p>
13
+ <p id="status" class="connection-state">Checking connection...</p>
14
+ </section>
15
+ <p id="error" hidden></p>
16
+ <div class="actions">
17
+ <button id="approve" class="primary-action" type="button" hidden>Approve browser control</button>
18
+ <button id="reset" class="secondary-action" type="button">Reset approval</button>
19
+ </div>
20
+ </main>
21
+ <script type="module" src="./popup.js"></script>
22
+ </body>
23
+ </html>
@@ -0,0 +1,64 @@
1
+ const Wn="firefox-cli";var rt;function d(e,t,n){function o(a,u){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:u,constr:i,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,u);const l=i.prototype,m=Object.keys(l);for(let h=0;h<m.length;h++){const _=m[h];_ in a||(a[_]=l[_].bind(a))}}const r=n?.Parent??Object;class s extends r{}Object.defineProperty(s,"name",{value:e});function i(a){var u;const l=n?.Parent?new s:this;o(l,a),(u=l._zod).deferred??(u.deferred=[]);for(const m of l._zod.deferred)m();return l}return Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class ee extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ct extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(rt=globalThis).__zod_globalConfig??(rt.__zod_globalConfig={});const Ve=globalThis.__zod_globalConfig;function B(e){return Ve}function jt(e){const t=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,r])=>t.indexOf(+o)===-1).map(([o,r])=>r)}function Le(e,t){return typeof t=="bigint"?t.toString():t}function Ie(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Je(e){return e==null}function qe(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Kn(e,t){const n=e/t,o=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-o)<r?0:n-o}const it=Symbol("evaluating");function y(e,t,n){let o;Object.defineProperty(e,t,{get(){if(o!==it)return o===void 0&&(o=it,o=n()),o},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function X(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function q(...e){const t={};for(const n of e){const o=Object.getOwnPropertyDescriptors(n);Object.assign(t,o)}return Object.defineProperties({},t)}function st(e){return JSON.stringify(e)}function Yn(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Lt="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Xn=Ie(()=>{if(Ve.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function ne(e){if(ce(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(ce(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Mt(e){return ne(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Hn=new Set(["string","number","symbol"]);function oe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function G(e,t,n){const o=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(o._zod.parent=e),o}function g(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Qn(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const eo={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function to(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const s=q(e._zod.def,{get shape(){const i={};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(i[a]=n.shape[a])}return X(this,"shape",i),i},checks:[]});return G(e,s)}function no(e,t){const n=e._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const s=q(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete i[a]}return X(this,"shape",i),i},checks:[]});return G(e,s)}function oo(e,t){if(!ne(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const s=e._zod.def.shape;for(const i in t)if(Object.getOwnPropertyDescriptor(s,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const r=q(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t};return X(this,"shape",s),s}});return G(e,r)}function ro(e,t){if(!ne(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=q(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return X(this,"shape",o),o}});return G(e,n)}function io(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const n=q(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return X(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return G(e,n)}function so(e,t,n){const r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const i=q(t._zod.def,{get shape(){const a=t._zod.def.shape,u={...a};if(n)for(const l in n){if(!(l in a))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(u[l]=e?new e({type:"optional",innerType:a[l]}):a[l])}else for(const l in a)u[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return X(this,"shape",u),u},checks:[]});return G(t,i)}function ao(e,t,n){const o=q(t._zod.def,{get shape(){const r=t._zod.def.shape,s={...r};if(n)for(const i in n){if(!(i in s))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(s[i]=new e({type:"nonoptional",innerType:r[i]}))}else for(const i in r)s[i]=new e({type:"nonoptional",innerType:r[i]});return X(this,"shape",s),s}});return G(t,o)}function H(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function co(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Q(e,t){return t.map(n=>{var o;return(o=n).path??(o.path=[]),n.path.unshift(e),n})}function fe(e){return typeof e=="string"?e:e?.message}function V(e,t,n){const o=e.message?e.message:fe(e.inst?._zod.def?.error?.(e))??fe(t?.error?.(e))??fe(n.customError?.(e))??fe(n.localeError?.(e))??"Invalid input",{inst:r,continue:s,input:i,...a}=e;return a.path??(a.path=[]),a.message=o,t?.reportInput&&(a.input=i),a}function Ge(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ue(...e){const[t,n,o]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:o}:{...t}}const Ut=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Le,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ft=d("$ZodError",Ut),Bt=d("$ZodError",Ut,{Parent:Error});function uo(e,t=n=>n.message){const n={},o=[];for(const r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):o.push(t(r));return{formErrors:o,fieldErrors:n}}function lo(e,t=n=>n.message){const n={_errors:[]},o=(r,s=[])=>{for(const i of r.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a},[...s,...i.path]));else if(i.code==="invalid_key")o({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")o({issues:i.issues},[...s,...i.path]);else{const a=[...s,...i.path];if(a.length===0)n._errors.push(t(i));else{let u=n,l=0;for(;l<a.length;){const m=a[l];l===a.length-1?(u[m]=u[m]||{_errors:[]},u[m]._errors.push(t(i))):u[m]=u[m]||{_errors:[]},u=u[m],l++}}}};return o(e),n}const We=e=>(t,n,o,r)=>{const s=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise)throw new ee;if(i.issues.length){const a=new(r?.Err??e)(i.issues.map(u=>V(u,s,B())));throw Lt(a,r?.callee),a}return i.value},Ke=e=>async(t,n,o,r)=>{const s=o?{...o,async:!0}:{async:!0};let i=t._zod.run({value:n,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){const a=new(r?.Err??e)(i.issues.map(u=>V(u,s,B())));throw Lt(a,r?.callee),a}return i.value},Te=e=>(t,n,o)=>{const r=o?{...o,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},r);if(s instanceof Promise)throw new ee;return s.issues.length?{success:!1,error:new(e??Ft)(s.issues.map(i=>V(i,r,B())))}:{success:!0,data:s.value}},po=Te(Bt),xe=e=>async(t,n,o)=>{const r=o?{...o,async:!0}:{async:!0};let s=t._zod.run({value:n,issues:[]},r);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>V(i,r,B())))}:{success:!0,data:s.value}},mo=xe(Bt),fo=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return We(e)(t,n,r)},ho=e=>(t,n,o)=>We(e)(t,n,o),go=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return Ke(e)(t,n,r)},vo=e=>async(t,n,o)=>Ke(e)(t,n,o),_o=e=>(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return Te(e)(t,n,r)},bo=e=>(t,n,o)=>Te(e)(t,n,o),wo=e=>async(t,n,o)=>{const r=o?{...o,direction:"backward"}:{direction:"backward"};return xe(e)(t,n,r)},yo=e=>async(t,n,o)=>xe(e)(t,n,o),ko=/^[cC][0-9a-z]{6,}$/,So=/^[0-9a-z]+$/,zo=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Io=/^[0-9a-vA-V]{20}$/,To=/^[A-Za-z0-9]{27}$/,xo=/^[a-zA-Z0-9_-]{21}$/,Eo=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,$o=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,at=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Oo=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Ro="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Zo(){return new RegExp(Ro,"u")}const Po=/^(?:(?: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])$/,Ao=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,No=/^((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])\/([0-9]|[1-2][0-9]|3[0-2])$/,Do=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Co=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Vt=/^[A-Za-z0-9_-]*$/,jo=/^https?$/,Lo=/^\+[1-9]\d{6,14}$/,Jt="(?:(?:\\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])))",Mo=new RegExp(`^${Jt}$`);function qt(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Uo(e){return new RegExp(`^${qt(e)}$`)}function Fo(e){const t=qt({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${Jt}T(?:${o})$`)}const Bo=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Vo=/^-?\d+$/,Gt=/^-?\d+(?:\.\d+)?$/,Jo=/^(?:true|false)$/i,qo=/^null$/i,Go=/^[^A-Z]*$/,Wo=/^[^a-z]*$/,j=d("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Wt={number:"number",bigint:"bigint",object:"date"},Kt=d("$ZodCheckLessThan",(e,t)=>{j.init(e,t);const n=Wt[typeof t.value];e._zod.onattach.push(o=>{const r=o._zod.bag,s=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?r.maximum=t.value:r.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Yt=d("$ZodCheckGreaterThan",(e,t)=>{j.init(e,t);const n=Wt[typeof t.value];e._zod.onattach.push(o=>{const r=o._zod.bag,s=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?r.minimum=t.value:r.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ko=d("$ZodCheckMultipleOf",(e,t)=>{j.init(e,t),e._zod.onattach.push(n=>{var o;(o=n._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Kn(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Yo=d("$ZodCheckNumberFormat",(e,t)=>{j.init(e,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[r,s]=eo[t.format];e._zod.onattach.push(i=>{const a=i._zod.bag;a.format=t.format,a.minimum=r,a.maximum=s,n&&(a.pattern=Vo)}),e._zod.check=i=>{const a=i.value;if(n){if(!Number.isInteger(a)){i.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}a<r&&i.issues.push({origin:"number",input:a,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),a>s&&i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}}),Xo=d("$ZodCheckMaxLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!Je(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const r=o.value;if(r.length<=t.maximum)return;const i=Ge(r);o.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ho=d("$ZodCheckMinLength",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!Je(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const r=o.value;if(r.length>=t.minimum)return;const i=Ge(r);o.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Qo=d("$ZodCheckLengthEquals",(e,t)=>{var n;j.init(e,t),(n=e._zod.def).when??(n.when=o=>{const r=o.value;return!Je(r)&&r.length!==void 0}),e._zod.onattach.push(o=>{const r=o._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=o=>{const r=o.value,s=r.length;if(s===t.length)return;const i=Ge(r),a=s>t.length;o.issues.push({origin:i,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),Ee=d("$ZodCheckStringFormat",(e,t)=>{var n,o;j.init(e,t),e._zod.onattach.push(r=>{const s=r._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),er=d("$ZodCheckRegex",(e,t)=>{Ee.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),tr=d("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Go),Ee.init(e,t)}),nr=d("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Wo),Ee.init(e,t)}),or=d("$ZodCheckIncludes",(e,t)=>{j.init(e,t);const n=oe(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=o,e._zod.onattach.push(r=>{const s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(o)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),rr=d("$ZodCheckStartsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`^${oe(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),ir=d("$ZodCheckEndsWith",(e,t)=>{j.init(e,t);const n=new RegExp(`.*${oe(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(o=>{const r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),sr=d("$ZodCheckOverwrite",(e,t)=>{j.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class ar{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
2
+ `).filter(i=>i),r=Math.min(...o.map(i=>i.length-i.trimStart().length)),s=o.map(i=>i.slice(r)).map(i=>" ".repeat(this.indent*2)+i);for(const i of s)this.content.push(i)}compile(){const t=Function,n=this?.args,r=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,r.join(`
3
+ `))}}const cr={major:4,minor:4,patch:3},I=d("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=cr;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const r of o)for(const s of r._zod.onattach)s(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const r=(i,a,u)=>{let l=H(i),m;for(const h of a){if(h._zod.def.when){if(co(i)||!h._zod.def.when(i))continue}else if(l)continue;const _=i.issues.length,v=h._zod.check(i);if(v instanceof Promise&&u?.async===!1)throw new ee;if(m||v instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await v,i.issues.length!==_&&(l||(l=H(i,_)))});else{if(i.issues.length===_)continue;l||(l=H(i,_))}}return m?m.then(()=>i):i},s=(i,a,u)=>{if(H(i))return i.aborted=!0,i;const l=r(a,o,u);if(l instanceof Promise){if(u.async===!1)throw new ee;return l.then(m=>e._zod.parse(m,u))}return e._zod.parse(l,u)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction==="backward"){const l=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return l instanceof Promise?l.then(m=>s(m,i,a)):s(l,i,a)}const u=e._zod.parse(i,a);if(u instanceof Promise){if(a.async===!1)throw new ee;return u.then(l=>r(l,o,a))}return r(u,o,a)}}y(e,"~standard",()=>({validate:r=>{try{const s=po(e,r);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return mo(e,r).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),Ye=d("$ZodString",(e,t)=>{I.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Bo(e._zod.bag),e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),x=d("$ZodStringFormat",(e,t)=>{Ee.init(e,t),Ye.init(e,t)}),ur=d("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=$o),x.init(e,t)}),lr=d("$ZodUUID",(e,t)=>{if(t.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(o===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=at(o))}else t.pattern??(t.pattern=at());x.init(e,t)}),dr=d("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Oo),x.init(e,t)}),pr=d("$ZodURL",(e,t)=>{x.init(e,t),e._zod.check=n=>{try{const o=n.value.trim();if(!t.normalize&&t.protocol?.source===jo.source&&!/^https?:\/\//i.test(o)){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}const r=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=r.href:n.value=o;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),mr=d("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Zo()),x.init(e,t)}),fr=d("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=xo),x.init(e,t)}),hr=d("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ko),x.init(e,t)}),gr=d("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=So),x.init(e,t)}),vr=d("$ZodULID",(e,t)=>{t.pattern??(t.pattern=zo),x.init(e,t)}),_r=d("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Io),x.init(e,t)}),br=d("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=To),x.init(e,t)}),wr=d("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Fo(t)),x.init(e,t)}),yr=d("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Mo),x.init(e,t)}),kr=d("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Uo(t)),x.init(e,t)}),Sr=d("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Eo),x.init(e,t)}),zr=d("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Po),x.init(e,t),e._zod.bag.format="ipv4"}),Ir=d("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ao),x.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Tr=d("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=No),x.init(e,t)}),xr=d("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Do),x.init(e,t),e._zod.check=n=>{const o=n.value.split("/");try{if(o.length!==2)throw new Error;const[r,s]=o;if(!s)throw new Error;const i=Number(s);if(`${i}`!==s)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Xt(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const Er=d("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Co),x.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{Xt(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function $r(e){if(!Vt.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Xt(n)}const Or=d("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Vt),x.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{$r(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Rr=d("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Lo),x.init(e,t)});function Zr(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[o]=n;if(!o)return!1;const r=JSON.parse(atob(o));return!("typ"in r&&r?.typ!=="JWT"||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}}const Pr=d("$ZodJWT",(e,t)=>{x.init(e,t),e._zod.check=n=>{Zr(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Ht=d("$ZodNumber",(e,t)=>{I.init(e,t),e._zod.pattern=e._zod.bag.pattern??Gt,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const r=n.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;const s=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...s?{received:s}:{}}),n}}),Ar=d("$ZodNumberFormat",(e,t)=>{Yo.init(e,t),Ht.init(e,t)}),Nr=d("$ZodBoolean",(e,t)=>{I.init(e,t),e._zod.pattern=Jo,e._zod.parse=(n,o)=>{if(t.coerce)try{n.value=!!n.value}catch{}const r=n.value;return typeof r=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),Dr=d("$ZodNull",(e,t)=>{I.init(e,t),e._zod.pattern=qo,e._zod.values=new Set([null]),e._zod.parse=(n,o)=>{const r=n.value;return r===null||n.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),n}}),Cr=d("$ZodUnknown",(e,t)=>{I.init(e,t),e._zod.parse=n=>n}),jr=d("$ZodNever",(e,t)=>{I.init(e,t),e._zod.parse=(n,o)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function ct(e,t,n){e.issues.length&&t.issues.push(...Q(n,e.issues)),t.value[n]=e.value}const Lr=d("$ZodArray",(e,t)=>{I.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);const s=[];for(let i=0;i<r.length;i++){const a=r[i],u=t.element._zod.run({value:a,issues:[]},o);u instanceof Promise?s.push(u.then(l=>ct(l,n,i))):ct(u,n,i)}return s.length?Promise.all(s).then(()=>n):n}});function ye(e,t,n,o,r,s){const i=n in o;if(e.issues.length){if(r&&s&&!i)return;t.issues.push(...Q(n,e.issues))}if(!i&&!r){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?i&&(t.value[n]=void 0):t.value[n]=e.value}function Qt(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=Qn(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function en(e,t,n,o,r,s){const i=[],a=r.keySet,u=r.catchall._zod,l=u.def.type,m=u.optin==="optional",h=u.optout==="optional";for(const _ in t){if(_==="__proto__"||a.has(_))continue;if(l==="never"){i.push(_);continue}const v=u.run({value:t[_],issues:[]},o);v instanceof Promise?e.push(v.then(z=>ye(z,n,_,t,m,h))):ye(v,n,_,t,m,h)}return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:s}),e.length?Promise.all(e).then(()=>n):n}const Mr=d("$ZodObject",(e,t)=>{if(I.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const u={...a};return Object.defineProperty(t,"shape",{value:u}),u}})}const o=Ie(()=>Qt(t));y(e._zod,"propValues",()=>{const a=t.shape,u={};for(const l in a){const m=a[l]._zod;if(m.values){u[l]??(u[l]=new Set);for(const h of m.values)u[l].add(h)}}return u});const r=ce,s=t.catchall;let i;e._zod.parse=(a,u)=>{i??(i=o.value);const l=a.value;if(!r(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};const m=[],h=i.shape;for(const _ of i.keys){const v=h[_],z=v._zod.optin==="optional",ie=v._zod.optout==="optional",Z=v._zod.run({value:l[_],issues:[]},u);Z instanceof Promise?m.push(Z.then(Pe=>ye(Pe,a,_,l,z,ie))):ye(Z,a,_,l,z,ie)}return s?en(m,l,a,u,o.value,e):m.length?Promise.all(m).then(()=>a):a}}),Ur=d("$ZodObjectJIT",(e,t)=>{Mr.init(e,t);const n=e._zod.parse,o=Ie(()=>Qt(t)),r=_=>{const v=new ar(["shape","payload","ctx"]),z=o.value,ie=M=>{const $=st(M);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};v.write("const input = payload.value;");const Z=Object.create(null);let Pe=0;for(const M of z.keys)Z[M]=`key_${Pe++}`;v.write("const newResult = {};");for(const M of z.keys){const $=Z[M],A=st(M),nt=_[M],ot=nt?._zod?.optin==="optional",Gn=nt?._zod?.optout==="optional";v.write(`const ${$} = ${ie(M)};`),ot&&Gn?v.write(`
4
+ if (${$}.issues.length) {
5
+ if (${A} in input) {
6
+ payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
7
+ ...iss,
8
+ path: iss.path ? [${A}, ...iss.path] : [${A}]
9
+ })));
10
+ }
11
+ }
12
+
13
+ if (${$}.value === undefined) {
14
+ if (${A} in input) {
15
+ newResult[${A}] = undefined;
16
+ }
17
+ } else {
18
+ newResult[${A}] = ${$}.value;
19
+ }
20
+
21
+ `):ot?v.write(`
22
+ if (${$}.issues.length) {
23
+ payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
24
+ ...iss,
25
+ path: iss.path ? [${A}, ...iss.path] : [${A}]
26
+ })));
27
+ }
28
+
29
+ if (${$}.value === undefined) {
30
+ if (${A} in input) {
31
+ newResult[${A}] = undefined;
32
+ }
33
+ } else {
34
+ newResult[${A}] = ${$}.value;
35
+ }
36
+
37
+ `):v.write(`
38
+ const ${$}_present = ${A} in input;
39
+ if (${$}.issues.length) {
40
+ payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
41
+ ...iss,
42
+ path: iss.path ? [${A}, ...iss.path] : [${A}]
43
+ })));
44
+ }
45
+ if (!${$}_present && !${$}.issues.length) {
46
+ payload.issues.push({
47
+ code: "invalid_type",
48
+ expected: "nonoptional",
49
+ input: undefined,
50
+ path: [${A}]
51
+ });
52
+ }
53
+
54
+ if (${$}_present) {
55
+ if (${$}.value === undefined) {
56
+ newResult[${A}] = undefined;
57
+ } else {
58
+ newResult[${A}] = ${$}.value;
59
+ }
60
+ }
61
+
62
+ `)}v.write("payload.value = newResult;"),v.write("return payload;");const qn=v.compile();return(M,$)=>qn(_,M,$)};let s;const i=ce,a=!Ve.jitless,l=a&&Xn.value,m=t.catchall;let h;e._zod.parse=(_,v)=>{h??(h=o.value);const z=_.value;return i(z)?a&&l&&v?.async===!1&&v.jitless!==!0?(s||(s=r(t.shape)),_=s(_,v),m?en([],z,_,v,h,e):_):n(_,v):(_.issues.push({expected:"object",code:"invalid_type",input:z,inst:e}),_)}});function ut(e,t,n,o){for(const s of e)if(s.issues.length===0)return t.value=s.value,t;const r=e.filter(s=>!H(s));return r.length===1?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(i=>V(i,o,B())))}),t)}const tn=d("$ZodUnion",(e,t)=>{I.init(e,t),y(e._zod,"optin",()=>t.options.some(o=>o._zod.optin==="optional")?"optional":void 0),y(e._zod,"optout",()=>t.options.some(o=>o._zod.optout==="optional")?"optional":void 0),y(e._zod,"values",()=>{if(t.options.every(o=>o._zod.values))return new Set(t.options.flatMap(o=>Array.from(o._zod.values)))}),y(e._zod,"pattern",()=>{if(t.options.every(o=>o._zod.pattern)){const o=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${o.map(r=>qe(r.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(o,r)=>{if(n)return n(o,r);let s=!1;const i=[];for(const a of t.options){const u=a._zod.run({value:o.value,issues:[]},r);if(u instanceof Promise)i.push(u),s=!0;else{if(u.issues.length===0)return u;i.push(u)}}return s?Promise.all(i).then(a=>ut(a,o,e,r)):ut(i,o,e,r)}}),Fr=d("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,tn.init(e,t);const n=e._zod.parse;y(e._zod,"propValues",()=>{const r={};for(const s of t.options){const i=s._zod.propValues;if(!i||Object.keys(i).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(const[a,u]of Object.entries(i)){r[a]||(r[a]=new Set);for(const l of u)r[a].add(l)}}return r});const o=Ie(()=>{const r=t.options,s=new Map;for(const i of r){const a=i._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const u of a){if(s.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);s.set(u,i)}}return s});e._zod.parse=(r,s)=>{const i=r.value;if(!ce(i))return r.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),r;const a=o.value.get(i?.[t.discriminator]);return a?a._zod.run(r,s):t.unionFallback||s.direction==="backward"?n(r,s):(r.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(o.value.keys()),input:i,path:[t.discriminator],inst:e}),r)}}),Br=d("$ZodIntersection",(e,t)=>{I.init(e,t),e._zod.parse=(n,o)=>{const r=n.value,s=t.left._zod.run({value:r,issues:[]},o),i=t.right._zod.run({value:r,issues:[]},o);return s instanceof Promise||i instanceof Promise?Promise.all([s,i]).then(([u,l])=>lt(n,u,l)):lt(n,s,i)}});function Me(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ne(e)&&ne(t)){const n=Object.keys(t),o=Object.keys(e).filter(s=>n.indexOf(s)!==-1),r={...e,...t};for(const s of o){const i=Me(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};r[s]=i.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<e.length;o++){const r=e[o],s=t[o],i=Me(r,s);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function lt(e,t,n){const o=new Map;let r;for(const a of t.issues)if(a.code==="unrecognized_keys"){r??(r=a);for(const u of a.keys)o.has(u)||o.set(u,{}),o.get(u).l=!0}else e.issues.push(a);for(const a of n.issues)if(a.code==="unrecognized_keys")for(const u of a.keys)o.has(u)||o.set(u,{}),o.get(u).r=!0;else e.issues.push(a);const s=[...o].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(s.length&&r&&e.issues.push({...r,keys:s}),H(e))return e;const i=Me(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}const Vr=d("$ZodRecord",(e,t)=>{I.init(e,t),e._zod.parse=(n,o)=>{const r=n.value;if(!ne(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;const s=[],i=t.keyType._zod.values;if(i){n.value={};const a=new Set;for(const l of i)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){a.add(typeof l=="number"?l.toString():l);const m=t.keyType._zod.run({value:l,issues:[]},o);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(m.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:m.issues.map(v=>V(v,o,B())),input:l,path:[l],inst:e});continue}const h=m.value,_=t.valueType._zod.run({value:r[l],issues:[]},o);_ instanceof Promise?s.push(_.then(v=>{v.issues.length&&n.issues.push(...Q(l,v.issues)),n.value[h]=v.value})):(_.issues.length&&n.issues.push(...Q(l,_.issues)),n.value[h]=_.value)}let u;for(const l in r)a.has(l)||(u=u??[],u.push(l));u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:u})}else{n.value={};for(const a of Reflect.ownKeys(r)){if(a==="__proto__"||!Object.prototype.propertyIsEnumerable.call(r,a))continue;let u=t.keyType._zod.run({value:a,issues:[]},o);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&Gt.test(a)&&u.issues.length){const h=t.keyType._zod.run({value:Number(a),issues:[]},o);if(h instanceof Promise)throw new Error("Async schemas not supported in object keys currently");h.issues.length===0&&(u=h)}if(u.issues.length){t.mode==="loose"?n.value[a]=r[a]:n.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(h=>V(h,o,B())),input:a,path:[a],inst:e});continue}const m=t.valueType._zod.run({value:r[a],issues:[]},o);m instanceof Promise?s.push(m.then(h=>{h.issues.length&&n.issues.push(...Q(a,h.issues)),n.value[u.value]=h.value})):(m.issues.length&&n.issues.push(...Q(a,m.issues)),n.value[u.value]=m.value)}}return s.length?Promise.all(s).then(()=>n):n}}),Jr=d("$ZodEnum",(e,t)=>{I.init(e,t);const n=jt(t.entries),o=new Set(n);e._zod.values=o,e._zod.pattern=new RegExp(`^(${n.filter(r=>Hn.has(typeof r)).map(r=>typeof r=="string"?oe(r):r.toString()).join("|")})$`),e._zod.parse=(r,s)=>{const i=r.value;return o.has(i)||r.issues.push({code:"invalid_value",values:n,input:i,inst:e}),r}}),qr=d("$ZodLiteral",(e,t)=>{if(I.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?oe(o):o?oe(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,r)=>{const s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),o}}),Gr=d("$ZodTransform",(e,t)=>{I.init(e,t),e._zod.optin="optional",e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new Ct(e.constructor.name);const r=t.transform(n.value,n);if(o.async)return(r instanceof Promise?r:Promise.resolve(r)).then(i=>(n.value=i,n.fallback=!0,n));if(r instanceof Promise)throw new ee;return n.value=r,n.fallback=!0,n}});function dt(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const nn=d("$ZodOptional",(e,t)=>{I.init(e,t),e._zod.optin="optional",e._zod.optout="optional",y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),y(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${qe(n.source)})?$`):void 0}),e._zod.parse=(n,o)=>{if(t.innerType._zod.optin==="optional"){const r=n.value,s=t.innerType._zod.run(n,o);return s instanceof Promise?s.then(i=>dt(i,r)):dt(s,r)}return n.value===void 0?n:t.innerType._zod.run(n,o)}}),Wr=d("$ZodExactOptional",(e,t)=>{nn.init(e,t),y(e._zod,"values",()=>t.innerType._zod.values),y(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,o)=>t.innerType._zod.run(n,o)}),Kr=d("$ZodNullable",(e,t)=>{I.init(e,t),y(e._zod,"optin",()=>t.innerType._zod.optin),y(e._zod,"optout",()=>t.innerType._zod.optout),y(e._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${qe(n.source)}|null)$`):void 0}),y(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,o)=>n.value===null?n:t.innerType._zod.run(n,o)}),Yr=d("$ZodDefault",(e,t)=>{I.init(e,t),e._zod.optin="optional",y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);if(n.value===void 0)return n.value=t.defaultValue,n;const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(s=>pt(s,t)):pt(r,t)}});function pt(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Xr=d("$ZodPrefault",(e,t)=>{I.init(e,t),e._zod.optin="optional",y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>(o.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,o))}),Hr=d("$ZodNonOptional",(e,t)=>{I.init(e,t),y(e._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),e._zod.parse=(n,o)=>{const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(s=>mt(s,e)):mt(r,e)}});function mt(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Qr=d("$ZodCatch",(e,t)=>{I.init(e,t),e._zod.optin="optional",y(e._zod,"optout",()=>t.innerType._zod.optout),y(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(s=>(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(i=>V(i,o,B()))},input:n.value}),n.issues=[],n.fallback=!0),n)):(n.value=r.value,r.issues.length&&(n.value=t.catchValue({...n,error:{issues:r.issues.map(s=>V(s,o,B()))},input:n.value}),n.issues=[],n.fallback=!0),n)}}),ei=d("$ZodPipe",(e,t)=>{I.init(e,t),y(e._zod,"values",()=>t.in._zod.values),y(e._zod,"optin",()=>t.in._zod.optin),y(e._zod,"optout",()=>t.out._zod.optout),y(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,o)=>{if(o.direction==="backward"){const s=t.out._zod.run(n,o);return s instanceof Promise?s.then(i=>he(i,t.in,o)):he(s,t.in,o)}const r=t.in._zod.run(n,o);return r instanceof Promise?r.then(s=>he(s,t.out,o)):he(r,t.out,o)}});function he(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}const ti=d("$ZodReadonly",(e,t)=>{I.init(e,t),y(e._zod,"propValues",()=>t.innerType._zod.propValues),y(e._zod,"values",()=>t.innerType._zod.values),y(e._zod,"optin",()=>t.innerType?._zod?.optin),y(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const r=t.innerType._zod.run(n,o);return r instanceof Promise?r.then(ft):ft(r)}});function ft(e){return e.value=Object.freeze(e.value),e}const ni=d("$ZodLazy",(e,t)=>{I.init(e,t),y(e._zod,"innerType",()=>{const n=t;return n._cachedInner||(n._cachedInner=t.getter()),n._cachedInner}),y(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),y(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),y(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),y(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,o)=>e._zod.innerType._zod.run(n,o)}),oi=d("$ZodCustom",(e,t)=>{j.init(e,t),I.init(e,t),e._zod.parse=(n,o)=>n,e._zod.check=n=>{const o=n.value,r=t.fn(o);if(r instanceof Promise)return r.then(s=>ht(s,n,o,e));ht(r,n,o,e)}});function ht(e,t,n,o){if(!e){const r={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(r.params=o._zod.def.params),t.issues.push(ue(r))}}var gt;class ri{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const o=n[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const o={...this.get(n)??{}};delete o.id;const r={...o,...this._map.get(t)};return Object.keys(r).length?r:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function ii(){return new ri}(gt=globalThis).__zod_globalRegistry??(gt.__zod_globalRegistry=ii());const ae=globalThis.__zod_globalRegistry;function si(e,t){return new e({type:"string",...g(t)})}function ai(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...g(t)})}function vt(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...g(t)})}function ci(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...g(t)})}function ui(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(t)})}function li(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(t)})}function di(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(t)})}function pi(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...g(t)})}function mi(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...g(t)})}function fi(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(t)})}function hi(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...g(t)})}function gi(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(t)})}function vi(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...g(t)})}function _i(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...g(t)})}function bi(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(t)})}function wi(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(t)})}function yi(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(t)})}function ki(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(t)})}function Si(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(t)})}function zi(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...g(t)})}function Ii(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...g(t)})}function Ti(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...g(t)})}function xi(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...g(t)})}function Ei(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(t)})}function $i(e,t){return new e({type:"string",format:"date",check:"string_format",...g(t)})}function Oi(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...g(t)})}function Ri(e,t){return new e({type:"string",format:"duration",check:"string_format",...g(t)})}function Zi(e,t){return new e({type:"number",checks:[],...g(t)})}function Pi(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...g(t)})}function Ai(e,t){return new e({type:"boolean",...g(t)})}function Ni(e,t){return new e({type:"null",...g(t)})}function Di(e){return new e({type:"unknown"})}function Ci(e,t){return new e({type:"never",...g(t)})}function _t(e,t){return new Kt({check:"less_than",...g(t),value:e,inclusive:!1})}function Ae(e,t){return new Kt({check:"less_than",...g(t),value:e,inclusive:!0})}function bt(e,t){return new Yt({check:"greater_than",...g(t),value:e,inclusive:!1})}function Ne(e,t){return new Yt({check:"greater_than",...g(t),value:e,inclusive:!0})}function wt(e,t){return new Ko({check:"multiple_of",...g(t),value:e})}function on(e,t){return new Xo({check:"max_length",...g(t),maximum:e})}function ke(e,t){return new Ho({check:"min_length",...g(t),minimum:e})}function rn(e,t){return new Qo({check:"length_equals",...g(t),length:e})}function ji(e,t){return new er({check:"string_format",format:"regex",...g(t),pattern:e})}function Li(e){return new tr({check:"string_format",format:"lowercase",...g(e)})}function Mi(e){return new nr({check:"string_format",format:"uppercase",...g(e)})}function Ui(e,t){return new or({check:"string_format",format:"includes",...g(t),includes:e})}function Fi(e,t){return new rr({check:"string_format",format:"starts_with",...g(t),prefix:e})}function Bi(e,t){return new ir({check:"string_format",format:"ends_with",...g(t),suffix:e})}function re(e){return new sr({check:"overwrite",tx:e})}function Vi(e){return re(t=>t.normalize(e))}function Ji(){return re(e=>e.trim())}function qi(){return re(e=>e.toLowerCase())}function Gi(){return re(e=>e.toUpperCase())}function Wi(){return re(e=>Yn(e))}function Ki(e,t,n){return new e({type:"array",element:t,...g(n)})}function Yi(e,t,n){return new e({type:"custom",check:"custom",fn:t,...g(n)})}function Xi(e,t){const n=Hi(o=>(o.addIssue=r=>{if(typeof r=="string")o.issues.push(ue(r,o.value,n._zod.def));else{const s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=o.value),s.inst??(s.inst=n),s.continue??(s.continue=!n._zod.def.abort),o.issues.push(ue(s))}},e(o.value,o)),t);return n}function Hi(e,t){const n=new j({check:"custom",...g(t)});return n._zod.check=e,n}function sn(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ae,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function R(e,t,n={path:[],schemaPath:[]}){var o;const r=e._zod.def,s=t.seen.get(e);if(s)return s.count++,n.schemaPath.includes(e)&&(s.cycle=n.path),s.schema;const i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);const a=e._zod.toJSONSchema?.();if(a)i.schema=a;else{const m={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,m);else{const _=i.schema,v=t.processors[r.type];if(!v)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${r.type}`);v(e,t,_,m)}const h=e._zod.parent;h&&(i.ref||(i.ref=h),R(h,t,m),t.seen.get(h).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&Object.assign(i.schema,u),t.io==="input"&&C(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&"_prefault"in i.schema&&((o=i.schema).default??(o.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function an(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const i of e.seen.entries()){const a=e.metadataRegistry.get(i[0])?.id;if(a){const u=o.get(a);if(u&&u!==i[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(a,i[0])}}const r=i=>{const a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const h=e.external.registry.get(i[0])?.id,_=e.external.uri??(z=>z);if(h)return{ref:_(h)};const v=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=v,{defId:v,ref:`${_("__shared")}#/${a}/${v}`}}if(i[1]===n)return{ref:"#"};const l=`#/${a}/`,m=i[1].schema.id??`__schema${e.counter++}`;return{defId:m,ref:l+m}},s=i=>{if(i[1].schema.$ref)return;const a=i[1],{ref:u,defId:l}=r(i);a.def={...a.schema},l&&(a.defId=l);const m=a.schema;for(const h in m)delete m[h];m.$ref=u};if(e.cycles==="throw")for(const i of e.seen.entries()){const a=i[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
63
+
64
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const i of e.seen.entries()){const a=i[1];if(t===i[0]){s(i);continue}if(e.external){const l=e.external.registry.get(i[0])?.id;if(t!==i[0]&&l){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}if(a.count>1&&e.reused==="ref"){s(i);continue}}}function cn(e,t){const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const u=e.seen.get(a);if(u.ref===null)return;const l=u.def??u.schema,m={...l},h=u.ref;if(u.ref=null,h){o(h);const v=e.seen.get(h),z=v.schema;if(z.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(z)):Object.assign(l,z),Object.assign(l,m),a._zod.parent===h)for(const Z in l)Z==="$ref"||Z==="allOf"||Z in m||delete l[Z];if(z.$ref&&v.def)for(const Z in l)Z==="$ref"||Z==="allOf"||Z in v.def&&JSON.stringify(l[Z])===JSON.stringify(v.def[Z])&&delete l[Z]}const _=a._zod.parent;if(_&&_!==h){o(_);const v=e.seen.get(_);if(v?.schema.$ref&&(l.$ref=v.schema.$ref,v.def))for(const z in l)z==="$ref"||z==="allOf"||z in v.def&&JSON.stringify(l[z])===JSON.stringify(v.def[z])&&delete l[z]}e.override({zodSchema:a,jsonSchema:l,path:u.path??[]})};for(const a of[...e.seen.entries()].reverse())o(a[0]);const r={};if(e.target==="draft-2020-12"?r.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?r.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(a)}Object.assign(r,n.def??n.schema);const s=e.metadataRegistry.get(t)?.id;s!==void 0&&r.id===s&&delete r.id;const i=e.external?.defs??{};for(const a of e.seen.entries()){const u=a[1];u.def&&u.defId&&(u.def.id===u.defId&&delete u.def.id,i[u.defId]=u.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?r.$defs=i:r.definitions=i);try{const a=JSON.parse(JSON.stringify(r));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Se(t,"input",e.processors),output:Se(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function C(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return C(o.element,n);if(o.type==="set")return C(o.valueType,n);if(o.type==="lazy")return C(o.getter(),n);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return C(o.innerType,n);if(o.type==="intersection")return C(o.left,n)||C(o.right,n);if(o.type==="record"||o.type==="map")return C(o.keyType,n)||C(o.valueType,n);if(o.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:C(o.in,n)||C(o.out,n);if(o.type==="object"){for(const r in o.shape)if(C(o.shape[r],n))return!0;return!1}if(o.type==="union"){for(const r of o.options)if(C(r,n))return!0;return!1}if(o.type==="tuple"){for(const r of o.items)if(C(r,n))return!0;return!!(o.rest&&C(o.rest,n))}return!1}const Qi=(e,t={})=>n=>{const o=sn({...n,processors:t});return R(e,o),an(o,e),cn(o,e)},Se=(e,t,n={})=>o=>{const{libraryOptions:r,target:s}=o??{},i=sn({...r??{},target:s,io:t,processors:n});return R(e,i),an(i,e),cn(i,e)},es={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},ts=(e,t,n,o)=>{const r=n;r.type="string";const{minimum:s,maximum:i,format:a,patterns:u,contentEncoding:l}=e._zod.bag;if(typeof s=="number"&&(r.minLength=s),typeof i=="number"&&(r.maxLength=i),a&&(r.format=es[a]??a,r.format===""&&delete r.format,a==="time"&&delete r.format),l&&(r.contentEncoding=l),u&&u.size>0){const m=[...u];m.length===1?r.pattern=m[0].source:m.length>1&&(r.allOf=[...m.map(h=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:h.source}))])}},ns=(e,t,n,o)=>{const r=n,{minimum:s,maximum:i,format:a,multipleOf:u,exclusiveMaximum:l,exclusiveMinimum:m}=e._zod.bag;typeof a=="string"&&a.includes("int")?r.type="integer":r.type="number";const h=typeof m=="number"&&m>=(s??Number.NEGATIVE_INFINITY),_=typeof l=="number"&&l<=(i??Number.POSITIVE_INFINITY),v=t.target==="draft-04"||t.target==="openapi-3.0";h?v?(r.minimum=m,r.exclusiveMinimum=!0):r.exclusiveMinimum=m:typeof s=="number"&&(r.minimum=s),_?v?(r.maximum=l,r.exclusiveMaximum=!0):r.exclusiveMaximum=l:typeof i=="number"&&(r.maximum=i),typeof u=="number"&&(r.multipleOf=u)},os=(e,t,n,o)=>{n.type="boolean"},rs=(e,t,n,o)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},is=(e,t,n,o)=>{n.not={}},ss=(e,t,n,o)=>{},as=(e,t,n,o)=>{const r=e._zod.def,s=jt(r.entries);s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),n.enum=s},cs=(e,t,n,o)=>{const r=e._zod.def,s=[];for(const i of r.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(i))}else s.push(i);if(s.length!==0)if(s.length===1){const i=s[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else s.every(i=>typeof i=="number")&&(n.type="number"),s.every(i=>typeof i=="string")&&(n.type="string"),s.every(i=>typeof i=="boolean")&&(n.type="boolean"),s.every(i=>i===null)&&(n.type="null"),n.enum=s},us=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},ls=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},ds=(e,t,n,o)=>{const r=n,s=e._zod.def,{minimum:i,maximum:a}=e._zod.bag;typeof i=="number"&&(r.minItems=i),typeof a=="number"&&(r.maxItems=a),r.type="array",r.items=R(s.element,t,{...o,path:[...o.path,"items"]})},ps=(e,t,n,o)=>{const r=n,s=e._zod.def;r.type="object",r.properties={};const i=s.shape;for(const l in i)r.properties[l]=R(i[l],t,{...o,path:[...o.path,"properties",l]});const a=new Set(Object.keys(i)),u=new Set([...a].filter(l=>{const m=s.shape[l]._zod;return t.io==="input"?m.optin===void 0:m.optout===void 0}));u.size>0&&(r.required=Array.from(u)),s.catchall?._zod.def.type==="never"?r.additionalProperties=!1:s.catchall?s.catchall&&(r.additionalProperties=R(s.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(r.additionalProperties=!1)},ms=(e,t,n,o)=>{const r=e._zod.def,s=r.inclusive===!1,i=r.options.map((a,u)=>R(a,t,{...o,path:[...o.path,s?"oneOf":"anyOf",u]}));s?n.oneOf=i:n.anyOf=i},fs=(e,t,n,o)=>{const r=e._zod.def,s=R(r.left,t,{...o,path:[...o.path,"allOf",0]}),i=R(r.right,t,{...o,path:[...o.path,"allOf",1]}),a=l=>"allOf"in l&&Object.keys(l).length===1,u=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];n.allOf=u},hs=(e,t,n,o)=>{const r=n,s=e._zod.def;r.type="object";const i=s.keyType,u=i._zod.bag?.patterns;if(s.mode==="loose"&&u&&u.size>0){const m=R(s.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});r.patternProperties={};for(const h of u)r.patternProperties[h.source]=m}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(r.propertyNames=R(s.keyType,t,{...o,path:[...o.path,"propertyNames"]})),r.additionalProperties=R(s.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const l=i._zod.values;if(l){const m=[...l].filter(h=>typeof h=="string"||typeof h=="number");m.length>0&&(r.required=m)}},gs=(e,t,n,o)=>{const r=e._zod.def,s=R(r.innerType,t,o),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=r.innerType,n.nullable=!0):n.anyOf=[s,{type:"null"}]},vs=(e,t,n,o)=>{const r=e._zod.def;R(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType},_s=(e,t,n,o)=>{const r=e._zod.def;R(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))},bs=(e,t,n,o)=>{const r=e._zod.def;R(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))},ws=(e,t,n,o)=>{const r=e._zod.def;R(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType;let i;try{i=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},ys=(e,t,n,o)=>{const r=e._zod.def,s=r.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?r.out:r.in:r.out;R(i,t,o);const a=t.seen.get(e);a.ref=i},ks=(e,t,n,o)=>{const r=e._zod.def;R(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType,n.readOnly=!0},un=(e,t,n,o)=>{const r=e._zod.def;R(r.innerType,t,o);const s=t.seen.get(e);s.ref=r.innerType},Ss=(e,t,n,o)=>{const r=e._zod.innerType;R(r,t,o);const s=t.seen.get(e);s.ref=r},zs=d("ZodISODateTime",(e,t)=>{wr.init(e,t),E.init(e,t)});function Is(e){return Ei(zs,e)}const Ts=d("ZodISODate",(e,t)=>{yr.init(e,t),E.init(e,t)});function xs(e){return $i(Ts,e)}const Es=d("ZodISOTime",(e,t)=>{kr.init(e,t),E.init(e,t)});function $s(e){return Oi(Es,e)}const Os=d("ZodISODuration",(e,t)=>{Sr.init(e,t),E.init(e,t)});function Rs(e){return Ri(Os,e)}const Zs=(e,t)=>{Ft.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>lo(e,n)},flatten:{value:n=>uo(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Le,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Le,2)}},isEmpty:{get(){return e.issues.length===0}}})},L=d("ZodError",Zs,{Parent:Error}),Ps=We(L),As=Ke(L),Ns=Te(L),Ds=xe(L),Cs=fo(L),js=ho(L),Ls=go(L),Ms=vo(L),Us=_o(L),Fs=bo(L),Bs=wo(L),Vs=yo(L),yt=new WeakMap;function le(e,t,n){const o=Object.getPrototypeOf(e);let r=yt.get(o);if(r||(r=new Set,yt.set(o,r)),!r.has(t)){r.add(t);for(const s in n){const i=n[s];Object.defineProperty(o,s,{configurable:!0,enumerable:!1,get(){const a=i.bind(this);return Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a}),a},set(a){Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:a})}})}}}const T=d("ZodType",(e,t)=>(I.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Se(e,"input"),output:Se(e,"output")}}),e.toJSONSchema=Qi(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,o)=>Ps(e,n,o,{callee:e.parse}),e.safeParse=(n,o)=>Ns(e,n,o),e.parseAsync=async(n,o)=>As(e,n,o,{callee:e.parseAsync}),e.safeParseAsync=async(n,o)=>Ds(e,n,o),e.spa=e.safeParseAsync,e.encode=(n,o)=>Cs(e,n,o),e.decode=(n,o)=>js(e,n,o),e.encodeAsync=async(n,o)=>Ls(e,n,o),e.decodeAsync=async(n,o)=>Ms(e,n,o),e.safeEncode=(n,o)=>Us(e,n,o),e.safeDecode=(n,o)=>Fs(e,n,o),e.safeEncodeAsync=async(n,o)=>Bs(e,n,o),e.safeDecodeAsync=async(n,o)=>Vs(e,n,o),le(e,"ZodType",{check(...n){const o=this.def;return this.clone(q(o,{checks:[...o.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,o){return G(this,n,o)},brand(){return this},register(n,o){return n.add(this,o),this},refine(n,o){return this.check(La(n,o))},superRefine(n,o){return this.check(Ma(n,o))},overwrite(n){return this.check(re(n))},optional(){return It(this)},exactOptional(){return za(this)},nullable(){return Tt(this)},nullish(){return It(Tt(this))},nonoptional(n){return Oa(this,n)},array(){return P(this)},or(n){return Y([this,n])},and(n){return ba(this,n)},transform(n){return xt(this,ka(n))},default(n){return xa(this,n)},prefault(n){return $a(this,n)},catch(n){return Za(this,n)},pipe(n){return xt(this,n)},readonly(){return Na(this)},describe(n){const o=this.clone();return ae.add(o,{description:n}),o},meta(...n){if(n.length===0)return ae.get(this);const o=this.clone();return ae.add(o,n[0]),o},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return ae.get(e)?.description},configurable:!0}),e)),ln=d("_ZodString",(e,t)=>{Ye.init(e,t),T.init(e,t),e._zod.processJSONSchema=(o,r,s)=>ts(e,o,r);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,le(e,"_ZodString",{regex(...o){return this.check(ji(...o))},includes(...o){return this.check(Ui(...o))},startsWith(...o){return this.check(Fi(...o))},endsWith(...o){return this.check(Bi(...o))},min(...o){return this.check(ke(...o))},max(...o){return this.check(on(...o))},length(...o){return this.check(rn(...o))},nonempty(...o){return this.check(ke(1,...o))},lowercase(o){return this.check(Li(o))},uppercase(o){return this.check(Mi(o))},trim(){return this.check(Ji())},normalize(...o){return this.check(Vi(...o))},toLowerCase(){return this.check(qi())},toUpperCase(){return this.check(Gi())},slugify(){return this.check(Wi())}})}),Js=d("ZodString",(e,t)=>{Ye.init(e,t),ln.init(e,t),e.email=n=>e.check(ai(qs,n)),e.url=n=>e.check(pi(Gs,n)),e.jwt=n=>e.check(xi(ca,n)),e.emoji=n=>e.check(mi(Ws,n)),e.guid=n=>e.check(vt(kt,n)),e.uuid=n=>e.check(ci(ge,n)),e.uuidv4=n=>e.check(ui(ge,n)),e.uuidv6=n=>e.check(li(ge,n)),e.uuidv7=n=>e.check(di(ge,n)),e.nanoid=n=>e.check(fi(Ks,n)),e.guid=n=>e.check(vt(kt,n)),e.cuid=n=>e.check(hi(Ys,n)),e.cuid2=n=>e.check(gi(Xs,n)),e.ulid=n=>e.check(vi(Hs,n)),e.base64=n=>e.check(zi(ia,n)),e.base64url=n=>e.check(Ii(sa,n)),e.xid=n=>e.check(_i(Qs,n)),e.ksuid=n=>e.check(bi(ea,n)),e.ipv4=n=>e.check(wi(ta,n)),e.ipv6=n=>e.check(yi(na,n)),e.cidrv4=n=>e.check(ki(oa,n)),e.cidrv6=n=>e.check(Si(ra,n)),e.e164=n=>e.check(Ti(aa,n)),e.datetime=n=>e.check(Is(n)),e.date=n=>e.check(xs(n)),e.time=n=>e.check($s(n)),e.duration=n=>e.check(Rs(n))});function c(e){return si(Js,e)}const E=d("ZodStringFormat",(e,t)=>{x.init(e,t),ln.init(e,t)}),qs=d("ZodEmail",(e,t)=>{dr.init(e,t),E.init(e,t)}),kt=d("ZodGUID",(e,t)=>{ur.init(e,t),E.init(e,t)}),ge=d("ZodUUID",(e,t)=>{lr.init(e,t),E.init(e,t)}),Gs=d("ZodURL",(e,t)=>{pr.init(e,t),E.init(e,t)}),Ws=d("ZodEmoji",(e,t)=>{mr.init(e,t),E.init(e,t)}),Ks=d("ZodNanoID",(e,t)=>{fr.init(e,t),E.init(e,t)}),Ys=d("ZodCUID",(e,t)=>{hr.init(e,t),E.init(e,t)}),Xs=d("ZodCUID2",(e,t)=>{gr.init(e,t),E.init(e,t)}),Hs=d("ZodULID",(e,t)=>{vr.init(e,t),E.init(e,t)}),Qs=d("ZodXID",(e,t)=>{_r.init(e,t),E.init(e,t)}),ea=d("ZodKSUID",(e,t)=>{br.init(e,t),E.init(e,t)}),ta=d("ZodIPv4",(e,t)=>{zr.init(e,t),E.init(e,t)}),na=d("ZodIPv6",(e,t)=>{Ir.init(e,t),E.init(e,t)}),oa=d("ZodCIDRv4",(e,t)=>{Tr.init(e,t),E.init(e,t)}),ra=d("ZodCIDRv6",(e,t)=>{xr.init(e,t),E.init(e,t)}),ia=d("ZodBase64",(e,t)=>{Er.init(e,t),E.init(e,t)}),sa=d("ZodBase64URL",(e,t)=>{Or.init(e,t),E.init(e,t)}),aa=d("ZodE164",(e,t)=>{Rr.init(e,t),E.init(e,t)}),ca=d("ZodJWT",(e,t)=>{Pr.init(e,t),E.init(e,t)}),dn=d("ZodNumber",(e,t)=>{Ht.init(e,t),T.init(e,t),e._zod.processJSONSchema=(o,r,s)=>ns(e,o,r),le(e,"ZodNumber",{gt(o,r){return this.check(bt(o,r))},gte(o,r){return this.check(Ne(o,r))},min(o,r){return this.check(Ne(o,r))},lt(o,r){return this.check(_t(o,r))},lte(o,r){return this.check(Ae(o,r))},max(o,r){return this.check(Ae(o,r))},int(o){return this.check(St(o))},safe(o){return this.check(St(o))},positive(o){return this.check(bt(0,o))},nonnegative(o){return this.check(Ne(0,o))},negative(o){return this.check(_t(0,o))},nonpositive(o){return this.check(Ae(0,o))},multipleOf(o,r){return this.check(wt(o,r))},step(o,r){return this.check(wt(o,r))},finite(){return this}});const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function f(e){return Zi(dn,e)}const ua=d("ZodNumberFormat",(e,t)=>{Ar.init(e,t),dn.init(e,t)});function St(e){return Pi(ua,e)}const la=d("ZodBoolean",(e,t)=>{Nr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>os(e,n,o)});function S(e){return Ai(la,e)}const da=d("ZodNull",(e,t)=>{Dr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>rs(e,n,o)});function pn(e){return Ni(da,e)}const pa=d("ZodUnknown",(e,t)=>{Cr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ss()});function J(){return Di(pa)}const ma=d("ZodNever",(e,t)=>{jr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>is(e,n,o)});function fa(e){return Ci(ma,e)}const ha=d("ZodArray",(e,t)=>{Lr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ds(e,n,o,r),e.element=t.element,le(e,"ZodArray",{min(n,o){return this.check(ke(n,o))},nonempty(n){return this.check(ke(1,n))},max(n,o){return this.check(on(n,o))},length(n,o){return this.check(rn(n,o))},unwrap(){return this.element}})});function P(e,t){return Ki(ha,e,t)}const ga=d("ZodObject",(e,t)=>{Ur.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ps(e,n,o,r),y(e,"shape",()=>t.shape),le(e,"ZodObject",{keyof(){return k(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:J()})},loose(){return this.clone({...this._zod.def,catchall:J()})},strict(){return this.clone({...this._zod.def,catchall:fa()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return oo(this,n)},safeExtend(n){return ro(this,n)},merge(n){return io(this,n)},pick(n){return to(this,n)},omit(n){return no(this,n)},partial(...n){return so(fn,this,n[0])},required(...n){return ao(hn,this,n[0])}})});function p(e,t){const n={type:"object",shape:e??{},...g(t)};return new ga(n)}const mn=d("ZodUnion",(e,t)=>{tn.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ms(e,n,o,r),e.options=t.options});function Y(e,t){return new mn({type:"union",options:e,...g(t)})}const va=d("ZodDiscriminatedUnion",(e,t)=>{mn.init(e,t),Fr.init(e,t)});function de(e,t,n){return new va({type:"union",options:t,discriminator:e,...g(n)})}const _a=d("ZodIntersection",(e,t)=>{Br.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>fs(e,n,o,r)});function ba(e,t){return new _a({type:"intersection",left:e,right:t})}const zt=d("ZodRecord",(e,t)=>{Vr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>hs(e,n,o,r),e.keyType=t.keyType,e.valueType=t.valueType});function $e(e,t,n){return!t||!t._zod?new zt({type:"record",keyType:c(),valueType:e,...g(t)}):new zt({type:"record",keyType:e,valueType:t,...g(n)})}const Ue=d("ZodEnum",(e,t)=>{Jr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(o,r,s)=>as(e,o,r),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(o,r)=>{const s={};for(const i of o)if(n.has(i))s[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new Ue({...t,checks:[],...g(r),entries:s})},e.exclude=(o,r)=>{const s={...t.entries};for(const i of o)if(n.has(i))delete s[i];else throw new Error(`Key ${i} not found in enum`);return new Ue({...t,checks:[],...g(r),entries:s})}});function k(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new Ue({type:"enum",entries:n,...g(t)})}const wa=d("ZodLiteral",(e,t)=>{qr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>cs(e,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function b(e,t){return new wa({type:"literal",values:Array.isArray(e)?e:[e],...g(t)})}const ya=d("ZodTransform",(e,t)=>{Gr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ls(e,n),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new Ct(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(ue(s,n.value,t));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(ue(i))}};const r=t.transform(n.value,n);return r instanceof Promise?r.then(s=>(n.value=s,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});function ka(e){return new ya({type:"transform",transform:e})}const fn=d("ZodOptional",(e,t)=>{nn.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>un(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function It(e){return new fn({type:"optional",innerType:e})}const Sa=d("ZodExactOptional",(e,t)=>{Wr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>un(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function za(e){return new Sa({type:"optional",innerType:e})}const Ia=d("ZodNullable",(e,t)=>{Kr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>gs(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function Tt(e){return new Ia({type:"nullable",innerType:e})}const Ta=d("ZodDefault",(e,t)=>{Yr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>_s(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function xa(e,t){return new Ta({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Mt(t)}})}const Ea=d("ZodPrefault",(e,t)=>{Xr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>bs(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function $a(e,t){return new Ea({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Mt(t)}})}const hn=d("ZodNonOptional",(e,t)=>{Hr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>vs(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function Oa(e,t){return new hn({type:"nonoptional",innerType:e,...g(t)})}const Ra=d("ZodCatch",(e,t)=>{Qr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ws(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Za(e,t){return new Ra({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const Pa=d("ZodPipe",(e,t)=>{ei.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ys(e,n,o,r),e.in=t.in,e.out=t.out});function xt(e,t){return new Pa({type:"pipe",in:e,out:t})}const Aa=d("ZodReadonly",(e,t)=>{ti.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ks(e,n,o,r),e.unwrap=()=>e._zod.def.innerType});function Na(e){return new Aa({type:"readonly",innerType:e})}const Da=d("ZodLazy",(e,t)=>{ni.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Ss(e,n,o,r),e.unwrap=()=>e._zod.def.getter()});function Ca(e){return new Da({type:"lazy",getter:e})}const ja=d("ZodCustom",(e,t)=>{oi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(n,o,r)=>us(e,n)});function La(e,t={}){return Yi(ja,e,t)}function Ma(e,t){return Xi(e,t)}const Ua=k(["cli","native-host","extension","content-script"]);k(["cli-to-host","host-to-extension","extension-to-content-script"]);const Fa=["mvp","prototype-gated","deferred","unsupported"],Ba=k(Fa),Va=k(["INVALID_JSON","INVALID_ENVELOPE","INVALID_RESPONSE","VERSION_MISMATCH","UNKNOWN_COMMAND","UNSUPPORTED_CAPABILITY","NOT_APPROVED","EXTENSION_NOT_CONNECTED","NATIVE_HOST_UNAVAILABLE","PAIRING_MISMATCH","PERMISSION_DENIED","NO_ACTIVE_TAB","INVALID_TARGET","NAVIGATION_FAILED","SCRIPT_INJECTION_FAILED","SELECTOR_NOT_FOUND","REF_NOT_FOUND","OUTPUT_TOO_LARGE","TIMEOUT","ELEMENT_NOT_VISIBLE","ELEMENT_DISABLED","NOT_EDITABLE","ACTION_REJECTED","NO_FOCUSED_ELEMENT","INVALID_KEY","OPTION_NOT_FOUND","EVAL_ERROR","SERIALIZATION_FAILED","UNSUPPORTED_EXECUTION_WORLD","RESULT_TOO_LARGE","CAPTURE_FAILED","FILE_WRITE_FAILED"]),Ja=p({code:Va,message:c().min(1),details:$e(c(),J()).optional()}),qa=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u;function gn(e){if(e.length===0||e.length%4!==0||!qa.test(e))return null;const t=e.endsWith("==")?2:e.endsWith("=")?1:0;return e.length/4*3-t}const Ga=p({command:c().min(1),status:Ba,reason:c().min(1).optional()}),vn=p({component:Ua,productName:b(Wn),productVersion:c().min(1),protocolMin:f().int().positive(),protocolMax:f().int().positive(),features:P(c().min(1)).default([])}).superRefine((e,t)=>{e.protocolMin>e.protocolMax&&t.addIssue({code:"custom",message:"protocolMin cannot be greater than protocolMax.",path:["protocolMin"]})}),Wa=vn.extend({pairToken:c().min(1).optional()}),Ka=p({accepted:b(!0),negotiatedProtocolVersion:f().int().positive(),peer:vn,pairing:p({hostId:c().min(1),extensionId:c().min(1),approved:S(),status:k(["approved","not-approved","invalid-pair-state"]).optional(),message:c().min(1).optional(),generation:f().int().positive().optional()}).strict().superRefine((e,t)=>{e.approved&&e.status!==void 0&&e.status!=="approved"&&t.addIssue({code:"custom",message:"Approved pairing cannot have an invalid or not-approved status.",path:["status"]}),!e.approved&&e.status==="approved"&&t.addIssue({code:"custom",message:"Unapproved pairing cannot have approved status.",path:["status"]}),e.status==="invalid-pair-state"&&e.message===void 0&&t.addIssue({code:"custom",message:"Invalid pair-state status requires a message.",path:["message"]})}).optional()}).superRefine((e,t)=>{tc(e.negotiatedProtocolVersion,e.peer)||t.addIssue({code:"custom",message:"Negotiated protocol version must be within the peer protocol range.",path:["negotiatedProtocolVersion"]})}),Ya=p({}).strict(),Xa=p({ok:b(!0)}),Ha=p({}).strict(),Qa=p({capabilities:P(Ga)});function ec(e){return new TextEncoder().encode(e).byteLength}function tc(e,t){return e>=t.protocolMin&&e<=t.protocolMax}const nc=p({id:f().int(),index:f().int().nonnegative(),active:S(),title:c().optional(),url:c().optional(),windowId:f().int(),private:S().optional(),cookieStoreId:c().optional()}).strict(),w=p({window:Y([p({kind:b("active")}).strict(),p({kind:b("id"),id:f().int()}).strict(),p({kind:b("index"),index:f().int().nonnegative()}).strict()]).optional(),tab:Y([p({kind:b("active")}).strict(),p({kind:b("id"),id:f().int()}).strict(),p({kind:b("index"),index:f().int().nonnegative()}).strict()]).optional()}).strict(),D=p({windowId:f().int(),windowIndex:f().int().nonnegative(),tabId:f().int(),tabIndex:f().int().nonnegative(),title:c().optional(),url:c().optional(),private:S().optional(),cookieStoreId:c().optional()}).strict(),Oe=p({id:f().int(),index:f().int().nonnegative(),focused:S(),activeTabId:f().int().optional(),tabCount:f().int().nonnegative(),private:S().optional(),left:f().int().optional(),top:f().int().optional(),width:f().int().positive().optional(),height:f().int().positive().optional()}).strict(),oc=p({target:w.optional()}).strict(),rc=p({target:D.optional(),tabs:P(nc)}),ic=p({url:c().min(1).optional(),target:w.optional()}).strict(),Et=p({target:w}).strict(),$t=p({target:D}),sc=p({closedTabId:f().int(),nextActiveTabId:f().int().optional()}),ac=p({}).strict(),cc=p({windows:P(Oe)}),uc=p({url:c().min(1).optional()}).strict(),Ot=p({target:w}).strict(),lc=p({window:Oe,target:D.optional()}),dc=p({window:Oe,target:D.optional()}),pc=p({closedWindowId:f().int()}),mc=p({url:c().min(1),newTab:S().default(!1),target:w.optional()}).strict(),De=p({target:w.optional()}).strict(),ve=p({target:D,url:c().optional(),loadState:k(["unknown","complete"]).optional()});function _n(e,t,n){e.selector===void 0==(e.ref===void 0)&&t.addIssue({code:"custom",message:n,path:["selector"]}),Xe(e,t)}function Xe(e,t){e.ref===void 0&&e.generationId!==void 0&&t.addIssue({code:"custom",message:"Generation IDs apply only to refs.",path:["generationId"]})}function fc(e,t){e.kind==="title"||e.kind==="url"?bn(e,t,`${e.kind} does not accept an element selector or ref.`):_n(e,t,"Element getters require exactly one selector or ref."),e.kind==="attr"&&e.attribute===void 0&&t.addIssue({code:"custom",message:"Attribute getters require an attribute name.",path:["attribute"]}),e.kind!=="attr"&&e.attribute!==void 0&&t.addIssue({code:"custom",message:"Only attr getters accept an attribute name.",path:["attribute"]}),Xe(e,t)}function hc(e,t){gc(e,t),vc(e,t),Sc(e,t),Xe(e,t)}function bn(e,t,n){(e.selector!==void 0||e.ref!==void 0)&&t.addIssue({code:"custom",message:n,path:e.selector===void 0?["ref"]:["selector"]})}function gc(e,t){const n=[{invalid:e.kind==="ms"&&e.durationMs===void 0,message:"Duration waits require durationMs.",path:["durationMs"]},{invalid:e.kind==="element"&&e.selector===void 0==(e.ref===void 0),message:"Element waits require exactly one selector or ref.",path:["selector"]},{invalid:e.kind==="text"&&e.text===void 0,message:"Text waits require text.",path:["text"]},{invalid:e.kind==="url"&&e.urlGlob===void 0,message:"URL waits require urlGlob.",path:["urlGlob"]},{invalid:e.kind==="function"&&e.expression===void 0,message:"Function waits require expression.",path:["expression"]}];for(const o of n)o.invalid&&t.addIssue({code:"custom",message:o.message,path:[...o.path]})}function vc(e,t){_c(e,t),bc(e,t),wc(e,t),yc(e,t),kc(e,t),e.kind!=="element"&&bn(e,t,"Only element waits accept selector or ref.")}function _c(e,t){e.kind!=="ms"&&e.durationMs!==void 0&&t.addIssue({code:"custom",message:"Only duration waits accept durationMs.",path:["durationMs"]})}function bc(e,t){e.kind!=="text"&&e.text!==void 0&&t.addIssue({code:"custom",message:"Only text waits accept text.",path:["text"]})}function wc(e,t){e.kind!=="url"&&e.urlGlob!==void 0&&t.addIssue({code:"custom",message:"Only URL waits accept urlGlob.",path:["urlGlob"]})}function yc(e,t){e.kind!=="function"&&e.expression!==void 0&&t.addIssue({code:"custom",message:"Only function waits accept expression.",path:["expression"]})}function kc(e,t){e.kind!=="download"&&(e.downloadId!==void 0||e.filenameGlob!==void 0)&&t.addIssue({code:"custom",message:"Only download waits accept download criteria.",path:e.downloadId===void 0?["filenameGlob"]:["downloadId"]})}function Sc(e,t){zc(e,t),Ic(e,t),Tc(e,t)}function zc(e,t){e.kind==="element"&&e.state!==void 0&&e.state!=="visible"&&e.state!=="hidden"&&e.state!=="attached"&&t.addIssue({code:"custom",message:"Element waits require visible, hidden, or attached state.",path:["state"]})}function Ic(e,t){e.kind==="load-state"&&e.state!=="domcontentloaded"&&e.state!=="complete"&&e.state!=="networkidle"&&t.addIssue({code:"custom",message:"Load-state waits require domcontentloaded, complete, or networkidle state.",path:["state"]})}function Tc(e,t){e.kind!=="element"&&e.kind!=="load-state"&&e.state!==void 0&&t.addIssue({code:"custom",message:"Only element and load-state waits accept state.",path:["state"]})}const xc=p({target:w.optional(),interactiveOnly:S().optional(),compact:S().optional(),maxDepth:f().int().nonnegative().max(50).optional(),selector:c().min(1).optional(),maxOutputBytes:f().int().positive().max(1e6).optional()}).strict(),Ec=p({selector:c().min(1).optional(),title:c().optional(),url:c().optional(),unsupported:b(!0),reason:c().min(1)}).strict(),$c=p({target:D.optional(),text:c(),generationId:c().min(1),refs:f().int().nonnegative(),truncated:S(),frames:P(Ec).default([])}),N=c().regex(/^@e[1-9]\d*$/u),Re=p({ref:N,generationId:c().min(1),tagName:c().min(1),role:c().min(1),visible:S(),name:c().optional(),text:c().optional(),value:c().optional(),href:c().optional(),disabled:S().optional(),checked:S().optional()}).strict(),pe=Re.omit({ref:!0,generationId:!0}).extend({ref:N.optional(),generationId:c().min(1).optional()}).strict().superRefine((e,t)=>{e.ref===void 0!=(e.generationId===void 0)&&t.addIssue({code:"custom",message:"Wait element summaries require both ref and generationId, or neither.",path:e.ref===void 0?["generationId"]:["ref"]})}),Oc=p({target:w.optional(),ref:N,generationId:c().min(1).optional()}).strict(),Rc=p({target:D.optional(),element:Re}),Zc=["text","html","value","attr","title","url","count","box","styles"],Pc=k(Zc),Ac=p({target:w.optional(),kind:Pc,selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional(),attribute:c().min(1).optional(),maxOutputBytes:f().int().positive().max(1e6).optional()}).strict().superRefine(fc),wn=Y([c(),f(),S(),pn()]),Nc=$e(c(),wn),Dc=Y([wn,Nc]),Cc=p({x:f(),y:f(),width:f(),height:f(),top:f(),right:f(),bottom:f(),left:f()}).strict(),jc=p({display:c(),visibility:c(),opacity:c(),pointerEvents:c(),position:c(),overflow:c(),overflowX:c(),overflowY:c(),color:c(),backgroundColor:c(),fontSize:c()}).strict(),U=p({target:D.optional(),element:Re.optional()}).strict(),Lc=de("kind",[U.extend({kind:b("text"),value:c(),truncated:S().optional()}).strict(),U.extend({kind:b("html"),value:c(),truncated:S().optional()}).strict(),U.extend({kind:b("value"),value:c().nullable()}).strict(),U.extend({kind:b("attr"),value:c().nullable()}).strict(),U.extend({kind:b("title"),value:c()}).strict(),U.extend({kind:b("url"),value:c()}).strict(),U.extend({kind:b("count"),value:f().int().nonnegative()}).strict(),U.extend({kind:b("box"),value:Cc}).strict(),U.extend({kind:b("styles"),value:jc}).strict()]),Mc=["visible","enabled","checked"],yn=k(Mc),Uc=p({target:w.optional(),kind:yn,selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional()}).strict().superRefine((e,t)=>{_n(e,t,"State checks require exactly one selector or ref.")}),Fc=p({target:D.optional(),kind:yn,value:S(),element:Re.optional()}).strict(),Bc=["ms","element","text","url","function","load-state","download"],Vc=k(Bc),Jc=["visible","hidden","attached","domcontentloaded","complete","networkidle"],qc=k(Jc),Gc=p({target:w.optional(),kind:Vc,durationMs:f().int().nonnegative().max(6e5).optional(),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional(),state:qc.optional(),text:c().min(1).optional(),urlGlob:c().min(1).optional(),expression:c().min(1).max(2e4).optional(),downloadId:f().int().positive().optional(),filenameGlob:c().min(1).optional(),timeoutMs:f().int().positive().max(6e5).optional(),intervalMs:f().int().positive().max(6e4).optional()}).strict().superRefine(hc),W=p({target:D.optional(),matched:b(!0),elapsedMs:f().int().nonnegative()}).strict(),Wc=de("kind",[W.extend({kind:b("ms")}).strict(),W.extend({kind:b("element"),element:pe.optional()}).strict(),W.extend({kind:b("text"),value:c()}).strict(),W.extend({kind:b("url"),value:c()}).strict(),W.extend({kind:b("function"),value:Dc}).strict(),W.extend({kind:b("load-state")}).strict(),W.extend({kind:b("download"),download:p({id:f().int(),filename:c().optional(),state:c().optional()}).strict()}).strict()]),Kc=["click","dblclick","focus","hover","fill","type","press","keyboard.type","keyboard.inserttext","check","uncheck","select","scroll","scrollintoview","swipe","drag","upload","mouse","keydown","keyup"];k(Kc);const Yc=["up","down","left","right"],Xc=k(Yc),Ze=(e,t)=>{e.selector===void 0==(e.ref===void 0)&&t.addIssue({code:"custom",message:"Element actions require exactly one selector or ref.",path:["selector"]}),e.ref===void 0&&e.generationId!==void 0&&t.addIssue({code:"custom",message:"Generation IDs apply only to refs.",path:["generationId"]})},K=p({target:w.optional(),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional()}).strict().superRefine(Ze),Rt=p({target:w.optional(),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional(),text:c()}).strict().superRefine(Ze),Zt=p({target:w.optional(),text:c()}).strict(),Hc=p({target:w.optional(),key:c().min(1).max(100)}).strict(),Qc=p({target:w.optional(),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional(),values:P(c()).min(1)}).strict().superRefine(Ze),Pt=p({target:w.optional(),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional(),direction:Xc,distancePx:f().int().positive().max(1e5).optional()}).strict().superRefine((e,t)=>{e.selector!==void 0&&e.ref!==void 0&&t.addIssue({code:"custom",message:"Scroll actions accept at most one selector or ref.",path:["selector"]}),e.ref===void 0&&e.generationId!==void 0&&t.addIssue({code:"custom",message:"Generation IDs apply only to refs.",path:["generationId"]})}),kn=p({target:D.optional(),ok:b(!0)}).strict(),O=e=>kn.extend({action:b(e),element:pe}).strict(),F=e=>O(e).extend({valueLength:f().int().nonnegative()}).strict(),Sn=O("select").extend({selectedValues:P(c())}).strict(),ze=e=>kn.extend({action:b(e),element:pe.optional(),scroll:p({x:f(),y:f()}).strict()}).strict(),se=Y([O("click"),O("dblclick"),O("focus"),O("hover"),F("fill"),F("type"),O("press"),F("keyboard.type"),F("keyboard.inserttext"),O("check"),O("uncheck"),Sn,ze("scroll"),O("scrollintoview"),ze("swipe"),O("drag"),F("upload"),O("mouse"),O("keydown"),O("keyup")]),eu=["argv","stdin","base64"],tu=k(eu),Fe=Ca(()=>Y([c(),f(),S(),pn(),P(Fe),$e(c(),Fe)])),nu=p({target:w.optional(),script:c().min(1),source:tu,timeoutMs:f().int().positive().max(6e5).optional(),maxResultBytes:f().int().positive().max(9e5).optional()}).strict().superRefine((e,t)=>{ec(e.script)>1e5&&t.addIssue({code:"too_big",maximum:1e5,origin:"string",inclusive:!0,message:`Eval scripts must be at most ${String(1e5)} bytes.`,path:["script"]})}),ou=de("type",[p({type:b("undefined")}).strict(),p({type:b("json"),value:Fe}).strict()]),ru=p({target:D.optional(),value:ou,elapsedMs:f().int().nonnegative()}).strict(),iu=["png","jpeg"],zn=k(iu),su=p({target:w.optional(),path:c().min(1),format:zn,fullPage:S().optional(),quality:f().int().min(1).max(100).optional(),timeoutMs:f().int().positive().max(6e5).optional(),maxImageBytes:f().int().positive().max(8e6).optional()}).strict().superRefine((e,t)=>{e.quality!==void 0&&e.format!=="jpeg"&&t.addIssue({code:"custom",message:"Screenshot quality applies only to JPEG screenshots.",path:["quality"]})}),au=p({tabActivated:S(),windowFocused:S()}).strict(),cu=p({target:D.optional(),path:c().min(1),format:zn,bytes:f().int().nonnegative().max(8e6),width:f().int().positive().optional(),height:f().int().positive().optional(),activation:au,imageBase64:c().min(1).optional()}).strict(),In=p({target:w.optional(),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional()}).strict().superRefine(Ze),uu=p({target:w.optional(),sourceSelector:c().min(1).optional(),sourceRef:N.optional(),sourceGenerationId:c().min(1).optional(),targetSelector:c().min(1).optional(),targetRef:N.optional(),targetGenerationId:c().min(1).optional()}).strict(),lu=p({name:c().min(1),mimeType:c().min(1).optional(),dataBase64:c().min(1)}).strict().superRefine((e,t)=>{const n=gn(e.dataBase64);if(n===null){t.addIssue({code:"custom",message:"Upload file data must be valid base64.",path:["dataBase64"]});return}n>512e3&&t.addIssue({code:"custom",message:`Upload file exceeds the ${String(512e3)} byte per-file limit.`,path:["dataBase64"],params:{actualBytes:n,maxBytes:512e3}})}),Tn=In.extend({files:P(lu).min(1).max(20)}).superRefine((e,t)=>{xn(e.files,t,["files"])});function du(e){let t=0;for(const n of e){const o=gn(n.dataBase64);if(o===null)return null;t+=o}return t}function xn(e,t,n){const o=du(e);o===null||o<=64e4||t.addIssue({code:"custom",message:`Upload files exceed the ${String(64e4)} byte total limit.`,path:n,params:{actualBytes:o,maxBytes:64e4}})}const pu=p({target:w.optional(),action:k(["move","down","up","wheel"]),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional(),x:f().optional(),y:f().optional(),button:f().int().nonnegative().max(4).optional(),deltaX:f().optional(),deltaY:f().optional()}).strict().superRefine((e,t)=>{e.ref===void 0&&e.generationId!==void 0&&t.addIssue({code:"custom",message:"Generation IDs apply only to refs.",path:["generationId"]})}),At=p({target:w.optional(),key:c().min(1).max(100),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional()}).strict().superRefine((e,t)=>{e.ref===void 0&&e.generationId!==void 0&&t.addIssue({code:"custom",message:"Generation IDs apply only to refs.",path:["generationId"]})}),mu=["role","text","label","placeholder","alt","title","testid"],fu=k(mu),hu=p({target:w.optional(),kind:fu,value:c().min(1),first:S().optional(),last:S().optional(),nth:f().int().nonnegative().optional()}).strict(),gu=p({target:D.optional(),elements:P(pe)}).strict(),vu=p({target:w.optional()}).strict(),_u=p({index:f().int().nonnegative(),selector:c().min(1).optional(),title:c().optional(),url:c().optional()}).strict(),bu=p({target:D.optional(),frames:P(_u)}).strict(),wu=p({url:c().min(1),filename:c().min(1).optional(),saveAs:S().optional()}).strict(),yu=p({id:f().int(),filename:c().optional(),state:c().optional()}).strict(),En=["status","accept","dismiss"],ku=p({target:w.optional(),action:k(En),promptText:c().optional()}).strict(),Su=p({action:k(En),handled:S(),message:c().optional(),type:c().optional()}).strict(),$n=["read","write","copy","paste"],zu=p({target:w.optional(),action:k($n),text:c().optional(),selector:c().min(1).optional(),ref:N.optional(),generationId:c().min(1).optional()}).strict(),Iu=p({action:k($n),ok:b(!0),text:c().optional()}).strict(),On=["list","get","set","remove"],Tu=p({action:k(On),url:c().min(1),name:c().min(1).optional(),value:c().optional(),domain:c().optional(),path:c().optional()}).strict(),Nt=p({name:c(),value:c(),domain:c().optional(),path:c().optional()}).strict(),xu=p({action:k(On),ok:b(!0),cookies:P(Nt).optional(),cookie:Nt.nullable().optional()}).strict(),Rn=["local","session"],Zn=["get","set","remove","clear"],Eu=p({target:w.optional(),area:k(Rn),action:k(Zn),key:c().min(1).optional(),value:c().optional()}).strict(),$u=p({area:k(Rn),action:k(Zn),ok:b(!0),value:c().nullable().optional(),entries:$e(c(),c()).optional()}).strict(),Pn=["list","clear"],Ou=p({target:w.optional(),action:k(Pn),urlGlob:c().min(1).optional()}).strict(),Ru=p({id:c(),url:c(),method:c().optional(),type:c().optional(),statusCode:f().int().optional()}).strict(),Zu=p({action:k(Pn),ok:b(!0),requests:P(Ru).optional()}).strict(),He=["list","clear"],An=p({target:w.optional(),action:k(He)}).strict(),Nn=p({level:c(),text:c(),timestamp:f()}).strict(),Pu=p({action:k(He),ok:b(!0),entries:P(Nn).optional(),truncated:S().optional(),droppedEntries:f().int().nonnegative().optional()}).strict(),Au=An,Nu=p({action:k(He),ok:b(!0),errors:P(Nn).optional(),truncated:S().optional(),droppedEntries:f().int().nonnegative().optional()}).strict(),Du=In.extend({durationMs:f().int().positive().max(6e4).optional()}),Cu=p({ok:b(!0),element:pe,target:D.optional()}).strict(),ju=p({target:w.optional(),path:c().min(1)}).strict(),Lu=p({path:c().min(1)}).strict(),Mu=p({target:w.optional(),width:f().int().positive().max(1e4),height:f().int().positive().max(1e4)}).strict(),Uu=p({window:Oe}).strict(),Dn=["url","title","snapshot"],Fu=p({target:w.optional(),kind:k(Dn),expected:c(),selector:c().min(1).optional()}).strict(),Bu=p({kind:k(Dn),matches:S(),expected:c(),actual:c()}).strict(),Vu=p({}).strict(),Ju=p({hostId:c().min(1),extensionId:c().min(1),token:c().min(1),generation:f().int().positive(),approvedAt:c().min(1)}).strict(),qu=p({}).strict(),Gu=p({ok:b(!0)});function Wu(e){const t=p({command:c().min(1),params:J().default({})}).strict().superRefine((i,a)=>{if(!e.hasCommand(i.command)){a.addIssue({code:"custom",message:`Unknown batch command: ${i.command}`,path:["command"]});return}if(!e.isBatchable(i.command)){a.addIssue({code:"custom",message:`Command cannot run inside batch: ${i.command}`,path:["command"]});return}const u=e.paramsFor(i.command);if(u===void 0){a.addIssue({code:"custom",message:`Unknown batch command: ${i.command}`,path:["command"]});return}const l=u.safeParse(i.params),m=e.paramsWithDefaultTarget(i.command,i.params),h=l.success||!m.found?l:u.safeParse(m.params);h.success||a.addIssue({code:"custom",message:"Batch step params are invalid.",path:["params"],params:{command:i.command,issues:h.error.issues}})}),n=p({target:w.optional(),steps:P(t).min(1).max(100),bail:S().optional(),timeoutMs:f().int().positive().max(6e5).optional(),maxResultBytes:f().int().positive().max(9e5).optional()}).strict().superRefine((i,a)=>{const u=i.steps.flatMap(l=>{if(l.command!=="upload")return[];const m=Tn.safeParse(l.params);return m.success?m.data.files:[]});xn(u,a,["steps"])}),o=p({index:f().int().nonnegative(),command:c().min(1)}).strict(),r=de("ok",[o.extend({ok:b(!0),result:J()}).strict(),o.extend({ok:b(!1),error:Ja}).strict()]).superRefine((i,a)=>{if(!e.hasCommand(i.command)){a.addIssue({code:"custom",message:`Unknown batch result command: ${i.command}`,path:["command"]});return}if(!e.isBatchable(i.command)){a.addIssue({code:"custom",message:`Command cannot appear in batch results: ${i.command}`,path:["command"]});return}if(i.ok){const u=e.resultFor(i.command);if(u===void 0){a.addIssue({code:"custom",message:`Unknown batch result command: ${i.command}`,path:["command"]});return}const l=u.safeParse(i.result);l.success||a.addIssue({code:"custom",message:"Batch step result is invalid.",path:["result"],params:{command:i.command,issues:l.error.issues}})}}),s=p({ok:S(),steps:P(r),firstFailedIndex:f().int().nonnegative().optional(),elapsedMs:f().int().nonnegative()}).strict().superRefine((i,a)=>{const u=i.steps.find(l=>!l.ok)?.index;if(i.ok){u!==void 0&&a.addIssue({code:"custom",message:"Successful batch results cannot contain failed steps.",path:["ok"]}),i.firstFailedIndex!==void 0&&a.addIssue({code:"custom",message:"Successful batch results cannot include firstFailedIndex.",path:["firstFailedIndex"]});return}if(u===void 0){a.addIssue({code:"custom",message:"Failed batch results must contain a failed step.",path:["ok"]});return}i.firstFailedIndex!==u&&a.addIssue({code:"custom",message:"Batch firstFailedIndex must match the first failed step.",path:["firstFailedIndex"]})});return{batchStepSchema:t,batchParamsSchema:n,batchStepResultSchema:r,batchResultSchema:s}}function Cn(...e){const t={};for(const n of e)for(const[o,r]of Object.entries(n)){if(Object.hasOwn(t,o))throw new Error(`Duplicate command id: ${o}`);t[o]=r}return t}const jn={click:{params:K,result:O("click"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"click",path:["click"],batch:!0}]},dblclick:{params:K,result:O("dblclick"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"dblclick",path:["dblclick"],batch:!0}]},focus:{params:K,result:O("focus"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"focus",path:["focus"],batch:!0}]},hover:{params:K,result:O("hover"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"hover",path:["hover"],batch:!0}]},fill:{params:Rt,result:F("fill"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"fill",path:["fill"],batch:!0}]},type:{params:Rt,result:F("type"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"type",path:["type"],batch:!0}]},press:{params:Hc,result:O("press"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"press",path:["press"],batch:!0}]},"keyboard.type":{params:Zt,result:F("keyboard.type"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"keyboard.type",path:["keyboard","type"],batch:!0}]},"keyboard.inserttext":{params:Zt,result:F("keyboard.inserttext"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"keyboard.inserttext",path:["keyboard","inserttext"],batch:!0}]},check:{params:K,result:O("check"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"check",path:["check"],batch:!0}]},uncheck:{params:K,result:O("uncheck"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"uncheck",path:["uncheck"],batch:!0}]},select:{params:Qc,result:Sn,status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"select",path:["select"],batch:!0}]},scroll:{params:Pt,result:ze("scroll"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"scroll",path:["scroll"],batch:!0}]},scrollintoview:{params:K,result:O("scrollintoview"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"scrollintoview",path:["scrollintoview"],batch:!0}]},swipe:{params:Pt,result:ze("swipe"),status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"swipe",path:["swipe"],batch:!0}]}},Ln={"tabs.list":{params:oc,result:rc,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"tab.list",path:["tab"],batch:!0}]},"tab.new":{params:ic,result:$t,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"tab.new",path:["tab","new"],batch:!0}]},"tab.select":{params:Et,result:$t,status:"mvp",owner:"extension",target:"required",content:"never",action:!1,timeout:"none",batch:{allowed:!0,protocolDefaultTarget:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"tab.select",path:["tab","select"],batch:!0}]},"tab.close":{params:Et,result:sc,status:"mvp",owner:"extension",target:"required",content:"never",action:!1,timeout:"none",batch:{allowed:!0,protocolDefaultTarget:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"tab.close",path:["tab","close"],batch:!0}]},"windows.list":{params:ac,result:cc,status:"mvp",owner:"extension",target:"none",content:"never",action:!1,timeout:"none",batch:{allowed:!0},cliRoutes:[{id:"window.list",path:["window"],batch:!0}]},"window.new":{params:uc,result:lc,status:"mvp",owner:"extension",target:"none",content:"never",action:!1,timeout:"none",batch:{allowed:!0},cliRoutes:[{id:"window.new",path:["window","new"],batch:!0}]},"window.select":{params:Ot,result:dc,status:"mvp",owner:"extension",target:"required",content:"never",action:!1,timeout:"none",batch:{allowed:!0,protocolDefaultTarget:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"window.select",path:["window","select"],batch:!0}]},"window.close":{params:Ot,result:pc,status:"mvp",owner:"extension",target:"required",content:"never",action:!1,timeout:"none",batch:{allowed:!0,protocolDefaultTarget:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"window.close",path:["window","close"],batch:!0}]},open:{params:mc,result:ve,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"open",path:["open"],batch:!0}]},back:{params:De,result:ve,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"back",path:["back"],batch:!0}]},forward:{params:De,result:ve,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"forward",path:["forward"],batch:!0}]},reload:{params:De,result:ve,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"reload",path:["reload"],batch:!0}]}},Mn={snapshot:{params:xc,result:$c,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",frameScope:{scope:"main-frame-with-iframe-diagnostics",reason:"Snapshot refs are generated for the main frame; iframe entries are diagnostic/read-only.",future:"docs/iframe-targeting-future.md"},batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"snapshot",path:["snapshot"],batch:!0}]},"ref.resolve":{params:Oc,result:Rc,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"ref",path:["ref"],batch:!0}]},get:{params:Ac,result:Lc,status:"mvp",owner:"extension",target:"mixed",content:"mixed",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"get",path:["get"],batch:!0}]},is:{params:Uc,result:Fc,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"is",path:["is"],batch:!0}]},wait:{params:Gc,result:Wc,status:"mvp",owner:"extension",target:"mixed",content:"mixed",action:!1,timeout:"command",security:{level:"conditional",reasons:["page-function-evaluation","downloads","network-observation"]},compatibility:{requirements:[{minProtocolVersion:2,reason:"Network-idle waits are scoped to the resolved tab.",params:{matches:[{path:["kind"],equals:"load-state"},{path:["state"],equals:"networkidle"}]}}]},batch:{allowed:!0,extensionDefaultTarget:!0,timeoutRebase:!0},cliRoutes:[{id:"wait",path:["wait"],batch:!0}]}},Un={hello:{params:Wa,result:Ka,status:"mvp",owner:"native-host",target:"none",content:"never",action:!1,timeout:"none",batch:{allowed:!1},cliRoutes:[]},capabilities:{params:Ha,result:Qa,status:"mvp",owner:"extension",target:"none",content:"never",action:!1,timeout:"none",batch:{allowed:!1},cliRoutes:[{id:"capabilities",path:["capabilities"],batch:!1}]},noop:{params:Ya,result:Xa,status:"mvp",owner:"extension",target:"none",content:"never",action:!1,timeout:"none",batch:{allowed:!1},cliRoutes:[]}},Fn={"pair.approve":{params:Vu,result:Ju,status:"mvp",owner:"native-host",target:"none",content:"never",action:!1,timeout:"none",batch:{allowed:!1},cliRoutes:[]},"pair.reset":{params:qu,result:Gu,status:"mvp",owner:"native-host",target:"none",content:"never",action:!1,timeout:"none",batch:{allowed:!1},cliRoutes:[]}},Bn={eval:{params:nu,result:ru,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"command",security:{level:"sensitive",reasons:["page-code-execution"]},frameScope:{scope:"main-frame-only",reason:"Eval runs in the resolved tab's main frame; iframe targeting is not implemented.",future:"docs/iframe-targeting-future.md"},batch:{allowed:!0,extensionDefaultTarget:!0,timeoutRebase:!0},cliRoutes:[{id:"eval",path:["eval"],batch:!0}]},screenshot:{params:su,result:cu,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"command",batch:{allowed:!0,extensionDefaultTarget:!0,timeoutRebase:!0},cliRoutes:[{id:"screenshot",path:["screenshot"],batch:!0}]},drag:{params:uu,result:se,status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"drag",path:["drag"],batch:!0}]},upload:{params:Tn,result:se,status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"upload",path:["upload"],batch:!0}]},mouse:{params:pu,result:se,status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"mouse",path:["mouse"],batch:!0}]},keydown:{params:At,result:se,status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"keydown",path:["keydown"],batch:!0}]},keyup:{params:At,result:se,status:"mvp",owner:"extension",target:"optional",content:"action",action:!0,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"keyup",path:["keyup"],batch:!0}]},find:{params:hu,result:gu,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"find",path:["find"],batch:!0}]},frame:{params:vu,result:bu,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",frameScope:{scope:"main-frame-with-iframe-diagnostics",reason:"The frame command lists iframe diagnostics from the main frame only.",future:"docs/iframe-targeting-future.md"},batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"frame",path:["frame"],batch:!0}]},download:{params:wu,result:yu,status:"mvp",owner:"extension",target:"none",content:"never",action:!1,timeout:"none",security:{level:"sensitive",reasons:["downloads"]},batch:{allowed:!0},cliRoutes:[{id:"download",path:["download"],batch:!0}]},dialog:{params:ku,result:Su,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"dialog",path:["dialog"],batch:!0}]},clipboard:{params:zu,result:Iu,status:"mvp",owner:"extension",target:"mixed",content:"mixed",action:!1,timeout:"none",security:{level:"sensitive",reasons:["clipboard"]},batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"clipboard",path:["clipboard"],batch:!0}]},cookies:{params:Tu,result:xu,status:"mvp",owner:"extension",target:"none",content:"never",action:!1,timeout:"none",security:{level:"sensitive",reasons:["cookies"]},batch:{allowed:!0},cliRoutes:[{id:"cookies",path:["cookies"],batch:!0}]},storage:{params:Eu,result:$u,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"storage",path:["storage"],batch:!0}]},network:{params:Ou,result:Zu,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",security:{level:"sensitive",reasons:["network-observation"]},compatibility:{requirements:[{minProtocolVersion:2,reason:"Network commands are scoped to the resolved tab."}]},batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"network",path:["network"],batch:!0}]},console:{params:An,result:Pu,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"console",path:["console"],batch:!0}]},errors:{params:Au,result:Nu,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"errors",path:["errors"],batch:!0}]},highlight:{params:Du,result:Cu,status:"mvp",owner:"extension",target:"optional",content:"always",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"highlight",path:["highlight"],batch:!0}]},pdf:{params:ju,result:Lu,status:"unsupported",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0},cliRoutes:[{id:"pdf",path:["pdf"],batch:!0}]},"set.viewport":{params:Mu,result:Uu,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"set.viewport",path:["set","viewport"],batch:!0}]},diff:{params:Fu,result:Bu,status:"mvp",owner:"extension",target:"mixed",content:"mixed",action:!1,timeout:"none",batch:{allowed:!0,extensionDefaultTarget:!0},cliRoutes:[{id:"diff",path:["diff"],batch:!0}]}},be=Cn(Un,Ln,Mn,Bn,jn,Fn),_e=e=>Object.hasOwn(be,e),Vn=Wu({hasCommand:_e,isBatchable:e=>_e(e)&&be[e].batch.allowed,paramsFor:e=>_e(e)?be[e].params:void 0,resultFor:e=>_e(e)?be[e].result:void 0,paramsWithDefaultTarget:(e,t)=>el(e,t)}),Ku=Vn.batchParamsSchema,Yu=Vn.batchResultSchema,Xu={batch:{params:Ku,result:Yu,status:"mvp",owner:"extension",target:"optional",content:"never",action:!1,timeout:"batch",batch:{allowed:!1},cliRoutes:[{id:"batch",path:["batch"],batch:!1}]}},me=Cn(Un,Ln,Mn,Bn,Xu,jn,Fn);function Jn(e){return Object.hasOwn(me,e)}function Hu(e){return Jn(e)?me[e].batch.protocolDefaultTarget===!0:!1}function Qu(e){const t=me[e],n=t.security;return n!==void 0?n:t.action?{level:"sensitive",reasons:["page-mutation"]}:{level:"normal",reasons:[]}}function el(e,t){return!Hu(e)||!tl(t)?{found:!1}:t.target!==void 0?{found:!1}:{found:!0,params:{...t,target:w.parse({window:{kind:"active"},tab:{kind:"active"}})}}}function tl(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const nl=[{command:"screenshot --full",status:"unsupported",reason:"full-page screenshots are unsupported because Firefox WebExtensions expose visible-tab capture only."},{command:"close",status:"unsupported",reason:"top-level close is unsupported; use explicit tab close or window close.",cliCommands:["close"]},{command:"quit",status:"unsupported",reason:"quit is unsupported because firefox-cli must not terminate the user's Firefox process.",cliCommands:["quit"]},{command:"exit",status:"unsupported",reason:"exit is unsupported because firefox-cli must not terminate the user's Firefox process.",cliCommands:["exit"]},{command:"connect",status:"unsupported",reason:"connect is unsupported because Firefox does not provide Chrome CDP attach semantics.",cliCommands:["connect"]},{command:"inspect",status:"unsupported",reason:"inspect is unsupported because Firefox does not expose agent-browser CDP inspection.",cliCommands:["inspect"]}];[...Object.entries(me).map(([e,t])=>({command:e,status:t.status})),...nl.map(({command:e,status:t,reason:n})=>({command:e,status:t,reason:n}))];p({protocolVersion:f().int().positive(),id:c().min(1),command:c().min(1),params:J()}).strict();de("ok",[p({protocolVersion:f().int().positive(),id:c().min(1),ok:b(!0),result:J()}).strict(),p({protocolVersion:f().int().positive(),id:c().min(1),ok:b(!1),error:J()}).strict()]);const Dt="<all_urls>",ol=["nativeMessaging","scripting","tabs","storage"],rl=["browsingActivity","websiteActivity","websiteContent"],il={"page-mutation":[],"page-code-execution":[],"page-function-evaluation":[],clipboard:["clipboardRead","clipboardWrite"],downloads:["downloads"],cookies:["cookies"],"network-observation":["webRequest"]},sl=new Set(["page-mutation","page-code-execution","page-function-evaluation","cookies","network-observation"]);function al(){const e=new Set(ol),t=new Set,n=new Set,o=Object.entries(me).map(([s,i])=>{const a=cl(i,ul(s));for(const u of a.manifestPermissions)e.add(u);return a.hostAccess&&t.add(Dt),a.networkObservation&&n.add(Dt),a}),r=we(t);return{firefoxStrictMinVersion:"150.0",manifestPermissions:we(e),hostPermissions:r,popupApprovalOrigins:r,webRequestListenerOrigins:we(n),dataCollection:{required:[...rl],optional:[]},commands:o}}function cl(e,t){const n=[...Qu(t).reasons],o=new Set;for(const r of n)for(const s of il[r])o.add(s);return{command:t,securityReasons:n,hostAccess:ll(e,n),manifestPermissions:we(o),networkObservation:n.includes("network-observation")}}function ul(e){if(Jn(e))return e;throw new Error(`Unknown command id: ${e}`)}function ll(e,t){return e.owner==="extension"&&(e.target!=="none"||e.content!=="never"||e.action||t.some(n=>sl.has(n)))}function we(e){return[...e].sort((t,n)=>t.localeCompare(n))}const Ce=document.querySelector("#status"),je=document.querySelector("#approval"),te=document.querySelector("#error"),Be=document.querySelector("#approve"),dl=document.querySelector("#reset");async function pl(){const e=await et("firefox-cli:get-status");Qe(e)}function Qe(e){Ce&&(Ce.textContent=e.connected?"Native host connected":"Native host disconnected",Ce.dataset.state=e.connected?"connected":"disconnected"),je&&(je.textContent=e.approved?"Browser control approved":"Approval required",je.dataset.state=e.approved?"approved":"pending"),te&&(te.hidden=e.lastError===void 0,te.textContent=e.lastError??""),Be&&(Be.hidden=e.approved)}async function et(e){return await browser.runtime.sendMessage({type:e})}Be?.addEventListener("click",()=>{ml().catch(tt)});dl?.addEventListener("click",()=>{et("firefox-cli:reset").then(Qe).catch(tt)});pl().catch(tt);function tt(e){te&&(te.hidden=!1,te.textContent=e instanceof Error?e.message:String(e))}async function ml(){const e=await fl(),t=await et("firefox-cli:approve");Qe(t),e&&browser.runtime.reload()}async function fl(){const e=browser.permissions;if(e===void 0)throw new Error("Firefox permissions API is unavailable.");const t={origins:al().popupApprovalOrigins},n=typeof browser.tabs.captureVisibleTab!="function";if(await e.contains(t))return n;if(!await e.request(t))throw new Error("Approve host access for all websites to enable browser control.");return!0}
Binary file
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "packageVersion": "0.1.1",
4
+ "channel": "unlisted",
5
+ "sourceDir": "/Users/nek/Developer/Tools/firefox-cli/dist/extension",
6
+ "sourceSha256": "13bf6255b7bc52f77a9201fcd6096c482185a877499719d41f3bda4dcec4fae6",
7
+ "xpiFile": "firefox-cli.xpi",
8
+ "xpiSha256": "0dfb9e8f933acc249e4036fcec4cbc38591a79b0c404bf60df8bfef76f1bf60d",
9
+ "createdAt": "2026-06-01T14:09:17.041Z"
10
+ }
@@ -0,0 +1,31 @@
1
+ import { access } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+
4
+ export function getPlatformKey(input = process) {
5
+ if (!isSupportedPlatform(input.platform)) {
6
+ throw new Error(`Unsupported platform: ${input.platform}`);
7
+ }
8
+ if (!isSupportedArch(input.arch)) {
9
+ throw new Error(`Unsupported architecture: ${input.arch}`);
10
+ }
11
+
12
+ return `${input.platform}-${input.arch}`;
13
+ }
14
+
15
+ export function getBinaryName(input = process) {
16
+ return input.platform === "win32" ? "firefox-cli.exe" : "firefox-cli";
17
+ }
18
+
19
+ export async function resolvePackagedBinary(packageRoot, input = process) {
20
+ const binaryPath = join(packageRoot, "bin", getPlatformKey(input), getBinaryName(input));
21
+ await access(binaryPath);
22
+ return binaryPath;
23
+ }
24
+
25
+ function isSupportedPlatform(platform) {
26
+ return platform === "darwin" || platform === "linux" || platform === "win32";
27
+ }
28
+
29
+ function isSupportedArch(arch) {
30
+ return arch === "arm64" || arch === "x64";
31
+ }
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "firefox-cli",
3
+ "version": "0.1.1",
4
+ "description": "Firefox automation CLI for AI agents",
5
+ "type": "module",
6
+ "bin": {
7
+ "firefox-cli": "bin/firefox-cli.js"
8
+ },
9
+ "files": [
10
+ "bin",
11
+ "lib",
12
+ "extension",
13
+ "README.md",
14
+ "LICENSE"
15
+ ],
16
+ "license": "AGPL-3.0-only"
17
+ }