@kaisers-io/refs 0.8.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/refs.mjs CHANGED
@@ -1,69 +1,55 @@
1
1
  #!/usr/bin/env node
2
- import{access as e,chmod as t,constants as n,copyFile as r,lstat as i,mkdir as a,readFile as o,readdir as s,realpath as c,rename as l,rm as u,rmdir as d,stat as f,writeFile as p}from"node:fs/promises";import m,{basename as ee,dirname as te,isAbsolute as ne,join as h,posix as re,relative as ie,resolve as ae,sep as oe}from"node:path";import{randomUUID as se}from"node:crypto";import ce,{existsSync as le,realpathSync as ue}from"node:fs";import{homedir as de}from"node:os";import{setTimeout as fe}from"node:timers/promises";import{EventEmitter as pe,once as me}from"node:events";import he,{spawn as ge}from"node:child_process";import g from"node:process";import{stripVTControlCharacters as _e}from"node:util";const _={CONFLICT:5,NOT_FOUND:4,OK:0,UNEXPECTED:1,USAGE:2,VALIDATION:3};var v=class extends Error{code;exitCode;constructor(e,t,n,r){super(n,r),this.code=t,this.exitCode=e,this.name=`RefsError`}};const ve=e=>new v(_.CONFLICT,`conflict`,e),y=e=>new v(_.NOT_FOUND,`not_found`,e),b=e=>new v(_.USAGE,`usage`,e),x=e=>new v(_.VALIDATION,`validation`,e),ye=(e,t,n)=>n&&t!==void 0?`${e}\n${t}`:e,be=(e,t)=>e instanceof v?{code:e.code,exitCode:e.exitCode,message:ye(e.message,e.stack,t.verbose)}:e instanceof Error?{code:`unexpected`,exitCode:_.UNEXPECTED,message:ye(e.message,e.stack,t.verbose)}:{code:`unexpected`,exitCode:_.UNEXPECTED,message:String(e)};var xe;function S(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var Se=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Ce=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(xe=globalThis).__zod_globalConfig??(xe.__zod_globalConfig={});const we=globalThis.__zod_globalConfig;function C(e){return e&&Object.assign(we,e),we}function Te(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Ee(e,t){return typeof t==`bigint`?t.toString():t}function De(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Oe(e){return e==null}function ke(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Ae(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}const je=Symbol(`evaluating`);function w(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==je)return r===void 0&&(r=je,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Me(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ne(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Pe(e){return JSON.stringify(e)}function Fe(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const Ie=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Le(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Re=De(()=>{if(we.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function ze(e){if(Le(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Le(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Be(e){return ze(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Ve=new Set([`string`,`number`,`symbol`]);function He(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function T(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function E(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw 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 Ue(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}const We={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ge(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return T(e,Ne(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Me(this,`shape`,e),e},checks:[]}))}function Ke(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return T(e,Ne(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Me(this,`shape`,r),r},checks:[]}))}function qe(e,t){if(!ze(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return T(e,Ne(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Me(this,`shape`,n),n}}))}function Je(e,t){if(!ze(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return T(e,Ne(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Me(this,`shape`,n),n}}))}function Ye(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return T(e,Ne(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Me(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Xe(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return T(t,Ne(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Me(this,`shape`,i),i},checks:[]}))}function Ze(e,t,n){return T(t,Ne(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Me(this,`shape`,i),i}}))}function Qe(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 $e(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 et(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function tt(e){return typeof e==`string`?e:e?.message}function D(e,t,n){let r=e.message?e.message:tt(e.inst?._zod.def?.error?.(e))??tt(t?.error?.(e))??tt(n.customError?.(e))??tt(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function nt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function rt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}const it=(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,Ee,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},at=S(`$ZodError`,it),ot=S(`$ZodError`,it,{Parent:Error});function st(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function ct(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}function lt(e){let t=[],n=e.map(e=>typeof e==`object`?e.key:e);for(let e of n)typeof e==`number`?t.push(`[${e}]`):typeof e==`symbol`?t.push(`[${JSON.stringify(String(e))}]`):/[^\w$]/.test(e)?t.push(`[${JSON.stringify(e)}]`):(t.length&&t.push(`.`),t.push(e));return t.join(``)}function O(e){let t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(let e of n)t.push(`✖ ${e.message}`),e.path?.length&&t.push(` → at ${lt(e.path)}`);return t.join(`
3
- `)}const ut=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Se;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>D(e,a,C())));throw Ie(t,i?.callee),t}return o.value},dt=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>D(e,a,C())));throw Ie(t,i?.callee),t}return o.value},ft=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Se;return a.issues.length?{success:!1,error:new(e??at)(a.issues.map(e=>D(e,i,C())))}:{success:!0,data:a.value}},pt=ft(ot),mt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>D(e,i,C())))}:{success:!0,data:a.value}},ht=mt(ot),gt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ut(e)(t,n,i)},_t=e=>(t,n,r)=>ut(e)(t,n,r),vt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return dt(e)(t,n,i)},yt=e=>async(t,n,r)=>dt(e)(t,n,r),bt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ft(e)(t,n,i)},xt=e=>(t,n,r)=>ft(e)(t,n,r),St=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return mt(e)(t,n,i)},Ct=e=>async(t,n,r)=>mt(e)(t,n,r),wt=/^[cC][0-9a-z]{6,}$/,Tt=/^[0-9a-z]+$/,Et=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Dt=/^[0-9a-vA-V]{20}$/,Ot=/^[A-Za-z0-9]{27}$/,kt=/^[a-zA-Z0-9_-]{21}$/,At=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,jt=/^([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})$/,Mt=e=>e?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)$/,Nt=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function Pt(){return RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)}const Ft=/^(?:(?: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])$/,It=/^(([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}|:))$/,Lt=/^((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])$/,Rt=/^(([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])$/,zt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Bt=/^[A-Za-z0-9_-]*$/,Vt=/^https?$/,Ht=/^\+[1-9]\d{6,14}$/,Ut=`(?:(?:\\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])))`,Wt=RegExp(`^${Ut}$`);function Gt(e){let 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 Kt(e){return RegExp(`^${Gt(e)}$`)}function qt(e){let t=Gt({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Ut}T(?:${r})$`)}const Jt=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Yt=/^-?\d+$/,Xt=/^-?\d+(?:\.\d+)?$/,Zt=/^[^A-Z]*$/,Qt=/^[^a-z]*$/,k=S(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),$t={number:`number`,bigint:`bigint`,object:`date`},en=S(`$ZodCheckLessThan`,(e,t)=>{k.init(e,t);let n=$t[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),tn=S(`$ZodCheckGreaterThan`,(e,t)=>{k.init(e,t);let n=$t[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),nn=S(`$ZodCheckMultipleOf`,(e,t)=>{k.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):Ae(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})}}),rn=S(`$ZodCheckNumberFormat`,(e,t)=>{k.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=We[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Yt)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),an=S(`$ZodCheckMaxLength`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Oe(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=nt(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),on=S(`$ZodCheckMinLength`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Oe(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=nt(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),sn=S(`$ZodCheckLengthEquals`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Oe(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=nt(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),cn=S(`$ZodCheckStringFormat`,(e,t)=>{var n,r;k.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),ln=S(`$ZodCheckRegex`,(e,t)=>{cn.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})}}),un=S(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Zt,cn.init(e,t)}),dn=S(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Qt,cn.init(e,t)}),fn=S(`$ZodCheckIncludes`,(e,t)=>{k.init(e,t);let n=He(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),pn=S(`$ZodCheckStartsWith`,(e,t)=>{k.init(e,t);let n=RegExp(`^${He(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),mn=S(`$ZodCheckEndsWith`,(e,t)=>{k.init(e,t);let n=RegExp(`.*${He(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),hn=S(`$ZodCheckOverwrite`,(e,t)=>{k.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var gn=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
4
- `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
5
- `))}};const _n={major:4,minor:4,patch:3},A=S(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=_n;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=Qe(e),i;for(let a of t){if(a._zod.def.when){if($e(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Se;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Qe(e,t))});else{if(e.issues.length===t)continue;r||=Qe(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Qe(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Se;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Se;return o.then(e=>t(e,r,a))}return t(o,r,a)}}w(e,`~standard`,()=>({validate:t=>{try{let n=pt(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return ht(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),vn=S(`$ZodString`,(e,t)=>{A.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Jt(e._zod.bag),e._zod.parse=(n,r)=>{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}}),j=S(`$ZodStringFormat`,(e,t)=>{cn.init(e,t),vn.init(e,t)}),yn=S(`$ZodGUID`,(e,t)=>{t.pattern??=jt,j.init(e,t)}),bn=S(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Mt(e)}else t.pattern??=Mt();j.init(e,t)}),xn=S(`$ZodEmail`,(e,t)=>{t.pattern??=Nt,j.init(e,t)}),Sn=S(`$ZodURL`,(e,t)=>{j.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===Vt.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.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(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),n.value=t.normalize?i.href:r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Cn=S(`$ZodEmoji`,(e,t)=>{t.pattern??=Pt(),j.init(e,t)}),wn=S(`$ZodNanoID`,(e,t)=>{t.pattern??=kt,j.init(e,t)}),Tn=S(`$ZodCUID`,(e,t)=>{t.pattern??=wt,j.init(e,t)}),En=S(`$ZodCUID2`,(e,t)=>{t.pattern??=Tt,j.init(e,t)}),Dn=S(`$ZodULID`,(e,t)=>{t.pattern??=Et,j.init(e,t)}),On=S(`$ZodXID`,(e,t)=>{t.pattern??=Dt,j.init(e,t)}),kn=S(`$ZodKSUID`,(e,t)=>{t.pattern??=Ot,j.init(e,t)}),An=S(`$ZodISODateTime`,(e,t)=>{t.pattern??=qt(t),j.init(e,t)}),jn=S(`$ZodISODate`,(e,t)=>{t.pattern??=Wt,j.init(e,t)}),Mn=S(`$ZodISOTime`,(e,t)=>{t.pattern??=Kt(t),j.init(e,t)}),Nn=S(`$ZodISODuration`,(e,t)=>{t.pattern??=At,j.init(e,t)}),Pn=S(`$ZodIPv4`,(e,t)=>{t.pattern??=Ft,j.init(e,t),e._zod.bag.format=`ipv4`}),Fn=S(`$ZodIPv6`,(e,t)=>{t.pattern??=It,j.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})}}}),In=S(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Lt,j.init(e,t)}),Ln=S(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Rt,j.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function Rn(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const zn=S(`$ZodBase64`,(e,t)=>{t.pattern??=zt,j.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Rn(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Bn(e){if(!Bt.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Rn(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const Vn=S(`$ZodBase64URL`,(e,t)=>{t.pattern??=Bt,j.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Bn(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Hn=S(`$ZodE164`,(e,t)=>{t.pattern??=Ht,j.init(e,t)});function Un(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}const Wn=S(`$ZodJWT`,(e,t)=>{j.init(e,t),e._zod.check=n=>{Un(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Gn=S(`$ZodNumber`,(e,t)=>{A.init(e,t),e._zod.pattern=e._zod.bag.pattern??Xt,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Kn=S(`$ZodNumberFormat`,(e,t)=>{rn.init(e,t),Gn.init(e,t)}),qn=S(`$ZodUnknown`,(e,t)=>{A.init(e,t),e._zod.parse=e=>e}),Jn=S(`$ZodNever`,(e,t)=>{A.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Yn(e,t,n){e.issues.length&&t.issues.push(...et(n,e.issues)),t.value[n]=e.value}const Xn=S(`$ZodArray`,(e,t)=>{A.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Yn(t,n,e))):Yn(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Zn(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...et(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function Qn(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Ue(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function $n(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Zn(e,n,i,t,u,d))):Zn(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}const er=S(`$ZodObject`,(e,t)=>{if(A.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=De(()=>Qn(t));w(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=Le,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>Zn(n,t,e,s,r,i))):Zn(a,t,e,s,r,i)}return i?$n(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),tr=S(`$ZodObjectJIT`,(e,t)=>{er.init(e,t);let n=e._zod.parse,r=De(()=>Qn(t)),i=e=>{let t=new gn([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=Pe(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=Pe(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
6
- if (${n}.issues.length) {
7
- if (${o} in input) {
8
- payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
9
- ...iss,
10
- path: iss.path ? [${o}, ...iss.path] : [${o}]
11
- })));
2
+ import{access as e,chmod as t,constants as n,copyFile as r,lstat as i,mkdir as a,readFile as o,readdir as s,realpath as c,rename as l,rm as u,rmdir as d,stat as f,writeFile as p}from"node:fs/promises";import m,{basename as ee,dirname as te,isAbsolute as ne,join as h,posix as re,relative as ie,resolve as ae,sep as oe}from"node:path";import{randomUUID as se}from"node:crypto";import ce,{existsSync as le,realpathSync as ue}from"node:fs";import{homedir as de}from"node:os";import{setTimeout as fe}from"node:timers/promises";import{EventEmitter as pe,once as me}from"node:events";import he,{spawn as ge}from"node:child_process";import g from"node:process";import{stripVTControlCharacters as _e}from"node:util";const _={CONFLICT:5,NOT_FOUND:4,OK:0,UNEXPECTED:1,USAGE:2,VALIDATION:3};var v=class extends Error{code;exitCode;constructor(e,t,n,r){super(n,r),this.code=t,this.exitCode=e,this.name=`RefsError`}};const ve=e=>new v(_.CONFLICT,`conflict`,e),y=e=>new v(_.NOT_FOUND,`not_found`,e),b=e=>new v(_.USAGE,`usage`,e),x=e=>new v(_.VALIDATION,`validation`,e),ye=(e,t,n)=>n&&t!==void 0?`${e}\n${t}`:e,be=(e,t)=>e instanceof v?{code:e.code,exitCode:e.exitCode,message:ye(e.message,e.stack,t.verbose)}:e instanceof Error?{code:`unexpected`,exitCode:_.UNEXPECTED,message:ye(e.message,e.stack,t.verbose)}:{code:`unexpected`,exitCode:_.UNEXPECTED,message:String(e)};function xe(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Se(e,t=`|`){return e.map(e=>ze(e)).join(t)}function Ce(e,t){return typeof t==`bigint`?t.toString():t}function we(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Te(e){return e==null}function Ee(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function De(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function S(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Oe(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function ke(e){return JSON.stringify(e)}function Ae(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const je=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Me(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Ne=we(()=>{if(E.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Pe(e){if(Me(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Me(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Fe(e){return Pe(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Ie=new Set([`string`,`number`,`symbol`]);function Le(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Re(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function C(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw 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 ze(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Be(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}const Ve={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function He(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return Re(e,Oe(e._zod.def,{get shape(){let e={};for(let r of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,r))throw Error(`Unrecognized key: "${String(r)}"`);t[r]&&S(e,r,n.shape[r])}return S(this,`shape`,e),e},checks:[]}))}function Ue(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return Re(e,Oe(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,e))throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&delete r[e]}return S(this,`shape`,r),r},checks:[]}))}function We(e,t){if(!Pe(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Re(e,Oe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return S(this,`shape`,n),n}}))}function Ge(e,t){if(!Pe(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Re(e,Oe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return S(this,`shape`,n),n}}))}function Ke(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return Re(e,Oe(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return S(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function qe(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);return Re(t,Oe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(r,t))throw Error(`Unrecognized key: "${String(t)}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t of Reflect.ownKeys(r))i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return S(this,`shape`,i),i},checks:[]}))}function Je(e,t,n){return Re(t,Oe(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(i,t))throw Error(`Unrecognized key: "${String(t)}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t of Reflect.ownKeys(r))i[t]=new e({type:`nonoptional`,innerType:r[t]});return S(this,`shape`,i),i}}))}function Ye(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 Xe(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 Ze(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Qe(e){return typeof e==`string`?e:e?.message}function $e(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function et(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Qe(e.inst?._zod.def?.error?.(e))??Qe(a?.(e))??Qe(t?.error?.(e))??Qe(n.customError?.(e))??Qe(n.localeError?.(e))??`Invalid input`,{inst:s,schema:c,continue:l,input:u,...d}=e;return d.path??=[],d.message=o,t?.reportInput&&(d.input=u),d}const tt=/[\uD800-\uDBFF]/;function nt(e){let t=e.length;if(!tt.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function rt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function it(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function at(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function ot(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):lt(e,n,r.value)}}function st(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function ct(e,t,n){return st(e,t,n,!1)}function lt(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:st(this,t,n.bind(this))},set(e){st(this,t,e)}})}function ut(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let dt,ft=!1;const pt={configurable:!0,get(){ft=!0}};function w(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&dt!==e._zod){dt=void 0;return}dt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,pt);let e=ft;ft=!1;try{let r=n(this);return ft?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),ft||=e,r}catch(n){throw delete this[t],ft||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function mt(e,t,n,r){let i=ut(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}function ht(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var gt;const _t={value:void 0,enumerable:!1};let vt=`captureStackTrace`in Error?Error:null;function yt(e){let t=vt;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return vt=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function T(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){_t.value=new a(r);try{Object.defineProperty(n,"_zod",_t)}finally{_t.value=void 0}}if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),ot(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?yt(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var bt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},xt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(gt=globalThis).__zod_globalConfig??(gt.__zod_globalConfig={});const E=globalThis.__zod_globalConfig;function D(e){return e&&Object.assign(E,e),E}function St(){let e=this._zod;return e.message??=JSON.stringify(e.def,Ce,2),e.message}function Ct(e){this._zod.message=e}const wt={get:St,set:Ct,enumerable:!0,configurable:!0},Tt={value:void 0,enumerable:!1},Et={value:void 0,enumerable:!1},Dt=new WeakSet([Object.prototype,Error.prototype]),Ot=(e,t)=>{e.name=`$ZodError`,Tt.value=e._zod,Object.defineProperty(e,"_zod",Tt),Et.value=t,Object.defineProperty(e,"issues",Et),Tt.value=void 0,Et.value=void 0,Object.defineProperty(e,"message",wt);let n=Object.getPrototypeOf(e);Dt.has(n)||(Dt.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},kt=T(`$ZodError`,Ot),At=T(`$ZodError`,Ot,void 0,{Parent:Error});function jt(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Mt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?jt(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Nt(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function Pt(e){let t=[],n=e.map(e=>typeof e==`object`?e.key:e);for(let e of n)typeof e==`number`?t.push(`[${e}]`):typeof e==`symbol`?t.push(`[${JSON.stringify(String(e))}]`):/[^\w$]/.test(e)?t.push(`[${JSON.stringify(e)}]`):(t.length&&t.push(`.`),t.push(e));return t.join(``)}function O(e){let t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(let e of n)t.push(`✖ ${e.message}`),e.path?.length&&t.push(` → at ${Pt(e.path)}`);return t.join(`
3
+ `)}function Ft(e,t){return{callee:t?.callee??e,Err:t?.Err}}const It=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new bt;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>et(e,o,D())));throw je(n,a?.callee??t),n}return s.value};return t},Lt=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>et(e,o,D())));throw je(n,a?.callee??t),n}return s.value};return t},Rt=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new bt;return a.issues.length?{success:!1,error:new(e??kt)(a.issues.map(e=>et(e,i,D())))}:{success:!0,data:a.value}},zt=Rt(At),Bt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>et(e,i,D())))}:{success:!0,data:a.value}},Vt=Bt(At),Ht=e=>{let t=It(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Ft(n,a))};return n},Ut=e=>{let t=It(e),n=(e,r,i,a)=>t(e,r,i,Ft(n,a));return n},Wt=e=>{let t=Lt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Ft(n,a))};return n},Gt=e=>{let t=Lt(e),n=async(e,r,i,a)=>await t(e,r,i,Ft(n,a));return n},Kt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Rt(e)(t,n,i)},qt=e=>(t,n,r)=>Rt(e)(t,n,r),Jt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Bt(e)(t,n,i)},Yt=e=>async(t,n,r)=>Bt(e)(t,n,r),Xt=/^[cC][0-9a-z]{6,}$/,Zt=/^[0-9a-z]+$/,Qt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,$t=/^[0-9a-vA-V]{20}$/,en=/^[A-Za-z0-9]{27}$/,tn=/^[a-zA-Z0-9_-]{21}$/;function nn(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const rn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,an=/^([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})$/,on=e=>e?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)$/,sn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function cn(){return RegExp(`^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,`u`)}const ln=/^(?:(?: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])$/,un=/^(([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}|:))$/,dn=/^((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])$/,fn=/^(([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}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,pn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,mn=/^[A-Za-z0-9_-]*$/,hn=/^https?$/,gn=/^\+[1-9]\d{6,14}$/,_n=`(?:(?:\\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])))`;function vn(e){return RegExp(`^${e}$`)}const yn=vn(_n);function bn(e){let 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}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function xn(e){return RegExp(`^${bn(e)}$`)}function Sn(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${bn({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${bn({precision:e.precision})}`:n;return RegExp(`^${_n}T(?:${r})$`)}const Cn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},wn=/^-?\d+$/,Tn=/^-?\d+(?:\.\d+)?$/,En=/^(?:true|false)$/i,Dn=/^[^A-Z]*$/,On=/^[^a-z]*$/,k=T(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),kn=e=>{let t=e.value;return!Te(t)&&t.length!==void 0},An={number:`number`,bigint:`bigint`,object:`date`},jn=T(`$ZodCheckLessThan`,(e,t)=>{k.init(e,t);let n=An[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:An[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Mn=T(`$ZodCheckGreaterThan`,(e,t)=>{k.init(e,t);let n=An[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:An[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Nn=T(`$ZodCheckMultipleOf`,(e,t)=>{k.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):De(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})}}),Pn=T(`$ZodCheckNumberFormat`,(e,t)=>{k.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ve[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=wn)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Fn=T(`$ZodCheckMaxLength`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=kn),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?nt(r):i)<=t.maximum)return;let a=rt(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),In=T(`$ZodCheckMinLength`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=kn),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?nt(r):i)>=t.minimum)return;let a=rt(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ln=T(`$ZodCheckLengthEquals`,(e,t)=>{var n;k.init(e,t),(n=e._zod.def).when??(n.when=kn),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?nt(r):i;if(a===t.length)return;let o=rt(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Rn=T(`$ZodCheckStringFormat`,(e,t)=>{var n,r;k.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),zn=T(`$ZodCheckRegex`,(e,t)=>{Rn.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})}}),Bn=T(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Dn,Rn.init(e,t)}),Vn=T(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=On,Rn.init(e,t)}),Hn=T(`$ZodCheckIncludes`,(e,t)=>{k.init(e,t);let n=Le(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Un=T(`$ZodCheckStartsWith`,(e,t)=>{k.init(e,t);let n=RegExp(`^${Le(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Wn=T(`$ZodCheckEndsWith`,(e,t)=>{k.init(e,t);let n=RegExp(`.*${Le(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Gn=T(`$ZodCheckOverwrite`,(e,t)=>{k.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Kn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
4
+ `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
5
+ `)}\n};`)(...Object.values(this.closed))}};const qn={major:4,minor:5,patch:2},A=T(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=qn;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=Ye(t),a;for(let o of n){if(o._zod.def.when){if(Xe(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new bt;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&($e(t.issues,n,e),i||=Ye(t,n))});else{if(t.issues.length===n)continue;$e(t.issues,n,e),i||=Ye(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(Ye(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new bt;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new bt;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return ct(this,`~standard`,Yn(this))},set"~standard"(e){st(this,`~standard`,e)}}),Jn=e=>e.success?{value:e.data}:{issues:e.error?.issues};function Yn(e){return{validate:t=>{try{return Jn(zt(e,t))}catch{return Vt(e,t).then(Jn)}},vendor:`zod`,version:1}}const Xn=T(`$ZodString`,(e,t)=>{A.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Cn(e._zod.bag),e._zod.parse=(n,r)=>{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}}),j=T(`$ZodStringFormat`,(e,t)=>{Rn.init(e,t),Xn.init(e,t)}),Zn=T(`$ZodGUID`,(e,t)=>{t.pattern??=an,j.init(e,t)}),Qn=T(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=on(e)}else t.pattern??=on();j.init(e,t)}),$n=T(`$ZodEmail`,(e,t)=>{t.pattern??=sn,j.init(e,t)});function er(e,t){if(!t.normalize&&t.protocol?.source===hn.source&&!/^https?:\/\//i.test(e))return 1;try{return new URL(e)}catch{return 2}}const tr=/[\t\n\r]/g;function nr(e){return e.replace(tr,``)}function rr(e,t){return t.lastIndex=0,t.test(e.hostname)}function ir(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}const ar=T(`$ZodURL`,(e,t)=>{j.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=er(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}t.hostname&&!rr(i,t.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&&!ir(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:nr(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),or=T(`$ZodEmoji`,(e,t)=>{t.pattern??=cn(),j.init(e,t)}),sr=T(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?tn:nn(t.length),j.init(e,t)}),cr=T(`$ZodCUID`,(e,t)=>{t.pattern??=Xt,j.init(e,t)}),lr=T(`$ZodCUID2`,(e,t)=>{t.pattern??=Zt,j.init(e,t)}),ur=T(`$ZodULID`,(e,t)=>{t.pattern??=Qt,j.init(e,t)}),dr=T(`$ZodXID`,(e,t)=>{t.pattern??=$t,j.init(e,t)}),fr=T(`$ZodKSUID`,(e,t)=>{t.pattern??=en,j.init(e,t)}),pr=T(`$ZodISODateTime`,(e,t)=>{t.pattern??=Sn(t),j.init(e,t),(t.local||t.precision===-1)&&(e._zod.bag.laxFormat=!0,e._zod.onattach.push(e=>{e._zod.bag.laxFormat=!0}))}),mr=T(`$ZodISODate`,(e,t)=>{t.pattern??=yn,j.init(e,t)}),hr=T(`$ZodISOTime`,(e,t)=>{t.pattern??=xn(t),j.init(e,t)}),gr=T(`$ZodISODuration`,(e,t)=>{t.pattern??=rn,j.init(e,t)}),_r=T(`$ZodIPv4`,(e,t)=>{t.pattern??=ln,j.init(e,t),e._zod.bag.format=`ipv4`}),vr=/^[0-9a-fA-F:.]+$/;function yr(e){if(!vr.test(e))return!1;try{return new URL(`http://[${e}]`),!0}catch{return!1}}const br=T(`$ZodIPv6`,(e,t)=>{t.pattern??=un,j.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{yr(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),xr=T(`$ZodCIDRv4`,(e,t)=>{t.pattern??=dn,j.init(e,t)});function Sr(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:yr(n)}const Cr=T(`$ZodCIDRv6`,(e,t)=>{t.pattern??=fn,j.init(e,t),e._zod.check=n=>{Sr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function wr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Tr=T(`$ZodBase64`,(e,t)=>{t.pattern??=pn,j.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{wr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function Er(e){if(!mn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return wr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const Dr=T(`$ZodBase64URL`,(e,t)=>{t.pattern??=mn,j.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Er(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Or=T(`$ZodE164`,(e,t)=>{t.pattern??=gn,j.init(e,t)});function kr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}const Ar=T(`$ZodJWT`,(e,t)=>{j.init(e,t),e._zod.check=n=>{kr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),jr=T(`$ZodNumber`,(e,t)=>{A.init(e,t),e._zod.pattern=e._zod.bag.pattern??Tn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Mr=T(`$ZodNumberFormat`,(e,t)=>{Pn.init(e,t),jr.init(e,t)}),Nr=T(`$ZodBoolean`,(e,t)=>{A.init(e,t),e._zod.pattern=En,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Pr=T(`$ZodUnknown`,(e,t)=>{A.init(e,t),e._zod.parse=e=>e}),Fr=T(`$ZodNever`,(e,t)=>{A.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Ir(e,t,n){e.issues.length&&t.issues.push(...Ze(n,e.issues)),t.value[n]=e.value}const Lr=T(`$ZodArray`,(e,t)=>{A.init(e,t);let n=E.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[];for(let e=0;e<a.length;e++){let n=a[e],s=t.element._zod.run({value:n,issues:[]},i);s instanceof Promise?o.push(s.then(t=>Ir(t,r,e))):Ir(s,r,e)}return o.length?Promise.all(o).then(()=>r):r}});function Rr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(!(!o&&s&&i===`optional`)){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Ze(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}}const zr=[];function Br(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:zr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=Be(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Vr(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin,d=c.optout;for(let i in t){if(s.has(i))continue;if(i===`__proto__`){l===`never`&&o.push(i);continue}if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Rr(e,n,i,t,u,d))):Rr(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}const Hr=new WeakMap,Ur=T(`$ZodObject`,(e,t)=>{if(A.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Hr.set(t,e),Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),Hr.set(t,n),n}})}let n=we(()=>Br(t));w(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||S(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let r=Me,i=t.catchall,a,o=E.memoizer;o?.attach(e),e._zod.parse=(t,s)=>{a??=n.value;let c=t.value;if(!r(c))return t.issues.push({expected:`object`,code:`invalid_type`,input:c,inst:e}),t;t.value=o?o.alloc(e,t,{},s):{};let l=[],u=a.shape;for(let e of a.allKeys){if(e===`__proto__`)continue;let n=u[e],r=n._zod.optin,i=n._zod.optout,a=n._zod.run({value:c[e],issues:[]},s);a instanceof Promise?l.push(a.then(n=>Rr(n,t,e,c,r,i))):Rr(a,t,e,c,r,i)}return i?Vr(l,c,t,s,n.value,e):l.length?Promise.all(l).then(()=>t):t}}),Wr=T(`$ZodObjectJIT`,(e,t)=>{Ur.init(e,t);let n=e._zod.parse,r=we(()=>Br(t)),i=E.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Kn([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
6
+ for (let i = 0; i < ${e}.issues.length; i++) {
7
+ const iss = ${e}.issues[i];
8
+ iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
9
+ payload.issues.push(iss);
10
+ }`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:ke(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
11
+ const ${n}_present = ${i};
12
+ if (!${n}.issues.length || ${n}_present) {
13
+ if (${n}.issues.length) {${c(n,r)}
12
14
  }
13
- }
14
-
15
- if (${n}.value === undefined) {
16
- if (${o} in input) {
17
- newResult[${o}] = undefined;
15
+
16
+ if (${e}) {
17
+ newResult[${r}] = ${n}.value;
18
18
  }
19
- } else {
20
- newResult[${o}] = ${n}.value;
21
19
  }
22
-
23
- `):c?t.write(`
24
- if (${n}.issues.length) {
25
- payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
26
- ...iss,
27
- path: iss.path ? [${o}, ...iss.path] : [${o}]
28
- })));
20
+
21
+ `)}else f?o.write(`
22
+ if (${n}.issues.length) {${c(n,r)}
29
23
  }
30
24
 
31
25
  if (${n}.value === undefined) {
32
- if (${o} in input) {
33
- newResult[${o}] = undefined;
26
+ if (${i}) {
27
+ newResult[${r}] = undefined;
34
28
  }
35
29
  } else {
36
- newResult[${o}] = ${n}.value;
30
+ newResult[${r}] = ${n}.value;
37
31
  }
38
-
39
- `):t.write(`
40
- const ${n}_present = ${o} in input;
41
- if (${n}.issues.length) {
42
- payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
43
- ...iss,
44
- path: iss.path ? [${o}, ...iss.path] : [${o}]
45
- })));
32
+
33
+ `):o.write(`
34
+ const ${n}_present = ${i};
35
+ if (${n}.issues.length) {${c(n,r)}
46
36
  }
47
37
  if (!${n}_present && !${n}.issues.length) {
48
38
  payload.issues.push({
49
39
  code: "invalid_type",
50
40
  expected: "nonoptional",
51
41
  input: undefined,
52
- path: [${o}]
42
+ path: [${r}]
53
43
  });
54
44
  }
55
45
 
56
46
  if (${n}_present) {
57
- if (${n}.value === undefined) {
58
- newResult[${o}] = undefined;
59
- } else {
60
- newResult[${o}] = ${n}.value;
61
- }
47
+ newResult[${r}] = ${n}.value;
62
48
  }
63
49
 
64
- `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=Le,s=!we.jitless,c=s&&Re.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?$n([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function nr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Qe(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>D(e,r,C())))}),t)}const rr=S(`$ZodUnion`,(e,t)=>{A.init(e,t),w(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),w(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),w(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),w(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>ke(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>nr(t,r,e,i)):nr(o,r,e,i)}}),ir=S(`$ZodIntersection`,(e,t)=>{A.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>or(e,t,n)):or(e,i,a)}});function ar(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ze(e)&&ze(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=ar(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=ar(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function or(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Qe(e))return e;let o=ar(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const sr=S(`$ZodRecord`,(e,t)=>{A.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!ze(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>D(e,r,C())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...et(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...et(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&Xt.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>D(e,r,C())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...et(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...et(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),cr=S(`$ZodEnum`,(e,t)=>{A.init(e,t);let n=Te(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Ve.has(typeof e)).map(e=>typeof e==`string`?He(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),lr=S(`$ZodTransform`,(e,t)=>{A.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ce(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new Se;return n.value=i,n.fallback=!0,n}});function ur(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}const dr=S(`$ZodOptional`,(e,t)=>{A.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,w(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),w(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ke(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>ur(e,r)):ur(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),fr=S(`$ZodExactOptional`,(e,t)=>{dr.init(e,t),w(e._zod,`values`,()=>t.innerType._zod.values),w(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),pr=S(`$ZodNullable`,(e,t)=>{A.init(e,t),w(e._zod,`optin`,()=>t.innerType._zod.optin),w(e._zod,`optout`,()=>t.innerType._zod.optout),w(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ke(e.source)}|null)$`):void 0}),w(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),mr=S(`$ZodDefault`,(e,t)=>{A.init(e,t),e._zod.optin=`optional`,w(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>hr(e,t)):hr(r,t)}});function hr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const gr=S(`$ZodPrefault`,(e,t)=>{A.init(e,t),e._zod.optin=`optional`,w(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),_r=S(`$ZodNonOptional`,(e,t)=>{A.init(e,t),w(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>vr(t,e)):vr(i,e)}});function vr(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 yr=S(`$ZodCatch`,(e,t)=>{A.init(e,t),e._zod.optin=`optional`,w(e._zod,`optout`,()=>t.innerType._zod.optout),w(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>D(e,n,C()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>D(e,n,C()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),br=S(`$ZodPipe`,(e,t)=>{A.init(e,t),w(e._zod,`values`,()=>t.in._zod.values),w(e._zod,`optin`,()=>t.in._zod.optin),w(e._zod,`optout`,()=>t.out._zod.optout),w(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>xr(e,t.in,n)):xr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>xr(e,t.out,n)):xr(r,t.out,n)}});function xr(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 Sr=S(`$ZodPreprocess`,(e,t)=>{br.init(e,t)}),Cr=S(`$ZodReadonly`,(e,t)=>{A.init(e,t),w(e._zod,`propValues`,()=>t.innerType._zod.propValues),w(e._zod,`values`,()=>t.innerType._zod.values),w(e._zod,`optin`,()=>t.innerType?._zod?.optin),w(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(wr):wr(r)}});function wr(e){return e.value=Object.freeze(e.value),e}const Tr=S(`$ZodCustom`,(e,t)=>{k.init(e,t),A.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Er(t,n,r,e));Er(i,n,r,e)}});function Er(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(rt(e))}}var Dr,Or=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function kr(){return new Or}(Dr=globalThis).__zod_globalRegistry??(Dr.__zod_globalRegistry=kr());const Ar=globalThis.__zod_globalRegistry;function jr(e,t){return new e({type:`string`,...E(t)})}function Mr(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...E(t)})}function Nr(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...E(t)})}function Pr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...E(t)})}function Fr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...E(t)})}function Ir(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...E(t)})}function Lr(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...E(t)})}function Rr(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...E(t)})}function zr(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...E(t)})}function Br(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...E(t)})}function Vr(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...E(t)})}function Hr(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...E(t)})}function Ur(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...E(t)})}function Wr(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...E(t)})}function Gr(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...E(t)})}function Kr(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...E(t)})}function qr(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...E(t)})}function Jr(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...E(t)})}function Yr(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...E(t)})}function Xr(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...E(t)})}function Zr(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...E(t)})}function Qr(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...E(t)})}function $r(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...E(t)})}function ei(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...E(t)})}function ti(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...E(t)})}function ni(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...E(t)})}function ri(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...E(t)})}function ii(e,t){return new e({type:`number`,checks:[],...E(t)})}function ai(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...E(t)})}function oi(e){return new e({type:`unknown`})}function si(e,t){return new e({type:`never`,...E(t)})}function ci(e,t){return new en({check:`less_than`,...E(t),value:e,inclusive:!1})}function li(e,t){return new en({check:`less_than`,...E(t),value:e,inclusive:!0})}function ui(e,t){return new tn({check:`greater_than`,...E(t),value:e,inclusive:!1})}function di(e,t){return new tn({check:`greater_than`,...E(t),value:e,inclusive:!0})}function fi(e,t){return new nn({check:`multiple_of`,...E(t),value:e})}function pi(e,t){return new an({check:`max_length`,...E(t),maximum:e})}function mi(e,t){return new on({check:`min_length`,...E(t),minimum:e})}function hi(e,t){return new sn({check:`length_equals`,...E(t),length:e})}function gi(e,t){return new ln({check:`string_format`,format:`regex`,...E(t),pattern:e})}function _i(e){return new un({check:`string_format`,format:`lowercase`,...E(e)})}function vi(e){return new dn({check:`string_format`,format:`uppercase`,...E(e)})}function yi(e,t){return new fn({check:`string_format`,format:`includes`,...E(t),includes:e})}function bi(e,t){return new pn({check:`string_format`,format:`starts_with`,...E(t),prefix:e})}function xi(e,t){return new mn({check:`string_format`,format:`ends_with`,...E(t),suffix:e})}function Si(e){return new hn({check:`overwrite`,tx:e})}function Ci(e){return Si(t=>t.normalize(e))}function wi(){return Si(e=>e.trim())}function Ti(){return Si(e=>e.toLowerCase())}function Ei(){return Si(e=>e.toUpperCase())}function Di(){return Si(e=>Fe(e))}function Oi(e,t,n){return new e({type:`array`,element:t,...E(n)})}function ki(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...E(n)})}function Ai(e,t){let n=ji(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(rt(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(rt(r))}},e(t.value,t)),t);return n}function ji(e,t){let n=new k({check:`custom`,...E(t)});return n._zod.check=e,n}function Mi(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??Ar,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 M(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,M(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&N(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Ni(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
50
+ `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=Me,c=!E.jitless,l=c&&Ne.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Vr([],p,i,f,d,e):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Gr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Ye(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>et(e,r,D())))}),t)}const Kr=T(`$ZodUnion`,(e,t)=>{A.init(e,t),w(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),w(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),w(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),w(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>Ee(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Gr(t,r,e,i)):Gr(o,r,e,i)}}),qr=T(`$ZodIntersection`,(e,t)=>{A.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Yr(e,t,n)):Yr(e,i,a)}});function Jr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Pe(e)&&Pe(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=Jr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Jr(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Yr(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=Jr(t.value,n.value);if(!c.valid){if(Ye(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const Xr=T(`$ZodRecord`,(e,t)=>{A.init(e,t);let n=E.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Pe(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>et(e,i,D())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Ze(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Ze(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&Tn.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>et(e,i,D())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Ze(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Ze(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),Zr=T(`$ZodEnum`,(e,t)=>{A.init(e,t);let n=xe(t.entries),r=new Set(n);e._zod.values=r;let i=n.filter(e=>Ie.has(typeof e));e._zod.pattern=RegExp(i.length?`^(${i.map(e=>Le(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Qr=T(`$ZodTransform`,(e,t)=>{A.init(e,t),e._zod.optin=`optional`,E.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new xt(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new bt;return n.value=i,n}});function $r(e,t){return e.value=t.issues.length?void 0:t.value,e}const ei=T(`$ZodOptional`,(e,t)=>{A.init(e,t),w(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,w(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),w(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ee(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>$r(e,t)):$r(e,r)}return t.innerType._zod.run(e,n)}}),ti=T(`$ZodExactOptional`,(e,t)=>{ei.init(e,t),w(e,`values`,e=>e.def.innerType._zod.values),w(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ni=T(`$ZodNullable`,(e,t)=>{A.init(e,t),w(e,`optin`,e=>e.def.innerType._zod.optin),w(e,`optout`,e=>e.def.innerType._zod.optout),w(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ee(t.source)}|null)$`):void 0}),w(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),ri=T(`$ZodDefault`,(e,t)=>{A.init(e,t),e._zod.optin=`defaulted`,w(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>ii(e,t)):ii(r,t)}});function ii(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const ai=T(`$ZodPrefault`,(e,t)=>{A.init(e,t),e._zod.optin=`defaulted`,w(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),oi=T(`$ZodNonOptional`,(e,t)=>{A.init(e,t),w(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>si(t,e)):si(i,e)}});function si(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function ci(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>et(e,r,D()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const li=T(`$ZodCatch`,(e,t)=>{A.init(e,t),w(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),w(e,`optout`,e=>e.def.innerType._zod.optout),w(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>ci(e,r,t,n)):ci(e,r,t,n)}}),ui=T(`$ZodPipe`,(e,t)=>{A.init(e,t),w(e,`values`,e=>e.def.in._zod.values),w(e,`optin`,e=>e.def.in._zod.optin),w(e,`optout`,e=>e.def.out._zod.optout),w(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>di(e,t.in,n)):di(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>di(e,t.out,n)):di(r,t.out,n)}});function di(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const fi=T(`$ZodPreprocess`,(e,t)=>{ui.init(e,t)}),pi=T(`$ZodReadonly`,(e,t)=>{A.init(e,t),w(e,`propValues`,e=>e.def.innerType._zod.propValues),w(e,`values`,e=>e.def.innerType._zod.values),w(e,`optin`,e=>e.def.innerType?._zod?.optin),w(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(mi):mi(r)}});function mi(e){return e.memo||(e.value=Object.freeze(e.value)),e}const hi=T(`$ZodCustom`,(e,t)=>{k.init(e,t),A.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>gi(t,n,r,e));gi(i,n,r,e)}});function gi(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(at(e))}}var _i=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};const vi=`~memo`,yi=[];function bi(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const xi=new WeakMap;function Si(e,t){let n=xi.get(e);if(n!==void 0)return n;if(t.has(e))return!0;t.add(e);let r=!1,i=e=>{!r&&e?._zod&&Si(e,t)&&(r=!0)},a=e._zod.def;if(a.type===`lazy`)i(e._zod.innerType);else{let e=a.shape;if(e)for(let t of Reflect.ownKeys(e))i(e[t]);for(let e in a){let t=a[e];if(!(!t||typeof t!=`object`)){if(t._zod)i(t);else if(Array.isArray(t))for(let e of t)i(e)}}}return t.delete(e),xi.set(e,r),r}function Ci(e,t){let n=e.buckets.get(t);return n||(n=new Map,e.buckets.set(t,n)),n}let wi;const Ti=[],Ei={alloc(e,t,n){let r=wi;if(!r)return n;wi=void 0;let i={value:n,issues:null};return r.set(t.value,i),Ti.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&Oi(n,e.value))throw new _i;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,a=(o,s)=>{if(n===void 0&&(n=Si(e,new Set),!n))return e._zod.parse=t,e._zod.run===a&&(e._zod.run=t),t(o,s);let c=o.value;if(typeof c!=`object`||!c)return t(o,s);let l=s[vi];l||(l={buckets:new Map,backEdges:void 0},s[vi]=l);let u;r===s?u=i:(u=Ci(l,e),r=s,i=u);let d=u.get(c);if(d)return o.value=d.value,d.issues?d.issues.length&&o.issues.push(...bi(d.issues)):(o.memo=!0,l.backEdges??(l.backEdges=new Set),l.backEdges.add(d.value)),o;wi=u;let f=Ti.length,p=t(o,s);wi=void 0;let m=Ti.length>f?Ti.pop():void 0;return p instanceof Promise?p.then(e=>(m&&(m.issues=e.issues.length?bi(e.issues):yi),e)):(m&&(m.issues=p.issues.length?bi(p.issues):yi),p)};e._zod.parse=a,e._zod.run===t&&(e._zod.run=a)})}};function Di(){return Ei}function Oi(e,t){let n=e[vi]?.backEdges;return n!==void 0&&typeof t==`object`&&!!t&&n.has(t)}const ki=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,credit_card:`credit card number`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(it(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${ze(e.values[0])}`:`Invalid option: expected one of ${Se(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${Se(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function Ai(){return{localeError:ki()}}var ji,Mi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Ni(){return new Mi}(ji=globalThis).__zod_globalRegistry??(ji.__zod_globalRegistry=Ni());const Pi=globalThis.__zod_globalRegistry;function Fi(e,t){return new e({type:`string`,...C(t)})}function Ii(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...C(t)})}function Li(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...C(t)})}function Ri(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...C(t)})}function zi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...C(t)})}function Bi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...C(t)})}function Vi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...C(t)})}function Hi(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...C(t)})}function Ui(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...C(t)})}function Wi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...C(t)})}function Gi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...C(t)})}function Ki(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...C(t)})}function qi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...C(t)})}function Ji(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...C(t)})}function Yi(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...C(t)})}function Xi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...C(t)})}function Zi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...C(t)})}function Qi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...C(t)})}function $i(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...C(t)})}function ea(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...C(t)})}function ta(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...C(t)})}function na(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...C(t)})}function ra(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...C(t)})}function ia(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...C(t)})}function aa(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...C(t)})}function oa(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...C(t)})}function sa(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...C(t)})}function ca(e,t){return new e({type:`number`,checks:[],...C(t)})}function la(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...C(t)})}function ua(e,t){return new e({type:`boolean`,...C(t)})}function da(e){return new e({type:`unknown`})}function fa(e,t){return new e({type:`never`,...C(t)})}function pa(e,t){return new jn({check:`less_than`,...C(t),value:e,inclusive:!1})}function ma(e,t){return new jn({check:`less_than`,...C(t),value:e,inclusive:!0})}function ha(e,t){return new Mn({check:`greater_than`,...C(t),value:e,inclusive:!1})}function ga(e,t){return new Mn({check:`greater_than`,...C(t),value:e,inclusive:!0})}function _a(e,t){return new Nn({check:`multiple_of`,...C(t),value:e})}function va(e,t){return new Fn({check:`max_length`,...C(t),maximum:e})}function ya(e,t){return new In({check:`min_length`,...C(t),minimum:e})}function ba(e,t){return new Ln({check:`length_equals`,...C(t),length:e})}function xa(e,t){return new zn({check:`string_format`,format:`regex`,...C(t),pattern:e})}function Sa(e){return new Bn({check:`string_format`,format:`lowercase`,...C(e)})}function Ca(e){return new Vn({check:`string_format`,format:`uppercase`,...C(e)})}function wa(e,t){return new Hn({check:`string_format`,format:`includes`,...C(t),includes:e})}function Ta(e,t){return new Un({check:`string_format`,format:`starts_with`,...C(t),prefix:e})}function Ea(e,t){return new Wn({check:`string_format`,format:`ends_with`,...C(t),suffix:e})}function Da(e){return new Gn({check:`overwrite`,tx:e})}function Oa(e){return Da(t=>t.normalize(e))}function ka(){return Da(e=>e.trim())}function Aa(){return Da(e=>e.toLowerCase())}function ja(){return Da(e=>e.toUpperCase())}function Ma(){return Da(e=>Ae(e))}function Na(e,t,n){return new e({type:`array`,element:t,...C(n)})}function Pa(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...C(n)})}function Fa(e,t){let n=Ia(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(at(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(at(r))}},e(t.value,t)),t);return n}function Ia(e,t){let n=new k({check:`custom`,...C(t)});return n._zod.check=e,n}function La(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&S(e,t,n[t]);return e}function Ra(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??Pi,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],external:e?.external??void 0}}function za(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function M(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,M(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&La(o.schema,c),t.io===`input`&&N(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Ba(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Va(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${Ba(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+Ba(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
65
51
 
66
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Pi(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Ii(t,`input`,e.processors),output:Ii(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function N(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return N(r.element,n);if(r.type===`set`)return N(r.valueType,n);if(r.type===`lazy`)return N(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return N(r.innerType,n);if(r.type===`intersection`)return N(r.left,n)||N(r.right,n);if(r.type===`record`||r.type===`map`)return N(r.keyType,n)||N(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:N(r.in,n)||N(r.out,n);if(r.type===`object`){for(let e in r.shape)if(N(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(N(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(N(e,n))return!0;return!!(r.rest&&N(r.rest,n))}return!1}const Fi=(e,t={})=>n=>{let r=Mi({...n,processors:t});return M(e,r),Ni(r,e),Pi(r,e)},Ii=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Mi({...i??{},target:a,io:t,processors:n});return M(e,o),Ni(o,e),Pi(o,e)},Li={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ri=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Li[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},zi=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},Bi=(e,t,n,r)=>{n.not={}},Vi=(e,t,n,r)=>{let i=e._zod.def,a=Te(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Hi=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Ui=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Wi=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=M(a.element,t,{...r,path:[...r.path,`items`]})},Gi=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=M(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=M(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ki=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>M(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},qi=(e,t,n,r)=>{let i=e._zod.def,a=M(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=M(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Ji=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=M(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else(t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=M(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=M(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Yi=(e,t,n,r)=>{let i=e._zod.def,a=M(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Xi=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Zi=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Qi=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},$i=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},ea=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;M(o,t,r);let s=t.seen.get(e);s.ref=o},ta=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},na=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ra=S(`ZodISODateTime`,(e,t)=>{An.init(e,t),L.init(e,t)});function ia(e){return ei(ra,e)}const aa=S(`ZodISODate`,(e,t)=>{jn.init(e,t),L.init(e,t)});function oa(e){return ti(aa,e)}const sa=S(`ZodISOTime`,(e,t)=>{Mn.init(e,t),L.init(e,t)});function ca(e){return ni(sa,e)}const la=S(`ZodISODuration`,(e,t)=>{Nn.init(e,t),L.init(e,t)});function ua(e){return ri(la,e)}const P=S(`ZodError`,(e,t)=>{at.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>ct(e,t)},flatten:{value:t=>st(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Ee,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Ee,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),da=ut(P),fa=dt(P),pa=ft(P),ma=mt(P),ha=gt(P),ga=_t(P),_a=vt(P),va=yt(P),ya=bt(P),ba=xt(P),xa=St(P),Sa=Ct(P),Ca=new WeakMap;function wa(e,t,n){let r=Object.getPrototypeOf(e),i=Ca.get(r);if(i||(i=new Set,Ca.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}const F=S(`ZodType`,(e,t)=>(A.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Ii(e,`input`),output:Ii(e,`output`)}}),e.toJSONSchema=Fi(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>da(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>pa(e,t,n),e.parseAsync=async(t,n)=>fa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>ma(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ha(e,t,n),e.decode=(t,n)=>ga(e,t,n),e.encodeAsync=async(t,n)=>_a(e,t,n),e.decodeAsync=async(t,n)=>va(e,t,n),e.safeEncode=(t,n)=>ya(e,t,n),e.safeDecode=(t,n)=>ba(e,t,n),e.safeEncodeAsync=async(t,n)=>xa(e,t,n),e.safeDecodeAsync=async(t,n)=>Sa(e,t,n),wa(e,`ZodType`,{check(...e){let t=this.def;return this.clone(Ne(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return T(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Fo(e,t))},superRefine(e,t){return this.check(Io(e,t))},overwrite(e){return this.check(Si(e))},optional(){return go(this)},exactOptional(){return vo(this)},nullable(){return bo(this)},nullish(){return go(bo(this))},nonoptional(e){return Eo(this,e)},array(){return to(this)},or(e){return ao([this,e])},and(e){return so(this,e)},transform(e){return Ao(this,mo(e))},default(e){return So(this,e)},prefault(e){return wo(this,e)},catch(e){return Oo(this,e)},pipe(e){return Ao(this,e)},readonly(){return No(this)},describe(e){let t=this.clone();return Ar.add(t,{description:e}),t},meta(...e){if(e.length===0)return Ar.get(this);let t=this.clone();return Ar.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return Ar.get(e)?.description},configurable:!0}),e)),Ta=S(`_ZodString`,(e,t)=>{vn.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ri(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,wa(e,`_ZodString`,{regex(...e){return this.check(gi(...e))},includes(...e){return this.check(yi(...e))},startsWith(...e){return this.check(bi(...e))},endsWith(...e){return this.check(xi(...e))},min(...e){return this.check(mi(...e))},max(...e){return this.check(pi(...e))},length(...e){return this.check(hi(...e))},nonempty(...e){return this.check(mi(1,...e))},lowercase(e){return this.check(_i(e))},uppercase(e){return this.check(vi(e))},trim(){return this.check(wi())},normalize(...e){return this.check(Ci(...e))},toLowerCase(){return this.check(Ti())},toUpperCase(){return this.check(Ei())},slugify(){return this.check(Di())}})}),Ea=S(`ZodString`,(e,t)=>{vn.init(e,t),Ta.init(e,t),e.email=t=>e.check(Mr(Da,t)),e.url=t=>e.check(Rr(Aa,t)),e.jwt=t=>e.check($r(Ga,t)),e.emoji=t=>e.check(zr(ja,t)),e.guid=t=>e.check(Nr(Oa,t)),e.uuid=t=>e.check(Pr(ka,t)),e.uuidv4=t=>e.check(Fr(ka,t)),e.uuidv6=t=>e.check(Ir(ka,t)),e.uuidv7=t=>e.check(Lr(ka,t)),e.nanoid=t=>e.check(Br(Ma,t)),e.guid=t=>e.check(Nr(Oa,t)),e.cuid=t=>e.check(Vr(Na,t)),e.cuid2=t=>e.check(Hr(Pa,t)),e.ulid=t=>e.check(Ur(Fa,t)),e.base64=t=>e.check(Xr(Ha,t)),e.base64url=t=>e.check(Zr(Ua,t)),e.xid=t=>e.check(Wr(Ia,t)),e.ksuid=t=>e.check(Gr(La,t)),e.ipv4=t=>e.check(Kr(Ra,t)),e.ipv6=t=>e.check(qr(za,t)),e.cidrv4=t=>e.check(Jr(Ba,t)),e.cidrv6=t=>e.check(Yr(Va,t)),e.e164=t=>e.check(Qr(Wa,t)),e.datetime=t=>e.check(ia(t)),e.date=t=>e.check(oa(t)),e.time=t=>e.check(ca(t)),e.duration=t=>e.check(ua(t))});function I(e){return jr(Ea,e)}const L=S(`ZodStringFormat`,(e,t)=>{j.init(e,t),Ta.init(e,t)}),Da=S(`ZodEmail`,(e,t)=>{xn.init(e,t),L.init(e,t)}),Oa=S(`ZodGUID`,(e,t)=>{yn.init(e,t),L.init(e,t)}),ka=S(`ZodUUID`,(e,t)=>{bn.init(e,t),L.init(e,t)}),Aa=S(`ZodURL`,(e,t)=>{Sn.init(e,t),L.init(e,t)}),ja=S(`ZodEmoji`,(e,t)=>{Cn.init(e,t),L.init(e,t)}),Ma=S(`ZodNanoID`,(e,t)=>{wn.init(e,t),L.init(e,t)}),Na=S(`ZodCUID`,(e,t)=>{Tn.init(e,t),L.init(e,t)}),Pa=S(`ZodCUID2`,(e,t)=>{En.init(e,t),L.init(e,t)}),Fa=S(`ZodULID`,(e,t)=>{Dn.init(e,t),L.init(e,t)}),Ia=S(`ZodXID`,(e,t)=>{On.init(e,t),L.init(e,t)}),La=S(`ZodKSUID`,(e,t)=>{kn.init(e,t),L.init(e,t)}),Ra=S(`ZodIPv4`,(e,t)=>{Pn.init(e,t),L.init(e,t)}),za=S(`ZodIPv6`,(e,t)=>{Fn.init(e,t),L.init(e,t)}),Ba=S(`ZodCIDRv4`,(e,t)=>{In.init(e,t),L.init(e,t)}),Va=S(`ZodCIDRv6`,(e,t)=>{Ln.init(e,t),L.init(e,t)}),Ha=S(`ZodBase64`,(e,t)=>{zn.init(e,t),L.init(e,t)}),Ua=S(`ZodBase64URL`,(e,t)=>{Vn.init(e,t),L.init(e,t)}),Wa=S(`ZodE164`,(e,t)=>{Hn.init(e,t),L.init(e,t)}),Ga=S(`ZodJWT`,(e,t)=>{Wn.init(e,t),L.init(e,t)}),Ka=S(`ZodNumber`,(e,t)=>{Gn.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zi(e,t,n,r),wa(e,`ZodNumber`,{gt(e,t){return this.check(ui(e,t))},gte(e,t){return this.check(di(e,t))},min(e,t){return this.check(di(e,t))},lt(e,t){return this.check(ci(e,t))},lte(e,t){return this.check(li(e,t))},max(e,t){return this.check(li(e,t))},int(e){return this.check(Ya(e))},safe(e){return this.check(Ya(e))},positive(e){return this.check(ui(0,e))},nonnegative(e){return this.check(di(0,e))},negative(e){return this.check(ci(0,e))},nonpositive(e){return this.check(li(0,e))},multipleOf(e,t){return this.check(fi(e,t))},step(e,t){return this.check(fi(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function qa(e){return ii(Ka,e)}const Ja=S(`ZodNumberFormat`,(e,t)=>{Kn.init(e,t),Ka.init(e,t)});function Ya(e){return ai(Ja,e)}const Xa=S(`ZodUnknown`,(e,t)=>{qn.init(e,t),F.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Za(){return oi(Xa)}const Qa=S(`ZodNever`,(e,t)=>{Jn.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bi(e,t,n,r)});function $a(e){return si(Qa,e)}const eo=S(`ZodArray`,(e,t)=>{Xn.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wi(e,t,n,r),e.element=t.element,wa(e,`ZodArray`,{min(e,t){return this.check(mi(e,t))},nonempty(e){return this.check(mi(1,e))},max(e,t){return this.check(pi(e,t))},length(e,t){return this.check(hi(e,t))},unwrap(){return this.element}})});function to(e,t){return Oi(eo,e,t)}const no=S(`ZodObject`,(e,t)=>{tr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gi(e,t,n,r),w(e,`shape`,()=>t.shape),wa(e,`ZodObject`,{keyof(){return fo(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Za()})},loose(){return this.clone({...this._zod.def,catchall:Za()})},strict(){return this.clone({...this._zod.def,catchall:$a()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return qe(this,e)},safeExtend(e){return Je(this,e)},merge(e){return Ye(this,e)},pick(e){return Ge(this,e)},omit(e){return Ke(this,e)},partial(...e){return Xe(ho,this,e[0])},required(...e){return Ze(To,this,e[0])}})});function R(e,t){return new no({type:`object`,shape:e,catchall:$a(),...E(t)})}function ro(e,t){return new no({type:`object`,shape:e,catchall:Za(),...E(t)})}const io=S(`ZodUnion`,(e,t)=>{rr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ki(e,t,n,r),e.options=t.options});function ao(e,t){return new io({type:`union`,options:e,...E(t)})}const oo=S(`ZodIntersection`,(e,t)=>{ir.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n,r)});function so(e,t){return new oo({type:`intersection`,left:e,right:t})}const co=S(`ZodRecord`,(e,t)=>{sr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ji(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function lo(e,t,n){return!t||!t._zod?new co({type:`record`,keyType:I(),valueType:e,...E(t)}):new co({type:`record`,keyType:e,valueType:t,...E(n)})}const uo=S(`ZodEnum`,(e,t)=>{cr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vi(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new uo({...t,checks:[],...E(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new uo({...t,checks:[],...E(r),entries:i})}});function fo(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new uo({type:`enum`,entries:n,...E(t)})}const po=S(`ZodTransform`,(e,t)=>{lr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ui(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Ce(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(rt(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(rt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function mo(e){return new po({type:`transform`,transform:e})}const ho=S(`ZodOptional`,(e,t)=>{dr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>na(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function go(e){return new ho({type:`optional`,innerType:e})}const _o=S(`ZodExactOptional`,(e,t)=>{fr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>na(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function vo(e){return new _o({type:`optional`,innerType:e})}const yo=S(`ZodNullable`,(e,t)=>{pr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function bo(e){return new yo({type:`nullable`,innerType:e})}const xo=S(`ZodDefault`,(e,t)=>{mr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function So(e,t){return new xo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Be(t)}})}const Co=S(`ZodPrefault`,(e,t)=>{gr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function wo(e,t){return new Co({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Be(t)}})}const To=S(`ZodNonOptional`,(e,t)=>{_r.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xi(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Eo(e,t){return new To({type:`nonoptional`,innerType:e,...E(t)})}const Do=S(`ZodCatch`,(e,t)=>{yr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$i(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Oo(e,t){return new Do({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const ko=S(`ZodPipe`,(e,t)=>{br.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ea(e,t,n,r),e.in=t.in,e.out=t.out});function Ao(e,t){return new ko({type:`pipe`,in:e,out:t})}const jo=S(`ZodPreprocess`,(e,t)=>{ko.init(e,t),Sr.init(e,t)}),Mo=S(`ZodReadonly`,(e,t)=>{Cr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ta(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function No(e){return new Mo({type:`readonly`,innerType:e})}const Po=S(`ZodCustom`,(e,t)=>{Tr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hi(e,t,n,r)});function Fo(e,t={}){return ki(Po,e,t)}function Io(e,t){return Ai(e,t)}function Lo(e,t){return new jo({type:`pipe`,in:mo(e),out:t})}const Ro=new Set([`__proto__`,`constructor`,`prototype`]),zo=(e,t,n)=>Lo((n,r)=>{if(typeof n==`object`&&n)for(let i of Reflect.ownKeys(n))(typeof i!=`string`||!e(i))&&r.addIssue({code:`custom`,message:t(String(i)),path:[String(i)]});return n},n),Bo=e=>e.length>0&&!Ro.has(e),Vo=e=>zo(Bo,()=>`package key must be non-empty and not "__proto__", "constructor", or "prototype"`,lo(I().min(1),e)),Ho=[`blobless`,`full`],Uo=[`ssh`,`https`],Wo=/^(?!\.{1,2}$)[^/\\%:]+$/u,Go=/^[a-z0-9][a-z0-9.-]*(?:_[1-9]\d{0,4})?$/u,Ko=/^(?<amount>[1-9]\d{0,3})(?<unit>[mhd])$/u,qo={d:864e5,h:36e5,m:6e4},Jo=e=>e!==``&&/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u.test(e),Yo=e=>{if(e===void 0)return!0;let t=Number(e);return t>=1&&t<=65535},Xo=e=>{let[t=``,n]=e.split(`_`);return Yo(n)?t.split(`.`).every(e=>Jo(e)):!1},z=I().refine(e=>{let[t,...n]=e.split(`/`);return t===void 0||n.length<2||!Go.test(t)||!Xo(t)?!1:n.every(e=>Wo.test(e))},`ref key must be host/path…/repo with safe, non-empty segments`).brand(),Zo=I().regex(Ko,`duration must be <n>m, <n>h, or <n>d`).brand(),Qo=e=>{let t=Ko.exec(e);if(t===null)throw Error(`invalid duration: ${e}`);let{amount:n,unit:r}=t.groups??{};if(!n||!r)throw Error(`invalid duration: ${e}`);return Number(n)*qo[r]},$o=fo(Ho),es=fo(Uo),ts=I().refine(e=>e.includes(`{version}`),`tag format must contain {version}`),ns=I().refine(e=>{if(e===`.`)return!0;let t=e.split(`/`);return t.length>0&&t.every(e=>Wo.test(e)&&e!==`.`)},`package path must be "." or a normalized relative path without traversal`),rs={clone_mode:`blobless`,git_transport:`https`,sync_ttl:`1h`},is=R({clone_mode:$o.default(rs.clone_mode),git_transport:es.default(rs.git_transport),sync_ttl:Zo.default(Zo.parse(rs.sync_ttl))}),as=R((e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.removeDefault().optional()])))(is.shape)),os=R({description:I().min(1),path:ns,tag_format:ts.optional()}),ss=R({default_branch:I().min(1),description:I().min(1),packages:Vo(os).optional(),tag_format:ts,url:I().min(1),...as.shape}),cs=R({meta:ro({cli_version:I().min(1),schema_version:qa().int().positive()}),refs:zo(e=>z.safeParse(e).success,()=>`ref key must be host/path…/repo with safe, non-empty segments`,lo(I(),ss)).default({}),settings:is});
52
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}e.external&&(e.sharedDefsExtractedFor=e.external)}function Ha(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Ha(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const Ua=new Set([`type`,`properties`,`required`,`additionalProperties`]),Wa=[`oneOf`,`anyOf`];function Ga(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Ka(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Ua.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??Ga(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}S(n,r,e.length===1?e[0]:Ka(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Ga(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function qa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Ua)if(t in e)return;let n=t.filter(e=>Wa.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Ka(t);else{let e=n[0],i=Wa.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Ka([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,La(e,r))}function Ja(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):La(i,s),La(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Ha(t[1].def??t[1].schema);if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])qa(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}La(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,S(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Xa(t,`input`,e.processors),output:Xa(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function N(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return N(r.element,n);if(r.type===`set`)return N(r.valueType,n);if(r.type===`lazy`)return N(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return N(r.innerType,n);if(r.type===`intersection`)return N(r.left,n)||N(r.right,n);if(r.type===`record`||r.type===`map`)return N(r.keyType,n)||N(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:N(r.in,n)||N(r.out,n);if(r.type===`object`){for(let e in r.shape)if(N(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(N(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(N(e,n))return!0;return!!(r.rest&&N(r.rest,n))}return!1}const Ya=(e,t={})=>n=>{let r=Ra({...n,processors:t});return M(e,r),Va(r,e),Ja(r,e)},Xa=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ra({...i??{},target:a,io:t,processors:n});return M(e,o),Va(o,e),Ja(o,e)},Za={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Qa=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Za[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},$a=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(Number.isFinite(c)&&c!==0?i.multipleOf=Math.abs(c):za(e,t,i,r,`A multipleOf divisor of ${c} cannot be represented in JSON Schema`))},eo=(e,t,n,r)=>{n.type=`boolean`},to=(e,t,n,r)=>{n.not={}},no=(e,t,n,r)=>{let i=e._zod.def,a=xe(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},ro=(e,t,n,r)=>{za(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},io=(e,t,n,r)=>{za(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},ao=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=M(a.element,t,{...r,path:[...r.path,`items`]})};function oo(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?oo(t.out):t.type===`catch`?oo(t.innerType):e._zod.optin}const so=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&za(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)S(i.properties,e,M(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e];return t.io===`input`?oo(n)===void 0:n._zod.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=M(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},co=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>M(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},lo=(e,t,n,r)=>{let i=e._zod.def,a=M(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=M(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},uo=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=M(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)S(i.patternProperties,t.source,e)}else(t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=M(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=M(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values,l=t.io===`input`&&oo(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},fo=(e,t,n,r)=>{let i=e._zod.def,a=M(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},po=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},mo=Symbol();function ho(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(za(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),mo):JSON.parse(o)}const go=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=ho(i.defaultValue,e,t,n,r);o!==mo&&(n.default=o)},_o=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=ho(i.defaultValue,e,t,n,r);o!==mo&&(n._prefault=o)},vo=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{za(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},yo=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;M(o,t,r);let s=t.seen.get(e);s.ref=o},bo=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},xo=(e,t,n,r)=>{let i=e._zod.def;M(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},So=new WeakSet([Object.prototype,Error.prototype]);function Co(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const P=T(`ZodError`,(e,t)=>{kt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);So.has(n)||(So.add(n),Co(n,`format`,e=>t=>Nt(e,t)),Co(n,`flatten`,e=>t=>Mt(e,t)),Co(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Ce,2)}),Co(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Ce,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),wo=It(P),To=Lt(P),Eo=Rt(P),Do=Bt(P),Oo=Ht(P),ko=Ut(P),Ao=Wt(P),jo=Gt(P),Mo=Kt(P),No=qt(P),Po=Jt(P),Fo=Yt(P);function Io(){E.localeError||D(Ai())}function Lo(){E.memoizer||D({memoizer:Di()})}const F=T(`ZodType`,(e,t)=>(Io(),A.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(Oe(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Re(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check($s(e,t))},superRefine(e,t){return this.check(ec(e,t))},overwrite(e){return this.check(Da(e))},optional(){return Ps(this)},exactOptional(){return Is(this)},nullable(){return Rs(this)},nullish(){return Ps(Rs(this))},nonoptional(e){return Ws(this,e)},array(){return bs(this)},or(e){return ws([this,e])},and(e){return Es(this,e)},transform(e){return Js(this,Ms(e))},default(e){return Bs(this,e)},prefault(e){return Hs(this,e)},catch(e){return Ks(this,e)},pipe(e){return Js(this,e)},readonly(){return Zs(this)},describe(e){let t=this.clone();return Pi.add(t,{description:e}),t},meta(...e){if(e.length===0)return Pi.get(this);let t=this.clone();return Pi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return ct(this,`~standard`,{...Yn(this),jsonSchema:{input:Xa(this,`input`),output:Xa(this,`output`)}})},set"~standard"(e){st(this,`~standard`,e)},parse:function e(t,n){return wo(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await To(this,t,n,{callee:e})},safeParse(e,t){return Eo(this,e,t)},async safeParseAsync(e,t){return Do(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){st(this,`spa`,e)},encode:function e(t,n){return Oo(this,t,n,{callee:e})},decode:function e(t,n){return ko(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Ao(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await jo(this,t,n,{callee:e})},safeEncode(e,t){return Mo(this,e,t)},safeDecode(e,t){return No(this,e,t)},async safeEncodeAsync(e,t){return Po(this,e,t)},async safeDecodeAsync(e,t){return Fo(this,e,t)},toJSONSchema(e){return Ya(this,{})(e)},get description(){return Pi.get(this)?.description},get _def(){return this._zod.def}}),Ro=T(`_ZodString`,(e,t)=>{Xn.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null},{regex(...e){return this.check(xa(...e))},includes(...e){return this.check(wa(...e))},startsWith(...e){return this.check(Ta(...e))},endsWith(...e){return this.check(Ea(...e))},min(...e){return this.check(ya(...e))},max(...e){return this.check(va(...e))},length(...e){return this.check(ba(...e))},nonempty(...e){return this.check(ya(1,...e))},lowercase(e){return this.check(Sa(e))},uppercase(e){return this.check(Ca(e))},trim(){return this.check(ka())},normalize(...e){return this.check(Oa(...e))},toLowerCase(){return this.check(Aa())},toUpperCase(){return this.check(ja())},slugify(){return this.check(Ma())}}),zo=T(`ZodString`,(e,t)=>{Xn.init(e,t),Ro.init(e,t)},{email(e){return this.check(Ii(Wo,e))},url(e){return this.check(Hi(qo,e))},jwt(e){return this.check(ra(cs,e))},emoji(e){return this.check(Ui(Jo,e))},guid(e){return this.check(Li(Go,e))},uuid(e){return this.check(Ri(Ko,e))},uuidv4(e){return this.check(zi(Ko,e))},uuidv6(e){return this.check(Bi(Ko,e))},uuidv7(e){return this.check(Vi(Ko,e))},nanoid(e){return this.check(Wi(Yo,e))},cuid(e){return this.check(Gi(Xo,e))},cuid2(e){return this.check(Ki(Zo,e))},ulid(e){return this.check(qi(Qo,e))},base64(e){return this.check(ea(as,e))},base64url(e){return this.check(ta(os,e))},xid(e){return this.check(Ji($o,e))},ksuid(e){return this.check(Yi(es,e))},ipv4(e){return this.check(Xi(ts,e))},ipv6(e){return this.check(Zi(ns,e))},cidrv4(e){return this.check(Qi(rs,e))},cidrv6(e){return this.check($i(is,e))},e164(e){return this.check(na(ss,e))},datetime(e){return this.check(ia(Bo,e))},date(e){return this.check(aa(Vo,e))},time(e){return this.check(oa(Ho,e))},duration(e){return this.check(sa(Uo,e))}});function I(e){return Fi(zo,e)}const L=T(`ZodStringFormat`,(e,t)=>{j.init(e,t),Ro.init(e,t)}),Bo=T(`ZodISODateTime`,(e,t)=>{pr.init(e,t),L.init(e,t)}),Vo=T(`ZodISODate`,(e,t)=>{mr.init(e,t),L.init(e,t)}),Ho=T(`ZodISOTime`,(e,t)=>{hr.init(e,t),L.init(e,t)}),Uo=T(`ZodISODuration`,(e,t)=>{gr.init(e,t),L.init(e,t)}),Wo=T(`ZodEmail`,(e,t)=>{$n.init(e,t),L.init(e,t)}),Go=T(`ZodGUID`,(e,t)=>{Zn.init(e,t),L.init(e,t)}),Ko=T(`ZodUUID`,(e,t)=>{Qn.init(e,t),L.init(e,t)}),qo=T(`ZodURL`,(e,t)=>{ar.init(e,t),L.init(e,t)}),Jo=T(`ZodEmoji`,(e,t)=>{or.init(e,t),L.init(e,t)}),Yo=T(`ZodNanoID`,(e,t)=>{sr.init(e,t),L.init(e,t)}),Xo=T(`ZodCUID`,(e,t)=>{cr.init(e,t),L.init(e,t)}),Zo=T(`ZodCUID2`,(e,t)=>{lr.init(e,t),L.init(e,t)}),Qo=T(`ZodULID`,(e,t)=>{ur.init(e,t),L.init(e,t)}),$o=T(`ZodXID`,(e,t)=>{dr.init(e,t),L.init(e,t)}),es=T(`ZodKSUID`,(e,t)=>{fr.init(e,t),L.init(e,t)}),ts=T(`ZodIPv4`,(e,t)=>{_r.init(e,t),L.init(e,t)}),ns=T(`ZodIPv6`,(e,t)=>{br.init(e,t),L.init(e,t)}),rs=T(`ZodCIDRv4`,(e,t)=>{xr.init(e,t),L.init(e,t)}),is=T(`ZodCIDRv6`,(e,t)=>{Cr.init(e,t),L.init(e,t)}),as=T(`ZodBase64`,(e,t)=>{Tr.init(e,t),L.init(e,t)}),os=T(`ZodBase64URL`,(e,t)=>{Dr.init(e,t),L.init(e,t)}),ss=T(`ZodE164`,(e,t)=>{Or.init(e,t),L.init(e,t)}),cs=T(`ZodJWT`,(e,t)=>{Ar.init(e,t),L.init(e,t)}),ls=T(`ZodNumber`,(e,t)=>{jr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$a(e,t,n,r);let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null},{gt(e,t){return this.check(ha(e,t))},gte(e,t){return this.check(ga(e,t))},min(e,t){return this.check(ga(e,t))},lt(e,t){return this.check(pa(e,t))},lte(e,t){return this.check(ma(e,t))},max(e,t){return this.check(ma(e,t))},int(e){return this.check(fs(e))},safe(e){return this.check(fs(e))},positive(e){return this.check(ha(0,e))},nonnegative(e){return this.check(ga(0,e))},negative(e){return this.check(pa(0,e))},nonpositive(e){return this.check(ma(0,e))},multipleOf(e,t){return this.check(_a(e,t))},step(e,t){return this.check(_a(e,t))},finite(){return this}});function us(e){return ca(ls,e)}const ds=T(`ZodNumberFormat`,(e,t)=>{Mr.init(e,t),ls.init(e,t)});function fs(e){return la(ds,e)}const ps=T(`ZodBoolean`,(e,t)=>{Nr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>eo(e,t,n,r)});function ms(e){return ua(ps,e)}const hs=T(`ZodUnknown`,(e,t)=>{Pr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function gs(){return da(hs)}const _s=T(`ZodNever`,(e,t)=>{Fr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(e,t,n,r)});function vs(e){return fa(_s,e)}const ys=T(`ZodArray`,(e,t)=>{Lo(),Lr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ao(e,t,n,r),e.element=t.element},{min(e,t){return this.check(ya(e,t))},nonempty(e){return this.check(ya(1,e))},max(e,t){return this.check(va(e,t))},length(e,t){return this.check(ba(e,t))},unwrap(){return this.element}});function bs(e,t){return Na(ys,e,t)}const xs=T(`ZodObject`,(e,t)=>{Lo(),Wr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>so(e,t,n,r),mt(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return As(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:gs()})},loose(){return this.clone({...this._zod.def,catchall:gs()})},strict(){return this.clone({...this._zod.def,catchall:vs()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return We(this,e)},safeExtend(e){return Ge(this,e)},merge(e){return Ke(this,e)},pick(e){return He(this,e)},omit(e){return Ue(this,e)},partial(...e){return qe(Ns,this,e[0])},exactPartial(...e){return qe(Fs,this,e[0],`exactPartial`)},required(...e){return Je(Us,this,e[0])}});function R(e,t){return new xs({type:`object`,shape:e,catchall:vs(),...C(t)})}function Ss(e,t){return new xs({type:`object`,shape:e,catchall:gs(),...C(t)})}const Cs=T(`ZodUnion`,(e,t)=>{Kr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>co(e,t,n,r),e.options=t.options});function ws(e,t){return new Cs({type:`union`,options:e,...C(t)})}const Ts=T(`ZodIntersection`,(e,t)=>{qr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lo(e,t,n,r)});function Es(e,t){return new Ts({type:`intersection`,left:e,right:t})}const Ds=T(`ZodRecord`,(e,t)=>{Lo(),Xr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uo(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Os(e,t,n){return!t||!t._zod?new Ds({type:`record`,keyType:I(),valueType:e,...C(t)}):new Ds({type:`record`,keyType:e,valueType:t,...C(n)})}const ks=T(`ZodEnum`,(e,t)=>{Zr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>no(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new ks({...t,checks:[],...C(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new ks({...t,checks:[],...C(r),entries:i})}});function As(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new ks({type:`enum`,entries:n,...C(t)})}const js=T(`ZodTransform`,(e,t)=>{Lo(),Qr.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new xt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(at(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(at(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Ms(e){return new js({type:`transform`,transform:e})}const Ns=T(`ZodOptional`,(e,t)=>{ei.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ps(e){return new Ns({type:`optional`,innerType:e})}const Fs=T(`ZodExactOptional`,(e,t)=>{ti.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Is(e){return new Fs({type:`optional`,innerType:e})}const Ls=T(`ZodNullable`,(e,t)=>{ni.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Rs(e){return new Ls({type:`nullable`,innerType:e})}const zs=T(`ZodDefault`,(e,t)=>{ri.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>go(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Bs(e,t){return new zs({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Fe(t)}})}const Vs=T(`ZodPrefault`,(e,t)=>{ai.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_o(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Hs(e,t){return new Vs({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Fe(t)}})}const Us=T(`ZodNonOptional`,(e,t)=>{oi.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>po(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ws(e,t){return new Us({type:`nonoptional`,innerType:e,...C(t)})}const Gs=T(`ZodCatch`,(e,t)=>{li.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Ks(e,t){return new Gs({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:ht(t)})}const qs=T(`ZodPipe`,(e,t)=>{ui.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yo(e,t,n,r),e.in=t.in,e.out=t.out});function Js(e,t){return new qs({type:`pipe`,in:e,out:t})}const Ys=T(`ZodPreprocess`,(e,t)=>{qs.init(e,t),fi.init(e,t)}),Xs=T(`ZodReadonly`,(e,t)=>{pi.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zs(e){return new Xs({type:`readonly`,innerType:e})}const Qs=T(`ZodCustom`,(e,t)=>{hi.init(e,t),F.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r)});function $s(e,t={}){return Pa(Qs,e,t)}function ec(e,t){return Fa(e,t)}function tc(e,t){return new Ys({type:`pipe`,in:Ms(e),out:t})}function nc(e){return ia(Bo,e)}const rc=new Set([`__proto__`,`constructor`,`prototype`]),ic=(e,t,n)=>tc((n,r)=>{if(typeof n==`object`&&n)for(let i of Reflect.ownKeys(n))(typeof i!=`string`||!e(i))&&r.addIssue({code:`custom`,message:t(String(i)),path:[String(i)]});return n},n),ac=e=>e.length>0&&!rc.has(e),oc=e=>ic(ac,()=>`package key must be non-empty and not "__proto__", "constructor", or "prototype"`,Os(I().min(1),e)),sc=[`blobless`,`full`],cc=[`ssh`,`https`],lc=/^(?!\.{1,2}$)[^/\\%:]+$/u,uc=/^[a-z0-9][a-z0-9.-]*(?:_[1-9]\d{0,4})?$/u,dc=/^(?<amount>[1-9]\d{0,3})(?<unit>[mhd])$/u,fc={d:864e5,h:36e5,m:6e4},pc=e=>e!==``&&/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u.test(e),mc=e=>{if(e===void 0)return!0;let t=Number(e);return t>=1&&t<=65535},hc=e=>{let[t=``,n]=e.split(`_`);return mc(n)?t.split(`.`).every(e=>pc(e)):!1},z=I().refine(e=>{let[t,...n]=e.split(`/`);return t===void 0||n.length<2||!uc.test(t)||!hc(t)?!1:n.every(e=>lc.test(e))},`ref key must be host/path…/repo with safe, non-empty segments`).brand(),gc=I().regex(dc,`duration must be <n>m, <n>h, or <n>d`).brand(),_c=e=>{let t=dc.exec(e);if(t===null)throw Error(`invalid duration: ${e}`);let{amount:n,unit:r}=t.groups??{};if(!n||!r)throw Error(`invalid duration: ${e}`);return Number(n)*fc[r]},vc=As(sc),yc=As(cc),bc=I().refine(e=>e.includes(`{version}`),`tag format must contain {version}`),xc=I().refine(e=>{if(e===`.`)return!0;let t=e.split(`/`);return t.length>0&&t.every(e=>lc.test(e)&&e!==`.`)},`package path must be "." or a normalized relative path without traversal`),Sc={clone_mode:`blobless`,git_transport:`https`,sync_ttl:`1h`},Cc=R({clone_mode:vc.default(Sc.clone_mode),git_transport:yc.default(Sc.git_transport),sync_ttl:gc.default(gc.parse(Sc.sync_ttl))}),wc=R((e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.removeDefault().optional()])))(Cc.shape)),Tc=R({description:I().min(1),path:xc,tag_format:bc.optional()}),Ec=R({default_branch:I().min(1),description:I().min(1),packages:oc(Tc).optional(),tag_format:bc.optional(),url:I().min(1),...wc.shape}),Dc=Ss({cli_version:I().min(1),schema_version:us().int().positive()}),Oc=ic(e=>z.safeParse(e).success,()=>`ref key must be host/path…/repo with safe, non-empty segments`,Os(I(),Ec)),kc=R({check:ms().default(!0),notify:ms().default(!0)}),Ac=R({meta:Dc,refs:Oc.default({}),settings:Cc,updates:kc.optional()});
67
53
  /*!
68
54
  * Copyright (c) Squirrel Chat et al., All rights reserved.
69
55
  * SPDX-License-Identifier: BSD-3-Clause
@@ -91,7 +77,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
91
77
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
92
78
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
93
79
  */
94
- let ls=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;var us=class e extends Date{#e=!1;#t=!1;#n=null;constructor(e){let t=!0,n=!0,r=`Z`;if(typeof e==`string`){let i=e.match(ls);i?(i[1]||(t=!1,e=`0000-01-01T${e}`),n=!!i[2],n&&e[10]===` `&&(e=e.replace(` `,`T`)),i[2]&&+i[2]>23?e=``:(r=i[3]||null,e=e.toUpperCase(),!r&&n&&(e+=`Z`))):e=``}super(e),isNaN(this.getTime())||(this.#e=t,this.#t=n,this.#n=r)}isDateTime(){return this.#e&&this.#t}isLocal(){return!this.#e||!this.#t||!this.#n}isDate(){return this.#e&&!this.#t}isTime(){return this.#t&&!this.#e}isValid(){return this.#e||this.#t}toISOString(){let e=super.toISOString();if(this.isDate())return e.slice(0,10);if(this.isTime())return e.slice(11,23);if(this.#n===null)return e.slice(0,-1);if(this.#n===`Z`)return e;let t=this.#n.slice(1,3)*60+ +this.#n.slice(4,6);return t=this.#n[0]===`-`?t:-t,new Date(this.getTime()-t*6e4).toISOString().slice(0,-1)+this.#n}static wrapAsOffsetDateTime(t,n=`Z`){let r=new e(t);return r.#n=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#n=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#t=!1,n.#n=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#e=!1,n.#n=null,n}};
80
+ let jc=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;var Mc=class e extends Date{#e=!1;#t=!1;#n=null;constructor(e){let t=!0,n=!0,r=`Z`;if(typeof e==`string`){let i=e.match(jc);i?(i[1]||(t=!1,e=`0000-01-01T${e}`),n=!!i[2],n&&e[10]===` `&&(e=e.replace(` `,`T`)),i[2]&&+i[2]>23?e=``:(r=i[3]||null,e=e.toUpperCase(),!r&&n&&(e+=`Z`))):e=``}super(e),isNaN(this.getTime())||(this.#e=t,this.#t=n,this.#n=r)}isDateTime(){return this.#e&&this.#t}isLocal(){return!this.#e||!this.#t||!this.#n}isDate(){return this.#e&&!this.#t}isTime(){return this.#t&&!this.#e}isValid(){return this.#e||this.#t}toISOString(){let e=super.toISOString();if(this.isDate())return e.slice(0,10);if(this.isTime())return e.slice(11,23);if(this.#n===null)return e.slice(0,-1);if(this.#n===`Z`)return e;let t=this.#n.slice(1,3)*60+ +this.#n.slice(4,6);return t=this.#n[0]===`-`?t:-t,new Date(this.getTime()-t*6e4).toISOString().slice(0,-1)+this.#n}static wrapAsOffsetDateTime(t,n=`Z`){let r=new e(t);return r.#n=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#n=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#t=!1,n.#n=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#e=!1,n.#n=null,n}};
95
81
  /*!
96
82
  * Copyright (c) Squirrel Chat et al., All rights reserved.
97
83
  * SPDX-License-Identifier: BSD-3-Clause
@@ -119,9 +105,9 @@ let ls=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]
119
105
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
120
106
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
121
107
  */
122
- function ds(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return[n.length,n.pop().length+1]}function fs(e,t,n){let r=e.split(/\r\n|\n|\r/g),i=``,a=(Math.log10(t+1)|0)+1;for(let e=t-1;e<=t+1;e++){let o=r[e-1];o&&(i+=e.toString().padEnd(a,` `),i+=`: `,i+=o,i+=`
108
+ function Nc(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return[n.length,n.pop().length+1]}function Pc(e,t,n){let r=e.split(/\r\n|\n|\r/g),i=``,a=(Math.log10(t+1)|0)+1;for(let e=t-1;e<=t+1;e++){let o=r[e-1];o&&(i+=e.toString().padEnd(a,` `),i+=`: `,i+=o,i+=`
123
109
  `,e===t&&(i+=` `.repeat(a+n+2),i+=`^
124
- `))}return i}var B=class extends Error{line;column;codeblock;constructor(e,t){let[n,r]=ds(t.toml,t.ptr),i=fs(t.toml,n,r);super(`Invalid TOML document: ${e}\n\n${i}`,t),this.line=n,this.column=r,this.codeblock=i}};
110
+ `))}return i}var B=class extends Error{line;column;codeblock;constructor(e,t){let[n,r]=Nc(t.toml,t.ptr),i=Pc(t.toml,n,r);super(`Invalid TOML document: ${e}\n\n${i}`,t),this.line=n,this.column=r,this.codeblock=i}};
125
111
  /*!
126
112
  * Copyright (c) Squirrel Chat et al., All rights reserved.
127
113
  * SPDX-License-Identifier: BSD-3-Clause
@@ -149,12 +135,8 @@ function ds(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return[n.length,n.pop()
149
135
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
150
136
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
151
137
  */
152
- let ps=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,ms=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,hs=/^[+-]?0[0-9_]/;function gs(e,t){let n=e[t++],r=n,i=n===`'`,a=n===e[t]&&n===e[t+1];a&&(e[t+=2]===`
153
- `?t++:e[t]===`\r`&&e[t+1]===`
154
- `&&(t+=2));let o=``,s=t,c=0;for(let l=t;l<e.length;l++)if(n=e[l],a&&(n===`
155
- `||n===`\r`&&e[l+1]===`
156
- `))c&&=3;else if(n<` `&&n!==` `||n===``)throw new B(`control characters are not allowed in strings`,{toml:e,ptr:l});else if((!c||c===3)&&n===r&&(!a||e[l+1]===r&&e[l+2]===r))return a&&(e[l+3]===r&&l++,e[l+3]===r&&l++),[c?o:o+e.slice(s,l),l+(a?3:1)];else if(!c)!i&&n===`\\`&&(o+=e.slice(s,s=l),c=1);else if(c===1){if(n===`x`||n===`u`||n===`U`){let t=0,r=n===`x`?2:n===`u`?4:8;for(let n=0;n<r;n++,l++){let n=e.charCodeAt(l+1),r=n>=48&&n<=57?n-48:n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:-1;if(r<0)throw new B(`invalid non-hex character in unicode escape`,{toml:e,ptr:l+1});t=t<<4|r}if(t<0||t>1114111||t>=55296&&t<=57343)throw new B(`invalid unicode escape`,{toml:e,ptr:l});o+=String.fromCodePoint(t),s=l+1,c=0}else if(n===` `||n===` `)c=2;else{if(n===`b`)o+=`\b`;else if(n===`t`)o+=` `;else if(n===`n`)o+=`
157
- `;else if(n===`f`)o+=`\f`;else if(n===`r`)o+=`\r`;else if(n===`e`)o+=`\x1B`;else if(n===`"`)o+=`"`;else if(n===`\\`)o+=`\\`;else throw new B(`unrecognized escape sequence`,{toml:e,ptr:l});s=l+1,c=0}}else if(n!==` `&&n!==` `){if(c===2)throw new B(`invalid escape: only line-ending whitespace may be escaped`,{toml:e,ptr:s});c=+(!i&&n===`\\`),s=l}throw new B(`unfinished string`,{toml:e,ptr:t})}function _s(e,t,n,r){if(e===`true`)return!0;if(e===`false`)return!1;if(e===`-inf`)return-1/0;if(e===`inf`||e===`+inf`)return 1/0;if(e===`nan`||e===`+nan`||e===`-nan`)return NaN;if(e===`-0`)return r?0n:0;let i=ps.test(e);if(i||ms.test(e)){if(hs.test(e))throw new B(`leading zeroes are not allowed`,{toml:t,ptr:n});e=e.replace(/_/g,``);let a=+e;if(isNaN(a))throw new B(`invalid number`,{toml:t,ptr:n});if(i){if((i=!Number.isSafeInteger(a))&&!r)throw new B(`integer value cannot be represented losslessly`,{toml:t,ptr:n});(i||r===!0)&&(a=BigInt(e))}return a}let a=new us(e);if(!a.isValid())throw new B(`invalid value`,{toml:t,ptr:n});return a}
138
+ function Fc(e,t=0){let n=e.indexOf(`
139
+ `,t);return e.charCodeAt(n-1)===13&&n--,n}function Ic(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}if(t<32&&t!==9||t===127)throw new B(`control characters are not allowed in comments`,{toml:e.s,ptr:e.p})}}function Lc(e,t,n){let r;for(;;){for(;(r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10);)e.p++;if(n||r!==35)break;Ic(e)}}function Rc(e,t,n){let r=e.p;if(!n){r=Fc(e.s,r),e.p=r<0?e.s.length:r;return}for(;e.p<e.s.length;e.p++){let r=e.s.charCodeAt(e.p);if(r===35)Ic(e);else if(r===n||r===t)return}throw new B(`cannot find end of structure`,{toml:e.s,ptr:r})}
158
140
  /*!
159
141
  * Copyright (c) Squirrel Chat et al., All rights reserved.
160
142
  * SPDX-License-Identifier: BSD-3-Clause
@@ -182,14 +164,8 @@ let ps=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,ms=/^[+-]?
182
164
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
183
165
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
184
166
  */
185
- function vs(e,t=0,n=e.length){let r=e.indexOf(`
186
- `,t);return e[r-1]===`\r`&&r--,r<=n?r:-1}function ys(e,t){for(let n=t;n<e.length;n++){let r=e[n];if(r===`
187
- `)return n;if(r===`\r`&&e[n+1]===`
188
- `)return n+1;if(r<` `&&r!==` `||r===``)throw new B(`control characters are not allowed in comments`,{toml:e,ptr:t})}return e.length}function bs(e,t,n,r){let i;for(;;){for(;(i=e[t])===` `||i===` `||!n&&(i===`
189
- `||i===`\r`&&e[t+1]===`
190
- `);)t++;if(r||i!==`#`)break;t=ys(e,t)}return t}function xs(e,t,n,r,i=!1){if(!r)return t=vs(e,t),t<0?e.length:t;for(let a=t;a<e.length;a++){let t=e[a];if(t===`#`){if(a=vs(e,a),a<0)break}else if(t===n)return a+1;else if(t===r||i&&(t===`
191
- `||t===`\r`&&e[a+1]===`
192
- `))return a}throw new B(`cannot find end of structure`,{toml:e,ptr:t})}
167
+ let zc=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,Bc=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,Vc=/^[+-]?0[0-9_]/;function Hc(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,i=n===39,a=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);a&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let o=``,s=e.p,c=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),a&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))c&&=3;else if(n<32&&n!==9||n===127)throw new B(`control characters are not allowed in strings`,{toml:e.s,ptr:e.p});else if((!c||c===3)&&n===r&&(!a||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r))return a&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),c||(o+=e.s.slice(s,e.p)),e.p+=a?3:1,o;else if(!c)!i&&n===92&&(o+=e.s.slice(s,s=e.p),c=1);else if(c===1){if(n===120||n===117||n===85){let t=0,r=n===120?2:n===117?4:8;for(let n=0;n<r;n++,e.p++){let n=e.s.charCodeAt(e.p+1),r=n>=48&&n<=57?n-48:n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:-1;if(r<0)throw new B(`invalid non-hex character in unicode escape`,{toml:e.s,ptr:e.p+1});t=t<<4|r}if(t<0||t>1114111||t>=55296&&t<=57343)throw new B(`invalid unicode escape`,{toml:e.s,ptr:e.p});o+=String.fromCodePoint(t),s=e.p+1,c=0}else if(n===32||n===9)c=2;else{if(n===98)o+=`\b`;else if(n===116)o+=` `;else if(n===110)o+=`
168
+ `;else if(n===102)o+=`\f`;else if(n===114)o+=`\r`;else if(n===101)o+=`\x1B`;else if(n===34)o+=`"`;else if(n===92)o+=`\\`;else throw new B(`unrecognized escape sequence`,{toml:e.s,ptr:e.p});s=e.p+1,c=0}}else if(n!==32&&n!==9){if(c===2)throw new B(`invalid escape: only line-ending whitespace may be escaped`,{toml:e.s,ptr:s});c=+(!i&&n===92),s=e.p}throw new B(`unfinished string`,{toml:e.s,ptr:t})}function Uc(e,t,n){let r=e.s.slice(t,n),i=r.indexOf(`#`);return i>0&&(Ic({s:r,p:i,d:0}),r=r.slice(0,i)),r.trimEnd()}function Wc(e,t,n){let r=e.p,i={toml:e.s,ptr:r};Rc(e,44,n);let a=Uc(e,r,e.p);if(!a)throw new B(`incomplete declaration: value expected`,i);if(a===`-inf`)return-1/0;if(a===`inf`||a===`+inf`)return 1/0;if(a===`nan`||a===`+nan`||a===`-nan`)return NaN;if(a===`-0`)return t?0n:0;let o=zc.test(a);if(o||Bc.test(a)){if(Vc.test(a))throw new B(`leading zeroes are not allowed`,i);a=a.replace(/_/g,``);let e=+a;if(isNaN(e))throw new B(`invalid number`,i);if(o){if((o=!Number.isSafeInteger(e))&&!t)throw new B(`integer value cannot be represented losslessly`,i);(o||t===!0)&&(e=BigInt(a))}return e}let s=new Mc(a);if(!s.isValid())throw new B(`invalid value`,i);return s}
193
169
  /*!
194
170
  * Copyright (c) Squirrel Chat et al., All rights reserved.
195
171
  * SPDX-License-Identifier: BSD-3-Clause
@@ -217,8 +193,7 @@ function vs(e,t=0,n=e.length){let r=e.indexOf(`
217
193
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
218
194
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
219
195
  */
220
- function Ss(e,t,n){let r=e.slice(t,n),i=r.indexOf(`#`);return i>-1&&(ys(e,i),r=r.slice(0,i)),[r.trimEnd(),i]}function Cs(e,t,n,r,i){if(r===0)throw new B(`document contains excessively nested structures. aborting.`,{toml:e,ptr:t});let a=e[t];if(a===`[`||a===`{`){let[o,s]=a===`[`?Ds(e,t,r,i):Es(e,t,r,i);if(n){if(s=bs(e,s),e[s]===`,`)s++;else if(e[s]!==n)throw new B(`expected comma or end of structure`,{toml:e,ptr:s})}return[o,s]}if(a===`"`||a===`'`){let[r,i]=gs(e,t);if(n){if(i=bs(e,i),e[i]&&e[i]!==`,`&&e[i]!==n&&e[i]!==`
221
- `&&e[i]!==`\r`)throw new B(`unexpected character encountered`,{toml:e,ptr:i});e[i]===`,`&&i++}return[r,i]}let o=xs(e,t,`,`,n),s=Ss(e,t,o-+(e[o-1]===`,`));if(!s[0])throw new B(`incomplete key-value declaration: no value specified`,{toml:e,ptr:t});return n&&s[1]>-1&&(o=bs(e,t+s[1]),e[o]===`,`&&o++),[_s(s[0],e,t,i),o]}
196
+ function Gc(e,t,n){let r=e.p,i=e.s.charCodeAt(r);if(i===91||i===123){if(!e.d--)throw new B(`document contains excessively nested structures. aborting.`,{toml:e.s,ptr:r});let t=i===91?Yc(e,n):Jc(e,n);return e.d++,t}if(i===34||i===39)return Hc(e);if(i===116){if(e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)throw new B(`invalid value`,{toml:e.s,ptr:r});return e.p++,!0}if(i===102){if(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)throw new B(`invalid value`,{toml:e.s,ptr:r});return e.p++,!1}return Wc(e,n,t)}
222
197
  /*!
223
198
  * Copyright (c) Squirrel Chat et al., All rights reserved.
224
199
  * SPDX-License-Identifier: BSD-3-Clause
@@ -246,9 +221,7 @@ function Ss(e,t,n){let r=e.slice(t,n),i=r.indexOf(`#`);return i>-1&&(ys(e,i),r=r
246
221
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
247
222
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
248
223
  */
249
- let ws=/^[a-zA-Z0-9-_]+[ \t]*$/;function Ts(e,t,n=`=`){let r=t-1,i=[],a=e.indexOf(n,t);if(a<0)throw new B(`incomplete key-value: cannot find end of key`,{toml:e,ptr:t});do{let o=e[t=++r];if(o!==` `&&o!==` `){if(o===`"`||o===`'`){if(o===e[t+1]&&o===e[t+2])throw new B(`multiline strings are not allowed in keys`,{toml:e,ptr:t});let[s,c]=gs(e,t);r=e.indexOf(`.`,c);let l=e.slice(c,r<0||r>a?a:r),u=vs(l);if(u>-1)throw new B(`newlines are not allowed in keys`,{toml:e,ptr:t+r+u});if(l.trimStart())throw new B(`found extra tokens after the string part`,{toml:e,ptr:c});if(a<c&&(a=e.indexOf(n,c),a<0))throw new B(`incomplete key-value: cannot find end of key`,{toml:e,ptr:t});i.push(s)}else{r=e.indexOf(`.`,t);let n=e.slice(t,r<0||r>a?a:r);if(!ws.test(n))throw new B(`only letter, numbers, dashes and underscores are allowed in keys`,{toml:e,ptr:t});i.push(n.trimEnd())}}}while(r+1&&r<a);return[i,bs(e,a+1,!0,!0)]}function Es(e,t,n,r){let i={},a=new Set,o;for(t++;(o=e[t++])!==`}`&&o;)if(o===`,`)throw new B(`expected value, found comma`,{toml:e,ptr:t-1});else if(o===`#`)t=ys(e,t);else if(o!==` `&&o!==` `&&o!==`
250
- `&&o!==`\r`){let o,s=i,c=!1,[l,u]=Ts(e,t-1);for(let n=0;n<l.length;n++){if(n&&(s=c?s[o]:s[o]={}),o=l[n],(c=Object.hasOwn(s,o))&&(typeof s[o]!=`object`||a.has(s[o])))throw new B(`trying to redefine an already defined value`,{toml:e,ptr:t});!c&&o===`__proto__`&&Object.defineProperty(s,o,{enumerable:!0,configurable:!0,writable:!0})}if(c)throw new B(`trying to redefine an already defined value`,{toml:e,ptr:t});let[d,f]=Cs(e,u,`}`,n-1,r);a.add(d),s[o]=d,t=f}if(!o)throw new B(`unfinished table encountered`,{toml:e,ptr:t});return[i,t]}function Ds(e,t,n,r){let i=[],a;for(t++;(a=e[t++])!==`]`&&a;)if(a===`,`)throw new B(`expected value, found comma`,{toml:e,ptr:t-1});else if(a===`#`)t=ys(e,t);else if(a!==` `&&a!==` `&&a!==`
251
- `&&a!==`\r`){let a=Cs(e,t-1,`]`,n-1,r);i.push(a[0]),t=a[1]}if(!a)throw new B(`unfinished array encountered`,{toml:e,ptr:t});return[i,t]}
224
+ let Kc=/^[a-zA-Z0-9-_]+[ \t]*$/;function qc(e,t=`=`){let n=e.p,r=n-1,i=[],a=e.s.indexOf(t,n);if(a<0)throw new B(`incomplete key-value: cannot find end of key`,{toml:e.s,ptr:n});do{let o=e.s.charCodeAt(e.p=++r);if(o!==32&&o!==9){if(o===34||o===39){if(o===e.s.charCodeAt(e.p+1)&&o===e.s.charCodeAt(e.p+2))throw new B(`multiline strings are not allowed in keys`,{toml:e.s,ptr:e.p});let s=Hc(e);r=e.s.indexOf(`.`,e.p);let c=e.s.slice(e.p,r<0||r>a?a:r),l=Fc(c);if(l>-1)throw new B(`newlines are not allowed in keys`,{toml:e.s,ptr:l});if(c.trimStart())throw new B(`found extra tokens after the string part`,{toml:e.s,ptr:e.p});if(a<e.p&&(a=e.s.indexOf(t,e.p),a<0))throw new B(`incomplete key-value: cannot find end of key`,{toml:e.s,ptr:n});i.push(s)}else{r=e.s.indexOf(`.`,e.p);let t=e.s.slice(e.p,r<0||r>a?a:r);if(!Kc.test(t))throw new B(`only letter, numbers, dashes and underscores are allowed in keys`,{toml:e.s,ptr:e.p});i.push(t.trimEnd())}}}while(r+1&&r<a);return e.p=a+1,Lc(e,!0,!0),i}function Jc(e,t){let n={},r=new Set,i;for(e.p++;e.p<e.s.length;){if(Lc(e),(i=e.s.charCodeAt(e.p))===125)return e.p++,n;let a,o=n,s=!1,c=e.p,l=qc(e);for(let t=0;t<l.length;t++){if(t&&(o=s?o[a]:o[a]={}),a=l[t],(s=Object.hasOwn(o,a))&&(typeof o[a]!=`object`||r.has(o[a])))throw new B(`trying to redefine an already defined value`,{toml:e.s,ptr:c});!s&&a===`__proto__`&&Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0})}if(s)throw new B(`trying to redefine an already defined value`,{toml:e.s,ptr:e.p});let u=Gc(e,125,t);if(r.add(o[a]=u),Lc(e),(i=e.s.charCodeAt(e.p++))===125)return n;if(i!==44)throw new B(`expected comma or end of structure`,{toml:e.s,ptr:e.p-1})}throw new B(`unfinished table encountered`,{toml:e.s,ptr:e.p})}function Yc(e,t){let n=[],r;for(e.p++;e.p<e.s.length;){if(Lc(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Gc(e,93,t)),Lc(e),(r=e.s.charCodeAt(e.p++))===93)return n;if(r!==44)throw new B(`expected comma or end of structure`,{toml:e.s,ptr:e.p-1})}throw new B(`unfinished array encountered`,{toml:e.s,ptr:e.p})}
252
225
  /*!
253
226
  * Copyright (c) Squirrel Chat et al., All rights reserved.
254
227
  * SPDX-License-Identifier: BSD-3-Clause
@@ -276,8 +249,7 @@ let ws=/^[a-zA-Z0-9-_]+[ \t]*$/;function Ts(e,t,n=`=`){let r=t-1,i=[],a=e.indexO
276
249
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
277
250
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
278
251
  */
279
- function Os(e,t,n,r){let i=t,a=n,o,s=!1,c;for(let t=0;t<e.length;t++){if(t){if(i=s?i[o]:i[o]={},a=(c=a[o]).c,r===0&&(c.t===1||c.t===2))return null;if(c.t===2){let e=i.length-1;i=i[e],a=a[e].c}}if(o=e[t],(s=Object.hasOwn(i,o))&&a[o]?.t===0&&a[o]?.d)return null;s||(o===`__proto__`&&(Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(a,o,{enumerable:!0,configurable:!0,writable:!0})),a[o]={t:t<e.length-1&&r===2?3:r,d:!1,i:0,c:{}})}if(c=a[o],c.t!==r&&(r!==1||c.t!==3)||(r===2&&(c.d||(c.d=!0,i[o]=[]),i[o].push(i={}),c.c[c.i++]=c={t:1,d:!1,i:0,c:{}}),c.d))return null;if(c.d=!0,r===1)i=s?i[o]:i[o]={};else if(r===0&&s)return null;return[o,i,c.c]}function ks(e,{maxDepth:t=1e3,integersAsBigInt:n}={}){let r={},i={},a=r,o=i;for(let s=bs(e,0);s<e.length;){if(e[s]===`[`){let t=e[++s]===`[`,n=Ts(e,s+=+t,`]`);if(t){if(e[n[1]-1]!==`]`)throw new B(`expected end of table declaration`,{toml:e,ptr:n[1]-1});n[1]++}let c=Os(n[0],r,i,t?2:1);if(!c)throw new B(`trying to redefine an already defined table or value`,{toml:e,ptr:s});o=c[2],a=c[1],s=n[1]}else{let r=Ts(e,s),i=Os(r[0],a,o,0);if(!i)throw new B(`trying to redefine an already defined table or value`,{toml:e,ptr:s});let c=Cs(e,r[1],void 0,t,n);i[1][i[0]]=c[0],s=c[1]}if(s=bs(e,s,!0),e[s]&&e[s]!==`
280
- `&&e[s]!==`\r`)throw new B(`each key-value declaration must be followed by an end-of-line`,{toml:e,ptr:s});s=bs(e,s)}return r}
252
+ function Xc(e,t,n,r){let i=t,a=n,o,s=!1,c;for(let t=0;t<e.length;t++){if(t){if(i=s?i[o]:i[o]={},a=(c=a[o]).c,r===0&&(c.t===1||c.t===2))return null;if(c.t===2){let e=i.length-1;i=i[e],a=a[e].c}}if(o=e[t],(s=Object.hasOwn(i,o))&&a[o]?.t===0&&a[o]?.d)return null;s||(o===`__proto__`&&(Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(a,o,{enumerable:!0,configurable:!0,writable:!0})),a[o]={t:t<e.length-1&&r===2?3:r,d:!1,i:0,c:{}})}if(c=a[o],c.t!==r&&(r!==1||c.t!==3)||(r===2&&(c.d||(c.d=!0,i[o]=[]),i[o].push(i={}),c.c[c.i++]=c={t:1,d:!1,i:0,c:{}}),c.d))return null;if(c.d=!0,r===1)i=s?i[o]:i[o]={};else if(r===0&&s)return null;return[o,i,c.c]}function Zc(e,{maxDepth:t=1e3,integersAsBigInt:n}={}){let r={s:e,p:0,d:t},i={},a={},o,s=i,c=a;for(Lc(r);r.p<e.length;){if(e.charCodeAt(r.p)===91){let t=e.charCodeAt(++r.p)===91;o=r.p+=+t;let n=qc(r,`]`);if(t){if(e.charCodeAt(r.p-1)!==93)throw new B(`expected end of table declaration`,{toml:e,ptr:r.p-1});r.p++}let l=Xc(n,i,a,t?2:1);if(!l)throw new B(`trying to redefine an already defined table or value`,{toml:e,ptr:o});c=l[2],s=l[1]}else{o=r.p;let t=Xc(qc(r),s,c,0);if(!t)throw new B(`trying to redefine an already defined table or value`,{toml:e,ptr:o});t[1][t[0]]=Gc(r,void 0,n)}if(Lc(r,!0),r.p<e.length&&(o=e.charCodeAt(r.p))!==10&&o!==13)throw new B(`each key-value declaration must be followed by an end-of-line`,{toml:e,ptr:r.p});Lc(r)}return i}
281
253
  /*!
282
254
  * Copyright (c) Squirrel Chat et al., All rights reserved.
283
255
  * SPDX-License-Identifier: BSD-3-Clause
@@ -305,13 +277,13 @@ function Os(e,t,n,r){let i=t,a=n,o,s=!1,c;for(let t=0;t<e.length;t++){if(t){if(i
305
277
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
306
278
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
307
279
  */
308
- let As=/^[a-z0-9-_]+$/i;function js(e){let t=typeof e;if(t===`object`){if(Array.isArray(e))return`array`;if(e instanceof Date)return`date`}return t}function Ms(e){for(let t=0;t<e.length;t++)if(js(e[t])!==`object`)return!1;return e.length!=0}function Ns(e){return JSON.stringify(e).replace(/\x7f/g,`\\u007f`)}function Ps(e,t,n,r){if(n===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);if(t===`number`)return isNaN(e)?`nan`:e===1/0?`inf`:e===-1/0?`-inf`:Number.isInteger(e)&&(r||!Number.isSafeInteger(e))?e.toFixed(1):e.toString();if(t===`bigint`||t===`boolean`)return e.toString();if(t===`string`)return Ns(e);if(t===`date`){if(isNaN(e.getTime()))throw TypeError(`cannot serialize invalid date`);return e.toISOString()}if(t===`object`)return Fs(e,n,r);if(t===`array`)return Is(e,n,r)}function Fs(e,t,n){let r=Object.keys(e);if(r.length===0)return`{}`;let i=`{ `;for(let a=0;a<r.length;a++){let o=r[a];a&&(i+=`, `),i+=As.test(o)?o:Ns(o),i+=` = `,i+=Ps(e[o],js(e[o]),t-1,n)}return i+` }`}function Is(e,t,n){if(e.length===0)return`[]`;let r=`[ `;for(let i=0;i<e.length;i++){if(i&&(r+=`, `),e[i]===null||e[i]===void 0)throw TypeError(`arrays cannot contain null or undefined values`);r+=Ps(e[i],js(e[i]),t-1,n)}return r+` ]`}function Ls(e,t,n,r){if(n===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);let i=``;for(let a=0;a<e.length;a++)i+=`${i&&`
309
- `}[[${t}]]\n`,i+=Rs(0,e[a],t,n,r);return i}function Rs(e,t,n,r,i){if(r===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);let a=``,o=``,s=Object.keys(t);for(let e=0;e<s.length;e++){let c=s[e];if(t[c]!==null&&t[c]!==void 0){let e=js(t[c]);if(e===`symbol`||e===`function`)throw TypeError(`cannot serialize values of type '${e}'`);let s=As.test(c)?c:Ns(c);if(e===`array`&&Ms(t[c]))o+=(o&&`
310
- `)+Ls(t[c],n?`${n}.${s}`:s,r-1,i);else if(e===`object`){let e=n?`${n}.${s}`:s;o+=(o&&`
311
- `)+Rs(e,t[c],e,r-1,i)}else a+=s,a+=` = `,a+=Ps(t[c],e,r,i),a+=`
312
- `}}return e&&(a||!o)&&(a=a?`[${e}]\n${a}`:`[${e}]`),a&&o?`${a}\n${o}`:a||o}function zs(e,{maxDepth:t=1e3,numbersAsFloat:n=!1}={}){if(js(e)!==`object`)throw TypeError(`stringify can only be called with an object`);let r=Rs(0,e,``,t,n);return r[r.length-1]===`
280
+ let Qc=/^[a-z0-9-_]+$/i;function $c(e){let t=typeof e;if(t===`object`){if(Array.isArray(e))return`array`;if(typeof e?.getUTCDate==`function`&&e instanceof Date)return`date`;if(globalThis.Temporal&&typeof e?.since==`function`&&(e instanceof Temporal.Instant||e instanceof Temporal.PlainDate||e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainTime||e instanceof Temporal.ZonedDateTime))return`temporal`}return t}function el(e){for(let t=0;t<e.length;t++)if($c(e[t])!==`object`)return!1;return e.length!=0}function tl(e){return JSON.stringify(e).replace(/\x7f/g,`\\u007f`)}function nl(e){return e.toString({calendarName:`never`,timeZoneName:`never`})}function rl(e,t,n,r){if(n===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);switch(t){case`number`:if(isNaN(e))return`nan`;if(e===1/0)return`inf`;if(e===-1/0)return`-inf`;if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case`bigint`:case`boolean`:return e.toString();case`string`:return tl(e);case`date`:if(isNaN(e.getTime()))throw TypeError(`cannot serialize invalid date`);return e.toISOString();case`object`:return il(e,n,r);case`array`:return al(e,n,r);case`temporal`:return nl(e)}}function il(e,t,n){let r=Object.keys(e);if(r.length===0)return`{}`;let i=`{ `;for(let a=0;a<r.length;a++){let o=r[a];a&&(i+=`, `),i+=Qc.test(o)?o:tl(o),i+=` = `,i+=rl(e[o],$c(e[o]),t-1,n)}return i+` }`}function al(e,t,n){if(e.length===0)return`[]`;let r=`[ `;for(let i=0;i<e.length;i++){if(i&&(r+=`, `),e[i]===null||e[i]===void 0)throw TypeError(`arrays cannot contain null or undefined values`);r+=rl(e[i],$c(e[i]),t-1,n)}return r+` ]`}function ol(e,t,n,r){if(n===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);let i=``;for(let a=0;a<e.length;a++)i+=`${i&&`
281
+ `}[[${t}]]\n`,i+=sl(0,e[a],t,n,r);return i}function sl(e,t,n,r,i){if(r===0)throw Error(`Could not stringify the object: maximum object depth exceeded`);let a=``,o=``,s=Object.keys(t);for(let e=0;e<s.length;e++){let c=s[e];if(t[c]!==null&&t[c]!==void 0){let e=$c(t[c]);if(e===`symbol`||e===`function`)throw TypeError(`cannot serialize values of type '${e}'`);let s=Qc.test(c)?c:tl(c);if(e===`array`&&el(t[c]))o+=(o&&`
282
+ `)+ol(t[c],n?`${n}.${s}`:s,r-1,i);else if(e===`object`){let e=n?`${n}.${s}`:s;o+=(o&&`
283
+ `)+sl(e,t[c],e,r-1,i)}else a+=s,a+=` = `,a+=rl(t[c],e,r,i),a+=`
284
+ `}}return e&&(a||!o)&&(a=a?`[${e}]\n${a}`:`[${e}]`),a&&o?`${a}\n${o}`:a||o}function cl(e,{maxDepth:t=1e3,numbersAsFloat:n=!1}={}){if($c(e)!==`object`)throw TypeError(`stringify can only be called with an object`);let r=sl(0,e,``,t,n);return r[r.length-1]===`
313
285
  `?r:r+`
314
- `}const V=e=>typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`,Bs=async(e,t)=>{await a(te(e),{recursive:!0});let n=`${e}.tmp-${se()}`;await p(n,t,`utf8`),await l(n,e)},H=e=>{let t=ae(e.REFS_HOME??h(de(),`.kaisers-io`,`refs`));return{configPath:h(t,`config.toml`),hooksDir:h(t,`hooks`),locksDir:h(t,`locks`),root:t,sourcesDir:h(t,`sources`),statePath:h(t,`state.json`)}},U=(e,t)=>h(e.sourcesDir,...t.split(`/`)),Vs=e=>`${e.configPath}.bak`,Hs=e=>{let t=[],n=e;for(;!le(n);){let e=te(n);if(e===n)break;t.unshift(ee(n)),n=e}return{ancestor:n,missing:t}},Us=e=>{let{ancestor:t,missing:n}=Hs(e),r=ue(t);return n.length===0?r:h(r,...n)},Ws=(e,t,n)=>{let r=Us(e),i=Us(t),a=ie(r,i),o=a===`..`||a.startsWith(`..`+oe);if(!(a!==``&&!o&&!ne(a)))throw x(`path escapes ${n} (containment violation): ${t}`)},Gs=(e,t)=>{Ws(e.sourcesDir,t,`sources directory`)},Ks=e=>typeof e==`object`&&!!e&&!Array.isArray(e),qs=(e,t)=>Ks(e)?e:t,Js=async e=>{try{return await o(e.configPath,`utf8`)}catch(e){throw V(e)?y(`no config found — run: refs init`):e}},Ys=(e,t)=>{try{return ks(e)}catch(e){throw e instanceof B?x(`invalid TOML in ${t}: ${e.message}`):e}},Xs=e=>typeof e==`number`&&Number.isInteger(e)&&e>=1,Zs=e=>{let{meta:t}=e;if(!Ks(t))return;let n=t.schema_version;if(Xs(n))return n},Qs=(e,t)=>{let n=Zs(e);if(n===void 0)throw x(`config schema version is missing or invalid in ${t} — run: refs migrate`);if(n>1)throw x(`config schema ${n} is newer than this CLI supports — upgrade refs`);if(n<1)throw x(`config schema ${n} is older than expected 1 — run: refs migrate`)},W=async e=>{let t=await Js(e),n=Ys(t,e.configPath);Qs(n,e.configPath);let r=cs.safeParse(n);if(!r.success)throw x(O(r.error));return r.data},$s=async(e,t)=>{let n=cs.safeParse(t);if(!n.success)throw x(O(n.error));await Bs(e.configPath,zs(n.data))},ec=async e=>{try{return await f(e),!0}catch(e){if(V(e))return!1;throw e}},tc=async(e,t)=>await ec(e.configPath)?`noop`:(await Bs(e.configPath,`# refs configuration
286
+ `}const V=e=>typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`,ll=async(e,t)=>{await a(te(e),{recursive:!0});let n=`${e}.tmp-${se()}`;await p(n,t,`utf8`),await l(n,e)},H=e=>{let t=ae(e.REFS_HOME??h(de(),`.kaisers-io`,`refs`));return{cacheDir:h(t,`cache`),configPath:h(t,`config.toml`),hooksDir:h(t,`hooks`),locksDir:h(t,`locks`),root:t,sourcesDir:h(t,`sources`),statePath:h(t,`state.json`),updateCachePath:h(t,`cache`,`update-check.json`)}},U=(e,t)=>h(e.sourcesDir,...t.split(`/`)),ul=e=>`${e.configPath}.bak`,dl=e=>{let t=[],n=e;for(;!le(n);){let e=te(n);if(e===n)break;t.unshift(ee(n)),n=e}return{ancestor:n,missing:t}},fl=e=>{let{ancestor:t,missing:n}=dl(e),r=ue(t);return n.length===0?r:h(r,...n)},pl=(e,t,n)=>{let r=fl(e),i=fl(t),a=ie(r,i),o=a===`..`||a.startsWith(`..`+oe);if(!(a!==``&&!o&&!ne(a)))throw x(`path escapes ${n} (containment violation): ${t}`)},ml=(e,t)=>{pl(e.sourcesDir,t,`sources directory`)},hl=e=>typeof e==`object`&&!!e&&!Array.isArray(e),gl=(e,t)=>hl(e)?e:t,_l=async e=>{try{return await o(e.configPath,`utf8`)}catch(e){throw V(e)?y(`no config found — run: refs init`):e}},vl=(e,t)=>{try{return Zc(e)}catch(e){throw e instanceof B?x(`invalid TOML in ${t}: ${e.message}`):e}},yl=e=>typeof e==`number`&&Number.isInteger(e)&&e>=1,bl=e=>{let{meta:t}=e;if(!hl(t))return;let n=t.schema_version;if(yl(n))return n},xl=(e,t)=>{let n=bl(e);if(n===void 0)throw x(`config schema version is missing or invalid in ${t} — run: refs migrate`);if(n>1)throw x(`config schema ${n} is newer than this CLI supports — upgrade refs`);if(n<1)throw x(`config schema ${n} is older than expected 1 — run: refs migrate`)},W=async e=>{let t=await _l(e),n=vl(t,e.configPath);xl(n,e.configPath);let r=Ac.safeParse(n);if(!r.success)throw x(O(r.error));return r.data},Sl=async(e,t)=>{let n=Ac.safeParse(t);if(!n.success)throw x(O(n.error));await ll(e.configPath,cl(n.data))},Cl=async e=>{try{return await f(e),!0}catch(e){if(V(e))return!1;throw e}},wl=async(e,t)=>await Cl(e.configPath)?`noop`:(await ll(e.configPath,`# refs configuration
315
287
  #
316
288
  # Every global setting under [settings] can also be set per-ref: add the same
317
289
  # key directly inside a [refs."host/owner/repo"] table to override it just for
@@ -342,29 +314,29 @@ sync_ttl = "1h"
342
314
  # tag_format = "v{version}"
343
315
  # # Per-ref overrides of [settings] go in the same table, e.g.:
344
316
  # # clone_mode = "full"
345
- `.replaceAll(`{{CLI_VERSION}}`,t)),`seeded`),nc=(e,t)=>{let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];t===void 0?n[e]=r:Ks(t)&&Ks(r)&&(n[e]=nc(t,r))}return n},rc={meta:{},refs:{},settings:{}},ic=async e=>{try{return await Js(e)}catch(e){if(e instanceof v&&e.code===`not_found`)return;throw e}},ac=e=>{if(e!==void 0&&e>1)throw x(`config schema ${e} is newer than this CLI supports — upgrade refs`)},oc=async(e,t,n)=>{let r=qs(t.meta,{});if(r.cli_version===n)return;let i={...t,meta:{...r,cli_version:n}};await Bs(e.configPath,zs(i))},sc=async(e,t,n)=>{await r(e.configPath,Vs(e));let i=nc(t,rc),a=qs(i.meta,{}),o={...i,meta:{...a,cli_version:n,schema_version:1}},s=cs.safeParse(o);if(!s.success)throw x(`config in ${e.configPath} is malformed beyond automatic migration (backup preserved at ${Vs(e)}): ${O(s.error)}`);await Bs(e.configPath,zs(o))},cc=async(e,t,n)=>{let r=Ys(t,e.configPath),i=Zs(r);return ac(i),i===1?(await oc(e,r,n),`noop`):(await sc(e,r,n),`migrated`)},lc=async(e,t)=>{let n=await ic(e);return n===void 0?(await tc(e,t),`seeded`):cc(e,n,t)},uc=e=>{let t=e.stderr.trim()||e.stdout.trim()||`exit code ${e.exitCode}`,n=t.split(`
346
- `)[0]??t;return n.length<=200?n:`${n.slice(0,200)}…`},dc=(e,t)=>t?`restored`:e.oldSha===e.newSha?`fresh`:`updated`,fc=(e,t)=>{let n=[];if(e&&n.push(`checkout had local changes (managed checkouts are read-only) — discarded and restored to the remote state`),t!==void 0&&n.push(t),n.length!==0)return n.join(` | `)},pc=e=>{let{branchRenamedTo:t,dirty:n,setHeadWarning:r,shas:i}=e,a={...i,status:dc(i,n)};t!==void 0&&(a.branchRenamedTo=t);let o=fc(n,r);return o!==void 0&&(a.warning=o),a},mc=(e,t,n)=>{let r={dirty:t,shas:n};return e.branchRenamedTo!==void 0&&(r.branchRenamedTo=e.branchRenamedTo),e.warning!==void 0&&(r.setHeadWarning=e.warning),r},G=e=>le(h(e,`.git`)),hc=e=>`refusing to sync ${e}: not a refs-managed checkout`,gc=async(e,t)=>{if(!G(t))throw x(hc(t));let n=await e.run(`git`,[`config`,`--local`,`--get`,`core.hooksPath`],{cwd:t});if(n.exitCode!==0||n.stdout.trim()===``)throw x(hc(t))},_c=/filtering not recognized/iu,vc=e=>e===void 0?{}:{cwd:e},K=(e,t,n)=>({action:e,args:t,cmd:`git`,...vc(n)}),yc=async(e,t)=>{let n=await e.run(t.cmd,t.args,vc(t.cwd));if(n.exitCode===0)return n;let r=n.stderr.trim()||n.stdout.trim()||`exit code ${n.exitCode}`;throw x(`${t.action} failed: ${r}`)},bc=async(e,t)=>{let n=[`clone`,`-q`];t.mode===`blobless`&&n.push(`--filter=blob:none`),n.push(`--`,t.cloneUrl,t.dest);let r=await yc(e,K(`git clone`,n));return await yc(e,K(`git config core.hooksPath`,[`config`,`core.hooksPath`,t.hooksDir],t.dest)),t.mode===`blobless`&&_c.test(r.stderr)?{effectiveMode:`full`,warning:`server did not honour the partial-clone filter (blob:none); fell back to a full clone`}:{effectiveMode:t.mode}},xc=async(e,t)=>{let n=await e.run(`git`,[`symbolic-ref`,`--short`,`refs/remotes/origin/HEAD`],{cwd:t});if(n.exitCode!==0)return;let r=n.stdout.trim();return r.startsWith(`origin/`)?r.slice(7):r},Sc=async(e,t)=>{let n=await xc(e,t);if(n!==void 0)return n;await e.run(`git`,[`remote`,`set-head`,`origin`,`--auto`],{cwd:t});let r=await xc(e,t);if(r!==void 0)return r;throw x(`could not detect the default branch for checkout: ${t}`)},Cc=async(e,t)=>(await yc(e,K(`git rev-parse HEAD`,[`rev-parse`,`HEAD`],t))).stdout.trim(),wc=async(e,t)=>(await yc(e,K(`git status --porcelain`,[`status`,`--porcelain`],t))).stdout.trim()!==``,Tc=async(e,t)=>{await yc(e,K(`git fetch`,[`fetch`,`--prune`,`--tags`,`origin`],t.dir));let n=await e.run(`git`,[`remote`,`set-head`,`origin`,`--auto`],{cwd:t.dir}),r=await Sc(e,t.dir),i={branch:r};return r!==t.defaultBranch&&(i.branchRenamedTo=r),n.exitCode!==0&&(i.warning=`could not refresh origin/HEAD: ${uc(n)}`),i},Ec=e=>[K(`git reset --hard HEAD (pre-checkout)`,[`reset`,`--hard`,`HEAD`],e),K(`git clean -fd`,[`clean`,`-fd`],e)],Dc=async(e,t)=>{let{branch:n,dir:r,dirty:i}=t,a=[];i&&a.push(...Ec(r)),a.push(K(`git checkout -B`,[`checkout`,`-B`,n,`origin/${n}`],r),K(`git reset --hard`,[`reset`,`--hard`,`origin/${n}`],r));for(let t of a)await yc(e,t)},Oc=async(e,t)=>{await gc(e,t.dir);let n=await Cc(e,t.dir),r=await Tc(e,t),i=await wc(e,t.dir);await Dc(e,{branch:r.branch,dir:t.dir,dirty:i});let a=await Cc(e,t.dir);return pc(mc(r,i,{newSha:a,oldSha:n}))},kc=async(e,t,n=20)=>(await yc(e,K(`git tag`,[`tag`,`--sort=-version:refname`],t))).stdout.split(`
347
- `).map(e=>e.trim()).filter(e=>e!==``).slice(0,n),Ac=async(e,t,n)=>(await e.run(`git`,[`show-ref`,`--verify`,`--`,`refs/tags/${n}`],{cwd:t})).exitCode===0,jc=[`#!/bin/sh`,`echo "refs: this checkout is a managed read-only reference — commits are blocked" >&2`,`exit 1`,``].join(`
348
- `),Mc=async e=>{await Promise.all([`pre-commit`,`pre-push`].map(async n=>{let r=h(e.hooksDir,n);await Bs(r,jc),await t(r,493)}))},Nc=/\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?/u,Pc=/\d+\.\d+\.\d+/gu,Fc=e=>ts.safeParse(e).success,Ic=e=>{let t=e.match(Pc);return t!==null&&t.length>1},Lc=e=>{let t=Nc.exec(e);if(!t||Ic(e))return;let[n]=t,r=e.replace(n,`{version}`);if(Fc(r))return r},Rc=(e,t,n)=>{let r=e.get(t);r===void 0?e.set(t,{count:1,index:n}):r.count+=1},zc=e=>{let t=new Map;for(let[n,r]of e.entries()){let e=Lc(r);e&&Rc(t,e,n)}return t},Bc=(e,t)=>e.count>t.count||e.count===t.count&&e.index<t.index,Vc=e=>{let t=[...e.entries()],[n]=t;if(n===void 0)return null;let[r,i]=n;return t.slice(1).reduce(({format:e,data:t},[n,r])=>Bc(r,t)?{data:r,format:n}:{data:t,format:e},{data:i,format:r}).format},Hc=e=>{let t=zc(e);return Vc(t)},Uc=(e,t)=>e.replaceAll(`{version}`,()=>t),Wc=async(e,t,n,r)=>{let i=Uc(n,r);if(!await Ac(e,t,i))throw y(`tag '${i}' not found in ${t} — check the version or tag_format`);return i},Gc=/^(?<scheme>[a-z][a-z0-9+.-]*:\/\/)?[\s\S]*@/iu,q=e=>{let t=e.replace(Gc,`$<scheme><redacted>@`);return t.length<=200?t:`${t.slice(0,200)}…`},Kc=/\.git$/u,qc=e=>e.replace(Kc,``),Jc=e=>{let t=0,n=e.length;for(;t<n&&e.charAt(t)===`/`;)t+=1;for(;n>t&&e.charAt(n-1)===`/`;)--n;return e.slice(t,n)},Yc=/^git@(?<host>[^:/\s]+):(?<path>[^\s]+)$/u,Xc=/^git\+/u,Zc={"https:":`443`,"ssh:":`22`},Qc=e=>e.split(`/`).some(e=>e===`.`||e===`..`),$c=e=>e.includes(`\\`),el=e=>e.includes(`%`),tl=e=>{let t=z.safeParse(e);if(!t.success)throw x(`not a supported git url: derived key '${q(e)}' is invalid`);return t.data},nl=({host:e,port:t,protocol:n})=>{let r=Zc[n];return t===``||t===r?e.toLowerCase():`${e.toLowerCase()}_${t}`},rl=e=>{let t=qc(Jc(e.path));return tl(`${nl(e)}/${t}`)},il=e=>{let t=decodeURIComponent(e).split(`/`).filter(e=>e!==``);if(t.length<2)throw x(`not a supported git url: file url path must have at least 2 segments`);let n=t.at(-2)??``,r=t.at(-1)??``;return tl(`local/${n}/${r}`)},al=(e,t)=>{try{return new URL(e)}catch{throw x(`not a supported git url: ${q(t)}`)}},ol=e=>{if(e.password!==``)throw x(`not a supported git url: credentials embedded in url`);if(e.protocol===`https:`&&e.username!==``)throw x(`not a supported git url: credentials embedded in https url`)},sl=(e,t)=>{if(e.protocol===`file:`){if(!t)throw x(`not a supported git url: unsupported protocol ${e.protocol}`);return il(e.pathname)}if(e.protocol!==`https:`&&e.protocol!==`ssh:`)throw x(`not a supported git url: unsupported protocol ${e.protocol}`);return ol(e),rl({host:e.hostname,path:e.pathname,port:e.port,protocol:e.protocol})},cl=(e,t)=>{if(el(e))throw x(`not a supported git url: percent-encoding not supported in ${q(t)}`);if(e.includes(`:`))throw x(`not a supported git url: ambiguous ':' in scp-style path ${q(t)}; use the ssh:// url form instead`);if(e.startsWith(`/`)||e.startsWith(`~`))throw x(`not a supported git url: ambiguous absolute/home-relative scp path in ${q(t)}; use the ssh:// url form instead`)},ll=(e,t)=>{let n=e.groups?.path??``;return cl(n,t),rl({host:e.groups?.host??``,path:n,port:``,protocol:`ssh:`})},ul=(e,t)=>{if($c(e))throw x(`not a supported git url: backslash not allowed in ${q(t)}`)},dl=(e,t)=>{if(Qc(e))throw x(`not a supported git url: path traversal segment in ${q(t)}`)},fl=(e,t,n)=>{if(e.protocol!==`file:`&&el(t))throw x(`not a supported git url: percent-encoding not supported in ${q(n)}`)},pl=(e,t)=>{let n=t?.allowFileUrls??!1,r=e.replace(Xc,``);ul(r,e),dl(r,e);let i=Yc.exec(r);if(i?.groups!==void 0)return{cloneUrl:r,key:ll(i,e)};let a=al(r,e);return fl(a,r,e),{cloneUrl:r,key:sl(a,n)}},ml=`.git`,hl=e=>e.endsWith(ml)?e:`${e}${ml}`,gl=(e,t)=>`https://${e.toLowerCase()}/${Jc(t)}`,_l=(e,t)=>`git@${e.toLowerCase()}:${hl(Jc(t))}`,vl=e=>{if(e===`https:`)return`https`;if(e===`ssh:`)return`ssh`;throw x(`not a supported git url: unsupported protocol ${e}`)},yl=(e,t,n)=>{let r=Zc[e.protocol];if(e.port!==``&&e.port!==r)throw x(`cannot apply git_transport=${t} to ${q(n)}: its non-default port ${e.port} cannot be expressed in the ${t} url form — add the repo with an explicit url instead`)},bl=(e,t)=>t===`https`?gl(e.hostname,e.pathname):_l(e.hostname,e.pathname),xl=(e,t,n)=>{let r=pl(t).key;if(r!==n)throw x(`git_transport transform changed repo identity: '${q(e)}' → '${t}' (key '${n}' → '${r}')`);return t},Sl=(e,t)=>{if(t.transport===`ssh`)return t.cloneUrl;let n=e.groups?.host??``,r=e.groups?.path??``;return xl(t.cloneUrl,gl(n,r),t.originalKey)},Cl=e=>{let t=al(e.cloneUrl,e.cloneUrl);return vl(t.protocol)===e.transport?e.cloneUrl:(yl(t,e.transport,e.cloneUrl),xl(e.cloneUrl,bl(t,e.transport),e.originalKey))},wl=(e,t)=>{if(e.startsWith(`file:`))return e;let n={cloneUrl:e,originalKey:pl(e).key,transport:t},r=Yc.exec(e);return r?.groups===void 0?Cl(n):Sl(r,n)},Tl=`meta.json`,El=e=>{if(typeof e==`object`&&e&&`code`in e){let{code:t}=e;if(typeof t==`string`)return t}},Dl=e=>{try{return process.kill(e,0),!0}catch(e){return El(e)!==`ESRCH`}},Ol=e=>{try{return JSON.parse(e)}catch{return}},kl=async e=>{try{return await o(e,`utf8`)}catch{return}},Al=e=>{if(typeof e!=`string`)return;let t=Date.parse(e);if(!Number.isNaN(t))return t},jl=e=>{if(typeof e!=`object`||!e)return;let t=e,{pid:n}=t,r=Al(t.acquired_at);if(typeof n==`number`&&r!==void 0)return{acquiredAtMs:r,pid:n}},Ml=async e=>{let t=await kl(h(e,Tl));if(t!==void 0)return jl(Ol(t))},Nl=e=>{if(typeof e!=`object`||!e)return;let{token:t}=e;if(typeof t==`string`)return t},Pl=async e=>{let t=await kl(h(e,Tl));if(t!==void 0)return Nl(Ol(t))},Fl=async e=>{try{return(await f(e)).mtimeMs}catch{return}},Il=async(e,t)=>{let n=h(e,Tl),r=`${n}.tmp-${se()}`;await p(r,t,`utf8`),await l(r,n)},Ll=async(e,t)=>{await Il(e,JSON.stringify({acquired_at:new Date().toISOString(),pid:process.pid,token:t}))},Rl=new Set([`EEXIST`,`EPERM`,`EACCES`,`EBUSY`]),zl=new Set([`ENOENT`,`EPERM`,`EACCES`,`EBUSY`]),Bl=async e=>{try{return await a(e,{recursive:!1}),!0}catch(e){let t=El(e);if(t!==void 0&&Rl.has(t))return!1;throw e}},Vl=async(e,t)=>{try{return await l(e,t),!0}catch(e){let t=El(e);if(t!==void 0&&zl.has(t))return!1;throw e}},Hl=/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/u,Ul=async e=>{let t=await Ml(e);if(t===void 0){let t=await Fl(e);return t!==void 0&&Date.now()-t>5e3}return Date.now()-t.acquiredAtMs>6e5||!Dl(t.pid)},Wl=async(e,t)=>{try{await Ll(e,t)}catch(e){if(El(e)===`ENOENT`)return`retry`;throw e}return t},Gl=async(e,t)=>{if(!await Bl(e))return;let n=await Wl(e,se());return n===`retry`?Date.now()>=t?void 0:Gl(e,t):n},Kl=e=>h(e.locksDir,`${e.name}.steal-claim`),ql=e=>h(e.locksDir,`${e.name}.steal.${se()}`),Jl=async e=>{let t=await Fl(e);return t!==void 0&&Date.now()-t>2e3},Yl=async e=>await Bl(e)?!0:await Jl(e)?(await u(e,{force:!0,recursive:!0}),Bl(e)):!1,Xl=async e=>{let t=ql(e);return await Vl(e.lockPath,t)?t:void 0},Zl=async e=>{if(!await Ul(e.lockPath))return!1;let t=await Xl(e);return t!==void 0&&(await u(t,{force:!0,recursive:!0}),!0)},Ql=async e=>{let t=Kl(e);if(!await Yl(t))return!1;try{return await Zl(e)}finally{await u(t,{force:!0,recursive:!0})}},$l=async(e,t)=>{if(!(await Ul(e.lockPath)&&await Ql(e))){if(Date.now()>=t)throw ve(`lock ${e.name} is held — another refs process is running`);await fe(100)}},eu=async(e,t)=>{let n=await Gl(e.lockPath,t);return n===void 0?(await $l(e,t),eu(e,t)):n},tu=async(e,t)=>{await Pl(e)===t&&await u(e,{force:!0,recursive:!0})},nu=e=>{if(e===`.`||e===`..`||!Hl.test(e))throw x(`lock name must not contain "/" or other unsafe characters — only letters, digits, and "_.-" are allowed, and it may not be "." or "..": ${e}`)},J=async(e,t,n,r)=>{nu(t);let i={lockPath:h(e.locksDir,t),locksDir:e.locksDir,name:t};await a(e.locksDir,{recursive:!0});let o=Date.now()+(r?.timeoutMs??1e4),s=await eu(i,o);try{return await n()}finally{await tu(i.lockPath,s)}},ru=ro({directory:I().optional(),url:I().optional()}),iu=ro({repository:ao([I(),ru]).optional()}),au=/^(?:@[a-z0-9-~][a-z0-9._~-]*\/)?[a-z0-9-~][a-z0-9._~-]*$/u,ou=new Set([`node_modules`,`favicon.ico`]),su=e=>y(`package '${e}' has no usable repository field — find the repository and run: refs add <git-url>`),cu=e=>{let[t,n]=e.split(`/`);return n??t??e},lu=e=>{if(e.length>214)throw b(`invalid package name: '${e}' exceeds maximum length of 214 characters`);if(!au.test(e))throw b(`invalid package name: '${e}' does not match npm naming rules`);let t=cu(e);if(ou.has(t))throw b(`invalid package name: '${e}' uses a reserved name`)},uu=e=>e.replaceAll(`/`,`%2F`),du=e=>typeof e==`string`?e:e?.url,fu=e=>{if(typeof e==`object`&&e?.directory){let t=ns.safeParse(e.directory);if(t.success)return t.data}},pu=async(e,t)=>{try{return await e.json()}catch{throw x(`invalid npm registry response for '${t}': not parseable JSON`)}},mu=async(e,t)=>{let n=await e(`https://registry.npmjs.org/${uu(t)}`);if(n.status===404)throw y(`npm package '${t}' not found`);if(n.status!==200)throw x(`failed to fetch npm package '${t}': status ${n.status}`);let r=await pu(n,t),i=iu.safeParse(r);if(!i.success)throw x(`invalid npm package response for '${t}'`);return i.data},hu=(e,t)=>{try{return pl(e)}catch{throw su(t)}},gu=async(e,t)=>{lu(t);let n=await mu(e,t),r=du(n.repository);if(r===void 0||r===``)throw su(t);let{cloneUrl:i,key:a}=hu(r,t),o=fu(n.repository);return o===void 0?{cloneUrl:i,key:a}:{cloneUrl:i,directory:o,key:a}},_u=new Set;let vu=!1;const yu=()=>{for(let e of _u)try{e.kill(`SIGKILL`)}catch{}},bu=[`SIGINT`,`SIGTERM`,`SIGHUP`,`SIGBREAK`],xu=e=>{let t=()=>{yu(),process.removeListener(e,t),process.kill(process.pid,e)};process.on(e,t)},Su=()=>{vu||(vu=!0,bu.forEach(e=>{xu(e)}),process.on(`exit`,yu))},Cu=()=>{let e=[],t=0,n=!1;return{finish:()=>({text:Buffer.concat(e).toString(`utf8`),truncated:n}),push:r=>{if(n)return;let i=67108864-t;if(r.length<=i){e.push(r),t+=r.length;return}i>0&&e.push(r.subarray(0,i)),n=!0}}},wu=(e,t)=>[e.replace(/\r?\n$/u,``),t].filter(e=>e!==``).join(`
349
- `),Tu=(e,t,n)=>{let r=e;return t.truncated&&(r=wu(r,`refs: stdout exceeded 67108864 bytes, truncated`)),n.truncated&&(r=wu(r,`refs: stderr exceeded 67108864 bytes, truncated`)),r},Eu={clear:()=>{},markedTimedOut:()=>!1},Du=(e,t)=>{if(t===void 0)return Eu;let n=!1,r,i=setTimeout(()=>{n=!0,e.kill(`SIGTERM`),r=setTimeout(()=>{e.kill(`SIGKILL`)},2e3)},t);return{clear:()=>{clearTimeout(i),r!==void 0&&clearTimeout(r)},markedTimedOut:()=>n}},Ou=e=>e===void 0?{}:{cwd:e},ku=(e,t)=>wu(e,`refs: command timed out after ${String(t)}ms`),Au=(e,t)=>({exitCode:124,stderr:ku(e,t),stdout:``,timedOut:!0}),ju=(e,t,n)=>{let r=ge(e,t,{...Ou(n?.cwd),stdio:[`ignore`,`pipe`,`pipe`]});_u.add(r);let i=Cu(),a=Cu();return r.stdout.on(`data`,e=>{i.push(e)}),r.stderr.on(`data`,e=>{a.push(e)}),{child:r,stderrCollector:a,stdoutCollector:i,timeout:Du(r,n?.timeoutMs)}},Mu=(e,t,n)=>{try{return ju(e,t,n)}catch(e){return{exitCode:127,stderr:Pu(e),stdout:``}}},Nu=e=>!(`child`in e),Pu=e=>e instanceof Error?e.message:String(e),Fu=async e=>{try{let[t]=await me(e,`close`);return{code:t}}catch(e){return{code:null,errorMessage:Pu(e)}}},Iu=e=>e===null?1:e,Lu=(e,t)=>t.truncated?{...e,stdoutTruncated:!0}:e,Ru=e=>e.timedOut?Au(e.stderr.text,e.timeoutMs):e.errorMessage===void 0?Lu({exitCode:Iu(e.code),stderr:Tu(e.stderr.text,e.stdout,e.stderr),stdout:e.stdout.text},e.stdout):Lu({exitCode:127,stderr:wu(e.stderr.text,e.errorMessage),stdout:e.stdout.text},e.stdout);var zu=class{async run(e,t,n){Su();let r=Mu(e,t,n);if(Nu(r))return r;let i=await Fu(r.child);return _u.delete(r.child),r.timeout.clear(),Ru({code:i.code,errorMessage:i.errorMessage,stderr:r.stderrCollector.finish(),stdout:r.stdoutCollector.finish(),timedOut:r.timeout.markedTimedOut(),timeoutMs:n?.timeoutMs})}};const Bu=os.partial({description:!0}),Vu=R({default_branch:I().min(1),key:z,tag_format_candidate:ts.nullable(),url:I().min(1)});Vu.extend({description:I().default(``),packages:Vo(Bu)});const Hu=Vu.extend({description:I().min(1),packages:Vo(os)}),Uu=R({effective_clone_mode:$o.optional(),head_sha:I().regex(/^[0-9a-f]{40}$/u,`head_sha must be a 40-character lowercase hex string`).optional(),last_error:I().optional(),last_fetched_at:ia().optional(),pending_proposal_at:ia().optional()}),Wu=R({refs:zo(e=>e.length>0&&!Ro.has(e),()=>`state ref key must be non-empty and not "__proto__", "constructor", or "prototype"`,lo(I(),Uu)).default({})}),Y=(e,t,n)=>t?.[e]??n[e],Gu=async e=>{try{return await o(e.statePath,`utf8`)}catch(e){if(V(e))return;throw e}},Ku=e=>{try{return JSON.parse(e)}catch{return}},X=async e=>{let t=await Gu(e);if(t===void 0)return Wu.parse({});let n=Ku(t);if(n===void 0)return Wu.parse({});let r=Wu.safeParse(n);return r.success?r.data:Wu.parse({})},qu=async(e,t)=>{let n=Wu.safeParse(t);if(!n.success)throw x(O(n.error));await Bs(e.statePath,`${JSON.stringify(n.data,void 0,2)}\n`)},Ju=/[/\\]/u,Yu={kind:`ignore`},Xu=e=>!ne(e)&&e.split(Ju).every(e=>e!==`.`&&e!==`..`),Zu=e=>Xu(e)&&!e.startsWith(`!`)&&!e.includes(`**`)&&(e.match(/\*/gu)??[]).length<=1,Qu=e=>Zu(e)?e.endsWith(`/*`)?{baseDir:e.slice(0,-2),kind:`expand-children`}:e===`*`?{baseDir:`.`,kind:`expand-children`}:e.includes(`*`)?Yu:{dir:e,kind:`probe-dir`}:Yu,$u=(e,t)=>{if(t&&e===``)return!0;let n=e===`..`||e.startsWith(`..`+oe);return e!==``&&!n&&!ne(e)},ed=(e,t,n)=>t.filter((e,t)=>n[t]===!0).map(t=>re.join(e,t)),td=(e,t)=>t?.name?{description:t.description,name:t.name,path:e}:void 0,nd=e=>{let t=e.map(e=>[e.path,e]),n=[...new Map(t).values()];return n.sort((e,t)=>e.path.localeCompare(t.path)),n},rd=/^\s*-\s+["']?(?<pattern>[^"'#]+)["']?/u,id=/^packages:\s*(?:#.*)?$/u,ad=e=>typeof e==`object`&&!!e&&!Array.isArray(e),od=e=>{if(Array.isArray(e))return e.filter(e=>typeof e==`string`);if(!ad(e))return[];let{packages:t}=e;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]},sd=Symbol(`end-of-section`),cd=e=>{let t=e.trim();if(t&&!t.startsWith(`-`)&&t.includes(`:`)&&!id.test(e))return sd;if(!t.startsWith(`-`))return;let n=rd.exec(e)?.groups?.pattern?.trim();if(n)return n},ld=e=>{let t=[];for(let n of e){let e=cd(n);if(e===sd)break;e!==void 0&&t.push(e)}return t},ud=e=>{let t=e.findIndex(e=>id.test(e));return t===-1?[]:ld(e.slice(t+1))},dd=e=>{let{name:t}=e;if(typeof t==`string`)return t},fd=e=>{let{description:t}=e;if(typeof t==`string`)return t},pd=async(e,t,n=!1)=>{try{let r=await c(e),i=await c(t);return $u(ie(r,i),n)}catch{return!1}},md=async(e,t)=>{try{let n=h(t,`package.json`);return await pd(e,n)?(await o(n,`utf8`),!0):!1}catch{return!1}},hd=async(e,t)=>{try{let n=h(e,t);if(!await pd(e,n,t===`.`))return[];let r=(await s(n,{withFileTypes:!0})).filter(e=>e.isDirectory()),i=await Promise.all(r.map(t=>md(e,h(n,t.name))));return ed(t,r.map(e=>e.name),i)}catch{return[]}},gd=async(e,t)=>{let n=Qu(t);if(n.kind===`expand-children`)return hd(e,n.baseDir);if(n.kind===`probe-dir`){let t=h(e,n.dir);if(await pd(e,t)&&await md(e,t))return[n.dir]}return[]},_d=async(e,t)=>{try{let n=h(t,`package.json`);if(!await pd(e,n))return;let r=await o(n,`utf8`),i=JSON.parse(r);return{description:fd(i),name:dd(i)}}catch{return}},vd=async(e,t)=>{let n=new Set;try{if(!await pd(e,t))return n;let r=await o(t,`utf8`),i=JSON.parse(r);od(i.workspaces).forEach(e=>n.add(e))}catch{}return n},yd=async(e,t)=>{let n=new Set;try{if(!await pd(e,t))return n;let r=await o(t,`utf8`);ud(r.split(`
350
- `)).forEach(e=>n.add(e))}catch{}return n},bd=async(e,t)=>{let n=new Set,r=[...t].map(t=>gd(e,t));return(await Promise.all(r)).forEach(e=>{e.forEach(e=>n.add(e))}),n},xd=async(e,t)=>{let n=h(e,t);if(await pd(e,n))return td(t,await _d(e,n))},Sd=async(e,t)=>{let n=[...t].map(t=>xd(e,t));return(await Promise.all(n)).filter(e=>e!==void 0)},Cd=async e=>{let t=h(e,`package.json`),n=h(e,`pnpm-workspace.yaml`),r=await vd(e,t),i=await yd(e,n),a=new Set([...r,...i]);if(a.size===0)return[];let o=await bd(e,a),s=await Sd(e,o);return nd(s)};var wd=`0.8.3`;const Td=async()=>{let e=[];for await(let t of process.stdin)e.push(Buffer.from(t));return Buffer.concat(e).toString(`utf8`)},Ed=()=>{try{return de()}catch{return``}},Dd=()=>({cliVersion:wd,cwd:process.cwd(),env:process.env,errLine:e=>{process.stderr.write(`${e}\n`)},fetcher:e=>fetch(e),homedir:Ed(),nodeVersion:process.version,out:e=>{process.stdout.write(`${e}\n`)},readStdin:Td,runner:new zu});var Od=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},kd=class extends Od{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}},Ad=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new kd(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,t):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function jd(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}var Md=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let t=e.registeredArguments.map(e=>jd(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(t?` `+t:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
317
+ `.replaceAll(`{{CLI_VERSION}}`,t)),`seeded`),Tl=(e,t)=>{let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];t===void 0?n[e]=r:hl(t)&&hl(r)&&(n[e]=Tl(t,r))}return n},El={meta:{},refs:{},settings:{}},Dl=async e=>{try{return await _l(e)}catch(e){if(e instanceof v&&e.code===`not_found`)return;throw e}},Ol=e=>{if(e!==void 0&&e>1)throw x(`config schema ${e} is newer than this CLI supports — upgrade refs`)},kl=async(e,t,n)=>{let r=gl(t.meta,{});if(r.cli_version===n)return;let i={...t,meta:{...r,cli_version:n}};await ll(e.configPath,cl(i))},Al=async(e,t,n)=>{await r(e.configPath,ul(e));let i=Tl(t,El),a=gl(i.meta,{}),o={...i,meta:{...a,cli_version:n,schema_version:1}},s=Ac.safeParse(o);if(!s.success)throw x(`config in ${e.configPath} is malformed beyond automatic migration (backup preserved at ${ul(e)}): ${O(s.error)}`);await ll(e.configPath,cl(o))},jl=async(e,t,n)=>{let r=vl(t,e.configPath),i=bl(r);return Ol(i),i===1?(await kl(e,r,n),`noop`):(await Al(e,r,n),`migrated`)},Ml=async(e,t)=>{let n=await Dl(e);return n===void 0?(await wl(e,t),`seeded`):jl(e,n,t)},Nl=new Set([`ENOENT`,`ENOTDIR`]),Pl=e=>e.code??String(e),Fl=async e=>{try{return await i(e),!0}catch{return!1}},Il=(e,t)=>{let n=ie(e,t);return n===``||n!==`..`&&!n.startsWith(`..`+oe)&&!ne(n)},Ll=async e=>{try{return{real:await c(e)}}catch(e){return{code:Pl(e)}}},Rl=async(e,t)=>{let n=await Ll(e);if(`code`in n)return{code:n.code,kind:`unreadable`};let r=await Ll(t);return`code`in r?Nl.has(r.code)?await Fl(t)?{code:r.code,kind:`unreadable`}:{kind:`missing`}:{code:r.code,kind:`unreadable`}:Il(n.real,r.real)?{kind:`inside`,real:r.real}:{kind:`outside`}},zl=e=>{let t=e.stderr.trim()||e.stdout.trim()||`exit code ${e.exitCode}`,n=t.split(`
318
+ `)[0]??t;return n.length<=200?n:`${n.slice(0,200)}…`},Bl=(e,t)=>t?`restored`:e.oldSha===e.newSha?`fresh`:`updated`,Vl=(e,t)=>{let n=[];if(e&&n.push(`checkout had local changes (managed checkouts are read-only) — discarded and restored to the remote state`),t!==void 0&&n.push(t),n.length!==0)return n.join(` | `)},Hl=e=>{let{branchRenamedTo:t,dirty:n,setHeadWarning:r,shas:i}=e,a={...i,status:Bl(i,n)};t!==void 0&&(a.branchRenamedTo=t);let o=Vl(n,r);return o!==void 0&&(a.warning=o),a},Ul=(e,t,n)=>{let r={dirty:t,shas:n};return e.branchRenamedTo!==void 0&&(r.branchRenamedTo=e.branchRenamedTo),e.warning!==void 0&&(r.setHeadWarning=e.warning),r},G=e=>le(h(e,`.git`)),Wl=e=>`refusing to sync ${e}: not a refs-managed checkout`,Gl=async(e,t)=>{if(!G(t))throw x(Wl(t));let n=await e.run(`git`,[`config`,`--local`,`--get`,`core.hooksPath`],{cwd:t});if(n.exitCode!==0||n.stdout.trim()===``)throw x(Wl(t))},Kl=/filtering not recognized/iu,ql=e=>e===void 0?{}:{cwd:e},K=(e,t,n)=>({action:e,args:t,cmd:`git`,...ql(n)}),Jl=async(e,t)=>{let n=await e.run(t.cmd,t.args,ql(t.cwd));if(n.exitCode===0)return n;let r=n.stderr.trim()||n.stdout.trim()||`exit code ${n.exitCode}`;throw x(`${t.action} failed: ${r}`)},Yl=async(e,t)=>{let n=[`clone`,`-q`];t.mode===`blobless`&&n.push(`--filter=blob:none`),n.push(`--`,t.cloneUrl,t.dest);let r=await Jl(e,K(`git clone`,n));return await Jl(e,K(`git config core.hooksPath`,[`config`,`core.hooksPath`,t.hooksDir],t.dest)),t.mode===`blobless`&&Kl.test(r.stderr)?{effectiveMode:`full`,warning:`server did not honour the partial-clone filter (blob:none); fell back to a full clone`}:{effectiveMode:t.mode}},Xl=async(e,t)=>{let n=await e.run(`git`,[`symbolic-ref`,`--short`,`refs/remotes/origin/HEAD`],{cwd:t});if(n.exitCode!==0)return;let r=n.stdout.trim();return r.startsWith(`origin/`)?r.slice(7):r},Zl=async(e,t)=>{let n=await Xl(e,t);if(n!==void 0)return n;await e.run(`git`,[`remote`,`set-head`,`origin`,`--auto`],{cwd:t});let r=await Xl(e,t);if(r!==void 0)return r;throw x(`could not detect the default branch for checkout: ${t}`)},Ql=async(e,t)=>(await Jl(e,K(`git rev-parse HEAD`,[`rev-parse`,`HEAD`],t))).stdout.trim(),$l=async(e,t)=>(await Jl(e,K(`git status --porcelain`,[`status`,`--porcelain`],t))).stdout.trim()!==``,eu=async(e,t)=>{await Jl(e,K(`git fetch`,[`fetch`,`--prune`,`--tags`,`origin`],t.dir));let n=await e.run(`git`,[`remote`,`set-head`,`origin`,`--auto`],{cwd:t.dir}),r=await Zl(e,t.dir),i={branch:r};return r!==t.defaultBranch&&(i.branchRenamedTo=r),n.exitCode!==0&&(i.warning=`could not refresh origin/HEAD: ${zl(n)}`),i},tu=e=>[K(`git reset --hard HEAD (pre-checkout)`,[`reset`,`--hard`,`HEAD`],e),K(`git clean -fd`,[`clean`,`-fd`],e)],nu=async(e,t)=>{let{branch:n,dir:r,dirty:i}=t,a=[];i&&a.push(...tu(r)),a.push(K(`git checkout -B`,[`checkout`,`-B`,n,`origin/${n}`],r),K(`git reset --hard`,[`reset`,`--hard`,`origin/${n}`],r));for(let t of a)await Jl(e,t)},ru=async(e,t)=>{await Gl(e,t.dir);let n=await Ql(e,t.dir),r=await eu(e,t),i=await $l(e,t.dir);await nu(e,{branch:r.branch,dir:t.dir,dirty:i});let a=await Ql(e,t.dir);return Hl(Ul(r,i,{newSha:a,oldSha:n}))},iu=async(e,t,n=20)=>(await Jl(e,K(`git tag`,[`tag`,`--sort=-version:refname`],t))).stdout.split(`
319
+ `).map(e=>e.trim()).filter(e=>e!==``).slice(0,n),au=async(e,t,n)=>(await e.run(`git`,[`show-ref`,`--verify`,`--`,`refs/tags/${n}`],{cwd:t})).exitCode===0,ou=[`#!/bin/sh`,`echo "refs: this checkout is a managed read-only reference — commits are blocked" >&2`,`exit 1`,``].join(`
320
+ `),su=async e=>{await Promise.all([`pre-commit`,`pre-push`].map(async n=>{let r=h(e.hooksDir,n);await ll(r,ou),await t(r,493)}))},cu=/\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?/u,lu=/\d+\.\d+\.\d+/gu,uu=e=>bc.safeParse(e).success,du=e=>{let t=e.match(lu);return t!==null&&t.length>1},fu=e=>{let t=cu.exec(e);if(!t||du(e))return;let[n]=t,r=e.replace(n,`{version}`);if(uu(r))return r},pu=(e,t,n)=>{let r=e.get(t);r===void 0?e.set(t,{count:1,index:n}):r.count+=1},mu=e=>{let t=new Map;for(let[n,r]of e.entries()){let e=fu(r);e&&pu(t,e,n)}return t},hu=(e,t)=>e.count>t.count||e.count===t.count&&e.index<t.index,gu=e=>{let t=[...e.entries()],[n]=t;if(n===void 0)return null;let[r,i]=n;return t.slice(1).reduce(({format:e,data:t},[n,r])=>hu(r,t)?{data:r,format:n}:{data:t,format:e},{data:i,format:r}).format},_u=e=>{let t=mu(e);return gu(t)},vu=(e,t)=>e.replaceAll(`{version}`,()=>t),yu=async(e,t,n,r)=>{let i=vu(n,r);if(!await au(e,t,i))throw y(`tag '${i}' not found in ${t} — check the version or tag_format`);return i},bu=/^(?<scheme>[a-z][a-z0-9+.-]*:\/\/)?[\s\S]*@/iu,q=e=>{let t=e.replace(bu,`$<scheme><redacted>@`);return t.length<=200?t:`${t.slice(0,200)}…`},xu=/\.git$/u,Su=e=>e.replace(xu,``),Cu=e=>{let t=0,n=e.length;for(;t<n&&e.charAt(t)===`/`;)t+=1;for(;n>t&&e.charAt(n-1)===`/`;)--n;return e.slice(t,n)},wu=/^git@(?<host>[^:/\s]+):(?<path>[^\s]+)$/u,Tu=/^git\+/u,Eu={"https:":`443`,"ssh:":`22`},Du=e=>e.split(`/`).some(e=>e===`.`||e===`..`),Ou=e=>e.includes(`\\`),ku=e=>e.includes(`%`),Au=e=>{let t=z.safeParse(e);if(!t.success)throw x(`not a supported git url: derived key '${q(e)}' is invalid`);return t.data},ju=({host:e,port:t,protocol:n})=>{let r=Eu[n];return t===``||t===r?e.toLowerCase():`${e.toLowerCase()}_${t}`},Mu=e=>{let t=Su(Cu(e.path));return Au(`${ju(e)}/${t}`)},Nu=e=>{let t=decodeURIComponent(e).split(`/`).filter(e=>e!==``);if(t.length<2)throw x(`not a supported git url: file url path must have at least 2 segments`);let n=t.at(-2)??``,r=t.at(-1)??``;return Au(`local/${n}/${r}`)},Pu=(e,t)=>{try{return new URL(e)}catch{throw x(`not a supported git url: ${q(t)}`)}},Fu=e=>{if(e.password!==``)throw x(`not a supported git url: credentials embedded in url`);if(e.protocol===`https:`&&e.username!==``)throw x(`not a supported git url: credentials embedded in https url`)},Iu=(e,t)=>{if(e.protocol===`file:`){if(!t)throw x(`not a supported git url: unsupported protocol ${e.protocol}`);return Nu(e.pathname)}if(e.protocol!==`https:`&&e.protocol!==`ssh:`)throw x(`not a supported git url: unsupported protocol ${e.protocol}`);return Fu(e),Mu({host:e.hostname,path:e.pathname,port:e.port,protocol:e.protocol})},Lu=(e,t)=>{if(ku(e))throw x(`not a supported git url: percent-encoding not supported in ${q(t)}`);if(e.includes(`:`))throw x(`not a supported git url: ambiguous ':' in scp-style path ${q(t)}; use the ssh:// url form instead`);if(e.startsWith(`/`)||e.startsWith(`~`))throw x(`not a supported git url: ambiguous absolute/home-relative scp path in ${q(t)}; use the ssh:// url form instead`)},Ru=(e,t)=>{let n=e.groups?.path??``;return Lu(n,t),Mu({host:e.groups?.host??``,path:n,port:``,protocol:`ssh:`})},zu=(e,t)=>{if(Ou(e))throw x(`not a supported git url: backslash not allowed in ${q(t)}`)},Bu=(e,t)=>{if(Du(e))throw x(`not a supported git url: path traversal segment in ${q(t)}`)},Vu=(e,t,n)=>{if(e.protocol!==`file:`&&ku(t))throw x(`not a supported git url: percent-encoding not supported in ${q(n)}`)},Hu=(e,t)=>{let n=t?.allowFileUrls??!1,r=e.replace(Tu,``);zu(r,e),Bu(r,e);let i=wu.exec(r);if(i?.groups!==void 0)return{cloneUrl:r,key:Ru(i,e)};let a=Pu(r,e);return Vu(a,r,e),{cloneUrl:r,key:Iu(a,n)}},Uu=`.git`,Wu=e=>e.endsWith(Uu)?e:`${e}${Uu}`,Gu=(e,t)=>`https://${e.toLowerCase()}/${Cu(t)}`,Ku=(e,t)=>`git@${e.toLowerCase()}:${Wu(Cu(t))}`,qu=e=>{if(e===`https:`)return`https`;if(e===`ssh:`)return`ssh`;throw x(`not a supported git url: unsupported protocol ${e}`)},Ju=(e,t,n)=>{let r=Eu[e.protocol];if(e.port!==``&&e.port!==r)throw x(`cannot apply git_transport=${t} to ${q(n)}: its non-default port ${e.port} cannot be expressed in the ${t} url form — add the repo with an explicit url instead`)},Yu=(e,t)=>t===`https`?Gu(e.hostname,e.pathname):Ku(e.hostname,e.pathname),Xu=(e,t,n)=>{let r=Hu(t).key;if(r!==n)throw x(`git_transport transform changed repo identity: '${q(e)}' → '${t}' (key '${n}' → '${r}')`);return t},Zu=(e,t)=>{if(t.transport===`ssh`)return t.cloneUrl;let n=e.groups?.host??``,r=e.groups?.path??``;return Xu(t.cloneUrl,Gu(n,r),t.originalKey)},Qu=e=>{let t=Pu(e.cloneUrl,e.cloneUrl);return qu(t.protocol)===e.transport?e.cloneUrl:(Ju(t,e.transport,e.cloneUrl),Xu(e.cloneUrl,Yu(t,e.transport),e.originalKey))},$u=(e,t)=>{if(e.startsWith(`file:`))return e;let n={cloneUrl:e,originalKey:Hu(e).key,transport:t},r=wu.exec(e);return r?.groups===void 0?Qu(n):Zu(r,n)},ed=`meta.json`,td=e=>{if(typeof e==`object`&&e&&`code`in e){let{code:t}=e;if(typeof t==`string`)return t}},nd=e=>{try{return process.kill(e,0),!0}catch(e){return td(e)!==`ESRCH`}},rd=e=>{try{return JSON.parse(e)}catch{return}},id=async e=>{try{return await o(e,`utf8`)}catch{return}},ad=e=>{if(typeof e!=`string`)return;let t=Date.parse(e);if(!Number.isNaN(t))return t},od=e=>{if(typeof e!=`object`||!e)return;let t=e,{pid:n}=t,r=ad(t.acquired_at);if(typeof n==`number`&&r!==void 0)return{acquiredAtMs:r,pid:n}},sd=async e=>{let t=await id(h(e,ed));if(t!==void 0)return od(rd(t))},cd=e=>{if(typeof e!=`object`||!e)return;let{token:t}=e;if(typeof t==`string`)return t},ld=async e=>{let t=await id(h(e,ed));if(t!==void 0)return cd(rd(t))},ud=async e=>{try{return(await f(e)).mtimeMs}catch{return}},dd=async(e,t)=>{let n=h(e,ed),r=`${n}.tmp-${se()}`;await p(r,t,`utf8`),await l(r,n)},fd=async(e,t)=>{await dd(e,JSON.stringify({acquired_at:new Date().toISOString(),pid:process.pid,token:t}))},pd=new Set([`EEXIST`,`EPERM`,`EACCES`,`EBUSY`]),md=new Set([`ENOENT`,`EPERM`,`EACCES`,`EBUSY`]),hd=async e=>{try{return await a(e,{recursive:!1}),!0}catch(e){let t=td(e);if(t!==void 0&&pd.has(t))return!1;throw e}},gd=async(e,t)=>{try{return await l(e,t),!0}catch(e){let t=td(e);if(t!==void 0&&md.has(t))return!1;throw e}},_d=/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/u,vd=async e=>{let t=await sd(e);if(t===void 0){let t=await ud(e);return t!==void 0&&Date.now()-t>5e3}return Date.now()-t.acquiredAtMs>6e5||!nd(t.pid)},yd=async(e,t)=>{try{await fd(e,t)}catch(e){if(td(e)===`ENOENT`)return`retry`;throw e}return t},bd=async(e,t)=>{if(!await hd(e))return;let n=await yd(e,se());return n===`retry`?Date.now()>=t?void 0:bd(e,t):n},xd=e=>h(e.locksDir,`${e.name}.steal-claim`),Sd=e=>h(e.locksDir,`${e.name}.steal.${se()}`),Cd=async e=>{let t=await ud(e);return t!==void 0&&Date.now()-t>2e3},wd=async e=>await hd(e)?!0:await Cd(e)?(await u(e,{force:!0,recursive:!0}),hd(e)):!1,Td=async e=>{let t=Sd(e);return await gd(e.lockPath,t)?t:void 0},Ed=async e=>{if(!await vd(e.lockPath))return!1;let t=await Td(e);return t!==void 0&&(await u(t,{force:!0,recursive:!0}),!0)},Dd=async e=>{let t=xd(e);if(!await wd(t))return!1;try{return await Ed(e)}finally{await u(t,{force:!0,recursive:!0})}},Od=async(e,t)=>{if(!(await vd(e.lockPath)&&await Dd(e))){if(Date.now()>=t)throw ve(`lock ${e.name} is held — another refs process is running`);await fe(100)}},kd=async(e,t)=>{let n=await bd(e.lockPath,t);return n===void 0?(await Od(e,t),kd(e,t)):n},Ad=async(e,t)=>{await ld(e)===t&&await u(e,{force:!0,recursive:!0})},jd=e=>{if(e===`.`||e===`..`||!_d.test(e))throw x(`lock name must not contain "/" or other unsafe characters — only letters, digits, and "_.-" are allowed, and it may not be "." or "..": ${e}`)},J=async(e,t,n,r)=>{jd(t);let i={lockPath:h(e.locksDir,t),locksDir:e.locksDir,name:t};await a(e.locksDir,{recursive:!0});let o=Date.now()+(r?.timeoutMs??1e4),s=await kd(i,o);try{return await n()}finally{await Ad(i.lockPath,s)}},Md=Ss({directory:I().optional(),url:I().optional()}),Nd=Ss({repository:ws([I(),Md]).optional()}),Pd=/^(?:@[a-z0-9-~][a-z0-9._~-]*\/)?[a-z0-9-~][a-z0-9._~-]*$/u,Fd=new Set([`node_modules`,`favicon.ico`]),Id=e=>y(`package '${e}' has no usable repository field — find the repository and run: refs add <git-url>`),Ld=e=>{let[t,n]=e.split(`/`);return n??t??e},Rd=e=>{if(e.length>214)throw b(`invalid package name: '${e}' exceeds maximum length of 214 characters`);if(!Pd.test(e))throw b(`invalid package name: '${e}' does not match npm naming rules`);let t=Ld(e);if(Fd.has(t))throw b(`invalid package name: '${e}' uses a reserved name`)},zd=e=>e.replaceAll(`/`,`%2F`),Bd=e=>typeof e==`string`?e:e?.url,Vd=e=>{if(typeof e==`object`&&e?.directory){let t=xc.safeParse(e.directory);if(t.success)return t.data}},Hd=async(e,t)=>{try{return await e.json()}catch{throw x(`invalid npm registry response for '${t}': not parseable JSON`)}},Ud=async(e,t)=>{let n=await e(`https://registry.npmjs.org/${zd(t)}`);if(n.status===404)throw y(`npm package '${t}' not found`);if(n.status!==200)throw x(`failed to fetch npm package '${t}': status ${n.status}`);let r=await Hd(n,t),i=Nd.safeParse(r);if(!i.success)throw x(`invalid npm package response for '${t}'`);return i.data},Wd=(e,t)=>{try{return Hu(e)}catch{throw Id(t)}},Gd=async(e,t)=>{Rd(t);let n=await Ud(e,t),r=Bd(n.repository);if(r===void 0||r===``)throw Id(t);let{cloneUrl:i,key:a}=Wd(r,t),o=Vd(n.repository);return o===void 0?{cloneUrl:i,key:a}:{cloneUrl:i,directory:o,key:a}},Kd=new Set([`candidate_not_inspected`,`manifest_unreadable`,`unsupported_pattern`,`workspace_declaration_unparsed`,`workspace_dir_unreadable`,`workspace_file_unreadable`]),qd=/[/\\]/u,Jd={kind:`ignore`},Yd=e=>!ne(e)&&e.split(qd).every(e=>e!==`.`&&e!==`..`),Xd=e=>Yd(e)&&!e.startsWith(`!`)&&!e.includes(`**`)&&(e.match(/\*/gu)??[]).length<=1,Zd=e=>Xd(e)?e.endsWith(`/*`)?{baseDir:e.slice(0,-2),kind:`expand-children`}:e===`*`?{baseDir:`.`,kind:`expand-children`}:e.includes(`*`)?Jd:{dir:e,kind:`probe-dir`}:Jd,Qd=(e,t,n)=>t.filter((e,t)=>n[t]===!0).map(t=>re.join(e,t)),$d=(e,t)=>t?.name?{description:t.description,name:t.name,path:e}:void 0,ef=e=>{let t=e.map(e=>[e.path,e]),n=[...new Map(t).values()];return n.sort((e,t)=>e.path.localeCompare(t.path)),n},tf=e=>!e.diagnostics.some(e=>Kd.has(e.kind)),nf=e=>!e.diagnostics.some(e=>e.kind===`no_workspace_declaration`),rf=(e,t)=>e<t?-1:+(e>t),af=e=>`path`in e?`${e.kind} ${e.path}`:`file`in e?`${e.kind} ${e.file}`:`pattern`in e?`${e.kind} ${e.pattern}`:e.kind,of=e=>e.toSorted((e,t)=>rf(af(e),af(t))),sf=/^\s*-\s+["']?(?<pattern>[^"'#]+)["']?/u,cf=/^packages:\s*(?:#.*)?$/u,lf=e=>typeof e==`object`&&!!e&&!Array.isArray(e),uf=e=>{if(Array.isArray(e))return e.filter(e=>typeof e==`string`);if(!lf(e))return[];let{packages:t}=e;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]},df=Symbol(`end-of-section`),ff=e=>{let t=e.trim();if(t&&!t.startsWith(`-`)&&t.includes(`:`)&&!cf.test(e))return df;if(!t.startsWith(`-`))return;let n=sf.exec(e)?.groups?.pattern?.trim();if(n)return n},pf=e=>{let t=[];for(let n of e){let e=ff(n);if(e===df)break;e!==void 0&&t.push(e)}return t},mf=e=>{let t=e.findIndex(e=>cf.test(e));return t===-1?[]:pf(e.slice(t+1))},hf=e=>{let{name:t}=e;if(typeof t==`string`)return t},gf=e=>{let{description:t}=e;if(typeof t==`string`)return t},_f=e=>!ne(e)&&!e.split(/[/\\]/u).includes(`..`),vf=(e,t)=>e.kind===`missing`?{kind:`absent`}:e.kind===`outside`?{kind:`unreadable`,reason:`${t} escapes the checkout`}:{kind:`unreadable`,reason:e.code},yf=async(e,t,n)=>{if(!_f(t))return{kind:`unreadable`,reason:`path escapes the checkout`};let r=await bf(e,t);if(`probe`in r)return r.probe;let i=await xf(r.real);return`reason`in i?{kind:`unreadable`,reason:i.reason}:i.found===n?{kind:`match`}:{found:i.found,kind:`mismatch`}},bf=async(e,t)=>{let n=await Rl(e,h(e,t));if(n.kind!==`inside`)return{probe:vf(n,`path`)};let r=await Rl(e,h(n.real,`package.json`));return r.kind===`inside`?{real:r.real}:{probe:vf(r,`manifest`)}},xf=async e=>{try{let t=JSON.parse(await o(e,`utf8`));return{found:hf(t)}}catch(e){return{reason:e.code??String(e)}}},Sf=(e,t)=>{let n=e.filter(e=>e.name===t).map(e=>e.path);return n.length===0?{kind:`absent`}:n.length===1?{kind:`found`,path:n[0]}:{kind:`ambiguous`,paths:n.toSorted(rf)}},Cf=new Set;let wf=!1;const Tf=()=>{for(let e of Cf)try{e.kill(`SIGKILL`)}catch{}},Ef=[`SIGINT`,`SIGTERM`,`SIGHUP`,`SIGBREAK`],Df=e=>{let t=()=>{Tf(),process.removeListener(e,t),process.kill(process.pid,e)};process.on(e,t)},Of=()=>{wf||(wf=!0,Ef.forEach(e=>{Df(e)}),process.on(`exit`,Tf))},kf=()=>{let e=[],t=0,n=!1;return{finish:()=>({text:Buffer.concat(e).toString(`utf8`),truncated:n}),push:r=>{if(n)return;let i=67108864-t;if(r.length<=i){e.push(r),t+=r.length;return}i>0&&e.push(r.subarray(0,i)),n=!0}}},Af=(e,t)=>[e.replace(/\r?\n$/u,``),t].filter(e=>e!==``).join(`
321
+ `),jf=(e,t,n)=>{let r=e;return t.truncated&&(r=Af(r,`refs: stdout exceeded 67108864 bytes, truncated`)),n.truncated&&(r=Af(r,`refs: stderr exceeded 67108864 bytes, truncated`)),r},Mf={clear:()=>{},markedTimedOut:()=>!1},Nf=(e,t)=>{if(t===void 0)return Mf;let n=!1,r,i=setTimeout(()=>{n=!0,e.kill(`SIGTERM`),r=setTimeout(()=>{e.kill(`SIGKILL`)},2e3)},t);return{clear:()=>{clearTimeout(i),r!==void 0&&clearTimeout(r)},markedTimedOut:()=>n}},Pf=e=>e===void 0?{}:{cwd:e},Ff=(e,t)=>Af(e,`refs: command timed out after ${String(t)}ms`),If=(e,t)=>({exitCode:124,stderr:Ff(e,t),stdout:``,timedOut:!0}),Lf=(e,t,n)=>{let r=ge(e,t,{...Pf(n?.cwd),stdio:[`ignore`,`pipe`,`pipe`]});Cf.add(r);let i=kf(),a=kf();return r.stdout.on(`data`,e=>{i.push(e)}),r.stderr.on(`data`,e=>{a.push(e)}),{child:r,stderrCollector:a,stdoutCollector:i,timeout:Nf(r,n?.timeoutMs)}},Rf=(e,t,n)=>{try{return Lf(e,t,n)}catch(e){return{exitCode:127,stderr:Bf(e),stdout:``}}},zf=e=>!(`child`in e),Bf=e=>e instanceof Error?e.message:String(e),Vf=async e=>{try{let[t]=await me(e,`close`);return{code:t}}catch(e){return{code:null,errorMessage:Bf(e)}}},Hf=e=>e===null?1:e,Uf=(e,t)=>t.truncated?{...e,stdoutTruncated:!0}:e,Wf=e=>e.timedOut?If(e.stderr.text,e.timeoutMs):e.errorMessage===void 0?Uf({exitCode:Hf(e.code),stderr:jf(e.stderr.text,e.stdout,e.stderr),stdout:e.stdout.text},e.stdout):Uf({exitCode:127,stderr:Af(e.stderr.text,e.errorMessage),stdout:e.stdout.text},e.stdout);var Gf=class{async run(e,t,n){Of();let r=Rf(e,t,n);if(zf(r))return r;let i=await Vf(r.child);return Cf.delete(r.child),r.timeout.clear(),Wf({code:i.code,errorMessage:i.errorMessage,stderr:r.stderrCollector.finish(),stdout:r.stdoutCollector.finish(),timedOut:r.timeout.markedTimedOut(),timeoutMs:n?.timeoutMs})}};const Kf=Tc.partial({description:!0}),qf=R({default_branch:I().min(1),key:z,tag_format_candidate:bc.nullable(),url:I().min(1)});qf.extend({description:I().default(``),packages:oc(Kf)});const Jf=qf.extend({description:I().min(1),packages:oc(Tc)}),Yf=R({effective_clone_mode:vc.optional(),head_sha:I().regex(/^[0-9a-f]{40}$/u,`head_sha must be a 40-character lowercase hex string`).optional(),last_error:I().optional(),last_fetched_at:nc().optional(),pending_proposal_at:nc().optional()}),Xf=R({refs:ic(e=>e.length>0&&!rc.has(e),()=>`state ref key must be non-empty and not "__proto__", "constructor", or "prototype"`,Os(I(),Yf)).default({})}),Y=(e,t,n)=>t?.[e]??n[e],Zf=async e=>{try{return await o(e.statePath,`utf8`)}catch(e){if(V(e))return;throw e}},Qf=e=>{try{return JSON.parse(e)}catch{return}},X=async e=>{let t=await Zf(e);if(t===void 0)return Xf.parse({});let n=Qf(t);if(n===void 0)return Xf.parse({});let r=Xf.safeParse(n);return r.success?r.data:Xf.parse({})},$f=async(e,t)=>{let n=Xf.safeParse(t);if(!n.success)throw x(O(n.error));await ll(e.statePath,`${JSON.stringify(n.data,void 0,2)}\n`)},ep=/^\d+\.\d+\.\d+$/u,tp=/^0+(?=\d)/u,np=(e,t)=>{let n=e.replace(tp,``),r=t.replace(tp,``);return n.length===r.length?n===r?0:n<r?-1:1:n.length<r.length?-1:1},rp=(e,t)=>{if(!ep.test(e)||!ep.test(t))return;let n=e.split(`.`),r=t.split(`.`);return n.map((e,t)=>np(e,r[t]??``)).find(e=>e!==0)??0},ip=Ss({version:I().regex(ep)}),ap=R({checked_at:nc(),latest_version:I().regex(ep)}),op=async e=>{try{let t=ap.safeParse(JSON.parse(await o(e.updateCachePath,`utf8`)));return t.success?t.data:void 0}catch{return}},sp=async(e,t)=>{try{await f(e.root),await ll(e.updateCachePath,`${JSON.stringify(t,void 0,2)}\n`)}catch{}},cp=(e,t)=>{let n=t-Date.parse(e.checked_at);return n>=0&&n<864e5},lp=async e=>{try{let t=await e(`https://registry.npmjs.org/@kaisers-io%2Frefs/latest`,{signal:AbortSignal.timeout(2e3)});if(t.status!==200)return;let n=ip.safeParse(await t.json());return n.success?n.data.version:void 0}catch{return}},up=async e=>{let t=await op(e.home);if(t!==void 0&&cp(t,e.nowMs))return{latest:t.latest_version,refreshed:!1,stale:!1};let n=await lp(e.fetch);return n===void 0?{latest:t?.latest_version,refreshed:!1,stale:!0}:(await sp(e.home,{checked_at:new Date(e.nowMs).toISOString(),latest_version:n}),{latest:n,refreshed:!0,stale:!1})},dp=(e,t)=>{let n=rp(e,t);return n!==void 0&&n<0},fp=(e,t)=>`refs ${t} is available (this is ${e}) — update: npm i -g @kaisers-io/refs@latest`,pp=e=>{let t=e.REFS_UPDATE_CHECK?.trim();if(t===`0`)return!1;if(t===`1`)return!0},mp=e=>{let t=e.CI?.trim().toLowerCase();return t!==void 0&&t!==``&&t!==`false`&&t!==`0`},hp={check:!0,notify:!0},gp=e=>{let t=pp(e.env);return t===void 0?(e.updates??hp).check?mp(e.env)?`ci`:`on`:`config`:t?`on`:`env`},_p=e=>gp(e)===`on`,vp=e=>_p(e)&&(e.updates??hp).notify,yp=async(e,t)=>{let n=await Rl(e,h(t,`package.json`));if(n.kind===`inside`)try{let e=JSON.parse(await o(n.real,`utf8`));return{description:gf(e),name:hf(e)}}catch{return}},bp=async(e,t)=>{let n=await yp(e,h(e,t));if(n===void 0)return{diagnostic:{kind:`manifest_unreadable`,path:t}};let r=$d(t,n);return r===void 0?{diagnostic:{kind:`manifest_missing_name`,path:t}}:{pkg:r}},xp=e=>{let t=[],n=[];for(let r of e)r.diagnostic!==void 0&&t.push(r.diagnostic),r.pkg!==void 0&&n.push(r.pkg);return{diagnostics:t,packages:n}},Sp=async(e,t)=>{let n=await Rl(e,t);if(n.kind===`missing`)return{ok:!0};if(n.kind!==`inside`)return{ok:!1};try{return{content:await o(n.real,`utf8`),ok:!0}}catch{return{ok:!1}}},Cp=async(e,t)=>{let n=await Sp(e,t);return n.ok?n.content===void 0?{ok:!0,patterns:new Set}:wp(n.content):{ok:!1,patterns:new Set}},wp=e=>{let t=new Set;try{let n=JSON.parse(e);uf(n.workspaces).forEach(e=>t.add(e))}catch{return{ok:!1,patterns:t}}return{ok:!0,patterns:t}},Tp=/^packages:/mu,Ep=async(e,t)=>{let n=new Set,r=await Sp(e,t);return r.ok?r.content===void 0?{ok:!0,patterns:n}:(mf(r.content.split(`
322
+ `)).forEach(e=>n.add(e)),{ok:!0,patterns:n,unparsed:n.size===0&&Tp.test(r.content)}):{ok:!1,patterns:n}},Dp=async e=>{let[t,n]=await Promise.all([Cp(e,h(e,`package.json`)),Ep(e,h(e,`pnpm-workspace.yaml`))]),r=[];return t.ok||r.push({file:`package.json`,kind:`workspace_file_unreadable`}),n.ok||r.push({file:`pnpm-workspace.yaml`,kind:`workspace_file_unreadable`}),n.unparsed===!0&&r.push({file:`pnpm-workspace.yaml`,kind:`workspace_declaration_unparsed`}),{diagnostics:r,patterns:new Set([...t.patterns,...n.patterns])}},Op=new Set([`ENOENT`,`ENOTDIR`]),kp=async(e,t)=>{let n=await Rl(e,h(t,`package.json`));if(n.kind===`missing`)return`none`;if(n.kind!==`inside`)return`rejected`;try{return await o(n.real,`utf8`),`manifest`}catch{return`rejected`}},Ap=async e=>{try{return{entries:await s(e,{withFileTypes:!0})}}catch(e){return{code:e.code??``}}},jp=(e,t,n)=>Promise.all(n.map(n=>kp(e,h(t,n.name)))),Mp=(e,t,n)=>e.filter((e,r)=>n(t[r])).map(e=>e.name),Np=async e=>{let{baseDir:t,dirs:n,fullPath:r,repoDir:i,symlinks:a}=e,o=e=>re.join(t===`.`?``:t,e),[s,c]=await Promise.all([jp(i,r,n),jp(i,r,a)]);return{diagnostics:[...Mp(n,s,e=>e===`rejected`).map(e=>({kind:`manifest_unreadable`,path:o(e)})),...Mp(a,c,e=>e!==`none`).map(e=>({kind:`candidate_not_inspected`,path:o(e)}))],dirs:Qd(t,n.map(e=>e.name),s.map(e=>e===`manifest`))}},Pp=async(e,t)=>{let n=h(e,t),r=await Rl(e,n);if(r.kind===`missing`)return{diagnostics:[],dirs:[]};if(r.kind!==`inside`)return{diagnostics:[{kind:`workspace_dir_unreadable`,path:t}],dirs:[]};let i=await Ap(n);return`code`in i?Op.has(i.code)?{diagnostics:[],dirs:[]}:{diagnostics:[{kind:`workspace_dir_unreadable`,path:t}],dirs:[]}:Np({baseDir:t,dirs:i.entries.filter(e=>e.isDirectory()),fullPath:n,repoDir:e,symlinks:i.entries.filter(e=>e.isSymbolicLink())})},Fp=(e,t)=>{let n=Zd(t);return n.kind===`expand-children`?Pp(e,n.baseDir):n.kind===`probe-dir`?Ip(e,n.dir):Promise.resolve({diagnostics:[{kind:`unsupported_pattern`,pattern:t}],dirs:[]})},Ip=async(e,t)=>{let n=await kp(e,h(e,t));return n===`manifest`?{diagnostics:[],dirs:[t]}:n===`rejected`?{diagnostics:[{kind:`manifest_unreadable`,path:t}],dirs:[]}:{diagnostics:[],dirs:[]}},Lp=async(e,t)=>{let n=await Promise.all([...t].map(t=>Fp(e,t))),r=new Set,i=[];for(let e of n)e.dirs.forEach(e=>r.add(e)),i.push(...e.diagnostics);return{diagnostics:i,dirs:[...r]}},Rp=async e=>{let t=await Dp(e);if(t.patterns.size===0)return{diagnostics:of([...t.diagnostics,{kind:`no_workspace_declaration`}]),packages:[]};let n=await Lp(e,t.patterns),r=await Promise.all(n.dirs.map(t=>bp(e,t))),i=xp(r);return{diagnostics:of([...t.diagnostics,...n.diagnostics,...i.diagnostics]),packages:ef(i.packages)}},zp=async e=>(await Rp(e)).packages;var Bp=`0.10.0`;const Vp=async()=>{let e=[];for await(let t of process.stdin)e.push(Buffer.from(t));return Buffer.concat(e).toString(`utf8`)},Hp=()=>{try{return de()}catch{return``}},Up=()=>({cliVersion:Bp,cwd:process.cwd(),env:process.env,errLine:e=>{process.stderr.write(`${e}\n`)},fetcher:(e,t)=>fetch(e,t),homedir:Hp(),nodeVersion:process.version,out:e=>{process.stdout.write(`${e}\n`)},readStdin:Vp,runner:new Gf});var Wp=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},Gp=class extends Wp{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}},Kp=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new Gp(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,t):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function qp(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}var Jp=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let t=e.registeredArguments.map(e=>qp(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(t?` `+t:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
351
323
  `)}displayWidth(e){return _e(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
352
324
  `+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
353
- `)}},Nd=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=Id(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new kd(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,t):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?Fd(this.name().replace(/^no-/,``)):Fd(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},Pd=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r!==void 0&&r;return t.negate===(i===e)}};function Fd(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function Id(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
325
+ `)}},Yp=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=Qp(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new Gp(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,t):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?Zp(this.name().replace(/^no-/,``)):Zp(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},Xp=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r!==void 0&&r;return t.negate===(i===e)}};function Zp(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function Qp(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
354
326
  - a short flag is a single dash and a single character
355
327
  - either use a single dash and a single character (for a short flag)
356
328
  - or use a double dash for a long option (and can have two, like '--ws, --workspace')`):r.test(t)?Error(`${n}
357
329
  - too many short flags`):i.test(t)?Error(`${n}
358
330
  - too many long flags`):Error(`${n}
359
- - unrecognised flag format`)}if(t===void 0&&n===void 0)throw Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:n}}function Ld(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);let n=[];for(let t=0;t<=e.length;t++)n[t]=[t];for(let e=0;e<=t.length;e++)n[0][e]=e;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++){let a;a=e[i-1]===t[r-1]?0:1,n[i][r]=Math.min(n[i-1][r]+1,n[i][r-1]+1,n[i-1][r-1]+a),i>1&&r>1&&e[i-1]===t[r-2]&&e[i-2]===t[r-1]&&(n[i][r]=Math.min(n[i][r],n[i-2][r-2]+1))}return n[e.length][t.length]}function Rd(e,t){if(!t||t.length===0)return``;t=Array.from(new Set(t));let n=e.startsWith(`--`);n&&(e=e.slice(2),t=t.map(e=>e.slice(2)));let r=[],i=3;return t.forEach(t=>{if(t.length<=1)return;let n=Ld(e,t),a=Math.max(e.length,t.length);(a-n)/a>.4&&(n<i?(i=n,r=[t]):n===i&&r.push(t))}),r.sort((e,t)=>e.localeCompare(t)),n&&(r=r.map(e=>`--${e}`)),r.length>1?`\n(Did you mean one of ${r.join(`, `)}?)`:r.length===1?`\n(Did you mean ${r[0]}?)`:``}var zd=class e extends pe{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||``,this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description=``,this._summary=``,this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:e=>g.stdout.write(e),writeErr:e=>g.stderr.write(e),outputError:(e,t)=>t(e),getOutHelpWidth:()=>g.stdout.isTTY?g.stdout.columns:void 0,getErrHelpWidth:()=>g.stderr.isTTY?g.stderr.columns:void 0,getOutHasColors:()=>Vd()??(g.stdout.isTTY&&g.stdout.hasColors?.()),getErrHasColors:()=>Vd()??(g.stderr.isTTY&&g.stderr.hasColors?.()),stripColor:e=>_e(e)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._helpOption=e._helpOption,this._helpCommand=e._helpCommand,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}_getCommandAndAncestors(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,n){let r=t,i=n;typeof r==`object`&&r&&(i=r,r=null),i||={};let[,a,o]=e.match(/([^ ]+) *(.*)/),s=this.createCommand(a);return r&&(s.description(r),s._executableHandler=!0),i.isDefault&&(this._defaultCommandName=s._name),s._hidden=!!(i.noHelp||i.hidden),s._executableFile=i.executableFile||null,o&&s.arguments(o),this._registerCommand(s),s.parent=this,s.copyInheritedSettings(this),r?this:s}createCommand(t){return new e(t)}createHelp(){return Object.assign(new Md,this.configureHelp())}configureHelp(e){return e===void 0?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return e===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...e},this)}showHelpAfterError(e=!0){return typeof e!=`string`&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw Error(`Command passed to .addCommand() must have a name
360
- - specify the name in Command constructor or using .name()`);return t||={},t.isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new Ad(e,t)}argument(e,t,n,r){let i=this.createArgument(e,t);return typeof n==`function`?i.default(r).argParser(n):i.default(n),this.addArgument(i),this}arguments(e){return e.trim().split(/ +/).forEach(e=>{this.argument(e)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t?.variadic)throw Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if(typeof e==`boolean`)return this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let[,n,r]=(e??`help [command]`).match(/([^ ]+) *(.*)/),i=t??`display help for command`,a=this.createCommand(n);return a.helpOption(!1),r&&a.arguments(r),i&&a.description(i),this._addImplicitHelpCommand=!0,this._helpCommand=a,(e||t)&&this._initCommandGroup(a),this}addHelpCommand(e,t){return typeof e==`object`?(this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e),this):(this.helpCommand(e,t),this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand(`help`))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,t){let n=[`preSubcommand`,`preAction`,`postAction`];if(!n.includes(e))throw Error(`Unexpected value for event passed to hook : '${e}'.
361
- Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return this._exitCallback=e||(e=>{if(e.code!==`commander.executeSubCommandAsync`)throw e}),this}_exit(e,t,n){this._exitCallback&&this._exitCallback(new Od(e,t,n)),g.exit(e)}action(e){let t=t=>{let n=this.registeredArguments.length,r=t.slice(0,n);return r[n]=this._storeOptionsAsProperties?this:this.opts(),r.push(this),e.apply(this,r)};return this._actionHandler=t,this}createOption(e,t){return new Nd(e,t)}_callParseArg(e,t,n,r){try{return e.parseArg(t,n)}catch(e){if(e.code===`commander.invalidArgument`){let t=`${r} ${e.message}`;this.error(t,{exitCode:e.exitCode,code:e.code})}throw e}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let n=e.long&&this._findOption(e.long)?e.long:e.short;throw Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${n}'
362
- - already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=e=>[e.name()].concat(e.aliases()),n=t(e).find(e=>this._findCommand(e));if(n){let r=t(this._findCommand(n)).join(`|`),i=t(e).join(`|`);throw Error(`cannot add command '${i}' as already have command '${r}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),n=e.attributeName();e.defaultValue!==void 0&&this.setOptionValueWithSource(n,e.defaultValue,`default`);let r=(t,r,i)=>{t==null&&e.presetArg!==void 0&&(t=e.presetArg);let a=this.getOptionValue(n);t!==null&&e.parseArg?t=this._callParseArg(e,t,a,r):t!==null&&e.variadic&&(t=e._collectValue(t,a)),t??=e.negate?!1:e.isBoolean()||e.optional?!0:``,this.setOptionValueWithSource(n,t,i)};return this.on(`option:`+t,t=>{let n=`error: option '${e.flags}' argument '${t}' is invalid.`;r(t,n,`cli`)}),e.envVar&&this.on(`optionEnv:`+t,t=>{let n=`error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`;r(t,n,`env`)}),this}_optionEx(e,t,n,r,i){if(typeof t==`object`&&t instanceof Nd)throw Error(`To add an Option object use addOption() instead of option() or requiredOption()`);let a=this.createOption(t,n);if(a.makeOptionMandatory(!!e.mandatory),typeof r==`function`)a.default(i).argParser(r);else if(r instanceof RegExp){let e=r;r=(t,n)=>{let r=e.exec(t);return r?r[0]:n},a.default(i).argParser(r)}else a.default(r);return this.addOption(a)}option(e,t,n,r){return this._optionEx({},e,t,n,r)}requiredOption(e,t,n,r){return this._optionEx({mandatory:!0},e,t,n,r)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){return this._passThroughOptions=!!e,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw Error(`call .storeOptionsAsProperties() before adding options`);if(Object.keys(this._optionValues).length)throw Error(`call .storeOptionsAsProperties() before setting option values`);return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,n){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=n,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach(n=>{n.getOptionValueSource(e)!==void 0&&(t=n.getOptionValueSource(e))}),t}_prepareUserArgs(e,t){if(e!==void 0&&!Array.isArray(e))throw Error(`first parameter to parse must be array or undefined`);if(t||={},e===void 0&&t.from===void 0){g.versions?.electron&&(t.from=`electron`);let e=g.execArgv??[];(e.includes(`-e`)||e.includes(`--eval`)||e.includes(`-p`)||e.includes(`--print`))&&(t.from=`eval`)}e===void 0&&(e=g.argv),this.rawArgs=e.slice();let n;switch(t.from){case void 0:case`node`:this._scriptPath=e[1],n=e.slice(2);break;case`electron`:g.defaultApp?(this._scriptPath=e[1],n=e.slice(2)):n=e.slice(1);break;case`user`:n=e.slice(0);break;case`eval`:n=e.slice(1);break;default:throw Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||`program`,n}parse(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return this._parseCommand([],n),this}async parseAsync(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return await this._parseCommand([],n),this}_prepareForParse(){this._savedState===null?(this.options.filter(e=>e.negate&&e.defaultValue===void 0&&this.getOptionValue(e.attributeName())===void 0).forEach(e=>{let t=e.long.replace(/^--no-/,`--`);this._findOption(t)||this.setOptionValueWithSource(e.attributeName(),!0,`default`)}),this.saveStateBeforeParse()):this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
331
+ - unrecognised flag format`)}if(t===void 0&&n===void 0)throw Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:n}}function $p(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);let n=[];for(let t=0;t<=e.length;t++)n[t]=[t];for(let e=0;e<=t.length;e++)n[0][e]=e;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++){let a;a=e[i-1]===t[r-1]?0:1,n[i][r]=Math.min(n[i-1][r]+1,n[i][r-1]+1,n[i-1][r-1]+a),i>1&&r>1&&e[i-1]===t[r-2]&&e[i-2]===t[r-1]&&(n[i][r]=Math.min(n[i][r],n[i-2][r-2]+1))}return n[e.length][t.length]}function em(e,t){if(!t||t.length===0)return``;t=Array.from(new Set(t));let n=e.startsWith(`--`);n&&(e=e.slice(2),t=t.map(e=>e.slice(2)));let r=[],i=3;return t.forEach(t=>{if(t.length<=1)return;let n=$p(e,t),a=Math.max(e.length,t.length);(a-n)/a>.4&&(n<i?(i=n,r=[t]):n===i&&r.push(t))}),r.sort((e,t)=>e.localeCompare(t)),n&&(r=r.map(e=>`--${e}`)),r.length>1?`\n(Did you mean one of ${r.join(`, `)}?)`:r.length===1?`\n(Did you mean ${r[0]}?)`:``}var tm=class e extends pe{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||``,this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description=``,this._summary=``,this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:e=>g.stdout.write(e),writeErr:e=>g.stderr.write(e),outputError:(e,t)=>t(e),getOutHelpWidth:()=>g.stdout.isTTY?g.stdout.columns:void 0,getErrHelpWidth:()=>g.stderr.isTTY?g.stderr.columns:void 0,getOutHasColors:()=>rm()??(g.stdout.isTTY&&g.stdout.hasColors?.()),getErrHasColors:()=>rm()??(g.stderr.isTTY&&g.stderr.hasColors?.()),stripColor:e=>_e(e)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._helpOption=e._helpOption,this._helpCommand=e._helpCommand,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}_getCommandAndAncestors(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,n){let r=t,i=n;typeof r==`object`&&r&&(i=r,r=null),i||={};let[,a,o]=e.match(/([^ ]+) *(.*)/),s=this.createCommand(a);return r&&(s.description(r),s._executableHandler=!0),i.isDefault&&(this._defaultCommandName=s._name),s._hidden=!!(i.noHelp||i.hidden),s._executableFile=i.executableFile||null,o&&s.arguments(o),this._registerCommand(s),s.parent=this,s.copyInheritedSettings(this),r?this:s}createCommand(t){return new e(t)}createHelp(){return Object.assign(new Jp,this.configureHelp())}configureHelp(e){return e===void 0?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return e===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...e},this)}showHelpAfterError(e=!0){return typeof e!=`string`&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw Error(`Command passed to .addCommand() must have a name
332
+ - specify the name in Command constructor or using .name()`);return t||={},t.isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new Kp(e,t)}argument(e,t,n,r){let i=this.createArgument(e,t);return typeof n==`function`?i.default(r).argParser(n):i.default(n),this.addArgument(i),this}arguments(e){return e.trim().split(/ +/).forEach(e=>{this.argument(e)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t?.variadic)throw Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if(typeof e==`boolean`)return this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let[,n,r]=(e??`help [command]`).match(/([^ ]+) *(.*)/),i=t??`display help for command`,a=this.createCommand(n);return a.helpOption(!1),r&&a.arguments(r),i&&a.description(i),this._addImplicitHelpCommand=!0,this._helpCommand=a,(e||t)&&this._initCommandGroup(a),this}addHelpCommand(e,t){return typeof e==`object`?(this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e),this):(this.helpCommand(e,t),this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand(`help`))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,t){let n=[`preSubcommand`,`preAction`,`postAction`];if(!n.includes(e))throw Error(`Unexpected value for event passed to hook : '${e}'.
333
+ Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return this._exitCallback=e||(e=>{if(e.code!==`commander.executeSubCommandAsync`)throw e}),this}_exit(e,t,n){this._exitCallback&&this._exitCallback(new Wp(e,t,n)),g.exit(e)}action(e){let t=t=>{let n=this.registeredArguments.length,r=t.slice(0,n);return r[n]=this._storeOptionsAsProperties?this:this.opts(),r.push(this),e.apply(this,r)};return this._actionHandler=t,this}createOption(e,t){return new Yp(e,t)}_callParseArg(e,t,n,r){try{return e.parseArg(t,n)}catch(e){if(e.code===`commander.invalidArgument`){let t=`${r} ${e.message}`;this.error(t,{exitCode:e.exitCode,code:e.code})}throw e}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let n=e.long&&this._findOption(e.long)?e.long:e.short;throw Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${n}'
334
+ - already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=e=>[e.name()].concat(e.aliases()),n=t(e).find(e=>this._findCommand(e));if(n){let r=t(this._findCommand(n)).join(`|`),i=t(e).join(`|`);throw Error(`cannot add command '${i}' as already have command '${r}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),n=e.attributeName();e.defaultValue!==void 0&&this.setOptionValueWithSource(n,e.defaultValue,`default`);let r=(t,r,i)=>{t==null&&e.presetArg!==void 0&&(t=e.presetArg);let a=this.getOptionValue(n);t!==null&&e.parseArg?t=this._callParseArg(e,t,a,r):t!==null&&e.variadic&&(t=e._collectValue(t,a)),t??=e.negate?!1:e.isBoolean()||e.optional?!0:``,this.setOptionValueWithSource(n,t,i)};return this.on(`option:`+t,t=>{let n=`error: option '${e.flags}' argument '${t}' is invalid.`;r(t,n,`cli`)}),e.envVar&&this.on(`optionEnv:`+t,t=>{let n=`error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`;r(t,n,`env`)}),this}_optionEx(e,t,n,r,i){if(typeof t==`object`&&t instanceof Yp)throw Error(`To add an Option object use addOption() instead of option() or requiredOption()`);let a=this.createOption(t,n);if(a.makeOptionMandatory(!!e.mandatory),typeof r==`function`)a.default(i).argParser(r);else if(r instanceof RegExp){let e=r;r=(t,n)=>{let r=e.exec(t);return r?r[0]:n},a.default(i).argParser(r)}else a.default(r);return this.addOption(a)}option(e,t,n,r){return this._optionEx({},e,t,n,r)}requiredOption(e,t,n,r){return this._optionEx({mandatory:!0},e,t,n,r)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){return this._passThroughOptions=!!e,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw Error(`call .storeOptionsAsProperties() before adding options`);if(Object.keys(this._optionValues).length)throw Error(`call .storeOptionsAsProperties() before setting option values`);return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,n){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=n,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach(n=>{n.getOptionValueSource(e)!==void 0&&(t=n.getOptionValueSource(e))}),t}_prepareUserArgs(e,t){if(e!==void 0&&!Array.isArray(e))throw Error(`first parameter to parse must be array or undefined`);if(t||={},e===void 0&&t.from===void 0){g.versions?.electron&&(t.from=`electron`);let e=g.execArgv??[];(e.includes(`-e`)||e.includes(`--eval`)||e.includes(`-p`)||e.includes(`--print`))&&(t.from=`eval`)}e===void 0&&(e=g.argv),this.rawArgs=e.slice();let n;switch(t.from){case void 0:case`node`:this._scriptPath=e[1],n=e.slice(2);break;case`electron`:g.defaultApp?(this._scriptPath=e[1],n=e.slice(2)):n=e.slice(1);break;case`user`:n=e.slice(0);break;case`eval`:n=e.slice(1);break;default:throw Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||`program`,n}parse(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return this._parseCommand([],n),this}async parseAsync(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return await this._parseCommand([],n),this}_prepareForParse(){this._savedState===null?(this.options.filter(e=>e.negate&&e.defaultValue===void 0&&this.getOptionValue(e.attributeName())===void 0).forEach(e=>{let t=e.long.replace(/^--no-/,`--`);this._findOption(t)||this.setOptionValueWithSource(e.attributeName(),!0,`default`)}),this.saveStateBeforeParse()):this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
363
335
  - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(e,t,n){if(ce.existsSync(e))return;let r=`'${e}' does not exist
364
336
  - if '${n}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
365
337
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
366
- - ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let n=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function r(e,t){let r=m.resolve(e,t);if(ce.existsSync(r))return r;if(n.includes(m.extname(t)))return;let i=n.find(e=>ce.existsSync(`${r}${e}`));if(i)return`${r}${i}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let i=e._executableFile||`${this._name}-${e._name}`,a=this._executableDir||``;if(this._scriptPath){let e;try{e=ce.realpathSync(this._scriptPath)}catch{e=this._scriptPath}a=m.resolve(m.dirname(e),a)}if(a){let t=r(a,i);if(!t&&!e._executableFile&&this._scriptPath){let n=m.basename(this._scriptPath,m.extname(this._scriptPath));n!==this._name&&(t=r(a,`${n}-${e._name}`))}i=t||i}let o=n.includes(m.extname(i)),s;g.platform===`win32`?(this._checkForMissingExecutable(i,a,e._name),t.unshift(i),t=Bd(g.execArgv).concat(t),s=he.spawn(g.execPath,t,{stdio:`inherit`})):o?(t.unshift(i),t=Bd(g.execArgv).concat(t),s=he.spawn(g.argv[0],t,{stdio:`inherit`})):s=he.spawn(i,t,{stdio:`inherit`}),s.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{g.on(e,()=>{s.killed===!1&&s.exitCode===null&&s.kill(e)})});let c=this._exitCallback;s.on(`close`,e=>{e??=1,c?c(new Od(e,`commander.executeSubCommandAsync`,`(close)`)):g.exit(e)}),s.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(i,a,e._name);else if(t.code===`EACCES`)throw Error(`'${i}' not executable`);if(!c)g.exit(1);else{let e=new Od(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,c(e)}}),this.runningCommand=s}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)!==void 0&&this.getOptionValueSource(t)!=="default"});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
367
- `),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in g.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,g.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new Pd(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=Rd(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=e.length,i=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${r}: ${e.join(`, `)}.`;this.error(i,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=Rd(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t||=`-V, --version`,n||=`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>jd(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=m.basename(e,m.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e||={};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(g.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
368
- Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function Bd(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function Vd(){if(g.env.NO_COLOR||g.env.FORCE_COLOR===`0`||g.env.FORCE_COLOR===`false`)return!1;if(g.env.FORCE_COLOR||g.env.CLICOLOR_FORCE!==void 0)return!0}new zd;const Hd=[],Ud=e=>Array.isArray(e)?e:[e],Wd=e=>e===void 0?Hd:[e],Gd=e=>e instanceof Error?e.message:String(e),Z=e=>{let t=e.optsWithGlobals();return{json:t.json===!0,verbose:t.verbose===!0}},Q=(e,t,n,r,i)=>{if(t.json){let t={data:r,ok:!0,warnings:i??Hd};e.out(JSON.stringify(t));return}for(let t of Ud(n))e.out(t);for(let t of i??Hd)e.errLine(`refs: warning: ${t}`)},Kd=(e,t,n)=>{if(t.json){let t={error:{code:n.code,message:n.message},ok:!1};e.out(JSON.stringify(t));return}e.errLine(`refs: ${n.message}`)},qd=(e,t)=>{e.errLine(`refs: ${t}`)},$=(e,t,n)=>async()=>{try{await n()}catch(n){let r=be(n,{verbose:t.verbose});Kd(e,t,r),process.exitCode=r.exitCode}},Jd=async e=>{let t=await e.runner.run(`git`,[`--version`]);return t.exitCode===0?{detail:t.stdout.trim(),name:`git`,status:`ok`}:{detail:t.stderr.trim()||`git --version exited with code ${t.exitCode}`,name:`git`,status:`fail`}},Yd=/^v(?<major>\d+)\.(?<minor>\d+)/u,Xd=e=>{let t=Yd.exec(e),n=t?.groups?.major,r=t?.groups?.minor;if(n!==void 0&&r!==void 0)return{major:Number(n),minor:Number(r)}},Zd=e=>e===void 0?!1:e.major>24||e.major===24&&e.minor>=2,Qd=e=>{let{nodeVersion:t}=e;return Zd(Xd(t))?{detail:t,name:`node`,status:`ok`}:{detail:`${t} does not satisfy the required range >=24.2`,name:`node`,status:`fail`}},$d=()=>cs.parse({meta:{cli_version:`0.0.0`,schema_version:1},refs:{},settings:{}}),ef=async e=>{try{return{config:await W(e)}}catch(e){return{config:$d(),errorMessage:Gd(e)}}},tf=e=>e===void 0?{detail:`config is present and matches the current schema`,name:`config`,status:`ok`}:{detail:e,name:`config`,status:`fail`},nf=(e,t)=>Object.keys(t.refs).map(t=>({dest:U(e,z.parse(t)),key:t})).filter(e=>G(e.dest)),rf=[`pre-commit`,`pre-push`],af=async(t,r)=>{try{return await e(h(t.hooksDir,r),n.X_OK),!0}catch{return!1}},of=async e=>{let t=await Promise.all(rf.map(t=>af(e,t)));return rf.filter((e,n)=>!t[n])},sf=async(e,t,n)=>{let r=await e.runner.run(`git`,[`config`,`--local`,`--get`,`core.hooksPath`],{cwd:n});return r.exitCode===0&&r.stdout.trim()===t.hooksDir},cf=e=>e.missingHooks.length>0?{detail:`${e.missingHooks.map(e=>`hooks/${e}`).join(`, `)} missing or not executable — run: refs init`,name:`hooks-guard`,status:`fail`}:e.badKeys.length>0?{detail:`core.hooksPath not set for: ${e.badKeys.join(`, `)} — run: refs init`,name:`hooks-guard`,status:`fail`}:{detail:`${rf.map(e=>`hooks/${e}`).join(`, `)} present; ${e.checkoutCount} checkout(s) guarded`,name:`hooks-guard`,status:`ok`},lf=async(e,t,n)=>{let r=nf(t,n),[i,a]=await Promise.all([of(t),Promise.all(r.map(n=>sf(e,t,n.dest)))]),o=r.filter((e,t)=>!a[t]).map(e=>e.key);return cf({badKeys:o,checkoutCount:r.length,missingHooks:i})},uf=async(e,t)=>{let n=await e.runner.run(`git`,[`status`,`--porcelain`],{cwd:t.dest});return n.exitCode===0?{broken:!1,detail:``,dirty:n.stdout.trim()!==``,key:t.key}:{broken:!0,detail:n.stderr.trim(),dirty:!1,key:t.key}},df=e=>{let t=e.filter(e=>e.broken);if(t.length>0)return{detail:t.map(e=>`${e.key}: git status failed — ${e.detail}`).join(`; `),name:`dirty-checkouts`,status:`fail`};let n=e.filter(e=>e.dirty).map(e=>e.key);return n.length===0?{detail:`no local changes in any checkout`,name:`dirty-checkouts`,status:`ok`}:{detail:`local changes will be discarded on next sync: ${n.join(`, `)}`,name:`dirty-checkouts`,status:`warn`}},ff=async(e,t,n)=>{let r=nf(t,n),i=await Promise.all(r.map(t=>uf(e,t)));return df(i)},pf=async e=>{try{return await X(e)}catch{return Wu.parse({})}},mf=async e=>{try{return(await s(e,{withFileTypes:!0})).filter(e=>e.isDirectory()).map(e=>e.name)}catch(e){if(V(e))return[];throw e}},hf=async(e,t)=>{if(G(e))return[[...t]];let n=await mf(e);return(await Promise.all(n.map(n=>hf(h(e,n),[...t,n])))).flat()},gf=(e,t,n)=>{let r=e.refs[t]?.pending_proposal_at;return r!==void 0&&n-Date.parse(r)<864e5},_f=(e,t,n)=>gf(t,e.key,n)?`${e.key}: pending add`:`${e.key}: orphan — remove with: rm -rf ${e.dest}`,vf=(e,t)=>({dest:h(e.sourcesDir,...t),key:t.join(`/`)}),yf=async(e,t,n)=>{let r=(await hf(e.sourcesDir,[])).map(t=>vf(e,t)).filter(e=>!Object.hasOwn(t.refs,e.key));if(r.length===0)return{detail:`no orphaned checkouts under sources/`,name:`orphans`,status:`ok`};let i=Date.now();return{detail:r.map(e=>_f(e,n,i)).join(`; `),name:`orphans`,status:`warn`}},bf=[`.agents`,`skills`,`refs`,`SKILL.md`],xf=[`skills`,`refs`,`SKILL.md`],Sf=[`.claude`,`skills`,`refs`,`SKILL.md`],Cf=`npx skills add kaisers-io/refs`,wf=`npm i -g @kaisers-io/refs@latest`,Tf=(e,t)=>e===void 0?void 0:{display:t,path:e},Ef=e=>{let{dirName:t,env:n,home:r,overrideName:i}=e,a=n[i]?.trim();return a!==void 0&&a.length>0?{display:a,path:a}:Tf(r===void 0?void 0:h(r,t),`~/${t}`)},Df=e=>{let t=e.homedir.length>0?e.homedir:void 0;return[{label:`shared ~/.agents`,root:Tf(t,`~/.agents`),segments:bf},{label:`Claude Code`,root:Ef({dirName:`.claude`,env:e.env,home:t,overrideName:`CLAUDE_CONFIG_DIR`}),segments:xf},{label:`Codex`,root:Ef({dirName:`.codex`,env:e.env,home:t,overrideName:`CODEX_HOME`}),segments:xf},{label:`project ./.agents`,root:Tf(e.cwd,`./.agents`),segments:bf},{label:`project ./.claude`,root:Tf(e.cwd,`./.claude`),segments:Sf}].flatMap(({label:e,root:t,segments:n})=>t===void 0?[]:[{display:t.display,label:e,path:h(t.path,...n)}])},Of=async(e,t)=>{try{let n=await c(e);return{label:t,realPath:n,source:await o(n,`utf8`)}}catch{return}},kf=e=>{let t=new Map;for(let n of e)t.has(n.realPath)||t.set(n.realPath,n);return[...t.values()]},Af=/^---\r?\n(?<body>[\s\S]*?)\r?\n---/u,jf=/^\s*cli_version:\s*["']?(?<version>[^"'\s]+)["']?\s*$/mu,Mf=e=>{let t=Af.exec(e)?.groups?.body;if(t!==void 0)return jf.exec(t)?.groups?.version},Nf=/^\d+\.\d+\.\d+$/u,Pf=e=>{if(Nf.test(e))return e.split(`.`).map(Number)},Ff=(e,t)=>{if(e===t)return`match`;let n=Pf(e),r=Pf(t);if(n===void 0||r===void 0)return`unknown`;let i=n.findIndex((e,t)=>e!==r[t]);return i===-1?`match`:(n[i]??0)>(r[i]??0)?`cli-older`:`skill-older`},If={"cli-older":(e,t)=>`the refs skill targets CLI ${e} but this CLI is ${t} — update the CLI: ${wf}`,match:(e,t)=>`the refs skill is installed and matches this CLI (${t})`,"skill-older":(e,t)=>`the refs skill targets CLI ${e} but this CLI is ${t} — update the skill: ${Cf}`,unknown:(e,t)=>`the refs skill targets CLI ${e} but this CLI is ${t} — reinstall both: ${wf} and ${Cf}`},Lf=e=>{let{cliVersion:t,label:n,skillVersion:r}=e;if(r===void 0)return{detail:`the refs skill (${n}) predates the version gate — update it: ${Cf}`,name:`skill`,status:`warn`};let i=Ff(r,t);return{detail:`${n}: ${If[i](r,t)}`,name:`skill`,status:i===`match`?`ok`:`warn`}},Rf=e=>({detail:`refs skill not found in the locations this check knows about (${e.map(e=>e.display).join(`, `)}) — an install anywhere else is invisible here and still works; if it really is missing: ${Cf}`,name:`skill`,status:`warn`}),zf=async e=>{let t=Df(e),n=await Promise.all(t.map(e=>Of(e.path,e.label))),r=kf(n.filter(e=>e!==void 0)).map(t=>Lf({cliVersion:e.cliVersion,label:t.label,skillVersion:Mf(t.source)}));return r.find(e=>e.status!==`ok`)??r[0]??Rf(t)},Bf=/^(?<user>[^/\s@]+)@(?<host>[^:/\s]+):/u,Vf=e=>e===``?{}:{user:e},Hf=e=>e===``?{}:{port:e},Uf=e=>{try{let t=new URL(e);return t.protocol===`ssh:`?{host:t.hostname,...Vf(t.username),...Hf(t.port)}:void 0}catch{return}},Wf=e=>{let t=Bf.exec(e),n=t?.groups?.host;return n===void 0?Uf(e):{host:n,user:t?.groups?.user??`git`}},Gf=e=>e.port===void 0?e.host:`${e.host}:${e.port}`,Kf=e=>e.user===void 0?Gf(e):`${e.user}@${Gf(e)}`,qf=e=>{let t=Object.values(e.refs).map(e=>Wf(e.url)).filter(e=>e!==void 0),n=new Map;for(let e of t)n.set(Kf(e),e);return[...n.values()].toSorted((e,t)=>Kf(e).localeCompare(Kf(t)))},Jf=/Permission denied/u,Yf=[/Could not resolve hostname/u,/Connection refused/u,/Host key verification failed/u,/timed out/u],Xf=e=>e.user===void 0?e.host:`${e.user}@${e.host}`,Zf=e=>{let t=[`-o`,`ConnectTimeout=5`,`-o`,`BatchMode=yes`],n=Xf(e);return e.port===void 0?[...t,`-T`,n]:[...t,`-p`,e.port,`-T`,n]},Qf=async(e,t,n)=>{let r=Kf(t),i=await e.runner.run(`ssh`,Zf(t),{timeoutMs:n});return i.timedOut===!0?{host:r,outcome:`timeout`}:Jf.test(i.stderr)?{host:r,outcome:`denied`}:Yf.some(e=>e.test(i.stderr))?{detail:i.stderr.trim(),host:r,outcome:`connection-warn`}:{host:r,outcome:`ok`}},$f=(e,t)=>{let n=e.filter(e=>e.outcome===`timeout`).map(e=>e.host);if(n.length!==0)return{detail:`ssh probe timed out after ${t/1e3}s: ${n.join(`, `)}`,name:`ssh-auth`,status:`fail`}},ep=e=>{let t=e.filter(e=>e.outcome===`denied`).map(e=>e.host);if(t.length!==0)return{detail:`ssh permission denied for: ${t.join(`, `)}`,name:`ssh-auth`,status:`fail`}},tp=e=>{let t=e.filter(e=>e.outcome===`connection-warn`);if(t.length!==0)return{detail:`ssh connection issue, treated as warn: ${t.map(e=>`${e.host} (${e.detail??``})`).join(`; `)}`,name:`ssh-auth`,status:`warn`}},np=e=>({detail:`ssh auth ok for: ${e.map(e=>e.host).join(`, `)}`,name:`ssh-auth`,status:`ok`}),rp=(e,t)=>$f(e,t)??ep(e)??tp(e)??np(e),ip=async(e,t,n)=>{let r=qf(t);if(r.length===0)return;let i=n?.timeoutMs??1e4,a=await Promise.all(r.map(t=>Qf(e,t,i)));return rp(a,i)},ap=async e=>{try{return await e.run()}catch(t){return{detail:`check crashed: ${Gd(t)}`,name:e.name,status:`fail`}}},op=async e=>{let[t,...n]=e;if(t===void 0)return[];let r=await ap(t),i=await op(n);return r===void 0?i:[r,...i]},sp=e=>{let{configLoad:t,ctx:n,home:r,state:i}=e;return[{name:`git`,run:()=>Jd(n)},{name:`node`,run:()=>Promise.resolve(Qd(n))},{name:`config`,run:()=>Promise.resolve(tf(t.errorMessage))},{name:`hooks-guard`,run:()=>lf(n,r,t.config)},{name:`dirty-checkouts`,run:()=>ff(n,r,t.config)},{name:`orphans`,run:()=>yf(r,t.config,i)},{name:`skill`,run:()=>zf(n)},{name:`ssh-auth`,run:()=>ip(n,t.config)}]},cp=async e=>{let t=H(e.env),n=await ef(t),r=await pf(t);return op(sp({configLoad:n,ctx:e,home:t,state:r}))},lp={fail:`FAIL`,ok:`OK`,warn:`WARN`},up=e=>e.map(e=>`[${lp[e.status]}] ${e.name}: ${e.detail}`),dp=e=>e.some(e=>e.status===`fail`),fp=(e,t)=>{e.command(`doctor`).description(`Run environment/integrity checks (git, node, config, hooks, checkouts, ssh).`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let e=await cp(t);Q(t,r,up(e),{checks:e}),dp(e)&&(process.exitCode=_.UNEXPECTED)})()})},pp=async e=>{let t=H(e.env),n=await J(t,`home`,()=>lc(t,wd));return n===`migrated`?{backup:Vs(t),result:n}:{backup:null,result:n}},mp=e=>e.result===`migrated`&&e.backup!==null?`config migrated (backup: ${ee(e.backup)})`:e.result===`seeded`?`config seeded`:`config up to date`,hp=(e,t)=>{e.command(`migrate`).description(`Migrate the refs config to the current schema, seeding it if absent.`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let e=await pp(t);Q(t,r,mp(e),e)})()})},gp=`never`,_p=(e,t,n)=>e===void 0||n-Date.parse(e)>t,vp=(e,t)=>`${e} ${t}${e===1?``:`s`} ago`,yp=(e,t)=>{if(e===void 0)return gp;let n=t-Date.parse(e);if(Number.isNaN(n))return gp;let r=Math.floor(n/1e3);if(r<60)return`just now`;let i=Math.floor(r/60);if(i<60)return vp(i,`minute`);let a=Math.floor(i/60);if(a<24)return vp(a,`hour`);let o=Math.floor(a/24);return o<365?vp(o,`day`):vp(Math.floor(o/365),`year`)},bp=e=>{let t=yp(e.lastFetchedAt,e.now),n=[`synced: ${t}`];return e.stale&&t!==gp&&n.push(`status: stale`),e.missing&&n.push(`missing: checkout not found — run: refs sync`),n},xp=(e,t,n)=>{let r=e.state.refs[t],i=Qo(Y(`sync_ttl`,n,e.settings)),a=Object.keys(n.packages??{}).toSorted();return{clone_mode:Y(`clone_mode`,n,e.settings),description:n.description,key:t,...r?.last_fetched_at===void 0?{}:{last_fetched_at:r.last_fetched_at},missing:!G(U(e.home,z.parse(t))),...e.includePackages?{packages:a}:{},packages_count:a.length,stale:_p(r?.last_fetched_at,i,e.now)}},Sp=e=>{let t={home:e.home,includePackages:e.includePackages,now:e.now,settings:e.config.settings,state:e.state};return Object.entries(e.config.refs).map(([e,n])=>xp(t,e,n)).toSorted((e,t)=>e.key.localeCompare(t.key))},Cp=async(e,t,n)=>{let r=H(e.env),i=await W(r),a=await X(r);return Sp({config:i,home:r,includePackages:t,now:n,state:a})},wp=(e,t)=>[`ref: ${e.key}`,`description: ${e.description}`,...bp({lastFetchedAt:e.last_fetched_at,missing:e.missing,now:t,stale:e.stale})],Tp=(e,t)=>e.length===0?[`no refs configured — run: refs add <source>`]:e.reduce((e,n,r)=>(r>0&&e.push(``),e.push(...wp(n,t)),e),[]),Ep=e=>e.split(`/`),Dp=(e,t)=>{let n=Ep(e);if(t.length>n.length)return!1;let r=n.length-t.length;return t.every((e,t)=>e===n[r+t])},Op=(e,t)=>{if(Object.hasOwn(e.refs,t))return z.parse(t);let n=Ep(t),r=Object.keys(e.refs).filter(e=>Dp(e,n)).toSorted(),[i]=r;if(i===void 0)throw y(`no ref matches '${t}'`);if(r.length>1)throw b(`'${t}' matches more than one ref: ${r.join(`, `)}`);return z.parse(i)},kp=(e,t)=>{e.command(`list`).description(`List configured refs with their staleness/missing checkout status.`).option(`--packages`,`include each ref's package names in --json output (off by default)`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let n=Date.now(),i=await Cp(t,e.packages===!0,n);Q(t,r,Tp(i,n),i)})()})},Ap=e=>`ref.${e.replaceAll(`/`,`_`)}`,jp=e=>e.REFS_ALLOW_FILE_URLS===`1`,Mp=(e,t)=>{let n=pl(t,{allowFileUrls:jp(e.env)});return{cloneUrl:n.cloneUrl,key:n.key}},Np=async(e,t)=>{if(t===``)throw b(`refs add npm: requires a package name, e.g. npm:left-pad`);qd(e,`resolving npm package '${t}'…`);let n=await gu(e.fetcher,t),r={cloneUrl:n.cloneUrl,key:n.key,npmPkgName:t};return n.directory!==void 0&&(r.npmDirectory=n.directory),r},Pp=(e,t)=>t.startsWith(`npm:`)?Np(e,t.slice(4)):Promise.resolve(Mp(e,t)),Fp=(e,t)=>{if(e.npmPkgName===void 0)return e;let n=Y(`git_transport`,void 0,t);return{...e,cloneUrl:wl(e.cloneUrl,n)}},Ip=e=>`ref '${e}' already exists — use refs edit or refs remove`,Lp=(e,t)=>{if(e.refs[t]!==void 0)throw ve(Ip(t))},Rp=async e=>{try{return await s(e,{withFileTypes:!0})}catch(e){if(V(e))return;throw e}},zp=e=>e.filter(e=>e.isDirectory()).map(e=>e.name),Bp=async(e,t)=>{let n=await Rp(e);if(n===void 0)return{kind:`stop`};let r=zp(n);if(r.includes(t))return{kind:`continue`,nextDir:h(e,t)};let i=r.find(e=>e.toLowerCase()===t.toLowerCase());return i===void 0?{kind:`stop`}:{kind:`collision`,name:i}},Vp=async(e,t,n)=>{let[r,...i]=t;if(r===void 0)return;let a=await Bp(e,r);if(a.kind!==`stop`)return a.kind===`collision`?[...n,a.name].join(`/`):Vp(a.nextDir,i,[...n,r])},Hp=[],Up=async(e,t)=>{let n=await Vp(e.sourcesDir,t.split(`/`),Hp);if(n!==void 0)throw ve(`checkout path for '${t}' collides case-insensitively with existing '${n}'`)},Wp=async e=>{try{return await i(e),!0}catch(e){if(V(e))return!1;throw e}},Gp=async e=>{try{return await s(e)}catch(e){if(V(e))return;throw e}},Kp=async e=>{try{return(await i(e)).isDirectory()}catch(e){if(V(e))return;throw e}},qp=async e=>{let t=await Gp(e);if(t===void 0)return!0;if(t.length>0)return!1;try{await d(e)}catch(e){if(!V(e))throw e}return!0},Jp=async e=>{let t=await Kp(e);return t===void 0?!0:t?qp(e):!1},Yp=async(e,t)=>{t!==e.sourcesDir&&await Jp(t)&&await Yp(e,te(t))},Xp=async(e,t)=>await Wp(t)?(Gs(e,t),await u(t,{force:!0,recursive:!0}),await Yp(e,te(t)),{removedCheckout:!0}):{removedCheckout:!1,warning:`checkout was already missing`},Zp=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),Qp=async(e,t)=>{let n=await W(e),r={...n,refs:Zp(n.refs,t)};await $s(e,r);let i=await X(e),a={...i,refs:Zp(i.refs,t)};await qu(e,a)},$p=async(e,t)=>{let n=H(e.env),r=await W(n),i=Op(r,t),a=U(n,i),{removedCheckout:o,warning:s}=await J(n,Ap(i),()=>Xp(n,a));return await J(n,`home`,()=>Qp(n,i)),{data:{key:i,removed_checkout:o},warnings:Wd(s)}},em=e=>e.removed_checkout?[`removed ${e.key} (checkout deleted)`]:[`removed ${e.key} (checkout was already missing)`],tm=(e,t)=>{e.command(`remove`).description(`Remove a configured ref: its config/state entry AND its checkout directory.`).argument(`<ref>`,`full ref key or a unique suffix, e.g. zod`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let{data:n,warnings:r}=await $p(t,e);Q(t,i,em(n),n,r)})()})},nm=(e,t)=>{let n=e.refs[t];if(n===void 0)throw Error(`internal: matched ref key '${t}' is missing from config.refs`);return n},rm=(e,t)=>{if(!G(e))throw y(`checkout for '${t}' is missing — run: refs sync ${t}`)},im=(e,t,n)=>{let r=e.packages?.[n];if(r===void 0)throw y(`no package '${n}' registered on ref '${t}'`);return r},am=e=>`no ref matches '${e}' — run refs list, or add it: refs add <url>`,om=/^[a-z][a-z0-9+.-]*:\/\//iu,sm=/^git@[^:/\s]+:[^\s]+$/u,cm=e=>om.test(e)||sm.test(e),lm=(e,t)=>{try{return pl(e,t)}catch{if(cm(e))throw x(`query looks like a git url but is not a supported form — check the url (credentials are never accepted) or run: refs resolve <package|ref-suffix>`);return}},um=(e,t,n)=>{let r=lm(t,n);if(r!==void 0){if(Object.hasOwn(e.refs,r.key))return{key:r.key};throw y(am(t))}},dm=(e,t)=>{let n=[];for(let r of Object.keys(e.refs).toSorted()){let i=e.refs[r]?.packages?.[t];i!==void 0&&n.push({entry:i,key:z.parse(r)})}return n},fm=(e,t)=>`package '${e}' is registered by more than one ref: ${t.join(`, `)} — use the full ref key`,pm=(e,t)=>{let n=dm(e,t),[r]=n;if(r!==void 0){if(n.length>1)throw b(fm(t,n.map(e=>e.key)));return r}},mm=(e,t)=>{let n=t.split(`/`);for(let t=n.length-1;t>=1;--t){let r=n.slice(0,t).join(`/`),i=pm(e,r);if(i!==void 0)return{...i,name:r}}},hm=(e,t)=>{try{return Op(e,t)}catch(e){throw e instanceof v&&e.code===`not_found`?y(am(t)):e}},gm=(e,t,n)=>{let r=um(e,t,n);if(r!==void 0)return r;let i=pm(e,t);if(i!==void 0)return{key:i.key,packageMatch:{...i,name:t}};let a=mm(e,t);return a===void 0?{key:hm(e,t)}:{key:a.key,packageMatch:a}},_m=(e,t)=>{if(e.packageMatch===void 0)return null;let{entry:n,name:r}=e.packageMatch;return{local_path:h(t,n.path),name:r,path:n.path}},vm=async(e,t,n)=>{let r=H(e.env),i=await W(r),a=gm(i,t,{allowFileUrls:jp(e.env)}),o=nm(i,a.key),s=await X(r),c=U(r,a.key),l=Qo(Y(`sync_ttl`,o,i.settings)),u=s.refs[a.key]?.last_fetched_at;return{key:a.key,...u===void 0?{}:{last_fetched_at:u},local_path:c,missing:!G(c),package:_m(a,c),stale:_p(u,l,n)}},ym=(e,t)=>{let n=[`ref: ${e.key}`,`path: ${e.local_path}`,...bp({lastFetchedAt:e.last_fetched_at,missing:e.missing,now:t,stale:e.stale})];return e.package!==null&&n.push(`package: ${e.package.name}`,`package path: ${e.package.local_path}`),n},bm=(e,t)=>{e.command(`resolve`).description(`Resolve a git url, npm package name, import path, or ref-key suffix to its ref/package.`).argument(`<query>`,`git url, npm package name, import path, or unique ref-key suffix`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let n=Date.now(),r=await vm(t,e,n);Q(t,i,ym(r,n),r)})()})},xm={},Sm=async(e,t)=>{if(!G(t))return{tags:[]};try{return{tags:await kc(e.runner,t,5)}}catch(e){return{tags:[],warning:`could not list tags: ${Gd(e)}`}}},Cm=async(e,t,n,r)=>{let i=H(e.env),a=await W(i),o=Op(a,t),s=nm(a,o),c=await X(i),l=U(i,o),{packages:u,...d}=s,f=n.tags?await Sm(e,l):void 0,p=c.refs[o]??xm;return{data:{...d,key:o,local_path:l,missing:!G(l),...n.packages?{packages:u??{}}:{},packages_count:Object.keys(u??{}).length,...f===void 0?{}:{sample_tags:f.tags},stale:_p(p.last_fetched_at,Qo(Y(`sync_ttl`,s,a.settings)),r),state:p},warnings:Wd(f?.warning)}},wm=(e,t)=>{let n=[`ref: ${e.key}`,`description: ${e.description}`,`url: ${e.url}`,`path: ${e.local_path}`,...bp({lastFetchedAt:e.state.last_fetched_at,missing:e.missing,now:t,stale:e.stale})];return e.sample_tags!==void 0&&e.sample_tags.length>0&&n.push(`tags: ${e.sample_tags.join(`, `)}`),n},Tm=(e,t)=>{e.command(`show`).description(`Show a configured ref: entry, state, local path, package count; --packages/--tags add the package map and sample tags to --json.`).argument(`<ref>`,`full ref key or a unique suffix, e.g. zod`).option(`--packages`,`include the ref's full package map in --json output (off by default)`).option(`--tags`,`include sample tags in --json output (human output always probes for them)`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let r={packages:n.packages===!0,tags:!i.json||n.tags===!0},a=Date.now(),{data:o,warnings:s}=await Cm(t,e,r,a);Q(t,i,wm(o,a),o,s)})()})},Em=(e,t)=>{let n={head_sha:t.headSha,last_fetched_at:new Date().toISOString()},r=t.effectiveCloneMode??e?.effective_clone_mode;return r!==void 0&&(n.effective_clone_mode=r),n},Dm=async(e,t,n)=>{let r=await W(e),i=r.refs[t];i!==void 0&&(r.refs[t]={...i,default_branch:n},await $s(e,r))},Om=(e,t,n)=>J(e,`home`,async()=>{n.branchRenamedTo!==void 0&&await Dm(e,t,n.branchRenamedTo);let r=await X(e);r.refs[t]=Em(r.refs[t],n),await qu(e,r)}),km=async(e,t,n)=>{try{await J(e,`home`,async()=>{let r=await X(e);r.refs[t]={...r.refs[t],last_error:n},await qu(e,r)})}catch{}},Am=e=>{let t=0,n=[];return{acquire:()=>{if(t<e)return t+=1,Promise.resolve();let{promise:r,resolve:i}=Promise.withResolvers();return n.push(()=>{t+=1,i()}),r},release:()=>{--t;let e=n.shift();e!==void 0&&e()}}},jm=async(e,t)=>{await e.acquire();try{return await t()}finally{e.release()}},Mm=(e,t,n)=>`checkout at ${e} points at '${q(t)}' — expected '${q(n)}'; remove the checkout directory or run refs remove before retrying`,Nm=e=>e.exitCode===0?e.stdout.trim():`(no origin remote)`,Pm=(e,t)=>{try{return pl(e,{allowFileUrls:t}).key}catch{return}},Fm=async(e,t)=>{let n=await e.run(`git`,[`remote`,`get-url`,`origin`],{cwd:t.dest}),r=Nm(n),i=Pm(t.expectedUrl,t.allowFileUrls),a=Pm(r,t.allowFileUrls);if(i===void 0||a!==i)throw ve(Mm(t.dest,r,t.expectedUrl))},Im=e=>`checkout at ${e} exists but is not refs-managed — remove it (rm -rf ${e}) and retry`,Lm=async(e,t)=>{let n=await e.run(`git`,[`config`,`--local`,`core.hooksPath`],{cwd:t.dest});if(n.exitCode!==0||n.stdout.trim()!==t.hooksDir)throw ve(Im(t.dest))},Rm=async(e,t)=>{await a(te(t.dest),{recursive:!0}),qd(e,`cloning ${q(t.cloneUrl)} into ${t.dest}…`);let n=await bc(e.runner,t);return n.warning===void 0?{effectiveMode:n.effectiveMode}:{effectiveMode:n.effectiveMode,warning:n.warning}},zm=async(e,t)=>(Gs(t.home,t.dest),G(t.dest)?(await Fm(e.runner,{allowFileUrls:t.allowFileUrls,dest:t.dest,expectedUrl:t.cloneUrl}),await Lm(e.runner,{dest:t.dest,hooksDir:t.hooksDir}),{}):Rm(e,t)),Bm=(e,t)=>`checkout for '${e}' at ${t} is missing or corrupt (git rev-parse HEAD failed) — run: refs remove ${e}, then refs add <source> --dry-run again`,Vm=(e,t,n)=>`checkout for '${e}' at ${t} has a HEAD sha refs cannot store yet (${n.length} hex chars, expected 40) — only SHA-1 repositories are supported for now; \`--object-format=sha256\` repositories are not yet supported`,Hm=async(e,t)=>{await Fm(e,t),await Lm(e,{dest:t.dest,hooksDir:t.hooksDir});let n=await e.run(`git`,[`rev-parse`,`HEAD`],{cwd:t.dest});if(n.exitCode!==0)throw x(Bm(t.key,t.dest));let r=n.stdout.trim();if(!Uu.shape.head_sha.safeParse(r).success)throw x(Vm(t.key,t.dest,r));return r},Um=(e,t,n)=>`sync produced a HEAD sha for '${e}' at ${t} that refs cannot store yet (${n.length} hex chars) — only SHA-1 repositories are supported for now`,Wm=(e,t,n)=>{if(!Uu.shape.head_sha.safeParse(n).success)throw x(Um(e,t,n));return n},Gm=(e,t,n)=>{let r={effectiveCloneMode:t.effectiveMode,headSha:n.headSha,status:`cloned`};return n.actualBranch!==e.ref.default_branch&&(r.branchRenamedTo=n.actualBranch),t.warning!==void 0&&(r.warning=t.warning),r},Km=async(e,t,n)=>{await a(te(n),{recursive:!0});let r=Y(`clone_mode`,t.ref,t.settings),i=await bc(e.runner,{cloneUrl:t.ref.url,dest:n,hooksDir:t.home.hooksDir,mode:r}),o=await Sc(e.runner,n),s=await Hm(e.runner,{allowFileUrls:jp(e.env),dest:n,expectedUrl:t.ref.url,hooksDir:t.home.hooksDir,key:t.key});return Gm(t,i,{actualBranch:o,headSha:s})},qm=async(e,t,n)=>{await Lm(e.runner,{dest:n,hooksDir:t.home.hooksDir}),await Fm(e.runner,{allowFileUrls:jp(e.env),dest:n,expectedUrl:t.ref.url});let r=await Oc(e.runner,{defaultBranch:t.ref.default_branch,dir:n}),i={headSha:Wm(t.key,n,r.newSha),status:r.status};return r.branchRenamedTo!==void 0&&(i.branchRenamedTo=r.branchRenamedTo),r.warning!==void 0&&(i.warning=r.warning),i},Jm=(e,t)=>J(t.home,Ap(t.key),()=>{let n=U(t.home,t.key);return Gs(t.home,n),G(n)?qm(e,t,n):Km(e,t,n)}),Ym=e=>{let t=[];e.branchRenamedTo!==void 0&&t.push(`default branch renamed to ${e.branchRenamedTo}`),e.warning!==void 0&&t.push(e.warning);let[n]=t;if(n!==void 0)return t.join(` | `)},Xm=(e,t)=>{let n={key:e,status:t.status},r=Ym(t);return r!==void 0&&(n.warning=r),n},Zm=async(e,t)=>{try{let n=await Jm(e,t);return await Om(t.home,t.key,n),Xm(t.key,n)}catch(e){let n=Gd(e);return await km(t.home,t.key,n),{error:n,key:t.key,status:`failed`}}},Qm=(e,t)=>e.status===`rejected`?{error:Gd(e.reason),key:t,status:`failed`}:e.value,$m=async(e,t)=>{let n=Am(4);return(await Promise.allSettled(t.map(t=>jm(n,()=>Zm(e,t))))).map((e,n)=>{let r=t[n];if(r===void 0)throw Error(`internal: sync target at index ${n} is missing`);return Qm(e,r.key)})},eh=(e,t,n)=>({home:e,key:n,ref:nm(t,n),settings:t.settings}),th=(e,t,n)=>n.length===0?Object.keys(t.refs).toSorted().map(n=>eh(e,t,z.parse(n))):n.map(n=>eh(e,t,Op(t,n))),nh=(e,t,n)=>{let r=Date.now();return t.filter(t=>{let i=Qo(Y(`sync_ttl`,t.ref,t.settings)),a=_p(n.refs[t.key]?.last_fetched_at,i,r),o=!G(U(e,t.key));return a||o})},rh=async(e,t,n)=>{if(!n)return t;let r=await X(e);return nh(e,t,r)},ih=async(e,t)=>{let n=H(e.env),r=await W(n),i=th(n,r,t.refs),a=await rh(n,i,t.staleOnly),o=await $m(e,a);return{failedCount:o.filter(e=>e.status===`failed`).length,results:o}},ah=[`updated`,`fresh`,`cloned`,`restored`,`failed`],oh={cloned:`Cloned`,failed:`Failed`,fresh:`Fresh`,restored:`Restored`,updated:`Updated`},sh=e=>{let t={cloned:[],failed:[],fresh:[],restored:[],updated:[]};for(let n of e)t[n.status].push(n);return t},ch=e=>e.status===`failed`?` ${e.key}: ${e.error??`unknown error`}`:e.warning===void 0?` ${e.key}`:` ${e.key} (${e.warning})`,lh=e=>{let t=sh(e),n=[ah.map(e=>`${oh[e]} (${t[e].length})`).join(` / `)];for(let e of ah)for(let r of t[e])n.push(ch(r));return n},uh=(e,t)=>({refs:e,staleOnly:t.staleOnly===!0}),dh=(e,t)=>{e.command(`sync`).description(`Fetch (or re-clone, if the checkout is missing) configured refs — all by default.`).argument(`[refs...]`,`ref keys or unique suffixes to sync (default: every configured ref)`).option(`--stale-only`,`skip refs whose last sync is still within their ref's sync_ttl`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let r=await ih(t,uh(e,n));Q(t,i,lh(r.results),{results:r.results}),r.failedCount>0&&(process.exitCode=_.UNEXPECTED)})()})},fh=(e,t,n)=>n===void 0?e.tag_format:im(e,t,n).tag_format??e.tag_format,ph=async(e,t)=>{let n=H(e.env),r=await W(n),i=Op(r,t.query),a=nm(r,i),o=fh(a,i,t.opts.packageName),s=U(n,i);rm(s,i);let c=await Wc(e.runner,s,o,t.version);return{key:i,ref_path:`refs/tags/${c}`,tag:c,version:t.version}},mh=e=>[`${e.key}@${e.version} -> ${e.tag}`],hh=e=>{let t={};return e.package!==void 0&&(t.packageName=e.package),t},gh=[fp,hp,tm,bm,Tm,dh,(e,t)=>{e.command(`tag`).description(`Resolve a version to its git tag, via the ref's (or a package's) tag_format.`).argument(`<ref>`,`full ref key or a unique suffix, e.g. zod`).argument(`<version>`,`version to resolve, e.g. 4.1.0`).option(`--package <name>`,`resolve against this package's tag_format instead of the ref's`).action((e,n,r,i)=>{let a=Z(i);return $(t,a,async()=>{let i=await ph(t,{opts:hh(r),query:e,version:n});Q(t,a,mh(i),i)})()})}],_h=e=>e.description===void 0?{path:e.path}:{description:e.description,path:e.path},vh=(e,t,n)=>e.length>0?Object.fromEntries(e.map(e=>[e.name,_h(e)])):n===void 0?{}:{[n]:{path:t??`.`}},yh=e=>{let t=e.description??``;return e.tag_format===void 0?{description:t,path:e.path}:{description:t,path:e.path,tag_format:e.tag_format}},bh=e=>{let t=Object.entries(e);if(t.length!==0)return Object.fromEntries(t.map(([e,t])=>[e,yh(t)]))},xh=e=>e.description===void 0||e.description===``,Sh=e=>Object.entries(e).filter(([,e])=>xh(e)).map(([e])=>e).toSorted(),Ch=e=>{let t=Sh(e);if(t.length!==0)throw x(`packages without a detected description: ${t.join(`, `)} — run the two-phase flow instead: refs add <source> --dry-run --json > proposal.json, fill in the package descriptions, then refs add --proposal proposal.json`)},wh=e=>{if(Object.keys(e).length!==0)return e},Th=e=>{if(e===null)throw x(`tag_format_candidate must be set to a valid tag format (containing '{version}') before finalizing — edit the proposal and provide one, or add the ref manually`);return e},Eh=e=>e.packages===void 0?{default_branch:e.default_branch,description:e.description,tag_format:e.tag_format,url:e.url}:{default_branch:e.default_branch,description:e.description,packages:e.packages,tag_format:e.tag_format,url:e.url},Dh=async(e,t,n)=>{let r=await Sc(e.runner,t),i=await kc(e.runner,t),a=Hc(i);qd(e,`detecting workspace packages…`);let o=await Cd(t);return{defaultBranch:r,packages:vh(o,n.npmDirectory,n.npmPkgName),tagFormatCandidate:a}},Oh=(e,t)=>J(t.home,Ap(t.resolved.key),async()=>{let n=await zm(e,{allowFileUrls:jp(e.env),cloneUrl:t.resolved.cloneUrl,dest:t.dest,home:t.home,hooksDir:t.home.hooksDir,mode:t.cloneMode}),r={fields:await Dh(e,t.dest,t.resolved)};return n.effectiveMode!==void 0&&(r.effectiveMode=n.effectiveMode),n.warning!==void 0&&(r.warning=n.warning),r}),kh=e=>{let t={default_branch:e.cloneResult.fields.defaultBranch,description:``,key:e.resolved.key,packages:e.cloneResult.fields.packages,tag_format_candidate:e.cloneResult.fields.tagFormatCandidate,url:e.resolved.cloneUrl},n={dest:e.dest,proposal:t};return e.cloneResult.effectiveMode!==void 0&&(n.effectiveCloneMode=e.cloneResult.effectiveMode),e.cloneResult.warning!==void 0&&(n.warning=e.cloneResult.warning),n},Ah=async(e,t)=>{let n=H(e.env),r=await W(n),i=Fp(await Pp(e,t),r.settings);Lp(r,i.key),await Up(n,i.key);let a=U(n,i.key),o=Y(`clone_mode`,void 0,r.settings),s=await Oh(e,{cloneMode:o,dest:a,home:n,resolved:i});return kh({cloneResult:s,dest:a,resolved:i})},jh=(e,t,n)=>J(e,`home`,async()=>{let r=await W(e);Lp(r,t);let i=await X(e),a=i.refs[t],o=n??a?.effective_clone_mode,s={...a,pending_proposal_at:new Date().toISOString()};o!==void 0&&(s.effective_clone_mode=o),i.refs[t]=s,await qu(e,i)}),Mh=(e,t)=>{let n=cs.safeParse(e);if(!n.success)throw x(O(n.error));let r=Wu.safeParse(t);if(!r.success)throw x(O(r.error));return{config:n.data,state:r.data}},Nh=async(e,t)=>{let n=await W(e.home);Lp(n,e.ref.key);let r=Eh(e.ref);n.refs[e.ref.key]=r;let i=await X(e.home);return i.refs[e.ref.key]={effective_clone_mode:e.effectiveCloneMode??i.refs[e.ref.key]?.effective_clone_mode??Y(`clone_mode`,void 0,n.settings),head_sha:t,last_fetched_at:new Date().toISOString()},{...Mh(n,i),entry:r}},Ph=async(e,t)=>{let n=jp(e.env),r=await J(t.home,Ap(t.ref.key),()=>(Gs(t.home,t.dest),Hm(e.runner,{allowFileUrls:n,dest:t.dest,expectedUrl:t.ref.url,hooksDir:t.home.hooksDir,key:t.ref.key})));return J(t.home,`home`,async()=>{let{config:e,entry:n,state:i}=await Nh(t,r);return await qu(t.home,i),await $s(t.home,e),{entry:n,key:t.ref.key}})},Fh=(e,t)=>t===`-`?e.readStdin():o(t,`utf8`),Ih=e=>{try{return JSON.parse(e)}catch(e){throw x(`invalid JSON in proposal: ${Gd(e)}`)}},Lh=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Rh=e=>Lh(e)&&`ok`in e&&!(`key`in e),zh=e=>{if(!Rh(e))return e;if(e.ok===!1)throw x(`proposal file contains a failed refs envelope (ok is false) — re-run the dry-run`);if(Lh(e.data))return e.data;throw x(`proposal file is a refs envelope without a usable data object — re-run the dry-run`)},Bh=e=>e.code===`unrecognized_keys`,Vh=e=>e.path.length===0,Hh=(e,t)=>{let n=t.toSorted().map(e=>`"${e}"`).join(`, `);return e===``?`✖ unrecognized key(s) in proposal: ${n}`:`✖ unrecognized key(s) in proposal at ${e}: ${n}`},Uh=e=>{let t=new Map;for(let n of e){let e=lt(n.path);t.set(e,[...t.get(e)??[],...n.keys])}return[...t.entries()].toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Hh(e,t))},Wh=e=>`✖ invalid proposal: ${e.message}`,Gh=e=>{let t=e.issues.filter(e=>Bh(e)),n=e.issues.filter(e=>!Bh(e)),r=n.filter(e=>Vh(e));if(t.length===0&&r.length===0)return O(e);let i=n.filter(e=>!Vh(e)),a=[...Uh(t),...r.map(e=>Wh(e))];return i.length>0&&a.push(O({issues:i})),a.join(`
369
- `)},Kh=e=>{let t=Hu.safeParse(e);if(!t.success)throw x(Gh(t.error));return t.data},qh=async(e,t)=>{let n=await Fh(e,t);return Kh(zh(Ih(n)))},Jh=(e,t)=>[`refs add: dry-run proposal ready for '${e}' (checkout: ${t})`,`next: review the proposal, then run refs add --proposal <file> to finalize`],Yh=async(e,t)=>{let n=await Ah(e,t),r=H(e.env);await jh(r,n.proposal.key,n.effectiveCloneMode);let i=Wd(n.warning);return{data:n.proposal,human:Jh(n.proposal.key,n.dest),warnings:i}},Xh=e=>[`refs add: '${e}' added to config`],Zh=e=>{let t={default_branch:e.default_branch,description:e.description,key:e.key,tag_format:Th(e.tag_format_candidate),url:e.url},n=wh(e.packages);return n!==void 0&&(t.packages=n),t},Qh=async(e,t)=>{let n=await qh(e,t),r=H(e.env),i=U(r,n.key);if(!G(i))throw y(`no checkout found at ${i} — run: refs add <source> --dry-run first`);let a=Zh(n),{entry:o,key:s}=await Ph(e,{dest:i,home:r,ref:a});return{data:{entry:o,key:s},human:Xh(s),warnings:[]}},$h=(e,t)=>{Ch(e.proposal.packages);let n={default_branch:e.proposal.default_branch,description:t,key:e.proposal.key,tag_format:Th(e.proposal.tag_format_candidate),url:e.proposal.url},r=bh(e.proposal.packages);return r!==void 0&&(n.packages=r),n},eg=async(e,t,n)=>{let r=await Ah(e,t),i=H(e.env),a=$h(r,n),o={dest:r.dest,home:i,ref:a};r.effectiveCloneMode!==void 0&&(o.effectiveCloneMode=r.effectiveCloneMode);let{entry:s,key:c}=await Ph(e,o),l=Wd(r.warning);return{data:{entry:s,key:c},human:Xh(c),warnings:l}},tg=e=>{let t=[e.dryRun,e.proposal!==void 0,e.description!==void 0].filter(Boolean).length;if(t>1)throw b(`refs add: use only one of --dry-run, --proposal, or --description`);if(t===0)throw b(`refs add needs --dry-run, --proposal, or --description`)},ng=e=>{if(e===void 0||e===``)throw b(`refs add requires <source> (a git url or npm:<package>)`);return e},rg=(e,t)=>(tg(t),t.proposal===void 0?t.description===void 0?Yh(e,ng(t.source)):eg(e,ng(t.source),t.description):Qh(e,t.proposal)),ig=(e,t)=>{let n={dryRun:t.dryRun===!0};return e!==void 0&&(n.source=e),t.proposal!==void 0&&(n.proposal=t.proposal),t.description!==void 0&&(n.description=t.description),n},ag=(e,t)=>{e.command(`add`).description(`Add a git reference in two phases: propose (--dry-run), then finalize (--proposal).`).argument(`[source]`,`git url or npm:<package> (omit when finalizing with --proposal)`).option(`--dry-run`,`resolve and clone the source, writing a reviewable proposal`).option(`--proposal <file>`,`finalize from a completed proposal JSON file (- for stdin)`).option(`--description <text>`,`one-shot: dry-run then finalize immediately with this description`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let r=await rg(t,ig(e,n));Q(t,i,r.human,r.data,r.warnings)})()})},og=e=>e===void 0?null:e,sg=()=>Object.keys(os.shape).toSorted().join(`, `),cg=e=>`unknown package field '${e}' — valid fields: ${sg()}`,lg=e=>Object.hasOwn(os.shape,e),ug=(e,t,n)=>{if(!lg(t))throw b(cg(t));let r=e[t],i=os.safeParse({...e,[t]:n});if(!i.success)throw x(O(i.error));return{field:t,newValue:i.data[t],oldValue:r,updated:i.data}},dg=async e=>{let t=im(e.entry,e.key,e.packageName),n=ug(t,e.field,e.value),r={...e.entry,packages:{...e.entry.packages,[e.packageName]:n.updated}};return await $s(e.home,{...e.config,refs:{...e.config.refs,[e.key]:r}}),{field:n.field,key:e.key,new:og(n.newValue),old:og(n.oldValue)}},fg=`packages`,pg=()=>Object.keys(ss.shape).filter(e=>e!==fg).toSorted().join(`, `),mg=e=>`unknown ref field '${e}' — valid fields: ${pg()}`,hg=e=>Object.hasOwn(ss.shape,e),gg=(e,t,n)=>`failed to rewrite git remote at ${e} to '${q(t)}': ${n.trim()}`,_g=async(e,t)=>{if(Gs(t.home,t.dest),!G(t.dest))return;let n=await e.runner.run(`git`,[`remote`,`set-url`,`--`,`origin`,t.cloneUrl],{cwd:t.dest});if(n.exitCode!==0)throw x(gg(t.dest,t.cloneUrl,n.stderr))},vg=async(e,t)=>{let n=pl(t.value,{allowFileUrls:jp(e.env)});if(n.key!==t.key)throw x(`new url derives a different key — remove and re-add instead`);let r=U(t.home,t.key);return await _g(e,{cloneUrl:n.cloneUrl,dest:r,home:t.home}),{...t.entry,url:n.cloneUrl}},yg=(e,t,n)=>{let r={...e,[t]:n},i=ss.safeParse(r);if(!i.success)throw x(O(i.error));return i.data},bg=(e,t)=>t.field===`url`?vg(e,{entry:t.entry,home:t.home,key:t.key,value:t.value}):Promise.resolve(yg(t.entry,t.field,t.value)),xg=async(e,t)=>{let{field:n}=t;if(n===fg)throw b(`use --package <name> <field> <value>`);if(!hg(n))throw b(mg(n));let r=t.entry[n],i=await bg(e,{entry:t.entry,field:n,home:t.home,key:t.key,value:t.value});return{new:i[n],old:r,updated:i}},Sg=(e,t)=>{let n=H(e.env),{field:r,opts:i,query:a,value:o}=t;return J(n,`home`,async()=>{let t=await W(n),s=Op(t,a),c=nm(t,s);if(i.packageName!==void 0)return dg({config:t,entry:c,field:r,home:n,key:s,packageName:i.packageName,value:o});let l=await xg(e,{entry:c,field:r,home:n,key:s,value:o});return await $s(n,{...t,refs:{...t.refs,[s]:l.updated}}),{field:r,key:s,new:og(l.new),old:og(l.old)}})},Cg=`settings`,wg=[],Tg=()=>Object.keys(is.shape).toSorted().join(`, `),Eg=e=>`unknown setting '${e}' — valid settings: ${Tg()}`,Dg=e=>Object.hasOwn(is.shape,e),Og=e=>`note: 'settings' addressed the global settings, not ${e} — use the full ref key to edit that ref`,kg=e=>{try{let t=Op(e,Cg);return[Og(`ref '${t}'`)]}catch(e){if(e instanceof v&&e.code===`usage`)return[Og("one of several matching refs — see `refs list`")];if(e instanceof v&&e.code===`not_found`)return wg;throw e}},Ag=e=>({data:{field:e.key,key:Cg,new:og(e.parsed[e.key]),old:og(e.old)},warnings:kg(e.config)}),jg=(e,t)=>{let n=H(e.env);return J(n,`home`,async()=>{let e=await W(n);if(!Dg(t.key))throw b(Eg(t.key));let r=e.settings[t.key],i={...e.settings,[t.key]:t.value},a=is.safeParse(i);if(!a.success)throw x(O(a.error));return await $s(n,{...e,settings:a.data}),Ag({config:e,key:t.key,old:r,parsed:a.data})})},Mg=[],Ng=e=>{let t={};return e.package!==void 0&&(t.packageName=e.package),t},Pg=async(e,t)=>{if(t.first===`settings`){if(t.opts.packageName!==void 0)throw b(`--package is not valid with 'refs edit settings ...' — it only applies to ref/package edits`);return jg(e,{key:t.second,value:t.value})}return{data:await Sg(e,{field:t.second,opts:t.opts,query:t.first,value:t.value}),warnings:Mg}},Fg=e=>e==null?`(unset)`:String(e),Ig=e=>[`${e.key}: ${e.field} '${Fg(e.old)}' -> '${Fg(e.new)}'`],Lg=(e,t)=>{e.command(`edit`).description(`Edit one field: 'refs edit settings <key> <value>' for a global setting, or 'refs edit <ref> <field> <value> [--package <name>]' for a ref or package field.`).argument(`<ref-or-settings>`,`a ref key/unique suffix, or the literal 'settings'`).argument(`<field-or-key>`,`field to edit (or, in settings mode, the setting key)`).argument(`<value>`,`the new value`).option(`--package <name>`,`edit this package's field instead of a top-level ref field`).action((e,n,r,i,a)=>{let o=Z(a);return $(t,o,async()=>{let{data:a,warnings:s}=await Pg(t,{first:e,opts:Ng(i),second:n,value:r});Q(t,o,Ig(a),a,s)})()})},Rg=`Install the agent skill: npx skills add kaisers-io/refs (from a local clone: npx skills add <path-to-this-repo> --skill refs)`,zg={migrated:`migrated`,noop:`unchanged`,seeded:`seeded`},Bg=async e=>{await a(e.root,{recursive:!0}),await a(e.sourcesDir,{recursive:!0}),await a(e.locksDir,{recursive:!0}),await a(e.hooksDir,{recursive:!0})},Vg=async e=>{let t=H(e.env);return await Bg(t),{config:await J(t,`home`,async()=>{let e=await lc(t,wd);return await Mc(t),e}),home:t.root,skill_hint:Rg}},Hg=[(e,t)=>{e.command(`init`).description(`Seed or migrate the refs home directory, its config, and the git hooks guard.`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let e=await Vg(t);Q(t,r,[`home: ${e.home}`,`config: ${zg[e.config]}`,``,Rg],e)})()})},ag,Lg,kp,...gh],Ug=(e,t)=>{for(let n of Hg)n(e,t)},Wg=[``,`Examples:`,` $ refs list --json`,` $ refs sync --stale-only --json`,` $ refs resolve zod/mini --json`,``,`Every command accepts --json for structured output and --verbose for stack traces on error.`].join(`
370
- `),Gg=new Set([`commander.help`,`commander.helpDisplayed`,`commander.version`]),Kg=`--json`,qg=`--verbose`,Jg=/\n$/u,Yg=/^error: /u,Xg=e=>e.replace(Yg,``),Zg=(e,t)=>{for(let n of e){if(n===`--`)return!1;if(n===t)return!0}return!1},Qg=e=>Zg(e,Kg),$g=e=>Zg(e,qg),e_=(e,t,n)=>n&&t!==void 0?`${e}\n${t}`:e,t_=e=>{let t=new zd().name(`refs`).description(`Manage git-based reference checkouts shared across a workspace.`).version(wd).option(Kg,`emit machine-readable JSON on stdout instead of human-readable text`).option(qg,`include stack traces in error output`).allowExcessArguments(!1).exitOverride().configureOutput({outputError:()=>{},writeErr:t=>{e.errLine(t.replace(Jg,``))},writeOut:t=>{e.out(t.replace(Jg,``))}});return t.addHelpText(`after`,Wg),Ug(t,e),t},n_=()=>{process.exitCode=_.OK},r_=(e,t,n)=>{let r={code:`usage`,message:e_(Xg(n.message),n.stack,t.verbose)};Kd(e,t,r),process.exitCode=_.USAGE},i_=(e,t,n)=>{if(Gg.has(n.code)){n_();return}r_(e,t,n)},a_=(e,t,n)=>{let r=be(n,{verbose:t.verbose});Kd(e,t,r),process.exitCode=r.exitCode},o_=async(e,t,n)=>{let r={json:Qg(n),verbose:$g(n)};try{await t.parseAsync(n)}catch(t){if(t instanceof Od){i_(e,r,t);return}a_(e,r,t)}},s_=(e,t)=>o_(e,t_(e),t);import.meta.main&&await s_(Dd(),process.argv);export{t_ as buildProgram,Z as cliOptsOf,Q as emit,Kd as emitError,Gd as errorMessageOf,qd as progress,Dd as realContext,Ug as registerCommands,s_ as run,o_ as runProgram,Wd as warningsFor,$ as wrapAction};
338
+ - ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let n=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function r(e,t){let r=m.resolve(e,t);if(ce.existsSync(r))return r;if(n.includes(m.extname(t)))return;let i=n.find(e=>ce.existsSync(`${r}${e}`));if(i)return`${r}${i}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let i=e._executableFile||`${this._name}-${e._name}`,a=this._executableDir||``;if(this._scriptPath){let e;try{e=ce.realpathSync(this._scriptPath)}catch{e=this._scriptPath}a=m.resolve(m.dirname(e),a)}if(a){let t=r(a,i);if(!t&&!e._executableFile&&this._scriptPath){let n=m.basename(this._scriptPath,m.extname(this._scriptPath));n!==this._name&&(t=r(a,`${n}-${e._name}`))}i=t||i}let o=n.includes(m.extname(i)),s;g.platform===`win32`?(this._checkForMissingExecutable(i,a,e._name),t.unshift(i),t=nm(g.execArgv).concat(t),s=he.spawn(g.execPath,t,{stdio:`inherit`})):o?(t.unshift(i),t=nm(g.execArgv).concat(t),s=he.spawn(g.argv[0],t,{stdio:`inherit`})):s=he.spawn(i,t,{stdio:`inherit`}),s.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{g.on(e,()=>{s.killed===!1&&s.exitCode===null&&s.kill(e)})});let c=this._exitCallback;s.on(`close`,e=>{e??=1,c?c(new Wp(e,`commander.executeSubCommandAsync`,`(close)`)):g.exit(e)}),s.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(i,a,e._name);else if(t.code===`EACCES`)throw Error(`'${i}' not executable`);if(!c)g.exit(1);else{let e=new Wp(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,c(e)}}),this.runningCommand=s}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)!==void 0&&this.getOptionValueSource(t)!=="default"});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
339
+ `),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in g.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,g.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new Xp(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=em(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=e.length,i=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${r}: ${e.join(`, `)}.`;this.error(i,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=em(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t||=`-V, --version`,n||=`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>qp(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=m.basename(e,m.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e||={};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(g.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
340
+ Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function nm(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function rm(){if(g.env.NO_COLOR||g.env.FORCE_COLOR===`0`||g.env.FORCE_COLOR===`false`)return!1;if(g.env.FORCE_COLOR||g.env.CLICOLOR_FORCE!==void 0)return!0}new tm;const im=[],am=e=>Array.isArray(e)?e:[e],om=e=>e===void 0?im:[e],sm=e=>e instanceof Error?e.message:String(e),Z=e=>{let t=e.optsWithGlobals();return{json:t.json===!0,verbose:t.verbose===!0}},Q=(e,t,n,r,i)=>{if(t.json){let t={data:r,ok:!0,warnings:i??im};e.out(JSON.stringify(t));return}for(let t of am(n))e.out(t);for(let t of i??im)e.errLine(`refs: warning: ${t}`)},cm=(e,t,n)=>{if(t.json){let t={error:{code:n.code,message:n.message},ok:!1};e.out(JSON.stringify(t));return}e.errLine(`refs: ${n.message}`)},lm=(e,t)=>{e.errLine(`refs: ${t}`)},$=(e,t,n)=>async()=>{try{await n()}catch(n){let r=be(n,{verbose:t.verbose});cm(e,t,r),process.exitCode=r.exitCode}},um=async e=>{let t=await e.runner.run(`git`,[`--version`]);return t.exitCode===0?{detail:t.stdout.trim(),name:`git`,status:`ok`}:{detail:t.stderr.trim()||`git --version exited with code ${t.exitCode}`,name:`git`,status:`fail`}},dm=/^v(?<major>\d+)\.(?<minor>\d+)/u,fm=e=>{let t=dm.exec(e),n=t?.groups?.major,r=t?.groups?.minor;if(n!==void 0&&r!==void 0)return{major:Number(n),minor:Number(r)}},pm=e=>e===void 0?!1:e.major>24||e.major===24&&e.minor>=2,mm=e=>{let{nodeVersion:t}=e;return pm(fm(t))?{detail:t,name:`node`,status:`ok`}:{detail:`${t} does not satisfy the required range >=24.2`,name:`node`,status:`fail`}},hm=()=>Ac.parse({meta:{cli_version:`0.0.0`,schema_version:1},refs:{},settings:{}}),gm=async e=>{try{return{config:await W(e)}}catch(e){return{config:hm(),errorMessage:sm(e)}}},_m=e=>e===void 0?{detail:`config is present and matches the current schema`,name:`config`,status:`ok`}:{detail:e,name:`config`,status:`fail`},vm={ci:`update check is off in CI — set REFS_UPDATE_CHECK=1 to run it here anyway`,config:`update check is off ([updates].check = false in config.toml)`,env:`update check is off (REFS_UPDATE_CHECK=0)`},ym=(e,t,n)=>{if(dp(e,t)){let r=n?` (npm was unreachable just now; this was its last answer)`:``;return{detail:`${fp(e,t)}${r}`,name:`cli-update`,status:`warn`}}return n?{detail:`could not reach npm to check; its last answer was ${t}, which this CLI (${e}) already has`,name:`cli-update`,status:`warn`}:{detail:`this CLI (${e}) is npm's latest published release`,name:`cli-update`,status:`ok`}},bm=async(e,t)=>{let n=gp({env:e.env,updates:t.updates});if(n!==`on`)return{detail:vm[n],name:`cli-update`,status:`ok`};let{latest:r,stale:i}=await up({fetch:e.fetcher,home:H(e.env),nowMs:Date.now()});return r===void 0?{detail:`could not reach npm to learn the latest published version — not a fault of your setup, and nothing else depends on it`,name:`cli-update`,status:`warn`}:ym(e.cliVersion,r,i)},xm=(e,t)=>Object.keys(t.refs).map(t=>({dest:U(e,z.parse(t)),key:t})).filter(e=>G(e.dest)),Sm=[`pre-commit`,`pre-push`],Cm=async(t,r)=>{try{return await e(h(t.hooksDir,r),n.X_OK),!0}catch{return!1}},wm=async e=>{let t=await Promise.all(Sm.map(t=>Cm(e,t)));return Sm.filter((e,n)=>!t[n])},Tm=async(e,t,n)=>{let r=await e.runner.run(`git`,[`config`,`--local`,`--get`,`core.hooksPath`],{cwd:n});return r.exitCode===0&&r.stdout.trim()===t.hooksDir},Em=e=>e.missingHooks.length>0?{detail:`${e.missingHooks.map(e=>`hooks/${e}`).join(`, `)} missing or not executable — run: refs init`,name:`hooks-guard`,status:`fail`}:e.badKeys.length>0?{detail:`core.hooksPath not set for: ${e.badKeys.join(`, `)} — run: refs init`,name:`hooks-guard`,status:`fail`}:{detail:`${Sm.map(e=>`hooks/${e}`).join(`, `)} present; ${e.checkoutCount} checkout(s) guarded`,name:`hooks-guard`,status:`ok`},Dm=async(e,t,n)=>{let r=xm(t,n),[i,a]=await Promise.all([wm(t),Promise.all(r.map(n=>Tm(e,t,n.dest)))]),o=r.filter((e,t)=>!a[t]).map(e=>e.key);return Em({badKeys:o,checkoutCount:r.length,missingHooks:i})},Om=async(e,t)=>{let n=await e.runner.run(`git`,[`status`,`--porcelain`],{cwd:t.dest});return n.exitCode===0?{broken:!1,detail:``,dirty:n.stdout.trim()!==``,key:t.key}:{broken:!0,detail:n.stderr.trim(),dirty:!1,key:t.key}},km=e=>{let t=e.filter(e=>e.broken);if(t.length>0)return{detail:t.map(e=>`${e.key}: git status failed — ${e.detail}`).join(`; `),name:`dirty-checkouts`,status:`fail`};let n=e.filter(e=>e.dirty).map(e=>e.key);return n.length===0?{detail:`no local changes in any checkout`,name:`dirty-checkouts`,status:`ok`}:{detail:`local changes will be discarded on next sync: ${n.join(`, `)}`,name:`dirty-checkouts`,status:`warn`}},Am=async(e,t,n)=>{let r=xm(t,n),i=await Promise.all(r.map(t=>Om(e,t)));return km(i)},jm=async e=>{try{return await X(e)}catch{return Xf.parse({})}},Mm=async e=>{try{return(await s(e,{withFileTypes:!0})).filter(e=>e.isDirectory()).map(e=>e.name)}catch(e){if(V(e))return[];throw e}},Nm=async(e,t)=>{if(G(e))return[[...t]];let n=await Mm(e);return(await Promise.all(n.map(n=>Nm(h(e,n),[...t,n])))).flat()},Pm=(e,t,n)=>{let r=e.refs[t]?.pending_proposal_at;return r!==void 0&&n-Date.parse(r)<864e5},Fm=(e,t,n)=>Pm(t,e.key,n)?`${e.key}: pending add`:`${e.key}: orphan — remove with: rm -rf ${e.dest}`,Im=(e,t)=>({dest:h(e.sourcesDir,...t),key:t.join(`/`)}),Lm=async(e,t,n)=>{let r=(await Nm(e.sourcesDir,[])).map(t=>Im(e,t)).filter(e=>!Object.hasOwn(t.refs,e.key));if(r.length===0)return{detail:`no orphaned checkouts under sources/`,name:`orphans`,status:`ok`};let i=Date.now();return{detail:r.map(e=>Fm(e,n,i)).join(`; `),name:`orphans`,status:`warn`}},Rm=[`.agents`,`skills`,`refs`,`SKILL.md`],zm=[`skills`,`refs`,`SKILL.md`],Bm=[`.claude`,`skills`,`refs`,`SKILL.md`],Vm=`npx skills add kaisers-io/refs`,Hm=`npm i -g @kaisers-io/refs@latest`,Um=(e,t)=>e===void 0?void 0:{display:t,path:e},Wm=e=>{let{dirName:t,env:n,home:r,overrideName:i}=e,a=n[i]?.trim();return a!==void 0&&a.length>0?{display:a,path:a}:Um(r===void 0?void 0:h(r,t),`~/${t}`)},Gm=e=>{let t=e.homedir.length>0?e.homedir:void 0;return[{label:`shared ~/.agents`,root:Um(t,`~/.agents`),segments:Rm},{label:`Claude Code`,root:Wm({dirName:`.claude`,env:e.env,home:t,overrideName:`CLAUDE_CONFIG_DIR`}),segments:zm},{label:`Codex`,root:Wm({dirName:`.codex`,env:e.env,home:t,overrideName:`CODEX_HOME`}),segments:zm},{label:`project ./.agents`,root:Um(e.cwd,`./.agents`),segments:Rm},{label:`project ./.claude`,root:Um(e.cwd,`./.claude`),segments:Bm}].flatMap(({label:e,root:t,segments:n})=>t===void 0?[]:[{display:t.display,label:e,path:h(t.path,...n)}])},Km=async(e,t)=>{try{let n=await c(e);return{label:t,realPath:n,source:await o(n,`utf8`)}}catch{return}},qm=e=>{let t=new Map;for(let n of e)t.has(n.realPath)||t.set(n.realPath,n);return[...t.values()]},Jm=/^---\r?\n(?<body>[\s\S]*?)\r?\n---/u,Ym=/^\s*cli_version:\s*["']?(?<version>[^"'\s]+)["']?\s*$/mu,Xm=e=>{let t=Jm.exec(e)?.groups?.body;if(t!==void 0)return Ym.exec(t)?.groups?.version},Zm=(e,t)=>{if(e===t)return`match`;let n=rp(e,t);return n===void 0?`unknown`:n===0?`match`:n>0?`cli-older`:`skill-older`},Qm={"cli-older":(e,t)=>`the refs skill targets CLI ${e} but this CLI is ${t} — update the CLI: ${Hm}`,match:(e,t)=>`the refs skill is installed and matches this CLI (${t})`,"skill-older":(e,t)=>`the refs skill targets CLI ${e} but this CLI is ${t} — update the skill: ${Vm}`,unknown:(e,t)=>`the refs skill targets CLI ${e} but this CLI is ${t} — reinstall both: ${Hm} and ${Vm}`},$m=e=>{let{cliVersion:t,label:n,skillVersion:r}=e;if(r===void 0)return{detail:`the refs skill (${n}) predates the version gate — update it: ${Vm}`,name:`skill`,status:`warn`};let i=Zm(r,t);return{detail:`${n}: ${Qm[i](r,t)}`,name:`skill`,status:i===`match`?`ok`:`warn`}},eh=e=>({detail:`refs skill not found in the locations this check knows about (${e.map(e=>e.display).join(`, `)}) — an install anywhere else is invisible here and still works; if it really is missing: ${Vm}`,name:`skill`,status:`warn`}),th=async e=>{let t=Gm(e),n=await Promise.all(t.map(e=>Km(e.path,e.label))),r=qm(n.filter(e=>e!==void 0)).map(t=>$m({cliVersion:e.cliVersion,label:t.label,skillVersion:Xm(t.source)}));return r.find(e=>e.status!==`ok`)??r[0]??eh(t)},nh=/^(?<user>[^/\s@]+)@(?<host>[^:/\s]+):/u,rh=e=>e===``?{}:{user:e},ih=e=>e===``?{}:{port:e},ah=e=>{try{let t=new URL(e);return t.protocol===`ssh:`?{host:t.hostname,...rh(t.username),...ih(t.port)}:void 0}catch{return}},oh=e=>{let t=nh.exec(e),n=t?.groups?.host;return n===void 0?ah(e):{host:n,user:t?.groups?.user??`git`}},sh=e=>e.port===void 0?e.host:`${e.host}:${e.port}`,ch=e=>e.user===void 0?sh(e):`${e.user}@${sh(e)}`,lh=e=>{let t=Object.values(e.refs).map(e=>oh(e.url)).filter(e=>e!==void 0),n=new Map;for(let e of t)n.set(ch(e),e);return[...n.values()].toSorted((e,t)=>ch(e).localeCompare(ch(t)))},uh=/Permission denied/u,dh=[/Could not resolve hostname/u,/Connection refused/u,/Host key verification failed/u,/timed out/u],fh=e=>e.user===void 0?e.host:`${e.user}@${e.host}`,ph=e=>{let t=[`-o`,`ConnectTimeout=5`,`-o`,`BatchMode=yes`],n=fh(e);return e.port===void 0?[...t,`-T`,n]:[...t,`-p`,e.port,`-T`,n]},mh=async(e,t,n)=>{let r=ch(t),i=await e.runner.run(`ssh`,ph(t),{timeoutMs:n});return i.timedOut===!0?{host:r,outcome:`timeout`}:uh.test(i.stderr)?{host:r,outcome:`denied`}:dh.some(e=>e.test(i.stderr))?{detail:i.stderr.trim(),host:r,outcome:`connection-warn`}:{host:r,outcome:`ok`}},hh=(e,t)=>{let n=e.filter(e=>e.outcome===`timeout`).map(e=>e.host);if(n.length!==0)return{detail:`ssh probe timed out after ${t/1e3}s: ${n.join(`, `)}`,name:`ssh-auth`,status:`fail`}},gh=e=>{let t=e.filter(e=>e.outcome===`denied`).map(e=>e.host);if(t.length!==0)return{detail:`ssh permission denied for: ${t.join(`, `)}`,name:`ssh-auth`,status:`fail`}},_h=e=>{let t=e.filter(e=>e.outcome===`connection-warn`);if(t.length!==0)return{detail:`ssh connection issue, treated as warn: ${t.map(e=>`${e.host} (${e.detail??``})`).join(`; `)}`,name:`ssh-auth`,status:`warn`}},vh=e=>({detail:`ssh auth ok for: ${e.map(e=>e.host).join(`, `)}`,name:`ssh-auth`,status:`ok`}),yh=(e,t)=>hh(e,t)??gh(e)??_h(e)??vh(e),bh=async(e,t,n)=>{let r=lh(t);if(r.length===0)return;let i=n?.timeoutMs??1e4,a=await Promise.all(r.map(t=>mh(e,t,i)));return yh(a,i)},xh=async e=>{try{return await e.run()}catch(t){return{detail:`check crashed: ${sm(t)}`,name:e.name,status:`fail`}}},Sh=async e=>{let[t,...n]=e;if(t===void 0)return[];let r=await xh(t),i=await Sh(n);return r===void 0?i:[r,...i]},Ch=e=>{let{configLoad:t,ctx:n,home:r,state:i}=e;return[{name:`git`,run:()=>um(n)},{name:`node`,run:()=>Promise.resolve(mm(n))},{name:`config`,run:()=>Promise.resolve(_m(t.errorMessage))},{name:`hooks-guard`,run:()=>Dm(n,r,t.config)},{name:`dirty-checkouts`,run:()=>Am(n,r,t.config)},{name:`orphans`,run:()=>Lm(r,t.config,i)},{name:`skill`,run:()=>th(n)},{name:`cli-update`,run:()=>bm(n,t.config)},{name:`ssh-auth`,run:()=>bh(n,t.config)}]},wh=async e=>{let t=H(e.env),n=await gm(t),r=await jm(t);return Sh(Ch({configLoad:n,ctx:e,home:t,state:r}))},Th={fail:`FAIL`,ok:`OK`,warn:`WARN`},Eh=e=>e.map(e=>`[${Th[e.status]}] ${e.name}: ${e.detail}`),Dh=e=>e.some(e=>e.status===`fail`),Oh=(e,t)=>{e.command(`doctor`).description(`Run environment/integrity checks (git, node, config, hooks, checkouts, ssh).`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let e=await wh(t);Q(t,r,Eh(e),{checks:e}),Dh(e)&&(process.exitCode=_.UNEXPECTED)})()})},kh=async e=>{let t=H(e.env),n=await J(t,`home`,()=>Ml(t,Bp));return n===`migrated`?{backup:ul(t),result:n}:{backup:null,result:n}},Ah=e=>e.result===`migrated`&&e.backup!==null?`config migrated (backup: ${ee(e.backup)})`:e.result===`seeded`?`config seeded`:`config up to date`,jh=(e,t)=>{e.command(`migrate`).description(`Migrate the refs config to the current schema, seeding it if absent.`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let e=await kh(t);Q(t,r,Ah(e),e)})()})},Mh=`never`,Nh=(e,t,n)=>e===void 0||n-Date.parse(e)>t,Ph=(e,t)=>`${e} ${t}${e===1?``:`s`} ago`,Fh=(e,t)=>{if(e===void 0)return Mh;let n=t-Date.parse(e);if(Number.isNaN(n))return Mh;let r=Math.floor(n/1e3);if(r<60)return`just now`;let i=Math.floor(r/60);if(i<60)return Ph(i,`minute`);let a=Math.floor(i/60);if(a<24)return Ph(a,`hour`);let o=Math.floor(a/24);return o<365?Ph(o,`day`):Ph(Math.floor(o/365),`year`)},Ih=e=>{let t=Fh(e.lastFetchedAt,e.now),n=[`synced: ${t}`];return e.stale&&t!==Mh&&n.push(`status: stale`),e.missing&&n.push(`missing: checkout not found — run: refs sync`),n},Lh=(e,t,n)=>{let r=e.state.refs[t],i=_c(Y(`sync_ttl`,n,e.settings)),a=Object.keys(n.packages??{}).toSorted();return{clone_mode:Y(`clone_mode`,n,e.settings),description:n.description,key:t,...r?.last_fetched_at===void 0?{}:{last_fetched_at:r.last_fetched_at},missing:!G(U(e.home,z.parse(t))),...e.includePackages?{packages:a}:{},packages_count:a.length,stale:Nh(r?.last_fetched_at,i,e.now)}},Rh=e=>{let t={home:e.home,includePackages:e.includePackages,now:e.now,settings:e.config.settings,state:e.state};return Object.entries(e.config.refs).map(([e,n])=>Lh(t,e,n)).toSorted((e,t)=>e.key.localeCompare(t.key))},zh=async(e,t,n)=>{let r=H(e.env),i=await W(r),a=await X(r);return Rh({config:i,home:r,includePackages:t,now:n,state:a})},Bh=(e,t)=>[`ref: ${e.key}`,`description: ${e.description}`,...Ih({lastFetchedAt:e.last_fetched_at,missing:e.missing,now:t,stale:e.stale})],Vh=(e,t)=>e.length===0?[`no refs configured — run: refs add <source>`]:e.reduce((e,n,r)=>(r>0&&e.push(``),e.push(...Bh(n,t)),e),[]),Hh=e=>e.split(`/`),Uh=(e,t)=>{let n=Hh(e);if(t.length>n.length)return!1;let r=n.length-t.length;return t.every((e,t)=>e===n[r+t])},Wh=(e,t)=>{if(Object.hasOwn(e.refs,t))return z.parse(t);let n=Hh(t),r=Object.keys(e.refs).filter(e=>Uh(e,n)).toSorted(),[i]=r;if(i===void 0)throw y(`no ref matches '${t}'`);if(r.length>1)throw b(`'${t}' matches more than one ref: ${r.join(`, `)}`);return z.parse(i)},Gh=(e,t)=>{e.command(`list`).description(`List configured refs with their staleness/missing checkout status.`).option(`--packages`,`include each ref's package names in --json output (off by default)`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let n=Date.now(),i=await zh(t,e.packages===!0,n);Q(t,r,Vh(i,n),i)})()})},Kh=e=>`ref.${e.replaceAll(`/`,`_`)}`,qh=e=>e.REFS_ALLOW_FILE_URLS===`1`,Jh=(e,t)=>{let n=Hu(t,{allowFileUrls:qh(e.env)});return{cloneUrl:n.cloneUrl,key:n.key}},Yh=async(e,t)=>{if(t===``)throw b(`refs add npm: requires a package name, e.g. npm:left-pad`);lm(e,`resolving npm package '${t}'…`);let n=await Gd(e.fetcher,t),r={cloneUrl:n.cloneUrl,key:n.key,npmPkgName:t};return n.directory!==void 0&&(r.npmDirectory=n.directory),r},Xh=(e,t)=>t.startsWith(`npm:`)?Yh(e,t.slice(4)):Promise.resolve(Jh(e,t)),Zh=(e,t)=>{if(e.npmPkgName===void 0)return e;let n=Y(`git_transport`,void 0,t);return{...e,cloneUrl:$u(e.cloneUrl,n)}},Qh=e=>`ref '${e}' already exists — use refs edit or refs remove`,$h=(e,t)=>{if(e.refs[t]!==void 0)throw ve(Qh(t))},eg=async e=>{try{return await s(e,{withFileTypes:!0})}catch(e){if(V(e))return;throw e}},tg=e=>e.filter(e=>e.isDirectory()).map(e=>e.name),ng=async(e,t)=>{let n=await eg(e);if(n===void 0)return{kind:`stop`};let r=tg(n);if(r.includes(t))return{kind:`continue`,nextDir:h(e,t)};let i=r.find(e=>e.toLowerCase()===t.toLowerCase());return i===void 0?{kind:`stop`}:{kind:`collision`,name:i}},rg=async(e,t,n)=>{let[r,...i]=t;if(r===void 0)return;let a=await ng(e,r);if(a.kind!==`stop`)return a.kind===`collision`?[...n,a.name].join(`/`):rg(a.nextDir,i,[...n,r])},ig=[],ag=async(e,t)=>{let n=await rg(e.sourcesDir,t.split(`/`),ig);if(n!==void 0)throw ve(`checkout path for '${t}' collides case-insensitively with existing '${n}'`)},og=async e=>{try{return await i(e),!0}catch(e){if(V(e))return!1;throw e}},sg=async e=>{try{return await s(e)}catch(e){if(V(e))return;throw e}},cg=async e=>{try{return(await i(e)).isDirectory()}catch(e){if(V(e))return;throw e}},lg=async e=>{let t=await sg(e);if(t===void 0)return!0;if(t.length>0)return!1;try{await d(e)}catch(e){if(!V(e))throw e}return!0},ug=async e=>{let t=await cg(e);return t===void 0?!0:t?lg(e):!1},dg=async(e,t)=>{t!==e.sourcesDir&&await ug(t)&&await dg(e,te(t))},fg=async(e,t)=>await og(t)?(ml(e,t),await u(t,{force:!0,recursive:!0}),await dg(e,te(t)),{removedCheckout:!0}):{removedCheckout:!1,warning:`checkout was already missing`},pg=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>e!==t)),mg=async(e,t)=>{let n=await W(e),r={...n,refs:pg(n.refs,t)};await Sl(e,r);let i=await X(e),a={...i,refs:pg(i.refs,t)};await $f(e,a)},hg=async(e,t)=>{let n=H(e.env),r=await W(n),i=Wh(r,t),a=U(n,i),{removedCheckout:o,warning:s}=await J(n,Kh(i),()=>fg(n,a));return await J(n,`home`,()=>mg(n,i)),{data:{key:i,removed_checkout:o},warnings:om(s)}},gg=e=>e.removed_checkout?[`removed ${e.key} (checkout deleted)`]:[`removed ${e.key} (checkout was already missing)`],_g=(e,t)=>{e.command(`remove`).description(`Remove a configured ref: its config/state entry AND its checkout directory.`).argument(`<ref>`,`full ref key or a unique suffix, e.g. zod`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let{data:n,warnings:r}=await hg(t,e);Q(t,i,gg(n),n,r)})()})},vg=async e=>{let t=await yf(e.checkoutDir,e.configuredPath,e.packageName);return t.kind===`match`?{path:e.configuredPath,status:`verified`}:t.kind===`unreadable`?{path:e.configuredPath,reason:t.reason,status:`unverifiable`}:bg(e)},yg=(e,t)=>({path:e.configuredPath,reason:t,status:`unverifiable`}),bg=async e=>{let t=await Rp(e.checkoutDir),n=Sf(t.packages,e.packageName),r=tf(t);return n.kind===`ambiguous`?{candidates:n.paths,configuredPath:e.configuredPath,path:null,status:`ambiguous`}:r?n.kind===`found`?{configuredPath:e.configuredPath,path:n.path,status:`relocated`}:xg(e,t):yg(e,n.kind===`found`?`workspace detection was incomplete, so the new location is not confirmed unique`:`workspace detection was incomplete`)},xg=(e,t)=>nf(t)?{configuredPath:e.configuredPath,path:null,status:`missing`}:yg(e,`this repo declares no workspaces, so there was nowhere to search`),Sg=async e=>{try{return await J(e.home,Kh(e.key),()=>vg(e),e.lockTimeoutMs===void 0?void 0:{timeoutMs:e.lockTimeoutMs})}catch(t){if(t instanceof v&&t.code===`conflict`)return{path:e.configuredPath,reason:`could not acquire the ref lock in time`,status:`unverifiable`};throw t}},Cg=async e=>{if(!G(e.checkoutDir))return{path:e.configuredPath,status:`unmaterialized`};let t=await yf(e.checkoutDir,e.configuredPath,e.packageName);return t.kind===`match`?{path:e.configuredPath,status:`verified`}:t.kind===`unreadable`?{path:e.configuredPath,reason:t.reason,status:`unverifiable`}:(e.onProbed?.(),Sg(e))},wg=async e=>{let t=await Cg(e);return{...t.candidates===void 0?{}:{candidates:t.candidates},...t.configuredPath===void 0?{}:{configured_path:t.configuredPath},local_path:t.path===null?null:h(e.checkoutDir,t.path),name:e.packageName,path:t.path,...t.reason===void 0?{}:{reason:t.reason},status:t.status}},Tg=e=>[`package: ${e.name}`,`package path: ${e.local_path??`(unknown)`}`,...e.status===`verified`?[]:[`package status: ${e.status}`],...e.configured_path===void 0?[]:[`configured path: ${e.configured_path}`],...e.candidates===void 0?[]:[`candidates: ${e.candidates.join(`, `)}`],...e.reason===void 0?[]:[`reason: ${e.reason}`]],Eg=(e,t)=>{let n=e.refs[t];if(n===void 0)throw Error(`internal: matched ref key '${t}' is missing from config.refs`);return n},Dg=(e,t)=>{if(!G(e))throw y(`checkout for '${t}' is missing — run: refs sync ${t}`)},Og=(e,t,n)=>{let r=e.packages?.[n];if(r===void 0)throw y(`no package '${n}' registered on ref '${t}'`);return r},kg=e=>`no ref matches '${e}' — run refs list, or add it: refs add <url>`,Ag=/^[a-z][a-z0-9+.-]*:\/\//iu,jg=/^git@[^:/\s]+:[^\s]+$/u,Mg=e=>Ag.test(e)||jg.test(e),Ng=(e,t)=>{try{return Hu(e,t)}catch{if(Mg(e))throw x(`query looks like a git url but is not a supported form — check the url (credentials are never accepted) or run: refs resolve <package|ref-suffix>`);return}},Pg=(e,t,n)=>{let r=Ng(t,n);if(r!==void 0){if(Object.hasOwn(e.refs,r.key))return{key:r.key};throw y(kg(t))}},Fg=(e,t)=>{let n=[];for(let r of Object.keys(e.refs).toSorted()){let i=e.refs[r]?.packages?.[t];i!==void 0&&n.push({entry:i,key:z.parse(r)})}return n},Ig=(e,t)=>`package '${e}' is registered by more than one ref: ${t.join(`, `)} — use the full ref key`,Lg=(e,t)=>{let n=Fg(e,t),[r]=n;if(r!==void 0){if(n.length>1)throw b(Ig(t,n.map(e=>e.key)));return r}},Rg=(e,t)=>{let n=t.split(`/`);for(let t=n.length-1;t>=1;--t){let r=n.slice(0,t).join(`/`),i=Lg(e,r);if(i!==void 0)return{...i,name:r}}},zg=(e,t)=>{try{return Wh(e,t)}catch(e){throw e instanceof v&&e.code===`not_found`?y(kg(t)):e}},Bg=(e,t,n)=>{let r=Pg(e,t,n);if(r!==void 0)return r;let i=Lg(e,t);if(i!==void 0)return{key:i.key,packageMatch:{...i,name:t}};let a=Rg(e,t);return a===void 0?{key:zg(e,t)}:{key:a.key,packageMatch:a}},Vg=async(e,t,n)=>{let r=H(e.env),i=await W(r),a=Bg(i,t,{allowFileUrls:qh(e.env)}),o=Eg(i,a.key),s=await X(r),c=U(r,a.key),l=_c(Y(`sync_ttl`,o,i.settings)),u=s.refs[a.key]?.last_fetched_at;return{key:a.key,...u===void 0?{}:{last_fetched_at:u},local_path:c,missing:!G(c),package:a.packageMatch===void 0?null:await wg({checkoutDir:c,configuredPath:a.packageMatch.entry.path,home:r,key:a.key,packageName:a.packageMatch.name}),stale:Nh(u,l,n)}},Hg=(e,t)=>{let n=[`ref: ${e.key}`,`path: ${e.local_path}`,...Ih({lastFetchedAt:e.last_fetched_at,missing:e.missing,now:t,stale:e.stale})];return e.package!==null&&n.push(...Tg(e.package)),n},Ug=(e,t)=>{e.command(`resolve`).description(`Resolve a git url, npm package name, import path, or ref-key suffix to its ref/package.`).argument(`<query>`,`git url, npm package name, import path, or unique ref-key suffix`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let n=Date.now(),r=await Vg(t,e,n);Q(t,i,Hg(r,n),r)})()})},Wg={},Gg=async(e,t)=>{if(!G(t))return{tags:[]};try{return{tags:await iu(e.runner,t,5)}}catch(e){return{tags:[],warning:`could not list tags: ${sm(e)}`}}},Kg=async(e,t,n,r)=>{let i=H(e.env),a=await W(i),o=Wh(a,t),s=Eg(a,o),c=await X(i),l=U(i,o),{packages:u,...d}=s,f=n.tags?await Gg(e,l):void 0,p=c.refs[o]??Wg;return{data:{...d,key:o,local_path:l,missing:!G(l),...n.packages?{packages:u??{}}:{},packages_count:Object.keys(u??{}).length,...f===void 0?{}:{sample_tags:f.tags},stale:Nh(p.last_fetched_at,_c(Y(`sync_ttl`,s,a.settings)),r),state:p},warnings:om(f?.warning)}},qg=(e,t)=>{let n=[`ref: ${e.key}`,`description: ${e.description}`,`url: ${e.url}`,`path: ${e.local_path}`,...Ih({lastFetchedAt:e.state.last_fetched_at,missing:e.missing,now:t,stale:e.stale})];return e.sample_tags!==void 0&&e.sample_tags.length>0&&n.push(`tags: ${e.sample_tags.join(`, `)}`),n},Jg=(e,t)=>{e.command(`show`).description(`Show a configured ref: entry, state, local path, package count; --packages/--tags add the package map and sample tags to --json.`).argument(`<ref>`,`full ref key or a unique suffix, e.g. zod`).option(`--packages`,`include the ref's full package map in --json output (off by default)`).option(`--tags`,`include sample tags in --json output (human output always probes for them)`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let r={packages:n.packages===!0,tags:!i.json||n.tags===!0},a=Date.now(),{data:o,warnings:s}=await Kg(t,e,r,a);Q(t,i,qg(o,a),o,s)})()})},Yg=(e,t)=>{let n={head_sha:t.headSha,last_fetched_at:new Date().toISOString()},r=t.effectiveCloneMode??e?.effective_clone_mode;return r!==void 0&&(n.effective_clone_mode=r),n},Xg=async(e,t,n)=>{let r=await W(e),i=r.refs[t];i!==void 0&&(r.refs[t]={...i,default_branch:n},await Sl(e,r))},Zg=(e,t,n)=>J(e,`home`,async()=>{n.branchRenamedTo!==void 0&&await Xg(e,t,n.branchRenamedTo);let r=await X(e);r.refs[t]=Yg(r.refs[t],n),await $f(e,r)}),Qg=async(e,t,n)=>{try{await J(e,`home`,async()=>{let r=await X(e);r.refs[t]={...r.refs[t],last_error:n},await $f(e,r)})}catch{}},$g=e=>{let t=0,n=[];return{acquire:()=>{if(t<e)return t+=1,Promise.resolve();let{promise:r,resolve:i}=Promise.withResolvers();return n.push(()=>{t+=1,i()}),r},release:()=>{--t;let e=n.shift();e!==void 0&&e()}}},e_=async(e,t)=>{await e.acquire();try{return await t()}finally{e.release()}},t_=(e,t,n)=>`checkout at ${e} points at '${q(t)}' — expected '${q(n)}'; remove the checkout directory or run refs remove before retrying`,n_=e=>e.exitCode===0?e.stdout.trim():`(no origin remote)`,r_=(e,t)=>{try{return Hu(e,{allowFileUrls:t}).key}catch{return}},i_=async(e,t)=>{let n=await e.run(`git`,[`remote`,`get-url`,`origin`],{cwd:t.dest}),r=n_(n),i=r_(t.expectedUrl,t.allowFileUrls),a=r_(r,t.allowFileUrls);if(i===void 0||a!==i)throw ve(t_(t.dest,r,t.expectedUrl))},a_=e=>`checkout at ${e} exists but is not refs-managed — remove it (rm -rf ${e}) and retry`,o_=async(e,t)=>{let n=await e.run(`git`,[`config`,`--local`,`core.hooksPath`],{cwd:t.dest});if(n.exitCode!==0||n.stdout.trim()!==t.hooksDir)throw ve(a_(t.dest))},s_=async(e,t)=>{await a(te(t.dest),{recursive:!0}),lm(e,`cloning ${q(t.cloneUrl)} into ${t.dest}…`);let n=await Yl(e.runner,t);return n.warning===void 0?{effectiveMode:n.effectiveMode}:{effectiveMode:n.effectiveMode,warning:n.warning}},c_=async(e,t)=>(ml(t.home,t.dest),G(t.dest)?(await i_(e.runner,{allowFileUrls:t.allowFileUrls,dest:t.dest,expectedUrl:t.cloneUrl}),await o_(e.runner,{dest:t.dest,hooksDir:t.hooksDir}),{}):s_(e,t)),l_=(e,t)=>`checkout for '${e}' at ${t} is missing or corrupt (git rev-parse HEAD failed) — run: refs remove ${e}, then refs add <source> --dry-run again`,u_=(e,t,n)=>`checkout for '${e}' at ${t} has a HEAD sha refs cannot store yet (${n.length} hex chars, expected 40) — only SHA-1 repositories are supported for now; \`--object-format=sha256\` repositories are not yet supported`,d_=async(e,t)=>{await i_(e,t),await o_(e,{dest:t.dest,hooksDir:t.hooksDir});let n=await e.run(`git`,[`rev-parse`,`HEAD`],{cwd:t.dest});if(n.exitCode!==0)throw x(l_(t.key,t.dest));let r=n.stdout.trim();if(!Yf.shape.head_sha.safeParse(r).success)throw x(u_(t.key,t.dest,r));return r},f_=(e,t,n)=>`sync produced a HEAD sha for '${e}' at ${t} that refs cannot store yet (${n.length} hex chars) — only SHA-1 repositories are supported for now`,p_=(e,t,n)=>{if(!Yf.shape.head_sha.safeParse(n).success)throw x(f_(e,t,n));return n},m_=(e,t,n)=>{let r={effectiveCloneMode:t.effectiveMode,headSha:n.headSha,status:`cloned`};return n.actualBranch!==e.ref.default_branch&&(r.branchRenamedTo=n.actualBranch),t.warning!==void 0&&(r.warning=t.warning),r},h_=async(e,t,n)=>{await a(te(n),{recursive:!0});let r=Y(`clone_mode`,t.ref,t.settings),i=await Yl(e.runner,{cloneUrl:t.ref.url,dest:n,hooksDir:t.home.hooksDir,mode:r}),o=await Zl(e.runner,n),s=await d_(e.runner,{allowFileUrls:qh(e.env),dest:n,expectedUrl:t.ref.url,hooksDir:t.home.hooksDir,key:t.key});return m_(t,i,{actualBranch:o,headSha:s})},g_=async(e,t,n)=>{await o_(e.runner,{dest:n,hooksDir:t.home.hooksDir}),await i_(e.runner,{allowFileUrls:qh(e.env),dest:n,expectedUrl:t.ref.url});let r=await ru(e.runner,{defaultBranch:t.ref.default_branch,dir:n}),i={headSha:p_(t.key,n,r.newSha),status:r.status};return r.branchRenamedTo!==void 0&&(i.branchRenamedTo=r.branchRenamedTo),r.warning!==void 0&&(i.warning=r.warning),i},__=(e,t)=>J(t.home,Kh(t.key),()=>{let n=U(t.home,t.key);return ml(t.home,n),G(n)?g_(e,t,n):h_(e,t,n)}),v_=e=>{let t=[];e.branchRenamedTo!==void 0&&t.push(`default branch renamed to ${e.branchRenamedTo}`),e.warning!==void 0&&t.push(e.warning);let[n]=t;if(n!==void 0)return t.join(` | `)},y_=(e,t)=>{let n={key:e,status:t.status},r=v_(t);return r!==void 0&&(n.warning=r),n},b_=async(e,t)=>{try{let n=await __(e,t);return await Zg(t.home,t.key,n),y_(t.key,n)}catch(e){let n=sm(e);return await Qg(t.home,t.key,n),{error:n,key:t.key,status:`failed`}}},x_=(e,t)=>e.status===`rejected`?{error:sm(e.reason),key:t,status:`failed`}:e.value,S_=async(e,t)=>{let n=$g(4);return(await Promise.allSettled(t.map(t=>e_(n,()=>b_(e,t))))).map((e,n)=>{let r=t[n];if(r===void 0)throw Error(`internal: sync target at index ${n} is missing`);return x_(e,r.key)})},C_=(e,t,n)=>({home:e,key:n,ref:Eg(t,n),settings:t.settings}),w_=(e,t,n)=>n.length===0?Object.keys(t.refs).toSorted().map(n=>C_(e,t,z.parse(n))):n.map(n=>C_(e,t,Wh(t,n))),T_=(e,t,n)=>{let r=Date.now();return t.filter(t=>{let i=_c(Y(`sync_ttl`,t.ref,t.settings)),a=Nh(n.refs[t.key]?.last_fetched_at,i,r),o=!G(U(e,t.key));return a||o})},E_=async(e,t,n)=>{if(!vp({env:e.env,updates:n.updates}))return[];let{latest:r,refreshed:i}=await up({fetch:e.fetcher,home:t,nowMs:Date.now()});return!i||r===void 0||!dp(e.cliVersion,r)?[]:[fp(e.cliVersion,r)]},D_=async(e,t,n)=>{if(!n)return t;let r=await X(e);return T_(e,t,r)},O_=async(e,t)=>{let n=H(e.env),r=await W(n),i=w_(n,r,t.refs),a=await D_(n,i,t.staleOnly),[o,s]=await Promise.all([S_(e,a),a.length>0?E_(e,n,r):Promise.resolve([])]);return{failedCount:o.filter(e=>e.status===`failed`).length,results:o,warnings:s}},k_=[`updated`,`fresh`,`cloned`,`restored`,`failed`],A_={cloned:`Cloned`,failed:`Failed`,fresh:`Fresh`,restored:`Restored`,updated:`Updated`},j_=e=>{let t={cloned:[],failed:[],fresh:[],restored:[],updated:[]};for(let n of e)t[n.status].push(n);return t},M_=e=>e.status===`failed`?` ${e.key}: ${e.error??`unknown error`}`:e.warning===void 0?` ${e.key}`:` ${e.key} (${e.warning})`,N_=e=>{let t=j_(e),n=[k_.map(e=>`${A_[e]} (${t[e].length})`).join(` / `)];for(let e of k_)for(let r of t[e])n.push(M_(r));return n},P_=(e,t)=>({refs:e,staleOnly:t.staleOnly===!0}),F_=(e,t)=>{e.command(`sync`).description(`Fetch (or re-clone, if the checkout is missing) configured refs — all by default.`).argument(`[refs...]`,`ref keys or unique suffixes to sync (default: every configured ref)`).option(`--stale-only`,`skip refs whose last sync is still within their ref's sync_ttl`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let r=await O_(t,P_(e,n));Q(t,i,N_(r.results),{results:r.results},r.warnings),r.failedCount>0&&(process.exitCode=_.UNEXPECTED)})()})},I_=(e,t,n)=>n===void 0?e.tag_format:Og(e,t,n).tag_format??e.tag_format,L_=e=>`'${e.replaceAll(`'`,String.raw`'\''`)}'`,R_=(e,t,n)=>{if(e!==void 0)return e;let r=n===void 0?`ref '${t}'`:`package '${n}'`,i=n===void 0?``:` --package ${L_(n)}`;throw x(`${r} has no tag_format configured — inspect the repository's real tags and set one with: refs edit ${L_(t)} tag_format '<format>'${i}`)},z_=async(e,t)=>{let n=H(e.env),r=await W(n),i=Wh(r,t.query),a=Eg(r,i),o=R_(I_(a,i,t.opts.packageName),i,t.opts.packageName),s=U(n,i);Dg(s,i);let c=await yu(e.runner,s,o,t.version);return{key:i,ref_path:`refs/tags/${c}`,tag:c,version:t.version}},B_=e=>[`${e.key}@${e.version} -> ${e.tag}`],V_=e=>{let t={};return e.package!==void 0&&(t.packageName=e.package),t},H_=[Oh,jh,_g,Ug,Jg,F_,(e,t)=>{e.command(`tag`).description(`Resolve a version to its git tag, via the ref's (or a package's) tag_format.`).argument(`<ref>`,`full ref key or a unique suffix, e.g. zod`).argument(`<version>`,`version to resolve, e.g. 4.1.0`).option(`--package <name>`,`resolve against this package's tag_format instead of the ref's`).action((e,n,r,i)=>{let a=Z(i);return $(t,a,async()=>{let i=await z_(t,{opts:V_(r),query:e,version:n});Q(t,a,B_(i),i)})()})}],U_=e=>e.description===void 0?{path:e.path}:{description:e.description,path:e.path},W_=(e,t,n)=>e.length>0?Object.fromEntries(e.map(e=>[e.name,U_(e)])):n===void 0?{}:{[n]:{path:t??`.`}},G_=e=>{let t=e.description??``;return e.tag_format===void 0?{description:t,path:e.path}:{description:t,path:e.path,tag_format:e.tag_format}},K_=e=>{let t=Object.entries(e);if(t.length!==0)return Object.fromEntries(t.map(([e,t])=>[e,G_(t)]))},q_=e=>e.description===void 0||e.description===``,J_=e=>Object.entries(e).filter(([,e])=>q_(e)).map(([e])=>e).toSorted(),Y_=e=>{let t=J_(e);if(t.length!==0)throw x(`packages without a detected description: ${t.join(`, `)} — run the two-phase flow instead: refs add <source> --dry-run --json > proposal.json, fill in the package descriptions, then refs add --proposal proposal.json`)},X_=e=>{if(Object.keys(e).length!==0)return e},Z_=e=>{let t={default_branch:e.default_branch,description:e.description,url:e.url};return e.packages!==void 0&&(t.packages=e.packages),e.tag_format!==void 0&&(t.tag_format=e.tag_format),t},Q_=async(e,t,n)=>{let r=await Zl(e.runner,t),i=await iu(e.runner,t),a=_u(i);lm(e,`detecting workspace packages…`);let o=await zp(t);return{defaultBranch:r,packages:W_(o,n.npmDirectory,n.npmPkgName),tagFormatCandidate:a}},$_=(e,t)=>J(t.home,Kh(t.resolved.key),async()=>{let n=await c_(e,{allowFileUrls:qh(e.env),cloneUrl:t.resolved.cloneUrl,dest:t.dest,home:t.home,hooksDir:t.home.hooksDir,mode:t.cloneMode}),r={fields:await Q_(e,t.dest,t.resolved)};return n.effectiveMode!==void 0&&(r.effectiveMode=n.effectiveMode),n.warning!==void 0&&(r.warning=n.warning),r}),ev=e=>{let t={default_branch:e.cloneResult.fields.defaultBranch,description:``,key:e.resolved.key,packages:e.cloneResult.fields.packages,tag_format_candidate:e.cloneResult.fields.tagFormatCandidate,url:e.resolved.cloneUrl},n={dest:e.dest,proposal:t};return e.cloneResult.effectiveMode!==void 0&&(n.effectiveCloneMode=e.cloneResult.effectiveMode),e.cloneResult.warning!==void 0&&(n.warning=e.cloneResult.warning),n},tv=async(e,t)=>{let n=H(e.env),r=await W(n),i=Zh(await Xh(e,t),r.settings);$h(r,i.key),await ag(n,i.key);let a=U(n,i.key),o=Y(`clone_mode`,void 0,r.settings),s=await $_(e,{cloneMode:o,dest:a,home:n,resolved:i});return ev({cloneResult:s,dest:a,resolved:i})},nv=(e,t,n)=>J(e,`home`,async()=>{let r=await W(e);$h(r,t);let i=await X(e),a=i.refs[t],o=n??a?.effective_clone_mode,s={...a,pending_proposal_at:new Date().toISOString()};o!==void 0&&(s.effective_clone_mode=o),i.refs[t]=s,await $f(e,i)}),rv=(e,t)=>{let n=Ac.safeParse(e);if(!n.success)throw x(O(n.error));let r=Xf.safeParse(t);if(!r.success)throw x(O(r.error));return{config:n.data,state:r.data}},iv=async(e,t)=>{let n=await W(e.home);$h(n,e.ref.key);let r=Z_(e.ref);n.refs[e.ref.key]=r;let i=await X(e.home);return i.refs[e.ref.key]={effective_clone_mode:e.effectiveCloneMode??i.refs[e.ref.key]?.effective_clone_mode??Y(`clone_mode`,void 0,n.settings),head_sha:t,last_fetched_at:new Date().toISOString()},{...rv(n,i),entry:r}},av=async(e,t)=>{let n=qh(e.env),r=await J(t.home,Kh(t.ref.key),()=>(ml(t.home,t.dest),d_(e.runner,{allowFileUrls:n,dest:t.dest,expectedUrl:t.ref.url,hooksDir:t.home.hooksDir,key:t.ref.key})));return J(t.home,`home`,async()=>{let{config:e,entry:n,state:i}=await iv(t,r);return await $f(t.home,i),await Sl(t.home,e),{entry:n,key:t.ref.key}})},ov=(e,t)=>t===`-`?e.readStdin():o(t,`utf8`),sv=e=>{try{return JSON.parse(e)}catch(e){throw x(`invalid JSON in proposal: ${sm(e)}`)}},cv=e=>typeof e==`object`&&!!e&&!Array.isArray(e),lv=e=>cv(e)&&`ok`in e&&!(`key`in e),uv=e=>{if(!lv(e))return e;if(e.ok===!1)throw x(`proposal file contains a failed refs envelope (ok is false) — re-run the dry-run`);if(cv(e.data))return e.data;throw x(`proposal file is a refs envelope without a usable data object — re-run the dry-run`)},dv=e=>e.code===`unrecognized_keys`,fv=e=>e.path.length===0,pv=(e,t)=>{let n=t.toSorted().map(e=>`"${e}"`).join(`, `);return e===``?`✖ unrecognized key(s) in proposal: ${n}`:`✖ unrecognized key(s) in proposal at ${e}: ${n}`},mv=e=>{let t=new Map;for(let n of e){let e=Pt(n.path);t.set(e,[...t.get(e)??[],...n.keys])}return[...t.entries()].toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>pv(e,t))},hv=e=>`✖ invalid proposal: ${e.message}`,gv=e=>{let t=e.issues.filter(e=>dv(e)),n=e.issues.filter(e=>!dv(e)),r=n.filter(e=>fv(e));if(t.length===0&&r.length===0)return O(e);let i=n.filter(e=>!fv(e)),a=[...mv(t),...r.map(e=>hv(e))];return i.length>0&&a.push(O({issues:i})),a.join(`
341
+ `)},_v=e=>{let t=Jf.safeParse(e);if(!t.success)throw x(gv(t.error));return t.data},vv=async(e,t)=>{let n=await ov(e,t);return _v(uv(sv(n)))},yv=(e,t)=>[`refs add: dry-run proposal ready for '${e}' (checkout: ${t})`,`next: review the proposal, then run refs add --proposal <file> to finalize`],bv=async(e,t)=>{let n=await tv(e,t),r=H(e.env);await nv(r,n.proposal.key,n.effectiveCloneMode);let i=om(n.warning);return{data:n.proposal,human:yv(n.proposal.key,n.dest),warnings:i}},xv=e=>[`refs add: '${e}' added to config`],Sv=e=>{let t={default_branch:e.default_branch,description:e.description,key:e.key,url:e.url};e.tag_format_candidate!==null&&(t.tag_format=e.tag_format_candidate);let n=X_(e.packages);return n!==void 0&&(t.packages=n),t},Cv=async(e,t)=>{let n=await vv(e,t),r=H(e.env),i=U(r,n.key);if(!G(i))throw y(`no checkout found at ${i} — run: refs add <source> --dry-run first`);let a=Sv(n),{entry:o,key:s}=await av(e,{dest:i,home:r,ref:a});return{data:{entry:o,key:s},human:xv(s),warnings:[]}},wv=(e,t)=>{Y_(e.proposal.packages);let n={default_branch:e.proposal.default_branch,description:t,key:e.proposal.key,url:e.proposal.url};e.proposal.tag_format_candidate!==null&&(n.tag_format=e.proposal.tag_format_candidate);let r=K_(e.proposal.packages);return r!==void 0&&(n.packages=r),n},Tv=async(e,t,n)=>{let r=await tv(e,t),i=H(e.env),a=wv(r,n),o={dest:r.dest,home:i,ref:a};r.effectiveCloneMode!==void 0&&(o.effectiveCloneMode=r.effectiveCloneMode);let{entry:s,key:c}=await av(e,o),l=om(r.warning);return{data:{entry:s,key:c},human:xv(c),warnings:l}},Ev=e=>{let t=[e.dryRun,e.proposal!==void 0,e.description!==void 0].filter(Boolean).length;if(t>1)throw b(`refs add: use only one of --dry-run, --proposal, or --description`);if(t===0)throw b(`refs add needs --dry-run, --proposal, or --description`)},Dv=e=>{if(e===void 0||e===``)throw b(`refs add requires <source> (a git url or npm:<package>)`);return e},Ov=(e,t)=>(Ev(t),t.proposal===void 0?t.description===void 0?bv(e,Dv(t.source)):Tv(e,Dv(t.source),t.description):Cv(e,t.proposal)),kv=(e,t)=>{let n={dryRun:t.dryRun===!0};return e!==void 0&&(n.source=e),t.proposal!==void 0&&(n.proposal=t.proposal),t.description!==void 0&&(n.description=t.description),n},Av=(e,t)=>{e.command(`add`).description(`Add a git reference in two phases: propose (--dry-run), then finalize (--proposal).`).argument(`[source]`,`git url or npm:<package> (omit when finalizing with --proposal)`).option(`--dry-run`,`resolve and clone the source, writing a reviewable proposal`).option(`--proposal <file>`,`finalize from a completed proposal JSON file (- for stdin)`).option(`--description <text>`,`one-shot: dry-run then finalize immediately with this description`).action((e,n,r)=>{let i=Z(r);return $(t,i,async()=>{let r=await Ov(t,kv(e,n));Q(t,i,r.human,r.data,r.warnings)})()})},jv=e=>e===void 0?null:e,Mv=()=>Object.keys(Tc.shape).toSorted().join(`, `),Nv=e=>`unknown package field '${e}' — valid fields: ${Mv()}`,Pv=e=>Object.hasOwn(Tc.shape,e),Fv=(e,t,n)=>{if(!Pv(t))throw b(Nv(t));let r=e[t],i=Tc.safeParse({...e,[t]:n});if(!i.success)throw x(O(i.error));return{field:t,newValue:i.data[t],oldValue:r,updated:i.data}},Iv=async e=>{let t=Og(e.entry,e.key,e.packageName),n=Fv(t,e.field,e.value),r={...e.entry,packages:{...e.entry.packages,[e.packageName]:n.updated}};return await Sl(e.home,{...e.config,refs:{...e.config.refs,[e.key]:r}}),{field:n.field,key:e.key,new:jv(n.newValue),old:jv(n.oldValue)}},Lv=`packages`,Rv=()=>Object.keys(Ec.shape).filter(e=>e!==Lv).toSorted().join(`, `),zv=e=>`unknown ref field '${e}' — valid fields: ${Rv()}`,Bv=e=>Object.hasOwn(Ec.shape,e),Vv=(e,t,n)=>`failed to rewrite git remote at ${e} to '${q(t)}': ${n.trim()}`,Hv=async(e,t)=>{if(ml(t.home,t.dest),!G(t.dest))return;let n=await e.runner.run(`git`,[`remote`,`set-url`,`--`,`origin`,t.cloneUrl],{cwd:t.dest});if(n.exitCode!==0)throw x(Vv(t.dest,t.cloneUrl,n.stderr))},Uv=async(e,t)=>{let n=Hu(t.value,{allowFileUrls:qh(e.env)});if(n.key!==t.key)throw x(`new url derives a different key — remove and re-add instead`);let r=U(t.home,t.key);return await Hv(e,{cloneUrl:n.cloneUrl,dest:r,home:t.home}),{...t.entry,url:n.cloneUrl}},Wv=(e,t,n)=>{let r={...e,[t]:n},i=Ec.safeParse(r);if(!i.success)throw x(O(i.error));return i.data},Gv=(e,t)=>t.field===`url`?Uv(e,{entry:t.entry,home:t.home,key:t.key,value:t.value}):Promise.resolve(Wv(t.entry,t.field,t.value)),Kv=async(e,t)=>{let{field:n}=t;if(n===Lv)throw b(`use --package <name> <field> <value>`);if(!Bv(n))throw b(zv(n));let r=t.entry[n],i=await Gv(e,{entry:t.entry,field:n,home:t.home,key:t.key,value:t.value});return{new:i[n],old:r,updated:i}},qv=(e,t)=>{let n=H(e.env),{field:r,opts:i,query:a,value:o}=t;return J(n,`home`,async()=>{let t=await W(n),s=Wh(t,a),c=Eg(t,s);if(i.packageName!==void 0)return Iv({config:t,entry:c,field:r,home:n,key:s,packageName:i.packageName,value:o});let l=await Kv(e,{entry:c,field:r,home:n,key:s,value:o});return await Sl(n,{...t,refs:{...t.refs,[s]:l.updated}}),{field:r,key:s,new:jv(l.new),old:jv(l.old)}})},Jv=`settings`,Yv=[],Xv=()=>Object.keys(Cc.shape).toSorted().join(`, `),Zv=e=>`unknown setting '${e}' — valid settings: ${Xv()}`,Qv=e=>Object.hasOwn(Cc.shape,e),$v=e=>`note: 'settings' addressed the global settings, not ${e} — use the full ref key to edit that ref`,ey=e=>{try{let t=Wh(e,Jv);return[$v(`ref '${t}'`)]}catch(e){if(e instanceof v&&e.code===`usage`)return[$v("one of several matching refs — see `refs list`")];if(e instanceof v&&e.code===`not_found`)return Yv;throw e}},ty=e=>({data:{field:e.key,key:Jv,new:jv(e.parsed[e.key]),old:jv(e.old)},warnings:ey(e.config)}),ny=(e,t)=>{let n=H(e.env);return J(n,`home`,async()=>{let e=await W(n);if(!Qv(t.key))throw b(Zv(t.key));let r=e.settings[t.key],i={...e.settings,[t.key]:t.value},a=Cc.safeParse(i);if(!a.success)throw x(O(a.error));return await Sl(n,{...e,settings:a.data}),ty({config:e,key:t.key,old:r,parsed:a.data})})},ry=[],iy=e=>{let t={};return e.package!==void 0&&(t.packageName=e.package),t},ay=async(e,t)=>{if(t.first===`settings`){if(t.opts.packageName!==void 0)throw b(`--package is not valid with 'refs edit settings ...' — it only applies to ref/package edits`);return ny(e,{key:t.second,value:t.value})}return{data:await qv(e,{field:t.second,opts:t.opts,query:t.first,value:t.value}),warnings:ry}},oy=e=>e==null?`(unset)`:String(e),sy=e=>[`${e.key}: ${e.field} '${oy(e.old)}' -> '${oy(e.new)}'`],cy=(e,t)=>{e.command(`edit`).description(`Edit one field: 'refs edit settings <key> <value>' for a global setting, or 'refs edit <ref> <field> <value> [--package <name>]' for a ref or package field.`).argument(`<ref-or-settings>`,`a ref key/unique suffix, or the literal 'settings'`).argument(`<field-or-key>`,`field to edit (or, in settings mode, the setting key)`).argument(`<value>`,`the new value`).option(`--package <name>`,`edit this package's field instead of a top-level ref field`).action((e,n,r,i,a)=>{let o=Z(a);return $(t,o,async()=>{let{data:a,warnings:s}=await ay(t,{first:e,opts:iy(i),second:n,value:r});Q(t,o,sy(a),a,s)})()})},ly=`Install the agent skill: npx skills add kaisers-io/refs (from a local clone: npx skills add <path-to-this-repo> --skill refs)`,uy={migrated:`migrated`,noop:`unchanged`,seeded:`seeded`},dy=async e=>{await a(e.root,{recursive:!0}),await a(e.sourcesDir,{recursive:!0}),await a(e.locksDir,{recursive:!0}),await a(e.hooksDir,{recursive:!0})},fy=async e=>{let t=H(e.env);return await dy(t),{config:await J(t,`home`,async()=>{let e=await Ml(t,Bp);return await su(t),e}),home:t.root,skill_hint:ly}},py=[(e,t)=>{e.command(`init`).description(`Seed or migrate the refs home directory, its config, and the git hooks guard.`).action((e,n)=>{let r=Z(n);return $(t,r,async()=>{let e=await fy(t);Q(t,r,[`home: ${e.home}`,`config: ${uy[e.config]}`,``,ly],e)})()})},Av,cy,Gh,...H_],my=(e,t)=>{for(let n of py)n(e,t)},hy=[``,`Examples:`,` $ refs list --json`,` $ refs sync --stale-only --json`,` $ refs resolve zod/mini --json`,``,`Every command accepts --json for structured output and --verbose for stack traces on error.`].join(`
342
+ `),gy=new Set([`commander.help`,`commander.helpDisplayed`,`commander.version`]),_y=`--json`,vy=`--verbose`,yy=/\n$/u,by=/^error: /u,xy=e=>e.replace(by,``),Sy=(e,t)=>{for(let n of e){if(n===`--`)return!1;if(n===t)return!0}return!1},Cy=e=>Sy(e,_y),wy=e=>Sy(e,vy),Ty=(e,t,n)=>n&&t!==void 0?`${e}\n${t}`:e,Ey=e=>{let t=new tm().name(`refs`).description(`Manage git-based reference checkouts shared across a workspace.`).version(Bp).option(_y,`emit machine-readable JSON on stdout instead of human-readable text`).option(vy,`include stack traces in error output`).allowExcessArguments(!1).exitOverride().configureOutput({outputError:()=>{},writeErr:t=>{e.errLine(t.replace(yy,``))},writeOut:t=>{e.out(t.replace(yy,``))}});return t.addHelpText(`after`,hy),my(t,e),t},Dy=()=>{process.exitCode=_.OK},Oy=(e,t,n)=>{let r={code:`usage`,message:Ty(xy(n.message),n.stack,t.verbose)};cm(e,t,r),process.exitCode=_.USAGE},ky=(e,t,n)=>{if(gy.has(n.code)){Dy();return}Oy(e,t,n)},Ay=(e,t,n)=>{let r=be(n,{verbose:t.verbose});cm(e,t,r),process.exitCode=r.exitCode},jy=async(e,t,n)=>{let r={json:Cy(n),verbose:wy(n)};try{await t.parseAsync(n)}catch(t){if(t instanceof Wp){ky(e,r,t);return}Ay(e,r,t)}},My=(e,t)=>jy(e,Ey(e),t);import.meta.main&&await My(Up(),process.argv);export{Ey as buildProgram,Z as cliOptsOf,Q as emit,cm as emitError,sm as errorMessageOf,lm as progress,Up as realContext,my as registerCommands,My as run,jy as runProgram,om as warningsFor,$ as wrapAction};