omo-ai 5.1.21 → 5.1.23

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.
@@ -1,2 +1,2 @@
1
- // omo:jus4MRkMXwd5ysFZBDWdBqduBLYRaV99q-XKSQo5XW0:R0OC11lokvcJufZCbFm4ov_rrUH7I5W1DfFQLXHuo5M
2
- import{createHash as e}from"node:crypto";import{Buffer as t}from"node:buffer";import*as n from"node:fs";import*as r from"node:fs/promises";function i(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}async function o(e){for(let t=0;;t+=1)try{return await e()}catch(e){if("EINTR"!==i(e)||t>=128)throw e}}function a(e){for(let t=0;;t+=1)try{return e()}catch(e){if("EINTR"!==i(e)||t>=128)throw e}}var s=new Set(["EPERM","EBUSY","EACCES"]),u=[10,25,50,100,200,400],l=e=>new Promise(t=>setTimeout(t,e));import{Buffer as c}from"node:buffer";import{constants as d}from"node:fs";import*as f from"node:fs/promises";function p(e){return"number"==typeof e?0!==(e&d.O_EXCL):"string"==typeof e&&e.toLowerCase().includes("x")}async function h(e,t,n,r){let i="string"==typeof t?c.from(t,n??"utf8"):t,a=0;for(;a<i.length;){r?.throwIfAborted();let{bytesWritten:t}=await o(()=>e.write(i,a));if(t<=0)throw Error(`fs write made no progress at offset ${a}`);a+=t}}function m(e){return"function"==typeof e}function y(e){return(...t)=>o(async()=>e(...t))}function v(e){return(...t)=>a(()=>e(...t))}function g(e,t){let n="async"===t?y:v,r=new Map;return new Proxy(e,{get(e,t){if(r.has(t))return r.get(t);let i=Reflect.get(e,t);if(!m(i))return i;let o=n(i),a=Reflect.get(i,"native");return m(a)&&Object.assign(o,{native:n(a)}),r.set(t,o),o}})}var w=new Set(["stat","sync","datasync","chmod","chown","utimes","truncate"]);var _=g(r,"async");function b(e,t){return async function(e,t,n){let r="win32"===n.platform?n.delaysMs??u:[],o=n.sleep??l;for(let a=0;;a+=1)try{return void await n.rename(e,t)}catch(e){let t=r[a],n=i(e);if(void 0===t||void 0===n||!s.has(n))throw e;await o(t)}}(e,t,{rename:_.rename,platform:process.platform})}var k=g(n,"sync"),{access:$,chmod:z,copyFile:S,cp:O,link:E,lstat:x,mkdir:I,mkdtemp:A,readFile:P,readdir:N,realpath:j,rm:T,rmdir:Z,stat:F,unlink:D}=_,{accessSync:R,chmodSync:M,fsyncSync:C,linkSync:U,lstatSync:J,mkdirSync:L,readFileSync:B,readdirSync:W,realpathSync:K,statSync:V,unlinkSync:G,writeFileSync:q,writeSync:H}=k,Y=async(...e)=>{let t=()=>r.open(...e);return function(e){return new Proxy(e,{get(e,t){let n=Reflect.get(e,t);if(!m(n))return n;let r=t=>Reflect.apply(n,e,[...t]);return"close"===t||t===Symbol.asyncDispose?(...e)=>{let t=r(e);return t instanceof Promise?t.catch(e=>{if("EINTR"!==i(e))throw e}):t}:"string"==typeof t&&w.has(t)?(...e)=>{let t=r(e);return t instanceof Promise?t.catch(t=>{if("EINTR"!==i(t))throw t;return o(async()=>r(e))}):t}:(...e)=>r(e)}})}(await(p(e[1]??"r")?t():o(t)))};var X=async(e,n,a)=>{if("string"!=typeof n&&!(n instanceof Uint8Array))return r.writeFile(e,n,a);if("object"==typeof(s=e)&&!(s instanceof URL)&&!t.isBuffer(s)&&"fd"in s){let t="string"==typeof a?{encoding:a}:a??{};return t.signal?.throwIfAborted(),await h(e,n,t.encoding??void 0,t.signal),void(!0===t.flush&&await o(()=>e.sync()))}var s;return async function(e,t,n,r){let a="string"==typeof n?{encoding:n}:n??{};a.signal?.throwIfAborted();let s=a.flag??r,u=()=>f.open(e,s,a.mode),l=await(p(s)?u():o(u));try{await h(l,t,a.encoding??"utf8",a.signal),!0===a.flush&&await o(()=>l.sync())}finally{await l.close().catch(e=>{if("EINTR"!==i(e))throw e})}}(e,n,a??void 0,"w")};function Q(e){try{return a(()=>n.statSync(e)),!0}catch{return!1}}import{hostname as ee}from"node:os";import{join as te}from"node:path";class ne extends Error{constructor(e,t){super(e,t),this.name=new.target.name}}class re extends ne{argv;timeoutMs;constructor(e,t){super(`git ${e.join(" ")} timed out after ${t}ms`),this.argv=e,this.timeoutMs=t}}class ie extends ne{constructor(e){super("Git is required for memory storage but was not found on PATH.",e)}}import{spawn as oe}from"node:child_process";import{win32 as ae}from"node:path";var se=[["ProgramFiles",["Git","cmd","git.exe"]],["ProgramW6432",["Git","cmd","git.exe"]],["ProgramFiles(x86)",["Git","cmd","git.exe"]],["LOCALAPPDATA",["Programs","Git","cmd","git.exe"]]];function ue(e,t){for(let[n,r]of Object.entries(e)){if(n.toLowerCase()!==t.toLowerCase()||void 0===r)continue;let e=r.trim();if(e.length>0)return e}}function le(e){return e instanceof ie&&e.cause instanceof Error&&"ENOENT"===e.cause.code}function ce(e,t,n,r){return new Promise((i,o)=>{let a=void 0!==n.stdin,s=oe(e,[...t],{cwd:n.cwd,env:r,shell:!1,stdio:[a?"pipe":"ignore","pipe","pipe"],windowsHide:!0}),u=[],l=[],c=!1,d=!1,f=setTimeout(()=>{d=!0,s.kill("SIGKILL")},n.timeoutMs);s.stdout.on("data",e=>u.push(e)),s.stderr.on("data",e=>l.push(e)),a&&s.stdin.end(n.stdin),s.on("error",e=>{if(!c)if(c=!0,clearTimeout(f),"ENOENT"===e.code){if(!Q(n.cwd))return void i({code:128,stdout:"",stderr:`fatal: cannot change to '${n.cwd}': No such file or directory`});o(new ie({cause:e}))}else o(e)}),s.on("close",e=>{if(c)return;if(c=!0,clearTimeout(f),d)return void o(new re(t,n.timeoutMs));let r=Buffer.concat(u);i({code:e??1,stdout:r.toString("utf8"),stderr:Buffer.concat(l).toString("utf8"),stdoutBytes:r})})})}function de(e={}){let t=e.platform??process.platform,n=e.runCommand??ce;return{async run(e,r){let i=r.env??process.env;try{return await n("git",e,r,i)}catch(o){if("win32"!==t||!le(o))throw o;for(let t of function(e){let t=new Set,n=[];for(let[r,i]of se){let o=ue(e,r);if(void 0===o||!/^[A-Za-z]:[\\/]/.test(o))continue;let a=ae.join(o,...i),s=ae.normalize(a).toLowerCase();t.has(s)||(t.add(s),n.push(a))}return n}(i))try{return await n(t,e,r,i)}catch(e){if(le(e))continue;throw e}throw o}}}}import{randomUUID as fe}from"node:crypto";import{hostname as pe}from"node:os";import he from"node:path";import me from"node:path";var ye=new Set;function ve(e){ye.add(e)}function ge(e){ye.delete(e)}var we=/\.candidate-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function _e(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}function be(e,t){try{e.onFailure?.(t)}catch{}}function ke(e){if("win32"!==process.platform)return!1;let t=_e(e);return"EBUSY"===t||"EPERM"===t||"EACCES"===t}import{randomUUID as $e}from"node:crypto";import{hostname as ze}from"node:os";import{execFile as Se}from"node:child_process";var Oe=null;function Ee(){return Oe??=async function(){if("darwin"!==process.platform)return null;try{let{dlopen:e,FFIType:t}=await(import("bun:ffi")),n=e("/usr/lib/libSystem.B.dylib",{proc_pidinfo:{args:[t.i32,t.i32,t.u64,t.ptr,t.i32],returns:t.i32}});return(e,t,r,i,o)=>Number(n.symbols.proc_pidinfo(e,t,r,i,o))}catch{return null}}(),Oe}var xe=null;async function Ie(e){if("win32"!==process.platform)return null;if(!Number.isSafeInteger(e)||e<=0)return null;xe??=async function(){if("win32"!==process.platform)return null;try{let{dlopen:e,FFIType:t}=await(import("bun:ffi"));return e("kernel32.dll",{OpenProcess:{args:[t.u32,t.i32,t.u32],returns:t.ptr},GetProcessTimes:{args:[t.ptr,t.ptr,t.ptr,t.ptr,t.ptr],returns:t.i32},CloseHandle:{args:[t.ptr],returns:t.i32}}).symbols}catch{return null}}();let t=await xe;if(null===t)return null;let n=t.OpenProcess(4096,0,e);if(null===n||0===n||0n===n)return null;try{let e=new BigUint64Array(1),r=t.GetProcessTimes(n,e,new BigUint64Array(1),new BigUint64Array(1),new BigUint64Array(1)),i=e[0]??0n;return 0===r||0n===i?null:i}finally{t.CloseHandle(n)}}async function Ae(e,t){return await new Promise(n=>{Se(e,t,{encoding:"utf8",timeout:2e3,windowsHide:!0},(e,t)=>{if(null!==e)return void n(null);let r=t.trim();n(r.length>0?r:null)})})}var Pe=function(e,t){let n;return r=>r!==t?e(r):(n??=e(r).then(e=>(null===e&&(n=void 0),e),e=>{throw n=void 0,e}),n)}(async function(e){if("linux"===process.platform)return await async function(e){try{let t=await P(`/proc/${e}/stat`,"utf8"),n=t.lastIndexOf(")");if(n<0)return null;let r=t.slice(n+2).trim().split(/\s+/)[19];return void 0===r?null:`linux-proc-start-ticks:${r}`}catch{return null}}(e);if("darwin"===process.platform||"freebsd"===process.platform){if("dead"===je(e))return null;let t=await async function(e){if("darwin"!==process.platform)return null;if(!Number.isSafeInteger(e)||e<=0)return null;let t=await Ee();if(null===t)return null;let n=new Uint8Array(136),r=0;try{r=t(e,3,0n,n,136)}catch{return null}if(136!==r)return null;let i=new DataView(n.buffer,n.byteOffset,n.byteLength),o=Number(i.getBigUint64(120,!0));return o>0?o:null}(e);if(null!==t)return`proc-start-epoch:${t}`;let n=await Ae("/bin/ps",["-o","lstart=","-p",String(e)]);return null===n?null:`ps-lstart:${n.replace(/\s+/g," ")}`}return"win32"===process.platform?await async function(e){if("dead"===je(e))return null;let t=await Ie(e);if(null!==t)return`win32-creation-filetime:${t}`;let n=await Ae("powershell.exe",["-NoProfile","-Command",`(Get-Process -Id ${e} -ErrorAction SilentlyContinue).StartTime.ToUniversalTime().ToString('o')`]);return null===n?null:`win32-creation-date:${n}`}(e):null},process.pid);function Ne(e){let t=e.indexOf(":");return t<=0?null:e.slice(0,t)}function je(e){try{return process.kill(e,0),"alive"}catch(e){let t=function(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}(e);return"ESRCH"===t?"dead":"EPERM"===t?"alive":"unknown"}}function Te(e){return"string"==typeof e&&e.length>0}function Ze(e){let t;try{t=JSON.parse(e)}catch{return null}if("object"!=typeof t||null===t||Array.isArray(t))return null;let n=t;return!Number.isInteger(n.pid)||Number(n.pid)<=0?null:Te(n.process_start)&&Te(n.hostname)&&Te(n.nonce)?!Te(n.created_at)||Number.isNaN(Date.parse(n.created_at))?null:Te(n.purpose)&&(void 0===n.run_id||Te(n.run_id))?{pid:Number(n.pid),process_start:n.process_start,hostname:n.hostname,nonce:n.nonce,created_at:n.created_at,purpose:n.purpose,...void 0===n.run_id?{}:{run_id:n.run_id}}:null:null}var Fe=new Set(["EACCES","EPERM","ENOTSUP"]);class De extends Error{lockPath;owner;retriable=!0;constructor(e,t){super(`Lock is held: ${e}`),this.lockPath=e,this.owner=t,this.name="LockContentionError"}}function Re(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}function Me(e,t){if(void 0!==t)return t(e);if("win32"!==process.platform)return!1;let n=Re(e);return"EBUSY"===n||"EPERM"===n||"EACCES"===n}async function Ce(e){for(let t=0;t<3;t+=1)try{return await(We.unlink??D)(e),ge(e),!0}catch(n){if("ENOENT"===Re(n))return ge(e),!0;if(!Me(n,We.isSharingError))throw ve(e),Ke(he.dirname(e)),n;if(t+1===3)return ve(e),Ke(he.dirname(e)),!1}return!1}function Ue(e,t){return t?.throwIfAborted(),new Promise((n,r)=>{let i=setTimeout(a,e),o=()=>a(t?.reason??new DOMException("The operation was aborted","AbortError"));function a(e){clearTimeout(i),t?.removeEventListener("abort",o),void 0===e?n():r(e)}t?.addEventListener("abort",o,{once:!0})})}async function Je(e){try{let t=await P(e,"utf8"),n=await F(e,{bigint:!0});return{raw:t,record:Ze(t),dev:n.dev,ino:n.ino,mtimeMs:Number(n.mtimeMs)}}catch(e){let t=Re(e);if("ENOENT"===t)return null;if("\\"===he.sep&&"EPERM"===t)return{raw:"",record:null,dev:0,ino:0,mtimeMs:Date.now()};throw e}}async function Le(e,t){await I(he.dirname(e),{recursive:!0,mode:448});let{candidatePath:n,handle:r}=await async function(e){for(let t=0;;t+=1){let n=`${e}.candidate-${fe()}`;try{return{candidatePath:n,handle:await Y(n,"wx",384)}}catch(r){if(await Ce(n)||Ke(he.dirname(e)),"EINTR"!==Re(r)||t>=128)throw r}}}(e);try{try{await h(r,`${JSON.stringify(t)}\n`,"utf8"),await r.sync()}finally{await r.close()}try{return await(We.link??E)(n,e),!0}catch(n){if(function(e){let t=Re(e);return"EEXIST"===t||"ENOENT"===t}(n))return!1;if(Fe.has(Re(n)??""))return await async function(e,t){let n;try{n=await Y(e,"wx",384)}catch(e){if("EEXIST"===Re(e))return!1;throw e}try{return await(We.writeFallback??h)(n,`${JSON.stringify(t)}\n`,"utf8"),await n.sync(),!0}finally{await n.close()}}(e,t);throw n}}finally{await Ce(n)||Ke(he.dirname(e))}}var Be=new Set,We={};function Ke(e){Be.delete(e)}async function Ve(e){if(e.hostname!==pe())return!1;let t=je(e.pid);if("dead"===t)return!0;if("unknown"===t)return!1;let n=await Pe(e.pid);return null!==n&&"unavailable"!==e.process_start&&function(e,t){let n=Ne(e);return null!==n&&n===Ne(t)&&e!==t}(e.process_start,n)}function Ge(e,t){return e.dev===t.dev&&e.ino===t.ino&&e.mtimeMs===t.mtimeMs&&e.raw===t.raw}async function qe(e,t,n){return null!==e.record?Ve(e.record):t-e.mtimeMs>n}async function He(e,t,n){let r=await Je(e);if(null===r||!await qe(r,t,n))return!1;let i=`${e}.reaping-${fe()}`;try{await b(e,i)}catch(e){if("ENOENT"===Re(e))return!1;if(Me(e))return!1;throw e}let o=await Je(i);if(null!==o&&Ge(o,r))return await D(i),!0;try{await E(i,e)}catch(e){if("EEXIST"!==Re(e))throw e}return await D(i),!1}async function Ye(e,t,n,r,i){if(!await qe(t,r,i))return!1;let o=`${e}.recovery`,a={...n,nonce:fe(),created_at:(new Date).toISOString(),purpose:`${n.purpose}:recovery`};for(let e=0;!await Le(o,a);e+=1)if(e>0||!await He(o,r,i))return!1;try{let n=await Je(e);if(null===n)return!0;if(!Ge(n,t))return!1;if(!await qe(n,r,i))return!1;let s=await Je(o);return null!==s&&s.record?.nonce===a.nonce&&(await D(e),!0)}finally{await Qe(o,a)}}async function Xe(e,t,n={}){let r=n.waitTimeoutMs??0,i=n.retryDelayMs??25,o=n.incompleteLockGraceMs??5e3,a=n.now??Date.now;if(r<0||i<=0||o<0)throw Error("lock wait options must be positive");let s=he.dirname(e);Be.has(s)||(Be.add(s),await async function(e,t=Date.now,n={}){let r;try{r=await N(e)}catch(t){if("ENOENT"===_e(t)){for(let t of ye)me.dirname(t)===e&&ge(t);return 0}throw t}let i=0;for(let o of r){if(!we.test(o))continue;let r=me.join(e,o);try{let e=await F(r);if(!ye.has(r)&&t()-e.mtimeMs<=36e5)continue;let o=!1;for(let e=0;e<3;e+=1)try{await(n.unlink??D)(r),ge(r),o=!0;break}catch(t){if("ENOENT"===_e(t)){ge(r),o=!0;break}if(!(n.isSharingError?.(t)??ke(t)))throw t;e+1===3&&be(n,r)}o&&(i+=1)}catch(e){"ENOENT"===_e(e)&&ge(r),be(n,r)}}return i}(s,Date.now,{...void 0===We.unlink?{}:{unlink:We.unlink},...void 0===We.isSharingError?{}:{isSharingError:We.isSharingError},onFailure:()=>Ke(s)}).catch(()=>{Ke(s)}));let u=a()+r;for(;;){n.signal?.throwIfAborted();let r=await Je(e);if(null===r){if(await Le(e,t))return;if(n.signal?.throwIfAborted(),r=await Je(e),null===r)continue}if(!await Ye(e,r,t,a(),o)){if(n.signal?.throwIfAborted(),a()>=u)throw new De(e,r.record);await Ue(Math.min(i,Math.max(1,u-a())),n.signal)}}}async function Qe(e,t){let n=await Je(e);if(null===n||n.record?.nonce!==t.nonce)return!1;try{return await D(e),!0}catch(e){if("ENOENT"===Re(e))return!1;throw e}}import et from"node:path";Promise.resolve();var tt=[["\\bAKIA[0-9A-Z]{16}\\b",""],["\\b(?:bearer|token|api[_-]?key|secret|password|passwd|pwd)\\s*[=:]\\s*\\S{1,256}","i"],["\\bAuthorization\\s*:\\s*Bearer\\s+\\S{1,256}","i"],["\\bsk-(?:proj-)?[-_A-Za-z0-9]+\\b",""],["\\b(?:ghp|github_pat|glpat|xox[baprs])-[-_A-Za-z0-9]+\\b",""]];tt.map(([e,t])=>new RegExp(e,t)),tt.map(([e,t])=>new RegExp(e,`${t}g`));var nt=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/,rt=/^"(?:[^"\\\u0000-\u001f]|\\(?:["\\/bfnrt]|u[0-9a-fA-F]{4}))*"$/,it=/^'(?:[^']|'')*'$/;function ot(e){return function(e){if(rt.test(e))try{let t=JSON.parse(e);return"string"==typeof t?t:void 0}catch{return}if(it.test(e))return e.slice(1,-1).replace(/''/g,"'")}(e)??e}class at extends Error{name="FrontmatterError"}var st=/^[A-Za-z0-9_-]+$/;function ut(e){let t=e.match(nt);if(!t)throw new at("frontmatter: target file is missing required frontmatter");let n,r,i,o,a=t[1]??"",s=t[2]??"",u={};for(let e of a.split(/\r?\n/)){let t=e.indexOf(":");if(t<=0)continue;let a=e.slice(0,t).trim(),s=e.slice(t+1).trim();"description"===a?n=ot(s):"read_only"===a?r=s:"kind"===a?i=ot(s):"aliases"===a?o=lt(s,e):"limit"!==a&&st.test(a)&&(u[a]=s)}if(!n||!n.trim())throw new at("frontmatter: target file frontmatter is missing 'description'");return{frontmatter:{description:n,...void 0!==r?{read_only:r}:{},...void 0!==i?{kind:i}:{},...void 0!==o?{aliases:o}:{},...Object.keys(u).length>0?{extra:u}:{}},body:s}}function lt(e,t){let n,r=e.trim();if(!r.startsWith("["))throw new at(`frontmatter: 'aliases' must be a JSON array of non-empty strings (line: ${t})`);try{n=JSON.parse(r)}catch{throw new at(`frontmatter: 'aliases' is not valid JSON (line: ${t})`)}if(!Array.isArray(n))throw new at(`frontmatter: 'aliases' must be a JSON array, not ${typeof n} (line: ${t})`);for(let e of n)if("string"!=typeof e||""===e.trim())throw new at(`frontmatter: 'aliases' array must contain only non-empty strings (line: ${t})`);return n}var ct=/^(?:memory\/)?(?:(?:system|reference|people)\/.*\.md|skills\/.+\/SKILL\.md)$/;function dt(e){return ct.test(e.replace(/\\/g,"/"))}new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});import{dirname as ft}from"node:path";import{fileURLToPath as pt}from"node:url";ft(pt(import.meta.url));import{createHash as ht}from"node:crypto";import{join as mt}from"node:path";function yt(e,t){return ht("sha256").update(e).digest("hex").slice(0,t)}function vt(e){let t=e.factsQueue,n=mt(t,"cursor");return{queueDir:t,cursorDir:n,consumedPath:mt(t,"consumed.json"),failuresPath:mt(t,"failures.json"),cursorPath:e=>mt(n,`${yt(e,12)}.json`),entryPath:(e,n,r)=>mt(t,`${function(e){return e.toISOString().replaceAll("-","").replaceAll(":","").replace(".","")}(r)}-${yt(e,12)}-${yt(n,8)}.json`)}}var gt=["quick_category_unavailable","child_exit","deadline_exceeded","invalid_extraction","memory_write_lock_exhausted","parent_dirty","unknown_liveness","payload_envelope_oversize","payload_entry_oversize","other"];class wt extends Error{name="FactsFailuresCorruptError";constructor(e){super(`facts failures file is unusable: ${e}`)}}function _t(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function bt(e,t){if("string"!=typeof e||0===e.length)throw new wt(`${t} must be a non-empty string`);return e}function kt(e,t){let n=bt(e,t),r=new Date(n);if(Number.isNaN(r.getTime())||r.toISOString()!==n)throw new wt(`${t} must be an ISO-8601 instant`);return n}function $t(e,t){if("number"!=typeof e||!Number.isInteger(e)||e<0)throw new wt(`${t} must be a non-negative integer`);return e}function zt(e){if("string"!=typeof e||!gt.includes(e))throw new wt(`lastReason "${String(e)}" is not a known reason`);return e}function St(e){if(!_t(e))throw new wt("entries must contain objects");let t=function(e){if("backoff"!==e&&"parked"!==e)throw new wt(`state "${String(e)}" is not backoff or parked`);return e}(e.state),n=null===e.nextEligibleAt?null:kt(e.nextEligibleAt,"nextEligibleAt"),r=void 0===e.parkedAt?void 0:kt(e.parkedAt,"parkedAt");if("parked"===t&&(null!==n||void 0===r))throw new wt("a parked record needs parkedAt and a null nextEligibleAt");if("backoff"===t&&(null===n||void 0!==r))throw new wt("a backoff record needs nextEligibleAt and no parkedAt");let i=$t(e.streak,"streak");if(i<1)throw new wt("streak must be at least 1");let o={conversationId:bt(e.conversationId,"conversationId"),end_message_id:bt(e.end_message_id,"end_message_id"),end_snapshot_line:$t(e.end_snapshot_line,"end_snapshot_line"),state:t,streak:i,firstFailureAt:kt(e.firstFailureAt,"firstFailureAt"),lastFailureAt:kt(e.lastFailureAt,"lastFailureAt"),lastReason:zt(e.lastReason),lastFailureId:bt(e.lastFailureId,"lastFailureId"),nextEligibleAt:n},a=function(e,t){if(void 0!==e)return bt(e,t)}(e.lastDetail,"lastDetail");return{...o,...void 0===a?{}:{lastDetail:a},...void 0===r?{}:{parkedAt:r}}}function Ot(e){return[...e].sort((e,t)=>e.conversationId!==t.conversationId?e.conversationId<t.conversationId?-1:1:e.end_snapshot_line!==t.end_snapshot_line?e.end_snapshot_line-t.end_snapshot_line:e.end_message_id===t.end_message_id?0:e.end_message_id<t.end_message_id?-1:1)}var Et=[6e4,3e5,18e5,72e5];function xt(e,t){return`${e}\0${t}`}function It(e){return xt(e.conversationId,e.end_message_id)}function At(e){return xt(e.conversationId,e.endMessageId)}function Pt(e){let t=e.replace(/[\u0000-\u001f\u007f]+/g," ").trim();if(0!==t.length)return function(e,t){if(Buffer.byteLength(e,"utf8")<=t)return e;let n=0,r=0;for(let i of e){let e=Buffer.byteLength(i,"utf8");if(n+e>t)break;n+=e,r+=i.length}return e.slice(0,r)}(t,512)}function Nt(e,t,n,r){let i=n.now.toISOString(),o=(e?.streak??0)+1,a="parked"===e?.state||"payload_entry_oversize"===n.reason||o>=5;return{conversationId:t.conversationId,end_message_id:t.endMessageId,end_snapshot_line:t.endSnapshotLine,state:a?"parked":"backoff",streak:o,firstFailureAt:e?.firstFailureAt??i,lastFailureAt:i,lastReason:n.reason,lastFailureId:n.failureId,nextEligibleAt:a?null:new Date(n.now.getTime()+jt(o)).toISOString(),...void 0===r?{}:{lastDetail:r},...a?{parkedAt:e?.parkedAt??i}:{}}}function jt(e){return Et[Math.min(e,Et.length)-1]??0}import{randomUUID as Tt}from"node:crypto";import{dirname as Zt,join as Ft}from"node:path";var Dt=new Set(["ENOENT","EISDIR","EPERM","EACCES","EINVAL"]);function Rt(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}class Mt{layout;lockPath;lockWaitMs;now;constructor(e){var t;this.layout=vt(e.identityPaths),this.lockPath=(t=e.identityPaths.locks,et.join(t,"facts-queue.lock")),this.lockWaitMs=e.lockWaitMs??2e3,this.now=e.now??(()=>new Date)}async readFailures(){return this.locked(()=>this.readUnlocked())}async recordFailure(e){return this.mutate((t,n)=>function(e){let t=void 0===e.detail?void 0:Pt(e.detail),n=new Map(e.entries.map(e=>[It(e),e]));for(let r of e.targets){let i=n.get(At(r));i?.lastFailureId!==e.failureId&&n.set(At(r),Nt(i,r,e,t))}return Ot([...n.values()])}({entries:t,targets:e.targets,failureId:e.failureId,reason:e.reason,...void 0===e.detail?{}:{detail:e.detail},now:n}))}async clearOnSuccess(e){return this.mutate(t=>function(e,t){let n=new Set(t.map(e=>At(e)));return e.filter(e=>!n.has(It(e)))}(t,e))}async clearForRetry(e){let t=0;return await this.mutate(n=>{let r=function(e,t){return e.filter(e=>void 0!==t.conversationId&&e.conversationId!==t.conversationId||void 0!==t.endMessageId&&e.end_message_id!==t.endMessageId)}(n,e);return t=n.length-r.length,r}),t}async mutate(e){return this.locked(async()=>{let t=await this.readUnlocked(),n=this.now(),r=e(t.entries,n),i={version:t.version,updatedAt:n.toISOString(),entries:r};return await this.writeAtomically(function(e,t){let n={version:1,updatedAt:t,entries:Ot(e)};return`${JSON.stringify(n,null,2)}\n`}(r,i.updatedAt)),i})}async readUnlocked(){let e=await P(this.layout.failuresPath,"utf8").catch(e=>{if("ENOENT"!==Rt(e))throw e});return void 0===e?{version:1,updatedAt:this.now().toISOString(),entries:[]}:function(e){let t;try{t=JSON.parse(e)}catch(e){throw new wt(e instanceof Error?e.message:"unreadable JSON")}if(!_t(t))throw new wt("root must be an object");if(1!==t.version)throw new wt(`unsupported version ${String(t.version)}`);if(!Array.isArray(t.entries))throw new wt("entries must be an array");let n=t.entries.map(e=>St(e));return{version:1,updatedAt:kt(t.updatedAt,"updatedAt"),entries:Ot(n)}}(e)}async writeAtomically(e){let t=Zt(this.layout.failuresPath);await I(t,{recursive:!0});let n=Ft(t,`.failures-${process.pid}-${Tt()}.tmp`),r=await Y(n,"wx",384);try{await h(r,e,"utf8"),await r.sync()}catch(e){throw await r.close(),await T(n,{force:!0}),e}await r.close();try{await b(n,this.layout.failuresPath)}catch(e){throw await T(n,{force:!0}),e}await async function(e){let t;try{t=await Y(e,"r")}catch(e){if(Dt.has(Rt(e)??""))return;throw e}try{await t.sync()}catch(e){if(!Dt.has(Rt(e)??""))throw e}finally{await t.close()}}(t)}async locked(e){await I(this.layout.queueDir,{recursive:!0}),await I(Zt(this.lockPath),{recursive:!0});let t=await async function(e,t={}){if(0===e.length)throw Error("lock purpose must not be empty");let n=await Pe(process.pid);return{pid:process.pid,process_start:n??"unavailable",hostname:ze(),nonce:$e(),created_at:(new Date).toISOString(),purpose:e,...void 0===t.runId?{}:{run_id:t.runId}}}("facts-queue");return async function(e,t,n,r){await Xe(e,t,r);try{return await n()}finally{await Qe(e,t)}}(this.lockPath,t,e,{waitTimeoutMs:this.lockWaitMs})}}import{dirname as Ct}from"node:path";import{fileURLToPath as Ut}from"node:url";Ct(Ut(import.meta.url));class Jt extends Error{name="ReflectionParkStateError"}function Lt(e){if(!Wt(e)||1!==e.version)throw new Jt("Invalid reflection park state");let t=e.streak;if("number"!=typeof t||!Number.isInteger(t)||t<0)throw new Jt("Invalid reflection park streak");let n=Bt(e.firstFailureAt,"firstFailureAt"),r=Bt(e.parkedAt,"parkedAt"),i=Bt(e.lastProbeAt,"lastProbeAt"),o=void 0===e.lastFailure?void 0:function(e){if(!Wt(e))throw new Jt("Invalid reflection park failure");let{runId:t,at:n,fingerprint:r,retryable:i,reason:o,detail:a}=e;if("string"!=typeof t||"string"!=typeof r||"boolean"!=typeof i)throw new Jt("Invalid reflection park failure");let s=Bt(n,"at");if(void 0===s)throw new Jt("Invalid reflection park failure timestamp");if(void 0!==o&&"string"!=typeof o)throw new Jt("Invalid reflection park failure reason");if(void 0!==a&&"string"!=typeof a)throw new Jt("Invalid reflection park failure detail");return{runId:t,at:s,fingerprint:r,retryable:i,...void 0===o?{}:{reason:o},...void 0===a?{}:{detail:a}}}(e.lastFailure);return{version:1,streak:t,...void 0===n?{}:{firstFailureAt:n},...void 0===o?{}:{lastFailure:o},...void 0===r?{}:{parkedAt:r},...void 0===i?{}:{lastProbeAt:i}}}function Bt(e,t){if(void 0!==e){if("string"!=typeof e||Number.isNaN(Date.parse(e)))throw new Jt(`Invalid reflection park ${t}`);return e}}function Wt(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}import{join as Kt}from"node:path";async function Vt(e){let t;try{t=await P(e,"utf8")}catch(e){if("ENOENT"===function(e){if(!(e instanceof Error&&"code"in e))return;return"string"==typeof e.code?e.code:void 0}(e))return null;throw e}return JSON.parse(t)}new Date(0).toISOString();var Gt="\\p{Script=Hangul}\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\u30fc";new RegExp(`[${Gt}]+|(?:(?![${Gt}])[\\p{L}\\p{M}\\p{N}])+`,"gu"),new RegExp(`^[${Gt}]+$`,"u"),new RegExp(`[${Gt}]`,"u"),new RegExp(`[${Gt}]`,"gu"),new RegExp(`[\\p{L}${Gt}]`,"gu");import{dirname as qt}from"node:path";import{fileURLToPath as Ht}from"node:url";qt(Ht(import.meta.url));var Yt=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,Xt=[/^\d+\s*\|/,/^\^+$/,/^at\s+\S/,/^(?:path|syscall|errno|code|dest|address|port|erroredSysCall)\s*:/i,/^Bun v\d/,/^\[truncated to last \d+ bytes\]$/],Qt=/^(?:[A-Z][A-Za-z]*(?:Error|Exception)|E[A-Z]{2,}|[Ee]rror|[Ww]arning|[Ff]atal)\b/;function en(e,t){return`${e??"failed"}:${(function(e){if(void 0===e)return e;let t=e.split("\n").map(e=>e.replace(Yt,"").replace(/\s+/g," ").trim()).filter(e=>e.length>0&&!Xt.some(t=>t.test(e))),n=t.find(e=>Qt.test(e))??t[0];return void 0!==n?n.length<=200?n:`${n.slice(0,199)}…`:void 0}(t)??"").slice(0,60)}`}function tn(e){let t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function nn(e,t="|"){return e.map(e=>Sn(e)).join(t)}function rn(e,t){return"bigint"==typeof t?t.toString():t}class on{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return void 0!==e&&(this._value=e(),this._getter=void 0),this._value}}function an(e){return new on(e)}function sn(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function un(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function ln(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function cn(e){return ln(e._zod.def)??e._zod.def.shape}function dn(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return un(this,t,e),e},enumerable:!0,configurable:!0})}function fn(e,t,n){t in e?un(e,t,n):e[t]=n}function pn(e,t,n,r){let i=cn(t);for(let o of n){let n=Object.getOwnPropertyDescriptor(i,o);n.enumerable&&(n.get?dn(e,o,()=>{let e=t._zod.def.shape[o];return r?r(e,o):e}):fn(e,o,r?r(n.value,o):n.value))}}function hn(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function mn(e){return JSON.stringify(e)}var yn="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function vn(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var gn=an(()=>{if(rr.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function wn(e){if(!1===vn(e))return!1;let t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;let n=t.prototype;return!1!==vn(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function _n(e){return wn(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var bn=new Set(["string","number","symbol"]);function kn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $n(e,t,n){let r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function zn(e){let t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}function Sn(e){return"bigint"==typeof e?e.toString()+"n":"string"==typeof e?`"${e}"`:`${e}`}var On={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},En={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function xn(e,t){let n=cn(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function In(e,t){let n={};return pn(n,e,Reflect.ownKeys(cn(e))),function(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?dn(e,n,()=>t[n]):fn(e,n,r.value))}}(n,t),n}function An(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`);let o=n?new Set(xn(t,n)):void 0,a={};return pn(a,t,Reflect.ownKeys(cn(t)),e&&((t,n)=>o&&!o.has(n)?t:new e({type:"optional",innerType:t}))),$n(t,hn(t._zod.def,{shape:a,checks:[]}))}function Pn(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function Nn(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function jn(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Tn(e){return"string"==typeof e?e:e?.message}function Zn(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function Fn(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 o=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,a=e.message?e.message:Tn(e.inst?._zod.def?.error?.(e))??Tn(o?.(e))??Tn(t?.error?.(e))??Tn(n.customError?.(e))??Tn(n.localeError?.(e))??"Invalid input",s={};for(let t of Object.keys(e))"inst"!==t&&"schema"!==t&&"continue"!==t&&"input"!==t&&"__proto__"!==t&&(s[t]=e[t]);return s.path??(s.path=[]),s.message=a,t?.reportInput&&(s.input=e.input),s}var Dn=/[\uD800-\uDBFF]/;function Rn(e){let t=e.length;if(!Dn.test(e))return t;let n=t;for(let r=0;r<t-1;r++)55296==(64512&e.charCodeAt(r))&&56320==(64512&e.charCodeAt(r+1))&&(n--,r++);return n}function Mn(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function Cn(...e){let[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}function Un(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Jn(e,t,n){return Un(e,t,n,!1)}function Ln(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return Un(this,n,r(this))},set(e){Un(this,n,e)}})}return t}function Bn(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return null==this?n:Un(this,t,n.bind(this))},set(e){Un(this,t,e)}})}var Wn,Kn=!1,Vn={configurable:!0,get(){Kn=!0}};function Gn(e,t,n){let r=Object.getPrototypeOf(e._zod);t in r&&Wn!==e._zod?Wn=void 0:(Wn=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Vn);let e=Kn;Kn=!1;try{let r=n(this);return Kn?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Kn=Kn||e,r}catch(n){throw delete this[t],Kn=Kn||e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}}))}function qn(e,t,n,r){let i=function(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}(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})}})}var Hn;function Yn(e){let t=()=>e;return t["~constantCatch"]=!0,t}var Xn={value:void 0,enumerable:!1},Qn="captureStackTrace"in Error?Error:null;function er(e,t,n,r){function i(e){this.def=e,this.constr=c,this.traits=new Set}i.prototype={};let o=n,a=o&&new WeakSet;function s(n,r){if(n._zod){if(n._zod.traits.has(e))return}else{Xn.value=new i(r);try{Object.defineProperty(n,"_zod",Xn)}finally{Xn.value=void 0}}if(n._zod.traits.add(e),t(n,r),a){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;a.has(i)||(a.add(i),function(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Bn(e,n,r.value)}}(i,o))}let s=c.prototype;for(let e in s)Object.prototype.hasOwnProperty.call(s,e)&&(e in n||(n[e]=s[e].bind(n)))}let u=r?.Parent??Object;class l extends u{}function c(e){let t=r?.Parent?function(e){let t=Qn;if(t){let n=t.stackTraceLimit;if("number"==typeof n){try{t.stackTraceLimit=0}catch{return Qn=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}(l):this;s(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(l,"name",{value:e}),Object.defineProperty(c,"init",{value:s}),Object.defineProperty(c,Symbol.hasInstance,{value:t=>!!(r?.Parent&&t instanceof r.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(c,"name",{value:e}),c}class tr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class nr extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}(Hn=globalThis).__zod_globalConfig??(Hn.__zod_globalConfig={});var rr=globalThis.__zod_globalConfig;function ir(e){return e&&Object.assign(rr,e),rr}var or={get:function(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,rn,2)),e.message},set:function(e){this._zod.message=e},enumerable:!0,configurable:!0},ar={value:void 0,enumerable:!1},sr=new WeakSet([Object.prototype,Error.prototype]),ur=(e,t)=>{e.name="$ZodError",ar.value=t,Object.defineProperty(e,"issues",ar),ar.value=void 0,Object.defineProperty(e,"message",or);let n=Object.getPrototypeOf(e);sr.has(n)||(sr.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})}}))},lr=er("$ZodError",ur);er("$ZodError",ur,void 0,{Parent:Error});function cr(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||("__proto__"===t?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function dr(e,t){return{callee:t?.callee??e,Err:t?.Err}}var fr=e=>{let t=(n,r,i,o)=>{let a=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},a);if(s instanceof Promise)throw new tr;if(s.issues.length){let n=new(o?.Err??e)(s.issues.map(e=>Fn(e,a,ir())));throw yn(n,o?.callee??t),n}return s.value};return t},pr=e=>{let t=async(n,r,i,o)=>{let a=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},a);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new(o?.Err??e)(s.issues.map(e=>Fn(e,a,ir())));throw yn(n,o?.callee??t),n}return s.value};return t},hr=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},i);if(o instanceof Promise)throw new tr;return o.issues.length?mr(e,o.issues,i):{success:!0,data:o.value}};function mr(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>Fn(e,n,ir()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var yr=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?mr(e,o.issues,i):{success:!0,data:o.value}},vr=Symbol.for("zod.compile.invalid"),gr=Symbol.for("zod.compile.fallback"),wr=(e,t,n)=>{let r=e._zod.bag.validator;if(void 0!==r){if(r(t)!==vr)return!0;if(!0===r.definite&&void 0===n)return!1}return function(e,t,n){let r,i=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun;o?(i[gr]=!0,r=o({value:t,issues:[]},i)):r=e._zod.run({value:t,issues:[]},i);if(r instanceof Promise)throw new tr;return 0===r.issues.length}(e,t,n)};var _r=/^[cC][0-9a-z]{6,}$/,br=/^[0-9a-z]+$/,kr=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,$r=/^[0-9a-vA-V]{20}$/,zr=/^[A-Za-z0-9]{27}$/,Sr=/^[a-zA-Z0-9_-]{21}$/;var Or=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Er=/^([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})$/,xr=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Ir=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Ar=/^(?:(?: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])$/,Pr=/^(([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}|:))$/,Nr=/^((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])$/,jr=/^(([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])$/,Tr=/^https?$/,Zr=/^\+[1-9]\d{6,14}$/,Fr="(?:(?:\\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])))";var Dr=new RegExp(`^${Fr}$`);function Rr(e){return"number"==typeof e.precision?-1===e.precision?"(?:[01]\\d|2[0-3]):[0-5]\\d":0===e.precision?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}var Mr=/^[\s\S]{0,}$/,Cr=/^-?\d+(?:\.\d+)?$/,Ur=/^null$/i,Jr=/^[^A-Z]*$/,Lr=/^[^a-z]*$/,Br=er("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Wr=e=>{let t=e.value;return!(n=t,null==n||void 0===t.length);var n},Kr={number:"number",bigint:"bigint",object:"date"},Vr=er("$ZodCheckLessThan",(e,t)=>{Br.init(e,t);let n=Kr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Kr[typeof r.value]??n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Gr=er("$ZodCheckGreaterThan",(e,t)=>{Br.init(e,t);let n=Kr[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Kr[typeof r.value]??n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),qr=er("$ZodCheckMultipleOf",(e,t)=>{Br.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?t.value===BigInt(0)||n.value%t.value!==BigInt(0):0!==function(e,t){let n=e/t,r=Math.round(n),i=4*Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Hr=er("$ZodCheckNumberFormat",(e,t)=>{Br.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[i,o]=On[t.format];e._zod.check=a=>{let s=a.value;if(n){if(!Number.isInteger(s))return void a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}))}s<i&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>o&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),Yr=er("$ZodCheckMaxLength",(e,t)=>{var n;Br.init(e,t),(n=e._zod.def).when??(n.when=Wr),e._zod.check=n=>{let r=n.value,i=r.length;if(("string"==typeof r&&i>t.maximum?Rn(r):i)<=t.maximum)return;let o=Mn(r);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Xr=er("$ZodCheckMinLength",(e,t)=>{var n;Br.init(e,t),(n=e._zod.def).when??(n.when=Wr),e._zod.check=n=>{let r=n.value,i=r.length;if(("string"==typeof r&&i>=t.minimum&&i<2*t.minimum?Rn(r):i)>=t.minimum)return;let o=Mn(r);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Qr=er("$ZodCheckLengthEquals",(e,t)=>{var n;Br.init(e,t),(n=e._zod.def).when??(n.when=Wr),e._zod.check=n=>{let r=n.value,i=r.length,o="string"==typeof r&&i>=t.length&&i<=2*t.length?Rn(r):i;if(o===t.length)return;let a=Mn(r),s=o>t.length;n.issues.push({origin:a,...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})}}),ei=er("$ZodCheckStringFormat",(e,t)=>{var n,r;Br.init(e,t),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=()=>{})}),ti=er("$ZodCheckRegex",(e,t)=>{ei.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})}}),ni=er("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Jr),ei.init(e,t)}),ri=er("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Lr),ei.init(e,t)}),ii=er("$ZodCheckIncludes",(e,t)=>{Br.init(e,t);let n=kn(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position},}${n}`:n);t.pattern=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})}}),oi=er("$ZodCheckStartsWith",(e,t)=>{Br.init(e,t);let n=new RegExp(`^${kn(t.prefix)}.*`);t.pattern??(t.pattern=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})}}),ai=er("$ZodCheckEndsWith",(e,t)=>{Br.init(e,t);let n=new RegExp(`.*${kn(t.suffix)}$`);t.pattern??(t.pattern=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})}}),si=er("$ZodCheckOverwrite",(e,t)=>{Br.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});class ui{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{this.indent-=1}}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});let t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+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("\n")}\n};`)(...Object.values(this.closed))}}var li={major:4,minor:6,patch:5},ci=er("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=li;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(0===i.length)(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,o=Pn(t);for(let a of n){if(a._zod.def.when){if(Nn(t))continue;if(!a._zod.def.when(t))continue}else if(o)continue;let n=t.issues.length,s=a._zod.check(t);if(s instanceof Promise&&!1===r?.async)throw new tr;if(i||s instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Zn(t.issues,n,e),o||(o=Pn(t,n)))});else{if(t.issues.length===n)continue;Zn(t.issues,n,e),o||(o=Pn(t,n))}}return i?i.then(()=>t):t},n=(n,r,o)=>{if(Pn(n))return n.aborted=!0,n;let a=t(r,i,o);if(a instanceof Promise){if(!1===o.async)throw new tr;return a.then(t=>e._zod.parse(t,o))}return e._zod.parse(a,o)};e._zod.run=(r,o)=>{if(o.skipChecks)return e._zod.parse(r,o);if("backward"===o.direction){let t=e._zod.parse({value:r.value,issues:[]},{...o,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,o)):n(t,r,o)}let a=e._zod.parse(r,o);if(a instanceof Promise){if(!1===o.async)throw new tr;return a.then(e=>t(e,i,o))}return t(a,i,o)}}},{get"~standard"(){return Jn(this,"~standard",fi(this))},set"~standard"(e){Un(this,"~standard",e)}}),di=(e,t)=>e.issues.length?{issues:e.issues.map(e=>Fn(e,t,ir()))}:{value:e.value};function fi(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return di(r,n)}catch(e){}return async function(e,t){let n={async:!0};return di(await e._zod.run({value:t,issues:[]},n),n)}(e,t)},vendor:"zod",version:1}}var pi=er("$ZodString",(e,t)=>{ci.init(e,t),e._zod.pattern=t.pattern??Mr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),hi=er("$ZodStringFormat",(e,t)=>{ei.init(e,t),pi.init(e,t)}),mi=er("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Er),hi.init(e,t)}),yi=er("$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(void 0===e)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=xr(e))}else t.pattern??(t.pattern=xr());hi.init(e,t)}),vi=er("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ir),hi.init(e,t)});function gi(e){try{return typeof URL<"u"&&"function"==typeof URL.canParse?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function wi(e,t){return"normalize"in t||"hostname"in t||"protocol"in t?function(e,t){if(!t.normalize&&t.protocol?.source===Tr.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<"u"){let t=URL;if("function"==typeof t.parse)return t.parse(e)??2}return new URL(e)}catch{return 2}}(e,t):gi(e)||2}var _i=/[\t\n\r]/g;function bi(e){return e.replace(_i,"")}var ki=er("$ZodURL",(e,t)=>{hi.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=wi(r,t);return 1===i?void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort}):2===i?void n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort}):!0===i?void(n.value=bi(r)):(t.hostname&&!function(e,t){return t.lastIndex=0,t.test(e.hostname)}(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&&!function(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}(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}),void(n.value=t.normalize?i.href:bi(r)))}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),$i=er("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$","u")),hi.init(e,t)}),zi=er("$ZodNanoID",(e,t)=>{if(void 0!==t.length&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);var n;t.pattern??(t.pattern=void 0===t.length?Sr:(n=t.length,new RegExp(`^[a-zA-Z0-9_-]{${n}}$`))),hi.init(e,t)}),Si=er("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=_r),hi.init(e,t)}),Oi=er("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=br),hi.init(e,t)}),Ei=er("$ZodULID",(e,t)=>{t.pattern??(t.pattern=kr),hi.init(e,t)}),xi=er("$ZodXID",(e,t)=>{t.pattern??(t.pattern=$r),hi.init(e,t)}),Ii=er("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=zr),hi.init(e,t)}),Ai=er("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${Rr({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,r=e.local?`${n}|${Rr({precision:e.precision})}`:n;return new RegExp(`^${Fr}T(?:${r})$`)}(t)),hi.init(e,t)}),Pi=er("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Dr),hi.init(e,t)}),Ni=er("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${Rr(t)}$`)),hi.init(e,t)}),ji=er("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Or),hi.init(e,t)}),Ti=er("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Ar),hi.init(e,t)}),Zi=/^[0-9a-fA-F:.]+$/;function Fi(e){return!!Zi.test(e)&&gi(`http://[${e}]`)}var Di=er("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Pr),hi.init(e,t),e._zod.check=n=>{Fi(n.value)||n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}),Ri=er("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Nr),hi.init(e,t)});var Mi=er("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=jr),hi.init(e,t),e._zod.check=n=>{(function(e){let t=e.split("/");if(2!==t.length)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`===r&&!(i<0||i>128)&&Fi(n)})(n.value)||n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}});function Ci(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Ui=/^[0-9a-zA-Z+/]*={0,2}$/,Ji=er("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Ui),hi.init(e,t),e._zod.check=n=>{Ci(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}}),Li=/^[A-Za-z0-9_-]*$/;var Bi=er("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Li),hi.init(e,t),e._zod.check=n=>{(function(e){if(!Li.test(e))return!1;let t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Ci(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Wi=er("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Zr),hi.init(e,t)});var Ki=er("$ZodJWT",(e,t)=>{hi.init(e,t),e._zod.check=n=>{(function(e,t=null){try{let n=e.split(".");if(3!==n.length)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!("typ"in i&&"JWT"!==i?.typ||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Vi=er("$ZodNumber",(e,t)=>{ci.init(e,t),e._zod.pattern=Cr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}let i=n.value;if("number"==typeof i&&!Number.isNaN(i)&&Number.isFinite(i))return n;let o="number"==typeof i?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,...o?{received:o}:{}}),n}}),Gi=er("$ZodNumberFormat",(e,t)=>{Hr.init(e,t),Vi.init(e,t)}),qi=er("$ZodNull",(e,t)=>{ci.init(e,t),e._zod.pattern=Ur,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return null===r||t.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),t}}),Hi=er("$ZodUnknown",(e,t)=>{ci.init(e,t),e._zod.parse=e=>e}),Yi=er("$ZodNever",(e,t)=>{ci.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Xi(e,t,n){e.issues.length&&t.issues.push(...jn(n,e.issues)),t.value[n]=e.value}var Qi=er("$ZodArray",(e,t)=>{ci.init(e,t);let n=rr.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=n?n.alloc(e,r,Array(o.length),i):Array(o.length);let a=[],s=i?.abortEarly;for(let e=0;e<o.length;e++){let n=o[e],u=t.element._zod.run({value:n,issues:[]},i);if(u instanceof Promise)a.push(u.then(t=>Xi(t,r,e)));else if(Xi(u,r,e),s&&0!==u.issues.length&&Pn(u))break}return a.length?Promise.all(a).then(()=>r):r}});function eo(e,t,n,r,i,o){let a=n in r,s="optional"===o;if(a||!s||"optional"!==i){if(e.issues.length){if(void 0!==i&&s&&!a)return;t.issues.push(...jn(n,e.issues))}a||void 0!==i?void 0===e.value?(a||"defaulted"===i&&!s)&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}}var to=[];function no(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:to,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 o=(a=e.shape,Object.keys(a).filter(e=>void 0!==a[e]._zod.optin&&"optional"===a[e]._zod.optout));var a;return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(o)}}function ro(e,t,n,r,i,o,a){let s=[],u=i.keySet,l=i.catchall._zod,c=l.def.type,{optin:d,optout:f}=l,p=0;for(let i in t){if(a&&n.issues.length!==p){if(Pn(n,p))break;p=n.issues.length}if(u.has(i))continue;if("__proto__"===i){"never"===c&&s.push(i);continue}if("never"===c){s.push(i);continue}let o=l.run({value:t[i],issues:[]},r);o instanceof Promise?e.push(o.then(e=>eo(e,n,i,t,d,f))):eo(o,n,i,t,d,f)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var io=er("$ZodObject",(e,t)=>{ci.init(e,t);let n=Object.getOwnPropertyDescriptor(t,"shape"),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=an(()=>no(t));Gn(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)||un(n,e,new Set);for(let t of r.values)n[e].add(t);void 0!==r.optin&&n[e].add(void 0)}}return n});let o,a=vn,s=t.catchall,u=rr.memoizer;u?.attach(e),e._zod.parse=(t,n)=>{o??(o=i.value);let r=t.value;if(!a(r))return t.issues.push({expected:"object",code:"invalid_type",input:r,inst:e}),t;t.value=u?u.alloc(e,t,{},n):{};let l=[],c=o.shape,d=n?.abortEarly,f=t.issues.length;for(let e of o.allKeys){if(d&&t.issues.length!==f){if(Pn(t,f))break;f=t.issues.length}if("__proto__"===e)continue;let i=c[e],o=i._zod.optin,a=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>eo(n,t,e,r,o,a))):eo(s,t,e,r,o,a)}return s?ro(l,r,t,n,i.value,e,!0===d):l.length?Promise.all(l).then(()=>t):t}}),oo=er("$ZodObjectJIT",(e,t)=>{io.init(e,t);let n,r,i=e._zod.parse,o=an(()=>no(t)),a=rr.memoizer,s=vn,u=!rr.jitless,l=u&&gn.value,c=t.catchall;e._zod.parse=(d,f)=>{r??(r=o.value);let p=d.value;return s(p)?u&&l&&!1===f?.async&&!0!==f.jitless?(n||(n=(t=>{let n=o.value,r=n.symbolKeys,i=new ui(["payload","ctx"],{shape:t,inst:e,memo:a,syms:r}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,u=(e,t)=>`\n let ${e}_ab = false;\n for (let i = 0; i < ${e}.issues.length; i++) {\n const iss = ${e}.issues[i];\n iss.path = iss.path ? [${t}, ...iss.path] : [${t}];\n payload.issues.push(iss);\n if (iss.continue !== true) ${e}_ab = true;\n }\n if (${e}_ab && ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }`;i.write("const input = payload.value;");let l=Object.create(null),c=0;for(let e of n.allKeys)l[e]="key_"+c++;i.write(a?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let e of n.allKeys){if("__proto__"===e)continue;let n=l[e],o="symbol"==typeof e?`syms[${r.indexOf(e)}]`:mn(e),a=`${o} in input`,c=t[e],d=c?._zod?.optin,f=void 0!==d,p="optional"===c?._zod?.optout;if(i.write(`const ${n} = ${s(o)};`),f&&p){let e="optional"===d?`${n}_present`:`${n}.value !== undefined || ${n}_present`;i.write(`\n const ${n}_present = ${a};\n if (!${n}.issues.length || ${n}_present) {\n if (${n}.issues.length) {${u(n,o)}\n }\n\n if (${e}) {\n newResult[${o}] = ${n}.value;\n }\n }\n\n `)}else f?(i.write(`\n if (${n}.issues.length) {${u(n,o)}\n }\n `),"defaulted"===d?i.write(`newResult[${o}] = ${n}.value;`):i.write(`\n if (${n}.value !== undefined || ${a}) {\n newResult[${o}] = ${n}.value;\n }\n `)):i.write(`\n const ${n}_present = ${a};\n if (${n}.issues.length) {${u(n,o)}\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${o}]\n });\n if (ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }\n }\n\n if (${n}_present) {\n newResult[${o}] = ${n}.value;\n }\n\n `)}return i.write("payload.value = newResult;"),i.write("return payload;"),i.compile()})(t.shape)),d=n(d,f),c?ro([],p,d,f,r,e,!0===f?.abortEarly):d):i(d,f):(d.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),d)}});function ao(e,t,n,r){for(let n of e)if(0===n.issues.length)return t.value=n.value,t;let i=e.filter(e=>!Pn(e));return 1===i.length?(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=>Fn(e,r,ir())))}),t)}var so=er("$ZodUnion",(e,t)=>{ci.init(e,t),Gn(e,"optin",e=>e.def.options.some(e=>"defaulted"===e._zod.optin)?"defaulted":e.def.options.some(e=>void 0!==e._zod.optin)?"optional":void 0),Gn(e,"optout",e=>e.def.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),Gn(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)))}),Gn(e,"pattern",e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return new RegExp(`^(${t.map(e=>sn(e.source)).join("|")})$`)}});let n=1===t.options.length?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let o=!1,a=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)a.push(t),o=!0;else{if(0===t.issues.length)return t;a.push(t)}}return o?Promise.all(a).then(t=>ao(t,r,e,i)):ao(a,r,e,i)}}),uo=er("$ZodIntersection",(e,t)=>{ci.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),o=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||o instanceof Promise?Promise.all([i,o]).then(([t,n])=>co(e,t,n)):co(e,i,o)}});function lo(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(wn(e)&&wn(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>-1!==n.indexOf(e)),i={...e,...t};Object.prototype.hasOwnProperty.call(i,"__proto__")&&delete i.__proto__;for(let n of r){if("__proto__"===n)continue;let r=lo(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=lo(e[r],t[r]);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function co(e,t,n){let r,i=new Map,o=new Map,a=(e,t)=>{let n;if("unrecognized_keys"!==e.code||e.path?.length){if("invalid_key"!==e.code||"record"!==e.origin||1!==e.path?.length)return!1;{let t=String(e.path[0]);o.has(t)||o.set(t,e),n=[t]}}else r??(r=e),n=e.keys;for(let e of n)i.has(e)||i.set(e,{}),i.get(e)[t]=!0;return!0};for(let n of t.issues)a(n,"l")||e.issues.push(n);for(let t of n.issues)a(t,"r")||e.issues.push(t);let s=[...i].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=r?s.filter(e=>r.keys.includes(e)):[];t.length&&e.issues.push({...r,keys:t});for(let n of s)!t.includes(n)&&o.has(n)&&e.issues.push(o.get(n))}let u=lo(t.value,n.value);if(!u.valid){if(Pn(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(u.mergeErrorPath)}`)}return e.value=u.data,e}var fo=er("$ZodEnum",(e,t)=>{ci.init(e,t);let n=tn(t.entries),r=new Set(n);e._zod.values=r,Gn(e,"pattern",e=>{let t=tn(e.def.entries).filter(e=>bn.has(typeof e));return new RegExp(t.length?`^(${t.map(e=>kn(e.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(t,i)=>{let o=t.value;return r.has(o)||t.issues.push({code:"invalid_value",values:n,input:o,inst:e}),t}}),po=er("$ZodLiteral",(e,t)=>{ci.init(e,t);let n=new Set(t.values);e._zod.values=n,Gn(e,"pattern",e=>{let t=e.def.values;return new RegExp(t.length?`^(${t.map(e=>"string"==typeof e?kn(e):e?kn(e.toString()):String(e)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(r,i)=>{let o=r.value;return n.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}}),ho=er("$ZodTransform",(e,t)=>{ci.init(e,t),e._zod.optin="optional",rr.memoizer?.guard(e),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new nr(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 tr;return n.value=i,n}});function mo(e,t){return e.value=t.issues.length?void 0:t.value,e}var yo=er("$ZodOptional",(e,t)=>{ci.init(e,t),Gn(e,"optin",e=>"defaulted"===e.def.innerType._zod.optin?"defaulted":"optional"),e._zod.optout="optional",Gn(e,"values",e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),Gn(e,"pattern",e=>{let t=e.def.innerType._zod.pattern;return t?new RegExp(`^(${sn(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(void 0===e.value){if("defaulted"!==t.innerType._zod.optin)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>mo(e,t)):mo(e,r)}return t.innerType._zod.run(e,n)}}),vo=er("$ZodExactOptional",(e,t)=>{yo.init(e,t),Gn(e,"values",e=>e.def.innerType._zod.values),Gn(e,"pattern",e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),go=er("$ZodNullable",(e,t)=>{ci.init(e,t),Gn(e,"optin",e=>e.def.innerType._zod.optin),Gn(e,"optout",e=>e.def.innerType._zod.optout),Gn(e,"pattern",e=>{let t=e.def.innerType._zod.pattern;return t?new RegExp(`^(${sn(t.source)}|null)$`):void 0}),Gn(e,"values",e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),wo=er("$ZodDefault",(e,t)=>{ci.init(e,t),e._zod.optin="defaulted",Gn(e,"values",e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>_o(e,t)):_o(r,t)}});function _o(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var bo=er("$ZodPrefault",(e,t)=>{ci.init(e,t),e._zod.optin="defaulted",Gn(e,"values",e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),ko=er("$ZodNonOptional",(e,t)=>{ci.init(e,t),Gn(e,"values",e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>$o(t,e)):$o(i,e)}});function $o(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function zo(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>Fn(e,r,ir()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var So=er("$ZodCatch",(e,t)=>{ci.init(e,t),Gn(e,"optin",e=>"defaulted"===e.def.innerType._zod.optin?"defaulted":"optional"),Gn(e,"optout",e=>e.def.innerType._zod.optout),Gn(e,"values",e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)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=>zo(e,r,t,n)):zo(e,r,t,n)}}),Oo=er("$ZodPipe",(e,t)=>{ci.init(e,t),Gn(e,"values",e=>e.def.in._zod.values),Gn(e,"optin",e=>e.def.in._zod.optin),Gn(e,"optout",e=>e.def.out._zod.optout),Gn(e,"propValues",e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Eo(e,t.in,n)):Eo(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Eo(e,t.out,n)):Eo(r,t.out,n)}});function Eo(e,t,n){return e.issues.some(e=>"unrecognized_keys"!==e.code)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var xo=er("$ZodReadonly",(e,t)=>{ci.init(e,t),Gn(e,"propValues",e=>e.def.innerType._zod.propValues),Gn(e,"values",e=>e.def.innerType._zod.values),Gn(e,"optin",e=>e.def.innerType?._zod?.optin),Gn(e,"optout",e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Io):Io(r)}});function Io(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Ao=er("$ZodCustom",(e,t)=>{Br.init(e,t),ci.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=>Po(t,n,r,e));Po(i,n,r,e)}});function Po(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(Cn(e))}}class No extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}}var jo="~memo",To=[];function Zo(e){return null!==e&&"object"==typeof e}function Fo(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var Do=new WeakMap;function Ro(e,t,n){let r=Do.get(e);if(void 0!==r)return r?2:0;if(t.has(e))return 2;t.add(e);let i=0,o=e=>{if(2!==i&&e?._zod){let r=Ro(e,t,n);r>i&&(i=r)}},a=e=>{e>i&&(i=e)},s=e._zod.def;switch(s.type){case"object":{let e=ln(s);a(e?((e,r)=>{let i=0;for(let o of Reflect.ownKeys(e)){let a=Object.getOwnPropertyDescriptor(e,o);if(r&&!a.enumerable)continue;let s=a.get?1:a.value?._zod?Ro(a.value,t,n):0;s>i&&(i=s)}return i})(e,!0):1),o(s.catchall);break}case"array":o(s.element);break;case"tuple":for(let e of s.items)o(e);o(s.rest);break;case"record":case"map":o(s.keyType),o(s.valueType);break;case"set":o(s.valueType);break;case"union":for(let e of s.options)o(e);break;case"intersection":o(s.left),o(s.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":o(s.innerType);break;case"pipe":o(s.in),o(s.out);break;case"function":o(s.input),o(s.output);break;case"lazy":{let r=s._cachedInner??(n?e._zod.innerType:void 0);a(r?Ro(r,t,!1):1);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let e in s){let t=Object.getOwnPropertyDescriptor(s,e);if(!t||t.get)continue;let n=t.value;if(n&&"object"==typeof n)if(n._zod)o(n);else if(Array.isArray(n))for(let e of n)o(e)}}return t.delete(e),function(e,t){1!==t&&Do.set(e,2===t);return t}(e,i)}var Mo,Co=[],Uo={alloc(e,t,n){let r=Mo;if(!r)return n;Mo=void 0;let i={value:n,issues:null};return r.set(t.value,i),Co.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("backward"!==n.direction&&function(e,t){let n=e[jo]?.backEdges;return void 0!==n&&Zo(t)&&n.has(t)}(n,e.value))throw new No;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r,i,o=!1;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,a=(s,u)=>{if(void 0===n){let r=Ro(e,new Set,!1);if(0===r)return e._zod.parse=t,e._zod.run===a&&(e._zod.run=t),t(s,u);2===r||o?n=!0:o=!0}let l=s.value;if(!Zo(l))return t(s,u);let c,d=u[jo];d||(d={buckets:new WeakMap,backEdges:void 0},u[jo]=d),r===u?c=i:(c=function(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}(d,e),r=u,i=c);let f=c.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...Fo(f.issues)):(s.memo=!0,d.backEdges??(d.backEdges=new WeakSet),d.backEdges.add(f.value)),s;Mo=c;let p=Co.length,h=t(s,u);Mo=void 0;let m=Co.length>p?Co.pop():void 0;return h instanceof Promise?h.then(e=>(m&&(m.issues=e.issues.length?Fo(e.issues):To),e)):(m&&(m.issues=h.issues.length?Fo(h.issues):To),h)};e._zod.parse=a,e._zod.run===t&&(e._zod.run=a)})}};var Jo,Lo=()=>{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",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};function i(e,t){return"number"!==e||"number"!=typeof t||Number.isFinite(t)?r[e]??e:String(t)}return e=>{switch(e.code){case"invalid_type":return`Invalid input: expected ${i(e.expected)}, received ${i(function(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(null===e)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}(e.input),e.input)}`;case"invalid_value":return 1===e.values.length?`Invalid input: expected ${Sn(e.values[0])}`:`Invalid option: expected one of ${nn(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"starts_with"===t.format?`Invalid string: must start with "${t.prefix}"`:"ends_with"===t.format?`Invalid string: must end with "${t.suffix}"`:"includes"===t.format?`Invalid string: must include "${t.includes}"`:"regex"===t.format?`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":""}: ${nn(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(" | ")}`:!1===e.inclusive?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${e.origin}`;default:return"Invalid input"}}};class Bo{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"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&&"object"==typeof t&&"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)}}(Jo=globalThis).__zod_globalRegistry??(Jo.__zod_globalRegistry=new Bo);var Wo=globalThis.__zod_globalRegistry;function Ko(e){return e.checks&&(e.checks=[...e.checks]),e}function Vo(e,t){return new Vr({check:"less_than",...zn(t),value:e,inclusive:!1})}function Go(e,t){return new Vr({check:"less_than",...zn(t),value:e,inclusive:!0})}function qo(e,t){return new Gr({check:"greater_than",...zn(t),value:e,inclusive:!1})}function Ho(e,t){return new Gr({check:"greater_than",...zn(t),value:e,inclusive:!0})}function Yo(e,t){return new qr({check:"multiple_of",...zn(t),value:e})}function Xo(e,t){return new Yr({check:"max_length",...zn(t),maximum:e})}function Qo(e,t){return new Xr({check:"min_length",...zn(t),minimum:e})}function ea(e,t){return new Qr({check:"length_equals",...zn(t),length:e})}function ta(e){return new si({check:"overwrite",tx:e})}function na(e,t){let n=function(e,t){let n=new Br({check:"custom",...zn(t)});return n._zod.check=e,n}(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(Cn(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),"input"in r||(r.input=t.value),r.inst??(r.inst=n),r.continue??(r.continue=!n._zod.def.abort),t.issues.push(Cn(r))}},e(t.value,t)),t);return n}function ra(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&un(e,t,n[t]);return e}function ia(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Wo,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:[],deferred:[],external:e?.external??void 0}}function oa(e,t,n,r,i){let o="function"==typeof t.unrepresentable?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if("any"===o)return!1;if(void 0===o||"throw"===o)throw Error(i);return Object.assign(n,o),!0}function aa(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,o=t.seen.get(e);if(o)return o.count++,n.schemaPath.includes(e)&&(o.cycle=n.path),o.schema;let a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,r);else{let n=a.schema,o=t.processors[i.type];if(!o)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);o(e,t,n,r)}let o=e._zod.parent;o&&(a.ref||(a.ref=o),aa(o,t,r),t.seen.get(o).isParent=!0)}let u=t.metadataRegistry.get(e);return u&&ra(a.schema,u),"input"===t.io&&ya(e)&&(delete a.schema.examples,delete a.schema.default),"input"===t.io&&"_prefault"in a.schema&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function sa(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function ua(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=>{if(t[1].schema.$ref)return;let r=t[1],{ref:i,defId:o}=(t=>{let r="draft-2020-12"===e.target?"$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 o=t[1].defId??t[1].schema.id??"schema"+e.counter++;return t[1].defId=o,{defId:o,ref:`${i("__shared")}#/${r}/${sa(o)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:"#"};let o=t[1].schema.id??"__schema"+e.counter++;return{defId:o,ref:i+sa(o)}})(t);r.def={...r.schema},o&&(r.defId=o);let a=r.schema;for(let e in a)delete a[e];a.$ref=i};if("throw"===e.cycles)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet 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]){if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){i(n);continue}}(e.metadataRegistry.get(n[0])?.id||r.cycle||r.count>1&&"ref"===e.reused)&&i(n)}else i(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function la(e){let t=e.anyOf;if(!Array.isArray(t)||0===t.length||void 0!==e.type)return;let n=[];for(let e of t){if(!e||"object"!=typeof e)return;la(e);let t=Object.keys(e);if(1!==t.length||"type"!==t[0])return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if("string"!=typeof e)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=1===n.length?n[0]:n}var ca=new Set(["type","properties","required","additionalProperties"]),da=["oneOf","anyOf"];function fa(e){let t=e.additionalProperties;return void 0===t||!1===t||"object"!=typeof t||null===t?null:Object.keys(t).length?t:null}function pa(e){let t=[];for(let n of e){if("object"!=typeof n||"object"!==n.type)return null;for(let e in n)if(!ca.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]??fa(n);null!=t&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}un(n,r,1===e.length?e[0]:pa(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=>!1===e.additionalProperties))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=fa(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}1===e.length?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function ha(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ca)if(t in e)return;let n=t.filter(e=>da.some(t=>Array.isArray(e[t]))),r=null;if(n.length){let e=n[0],i=da.find(t=>Array.isArray(e[t]));if(1!==Object.keys(e).length)return;let o=t.filter(t=>t!==e),a=e[i].map(e=>pa([...o,e]));if(a.some(e=>!e))return;r={[i]:a}}else r=pa(t);r&&(delete e.allOf,ra(e,r))}function ma(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(null===n.ref)return;let i=n.def??n.schema,o={...i},a=n.ref;if(n.ref=null,a){r(a);let n=e.seen.get(a),s=n.schema;if(!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?ra(i,s):(i.allOf=i.allOf??[],i.allOf.push(s)),ra(i,o),t._zod.parent===a)for(let e in i)"$ref"!==e&&"allOf"!==e&&(e in o||delete i[e]);if(s.$ref&&n.def)for(let e in i)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==a){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)"$ref"!==e&&"allOf"!==e&&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("openapi-3.0"!==e.target)for(let t of e.seen.entries())la(t[1].def??t[1].schema);for(let t of e.deferred)t();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)??[])ha(e)}}let i={};if("draft-2020-12"===e.target?i.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?i.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?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)}ra(i,n.defId?n.schema:n.def??n.schema);let o=e.metadataRegistry.get(t)?.id;void 0!==o&&i.id===o&&delete i.id;let a=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,un(a,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(a).length>0&&("draft-2020-12"===e.target?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:va(t,"input",e.processors),output:va(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(e){throw Error("Error converting schema to JSON.")}}function ya(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("transform"===r.type)return!0;if("array"===r.type)return ya(r.element,n);if("set"===r.type)return ya(r.valueType,n);if("lazy"===r.type)return ya(r.getter(),n);if("promise"===r.type||"optional"===r.type||"nonoptional"===r.type||"nullable"===r.type||"readonly"===r.type||"default"===r.type||"prefault"===r.type||"catch"===r.type)return ya(r.innerType,n);if("intersection"===r.type)return ya(r.left,n)||ya(r.right,n);if("record"===r.type||"map"===r.type)return ya(r.keyType,n)||ya(r.valueType,n);if("pipe"===r.type)return!!e._zod.traits.has("$ZodCodec")||(ya(r.in,n)||ya(r.out,n));if("object"===r.type){for(let e in r.shape)if(ya(r.shape[e],n))return!0;return!1}if("union"===r.type){for(let e of r.options)if(ya(e,n))return!0;return!1}if("tuple"===r.type){for(let e of r.items)if(ya(e,n))return!0;return!(!r.rest||!ya(r.rest,n))}return!1}var va=(e,t,n={})=>r=>{let{libraryOptions:i,target:o}=r??{},a=ia({...i??{},target:o,io:t,processors:n});return aa(e,a),ua(a,e),ma(a,e)},ga=(e,t,n)=>{(void 0===e[t]||n>e[t])&&(e[t]=n)},wa=(e,t,n)=>{(void 0===e[t]||n<e[t])&&(e[t]=n)},_a=(e,t)=>{ga(e,"minimum",t),wa(e,"maximum",t)},ba=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},ka=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},$a=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},za=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},Sa=(e,t)=>ga(e,"minimum",t.minimum),Oa=(e,t)=>wa(e,"maximum",t.maximum),Ea=e=>(t,n)=>{za(t,n.format);let[r,i]=e[n.format];ga(t,"minimum",r),wa(t,"maximum",i)},xa={greater_than:(e,t)=>ga(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>wa(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>ba(e,t.value),number_format:Ea(On),bigint_format:Ea(En),min_length:Sa,max_length:Oa,length_equals:(e,t)=>_a(e,t.length),min_size:Sa,max_size:Oa,size_equals:(e,t)=>_a(e,t.size),string_format:(e,t)=>{za(e,t.format),t.pattern&&ka(e,t.pattern),"base64"!==t.format&&"base64url"!==t.format||(e.contentEncoding=t.format),(t.local||-1===t.precision)&&(e.laxFormat=!0)},mime_type:(e,t)=>$a(e,t.mime)};function Ia(e){let t={},n=e._zod.def,r=e._zod.traits.has("$ZodCheck")?[e,...n.checks??[]]:n.checks??[];for(let e of r)xa[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;void 0!==i.minimum&&ga(t,"minimum",i.minimum),void 0!==i.exclusiveMinimum&&ga(t,"exclusiveMinimum",i.exclusiveMinimum),void 0!==i.maximum&&wa(t,"maximum",i.maximum),void 0!==i.exclusiveMaximum&&wa(t,"exclusiveMaximum",i.exclusiveMaximum),void 0!==i.multipleOf&&ba(t,i.multipleOf),void 0!==i.format&&(t.format??(t.format=i.format),i.format.includes("int")&&(t.isInt=!0)),i.mime&&$a(t,i.mime);for(let e of i.patterns??[])ka(t,e);return t}var Aa={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Pa=new Map([[Ui,/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/],[Li,/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/]]),Na=e=>Pa.get(e)??e;function ja(e){let t=e._zod.def;return"pipe"===t.type&&t.in._zod.traits.has("$ZodTransform")?ja(t.out):"catch"===t.type?ja(t.innerType):e._zod.optin}var Ta=Symbol();function Za(e,t,n,r,i){let o=!1,a=JSON.stringify(e,(e,t)=>"bigint"!=typeof t?t:(o=!0,null));return o?(oa(t,n,r,i,"BigInt defaults cannot be represented in JSON Schema"),Ta):JSON.parse(a)}var Fa=(e,t,n,r)=>{let i=e._zod.def;aa(i.innerType,t,r),t.seen.get(e).ref=i.innerType},Da=new WeakSet([Object.prototype,Error.prototype]);function Ra(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})}})}var Ma,Ca=er("ZodError",(e,t)=>{lr.init(e,t),e.name="ZodError";let n=Object.getPrototypeOf(e);Da.has(n)||(Da.add(n),Ra(n,"format",e=>t=>function(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let o of e.issues)if("invalid_union"===o.code&&o.errors.length)o.errors.map(e=>r({issues:e},[...i,...o.path]));else if("invalid_key"===o.code)r({issues:o.issues},[...i,...o.path]);else if("invalid_element"===o.code)r({issues:o.issues},[...i,...o.path]);else{let e=[...i,...o.path];if(0===e.length)n._errors.push(t(o));else{let r=n,i=0;for(;i<e.length;){let n=e[i],a=i===e.length-1;if("_errors"===n){a&&r._errors.push(t(o)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];a&&s._errors.push(t(o)),r=s,i++}}}};return r(e),n}(e,t)),Ra(n,"flatten",e=>t=>function(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?cr(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}(e,t)),Ra(n,"addIssue",e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,rn,2)}),Ra(n,"addIssues",e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,rn,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return 0===this.issues.length}}))},void 0,{Parent:Error}),Ua=fr(Ca),Ja=pr(Ca),La=hr(Ca),Ba=yr(Ca),Wa=(e=>{let t=fr(e),n=(e,r,i,o)=>{let a=i?{...i,direction:"backward"}:{direction:"backward"};return t(e,r,a,dr(n,o))};return n})(Ca),Ka=(e=>{let t=fr(e),n=(e,r,i,o)=>t(e,r,i,dr(n,o));return n})(Ca),Va=(e=>{let t=pr(e),n=async(e,r,i,o)=>{let a=i?{...i,direction:"backward"}:{direction:"backward"};return await t(e,r,a,dr(n,o))};return n})(Ca),Ga=(e=>{let t=pr(e),n=async(e,r,i,o)=>await t(e,r,i,dr(n,o));return n})(Ca),qa=(Ma=Ca,(e,t,n)=>{let r=n?{...n,direction:"backward"}:{direction:"backward"};return hr(Ma)(e,t,r)}),Ha=(e=>(t,n,r)=>hr(e)(t,n,r))(Ca),Ya=(e=>async(t,n,r)=>{let i=r?{...r,direction:"backward"}:{direction:"backward"};return yr(e)(t,n,i)})(Ca),Xa=(e=>async(t,n,r)=>yr(e)(t,n,r))(Ca);function Qa(){rr.localeError||ir({localeError:Lo()})}function es(){rr.memoizer||ir({memoizer:Uo})}var ts=er("ZodType",(e,t)=>(Qa(),ci.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(hn(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return $n(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...zn(n)})}(iu,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return na(e,t)}(e,t))},overwrite(e){return this.check(ta(e))},optional(){return Vs(this)},exactOptional(){return new Gs({type:"optional",innerType:this})},nullable(){return Hs(this)},nullish(){return Vs(Hs(this))},nonoptional(e){return function(e,t){return new Qs({type:"nonoptional",innerType:e,...zn(t)})}(this,e)},array(){return function(e,t,n){return new e({type:"array",element:t,...zn(n)})}(Ds,this,e);var e},or(e){return new Cs({type:"union",options:[this,e],...zn(t)});var t},and(e){return new Us({type:"intersection",left:this,right:e})},transform(e){return nu(this,new Ws({type:"transform",transform:e}))},default(e){return t=e,new Ys({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():_n(t)}});var t},prefault(e){return t=e,new Xs({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():_n(t)}});var t},catch(e){return new eu({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:Yn(t)});var t},pipe(e){return nu(this,e)},readonly(){return new ru({type:"readonly",innerType:this})},describe(e){let t=this.clone();return Wo.add(t,{description:e}),t},meta(...e){if(0===e.length)return Wo.get(this);let t=this.clone();return Wo.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return 0===t.length?e(this):e(this,...t)},get"~standard"(){return Jn(this,"~standard",{...fi(this),jsonSchema:{input:va(this,"input"),output:va(this,"output")}})},set"~standard"(e){Un(this,"~standard",e)},parse:function e(t,n){return Ua(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ja(this,t,n,{callee:e})},safeParse(e,t){return La(this,e,t)},async safeParseAsync(e,t){return Ba(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Un(this,"spa",e)},validate(e,t){return wr(this,e,t)},validateAsync(e,t){return(async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),0===i.issues.length})(this,e,t)},encode:function e(t,n){return Wa(this,t,n,{callee:e})},decode:function e(t,n){return Ka(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Va(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Ga(this,t,n,{callee:e})},safeEncode(e,t){return qa(this,e,t)},safeDecode(e,t){return Ha(this,e,t)},async safeEncodeAsync(e,t){return Ya(this,e,t)},async safeDecodeAsync(e,t){return Xa(this,e,t)},toJSONSchema(e){return((e,t={})=>n=>{let r=ia({...n,processors:t});return aa(e,r),ua(r,e),ma(r,e)})(this,{})(e)},get description(){return Wo.get(this)?.description},get _def(){return this._zod.def}}),ns=er("_ZodString",(e,t)=>{pi.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{let r=n;r.type="string";let{minimum:i,maximum:o,format:a,patterns:s,contentEncoding:u,laxFormat:l}=Ia(e);if("number"==typeof i&&(r.minLength=i),"number"==typeof o&&(r.maxLength=o),a&&(r.format=Aa[a]??a,""===r.format&&delete r.format,("time"===a||l)&&delete r.format),u&&(r.contentEncoding=u),s&&s.size>0){let e=[...s].map(Na);1===e.length?r.pattern=e[0].source:e.length>1&&(r.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n)},Ln({format:e=>Ia(e).format??null,minLength:e=>Ia(e).minimum??null,maxLength:e=>Ia(e).maximum??null},{regex(...e){return this.check(function(e,t){return new ti({check:"string_format",format:"regex",...zn(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new ii({check:"string_format",format:"includes",...zn(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new oi({check:"string_format",format:"starts_with",...zn(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new ai({check:"string_format",format:"ends_with",...zn(t),suffix:e})}(...e))},min(...e){return this.check(Qo(...e))},max(...e){return this.check(Xo(...e))},length(...e){return this.check(ea(...e))},nonempty(...e){return this.check(Qo(1,...e))},lowercase(e){return this.check(function(e){return new ni({check:"string_format",format:"lowercase",...zn(e)})}(e))},uppercase(e){return this.check(function(e){return new ri({check:"string_format",format:"uppercase",...zn(e)})}(e))},trim(){return this.check(ta(e=>e.trim()))},normalize(...e){return this.check(function(e){return ta(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(ta(e=>e.toLowerCase()))},toUpperCase(){return this.check(ta(e=>e.toUpperCase()))},slugify(){return this.check(ta(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})),rs=er("ZodString",(e,t)=>{pi.init(e,t),ns.init(e,t)},{email(e){return this.check(function(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...zn(t)})}(cs,e))},url(e){return this.check(function(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...zn(t)})}(ps,e))},jwt(e){return this.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...zn(t)})}(xs,e))},emoji(e){return this.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...zn(t)})}(hs,e))},guid(e){return this.check(function(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...zn(t)})}(ds,e))},uuid(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...zn(t)})}(fs,e))},uuidv4(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...zn(t)})}(fs,e))},uuidv6(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...zn(t)})}(fs,e))},uuidv7(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...zn(t)})}(fs,e))},nanoid(e){return this.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...zn(t)})}(ms,e))},cuid(e){return this.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...zn(t)})}(ys,e))},cuid2(e){return this.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...zn(t)})}(vs,e))},ulid(e){return this.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...zn(t)})}(gs,e))},base64(e){return this.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...zn(t)})}(Ss,e))},base64url(e){return this.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...zn(t)})}(Os,e))},xid(e){return this.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...zn(t)})}(ws,e))},ksuid(e){return this.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...zn(t)})}(_s,e))},ipv4(e){return this.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...zn(t)})}(bs,e))},ipv6(e){return this.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...zn(t)})}(ks,e))},cidrv4(e){return this.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...zn(t)})}($s,e))},cidrv6(e){return this.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...zn(t)})}(zs,e))},e164(e){return this.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...zn(t)})}(Es,e))},datetime(e){return this.check(function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...zn(t)})}(as,e))},date(e){return this.check(function(e,t){return new e({type:"string",format:"date",check:"string_format",...zn(t)})}(ss,e))},time(e){return this.check(function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...zn(t)})}(us,e))},duration(e){return this.check(function(e,t){return new e({type:"string",format:"duration",check:"string_format",...zn(t)})}(ls,e))}});function is(e){return function(e,t){return new e(Ko({type:"string",...zn(t)}))}(rs,e)}var os=er("ZodStringFormat",(e,t)=>{hi.init(e,t),ns.init(e,t)}),as=er("ZodISODateTime",(e,t)=>{Ai.init(e,t),os.init(e,t)}),ss=er("ZodISODate",(e,t)=>{Pi.init(e,t),os.init(e,t)}),us=er("ZodISOTime",(e,t)=>{Ni.init(e,t),os.init(e,t)}),ls=er("ZodISODuration",(e,t)=>{ji.init(e,t),os.init(e,t)}),cs=er("ZodEmail",(e,t)=>{vi.init(e,t),os.init(e,t)}),ds=er("ZodGUID",(e,t)=>{mi.init(e,t),os.init(e,t)}),fs=er("ZodUUID",(e,t)=>{yi.init(e,t),os.init(e,t)}),ps=er("ZodURL",(e,t)=>{ki.init(e,t),os.init(e,t)}),hs=er("ZodEmoji",(e,t)=>{$i.init(e,t),os.init(e,t)}),ms=er("ZodNanoID",(e,t)=>{zi.init(e,t),os.init(e,t)}),ys=er("ZodCUID",(e,t)=>{Si.init(e,t),os.init(e,t)}),vs=er("ZodCUID2",(e,t)=>{Oi.init(e,t),os.init(e,t)}),gs=er("ZodULID",(e,t)=>{Ei.init(e,t),os.init(e,t)}),ws=er("ZodXID",(e,t)=>{xi.init(e,t),os.init(e,t)}),_s=er("ZodKSUID",(e,t)=>{Ii.init(e,t),os.init(e,t)}),bs=er("ZodIPv4",(e,t)=>{Ti.init(e,t),os.init(e,t)}),ks=er("ZodIPv6",(e,t)=>{Di.init(e,t),os.init(e,t)}),$s=er("ZodCIDRv4",(e,t)=>{Ri.init(e,t),os.init(e,t)}),zs=er("ZodCIDRv6",(e,t)=>{Mi.init(e,t),os.init(e,t)}),Ss=er("ZodBase64",(e,t)=>{Ji.init(e,t),os.init(e,t)}),Os=er("ZodBase64URL",(e,t)=>{Bi.init(e,t),os.init(e,t)}),Es=er("ZodE164",(e,t)=>{Wi.init(e,t),os.init(e,t)}),xs=er("ZodJWT",(e,t)=>{Ki.init(e,t),os.init(e,t)}),Is=er("ZodNumber",(e,t)=>{Vi.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=n,{minimum:o,maximum:a,multipleOf:s,exclusiveMaximum:u,exclusiveMinimum:l,isInt:c}=Ia(e);i.type=c?"integer":"number";let d="number"==typeof l&&l>=(o??Number.NEGATIVE_INFINITY),f="number"==typeof u&&u<=(a??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:"number"==typeof o&&(i.minimum=o),f?p?(i.maximum=u,i.exclusiveMaximum=!0):i.exclusiveMaximum=u:"number"==typeof a&&(i.maximum=a),s){let n=new Set;for(let o of s)Number.isFinite(o)&&0!==o?n.add(Math.abs(o)):oa(e,t,i,r,`A multipleOf divisor of ${o} cannot be represented in JSON Schema`);let[o,...a]=n;void 0!==o&&(i.multipleOf=o),a.length&&(i.allOf=[...i.allOf??[],...a.map(e=>({multipleOf:e}))])}})(e,t,n,r),e.isFinite=!0},Ln({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=Ia(e);return Math.max(t??Number.NEGATIVE_INFINITY,n??Number.NEGATIVE_INFINITY)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=Ia(e);return Math.min(t??Number.POSITIVE_INFINITY,n??Number.POSITIVE_INFINITY)},isInt:e=>{let{isInt:t,multipleOf:n}=Ia(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>Ia(e).format??null},{gt(e,t){return this.check(qo(e,t))},gte(e,t){return this.check(Ho(e,t))},min(e,t){return this.check(Ho(e,t))},lt(e,t){return this.check(Vo(e,t))},lte(e,t){return this.check(Go(e,t))},max(e,t){return this.check(Go(e,t))},int(e){return this.check(Ps(e))},safe(e){return this.check(Ps(e))},positive(e){return this.check(qo(0,e))},nonnegative(e){return this.check(Ho(0,e))},negative(e){return this.check(Vo(0,e))},nonpositive(e){return this.check(Go(0,e))},multipleOf(e,t){return this.check(Yo(e,t))},step(e,t){return this.check(Yo(e,t))},finite(){return this}}));var As=er("ZodNumberFormat",(e,t)=>{Gi.init(e,t),Is.init(e,t)});function Ps(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...zn(t)})}(As,e)}var Ns=er("ZodNull",(e,t)=>{qi.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{"openapi-3.0"===t.target?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"})(0,e,t)});var js=er("ZodUnknown",(e,t)=>{Hi.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function Ts(){return new js({type:"unknown"})}var Zs=er("ZodNever",(e,t)=>{Yi.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Fs(e){return function(e,t){return new e({type:"never",...zn(t)})}(Zs,e)}var Ds=er("ZodArray",(e,t)=>{es(),Qi.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=n,o=e._zod.def,{minimum:a,maximum:s}=Ia(e);"number"==typeof a&&(i.minItems=a),"number"==typeof s&&(i.maxItems=s),i.type="array",i.items=aa(o.element,t,{...r,path:[...r.path,"items"]})})(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Qo(e,t))},nonempty(e){return this.check(Qo(1,e))},max(e,t){return this.check(Xo(e,t))},length(e,t){return this.check(ea(e,t))},unwrap(){return this.element}});var Rs=er("ZodObject",(e,t)=>{es(),oo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=n,o=e._zod.def,a=o.shape;if(Object.getOwnPropertySymbols(a).length&&oa(e,t,i,r,"Symbol keys cannot be represented in JSON Schema"))return;i.type="object",i.properties={};for(let e in a)un(i.properties,e,aa(a[e],t,{...r,path:[...r.path,"properties",e]}));let s=[];for(let e of Object.keys(a)){let n=o.shape[e];("input"===t.io?void 0===ja(n):void 0===n._zod.optout)&&s.push(e)}s.length>0&&(i.required=s),"never"===o.catchall?._zod.def.type?i.additionalProperties=!1:o.catchall?o.catchall&&(i.additionalProperties=aa(o.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):"output"===t.io&&(i.additionalProperties=!1)})(e,t,n,r),qn(e,"shape",e=>e._zod.def.shape,!1)},{keyof(){return function(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Js({type:"enum",entries:n,...zn(t)})}(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(hn(this._zod.def,{catchall:e}))},passthrough(){return this.clone(hn(this._zod.def,{catchall:Ts()}))},loose(){return this.clone(hn(this._zod.def,{catchall:Ts()}))},strict(){return this.clone(hn(this._zod.def,{catchall:Fs()}))},strip(){return this.clone(hn(this._zod.def,{catchall:void 0}))},extend(e){return function(e,t){if(!wn(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let n=cn(e);for(let e of Reflect.ownKeys(t))if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return $n(e,hn(e._zod.def,{shape:In(e,t)}))}(this,e)},safeExtend(e){return function(e,t){if(!wn(t))throw Error("Invalid input to safeExtend: expected a plain object");return $n(e,hn(e._zod.def,{shape:In(e,t)}))}(this,e)},merge(e){return function(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.");let n={};return pn(n,e,Reflect.ownKeys(cn(e))),pn(n,t,Reflect.ownKeys(cn(t))),$n(e,hn(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(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");let i={};return pn(i,e,xn(e,t)),$n(e,hn(n,{shape:i,checks:[]}))}(this,e)},omit(e){return function(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");let i=new Set(xn(e,t)),o={};return pn(o,e,Reflect.ownKeys(cn(e)).filter(e=>!i.has(e))),$n(e,hn(n,{shape:o,checks:[]}))}(this,e)},partial(...e){return An(Ks,this,e[0])},exactPartial(...e){return An(Gs,this,e[0],"exactPartial")},required(...e){return function(e,t,n){let r=n?new Set(xn(t,n)):void 0,i={};return pn(i,t,Reflect.ownKeys(cn(t)),(t,n)=>r&&!r.has(n)?t:new e({type:"nonoptional",innerType:t})),$n(t,hn(t._zod.def,{shape:i}))}(Qs,this,e[0])}});function Ms(e,t){let n={type:"object",shape:e??{},...zn(t)};return new Rs(n)}var Cs=er("ZodUnion",(e,t)=>{so.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,o=!1===i.inclusive,a=i.options.map((e,n)=>aa(e,t,{...r,path:[...r.path,o?"oneOf":"anyOf",n]}));o?n.oneOf=a:n.anyOf=a})(e,t,n,r),e.options=t.options});var Us=er("ZodIntersection",(e,t)=>{uo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,o=aa(i.left,t,{...r,path:[...r.path,"allOf",0]}),a=aa(i.right,t,{...r,path:[...r.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length,u=[...s(o)?o.allOf:[o],...s(a)?a.allOf:[a]];n.allOf=u,t.intersections.push(u)})(e,t,n,r)});var Js=er("ZodEnum",(e,t)=>{fo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{let r=tn(e._zod.def.entries);0!==r.length?(r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=r):n.not={}})(e,0,n),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e){if(!n.has(r))throw Error(`Key ${r} not found in enum`);i[r]=t.entries[r]}return new Js({...t,checks:[],...zn(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e){if(!n.has(t))throw Error(`Key ${t} not found in enum`);delete i[t]}return new Js({...t,checks:[],...zn(r),entries:i})}});var Ls=er("ZodLiteral",(e,t)=>{po.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;if(0===i.values.length)return void(n.not={});let o=[];for(let a of i.values)if(void 0===a){if(oa(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if("bigint"==typeof a){if(oa(e,t,n,r,"BigInt literals cannot be represented in JSON Schema"))return;o.push(Number(a))}else o.push(a);if(0===o.length);else if(1===o.length){let e=o[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else o.every(e=>"number"==typeof e)&&(n.type="number"),o.every(e=>"string"==typeof e)&&(n.type="string"),o.every(e=>"boolean"==typeof e)&&(n.type="boolean"),o.every(e=>null===e)&&(n.type="null"),n.enum=o})(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Bs(e,t){return new Ls({type:"literal",values:Array.isArray(e)?e:[e],...zn(t)})}var Ws=er("ZodTransform",(e,t)=>{es(),ho.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{oa(e,t,n,r,"Transforms cannot be represented in JSON Schema")})(e,t,n,r),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new nr(e.constructor.name);n.addIssue=r=>{if("string"==typeof r)n.issues.push(Cn(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),"input"in t||(t.input=n.value),t.inst??(t.inst=e),n.issues.push(Cn(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});var Ks=er("ZodOptional",(e,t)=>{yo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fa(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});function Vs(e){return new Ks({type:"optional",innerType:e})}var Gs=er("ZodExactOptional",(e,t)=>{vo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fa(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var qs=er("ZodNullable",(e,t)=>{go.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,o=aa(i.innerType,t,r),a=t.seen.get(e);"openapi-3.0"===t.target?(a.ref=i.innerType,n.nullable=!0):n.anyOf=[o,{type:"null"}]})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Hs(e){return new qs({type:"nullable",innerType:e})}var Ys=er("ZodDefault",(e,t)=>{wo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;aa(i.innerType,t,r),t.seen.get(e).ref=i.innerType;let o=Za(i.defaultValue,e,t,n,r);o!==Ta&&(n.default=o)})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var Xs=er("ZodPrefault",(e,t)=>{bo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;if(aa(i.innerType,t,r),t.seen.get(e).ref=i.innerType,"input"!==t.io)return;let o=Za(i.defaultValue,e,t,n,r);o!==Ta&&(n._prefault=o)})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var Qs=er("ZodNonOptional",(e,t)=>{ko.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;aa(i.innerType,t,r),t.seen.get(e).ref=i.innerType})(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var eu=er("ZodCatch",(e,t)=>{So.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i,o=e._zod.def;aa(o.innerType,t,r),t.seen.get(e).ref=o.innerType;try{i=o.catchValue(void 0)}catch{return void oa(e,t,n,r,"Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var tu=er("ZodPipe",(e,t)=>{Oo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,o=i.in._zod.traits.has("$ZodTransform"),a="input"===t.io?o?i.out:i.in:i.out;aa(a,t,r),t.seen.get(e).ref=a})(e,t,0,r),e.in=t.in,e.out=t.out});function nu(e,t){return new tu({type:"pipe",in:e,out:t})}var ru=er("ZodReadonly",(e,t)=>{xo.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;aa(i.innerType,t,r),t.seen.get(e).ref=i.innerType,n.readOnly=!0})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var iu=er("ZodCustom",(e,t)=>{Ao.init(e,t),ts.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{oa(e,t,n,r,"Custom types cannot be represented in JSON Schema")})(e,t,n,r)});var ou;Ms({version:Bs(1),runId:is(),attempt:function(e,t){return new e(Ko({type:"number",checks:[],...zn(t)}))}(Is,ou).int().positive(),childExit:Ms({code:Bs(0),signal:function(e){return function(e,t){return new e({type:"null",...zn(t)})}(Ns,e)}()}),timedOut:Bs(!1)}),Ms({version:Bs(1),runId:is(),outcome:Bs("merged"),finishedAt:is(),integrationSha:is()});import{join as au}from"node:path";async function su(e,t={}){let n;try{n=(await N(e)).filter(e=>e.endsWith(".json"))}catch{return{streak:0,fingerprint:"",counts:{merged:0,no_changes:0,failed:0,timed_out:0},pendingCount:0,recentFailureFingerprints:[]}}let r=[];for(let t of n){let n=await lu(au(e,t));void 0!==n&&r.push(n)}r.sort((e,t)=>Date.parse(t.finishedAt)-Date.parse(e.finishedAt));let i=r.slice(0,Math.max(0,t.limit??100)),o={merged:0,no_changes:0,failed:0,timed_out:0};for(let e of i)e.outcome in o&&(o[e.outcome]+=1);let a=[];for(let e of i){if("merged"===e.outcome||"no_changes"===e.outcome)break;"failed"===e.outcome&&a.push(e)}let s=t.now??Date.now(),u=void 0===a[0]?void 0:Date.parse(a[0].finishedAt),l=void 0!==u&&Number.isFinite(u)&&s-u>6048e5,c=(l?[]:a.slice(0,3)).map(uu),d=function(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return[...t].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0]))[0]?.[0]??""}(c),f=i.find(e=>"failed"===e.outcome),p=i.find(e=>"merged"===e.outcome||"no_changes"===e.outcome),h=l?void 0:a.at(-1)?.finishedAt,m=a.flatMap(e=>void 0===e.runId?[]:[e.runId]),y=[...new Set(a.flatMap(e=>void 0===e.launcher?[]:[e.launcher.runtime]))],v=i[0];return{streak:l?0:a.length,fingerprint:d,...void 0===f?{}:{lastFailure:{reason:f.reason??"failed",...void 0===f.detail?{}:{detail:f.detail},finishedAt:f.finishedAt,...void 0===f.launcher?{}:{launcher:f.launcher}}},...void 0===p?{}:{lastSuccessAt:p.finishedAt},...void 0===v?{}:{lastOutcome:{runId:v.runId??"",outcome:v.outcome,...void 0===v.reason?{}:{reason:v.reason},finishedAt:v.finishedAt}},counts:o,pendingCount:i.filter(e=>e.pending).length,recentFailureFingerprints:c,...void 0===h?{}:{streakSinceISO:h},...!0===t.includeStreakRunIds?{streakRunIds:m}:{},...0===y.length?{}:{streakRuntimes:y}}}function uu(e){return en(e.reason,e.detail)}async function lu(e){try{let n=JSON.parse(await P(e,"utf8"));if(!cu(n)||"string"!=typeof n.finishedAt||"merged"!==(t=n.outcome)&&"no_changes"!==t&&"parent_dirty"!==t&&"merge_conflict"!==t&&"dirty_uncommitted"!==t&&"failed"!==t&&"timed_out"!==t)return;let r=cu(n.delivery)?n.delivery:void 0;return{..."string"==typeof n.runId?{runId:n.runId}:{},outcome:n.outcome,..."string"==typeof n.reason?{reason:n.reason}:{},..."string"==typeof n.detail?{detail:n.detail}:{},finishedAt:n.finishedAt,pending:"pending"===r?.status,...du(n.launcher)?{launcher:n.launcher}:{}}}catch{return}var t}function cu(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function du(e){return!(!cu(e)||"string"!=typeof e.runtime||"string"!=typeof e.execPath||!Number.isInteger(e.pid)||Number(e.pid)<=0)&&(void 0===e.sessionId||"string"==typeof e.sessionId)}import{truncateToWidth as fu}from"@earendil-works/pi-tui";var pu=/\battempted:/;["<omo-senpi-task>","Background task results are automatically delivered: an idle session is always woken, and a running turn receives them at its next tool boundary.",'- /tasks shows this session\'s children; task_output is for one midpoint status or transcript peek (mode:"tail" for recent output).',"- task_send always steers a message into the addressed child, while task_cancel ends it.","- Team mail is steered into the recipient's running turn. Use task_send for updates; team mail never queues as editable follow-up work.","If no independent work remains, end your turn.","</omo-senpi-task>"].join("\n");var hu=["--no-skills","--no-prompt-templates","--no-context-files","--list-models"];import{isAbsolute as mu,join as yu,relative as vu}from"node:path";yu("@code-yeongyu","senpi"),yu("dist","cli.js");import{join as gu}from"node:path";async function wu(e,t){let n;try{n=await N(gu(e,t),{withFileTypes:!0})}catch{return[]}let r=[];for(let i of n){let n=""===t?i.name:`${t}/${i.name}`;i.isDirectory()?r.push(...await wu(e,n)):i.isFile()&&i.name.endsWith(".md")&&r.push(n)}return r}async function _u(e){let t=await wu(e,"system"),n=[];for(let r of t){let t=await P(gu(e,r),"utf8"),i=Buffer.byteLength(t,"utf8");n.push({path:r,bytes:i,tokens:Math.ceil(i/4)})}return n.sort((e,t)=>t.tokens-e.tokens||e.path.localeCompare(t.path)),{totalBytes:n.reduce((e,t)=>e+t.bytes,0),totalTokens:n.reduce((e,t)=>e+t.tokens,0),files:n}}function bu(e,t,n="info"){return e.ui?.notify(t,n),t}function ku(e){try{return process.kill(e,0),!0}catch{return!1}}var $u="system/persona.md";async function zu(e,t){let n;try{n=await N(""===t?e:te(e,t),{withFileTypes:!0})}catch{return[]}let r=[];for(let i of n){if(".git"===i.name||""===t&&"skills"===i.name)continue;let n=""===t?i.name:`${t}/${i.name}`;i.isDirectory()?r.push(...await zu(e,n)):i.isFile()&&i.name.endsWith(".md")&&r.push(n)}return r}async function Su(e){let t=(await zu(e,"")).filter(dt),n=[];for(let r of t)try{ut(await P(te(e,r),"utf8"))}catch(e){n.push(`${r} (${e instanceof Error?e.message:String(e)})`)}return[0===n.length?{name:"frontmatter",level:"ok",detail:`${t.length} memory file${1===t.length?"":"s"} valid`}:{name:"frontmatter",level:"fail",detail:`${n.length} invalid file${1===n.length?"":"s"}: ${n.join("; ")}; fix the frontmatter or remove the file`},t.includes($u)?{name:"persona",level:"ok",detail:`${$u} present`}:{name:"persona",level:"warn",detail:`${$u} is missing; create it with /init or the memory tools`}]}async function Ou(e,t){let{repo:n,worktrees:r}=t.identityPaths;if(!Q(te(n,".git")))return{name:"worktrees",level:"ok",detail:"no repository to inspect"};let i=await function(e,t,n){return(e.exec??de()).run(n,{cwd:t,timeoutMs:3e4,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}(e,n,["worktree","list","--porcelain"]);if(0!==i.code)return{name:"worktrees",level:"warn",detail:`could not list worktrees: ${i.stderr.trim()||`exit ${i.code}`}`};let o,a=new Set(i.stdout.split(/\r?\n/).filter(e=>e.startsWith("worktree ")).map(e=>e.slice(9).trim()));try{o=await N(r)}catch{return{name:"worktrees",level:"ok",detail:"no reflection worktrees"}}let s=o.map(e=>te(r,e)).filter(e=>!a.has(e)),u=[...a].filter(e=>e.startsWith(`${r}/`)&&!Q(e)),l=[...s.map(e=>`${e} (not registered with git)`),...u.map(e=>`${e} (registered but missing; run git worktree prune)`)];return 0===l.length?{name:"worktrees",level:"ok",detail:"no orphaned worktrees"}:{name:"worktrees",level:"warn",detail:`${l.length} orphan${1===l.length?"":"s"}: ${l.join("; ")}`}}async function Eu(e,t={}){let n=await su(te(e,"completions"),{now:t.now??Date.now()}),r=n.lastSuccessAt??"never";if(0===n.streak&&0===n.pendingCount)return{name:"reflection-health",level:"ok",detail:`streak 0; pending 0; last success ${r}`};let i=n.lastFailure,o=function(e,t){if(function(e){return!0===e?.startsWith("model_unreachable_with_extensions")}(t))return"no memory child can see the reflection model, not even with extensions loaded; set categories.<category>.model (or memory.reflection.category) in omo.json to a model from a core provider, or set memory.reflection.enabled to false";let n=`${e??""} ${t??""}`.toLowerCase();return n.includes("budget_not_met")?"run /dream again and trim or demote the largest system/ files until the committed estimate is below $SYSTEM_TOKEN_TARGET":n.includes("category_unavailable")||n.includes("could not resolve a usable model")?"no connected provider offers a model for the memory reflection category; run /login <provider>, or pin categories.<category>.model (or memory.reflection.category) in omo.json":n.includes("model-not-found")||n.includes("model_not_visible")||n.includes("model not found")||/model\s+"[^"]+"\s+not found/.test(n)?"the reflection child cannot see the configured category model; adjust memory.reflection category/model in your omo config":/bwrap:|setting up (uid map|gid map|namespace)/.test(n)?'the sandbox helper (bwrap) cannot create a user namespace on this host; set memory.reflection.sandbox to "off" in your omo config, or allow unprivileged user namespaces on the host':pu.test(n)?n.includes("provider_unavailable")?"every model for the memory reflection category was refused by its provider (rate limit or outage); automatic reflection resumes at the next probe, or run /reflect once the provider recovers":n.includes("context_overflow")?"the reflection prompt outgrew the context window of every candidate model; run /dream to trim system memory, or point memory.reflection at a larger-context model":n.includes("auth_missing")||n.includes("api key")?"run /login <provider>":"no model for the memory reflection category could be admitted; the models that were tried are named in the failure detail":"spawn_failed"===e||n.includes("execvp")?"senpi executable not resolvable for the reflection child; set SENPI_BIN":n.includes("api key")||n.includes("auth_missing")?"run /login <provider>":"inspect runtime/reflection-sessions/<runId>/child-stderr.log"}(i?.reason,i?.detail),a=await async function(e){try{let t=await async function(e){let t=await Vt(Kt(e,"park.json"));return null===t?{version:1,streak:0}:Lt(t)}(e);return void 0===t.parkedAt?"":`; automatic reflection paused since ${t.parkedAt} (next probe ${function(e){if(void 0!==e.parkedAt)return new Date(Date.parse(e.lastProbeAt??e.parkedAt)+216e5).toISOString()}(t)??"unknown"}; run /reflect to retry now)`}catch(e){return`; park state unreadable: ${e instanceof Error?e.message:String(e)}`}}(e);return{name:"reflection-health",level:n.streak>=3||""!==a?"warn":"ok",detail:`streak ${n.streak}; fingerprint ${n.fingerprint||"none"}; pending ${n.pendingCount}; last success ${r}; ${o}${a}`}}import{hostname as xu}from"node:os";import{join as Iu}from"node:path";var Au="a current runtime reclaims it at session start; on older builds delete runtime/reflection/active.lock after confirming no reflection run is active";var Pu=6e4,Nu=36e5;function ju(e){return e.records.filter(e=>"parked"===e.state)}function Tu(e){return e.records.filter(e=>"backoff"===e.state)}function Zu(e){let t=Tu(e).map(e=>null===e.nextEligibleAt?Number.NaN:Date.parse(e.nextEligibleAt)).filter(e=>Number.isFinite(e));if(0!==t.length)return Math.max(0,Math.min(...t)-e.now.getTime())}function Fu(e){return e<Pu?"now":e<Nu?`${Math.round(e/Pu)}m`:`${Math.round(e/Nu)}h`}async function Du(e){let t=vt(e.identityPaths),n=await async function(e){try{return(await N(e)).filter(e=>e.endsWith(".json")&&"consumed.json"!==e&&"failures.json"!==e).length}catch{return 0}}(t.queueDir),r=new Mt({identityPaths:e.identityPaths,now:()=>e.now});try{return{pending:n,records:(await r.readFailures()).entries,now:e.now}}catch(t){let r=t instanceof wt?t.message:`failure ledger unreadable: ${t instanceof Error?t.message:String(t)}`;return{pending:n,records:[],now:e.now,corrupt:r}}}import{basename as Ru,dirname as Mu,join as Cu,relative as Uu}from"node:path";var Ju=/^(---\r?\n)([\s\S]*?)(\r?\n---(?:\r?\n|$))/;async function Lu(e){let t=await N(e,{withFileTypes:!0}),n=[];for(let r of t){if(".git"===r.name||"node_modules"===r.name)continue;let t=Cu(e,r.name);r.isSymbolicLink()||(r.isDirectory()?n.push(...await Lu(t)):r.isFile()&&"SKILL.md"===r.name&&n.push(t))}return n}function Bu(e,t){if(!t.trim())return{content:e,changed:!1,reason:"skill directory name is empty"};let n=e.match(Ju);if(!n)return{content:e,changed:!1,reason:"missing YAML frontmatter"};let r=n[1]??"",i=n[2]??"",o=n[3]??"",a=r.includes("\r\n")?"\r\n":"\n",s=i.replace(/\r\n/g,"\n").split("\n"),u=s.findIndex(e=>/^\s*name\s*:/.test(e));if(u>=0&&function(e){let t=e.match(/^\s*name\s*:\s*(.*?)\s*$/);return Boolean(t?.[1]?.trim())}(s[u]??""))return{content:e,changed:!1};let l=`name: ${c=t.trim(),/^[A-Za-z0-9_-]+$/.test(c)?c:JSON.stringify(c)}`;var c;return u>=0?s[u]=l:s.unshift(l),{content:`${r}${s.join(a)}${o}${e.slice(n[0].length)}`,changed:!0}}async function Wu(e){let t={scanned:0,repaired:[],skipped:[]};if(!e)return t;let n,r=Cu(e,"skills");if(!await async function(e){try{return await F(e),!0}catch{return!1}}(r))return t;try{n=await Lu(r)}catch(e){return t.skipped.push({path:"skills/",reason:`failed to scan skills directory: ${e instanceof Error?e.message:String(e)}`}),t}for(let r of n.sort()){let n=Uu(e,r).replace(/\\/g,"/");t.scanned+=1;try{let e=Bu(await P(r,"utf8"),Ru(Mu(r)));if(void 0!==e.reason){t.skipped.push({path:n,reason:e.reason});continue}if(!e.changed)continue;await X(r,e.content,"utf8"),t.repaired.push(n)}catch(e){t.skipped.push({path:n,reason:e instanceof Error?e.message:String(e)})}}return t}var Ku={ok:0,warn:1,fail:2};async function Vu(e,t){let n=await Du({identityPaths:t,now:new Date(e.now?.()??Date.now())}),r=function(e){if(void 0!==e.corrupt)return"facts: failure ledger unreadable (run /facts for detail)";let t=ju(e).length,n=Tu(e).length;if(0===t&&0===n)return;let r=Zu(e);return`facts: ${t} parked / ${n} backoff${void 0===r?"":` (next ${Fu(r)})`}`}(n);if(void 0===r)return;let i=function(e){if(void 0!==e.corrupt)return`facts failure ledger is unreadable (${e.corrupt}); repair or delete failures.json to resume launches`;let t=ju(e).length;if(t>0)return`${t} parked facts batch${1===t?"":"es"} need${1===t?"s":""} a manual unpark; run /facts retry after fixing the cause`;let n=Tu(e).length;if(0===n)return;let r=Zu(e);return`${n} facts batch${1===n?" is":"es are"} backing off${void 0===r?"":`; next attempt in ${Fu(r)}`}`}(n);return{name:"facts",level:void 0===n.corrupt?"warn":"fail",detail:`${r.replace(/^facts: /,"")}${void 0===i?"":`; ${i}`}`}}async function Gu(t,n){let r=function(e,t){let n=function(e,t){let n=function(e){return e.sessionManager?.getSessionId()}(t);if(void 0!==n)return e.contextForSession(n)}(e,t);return void 0!==n?n:"memory is not bound to this session; start a session with memory enabled and retry"}(t,n);if("string"==typeof r)return bu(n,r,"error");let i=r.identityPaths.repo,o=function(e){return Q(te(e.identityPaths.repo,".git"))?{name:"repository",level:"ok",detail:e.identityPaths.repo}:{name:"repository",level:"fail",detail:`missing at ${e.identityPaths.repo}; run /memfs init to create it`}}(r),a=[o],s=[];if("ok"===o.level){let n=t.loadSettings().settings.compile_warn_tokens;a.push(...await Su(i),await async function(t){let n;try{n=await P(te(t,$u))}catch{return{name:"soul-seed",level:"ok",detail:"no persona file to compare"}}return"ed9106790224a2820d68b1e09c847672dbd3c44b56e8dedd17091e8d0a8c0e8e"===e("sha256").update(n).digest("hex")?{name:"soul-seed",level:"warn",detail:`${$u} is still the v1 seed; review it against the v2 soul seed and rewrite it with the memory tools when ready`}:{name:"soul-seed",level:"ok",detail:"persona differs from the v1 seed"}}(i),await async function(e,t){let n;try{n=await N(t)}catch{return{name:"locks",level:"ok",detail:"no lock directory yet"}}let r=e.isProcessAlive??ku,i=[];for(let e of n.filter(e=>e.endsWith(".lock"))){let n=te(t,e),o=Ze(await P(n,"utf8").catch(()=>""));null!==o?o.hostname===ee()&&(r(o.pid)||i.push(`${n} (pid ${o.pid} is not running)`)):i.push(`${n} (unreadable lock record)`)}return 0===i.length?{name:"locks",level:"ok",detail:"no stale locks"}:{name:"locks",level:"warn",detail:`${i.length} stale lock${1===i.length?"":"s"}: ${i.join("; ")}; delete the file after confirming no run is active`}}(t,r.identityPaths.locks),await Ou(t,r),await async function(e){let t,n=te(e,"runs");try{t=await N(n,{withFileTypes:!0})}catch{return{name:"abandoned-runs",level:"ok",detail:"no abandoned runs"}}let r=t.filter(e=>e.isDirectory()&&Q(te(n,e.name,"abandoned.json"))).map(e=>te(n,e.name)).sort();return 0===r.length?{name:"abandoned-runs",level:"ok",detail:"no abandoned runs"}:{name:"abandoned-runs",level:"warn",detail:`${r.length} run${1===r.length?"":"s"} need manual disposal: ${r.join("; ")}`}}(r.identityPaths.reflection),await async function(e,t){let n,r=Iu(e.reflection,"active.lock");if(!Q(r))return{name:"reservation",level:"ok",detail:"no active reservation"};try{n=JSON.parse(await P(r,"utf8"))}catch(e){if(e instanceof SyntaxError)return{name:"reservation",level:"warn",detail:"active.lock is not valid JSON; delete it after confirming no reflection run is active"};throw e}let i="object"==typeof n&&null!==n?n:{},o="string"==typeof i.runId?i.runId:"unknown",a="string"==typeof i.reservedAt?Date.parse(i.reservedAt):Number.NaN,s="number"==typeof i.launcherPid?i.launcherPid:void 0,u="string"==typeof i.launcherHostname?i.launcherHostname:void 0;return void 0!==s&&void 0!==u&&Number.isFinite(a)?Date.now()-a<=6e4?{name:"reservation",level:"ok",detail:`reservation ${o} is recent`}:u!==xu()?{name:"reservation",level:"ok",detail:`reservation ${o} is owned by ${u}`}:(t.isProcessAlive??ku)(s)?{name:"reservation",level:"ok",detail:`reservation ${o} launcher pid ${s} is alive`}:{name:"reservation",level:"warn",detail:`ghost active reservation ${o}: launcher pid ${s} is dead (reserved ${new Date(a).toISOString()}); ${Au}`}:{name:"reservation",level:"warn",detail:`ghost active reservation ${o}: launcher identity missing (pre-stamping legacy); ${Au}`}}(r.identityPaths,t),await Eu(r.identityPaths.reflection,{now:t.now?.()??Date.now()}),await async function(e,t){let n=await _u(e);return n.totalTokens<t?{name:"tokens",level:"ok",detail:`~${n.totalTokens} tokens in system/ (warn at ${t})`}:{name:"tokens",level:"warn",detail:`~${n.totalTokens} tokens in system/ reached the ${t} warning threshold; trim system/ and move detail into external memory`}}(i,n));let o=await Vu(t,r.identityPaths);void 0!==o&&a.push(o);let u=await Wu(i),l=function(e){let t=[];return e.repaired.length>0&&t.push(`added missing \`name:\` frontmatter to ${e.repaired.length} skill${1===e.repaired.length?"":"s"}: ${e.repaired.map(e=>`\`${e}\``).join(", ")}`),e.skipped.length>0&&t.push(`could not repair ${e.skipped.length} skill${1===e.skipped.length?"":"s"}: ${e.skipped.map(e=>`\`${e.path}\` (${e.reason})`).join(", ")}`),t.join("\n")}(u);s.push(`[info] skills: scanned ${u.scanned} skill file${1===u.scanned?"":"s"}`,...l.split("\n").filter(e=>e.length>0).map(e=>`[info] skills: ${e}`))}let u=function(e){return e.reduce((e,t)=>Ku[t.level]>Ku[e]?t.level:e,"ok")}(a),l=[`# Memory doctor: ${r.identity}`,"",...a.map(e=>`[${e.level}] ${e.name}: ${e.detail}`),...s];return"fail"===u?l.push("","fix the failing checks above, then re-run /doctor"):"warn"===u&&l.push("","warnings do not block memory; re-run /doctor after addressing them"),bu(n,l.join("\n"),"fail"===u?"error":"warn"===u?"warning":"info")}export{Gu as runDoctor};
1
+ // omo:qFxUctwqMNoCU46AIw_VcLoQYBFaKOJiDBeMd_bFnKk:WTFhBc7-GvixtVhNAti-z8dV7yXeBpOv1xY9IpNJsw0
2
+ import{resolve as e}from"node:path";var t=/(could not lock config file|unable to create '[^']*config\.lock')/i,n=/(could not lock config file|unable to create '[^']*\.lock'|cannot lock ref|another git process seems to be running)/i,r=new Map;function i(e){return t.test(o(e))}function a(e){return n.test(o(e))}function o(e){return e instanceof Error?e.message:String(e)}async function s(t,n){let a=e(t),o=(r.get(a)??Promise.resolve()).catch(()=>{}).then(()=>async function(e){for(let t=1;t<=5;t+=1)try{return void await e()}catch(e){if(!i(e)||5===t)throw e;await u(25*2**(t-1))}}(n));r.set(a,o);try{await o}finally{r.get(a)===o&&r.delete(a)}}async function l(e){for(let t=1;t<=5;t+=1)try{return await e()}catch(e){if(!a(e)||5===t)throw e;await u(25*2**(t-1))}throw Error("unreachable: git lock retry exhausted without result")}function u(e){return new Promise(t=>setTimeout(t,e))}class c extends Error{constructor(e,t){super(e,t),this.name=new.target.name}}class d extends c{argv;code;stdout;stderr;constructor(e,t,n,r){let i=r.trim()||n.trim()||`exit code ${t}`;super(`git ${e.join(" ")} failed: ${i}`),this.argv=e,this.code=t,this.stdout=n,this.stderr=r}}class f extends c{argv;timeoutMs;constructor(e,t){super(`git ${e.join(" ")} timed out after ${t}ms`),this.argv=e,this.timeoutMs=t}}class p extends c{argv;constructor(e){super(`git ${e.join(" ")} was cancelled`),this.argv=e}}class h extends c{constructor(e){super("Git is required for memory storage but was not found on PATH.",e)}}class m extends c{porcelain;encodingDiagnostics;constructor(e,t){let n=t.length>0?` Dirty markdown encoding issue(s): ${t.join("; ")}.`:"";super(`Memory repo has uncommitted changes. Commit, discard, or sync them before using memory tools.\n${e.trimEnd()}${n}`),this.porcelain=e,this.encodingDiagnostics=t}}class g extends c{paths;constructor(e){super(`Memory write produced no effective changes for: ${e.join(", ")}`),this.paths=e}}class y extends c{}import{spawn as v}from"node:child_process";import{Buffer as w}from"node:buffer";import*as b from"node:fs";import*as _ from"node:fs/promises";function k(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}async function $(e){for(let t=0;;t+=1)try{return await e()}catch(e){if("EINTR"!==k(e)||t>=128)throw e}}function S(e){for(let t=0;;t+=1)try{return e()}catch(e){if("EINTR"!==k(e)||t>=128)throw e}}var E=new Set(["EPERM","EBUSY","EACCES"]),x=[10,25,50,100,200,400],z=e=>new Promise(t=>setTimeout(t,e));import{Buffer as I}from"node:buffer";import{constants as O}from"node:fs";import*as A from"node:fs/promises";function N(e){return"number"==typeof e?0!==(e&O.O_EXCL):"string"==typeof e&&e.toLowerCase().includes("x")}async function P(e,t,n,r){let i="string"==typeof t?I.from(t,n??"utf8"):t,a=0;for(;a<i.length;){r?.throwIfAborted();let{bytesWritten:t}=await $(()=>e.write(i,a));if(t<=0)throw Error(`fs write made no progress at offset ${a}`);a+=t}}function T(e){return"function"==typeof e}function j(e){return(...t)=>$(async()=>e(...t))}function Z(e){return(...t)=>S(()=>e(...t))}function F(e,t){let n="async"===t?j:Z,r=new Map;return new Proxy(e,{get(e,t){if(r.has(t))return r.get(t);let i=Reflect.get(e,t);if(!T(i))return i;let a=n(i),o=Reflect.get(i,"native");return T(o)&&Object.assign(a,{native:n(o)}),r.set(t,a),a}})}var D=new Set(["stat","sync","datasync","chmod","chown","utimes","truncate"]);var M=F(_,"async");function R(e,t){return async function(e,t,n){let r="win32"===n.platform?n.delaysMs??x:[],i=n.sleep??z;for(let a=0;;a+=1)try{return void await n.rename(e,t)}catch(e){let t=r[a],n=k(e);if(void 0===t||void 0===n||!E.has(n))throw e;await i(t)}}(e,t,{rename:M.rename,platform:process.platform})}var C=F(b,"sync"),{access:L,chmod:B,copyFile:U,cp:J,link:W,lstat:G,mkdir:q,mkdtemp:H,readFile:K,readdir:V,realpath:X,rm:Y,rmdir:Q,stat:ee,unlink:te}=M,{accessSync:ne,chmodSync:re,fsyncSync:ie,linkSync:ae,lstatSync:oe,mkdirSync:se,readFileSync:le,readdirSync:ue,realpathSync:ce,statSync:de,unlinkSync:fe,writeFileSync:pe,writeSync:he}=C,me=async(...e)=>{let t=()=>_.open(...e);return function(e){return new Proxy(e,{get(e,t){let n=Reflect.get(e,t);if(!T(n))return n;let r=t=>Reflect.apply(n,e,[...t]);return"close"===t||t===Symbol.asyncDispose?(...e)=>{let t=r(e);return t instanceof Promise?t.catch(e=>{if("EINTR"!==k(e))throw e}):t}:"string"==typeof t&&D.has(t)?(...e)=>{let t=r(e);return t instanceof Promise?t.catch(t=>{if("EINTR"!==k(t))throw t;return $(async()=>r(e))}):t}:(...e)=>r(e)}})}(await(N(e[1]??"r")?t():$(t)))};var ge=async(e,t,n)=>{if("string"!=typeof t&&!(t instanceof Uint8Array))return _.writeFile(e,t,n);if("object"==typeof(r=e)&&!(r instanceof URL)&&!w.isBuffer(r)&&"fd"in r){let r="string"==typeof n?{encoding:n}:n??{};return r.signal?.throwIfAborted(),await P(e,t,r.encoding??void 0,r.signal),void(!0===r.flush&&await $(()=>e.sync()))}var r;return async function(e,t,n,r){let i="string"==typeof n?{encoding:n}:n??{};i.signal?.throwIfAborted();let a=i.flag??r,o=()=>A.open(e,a,i.mode),s=await(N(a)?o():$(o));try{await P(s,t,i.encoding??"utf8",i.signal),!0===i.flush&&await $(()=>s.sync())}finally{await s.close().catch(e=>{if("EINTR"!==k(e))throw e})}}(e,t,n??void 0,"w")};function ye(e){try{return S(()=>b.statSync(e)),!0}catch{return!1}}import{win32 as ve}from"node:path";var we=[["ProgramFiles",["Git","cmd","git.exe"]],["ProgramW6432",["Git","cmd","git.exe"]],["ProgramFiles(x86)",["Git","cmd","git.exe"]],["LOCALAPPDATA",["Programs","Git","cmd","git.exe"]]];function be(e,t){for(let[n,r]of Object.entries(e)){if(n.toLowerCase()!==t.toLowerCase()||void 0===r)continue;let e=r.trim();if(e.length>0)return e}}function _e(e){return e instanceof h&&e.cause instanceof Error&&"ENOENT"===e.cause.code}function ke(e,t,n,r){return new Promise((i,a)=>{let o=void 0!==n.stdin,s=v(e,[...t],{cwd:n.cwd,env:r,shell:!1,stdio:[o?"pipe":"ignore","pipe","pipe"],windowsHide:!0}),l=[],u=[],c=!1,d=!1,m=setTimeout(()=>{d=!0,s.kill("SIGKILL")},n.timeoutMs),g=!1,y=()=>{g=!0,s.kill("SIGTERM")};!0===n.signal?.aborted?y():n.signal?.addEventListener("abort",y,{once:!0}),s.stdout.on("data",e=>l.push(e)),s.stderr.on("data",e=>u.push(e)),o&&s.stdin.end(n.stdin),s.on("error",e=>{if(!c)if(c=!0,clearTimeout(m),n.signal?.removeEventListener("abort",y),"ENOENT"===e.code){if(!ye(n.cwd))return void i({code:128,stdout:"",stderr:`fatal: cannot change to '${n.cwd}': No such file or directory`});a(new h({cause:e}))}else a(e)}),s.on("close",e=>{if(c)return;if(c=!0,clearTimeout(m),n.signal?.removeEventListener("abort",y),g)return void a(new p(t));if(d)return void a(new f(t,n.timeoutMs));let r=Buffer.concat(l);i({code:e??1,stdout:r.toString("utf8"),stderr:Buffer.concat(u).toString("utf8"),stdoutBytes:r})})})}function $e(e={}){let t=e.platform??process.platform,n=e.runCommand??ke;return{async run(e,r){let i=r.env??process.env;try{return await n("git",e,r,i)}catch(a){if("win32"!==t||!_e(a))throw a;for(let t of function(e){let t=new Set,n=[];for(let[r,i]of we){let a=be(e,r);if(void 0===a||!/^[A-Za-z]:[\\/]/.test(a))continue;let o=ve.join(a,...i),s=ve.normalize(o).toLowerCase();t.has(s)||(t.add(s),n.push(o))}return n}(i))try{return await n(t,e,r,i)}catch(e){if(_e(e))continue;throw e}throw a}}}}import{join as Se}from"node:path";function Ee(e){return["-c",`user.name=${e.authorName.trim()||e.agentId}`,"-c",`user.email=${e.authorEmail??`${e.agentId}@omo.local`}`]}function xe(e){return[...new Set(e.map(e=>e.replace(/\\/g,"/")).filter(e=>e.trim()))]}function ze(e){let t=e.replace(/\\/g,"/"),n=t.split("/").filter(Boolean);if(!t||t.startsWith("/")||n.some(e=>"."===e||".."===e))throw new y(`Invalid memory seed path: ${e}`);return n.join("/")}function Ie(e,t){return new d(e,t.code,t.stdout,t.stderr)}import{randomUUID as Oe}from"node:crypto";import{isAbsolute as Ae,resolve as Ne}from"node:path";import{randomUUID as Pe}from"node:crypto";import{basename as Te,dirname as je,join as Ze}from"node:path";async function Fe(e,t,n,r,i){let a=Ze(e,t);await Re(e,t),i||await async function(e){try{let t=await G(e);if(!t.isFile())throw Ce(e,t.isSymbolicLink()?"symlink":"non-file")}catch(e){if("ENOENT"!==Le(e))throw e}}(a),await q(je(a),{recursive:!0}),await Re(e,t);let o=Ze(je(a),`.${Te(a)}.omo-${process.pid}-${Pe()}`),s=await me(o,"wx",r);try{await P(s,n,"utf8"),await B(o,r),await s.sync()}catch(e){throw await s.close(),await Y(o,{force:!0}),e}if(await s.close(),i){try{await W(o,a)}catch(e){if(await Y(o,{force:!0}),"EEXIST"===Le(e))return!1;throw e}await Y(o)}else await R(o,a);return await Be(je(a)),!0}async function De(e,t,n){let r=Ze(e,t);try{await W(n,r)}catch(e){if("EEXIST"===Le(e))return!1;throw e}return await Y(n),await Be(je(r)),!0}async function Me(e){await Y(e,{force:!0})}async function Re(e,t){let n=t.split("/").slice(0,-1),r=e;for(let e of n){r=Ze(r,e);try{let e=await G(r);if(e.isSymbolicLink()||!e.isDirectory())throw Ce(t,"unsafe parent")}catch(e){if("ENOENT"===Le(e))return;throw e}}}function Ce(e,t){return new Ge(`Unsupported worktree ${t} at path: ${e}`)}function Le(e){return e instanceof Error&&"code"in e&&"string"==typeof e.code?e.code:void 0}async function Be(e){try{let t=await me(e,"r");try{await t.sync()}finally{await t.close()}}catch(e){if("win32"!==process.platform||!["EISDIR","EPERM","EACCES","EINVAL"].includes(Le(e)??""))throw e}}async function Ue(e){let t,n=(await Je(e,["rev-parse","--git-path","index"])).stdout.trim(),r=Ae(n)?n:Ne(e.dir,n),i=`${r}.lock`,a=`${r}.omo-${process.pid}-${Oe()}`;try{t=await me(i,"wx")}catch(e){if("EEXIST"===Le(e))return!1;throw e}let o=!1;try{if(s=await e.capture(),l=e.expected,JSON.stringify(s)!==JSON.stringify(l))return!1;await U(r,a);let n=null===e.next?["update-index","--force-remove","--",e.path]:["update-index","--add","--cacheinfo",e.next.mode,e.next.oid,e.path];return await Je(e,n,{GIT_INDEX_FILE:a}),await P(t,await K(a)),await t.sync(),await t.close(),await R(i,r),o=!0,!0}finally{o||await t.close().catch(()=>{}),await Y(a,{force:!0}),o||await Y(i,{force:!0})}var s,l}async function Je(e,t,n={}){let r=await e.exec.run(t,{cwd:e.dir,timeoutMs:3e4,env:{...process.env,GIT_TERMINAL_PROMPT:"0",...n}});if(0!==r.code)throw Ie(t,r);return r}var We=new Set(["100644","100755"]);class Ge extends Error{constructor(e,t){super(e,t),this.name="GitPathStateError"}}class qe{dir;exec;ownershipLossRecoveryPath;constructor(e,t){this.dir=e,this.exec=t}async capture(e){let t=He(e);return{index:await this.captureIndex(t),worktree:await this.captureWorktree(t)}}async captureAll(e){let t=[...new Set(e.map(He))],n=await Promise.all(t.map(async e=>[e,await this.capture(e)]));return new Map(n)}async hashWorktreeBlob(e,t=!1){return this.hashBlob([...t?["-w"]:[],"--no-filters","--stdin"],e)}async hashIndexBlob(e,t,n=!1){let r=He(e);return this.hashBlob([...n?["-w"]:[],`--path=${r}`,"--stdin"],t)}async readBlob(e){return Ve(e),(await this.git(["cat-file","blob",e])).stdout}async setIndex(e,t){let n=He(e);Xe(t),await this.git(["update-index","--add","--cacheinfo",t.mode,t.oid,n])}async writeIndexIfIdentity(e,t,n){let r=He(e);return null!==n&&Xe(n),Ue({dir:this.dir,exec:this.exec,path:r,expected:t,next:n,capture:()=>this.captureIndex(r)})}async removeIndex(e){let t=He(e);await this.git(["update-index","--force-remove","--",t])}async writeWorktree(e,t){let n=He(e);Ye(t),await Fe(this.dir,n,await this.readBlob(t.oid),t.mode,!1)}async writeWorktreeIfIdentity(e,t,n){this.ownershipLossRecoveryPath=void 0;let r=He(e);if("missing"===t.kind)return"missing"===(await this.captureWorktree(r)).kind&&("missing"===n.kind||(Ye(n),Fe(this.dir,r,await this.readBlob(n.oid),n.mode,!0)));let i=await async function(e,t){let n=Ze(e,t);await Re(e,t);try{let e=await G(n);if(!e.isFile())throw Ce(t,e.isSymbolicLink()?"symlink":"non-file");let r=Ze(je(n),`.${Te(n)}.omo-moved-${process.pid}-${Pe()}`);return await R(n,r),r}catch(e){if("ENOENT"===Le(e))return;throw e}}(this.dir,r);if(void 0===i)return!1;try{let e=await this.captureMovedWorktree(i);if(a=e,o=t,JSON.stringify(a)!==JSON.stringify(o))return await De(this.dir,r,i)||await Me(i),!1;if("missing"===n.kind){let e=await this.reserveWorktreeDeletion(r,i);if(void 0===e)return await Me(i),!1;let t=await e.verify();if(void 0===t)return await Me(i),!1;let n=await t.finish();return!0!==n&&await Me(i),"string"==typeof n&&(this.ownershipLossRecoveryPath=n),!0===n}Ye(n);let s=await Fe(this.dir,r,await this.readBlob(n.oid),n.mode,!0);return await Me(i),s}catch(e){throw await De(this.dir,r,i)||await Me(i),e}var a,o}consumeOwnershipLossRecoveryPath(){let e=this.ownershipLossRecoveryPath;return this.ownershipLossRecoveryPath=void 0,e}async reserveWorktreeDeletion(e,t){return async function(e,t,n,r){let i=Ze(e,t),a=Pe();try{await q(i,{mode:448}),await ge(Ze(i,".omo-reservation"),a,"utf8")}catch(e){if("EEXIST"===Le(e))return;throw e}let o=await G(i);return{verify:async()=>{let e;try{e=await G(i)}catch(e){if("ENOENT"===Le(e))return;throw e}if(e.isDirectory()&&e.dev===o.dev&&e.ino===o.ino){try{if(await K(Ze(i,".omo-reservation"),"utf8")!==a)return}catch(e){if("ENOENT"===Le(e))return;throw e}return{finish:async()=>{let e=Ze(je(i),`.${Te(i)}.omo-reserved-${process.pid}-${Pe()}`);try{await R(i,e)}catch(e){if("ENOENT"===Le(e))return!1;throw e}let t,s=await G(e);if(s.isDirectory())try{t=await K(Ze(e,".omo-reservation"),"utf8")}catch(e){if("ENOENT"!==Le(e))throw e}if(!s.isDirectory()||s.dev!==o.dev||s.ino!==o.ino||t!==a){let t=await r(e);return!0!==t&&t}await Y(n),await Y(e,{recursive:!0}),await Be(je(i));try{return await G(i),!1}catch(e){if("ENOENT"===Le(e))return!0;throw e}}}}}}}(this.dir,e,t,t=>this.restoreWorktreeClaim(e,t))}async restoreWorktreeClaim(e,t){return async function(e,t,n){if(!(await G(n)).isFile())return n;try{await W(n,Ze(e,t))}catch(e){if("EEXIST"===Le(e))return n;throw e}return await Y(n),!0}(this.dir,e,t)}async removeWorktree(e){await async function(e,t){let n,r=Ze(e,t);await Re(e,t);try{n=await G(r)}catch(e){if("ENOENT"===Le(e))return;throw e}if(!n.isFile())throw Ce(t,n.isSymbolicLink()?"symlink":"non-file");await Y(r),await Be(je(r))}(this.dir,He(e))}async captureIndex(e){let t=(await this.git(["--literal-pathspecs","ls-files","--stage","-z","--",e])).stdout.split("\0").filter(Boolean);if(0===t.length)return null;let n=t.map(Ke);if(n.some(e=>"0"!==e.stage))throw new Ge(`Git path is unmerged and cannot be recovered safely: ${e}`);if(1!==n.length||n[0]?.path!==e)throw new Ge(`Git path did not resolve to one stage-zero index entry: ${e}`);let r=n[0];if(!We.has(r.mode))throw new Ge(`Unsupported Git index mode ${r.mode} for path: ${e}`);return{mode:r.mode,oid:r.oid}}async captureWorktree(e){await Re(this.dir,e);let t,n=Se(this.dir,e);try{t=await G(n)}catch(e){if("ENOENT"===Le(e))return{kind:"missing"};throw e}if(!t.isFile())throw Ce(e,t.isSymbolicLink()?"symlink":"non-file");let r=await this.hashWorktreeBlob(await K(n),!0);return{kind:"file",mode:Qe(t.mode),oid:r}}async captureMovedWorktree(e){let t=await G(e);if(!t.isFile())throw Ce(e,t.isSymbolicLink()?"symlink":"non-file");return{kind:"file",mode:Qe(t.mode),oid:await this.hashWorktreeBlob(await K(e),!0)}}async hashBlob(e,t){let n=(await this.git(["hash-object",...e],t)).stdout.trim();return Ve(n),n}async git(e,t){let n=await this.exec.run(e,{cwd:this.dir,timeoutMs:3e4,env:{...process.env,GIT_TERMINAL_PROMPT:"0"},...void 0===t?{}:{stdin:t}});if(0!==n.code)throw Ie(e,n);return n}}function He(e){let t=e.replace(/\\/g,"/"),n=t.split("/");if(!t||t.includes("\0")||t.startsWith("/")||/^[A-Za-z]:\//.test(t)||n.some(e=>!e||"."===e||".."===e||".git"===e.toLowerCase()))throw new Ge(`Invalid repository-relative Git path: ${e}`);return t}function Ke(e){let t=/^(\d{6}) ([0-9a-f]+) ([0-3])\t([\s\S]+)$/.exec(e);if(null===t)throw new Ge("Git returned a malformed index entry");return{mode:t[1],oid:t[2],stage:t[3],path:t[4]}}function Ve(e){if(!/^[0-9a-f]+$/.test(e))throw new Ge(`Invalid Git object ID: ${e}`)}function Xe(e){if(!We.has(e.mode))throw new Ge(`Unsupported Git index mode: ${e.mode}`);Ve(e.oid)}function Ye(e){if("file"!==e.kind||!Number.isInteger(e.mode)||e.mode<0||e.mode>511)throw new Ge("Invalid worktree file identity");Ve(e.oid)}function Qe(e){return"win32"===process.platform?420:511&e}import{join as et}from"node:path";function tt(e,t){return t.split(/\r?\n/).map(e=>e.trimEnd()).filter(Boolean).map(nt).filter(e=>e?.endsWith(".md")??!1).map(t=>function(e,t){let n=et(e,t);if(!ye(n))return null;let r=le(n);return r.length>=2&&255===r[0]&&254===r[1]?`${t} has UTF-16 LE BOM`:r.length>=2&&254===r[0]&&255===r[1]?`${t} has UTF-16 BE BOM`:r.includes(0)?`${t} contains NUL bytes, possibly UTF-16`:null}(e,t)).filter(e=>null!==e)}function nt(e){if(e.length<4)return null;let t=e.slice(0,2);if(" D"===t||"D "===t||"DD"===t)return null;let n=e.slice(3);return(n.includes(" -> ")?n.split(" -> ").pop()??n:n).replace(/^"|"$/g,"")}import{dirname as rt,join as it}from"node:path";async function at(e){let{stdout:t}=await e(["count-objects","-v"]),n=/^count: (\d+)$/m.exec(t)?.[1];return void 0===n?0:Number(n)}import{randomUUID as ot}from"node:crypto";import{isAbsolute as st,join as lt}from"node:path";var ut=/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/;class ct{dir;git;lsTree;computed=new Map;constructor(e,t,n){this.dir=e,this.git=t,this.lsTree=n}async at(e){let t=ut.test(e)?e:await this.resolve(e),n=this.computed.get(t);if(void 0!==n)return this.computed.delete(t),this.computed.set(t,n),(await n).live;let r=[...this.computed.entries()].reverse(),i=this.compute(t,r);this.computed.set(t,i),i.catch(()=>{this.computed.get(t)===i&&this.computed.delete(t)});let a=this.computed.keys().next().value;return this.computed.size>4&&void 0!==a&&this.computed.delete(a),(await i).live}async resolve(e){return(await this.git.run(["rev-parse","--verify",`${e}^{commit}`])).stdout.trim()}async compute(e,t){let n=await this.lsTree(e),r=await this.reachableTimes(e,t);return{all:r,live:pt(n,r)}}async reachableTimes(e,t){let n=await this.readStore(),r=[...t.map(([e,t])=>[e,()=>t.then(e=>e.all,()=>null)]),...null===n?[]:[[n.revision,async()=>n.times]]];for(let[t,i]of r){if(t===e){let e=await i();if(null!==e)return e;continue}if(!await this.isAncestor(t,e))continue;let r=await i();if(null===r)continue;let a=ft(r,dt((await this.log([`${t}..${e}`])).stdout));return t===n?.revision&&await this.writeStore(e,a),a}let i=dt((await this.log([e],3e5)).stdout);return(null===n||await this.isAncestor(n.revision,e))&&await this.writeStore(e,i),i}log(e,t){return this.git.run(["log","--format=%x01%ct","--name-only","-z","--no-renames","--diff-merges=first-parent","--diff-filter=d",...e,"--"],t)}async isAncestor(e,t){return 0===(await this.git.result(["merge-base","--is-ancestor",e,t])).code}async storePath(){let e=(await this.git.run(["rev-parse","--git-common-dir"])).stdout.trim();return lt(st(e)?e:lt(this.dir,e),"omo-path-commit-times.json")}async readStore(){let e;try{e=JSON.parse(await K(await this.storePath(),"utf8"))}catch{return null}if("object"!=typeof e||null===e)return null;let{version:t,revision:n,times:r}=e;if(2!==t||"string"!=typeof n||!ut.test(n))return null;if("object"!=typeof r||null===r||Array.isArray(r))return null;let i=Object.entries(r);return i.every(e=>Number.isSafeInteger(e[1]))?{revision:n,times:new Map(i)}:null}async writeStore(e,t){let n;try{let r=await this.storePath();n=`${r}.${process.pid}.${ot()}.tmp`,await ge(n,`${JSON.stringify({version:2,revision:e,times:Object.fromEntries(t)})}\n`,"utf8"),await R(n,r)}catch{void 0!==n&&await Y(n,{force:!0}).catch(()=>{})}}}function dt(e){let t=new Map,n=Number.NaN;for(let r of e.split("\0")){if(r.startsWith("")){n=Number.parseInt(r.slice(1),10);continue}let e=r.replace(/^\n/,"");0!==e.length&&Number.isSafeInteger(n)&&t.set(e,Math.max(t.get(e)??n,n))}return t}function ft(e,t){let n=new Map(e);for(let[e,r]of t)n.set(e,Math.max(n.get(e)??r,r));return n}function pt(e,t){let n=new Map;for(let r of e){let e=t.get(r);void 0!==e&&n.set(r,e)}return n}function ht(e){return e.split("\0").filter(Boolean)}function mt(e){let t={};for(let n of e.split(/\r?\n/)){let e=/^([^:\s][^:]*):\s*(.*)$/.exec(n);if(null===e)continue;let r=e[1]?.trim();void 0!==r&&r.length>0&&(t[r]=e[2]??"")}return t}class gt{git;constructor(e){this.git=e}async head(){let e=await this.git.result(["rev-parse","--verify","HEAD"]);return 0!==e.code?null:e.stdout.trim()||null}async headCommitTimestamp(){let e=await this.git.result(["show","-s","--format=%ct","HEAD"]);if(0!==e.code)return null;let t=Number.parseInt(e.stdout.trim(),10);return Number.isSafeInteger(t)&&t>=0?t:null}async lsTree(e="HEAD",t){let n=t?["--",t]:[];return(await this.git.run(["ls-tree","-r","--name-only","-z",e,...n])).stdout.split("\0").filter(Boolean)}async lsTreeSized(e="HEAD"){return function(e){let t=[];for(let n of e.split("\0")){if(0===n.length)continue;let e=n.indexOf("\t");if(-1===e)continue;let r=n.slice(0,e).trim().split(/\s+/),i=n.slice(e+1);if(r.length<4||0===i.length)continue;let a=r[3];if(void 0===a||"-"===a)continue;let o=Number.parseInt(a,10);!Number.isSafeInteger(o)||o<0||t.push({path:i,bytes:o})}return t}((await this.git.run(["ls-tree","-r","-l","-z",e])).stdout)}async lsTreeBlobs(e="HEAD"){return function(e){let t=[];for(let n of e.split("\0")){let e=n.indexOf("\t");if(-1===e)continue;let[,r,i]=n.slice(0,e).trim().split(/\s+/),a=n.slice(e+1);"blob"===r&&void 0!==i&&0!==a.length&&t.push({path:a,oid:i})}return t}((await this.git.run(["ls-tree","-r","-z",e])).stdout)}async show(e,t){return(await this.git.run(["show",`${e}:${t}`])).stdout}async readBlobs(e){let t=[...new Set(e)];if(0===t.length)return new Map;let n=["cat-file","--batch"],r=await this.git.result(n,`${t.join("\n")}\n`);if(0!==r.code)throw Ie(n,r);return function(e){let t=new Map,n=0;for(;n<e.length;){let r=e.indexOf(10,n);if(-1===r)throw Error("git cat-file --batch output ended inside a record header");let i=e.toString("utf8",n,r);n=r+1;let[a,o,s]=i.split(" ");if(void 0===s)continue;let l=Number.parseInt(s,10);if(void 0===a||!Number.isSafeInteger(l)||l<0||n+l>e.length)throw Error(`git cat-file --batch output is malformed at "${i}"`);"blob"===o&&t.set(a,e.toString("utf8",n,n+l)),n+=l+1}return t}(r.stdoutBytes??Buffer.from(r.stdout,"utf8"))}async log(e={}){let t=["log","--format=%x1e%H%x1f%s%x1f%b%x1f%an%x1f%ae%x1f%cI"];void 0!==e.grep&&e.grep.length>0&&t.push("--fixed-strings","--all-match",...e.grep.map(e=>`--grep=${e}`)),void 0!==e.limit&&t.push("-n",String(e.limit)),void 0!==e.since&&t.push(`--since=${e.since.toISOString()}`),void 0!==e.range&&t.push(e.range),void 0!==e.paths&&e.paths.length>0&&t.push("--",...e.paths);let n=(await this.git.run(t,e.timeoutMs)).stdout.split("").slice(1).map(e=>{let[t="",n="",r="",i="",a="",o=""]=e.split(""),s=r.replace(/\r?\n$/,"");return{sha:t,subject:n,body:s,authorName:i,authorEmail:a,committedAt:o.trim(),trailers:mt(s)}});return!0!==e.includePaths?n:Promise.all(n.map(async e=>({...e,paths:ht((await this.git.run(["diff-tree","--no-commit-id","--name-only","-z","-r",e.sha])).stdout)})))}}async function yt(e,t,n){let r=(await n()).split(/\r?\n/).filter(Boolean).filter(e=>{let n=nt(e);return null!==n&&!t.some(e=>n===e||n.startsWith(`${e}/`)||e.startsWith(n.endsWith("/")?n:`${n}/`))});if(0===r.length)return;let i=`${r.join("\n")}\n`;throw new m(i,tt(e,i))}var vt=[["aws_access_key","\\bAKIA[0-9A-Z]{16}\\b",""],["credential_assignment","\\b(?:bearer|token|api[_-]?key|secret|password|passwd|pwd)\\s*[=:]\\s*[^\\s\"'<>,}\\])]{1,256}","i"],["authorization_header","\\bAuthorization\\s*:\\s*Bearer\\s+[^\\s\"'<>,}\\])]{1,256}","i"],["openai_key","\\bsk-(?:proj-)?[-_A-Za-z0-9]+\\b",""],["vendor_token","\\b(?:ghp|github_pat|glpat|xox[baprs])[-_][-_A-Za-z0-9]+\\b",""]],wt=/\p{Cf}/u;function bt(e){if(!e)return[];let t=[],{shadow:n,map:r}=function(e){let t="",n=[];for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r);if(160===i){t+=" ",n.push(r);continue}let a=e.charAt(r);i<32&&10!==i&&9!==i||wt.test(a)||(t+=a,n.push(r))}return{shadow:t,map:n}}(e),i=(e,t)=>{let n=r[e],i=r[t-1];if(void 0!==n&&void 0!==i)return{start:n,end:i+1}},a=0;for(;;){let e=kt(n,a);if(void 0===e)break;let r=i(e.start,e.end);void 0!==r&&t.push({class:"pem_block",...r}),a=e.end}for(let[e,r,a]of vt){let o,s=new RegExp(r,`${a}g`);for(;null!==(o=s.exec(n));){let n=i(o.index,o.index+o[0].length);void 0!==n&&t.push({class:e,...n})}}let o,s=new RegExp("(?:a\\s*u\\s*t\\s*h\\s*o\\s*r\\s*i\\s*z\\s*a\\s*t\\s*i\\s*o\\s*n|p\\s*a\\s*s\\s*s\\s*w\\s*(?:o\\s*r\\s*)?d|s\\s*e\\s*c\\s*r\\s*e\\s*t|t\\s*o\\s*k\\s*e\\s*n|a\\s*p\\s*i\\s*[_-]?\\s*k\\s*e\\s*y)\\s*[:=]\\s*[^\\s\"'<>,}\\])]{6,256}","gi");for(;null!==(o=s.exec(n));){let e=i(o.index,o.index+o[0].length);void 0!==e&&(t.some(t=>t.start<e.end&&e.start<t.end)||t.push({class:"split_credential_assignment",...e}))}return t.sort((e,t)=>e.start-t.start||e.end-t.end)}function _t(e){if(!e)return"";let t=bt(e);if(0===t.length)return e;let n=[];for(let e of t){let t=n[n.length-1];void 0!==t&&e.start<=t.end?t.end=Math.max(t.end,e.end):n.push({start:e.start,end:e.end})}let r="",i=0;for(let t of n)r+=`${e.slice(i,t.start)}***`,i=t.end;return`${r}${e.slice(i)}`}function kt(e,t=0){let n=e.indexOf("-----BEGIN ",t);if(n<0)return;let r=e.indexOf("-----",n+11);if(r<0||r-(n+11)>64)return;let i=e.slice(n+11,r);if(0===i.length||/[^A-Za-z0-9 ]/.test(i))return;let a=e.indexOf("-----END ",r+5);for(;a>=0;){let t=a+9,r=e.indexOf("-----",t);if(r>=0&&e.slice(t,r)===i)return{start:n,end:r+5};a=e.indexOf("-----END ",r>=0?r+5:t)}}class $t extends Error{name="MemorySecretError";path;patternClass;where;constructor(e){super("path"===e.where?`refused: ${_t(e.path)} is a secret-like file name (${e.patternClass})`:`refused: ${e.path} contains secret-like content (${e.patternClass}); remove it and retry`),this.path=e.path,this.patternClass=e.patternClass,this.where=e.where}}function St(e){return bt(e)[0]?.class}import{resolve as Et}from"node:path";var xt=new Map;async function zt(e,t){let n=Et(e),r=(xt.get(n)?.then(()=>{},()=>{})??Promise.resolve()).then(t),i=r.then(()=>{},()=>{});xt.set(n,i);try{return await r}finally{xt.get(n)===i&&xt.delete(n)}}class It{dir;agentId;pathState;exec;hookInstaller;reads;commitTimes;constructor(e){this.dir=e.dir,this.agentId=e.agentId,this.exec=e.exec??$e(),this.pathState=new qe(this.dir,this.exec),this.hookInstaller=e.installHooks??(()=>{}),this.reads=new gt({run:(e,t)=>this.git(e,t),result:(e,t)=>this.gitResult(e,t)}),this.commitTimes=new ct(this.dir,{run:(e,t)=>this.git(e,t),result:(e,t)=>this.gitResult(e,t)},e=>this.reads.lsTree(e))}async init(e={}){await q(this.dir,{recursive:!0}),ye(it(this.dir,".git"))||(await l(()=>this.git(["init","--template="])),await l(()=>this.git(["symbolic-ref","HEAD","refs/heads/main"]))),await(e.installHooks??this.hookInstaller)(this.dir),await this.ensureIdentity(e.authorName?.trim()||"OmO Agent");let t=await this.head();if(t)return t;let n=[];for(let t of e.seedFiles??[]){let e=ze(t.relativePath),r=it(this.dir,e);await q(rt(r),{recursive:!0}),await ge(r,t.content,"utf8"),n.push(e)}let r={agentId:this.agentId,authorName:e.authorName?.trim()||"OmO Agent"};return n.length>0&&(await this.stage(n),await this.hasPathChanges(n))?(await this.commitStaged("chore: initialize local memory",r)).sha:(await l(()=>this.git([...Ee(r),"commit","--allow-empty","-m","chore: initialize empty local memory"])),this.requireHead())}async cleanCheck(){await this.hookInstaller(this.dir);let e=await this.status();if(e.trim())throw new m(e,tt(this.dir,e))}async commitWrite(e,t,n){await this.hookInstaller(this.dir);let r=xe(e);if(0===r.length)throw new g(r);return await yt(this.dir,r,()=>this.status()),await this.stage(r),this.commitPrepared(r,t,n)}async commitPrepared(e,t,n){await this.hookInstaller(this.dir);let r=xe(e);if(0===r.length)throw new g(r);if(await yt(this.dir,r,()=>this.status()),!await this.hasPathChanges(r))throw new g(r);return await this.assertNoSecretLikeStaging(r),this.commitStaged(t,n)}async status(e=[]){let t=xe(e),n=t.length>0?["--",...t]:[];return(await this.git(["-c","core.quotePath=false","status","--porcelain","--untracked-files=all",...n])).stdout}head(){return this.reads.head()}headCommitTimestamp(){return this.reads.headCommitTimestamp()}lsTree(e="HEAD",t){return this.reads.lsTree(e,t)}lsTreeSized(e="HEAD"){return this.reads.lsTreeSized(e)}lsTreeBlobs(e="HEAD"){return this.reads.lsTreeBlobs(e)}show(e,t){return this.reads.show(e,t)}pathCommitTimes(e){return this.commitTimes.at(e)}readBlobs(e){return this.reads.readBlobs(e)}log(e={}){return this.reads.log(e)}async restorePaths(e){let t=xe(e);if(0===t.length)return;let n=new Set(await this.lsTree("HEAD")),r=t.filter(e=>n.has(e)),i=t.filter(e=>!n.has(e));r.length>0&&await l(()=>this.git(["restore","--source=HEAD","--staged","--worktree","--",...r]));for(let e of i)await l(()=>this.git(["rm","-q","--cached","--ignore-unmatch","--",e])),await Y(it(this.dir,e),{force:!0})}async assertNoSecretLikeStaging(e){for(let t of e){let e=St(t);if(void 0!==e)throw new $t({path:t,patternClass:e,where:"path"})}for(let t of e){let e=await this.gitResult(["show",`:${t}`]);if(0!==e.code)continue;let n=St(e.stdout);if(void 0!==n)throw new $t({path:t,patternClass:n,where:"content"})}}maintain(e){return async function(e,t){let n=await at(e);return n<t.minLooseObjects?{status:"skipped",looseObjects:n}:(await e(["maintenance","run","--task=loose-objects","--quiet"],t.timeoutMs,t.signal),t.signal?.throwIfAborted(),await e(["prune-packed","--quiet"],t.timeoutMs,t.signal),{status:"packed",looseObjectsBefore:n,looseObjectsAfter:await at(e)})}((e,t,n)=>this.git(e,t,n),e)}async worktreeAdd(e,t,n="HEAD"){await zt(this.dir,()=>l(()=>this.git(["worktree","add","-b",t,e,n])))}async worktreeRemove(e,t=!0){await zt(this.dir,()=>l(()=>this.git(["worktree","remove",...t?["--force"]:[],e])))}async merge(e,t={}){let n=["merge"];return(t.noFF??!0)&&n.push("--no-ff"),t.message&&n.push("-m",t.message),n.push(e),await l(()=>this.git(n)),this.requireHead()}async configGet(e){let t=await this.gitResult(["config","--local","--get",e]);if(1===t.code)return null;if(0!==t.code)throw Ie(["config","--local","--get",e],t);return t.stdout.trim()||null}async configSet(e,t){await s(this.dir,async()=>{await this.git(["config","--local",e,t])})}async ensureIdentity(e){await this.configGet("omo.agentId")!==this.agentId&&await this.configSet("omo.agentId",this.agentId),await this.configGet("user.email")||await this.configSet("user.email",`${this.agentId}@omo.local`),await this.configGet("user.name")||await this.configSet("user.name",e),null===await this.configGet("commit.gpgsign")&&await this.configSet("commit.gpgsign","false"),null===await this.configGet("gc.auto")&&await this.configSet("gc.auto","0")}async stage(e){await l(()=>this.git(["add","-A","--",...e]))}async hasPathChanges(e){return(await this.status(e)).trim().length>0}async commitStaged(e,t){return await l(()=>this.git([...Ee(t),"commit","-m",e])),{committed:!0,sha:await this.requireHead()}}async requireHead(){let e=await this.head();if(!e)throw Error("Memory repository has no HEAD commit");return e}async git(e,t,n){let r=await this.gitResult(e,void 0,t,n);if(0!==r.code)throw Ie(e,r);return r}gitResult(e,t,n=3e4,r){return this.exec.run(e,{cwd:this.dir,timeoutMs:n,...void 0===r?{}:{signal:r},env:{...process.env,GIT_TERMINAL_PROMPT:"0"},...void 0===t?{}:{stdin:t}})}}import{randomUUID as Ot}from"node:crypto";import{hostname as At}from"node:os";import Nt from"node:path";import Pt from"node:path";var Tt=new Set;function jt(e){Tt.add(e)}function Zt(e){Tt.delete(e)}var Ft=/\.candidate-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Dt(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}function Mt(e,t){try{e.onFailure?.(t)}catch{}}function Rt(e){if("win32"!==process.platform)return!1;let t=Dt(e);return"EBUSY"===t||"EPERM"===t||"EACCES"===t}import{randomUUID as Ct}from"node:crypto";import{hostname as Lt}from"node:os";import{execFile as Bt}from"node:child_process";var Ut=null;function Jt(){return Ut??=async function(){if("darwin"!==process.platform)return null;try{let{dlopen:e,FFIType:t}=await(import("bun:ffi")),n=e("/usr/lib/libSystem.B.dylib",{proc_pidinfo:{args:[t.i32,t.i32,t.u64,t.ptr,t.i32],returns:t.i32}});return(e,t,r,i,a)=>Number(n.symbols.proc_pidinfo(e,t,r,i,a))}catch{return null}}(),Ut}var Wt=null;async function Gt(e){if("win32"!==process.platform)return null;if(!Number.isSafeInteger(e)||e<=0)return null;Wt??=async function(){if("win32"!==process.platform)return null;try{let{dlopen:e,FFIType:t}=await(import("bun:ffi"));return e("kernel32.dll",{OpenProcess:{args:[t.u32,t.i32,t.u32],returns:t.ptr},GetProcessTimes:{args:[t.ptr,t.ptr,t.ptr,t.ptr,t.ptr],returns:t.i32},CloseHandle:{args:[t.ptr],returns:t.i32}}).symbols}catch{return null}}();let t=await Wt;if(null===t)return null;let n=t.OpenProcess(4096,0,e);if(null===n||0===n||0n===n)return null;try{let e=new BigUint64Array(1),r=t.GetProcessTimes(n,e,new BigUint64Array(1),new BigUint64Array(1),new BigUint64Array(1)),i=e[0]??0n;return 0===r||0n===i?null:i}finally{t.CloseHandle(n)}}async function qt(e,t){return await new Promise(n=>{Bt(e,t,{encoding:"utf8",timeout:2e3,windowsHide:!0},(e,t)=>{if(null!==e)return void n(null);let r=t.trim();n(r.length>0?r:null)})})}var Ht=function(e,t){let n;return r=>r!==t?e(r):(n??=e(r).then(e=>(null===e&&(n=void 0),e),e=>{throw n=void 0,e}),n)}(async function(e){if("linux"===process.platform)return await async function(e){try{let t=await K(`/proc/${e}/stat`,"utf8"),n=t.lastIndexOf(")");if(n<0)return null;let r=t.slice(n+2).trim().split(/\s+/)[19];return void 0===r?null:`linux-proc-start-ticks:${r}`}catch{return null}}(e);if("darwin"===process.platform||"freebsd"===process.platform){if("dead"===Vt(e))return null;let t=await async function(e){if("darwin"!==process.platform)return null;if(!Number.isSafeInteger(e)||e<=0)return null;let t=await Jt();if(null===t)return null;let n=new Uint8Array(136),r=0;try{r=t(e,3,0n,n,136)}catch{return null}if(136!==r)return null;let i=new DataView(n.buffer,n.byteOffset,n.byteLength),a=Number(i.getBigUint64(120,!0));return a>0?a:null}(e);if(null!==t)return`proc-start-epoch:${t}`;let n=await qt("/bin/ps",["-o","lstart=","-p",String(e)]);return null===n?null:`ps-lstart:${n.replace(/\s+/g," ")}`}return"win32"===process.platform?await async function(e){if("dead"===Vt(e))return null;let t=await Gt(e);if(null!==t)return`win32-creation-filetime:${t}`;let n=await qt("powershell.exe",["-NoProfile","-Command",`(Get-Process -Id ${e} -ErrorAction SilentlyContinue).StartTime.ToUniversalTime().ToString('o')`]);return null===n?null:`win32-creation-date:${n}`}(e):null},process.pid);function Kt(e){let t=e.indexOf(":");return t<=0?null:e.slice(0,t)}function Vt(e){try{return process.kill(e,0),"alive"}catch(e){let t=function(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}(e);return"ESRCH"===t?"dead":"EPERM"===t?"alive":"unknown"}}function Xt(e){return"string"==typeof e&&e.length>0}function Yt(e){let t;try{t=JSON.parse(e)}catch{return null}if("object"!=typeof t||null===t||Array.isArray(t))return null;let n=t;return!Number.isInteger(n.pid)||Number(n.pid)<=0?null:Xt(n.process_start)&&Xt(n.hostname)&&Xt(n.nonce)?!Xt(n.created_at)||Number.isNaN(Date.parse(n.created_at))?null:Xt(n.purpose)&&(void 0===n.run_id||Xt(n.run_id))?{pid:Number(n.pid),process_start:n.process_start,hostname:n.hostname,nonce:n.nonce,created_at:n.created_at,purpose:n.purpose,...void 0===n.run_id?{}:{run_id:n.run_id}}:null:null}var Qt=new Set(["EACCES","EPERM","ENOTSUP"]);class en extends Error{lockPath;owner;retriable=!0;constructor(e,t){super(`Lock is held: ${e}`),this.lockPath=e,this.owner=t,this.name="LockContentionError"}}function tn(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}function nn(e,t){if(void 0!==t)return t(e);if("win32"!==process.platform)return!1;let n=tn(e);return"EBUSY"===n||"EPERM"===n||"EACCES"===n}async function rn(e){for(let t=0;t<3;t+=1)try{return await(un.unlink??te)(e),Zt(e),!0}catch(n){if("ENOENT"===tn(n))return Zt(e),!0;if(!nn(n,un.isSharingError))throw jt(e),cn(Nt.dirname(e)),n;if(t+1===3)return jt(e),cn(Nt.dirname(e)),!1}return!1}function an(e,t){return t?.throwIfAborted(),new Promise((n,r)=>{let i=setTimeout(o,e),a=()=>o(t?.reason??new DOMException("The operation was aborted","AbortError"));function o(e){clearTimeout(i),t?.removeEventListener("abort",a),void 0===e?n():r(e)}t?.addEventListener("abort",a,{once:!0})})}async function on(e){try{let t=await K(e,"utf8"),n=await ee(e,{bigint:!0});return{raw:t,record:Yt(t),dev:n.dev,ino:n.ino,mtimeMs:Number(n.mtimeMs)}}catch(e){let t=tn(e);if("ENOENT"===t)return null;if("\\"===Nt.sep&&"EPERM"===t)return{raw:"",record:null,dev:0,ino:0,mtimeMs:Date.now()};throw e}}async function sn(e,t){await q(Nt.dirname(e),{recursive:!0,mode:448});let{candidatePath:n,handle:r}=await async function(e){for(let t=0;;t+=1){let n=`${e}.candidate-${Ot()}`;try{return{candidatePath:n,handle:await me(n,"wx",384)}}catch(r){if(await rn(n)||cn(Nt.dirname(e)),"EINTR"!==tn(r)||t>=128)throw r}}}(e);try{try{await P(r,`${JSON.stringify(t)}\n`,"utf8"),await r.sync()}finally{await r.close()}try{return await(un.link??W)(n,e),!0}catch(n){if(function(e){let t=tn(e);return"EEXIST"===t||"ENOENT"===t}(n))return!1;if(Qt.has(tn(n)??""))return await async function(e,t){let n;try{n=await me(e,"wx",384)}catch(e){if("EEXIST"===tn(e))return!1;throw e}try{return await(un.writeFallback??P)(n,`${JSON.stringify(t)}\n`,"utf8"),await n.sync(),!0}finally{await n.close()}}(e,t);throw n}}finally{await rn(n)||cn(Nt.dirname(e))}}var ln=new Set,un={};function cn(e){ln.delete(e)}async function dn(e){if(e.hostname!==At())return!1;let t=Vt(e.pid);if("dead"===t)return!0;if("unknown"===t)return!1;let n=await Ht(e.pid);return null!==n&&"unavailable"!==e.process_start&&function(e,t){let n=Kt(e);return null!==n&&n===Kt(t)&&e!==t}(e.process_start,n)}function fn(e,t){return e.dev===t.dev&&e.ino===t.ino&&e.mtimeMs===t.mtimeMs&&e.raw===t.raw}async function pn(e,t,n){return null!==e.record?dn(e.record):t-e.mtimeMs>n}async function hn(e,t,n){let r=await on(e);if(null===r||!await pn(r,t,n))return!1;let i=`${e}.reaping-${Ot()}`;try{await R(e,i)}catch(e){if("ENOENT"===tn(e))return!1;if(nn(e))return!1;throw e}let a=await on(i);if(null!==a&&fn(a,r))return await te(i),!0;try{await W(i,e)}catch(e){if("EEXIST"!==tn(e))throw e}return await te(i),!1}async function mn(e,t,n,r,i){if(!await pn(t,r,i))return!1;let a=`${e}.recovery`,o={...n,nonce:Ot(),created_at:(new Date).toISOString(),purpose:`${n.purpose}:recovery`};for(let e=0;!await sn(a,o);e+=1)if(e>0||!await hn(a,r,i))return!1;try{let n=await on(e);if(null===n)return!0;if(!fn(n,t))return!1;if(!await pn(n,r,i))return!1;let s=await on(a);return null!==s&&s.record?.nonce===o.nonce&&(await te(e),!0)}finally{await yn(a,o)}}async function gn(e,t,n={}){let r=n.waitTimeoutMs??0,i=n.retryDelayMs??25,a=n.incompleteLockGraceMs??5e3,o=n.now??Date.now;if(r<0||i<=0||a<0)throw Error("lock wait options must be positive");let s=Nt.dirname(e);ln.has(s)||(ln.add(s),await async function(e,t=Date.now,n={}){let r;try{r=await V(e)}catch(t){if("ENOENT"===Dt(t)){for(let t of Tt)Pt.dirname(t)===e&&Zt(t);return 0}throw t}let i=0;for(let a of r){if(!Ft.test(a))continue;let r=Pt.join(e,a);try{let e=await ee(r);if(!Tt.has(r)&&t()-e.mtimeMs<=36e5)continue;let a=!1;for(let e=0;e<3;e+=1)try{await(n.unlink??te)(r),Zt(r),a=!0;break}catch(t){if("ENOENT"===Dt(t)){Zt(r),a=!0;break}if(!(n.isSharingError?.(t)??Rt(t)))throw t;e+1===3&&Mt(n,r)}a&&(i+=1)}catch(e){"ENOENT"===Dt(e)&&Zt(r),Mt(n,r)}}return i}(s,Date.now,{...void 0===un.unlink?{}:{unlink:un.unlink},...void 0===un.isSharingError?{}:{isSharingError:un.isSharingError},onFailure:()=>cn(s)}).catch(()=>{cn(s)}));let l=o()+r;for(;;){n.signal?.throwIfAborted();let r=await on(e);if(null===r){if(await sn(e,t))return;if(n.signal?.throwIfAborted(),r=await on(e),null===r)continue}if(!await mn(e,r,t,o(),a)){if(n.signal?.throwIfAborted(),o()>=l)throw new en(e,r.record);await an(Math.min(i,Math.max(1,l-o())),n.signal)}}}async function yn(e,t){let n=await on(e);if(null===n||n.record?.nonce!==t.nonce)return!1;try{return await te(e),!0}catch(e){if("ENOENT"===tn(e))return!1;throw e}}import vn from"node:path";Promise.resolve();[{class:"aws_access_key",ere:"(^|[^A-Za-z0-9_])AKIA[0-9A-Z]{16}([^A-Za-z0-9_]|$)"},{class:"credential_assignment",ere:"(^|[^A-Za-z0-9_])([Bb][Ee][Aa][Rr][Ee][Rr]|[Tt][Oo][Kk][Ee][Nn]|[Aa][Pp][Ii][-_]?[Kk][Ee][Yy]|[Ss][Ee][Cc][Rr][Ee][Tt]|[Pp][Aa][Ss][Ss][Ww][Oo][Rr][Dd]|[Pp][Aa][Ss][Ss][Ww][Dd]|[Pp][Ww][Dd])[[:space:]]*[=:][[:space:]]*[^[:space:]]{1,255}"},{class:"authorization_header",ere:"(^|[^A-Za-z0-9_])[Aa][Uu][Tt][Hh][Oo][Rr][Ii][Zz][Aa][Tt][Ii][Oo][Nn][[:space:]]*:[[:space:]]*[Bb][Ee][Aa][Rr][Ee][Rr][[:space:]]+[^[:space:]]{1,255}"},{class:"openai_key",ere:"(^|[^A-Za-z0-9_])sk-(proj-)?[-_A-Za-z0-9]+([^A-Za-z0-9_-]|$)"},{class:"vendor_token",ere:"(^|[^A-Za-z0-9_])(ghp|github_pat|glpat|xox[baprs])[-_][-_A-Za-z0-9]+([^A-Za-z0-9_-]|$)"}].map(({class:e,ere:t})=>[` if printf '%s' "$blob" | grep -E -q -e '${t}'; then`,` printf 'memory pre-commit: %s contains secret-like content (${e})\\n' "$p"`," fi"].join("\n")).join("\n");var wn=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/,bn=/^[-?:,[\]{}#&*!|>'"%@`]/,_n=/[\u0000-\u001f\u007f]/,kn=/^(?:true|True|TRUE|false|False|FALSE|null|Null|NULL|~)$/,$n=/^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+)?|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/,Sn=/^"(?:[^"\\\u0000-\u001f]|\\(?:["\\/bfnrt]|u[0-9a-fA-F]{4}))*"$/,En=/^'(?:[^']|'')*'$/;function xn(e){return e.length>=2&&(e.startsWith('"')||e.startsWith("'"))}function zn(e){if(Sn.test(e))try{let t=JSON.parse(e);return"string"==typeof t?t:void 0}catch{return}if(En.test(e))return e.slice(1,-1).replace(/''/g,"'")}function In(e){if(!e.startsWith("["))return;let t;try{t=JSON.parse(e)}catch{return}return Array.isArray(t)&&t.every(e=>"string"==typeof e)?t:void 0}function On(e){return 0!==e.length&&e===e.trim()&&(!_n.test(e)&&!bn.test(e)&&(!(e.includes(": ")||e.endsWith(":")||e.includes(" #"))&&(!kn.test(e)&&!$n.test(e))))}var An=/<\/?(?:description|parameter)\b[^>]*>?/i,Nn=/^([A-Za-z0-9_-]+):(?:[ \t]+(.*?))?[ \t]*$/;function Pn(e){return function(e,t){let n=wn.exec(e.replace(/\r\n?/g,"\n"));return null===n?"missing frontmatter (must start with --- and close with ---)":t(n[1]??"")}(e,Tn)}function Tn(e){let t=function(e){let t,n=new Set;for(let r of e.split("\n")){if(0===r.trim().length)continue;if(/^[ \t]/.test(r))return`indented continuation lines are not allowed (single-line scalars only): ${r.trim()}`;if(r.startsWith("#"))return`comment lines are not allowed in frontmatter: ${r}`;let e=Nn.exec(r);if(null===e)return`not a 'key: value' line: ${r}`;let i=e[1]??"",a=e[2]??"";if(n.has(i))return`duplicate frontmatter key '${i}'`;n.add(i);let o=jn(i,a);if(null!==o)return o;"description"===i&&(t=zn(a)??a)}return void 0===t?"missing required field 'description'":0===t.trim().length?"'description' must not be empty":/[\r\n]/.test(t)?"'description' must be a single line":null}(e);return null!==t?t:function(e){if(0===e.trim().length)return"'description' must not be empty";let t=An.exec(e);return null!==t?`'description' contains tool-call scaffolding ("${t[0]}"); the arguments of this call were malformed and split incorrectly - resend it with a one-line description and the body in file_text`:/[\r\n]/.test(e)?"'description' must be a single line":e.length>1024?`'description' exceeds 1024 characters (${e.length})`:null}(function(e){for(let t of e.split("\n")){let e=Nn.exec(t);if("description"===e?.[1])return zn(e[2]??"")??e[2]??""}return""}(e))}function jn(e,t){return 0===t.length?"description"===e?"'description' must not be empty":`'${e}' has no value`:xn(t)?void 0===zn(t)?`'${e}' is not a valid quoted scalar (use JSON double quotes): ${t}`:null:t.startsWith("[")?void 0===In(t)?`'${e}' must be a JSON array of strings: ${t}`:null:/^[>|]/.test(t)?`'${e}' must be a non-empty single line`:("description"===e||"kind"===e?On(t):function(e){return xn(e)?void 0!==zn(e):e.startsWith("[")?void 0!==In(e):On(e)||kn.test(e)||$n.test(e)}(t))?null:`'${e}' is not a safe YAML plain scalar (quote it, or remove ': ' and ' #'): ${t}`}var Zn=/^(?:memory\/)?(?:(?:system|reference|people)\/.*\.md|skills\/.+\/SKILL\.md)$/;function Fn(e){return Zn.test(e.replace(/\\/g,"/"))}new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});import{dirname as Dn}from"node:path";import{fileURLToPath as Mn}from"node:url";Dn(Mn(import.meta.url));import{createHash as Rn}from"node:crypto";import{join as Cn}from"node:path";function Ln(e,t){return Rn("sha256").update(e).digest("hex").slice(0,t)}function Bn(e){let t=e.factsQueue,n=Cn(t,"cursor");return{queueDir:t,cursorDir:n,consumedPath:Cn(t,"consumed.json"),failuresPath:Cn(t,"failures.json"),cursorPath:e=>Cn(n,`${Ln(e,12)}.json`),entryPath:(e,n,r)=>Cn(t,`${function(e){return e.toISOString().replaceAll("-","").replaceAll(":","").replace(".","")}(r)}-${Ln(e,12)}-${Ln(n,8)}.json`)}}var Un=["quick_category_unavailable","child_exit","deadline_exceeded","invalid_extraction","memory_write_lock_exhausted","parent_dirty","unknown_liveness","payload_envelope_oversize","payload_entry_oversize","secret_like_content","other"];class Jn extends Error{name="FactsFailuresCorruptError";constructor(e){super(`facts failures file is unusable: ${e}`)}}function Wn(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function Gn(e,t){if("string"!=typeof e||0===e.length)throw new Jn(`${t} must be a non-empty string`);return e}function qn(e,t){let n=Gn(e,t),r=new Date(n);if(Number.isNaN(r.getTime())||r.toISOString()!==n)throw new Jn(`${t} must be an ISO-8601 instant`);return n}function Hn(e,t){if("number"!=typeof e||!Number.isInteger(e)||e<0)throw new Jn(`${t} must be a non-negative integer`);return e}function Kn(e){if("string"!=typeof e||!Un.includes(e))throw new Jn(`lastReason "${String(e)}" is not a known reason`);return e}function Vn(e){if(!Wn(e))throw new Jn("entries must contain objects");let t=function(e){if("backoff"!==e&&"parked"!==e)throw new Jn(`state "${String(e)}" is not backoff or parked`);return e}(e.state),n=null===e.nextEligibleAt?null:qn(e.nextEligibleAt,"nextEligibleAt"),r=void 0===e.parkedAt?void 0:qn(e.parkedAt,"parkedAt");if("parked"===t&&(null!==n||void 0===r))throw new Jn("a parked record needs parkedAt and a null nextEligibleAt");if("backoff"===t&&(null===n||void 0!==r))throw new Jn("a backoff record needs nextEligibleAt and no parkedAt");let i=Hn(e.streak,"streak");if(i<1)throw new Jn("streak must be at least 1");let a={conversationId:Gn(e.conversationId,"conversationId"),end_message_id:Gn(e.end_message_id,"end_message_id"),end_snapshot_line:Hn(e.end_snapshot_line,"end_snapshot_line"),state:t,streak:i,firstFailureAt:qn(e.firstFailureAt,"firstFailureAt"),lastFailureAt:qn(e.lastFailureAt,"lastFailureAt"),lastReason:Kn(e.lastReason),lastFailureId:Gn(e.lastFailureId,"lastFailureId"),nextEligibleAt:n},o=function(e,t){if(void 0!==e)return Gn(e,t)}(e.lastDetail,"lastDetail");return{...a,...void 0===o?{}:{lastDetail:o},...void 0===r?{}:{parkedAt:r}}}function Xn(e){return[...e].sort((e,t)=>e.conversationId!==t.conversationId?e.conversationId<t.conversationId?-1:1:e.end_snapshot_line!==t.end_snapshot_line?e.end_snapshot_line-t.end_snapshot_line:e.end_message_id===t.end_message_id?0:e.end_message_id<t.end_message_id?-1:1)}var Yn=[6e4,3e5,18e5,72e5];function Qn(e,t){return`${e}\0${t}`}function er(e){return Qn(e.conversationId,e.end_message_id)}function tr(e){return Qn(e.conversationId,e.endMessageId)}function nr(e){let t=e.replace(/[\u0000-\u001f\u007f]+/g," ").trim();if(0!==t.length)return function(e,t){if(Buffer.byteLength(e,"utf8")<=t)return e;let n=0,r=0;for(let i of e){let e=Buffer.byteLength(i,"utf8");if(n+e>t)break;n+=e,r+=i.length}return e.slice(0,r)}(t,512)}function rr(e,t,n,r){let i=n.now.toISOString(),a=(e?.streak??0)+1,o="parked"===e?.state||"payload_entry_oversize"===n.reason||"secret_like_content"===n.reason||a>=5;return{conversationId:t.conversationId,end_message_id:t.endMessageId,end_snapshot_line:t.endSnapshotLine,state:o?"parked":"backoff",streak:a,firstFailureAt:e?.firstFailureAt??i,lastFailureAt:i,lastReason:n.reason,lastFailureId:n.failureId,nextEligibleAt:o?null:new Date(n.now.getTime()+ir(a)).toISOString(),...void 0===r?{}:{lastDetail:r},...o?{parkedAt:e?.parkedAt??i}:{}}}function ir(e){return Yn[Math.min(e,Yn.length)-1]??0}import{randomUUID as ar}from"node:crypto";import{dirname as or,join as sr}from"node:path";var lr=new Set(["ENOENT","EISDIR","EPERM","EACCES","EINVAL"]);function ur(e){if(e instanceof Error&&"code"in e)return"string"==typeof e.code?e.code:void 0}class cr{layout;lockPath;lockWaitMs;now;constructor(e){var t;this.layout=Bn(e.identityPaths),this.lockPath=(t=e.identityPaths.locks,vn.join(t,"facts-queue.lock")),this.lockWaitMs=e.lockWaitMs??2e3,this.now=e.now??(()=>new Date)}async readFailures(){return this.locked(()=>this.readUnlocked())}async recordFailure(e){return this.mutate((t,n)=>function(e){let t=void 0===e.detail?void 0:nr(e.detail),n=new Map(e.entries.map(e=>[er(e),e]));for(let r of e.targets){let i=n.get(tr(r));i?.lastFailureId!==e.failureId&&n.set(tr(r),rr(i,r,e,t))}return Xn([...n.values()])}({entries:t,targets:e.targets,failureId:e.failureId,reason:e.reason,...void 0===e.detail?{}:{detail:e.detail},now:n}))}async clearOnSuccess(e){return this.mutate(t=>function(e,t){let n=new Set(t.map(e=>tr(e)));return e.filter(e=>!n.has(er(e)))}(t,e))}async clearForRetry(e){let t=0;return await this.mutate(n=>{let r=function(e,t){return e.filter(e=>void 0!==t.conversationId&&e.conversationId!==t.conversationId||void 0!==t.endMessageId&&e.end_message_id!==t.endMessageId)}(n,e);return t=n.length-r.length,r}),t}async mutate(e){return this.locked(async()=>{let t=await this.readUnlocked(),n=this.now(),r=e(t.entries,n),i={version:t.version,updatedAt:n.toISOString(),entries:r};return await this.writeAtomically(function(e,t){let n={version:1,updatedAt:t,entries:Xn(e)};return`${JSON.stringify(n,null,2)}\n`}(r,i.updatedAt)),i})}async readUnlocked(){let e=await K(this.layout.failuresPath,"utf8").catch(e=>{if("ENOENT"!==ur(e))throw e});return void 0===e?{version:1,updatedAt:this.now().toISOString(),entries:[]}:function(e){let t;try{t=JSON.parse(e)}catch(e){throw new Jn(e instanceof Error?e.message:"unreadable JSON")}if(!Wn(t))throw new Jn("root must be an object");if(1!==t.version)throw new Jn(`unsupported version ${String(t.version)}`);if(!Array.isArray(t.entries))throw new Jn("entries must be an array");let n=t.entries.map(e=>Vn(e));return{version:1,updatedAt:qn(t.updatedAt,"updatedAt"),entries:Xn(n)}}(e)}async writeAtomically(e){let t=or(this.layout.failuresPath);await q(t,{recursive:!0});let n=sr(t,`.failures-${process.pid}-${ar()}.tmp`),r=await me(n,"wx",384);try{await P(r,e,"utf8"),await r.sync()}catch(e){throw await r.close(),await Y(n,{force:!0}),e}await r.close();try{await R(n,this.layout.failuresPath)}catch(e){throw await Y(n,{force:!0}),e}await async function(e){let t;try{t=await me(e,"r")}catch(e){if(lr.has(ur(e)??""))return;throw e}try{await t.sync()}catch(e){if(!lr.has(ur(e)??""))throw e}finally{await t.close()}}(t)}async locked(e){await q(this.layout.queueDir,{recursive:!0}),await q(or(this.lockPath),{recursive:!0});let t=await async function(e,t={}){if(0===e.length)throw Error("lock purpose must not be empty");let n=await Ht(process.pid);return{pid:process.pid,process_start:n??"unavailable",hostname:Lt(),nonce:Ct(),created_at:(new Date).toISOString(),purpose:e,...void 0===t.runId?{}:{run_id:t.runId}}}("facts-queue");return async function(e,t,n,r){await gn(e,t,r);try{return await n()}finally{await yn(e,t)}}(this.lockPath,t,e,{waitTimeoutMs:this.lockWaitMs})}}import{dirname as dr}from"node:path";import{fileURLToPath as fr}from"node:url";dr(fr(import.meta.url));class pr extends Error{name="ReflectionParkStateError"}function hr(e){if(!gr(e)||1!==e.version)throw new pr("Invalid reflection park state");let t=e.streak;if("number"!=typeof t||!Number.isInteger(t)||t<0)throw new pr("Invalid reflection park streak");let n=mr(e.firstFailureAt,"firstFailureAt"),r=mr(e.parkedAt,"parkedAt"),i=mr(e.lastProbeAt,"lastProbeAt"),a=void 0===e.lastFailure?void 0:function(e){if(!gr(e))throw new pr("Invalid reflection park failure");let{runId:t,at:n,fingerprint:r,retryable:i,reason:a,detail:o}=e;if("string"!=typeof t||"string"!=typeof r||"boolean"!=typeof i)throw new pr("Invalid reflection park failure");let s=mr(n,"at");if(void 0===s)throw new pr("Invalid reflection park failure timestamp");if(void 0!==a&&"string"!=typeof a)throw new pr("Invalid reflection park failure reason");if(void 0!==o&&"string"!=typeof o)throw new pr("Invalid reflection park failure detail");return{runId:t,at:s,fingerprint:r,retryable:i,...void 0===a?{}:{reason:a},...void 0===o?{}:{detail:o}}}(e.lastFailure);return{version:1,streak:t,...void 0===n?{}:{firstFailureAt:n},...void 0===a?{}:{lastFailure:a},...void 0===r?{}:{parkedAt:r},...void 0===i?{}:{lastProbeAt:i}}}function mr(e,t){if(void 0!==e){if("string"!=typeof e||Number.isNaN(Date.parse(e)))throw new pr(`Invalid reflection park ${t}`);return e}}function gr(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}import{join as yr}from"node:path";async function vr(e){let t;try{t=await K(e,"utf8")}catch(e){if("ENOENT"===function(e){if(!(e instanceof Error&&"code"in e))return;return"string"==typeof e.code?e.code:void 0}(e))return null;throw e}return JSON.parse(t)}var wr="quarantined.json",br="$MEMORY_DIR",_r="<external_projection>",kr="</external_projection>",$r={maxEntriesPerDirectory:40,maxBytes:24576};function Sr(e,t){let n=function(e,t){let n=t?.limits??{maxEntriesPerDirectory:0,maxBytes:0},r=n.maxEntriesPerDirectory>0||n.maxBytes>0,i=new Map;for(let t of e){let e=t.split("/").filter(Boolean),n=e.pop();if(void 0===n)continue;let r=e.length>0?`${e.join("/")}/`:"",a=i.get(r);a?a.push({name:n,path:t}):i.set(r,[{name:n,path:t}])}let a=[...i.keys()].filter(Boolean).sort((e,t)=>e.localeCompare(t));i.has("")&&a.unshift("");let o=a.map(e=>{let n=[...i.get(e)??[]],a=t?.times;n.sort((e,t)=>{if(r&&void 0!==a){let n=(a.get(t.path)??Number.NEGATIVE_INFINITY)-(a.get(e.path)??Number.NEGATIVE_INFINITY);if(0!==n&&!Number.isNaN(n))return n}return e.name.localeCompare(t.name)});let o=n.map(e=>_t(e.name)),s=e.split("/").filter(Boolean),l=""===e?"":`${s.map(_t).join("/")}/`,u=s.slice(0,function(e){let t=e.findIndex(e=>_t(e)!==e);return-1===t?e.length:t}(s));return{label:""===e?`${br}/`:l,pointer:`${br}/${0===u.length?"":`${u.join("/")}/`}`,names:o,nameBytes:o.map(e=>Buffer.byteLength(e))}}),s=n.maxEntriesPerDirectory,l=o.map(e=>s>0?Math.min(s,e.names.length):e.names.length),u=!i.has("");n.maxBytes>0&&function(e,t,n,r){let i=(n,r=t[n]??0)=>{let i=e[n];if(void 0===i)return 0;let a=Buffer.byteLength(`${i.label}: `);for(let e=0;e<r;e++)a+=(i.nameBytes[e]??0)+(e>0?2:0);let o=i.names.length-r;return o>0&&(a+=(r>0?1:0)+Buffer.byteLength(Er(o,i.pointer))),a},a=[...t],o=e.map((e,t)=>i(t)),s=2+(r?1:0),l=Buffer.byteLength(_r)+Buffer.byteLength(kr)+(r?Buffer.byteLength(`${br}/`):0)+o.reduce((e,t)=>e+t,0)+(s+e.length-1);for(;l>n;){let e=-1;for(let n=0;n<t.length;n++)(t[n]??0)>(t[e]??0)&&(e=n);if(-1===e)break;t[e]=(t[e]??0)-1;let n=o[e]??0;o[e]=i(e),l+=(o[e]??0)-n}if(l<=n)return;a.forEach((e,n)=>{let r=e;for(let t=e-1;t>=0;t--)i(n,t)<i(n,r)&&(r=t);t[n]=r})}(o,l,n.maxBytes,u);return{rootBare:u,directories:o,allowances:l}}(e,t),r=Buffer.byteLength(function({rootBare:e,directories:t,allowances:n}){let r=[_r];e&&r.push(`${br}/`);return t.forEach((e,t)=>{let i=n[t]??e.names.length,a=e.names.slice(0,i).join(", "),o=e.names.length-i,s=o>0?`${a?" ":""}${Er(o,e.pointer)}`:"";r.push(`${e.label}: ${a}${s}`)}),r.push(kr),r.join("\n")}(n)),i=n.directories.reduce((e,t)=>e+t.names.length,0),a=n.allowances.reduce((e,t)=>e+t,0),{maxBytes:o}=t.limits;return{shown:a,omitted:i-a,bytes:r,maxBytes:o,overflow:o>0&&r>o}}function Er(e,t){return`(+${e} more; read ${t} to list)`}async function xr(e,t,n=$r){let r=(await e.lsTree(t)).filter(zr);return Sr(r,await async function(e,t,n,r=$r){if(!(r.maxEntriesPerDirectory>0||r.maxBytes>0)||!t||0===n.length)return{times:new Map,limits:r};try{return{times:await e.pathCommitTimes(t),limits:r}}catch{return{times:new Map,limits:r}}}(e,t,r,n))}function zr(e){return!e.startsWith("system/")&&!e.startsWith("skills/")}new Date(0).toISOString();var Ir="\\p{Script=Hangul}\\p{Script=Han}\\p{Script=Hiragana}\\p{Script=Katakana}\\u30fc";new RegExp(`[${Ir}]+|(?:(?![${Ir}])[\\p{L}\\p{M}\\p{N}])+`,"gu"),new RegExp(`^[${Ir}]+$`,"u"),new RegExp(`[${Ir}]`,"u"),new RegExp(`[${Ir}]`,"gu"),new RegExp(`[\\p{L}${Ir}]`,"gu");import{dirname as Or}from"node:path";import{fileURLToPath as Ar}from"node:url";Or(Ar(import.meta.url));import{createHash as Nr}from"node:crypto";import{join as Pr,posix as Tr}from"node:path";var jr=new Set(["system","reference","notes","people","skills"]),Zr="memory/",Fr=new Set(["ARCHIVE.md","README.md"]);async function Dr(e,t={}){let n=await Mr(e),r=new Set(n),i=[],a=new Map;for(let t of n.filter(e=>e.endsWith(".md"))){let n,o=t.startsWith(Zr)?t.slice(7):t;jr.has(o.split("/")[0]??"")||Fr.has(t)||i.push({code:"path_orphan",path:t,detail:"outside memory homes"});try{n=new TextDecoder("utf-8",{fatal:!0}).decode(await K(Pr(e,t)))}catch(e){if(!(e instanceof Error))throw e;if(!(e instanceof TypeError||"code"in e))throw e;i.push({code:"file_unreadable",path:t,detail:e instanceof TypeError?"invalid UTF-8":"cannot read file"});continue}if(Fn(t)){let e=Pn(n);null!==e&&i.push({code:"frontmatter_invalid",path:t,detail:e})}let s=wn.exec(n)?.[2]??n;if(""!==s.trim()){let e=Nr("sha256").update(s).digest("hex"),n=a.get(e);n?n.push(t):a.set(e,[t])}i.push(...Rr(t,s,r))}for(let e of a.values()){if(e.length<2)continue;let t=e[0];if(void 0!==t)for(let n of e.slice(1))i.push({code:"content_duplicate",path:n,detail:`same body as ${t}`,related:e})}let o=t.systemTokens?.totalTokens,s=t.budgetTokens;void 0!==o&&void 0!==s&&o>=.8*s&&i.push({code:"system_pressure",path:"system/",detail:`${o} tokens of ${s} budget`});let l={link_dangling:0,frontmatter_invalid:0,content_duplicate:0,path_orphan:0,file_unreadable:0,system_pressure:0};for(let e of i)l[e.code]++;return{version:1,generatedAt:(new Date).toISOString(),issues:i,counts:l}}async function Mr(e,t=""){let n=[],r=await V(Pr(e,t),{withFileTypes:!0});r.sort((e,t)=>e.name<t.name?-1:e.name>t.name?1:0);for(let i of r){if(".git"===i.name||".tmp"===i.name||i.isSymbolicLink())continue;let r=t?`${t}/${i.name}`:i.name;i.isDirectory()?n.push(...await Mr(e,r)):i.isFile()&&n.push(r)}return n.sort()}function Rr(e,t,n){let r=[],i=function(e){let t;return e.split("\n").map(e=>{let n=/^ {0,3}(`{3,}|~{3,})(.*)$/.exec(e);return t?(n?.[1]?.[0]===t.char&&n[1].length>=t.length&&!n[2]?.trim()&&(t=void 0),""):n?.[1]?(t={char:n[1][0]??"",length:n[1].length},""):e.replace(/(`+)[^`]*?\1/g,"")}).join("\n")}(t),a=[...[...i.matchAll(/\[\[([^\]\n]+)\]\]/g)].map(e=>({raw:e[1]??"",wiki:!0})),...[...i.matchAll(/(?<!!)\[[^\]\n]*\]\((<?[^)\n]+>?)\)/g)].map(e=>({raw:e[1]??"",wiki:!1}))];for(let{raw:t,wiki:i}of a){let a=(i?t.split("|")[0]??"":Cr(t)).split("#")[0]?.trim()??"";if(!a||/^(?:https?:|mailto:)/i.test(a))continue;let o=Tr.normalize(i?a:Tr.join(Tr.dirname(e),a)),s=Tr.isAbsolute(a)||".."===o||o.startsWith("../");!s&&(n.has(o)||i&&n.has(`${o}.md`)||Lr(o,n))||r.push({code:"link_dangling",path:e,detail:s?`${a} (escapes repository)`:a})}return r}function Cr(e){let t=e.trim();return t.startsWith("<")?t.slice(1,-1===t.indexOf(">")?void 0:t.indexOf(">")):t.split(/\s+/)[0]??""}function Lr(e,t){let n=e.endsWith("/")?e:`${e}/`;for(let e of t)if(e.startsWith(n))return!0;return!1}import{join as Br}from"node:path";async function Ur(e,t){let{receipts:n,skippedPartialLines:r}=function(e){let t=[],n=0;for(let r of e.split("\n")){if(0===r.length)continue;let e=Jr(r);null===e?n++:t.push(e)}return{receipts:t,skippedPartialLines:n}}(await async function(e){try{return await K(function(e){return Br(e,"receipts.jsonl")}(e),"utf8")}catch(e){if(e instanceof Error&&"code"in e&&"ENOENT"===e.code)return"";throw e}}(e)),i=n.filter(e=>void 0===t.kind||e.kind===t.kind).reverse();return{receipts:void 0===t.limit?i:i.slice(0,t.limit),skippedPartialLines:r}}function Jr(e){let t;try{t=JSON.parse(e)}catch{return null}if("object"!=typeof t||null===t)return null;let n=t;return 1!==n.v||"string"!=typeof n.event||"string"!=typeof n.at?null:"facts"===n.kind?"string"==typeof n.batchId?n:null:"reflection"!==n.kind&&"dream"!==n.kind?null:"string"==typeof n.runId&&"string"==typeof n.generation?n:null}import{join as Wr}from"node:path";async function Gr(e,t){let n;try{n=await V(Wr(e,t),{withFileTypes:!0})}catch{return[]}let r=[];for(let i of n){let n=""===t?i.name:`${t}/${i.name}`;i.isDirectory()?r.push(...await Gr(e,n)):i.isFile()&&i.name.endsWith(".md")&&r.push(n)}return r}async function qr(e){let t=await Gr(e,"system"),n=[];for(let r of t){let t=await K(Wr(e,r),"utf8"),i=Buffer.byteLength(t,"utf8");n.push({path:r,bytes:i,tokens:Math.ceil(i/4)})}return n.sort((e,t)=>t.tokens-e.tokens||e.path.localeCompare(t.path)),{totalBytes:n.reduce((e,t)=>e+t.bytes,0),totalTokens:n.reduce((e,t)=>e+t.tokens,0),files:n}}import{createHash as Hr}from"node:crypto";import{hostname as Kr}from"node:os";import{join as Vr}from"node:path";var Xr=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,Yr=[/^\d+\s*\|/,/^\^+$/,/^at\s+\S/,/^(?:path|syscall|errno|code|dest|address|port|erroredSysCall)\s*:/i,/^Bun v\d/,/^\[truncated to last \d+ bytes\]$/],Qr=/^(?:[A-Z][A-Za-z]*(?:Error|Exception)|E[A-Z]{2,}|[Ee]rror|[Ww]arning|[Ff]atal)\b/;function ei(e,t){return`${e??"failed"}:${(function(e){if(void 0===e)return e;let t=e.split("\n").map(e=>e.replace(Xr,"").replace(/\s+/g," ").trim()).filter(e=>e.length>0&&!Yr.some(t=>t.test(e))),n=t.find(e=>Qr.test(e))??t[0];return void 0!==n?n.length<=200?n:`${n.slice(0,199)}…`:void 0}(t)??"").slice(0,60)}`}function ti(e){let t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,n])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function ni(e,t="|"){return e.map(e=>Si(e)).join(t)}function ri(e,t){return"bigint"==typeof t?t.toString():t}class ii{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return void 0!==e&&(this._value=e(),this._getter=void 0),this._value}}function ai(e){return new ii(e)}function oi(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function si(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function li(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function ui(e){return li(e._zod.def)??e._zod.def.shape}function ci(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return si(this,t,e),e},enumerable:!0,configurable:!0})}function di(e,t,n){t in e?si(e,t,n):e[t]=n}function fi(e,t,n,r){let i=ui(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?ci(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):di(e,a,r?r(n.value,a):n.value))}}function pi(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function hi(e){return JSON.stringify(e)}var mi="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function gi(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}var yi=ai(()=>{if(na.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function vi(e){if(!1===gi(e))return!1;let t=e.constructor;if(void 0===t)return!0;if("function"!=typeof t)return!0;let n=t.prototype;return!1!==gi(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")}function wi(e){return vi(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var bi=new Set(["string","number","symbol"]);function _i(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ki(e,t,n){let r=new e._zod.constr(t??e._zod.def);return t&&!n?.parent||(r._zod.parent=e),r}function $i(e){let t=e;if(!t)return{};if("string"==typeof t)return{error:()=>t};if(void 0!==t?.message){if(void 0!==t?.error)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,"string"==typeof t.error?{...t,error:()=>t.error}:t}function Si(e){return"bigint"==typeof e?e.toString()+"n":"string"==typeof e?`"${e}"`:`${e}`}var Ei={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},xi={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function zi(e,t){let n=ui(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function Ii(e,t){let n={};return fi(n,e,Reflect.ownKeys(ui(e))),function(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?ci(e,n,()=>t[n]):di(e,n,r.value))}}(n,t),n}function Oi(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`);let a=n?new Set(zi(t,n)):void 0,o={};return fi(o,t,Reflect.ownKeys(ui(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:"optional",innerType:t}))),ki(t,pi(t._zod.def,{shape:o,checks:[]}))}function Ai(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!0!==e.issues[n]?.continue)return!0;return!1}function Ni(e,t=0){if(!0===e.aborted)return!0;for(let n=t;n<e.issues.length;n++)if(!1===e.issues[n]?.continue)return!0;return!1}function Pi(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Ti(e){return"string"==typeof e?e:e?.message}function ji(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function Zi(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?e.schema?._zod.def?.error:void 0,o=e.message?e.message:Ti(e.inst?._zod.def?.error?.(e))??Ti(a?.(e))??Ti(t?.error?.(e))??Ti(n.customError?.(e))??Ti(n.localeError?.(e))??"Invalid input",s={};for(let t of Object.keys(e))"inst"!==t&&"schema"!==t&&"continue"!==t&&"input"!==t&&"__proto__"!==t&&(s[t]=e[t]);return s.path??(s.path=[]),s.message=o,t?.reportInput&&(s.input=e.input),s}var Fi=/[\uD800-\uDBFF]/;function Di(e){let t=e.length;if(!Fi.test(e))return t;let n=t;for(let r=0;r<t-1;r++)55296==(64512&e.charCodeAt(r))&&56320==(64512&e.charCodeAt(r+1))&&(n--,r++);return n}function Mi(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function Ri(...e){let[t,n,r]=e;return"string"==typeof t?{message:t,code:"custom",input:n,inst:r}:{...t}}function Ci(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Li(e,t,n){return Ci(e,t,n,!1)}function Bi(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return Ci(this,n,r(this))},set(e){Ci(this,n,e)}})}return t}function Ui(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return null==this?n:Ci(this,t,n.bind(this))},set(e){Ci(this,t,e)}})}var Ji,Wi=!1,Gi={configurable:!0,get(){Wi=!0}};function qi(e,t,n){let r=Object.getPrototypeOf(e._zod);t in r&&Ji!==e._zod?Ji=void 0:(Ji=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Gi);let e=Wi;Wi=!1;try{let r=n(this);return Wi?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Wi=Wi||e,r}catch(n){throw delete this[t],Wi=Wi||e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}}))}function Hi(e,t,n,r){let i=function(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}(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})}})}var Ki;function Vi(e){let t=()=>e;return t["~constantCatch"]=!0,t}var Xi={value:void 0,enumerable:!1},Yi="captureStackTrace"in Error?Error:null;function Qi(e,t,n,r){function i(e){this.def=e,this.constr=c,this.traits=new Set}i.prototype={};let a=n,o=a&&new WeakSet;function s(n,r){if(n._zod){if(n._zod.traits.has(e))return}else{Xi.value=new i(r);try{Object.defineProperty(n,"_zod",Xi)}finally{Xi.value=void 0}}if(n._zod.traits.add(e),t(n,r),o){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;o.has(i)||(o.add(i),function(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Ui(e,n,r.value)}}(i,a))}let s=c.prototype;for(let e in s)Object.prototype.hasOwnProperty.call(s,e)&&(e in n||(n[e]=s[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}function c(e){let t=r?.Parent?function(e){let t=Yi;if(t){let n=t.stackTraceLimit;if("number"==typeof n){try{t.stackTraceLimit=0}catch{return Yi=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}(u):this;s(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(u,"name",{value:e}),Object.defineProperty(c,"init",{value:s}),Object.defineProperty(c,Symbol.hasInstance,{value:t=>!!(r?.Parent&&t instanceof r.Parent)||t?._zod?.traits?.has(e)}),Object.defineProperty(c,"name",{value:e}),c}class ea extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class ta extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}(Ki=globalThis).__zod_globalConfig??(Ki.__zod_globalConfig={});var na=globalThis.__zod_globalConfig;function ra(e){return e&&Object.assign(na,e),na}var ia={get:function(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,ri,2)),e.message},set:function(e){this._zod.message=e},enumerable:!0,configurable:!0},aa={value:void 0,enumerable:!1},oa=new WeakSet([Object.prototype,Error.prototype]),sa=(e,t)=>{e.name="$ZodError",aa.value=t,Object.defineProperty(e,"issues",aa),aa.value=void 0,Object.defineProperty(e,"message",ia);let n=Object.getPrototypeOf(e);oa.has(n)||(oa.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})}}))},la=Qi("$ZodError",sa);Qi("$ZodError",sa,void 0,{Parent:Error});function ua(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||("__proto__"===t?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function ca(e,t){return{callee:t?.callee??e,Err:t?.Err}}var da=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 ea;if(s.issues.length){let n=new(a?.Err??e)(s.issues.map(e=>Zi(e,o,ra())));throw mi(n,a?.callee??t),n}return s.value};return t},fa=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=>Zi(e,o,ra())));throw mi(n,a?.callee??t),n}return s.value};return t},pa=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 ea;return a.issues.length?ha(e,a.issues,i):{success:!0,data:a.value}};function ha(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>Zi(e,n,ra()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var ma=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?ha(e,a.issues,i):{success:!0,data:a.value}},ga=Symbol.for("zod.compile.invalid"),ya=Symbol.for("zod.compile.fallback"),va=(e,t,n)=>{let r=e._zod.bag.validator;if(void 0!==r){if(r(t)!==ga)return!0;if(!0===r.definite&&void 0===n)return!1}return function(e,t,n){let r,i=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},a=e._zod.bag.fallbackRun;a?(i[ya]=!0,r=a({value:t,issues:[]},i)):r=e._zod.run({value:t,issues:[]},i);if(r instanceof Promise)throw new ea;return 0===r.issues.length}(e,t,n)};var wa=/^[cC][0-9a-z]{6,}$/,ba=/^[0-9a-z]+$/,_a=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,ka=/^[0-9a-vA-V]{20}$/,$a=/^[A-Za-z0-9]{27}$/,Sa=/^[a-zA-Z0-9_-]{21}$/;var Ea=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xa=/^([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})$/,za=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Ia=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var Oa=/^(?:(?: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])$/,Aa=/^(([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}|:))$/,Na=/^((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])$/,Pa=/^(([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])$/,Ta=/^https?$/,ja=/^\+[1-9]\d{6,14}$/,Za="(?:(?:\\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])))";var Fa=new RegExp(`^${Za}$`);function Da(e){return"number"==typeof e.precision?-1===e.precision?"(?:[01]\\d|2[0-3]):[0-5]\\d":0===e.precision?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}var Ma=/^[\s\S]{0,}$/,Ra=/^-?\d+(?:\.\d+)?$/,Ca=/^null$/i,La=/^[^A-Z]*$/,Ba=/^[^a-z]*$/,Ua=Qi("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ja=e=>{let t=e.value;return!(n=t,null==n||void 0===t.length);var n},Wa={number:"number",bigint:"bigint",object:"date"},Ga=Qi("$ZodCheckLessThan",(e,t)=>{Ua.init(e,t);let n=Wa[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Wa[typeof r.value]??n,code:"too_big",maximum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),qa=Qi("$ZodCheckGreaterThan",(e,t)=>{Ua.init(e,t);let n=Wa[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Wa[typeof r.value]??n,code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ha=Qi("$ZodCheckMultipleOf",(e,t)=>{Ua.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof n.value?t.value===BigInt(0)||n.value%t.value!==BigInt(0):0!==function(e,t){let n=e/t,r=Math.round(n),i=4*Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}(n.value,t.value))&&n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Ka=Qi("$ZodCheckNumberFormat",(e,t)=>{Ua.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[i,a]=Ei[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s))return void o.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});if(!Number.isSafeInteger(s))return void(s>0?o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,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:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}))}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})}}),Va=Qi("$ZodCheckMaxLength",(e,t)=>{var n;Ua.init(e,t),(n=e._zod.def).when??(n.when=Ja),e._zod.check=n=>{let r=n.value,i=r.length;if(("string"==typeof r&&i>t.maximum?Di(r):i)<=t.maximum)return;let a=Mi(r);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Xa=Qi("$ZodCheckMinLength",(e,t)=>{var n;Ua.init(e,t),(n=e._zod.def).when??(n.when=Ja),e._zod.check=n=>{let r=n.value,i=r.length;if(("string"==typeof r&&i>=t.minimum&&i<2*t.minimum?Di(r):i)>=t.minimum)return;let a=Mi(r);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ya=Qi("$ZodCheckLengthEquals",(e,t)=>{var n;Ua.init(e,t),(n=e._zod.def).when??(n.when=Ja),e._zod.check=n=>{let r=n.value,i=r.length,a="string"==typeof r&&i>=t.length&&i<=2*t.length?Di(r):i;if(a===t.length)return;let o=Mi(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})}}),Qa=Qi("$ZodCheckStringFormat",(e,t)=>{var n,r;Ua.init(e,t),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=()=>{})}),eo=Qi("$ZodCheckRegex",(e,t)=>{Qa.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})}}),to=Qi("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=La),Qa.init(e,t)}),no=Qi("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ba),Qa.init(e,t)}),ro=Qi("$ZodCheckIncludes",(e,t)=>{Ua.init(e,t);let n=_i(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position},}${n}`:n);t.pattern=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})}}),io=Qi("$ZodCheckStartsWith",(e,t)=>{Ua.init(e,t);let n=new RegExp(`^${_i(t.prefix)}.*`);t.pattern??(t.pattern=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})}}),ao=Qi("$ZodCheckEndsWith",(e,t)=>{Ua.init(e,t);let n=new RegExp(`.*${_i(t.suffix)}$`);t.pattern??(t.pattern=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})}}),oo=Qi("$ZodCheckOverwrite",(e,t)=>{Ua.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});class so{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{this.indent-=1}}write(e){if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{execution:"async"});let t=e.split("\n").filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>" ".repeat(2*this.indent)+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("\n")}\n};`)(...Object.values(this.closed))}}var lo={major:4,minor:6,patch:5},uo=Qi("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=lo;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(0===i.length)(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,a=Ai(t);for(let o of n){if(o._zod.def.when){if(Ni(t))continue;if(!o._zod.def.when(t))continue}else if(a)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&!1===r?.async)throw new ea;if(i||s instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(ji(t.issues,n,e),a||(a=Ai(t,n)))});else{if(t.issues.length===n)continue;ji(t.issues,n,e),a||(a=Ai(t,n))}}return i?i.then(()=>t):t},n=(n,r,a)=>{if(Ai(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(!1===a.async)throw new ea;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("backward"===a.direction){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(!1===a.async)throw new ea;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return Li(this,"~standard",fo(this))},set"~standard"(e){Ci(this,"~standard",e)}}),co=(e,t)=>e.issues.length?{issues:e.issues.map(e=>Zi(e,t,ra()))}:{value:e.value};function fo(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return co(r,n)}catch(e){}return async function(e,t){let n={async:!0};return co(await e._zod.run({value:t,issues:[]},n),n)}(e,t)},vendor:"zod",version:1}}var po=Qi("$ZodString",(e,t)=>{uo.init(e,t),e._zod.pattern=t.pattern??Ma,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}return"string"==typeof n.value||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),ho=Qi("$ZodStringFormat",(e,t)=>{Qa.init(e,t),po.init(e,t)}),mo=Qi("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=xa),ho.init(e,t)}),go=Qi("$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(void 0===e)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=za(e))}else t.pattern??(t.pattern=za());ho.init(e,t)}),yo=Qi("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ia),ho.init(e,t)});function vo(e){try{return typeof URL<"u"&&"function"==typeof URL.canParse?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function wo(e,t){return"normalize"in t||"hostname"in t||"protocol"in t?function(e,t){if(!t.normalize&&t.protocol?.source===Ta.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<"u"){let t=URL;if("function"==typeof t.parse)return t.parse(e)??2}return new URL(e)}catch{return 2}}(e,t):vo(e)||2}var bo=/[\t\n\r]/g;function _o(e){return e.replace(bo,"")}var ko=Qi("$ZodURL",(e,t)=>{ho.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=wo(r,t);return 1===i?void n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort}):2===i?void n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort}):!0===i?void(n.value=_o(r)):(t.hostname&&!function(e,t){return t.lastIndex=0,t.test(e.hostname)}(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&&!function(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}(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}),void(n.value=t.normalize?i.href:_o(r)))}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),$o=Qi("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=new RegExp("^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$","u")),ho.init(e,t)}),So=Qi("$ZodNanoID",(e,t)=>{if(void 0!==t.length&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);var n;t.pattern??(t.pattern=void 0===t.length?Sa:(n=t.length,new RegExp(`^[a-zA-Z0-9_-]{${n}}$`))),ho.init(e,t)}),Eo=Qi("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=wa),ho.init(e,t)}),xo=Qi("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ba),ho.init(e,t)}),zo=Qi("$ZodULID",(e,t)=>{t.pattern??(t.pattern=_a),ho.init(e,t)}),Io=Qi("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ka),ho.init(e,t)}),Oo=Qi("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=$a),ho.init(e,t)}),Ao=Qi("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=function(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${Da({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,r=e.local?`${n}|${Da({precision:e.precision})}`:n;return new RegExp(`^${Za}T(?:${r})$`)}(t)),ho.init(e,t)}),No=Qi("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Fa),ho.init(e,t)}),Po=Qi("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=new RegExp(`^${Da(t)}$`)),ho.init(e,t)}),To=Qi("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ea),ho.init(e,t)}),jo=Qi("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Oa),ho.init(e,t)}),Zo=/^[0-9a-fA-F:.]+$/;function Fo(e){return!!Zo.test(e)&&vo(`http://[${e}]`)}var Do=Qi("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Aa),ho.init(e,t),e._zod.check=n=>{Fo(n.value)||n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}),Mo=Qi("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Na),ho.init(e,t)});var Ro=Qi("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Pa),ho.init(e,t),e._zod.check=n=>{(function(e){let t=e.split("/");if(2!==t.length)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`===r&&!(i<0||i>128)&&Fo(n)})(n.value)||n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}});function Co(e){if(""===e)return!0;if(/\s/.test(e))return!1;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Lo=/^[0-9a-zA-Z+/]*={0,2}$/,Bo=Qi("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Lo),ho.init(e,t),e._zod.check=n=>{Co(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}}),Uo=/^[A-Za-z0-9_-]*$/;var Jo=Qi("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Uo),ho.init(e,t),e._zod.check=n=>{(function(e){if(!Uo.test(e))return!1;let t=e.replace(/[-_]/g,e=>"-"===e?"+":"/");return Co(t.padEnd(4*Math.ceil(t.length/4),"="))})(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Wo=Qi("$ZodE164",(e,t)=>{t.pattern??(t.pattern=ja),ho.init(e,t)});var Go=Qi("$ZodJWT",(e,t)=>{ho.init(e,t),e._zod.check=n=>{(function(e,t=null){try{let n=e.split(".");if(3!==n.length)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!("typ"in i&&"JWT"!==i?.typ||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}})(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),qo=Qi("$ZodNumber",(e,t)=>{uo.init(e,t),e._zod.pattern=Ra,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(e){}let i=n.value;if("number"==typeof i&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a="number"==typeof i?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}}),Ho=Qi("$ZodNumberFormat",(e,t)=>{Ka.init(e,t),qo.init(e,t)}),Ko=Qi("$ZodNull",(e,t)=>{uo.init(e,t),e._zod.pattern=Ca,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return null===r||t.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),t}}),Vo=Qi("$ZodUnknown",(e,t)=>{uo.init(e,t),e._zod.parse=e=>e}),Xo=Qi("$ZodNever",(e,t)=>{uo.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:e}),t)});function Yo(e,t,n){e.issues.length&&t.issues.push(...Pi(n,e.issues)),t.value[n]=e.value}var Qo=Qi("$ZodArray",(e,t)=>{uo.init(e,t);let n=na.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=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],l=t.element._zod.run({value:n,issues:[]},i);if(l instanceof Promise)o.push(l.then(t=>Yo(t,r,e)));else if(Yo(l,r,e),s&&0!==l.issues.length&&Ai(l))break}return o.length?Promise.all(o).then(()=>r):r}});function es(e,t,n,r,i,a){let o=n in r,s="optional"===a;if(o||!s||"optional"!==i){if(e.issues.length){if(void 0!==i&&s&&!o)return;t.issues.push(...Pi(n,e.issues))}o||void 0!==i?void 0===e.value?(o||"defaulted"===i&&!s)&&(t.value[n]=void 0):t.value[n]=e.value:e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]})}}var ts=[];function ns(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:ts,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=(o=e.shape,Object.keys(o).filter(e=>void 0!==o[e]._zod.optin&&"optional"===o[e]._zod.optout));var o;return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function rs(e,t,n,r,i,a,o){let s=[],l=i.keySet,u=i.catchall._zod,c=u.def.type,{optin:d,optout:f}=u,p=0;for(let i in t){if(o&&n.issues.length!==p){if(Ai(n,p))break;p=n.issues.length}if(l.has(i))continue;if("__proto__"===i){"never"===c&&s.push(i);continue}if("never"===c){s.push(i);continue}let a=u.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>es(e,n,i,t,d,f))):es(a,n,i,t,d,f)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var is=Qi("$ZodObject",(e,t)=>{uo.init(e,t);let n=Object.getOwnPropertyDescriptor(t,"shape"),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=ai(()=>ns(t));qi(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)||si(n,e,new Set);for(let t of r.values)n[e].add(t);void 0!==r.optin&&n[e].add(void 0)}}return n});let a,o=gi,s=t.catchall,l=na.memoizer;l?.attach(e),e._zod.parse=(t,n)=>{a??(a=i.value);let r=t.value;if(!o(r))return t.issues.push({expected:"object",code:"invalid_type",input:r,inst:e}),t;t.value=l?l.alloc(e,t,{},n):{};let u=[],c=a.shape,d=n?.abortEarly,f=t.issues.length;for(let e of a.allKeys){if(d&&t.issues.length!==f){if(Ai(t,f))break;f=t.issues.length}if("__proto__"===e)continue;let i=c[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?u.push(s.then(n=>es(n,t,e,r,a,o))):es(s,t,e,r,a,o)}return s?rs(u,r,t,n,i.value,e,!0===d):u.length?Promise.all(u).then(()=>t):t}}),as=Qi("$ZodObjectJIT",(e,t)=>{is.init(e,t);let n,r,i=e._zod.parse,a=ai(()=>ns(t)),o=na.memoizer,s=gi,l=!na.jitless,u=l&&yi.value,c=t.catchall;e._zod.parse=(d,f)=>{r??(r=a.value);let p=d.value;return s(p)?l&&u&&!1===f?.async&&!0!==f.jitless?(n||(n=(t=>{let n=a.value,r=n.symbolKeys,i=new so(["payload","ctx"],{shape:t,inst:e,memo:o,syms:r}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,l=(e,t)=>`\n let ${e}_ab = false;\n for (let i = 0; i < ${e}.issues.length; i++) {\n const iss = ${e}.issues[i];\n iss.path = iss.path ? [${t}, ...iss.path] : [${t}];\n payload.issues.push(iss);\n if (iss.continue !== true) ${e}_ab = true;\n }\n if (${e}_ab && ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }`;i.write("const input = payload.value;");let u=Object.create(null),c=0;for(let e of n.allKeys)u[e]="key_"+c++;i.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let e of n.allKeys){if("__proto__"===e)continue;let n=u[e],a="symbol"==typeof e?`syms[${r.indexOf(e)}]`:hi(e),o=`${a} in input`,c=t[e],d=c?._zod?.optin,f=void 0!==d,p="optional"===c?._zod?.optout;if(i.write(`const ${n} = ${s(a)};`),f&&p){let e="optional"===d?`${n}_present`:`${n}.value !== undefined || ${n}_present`;i.write(`\n const ${n}_present = ${o};\n if (!${n}.issues.length || ${n}_present) {\n if (${n}.issues.length) {${l(n,a)}\n }\n\n if (${e}) {\n newResult[${a}] = ${n}.value;\n }\n }\n\n `)}else f?(i.write(`\n if (${n}.issues.length) {${l(n,a)}\n }\n `),"defaulted"===d?i.write(`newResult[${a}] = ${n}.value;`):i.write(`\n if (${n}.value !== undefined || ${o}) {\n newResult[${a}] = ${n}.value;\n }\n `)):i.write(`\n const ${n}_present = ${o};\n if (${n}.issues.length) {${l(n,a)}\n }\n if (!${n}_present && !${n}.issues.length) {\n payload.issues.push({\n code: "invalid_type",\n expected: "nonoptional",\n input: undefined,\n path: [${a}]\n });\n if (ctx && ctx.abortEarly) {\n payload.value = newResult;\n return payload;\n }\n }\n\n if (${n}_present) {\n newResult[${a}] = ${n}.value;\n }\n\n `)}return i.write("payload.value = newResult;"),i.write("return payload;"),i.compile()})(t.shape)),d=n(d,f),c?rs([],p,d,f,r,e,!0===f?.abortEarly):d):i(d,f):(d.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),d)}});function os(e,t,n,r){for(let n of e)if(0===n.issues.length)return t.value=n.value,t;let i=e.filter(e=>!Ai(e));return 1===i.length?(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=>Zi(e,r,ra())))}),t)}var ss=Qi("$ZodUnion",(e,t)=>{uo.init(e,t),qi(e,"optin",e=>e.def.options.some(e=>"defaulted"===e._zod.optin)?"defaulted":e.def.options.some(e=>void 0!==e._zod.optin)?"optional":void 0),qi(e,"optout",e=>e.def.options.some(e=>"optional"===e._zod.optout)?"optional":void 0),qi(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)))}),qi(e,"pattern",e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return new RegExp(`^(${t.map(e=>oi(e.source)).join("|")})$`)}});let n=1===t.options.length?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(0===t.issues.length)return t;o.push(t)}}return a?Promise.all(o).then(t=>os(t,r,e,i)):os(o,r,e,i)}}),ls=Qi("$ZodIntersection",(e,t)=>{uo.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])=>cs(e,t,n)):cs(e,i,a)}});function us(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(vi(e)&&vi(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>-1!==n.indexOf(e)),i={...e,...t};Object.prototype.hasOwnProperty.call(i,"__proto__")&&delete i.__proto__;for(let n of r){if("__proto__"===n)continue;let r=us(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=us(e[r],t[r]);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function cs(e,t,n){let r,i=new Map,a=new Map,o=(e,t)=>{let n;if("unrecognized_keys"!==e.code||e.path?.length){if("invalid_key"!==e.code||"record"!==e.origin||1!==e.path?.length)return!1;{let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}}else r??(r=e),n=e.keys;for(let e of n)i.has(e)||i.set(e,{}),i.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=[...i].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=r?s.filter(e=>r.keys.includes(e)):[];t.length&&e.issues.push({...r,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let l=us(t.value,n.value);if(!l.valid){if(Ai(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(l.mergeErrorPath)}`)}return e.value=l.data,e}var ds=Qi("$ZodEnum",(e,t)=>{uo.init(e,t);let n=ti(t.entries),r=new Set(n);e._zod.values=r,qi(e,"pattern",e=>{let t=ti(e.def.entries).filter(e=>bi.has(typeof e));return new RegExp(t.length?`^(${t.map(e=>_i(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}}),fs=Qi("$ZodLiteral",(e,t)=>{uo.init(e,t);let n=new Set(t.values);e._zod.values=n,qi(e,"pattern",e=>{let t=e.def.values;return new RegExp(t.length?`^(${t.map(e=>"string"==typeof e?_i(e):e?_i(e.toString()):String(e)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),ps=Qi("$ZodTransform",(e,t)=>{uo.init(e,t),e._zod.optin="optional",na.memoizer?.guard(e),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new ta(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 ea;return n.value=i,n}});function hs(e,t){return e.value=t.issues.length?void 0:t.value,e}var ms=Qi("$ZodOptional",(e,t)=>{uo.init(e,t),qi(e,"optin",e=>"defaulted"===e.def.innerType._zod.optin?"defaulted":"optional"),e._zod.optout="optional",qi(e,"values",e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),qi(e,"pattern",e=>{let t=e.def.innerType._zod.pattern;return t?new RegExp(`^(${oi(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(void 0===e.value){if("defaulted"!==t.innerType._zod.optin)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>hs(e,t)):hs(e,r)}return t.innerType._zod.run(e,n)}}),gs=Qi("$ZodExactOptional",(e,t)=>{ms.init(e,t),qi(e,"values",e=>e.def.innerType._zod.values),qi(e,"pattern",e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ys=Qi("$ZodNullable",(e,t)=>{uo.init(e,t),qi(e,"optin",e=>e.def.innerType._zod.optin),qi(e,"optout",e=>e.def.innerType._zod.optout),qi(e,"pattern",e=>{let t=e.def.innerType._zod.pattern;return t?new RegExp(`^(${oi(t.source)}|null)$`):void 0}),qi(e,"values",e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n)}),vs=Qi("$ZodDefault",(e,t)=>{uo.init(e,t),e._zod.optin="defaulted",qi(e,"values",e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);if(void 0===e.value)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>ws(e,t)):ws(r,t)}});function ws(e,t){return void 0===e.value&&(e.value=t.defaultValue),e}var bs=Qi("$ZodPrefault",(e,t)=>{uo.init(e,t),e._zod.optin="defaulted",qi(e,"values",e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),_s=Qi("$ZodNonOptional",(e,t)=>{uo.init(e,t),qi(e,"values",e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>void 0!==e)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>ks(t,e)):ks(i,e)}});function ks(e,t){return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function $s(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>Zi(e,r,ra()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Ss=Qi("$ZodCatch",(e,t)=>{uo.init(e,t),qi(e,"optin",e=>"defaulted"===e.def.innerType._zod.optin?"defaulted":"optional"),qi(e,"optout",e=>e.def.innerType._zod.optout),qi(e,"values",e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if("backward"===n.direction)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=>$s(e,r,t,n)):$s(e,r,t,n)}}),Es=Qi("$ZodPipe",(e,t)=>{uo.init(e,t),qi(e,"values",e=>e.def.in._zod.values),qi(e,"optin",e=>e.def.in._zod.optin),qi(e,"optout",e=>e.def.out._zod.optout),qi(e,"propValues",e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if("backward"===n.direction){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>xs(e,t.in,n)):xs(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>xs(e,t.out,n)):xs(r,t.out,n)}});function xs(e,t,n){return e.issues.some(e=>"unrecognized_keys"!==e.code)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var zs=Qi("$ZodReadonly",(e,t)=>{uo.init(e,t),qi(e,"propValues",e=>e.def.innerType._zod.propValues),qi(e,"values",e=>e.def.innerType._zod.values),qi(e,"optin",e=>e.def.innerType?._zod?.optin),qi(e,"optout",e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if("backward"===n.direction)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Is):Is(r)}});function Is(e){return e.memo||(e.value=Object.freeze(e.value)),e}var Os=Qi("$ZodCustom",(e,t)=>{Ua.init(e,t),uo.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=>As(t,n,r,e));As(i,n,r,e)}});function As(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(Ri(e))}}class Ns extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}}var Ps="~memo",Ts=[];function js(e){return null!==e&&"object"==typeof e}function Zs(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var Fs=new WeakMap;function Ds(e,t,n){let r=Fs.get(e);if(void 0!==r)return r?2:0;if(t.has(e))return 2;t.add(e);let i=0,a=e=>{if(2!==i&&e?._zod){let r=Ds(e,t,n);r>i&&(i=r)}},o=e=>{e>i&&(i=e)},s=e._zod.def;switch(s.type){case"object":{let e=li(s);o(e?((e,r)=>{let i=0;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?1:o.value?._zod?Ds(o.value,t,n):0;s>i&&(i=s)}return i})(e,!0):1),a(s.catchall);break}case"array":a(s.element);break;case"tuple":for(let e of s.items)a(e);a(s.rest);break;case"record":case"map":a(s.keyType),a(s.valueType);break;case"set":a(s.valueType);break;case"union":for(let e of s.options)a(e);break;case"intersection":a(s.left),a(s.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":a(s.innerType);break;case"pipe":a(s.in),a(s.out);break;case"function":a(s.input),a(s.output);break;case"lazy":{let r=s._cachedInner??(n?e._zod.innerType:void 0);o(r?Ds(r,t,!1):1);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let e in s){let t=Object.getOwnPropertyDescriptor(s,e);if(!t||t.get)continue;let n=t.value;if(n&&"object"==typeof n)if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}return t.delete(e),function(e,t){1!==t&&Fs.set(e,2===t);return t}(e,i)}var Ms,Rs=[],Cs={alloc(e,t,n){let r=Ms;if(!r)return n;Ms=void 0;let i={value:n,issues:null};return r.set(t.value,i),Rs.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("backward"!==n.direction&&function(e,t){let n=e[Ps]?.backEdges;return void 0!==n&&js(t)&&n.has(t)}(n,e.value))throw new Ns;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r,i,a=!1;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,l)=>{if(void 0===n){let r=Ds(e,new Set,!1);if(0===r)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,l);2===r||a?n=!0:a=!0}let u=s.value;if(!js(u))return t(s,l);let c,d=l[Ps];d||(d={buckets:new WeakMap,backEdges:void 0},l[Ps]=d),r===l?c=i:(c=function(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}(d,e),r=l,i=c);let f=c.get(u);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...Zs(f.issues)):(s.memo=!0,d.backEdges??(d.backEdges=new WeakSet),d.backEdges.add(f.value)),s;Ms=c;let p=Rs.length,h=t(s,l);Ms=void 0;let m=Rs.length>p?Rs.pop():void 0;return h instanceof Promise?h.then(e=>(m&&(m.issues=e.issues.length?Zs(e.issues):Ts),e)):(m&&(m.issues=h.issues.length?Zs(h.issues):Ts),h)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};var Ls,Bs=()=>{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",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};function i(e,t){return"number"!==e||"number"!=typeof t||Number.isFinite(t)?r[e]??e:String(t)}return e=>{switch(e.code){case"invalid_type":return`Invalid input: expected ${i(e.expected)}, received ${i(function(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(null===e)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}(e.input),e.input)}`;case"invalid_value":return 1===e.values.length?`Invalid input: expected ${Si(e.values[0])}`:`Invalid option: expected one of ${ni(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"starts_with"===t.format?`Invalid string: must start with "${t.prefix}"`:"ends_with"===t.format?`Invalid string: must end with "${t.suffix}"`:"includes"===t.format?`Invalid string: must include "${t.includes}"`:"regex"===t.format?`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":""}: ${ni(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(" | ")}`:!1===e.inclusive?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${e.origin}`;default:return"Invalid input"}}};class Us{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&"object"==typeof n&&"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&&"object"==typeof t&&"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)}}(Ls=globalThis).__zod_globalRegistry??(Ls.__zod_globalRegistry=new Us);var Js=globalThis.__zod_globalRegistry;function Ws(e){return e.checks&&(e.checks=[...e.checks]),e}function Gs(e,t){return new Ga({check:"less_than",...$i(t),value:e,inclusive:!1})}function qs(e,t){return new Ga({check:"less_than",...$i(t),value:e,inclusive:!0})}function Hs(e,t){return new qa({check:"greater_than",...$i(t),value:e,inclusive:!1})}function Ks(e,t){return new qa({check:"greater_than",...$i(t),value:e,inclusive:!0})}function Vs(e,t){return new Ha({check:"multiple_of",...$i(t),value:e})}function Xs(e,t){return new Va({check:"max_length",...$i(t),maximum:e})}function Ys(e,t){return new Xa({check:"min_length",...$i(t),minimum:e})}function Qs(e,t){return new Ya({check:"length_equals",...$i(t),length:e})}function el(e){return new oo({check:"overwrite",tx:e})}function tl(e,t){let n=function(e,t){let n=new Ua({check:"custom",...$i(t)});return n._zod.check=e,n}(t=>(t.addIssue=e=>{if("string"==typeof e)t.issues.push(Ri(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??(r.code="custom"),"input"in r||(r.input=t.value),r.inst??(r.inst=n),r.continue??(r.continue=!n._zod.def.abort),t.issues.push(Ri(r))}},e(t.value,t)),t);return n}function nl(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&si(e,t,n[t]);return e}function rl(e){let t=e?.target??"draft-2020-12";return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Js,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:[],deferred:[],external:e?.external??void 0}}function il(e,t,n,r,i){let a="function"==typeof t.unrepresentable?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if("any"===a)return!1;if(void 0===a||"throw"===a)throw Error(i);return Object.assign(n,a),!0}function al(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||(o.ref=a),al(a,t,r),t.seen.get(a).isParent=!0)}let l=t.metadataRegistry.get(e);return l&&nl(o.schema,l),"input"===t.io&&ml(e)&&(delete o.schema.examples,delete o.schema.default),"input"===t.io&&"_prefault"in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function ol(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function sl(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=>{if(t[1].schema.$ref)return;let r=t[1],{ref:i,defId:a}=(t=>{let r="draft-2020-12"===e.target?"$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}/${ol(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+ol(a)}})(t);r.def={...r.schema},a&&(r.defId=a);let o=r.schema;for(let e in o)delete o[e];o.$ref=i};if("throw"===e.cycles)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join("/")}/<root>\n\nSet 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]){if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){i(n);continue}}(e.metadataRegistry.get(n[0])?.id||r.cycle||r.count>1&&"ref"===e.reused)&&i(n)}else i(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function ll(e){let t=e.anyOf;if(!Array.isArray(t)||0===t.length||void 0!==e.type)return;let n=[];for(let e of t){if(!e||"object"!=typeof e)return;ll(e);let t=Object.keys(e);if(1!==t.length||"type"!==t[0])return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if("string"!=typeof e)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=1===n.length?n[0]:n}var ul=new Set(["type","properties","required","additionalProperties"]),cl=["oneOf","anyOf"];function dl(e){let t=e.additionalProperties;return void 0===t||!1===t||"object"!=typeof t||null===t?null:Object.keys(t).length?t:null}function fl(e){let t=[];for(let n of e){if("object"!=typeof n||"object"!==n.type)return null;for(let e in n)if(!ul.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]??dl(n);null!=t&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}si(n,r,1===e.length?e[0]:fl(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=>!1===e.additionalProperties))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=dl(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}1===e.length?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function pl(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ul)if(t in e)return;let n=t.filter(e=>cl.some(t=>Array.isArray(e[t]))),r=null;if(n.length){let e=n[0],i=cl.find(t=>Array.isArray(e[t]));if(1!==Object.keys(e).length)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>fl([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}else r=fl(t);r&&(delete e.allOf,nl(e,r))}function hl(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(null===n.ref)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||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?nl(i,s):(i.allOf=i.allOf??[],i.allOf.push(s)),nl(i,a),t._zod.parent===o)for(let e in i)"$ref"!==e&&"allOf"!==e&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)"$ref"!==e&&"allOf"!==e&&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)"$ref"!==e&&"allOf"!==e&&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("openapi-3.0"!==e.target)for(let t of e.seen.entries())ll(t[1].def??t[1].schema);for(let t of e.deferred)t();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)??[])pl(e)}}let i={};if("draft-2020-12"===e.target?i.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?i.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?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)}nl(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;void 0!==a&&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,si(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&("draft-2020-12"===e.target?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t["~standard"],jsonSchema:{input:gl(t,"input",e.processors),output:gl(t,"output",e.processors)}},enumerable:!1,writable:!1}),n}catch(e){throw Error("Error converting schema to JSON.")}}function ml(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("transform"===r.type)return!0;if("array"===r.type)return ml(r.element,n);if("set"===r.type)return ml(r.valueType,n);if("lazy"===r.type)return ml(r.getter(),n);if("promise"===r.type||"optional"===r.type||"nonoptional"===r.type||"nullable"===r.type||"readonly"===r.type||"default"===r.type||"prefault"===r.type||"catch"===r.type)return ml(r.innerType,n);if("intersection"===r.type)return ml(r.left,n)||ml(r.right,n);if("record"===r.type||"map"===r.type)return ml(r.keyType,n)||ml(r.valueType,n);if("pipe"===r.type)return!!e._zod.traits.has("$ZodCodec")||(ml(r.in,n)||ml(r.out,n));if("object"===r.type){for(let e in r.shape)if(ml(r.shape[e],n))return!0;return!1}if("union"===r.type){for(let e of r.options)if(ml(e,n))return!0;return!1}if("tuple"===r.type){for(let e of r.items)if(ml(e,n))return!0;return!(!r.rest||!ml(r.rest,n))}return!1}var gl=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=rl({...i??{},target:a,io:t,processors:n});return al(e,o),sl(o,e),hl(o,e)},yl=(e,t,n)=>{(void 0===e[t]||n>e[t])&&(e[t]=n)},vl=(e,t,n)=>{(void 0===e[t]||n<e[t])&&(e[t]=n)},wl=(e,t)=>{yl(e,"minimum",t),vl(e,"maximum",t)},bl=(e,t)=>{e.multipleOf??(e.multipleOf=[]),e.multipleOf.includes(t)||e.multipleOf.push(t)},_l=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},kl=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},$l=(e,t)=>{e.format=t,t.includes("int")&&(e.isInt=!0)},Sl=(e,t)=>yl(e,"minimum",t.minimum),El=(e,t)=>vl(e,"maximum",t.maximum),xl=e=>(t,n)=>{$l(t,n.format);let[r,i]=e[n.format];yl(t,"minimum",r),vl(t,"maximum",i)},zl={greater_than:(e,t)=>yl(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>vl(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>bl(e,t.value),number_format:xl(Ei),bigint_format:xl(xi),min_length:Sl,max_length:El,length_equals:(e,t)=>wl(e,t.length),min_size:Sl,max_size:El,size_equals:(e,t)=>wl(e,t.size),string_format:(e,t)=>{$l(e,t.format),t.pattern&&_l(e,t.pattern),"base64"!==t.format&&"base64url"!==t.format||(e.contentEncoding=t.format),(t.local||-1===t.precision)&&(e.laxFormat=!0)},mime_type:(e,t)=>kl(e,t.mime)};function Il(e){let t={},n=e._zod.def,r=e._zod.traits.has("$ZodCheck")?[e,...n.checks??[]]:n.checks??[];for(let e of r)zl[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;void 0!==i.minimum&&yl(t,"minimum",i.minimum),void 0!==i.exclusiveMinimum&&yl(t,"exclusiveMinimum",i.exclusiveMinimum),void 0!==i.maximum&&vl(t,"maximum",i.maximum),void 0!==i.exclusiveMaximum&&vl(t,"exclusiveMaximum",i.exclusiveMaximum),void 0!==i.multipleOf&&bl(t,i.multipleOf),void 0!==i.format&&(t.format??(t.format=i.format),i.format.includes("int")&&(t.isInt=!0)),i.mime&&kl(t,i.mime);for(let e of i.patterns??[])_l(t,e);return t}var Ol={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Al=new Map([[Lo,/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/],[Uo,/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/]]),Nl=e=>Al.get(e)??e;function Pl(e){let t=e._zod.def;return"pipe"===t.type&&t.in._zod.traits.has("$ZodTransform")?Pl(t.out):"catch"===t.type?Pl(t.innerType):e._zod.optin}var Tl=Symbol();function jl(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>"bigint"!=typeof t?t:(a=!0,null));return a?(il(t,n,r,i,"BigInt defaults cannot be represented in JSON Schema"),Tl):JSON.parse(o)}var Zl=(e,t,n,r)=>{let i=e._zod.def;al(i.innerType,t,r),t.seen.get(e).ref=i.innerType},Fl=new WeakSet([Object.prototype,Error.prototype]);function Dl(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})}})}var Ml,Rl=Qi("ZodError",(e,t)=>{la.init(e,t),e.name="ZodError";let n=Object.getPrototypeOf(e);Fl.has(n)||(Fl.add(n),Dl(n,"format",e=>t=>function(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if("invalid_union"===a.code&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if("invalid_key"===a.code)r({issues:a.issues},[...i,...a.path]);else if("invalid_element"===a.code)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(0===e.length)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("_errors"===n){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}(e,t)),Dl(n,"flatten",e=>t=>function(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?ua(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}(e,t)),Dl(n,"addIssue",e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ri,2)}),Dl(n,"addIssues",e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ri,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return 0===this.issues.length}}))},void 0,{Parent:Error}),Cl=da(Rl),Ll=fa(Rl),Bl=pa(Rl),Ul=ma(Rl),Jl=(e=>{let t=da(e),n=(e,r,i,a)=>{let o=i?{...i,direction:"backward"}:{direction:"backward"};return t(e,r,o,ca(n,a))};return n})(Rl),Wl=(e=>{let t=da(e),n=(e,r,i,a)=>t(e,r,i,ca(n,a));return n})(Rl),Gl=(e=>{let t=fa(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:"backward"}:{direction:"backward"};return await t(e,r,o,ca(n,a))};return n})(Rl),ql=(e=>{let t=fa(e),n=async(e,r,i,a)=>await t(e,r,i,ca(n,a));return n})(Rl),Hl=(Ml=Rl,(e,t,n)=>{let r=n?{...n,direction:"backward"}:{direction:"backward"};return pa(Ml)(e,t,r)}),Kl=(e=>(t,n,r)=>pa(e)(t,n,r))(Rl),Vl=(e=>async(t,n,r)=>{let i=r?{...r,direction:"backward"}:{direction:"backward"};return ma(e)(t,n,i)})(Rl),Xl=(e=>async(t,n,r)=>ma(e)(t,n,r))(Rl);function Yl(){na.localeError||ra({localeError:Bs()})}function Ql(){na.memoizer||ra({memoizer:Cs})}var eu=Qi("ZodType",(e,t)=>(Yl(),uo.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(pi(t,{checks:[...t.checks??[],...e.map(e=>"function"==typeof e?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return ki(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(function(e,t={}){return function(e,t,n){return new e({type:"custom",check:"custom",fn:t,...$i(n)})}(rc,e,t)}(e,t))},superRefine(e,t){return this.check(function(e,t){return tl(e,t)}(e,t))},overwrite(e){return this.check(el(e))},optional(){return Gu(this)},exactOptional(){return new qu({type:"optional",innerType:this})},nullable(){return Ku(this)},nullish(){return Gu(Ku(this))},nonoptional(e){return function(e,t){return new Yu({type:"nonoptional",innerType:e,...$i(t)})}(this,e)},array(){return function(e,t,n){return new e({type:"array",element:t,...$i(n)})}(Fu,this,e);var e},or(e){return new Ru({type:"union",options:[this,e],...$i(t)});var t},and(e){return new Cu({type:"intersection",left:this,right:e})},transform(e){return tc(this,new Ju({type:"transform",transform:e}))},default(e){return t=e,new Vu({type:"default",innerType:this,get defaultValue(){return"function"==typeof t?t():wi(t)}});var t},prefault(e){return t=e,new Xu({type:"prefault",innerType:this,get defaultValue(){return"function"==typeof t?t():wi(t)}});var t},catch(e){return new Qu({type:"catch",innerType:this,catchValue:"function"==typeof(t=e)?t:Vi(t)});var t},pipe(e){return tc(this,e)},readonly(){return new nc({type:"readonly",innerType:this})},describe(e){let t=this.clone();return Js.add(t,{description:e}),t},meta(...e){if(0===e.length)return Js.get(this);let t=this.clone();return Js.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return 0===t.length?e(this):e(this,...t)},get"~standard"(){return Li(this,"~standard",{...fo(this),jsonSchema:{input:gl(this,"input"),output:gl(this,"output")}})},set"~standard"(e){Ci(this,"~standard",e)},parse:function e(t,n){return Cl(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ll(this,t,n,{callee:e})},safeParse(e,t){return Bl(this,e,t)},async safeParseAsync(e,t){return Ul(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Ci(this,"spa",e)},validate(e,t){return va(this,e,t)},validateAsync(e,t){return(async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),0===i.issues.length})(this,e,t)},encode:function e(t,n){return Jl(this,t,n,{callee:e})},decode:function e(t,n){return Wl(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Gl(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await ql(this,t,n,{callee:e})},safeEncode(e,t){return Hl(this,e,t)},safeDecode(e,t){return Kl(this,e,t)},async safeEncodeAsync(e,t){return Vl(this,e,t)},async safeDecodeAsync(e,t){return Xl(this,e,t)},toJSONSchema(e){return((e,t={})=>n=>{let r=rl({...n,processors:t});return al(e,r),sl(r,e),hl(r,e)})(this,{})(e)},get description(){return Js.get(this)?.description},get _def(){return this._zod.def}}),tu=Qi("_ZodString",(e,t)=>{po.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{let r=n;r.type="string";let{minimum:i,maximum:a,format:o,patterns:s,contentEncoding:l,laxFormat:u}=Il(e);if("number"==typeof i&&(r.minLength=i),"number"==typeof a&&(r.maxLength=a),o&&(r.format=Ol[o]??o,""===r.format&&delete r.format,("time"===o||u)&&delete r.format),l&&(r.contentEncoding=l),s&&s.size>0){let e=[...s].map(Nl);1===e.length?r.pattern=e[0].source:e.length>1&&(r.allOf=[...e.map(e=>({..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{type:"string"}:{},pattern:e.source}))])}})(e,t,n)},Bi({format:e=>Il(e).format??null,minLength:e=>Il(e).minimum??null,maxLength:e=>Il(e).maximum??null},{regex(...e){return this.check(function(e,t){return new eo({check:"string_format",format:"regex",...$i(t),pattern:e})}(...e))},includes(...e){return this.check(function(e,t){return new ro({check:"string_format",format:"includes",...$i(t),includes:e})}(...e))},startsWith(...e){return this.check(function(e,t){return new io({check:"string_format",format:"starts_with",...$i(t),prefix:e})}(...e))},endsWith(...e){return this.check(function(e,t){return new ao({check:"string_format",format:"ends_with",...$i(t),suffix:e})}(...e))},min(...e){return this.check(Ys(...e))},max(...e){return this.check(Xs(...e))},length(...e){return this.check(Qs(...e))},nonempty(...e){return this.check(Ys(1,...e))},lowercase(e){return this.check(function(e){return new to({check:"string_format",format:"lowercase",...$i(e)})}(e))},uppercase(e){return this.check(function(e){return new no({check:"string_format",format:"uppercase",...$i(e)})}(e))},trim(){return this.check(el(e=>e.trim()))},normalize(...e){return this.check(function(e){return el(t=>t.normalize(e))}(...e))},toLowerCase(){return this.check(el(e=>e.toLowerCase()))},toUpperCase(){return this.check(el(e=>e.toUpperCase()))},slugify(){return this.check(el(e=>function(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}(e)))}})),nu=Qi("ZodString",(e,t)=>{po.init(e,t),tu.init(e,t)},{email(e){return this.check(function(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...$i(t)})}(uu,e))},url(e){return this.check(function(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...$i(t)})}(fu,e))},jwt(e){return this.check(function(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...$i(t)})}(zu,e))},emoji(e){return this.check(function(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...$i(t)})}(pu,e))},guid(e){return this.check(function(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...$i(t)})}(cu,e))},uuid(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...$i(t)})}(du,e))},uuidv4(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...$i(t)})}(du,e))},uuidv6(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...$i(t)})}(du,e))},uuidv7(e){return this.check(function(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...$i(t)})}(du,e))},nanoid(e){return this.check(function(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...$i(t)})}(hu,e))},cuid(e){return this.check(function(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...$i(t)})}(mu,e))},cuid2(e){return this.check(function(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...$i(t)})}(gu,e))},ulid(e){return this.check(function(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...$i(t)})}(yu,e))},base64(e){return this.check(function(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...$i(t)})}(Su,e))},base64url(e){return this.check(function(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...$i(t)})}(Eu,e))},xid(e){return this.check(function(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...$i(t)})}(vu,e))},ksuid(e){return this.check(function(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...$i(t)})}(wu,e))},ipv4(e){return this.check(function(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...$i(t)})}(bu,e))},ipv6(e){return this.check(function(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...$i(t)})}(_u,e))},cidrv4(e){return this.check(function(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...$i(t)})}(ku,e))},cidrv6(e){return this.check(function(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...$i(t)})}($u,e))},e164(e){return this.check(function(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...$i(t)})}(xu,e))},datetime(e){return this.check(function(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...$i(t)})}(au,e))},date(e){return this.check(function(e,t){return new e({type:"string",format:"date",check:"string_format",...$i(t)})}(ou,e))},time(e){return this.check(function(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...$i(t)})}(su,e))},duration(e){return this.check(function(e,t){return new e({type:"string",format:"duration",check:"string_format",...$i(t)})}(lu,e))}});function ru(e){return function(e,t){return new e(Ws({type:"string",...$i(t)}))}(nu,e)}var iu=Qi("ZodStringFormat",(e,t)=>{ho.init(e,t),tu.init(e,t)}),au=Qi("ZodISODateTime",(e,t)=>{Ao.init(e,t),iu.init(e,t)}),ou=Qi("ZodISODate",(e,t)=>{No.init(e,t),iu.init(e,t)}),su=Qi("ZodISOTime",(e,t)=>{Po.init(e,t),iu.init(e,t)}),lu=Qi("ZodISODuration",(e,t)=>{To.init(e,t),iu.init(e,t)}),uu=Qi("ZodEmail",(e,t)=>{yo.init(e,t),iu.init(e,t)}),cu=Qi("ZodGUID",(e,t)=>{mo.init(e,t),iu.init(e,t)}),du=Qi("ZodUUID",(e,t)=>{go.init(e,t),iu.init(e,t)}),fu=Qi("ZodURL",(e,t)=>{ko.init(e,t),iu.init(e,t)}),pu=Qi("ZodEmoji",(e,t)=>{$o.init(e,t),iu.init(e,t)}),hu=Qi("ZodNanoID",(e,t)=>{So.init(e,t),iu.init(e,t)}),mu=Qi("ZodCUID",(e,t)=>{Eo.init(e,t),iu.init(e,t)}),gu=Qi("ZodCUID2",(e,t)=>{xo.init(e,t),iu.init(e,t)}),yu=Qi("ZodULID",(e,t)=>{zo.init(e,t),iu.init(e,t)}),vu=Qi("ZodXID",(e,t)=>{Io.init(e,t),iu.init(e,t)}),wu=Qi("ZodKSUID",(e,t)=>{Oo.init(e,t),iu.init(e,t)}),bu=Qi("ZodIPv4",(e,t)=>{jo.init(e,t),iu.init(e,t)}),_u=Qi("ZodIPv6",(e,t)=>{Do.init(e,t),iu.init(e,t)}),ku=Qi("ZodCIDRv4",(e,t)=>{Mo.init(e,t),iu.init(e,t)}),$u=Qi("ZodCIDRv6",(e,t)=>{Ro.init(e,t),iu.init(e,t)}),Su=Qi("ZodBase64",(e,t)=>{Bo.init(e,t),iu.init(e,t)}),Eu=Qi("ZodBase64URL",(e,t)=>{Jo.init(e,t),iu.init(e,t)}),xu=Qi("ZodE164",(e,t)=>{Wo.init(e,t),iu.init(e,t)}),zu=Qi("ZodJWT",(e,t)=>{Go.init(e,t),iu.init(e,t)}),Iu=Qi("ZodNumber",(e,t)=>{qo.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:l,exclusiveMinimum:u,isInt:c}=Il(e);i.type=c?"integer":"number";let d="number"==typeof u&&u>=(a??Number.NEGATIVE_INFINITY),f="number"==typeof l&&l<=(o??Number.POSITIVE_INFINITY),p="draft-04"===t.target||"openapi-3.0"===t.target;if(d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:"number"==typeof a&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:"number"==typeof o&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&0!==a?n.add(Math.abs(a)):il(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;void 0!==a&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}})(e,t,n,r),e.isFinite=!0},Bi({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=Il(e);return Math.max(t??Number.NEGATIVE_INFINITY,n??Number.NEGATIVE_INFINITY)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=Il(e);return Math.min(t??Number.POSITIVE_INFINITY,n??Number.POSITIVE_INFINITY)},isInt:e=>{let{isInt:t,multipleOf:n}=Il(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>Il(e).format??null},{gt(e,t){return this.check(Hs(e,t))},gte(e,t){return this.check(Ks(e,t))},min(e,t){return this.check(Ks(e,t))},lt(e,t){return this.check(Gs(e,t))},lte(e,t){return this.check(qs(e,t))},max(e,t){return this.check(qs(e,t))},int(e){return this.check(Au(e))},safe(e){return this.check(Au(e))},positive(e){return this.check(Hs(0,e))},nonnegative(e){return this.check(Ks(0,e))},negative(e){return this.check(Gs(0,e))},nonpositive(e){return this.check(qs(0,e))},multipleOf(e,t){return this.check(Vs(e,t))},step(e,t){return this.check(Vs(e,t))},finite(){return this}}));var Ou=Qi("ZodNumberFormat",(e,t)=>{Ho.init(e,t),Iu.init(e,t)});function Au(e){return function(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...$i(t)})}(Ou,e)}var Nu=Qi("ZodNull",(e,t)=>{Ko.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{"openapi-3.0"===t.target?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"})(0,e,t)});var Pu=Qi("ZodUnknown",(e,t)=>{Vo.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}});function Tu(){return new Pu({type:"unknown"})}var ju=Qi("ZodNever",(e,t)=>{Xo.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(e,t,n)=>((e,t,n)=>{n.not={}})(0,0,t)});function Zu(e){return function(e,t){return new e({type:"never",...$i(t)})}(ju,e)}var Fu=Qi("ZodArray",(e,t)=>{Ql(),Qo.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=Il(e);"number"==typeof o&&(i.minItems=o),"number"==typeof s&&(i.maxItems=s),i.type="array",i.items=al(a.element,t,{...r,path:[...r.path,"items"]})})(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Ys(e,t))},nonempty(e){return this.check(Ys(1,e))},max(e,t){return this.check(Xs(e,t))},length(e,t){return this.check(Qs(e,t))},unwrap(){return this.element}});var Du=Qi("ZodObject",(e,t)=>{Ql(),as.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&il(e,t,i,r,"Symbol keys cannot be represented in JSON Schema"))return;i.type="object",i.properties={};for(let e in o)si(i.properties,e,al(o[e],t,{...r,path:[...r.path,"properties",e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];("input"===t.io?void 0===Pl(n):void 0===n._zod.optout)&&s.push(e)}s.length>0&&(i.required=s),"never"===a.catchall?._zod.def.type?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=al(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):"output"===t.io&&(i.additionalProperties=!1)})(e,t,n,r),Hi(e,"shape",e=>e._zod.def.shape,!1)},{keyof(){return function(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Lu({type:"enum",entries:n,...$i(t)})}(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(pi(this._zod.def,{catchall:e}))},passthrough(){return this.clone(pi(this._zod.def,{catchall:Tu()}))},loose(){return this.clone(pi(this._zod.def,{catchall:Tu()}))},strict(){return this.clone(pi(this._zod.def,{catchall:Zu()}))},strip(){return this.clone(pi(this._zod.def,{catchall:void 0}))},extend(e){return function(e,t){if(!vi(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let n=ui(e);for(let e of Reflect.ownKeys(t))if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return ki(e,pi(e._zod.def,{shape:Ii(e,t)}))}(this,e)},safeExtend(e){return function(e,t){if(!vi(t))throw Error("Invalid input to safeExtend: expected a plain object");return ki(e,pi(e._zod.def,{shape:Ii(e,t)}))}(this,e)},merge(e){return function(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.");let n={};return fi(n,e,Reflect.ownKeys(ui(e))),fi(n,t,Reflect.ownKeys(ui(t))),ki(e,pi(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}(this,e)},pick(e){return function(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");let i={};return fi(i,e,zi(e,t)),ki(e,pi(n,{shape:i,checks:[]}))}(this,e)},omit(e){return function(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");let i=new Set(zi(e,t)),a={};return fi(a,e,Reflect.ownKeys(ui(e)).filter(e=>!i.has(e))),ki(e,pi(n,{shape:a,checks:[]}))}(this,e)},partial(...e){return Oi(Wu,this,e[0])},exactPartial(...e){return Oi(qu,this,e[0],"exactPartial")},required(...e){return function(e,t,n){let r=n?new Set(zi(t,n)):void 0,i={};return fi(i,t,Reflect.ownKeys(ui(t)),(t,n)=>r&&!r.has(n)?t:new e({type:"nonoptional",innerType:t})),ki(t,pi(t._zod.def,{shape:i}))}(Yu,this,e[0])}});function Mu(e,t){let n={type:"object",shape:e??{},...$i(t)};return new Du(n)}var Ru=Qi("ZodUnion",(e,t)=>{ss.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,a=!1===i.inclusive,o=i.options.map((e,n)=>al(e,t,{...r,path:[...r.path,a?"oneOf":"anyOf",n]}));a?n.oneOf=o:n.anyOf=o})(e,t,n,r),e.options=t.options});var Cu=Qi("ZodIntersection",(e,t)=>{ls.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,a=al(i.left,t,{...r,path:[...r.path,"allOf",0]}),o=al(i.right,t,{...r,path:[...r.path,"allOf",1]}),s=e=>"allOf"in e&&1===Object.keys(e).length,l=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=l,t.intersections.push(l)})(e,t,n,r)});var Lu=Qi("ZodEnum",(e,t)=>{ds.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n)=>{let r=ti(e._zod.def.entries);0!==r.length?(r.every(e=>"number"==typeof e)&&(n.type="number"),r.every(e=>"string"==typeof e)&&(n.type="string"),n.enum=r):n.not={}})(e,0,n),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e){if(!n.has(r))throw Error(`Key ${r} not found in enum`);i[r]=t.entries[r]}return new Lu({...t,checks:[],...$i(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e){if(!n.has(t))throw Error(`Key ${t} not found in enum`);delete i[t]}return new Lu({...t,checks:[],...$i(r),entries:i})}});var Bu=Qi("ZodLiteral",(e,t)=>{fs.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;if(0===i.values.length)return void(n.not={});let a=[];for(let o of i.values)if(void 0===o){if(il(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if("bigint"==typeof o){if(il(e,t,n,r,"BigInt literals cannot be represented in JSON Schema"))return;a.push(Number(o))}else a.push(o);if(0===a.length);else if(1===a.length){let e=a[0];n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e}else a.every(e=>"number"==typeof e)&&(n.type="number"),a.every(e=>"string"==typeof e)&&(n.type="string"),a.every(e=>"boolean"==typeof e)&&(n.type="boolean"),a.every(e=>null===e)&&(n.type="null"),n.enum=a})(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Uu(e,t){return new Bu({type:"literal",values:Array.isArray(e)?e:[e],...$i(t)})}var Ju=Qi("ZodTransform",(e,t)=>{Ql(),ps.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{il(e,t,n,r,"Transforms cannot be represented in JSON Schema")})(e,t,n,r),e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new ta(e.constructor.name);n.addIssue=r=>{if("string"==typeof r)n.issues.push(Ri(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),"input"in t||(t.input=n.value),t.inst??(t.inst=e),n.issues.push(Ri(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});var Wu=Qi("ZodOptional",(e,t)=>{ms.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zl(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});function Gu(e){return new Wu({type:"optional",innerType:e})}var qu=Qi("ZodExactOptional",(e,t)=>{gs.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zl(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var Hu=Qi("ZodNullable",(e,t)=>{ys.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,a=al(i.innerType,t,r),o=t.seen.get(e);"openapi-3.0"===t.target?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ku(e){return new Hu({type:"nullable",innerType:e})}var Vu=Qi("ZodDefault",(e,t)=>{vs.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;al(i.innerType,t,r),t.seen.get(e).ref=i.innerType;let a=jl(i.defaultValue,e,t,n,r);a!==Tl&&(n.default=a)})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});var Xu=Qi("ZodPrefault",(e,t)=>{bs.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;if(al(i.innerType,t,r),t.seen.get(e).ref=i.innerType,"input"!==t.io)return;let a=jl(i.defaultValue,e,t,n,r);a!==Tl&&(n._prefault=a)})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var Yu=Qi("ZodNonOptional",(e,t)=>{_s.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;al(i.innerType,t,r),t.seen.get(e).ref=i.innerType})(e,t,0,r),e.unwrap=()=>e._zod.def.innerType});var Qu=Qi("ZodCatch",(e,t)=>{Ss.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i,a=e._zod.def;al(a.innerType,t,r),t.seen.get(e).ref=a.innerType;try{i=a.catchValue(void 0)}catch{return void il(e,t,n,r,"Dynamic catch values are not supported in JSON Schema")}n.default=i})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});var ec=Qi("ZodPipe",(e,t)=>{Es.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has("$ZodTransform"),o="input"===t.io?a?i.out:i.in:i.out;al(o,t,r),t.seen.get(e).ref=o})(e,t,0,r),e.in=t.in,e.out=t.out});function tc(e,t){return new ec({type:"pipe",in:e,out:t})}var nc=Qi("ZodReadonly",(e,t)=>{zs.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{let i=e._zod.def;al(i.innerType,t,r),t.seen.get(e).ref=i.innerType,n.readOnly=!0})(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});var rc=Qi("ZodCustom",(e,t)=>{Os.init(e,t),eu.init(e,t),e._zod.processJSONSchema=(t,n,r)=>((e,t,n,r)=>{il(e,t,n,r,"Custom types cannot be represented in JSON Schema")})(e,t,n,r)});var ic;Mu({version:Uu(1),runId:ru(),attempt:function(e,t){return new e(Ws({type:"number",checks:[],...$i(t)}))}(Iu,ic).int().positive(),childExit:Mu({code:Uu(0),signal:function(e){return function(e,t){return new e({type:"null",...$i(t)})}(Nu,e)}()}),timedOut:Uu(!1)}),Mu({version:Uu(1),runId:ru(),outcome:Uu("merged"),finishedAt:ru(),integrationSha:ru()});import{join as ac}from"node:path";async function oc(e,t={}){let n;try{n=(await V(e)).filter(e=>e.endsWith(".json"))}catch{return{streak:0,fingerprint:"",counts:{merged:0,no_changes:0,failed:0,timed_out:0},pendingCount:0,recentFailureFingerprints:[]}}let r=[];for(let t of n){let n=await lc(ac(e,t));void 0!==n&&r.push(n)}r.sort((e,t)=>Date.parse(t.finishedAt)-Date.parse(e.finishedAt));let i=r.slice(0,Math.max(0,t.limit??100)),a={merged:0,no_changes:0,failed:0,timed_out:0};for(let e of i)e.outcome in a&&(a[e.outcome]+=1);let o=[];for(let e of i){if("merged"===e.outcome||"no_changes"===e.outcome)break;"failed"===e.outcome&&o.push(e)}let s=t.now??Date.now(),l=void 0===o[0]?void 0:Date.parse(o[0].finishedAt),u=void 0!==l&&Number.isFinite(l)&&s-l>6048e5,c=(u?[]:o.slice(0,3)).map(sc),d=function(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return[...t].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0]))[0]?.[0]??""}(c),f=i.find(e=>"failed"===e.outcome),p=i.find(e=>"merged"===e.outcome||"no_changes"===e.outcome),h=u?void 0:o.at(-1)?.finishedAt,m=o.flatMap(e=>void 0===e.runId?[]:[e.runId]),g=[...new Set(o.flatMap(e=>void 0===e.launcher?[]:[e.launcher.runtime]))],y=i[0];return{streak:u?0:o.length,fingerprint:d,...void 0===f?{}:{lastFailure:{reason:f.reason??"failed",...void 0===f.detail?{}:{detail:f.detail},finishedAt:f.finishedAt,...void 0===f.launcher?{}:{launcher:f.launcher}}},...void 0===p?{}:{lastSuccessAt:p.finishedAt},...void 0===y?{}:{lastOutcome:{runId:y.runId??"",outcome:y.outcome,...void 0===y.reason?{}:{reason:y.reason},finishedAt:y.finishedAt}},counts:a,pendingCount:i.filter(e=>e.pending).length,recentFailureFingerprints:c,...void 0===h?{}:{streakSinceISO:h},...!0===t.includeStreakRunIds?{streakRunIds:m}:{},...0===g.length?{}:{streakRuntimes:g}}}function sc(e){return ei(e.reason,e.detail)}async function lc(e){try{let n=JSON.parse(await K(e,"utf8"));if(!uc(n)||"string"!=typeof n.finishedAt||"merged"!==(t=n.outcome)&&"no_changes"!==t&&"parent_dirty"!==t&&"merge_conflict"!==t&&"dirty_uncommitted"!==t&&"failed"!==t&&"timed_out"!==t)return;let r=uc(n.delivery)?n.delivery:void 0;return{..."string"==typeof n.runId?{runId:n.runId}:{},outcome:n.outcome,..."string"==typeof n.reason?{reason:n.reason}:{},..."string"==typeof n.detail?{detail:n.detail}:{},finishedAt:n.finishedAt,pending:"pending"===r?.status,...cc(n.launcher)?{launcher:n.launcher}:{}}}catch{return}var t}function uc(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function cc(e){return!(!uc(e)||"string"!=typeof e.runtime||"string"!=typeof e.execPath||!Number.isInteger(e.pid)||Number(e.pid)<=0)&&(void 0===e.sessionId||"string"==typeof e.sessionId)}import{truncateToWidth as dc}from"@earendil-works/pi-tui";var fc=/\battempted:/;["<omo-senpi-task>","Background task results are automatically delivered: an idle session is always woken, and a running turn receives them at its next tool boundary.",'- /tasks shows this session\'s children; task_output is for one midpoint status or transcript peek (mode:"tail" for recent output).',"- task_send always steers a message into the addressed child, while task_cancel ends it.","- Team mail is steered into the recipient's running turn. Use task_send for updates; team mail never queues as editable follow-up work.","If no independent work remains, end your turn.","</omo-senpi-task>"].join("\n");var pc=["--no-skills","--no-prompt-templates","--no-context-files","--list-models"];import{isAbsolute as hc,join as mc,relative as gc}from"node:path";mc("@code-yeongyu","senpi"),mc("dist","cli.js");function yc(e,t,n="info"){let r=_t(t);return e.ui?.notify(r,n),r}function vc(e){try{return process.kill(e,0),!0}catch{return!1}}var wc="system/persona.md";async function bc(e,t){let n;try{n=await V(""===t?e:Vr(e,t),{withFileTypes:!0})}catch{return[]}let r=[];for(let i of n){if(".git"===i.name||""===t&&"skills"===i.name)continue;let n=""===t?i.name:`${t}/${i.name}`;i.isDirectory()?r.push(...await bc(e,n)):i.isFile()&&i.name.endsWith(".md")&&r.push(n)}return r}async function _c(e,t){let n=(await bc(e,"")).filter(Fn),r=(t??await Dr(e)).issues.filter(e=>"frontmatter_invalid"===e.code).map(e=>`${e.path} (${e.detail})`);return[0===r.length?{name:"frontmatter",level:"ok",detail:`${n.length} memory file${1===n.length?"":"s"} valid`}:{name:"frontmatter",level:"fail",detail:`${r.length} invalid file${1===r.length?"":"s"}: ${r.join("; ")}; fix the frontmatter or remove the file`},n.includes(wc)?{name:"persona",level:"ok",detail:`${wc} present`}:{name:"persona",level:"warn",detail:`${wc} is missing; create it with /init or the memory tools`}]}async function kc(e,t){let{repo:n,worktrees:r}=t.identityPaths;if(!ye(Vr(n,".git")))return{name:"worktrees",level:"ok",detail:"no repository to inspect"};let i=await function(e,t,n){return(e.exec??$e()).run(n,{cwd:t,timeoutMs:3e4,env:{...process.env,GIT_TERMINAL_PROMPT:"0"}})}(e,n,["worktree","list","--porcelain"]);if(0!==i.code)return{name:"worktrees",level:"warn",detail:`could not list worktrees: ${i.stderr.trim()||`exit ${i.code}`}`};let a,o=new Set(i.stdout.split(/\r?\n/).filter(e=>e.startsWith("worktree ")).map(e=>e.slice(9).trim()));try{a=await V(r)}catch{return{name:"worktrees",level:"ok",detail:"no reflection worktrees"}}let s=a.map(e=>Vr(r,e)).filter(e=>!o.has(e)),l=[...o].filter(e=>e.startsWith(`${r}/`)&&!ye(e)),u=[...s.map(e=>`${e} (not registered with git)`),...l.map(e=>`${e} (registered but missing; run git worktree prune)`)];return 0===u.length?{name:"worktrees",level:"ok",detail:"no orphaned worktrees"}:{name:"worktrees",level:"warn",detail:`${u.length} orphan${1===u.length?"":"s"}: ${u.join("; ")}`}}async function $c(e){try{return"launch_interrupted"===JSON.parse(await K(e,"utf8")).reason}catch{return!1}}async function Sc(e,t={}){let n=await oc(Vr(e,"completions"),{now:t.now??Date.now()}),r=n.lastSuccessAt??"never";if(0===n.streak&&0===n.pendingCount)return{name:"reflection-health",level:"ok",detail:`streak 0; pending 0; last success ${r}`};let i=n.lastFailure,a=function(e,t){if(function(e){return!0===e?.startsWith("model_unreachable_with_extensions")}(t))return"no memory child can see the reflection model, not even with extensions loaded; set categories.<category>.model (or memory.reflection.category) in omo.json to a model from a core provider, or set memory.reflection.enabled to false";let n=`${e??""} ${t??""}`.toLowerCase();return n.includes("budget_not_met")?"run /dream again and trim or demote the largest system/ files until the committed estimate is below $SYSTEM_TOKEN_TARGET":n.includes("category_unavailable")||n.includes("could not resolve a usable model")?"no connected provider offers a model for the memory reflection category; run /login <provider>, or pin categories.<category>.model (or memory.reflection.category) in omo.json":n.includes("model-not-found")||n.includes("model_not_visible")||n.includes("model not found")||/model\s+"[^"]+"\s+not found/.test(n)?"the reflection child cannot see the configured category model; adjust memory.reflection category/model in your omo config":/bwrap:|setting up (uid map|gid map|namespace)/.test(n)?'the sandbox helper (bwrap) cannot create a user namespace on this host; set memory.reflection.sandbox to "off" in your omo config, or allow unprivileged user namespaces on the host':fc.test(n)?n.includes("provider_unavailable")?"every model for the memory reflection category was refused by its provider (rate limit or outage); automatic reflection resumes at the next probe, or run /reflect once the provider recovers":n.includes("context_overflow")?"the reflection prompt outgrew the context window of every candidate model; run /dream to trim system memory, or point memory.reflection at a larger-context model":n.includes("auth_missing")||n.includes("api key")?"run /login <provider>":"no model for the memory reflection category could be admitted; the models that were tried are named in the failure detail":"spawn_failed"===e||n.includes("execvp")?"senpi executable not resolvable for the reflection child; set SENPI_BIN":n.includes("api key")||n.includes("auth_missing")?"run /login <provider>":"inspect runtime/reflection-sessions/<runId>/child-stderr.log"}(i?.reason,i?.detail),o=await async function(e){try{let t=await async function(e){let t=await vr(yr(e,"park.json"));return null===t?{version:1,streak:0}:hr(t)}(e);return void 0===t.parkedAt?"":`; automatic reflection paused since ${t.parkedAt} (next probe ${function(e){if(void 0!==e.parkedAt)return new Date(Date.parse(e.lastProbeAt??e.parkedAt)+216e5).toISOString()}(t)??"unknown"}; run /reflect to retry now)`}catch(e){return`; park state unreadable: ${e instanceof Error?e.message:String(e)}`}}(e);return{name:"reflection-health",level:n.streak>=3||""!==o?"warn":"ok",detail:`streak ${n.streak}; fingerprint ${n.fingerprint||"none"}; pending ${n.pendingCount}; last success ${r}; ${a}${o}`}}import{join as Ec}from"node:path";var xc=["dream","reflection","facts"],zc=new Set(["launched","recovered"]);async function Ic(e,t){let{receipts:n,skippedPartialLines:r}=await Ur(e,{}),i=Object.fromEntries(xc.map(e=>{let t=n.find(t=>t.kind===e&&!zc.has(t.event));return[e,void 0===t?null:(r=t,{event:r.event,at:r.at,..."facts"===r.kind?{batchId:r.batchId}:{runId:r.runId},trigger:r.trigger,...void 0===r.reason?{}:{reason:Ac(r.reason)},...void 0===r.sha?{}:{sha:r.sha},...void 0===r.detail?{}:{detail:Ac(r.detail)}})];var r})),a=xc.map(e=>function(e,t,n){if(null===t)return`${e} never`;let r=t.reason??(void 0===t.runId?`batch ${t.batchId?.slice(0,8)}`:`run ${t.runId.slice(0,8)}`);return`${e} ${t.event} ${function(e,t){let n=t-Date.parse(e);if(!Number.isFinite(n))return"at an unknown time";let r=Math.max(0,Math.floor(n/1e3));if(r<60)return`${r}s ago`;let i=Math.floor(r/60);if(i<60)return`${i}m ago`;let a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}(t.at,n)} (${r})`}(e,i[e],t)),o=0===r?"":` (${r} partial line${1===r?"":"s"} skipped)`;return{check:{name:"receipts",level:0===r?"ok":"warn",detail:`${a.join("; ")}${o}`},receipts:i}}async function Oc(e,t){try{let n=JSON.parse(await K(Ec(e,wr),"utf8"));return{runId:"string"==typeof n.runId?n.runId:t,reason:"string"==typeof n.reason?Ac(n.reason):"unknown",at:"string"==typeof n.quarantinedAt?n.quarantinedAt:null,dir:e,evidence:Array.isArray(n.evidence)?n.evidence.filter(e=>"string"==typeof e):[]}}catch{return{runId:t,reason:"unreadable_sentinel",at:null,dir:e,evidence:[]}}}function Ac(e){return e.length<=120?e:`${e.slice(0,117)}...`}import{hostname as Nc}from"node:os";import{join as Pc}from"node:path";var Tc="a current runtime reclaims it at session start; on older builds delete runtime/reflection/active.lock after confirming no reflection run is active";var jc=6e4,Zc=36e5;function Fc(e){return e.records.filter(e=>"parked"===e.state)}function Dc(e){return e.records.filter(e=>"backoff"===e.state)}function Mc(e){let t=Dc(e).map(e=>null===e.nextEligibleAt?Number.NaN:Date.parse(e.nextEligibleAt)).filter(e=>Number.isFinite(e));if(0!==t.length)return Math.max(0,Math.min(...t)-e.now.getTime())}function Rc(e){return e<jc?"now":e<Zc?`${Math.round(e/jc)}m`:`${Math.round(e/Zc)}h`}async function Cc(e){let t=Bn(e.identityPaths),n=await async function(e){try{return(await V(e)).filter(e=>e.endsWith(".json")&&"consumed.json"!==e&&"failures.json"!==e).length}catch{return 0}}(t.queueDir),r=new cr({identityPaths:e.identityPaths,now:()=>e.now});try{return{pending:n,records:(await r.readFailures()).entries,now:e.now}}catch(t){let r=t instanceof Jn?t.message:`failure ledger unreadable: ${t instanceof Error?t.message:String(t)}`;return{pending:n,records:[],now:e.now,corrupt:r}}}import{basename as Lc,dirname as Bc,join as Uc,relative as Jc}from"node:path";var Wc=/^(---\r?\n)([\s\S]*?)(\r?\n---(?:\r?\n|$))/;async function Gc(e){let t=await V(e,{withFileTypes:!0}),n=[];for(let r of t){if(".git"===r.name||"node_modules"===r.name)continue;let t=Uc(e,r.name);r.isSymbolicLink()||(r.isDirectory()?n.push(...await Gc(t)):r.isFile()&&"SKILL.md"===r.name&&n.push(t))}return n}function qc(e,t){if(!t.trim())return{content:e,changed:!1,reason:"skill directory name is empty"};let n=e.match(Wc);if(!n)return{content:e,changed:!1,reason:"missing YAML frontmatter"};let r=n[1]??"",i=n[2]??"",a=n[3]??"",o=r.includes("\r\n")?"\r\n":"\n",s=i.replace(/\r\n/g,"\n").split("\n"),l=s.findIndex(e=>/^\s*name\s*:/.test(e));if(l>=0&&function(e){let t=e.match(/^\s*name\s*:\s*(.*?)\s*$/);return Boolean(t?.[1]?.trim())}(s[l]??""))return{content:e,changed:!1};let u=`name: ${c=t.trim(),/^[A-Za-z0-9_-]+$/.test(c)?c:JSON.stringify(c)}`;var c;return l>=0?s[l]=u:s.unshift(u),{content:`${r}${s.join(o)}${a}${e.slice(n[0].length)}`,changed:!0}}async function Hc(e){let t={scanned:0,repaired:[],skipped:[]};if(!e)return t;let n,r=Uc(e,"skills");if(!await async function(e){try{return await ee(e),!0}catch{return!1}}(r))return t;try{n=await Gc(r)}catch(e){return t.skipped.push({path:"skills/",reason:`failed to scan skills directory: ${e instanceof Error?e.message:String(e)}`}),t}for(let r of n.sort()){let n=Jc(e,r).replace(/\\/g,"/");t.scanned+=1;try{let e=qc(await K(r,"utf8"),Lc(Bc(r)));if(void 0!==e.reason){t.skipped.push({path:n,reason:e.reason});continue}if(!e.changed)continue;await ge(r,e.content,"utf8"),t.repaired.push(n)}catch(e){t.skipped.push({path:n,reason:e instanceof Error?e.message:String(e)})}}return t}var Kc={ok:0,warn:1,fail:2};async function Vc(e,t){let n=await Cc({identityPaths:t,now:new Date(e.now?.()??Date.now())}),r=function(e){if(void 0!==e.corrupt)return"facts: failure ledger unreadable (run /facts for detail)";let t=Fc(e).length,n=Dc(e).length;if(0===t&&0===n)return;let r=Mc(e);return`facts: ${t} parked / ${n} backoff${void 0===r?"":` (next ${Rc(r)})`}`}(n);if(void 0===r)return;let i=function(e){if(void 0!==e.corrupt)return`facts failure ledger is unreadable (${e.corrupt}); repair or delete failures.json to resume launches`;let t=Fc(e).length;if(t>0)return`${t} parked facts batch${1===t?"":"es"} need${1===t?"s":""} a manual unpark; run /facts retry after fixing the cause`;let n=Dc(e).length;if(0===n)return;let r=Mc(e);return`${n} facts batch${1===n?" is":"es are"} backing off${void 0===r?"":`; next attempt in ${Rc(r)}`}`}(n);return{name:"facts",level:void 0===n.corrupt?"warn":"fail",detail:`${r.replace(/^facts: /,"")}${void 0===i?"":`; ${i}`}`}}function Xc(e){return"string"==typeof e?_t(e):Array.isArray(e)?e.map(Xc):null!==e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Xc(t)])):e}async function Yc(e,t,n=""){let r=function(e,t={}){let n=new Set(t.booleans??[]),r=[],i=new Map,a=e.trim().split(/\s+/).filter(Boolean);for(let e=0;e<a.length;e+=1){let t=a[e]??"";if(!t.startsWith("--")){r.push(t);continue}let o=t.slice(2),s=o.indexOf("=");if(s>=0){i.set(o.slice(0,s),o.slice(s+1));continue}let l=a[e+1];n.has(o)||void 0===l||l.startsWith("--")?i.set(o,!0):(i.set(o,l),e+=1)}return{positionals:r,flags:i}}(n,{booleans:["json"]});for(let e of r.flags.keys())if("json"!==e)return yc(t,`unknown flag --${e}`,"error");if(r.positionals.length>0||r.flags.has("json")&&!0!==r.flags.get("json"))return yc(t,"usage: /doctor [--json]","error");let i=function(e,t){let n=function(e,t){let n=function(e){return e.sessionManager?.getSessionId()}(t);if(void 0!==n)return e.contextForSession(n)}(e,t);return void 0!==n?n:"memory is not bound to this session; start a session with memory enabled and retry"}(e,t);if("string"==typeof i)return yc(t,i,"error");let a=i.identityPaths.repo,o=function(e){return ye(Vr(e.identityPaths.repo,".git"))?{name:"repository",level:"ok",detail:e.identityPaths.repo}:{name:"repository",level:"fail",detail:`missing at ${e.identityPaths.repo}; run /memfs init to create it`}}(i),s=[o],l=[],u=null,c={scanned:0,repaired:0},d=null,f=[];if("ok"===o.level){let t=e.loadSettings().settings,n=t.compile_warn_tokens,r=await qr(a);u=await Dr(a,{systemTokens:r,budgetTokens:n});let o=await Ic(i.identityPaths.runtime,e.now?.()??Date.now()),p=await async function(e){let t,n=Ec(e,"runs");try{t=(await V(n,{withFileTypes:!0})).filter(e=>e.isDirectory()).map(e=>e.name).sort()}catch{t=[]}let r=[];for(let e of t){let t=Ec(n,e);ye(Ec(t,wr))&&r.push(await Oc(t,e))}if(0===r.length)return{check:{name:"quarantined-runs",level:"ok",detail:"no quarantined runs"},runs:r};let i=r.map(e=>`${e.dir} (${e.reason})`).join("; ");return{check:{name:"quarantined-runs",level:"warn",detail:`${1===r.length?"1 run needs":`${r.length} runs need`} manual disposal: ${i}`},runs:r}}(i.identityPaths.reflection);d=o.receipts,f=p.runs,s.push(...await _c(a,u),await async function(e){let t;try{t=await K(Vr(e,wc))}catch{return{name:"soul-seed",level:"ok",detail:"no persona file to compare"}}return"ed9106790224a2820d68b1e09c847672dbd3c44b56e8dedd17091e8d0a8c0e8e"===Hr("sha256").update(t).digest("hex")?{name:"soul-seed",level:"warn",detail:`${wc} is still the v1 seed; review it against the v2 soul seed and rewrite it with the memory tools when ready`}:{name:"soul-seed",level:"ok",detail:"persona differs from the v1 seed"}}(a),await async function(e,t){let n;try{n=await V(t)}catch{return{name:"locks",level:"ok",detail:"no lock directory yet"}}let r=e.isProcessAlive??vc,i=[];for(let e of n.filter(e=>e.endsWith(".lock"))){let n=Vr(t,e),a=Yt(await K(n,"utf8").catch(()=>""));null!==a?a.hostname===Kr()&&(r(a.pid)||i.push(`${n} (pid ${a.pid} is not running)`)):i.push(`${n} (unreadable lock record)`)}return 0===i.length?{name:"locks",level:"ok",detail:"no stale locks"}:{name:"locks",level:"warn",detail:`${i.length} stale lock${1===i.length?"":"s"}: ${i.join("; ")}; delete the file after confirming no run is active`}}(e,i.identityPaths.locks),await kc(e,i),await async function(e){let t,n=Vr(e,"runs");try{t=await V(n,{withFileTypes:!0})}catch{return{name:"abandoned-runs",level:"ok",detail:"no abandoned runs"}}let r=[];for(let e of t){let t=Vr(n,e.name,"abandoned.json");e.isDirectory()&&ye(t)&&!await $c(t)&&r.push(Vr(n,e.name))}return r.sort(),0===r.length?{name:"abandoned-runs",level:"ok",detail:"no abandoned runs"}:{name:"abandoned-runs",level:"warn",detail:`${r.length} run${1===r.length?"":"s"} need manual disposal: ${r.join("; ")}`}}(i.identityPaths.reflection),p.check,o.check,await async function(e,t){let n,r=Pc(e.reflection,"active.lock");if(!ye(r))return{name:"reservation",level:"ok",detail:"no active reservation"};try{n=JSON.parse(await K(r,"utf8"))}catch(e){if(e instanceof SyntaxError)return{name:"reservation",level:"warn",detail:"active.lock is not valid JSON; delete it after confirming no reflection run is active"};throw e}let i="object"==typeof n&&null!==n?n:{},a="string"==typeof i.runId?i.runId:"unknown",o="string"==typeof i.reservedAt?Date.parse(i.reservedAt):Number.NaN,s="number"==typeof i.launcherPid?i.launcherPid:void 0,l="string"==typeof i.launcherHostname?i.launcherHostname:void 0;return void 0!==s&&void 0!==l&&Number.isFinite(o)?Date.now()-o<=6e4?{name:"reservation",level:"ok",detail:`reservation ${a} is recent`}:l!==Nc()?{name:"reservation",level:"ok",detail:`reservation ${a} is owned by ${l}`}:(t.isProcessAlive??vc)(s)?{name:"reservation",level:"ok",detail:`reservation ${a} launcher pid ${s} is alive`}:{name:"reservation",level:"warn",detail:`ghost active reservation ${a}: launcher pid ${s} is dead (reserved ${new Date(o).toISOString()}); ${Tc}`}:{name:"reservation",level:"warn",detail:`ghost active reservation ${a}: launcher identity missing (pre-stamping legacy); ${Tc}`}}(i.identityPaths,e),await Sc(i.identityPaths.reflection,{now:e.now?.()??Date.now()}),await async function(e,t,n){return n??=await qr(e),n.totalTokens<t?{name:"tokens",level:"ok",detail:`~${n.totalTokens} tokens in system/ (warn at ${t})`}:{name:"tokens",level:"warn",detail:`~${n.totalTokens} tokens in system/ reached the ${t} warning threshold; trim system/ and move detail into external memory`}}(a,n,r));let h=await async function(e,t,n){let r=new It({dir:e,agentId:t}),i=await r.head();if(null===i)return;let a=await xr(r,i,n),o=n.maxEntriesPerDirectory>0?`${n.maxEntriesPerDirectory}/dir`:"no per-directory limit",s=n.maxBytes>0?`${n.maxBytes} bytes`:"no byte limit",l=`${a.shown} entries shown, ${a.omitted} omitted, ${a.bytes} bytes (limits ${o}, ${s})`;return a.overflow?{name:"projection",level:"warn",detail:`${l}; no listing fits max_bytes, the smallest is ${a.bytes-a.maxBytes} bytes over`}:{name:"projection",level:a.omitted>0?"warn":"ok",detail:l}}(a,i.identity,function(e,t){let n={...e.projection,...e.agents[t]?.projection};return{maxEntriesPerDirectory:n.max_entries_per_directory,maxBytes:n.max_bytes}}(t,i.identity));if(void 0!==h&&s.push(h),0===u.issues.length)s.push({name:"audit",level:"ok",detail:"no structural issues"});else for(let[e,t]of Object.entries(u.counts)){if("frontmatter_invalid"===e||0===t)continue;let n=u.issues.filter(t=>t.code===e);s.push({name:`audit:${e}`,level:"file_unreadable"===e?"fail":"warn",detail:`${n.length} issue${1===n.length?"":"s"}: ${n.map(e=>`${e.path} -> ${e.detail}`).join("; ")}`})}let m=await Vc(e,i.identityPaths);void 0!==m&&s.push(m);let g=await Hc(a);c={scanned:g.scanned,repaired:g.repaired.length};let y=function(e){let t=[];return e.repaired.length>0&&t.push(`added missing \`name:\` frontmatter to ${e.repaired.length} skill${1===e.repaired.length?"":"s"}: ${e.repaired.map(e=>`\`${e}\``).join(", ")}`),e.skipped.length>0&&t.push(`could not repair ${e.skipped.length} skill${1===e.skipped.length?"":"s"}: ${e.skipped.map(e=>`\`${e.path}\` (${e.reason})`).join(", ")}`),t.join("\n")}(g);l.push(`[info] skills: scanned ${g.scanned} skill file${1===g.scanned?"":"s"}`,...y.split("\n").filter(e=>e.length>0).map(e=>`[info] skills: ${e}`))}let p=function(e){return e.reduce((e,t)=>Kc[t.level]>Kc[e]?t.level:e,"ok")}(s),h="fail"===p?"error":"warn"===p?"warning":"info";if(r.flags.has("json"))return yc(t,JSON.stringify(Xc({identity:i.identity,level:p,checks:s,audit:u,skills:c,receipts:d,quarantinedRuns:f}),null,2),h);let m=[`# Memory doctor: ${i.identity}`,"",...s.map(e=>`[${e.level}] ${e.name}: ${e.detail}`),...l];return"fail"===p?m.push("","fix the failing checks above, then re-run /doctor"):"warn"===p&&m.push("","warnings do not block memory; re-run /doctor after addressing them"),yc(t,_t(m.join("\n")),h)}export{Yc as runDoctor};