@precisionutilityguild/liquid-shadow 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/data/migrations/000_baseline.sql +277 -0
- package/dist/entry/cli/index.js +708 -431
- package/dist/entry/mcp/server.js +349 -296
- package/dist/index.js +676 -123
- package/dist/logic/domain/embeddings/worker.js +1 -1
- package/dist/logic/parser/index.js +14 -13
- package/dist/skills/shadow_audit/SKILL.md +40 -0
- package/dist/skills/shadow_chronicle/SKILL.md +40 -0
- package/dist/skills/shadow_continue/SKILL.md +55 -0
- package/dist/skills/shadow_crystallize/SKILL.md +41 -0
- package/dist/skills/shadow_mission/SKILL.md +50 -0
- package/dist/skills/shadow_onboard/SKILL.md +35 -0
- package/dist/skills/shadow_research/SKILL.md +34 -0
- package/dist/skills/shadow_sync/SKILL.md +18 -0
- package/dist/skills/shadow_synthesize/SKILL.md +47 -0
- package/dist/skills/shadow_trace_impact/SKILL.md +55 -0
- package/dist/skills/shadow_understand/SKILL.md +51 -0
- package/dist/skills/shadow_workspace/SKILL.md +30 -0
- package/dist/web-manifest.json +1 -1
- package/package.json +3 -2
- package/skills/shadow_audit/SKILL.md +40 -0
- package/skills/shadow_chronicle/SKILL.md +40 -0
- package/skills/shadow_continue/SKILL.md +55 -0
- package/skills/shadow_crystallize/SKILL.md +41 -0
- package/skills/shadow_mission/SKILL.md +50 -0
- package/skills/shadow_onboard/SKILL.md +35 -0
- package/skills/shadow_research/SKILL.md +34 -0
- package/skills/shadow_sync/SKILL.md +18 -0
- package/skills/shadow_synthesize/SKILL.md +47 -0
- package/skills/shadow_trace_impact/SKILL.md +55 -0
- package/skills/shadow_understand/SKILL.md +51 -0
- package/skills/shadow_workspace/SKILL.md +30 -0
package/dist/index.js
CHANGED
|
@@ -1,68 +1,40 @@
|
|
|
1
|
-
var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{for(var t in e)Bn(i,t,{get:e[t],enumerable:!0})};import Kn from"pino";var Jn,Yn,E,j=Ae(()=>{"use strict";Jn={10:"TRACE",20:"DEBUG",30:"INFO",40:"WARN",50:"ERROR",60:"FATAL"},Yn=Kn({level:process.env.LOG_LEVEL||"warn",base:{service:"liquid-shadow"},formatters:{level(i,e){return{level:i,severity:Jn[e]??"INFO"}}},transport:{target:"pino-pretty",options:{colorize:!0,translateTime:"HH:MM:ss",destination:2,levelKey:"severity",messageKey:"message"}}}),E=Yn});import{fileURLToPath as Qn}from"node:url";import{dirname as ft,join as Kt,resolve as Vn}from"node:path";import{existsSync as Xn}from"node:fs";function ei(){let i=Gt;for(;i!==ft(i);){if(Xn(Kt(i,"package.json")))return i;i=ft(i)}return Vn(Gt,"..","..")}function fe(...i){return Kt(ei(),...i)}var Zn,Gt,$e=Ae(()=>{"use strict";Zn=Qn(import.meta.url),Gt=ft(Zn)});import{Worker as wi}from"node:worker_threads";import{cpus as Oi}from"node:os";import{fileURLToPath as Ai}from"node:url";import{dirname as Fi,join as Tn}from"node:path";import{existsSync as Sn}from"node:fs";function Pi(){if(xn.endsWith(".ts")){let e=Tn(kn,"worker.ts");if(Sn(e))return e}let i=Tn(kn,"worker.js");return Sn(i)?i:fe("dist/logic/domain/embeddings/worker.js")}function de(i){return be||(be=new _e(i)),be}async function kt(){be&&(await be.shutdown(),be=null)}var xn,kn,_e,be,In=Ae(()=>{"use strict";j();$e();xn=Ai(import.meta.url),kn=Fi(xn);_e=class{workers=[];taskQueue=[];pendingTasks=new Map;taskIdCounter=0;initialized=!1;initPromise;shutdownRequested=!1;numWorkers;cacheDir;initTimeout;constructor(e={}){this.numWorkers=e.numWorkers??Math.max(1,Math.min(4,Oi().length-1)),this.cacheDir=e.cacheDir??"./.cache",this.initTimeout=e.initTimeout??6e4}async initialize(){if(!this.initialized)return this.initPromise?this.initPromise:(this.initPromise=this._doInitialize(),this.initPromise)}async _doInitialize(){let e;try{E.info({numWorkers:this.numWorkers},"Initializing embedding worker pool");let t=new Promise((n,s)=>{e=setTimeout(()=>s(new Error(`Worker pool initialization timed out after ${this.initTimeout}ms`)),this.initTimeout)});if(await Promise.race([this._initializeWorkers(),t]),e&&clearTimeout(e),this.shutdownRequested){this.initialized=!1,this.initPromise=void 0,E.debug("Initialization completed but shutdown was requested");return}this.initialized=!0,E.info({numWorkers:this.workers.length},"Embedding worker pool ready")}catch(t){throw e&&clearTimeout(e),this.initPromise=void 0,this.initialized=!1,await this.shutdown(),t}}async _initializeWorkers(){let e=Pi();E.debug({workerPath:e},"Resolved worker path");let t=[];for(let n=0;n<this.numWorkers;n++)n>0&&await new Promise(s=>setTimeout(s,25)),t.push(this.createWorker(e,n));await Promise.all(t)}async createWorker(e,t){return new Promise((n,s)=>{let r=setTimeout(()=>{s(new Error(`Worker ${t} initialization timed out`))},this.initTimeout),o=new wi(e,{workerData:{cacheDir:this.cacheDir},execArgv:process.execArgv}),l={worker:o,busy:!1,currentTaskId:null};o.on("message",c=>{if(c.type==="ready"){if(clearTimeout(r),this.shutdownRequested){E.debug({workerIndex:t},"Worker ready but shutdown requested, terminating"),o.terminate().catch(()=>{}),n();return}this.workers.push(l),E.debug({workerIndex:t},"Worker ready"),n()}else c.type==="result"&&c.id?this.handleTaskComplete(l,c.id,c.embeddings||[]):c.type==="error"&&c.id&&this.handleTaskError(l,c.id,new Error(c.error||"Unknown error"))}),o.on("error",c=>{if(clearTimeout(r),E.error({err:c,workerIndex:t},"Worker error"),l.currentTaskId&&this.handleTaskError(l,l.currentTaskId,c),!this.initialized){s(c);return}let a=this.workers.indexOf(l);a!==-1&&this.workers.splice(a,1),!this.shutdownRequested&&this.initialized&&this.createWorker(e,t).catch(u=>{E.error({err:u},"Failed to replace crashed worker")})}),o.on("exit",c=>{c!==0&&!this.shutdownRequested&&E.warn({workerIndex:t,code:c},"Worker exited unexpectedly")})})}handleTaskComplete(e,t,n){let s=this.pendingTasks.get(t);s&&(this.pendingTasks.delete(t),s.resolve(n)),e.busy=!1,e.currentTaskId=null,this.processQueue()}handleTaskError(e,t,n){let s=this.pendingTasks.get(t);s&&(this.pendingTasks.delete(t),s.reject(n)),e.busy=!1,e.currentTaskId=null,this.processQueue()}processQueue(){if(this.taskQueue.length===0)return;let e=this.workers.find(n=>!n.busy);if(!e)return;let t=this.taskQueue.shift();t&&(e.busy=!0,e.currentTaskId=t.id,this.pendingTasks.set(t.id,t),e.worker.postMessage({type:"embed",id:t.id,texts:t.texts}))}async generateEmbeddings(e,t=128,n){if(this.initialized||await this.initialize(),e.length===0)return[];let s=[];for(let a=0;a<e.length;a+=t)s.push(e.slice(a,a+t));let r=new Array(s.length),o=0,l=s.map((a,u)=>new Promise((p,m)=>{let f={id:`task_${++this.taskIdCounter}`,texts:a,resolve:g=>{if(r[u]=g,o++,n){let b=Math.min(o*t,e.length);n(b,e.length)}p()},reject:g=>{if(r[u]=new Array(a.length).fill(null),o++,E.warn({err:g,chunkIndex:u},"Chunk embedding failed"),n){let b=Math.min(o*t,e.length);n(b,e.length)}p()}};this.taskQueue.push(f),this.processQueue()}));await Promise.all(l);let c=[];for(let a of r)c.push(...a);return E.info({total:e.length,successful:c.filter(a=>a!==null).length,workers:this.workers.length},"Parallel embedding generation complete"),c}get workerCount(){return this.workers.length}get busyWorkers(){return this.workers.filter(e=>e.busy).length}get queueSize(){return this.taskQueue.length}get isInitialized(){return this.initialized}async shutdown(){if(this.shutdownRequested=!0,this.initPromise)try{await this.initPromise}catch{}if(!this.initialized&&this.workers.length===0){this.shutdownRequested=!1,this.initPromise=void 0;return}E.info({numWorkers:this.workers.length},"Shutting down embedding worker pool");let e=this.workers.map(t=>new Promise(n=>{t.worker.postMessage({type:"shutdown"}),t.worker.once("exit",()=>n()),setTimeout(()=>{t.worker.terminate().then(()=>n())},5e3)}));await Promise.all(e),this.workers=[],this.taskQueue=[],this.pendingTasks.clear(),this.initialized=!1,this.shutdownRequested=!1,E.info("Embedding worker pool shutdown complete")}},be=null});var Lt={};jn(Lt,{EmbeddingPriorityQueue:()=>nt,EmbeddingWorkerPool:()=>_e,cosineSimilarity:()=>Dn,generateEmbedding:()=>Cn,generateEmbeddingsBatch:()=>it,getDefaultPool:()=>de,setUseWorkerThreads:()=>Me,shutdownDefaultPool:()=>kt});async function Wi(){return De||(De=await import("@xenova/transformers"),De.env.cacheDir="./.cache",De.env.allowLocalModels=!0),De}function Me(i){It=i,E.info({useWorkerThreads:i},"Worker thread mode updated")}async function vn(){return xt||(xt=(async()=>{E.info("Loading embedding model (all-MiniLM-L6-v2)...");let{pipeline:i}=await Wi();return await i("feature-extraction","Xenova/all-MiniLM-L6-v2")})()),xt}async function Cn(i){try{let t=await(await vn())(i,{pooling:"mean",normalize:!0});return Array.from(t.data)}catch(e){return E.error({err:e},"Failed to generate embedding"),null}}async function it(i,e=Ln,t){return i.length===0?[]:It?de().generateEmbeddings(i,e,t):Nn(i,e,t)}async function Nn(i,e,t){let n=new Array(i.length).fill(null),s=await vn();for(let r=0;r<i.length;r+=e){let o=Math.min(r+e,i.length),l=i.slice(r,o);try{let c=await s(l,{pooling:"mean",normalize:!0}),[a,u]=c.dims;for(let p=0;p<a;p++){let m=p*u,d=m+u;n[r+p]=Array.from(c.data.slice(m,d))}}catch(c){E.error({err:c,batchStart:r,batchEnd:o},"Single-threaded batch embedding failed, falling back to sequential for this chunk");for(let a=0;a<l.length;a++)try{let u=l[a];if(!u||u.trim().length===0)continue;let p=await s(u,{pooling:"mean",normalize:!0});n[r+a]=Array.from(p.data)}catch{n[r+a]=null}}t&&t(o,i.length)}return E.debug({total:i.length,successful:n.filter(r=>r!==null).length},"Batch embedding complete"),n}function Dn(i,e){let t=0,n=0,s=0;for(let r=0;r<i.length;r++)t+=i[r]*e[r],n+=i[r]*i[r],s+=e[r]*e[r];return t/(Math.sqrt(n)*Math.sqrt(s))}var De,Ln,It,xt,nt,we=Ae(()=>{"use strict";j();In();De=null;Ln=128,It=!1;xt=null;nt=class{queue=[];processing=!1;results=new Map;enqueue(e){this.queue.push(e),this.queue.sort((t,n)=>n.priority-t.priority)}enqueueMany(e){this.queue.push(...e),this.queue.sort((t,n)=>n.priority-t.priority)}get size(){return this.queue.length}get isProcessing(){return this.processing}getResult(e){return this.results.get(e)}async processQueue(e=Ln,t){if(this.processing)return E.warn("Queue processing already in progress"),this.results;this.processing=!0;let n=this.queue.length;try{It?await this.processQueueParallel(e,n,t):await this.processQueueSequential(e,n,t)}finally{this.processing=!1}return this.results}async processQueueSequential(e,t,n){for(;this.queue.length>0;){let s=this.queue.splice(0,e),r=s.map(l=>l.text),o=await Nn(r,r.length);if(s.forEach((l,c)=>{this.results.set(l.id,o[c])}),n){let l=t-this.queue.length;n(l,t)}}}async processQueueParallel(e,t,n){let s=this.queue.splice(0),r=s.map(c=>c.text),l=await de().generateEmbeddings(r,e,(c,a)=>{n&&n(c,a)});s.forEach((c,a)=>{this.results.set(c.id,l[a])})}clear(){this.queue=[],this.results.clear()}}});import zn from"fast-glob";import Ot from"fs";import qn from"ignore";import At from"path";var Fe=["**/node_modules/**","**/.git/**","**/dist/**","**/build/**","**/vendor/**","**/.next/**","**/.cache/**","**/coverage/**","**/*.min.js"],wt=["**/*.{ts,tsx,yaml,yml,php,py,go}","**/*.prisma","**/*.{graphql,gql}","**/Dockerfile*","**/.env*","**/package.json","**/lerna.json","**/turbo.json","**/pnpm-workspace.yaml"];var rs={FILTERED_QUERY_LIMIT_MULTIPLIER:3,SCORE_BASE:1e3,EXACT_MATCH_BONUS:500,RECENT_FILE_BOOST:80,OLDER_FILE_BOOST:30,RECENT_FILE_THRESHOLD_DAYS:7,OLDER_FILE_THRESHOLD_DAYS:30,FUZZY_MATCH_LIMIT:30,ENABLE_LEXICAL_SCORING:process.env.ENABLE_LEXICAL_SCORING!=="false",LEXICAL_WEIGHT:parseFloat(process.env.LEXICAL_WEIGHT??String(.4)),GRAVITY_STRUCTURAL_WEIGHT:.5};var Pe={DEFAULT_CONCURRENCY:parseInt(process.env.INDEX_CONCURRENCY??String(5),10)};async function dt(i,e=[]){let t=qn(),n=At.join(i,".gitignore");return Ot.existsSync(n)&&t.add(Ot.readFileSync(n,"utf8")),e.length>0&&t.add(e),(await zn(wt,{cwd:i,absolute:!0,ignore:Fe,stats:!0})).filter(o=>{let l=At.relative(i,o.path);return!t.ignores(l)}).map(o=>({path:o.path,mtime:o.stats.mtimeMs}))}import gt from"@swc/core";import Vt from"fs";function Ft(i){let e=i.split(`
|
|
2
|
-
`),t=[],n=0;for(let s of e)t.push(n),n+=s.length+1;return t}function O(i,e){for(let t=0;t<e.length;t++)if(e[t+1]>i||t===e.length-1)return t+1;return 1}function We(i,e){return e.slice(0,i).toString("utf8").length}function Pt(i){if(i.toString("utf8").length===i.length)return n=>n;let t=new Map;return n=>{let s=t.get(n);return s===void 0&&(s=i.slice(0,n).toString("utf8").length,t.set(n,s)),s}}function Wt(i,e,t){let n=i.start-e,s=i.end-e;return n<0||s>t.length?"":t.slice(n,s).toString("utf8")}function Ht(i){let e=[],t=/\/\*\*[\s\S]*?\*\//g,n;for(;(n=t.exec(i))!==null;)e.push({start:n.index,end:n.index+n[0].length,text:n[0]});return e}function V(i,e,t){for(let n of e){if(n.start===i)return n.text;if(n.start>i&&n.start<i+50){let s=t.substring(i,n.start);if(/^\s*$/.test(s))return n.text}if(n.end<=i&&n.end>i-50){let s=t.substring(n.end,i);if(/^\s*$/.test(s))return n.text}}return""}function $t(i){if(!i)return"";let t=i.replace(/\/\*\*|\*\/|\*/g,"").trim().split(`
|
|
3
|
-
`)[0].trim();return t.length>200?t.substring(0,197)+"...":t}function He(i,e,t){let n=i.toLowerCase(),s=e.toLowerCase();return n.includes("components/")||n.endsWith(".tsx")?"Component":n.startsWith("use")||s.startsWith("use")?"Hook":n.includes("models/")||s.endsWith("model")?"Model":n.includes("services/")||n.includes("controllers/")||n.includes("handlers/")||n.includes("mcp/")||n.endsWith("service.ts")||n.endsWith("controller.ts")||n.endsWith("handler.ts")||s.endsWith("service")||s.endsWith("controller")||s.endsWith("handler")?"Service":n.includes("repositories/")||n.includes("repos/")||n.endsWith("repository.ts")||n.endsWith("repo.ts")||s.endsWith("repository")||s.endsWith("repo")?"Repository":t==="TsInterfaceDeclaration"||t==="TsTypeAliasDeclaration"?"Type Definition":"Other"}function Te(i){let e=[];return/\b(fetch|axios|superagent|got)\s*\(|import\s+.*\b(http|https|node-fetch)\b/i.test(i)&&e.push("Network"),(/\b(knex|prisma|typeorm|mongoose|sequelize|pg|mysql|sqlite3)\b/i.test(i)||/\b(SELECT\s+.*FROM|INSERT\s+INTO|UPDATE\s+.*SET|DELETE\s+FROM)\b/i.test(i)||/\.query\s*\(|\.execute\s*\(/i.test(i)&&/db|database|client|pool/i.test(i))&&e.push("Database"),(/\bfs\./i.test(i)||/\b(readFileSync|writeFileSync|readFile|writeFile|readdir)\b/.test(i)||/import\s+.*\bfs\b/.test(i))&&e.push("File System"),(/\b(localStorage|sessionStorage|indexedDB)\./.test(i)||/\bdocument\.cookie\b/.test(i))&&e.push("Browser Storage"),e}function X(i,e){if(!i)return"";let t=i.replace(/^([\s\S]*?\*\/)?\s*/,"").replace(/^.*\} from ['"].*['"];?\s*/,"").replace(/^import .*['"];?\s*/,"").trim();if(e==="TsInterfaceDeclaration"||e==="TsTypeAliasDeclaration")return t;let n=0,s=0,r=t.length;for(let o=0;o<t.length;o++){let l=t[o];if(l==="(")n++;else if(l===")")n--;else if(l==="<")s++;else if(l===">")s--;else if(l==="{"){if(n===0&&s===0){r=o;break}}else if(l==="; "&&n===0&&s===0){r=o;break}else if(l==="="&&t[o+1]===">"&&n===0&&s===0){r=o+2;break}}return t.substring(0,r).trim()}function Ut(i){let e=[];for(let t of i)t.type==="ImportDeclaration"&&e.push({module:t.source.value,name:t.specifiers.map(n=>n.type==="ImportDefaultSpecifier"?"default":n.type==="ImportNamespaceSpecifier"?"*":n.local?.value||n.imported?.value||"*").join("","")}),t.type==="ExportAllDeclaration"&&e.push({module:t.source.value,name:"*"}),t.type==="ExportNamedDeclaration"&&t.source&&e.push({module:t.source.value,name:t.specifiers.map(n=>n.type==="ExportSpecifier"?n.orig.value:"*").join(", ")});return e}function Bt(i,e,t,n,s,r,o,l,c){let a=c??(p=>We(p,t)),u=[];for(let p of i){if(p.type==="ExportDeclaration"){let m=p.declaration,d=m.type,f="";d==="VariableDeclaration"?f=m.declarations.map(_=>_.id.value).join("",""):f=m.id?.value||m.identifier?.value||"anonymous";let g=a(p.span.start-e),b=a(p.span.end-e),h=V(g,r,n),y=l(p.span),T=[];if(p.type==="ExportDeclaration"&&(d==="ClassDeclaration"||d==="ClassExpression")){let _=m.body||[];for(let x of _)if(x.type==="ClassMethod"||x.type==="ClassProperty"){let I=x.key.value;if(!I)continue;let D=a(x.span.start-e),z=a(x.span.end-e),w=l(x.span),N=V(D,r,n);T.push({name:I,kind:x.type,signature:X(w,x.type),line:O(D,s),endLine:O(z,s),doc:N,classification:x.type==="ClassMethod"?"Method":"Property",capabilities:"[]"})}}else if(d==="FunctionDeclaration"&&m.body?.type==="BlockStatement")T=mt(m.body.stmts,e,t,n,s,r,l,a);else if(d==="VariableDeclaration"){for(let _ of m.declarations)if(_.init&&(_.init.type==="ArrowFunctionExpression"||_.init.type==="FunctionExpression")&&_.init.body?.type==="BlockStatement"){T=mt(_.init.body.stmts,e,t,n,s,r,l,a);break}}u.push({name:f,kind:d,signature:X(y,d),line:O(g,s),endLine:O(b,s),doc:h,classification:He(o,f,d),capabilities:JSON.stringify(Te(y)),members:T})}if(p.type==="ExportNamedDeclaration"){for(let m of p.specifiers)if(m.type==="ExportSpecifier"){let d=a(p.span.start-e),f=a(p.span.end-e),g=V(d,r,n);u.push({name:m.exported?.value||m.orig.value,kind:"ExportSpecifier",signature:`export { ${m.orig.value} }`,line:O(d,s),endLine:O(f,s),doc:g,classification:"Export mapping",capabilities:"[]"})}}if(p.type==="ExportDefaultDeclaration"){let m=a(p.span.start-e),d=a(p.span.end-e),f=V(m,r,n),g=l(p.span),b=[];if(p.decl.type==="ClassExpression"||p.decl.type==="ClassDeclaration"){let h=p.decl.body||[];for(let y of h)if(y.type==="ClassMethod"||y.type==="ClassProperty"){let T=y.key.value;if(!T)continue;let _=a(y.span.start-e),x=a(y.span.end-e),I=l(y.span),D=V(_,r,n);b.push({name:T,kind:y.type,signature:X(I,y.type),line:O(_,s),endLine:O(x,s),doc:D,classification:y.type==="ClassMethod"?"Method":"Property",capabilities:"[]"})}}else(p.decl.type==="FunctionExpression"||p.decl.type==="FunctionDeclaration"||p.decl.type==="ArrowFunctionExpression")&&p.decl.body?.type==="BlockStatement"&&(b=mt(p.decl.body.stmts,e,t,n,s,r,l,a));u.push({name:"default",kind:"DefaultExport",signature:X(g,"DefaultExport"),line:O(m,s),endLine:O(d,s),doc:f,classification:"Default Export",capabilities:JSON.stringify(Te(g)),members:b})}if(p.type==="ExportAllDeclaration"){let m=a(p.span.start-e),d=a(p.span.end-e),f=p.source.value,g=V(m,r,n);u.push({name:"*",kind:"ExportAllDeclaration",signature:`export * from "${f}"`,line:O(m,s),endLine:O(d,s),doc:g,classification:"Re-export",capabilities:"[]"})}}return u}function mt(i,e,t,n,s,r,o,l){let c=[];for(let a of i){if(a.type==="VariableDeclaration")for(let u of a.declarations){let p=[],m=d=>{if(d.type==="Identifier")p.push({name:d.value,span:d.span});else if(d.type==="ArrayPattern")for(let f of d.elements)f&&m(f);else if(d.type==="ObjectPattern")for(let f of d.properties)f.type==="AssignmentPatternProperty"?p.push({name:f.key.value,span:f.span}):f.type==="KeyValuePatternProperty"&&m(f.value)};m(u.id);for(let d of p){let f=l(d.span.start-e),g=l(d.span.end-e),b=o(d.span),h=V(f,r,n);c.push({name:d.name,kind:"VariableDeclaration",signature:X(b,"VariableDeclaration"),line:O(f,s),endLine:O(g,s),doc:h,classification:"Internal Variable",capabilities:"[]"})}}if(a.type==="FunctionDeclaration"){let u=a.identifier?.value||a.ident?.value||"anonymous",p=l(a.span.start-e),m=l(a.span.end-e),d=o(a.span),f=V(p,r,n);c.push({name:u,kind:"FunctionDeclaration",signature:X(d,"FunctionDeclaration"),line:O(p,s),endLine:O(m,s),doc:f,classification:"Internal Function",capabilities:"[]"})}if(a.type==="ReturnStatement"&&a.argument?.type==="ObjectExpression")for(let u of a.argument.properties){let p="",m=u.span||u.key?.span||u.ident?.span;if(u.type==="KeyValueProperty"){let d=u.key;p=d?.value||d?.raw||(d?.type==="Identifier"?d.value:"")}else u.type==="MethodProperty"?p=u.key?.value||u.key?.raw||"":u.type==="ShorthandProperty"?p=u.ident?.value||"":u.type==="Identifier"&&(p=u.value||"");if(p&&m){let d=l(m.start-e),f=l(m.end-e),g=o(m),b=V(d,r,n);c.push({name:p,kind:"ReturnProperty",signature:X(g,"ReturnProperty"),line:O(d,s),endLine:O(f,s),doc:b,classification:"Return Member",capabilities:"[]"})}}if(a.type==="ExpressionStatement"&&a.expression.type==="CallExpression"){let u=a.expression;if(u.callee.type==="MemberExpression"&&(u.callee.property?.value==="on"||u.callee.property?.value==="once")){let p=u.arguments[0]?.expression?.value,m=u.arguments[1]?.expression;if(p&&m&&(m.type==="ArrowFunctionExpression"||m.type==="FunctionExpression")){let d=l(m.span.start-e),f=l(m.span.end-e),g=o(m.span);c.push({name:`on:${p}`,kind:m.type,signature:X(g,m.type),line:O(d,s),endLine:O(f,s),doc:"",classification:"Event Handler",capabilities:"[]"})}}if(u.callee.type==="Identifier"&&u.callee.value==="addRoute"&&u.arguments.length>=3){let p=u.arguments[2].expression;if(p.type==="StringLiteral"){let m=p.value,d=l(u.span.start-e),f=l(u.span.end-e),g=o(u.span);c.push({name:m,kind:"HTTP Route",signature:X(g,"HTTP Route"),line:O(d,s),endLine:O(f,s),doc:"",classification:"Service Boundary",capabilities:JSON.stringify({path:m})})}}}}return c}function jt(i,e,t,n,s,r){let o=r??(a=>We(a,t)),l=[];function c(a){if(!(!a||typeof a!="object")){if(a.type==="CallExpression"){let u=Gn(a);if(u){let p=o(a.span.start-e);l.push({...u,line:O(p,n),snippet:s(a.span)})}}for(let u of Object.keys(a)){if(u==="span")continue;let p=a[u];Array.isArray(p)?p.forEach(c):typeof p=="object"&&c(p)}}}return i.forEach(c),l}function Gn(i){let{callee:e,arguments:t}=i;if(!t||t.length===0)return null;if(e.type==="Identifier"&&e.value,e.type==="Identifier"&&e.value==="addRoute"&&t.length>=3){let n=t[2].expression;if(n.type==="StringLiteral")return{type:"api_route",name:n.value,direction:"consume"}}if(e.type==="MemberExpression"&&e.property?.type==="Identifier"){let n=e.property.value;if(n==="emit"&&t[0].expression.type==="StringLiteral")return{type:"socket_event",name:t[0].expression.value,direction:"produce"};if(n==="on"&&t[0].expression.type==="StringLiteral")return{type:"socket_event",name:t[0].expression.value,direction:"consume"};if(["get","post","put","delete","patch"].includes(n)&&t[0].expression.type==="StringLiteral"){let r=t[0].expression.value,o=e.object.type==="Identifier"?e.object.value:"";if(["axios","http","request","appApi","restApi","adminApi","client"].includes(o))return{type:"api_route",name:r,direction:"produce"};if(r.startsWith("/"))return{type:"api_route",name:r,direction:"consume"}}}return e.type==="Identifier"&&e.value==="fetch"&&t[0].expression.type==="StringLiteral"?{type:"api_route",name:t[0].expression.value,direction:"produce"}:null}function Se(i){let{classification:e,capabilities:t,exports:n,fileName:s}=i,r={Network:"API integration",Database:"data persistence","File System":"file I/O operations","Browser Storage":"client-side storage"},o=t.map(f=>r[f]).filter(Boolean).join(" and "),c={Component:(f,g)=>{let b=g.find(y=>y.kind==="FunctionDeclaration"||y.kind==="ClassDeclaration")?.name,h=b?`React component: ${b}`:"React UI component";return f?`${h} with ${f}`:h},Hook:(f,g)=>{let b=g.find(y=>y.name.startsWith("use"))?.name,h=b?`Custom React hook: ${b}`:"Custom React hook";return f?`${h} for ${f}`:h},Service:(f,g)=>{let h=`Service layer: ${g[0]?.name||"Service"}`;return f?`${h} handling ${f}`:h},Repository:(f,g)=>`Data repository: ${g[0]?.name||"Repository"} for ${f||"data access"}`,"Type Definition":(f,g)=>`Type definitions: ${g.slice(0,3).map(h=>h.name).join("")}${g.length>3?"...":""}`,Model:(f,g)=>`Data model: ${g[0]?.name||"Model"}`,"HTTP Route":(f,g)=>{let b=g.filter(h=>h.classification==="Service Boundary");return b.length>0?`API endpoints: ${b.slice(0,3).map(h=>h.name).join("")}`:"API route handler"},"Micro IR (PHP)":(f,g)=>{let b=g.some(y=>y.classification==="Service Boundary"),h=g.find(y=>y.kind==="ClassDeclaration")?.name;return b?"PHP controller with API routes":h?`PHP class: ${h}`:"PHP module"},"Micro IR (Python)":(f,g)=>{let b=g.some(y=>y.classification==="Service Boundary"),h=g.find(y=>y.kind==="ClassDeclaration")?.name;return b?"Python API handler with routes":h?`Python class: ${h}`:"Python module"},"Micro IR (Go/TS) ":(f,g)=>{let b=g.some(y=>y.kind==="TypeDeclaration"),h=g.filter(y=>y.kind==="FunctionDeclaration");return b&&h.length>0?`Go package: types and ${h.length} function(s)`:b?"Go package: type definitions":h.length>0?`Go package: ${h[0].name} and ${h.length} function(s)`:"Go module"},"Micro IR (Rust/TS) ":(f,g)=>{let b=g.find(T=>T.kind==="TraitDeclaration")?.name,h=g.find(T=>T.kind==="StructDeclaration")?.name,y=g.filter(T=>T.kind==="FunctionDeclaration");return b?f.includes("Rust trait")?`Rust module: trait ${b}`:`Rust module: ${b}`:h?`Rust module: struct ${h}`:y.length>0?`Rust module: ${y.length} function(s)`:"Rust module"}}[e];if(c)return c(o,n);if(n.length===0)return s?`Module: ${s}`:"Module with no exports";let a=n.filter(f=>f.kind==="FunctionDeclaration"),u=n.filter(f=>f.kind==="ClassDeclaration"),p=n.filter(f=>f.kind==="TsInterfaceDeclaration"||f.kind==="TsTypeAliasDeclaration"),m=[];if(u.length>0&&m.push(`Class: ${u[0].name}`),a.length>0){let f=a.slice(0,2).map(g=>g.name).join("");m.push(`Functions: ${f}`)}p.length>0&&m.push(`Types: ${p.length}`);let d=m.length>0?m.join(" | "):`Module with ${n.length} export(s)`;return o?`${d} \u2014 ${o}`:d}function zt(i){let e=new Set;function t(n){if(!(!n||typeof n!="object")){n.typeAnnotation&&A(n.typeAnnotation,e),(n.type==="TsTypeReference"||n.type==="TsTypeAnnotation")&&A(n,e);for(let s in n){if(s==="span"||s==="comments"||s==="interpreter")continue;let r=n[s];r&&typeof r=="object"&&(Array.isArray(r)?r.forEach(t):t(r))}}}return i.forEach(n=>t(n)),Array.from(e)}function A(i,e){if(i){if(i.type==="TsTypeAnnotation"){A(i.typeAnnotation,e);return}i.type==="TsTypeReference"&&(i.typeName?.type==="Identifier"&&e.add(i.typeName.value),i.typeName?.type==="TsQualifiedName"&&qt(i.typeName,e),i.typeParams&&A(i.typeParams,e)),i.type==="TsArrayType"&&A(i.elementType,e),i.type==="TsUnionType"&&i.types?.forEach(t=>A(t,e)),i.type==="TsIntersectionType"&&i.types?.forEach(t=>A(t,e)),i.type==="TsTupleType"&&i.elemTypes?.forEach(t=>A(t.ty,e)),(i.type==="TsFunctionType"||i.type==="TsConstructorType")&&(i.params?.forEach(t=>A(t.typeAnnotation,e)),i.typeAnnotation&&A(i.typeAnnotation,e)),i.type==="TsTypeParameterDeclaration"&&i.params?.forEach(t=>{t.constraint&&A(t.constraint,e),t.default&&A(t.default,e)}),i.type==="TsTypeParameterInstantiation"&&i.params?.forEach(t=>A(t,e)),i.type==="TsMappedType"&&i.typeAnnotation&&A(i.typeAnnotation,e),i.type==="TsIndexedAccessType"&&(A(i.objectType,e),A(i.indexType,e)),i.type==="TsConditionalType"&&(A(i.checkType,e),A(i.extendsType,e),A(i.trueType,e),A(i.falseType,e)),i.type==="TsTypeLiteral"&&i.members?.forEach(t=>{t.typeAnnotation&&A(t.typeAnnotation,e)})}}function qt(i,e){i.type==="TsQualifiedName"?(i.left&&qt(i.left,e),i.right?.value&&e.add(i.right.value)):i.type==="Identifier"&&e.add(i.value)}import Xt from"path";import ht from"path";j();$e();import Yt from"path";import ti from"fs";import{fileURLToPath as ni}from"url";import*as ue from"web-tree-sitter";var Ps=Yt.dirname(ni(import.meta.url)),Jt=E.child({module:"parser:tree-sitter"}),Ue=class{parser=null;languages=new Map;async ensureInitialized(){if(this.parser)return;let e=ue.Parser||ue;await e.init(),this.parser=new e}async getLanguage(e){if(this.languages.has(e))return this.languages.get(e);let t=fe("resources","grammars",`tree-sitter-${this.getLangName(e)}.wasm`);if(!ti.existsSync(t))return Jt.warn({grammarPath:t},"Grammar WASM not found"),null;try{let n=await ue.Language.load(t);return this.languages.set(e,n),n}catch(n){return Jt.error({err:n,ext:e},"Failed to load language grammar"),null}}getLangName(e){switch(e.toLowerCase()){case".php":return"php";case".py":return"python";case".go":return"go";case".rs":return"rust";default:return""}}getQueries(e){switch(e.toLowerCase()){case".php":return`
|
|
4
|
-
(function_definition name: (name) @name) @func
|
|
5
|
-
(class_declaration name: (name) @name) @class
|
|
6
|
-
(interface_declaration name: (name) @name) @interface
|
|
7
|
-
(trait_declaration name: (name) @name) @trait
|
|
8
|
-
(method_declaration name: (name) @name) @method
|
|
9
|
-
(namespace_use_declaration (namespace_use_clause (qualified_name) @name)) @import
|
|
10
|
-
`;case".py":return`
|
|
11
|
-
(function_definition name: (identifier) @name) @func
|
|
12
|
-
(class_definition name: (identifier) @name) @class
|
|
13
|
-
(import_statement name: (dotted_name) @name) @import
|
|
14
|
-
(import_from_statement module_name: (dotted_name) @name) @import
|
|
15
|
-
`;case".go":return`
|
|
16
|
-
(function_declaration name: (identifier) @name) @func
|
|
17
|
-
(method_declaration name: (identifier) @name) @func
|
|
18
|
-
(type_declaration (type_spec name: (identifier) @name)) @type
|
|
19
|
-
(import_spec path: (interpreted_string_literal) @name) @import
|
|
20
|
-
`;case".rs":return`
|
|
21
|
-
(function_item name: (identifier) @name) @func
|
|
22
|
-
(struct_item name: (_type_identifier) @name) @struct
|
|
23
|
-
(enum_item name: (_type_identifier) @name) @enum
|
|
24
|
-
(trait_item name: (_type_identifier) @name) @trait
|
|
25
|
-
(type_item name: (_type_identifier) @name) @type
|
|
26
|
-
(use_declaration argument: (_) @name) @import
|
|
27
|
-
`;default:return""}}mapKind(e,t){if(e==="import")return"ImportDeclaration";if(t===".php"){if(e==="func")return"FunctionDeclaration";if(e==="class")return"ClassDeclaration";if(e==="interface")return"InterfaceDeclaration";if(e==="trait")return"TraitDeclaration";if(e==="method")return"MethodDeclaration"}if(t===".py"){if(e==="func")return"FunctionDeclaration";if(e==="class")return"ClassDeclaration"}if(t===".go"){if(e==="func")return"FunctionDeclaration";if(e==="type")return"TypeDeclaration"}if(t===".rs"){if(e==="func")return"FunctionDeclaration";if(e==="struct")return"StructDeclaration";if(e==="enum")return"EnumDeclaration";if(e==="trait")return"TraitDeclaration";if(e==="type")return"TypeDeclaration"}return"Unknown"}mapClassification(e){return e==="import"?"Dependency":e==="func"||e==="method"?"Function":e==="class"||e==="interface"||e==="trait"||e==="struct"||e==="enum"||e==="type"?"Class":"Other"}async parse(e,t){await this.ensureInitialized();let n=Yt.extname(e).toLowerCase(),s=await this.getLanguage(n);if(!s||!this.parser)return[];this.parser.setLanguage(s);let r=this.parser.parse(t),o=t.split(`
|
|
28
|
-
`),l=this.getQueries(n);if(!l)return[];let a=new ue.Query(s,l).matches(r.rootNode),u=[];for(let p of a){let m=p.captures.find(g=>g.name==="name")?.node,d=p.captures[0].node,f=p.captures[0].name;if(m){let g=d.startPosition.row+1,b=d.endPosition.row+1,h=o[d.startPosition.row].trim();u.push({name:m.text,kind:this.mapKind(f,n),classification:this.mapClassification(f),signature:h,line:g,endLine:b,doc:"",capabilities:"{}"})}}return u}};var Be=class{parse(e,t=!1){let n=[],s=[],r=e.split(`
|
|
29
|
-
`),o="",l="",c=0,a=0,u=-1,p=-1,m=[],d=[],f=!1,g=t?"api":"",b="",h=/^namespace\s+([a-zA-Z0-9_\\]+);/,y=/^(?:abstract\s+)?(?:readonly\s+)?class\s+([a-zA-Z0-9_]+)/,T=/^interface\s+([a-zA-Z0-9_]+)/,_=/^trait\s+([a-zA-Z0-9_]+)/,x=/^(?:public|protected|private|static|\s)*function\s+([a-zA-Z0-9_]+)\s*\(/,I=/^use\s+([a-zA-Z0-9_\\]+)(?:\s+as\s+([a-zA-Z0-9_]+))?;/,D=/^#\[([a-zA-Z0-9_\\]+)(?:\((.*)\))?\]/,z=/(?:Route::|router->|\$router->|->)(get|post|put|delete|patch|match)\s*\(\s*(?:uri\s*:\s*)?['"]([^'"]+)['"]/,w=/->prefix\s*\(\s*(?:prefix\s*:\s*)?['"]([^'"]+)['"]/;for(let N=0;N<r.length;N++){let v=r[N].trim();if(!v)continue;let $=(v.match(/{/g)||[]).length,U=(v.match(/}/g)||[]).length,ne=a;if(a+=$-U,l&&a<=p){let L=n.find(k=>k.name===l&&k.line===c);L&&(L.endLine=N+1),l="",p=-1}if(o&&a<=u){let L=n.find(k=>k.name===o&&(k.kind==="ClassDeclaration"||k.kind==="TraitDeclaration"||k.kind==="InterfaceDeclaration"));L&&(L.endLine=N+1),o="",u=-1}let S=v.match(w);if(S&&(g=S[1]),v.includes("});")&&(g=""),v.startsWith("/**")){f=!0,d=[];continue}if(f){v.endsWith("*/")?f=!1:d.push(v.replace(/^\*\s?/,""));continue}let M=v.match(D);if(M){m.push(M[1]);continue}let P=v.match(h);if(P){b=P[1]||"",m=[],d=[];continue}let C=v.match(y);if(C){o=C[1],u=a-$;let L={attributes:m};b&&(L.namespace=b),n.push({name:o,kind:"ClassDeclaration",classification:"Class",signature:`class ${o}`,line:N+1,endLine:N+1,doc:d.join(`
|
|
30
|
-
`).trim(),capabilities:JSON.stringify(L),members:[]}),m=[],d=[];continue}let R=v.match(T);if(R){let L=R[1];o=L,u=a-$,n.push({name:L,kind:"InterfaceDeclaration",classification:"Interface",signature:`interface ${L}`,line:N+1,endLine:N+1,doc:d.join(`
|
|
31
|
-
`).trim(),capabilities:JSON.stringify({attributes:m}),members:[]}),m=[],d=[];continue}let W=v.match(_);if(W){let L=W[1];o=L,u=a-$,n.push({name:L,kind:"TraitDeclaration",classification:"Trait",signature:`trait ${L}`,line:N+1,endLine:N+1,doc:d.join(`
|
|
32
|
-
`).trim(),capabilities:JSON.stringify({attributes:m}),members:[]}),m=[],d=[];continue}let J=v.match(x);if(J){let L=J[1],k=!!o;l=L,c=N+1,p=a-$;let le=!1,Z={};for(let H of m)H.toLowerCase().includes("route")&&(le=!0,Z={type:"route",method:"GET",path:"/"});let ee=d.join(`
|
|
33
|
-
`).trim();if(le){let H=Z.path||"/";n.push({name:H,kind:"HTTP Route",classification:"Service Boundary",signature:`Function: ${L}`,line:N+1,endLine:N+1,doc:ee,capabilities:JSON.stringify({type:"route",handler:o?`${o}@${L}`:L,...Z})}),s.push({type:"api_route",name:H,direction:"consume",line:N+1,snippet:v})}n.push({name:L,kind:k?"MethodDeclaration":"FunctionDeclaration",classification:k?"Method":"Function",signature:`${k?o+":: ":""}${L}`,line:N+1,endLine:N+1,doc:ee,capabilities:JSON.stringify({attributes:m})}),m=[],d=[];continue}let Y=v.match(I);if(Y){let L=Y[1]||"",k=Y[2]||L.split("\\").pop()||"";n.push({name:k,kind:"ImportSpecifier",classification:"Dependency",signature:`use ${L}`,line:N+1,endLine:N+1,doc:"",capabilities:JSON.stringify({type:"use",namespace:L})}),m=[],d=[];continue}let B=v.match(z);if(B){let L=B[1].toUpperCase(),k=B[2];if(v.includes("Route::")||v.includes("router->")||v.includes("action")||v.includes(",")&&!v.includes("view(")){if(g){let ie=g.startsWith("/")?g:`/${g}`,pt=k.startsWith("/")?k:`/${k}`;k=(ie+pt).replace(/\/+/g,"/")}let Z=null,ee=v.match(/\[\s*([a-zA-Z0-9_]+)::class\s*,\s*['"]([^'"]+)['"]\s*\]/);if(ee)Z=`${ee[1]}@${ee[2]}`;else if(v.includes("::class")){let ie=v.match(/([a-zA-Z0-9_]+)::class/);ie&&(Z=ie[1])}let H=v;!v.endsWith(");")&&N+1<r.length&&(H+=" "+r[N+1].trim(),!H.endsWith(");")&&N+2<r.length&&(H+=" "+r[N+2].trim())),n.push({name:k,kind:"HTTP Route",classification:"Service Boundary",signature:H,line:N+1,endLine:N+1,doc:"",capabilities:JSON.stringify({type:"route",method:L,path:k,handler:Z})}),s.push({type:"api_route",name:k,direction:"consume",line:N+1,snippet:H,method:L,url:k}),d=[];continue}}let Q=/(?:\$client|client|Http)::(get|post|put|delete|patch|request)\s*\(\s*(?:url\s*:\s*)?([^,)]+)|(?:\$client|client)->(request|get|post|put|delete|patch)\s*\(\s*([^,)]+)/,q=v.match(Q);if(q){let L=(q[1]||q[3]).toUpperCase(),k=(q[2]||q[4]).trim();(k.startsWith("'")&&k.endsWith("'")||k.startsWith('"')&&k.endsWith('"'))&&(k=k.substring(1,k.length-1)),s.push({type:"api_route",name:k,direction:"produce",line:N+1,snippet:v,method:L,url:k})}!v.startsWith("#[")&&!v.startsWith("//")&&!v.startsWith("*")&&!f&&(m=[],d=[])}return{nodes:n,events:s}}};var je=class{currentRoutePrefix="";parse(e){this.currentRoutePrefix="";let t=[],n=[],s=e.split(`
|
|
34
|
-
`),r=[{indent:-1,name:"root",type:"root"}],o=[],l=/^class\s+([a-zA-Z0-9_]+)/,c=/^async\s+def\s+([a-zA-Z0-9_]+)|^def\s+([a-zA-Z0-9_]+)/,a=/^(?:from\s+([a-zA-Z0-9_\.]+)\s+import|import\s+([a-zA-Z0-9_\.]+))/,u=/^@(.*)/;function p(h){return h.trim().split(/[.(]/)[0]?.trim()||h}function m(h){let y=h.decorators.map(_=>p(_.raw)),T={decorators:h.decorators,decoratorNames:y};return h.async===!0&&(T.async=!0),JSON.stringify(T)}let d=!1,f="",g=[],b=[];for(let h=0;h<s.length;h++){let y=s[h],T=y.trim();if(!T||T.startsWith("#"))continue;let _=/^([a-zA-Z0-9_]+)\s*=\s*(?:APIRouter|Blueprint)\s*\(\s*(?:prefix\s*=\s*)?['"]([^'"]+)['"]/,x=T.match(_);if(x&&(this.currentRoutePrefix=x[2]),d){if(T.endsWith(f)||T.includes(f)){d=!1;let C=T.replace(f,"").trim();C&&g.push(C);let R=r[r.length-1];R.node&&(R.node.doc=g.join(`
|
|
35
|
-
`).trim()),g=[]}else g.push(T);continue}let I=y.search(/\S/),D=y.trim(),z=D.match(/^(['"]{3})/);if(z){let C=z[1],R=r[r.length-1];if(R.node&&!R.node.doc){if(D.substring(3).includes(C)){let W=D.replace(new RegExp(C,"g"),"").trim();R.node.doc=W}else{d=!0,f=C;let W=D.substring(3).trim();W&&g.push(W)}continue}}for(;r.length>1&&r[r.length-1].indent>=I;)r.pop();let w=r[r.length-1],N=D.match(u);if(N){o.push({raw:N[1].trim(),line:h+1});continue}let v=D.match(l);if(v){let C=v[1],R={name:C,kind:"ClassDeclaration",classification:"Class",signature:`class ${C}`,line:h+1,endLine:h+1,doc:"",capabilities:m({decorators:o}),members:[]};b.push(R),w.node?(w.node.members||(w.node.members=[]),w.node.members.push(R)):t.push(R),r.push({indent:I,name:C,type:"class",node:R}),o=[];continue}let $=D.match(c);if($){let C=!!$[1],R=$[1]||$[2],W=w.type==="class",J=!1,Y={};for(let k of o)if(k.raw.match(/(?:app|router)\.(get|post|put|delete|patch)/)){J=!0;let Z=["get","post","put","delete","patch"].find(ie=>k.raw.toLowerCase().includes(`.${ie}`))?.toUpperCase()||"GET",ee=k.raw.match(/['"]([^'"]+)['"]/),H=ee?ee[1]:"/";if(this.currentRoutePrefix){let ie=this.currentRoutePrefix.endsWith("/")?this.currentRoutePrefix.slice(0,-1):this.currentRoutePrefix,pt=H.startsWith("/")?H:`/${H}`;H=ie+pt}Y={type:"route",method:Z,path:H}}if(J){let k=Y.path||"",le={name:k||R,kind:"HTTP Route",classification:"Service Boundary",signature:`Function: ${R}`,line:h+1,endLine:h+1,doc:"",capabilities:JSON.stringify({handler:W?`${w.name}.${R}`:R,async:C,...Y})};b.push(le),t.push(le),n.push({type:"api_route",name:k,direction:"consume",line:h+1,snippet:D})}let B=o.some(k=>k.raw==="staticmethod"),Q=o.some(k=>k.raw==="classmethod"),q=`${C?"async ":""}${W?(B?"@staticmethod ":Q?"@classmethod ":"")+w.name+".":""}${R}`,L={name:R,kind:C&&W?"AsyncMethodDeclaration":C?"AsyncFunctionDeclaration":W?"MethodDeclaration":"FunctionDeclaration",classification:W?B||Q?"Static Method":"Method":"Function",signature:q,line:h+1,endLine:h+1,doc:"",capabilities:m({decorators:o,async:C}),members:[]};b.push(L),w.node?(w.node.members||(w.node.members=[]),w.node.members.push(L)):t.push(L),r.push({indent:I,name:R,type:"function",node:L}),o=[];continue}let U=/^(?:path|re_path|url)\s*\(\s*['"]([^'"]+)['"]/,ne=D.match(U);if(ne){let C=ne[1].replace(/^\^/,""),R={name:C,kind:"HTTP Route",classification:"Service Boundary",signature:D.trim(),line:h+1,endLine:h+1,doc:"",capabilities:JSON.stringify({type:"route",method:"GET",path:C})};b.push(R),t.push(R),n.push({type:"api_route",name:C,direction:"consume",line:h+1,snippet:D});continue}let S=/(?:requests|httpx|client|http)\.(get|post|put|delete|patch|request)\s*\(\s*(?:url\s*:\s*)?([^,)]+)/,M=D.match(S);if(M){let C=M[1].toUpperCase(),R=M[2].trim();(R.startsWith("'")&&R.endsWith("'")||R.startsWith('"')&&R.endsWith('"'))&&(R=R.substring(1,R.length-1)),n.push({type:"api_route",name:R,direction:"produce",line:h+1,snippet:D,method:C,url:R})}let P=D.match(a);if(P){let C=P[1]||P[2],R={name:C,kind:"ImportSpecifier",classification:"Dependency",signature:`import ${C}`,line:h+1,endLine:h+1,doc:"",capabilities:JSON.stringify({type:"import",module:C})};b.push(R),t.push(R),o=[];continue}o=[],w.node&&(w.node.endLine=h+1)}return{nodes:b,events:n}}};var Qt=[{extension:[".php"],rules:[]},{extension:[".py"],rules:[]},{extension:[".go"],rules:[{regex:/func\s+([a-zA-Z0-9_]+)\(/g,onMatch:i=>({name:i[1],kind:"FunctionDeclaration",classification:"Function",signature:i[0]})},{regex:/func\s+\([^\)]+\)\s+([a-zA-Z0-9_]+)\(/g,onMatch:i=>({name:i[1],kind:"MethodDeclaration",classification:"Method",signature:i[0]})},{regex:/import\s+['"]([^'"]+)['"]/g,onMatch:i=>({name:i[1],kind:"ImportSpecifier",classification:"Dependency",signature:i[0],meta:{type:"import",path:i[1]}})}]},{extension:[".rs"],rules:[{regex:/fn\s+([a-zA-Z0-9_]+)\s*\(/g,onMatch:i=>({name:i[1],kind:"FunctionDeclaration",classification:"Function",signature:i[0]})},{regex:/struct\s+([a-zA-Z0-9_]+)/g,onMatch:i=>({name:i[1],kind:"StructDeclaration",classification:"Class",signature:i[0]})},{regex:/enum\s+([a-zA-Z0-9_]+)/g,onMatch:i=>({name:i[1],kind:"EnumDeclaration",classification:"Class",signature:i[0]})},{regex:/trait\s+([a-zA-Z0-9_]+)/g,onMatch:i=>({name:i[1],kind:"TraitDeclaration",classification:"Class",signature:i[0]})},{regex:/use\s+([a-zA-Z0-9_:]+(?:\s+as\s+[a-zA-Z0-9_]+)?);/g,onMatch:i=>({name:i[1].trim(),kind:"ImportDeclaration",classification:"Dependency",signature:i[0],meta:{type:"import",path:i[1].trim()}})}]},{extension:[".ts",".tsx",".js",".jsx",".mjs",".cjs"],rules:[{regex:/(?:export\s+)?(?:async\s+)?function\s+([a-zA-Z0-9_]+)\s*\(/g,onMatch:i=>({name:i[1],kind:"FunctionDeclaration",classification:"Function"})},{regex:/(?:export\s+)?class\s+([a-zA-Z0-9_]+)/g,onMatch:i=>({name:i[1],kind:"ClassDeclaration",classification:"Class"})},{regex:/(?:export\s+)?interface\s+([a-zA-Z0-9_]+)/g,onMatch:i=>({name:i[1],kind:"InterfaceDeclaration",classification:"Interface"})},{regex:/(?:export\s+)?const\s+([a-zA-Z0-9_]+)\s*=/g,onMatch:i=>({name:i[1],kind:"VariableDeclaration",classification:"Constant"})},{regex:/import\s+.*\s+from\s+['"]([^'"]+)['"]/g,onMatch:i=>({name:i[1],kind:"ImportDeclaration",classification:"Dependency",meta:{path:i[1]}})}]}];function ii(i,e){let t=[];if(i===".go"&&e.some(n=>n.kind==="TypeDeclaration")&&t.push("Go type"),i===".rs"&&(e.some(n=>n.kind==="TraitDeclaration")&&t.push("Rust trait"),e.some(n=>n.kind==="StructDeclaration")&&t.push("Rust struct"),e.some(n=>n.kind==="EnumDeclaration")&&t.push("Rust enum")),i===".py"){for(let n of e)if(n.capabilities)try{if(JSON.parse(n.capabilities).decoratorNames?.length){t.push("Python decorators");break}}catch{}e.some(n=>n.kind==="AsyncFunctionDeclaration"||n.kind==="AsyncMethodDeclaration")&&t.push("Async")}return t}var ze=class{phpParser=new Be;pythonParser=new je;treeSitterParser=new Ue;supports(e){return Qt.some(t=>t.extension.includes(e.toLowerCase()))}async parse(e,t){let n=ht.extname(e).toLowerCase(),s=[],r=[];if(n===".php"||n===".py"||n===".go"||n===".rs"){if(n===".py"){let c=this.pythonParser.parse(t);s=c.nodes,r=c.events}else if(n===".php"){let c=e.toLowerCase().endsWith("api.php"),a=this.phpParser.parse(t,c);s=a.nodes,r=a.events}else try{s=await this.treeSitterParser.parse(e,t)}catch{}if(s.length>0){let c=n===".php"?"Micro IR (PHP/TS) ":n===".py"?"Micro IR (Python/TS) ":n===".go"?"Micro IR (Go/TS) ":"Micro IR (Rust/TS) ",a=s.filter(d=>d.classification!=="Dependency"),u=s.filter(d=>d.classification==="Dependency"),p=ii(n,s),m=Se({classification:c,capabilities:p,exports:a.map(d=>({name:d.name,kind:d.kind,classification:d.classification})),fileName:ht.basename(e)});return{exports:a,imports:u.map(d=>({module:d.name,name:d.name,kind:d.kind,classification:d.classification})),events:r,classification:c,summary:m||`${n.substring(1).toUpperCase()} module`,parseStatus:"success"}}}let o=Qt.find(c=>c.extension.includes(n));if(!o)return{exports:[],imports:[],classification:"Unknown",summary:"",parseStatus:"failed",parseError:`Unsupported file extension: ${n}`};for(let c of o.rules){c.regex.lastIndex=0;let a;for(;(a=c.regex.exec(t))!==null;){let u=c.onMatch(a),p=t.substring(0,a.index).split(`
|
|
36
|
-
`).length;s.push({name:u.name||"anonymous",kind:u.kind||"Unknown",classification:u.classification||"Other",signature:u.signature||a[0],line:p,endLine:p,doc:"",capabilities:JSON.stringify(u.meta||{})})}}let l=Se({classification:`Micro IR (${n.substring(1).toUpperCase()})`,capabilities:[],exports:s.map(c=>({name:c.name,kind:c.kind,classification:c.classification})),fileName:ht.basename(e)});return{exports:s,imports:[],classification:`Micro IR (${n.substring(1).toUpperCase()})`,summary:l||"Module",parseStatus:s.length>0?"success":"partial"}}};j();var yt=new ze;async function Et(i){let e=Xt.extname(i);if(yt.supports(e)&&e!==".ts"&&e!==".tsx")try{let r=await Vt.promises.readFile(i,"utf-8");return{...await yt.parse(i,r),content:r}}catch(r){return E.error({filePath:i,error:r.message},"HeuristicParser failed"),{exports:[],imports:[],classification:"Unknown",summary:"",content:"",parseStatus:"failed",parseError:r.message}}let t;try{t=await Vt.promises.readFile(i)}catch(r){return{exports:[],imports:[],classification:"Error",summary:"",content:"",parseStatus:"failed",parseError:`File read error: ${r.message}`}}let n=t.toString("utf8"),s=Ft(n);try{let r=i.endsWith(".tsx"),o=i.endsWith(".d.ts")||i.endsWith(".d.tsx"),l,c={syntax:"typescript",tsx:r,decorators:!0,comments:!0};if(o)try{l=gt.parseSync(n,c)}catch{l=gt.parseSync(n,{...c,isModule:!1})}else l=gt.parseSync(n,c);let a=l.span.start,u=Pt(t),p=Ht(n),m=_=>Wt(_,a,t),d=Ut(l.body),f=zt(l.body);f.length>0&&E.debug({filePath:i,count:f.length},"Extracted type references"),f.forEach(_=>{d.push({module:"__type_reference__",name:_})});let g=Bt(l.body,a,t,n,s,p,i,m,u),b=jt(l.body,a,t,s,m,u),h=He(i,"","Module"),y=p.length>0&&p[0].start===0?p[0].text:g.find(_=>_.doc)?.doc||"",T=$t(y);if(!T&&g.length>0){let _=Te(n);T=Se({classification:h,capabilities:_,exports:g.map(x=>({name:x.name,kind:x.kind,classification:x.classification})),fileName:Xt.basename(i)})}return{exports:g,imports:d,events:b,classification:h,summary:T,content:n,parseStatus:"success"}}catch(r){E.warn({filePath:i,error:r.message},"SWC parsing failed, using heuristic fallback");try{let o=await yt.parse(i,n);return{...o,content:n,classification:o.classification+" (Degraded)",parseStatus:"partial",parseError:`SWC failed, used heuristic fallback: ${r.message}`}}catch(o){return E.error({filePath:i,error:o.message},"All parsing strategies failed"),{exports:[],imports:[],classification:"Error",summary:"",content:n,parseStatus:"failed",parseError:`All parsing strategies failed: ${o.message}`}}}}function si(i,e=500){let t=[],n=[],s=0;return i.forEach(r=>{let o=r.doc?.split(/\s+/).length||0;s+o>e&&(t.push(n),n=[],s=0),n.push(r),s+=o}),n.length&&t.push(n),t}import qe from"path";var ri=50;function ke(i,e,t,n){let s={name:qe.basename(e)||e,type:"directory",path:e,children:[]};return i.forEach(r=>{let l=qe.relative(e,r.path).split(qe.sep),c=s;for(let a=0;a<l.length;a++){let u=l[a];if(n!==void 0&&a>=n)return;let p=a===l.length-1;if(n===1&&a===0&&p)return;let m=n!==void 0&&a===n-1&&!p,d=qe.join(e,...l.slice(0,a+1)),f=c.children?.find(g=>g.name===u);if(!f){if(c.children&&c.children.length>=ri){c.children.find(h=>h.type==="truncated")||c.children.push({name:"... (truncated) ",type:"truncated",path:"",children:void 0});return}f={name:u,type:p?"file":"directory",path:d,children:p||m?void 0:[],summary:p?{classification:r.classification,summaryText:r.summary,exports:r.exports,imports:r.imports,chunks:r.chunks}:void 0},f.summary&&(t==="structure"||t==="signatures")&&(delete f.summary.chunks,delete f.summary.imports),c.children?.push(f)}c=f}}),s}j();import Nt from"p-limit";var bt=class{startTime=Date.now();indexRuns=0;indexCacheHits=0;lastIndexDurationMs=null;lastIndexCompletedAt=null;lastRunPhases=[];queryCount=0;lastQueryLatencyMs=null;recentLatencySumMs=0;recentLatencyCount=0;recentLatencies=[];searchHistoryFailureCount=0;recordIndexStart(){this.indexRuns+=1}recordIndexCacheHit(){this.indexCacheHits+=1}recordIndexEnd(e){this.lastIndexDurationMs=e,this.lastIndexCompletedAt=Date.now()}recordIndexPhase(e,t){this.lastRunPhases.push({phase:e,durationMs:t})}clearIndexPhases(){this.lastRunPhases=[]}recordQueryStart(){let e=performance.now();return()=>{this.queryCount+=1;let t=performance.now()-e;if(this.lastQueryLatencyMs=t,this.recentLatencies.push(t),this.recentLatencies.length>100){let n=this.recentLatencies.shift();this.recentLatencySumMs=this.recentLatencySumMs-n+t}else this.recentLatencySumMs+=t,this.recentLatencyCount=this.recentLatencies.length}}recordSearchHistoryFailure(){this.searchHistoryFailureCount+=1}getSnapshot(){let e=this.recentLatencies.length,t=e>0?this.recentLatencies.reduce((n,s)=>n+s,0)/e:null;return{index:{runs:this.indexRuns,cacheHits:this.indexCacheHits,lastDurationMs:this.lastIndexDurationMs,lastCompletedAt:this.lastIndexCompletedAt,lastRunPhases:[...this.lastRunPhases]},query:{count:this.queryCount,lastLatencyMs:this.lastQueryLatencyMs,recentLatencySumMs:this.recentLatencySumMs,recentLatencyCount:e,avgLatencyMs:t,searchHistoryFailures:this.searchHistoryFailureCount},uptimeMs:Date.now()-this.startTime}}reset(){this.indexRuns=0,this.indexCacheHits=0,this.lastIndexDurationMs=null,this.lastIndexCompletedAt=null,this.lastRunPhases=[],this.queryCount=0,this.lastQueryLatencyMs=null,this.recentLatencySumMs=0,this.recentLatencyCount=0,this.recentLatencies=[],this.searchHistoryFailureCount=0}},xe=new bt;function Zt(){xe.recordIndexStart()}function _t(){xe.recordIndexCacheHit()}function en(i){xe.recordIndexEnd(i)}function Ie(i,e){xe.recordIndexPhase(i,e)}function tn(){xe.clearIndexPhases()}import Dt from"path";import Xi from"fs";import Zi from"os";j();import mi from"better-sqlite3";import Ge from"path";import Tt from"fs";import sn from"crypto";j();import Le from"fs";import Rt from"path";import{fileURLToPath as oi}from"url";var ve=E.child({module:"migrations"}),ai=oi(import.meta.url),ci=Rt.dirname(ai);function li(i){i.exec(`
|
|
1
|
+
var Xb=Object.defineProperty;var me=(n,e)=>()=>(n&&(e=n(n=0)),e);var He=(n,e)=>{for(var r in e)Xb(n,r,{get:e[r],enumerable:!0})};import r_ from"pino";var i_,o_,$,V=me(()=>{"use strict";i_={10:"TRACE",20:"DEBUG",30:"INFO",40:"WARN",50:"ERROR",60:"FATAL"},o_=r_({level:process.env.LOG_LEVEL||"warn",base:{service:"liquid-shadow"},formatters:{level(n,e){return{level:n,severity:i_[e]??"INFO"}}},transport:{target:"pino-pretty",options:{colorize:!0,translateTime:"HH:MM:ss",destination:2,levelKey:"severity",messageKey:"message"}}}),$=o_});import{fileURLToPath as s_}from"node:url";import{dirname as Xa,join as sf,resolve as a_}from"node:path";import{existsSync as c_}from"node:fs";function u_(){let n=of;for(;n!==Xa(n);){if(c_(sf(n,"package.json")))return n;n=Xa(n)}return a_(of,"..","..")}function Sn(...n){return sf(u_(),...n)}var l_,of,$i=me(()=>{"use strict";l_=s_(import.meta.url),of=Xa(l_)});import Yt from"fs";import Ni from"path";import{fileURLToPath as b_}from"url";function S_(){let n=x_;if(Yt.readdirSync(n).some(i=>i.match(/^\d{3}_.*\.sql$/)))return n;let r=Ni.resolve(n,"../../data/migrations");return Yt.existsSync(r)&&Yt.readdirSync(r).some(i=>i.match(/^\d{3}_.*\.sql$/))?r:n}function $_(n){n.exec(`
|
|
37
2
|
CREATE TABLE IF NOT EXISTS schema_migrations (
|
|
38
|
-
version
|
|
39
|
-
name
|
|
40
|
-
applied_at REAL
|
|
3
|
+
version INTEGER PRIMARY KEY,
|
|
4
|
+
name TEXT NOT NULL,
|
|
5
|
+
applied_at REAL DEFAULT (unixepoch())
|
|
41
6
|
);
|
|
42
|
-
`)}function
|
|
7
|
+
`)}function w_(n){$_(n);let e=n.prepare("SELECT version FROM schema_migrations ORDER BY version").all();return new Set(e.map(r=>r.version))}function k_(n){return Yt.readdirSync(n).filter(r=>r.match(/^\d{3}_.*\.sql$/)&&!r.startsWith("000_")).sort().map(r=>{let i=r.match(/^(\d{3})_(.+)\.sql$/),t=parseInt(i[1],10),o=i[2],a=Yt.readFileSync(Ni.join(n,r),"utf-8").split(/^-- DOWN$/m);return{version:t,name:o,up:a[0].trim(),down:a[1]?.trim()}})}function E_(n,e){kt.info({version:e.version,name:e.name},"Applying migration"),n.transaction(()=>{n.exec(e.up),n.prepare("INSERT INTO schema_migrations (version, name) VALUES (?, ?)").run(e.version,e.name)})(),kt.info({version:e.version},"Migration applied successfully")}function I_(n,e,r){let i=Ni.join(e,"000_baseline.sql");if(!Yt.existsSync(i)){kt.warn("000_baseline.sql not found \u2014 falling back to incremental migrations");return}kt.info("Fresh database detected \u2014 applying consolidated baseline schema");let t=Yt.readFileSync(i,"utf-8");n.transaction(()=>{n.exec(t);let o=n.prepare("INSERT OR IGNORE INTO schema_migrations (version, name) VALUES (?, ?)");for(let s of r)o.run(s.version,s.name)})(),kt.info({stamped:r.length},"Baseline applied \u2014 incremental migrations stamped")}function yf(n){let e=w_(n),r=S_(),i=k_(r);if(e.size===0){I_(n,r,i);return}let t=i.filter(o=>!e.has(o.version));if(t.length===0){kt.debug("No pending migrations");return}kt.info({count:t.length},"Running pending migrations");for(let o of t)E_(n,o);kt.info("All migrations complete")}var kt,__,x_,vf=me(()=>{"use strict";V();kt=$.child({module:"migrations"}),__=b_(import.meta.url),x_=Ni.dirname(__)});import T_ from"better-sqlite3";import zi from"path";import ic from"fs";import bf from"crypto";import R_ from"os";function Ai(n){let e=R_.homedir(),r=zi.join(e,".mcp-liquid-shadow"),i=zi.join(r,"dbs");ic.existsSync(i)||ic.mkdirSync(i,{recursive:!0});let t=bf.createHash("sha256").update(n).digest("hex").substring(0,12),s=`${zi.basename(n).replace(/[^a-zA-Z0-9-_]/g,"_")}_${t}.db`;return zi.join(i,s)}function _f(n,e){let r=e||Ai(n);gt.debug({repoPath:n,dbPath:r},"Initializing database");let i=new T_(r);return i.pragma("journal_mode = WAL"),i.pragma("busy_timeout = 5000"),yf(i),Di.set(n,r),Et.set(r,i),gt.debug({repoPath:n,dbPath:r},"Database initialized successfully"),i}function Xt(n){return bf.createHash("sha256").update(n,"utf8").digest("hex")}function oc(n,e){return e?Xt(n)!==e:!0}function ze(n){let e=Di.get(n)||Ai(n),r=Et.get(e);if(r){if(r.open)return r;Et.delete(e)}let i=_f(n);return Et.set(e,i),i}function Xe(n){let e=Ai(n);if(!ic.existsSync(e))return!1;try{let r=ze(n);return r.prepare(`
|
|
43
8
|
SELECT value FROM index_metadata
|
|
44
9
|
WHERE key = 'index_completed'
|
|
45
|
-
`).get()?.value==="true"?!0:
|
|
10
|
+
`).get()?.value==="true"?!0:r.prepare("SELECT COUNT(*) as count FROM files").get().count>0}catch(r){return gt.debug({repoPath:n,error:r},"Error checking index status"),!1}}function Li(n,e){let r=ze(n),i=r.prepare("INSERT OR REPLACE INTO index_metadata (key, value, updated_at) VALUES (?, ?, unixepoch())");r.transaction(()=>{i.run("index_completed","true"),i.run("last_indexed_at",Date.now().toString()),e&&i.run("last_indexed_commit",e)})(),gt.debug({repoPath:n,commitSha:e},"Repository marked as indexed")}function sc(n){try{return ze(n).prepare(`
|
|
46
11
|
SELECT value FROM index_metadata
|
|
47
12
|
WHERE key = 'last_indexed_commit'
|
|
48
|
-
`).get()?.value||null}catch(e){return
|
|
49
|
-
`);for(let n of t){let s=n.trim();if(s.startsWith("FROM "))e.push({key:"base_image",value:s.substring(5).trim(),kind:"Image"});else if(s.startsWith("EXPOSE "))e.push({key:"port",value:s.substring(7).trim(),kind:"Port"});else if(s.startsWith("ENV ")){let r=s.substring(4).trim().split(/\s+|=/);if(r[0]){let o=r[0],l=r.slice(1).join("= ").trim()||"undefined",c="Env";(o.endsWith("_URI")||o.endsWith("_URL")||o.endsWith("_HOST"))&&(c="Service"),e.push({key:o,value:l,kind:c})}}}}function Ti(i,e){try{let t=yn.load(i);if(!t||typeof t!="object")return;if(t.services&&typeof t.services=="object")for(let[s,r]of Object.entries(t.services)){if(!r||typeof r!="object")continue;let o=r;if(e.push({key:`service:${s}`,value:s,kind:"Service"}),o.image&&e.push({key:`service:${s}:image`,value:String(o.image),kind:"Image"}),Array.isArray(o.ports)&&o.ports.forEach(l=>{e.push({key:`service:${s}:port`,value:String(l),kind:"Port"})}),o.environment){if(Array.isArray(o.environment))o.environment.forEach(l=>{let[c,...a]=l.split("= ");c&&a.length>0&&e.push({key:`service:${s}:env:${c}`,value:a.join("= "),kind:"Env"})});else if(typeof o.environment=="object")for(let[l,c]of Object.entries(o.environment))e.push({key:`service:${s}:env:${l}`,value:String(c),kind:"Env"})}if(Array.isArray(o.depends_on))o.depends_on.forEach(l=>{e.push({key:`service:${s}:depends_on`,value:l,kind:"Dependency"})});else if(o.depends_on&&typeof o.depends_on=="object")for(let l of Object.keys(o.depends_on))e.push({key:`service:${s}:depends_on`,value:l,kind:"Dependency"})}let n=(s,r="")=>{if(!(!s||typeof s!="object"||Array.isArray(s)))for(let[o,l]of Object.entries(s)){let c=r?`${r}.${o}`:o;if(t.services&&(c.startsWith("services.")||c==="services")){l&&typeof l=="object"&&!Array.isArray(l)&&n(l,c);continue}if(l&&typeof l=="object"&&!Array.isArray(l))n(l,c);else{let a=String(l),u="Env";o.toLowerCase().includes("image")&&(u="Image"),o.toLowerCase().includes("port")&&(u="Port"),o.toLowerCase().includes("service")&&(u="Service"),(o.endsWith("_URI")||o.endsWith("_URL")||o.endsWith("_HOST"))&&(u="Service"),e.push({key:c,value:a.length>100?a.substring(0,97)+"...":a,kind:u})}}};n(t)}catch{let n=i.match(/^\s{2}([a-z0-9_-]+):/gm);n&&n.forEach(s=>{let r=s.trim().replace(" : ","");r!=="services"&&r!=="version"&&r!=="volumes"&&r!=="networks"&&e.push({key:"service",value:r,kind:"Service"})})}}function Si(i,e){let t=i.split(`
|
|
50
|
-
`);for(let n of t){let s=n.trim();if(s&&!s.startsWith("#")){let r=s.split("=");if(r[0]){let o=r[0].trim(),l=r.slice(1).join("=");l=l.trim().replace(/^['"](.*)['"]$/,"$1");let c="Env";(o.endsWith("_URI")||o.endsWith("_URL")||o.endsWith("_HOST"))&&(c="Service"),e.push({key:o,value:l,kind:c})}}}}function ki(i,e){let t=[],n="Contract (Prisma) ",s=/^model\s+(\w+)/gm,r;for(;(r=s.exec(i))!==null;)t.push({key:"model",value:r[1],kind:"Database Model"});let o=/^enum\s+(\w+)/gm;for(;(r=o.exec(i))!==null;)t.push({key:"enum",value:r[1],kind:"Database Enum"});let l=/provider\s*=\s*"([^"]+)"/,c=i.match(l);return c&&t.push({key:"datasource_provider",value:c[1],kind:"Database Config"}),{classification:n,configs:t,content:i}}function xi(i,e){let t=[],n="Contract (GraphQL) ",s=/^(?:type|input|interface|enum)\s+(\w+)/gm,r;for(;(r=s.exec(i))!==null;){let o=r[0],l="GraphQL Type";o.startsWith("input")&&(l="GraphQL Input"),o.startsWith("interface")&&(l="GraphQL Interface"),o.startsWith("enum")&&(l="GraphQL Enum"),t.push({key:"type_definition",value:r[1],kind:l})}return{classification:n,configs:t,content:i}}function Ii(i,e){try{let t=JSON.parse(i);if(t.name&&e.push({key:"name",value:t.name,kind:"Service"}),t.description&&e.push({key:"description",value:t.description,kind:"Service"}),t.workspaces){let r=Array.isArray(t.workspaces)?t.workspaces.join("",""):JSON.stringify(t.workspaces);e.push({key:"workspaces",value:r,kind:"Env"})}if(t.scripts){let r=["start","dev","build","test","docker"];for(let o of Object.keys(t.scripts))r.some(l=>o.includes(l))&&e.push({key:`script:${o}`,value:t.scripts[o],kind:"Env"})}let n={...t.dependencies,...t.devDependencies},s=["react","vue","svelte","angular","next","nuxt","express","fastify","nestjs","remix","vite","webpack","tailwindcss","database"];for(let r of Object.keys(n))if(s.some(o=>r.includes(o))){let o=n[r].replace(/[\^~]/,"");e.push({key:`dep:${r}`,value:o,kind:"Service"})}}catch{}}function Li(i,e){let t=[],n="Monorepo (Lerna) ";try{let s=JSON.parse(i);t.push({key:"monorepo_type",value:"lerna",kind:"Monorepo"}),s.version&&t.push({key:"lerna_version",value:s.version,kind:"Monorepo"}),s.packages&&(Array.isArray(s.packages)?s.packages:[s.packages]).forEach(o=>{t.push({key:"package_glob",value:o,kind:"Monorepo"})}),s.npmClient&&t.push({key:"npm_client",value:s.npmClient,kind:"Monorepo"})}catch{}return{configs:t,classification:n,content:i}}function vi(i,e){let t=[],n="Monorepo (Turborepo) ";try{let s=JSON.parse(i);if(t.push({key:"monorepo_type",value:"turborepo",kind:"Monorepo"}),s.pipeline)for(let r of Object.keys(s.pipeline)){t.push({key:`pipeline:${r}`,value:r,kind:"Monorepo"});let o=s.pipeline[r];o.dependsOn&&t.push({key:`pipeline:${r}:depends_on`,value:o.dependsOn.join("",""),kind:"Dependency"})}if(s.tasks)for(let r of Object.keys(s.tasks))t.push({key:`task:${r}`,value:r,kind:"Monorepo"})}catch{}return{configs:t,classification:n,content:i}}function Ci(i,e){let t=[],n="Monorepo (pnpm) ";try{let s=yn.load(i);t.push({key:"monorepo_type",value:"pnpm",kind:"Monorepo"}),s&&s.packages&&(Array.isArray(s.packages)?s.packages:[s.packages]).forEach(o=>{t.push({key:"package_glob",value:o,kind:"Monorepo"})})}catch{}return{configs:t,classification:n,content:i}}j();import En from"fs";import Ni from"path";import bn from"js-yaml";var _n={ignore:[],include:[],maxDepth:10},Di=[{name:".liquid-shadow.yaml",parse:i=>bn.load(i)??{}},{name:".liquid-shadow.yml",parse:i=>bn.load(i)??{}},{name:".ls.json",parse:i=>JSON.parse(i)},{name:".liquid-shadow.json",parse:i=>JSON.parse(i)},{name:".ls.rc",parse:i=>JSON.parse(i)},{name:".liquid-shadow.rc",parse:i=>JSON.parse(i)}];function Ve(i){for(let{name:e,parse:t}of Di){let n=Ni.join(i,e);if(En.existsSync(n))try{let s=En.readFileSync(n,"utf8"),r=t(s);return E.debug({repoPath:i,configFile:e},"Loaded repository configuration"),{..._n,...r}}catch(s){E.error({repoPath:i,file:e,err:s},"Failed to parse configuration file")}}return _n}import Mi from"path";var F=class{db;constructor(e){this.db=e}get database(){return this.db}all(e,...t){return this.db.prepare(e).all(...t)}get(e,...t){return this.db.prepare(e).get(...t)}run(e,...t){return this.db.prepare(e).run(...t).changes}insert(e,...t){return this.db.prepare(e).run(...t).lastInsertRowid}transaction(e){return this.db.transaction(e)()}};var Xe=class extends F{findByPath(e){return this.get("SELECT * FROM files WHERE path = ?",e)}findAll(e){let t="SELECT * FROM files ORDER BY path ASC";return e&&(t+=` LIMIT ${e}`),this.all(t)}getAllPaths(){return this.all("SELECT path FROM files").map(t=>t.path)}findInSubPath(e,t){let n=Mi.resolve(e,t),s=n.endsWith("/")?n:n+"/";return this.all(`
|
|
13
|
+
`).get()?.value||null}catch(e){return gt.debug({repoPath:n,error:e},"Error getting last indexed commit"),null}}function ac(n){let e=Di.get(n)||Ai(n),r=Et.get(e);r&&(r.open&&(gt.debug({repoPath:n,dbPath:e},"Closing database connection"),r.close()),Et.delete(e)),Di.delete(n)}function xf(){for(let[n,e]of Et.entries())try{e.open&&(gt.debug({dbPath:n},"Closing database connection"),e.close())}catch(r){gt.error({dbPath:n,err:r},"Error closing database execution")}Et.clear()}var gt,Et,Di,Sf,It=me(()=>{"use strict";V();vf();gt=$.child({module:"db"});Et=new Map,Di=new Map;process.on("exit",()=>xf());Sf=n=>{gt.debug({signal:n},"Received termination signal, closing databases"),xf(),process.exit(0)};process.on("SIGINT",()=>Sf("SIGINT"));process.on("SIGTERM",()=>Sf("SIGTERM"))});var ye,at=me(()=>{"use strict";ye=class{db;constructor(e){this.db=e}get database(){return this.db}all(e,...r){return this.db.prepare(e).all(...r)}get(e,...r){return this.db.prepare(e).get(...r)}run(e,...r){return this.db.prepare(e).run(...r).changes}insert(e,...r){return this.db.prepare(e).run(...r).lastInsertRowid}transaction(e){return this.db.transaction(e)()}}});import J_ from"path";var ji,Df=me(()=>{"use strict";at();ji=class extends ye{findByPath(e){return this.get("SELECT * FROM files WHERE path = ?",e)}findAll(e){let r="SELECT * FROM files ORDER BY path ASC";return e&&(r+=` LIMIT ${e}`),this.all(r)}getAllPaths(){return this.all("SELECT path FROM files").map(r=>r.path)}findInSubPath(e,r){let i=J_.resolve(e,r),t=i.endsWith("/")?i:i+"/";return this.all(`
|
|
51
14
|
SELECT * FROM files
|
|
52
15
|
WHERE (path LIKE ? OR path = ?)
|
|
53
16
|
ORDER BY path ASC
|
|
54
|
-
`,`${
|
|
17
|
+
`,`${t}%`,i)}findWithEmbeddings(){return this.all("SELECT * FROM files WHERE embedding IS NOT NULL")}findFts(e,r=10){return this.all(`
|
|
55
18
|
SELECT files.*, files_fts.rank
|
|
56
19
|
FROM files_fts
|
|
57
20
|
JOIN files ON files.rowid = files_fts.rowid
|
|
58
21
|
WHERE files_fts MATCH ?
|
|
59
22
|
ORDER BY rank
|
|
60
23
|
LIMIT ?
|
|
61
|
-
`,e,
|
|
24
|
+
`,e,r)}findByPathKeywords(e,r=10){let i=e.map(()=>"LOWER(path) LIKE ?").join(" OR ");return this.all(`
|
|
62
25
|
SELECT * FROM files
|
|
63
|
-
WHERE ${
|
|
26
|
+
WHERE ${i}
|
|
27
|
+
LIMIT ?
|
|
28
|
+
`,...e.map(t=>`%${t}%`),r)}findContentFts(e,r=50){let i=this.buildContentFtsQuery(e);return i?this.all(`
|
|
29
|
+
SELECT
|
|
30
|
+
files.*,
|
|
31
|
+
bm25(content_fts, 0.2, 1.0) AS bm25_rank
|
|
32
|
+
FROM content_fts
|
|
33
|
+
JOIN files ON files.path = content_fts.file_path
|
|
34
|
+
WHERE content_fts MATCH ?
|
|
35
|
+
ORDER BY bm25_rank ASC
|
|
64
36
|
LIMIT ?
|
|
65
|
-
|
|
37
|
+
`,i,Math.max(1,Math.min(r,1e3))):[]}getContent(e){return this.get("SELECT content FROM file_content WHERE file_path = ?",e)?.content}findContentByToken(e,r=10){return this.all(`
|
|
66
38
|
SELECT file_path
|
|
67
39
|
FROM content_fts
|
|
68
40
|
WHERE content_fts MATCH ?
|
|
@@ -70,28 +42,28 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
70
42
|
AND file_path NOT LIKE '%/test/%'
|
|
71
43
|
AND file_path NOT LIKE '%.spec.%'
|
|
72
44
|
LIMIT ?
|
|
73
|
-
`,`"${e.replace(/[^a-zA-Z0-9_\/]/g," ")}"`,
|
|
45
|
+
`,`"${e.replace(/[^a-zA-Z0-9_\/]/g," ")}"`,r).map(t=>t.file_path)}findSynapses(e){let r="SELECT * FROM event_synapses WHERE 1=1",i=[];if(e.type&&(r+=" AND type = ?",i.push(e.type)),e.name){let t=e.name;t.startsWith("/")&&(t=t.substring(1)),t.endsWith("/")&&(t=t.substring(0,t.length-1)),t.length>0&&(r+=" AND (name LIKE ? OR name LIKE ? OR name = ?)",i.push(`${t}%`),i.push(`%/${t}%`),i.push(e.name))}return e.direction&&(r+=" AND direction = ?",i.push(e.direction)),r+=` LIMIT ${e.limit||50}`,this.all(r,...i)}exists(e){return!!this.get("SELECT 1 FROM files WHERE path = ?",e)}update(e,r){let i=Object.keys(r);if(i.length===0)return;let t=i.map(s=>`${s} = ?`).join(", "),o=Object.values(r);o.push(e),this.run(`UPDATE files SET ${t} WHERE path = ?`,...o)}getStats(){let e=this.get(`
|
|
74
46
|
SELECT
|
|
75
47
|
COUNT(*) as total,
|
|
76
48
|
SUM(CASE WHEN summary IS NOT NULL AND summary != '' THEN 1 ELSE 0 END) as withSummary
|
|
77
49
|
FROM files
|
|
78
|
-
`);return{total:e?.total||0,withSummary:e?.withSummary||0}}getGravityMap(e=[],
|
|
50
|
+
`);return{total:e?.total||0,withSummary:e?.withSummary||0}}getGravityMap(e=[],r){let i={},t=`
|
|
79
51
|
SELECT ws.file_path, m.name as mission_name, m.status
|
|
80
52
|
FROM working_set ws
|
|
81
53
|
JOIN missions m ON ws.mission_id = m.id
|
|
82
54
|
WHERE (
|
|
83
|
-
(m.status IN ('in-progress', 'verifying') ${
|
|
55
|
+
(m.status IN ('in-progress', 'verifying') ${r?"AND m.git_branch = ?":""})
|
|
84
56
|
OR m.id IN (${e.length>0?e.join(","):"-1"})
|
|
85
57
|
)
|
|
86
58
|
AND ws.file_path IS NOT NULL
|
|
87
|
-
`,
|
|
59
|
+
`,o=[];r&&o.push(r);let s=this.all(t,...o);for(let l of s){i[l.file_path]||(i[l.file_path]={score:1,reasons:[]});let u=l.status==="in-progress"||l.status==="verifying"?1:.5;i[l.file_path].score+=u;let d=l.status==="in-progress"||l.status==="verifying"?"Working Set":"Lineage Bleed";i[l.file_path].reasons.push(`${d}: ${l.mission_name}`)}let a=Math.floor(Date.now()/1e3)-86400,c=this.all(`
|
|
88
60
|
SELECT file_path, type, mission_id
|
|
89
61
|
FROM intent_logs
|
|
90
62
|
WHERE (created_at > ? OR mission_id IN (${e.length>0?e.join(","):"-1"}))
|
|
91
63
|
AND file_path IS NOT NULL
|
|
92
64
|
ORDER BY created_at DESC
|
|
93
65
|
LIMIT 100
|
|
94
|
-
`,
|
|
66
|
+
`,a);for(let l of c){i[l.file_path]||(i[l.file_path]={score:1,reasons:[]});let u=l.mission_id?e.includes(l.mission_id):!1,d=u?.1:.2;i[l.file_path].score<5&&(i[l.file_path].score+=d);let p=u?`Lineage Intent: ${l.type}`:`Recent Intent: ${l.type}`;!i[l.file_path].reasons.includes(p)&&i[l.file_path].reasons.length<5&&i[l.file_path].reasons.push(p)}return i}getCount(){return this.get("SELECT COUNT(*) as count FROM files")?.count||0}getTopDirectories(e,r=8){return this.all(`
|
|
95
67
|
SELECT
|
|
96
68
|
SUBSTR(path, LENGTH(?) + 2,
|
|
97
69
|
INSTR(SUBSTR(path, LENGTH(?) + 2), '/') - 1
|
|
@@ -108,13 +80,13 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
108
80
|
GROUP BY root
|
|
109
81
|
ORDER BY total_files DESC
|
|
110
82
|
LIMIT ?
|
|
111
|
-
`,e,e,e,
|
|
83
|
+
`,e,e,e,r)}hasFilesPattern(e){return!!this.get("SELECT 1 FROM files WHERE path LIKE ? LIMIT 1",e)}findPackageJsonChildren(e){return this.all(`
|
|
112
84
|
SELECT
|
|
113
85
|
path,
|
|
114
86
|
SUBSTR(path, LENGTH(?) + 2) as relPath
|
|
115
87
|
FROM files
|
|
116
88
|
WHERE path LIKE ? || '/%/package.json'
|
|
117
|
-
`,e,e)}deletePaths(e){if(e.length===0)return;let
|
|
89
|
+
`,e,e)}deletePaths(e){if(e.length===0)return;let r=this.db.prepare("DELETE FROM files WHERE path = ?");this.db.transaction(t=>{for(let o of t)r.run(o)})(e)}updateMtime(e,r){this.run("UPDATE files SET mtime = ? WHERE path = ?",r,e)}batchSaveIndexResults(e,r,i,t){let o=this.db.prepare("DELETE FROM exports WHERE file_path = ?"),s=this.db.prepare("DELETE FROM imports WHERE file_path = ?"),a=this.db.prepare("DELETE FROM configs WHERE file_path = ?"),c=this.db.prepare("DELETE FROM file_content WHERE file_path = ?"),l=this.db.prepare("DELETE FROM event_synapses WHERE file_path = ?"),u=this.db.prepare("INSERT INTO exports (file_path, name, kind, signature, doc, start_line, end_line, classification, capabilities, parent_id, embedding) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"),d=this.db.prepare("INSERT INTO imports (file_path, module_specifier, imported_symbols, resolved_path) VALUES (?, ?, ?, ?)"),p=this.db.prepare("INSERT INTO configs (file_path, key, value, kind) VALUES (?, ?, ?, ?)"),f=this.db.prepare("INSERT INTO file_content (file_path, content) VALUES (?, ?)"),m=this.db.prepare("INSERT INTO event_synapses (file_path, type, name, direction, line_number, code_snippet) VALUES (?, ?, ?, ?, ?, ?)"),h=this.db.prepare(`
|
|
118
90
|
INSERT INTO files (path, mtime, last_scanned_at, classification, summary, embedding, content_hash)
|
|
119
91
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
120
92
|
ON CONFLICT(path) DO UPDATE SET
|
|
@@ -124,36 +96,36 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
124
96
|
summary=excluded.summary,
|
|
125
97
|
embedding=excluded.embedding,
|
|
126
98
|
content_hash=excluded.content_hash
|
|
127
|
-
`),b=this.db.transaction(
|
|
99
|
+
`),b=this.db.transaction(g=>{for(let _ of g){let{meta:x,exports:k,imports:S,configs:P,events:R,content:U,classification:E,summary:I,embedding:N,contentHash:j}=_;o.run(x.path),s.run(x.path),a.run(x.path),c.run(x.path),l.run(x.path);let D=j??(U&&i?i(U):null);if(h.run(x.path,x.mtime,Date.now(),E||"Unknown",I||"",N?JSON.stringify(N):null,D),k){let z=(H,G,W)=>{for(let Z of G){let Y=Z.embedding?JSON.stringify(Z.embedding):null,J=u.run(H,Z.name,Z.kind,Z.signature,Z.doc||"",Z.line,Z.endLine||Z.line,Z.classification||"Other",Z.capabilities||"[]",W,Y);Z.members&&Z.members.length>0&&z(H,Z.members,J.lastInsertRowid)}};z(x.path,k,null)}if(S)for(let z of S){let H=z.resolved_path!==void 0?z.resolved_path:t?.(z.module,x.path,r)??"";d.run(x.path,z.module,z.name,H)}if(P)for(let z of P)p.run(x.path,z.key,z.value,z.kind);if(U!==void 0&&f.run(x.path,U),R)for(let z of R)m.run(x.path,z.type,z.name,z.direction,z.line,z.snippet)}}),v=500;for(let g=0;g<e.length;g+=v)b(e.slice(g,g+v))}getLatestScanTime(){return this.get("SELECT MAX(last_scanned_at) as t FROM files")?.t||null}buildContentFtsQuery(e){let r=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9_]+/).map(o=>o.trim()).filter(o=>o.length>=2).slice(0,12);if(r.length===0)return"";if(r.length===1)return`${r[0]}*`;let i=`"${r.join(" ")}"`,t=r.map(o=>`${o}*`).join(" OR ");return`${i} OR ${t}`}}});var Ui,Af=me(()=>{"use strict";at();Ui=class n extends ye{static HTTP_METHOD_EXPORTS=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]);findByNameAndFile(e,r){return this.all("SELECT * FROM exports WHERE file_path = ? AND name = ?",r,e)}findByNameGlobal(e){return this.all("SELECT * FROM exports WHERE name = ?",e)}findAtLine(e,r){return this.get(`
|
|
128
100
|
SELECT * FROM exports
|
|
129
101
|
WHERE file_path = ? AND start_line <= ? AND end_line >= ?
|
|
130
102
|
ORDER BY (end_line - start_line) ASC -- Get innermost symbol
|
|
131
103
|
LIMIT 1
|
|
132
|
-
`,e,
|
|
133
|
-
SELECT id, mission_id, type, content, created_at, confidence
|
|
104
|
+
`,e,r,r)}findById(e){return this.get("SELECT * FROM exports WHERE id = ?",e)}findHydratedById(e){let r=this.findById(e);if(!r)return;let i=this.all(`
|
|
105
|
+
SELECT id, mission_id, type, content, created_at, confidence, is_crystallized, crystal_id
|
|
134
106
|
FROM intent_logs
|
|
135
107
|
WHERE symbol_id = ?
|
|
136
108
|
ORDER BY created_at DESC
|
|
137
|
-
LIMIT
|
|
138
|
-
`,e),
|
|
109
|
+
LIMIT 10
|
|
110
|
+
`,e),o=this.get("SELECT COUNT(*) as count FROM intent_logs WHERE symbol_id = ?",e)?.count||0,s=this.all(`
|
|
139
111
|
SELECT m.id, m.name, m.status
|
|
140
112
|
FROM missions m
|
|
141
113
|
JOIN working_set ws ON ws.mission_id = m.id
|
|
142
114
|
WHERE ws.symbol_id = ?
|
|
143
115
|
AND m.status IN ('in-progress', 'planned', 'verifying')
|
|
144
116
|
GROUP BY m.id
|
|
145
|
-
`,e);return{...
|
|
117
|
+
`,e);return{...r,recent_intents:i,intent_log_count:o,active_missions:s}}findRoutesByCapability(e){return this.all(`
|
|
146
118
|
SELECT name, file_path, signature
|
|
147
119
|
FROM exports
|
|
148
120
|
WHERE kind = 'HTTP Route'
|
|
149
121
|
AND capabilities LIKE ?
|
|
150
|
-
`,`%${e}%`)}findRoutesByToken(e,
|
|
122
|
+
`,`%${e}%`)}findRoutesByToken(e,r=5){return this.all(`
|
|
151
123
|
SELECT *
|
|
152
124
|
FROM exports
|
|
153
125
|
WHERE (kind = 'HTTP Route' OR classification = 'Service Boundary')
|
|
154
126
|
AND (name LIKE ? OR signature LIKE ?)
|
|
155
127
|
LIMIT ?
|
|
156
|
-
`,`%${e}%`,`%${e}%`,
|
|
128
|
+
`,`%${e}%`,`%${e}%`,r)}findByFile(e){return this.all("SELECT * FROM exports WHERE file_path = ? ORDER BY start_line ASC",e)}findByFiles(e){if(e.length===0)return[];let r=e.map(()=>"?").join(", ");return this.all(`SELECT * FROM exports WHERE file_path IN (${r}) ORDER BY file_path, start_line ASC`,...e)}findSiblings(e){return this.all(`
|
|
157
129
|
SELECT name, kind, signature, start_line, end_line,
|
|
158
130
|
parent_id, id,
|
|
159
131
|
(SELECT name FROM exports WHERE id = e.parent_id) as parent_name
|
|
@@ -161,7 +133,7 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
161
133
|
WHERE file_path = ?
|
|
162
134
|
AND parent_id IS NULL
|
|
163
135
|
ORDER BY start_line ASC
|
|
164
|
-
`,e)}findByName(e,
|
|
136
|
+
`,e)}findByName(e,r=20){return this.all("SELECT * FROM exports WHERE name = ? LIMIT ?",e,r)}findClassByName(e){return this.get("SELECT * FROM exports WHERE name = ? AND kind = 'ClassDeclaration' LIMIT 1",e)}findDefinitionCandidates(e,r){let i=[e],t=`
|
|
165
137
|
SELECT e.id, e.name, e.kind, e.start_line, e.end_line, e.signature, e.doc,
|
|
166
138
|
f.path as file_path, e.classification, e.capabilities,
|
|
167
139
|
p.name as parent_name, p.kind as parent_kind
|
|
@@ -169,12 +141,12 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
169
141
|
JOIN files f ON e.file_path = f.path
|
|
170
142
|
LEFT JOIN exports p ON e.parent_id = p.id
|
|
171
143
|
WHERE e.name = ?
|
|
172
|
-
`;return
|
|
144
|
+
`;return r&&(t+=" AND f.path = ?",i.push(r)),t+=`
|
|
173
145
|
ORDER BY
|
|
174
146
|
CASE WHEN e.parent_id IS NULL THEN 0 ELSE 1 END,
|
|
175
147
|
CASE WHEN e.kind = 'ExportSpecifier' THEN 2 ELSE 0 END
|
|
176
148
|
LIMIT 10
|
|
177
|
-
`,this.all(
|
|
149
|
+
`,this.all(t,...i)}findMemberCandidates(e,r,i){let t=[e,r],o=`
|
|
178
150
|
SELECT e.id, e.name, e.kind, e.start_line, e.end_line, e.signature, e.doc,
|
|
179
151
|
f.path as file_path, e.classification, e.capabilities,
|
|
180
152
|
p.name as parent_name, p.kind as parent_kind
|
|
@@ -182,12 +154,12 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
182
154
|
JOIN files f ON e.file_path = f.path
|
|
183
155
|
LEFT JOIN exports p ON e.parent_id = p.id
|
|
184
156
|
WHERE p.name = ? AND e.name = ?
|
|
185
|
-
`;return
|
|
157
|
+
`;return i&&(o+=" AND f.path = ?",t.push(i)),o+=`
|
|
186
158
|
ORDER BY
|
|
187
159
|
CASE WHEN e.parent_id IS NULL THEN 0 ELSE 1 END,
|
|
188
160
|
CASE WHEN e.kind = 'ExportSpecifier' THEN 2 ELSE 0 END
|
|
189
161
|
LIMIT 10
|
|
190
|
-
`,this.all(
|
|
162
|
+
`,this.all(o,...t)}findPotentialParents(e){return this.all(`
|
|
191
163
|
SELECT name, kind, file_path
|
|
192
164
|
FROM exports
|
|
193
165
|
WHERE kind IN ('ClassDeclaration', 'ClassExpression', 'TsInterfaceDeclaration')
|
|
@@ -195,27 +167,27 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
195
167
|
SELECT rowid FROM content_fts WHERE content MATCH ?
|
|
196
168
|
)
|
|
197
169
|
LIMIT 3
|
|
198
|
-
`,`"${e}"`)}findFuzzyCandidates(e){let
|
|
170
|
+
`,`"${e}"`)}findFuzzyCandidates(e){let r=e.charAt(0).toLowerCase();return this.all(`
|
|
199
171
|
SELECT DISTINCT name FROM exports
|
|
200
172
|
WHERE parent_id IS NULL
|
|
201
173
|
AND (name LIKE ? OR name LIKE ? OR ABS(LENGTH(name) - LENGTH(?)) <= 5)
|
|
202
174
|
ORDER BY ABS(LENGTH(name) - LENGTH(?)) ASC
|
|
203
175
|
LIMIT 1000
|
|
204
|
-
`,
|
|
176
|
+
`,r+"%","%"+r+"%",e,e)}findTopLevelByFile(e){return this.all(`
|
|
205
177
|
SELECT * FROM exports
|
|
206
178
|
WHERE file_path = ? AND parent_id IS NULL
|
|
207
179
|
ORDER BY start_line ASC
|
|
208
|
-
`,e)}findFts(e,
|
|
180
|
+
`,e)}findFts(e,r=20){return this.all(`
|
|
209
181
|
SELECT e.*
|
|
210
182
|
FROM exports e
|
|
211
183
|
JOIN exports_fts ON e.id = exports_fts.rowid
|
|
212
184
|
WHERE exports_fts MATCH ?
|
|
213
185
|
LIMIT ?
|
|
214
|
-
`,e,
|
|
186
|
+
`,e,r)}findByPartialName(e,r=20){return this.all(`
|
|
215
187
|
SELECT * FROM exports
|
|
216
188
|
WHERE lower(name) LIKE ?
|
|
217
189
|
LIMIT ?
|
|
218
|
-
`,`%${e.toLowerCase()}%`,
|
|
190
|
+
`,`%${e.toLowerCase()}%`,r)}getAllNames(e=5e3){return this.all("SELECT DISTINCT name FROM exports WHERE parent_id IS NULL LIMIT ?",e).map(i=>i.name)}countByFile(e){return this.get("SELECT COUNT(*) as count FROM exports WHERE file_path = ?",e)?.count||0}findDeadExports(e={}){let{limit:r=50,includeTests:i=!1,includeMigrations:t=!1,includeFixtures:o=!1,excludePatterns:s=[],confidenceThreshold:a="all"}=e,c=[];i||(c.push("e.file_path NOT LIKE '%/test/%'"),c.push("e.file_path NOT LIKE '%/tests/%'"),c.push("e.file_path NOT LIKE '%/__tests__/%'"),c.push("e.file_path NOT LIKE '%.spec.%'"),c.push("e.file_path NOT LIKE '%.test.%'")),t||(c.push("e.file_path NOT LIKE '%/migrations/%'"),c.push("e.file_path NOT LIKE '%/migration/%'"),c.push("e.file_path NOT LIKE '%Migration.%'")),o||(c.push("e.file_path NOT LIKE '%/__fixtures__/%'"),c.push("e.file_path NOT LIKE '%/__mocks__/%'"),c.push("e.file_path NOT LIKE '%/fixtures/%'"),c.push("e.file_path NOT LIKE '%/mocks/%'"),c.push("e.file_path NOT LIKE '%.fixture.%'"),c.push("e.file_path NOT LIKE '%.mock.%'"));for(let m of s){let h=m.replace(/\*\*/g,"%").replace(/\*/g,"%").replace(/\?/g,"_");c.push(`e.file_path NOT LIKE '${h}'`)}let l=c.length>0?`AND ${c.join(" AND ")}`:"",p=this.all(`
|
|
219
191
|
SELECT e.name, e.kind, e.file_path, e.start_line
|
|
220
192
|
FROM exports e
|
|
221
193
|
WHERE e.kind IN (
|
|
@@ -224,28 +196,35 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
224
196
|
'ArrowFunctionExpression', 'FunctionExpression'
|
|
225
197
|
)
|
|
226
198
|
AND e.parent_id IS NULL
|
|
227
|
-
${
|
|
228
|
-
AND NOT EXISTS (
|
|
199
|
+
${l}
|
|
200
|
+
AND NOT EXISTS (
|
|
201
|
+
SELECT 1
|
|
202
|
+
FROM imports i
|
|
203
|
+
WHERE REPLACE(i.imported_symbols, ' ', '') = e.name
|
|
204
|
+
OR REPLACE(i.imported_symbols, ' ', '') LIKE e.name || ',%'
|
|
205
|
+
OR REPLACE(i.imported_symbols, ' ', '') LIKE '%,' || e.name
|
|
206
|
+
OR REPLACE(i.imported_symbols, ' ', '') LIKE '%,' || e.name || ',%'
|
|
207
|
+
)
|
|
229
208
|
AND NOT EXISTS (SELECT 1 FROM imports i WHERE i.resolved_path = e.file_path AND i.imported_symbols LIKE '%*%')
|
|
230
209
|
ORDER BY e.file_path, e.start_line
|
|
231
210
|
LIMIT ?
|
|
232
|
-
`,
|
|
211
|
+
`,r*2).filter(m=>!this.isFrameworkEntrypointExport(m)).map(m=>{let{confidence:h,reason:b}=this.scoreDeadExportConfidence(m);return{...m,confidence:h,reason:b}}),f=p;return a==="high"?f=p.filter(m=>m.confidence==="high"):a==="medium"&&(f=p.filter(m=>m.confidence==="high"||m.confidence==="medium")),f.slice(0,r)}scoreDeadExportConfidence(e){let r=e.file_path.toLowerCase(),i=e.name;return r.includes("/index.")||r.endsWith("index.ts")||r.endsWith("index.js")?{confidence:"low",reason:"Barrel/index file - likely re-export"}:e.kind==="TsInterfaceDeclaration"||e.kind==="TsTypeAliasDeclaration"?{confidence:"medium",reason:"Type definition - may be used externally"}:r.includes("/entry/")||r.includes("/bin/")||r.includes("main.")||r.includes("server.")||r.includes("cli.")?{confidence:"medium",reason:"Entry point - may be invoked externally"}:(r.includes("/components/")||r.endsWith(".tsx")||r.endsWith(".jsx"))&&/^[A-Z][A-Za-z0-9_]*$/.test(i)?{confidence:"medium",reason:"Component export - may be used by runtime composition"}:(r.includes("/contexts/")||r.includes("/context/"))&&(/Provider$/.test(i)||i.startsWith("use"))?{confidence:"medium",reason:"Context/provider export - may be wired dynamically"}:i.startsWith("create")||i.endsWith("Factory")||i.endsWith("Builder")?{confidence:"medium",reason:"Factory/builder pattern - may be used dynamically"}:i.startsWith("use")&&i.length>3?{confidence:"medium",reason:"Hook pattern - may be used in components"}:{confidence:"high",reason:"No detected usage"}}isFrameworkEntrypointExport(e){let i=e.file_path.toLowerCase().replace(/\\/g,"/"),t=e.name;return!!(/(^|\/)(src\/)?app\/.*\/route\.(t|j)sx?$/.test(i)&&n.HTTP_METHOD_EXPORTS.has(t)||/(^|\/)(src\/)?app\/.*\/(page|layout|loading|error|not-found|default|template)\.(t|j)sx?$/.test(i)||/(^|\/)(src\/)?middleware\.(t|j)sx?$/.test(i)||i.includes("/routes/")&&["loader","action","meta","headers"].includes(t))}getGravityMap(e=[],r){let i={},t=`
|
|
233
212
|
SELECT ws.symbol_id, m.name as mission_name, m.status
|
|
234
213
|
FROM working_set ws
|
|
235
214
|
JOIN missions m ON ws.mission_id = m.id
|
|
236
215
|
WHERE (
|
|
237
|
-
(m.status IN ('in-progress', 'verifying') ${
|
|
216
|
+
(m.status IN ('in-progress', 'verifying') ${r?"AND m.git_branch = ?":""})
|
|
238
217
|
OR m.id IN (${e.length>0?e.join(","):"-1"})
|
|
239
218
|
)
|
|
240
219
|
AND ws.symbol_id IS NOT NULL
|
|
241
|
-
`,
|
|
220
|
+
`,o=[];r&&o.push(r);let s=this.all(t,...o);for(let l of s){i[l.symbol_id]||(i[l.symbol_id]={score:1,reasons:[]});let u=l.status==="in-progress"||l.status==="verifying"?1:.5;i[l.symbol_id].score+=u;let d=l.status==="in-progress"||l.status==="verifying"?"Working Set":"Lineage Bleed";i[l.symbol_id].reasons.push(`${d}: ${l.mission_name}`)}let a=Math.floor(Date.now()/1e3)-86400,c=this.all(`
|
|
242
221
|
SELECT symbol_id, type, mission_id
|
|
243
222
|
FROM intent_logs
|
|
244
223
|
WHERE (created_at > ? OR mission_id IN (${e.length>0?e.join(","):"-1"}))
|
|
245
224
|
AND symbol_id IS NOT NULL
|
|
246
225
|
ORDER BY created_at DESC
|
|
247
226
|
LIMIT 200
|
|
248
|
-
`,
|
|
227
|
+
`,a);for(let l of c){i[l.symbol_id]||(i[l.symbol_id]={score:1,reasons:[]});let u=l.mission_id?e.includes(l.mission_id):!1,d=u?.1:.2;i[l.symbol_id].score<5&&(i[l.symbol_id].score+=d);let p=u?`Lineage Intent: ${l.type}`:`Recent Intent: ${l.type}`;!i[l.symbol_id].reasons.includes(p)&&i[l.symbol_id].reasons.length<5&&i[l.symbol_id].reasons.push(p)}return i}getCount(){return this.get("SELECT COUNT(*) as count FROM exports")?.count||0}getKindDistribution(e=5){return this.all(`
|
|
249
228
|
SELECT kind, COUNT(*) as c
|
|
250
229
|
FROM exports
|
|
251
230
|
WHERE kind IS NOT NULL AND kind != ''
|
|
@@ -258,7 +237,7 @@ var Bn=Object.defineProperty;var Ae=(i,e)=>()=>(i&&(e=i(i=0)),e);var jn=(i,e)=>{
|
|
|
258
237
|
OR name LIKE ?
|
|
259
238
|
OR name LIKE ?
|
|
260
239
|
LIMIT 10
|
|
261
|
-
`,e,`%.${e}`,`%::${e}`)}};var
|
|
240
|
+
`,e,`%.${e}`,`%::${e}`)}}});var Lf,Of=me(()=>{"use strict";Lf=`
|
|
262
241
|
WITH RECURSIVE dependency_chain AS (
|
|
263
242
|
-- Base case: Direct dependents of the target symbol
|
|
264
243
|
-- Meaning: Files that import the file where the symbol is defined
|
|
@@ -309,37 +288,37 @@ SELECT DISTINCT
|
|
|
309
288
|
dc.imported_symbols
|
|
310
289
|
FROM dependency_chain dc
|
|
311
290
|
ORDER BY dc.depth, dc.consumer_path;
|
|
312
|
-
|
|
291
|
+
`});var Fi,Cf=me(()=>{"use strict";at();Of();Fi=class extends ye{findByFile(e){return this.all("SELECT * FROM imports WHERE file_path = ?",e)}findByFiles(e){if(e.length===0)return[];let r=e.map(()=>"?").join(", ");return this.all(`SELECT * FROM imports WHERE file_path IN (${r}) ORDER BY file_path`,...e)}getAllResolved(){return this.all(`
|
|
313
292
|
SELECT * FROM imports
|
|
314
293
|
WHERE resolved_path IS NOT NULL AND resolved_path != ''
|
|
315
|
-
`)}findDependents(e){return this.all("SELECT * FROM imports WHERE resolved_path = ?",e)}countByFile(e){return this.get("SELECT COUNT(*) as count FROM imports WHERE file_path = ?",e)?.count||0}countDependents(e){return this.get("SELECT COUNT(*) as count FROM imports WHERE resolved_path = ?",e)?.count||0}getImportsForFile(e){return this.all("SELECT module_specifier, imported_symbols, resolved_path FROM imports WHERE file_path = ?",e)}findImportSource(e,
|
|
294
|
+
`)}findDependents(e){return this.all("SELECT * FROM imports WHERE resolved_path = ?",e)}countByFile(e){return this.get("SELECT COUNT(*) as count FROM imports WHERE file_path = ?",e)?.count||0}countDependents(e){return this.get("SELECT COUNT(*) as count FROM imports WHERE resolved_path = ?",e)?.count||0}getImportsForFile(e){return this.all("SELECT module_specifier, imported_symbols, resolved_path FROM imports WHERE file_path = ?",e)}findImportSource(e,r){return this.get(`
|
|
316
295
|
SELECT *
|
|
317
296
|
FROM imports
|
|
318
297
|
WHERE file_path = ?
|
|
319
298
|
AND (imported_symbols LIKE ? OR imported_symbols = '*')
|
|
320
299
|
LIMIT 1
|
|
321
|
-
`,e,`%${
|
|
300
|
+
`,e,`%${r}%`)}findProxies(e){return this.all(`
|
|
322
301
|
SELECT i.file_path
|
|
323
302
|
FROM imports i
|
|
324
303
|
JOIN exports e ON i.file_path = e.file_path
|
|
325
304
|
WHERE i.resolved_path = ?
|
|
326
305
|
AND (e.kind = 'ExportAllDeclaration' OR e.kind = 'ExportMapping')
|
|
327
|
-
`,e)}findVerifiedDependents(e,
|
|
306
|
+
`,e)}findVerifiedDependents(e,r){if(e.length===0)return[];let i=e.map(()=>"?").join(", ");return this.all(`
|
|
328
307
|
SELECT i.file_path, i.imported_symbols, f.classification, f.summary
|
|
329
308
|
FROM imports i
|
|
330
309
|
JOIN files f ON i.file_path = f.path
|
|
331
|
-
WHERE i.resolved_path IN (${
|
|
310
|
+
WHERE i.resolved_path IN (${i})
|
|
332
311
|
AND (i.imported_symbols LIKE ? OR i.imported_symbols = '' OR i.imported_symbols = '*')
|
|
333
312
|
LIMIT 10
|
|
334
|
-
`,...e,`%${
|
|
313
|
+
`,...e,`%${r}%`)}countVerifiedDependents(e,r){if(e.length===0)return 0;let i=e.map(()=>"?").join(", ");return this.get(`
|
|
335
314
|
SELECT COUNT(*) as count FROM imports
|
|
336
|
-
WHERE resolved_path IN (${
|
|
315
|
+
WHERE resolved_path IN (${i})
|
|
337
316
|
AND (imported_symbols LIKE ? OR imported_symbols = '' OR imported_symbols = '*')
|
|
338
|
-
`,...e,`%${
|
|
317
|
+
`,...e,`%${r}%`)?.count||0}findImpactDependents(e,r,i){return this.all(Lf,e,r,i,r)}getCount(){return this.get("SELECT COUNT(*) as count FROM imports")?.count||0}}});var Er,cc=me(()=>{"use strict";at();Er=class extends ye{findById(e){return this.get("SELECT * FROM missions WHERE id = ?",e)}findByIds(e){if(e.length===0)return[];let r=e.map(()=>"?").join(", ");return this.all(`SELECT * FROM missions WHERE id IN (${r})`,...e)}findActive(e){let r="SELECT * FROM missions WHERE status IN ('in-progress', 'planned', 'verifying')",i=[];return e&&(r+=" AND git_branch = ?",i.push(e)),r+=` ORDER BY
|
|
339
318
|
CASE WHEN status = 'in-progress' THEN 0 WHEN status = 'verifying' THEN 1 ELSE 2 END,
|
|
340
|
-
created_at ASC`,this.all(
|
|
319
|
+
created_at ASC`,this.all(r,...i)}findAll(e){let r="SELECT * FROM missions",i=[];return e&&(r+=" WHERE status = ?",i.push(e)),r+=` ORDER BY
|
|
341
320
|
CASE WHEN status = 'in-progress' THEN 0 WHEN status = 'verifying' THEN 1 ELSE 2 END,
|
|
342
|
-
created_at ASC`,this.all(
|
|
321
|
+
created_at ASC`,this.all(r,...i)}findRecentCompleted(e=3){return this.all(`
|
|
343
322
|
SELECT * FROM missions
|
|
344
323
|
WHERE status = 'completed'
|
|
345
324
|
ORDER BY updated_at DESC, id DESC
|
|
@@ -347,7 +326,7 @@ ORDER BY dc.depth, dc.consumer_path;
|
|
|
347
326
|
`,e)}create(e){return this.insert(`
|
|
348
327
|
INSERT INTO missions (name, goal, strategy_graph, status, git_branch, commit_sha, parent_id, verification_context, outcome_contract)
|
|
349
328
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
350
|
-
`,e.name,e.goal,e.strategy_graph,e.status,e.git_branch,e.commit_sha,e.parent_id,e.verification_context,e.outcome_contract)}addArtifact(e,
|
|
329
|
+
`,e.name,e.goal,e.strategy_graph,e.status,e.git_branch,e.commit_sha,e.parent_id,e.verification_context,e.outcome_contract)}addArtifact(e,r,i,t){this.run("INSERT INTO mission_artifacts (mission_id, type, identifier, metadata) VALUES (?, ?, ?, ?)",e,r,i,t?JSON.stringify(t):null)}getArtifacts(e){return this.all("SELECT * FROM mission_artifacts WHERE mission_id = ?",e)}update(e,r){let i=Object.keys(r);if(i.length===0)return;let t=i.map(s=>`${s} = ?`).join(", "),o=Object.values(r);o.push(e),this.run(`UPDATE missions SET ${t}, updated_at = unixepoch() WHERE id = ?`,...o)}updateStatus(e,r,i){i?this.run("UPDATE missions SET status = ?, updated_at = unixepoch(), commit_sha = ? WHERE id = ?",r,i,e):this.run("UPDATE missions SET status = ?, updated_at = unixepoch() WHERE id = ?",r,e)}getWorkingSet(e){return this.all("SELECT file_path, type FROM working_set WHERE mission_id = ?",e)}clearWorkingSet(e){this.run("DELETE FROM working_set WHERE mission_id = ?",e)}addToWorkingSet(e,r,i="file"){this.run("INSERT OR IGNORE INTO files (path, mtime, last_scanned_at) VALUES (?, unixepoch(), unixepoch())",r),this.run("INSERT INTO working_set (mission_id, file_path, type) VALUES (?, ?, ?)",e,r,i)}findColdMissions(e,r=10){return this.all(`
|
|
351
330
|
SELECT m.id, COUNT(il.id) as log_count
|
|
352
331
|
FROM missions m
|
|
353
332
|
LEFT JOIN intent_logs il ON il.mission_id = m.id
|
|
@@ -355,23 +334,23 @@ ORDER BY dc.depth, dc.consumer_path;
|
|
|
355
334
|
AND m.status != 'distilled'
|
|
356
335
|
GROUP BY m.id
|
|
357
336
|
HAVING log_count > ?
|
|
358
|
-
`,e,
|
|
337
|
+
`,e,r).map(t=>t.id)}getStats(){let e=this.get(`
|
|
359
338
|
SELECT
|
|
360
339
|
COUNT(*) as total,
|
|
361
340
|
SUM(CASE WHEN status='completed' THEN 1 ELSE 0 END) as completed,
|
|
362
341
|
SUM(CASE WHEN status IN ('in-progress', 'planned', 'verifying') THEN 1 ELSE 0 END) as active
|
|
363
342
|
FROM missions
|
|
364
|
-
`);return{total:e?.total||0,completed:e?.completed||0,active:e?.active||0}}getAnalytics(){let e=this.getStats(),
|
|
343
|
+
`);return{total:e?.total||0,completed:e?.completed||0,active:e?.active||0}}getAnalytics(){let e=this.getStats(),r=e.total>0?Math.round(e.completed/e.total*100):0,i=this.get(`
|
|
365
344
|
SELECT AVG(updated_at - created_at) AS avg_duration
|
|
366
345
|
FROM missions
|
|
367
346
|
WHERE status = 'completed' AND updated_at > created_at
|
|
368
|
-
`),
|
|
347
|
+
`),t=i?.avg_duration!=null?Math.round(i.avg_duration):null,o=Math.floor(Date.now()/1e3)-168*3600,s=Math.floor(Date.now()/1e3)-720*3600,a=this.get("SELECT COUNT(*) AS n FROM missions WHERE status = 'completed' AND updated_at >= ?",o),c=this.get("SELECT COUNT(*) AS n FROM missions WHERE status = 'completed' AND updated_at >= ?",s),l=a?.n??0,u=c?.n??0,d=`${l} completed in last 7 days, ${u} in last 30 days.`;if(t!=null){let p=Math.round(t/60);d+=` Avg mission duration: ${p} min.`}return{completionRate:r,averageDurationSeconds:t,completedLast7Days:l,completedLast30Days:u,velocityNote:d}}suspendByBranch(e){this.run(`UPDATE missions
|
|
369
348
|
SET status = 'suspended', updated_at = unixepoch()
|
|
370
349
|
WHERE git_branch = ? AND status IN ('in-progress', 'planned', 'verifying')`,e)}resumeByBranch(e){this.run(`UPDATE missions
|
|
371
350
|
SET status = 'in-progress', updated_at = unixepoch()
|
|
372
|
-
WHERE git_branch = ? AND status = 'suspended'`,e)}findMergedMissions(e,
|
|
351
|
+
WHERE git_branch = ? AND status = 'suspended'`,e)}findMergedMissions(e,r){if(r.length===0)return[];let i=r.filter(o=>o!==e);if(i.length===0)return[];let t=i.map(()=>"?").join(",");return this.all(`SELECT * FROM missions
|
|
373
352
|
WHERE status IN ('in-progress', 'planned', 'verifying', 'suspended')
|
|
374
|
-
AND git_branch IN (${
|
|
353
|
+
AND git_branch IN (${t})`,...i)}findByCommitShas(e){if(e.length===0)return[];let r=e.map(()=>"?").join(",");return this.all(`SELECT * FROM missions WHERE commit_sha IN (${r})`,...e)}findByParentId(e){return this.all("SELECT * FROM missions WHERE parent_id = ?",e)}hasChildren(e){return!!this.get("SELECT 1 FROM missions WHERE parent_id = ? LIMIT 1",e)}hasNoSteps(e){if(!e.strategy_graph)return!0;try{let r=JSON.parse(e.strategy_graph),i=r?.steps??r;return!Array.isArray(i)||i.length===0}catch{return!0}}findParentOnlyIds(e){return e.filter(r=>r.parent_id!=null||!this.hasChildren(r.id)?!1:this.hasNoSteps(r)).map(r=>r.id)}createLink(e,r,i,t,o){this.db.exec(`
|
|
375
354
|
CREATE TABLE IF NOT EXISTS cross_repo_links (
|
|
376
355
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
377
356
|
mission_id INTEGER NOT NULL,
|
|
@@ -386,24 +365,32 @@ ORDER BY dc.depth, dc.consumer_path;
|
|
|
386
365
|
`),this.run(`
|
|
387
366
|
INSERT INTO cross_repo_links (mission_id, linked_repo_path, linked_mission_id, relationship, direction)
|
|
388
367
|
VALUES (?, ?, ?, ?, ?)
|
|
389
|
-
`,e,
|
|
368
|
+
`,e,r,i,t,o)}getLinks(e){try{return this.all(`
|
|
390
369
|
SELECT linked_repo_path, linked_mission_id, relationship, direction
|
|
391
370
|
FROM cross_repo_links
|
|
392
371
|
WHERE mission_id = ?
|
|
393
|
-
`,e)}catch{return[]}}findLastMission(){return this.get("SELECT * FROM missions ORDER BY updated_at DESC, id DESC LIMIT 1")}findActiveByPriority(){return this.get("SELECT * FROM missions WHERE status IN ('in-progress', 'active', 'verifying') ORDER BY CASE WHEN status = 'in-progress' THEN 0 ELSE 1 END, created_at ASC LIMIT 1")}};
|
|
394
|
-
SELECT
|
|
372
|
+
`,e)}catch{return[]}}findLastMission(){return this.get("SELECT * FROM missions ORDER BY updated_at DESC, id DESC LIMIT 1")}findActiveByPriority(){return this.get("SELECT * FROM missions WHERE status IN ('in-progress', 'active', 'verifying') ORDER BY CASE WHEN status = 'in-progress' THEN 0 ELSE 1 END, created_at ASC LIMIT 1")}}});import{Worker as V_}from"node:worker_threads";import{cpus as q_}from"node:os";import{fileURLToPath as K_}from"node:url";import{dirname as Y_,join as Mf}from"node:path";import{existsSync as jf}from"node:fs";function X_(){if(Ff.endsWith(".ts")){let e=Mf(Uf,"worker.ts");if(jf(e))return e}let n=Mf(Uf,"worker.js");return jf(n)?n:Sn("dist/logic/domain/embeddings/worker.js")}function en(n){return Tn||(Tn=new Rn(n)),Tn}async function Ir(){Tn&&(await Tn.shutdown(),Tn=null)}var Ff,Uf,Rn,Tn,Zf=me(()=>{"use strict";V();$i();Ff=K_(import.meta.url),Uf=Y_(Ff);Rn=class{workers=[];taskQueue=[];pendingTasks=new Map;taskIdCounter=0;initialized=!1;initPromise;shutdownRequested=!1;numWorkers;cacheDir;initTimeout;constructor(e={}){this.numWorkers=e.numWorkers??Math.max(1,Math.min(4,q_().length-1)),this.cacheDir=e.cacheDir??"./.cache",this.initTimeout=e.initTimeout??6e4}async initialize(){if(!this.initialized)return this.initPromise?this.initPromise:(this.initPromise=this._doInitialize(),this.initPromise)}async _doInitialize(){let e;try{$.info({numWorkers:this.numWorkers},"Initializing embedding worker pool");let r=new Promise((i,t)=>{e=setTimeout(()=>t(new Error(`Worker pool initialization timed out after ${this.initTimeout}ms`)),this.initTimeout)});if(await Promise.race([this._initializeWorkers(),r]),e&&clearTimeout(e),this.shutdownRequested){this.initialized=!1,this.initPromise=void 0,$.debug("Initialization completed but shutdown was requested");return}this.initialized=!0,$.info({numWorkers:this.workers.length},"Embedding worker pool ready")}catch(r){throw e&&clearTimeout(e),this.initPromise=void 0,this.initialized=!1,await this.shutdown(),r}}async _initializeWorkers(){let e=X_();$.debug({workerPath:e},"Resolved worker path");let r=[];for(let i=0;i<this.numWorkers;i++)i>0&&await new Promise(t=>setTimeout(t,25)),r.push(this.createWorker(e,i));await Promise.all(r)}async createWorker(e,r){return new Promise((i,t)=>{let o=setTimeout(()=>{t(new Error(`Worker ${r} initialization timed out`))},this.initTimeout),s=new V_(e,{workerData:{cacheDir:this.cacheDir},execArgv:process.execArgv}),a={worker:s,busy:!1,currentTaskId:null};s.on("message",c=>{if(c.type==="ready"){if(clearTimeout(o),this.shutdownRequested){$.debug({workerIndex:r},"Worker ready but shutdown requested, terminating"),s.terminate().catch(()=>{}),i();return}this.workers.push(a),$.debug({workerIndex:r},"Worker ready"),i()}else c.type==="result"&&c.id?this.handleTaskComplete(a,c.id,c.embeddings||[]):c.type==="error"&&c.id&&this.handleTaskError(a,c.id,new Error(c.error||"Unknown error"))}),s.on("error",c=>{if(clearTimeout(o),$.error({err:c,workerIndex:r},"Worker error"),a.currentTaskId&&this.handleTaskError(a,a.currentTaskId,c),!this.initialized){t(c);return}let l=this.workers.indexOf(a);l!==-1&&this.workers.splice(l,1),!this.shutdownRequested&&this.initialized&&this.createWorker(e,r).catch(u=>{$.error({err:u},"Failed to replace crashed worker")})}),s.on("exit",c=>{c!==0&&!this.shutdownRequested&&$.warn({workerIndex:r,code:c},"Worker exited unexpectedly")})})}handleTaskComplete(e,r,i){let t=this.pendingTasks.get(r);t&&(this.pendingTasks.delete(r),t.resolve(i)),e.busy=!1,e.currentTaskId=null,this.processQueue()}handleTaskError(e,r,i){let t=this.pendingTasks.get(r);t&&(this.pendingTasks.delete(r),t.reject(i)),e.busy=!1,e.currentTaskId=null,this.processQueue()}processQueue(){if(this.taskQueue.length===0)return;let e=this.workers.find(i=>!i.busy);if(!e)return;let r=this.taskQueue.shift();r&&(e.busy=!0,e.currentTaskId=r.id,this.pendingTasks.set(r.id,r),e.worker.postMessage({type:"embed",id:r.id,texts:r.texts}))}async generateEmbeddings(e,r=128,i){if(this.initialized||await this.initialize(),e.length===0)return[];let t=[];for(let l=0;l<e.length;l+=r)t.push(e.slice(l,l+r));let o=new Array(t.length),s=0,a=t.map((l,u)=>new Promise((d,p)=>{let m={id:`task_${++this.taskIdCounter}`,texts:l,resolve:h=>{if(o[u]=h,s++,i){let b=Math.min(s*r,e.length);i(b,e.length)}d()},reject:h=>{if(o[u]=new Array(l.length).fill(null),s++,$.warn({err:h,chunkIndex:u},"Chunk embedding failed"),i){let b=Math.min(s*r,e.length);i(b,e.length)}d()}};this.taskQueue.push(m),this.processQueue()}));await Promise.all(a);let c=[];for(let l of o)c.push(...l);return $.info({total:e.length,successful:c.filter(l=>l!==null).length,workers:this.workers.length},"Parallel embedding generation complete"),c}get workerCount(){return this.workers.length}get busyWorkers(){return this.workers.filter(e=>e.busy).length}get queueSize(){return this.taskQueue.length}get isInitialized(){return this.initialized}async shutdown(){if(this.shutdownRequested=!0,this.initPromise)try{await this.initPromise}catch{}if(!this.initialized&&this.workers.length===0){this.shutdownRequested=!1,this.initPromise=void 0;return}$.info({numWorkers:this.workers.length},"Shutting down embedding worker pool");let e=this.workers.map(r=>new Promise(i=>{r.worker.postMessage({type:"shutdown"}),r.worker.once("exit",()=>i()),setTimeout(()=>{r.worker.terminate().then(()=>i())},5e3)}));await Promise.all(e),this.workers=[],this.taskQueue=[],this.pendingTasks.clear(),this.initialized=!1,this.shutdownRequested=!1,$.info("Embedding worker pool shutdown complete")}},Tn=null});var Nr={};He(Nr,{EmbeddingPriorityQueue:()=>Hi,EmbeddingWorkerPool:()=>Rn,cosineSimilarity:()=>Gi,generateEmbedding:()=>Wi,generateEmbeddingsBatch:()=>Bi,getDefaultPool:()=>en,setUseWorkerThreads:()=>Pr,shutdownDefaultPool:()=>Ir});async function Q_(){return Tr||(Tr=await import("@xenova/transformers"),Tr.env.cacheDir="./.cache",Tr.env.allowLocalModels=!0),Tr}function Pr(n){uc=n,$.info({useWorkerThreads:n},"Worker thread mode updated")}function Hf(n=!1){let e=(Rr||"").toLowerCase(),r={};return Rr&&(r.dtype=Rr),n?(r.quantized=!1,r):(e==="fp32"||e==="fp16"||e==="float32"||e==="float16"?r.quantized=!1:e.startsWith("q")&&(r.quantized=!0),r)}async function ex(){$.info({model:Zi,dtype:Rr},"Loading embedding model...");let{pipeline:n}=await Q_(),e=Hf(!1);try{return await n("feature-extraction",Zi,e)}catch(r){let i=r?.message||"";if(!(i.includes("/onnx/model_quantized.onnx")||i.includes("model_quantized.onnx")))throw r;return $.warn({model:Zi,dtype:Rr},"Quantized ONNX artifact missing, retrying with unquantized ONNX"),await n("feature-extraction",Zi,Hf(!0))}}async function Bf(){return lc||(lc=ex()),lc}async function Wi(n){try{let r=await(await Bf())(n,{pooling:"mean",normalize:!0});return Array.from(r.data)}catch(e){return $.error({err:e},"Failed to generate embedding"),null}}async function Bi(n,e=Wf,r){return n.length===0?[]:uc?en().generateEmbeddings(n,e,r):Gf(n,e,r)}async function Gf(n,e,r){let i=new Array(n.length).fill(null),t=await Bf();for(let o=0;o<n.length;o+=e){let s=Math.min(o+e,n.length),a=n.slice(o,s);try{let c=await t(a,{pooling:"mean",normalize:!0}),[l,u]=c.dims;for(let d=0;d<l;d++){let p=d*u,f=p+u;i[o+d]=Array.from(c.data.slice(p,f))}}catch(c){$.error({err:c,batchStart:o,batchEnd:s},"Single-threaded batch embedding failed, falling back to sequential for this chunk");for(let l=0;l<a.length;l++)try{let u=a[l];if(!u||u.trim().length===0)continue;let d=await t(u,{pooling:"mean",normalize:!0});i[o+l]=Array.from(d.data)}catch{i[o+l]=null}}r&&r(s,n.length)}return $.debug({total:n.length,successful:i.filter(o=>o!==null).length},"Batch embedding complete"),i}function Gi(n,e){let r=0,i=0,t=0;for(let o=0;o<n.length;o++)r+=n[o]*e[o],i+=n[o]*n[o],t+=e[o]*e[o];return r/(Math.sqrt(i)*Math.sqrt(t))}var Zi,Rr,Tr,Wf,uc,lc,Hi,Nt=me(()=>{"use strict";V();Zf();Zi=process.env.EMBEDDING_MODEL??"Xenova/all-MiniLM-L6-v2",Rr=process.env.EMBEDDING_DTYPE??"fp32",Tr=null;Wf=128,uc=!1;lc=null;Hi=class{queue=[];processing=!1;results=new Map;enqueue(e){this.queue.push(e),this.queue.sort((r,i)=>i.priority-r.priority)}enqueueMany(e){this.queue.push(...e),this.queue.sort((r,i)=>i.priority-r.priority)}get size(){return this.queue.length}get isProcessing(){return this.processing}getResult(e){return this.results.get(e)}async processQueue(e=Wf,r){if(this.processing)return $.warn("Queue processing already in progress"),this.results;this.processing=!0;let i=this.queue.length;try{uc?await this.processQueueParallel(e,i,r):await this.processQueueSequential(e,i,r)}finally{this.processing=!1}return this.results}async processQueueSequential(e,r,i){for(;this.queue.length>0;){let t=this.queue.splice(0,e),o=t.map(a=>a.text),s=await Gf(o,o.length);if(t.forEach((a,c)=>{this.results.set(a.id,s[c])}),i){let a=r-this.queue.length;i(a,r)}}}async processQueueParallel(e,r,i){let t=this.queue.splice(0),o=t.map(c=>c.text),a=await en().generateEmbeddings(o,e,(c,l)=>{i&&i(c,l)});t.forEach((c,l)=>{this.results.set(c.id,a[l])})}clear(){this.queue=[],this.results.clear()}}});var Ji,Jf=me(()=>{"use strict";at();V();Ji=class n extends ye{findByMission(e,r=50){return this.all(`
|
|
373
|
+
SELECT
|
|
374
|
+
id, mission_id, symbol_id, file_path, type, content, confidence,
|
|
375
|
+
symbol_name, signature, commit_sha, is_crystallized, crystal_id,
|
|
376
|
+
created_at
|
|
377
|
+
FROM intent_logs
|
|
395
378
|
WHERE mission_id = ?
|
|
396
379
|
ORDER BY created_at DESC
|
|
397
380
|
LIMIT ?
|
|
398
|
-
`,e,
|
|
399
|
-
SELECT
|
|
381
|
+
`,e,r)}findRecentDecisionActivity(e=10){return this.all(`
|
|
382
|
+
SELECT
|
|
383
|
+
id, mission_id, symbol_id, file_path, type, content, confidence,
|
|
384
|
+
symbol_name, signature, commit_sha, is_crystallized, crystal_id,
|
|
385
|
+
created_at
|
|
386
|
+
FROM intent_logs
|
|
400
387
|
WHERE type IN ('decision', 'system', 'fix', 'heritage', 'adr')
|
|
401
388
|
ORDER BY created_at DESC
|
|
402
389
|
LIMIT ?
|
|
403
|
-
`,e)}create(e){let
|
|
390
|
+
`,e)}create(e){let r=this.insert(`
|
|
404
391
|
INSERT INTO intent_logs (mission_id, symbol_id, file_path, type, content, confidence, symbol_name, signature, commit_sha)
|
|
405
392
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
406
|
-
`,e.mission_id,e.symbol_id,e.file_path,e.type,e.content,e.confidence,e.symbol_name,e.signature,e.commit_sha);return
|
|
393
|
+
`,e.mission_id,e.symbol_id,e.file_path,e.type,e.content,e.confidence,e.symbol_name,e.signature,e.commit_sha);return n.EMBEDDABLE_TYPES.has(e.type)&&this.generateAndStoreEmbedding(Number(r),e).catch(i=>{$.debug({err:i,intentLogId:r},"Failed to generate intent log embedding")}),r}static EMBEDDABLE_TYPES=new Set(["decision","discovery","fix","blocker","heritage","crystal"]);static buildEmbeddingText(e){let r=[`[${e.type}]`];return e.symbol_name&&r.push(`symbol: ${e.symbol_name}`),e.file_path&&r.push(`file: ${e.file_path.split("/").pop()}`),r.push(e.content),r.join(" ")}async generateAndStoreEmbedding(e,r){let{generateEmbedding:i}=await Promise.resolve().then(()=>(Nt(),Nr)),t=n.buildEmbeddingText(r),o=await i(t);o&&this.run("UPDATE intent_logs SET embedding = ? WHERE id = ?",JSON.stringify(o),e)}findWithEmbeddings(){return this.all("SELECT * FROM intent_logs WHERE embedding IS NOT NULL AND type NOT IN ('system', 'lapsed')")}async findSemanticMatches(e,r,i){let{cosineSimilarity:t}=await Promise.resolve().then(()=>(Nt(),Nr)),o=this.findWithEmbeddings();if(o.length>5e3)return $.warn({count:o.length},"Intent log count exceeds brute-force vector scan limit (5000). Skipping semantic recall."),[];let s=[];for(let a of o)if(!(i&&a.symbol_id===i))try{let c=JSON.parse(a.embedding),l=t(e,c);l>.25&&s.push({id:a.id,mission_id:a.mission_id,type:a.type,content:a.content,symbol_name:a.symbol_name,file_path:a.file_path,similarity:l,created_at:a.created_at})}catch{}return s.sort((a,c)=>c.similarity-a.similarity).slice(0,r)}delete(e){this.run("DELETE FROM intent_logs WHERE id = ?",e)}update(e,r){let i=Object.keys(r);if(i.length===0)return;let t=i.map(s=>`${s} = ?`).join(", "),o=Object.values(r);o.push(e),this.run(`UPDATE intent_logs SET ${t} WHERE id = ?`,...o)}findRepairableOrphans(){return this.all(`
|
|
407
394
|
SELECT id, file_path, symbol_name, signature
|
|
408
395
|
FROM intent_logs
|
|
409
396
|
WHERE symbol_id IS NULL AND symbol_name IS NOT NULL
|
|
@@ -425,48 +412,614 @@ ORDER BY dc.depth, dc.consumer_path;
|
|
|
425
412
|
type = 'lapsed',
|
|
426
413
|
content = 'Lapsed: ' || content
|
|
427
414
|
WHERE id = ?
|
|
428
|
-
`,e)}importHeritage(e,
|
|
415
|
+
`,e)}importHeritage(e,r,i,t){this.run(`
|
|
429
416
|
INSERT INTO intent_logs (type, content, commit_sha, created_at, confidence, mission_id)
|
|
430
|
-
VALUES ('heritage', ?, ?, ?, ?,
|
|
431
|
-
`,e,
|
|
417
|
+
VALUES ('heritage', ?, ?, ?, ?, NULL)
|
|
418
|
+
`,e,r,i,t)}countByType(e){return this.get("SELECT COUNT(*) as count FROM intent_logs WHERE type = ?",e)?.count||0}findRawByMission(e){return this.all(`SELECT
|
|
419
|
+
id, mission_id, symbol_id, file_path, type, content, confidence,
|
|
420
|
+
symbol_name, signature, commit_sha, is_crystallized, crystal_id,
|
|
421
|
+
created_at
|
|
422
|
+
FROM intent_logs
|
|
432
423
|
WHERE mission_id = ? AND is_crystallized = 0
|
|
433
424
|
AND type NOT IN ('adr', 'system', 'crystal', 'lapsed')
|
|
434
|
-
ORDER BY created_at ASC`,e)}findCrystalByMission(e){return this.get(`SELECT
|
|
425
|
+
ORDER BY created_at ASC`,e)}findCrystalByMission(e){return this.get(`SELECT
|
|
426
|
+
id, mission_id, symbol_id, file_path, type, content, confidence,
|
|
427
|
+
symbol_name, signature, commit_sha, is_crystallized, crystal_id,
|
|
428
|
+
created_at
|
|
429
|
+
FROM intent_logs
|
|
435
430
|
WHERE mission_id = ? AND type = 'crystal'
|
|
436
|
-
ORDER BY created_at DESC LIMIT 1`,e)}crystallize(e,
|
|
437
|
-
VALUES (?, 'crystal', ?, 1.0, 0, NULL, NULL, NULL, NULL, NULL)`,e,
|
|
431
|
+
ORDER BY created_at DESC LIMIT 1`,e)}crystallize(e,r){return this.transaction(()=>{let i=this.insert(`INSERT INTO intent_logs (mission_id, type, content, confidence, is_crystallized, symbol_id, file_path, symbol_name, signature, commit_sha)
|
|
432
|
+
VALUES (?, 'crystal', ?, 1.0, 0, NULL, NULL, NULL, NULL, NULL)`,e,r);return this.run(`UPDATE intent_logs
|
|
438
433
|
SET is_crystallized = 1, crystal_id = ?
|
|
439
434
|
WHERE mission_id = ? AND is_crystallized = 0 AND id != ?
|
|
440
|
-
AND type NOT IN ('adr', 'system', 'crystal', 'lapsed')`,
|
|
435
|
+
AND type NOT IN ('adr', 'system', 'crystal', 'lapsed')`,i,e,i),i})}findRawBySymbol(e){return this.all(`SELECT * FROM intent_logs
|
|
436
|
+
WHERE symbol_id = ? AND mission_id IS NULL AND is_crystallized = 0
|
|
437
|
+
AND type NOT IN ('adr', 'system', 'crystal', 'lapsed')
|
|
438
|
+
ORDER BY created_at ASC`,e)}crystallizeBySymbol(e,r){return this.transaction(()=>{let i=this.insert(`INSERT INTO intent_logs (mission_id, symbol_id, type, content, confidence, is_crystallized, file_path, symbol_name, signature, commit_sha)
|
|
439
|
+
VALUES (NULL, ?, 'crystal', ?, 1.0, 0, NULL, NULL, NULL, NULL)`,e,r);return this.run(`UPDATE intent_logs
|
|
440
|
+
SET is_crystallized = 1, crystal_id = ?
|
|
441
|
+
WHERE symbol_id = ? AND mission_id IS NULL AND is_crystallized = 0 AND id != ?
|
|
442
|
+
AND type NOT IN ('adr', 'system', 'crystal', 'lapsed')`,i,e,i),i})}countByMissions(e){if(e.length===0)return{};let r=e.map(()=>"?").join(","),i=this.all(`SELECT mission_id, COUNT(*) as cnt
|
|
441
443
|
FROM intent_logs
|
|
442
|
-
WHERE mission_id IN (${
|
|
444
|
+
WHERE mission_id IN (${r})
|
|
443
445
|
AND type NOT IN ('system', 'adr', 'lapsed')
|
|
444
|
-
GROUP BY mission_id`,...e),
|
|
446
|
+
GROUP BY mission_id`,...e),t={};for(let o of i)t[o.mission_id]=o.cnt;return t}findMissionsWithBlockers(e){if(e.length===0)return new Set;let r=e.map(()=>"?").join(","),i=this.all(`SELECT DISTINCT mission_id
|
|
445
447
|
FROM intent_logs
|
|
446
|
-
WHERE mission_id IN (${
|
|
447
|
-
AND type = 'blocker'`,...e);return new Set(
|
|
448
|
+
WHERE mission_id IN (${r})
|
|
449
|
+
AND type = 'blocker'`,...e);return new Set(i.map(t=>t.mission_id))}findByMissionPreferCrystal(e,r=50){let i=this.findCrystalByMission(e);if(i){let t=this.all(`SELECT
|
|
450
|
+
id, mission_id, symbol_id, file_path, type, content, confidence,
|
|
451
|
+
symbol_name, signature, commit_sha, is_crystallized, crystal_id,
|
|
452
|
+
created_at
|
|
453
|
+
FROM intent_logs
|
|
448
454
|
WHERE mission_id = ? AND is_crystallized = 0 AND type NOT IN ('adr', 'system', 'crystal', 'lapsed')
|
|
449
455
|
AND created_at > ?
|
|
450
|
-
ORDER BY created_at DESC LIMIT ?`,e,
|
|
456
|
+
ORDER BY created_at DESC LIMIT ?`,e,i.created_at,r-1);return[i,...t]}return this.findByMission(e,r)}async backfillEmbeddings(e=64,r){let{generateEmbeddingsBatch:i}=await Promise.resolve().then(()=>(Nt(),Nr)),t=[...n.EMBEDDABLE_TYPES].map(u=>`'${u}'`).join(","),o=this.all(`SELECT * FROM intent_logs WHERE embedding IS NULL AND type IN (${t})`);if(o.length===0)return 0;let s=o.map(u=>n.buildEmbeddingText(u)),a=await i(s,e,r),c=this.db.prepare("UPDATE intent_logs SET embedding = ? WHERE id = ?"),l=0;return this.transaction(()=>{for(let u=0;u<o.length;u++)a[u]&&(c.run(JSON.stringify(a[u]),o[u].id),l++)}),$.info({total:o.length,embedded:l},"Intent log embedding backfill complete"),l}}});var Vi,Vf=me(()=>{"use strict";at();Vi=class extends ye{findByKey(e,r=20){return this.all(`
|
|
451
457
|
SELECT file_path, key, value, kind
|
|
452
458
|
FROM configs
|
|
453
459
|
WHERE key LIKE ? OR value LIKE ?
|
|
454
460
|
LIMIT ?
|
|
455
|
-
`,`%${e}%`,`%${e}%`,
|
|
461
|
+
`,`%${e}%`,`%${e}%`,r)}findByKind(e,r=50){let i="SELECT key, value, kind, file_path FROM configs",t=[];return e&&(i+=" WHERE kind = ?",t.push(e)),i+=" LIMIT ?",t.push(r),this.all(i,...t)}findEnvValue(e){return this.get("SELECT value FROM configs WHERE key LIKE ? OR key = ? LIMIT 1",`%:env:${e}`,e)?.value}countByKind(e){return this.get("SELECT COUNT(*) as count FROM configs WHERE kind = ?",e)?.count||0}getAll(){return this.all("SELECT key, value, kind, file_path FROM configs")}}});var qi,qf=me(()=>{"use strict";at();qi=class extends ye{search(e,r=10){return this.all(`
|
|
456
462
|
SELECT file_path, snippet(content_fts, 1, '<b>', '</b>', '...', 20) as snippet
|
|
457
463
|
FROM content_fts
|
|
458
464
|
WHERE content_fts MATCH ?
|
|
459
465
|
LIMIT ?
|
|
460
|
-
`,e,
|
|
461
|
-
WHERE query LIKE ? ORDER BY created_at DESC LIMIT ?`,`${e}%`,
|
|
466
|
+
`,e,r)}}});var Kf,Ki,Yf=me(()=>{"use strict";at();Kf=500,Ki=class extends ye{record(e,r,i=null){this.run("INSERT INTO search_history (query, mode, branch) VALUES (?, ?, ?)",e,r,i),this.pruneIfNeeded()}findRecent(e=20){return this.all("SELECT id, query, mode, branch, created_at FROM search_history ORDER BY created_at DESC LIMIT ?",e)}findRecentByQueryPrefix(e,r=10){return e.trim()?this.all(`SELECT id, query, mode, branch, created_at FROM search_history
|
|
467
|
+
WHERE query LIKE ? ORDER BY created_at DESC LIMIT ?`,`${e}%`,r):this.findRecent(r)}pruneIfNeeded(){(this.get("SELECT COUNT(*) as count FROM search_history")?.count??0)<=Kf||this.run(`DELETE FROM search_history WHERE id NOT IN (
|
|
462
468
|
SELECT id FROM search_history ORDER BY created_at DESC LIMIT ?
|
|
463
|
-
)`,
|
|
469
|
+
)`,Kf)}}});var Yi,Xf=me(()=>{"use strict";at();Yi=class extends ye{getSection(e){return this.get("SELECT section, data, updated_at FROM hologram_snapshot WHERE section = ?",e)}getAllSections(){return this.all("SELECT section, data, updated_at FROM hologram_snapshot ORDER BY section")}upsertSection(e,r){this.run(`
|
|
464
470
|
INSERT INTO hologram_snapshot (section, data, updated_at)
|
|
465
471
|
VALUES (?, ?, unixepoch())
|
|
466
472
|
ON CONFLICT(section) DO UPDATE SET
|
|
467
473
|
data = excluded.data,
|
|
468
474
|
updated_at = excluded.updated_at
|
|
469
|
-
`,e,t)}deleteSection(e){this.run("DELETE FROM hologram_snapshot WHERE section = ?",e)}deleteAll(){this.run("DELETE FROM hologram_snapshot")}hasSection(e){return(this.get("SELECT COUNT(*) as count FROM hologram_snapshot WHERE section = ?",e)?.count??0)>0}};var ce=class{static repositoryCache=new Map;static getInstance(e){let t=this.repositoryCache.get(e);if(t){let r=ge(e),o=t.files?.database,l=!t.intentLogs||!t.searchHistory||!t.missions||!t.hologram;if(o===r&&r.open&&!l)return t;this.repositoryCache.delete(e)}let n=ge(e),s={files:new Xe(n),exports:new Ze(n),imports:new et(n),missions:new tt(n),intentLogs:new st(n),configs:new rt(n),content:new ot(n),searchHistory:new at(n),hologram:new ct(n)};return this.repositoryCache.set(e,s),s}static closeInstance(e){this.repositoryCache.delete(e),cn(e)}static clearCache(e){this.repositoryCache.delete(e)}};we();import{execSync as vt}from"child_process";import lt from"path";import On from"fs";function Oe(i){try{return On.existsSync(lt.join(i,".git"))?vt("git rev-parse HEAD",{cwd:i,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim():null}catch{return null}}var Hi=new Set([".ts",".tsx",".yaml",".yml",".php",".py",".go",".prisma",".graphql",".gql"]),$i=new Set(["package.json","lerna.json","turbo.json","pnpm-workspace.yaml"]),Ui=new Set(["node_modules",".git","dist","build","vendor",".next",".cache","coverage"]);function wn(i){let e=i.split("/");for(let s of e)if(Ui.has(s))return!1;if(i.endsWith(".min.js"))return!1;let t=lt.basename(i);if(t.startsWith("Dockerfile")||t.startsWith(".env")||$i.has(t))return!0;let n=lt.extname(t).toLowerCase();return Hi.has(n)}function Bi(i){let e=i.trim(),t=e.indexOf(" -> ");if(t!==-1)return e.substring(t+4);let n=e.split(/\s+/);return n.length>=2?n[n.length-1]:e}function An(i,e){try{if(!On.existsSync(lt.join(i,".git")))return!0;let t=Oe(i);if(!t)return!0;if(e&&e!==t){let s=vt(`git diff --name-only ${e} ${t}`,{cwd:i,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();if(s&&s.split(`
|
|
470
|
-
`).
|
|
471
|
-
`).
|
|
472
|
-
`).map(l=>l.trim().replace(/^\* /,"")).filter(l=>l&&l!==e)}catch{}let r=0;if(s.length>0){let o=this.missions.findMergedMissions(e,s);for(let l of o)this.missions.updateStatus(l.id,"completed"),me.info({missionId:l.id,branch:l.git_branch},"Merge Sentinel: Auto-completed mission"),r++}return(n>0||r>0)&&me.info({suspended:n,completed:r},"Git-Native Lifecycle Sync complete"),{suspended:n,resumed:-1,completed:r}}};j();$e();import{Worker as ji}from"node:worker_threads";import{cpus as zi}from"node:os";import{fileURLToPath as qi}from"node:url";import{dirname as Gi,join as Ki}from"node:path";import{existsSync as Ji}from"node:fs";var Pn=qi(import.meta.url),Yi=Gi(Pn),Qi=Pn.endsWith(".ts");function Vi(){if(Qi)return null;let i=Ki(Yi,"worker.js");return Ji(i)?i:fe("dist/logic/parser/worker.js")}var Ct=class{workers=[];taskQueue=[];pendingTasks=new Map;taskIdCounter=0;initialized=!1;initPromise;shutdownRequested=!1;numWorkers;initTimeout;constructor(e={}){this.numWorkers=e.numWorkers??Math.max(1,Math.min(4,zi().length-1)),this.initTimeout=e.initTimeout??3e4}async initialize(){if(!this.initialized)return this.initPromise?this.initPromise:(this.initPromise=this._doInitialize(),this.initPromise)}async _doInitialize(){let e;try{E.info({numWorkers:this.numWorkers},"Initializing parser worker pool");let t=new Promise((n,s)=>{e=setTimeout(()=>s(new Error(`Parser pool initialization timed out after ${this.initTimeout}ms`)),this.initTimeout)});if(await Promise.race([this._initializeWorkers(),t]),e&&clearTimeout(e),this.shutdownRequested){this.initialized=!1,this.initPromise=void 0;return}this.initialized=!0,E.info({numWorkers:this.workers.length},"Parser worker pool ready")}catch(t){throw e&&clearTimeout(e),this.initPromise=void 0,this.initialized=!1,await this.shutdown(),t}}async _initializeWorkers(){let e=Vi();if(!e)throw new Error("Parser worker pool not available in development mode (tsx). Use main-thread fallback.");E.debug({workerPath:e},"Resolved parser worker path");let t=[];for(let n=0;n<this.numWorkers;n++)t.push(this.createWorker(e,n));await Promise.all(t)}async createWorker(e,t){return new Promise((n,s)=>{let r=setTimeout(()=>{s(new Error(`Parser worker ${t} initialization timed out`))},this.initTimeout),o=new ji(e,{execArgv:process.execArgv}),l={worker:o,busy:!1,currentTaskId:null};o.on("message",c=>{if(c.type==="ready"){if(clearTimeout(r),this.shutdownRequested){o.terminate().catch(()=>{}),n();return}this.workers.push(l),E.debug({workerIndex:t},"Parser worker ready"),n()}else c.type==="result"&&c.id?this.handleTaskComplete(l,c.id,c.result):c.type==="error"&&c.id&&this.handleTaskError(l,c.id,new Error(c.error||"Unknown error"))}),o.on("error",c=>{if(clearTimeout(r),E.error({err:c,workerIndex:t},"Parser worker error"),l.currentTaskId&&this.handleTaskError(l,l.currentTaskId,c),!this.initialized){s(c);return}let a=this.workers.indexOf(l);a!==-1&&this.workers.splice(a,1),!this.shutdownRequested&&this.initialized&&this.createWorker(e,t).catch(u=>{E.error({err:u},"Failed to replace crashed parser worker")})}),o.on("exit",c=>{c!==0&&!this.shutdownRequested&&E.warn({workerIndex:t,code:c},"Parser worker exited unexpectedly")})})}handleTaskComplete(e,t,n){let s=this.pendingTasks.get(t);s&&(this.pendingTasks.delete(t),s.resolve(n)),e.busy=!1,e.currentTaskId=null,this.processQueue()}handleTaskError(e,t,n){let s=this.pendingTasks.get(t);s&&(this.pendingTasks.delete(t),s.reject(n)),e.busy=!1,e.currentTaskId=null,this.processQueue()}processQueue(){if(this.taskQueue.length===0)return;let e=this.workers.find(n=>!n.busy);if(!e)return;let t=this.taskQueue.shift();t&&(e.busy=!0,e.currentTaskId=t.id,this.pendingTasks.set(t.id,t),e.worker.postMessage({type:"parse",id:t.id,filePath:t.filePath}))}async parseFile(e){return this.initialized||await this.initialize(),new Promise((t,n)=>{let r={id:`parse_${++this.taskIdCounter}`,filePath:e,resolve:t,reject:n};this.taskQueue.push(r),this.processQueue()})}get workerCount(){return this.workers.length}get busyWorkers(){return this.workers.filter(e=>e.busy).length}get queueSize(){return this.taskQueue.length}get isInitialized(){return this.initialized}async shutdown(){if(this.shutdownRequested=!0,this.initPromise)try{await this.initPromise}catch{}if(!this.initialized&&this.workers.length===0){this.shutdownRequested=!1,this.initPromise=void 0;return}E.info({numWorkers:this.workers.length},"Shutting down parser worker pool");let e=this.workers.map(t=>new Promise(n=>{t.worker.postMessage({type:"shutdown"}),t.worker.once("exit",()=>n()),setTimeout(()=>{t.worker.terminate().then(()=>n())},5e3)}));await Promise.all(e),this.workers=[],this.taskQueue=[],this.pendingTasks.clear(),this.initialized=!1,this.shutdownRequested=!1,this.initPromise=void 0,E.info("Parser worker pool shutdown complete")}},Re=null;function Wn(i){return Re||(Re=new Ct(i)),Re}async function Hn(){Re&&(await Re.shutdown(),Re=null)}var es=Zi.cpus().length||4,ts=Pe.DEFAULT_CONCURRENCY;async function Mt(i,e=ts,t=!1,n=!0,s){let r=ce.getInstance(i),o=r.files.database,l=Ve(i),c=l.concurrency??e;if(Zt(),!t&&on(i)){let h=an(i),y=Oe(i);if(h&&!An(i,h))return _t(),E.debug({repoPath:i,commit:y},"Index is current, skipping re-index (fast-path)"),o}Ye(i);let a=r.files.findAll(),u=new Map(a.map(h=>[h.path,{mtime:h.mtime,hash:h.content_hash}])),p=Date.now();s?.({phase:"scan",current:0,total:0,message:"Scanning repository..."});let m=await dt(i,l.ignore),d=new Map(m.map(h=>[h.path,h.mtime])),f=a.filter(h=>!d.has(h.path)).map(h=>h.path),g=a.length===0,b=[];if(t||g)b.push(...m);else{let h=m.filter(x=>{let I=u.get(x.path);return!I||I.mtime!==x.mtime}),y=Nt(c*4),T=h.map(x=>y(async()=>{let I=u.get(x.path);if(!I||!I.hash)return x;try{let D=await Xi.promises.readFile(x.path,"utf8");return rn(D,I.hash)?x:(r.files.updateMtime(x.path,x.mtime),null)}catch{return null}})),_=await Promise.all(T);b.push(..._.filter(x=>x!==null))}if(f.length===0&&b.length===0){_t();let h=Oe(i);return St(i,h||void 0),o}if(g?E.info({totalFiles:m.length},"Starting initial repository indexing..."):E.info({toDelete:f.length,toProcess:b.length},"Syncing repository updates..."),f.length>0&&r.files.deletePaths(f),b.length>0){tn(),n?(Me(!0),de().initialize().catch(()=>{})):Me(!1);let h=/\.(ts|tsx|php|py|go|js|jsx|mjs|cjs)$/,y=[],T=[];for(let S of b)h.test(Dt.basename(S.path))?y.push(S):T.push(S);let _=0,x=b.length,I=!1,D=Wn();try{await D.initialize(),I=!0,E.info({workers:D.workerCount},"Parser worker pool active")}catch(S){E.warn({err:S},"Parser worker pool failed to initialize, falling back to main-thread parsing"),I=!1}let z=(S,M)=>{let P=M.imports?.map(R=>({...R,resolved_path:Ne(R.module,S.path,i)})),C=M.content?he(M.content):null;return _++,(_%50===0||_===x)&&E.info({completed:_,total:x},"Parsing files..."),s?.({phase:"parse",current:_,total:x,message:`Parsing ${Dt.basename(S.path)}`}),{meta:S,...M,imports:P,embedding:null,kind:"code",contentHash:C}},w;if(I)w=y.map(S=>D.parseFile(S.path).then(M=>z(S,M),M=>(_++,E.error({path:S.path,error:M},"Worker parse failed"),{meta:S,exports:[],imports:[],content:"",kind:"error"})));else{let S=g?Math.max(c,Math.min(es-1,16)):c,M=Nt(S);w=y.map(P=>M(async()=>{try{let C=await Et(P.path);return z(P,C)}catch(C){return _++,E.error({path:P.path,error:C},"Failed to parse file"),{meta:P,exports:[],imports:[],content:"",kind:"error"}}}))}let N=Nt(c),v=T.map(S=>N(async()=>{try{let M=gn(S.path),P=M.content?he(M.content):null;return _++,(_%50===0||_===x)&&E.info({completed:_,total:x},"Parsing configs..."),s?.({phase:"parse",current:_,total:x,message:`Parsing config ${Dt.basename(S.path)}`}),{meta:S,...M,embedding:null,kind:"config",contentHash:P}}catch(M){return _++,E.error({path:S.path,error:M},"Failed to parse config"),{meta:S,exports:[],imports:[],content:"",kind:"error"}}}));E.info({total:x,codeFiles:y.length,configFiles:T.length,useParserPool:I},"Phase 1: Parsing all files...");let $=Date.now(),U=(await Promise.all([...w,...v])).filter(Boolean),ne=Date.now()-$;if(Ie("parse",ne),E.info({count:U.length,time:`${(ne/1e3).toFixed(1)}s`},"Phase 1 complete"),I&&Hn().catch(()=>{}),o.pragma("synchronous = NORMAL"),o.pragma("cache_size = -64000"),n){let S=[];U.forEach((B,Q)=>{"summary"in B&&B.summary&&S.push({fileIdx:Q,text:B.summary})}),E.info("Phase 2+3: Generating embeddings + persisting in parallel..."),s?.({phase:"embed",current:0,total:U.length,message:"Generating embeddings..."});let M=Date.now(),P=(async()=>{if(S.length>0){E.info({count:S.length}," \u2192 Generating file summary embeddings...");let B=S.map(q=>q.text),Q=await it(B,256);return E.info({count:S.length}," \u2713 File summaries complete"),Q}return[]})();s?.({phase:"persist",current:0,total:U.length,message:"Saving to database..."});let C=Date.now();r.files.batchSaveIndexResults(U,i,he,Ne);let R=Date.now()-C;Ie("persist",R),E.info({time:`${(R/1e3).toFixed(1)}s`},"Structural persist complete");let W=await P,J=Date.now()-M;if(Ie("embed",J),E.info({time:`${(J/1e3).toFixed(1)}s`},"Embeddings complete"),W.length>0){let B=o.prepare("UPDATE files SET embedding = ? WHERE path = ?"),Q=o.transaction(L=>{for(let k of L)B.run(k.embedding?JSON.stringify(k.embedding):null,k.path)}),q=S.map((L,k)=>({path:U[L.fileIdx].meta.path,embedding:W[k]}));Q(q),E.info({count:q.length},"Embedding column updated")}let Y=await r.intentLogs.backfillEmbeddings(64);Y>0&&E.info({count:Y}," \u2713 Intent log embeddings backfilled")}else{s?.({phase:"persist",current:0,total:U.length,message:"Saving to database..."});let S=Date.now();r.files.batchSaveIndexResults(U,i,he,Ne),Ie("persist",Date.now()-S)}o.pragma("synchronous = FULL"),o.pragma("cache_size = -2000")}if(g||b.length>0){let h=Oe(i);St(i,h||void 0)}return(b.length>0||f.length>0)&&new ut(i).detectAndRepairShifts(),en(Date.now()-p),s?.({phase:"complete",current:b.length,total:b.length,message:"Indexing complete"}),o}j();import $n from"path";import ns from"ignore";import Un from"fs";async function is(i,e=Pe.DEFAULT_CONCURRENCY,t="detailed",n,s){E.info({repo:i,level:t,subPath:n},"Ensuring cache is up-to-date..."),await Mt(i,e);let{files:r,exports:o,imports:l}=ce.getInstance(i),c=n?r.findInSubPath(i,n):r.findAll(),a=Ve(i),u=ns(),p=$n.join(i,".gitignore");if(Un.existsSync(p)&&u.add(Un.readFileSync(p,"utf8")),a.ignore&&a.ignore.length>0&&u.add(a.ignore),u.add(Fe),c=c.filter(y=>{let T=$n.relative(i,y.path);return!u.ignores(T)}),E.info({count:c.length},"Fetching data from DB..."),t==="lite"){let y=c.map(T=>({path:T.path,mtime:T.mtime}));return ke(y,i,t,s)}if(t==="summaries"){let y=c.map(T=>({path:T.path,mtime:T.mtime,classification:T.classification||void 0,summary:T.summary||void 0}));return ke(y,i,t,s)}let m=c.map(y=>y.path),d=o.findByFiles(m),f=t==="detailed"?l.findByFiles(m):[],g=new Map;for(let y of d){let T=g.get(y.file_path)||[];T.push(y),g.set(y.file_path,T)}let b=new Map;for(let y of f){let T=b.get(y.file_path)||[];T.push(y),b.set(y.file_path,T)}let h=c.map(y=>{let _=(g.get(y.path)||[]).map(I=>({name:I.name,kind:I.kind,signature:I.signature,line:I.start_line}));t==="structure"?_=_.map(I=>({name:I.name,kind:I.kind,line:I.line})):t==="signatures"&&(_=_.map(I=>({name:I.name,kind:I.kind,signature:I.signature,line:I.line})));let x=[];return t==="detailed"&&(x=(b.get(y.path)||[]).map(D=>({module:D.module_specifier,resolved_path:D.resolved_path}))),{path:y.path,mtime:y.mtime,classification:y.classification||void 0,summary:y.summary||void 0,exports:_,imports:x.length>0?x:void 0,chunks:[]}});return E.info({count:h.length},"Building hierarchical project tree..."),ke(h,i,t,s)}we();export{nt as EmbeddingPriorityQueue,_e as EmbeddingWorkerPool,ke as buildTree,si as chunkFile,Dn as cosineSimilarity,Mt as ensureCacheUpToDate,Cn as generateEmbedding,it as generateEmbeddingsBatch,de as getDefaultPool,Et as parseFile,is as processRepo,dt as scanRepo,Me as setUseWorkerThreads,kt as shutdownDefaultPool};
|
|
475
|
+
`,e,r)}deleteSection(e){this.run("DELETE FROM hologram_snapshot WHERE section = ?",e)}deleteAll(){this.run("DELETE FROM hologram_snapshot")}hasSection(e){return(this.get("SELECT COUNT(*) as count FROM hologram_snapshot WHERE section = ?",e)?.count??0)>0}}});var C,Q=me(()=>{"use strict";It();Df();Af();Cf();cc();Jf();Vf();qf();Yf();Xf();C=class{static repositoryCache=new Map;static getInstance(e){let r=this.repositoryCache.get(e);if(r){let o=ze(e),s=r.files?.database,a=!r.intentLogs||!r.searchHistory||!r.missions||!r.hologram;if(s===o&&o.open&&!a)return r;this.repositoryCache.delete(e)}let i=ze(e),t={files:new ji(i),exports:new Ui(i),imports:new Fi(i),missions:new Er(i),intentLogs:new Ji(i),configs:new Vi(i),content:new qi(i),searchHistory:new Ki(i),hologram:new Yi(i)};return this.repositoryCache.set(e,t),t}static closeInstance(e){this.repositoryCache.delete(e),ac(e)}static clearCache(e){this.repositoryCache.delete(e)}}});var Xi,Qi,ah,eo,ch,lh,uh,ph,dh,mh,fh,hh,gh,yh,Dr,to,vh,bh,gc=me(()=>{"use strict";Xi=[/\/pages\/(?!_)[^/]+\.(tsx?|jsx?)$/i,/\/pages\/.*\/index\.(tsx?|jsx?)$/i,/\/app\/.*\/page\.(tsx?|jsx?)$/i,/\/app\/.*\/layout\.(tsx?|jsx?)$/i,/\/app\/api\/.*\/route\.(ts|js)$/i,/\/pages\/api\/.*\.(ts|js)$/i],Qi=[/\.(routes?|router|controller|handler|endpoint|api)\.(ts|js|tsx|jsx)$/i,/\/routes?\//i,/\/controllers?\//i,/index\.(ts|js|tsx|jsx)$/i],ah=[/\/components?\/.*\.(tsx|jsx)$/i,/\/features?\/.*\.(tsx|jsx)$/i,/\/views?\/.*\.(tsx|jsx)$/i,/\/screens?\/.*\.(tsx|jsx)$/i,/\/widgets?\/.*\.(tsx|jsx)$/i],eo=[/\.(service|usecase|interactor|manager|facade)\.(ts|js)$/i,/\/services?\//i,/\/usecases?\//i,/\/domain\//i,/\/business\//i],ch=[/\/mcp\/handlers?\/[^/]+\.(ts|js)$/i,/\/mcp\/tools?\/[^/]+\.(ts|js)$/i,/\/mcp\/server\.(ts|js)$/i,/\/mcp\/index\.(ts|js)$/i],lh=[/\/mcp\/utils?\.(ts|js)$/i,/\/mcp\/schemas?\.(ts|js)$/i,/\/mcp\/resources?\.(ts|js)$/i],uh=[/\/commands?\/[^/]+\.(ts|js|py|php)$/i,/\/cli\/[^/]+\.(ts|js|py|php)$/i,/\/bin\/[^/]+\.(ts|js|py|php)$/i,/cli\.(ts|js|py|php)$/i,/main\.(ts|js|py|php)$/i],ph=[/\/parser\/[^/]+\.(ts|js)$/i,/\/ast\/[^/]+\.(ts|js)$/i,/\.(parser|visitor|walker|transformer)\.(ts|js)$/i],dh=[/\/core\/[^/]+\.(ts|js)$/i,/\/engine\/[^/]+\.(ts|js)$/i,/\/processing\/[^/]+\.(ts|js)$/i,/\/analysis\/[^/]+\.(ts|js)$/i,/\.(analyzer|processor|scanner|indexer|resolver)\.(ts|js)$/i],mh=[/\/ui\/[^/]+\.(ts|js|tsx|jsx)$/i,/\/display\/[^/]+\.(ts|js)$/i,/\/output\/[^/]+\.(ts|js)$/i,/\.(formatter|renderer|printer)\.(ts|js)$/i],fh=[/\/stores?\//i,/\/slices?\//i,/\/reducers?\//i,/\/atoms?\//i,/\/selectors?\//i,/\.(store|slice|reducer|atom|selector)\.(ts|js)$/i,/.*Slice\.(ts|js)$/i,/.*Store\.(ts|js)$/i],hh=[/\/hooks?\//i,/\/contexts?\//i,/\/providers?\//i,/use[A-Z].*\.(ts|js)$/,/.*Context\.(ts|tsx|js|jsx)$/i,/.*Provider\.(ts|tsx|js|jsx)$/i],gh=[/\/schemas?\//i,/\/validations?\//i,/\.(schema|validation|validator)\.(ts|js)$/i],yh=[/\.(types?|dto|interface|interfaces)\.(ts|js)$/i,/types\.ts$/i,/\/types?\//i,/\/dtos?\//i,/\/interfaces?\//i,/\/contracts?\//i,/\.d\.ts$/i],Dr=[/\.(model|entity|schema|repository|repo|dao|migration|query|mutation|resolver|connection|db)\.(ts|js)$/i,/queries\.(ts|js)$/i,/mutations\.(ts|js)$/i,/resolvers\.(ts|js)$/i,/connection\.(ts|js)$/i,/\/models?\//i,/\/entities?\//i,/\/repositories?\//i,/\/repos?\//i,/\/data\//i,/\/database\//i,/\/prisma\//i,/\/drizzle\//i,/\/api\/.*client\.(ts|js|tsx)$/i,/(^|\/)[A-Z0-9_-]*API\.(tsx?|js|jsx)$/],to=[/\.(util|utils|helper|helpers|lib|common|shared)\.(ts|js)$/i,/\/utils?\//i,/\/helpers?\//i,/\/lib\//i,/\/common\//i,/\/shared\//i],vh=["express","fastify","koa","hapi","restify","next","nuxt","gatsby","remix","@nestjs/common","@nestjs/core","react-router","vue-router","@angular/router","zod","joi","yup","valibot","superstruct"],bh=["prisma","@prisma/client","typeorm","sequelize","mongoose","drizzle-orm","knex","pg","mysql","sqlite","better-sqlite3","mongodb","redis","ioredis","zustand","redux","recoil","jotai","mobx"]});var no,xh,ro,Sh,yc=me(()=>{"use strict";no=[/urls\.py$/i,/wsgi\.py$/i,/asgi\.py$/i,/manage\.py$/i,/main\.py$/i,/app\.py$/i,/\/endpoints?\/.*\.py$/i,/\/commands?\/.*\.py$/i],xh=[/views\.py$/i,/forms\.py$/i,/serializers\.py$/i,/admin\.py$/i,/apps\.py$/i,/tasks\.py$/i,/middlewares?\.py$/i,/signals?\.py$/i,/context_processors\.py$/i],ro=[/models\.py$/i,/\/models\/.*\.py$/i,/\/migrations\/.*\.py$/i,/schema\.py$/i,/documents\.py$/i],Sh=["django.urls","django.http","flask","fastapi","chalice","tornado"]});var io,wh,oo,kh,vc=me(()=>{"use strict";io=[/\/routes?\/.*\.php$/i,/\/controllers?\/.*\.php$/i,/index\.php$/i,/server\.php$/i,/artisan$/i,/console$/i],wh=[/\/services?\/.*\.php$/i,/\/providers?\/.*\.php$/i,/\/middleware\/.*\.php$/i,/\/jobs?\/.*\.php$/i,/\/listeners?\/.*\.php$/i,/\/events?\/.*\.php$/i,/\/observers?\/.*\.php$/i,/\/console\/commands\/.*\.php$/i,/\/actions?\/.*\.php$/i,/\/traits?\/.*\.php$/i,/\/concerns?\/.*\.php$/i,/\/contracts?\/.*\.php$/i],oo=[/\/models?\/.*\.php$/i,/\/eloquent\/.*\.php$/i,/\/migrations?\/.*\.php$/i,/\/seeders?\/.*\.php$/i,/\/factories?\/.*\.php$/i,/\/repositories?\/.*\.php$/i,/\/resources?\/.*\.php$/i],kh=["laravel","symfony","slim","cakephp","codeigniter"]});import Ih from"path";function Dt(n,e,r){let i=[],t="Unknown",o=0;r||(r=mx(n,e));let{inDegree:s,outDegree:a}=r,c=(p,f,m,h)=>{for(let b of p)if(b.test(n))return i.push(`${h}: ${b.source}`),t=f,o+=m,!0;return!1},l=!1;if(l||(l=c(Xi,"Entry",45,"Next.js entry")),l||(l=c(ch,"Entry",40,"MCP handler")),l||(l=c(uh,"Entry",40,"CLI command")),l||(l=c(Dr,"Data",45,"Data layer/Repository")),l||(l=c(fh,"Data",35,"State management")),l||(l=c(ah,"Logic",40,"React component")),l||(l=c(eo,"Logic",35,"Logic pattern")),l||(l=c(ph,"Logic",35,"Parser/AST")),l||(l=c(dh,"Logic",35,"Core module")),l||(l=c(mh,"Logic",30,"UI layer")),l||(l=c(yh,"Types",35,"Type definition")),l||(l=c(no,"Entry",40,"Python Entry")),l||(l=c(ro,"Data",40,"Python Data")),l||(l=c(xh,"Logic",35,"Python Logic")),l||(l=c(io,"Entry",40,"PHP Entry")),l||(l=c(oo,"Data",40,"PHP Data")),l||(l=c(wh,"Logic",35,"PHP Logic")),l||(l=c(hh,"Logic",35,"Hook/Context")),!l){for(let p of lh)if(p.test(n)){i.push(`MCP utility: ${p.source}`),/schemas?/i.test(n)?t="Types":/resources?/i.test(n)?t="Data":t="Utility",o+=35,l=!0;break}}l||c(gh,"Data",35,"Schema definition")&&(l=!0),l||(c(Dr,"Data",30,"Path matches data pattern")||c(to,"Utility",25,"Path matches utility pattern")||c(Qi,"Entry",30,"Path matches entry pattern"))&&(l=!0);for(let p of bc)if(p.test(n)){i.push(`Test file: ${p.source}`),t="Test",o=50,l=!0;break}l||c(_c,"Infrastructure",40,"Infrastructure")&&(l=!0);for(let p of dx)p.test(n)&&(i.push(`Monorepo component: ${p.source}`),/\/apps\/[^/]+\/src\/pages\//i.test(n)&&(i.push("Monorepo App Entry"),t==="Unknown"&&(t="Entry"),o+=20),/\/packages\/[^/]+\/src\//i.test(n)&&(o+=10));let d=e.imports.getImportsForFile(n).map(p=>p.module_specifier.toLowerCase());for(let p of bh)if(d.some(f=>f.includes(p))){i.push(`Imports JS data library: ${p}`),(t==="Unknown"||t==="Data")&&(t="Data",o+=25);break}for(let p of Sh)if(d.some(f=>f.includes(p))){i.push(`Imports Python framework: ${p}`),(t==="Unknown"||t==="Entry")&&(t="Entry",o+=20);break}for(let p of kh)if(d.some(f=>f.includes(p))){i.push(`Imports PHP framework: ${p}`),(t==="Unknown"||t==="Entry")&&(t="Entry",o+=20);break}for(let p of vh)if(d.some(f=>f.includes(p))){i.push(`Imports JS framework: ${p}`),(t==="Unknown"||t==="Entry")&&(t="Entry",o+=20);break}if(s===0&&a>0&&(i.push("Entry point: nothing imports this file (in-degree=0)"),t==="Unknown"?(t="Entry",o+=30):t==="Entry"&&(o+=15)),s>5&&a<=2&&(i.push(`High reuse: ${s} files import this (candidate for Utility)`),t==="Unknown"?(t="Utility",o+=25):t==="Utility"&&(o+=10)),t==="Unknown"&&s>0&&a>0){let p=s/(s+a);p>.3&&p<.7&&(i.push(`Balanced traffic: in=${s}, out=${a} (likely Logic layer)`),t="Logic",o+=25)}return t==="Unknown"&&(i.push("No strong classification signals detected"),o=10),o=Math.min(o,100),{layer:t,confidence:o,signals:i}}function mx(n,e){let r=e.imports.countDependents(n),i=e.imports.countByFile(n);return{inDegree:r,outDegree:i}}function Ce(n,e){let r=n.files.getAllPaths().map(m=>({path:m})),i=new Map,t={Entry:[],Logic:[],Data:[],Utility:[],Infrastructure:[],Test:[],Types:[],Unknown:[]};for(let m of r){let h=Dt(m.path,n);i.set(m.path,h),t[h.layer].push({path:m.path,classification:h})}let o={Entry:zt(t.Entry,e),Logic:zt(t.Logic,e),Data:zt(t.Data,e),Utility:zt(t.Utility,e),Infrastructure:zt(t.Infrastructure,e),Test:zt(t.Test,e),Types:zt(t.Types,e),Unknown:zt(t.Unknown,e)},s={};r.forEach(m=>{let h=Ih.extname(m.path).toLowerCase();h&&(s[h]=(s[h]||0)+1)});let a={".ts":"TypeScript",".tsx":"Typescript (React)",".js":"JavaScript",".jsx":"JavaScript (React)",".py":"Python",".php":"PHP",".go":"Go",".rs":"Rust",".java":"Java",".cs":"C#",".rb":"Ruby",".vue":"Vue"},c={};Object.entries(s).forEach(([m,h])=>{let b=a[m];b&&(c[b]=(c[b]||0)+h)});let l=Object.entries(c).sort((m,h)=>h[1]-m[1]),u=l.length>0?l[0][0]:"Unknown",{pattern:d,patternConfidence:p,insights:f}=fx(o,r.length,n);return{pattern:d,patternConfidence:p,layers:o,insights:f,primaryStack:u}}function zt(n,e){return n.sort((r,i)=>i.classification.confidence-r.classification.confidence),{count:n.length,topFiles:n.slice(0,5).map(r=>({path:Ih.relative(e,r.path),confidence:r.classification.confidence,signals:r.classification.signals.slice(0,2)}))}}function fx(n,e,r){let i=[],t="Unknown",o=0,s=n.Entry.count/e*100,a=n.Logic.count/e*100,c=n.Data.count/e*100,l=n.Utility.count/e*100,u=n.Unknown.count/e*100;s>5&&a>10&&c>5&&u<40?(t="Layered",o=60+Math.min(30,(100-u)/3),i.push(`Clear layer separation: Entry (${s.toFixed(1)}%), Logic (${a.toFixed(1)}%), Data (${c.toFixed(1)}%)`)):l>20?(t="Modular",o=50+l/2,i.push(`High shared module usage: ${l.toFixed(1)}% utility files`)):u>60&&(t="Monolithic",o=40+u/4,i.push(`Limited architectural structure: ${u.toFixed(1)}% files with unclear layer assignment`));let d=r.configs.countByKind("Service");return d>3&&(t="Microservices",o=55+d*5,i.push(`Detected ${d} service definitions (likely microservices)`)),n.Entry.count===0&&i.push("\u26A0\uFE0F No clear entry points detected - consider adding route/controller files"),n.Data.count===0&&i.push("\u26A0\uFE0F No data layer detected - repository may not use traditional ORM patterns"),l>30&&i.push(`High utility concentration (${l.toFixed(1)}%) - good reusability`),{pattern:t,patternConfidence:Math.min(100,o),insights:i}}var bc,_c,dx,ct=me(()=>{"use strict";gc();yc();vc();bc=[/\.(test|spec)\.(ts|tsx|js|jsx)$/i,/tests?\.py$/i,/\/__tests__\//i,/\/tests?\//i,/\.e2e\.(ts|js)$/i,/\.integration\.(ts|js)$/i],_c=[/Dockerfile/i,/docker-compose/i,/\.ya?ml$/i,/nginx\.conf/i,/\/infra\//i,/\/deploy\//i,/\/k8s\//i,/\/kubernetes\//i,/\/terraform\//i,/\/ansible\//i,/package\.json/i,/tsconfig.*\.json/i,/\.env/i],dx=[/\/apps\/[^/]+\//i,/\/services\/[^/]+\//i,/\/packages\/[^/]+\//i,/\/backends\/[^/]+\//i,/\/backends_python\/[^/]+\//i]});var Mh={};He(Mh,{HologramService:()=>oe});var nt,oe,Me=me(()=>{"use strict";Q();ct();V();nt=$.child({module:"hologram"}),oe=class{repos;repoPath;constructor(e){this.repoPath=e,this.repos=C.getInstance(e)}updateTopography(e){nt.debug({repoPath:this.repoPath},"Updating topography snapshot");let r=Object.values(e.layers).reduce((o,s)=>o+s.count,0),i={};for(let[o,s]of Object.entries(e.layers)){let a=r>0?s.count/r*100:0;i[o]={count:s.count,percentage:Math.round(a*10)/10,topFiles:s.topFiles.slice(0,3).map(c=>({path:c.path,confidence:c.confidence}))}}let t={pattern:e.pattern,patternConfidence:e.patternConfidence,layerDistribution:i,insights:e.insights,updatedAt:Date.now()};this.repos.hologram.upsertSection("topography",JSON.stringify(t)),nt.info({repoPath:this.repoPath},"Topography snapshot updated")}refreshTopography(){let e=Ce(this.repos,this.repoPath);this.updateTopography(e)}updateGravityZones(e){nt.debug({repoPath:this.repoPath,count:e.length},"Updating gravity zones");let r={hotspots:e.slice(0,50),updatedAt:Date.now()};this.repos.hologram.upsertSection("gravity",JSON.stringify(r)),nt.info({repoPath:this.repoPath},"Gravity zones updated")}updateGhostBridges(e){nt.debug({repoPath:this.repoPath,count:e.length},"Updating ghost bridges");let r={bridges:e.slice(0,20),updatedAt:Date.now()};this.repos.hologram.upsertSection("ghosts",JSON.stringify(r)),nt.info({repoPath:this.repoPath},"Ghost bridges updated")}getSnapshot(){let e=this.repos.hologram.getAllSections(),r={metadata:{repoPath:this.repoPath,lastUpdated:Date.now(),version:"1.0.0"}};for(let i of e)try{let t=JSON.parse(i.data);switch(i.section){case"topography":r.topography=t;break;case"gravity":r.gravity=t;break;case"ghosts":r.ghosts=t;break}}catch(t){nt.error({repoPath:this.repoPath,section:i.section,error:t},"Failed to parse hologram section")}return r}getSection(e){let r=this.repos.hologram.getSection(e);if(!r)return null;try{return JSON.parse(r.data)}catch(i){return nt.error({repoPath:this.repoPath,section:e,error:i},"Failed to parse section"),null}}computeGravityZones(){nt.debug({repoPath:this.repoPath},"Computing gravity zones from import graph");let e=this.repos.files.getAllPaths(),r=new Map;for(let t of e){let o=Dt(t,this.repos);if(o.layer==="Test"||o.layer==="Unknown")continue;let s=this.repos.exports.findByFile(t);if(s.length===0)continue;let a=this.repos.imports.countDependents(t),c=this.repos.imports.countByFile(t),l=a*2+c;if(l>0){let u=s.find(p=>p.kind!=="TsTypeAliasDeclaration"&&p.kind!=="TsInterfaceDeclaration")||s[0],d=`${t}::${u.name}`;r.set(d,{symbol:u.name,filePath:t,inDegree:a,outDegree:c,gravity:l})}}let i=Array.from(r.values()).sort((t,o)=>o.gravity-t.gravity).slice(0,50);return nt.info({repoPath:this.repoPath,count:i.length},"Gravity zones computed"),i}isInitialized(){return this.repos.hologram.getAllSections().length>0}clear(){this.repos.hologram.deleteAll(),nt.info({repoPath:this.repoPath},"Hologram cleared")}}});var tb={};He(tb,{GraphExporterService:()=>la});var eb,la,zm=me(()=>{"use strict";Q();V();eb=$.child({module:"graph-exporter"}),la=class{constructor(e){this.repoPath=e;this.repos=C.getInstance(e)}repos;async generateGraph(e={}){let{includeCompleted:r=!0,format:i="mermaid",focusMissionId:t,depth:o=10,limit:s=100}=e;eb.info({focusMissionId:t,depth:o,format:i,includeCompleted:r},"Generating mission graph");let a=this.buildMissionTree(t,r,o,s);return i==="json"?JSON.stringify(a,null,2):this.generateMermaidDiagram(a)}buildMissionTree(e,r,i,t){let o;if(e){let c=this.repos.missions.findById(e);o=c?[c]:[]}else o=this.repos.missions.findAll().filter(l=>!l.parent_id),r||(o=o.filter(l=>l.status!=="completed"));let s=0,a=[];for(let c of o){if(s>=t)break;let l=this.buildNode(c,r,i,1,{count:s,max:t});l&&(a.push(l),s+=this.countNodes(l))}return a}buildNode(e,r,i,t,o){if(t>i||o.count>=o.max)return null;let s;if(e.strategy_graph)try{let u=JSON.parse(e.strategy_graph);s=this.parseStrategySteps(u)}catch(u){eb.debug({missionId:e.id,err:u},"Failed to parse strategy graph")}let a={id:e.id,name:e.name,status:e.status,goal:e.goal,branch:e.git_branch||void 0,children:[],steps:s},c=this.repos.missions.findByParentId(e.id),l=r?c:c.filter(u=>u.status!=="completed");for(let u of l){if(o.count>=o.max)break;let d=this.buildNode(u,r,i,t+1,o);d&&(a.children.push(d),o.count++)}return a}parseStrategySteps(e){let r=[];return Array.isArray(e)?e.map((i,t)=>({id:i.id||`step-${t}`,description:i.description||i.content||i.name||`Step ${t+1}`,status:i.status,dependencies:i.dependencies||i.deps})):e.steps&&Array.isArray(e.steps)?this.parseStrategySteps(e.steps):typeof e=="object"?Object.entries(e).map(([i,t])=>({id:i,description:t.description||t.content||i,status:t.status,dependencies:t.dependencies||t.deps})):r}countNodes(e){let r=1;for(let i of e.children)r+=this.countNodes(i);return r}generateMermaidDiagram(e){let r=["graph TD"];for(let i of e)this.addMermaidNode(i,r);return r.join(`
|
|
476
|
+
`)}addMermaidNode(e,r,i){let t=`M${e.id}`,o=this.getStatusIcon(e.status),s=this.getStatusClass(e.status),a=`${o} ${e.name}`;if(r.push(` ${t}["${this.escapeMermaid(a)}"]:::${s}`),i&&r.push(` ${i} --> ${t}`),e.steps&&e.steps.length>0&&e.steps.length<=10)for(let c of e.steps){let l=`S${e.id}_${c.id}`,u=c.status||"pending",d=this.getStatusIcon(u),p=this.getStatusClass(u),f=`${d} ${c.description}`;if(r.push(` ${l}["${this.escapeMermaid(f)}"]:::${p}`),r.push(` ${t} -.-> ${l}`),c.dependencies&&c.dependencies.length>0)for(let m of c.dependencies){let h=`S${e.id}_${m}`;r.push(` ${h} --> ${l}`)}}for(let c of e.children)this.addMermaidNode(c,r,t);i||(r.push(""),r.push(" classDef completed fill:#90EE90,stroke:#2E8B57,stroke-width:2px"),r.push(" classDef inProgress fill:#87CEEB,stroke:#4682B4,stroke-width:2px"),r.push(" classDef planned fill:#FFE4B5,stroke:#DAA520,stroke-width:2px"),r.push(" classDef suspended fill:#D3D3D3,stroke:#808080,stroke-width:2px"),r.push(" classDef failed fill:#FFB6C1,stroke:#DC143C,stroke-width:2px"),r.push(" classDef pending fill:#FFF8DC,stroke:#B8860B,stroke-width:1px"))}getStatusIcon(e){return{completed:"\u2713","in-progress":"\u26A1",planned:"\u{1F4CB}",suspended:"\u23F8",failed:"\u2717",pending:"\u25CB",verifying:"\u{1F50D}"}[e]||"\u25CB"}getStatusClass(e){return{completed:"completed","in-progress":"inProgress",planned:"planned",suspended:"suspended",failed:"failed",pending:"pending",verifying:"inProgress"}[e]||"pending"}escapeMermaid(e){return e.replace(/"/g,"#quot;").replace(/\n/g," ").replace(/\[/g,"#91;").replace(/]/g,"#93;").slice(0,100)}}});import Qb from"fast-glob";import Gm from"fs";import e_ from"ignore";import Jm from"path";var bi=["**/node_modules/**","**/.git/**","**/dist/**","**/build/**","**/vendor/**","**/.next/**","**/.cache/**","**/coverage/**","**/*.min.js"],Bm=["**/*.{ts,tsx,yaml,yml,php,py,go}","**/*.prisma","**/*.{graphql,gql}","**/Dockerfile*","**/.env*","**/package.json","**/lerna.json","**/turbo.json","**/pnpm-workspace.yaml"],ue={MAX_DEPTH:10,MIN_DEPTH:1,MAX_LIMIT:500,MIN_LIMIT:1,MAX_QUERY_LENGTH:500,DEFAULT_DEPTH:3,DEFAULT_LIMIT:10},Ee={FILTERED_QUERY_LIMIT_MULTIPLIER:3,SCORE_BASE:1e3,EXACT_MATCH_BONUS:500,RECENT_FILE_BOOST:80,OLDER_FILE_BOOST:30,RECENT_FILE_THRESHOLD_DAYS:7,OLDER_FILE_THRESHOLD_DAYS:30,FUZZY_MATCH_LIMIT:30,ENABLE_LEXICAL_SCORING:process.env.ENABLE_LEXICAL_SCORING!=="false",LEXICAL_WEIGHT:parseFloat(process.env.LEXICAL_WEIGHT??String(.4)),GRAVITY_STRUCTURAL_WEIGHT:.5},qa={SECONDS_PER_DAY:86400,SECONDS_PER_YEAR:31536e3},_i={DEFAULT_CONCURRENCY:parseInt(process.env.INDEX_CONCURRENCY??String(5),10)};async function Ka(n,e=[]){let r=e_(),i=Jm.join(n,".gitignore");return Gm.existsSync(i)&&r.add(Gm.readFileSync(i,"utf8")),e.length>0&&r.add(e),(await Qb(Bm,{cwd:n,absolute:!0,ignore:bi,stats:!0})).filter(s=>{let a=Jm.relative(n,s.path);return!r.ignores(a)}).map(s=>({path:s.path,mtime:s.stats.mtimeMs}))}import df from"fs";function Vm(n){let e=n.split(`
|
|
477
|
+
`),r=[],i=0;for(let t of e)r.push(i),i+=t.length+1;return r}function de(n,e){for(let r=0;r<e.length;r++)if(e[r+1]>n||r===e.length-1)return r+1;return 1}function xi(n,e){return e.slice(0,n).toString("utf8").length}function qm(n){if(n.toString("utf8").length===n.length)return i=>i;let r=new Map;return i=>{let t=r.get(i);return t===void 0&&(t=n.slice(0,i).toString("utf8").length,r.set(i,t)),t}}function Km(n,e,r){let i=n.start-e,t=n.end-e;return i<0||t>r.length?"":r.slice(i,t).toString("utf8")}function Ym(n){let e=[],r=/\/\*\*[\s\S]*?\*\//g,i;for(;(i=r.exec(n))!==null;)e.push({start:i.index,end:i.index+i[0].length,text:i[0]});return e}function ot(n,e,r){for(let i of e){if(i.start===n)return i.text;if(i.start>n&&i.start<n+50){let t=r.substring(n,i.start);if(/^\s*$/.test(t))return i.text}if(i.end<=n&&i.end>n-50){let t=r.substring(i.end,n);if(/^\s*$/.test(t))return i.text}}return""}function Xm(n){if(!n)return"";let r=n.replace(/\/\*\*|\*\/|\*/g,"").trim().split(`
|
|
478
|
+
`)[0].trim();return r.length>200?r.substring(0,197)+"...":r}function Si(n,e,r){let i=n.toLowerCase(),t=e.toLowerCase();return i.includes("components/")||i.endsWith(".tsx")?"Component":i.startsWith("use")||t.startsWith("use")?"Hook":i.includes("models/")||t.endsWith("model")?"Model":i.includes("services/")||i.includes("controllers/")||i.includes("handlers/")||i.includes("mcp/")||i.endsWith("service.ts")||i.endsWith("controller.ts")||i.endsWith("handler.ts")||t.endsWith("service")||t.endsWith("controller")||t.endsWith("handler")?"Service":i.includes("repositories/")||i.includes("repos/")||i.endsWith("repository.ts")||i.endsWith("repo.ts")||t.endsWith("repository")||t.endsWith("repo")?"Repository":r==="TsInterfaceDeclaration"||r==="TsTypeAliasDeclaration"?"Type Definition":"Other"}function _r(n){let e=[];return/\b(fetch|axios|superagent|got)\s*\(|import\s+.*\b(http|https|node-fetch)\b/i.test(n)&&e.push("Network"),(/\b(knex|prisma|typeorm|mongoose|sequelize|pg|mysql|sqlite3)\b/i.test(n)||/\b(SELECT\s+.*FROM|INSERT\s+INTO|UPDATE\s+.*SET|DELETE\s+FROM)\b/i.test(n)||/\.query\s*\(|\.execute\s*\(/i.test(n)&&/db|database|client|pool/i.test(n))&&e.push("Database"),(/\bfs\./i.test(n)||/\b(readFileSync|writeFileSync|readFile|writeFile|readdir)\b/.test(n)||/import\s+.*\bfs\b/.test(n))&&e.push("File System"),(/\b(localStorage|sessionStorage|indexedDB)\./.test(n)||/\bdocument\.cookie\b/.test(n))&&e.push("Browser Storage"),e}function We(n,e){if(!n)return"";let r=n.trimStart();for(;/^\/\*[\s\S]*?\*\//.test(r);)r=r.replace(/^\/\*[\s\S]*?\*\/\s*/,"");for(;/^\/\/[^\n]*\n/.test(r);)r=r.replace(/^\/\/[^\n]*\n\s*/,"");if(r=r.replace(/^(?:import[^\n]*\n)+/,"").replace(/^(?:export\s+\{[^}]*\}\s+from\s+['"][^'"]+['"];?\s*\n?)+/,"").trim(),e==="TsInterfaceDeclaration"||e==="TsTypeAliasDeclaration")return r;let i=0,t=0,o=r.length;for(let a=0;a<r.length;a++){let c=r[a];if(c==="(")i++;else if(c===")")i--;else if(c==="<")t++;else if(c===">")t--;else if(c==="{"){if(i===0&&t===0){o=a;break}}else if(c===";"&&i===0&&t===0){o=a;break}else if(c==="="&&r[a+1]===">"&&i===0&&t===0){o=a+2;break}}let s=r.substring(0,o).trim();return s.length>500?s.slice(0,497)+"...":s}function Qm(n){let e=[];for(let r of n)r.type==="ImportDeclaration"&&e.push({module:r.source.value,name:r.specifiers.map(i=>i.type==="ImportDefaultSpecifier"?"default":i.type==="ImportNamespaceSpecifier"?"*":i.local?.value||i.imported?.value||"*").join(", ")}),r.type==="ExportAllDeclaration"&&e.push({module:r.source.value,name:"*"}),r.type==="ExportNamedDeclaration"&&r.source&&e.push({module:r.source.value,name:r.specifiers.map(i=>i.type==="ExportSpecifier"?i.orig.value:"*").join(", ")});return e}function t_(n,e){for(let r of n){if((r.type==="FunctionDeclaration"||r.type==="ClassDeclaration")&&(r.identifier?.value||r.id?.value)===e)return r.span;if(r.type==="VariableDeclaration"){for(let i of r.declarations)if(i.id?.type==="Identifier"&&i.id.value===e)return i.span||r.span}if((r.type==="TsTypeAliasDeclaration"||r.type==="TsInterfaceDeclaration"||r.type==="TsEnumDeclaration")&&(r.id?.value||r.identifier?.value)===e)return r.span;if(r.type==="ExportDeclaration"){let i=r.declaration;if(!i)continue;if((i.type==="FunctionDeclaration"||i.type==="ClassDeclaration")&&(i.identifier?.value||i.id?.value)===e)return i.span||r.span;if(i.type==="VariableDeclaration"){for(let t of i.declarations)if(t.id?.type==="Identifier"&&t.id.value===e)return t.span||i.span||r.span}}}return null}function ef(n,e,r,i,t,o,s,a,c){let l=c??(d=>xi(d,r)),u=[];for(let d of n){if(d.type==="ExportDeclaration"){let p=d.declaration,f=p.type,m="";f==="VariableDeclaration"?m=p.declarations.map(x=>x.id.value).join("",""):m=p.id?.value||p.identifier?.value||"anonymous";let h=l(d.span.start-e),b=l(d.span.end-e),v=ot(h,o,i),g=a(d.span),_=[];if(d.type==="ExportDeclaration"&&(f==="ClassDeclaration"||f==="ClassExpression")){let x=p.body||[];for(let k of x)if(k.type==="ClassMethod"||k.type==="ClassProperty"){let S=k.key.value;if(!S)continue;let P=l(k.span.start-e),R=l(k.span.end-e),U=a(k.span),E=ot(P,o,i);_.push({name:S,kind:k.type,signature:We(U,k.type),line:de(P,t),endLine:de(R,t),doc:E,classification:k.type==="ClassMethod"?"Method":"Property",capabilities:"[]"})}}else if(f==="FunctionDeclaration"&&p.body?.type==="BlockStatement")_=Ya(p.body.stmts,e,r,i,t,o,a,l);else if(f==="VariableDeclaration"){for(let x of p.declarations)if(x.init&&(x.init.type==="ArrowFunctionExpression"||x.init.type==="FunctionExpression")&&x.init.body?.type==="BlockStatement"){_=Ya(x.init.body.stmts,e,r,i,t,o,a,l);break}}u.push({name:m,kind:f,signature:We(g,f),line:de(h,t),endLine:de(b,t),doc:v,classification:Si(s,m,f),capabilities:JSON.stringify(_r(g)),members:_})}if(d.type==="ExportNamedDeclaration"){for(let p of d.specifiers)if(p.type==="ExportSpecifier"){let f=p.orig.value,m=p.exported?.value||f,b=t_(n,f)||d.span,v=l(b.start-e),g=l(b.end-e),_=ot(v,o,i);u.push({name:m,kind:"ExportSpecifier",signature:`export { ${f} }`,line:de(v,t),endLine:de(g,t),doc:_,classification:"Export mapping",capabilities:"[]"})}}if(d.type==="ExportDefaultDeclaration"){let p=l(d.span.start-e),f=l(d.span.end-e),m=ot(p,o,i),h=a(d.span),b=[];if(d.decl.type==="ClassExpression"||d.decl.type==="ClassDeclaration"){let v=d.decl.body||[];for(let g of v)if(g.type==="ClassMethod"||g.type==="ClassProperty"){let _=g.key.value;if(!_)continue;let x=l(g.span.start-e),k=l(g.span.end-e),S=a(g.span),P=ot(x,o,i);b.push({name:_,kind:g.type,signature:We(S,g.type),line:de(x,t),endLine:de(k,t),doc:P,classification:g.type==="ClassMethod"?"Method":"Property",capabilities:"[]"})}}else(d.decl.type==="FunctionExpression"||d.decl.type==="FunctionDeclaration"||d.decl.type==="ArrowFunctionExpression")&&d.decl.body?.type==="BlockStatement"&&(b=Ya(d.decl.body.stmts,e,r,i,t,o,a,l));u.push({name:"default",kind:"DefaultExport",signature:We(h,"DefaultExport"),line:de(p,t),endLine:de(f,t),doc:m,classification:"Default Export",capabilities:JSON.stringify(_r(h)),members:b})}if(d.type==="ExportAllDeclaration"){let p=l(d.span.start-e),f=l(d.span.end-e),m=d.source.value,h=ot(p,o,i);u.push({name:"*",kind:"ExportAllDeclaration",signature:`export * from "${m}"`,line:de(p,t),endLine:de(f,t),doc:h,classification:"Re-export",capabilities:"[]"})}}return u}function Ya(n,e,r,i,t,o,s,a){let c=[];for(let l of n){if(l.type==="VariableDeclaration")for(let u of l.declarations){let d=[],p=m=>{if(m.type==="Identifier")d.push({name:m.value,span:m.span});else if(m.type==="ArrayPattern")for(let h of m.elements)h&&p(h);else if(m.type==="ObjectPattern")for(let h of m.properties)h.type==="AssignmentPatternProperty"?d.push({name:h.key.value,span:h.span}):h.type==="KeyValuePatternProperty"&&p(h.value)};p(u.id);let f=u.init&&(u.init.type==="ArrowFunctionExpression"||u.init.type==="FunctionExpression");for(let m of d){let h=f?u.init.span||u.span||m.span:u.span||m.span,b=f?u.init.type:"VariableDeclaration",v=f?"Internal Function":"Internal Variable",g=a(h.start-e),_=a(h.end-e),x=s(h),k=ot(g,o,i);c.push({name:m.name,kind:b,signature:We(x,b),line:de(g,t),endLine:de(_,t),doc:k,classification:v,capabilities:"[]"})}}if(l.type==="FunctionDeclaration"){let u=l.identifier?.value||l.ident?.value||"anonymous",d=a(l.span.start-e),p=a(l.span.end-e),f=s(l.span),m=ot(d,o,i);c.push({name:u,kind:"FunctionDeclaration",signature:We(f,"FunctionDeclaration"),line:de(d,t),endLine:de(p,t),doc:m,classification:"Internal Function",capabilities:"[]"})}if(l.type==="ReturnStatement"&&l.argument?.type==="ObjectExpression")for(let u of l.argument.properties){let d="",p=u.span||u.key?.span||u.ident?.span;if(u.type==="KeyValueProperty"){let f=u.key;d=f?.value||f?.raw||(f?.type==="Identifier"?f.value:"")}else u.type==="MethodProperty"?d=u.key?.value||u.key?.raw||"":u.type==="ShorthandProperty"?d=u.ident?.value||"":u.type==="Identifier"&&(d=u.value||"");if(d&&p){let f=a(p.start-e),m=a(p.end-e),h=s(p),b=ot(f,o,i);c.push({name:d,kind:"ReturnProperty",signature:We(h,"ReturnProperty"),line:de(f,t),endLine:de(m,t),doc:b,classification:"Return Member",capabilities:"[]"})}}if(l.type==="ExpressionStatement"&&l.expression.type==="CallExpression"){let u=l.expression;if(u.callee.type==="MemberExpression"&&(u.callee.property?.value==="on"||u.callee.property?.value==="once")){let d=u.arguments[0]?.expression?.value,p=u.arguments[1]?.expression;if(d&&p&&(p.type==="ArrowFunctionExpression"||p.type==="FunctionExpression")){let f=a(p.span.start-e),m=a(p.span.end-e),h=s(p.span);c.push({name:`on:${d}`,kind:p.type,signature:We(h,p.type),line:de(f,t),endLine:de(m,t),doc:"",classification:"Event Handler",capabilities:"[]"})}}if(u.callee.type==="Identifier"&&u.callee.value==="addRoute"&&u.arguments.length>=3){let d=u.arguments[2].expression;if(d.type==="StringLiteral"){let p=d.value,f=a(u.span.start-e),m=a(u.span.end-e),h=s(u.span);c.push({name:p,kind:"HTTP Route",signature:We(h,"HTTP Route"),line:de(f,t),endLine:de(m,t),doc:"",classification:"Service Boundary",capabilities:JSON.stringify({path:p})})}}}}return c}function tf(n,e,r,i,t,o){let s=o??(l=>xi(l,r)),a=[];function c(l){if(!(!l||typeof l!="object")){if(l.type==="CallExpression"){let u=n_(l);if(u){let d=s(l.span.start-e);a.push({...u,line:de(d,i),snippet:t(l.span)})}}for(let u of Object.keys(l)){if(u==="span")continue;let d=l[u];Array.isArray(d)?d.forEach(c):typeof d=="object"&&c(d)}}}return n.forEach(c),a}function n_(n){let{callee:e,arguments:r}=n;if(!r||r.length===0)return null;if(e.type==="Identifier"&&e.value,e.type==="Identifier"&&e.value==="addRoute"&&r.length>=3){let i=r[2].expression;if(i.type==="StringLiteral")return{type:"api_route",name:i.value,direction:"consume"}}if(e.type==="MemberExpression"&&e.property?.type==="Identifier"){let i=e.property.value;if(i==="emit"&&r[0].expression.type==="StringLiteral")return{type:"socket_event",name:r[0].expression.value,direction:"produce"};if(i==="on"&&r[0].expression.type==="StringLiteral")return{type:"socket_event",name:r[0].expression.value,direction:"consume"};if(["get","post","put","delete","patch"].includes(i)&&r[0].expression.type==="StringLiteral"){let o=r[0].expression.value,s=e.object.type==="Identifier"?e.object.value:"";if(["axios","http","request","appApi","restApi","adminApi","client"].includes(s))return{type:"api_route",name:o,direction:"produce"};if(o.startsWith("/"))return{type:"api_route",name:o,direction:"consume"}}}return e.type==="Identifier"&&e.value==="fetch"&&r[0].expression.type==="StringLiteral"?{type:"api_route",name:r[0].expression.value,direction:"produce"}:null}function xr(n){let{classification:e,capabilities:r,exports:i,fileName:t}=n,o={Network:"API integration",Database:"data persistence","File System":"file I/O operations","Browser Storage":"client-side storage"},s=r.map(m=>o[m]).filter(Boolean).join(" and "),c={Component:(m,h)=>{let b=h.find(g=>g.kind==="FunctionDeclaration"||g.kind==="ClassDeclaration")?.name,v=b?`React component: ${b}`:"React UI component";return m?`${v} with ${m}`:v},Hook:(m,h)=>{let b=h.find(g=>g.name.startsWith("use"))?.name,v=b?`Custom React hook: ${b}`:"Custom React hook";return m?`${v} for ${m}`:v},Service:(m,h)=>{let v=`Service layer: ${h[0]?.name||"Service"}`;return m?`${v} handling ${m}`:v},Repository:(m,h)=>`Data repository: ${h[0]?.name||"Repository"} for ${m||"data access"}`,"Type Definition":(m,h)=>`Type definitions: ${h.slice(0,3).map(v=>v.name).join("")}${h.length>3?"...":""}`,Model:(m,h)=>`Data model: ${h[0]?.name||"Model"}`,"HTTP Route":(m,h)=>{let b=h.filter(v=>v.classification==="Service Boundary");return b.length>0?`API endpoints: ${b.slice(0,3).map(v=>v.name).join("")}`:"API route handler"},"Micro IR (PHP)":(m,h)=>{let b=h.some(g=>g.classification==="Service Boundary"),v=h.find(g=>g.kind==="ClassDeclaration")?.name;return b?"PHP controller with API routes":v?`PHP class: ${v}`:"PHP module"},"Micro IR (Python)":(m,h)=>{let b=h.some(g=>g.classification==="Service Boundary"),v=h.find(g=>g.kind==="ClassDeclaration")?.name;return b?"Python API handler with routes":v?`Python class: ${v}`:"Python module"},"Micro IR (Go/TS) ":(m,h)=>{let b=h.some(g=>g.kind==="TypeDeclaration"),v=h.filter(g=>g.kind==="FunctionDeclaration");return b&&v.length>0?`Go package: types and ${v.length} function(s)`:b?"Go package: type definitions":v.length>0?`Go package: ${v[0].name} and ${v.length} function(s)`:"Go module"},"Micro IR (Rust/TS) ":(m,h)=>{let b=h.find(_=>_.kind==="TraitDeclaration")?.name,v=h.find(_=>_.kind==="StructDeclaration")?.name,g=h.filter(_=>_.kind==="FunctionDeclaration");return b?m.includes("Rust trait")?`Rust module: trait ${b}`:`Rust module: ${b}`:v?`Rust module: struct ${v}`:g.length>0?`Rust module: ${g.length} function(s)`:"Rust module"}}[e];if(c)return c(s,i);if(i.length===0)return t?`Module: ${t}`:"Module with no exports";let l=i.filter(m=>m.kind==="FunctionDeclaration"),u=i.filter(m=>m.kind==="ClassDeclaration"),d=i.filter(m=>m.kind==="TsInterfaceDeclaration"||m.kind==="TsTypeAliasDeclaration"),p=[];if(u.length>0&&p.push(`Class: ${u[0].name}`),l.length>0){let m=l.slice(0,2).map(h=>h.name).join("");p.push(`Functions: ${m}`)}d.length>0&&p.push(`Types: ${d.length}`);let f=p.length>0?p.join(" | "):`Module with ${i.length} export(s)`;return s?`${f} \u2014 ${s}`:f}function nf(n){let e=new Set;function r(i){if(!(!i||typeof i!="object")){i.typeAnnotation&&he(i.typeAnnotation,e),(i.type==="TsTypeReference"||i.type==="TsTypeAnnotation")&&he(i,e);for(let t in i){if(t==="span"||t==="comments"||t==="interpreter")continue;let o=i[t];o&&typeof o=="object"&&(Array.isArray(o)?o.forEach(r):r(o))}}}return n.forEach(i=>r(i)),Array.from(e)}function he(n,e){if(n){if(n.type==="TsTypeAnnotation"){he(n.typeAnnotation,e);return}n.type==="TsTypeReference"&&(n.typeName?.type==="Identifier"&&e.add(n.typeName.value),n.typeName?.type==="TsQualifiedName"&&rf(n.typeName,e),n.typeParams&&he(n.typeParams,e)),n.type==="TsArrayType"&&he(n.elementType,e),n.type==="TsUnionType"&&n.types?.forEach(r=>he(r,e)),n.type==="TsIntersectionType"&&n.types?.forEach(r=>he(r,e)),n.type==="TsTupleType"&&n.elemTypes?.forEach(r=>he(r.ty,e)),(n.type==="TsFunctionType"||n.type==="TsConstructorType")&&(n.params?.forEach(r=>he(r.typeAnnotation,e)),n.typeAnnotation&&he(n.typeAnnotation,e)),n.type==="TsTypeParameterDeclaration"&&n.params?.forEach(r=>{r.constraint&&he(r.constraint,e),r.default&&he(r.default,e)}),n.type==="TsTypeParameterInstantiation"&&n.params?.forEach(r=>he(r,e)),n.type==="TsMappedType"&&n.typeAnnotation&&he(n.typeAnnotation,e),n.type==="TsIndexedAccessType"&&(he(n.objectType,e),he(n.indexType,e)),n.type==="TsConditionalType"&&(he(n.checkType,e),he(n.extendsType,e),he(n.trueType,e),he(n.falseType,e)),n.type==="TsTypeLiteral"&&n.members?.forEach(r=>{r.typeAnnotation&&he(r.typeAnnotation,e)})}}function rf(n,e){n.type==="TsQualifiedName"?(n.left&&rf(n.left,e),n.right?.value&&e.add(n.right.value)):n.type==="Identifier"&&e.add(n.value)}import mf from"path";import Qa from"path";V();$i();import cf from"path";import p_ from"fs";import{fileURLToPath as d_}from"url";import*as qt from"web-tree-sitter";var gE=cf.dirname(d_(import.meta.url)),af=$.child({module:"parser:tree-sitter"}),wi=class{parser=null;languages=new Map;async ensureInitialized(){if(this.parser)return;let e=qt.Parser||qt;await e.init(),this.parser=new e}async getLanguage(e){if(this.languages.has(e))return this.languages.get(e);let r=Sn("resources","grammars",`tree-sitter-${this.getLangName(e)}.wasm`);if(!p_.existsSync(r))return af.warn({grammarPath:r},"Grammar WASM not found"),null;try{let i=await qt.Language.load(r);return this.languages.set(e,i),i}catch(i){return af.error({err:i,ext:e},"Failed to load language grammar"),null}}getLangName(e){switch(e.toLowerCase()){case".php":return"php";case".py":return"python";case".go":return"go";case".rs":return"rust";default:return""}}getQueries(e){switch(e.toLowerCase()){case".php":return`
|
|
479
|
+
(function_definition name: (name) @name) @func
|
|
480
|
+
(class_declaration name: (name) @name) @class
|
|
481
|
+
(interface_declaration name: (name) @name) @interface
|
|
482
|
+
(trait_declaration name: (name) @name) @trait
|
|
483
|
+
(method_declaration name: (name) @name) @method
|
|
484
|
+
(namespace_use_declaration (namespace_use_clause (qualified_name) @name)) @import
|
|
485
|
+
`;case".py":return`
|
|
486
|
+
(function_definition name: (identifier) @name) @func
|
|
487
|
+
(class_definition name: (identifier) @name) @class
|
|
488
|
+
(import_statement name: (dotted_name) @name) @import
|
|
489
|
+
(import_from_statement module_name: (dotted_name) @name) @import
|
|
490
|
+
`;case".go":return`
|
|
491
|
+
(function_declaration name: (identifier) @name) @func
|
|
492
|
+
(method_declaration name: (identifier) @name) @func
|
|
493
|
+
(type_declaration (type_spec name: (identifier) @name)) @type
|
|
494
|
+
(import_spec path: (interpreted_string_literal) @name) @import
|
|
495
|
+
`;case".rs":return`
|
|
496
|
+
(function_item name: (identifier) @name) @func
|
|
497
|
+
(struct_item name: (_type_identifier) @name) @struct
|
|
498
|
+
(enum_item name: (_type_identifier) @name) @enum
|
|
499
|
+
(trait_item name: (_type_identifier) @name) @trait
|
|
500
|
+
(type_item name: (_type_identifier) @name) @type
|
|
501
|
+
(use_declaration argument: (_) @name) @import
|
|
502
|
+
`;default:return""}}mapKind(e,r){if(e==="import")return"ImportDeclaration";if(r===".php"){if(e==="func")return"FunctionDeclaration";if(e==="class")return"ClassDeclaration";if(e==="interface")return"InterfaceDeclaration";if(e==="trait")return"TraitDeclaration";if(e==="method")return"MethodDeclaration"}if(r===".py"){if(e==="func")return"FunctionDeclaration";if(e==="class")return"ClassDeclaration"}if(r===".go"){if(e==="func")return"FunctionDeclaration";if(e==="type")return"TypeDeclaration"}if(r===".rs"){if(e==="func")return"FunctionDeclaration";if(e==="struct")return"StructDeclaration";if(e==="enum")return"EnumDeclaration";if(e==="trait")return"TraitDeclaration";if(e==="type")return"TypeDeclaration"}return"Unknown"}mapClassification(e){return e==="import"?"Dependency":e==="func"||e==="method"?"Function":e==="class"||e==="interface"||e==="trait"||e==="struct"||e==="enum"||e==="type"?"Class":"Other"}async parse(e,r){await this.ensureInitialized();let i=cf.extname(e).toLowerCase(),t=await this.getLanguage(i);if(!t||!this.parser)return[];this.parser.setLanguage(t);let o=this.parser.parse(r),s=r.split(`
|
|
503
|
+
`),a=this.getQueries(i);if(!a)return[];let l=new qt.Query(t,a).matches(o.rootNode),u=[];for(let d of l){let p=d.captures.find(h=>h.name==="name")?.node,f=d.captures[0].node,m=d.captures[0].name;if(p){let h=f.startPosition.row+1,b=f.endPosition.row+1,v=s[f.startPosition.row].trim();u.push({name:p.text,kind:this.mapKind(m,i),classification:this.mapClassification(m),signature:v,line:h,endLine:b,doc:"",capabilities:"{}"})}}return u}};var ki=class{parse(e,r=!1){let i=[],t=[],o=e.split(`
|
|
504
|
+
`),s="",a="",c=0,l=0,u=-1,d=-1,p=[],f=[],m=!1,h=r?"api":"",b="",v=/^namespace\s+([a-zA-Z0-9_\\]+);/,g=/^(?:abstract\s+)?(?:readonly\s+)?class\s+([a-zA-Z0-9_]+)/,_=/^interface\s+([a-zA-Z0-9_]+)/,x=/^trait\s+([a-zA-Z0-9_]+)/,k=/^(?:public|protected|private|static|\s)*function\s+([a-zA-Z0-9_]+)\s*\(/,S=/^use\s+([a-zA-Z0-9_\\]+)(?:\s+as\s+([a-zA-Z0-9_]+))?;/,P=/^#\[([a-zA-Z0-9_\\]+)(?:\((.*)\))?\]/,R=/(?:Route::|router->|\$router->|->)(get|post|put|delete|patch|match)\s*\(\s*(?:uri\s*:\s*)?['"]([^'"]+)['"]/,U=/->prefix\s*\(\s*(?:prefix\s*:\s*)?['"]([^'"]+)['"]/;for(let E=0;E<o.length;E++){let I=o[E].trim();if(!I)continue;let N=(I.match(/{/g)||[]).length,j=(I.match(/}/g)||[]).length,D=l;if(l+=N-j,a&&l<=d){let q=i.find(B=>B.name===a&&B.line===c);q&&(q.endLine=E+1),a="",d=-1}if(s&&l<=u){let q=i.find(B=>B.name===s&&(B.kind==="ClassDeclaration"||B.kind==="TraitDeclaration"||B.kind==="InterfaceDeclaration"));q&&(q.endLine=E+1),s="",u=-1}let z=I.match(U);if(z&&(h=z[1]),I.includes("});")&&(h=""),I.startsWith("/**")){m=!0,f=[];continue}if(m){I.endsWith("*/")?m=!1:f.push(I.replace(/^\*\s?/,""));continue}let H=I.match(P);if(H){p.push(H[1]);continue}let G=I.match(v);if(G){b=G[1]||"",p=[],f=[];continue}let W=I.match(g);if(W){s=W[1],u=l-N;let q={attributes:p};b&&(q.namespace=b),i.push({name:s,kind:"ClassDeclaration",classification:"Class",signature:`class ${s}`,line:E+1,endLine:E+1,doc:f.join(`
|
|
505
|
+
`).trim(),capabilities:JSON.stringify(q),members:[]}),p=[],f=[];continue}let Z=I.match(_);if(Z){let q=Z[1];s=q,u=l-N,i.push({name:q,kind:"InterfaceDeclaration",classification:"Interface",signature:`interface ${q}`,line:E+1,endLine:E+1,doc:f.join(`
|
|
506
|
+
`).trim(),capabilities:JSON.stringify({attributes:p}),members:[]}),p=[],f=[];continue}let Y=I.match(x);if(Y){let q=Y[1];s=q,u=l-N,i.push({name:q,kind:"TraitDeclaration",classification:"Trait",signature:`trait ${q}`,line:E+1,endLine:E+1,doc:f.join(`
|
|
507
|
+
`).trim(),capabilities:JSON.stringify({attributes:p}),members:[]}),p=[],f=[];continue}let J=I.match(k);if(J){let q=J[1],B=!!s;a=q,c=E+1,d=l-N;let Se=!1,be={};for(let xe of p)xe.toLowerCase().includes("route")&&(Se=!0,be={type:"route",method:"GET",path:"/"});let Ne=f.join(`
|
|
508
|
+
`).trim();if(Se){let xe=be.path||"/";i.push({name:xe,kind:"HTTP Route",classification:"Service Boundary",signature:`Function: ${q}`,line:E+1,endLine:E+1,doc:Ne,capabilities:JSON.stringify({type:"route",handler:s?`${s}@${q}`:q,...be})}),t.push({type:"api_route",name:xe,direction:"consume",line:E+1,snippet:I})}i.push({name:q,kind:B?"MethodDeclaration":"FunctionDeclaration",classification:B?"Method":"Function",signature:`${B?s+":: ":""}${q}`,line:E+1,endLine:E+1,doc:Ne,capabilities:JSON.stringify({attributes:p})}),p=[],f=[];continue}let ne=I.match(S);if(ne){let q=ne[1]||"",B=ne[2]||q.split("\\").pop()||"";i.push({name:B,kind:"ImportSpecifier",classification:"Dependency",signature:`use ${q}`,line:E+1,endLine:E+1,doc:"",capabilities:JSON.stringify({type:"use",namespace:q})}),p=[],f=[];continue}let ce=I.match(R);if(ce){let q=ce[1].toUpperCase(),B=ce[2];if(I.includes("Route::")||I.includes("router->")||I.includes("action")||I.includes(",")&&!I.includes("view(")){if(h){let ge=h.startsWith("/")?h:`/${h}`,vr=B.startsWith("/")?B:`/${B}`;B=(ge+vr).replace(/\/+/g,"/")}let be=null,Ne=I.match(/\[\s*([a-zA-Z0-9_]+)::class\s*,\s*['"]([^'"]+)['"]\s*\]/);if(Ne)be=`${Ne[1]}@${Ne[2]}`;else if(I.includes("::class")){let ge=I.match(/([a-zA-Z0-9_]+)::class/);ge&&(be=ge[1])}let xe=I;!I.endsWith(");")&&E+1<o.length&&(xe+=" "+o[E+1].trim(),!xe.endsWith(");")&&E+2<o.length&&(xe+=" "+o[E+2].trim())),i.push({name:B,kind:"HTTP Route",classification:"Service Boundary",signature:xe,line:E+1,endLine:E+1,doc:"",capabilities:JSON.stringify({type:"route",method:q,path:B,handler:be})}),t.push({type:"api_route",name:B,direction:"consume",line:E+1,snippet:xe,method:q,url:B}),f=[];continue}}let pe=/(?:\$client|client|Http)::(get|post|put|delete|patch|request)\s*\(\s*(?:url\s*:\s*)?([^,)]+)|(?:\$client|client)->(request|get|post|put|delete|patch)\s*\(\s*([^,)]+)/,ie=I.match(pe);if(ie){let q=(ie[1]||ie[3]).toUpperCase(),B=(ie[2]||ie[4]).trim();(B.startsWith("'")&&B.endsWith("'")||B.startsWith('"')&&B.endsWith('"'))&&(B=B.substring(1,B.length-1)),t.push({type:"api_route",name:B,direction:"produce",line:E+1,snippet:I,method:q,url:B})}!I.startsWith("#[")&&!I.startsWith("//")&&!I.startsWith("*")&&!m&&(p=[],f=[])}return{nodes:i,events:t}}};var Ei=class{currentRoutePrefix="";parse(e){this.currentRoutePrefix="";let r=[],i=[],t=e.split(`
|
|
509
|
+
`),o=[{indent:-1,name:"root",type:"root"}],s=[],a=/^class\s+([a-zA-Z0-9_]+)/,c=/^async\s+def\s+([a-zA-Z0-9_]+)|^def\s+([a-zA-Z0-9_]+)/,l=/^(?:from\s+([a-zA-Z0-9_\.]+)\s+import|import\s+([a-zA-Z0-9_\.]+))/,u=/^@(.*)/;function d(v){return v.trim().split(/[.(]/)[0]?.trim()||v}function p(v){let g=v.decorators.map(x=>d(x.raw)),_={decorators:v.decorators,decoratorNames:g};return v.async===!0&&(_.async=!0),JSON.stringify(_)}let f=!1,m="",h=[],b=[];for(let v=0;v<t.length;v++){let g=t[v],_=g.trim();if(!_||_.startsWith("#"))continue;let x=/^([a-zA-Z0-9_]+)\s*=\s*(?:APIRouter|Blueprint)\s*\(\s*(?:prefix\s*=\s*)?['"]([^'"]+)['"]/,k=_.match(x);if(k&&(this.currentRoutePrefix=k[2]),f){if(_.endsWith(m)||_.includes(m)){f=!1;let W=_.replace(m,"").trim();W&&h.push(W);let Z=o[o.length-1];Z.node&&(Z.node.doc=h.join(`
|
|
510
|
+
`).trim()),h=[]}else h.push(_);continue}let S=g.search(/\S/),P=g.trim(),R=P.match(/^(['"]{3})/);if(R){let W=R[1],Z=o[o.length-1];if(Z.node&&!Z.node.doc){if(P.substring(3).includes(W)){let Y=P.replace(new RegExp(W,"g"),"").trim();Z.node.doc=Y}else{f=!0,m=W;let Y=P.substring(3).trim();Y&&h.push(Y)}continue}}for(;o.length>1&&o[o.length-1].indent>=S;)o.pop();let U=o[o.length-1],E=P.match(u);if(E){s.push({raw:E[1].trim(),line:v+1});continue}let I=P.match(a);if(I){let W=I[1],Z={name:W,kind:"ClassDeclaration",classification:"Class",signature:`class ${W}`,line:v+1,endLine:v+1,doc:"",capabilities:p({decorators:s}),members:[]};b.push(Z),U.node?(U.node.members||(U.node.members=[]),U.node.members.push(Z)):r.push(Z),o.push({indent:S,name:W,type:"class",node:Z}),s=[];continue}let N=P.match(c);if(N){let W=!!N[1],Z=N[1]||N[2],Y=U.type==="class",J=!1,ne={};for(let B of s)if(B.raw.match(/(?:app|router)\.(get|post|put|delete|patch)/)){J=!0;let be=["get","post","put","delete","patch"].find(ge=>B.raw.toLowerCase().includes(`.${ge}`))?.toUpperCase()||"GET",Ne=B.raw.match(/['"]([^'"]+)['"]/),xe=Ne?Ne[1]:"/";if(this.currentRoutePrefix){let ge=this.currentRoutePrefix.endsWith("/")?this.currentRoutePrefix.slice(0,-1):this.currentRoutePrefix,vr=xe.startsWith("/")?xe:`/${xe}`;xe=ge+vr}ne={type:"route",method:be,path:xe}}if(J){let B=ne.path||"",Se={name:B||Z,kind:"HTTP Route",classification:"Service Boundary",signature:`Function: ${Z}`,line:v+1,endLine:v+1,doc:"",capabilities:JSON.stringify({handler:Y?`${U.name}.${Z}`:Z,async:W,...ne})};b.push(Se),r.push(Se),i.push({type:"api_route",name:B,direction:"consume",line:v+1,snippet:P})}let ce=s.some(B=>B.raw==="staticmethod"),pe=s.some(B=>B.raw==="classmethod"),ie=`${W?"async ":""}${Y?(ce?"@staticmethod ":pe?"@classmethod ":"")+U.name+".":""}${Z}`,q={name:Z,kind:W&&Y?"AsyncMethodDeclaration":W?"AsyncFunctionDeclaration":Y?"MethodDeclaration":"FunctionDeclaration",classification:Y?ce||pe?"Static Method":"Method":"Function",signature:ie,line:v+1,endLine:v+1,doc:"",capabilities:p({decorators:s,async:W}),members:[]};b.push(q),U.node?(U.node.members||(U.node.members=[]),U.node.members.push(q)):r.push(q),o.push({indent:S,name:Z,type:"function",node:q}),s=[];continue}let j=/^(?:path|re_path|url)\s*\(\s*['"]([^'"]+)['"]/,D=P.match(j);if(D){let W=D[1].replace(/^\^/,""),Z={name:W,kind:"HTTP Route",classification:"Service Boundary",signature:P.trim(),line:v+1,endLine:v+1,doc:"",capabilities:JSON.stringify({type:"route",method:"GET",path:W})};b.push(Z),r.push(Z),i.push({type:"api_route",name:W,direction:"consume",line:v+1,snippet:P});continue}let z=/(?:requests|httpx|client|http)\.(get|post|put|delete|patch|request)\s*\(\s*(?:url\s*:\s*)?([^,)]+)/,H=P.match(z);if(H){let W=H[1].toUpperCase(),Z=H[2].trim();(Z.startsWith("'")&&Z.endsWith("'")||Z.startsWith('"')&&Z.endsWith('"'))&&(Z=Z.substring(1,Z.length-1)),i.push({type:"api_route",name:Z,direction:"produce",line:v+1,snippet:P,method:W,url:Z})}let G=P.match(l);if(G){let W=G[1]||G[2],Z={name:W,kind:"ImportSpecifier",classification:"Dependency",signature:`import ${W}`,line:v+1,endLine:v+1,doc:"",capabilities:JSON.stringify({type:"import",module:W})};b.push(Z),r.push(Z),s=[];continue}s=[],U.node&&(U.node.endLine=v+1)}return{nodes:b,events:i}}};function m_(n,e){let r=0,i=!1;for(let t=e;t<n.length;t++){let o=n[t];for(let s of o)if(s==="{")r++,i=!0;else if(s==="}"&&(r--,i&&r<=0))return t+1;if(!i&&t>e&&/[;}]$/.test(o.trim()))return t+1}return Math.min(n.length,e+41)}var lf=[{extension:[".php"],rules:[]},{extension:[".py"],rules:[]},{extension:[".go"],rules:[{regex:/func\s+([a-zA-Z0-9_]+)\(/g,onMatch:n=>({name:n[1],kind:"FunctionDeclaration",classification:"Function",signature:n[0]})},{regex:/func\s+\([^\)]+\)\s+([a-zA-Z0-9_]+)\(/g,onMatch:n=>({name:n[1],kind:"MethodDeclaration",classification:"Method",signature:n[0]})},{regex:/import\s+['"]([^'"]+)['"]/g,onMatch:n=>({name:n[1],kind:"ImportSpecifier",classification:"Dependency",signature:n[0],meta:{type:"import",path:n[1]}})}]},{extension:[".rs"],rules:[{regex:/fn\s+([a-zA-Z0-9_]+)\s*\(/g,onMatch:n=>({name:n[1],kind:"FunctionDeclaration",classification:"Function",signature:n[0]})},{regex:/struct\s+([a-zA-Z0-9_]+)/g,onMatch:n=>({name:n[1],kind:"StructDeclaration",classification:"Class",signature:n[0]})},{regex:/enum\s+([a-zA-Z0-9_]+)/g,onMatch:n=>({name:n[1],kind:"EnumDeclaration",classification:"Class",signature:n[0]})},{regex:/trait\s+([a-zA-Z0-9_]+)/g,onMatch:n=>({name:n[1],kind:"TraitDeclaration",classification:"Class",signature:n[0]})},{regex:/use\s+([a-zA-Z0-9_:]+(?:\s+as\s+[a-zA-Z0-9_]+)?);/g,onMatch:n=>({name:n[1].trim(),kind:"ImportDeclaration",classification:"Dependency",signature:n[0],meta:{type:"import",path:n[1].trim()}})}]},{extension:[".ts",".tsx",".js",".jsx",".mjs",".cjs"],rules:[{regex:/(?:export\s+)?(?:async\s+)?function\s+([a-zA-Z0-9_]+)\s*\(/g,onMatch:n=>({name:n[1],kind:"FunctionDeclaration",classification:"Function"})},{regex:/(?:export\s+)?class\s+([a-zA-Z0-9_]+)/g,onMatch:n=>({name:n[1],kind:"ClassDeclaration",classification:"Class"})},{regex:/(?:export\s+)?interface\s+([a-zA-Z0-9_]+)/g,onMatch:n=>({name:n[1],kind:"InterfaceDeclaration",classification:"Interface"})},{regex:/(?:export\s+)?const\s+([a-zA-Z0-9_]+)\s*=/g,onMatch:n=>({name:n[1],kind:"VariableDeclaration",classification:"Constant"})},{regex:/import\s+.*\s+from\s+['"]([^'"]+)['"]/g,onMatch:n=>({name:n[1],kind:"ImportDeclaration",classification:"Dependency",meta:{path:n[1]}})}]}];function f_(n,e){let r=[];if(n===".go"&&e.some(i=>i.kind==="TypeDeclaration")&&r.push("Go type"),n===".rs"&&(e.some(i=>i.kind==="TraitDeclaration")&&r.push("Rust trait"),e.some(i=>i.kind==="StructDeclaration")&&r.push("Rust struct"),e.some(i=>i.kind==="EnumDeclaration")&&r.push("Rust enum")),n===".py"){for(let i of e)if(i.capabilities)try{if(JSON.parse(i.capabilities).decoratorNames?.length){r.push("Python decorators");break}}catch{}e.some(i=>i.kind==="AsyncFunctionDeclaration"||i.kind==="AsyncMethodDeclaration")&&r.push("Async")}return r}var Ii=class{phpParser=new ki;pythonParser=new Ei;treeSitterParser=new wi;supports(e){return lf.some(r=>r.extension.includes(e.toLowerCase()))}async parse(e,r){let i=Qa.extname(e).toLowerCase(),t=[],o=[];if(i===".php"||i===".py"||i===".go"||i===".rs"){if(i===".py"){let l=this.pythonParser.parse(r);t=l.nodes,o=l.events}else if(i===".php"){let l=e.toLowerCase().endsWith("api.php"),u=this.phpParser.parse(r,l);t=u.nodes,o=u.events}else try{t=await this.treeSitterParser.parse(e,r)}catch{}if(t.length>0){let l=i===".php"?"Micro IR (PHP/TS) ":i===".py"?"Micro IR (Python/TS) ":i===".go"?"Micro IR (Go/TS) ":"Micro IR (Rust/TS) ",u=t.filter(m=>m.classification!=="Dependency"),d=t.filter(m=>m.classification==="Dependency"),p=f_(i,t),f=xr({classification:l,capabilities:p,exports:u.map(m=>({name:m.name,kind:m.kind,classification:m.classification})),fileName:Qa.basename(e)});return{exports:u,imports:d.map(m=>({module:m.name,name:m.name,kind:m.kind,classification:m.classification})),events:o,classification:l,summary:f||`${i.substring(1).toUpperCase()} module`,parseStatus:"success"}}}let s=lf.find(l=>l.extension.includes(i));if(!s)return{exports:[],imports:[],classification:"Unknown",summary:"",parseStatus:"failed",parseError:`Unsupported file extension: ${i}`};let a=r.split(`
|
|
511
|
+
`);for(let l of s.rules){l.regex.lastIndex=0;let u;for(;(u=l.regex.exec(r))!==null;){let d=l.onMatch(u),p=r.substring(0,u.index).split(`
|
|
512
|
+
`).length,f=m_(a,p-1);t.push({name:d.name||"anonymous",kind:d.kind||"Unknown",classification:d.classification||"Other",signature:d.signature||u[0],line:p,endLine:f,doc:"",capabilities:JSON.stringify(d.meta||{})})}}let c=xr({classification:`Micro IR (${i.substring(1).toUpperCase()})`,capabilities:[],exports:t.map(l=>({name:l.name,kind:l.kind,classification:l.classification})),fileName:Qa.basename(e)});return{exports:t,imports:[],classification:`Micro IR (${i.substring(1).toUpperCase()})`,summary:c||"Module",parseStatus:t.length>0?"success":"partial"}}};V();import*as ec from"@swc/core";function uf(n){if(!n||typeof n!="object")return!1;let e=n;return typeof e.parse=="function"&&typeof e.parseSync=="function"}function h_(){if(uf(ec))return ec;let n=ec;if(uf(n.default))return n.default;throw new Error("SWC runtime unavailable: couldn't resolve parse/parseSync from @swc/core exports")}var pf=h_();function Sr(n,e,r){return pf.parse(n,e,r)}function Ti(n,e,r){return pf.parseSync(n,e,r)}var tc=new Ii;async function $n(n){let e=mf.extname(n);if(tc.supports(e)&&e!==".ts"&&e!==".tsx")try{let o=await df.promises.readFile(n,"utf-8");return{...await tc.parse(n,o),content:o}}catch(o){return $.error({filePath:n,error:o.message},"HeuristicParser failed"),{exports:[],imports:[],classification:"Unknown",summary:"",content:"",parseStatus:"failed",parseError:o.message}}let r;try{r=await df.promises.readFile(n)}catch(o){return{exports:[],imports:[],classification:"Error",summary:"",content:"",parseStatus:"failed",parseError:`File read error: ${o.message}`}}let i=r.toString("utf8"),t=Vm(i);try{let o=n.endsWith(".tsx"),s=n.endsWith(".d.ts")||n.endsWith(".d.tsx"),a,c={syntax:"typescript",tsx:o,decorators:!0,comments:!0};if(s)try{a=Ti(i,c)}catch{a=Ti(i,{...c,isModule:!1})}else a=Ti(i,c);let l=a.span.start,u=qm(r),d=Ym(i),p=k=>Km(k,l,r),f=Qm(a.body),m=nf(a.body);m.length>0&&$.debug({filePath:n,count:m.length},"Extracted type references"),m.forEach(k=>{f.push({module:"__type_reference__",name:k})});let h=ef(a.body,l,r,i,t,d,n,p,u),b=tf(a.body,l,r,t,p,u),v=Si(n,"","Module"),_=d.length>0&&i.slice(0,d[0].start).trim().length===0?d[0].text:h.find(k=>k.doc)?.doc||"",x=Xm(_);if(!x&&h.length>0){let k=_r(i);x=xr({classification:v,capabilities:k,exports:h.map(S=>({name:S.name,kind:S.kind,classification:S.classification})),fileName:mf.basename(n)})}return{exports:h,imports:f,events:b,classification:v,summary:x,content:i,parseStatus:"success"}}catch(o){$.warn({filePath:n,error:o.message},"SWC parsing failed, using heuristic fallback");try{let s=await tc.parse(n,i);return{...s,content:i,classification:s.classification+" (Degraded)",parseStatus:"partial",parseError:`SWC failed, used heuristic fallback: ${o.message}`}}catch(s){return $.error({filePath:n,error:s.message},"All parsing strategies failed"),{exports:[],imports:[],classification:"Error",summary:"",content:i,parseStatus:"failed",parseError:`All parsing strategies failed: ${s.message}`}}}}function g_(n,e=500){let r=[],i=[],t=0;return n.forEach(o=>{let s=o.doc?.split(/\s+/).length||0;t+s>e&&(r.push(i),i=[],t=0),i.push(o),t+=s}),i.length&&r.push(i),r}import Ri from"path";var y_=50;function $r(n,e,r,i){let t={name:Ri.basename(e)||e,type:"directory",path:e,children:[]};return n.forEach(o=>{let a=Ri.relative(e,o.path).split(Ri.sep),c=t;for(let l=0;l<a.length;l++){let u=a[l];if(i!==void 0&&l>=i)return;let d=l===a.length-1;if(i===1&&l===0&&d)return;let p=i!==void 0&&l===i-1&&!d,f=Ri.join(e,...a.slice(0,l+1)),m=c.children?.find(h=>h.name===u);if(!m){if(c.children&&c.children.length>=y_){c.children.find(v=>v.type==="truncated")||c.children.push({name:"... (truncated) ",type:"truncated",path:"",children:void 0});return}m={name:u,type:d?"file":"directory",path:f,children:d||p?void 0:[],summary:d?{classification:o.classification,summaryText:o.summary,exports:o.exports,imports:o.imports,chunks:o.chunks}:void 0},m.summary&&(r==="structure"||r==="signatures")&&(delete m.summary.chunks,delete m.summary.imports),c.children?.push(m)}c=m}}),t}V();import xc from"p-limit";var nc=class{startTime=Date.now();indexRuns=0;indexCacheHits=0;lastIndexDurationMs=null;lastIndexCompletedAt=null;lastRunPhases=[];queryCount=0;lastQueryLatencyMs=null;recentLatencySumMs=0;recentLatencyCount=0;recentLatencies=[];searchHistoryFailureCount=0;recordIndexStart(){this.indexRuns+=1}recordIndexCacheHit(){this.indexCacheHits+=1}recordIndexEnd(e){this.lastIndexDurationMs=e,this.lastIndexCompletedAt=Date.now()}recordIndexPhase(e,r){this.lastRunPhases.push({phase:e,durationMs:r})}clearIndexPhases(){this.lastRunPhases=[]}recordQueryStart(){let e=performance.now();return()=>{this.queryCount+=1;let r=performance.now()-e;if(this.lastQueryLatencyMs=r,this.recentLatencies.push(r),this.recentLatencies.length>100){let i=this.recentLatencies.shift();this.recentLatencySumMs=this.recentLatencySumMs-i+r}else this.recentLatencySumMs+=r,this.recentLatencyCount=this.recentLatencies.length}}recordSearchHistoryFailure(){this.searchHistoryFailureCount+=1}getSnapshot(){let e=this.recentLatencies.length,r=e>0?this.recentLatencies.reduce((i,t)=>i+t,0)/e:null;return{index:{runs:this.indexRuns,cacheHits:this.indexCacheHits,lastDurationMs:this.lastIndexDurationMs,lastCompletedAt:this.lastIndexCompletedAt,lastRunPhases:[...this.lastRunPhases]},query:{count:this.queryCount,lastLatencyMs:this.lastQueryLatencyMs,recentLatencySumMs:this.recentLatencySumMs,recentLatencyCount:e,avgLatencyMs:r,searchHistoryFailures:this.searchHistoryFailureCount},uptimeMs:Date.now()-this.startTime}}reset(){this.indexRuns=0,this.indexCacheHits=0,this.lastIndexDurationMs=null,this.lastIndexCompletedAt=null,this.lastRunPhases=[],this.queryCount=0,this.lastQueryLatencyMs=null,this.recentLatencySumMs=0,this.recentLatencyCount=0,this.recentLatencies=[],this.searchHistoryFailureCount=0}},ht=new nc;function v_(){return ht}function ff(){ht.recordIndexStart()}function Pi(){ht.recordIndexCacheHit()}function hf(n){ht.recordIndexEnd(n)}function wr(n,e){ht.recordIndexPhase(n,e)}function gf(){ht.clearIndexPhases()}function Kt(){return ht.recordQueryStart()}function st(){ht.recordSearchHistoryFailure()}function rc(){return ht.getSnapshot()}It();import Sc from"path";import hx from"fs";import gx from"os";import et from"path";import In from"fs";import{loadConfig as z_,createMatchPath as D_}from"tsconfig-paths";import Tt from"path";import kr from"fs";var Rt=class extends Error{constructor(r,i,t){super(i);this.code=r;this.cause=t;this.name="FileSystemError"}};function $f(n){let e;try{e=kr.statSync(n).isDirectory()?n:Tt.dirname(n)}catch(r){throw r.code==="ENOENT"?new Rt("FILE_NOT_FOUND",`Start path does not exist: ${n}`,r):r.code==="EACCES"||r.code==="EPERM"?new Rt("PERMISSION_DENIED",`Permission denied accessing: ${n}`,r):new Rt("UNKNOWN",`Failed to access path: ${n}`,r)}for(;e!==Tt.dirname(e);){let r=Tt.join(e,"tsconfig.json");if(kr.existsSync(r))return e;e=Tt.dirname(e)}return null}function wf(n){let e;try{e=kr.statSync(n).isDirectory()?n:Tt.dirname(n)}catch(r){throw r.code==="ENOENT"?new Rt("FILE_NOT_FOUND",`Start path does not exist: ${n}`,r):r.code==="EACCES"||r.code==="EPERM"?new Rt("PERMISSION_DENIED",`Permission denied accessing: ${n}`,r):new Rt("UNKNOWN",`Failed to access path: ${n}`,r)}for(;e!==Tt.dirname(e);){let r=Tt.join(e,"package.json");if(kr.existsSync(r))try{if(JSON.parse(kr.readFileSync(r,"utf8")).workspaces)return e}catch{}e=Tt.dirname(e)}return null}import wn from"path";import Qt from"fs";function kf(n,e){let r=new Map,i=e.workspaces||[];for(let t of i){let o=t.replace("/*",""),s=wn.join(n,o);if(!Qt.existsSync(s))continue;let a=Qt.readdirSync(s);for(let c of a){let l=wn.join(s,c,"package.json");if(Qt.existsSync(l))try{let u=JSON.parse(Qt.readFileSync(l,"utf8"));u.name&&r.set(u.name,{name:u.name,path:wn.dirname(l),main:u.main||"dist/index.js"})}catch{}}}return r}function Ef(n){let e=new Map;try{let r=JSON.parse(Qt.readFileSync(n,"utf8")),i={...r.dependencies,...r.devDependencies};for(let[t,o]of Object.entries(i))if(typeof o=="string"&&o.startsWith("file:")){let s=o.substring(5),a=wn.dirname(n),c=wn.resolve(a,s),l=wn.join(c,"package.json");if(Qt.existsSync(l))try{let u=JSON.parse(Qt.readFileSync(l,"utf8"));e.set(t,{name:t,path:c,main:u.main||"dist/index.js"})}catch{}}}catch{}return e}import If from"path";import Qe from"fs";var P_=[".ts",".tsx",".d.ts",".js",".jsx"];function Be(n){let e=If.extname(n);if(e===".js"||e===".jsx"){let r=n.slice(0,-e.length),i=e===".jsx"?[".tsx",".ts"]:[".ts",".tsx"];for(let t of i){let o=r+t;if(Qe.existsSync(o)&&Qe.statSync(o).isFile())return o}if(Qe.existsSync(n)&&Qe.statSync(n).isFile())return n}if(Qe.existsSync(n)&&Qe.statSync(n).isFile())return n;for(let r of P_){let i=n+r;if(Qe.existsSync(i)&&Qe.statSync(i).isFile())return i}if(Qe.existsSync(n)&&Qe.statSync(n).isDirectory())for(let r of[".ts",".tsx",".js",".jsx"]){let i=If.join(n,"index"+r);if(Qe.existsSync(i))return i}return""}import kn from"path";import N_ from"fs";function Oi(n,e,r){if(n.startsWith(".")){let t=kn.dirname(e),o=kn.resolve(t,n),s=Be(o);return s?{resolved:!0,resolvedPath:s}:{resolved:!1,error:`File not found at relative path: ${o}`,suggestion:"Check if the file exists and has a supported extension (.ts, .tsx, .js, .jsx)"}}let i=En(e);if(i){if(i.matchPath){let o=i.matchPath(n);if(o){let s=Be(o);return s?{resolved:!0,resolvedPath:s}:{resolved:!1,error:`Path alias matched to '${o}' but file does not exist`,suggestion:"Check if the target file exists or if the alias mapping in tsconfig.json is correct"}}}if(!n.startsWith("@")){let o=kn.resolve(i.baseUrl,n),s=Be(o);if(s)return{resolved:!0,resolvedPath:s}}let t=i.workspacePackages.get(n);if(t){let o=kn.join(t.path,"src/index.ts");if(N_.existsSync(o))return{resolved:!0,resolvedPath:o};let s=kn.join(t.path,t.main),a=Be(s);return a?{resolved:!0,resolvedPath:a}:{resolved:!1,error:`Workspace package '${n}' found at ${t.path} but entry point not found`,suggestion:`Check main field in ${kn.join(t.path,"package.json")}`}}}else return{resolved:!1,error:"No tsconfig.json found",suggestion:"Ensure a tsconfig.json exists in the project root or parent directories"};return n.startsWith("@")?{resolved:!1,error:`Path alias '${n}' not found in tsconfig.json paths`,suggestion:'Check tsconfig.json "paths" configuration'}:{resolved:!1,error:"Module not found (treated as external) ",suggestion:"Install dependency or check import path"}}var Ci=new Map;function En(n){let e=$f(n);if(!e)return null;if(Ci.has(e))return Ci.get(e)||null;let r=z_(e);if(r.resultType==="failed")return Ci.set(e,null),null;let i=r,t=i.absoluteBaseUrl;!t&&i.paths&&Object.keys(i.paths).length>0&&(t=i.configFileAbsolutePath?et.dirname(i.configFileAbsolutePath):e);let o=D_(t,i.paths,i.mainFields,i.addMatchAll),s=wf(e),a=new Map;if(s){let d=et.join(s,"package.json");if(In.existsSync(d))try{let p=JSON.parse(In.readFileSync(d,"utf8"));a=kf(s,p)}catch{}}let c=et.join(e,"package.json");In.existsSync(c)&&Ef(c).forEach((p,f)=>a.set(f,p));let l={baseUrl:t||"",paths:i.paths,matchPath:o,workspacePackages:a,imports:new Map},u=et.join(e,"package.json");if(In.existsSync(u))try{let d=JSON.parse(In.readFileSync(u,"utf8"));if(d.imports){for(let[p,f]of Object.entries(d.imports))if(typeof f=="string"||typeof f=="object"&&f!==null){let m=f;Array.isArray(f)&&(m=f[0]),typeof m=="object"&&(m=m.default||m.node),typeof m=="string"&&l.imports.set(p,m)}}}catch{}return Ci.set(e,l),l}function Pt(n,e,r){if(!n)return"";if(n.includes(".")&&!n.startsWith(".")&&!n.startsWith("/")&&!n.endsWith(".js")&&!n.endsWith(".ts")&&!n.endsWith(".json")){let t=n.split(".")[0];if(t&&t!==n){let o=Pt(t,e,r);if(o)return o}}if(n.startsWith(".")){let t=et.dirname(e),o=et.resolve(t,n);return Be(o)}let i=En(e);if(i){let t=i.matchPath(n);if(t)return Be(t);if(!n.startsWith("@")||n.startsWith("@/")){let s=et.resolve(i.baseUrl,n),a=Be(s);if(a)return a}for(let[s,a]of i.imports.entries())if(s.includes("*")){let c="^"+s.replace(/[\\^$+.()|[\]{}]/g,"\\$&").replace(/\*/g,"(.*)")+"$",l=new RegExp(c),u=n.match(l);if(u){let d=u[1],p=a.replace("*",d),f=et.resolve(i.baseUrl,p);return Be(f)}}else if(s===n){let c=et.resolve(i.baseUrl,a);return Be(c)}let o=i.workspacePackages.get(n);if(o){let s=et.join(o.path,"src/index.ts");if(In.existsSync(s))return s;let a=et.join(o.path,o.main),c=Be(a);if(c)return c}}return""}import A_ from"fs";import L_ from"path";import Rf from"js-yaml";function Tf(n){let e=L_.basename(n),r=A_.readFileSync(n,"utf8"),i=[];if(e.endsWith(".prisma"))return{...j_(r,n),content:r};if(e.endsWith(".graphql")||e.endsWith(".gql"))return{...U_(r,n),content:r};let t="Configuration";return e==="lerna.json"?{...Z_(r,n),content:r}:e==="turbo.json"?{...H_(r,n),content:r}:e==="pnpm-workspace.yaml"?{...W_(r,n),content:r}:(e.includes("Dockerfile")?(t="Infrastructure (Docker) ",O_(r,i)):e.endsWith(".yaml")||e.endsWith(".yml")?(t="Infrastructure (YAML) ",C_(r,i)):e.startsWith(".env")?(t="Configuration (Env) ",M_(r,i)):e==="package.json"&&(t="Project Manifest",F_(r,i)),{configs:i,classification:t,content:r})}function O_(n,e){let r=n.split(`
|
|
513
|
+
`);for(let i of r){let t=i.trim();if(t.startsWith("FROM "))e.push({key:"base_image",value:t.substring(5).trim(),kind:"Image"});else if(t.startsWith("EXPOSE "))e.push({key:"port",value:t.substring(7).trim(),kind:"Port"});else if(t.startsWith("ENV ")){let o=t.substring(4).trim().split(/\s+|=/);if(o[0]){let s=o[0],a=o.slice(1).join("= ").trim()||"undefined",c="Env";(s.endsWith("_URI")||s.endsWith("_URL")||s.endsWith("_HOST"))&&(c="Service"),e.push({key:s,value:a,kind:c})}}}}function C_(n,e){try{let r=Rf.load(n);if(!r||typeof r!="object")return;if(r.services&&typeof r.services=="object")for(let[t,o]of Object.entries(r.services)){if(!o||typeof o!="object")continue;let s=o;if(e.push({key:`service:${t}`,value:t,kind:"Service"}),s.image&&e.push({key:`service:${t}:image`,value:String(s.image),kind:"Image"}),Array.isArray(s.ports)&&s.ports.forEach(a=>{e.push({key:`service:${t}:port`,value:String(a),kind:"Port"})}),s.environment){if(Array.isArray(s.environment))s.environment.forEach(a=>{let[c,...l]=a.split("= ");c&&l.length>0&&e.push({key:`service:${t}:env:${c}`,value:l.join("= "),kind:"Env"})});else if(typeof s.environment=="object")for(let[a,c]of Object.entries(s.environment))e.push({key:`service:${t}:env:${a}`,value:String(c),kind:"Env"})}if(Array.isArray(s.depends_on))s.depends_on.forEach(a=>{e.push({key:`service:${t}:depends_on`,value:a,kind:"Dependency"})});else if(s.depends_on&&typeof s.depends_on=="object")for(let a of Object.keys(s.depends_on))e.push({key:`service:${t}:depends_on`,value:a,kind:"Dependency"})}let i=(t,o="")=>{if(!(!t||typeof t!="object"||Array.isArray(t)))for(let[s,a]of Object.entries(t)){let c=o?`${o}.${s}`:s;if(r.services&&(c.startsWith("services.")||c==="services")){a&&typeof a=="object"&&!Array.isArray(a)&&i(a,c);continue}if(a&&typeof a=="object"&&!Array.isArray(a))i(a,c);else if(a!=null){let l=String(a);if(l==="[object Object]"||l.includes("[object Object]"))continue;let u="Env",d=/^[a-z0-9_-]+$/i.test(l),p=l.includes("://");s.toLowerCase().includes("service")&&(d||p)&&(u="Service"),s.toLowerCase().includes("image")&&(u="Image"),s.toLowerCase().includes("port")&&(u="Port"),(s.endsWith("_URI")||s.endsWith("_URL")||s.endsWith("_HOST"))&&p&&(u="Service"),e.push({key:c,value:l.length>200?l.substring(0,197)+"...":l,kind:u})}}};i(r)}catch{let i=n.match(/^\s{2}([a-z0-9_-]+):/gm);i&&i.forEach(t=>{let o=t.trim().replace(" : ","");o!=="services"&&o!=="version"&&o!=="volumes"&&o!=="networks"&&e.push({key:"service",value:o,kind:"Service"})})}}function M_(n,e){let r=n.split(`
|
|
514
|
+
`);for(let i of r){let t=i.trim();if(t&&!t.startsWith("#")){let o=t.split("=");if(o[0]){let s=o[0].trim(),a=o.slice(1).join("=");a=a.trim().replace(/^['"](.*)['"]$/,"$1");let c="Env",l=a.includes("://");(s.endsWith("_URI")||s.endsWith("_URL")||s.endsWith("_HOST"))&&l&&(c="Service"),e.push({key:s,value:a,kind:c})}}}}function j_(n,e){let r=[],i="Contract (Prisma) ",t=/^model\s+(\w+)/gm,o;for(;(o=t.exec(n))!==null;)r.push({key:"model",value:o[1],kind:"Database Model"});let s=/^enum\s+(\w+)/gm;for(;(o=s.exec(n))!==null;)r.push({key:"enum",value:o[1],kind:"Database Enum"});let a=/provider\s*=\s*"([^"]+)"/,c=n.match(a);return c&&r.push({key:"datasource_provider",value:c[1],kind:"Database Config"}),{classification:i,configs:r,content:n}}function U_(n,e){let r=[],i="Contract (GraphQL) ",t=/^(?:type|input|interface|enum)\s+(\w+)/gm,o;for(;(o=t.exec(n))!==null;){let s=o[0],a="GraphQL Type";s.startsWith("input")&&(a="GraphQL Input"),s.startsWith("interface")&&(a="GraphQL Interface"),s.startsWith("enum")&&(a="GraphQL Enum"),r.push({key:"type_definition",value:o[1],kind:a})}return{classification:i,configs:r,content:n}}function F_(n,e){try{let r=JSON.parse(n);if(r.name&&e.push({key:"name",value:r.name,kind:"Service"}),r.description&&e.push({key:"description",value:r.description,kind:"Env"}),r.workspaces){let o=Array.isArray(r.workspaces)?r.workspaces.join("",""):JSON.stringify(r.workspaces);e.push({key:"workspaces",value:o,kind:"Env"})}if(r.scripts){let o=["start","dev","build","test","docker"];for(let s of Object.keys(r.scripts))o.some(a=>s.includes(a))&&e.push({key:`script:${s}`,value:r.scripts[s],kind:"Env"})}let i={...r.dependencies,...r.devDependencies},t=["react","vue","svelte","angular","next","nuxt","express","fastify","nestjs","remix","vite","webpack","tailwindcss","database"];for(let o of Object.keys(i))if(t.some(s=>o.includes(s))){let s=i[o].replace(/[\^~]/,"");e.push({key:`dep:${o}`,value:s,kind:"Dependency"})}}catch{}}function Z_(n,e){let r=[],i="Monorepo (Lerna) ";try{let t=JSON.parse(n);r.push({key:"monorepo_type",value:"lerna",kind:"Monorepo"}),t.version&&r.push({key:"lerna_version",value:t.version,kind:"Monorepo"}),t.packages&&(Array.isArray(t.packages)?t.packages:[t.packages]).forEach(s=>{r.push({key:"package_glob",value:s,kind:"Monorepo"})}),t.npmClient&&r.push({key:"npm_client",value:t.npmClient,kind:"Monorepo"})}catch{}return{configs:r,classification:i,content:n}}function H_(n,e){let r=[],i="Monorepo (Turborepo) ";try{let t=JSON.parse(n);if(r.push({key:"monorepo_type",value:"turborepo",kind:"Monorepo"}),t.pipeline)for(let o of Object.keys(t.pipeline)){r.push({key:`pipeline:${o}`,value:o,kind:"Monorepo"});let s=t.pipeline[o];s.dependsOn&&r.push({key:`pipeline:${o}:depends_on`,value:s.dependsOn.join("",""),kind:"Dependency"})}if(t.tasks)for(let o of Object.keys(t.tasks))r.push({key:`task:${o}`,value:o,kind:"Monorepo"})}catch{}return{configs:r,classification:i,content:n}}function W_(n,e){let r=[],i="Monorepo (pnpm) ";try{let t=Rf.load(n);r.push({key:"monorepo_type",value:"pnpm",kind:"Monorepo"}),t&&t.packages&&(Array.isArray(t.packages)?t.packages:[t.packages]).forEach(s=>{r.push({key:"package_glob",value:s,kind:"Monorepo"})})}catch{}return{configs:r,classification:i,content:n}}V();import Pf from"fs";import B_ from"path";import Nf from"js-yaml";var zf={ignore:[],include:[],maxDepth:10},G_=[{name:".liquid-shadow.yaml",parse:n=>Nf.load(n)??{}},{name:".liquid-shadow.yml",parse:n=>Nf.load(n)??{}},{name:".ls.json",parse:n=>JSON.parse(n)},{name:".liquid-shadow.json",parse:n=>JSON.parse(n)},{name:".ls.rc",parse:n=>JSON.parse(n)},{name:".liquid-shadow.rc",parse:n=>JSON.parse(n)}];function Mi(n){for(let{name:e,parse:r}of G_){let i=B_.join(n,e);if(Pf.existsSync(i))try{let t=Pf.readFileSync(i,"utf8"),o=r(t);return $.debug({repoPath:n,configFile:e},"Loaded repository configuration"),{...zf,...o}}catch(t){$.error({repoPath:n,file:e,err:t},"Failed to parse configuration file")}}return zf}Q();Nt();import{execSync as yt}from"child_process";import zr from"path";import pc from"fs";function _e(n){try{if(!pc.existsSync(zr.join(n,".git")))return null;let e=yt("git rev-parse --abbrev-ref HEAD",{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();return e==="HEAD"?yt("git rev-parse --short HEAD",{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim():e.replace(/[\/\\:*"<>|?]/g,"-")}catch{return null}}function Ge(n){try{return pc.existsSync(zr.join(n,".git"))?yt("git rev-parse HEAD",{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim():null}catch{return null}}function dc(n,e=50){try{let r=yt(`git rev-list --max-count=${e} HEAD`,{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();return r?r.split(`
|
|
515
|
+
`):[]}catch{return[]}}function mc(n,e,r){try{return yt(`git merge-tree --write-tree ${e} ${r}`,{cwd:n,stdio:["ignore","ignore","ignore"]}),!1}catch{return!0}}var eh=new Set([".ts",".tsx",".yaml",".yml",".php",".py",".go",".prisma",".graphql",".gql"]),th=new Set(["package.json","lerna.json","turbo.json","pnpm-workspace.yaml"]),nh=new Set(["node_modules",".git","dist","build","vendor",".next",".cache","coverage"]);function Qf(n){let e=n.split("/");for(let t of e)if(nh.has(t))return!1;if(n.endsWith(".min.js"))return!1;let r=zr.basename(n);if(r.startsWith("Dockerfile")||r.startsWith(".env")||th.has(r))return!0;let i=zr.extname(r).toLowerCase();return eh.has(i)}function tx(n){let e=n.trim(),r=e.indexOf(" -> ");if(r!==-1)return e.substring(r+4);let i=e.split(/\s+/);return i.length>=2?i[i.length-1]:e}function fc(n,e){try{if(!pc.existsSync(zr.join(n,".git")))return!0;let r=Ge(n);if(!r)return!0;if(e&&e!==r){let t=yt(`git diff --name-only ${e} ${r}`,{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();if(t&&t.split(`
|
|
516
|
+
`).some(o=>o&&Qf(o)))return!0}let i=yt("git status --porcelain",{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();return i?i.split(`
|
|
517
|
+
`).some(t=>t?Qf(tx(t)):!1):!1}catch{return!0}}function nx(n,e){let r=new Set;try{let i=yt(`git diff --name-only ${e}`,{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();i&&i.split(`
|
|
518
|
+
`).filter(Boolean).forEach(o=>r.add(o));let t=yt("git status --porcelain",{cwd:n,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();t&&t.split(`
|
|
519
|
+
`).filter(Boolean).forEach(o=>{let s=o.trim().split(/\s+/);s.length>=2&&r.add(s[s.length-1])})}catch{}return r}Q();V();import{execSync as rh}from"child_process";var tn=$.child({module:"nano-repair"}),Ie=class{intentLogs;exports;missions;repoPath;constructor(e){let{intentLogs:r,exports:i,missions:t}=C.getInstance(e);this.intentLogs=r,this.exports=i,this.missions=t,this.repoPath=e}detectAndRepairShifts(){let e=this.intentLogs.findRepairableOrphans();if(e.length===0)return{repaired:0,failed:0};tn.info({count:e.length},"Detected orphaned intent logs. Attempting recovery...");let r=0,i=0;for(let t of e){let o=this.exports.findByNameAndFile(t.symbol_name,t.file_path);if(o.length>0){let a=o.find(c=>c.signature===t.signature)||o[0];this.intentLogs.update(t.id,{symbol_id:a.id}),tn.info({logId:t.id,symbol:t.symbol_name},"Relinked symbol in same file"),r++;continue}let s=this.exports.findByNameGlobal(t.symbol_name);if(s.length>0){let a=s.filter(c=>c.file_path!==t.file_path);if(a.length>0){let c=a.find(l=>l.signature===t.signature)||a[0];this.intentLogs.update(t.id,{symbol_id:c.id,file_path:c.file_path}),tn.info({logId:t.id,symbol:t.symbol_name,oldPath:t.file_path,newPath:c.file_path},"Detected Nano-Repair Shift (file move)"),r++;continue}}i++}return r>0&&tn.info({repaired:r,failed:i},"Nano-Repair recovery complete"),{repaired:r,failed:i}}syncLifecycle(){let e="HEAD";try{e=rh("git rev-parse --abbrev-ref HEAD",{cwd:this.repoPath,encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim()}catch{return{suspended:0,resumed:0,completed:0}}if(!e)return{suspended:0,resumed:0,completed:0};let r=this.missions.findActive(),i=0;for(let s of r)s.git_branch&&s.git_branch!==e&&(this.missions.updateStatus(s.id,"suspended"),tn.info({missionId:s.id,branch:s.git_branch,current:e},"Context Pivot: Suspended mission"),i++);this.missions.resumeByBranch(e);let t=[];try{t=rh(`git branch --merged "${e}"`,{cwd:this.repoPath,encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).split(`
|
|
520
|
+
`).map(a=>a.trim().replace(/^\* /,"")).filter(a=>a&&a!==e)}catch{}let o=0;if(t.length>0){let s=this.missions.findMergedMissions(e,t);for(let a of s)this.missions.updateStatus(a.id,"completed"),tn.info({missionId:a.id,branch:a.git_branch},"Merge Sentinel: Auto-completed mission"),o++}return(i>0||o>0)&&tn.info({suspended:i,completed:o},"Git-Native Lifecycle Sync complete"),{suspended:i,resumed:-1,completed:o}}};V();$i();import{Worker as rx}from"node:worker_threads";import{cpus as ix}from"node:os";import{fileURLToPath as ox}from"node:url";import{dirname as sx,join as ax}from"node:path";import{existsSync as cx}from"node:fs";var ih=ox(import.meta.url),lx=sx(ih),ux=ih.endsWith(".ts");function px(){if(ux)return null;let n=ax(lx,"worker.js");return cx(n)?n:Sn("dist/logic/parser/worker.js")}var hc=class{workers=[];taskQueue=[];pendingTasks=new Map;taskIdCounter=0;initialized=!1;initPromise;shutdownRequested=!1;numWorkers;initTimeout;constructor(e={}){this.numWorkers=e.numWorkers??Math.max(1,Math.min(4,ix().length-1)),this.initTimeout=e.initTimeout??3e4}async initialize(){if(!this.initialized)return this.initPromise?this.initPromise:(this.initPromise=this._doInitialize(),this.initPromise)}async _doInitialize(){let e;try{$.info({numWorkers:this.numWorkers},"Initializing parser worker pool");let r=new Promise((i,t)=>{e=setTimeout(()=>t(new Error(`Parser pool initialization timed out after ${this.initTimeout}ms`)),this.initTimeout)});if(await Promise.race([this._initializeWorkers(),r]),e&&clearTimeout(e),this.shutdownRequested){this.initialized=!1,this.initPromise=void 0;return}this.initialized=!0,$.info({numWorkers:this.workers.length},"Parser worker pool ready")}catch(r){throw e&&clearTimeout(e),this.initPromise=void 0,this.initialized=!1,await this.shutdown(),r}}async _initializeWorkers(){let e=px();if(!e)throw new Error("Parser worker pool not available in development mode (tsx). Use main-thread fallback.");$.debug({workerPath:e},"Resolved parser worker path");let r=[];for(let i=0;i<this.numWorkers;i++)r.push(this.createWorker(e,i));await Promise.all(r)}async createWorker(e,r){return new Promise((i,t)=>{let o=setTimeout(()=>{t(new Error(`Parser worker ${r} initialization timed out`))},this.initTimeout),s=new rx(e,{execArgv:process.execArgv}),a={worker:s,busy:!1,currentTaskId:null};s.on("message",c=>{if(c.type==="ready"){if(clearTimeout(o),this.shutdownRequested){s.terminate().catch(()=>{}),i();return}this.workers.push(a),$.debug({workerIndex:r},"Parser worker ready"),i()}else c.type==="result"&&c.id?this.handleTaskComplete(a,c.id,c.result):c.type==="error"&&c.id&&this.handleTaskError(a,c.id,new Error(c.error||"Unknown error"))}),s.on("error",c=>{if(clearTimeout(o),$.error({err:c,workerIndex:r},"Parser worker error"),a.currentTaskId&&this.handleTaskError(a,a.currentTaskId,c),!this.initialized){t(c);return}let l=this.workers.indexOf(a);l!==-1&&this.workers.splice(l,1),!this.shutdownRequested&&this.initialized&&this.createWorker(e,r).catch(u=>{$.error({err:u},"Failed to replace crashed parser worker")})}),s.on("exit",c=>{c!==0&&!this.shutdownRequested&&$.warn({workerIndex:r,code:c},"Parser worker exited unexpectedly")})})}handleTaskComplete(e,r,i){let t=this.pendingTasks.get(r);t&&(this.pendingTasks.delete(r),t.resolve(i)),e.busy=!1,e.currentTaskId=null,this.processQueue()}handleTaskError(e,r,i){let t=this.pendingTasks.get(r);t&&(this.pendingTasks.delete(r),t.reject(i)),e.busy=!1,e.currentTaskId=null,this.processQueue()}processQueue(){if(this.taskQueue.length===0)return;let e=this.workers.find(i=>!i.busy);if(!e)return;let r=this.taskQueue.shift();r&&(e.busy=!0,e.currentTaskId=r.id,this.pendingTasks.set(r.id,r),e.worker.postMessage({type:"parse",id:r.id,filePath:r.filePath}))}async parseFile(e){return this.initialized||await this.initialize(),new Promise((r,i)=>{let o={id:`parse_${++this.taskIdCounter}`,filePath:e,resolve:r,reject:i};this.taskQueue.push(o),this.processQueue()})}get workerCount(){return this.workers.length}get busyWorkers(){return this.workers.filter(e=>e.busy).length}get queueSize(){return this.taskQueue.length}get isInitialized(){return this.initialized}async shutdown(){if(this.shutdownRequested=!0,this.initPromise)try{await this.initPromise}catch{}if(!this.initialized&&this.workers.length===0){this.shutdownRequested=!1,this.initPromise=void 0;return}$.info({numWorkers:this.workers.length},"Shutting down parser worker pool");let e=this.workers.map(r=>new Promise(i=>{r.worker.postMessage({type:"shutdown"}),r.worker.once("exit",()=>i()),setTimeout(()=>{r.worker.terminate().then(()=>i())},5e3)}));await Promise.all(e),this.workers=[],this.taskQueue=[],this.pendingTasks.clear(),this.initialized=!1,this.shutdownRequested=!1,this.initPromise=void 0,$.info("Parser worker pool shutdown complete")}},Pn=null;function oh(n){return Pn||(Pn=new hc(n)),Pn}async function sh(){Pn&&(await Pn.shutdown(),Pn=null)}Q();V();ct();gc();yc();vc();import{execSync as Th}from"child_process";var so=$.child({module:"heritage-analyzer"}),nn=class{repos;repoPath;constructor(e){this.repos=C.getInstance(e),this.repoPath=e}analyzeHeritage(e=20){try{so.info({limit:e},"Analyzing repository heritage...");let r=Th(`git log -n ${e} --pretty=format:"%H|%at|%an|%s"`,{cwd:this.repoPath,encoding:"utf-8"});if(!r)return;let i=r.split(`
|
|
521
|
+
`).filter(Boolean);for(let t of i){let[o,s,a,c]=t.split("|"),l=this.analyzeCommitImpact(o);if(l.significant){let u=Array.from(l.layers).join(", "),d=`Heritage: ${c} (by ${a}). Touched ${l.fileCount} files across [${u}].`;this.repos.intentLogs.importHeritage(d,o,parseInt(s,10),.7),so.debug({sha:o,subject:c},"Logged heritage move")}}so.info("Heritage analysis complete.")}catch(r){so.warn({err:r.message},"Failed to run heritage analysis")}}analyzeCommitImpact(e){let r=new Set,i=0;try{let o=Th(`git diff-tree --no-commit-id --name-only -r ${e}`,{cwd:this.repoPath,encoding:"utf-8"}).split(`
|
|
522
|
+
`).filter(Boolean);i=o.length;for(let c of o){let l=this.classifyPathOnly(c);l!=="Unknown"&&r.add(l)}let s=r.has("Entry")||r.has("Data")||r.has("Infrastructure"),a=r.size>=2||i>5;return{significant:s||a,layers:r,fileCount:i}}catch{return{significant:!1,layers:r,fileCount:0}}}classifyPathOnly(e){let r=e.startsWith("/")?e:"/"+e;return bc.some(i=>i.test(r))?"Test":Qi.some(i=>i.test(r))||Xi.some(i=>i.test(r))?"Entry":Dr.some(i=>i.test(r))?"Data":to.some(i=>i.test(r))?"Utility":no.some(i=>i.test(r))?"Entry":ro.some(i=>i.test(r))?"Data":io.some(i=>i.test(r))?"Entry":oo.some(i=>i.test(r))?"Data":_c.some(i=>i.test(r))?"Infrastructure":/\.(service|logic|usecase|interactor|manager)\.(ts|js|php|py)$/i.test(r)||eo.some(i=>i.test(r))?"Logic":"Unknown"}};var yx=gx.cpus().length||4,vx=_i.DEFAULT_CONCURRENCY;function Nh(n,e=[]){if(!Array.isArray(n))return e;for(let r of n)!r||typeof r!="object"||(e.push(r),Array.isArray(r.members)&&r.members.length>0&&Nh(r.members,e));return e}function Rh(n){if(typeof n!="number"||!Number.isFinite(n))return null;let e=Math.trunc(n);return e>0?e:null}function zh(n){let e=typeof n?.content=="string"&&n.content.length>0?n.content.split(`
|
|
523
|
+
`).length:0,r=Nh(n?.exports),i=0,t=0,o=0,s=0;for(let a of r){let c=Rh(a?.line??a?.start_line),l=Rh(a?.endLine??a?.end_line??c);if(!c||!l||l<c||e>0&&l>e){t++;continue}i++,l>c&&s++,e>0&&c===e&&l===e&&o++}return{total:r.length,valid:i,invalid:t,eofCollapsed:o,multiLine:s,lineCount:e}}function bx(n){let e=zh(n);if(e.total===0||e.lineCount===0)return!1;if(e.invalid>0)return!0;let r=e.eofCollapsed/e.total;return e.eofCollapsed>=3&&r>=.5||e.total>=2&&e.eofCollapsed===e.total}function Ph(n){let e=zh(n);return e.valid*2+e.multiLine*2-e.eofCollapsed*3-e.invalid*4}async function ee(n,e=vx,r=!1,i=!0,t){let o=C.getInstance(n),s=o.files.database,a=Mi(n),c=a.concurrency??e;if(ff(),!r&&Xe(n)){let v=sc(n),g=Ge(n);if(v&&!fc(n,v))return Pi(),$.debug({repoPath:n,commit:g},"Index is current, skipping re-index (fast-path)"),s}En(n);let l=o.files.findAll(),u=new Map(l.map(v=>[v.path,{mtime:v.mtime,hash:v.content_hash}])),d=Date.now();t?.({phase:"scan",current:0,total:0,message:"Scanning repository..."});let p=await Ka(n,a.ignore),f=new Map(p.map(v=>[v.path,v.mtime])),m=l.filter(v=>!f.has(v.path)).map(v=>v.path),h=l.length===0,b=[];if(r||h)b.push(...p);else{let v=p.filter(k=>{let S=u.get(k.path);return!S||S.mtime!==k.mtime}),g=xc(c*4),_=v.map(k=>g(async()=>{let S=u.get(k.path);if(!S||!S.hash)return k;try{let P=await hx.promises.readFile(k.path,"utf8");return oc(P,S.hash)?k:(o.files.updateMtime(k.path,k.mtime),null)}catch{return null}})),x=await Promise.all(_);b.push(...x.filter(k=>k!==null))}if(m.length===0&&b.length===0){Pi();let v=Ge(n);return Li(n,v||void 0),s}if(h?$.info({totalFiles:p.length},"Starting initial repository indexing..."):$.info({toDelete:m.length,toProcess:b.length},"Syncing repository updates..."),m.length>0&&o.files.deletePaths(m),b.length>0){gf(),i?(Pr(!0),en().initialize().catch(()=>{})):Pr(!1);let v=/\.(ts|tsx|php|py|go|js|jsx|mjs|cjs)$/,g=[],_=[];for(let z of b)v.test(Sc.basename(z.path))?g.push(z):_.push(z);let x=0,k=b.length,S=!1,P=oh();try{await P.initialize(),S=!0,$.info({workers:P.workerCount},"Parser worker pool active")}catch(z){$.warn({err:z},"Parser worker pool failed to initialize, falling back to main-thread parsing"),S=!1}let R=async(z,H)=>{let G=H;if(S&&bx(H))try{let Y=await $n(z.path);Ph(Y)>Ph(H)&&($.warn({filePath:z.path},"Detected suspicious worker parse ranges; using main-thread parse output"),G=Y)}catch(Y){$.warn({filePath:z.path,err:Y instanceof Error?Y.message:String(Y)},"Main-thread parse retry failed after suspicious worker parse")}let W=G.imports?.map(Y=>({...Y,resolved_path:Pt(Y.module,z.path,n)})),Z=G.content?Xt(G.content):null;return x++,(x%50===0||x===k)&&$.info({completed:x,total:k},"Parsing files..."),t?.({phase:"parse",current:x,total:k,message:`Parsing ${Sc.basename(z.path)}`}),{meta:z,...G,imports:W,embedding:null,kind:"code",contentHash:Z}},U;if(S)U=g.map(z=>P.parseFile(z.path).then(H=>R(z,H),H=>(x++,$.error({path:z.path,error:H},"Worker parse failed"),{meta:z,exports:[],imports:[],content:"",kind:"error"})));else{let z=h?Math.max(c,Math.min(yx-1,16)):c,H=xc(z);U=g.map(G=>H(async()=>{try{let W=await $n(G.path);return R(G,W)}catch(W){return x++,$.error({path:G.path,error:W},"Failed to parse file"),{meta:G,exports:[],imports:[],content:"",kind:"error"}}}))}let E=xc(c),I=_.map(z=>E(async()=>{try{let H=Tf(z.path),G=H.content?Xt(H.content):null;return x++,(x%50===0||x===k)&&$.info({completed:x,total:k},"Parsing configs..."),t?.({phase:"parse",current:x,total:k,message:`Parsing config ${Sc.basename(z.path)}`}),{meta:z,...H,embedding:null,kind:"config",contentHash:G}}catch(H){return x++,$.error({path:z.path,error:H},"Failed to parse config"),{meta:z,exports:[],imports:[],content:"",kind:"error"}}}));$.info({total:k,codeFiles:g.length,configFiles:_.length,useParserPool:S},"Phase 1: Parsing all files...");let N=Date.now(),j=(await Promise.all([...U,...I])).filter(Boolean),D=Date.now()-N;if(wr("parse",D),$.info({count:j.length,time:`${(D/1e3).toFixed(1)}s`},"Phase 1 complete"),S&&sh().catch(()=>{}),s.pragma("synchronous = NORMAL"),s.pragma("cache_size = -64000"),i){let z=[];j.forEach((ce,pe)=>{"summary"in ce&&ce.summary&&z.push({fileIdx:pe,text:ce.summary})}),$.info("Phase 2+3: Generating embeddings + persisting in parallel..."),t?.({phase:"embed",current:0,total:j.length,message:"Generating embeddings..."});let H=Date.now(),G=(async()=>{if(z.length>0){$.info({count:z.length}," \u2192 Generating file summary embeddings...");let ce=z.map(ie=>ie.text),pe=await Bi(ce,256);return $.info({count:z.length}," \u2713 File summaries complete"),pe}return[]})();t?.({phase:"persist",current:0,total:j.length,message:"Saving to database..."});let W=Date.now();o.files.batchSaveIndexResults(j,n,Xt,Pt);let Z=Date.now()-W;wr("persist",Z),$.info({time:`${(Z/1e3).toFixed(1)}s`},"Structural persist complete");let Y=await G,J=Date.now()-H;if(wr("embed",J),$.info({time:`${(J/1e3).toFixed(1)}s`},"Embeddings complete"),Y.length>0){let ce=s.prepare("UPDATE files SET embedding = ? WHERE path = ?"),pe=s.transaction(q=>{for(let B of q)ce.run(B.embedding?JSON.stringify(B.embedding):null,B.path)}),ie=z.map((q,B)=>({path:j[q.fileIdx].meta.path,embedding:Y[B]}));pe(ie),$.info({count:ie.length},"Embedding column updated")}let ne=await o.intentLogs.backfillEmbeddings(64);ne>0&&$.info({count:ne}," \u2713 Intent log embeddings backfilled")}else{t?.({phase:"persist",current:0,total:j.length,message:"Saving to database..."});let z=Date.now();o.files.batchSaveIndexResults(j,n,Xt,Pt),wr("persist",Date.now()-z)}s.pragma("synchronous = FULL"),s.pragma("cache_size = -2000")}if(h||b.length>0){let v=Ge(n);Li(n,v||void 0)}if((b.length>0||m.length>0)&&new Ie(n).detectAndRepairShifts(),h||i)try{new nn(n).analyzeHeritage(50)}catch(v){$.warn({err:v.message},"Heritage sync deferred")}return hf(Date.now()-d),t?.({phase:"complete",current:b.length,total:b.length,message:"Indexing complete"}),s}V();import Dh from"path";import _x from"ignore";import Ah from"fs";Q();async function $c(n,e=_i.DEFAULT_CONCURRENCY,r="detailed",i,t){$.info({repo:n,level:r,subPath:i},"Ensuring cache is up-to-date..."),await ee(n,e);let{files:o,exports:s,imports:a}=C.getInstance(n),c=i?o.findInSubPath(n,i):o.findAll(),l=Mi(n),u=_x(),d=Dh.join(n,".gitignore");if(Ah.existsSync(d)&&u.add(Ah.readFileSync(d,"utf8")),l.ignore&&l.ignore.length>0&&u.add(l.ignore),u.add(bi),c=c.filter(g=>{let _=Dh.relative(n,g.path);return!u.ignores(_)}),$.info({count:c.length},"Fetching data from DB..."),r==="lite"){let g=c.map(_=>({path:_.path,mtime:_.mtime}));return $r(g,n,r,t)}if(r==="summaries"){let g=c.map(_=>({path:_.path,mtime:_.mtime,classification:_.classification||void 0,summary:_.summary||void 0}));return $r(g,n,r,t)}let p=c.map(g=>g.path),f=s.findByFiles(p),m=r==="detailed"?a.findByFiles(p):[],h=new Map;for(let g of f){let _=h.get(g.file_path)||[];_.push(g),h.set(g.file_path,_)}let b=new Map;for(let g of m){let _=b.get(g.file_path)||[];_.push(g),b.set(g.file_path,_)}let v=c.map(g=>{let x=(h.get(g.path)||[]).map(S=>({name:S.name,kind:S.kind,signature:S.signature,line:S.start_line}));r==="structure"?x=x.map(S=>({name:S.name,kind:S.kind,line:S.line})):r==="signatures"&&(x=x.map(S=>({name:S.name,kind:S.kind,signature:S.signature,line:S.line})));let k=[];return r==="detailed"&&(k=(b.get(g.path)||[]).map(P=>({module:P.module_specifier,resolved_path:P.resolved_path}))),{path:g.path,mtime:g.mtime,classification:g.classification||void 0,summary:g.summary||void 0,exports:x,imports:k.length>0?k:void 0,chunks:[]}});return $.info({count:v.length},"Building hierarchical project tree..."),$r(v,n,r,t)}Nt();Q();Q();var rn=class n{static extractKeywords(e){if(!e)return[];let r=new Set(["the","and","for","with","from","this","that","into","onto","http","https","www","com","org","net","api"]),t=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9_]+/).map(o=>o.trim()).filter(o=>o.length>2&&!r.has(o));return Array.from(new Set(t))}static calculateKeywordCoverageFromKeywords(e,r){if(!e||!r||r.length===0)return 0;let i=e.toLowerCase();return r.filter(o=>i.includes(o)).length/r.length}static calculateKeywordCoverage(e,r){return n.calculateKeywordCoverageFromKeywords(e,n.extractKeywords(r))}static extractSnippet(e,r,i=300){if(!e||!r)return"";let t=n.extractKeywords(r);if(t.length===0)return e.slice(0,i)+"...";let o=e.split(`
|
|
524
|
+
`),s=new Array(o.length).fill(0);for(let p=0;p<o.length;p++){let f=o[p].toLowerCase(),m=0,h=0;for(let b of t)f.includes(b)&&(m++,h++);(f.includes("export ")||f.includes("class ")||f.includes("function ")||f.includes("interface "))&&(m+=1),s[p]=h*10+m}let a=0,c=-1,l=5;for(let p=0;p<=o.length-l;p++){let f=0;for(let m=0;m<l;m++)f+=s[p+m];f>c&&(c=f,a=p)}if(c<=0)return e.slice(0,i).trim()+"...";let d=o.slice(a,a+l).join(`
|
|
525
|
+
`).trim();return a>0&&(d=`...
|
|
526
|
+
`+d),a+l<o.length&&(d=d+`
|
|
527
|
+
...`),d.length>i?d.slice(0,i)+"...":d}static calculateLexicalScore(e,r){if(!e||!r)return 0;let i=n.extractKeywords(r);if(i.length===0)return 0;let t=0,o=e.toLowerCase();for(let s of i)if(o.includes(s)){t+=1;let a=new RegExp(`\\b${s}`,"gi"),c=o.match(a);c&&(t+=Math.min(c.length*.2,2)),new RegExp(`(class|function|export|interface|enum|type)\\s+${s}`,"i").test(e)&&(t+=1.5)}return t/i.length}};Nt();Q();V();var At=$.child({module:"clean-sweep"}),wc=class{files;intentLogs;constructor(e){let{files:r,intentLogs:i}=C.getInstance(e);this.files=r,this.intentLogs=i}pruneOrphans(){At.info("Starting orphan pruning...");let e=0,r=0,i=this.intentLogs.findOrphans();At.info({orphanCount:i.length},"Found orphaned logs");for(let s of i)s.file_path&&this.files.exists(s.file_path)?(this.intentLogs.markAsLapsed(s.id),r++,At.debug({logId:s.id,symbolName:s.symbol_name},"Converted to lapsed intent")):(this.intentLogs.delete(s.id),e++,At.debug({logId:s.id},"Deleted orphaned log"));let t=this.intentLogs.findLogsForMissingFiles();for(let s of t)this.intentLogs.delete(s.id),e++;let o=this.intentLogs.findRecentDecisionActivity(1e3).length;return At.info({deleted:e,converted:r},"Orphan pruning complete"),{deleted:e,converted:r,retained:o}}},ao=class{lambda;constructor(e=.01){this.lambda=e}calculateScore(e,r){let t=(Math.floor(Date.now()/1e3)-r)/(3600*24),o=Math.exp(-this.lambda*t);return e*o}scoreResults(e){return e.map(r=>({...r,decayed_score:this.calculateScore(r.score,r.created_at)}))}},kc=class{missions;constructor(e){let{missions:r}=C.getInstance(e);this.missions=r}findColdMissions(){let e=Math.floor(Date.now()/1e3)-604800,r=this.missions.findColdMissions(e,10);return At.info({count:r.length},"Found cold missions for compaction"),r}markDistilled(e){this.missions.update(e,{status:"distilled"})}},on=class{pruner;scorer;compactor;constructor(e){this.pruner=new wc(e),this.scorer=new ao,this.compactor=new kc(e)}runMaintenance(){At.info("Initiating Clean Sweep maintenance protocol...");let e=this.pruner.pruneOrphans(),r=this.compactor.findColdMissions();return At.info("Clean Sweep maintenance complete"),{pruning:e,compaction:{eligible:r.length}}}getScorer(){return this.scorer}getCompactor(){return this.compactor}};Q();V();var Lh=$.child({module:"lineage-service"}),Ar=class{repoPath;constructor(e){this.repoPath=e}getAncestorMissionIds(e=50){try{let r=dc(this.repoPath,e);if(r.length===0)return[];let{missions:i}=C.getInstance(this.repoPath),o=i.findByCommitShas(r).map(s=>s.id);return o.length>0&&Lh.debug({count:o.length},"Identified ancestor missions for gravity bleed"),o}catch(r){return Lh.warn({err:r.message},"Failed to identify ancestor missions"),[]}}};var xx={Solid:1,Liquid:.8,Virtual:.4,Intel:.2,Phantom:.05},tt=class{static classify(e,r){let i=e.toLowerCase();if(r?.content){let t=r.content;if(t.includes("describe(")||t.includes("test(")||t.includes("it(")||t.includes("expect(")||t.includes('from "@jest/globals"')||t.includes('from "vitest"'))return"Virtual"}return r?.exports&&(r.exports.some(o=>o.kind==="ClassDeclaration"||o.kind==="Class")||r.exports.length>5),i.includes("/dist/")||i.includes("/build/")||i.includes("/.generated/")||i.includes("/node_modules/")||i.endsWith(".map")||i.endsWith(".log")?"Phantom":i.includes("/test/")||i.includes("/tests/")||i.includes("/__tests__/")||i.includes("/__mocks__/")||i.includes(".spec.")||i.includes(".test.")||i.includes("/e2e/")||i.includes("/test-utils/")?"Virtual":i.includes("/examples/")||i.includes("/fixtures/")||i.includes("/mocks/")||i.includes("/stories/")||i.includes("/samples/")||i.includes("/docs/")?"Intel":i.includes("/src/")||i.includes("/lib/")||i.includes("/app/")||i.includes("/core/")||i.includes("/logic/")||i.includes("/domain/")||i.includes("/services/")||i.includes("/controllers/")||i.includes("/handlers/")||i.includes("/repositories/")||i.includes("/models/")||i.includes("/packages/")&&!i.includes("/packages/config/")||i.includes("/backends/")||r?.exports&&(r.exports.some(t=>t.kind==="ClassDeclaration"||t.kind==="Class")||r.exports.length>5)?"Solid":"Liquid"}static mapClassificationToTier(e){let r=e.toLowerCase();return r==="service"||r==="repository"||r==="model"||r==="controller"||r==="handler"||r==="component"||r==="hook"||r==="titanium"||r==="solid"?"Solid":r==="test"||r==="iron"||r==="virtual"?"Virtual":r==="lead"||r==="intel"?"Intel":r==="ghost"||r==="error"||r==="phantom"?"Phantom":"Liquid"}static getMultiplier(e,r){let i=r?this.mapClassificationToTier(r):this.classify(e);return xx[i]}};V();var Oh=(c=>(c.EXACT="exact",c.EXACT_CASE_INSENSITIVE="exact-case-insensitive",c.PREFIX="prefix",c.SUFFIX="suffix",c.SUBSTRING="substring",c.CAMEL_CASE="camel-case",c.ACRONYM="acronym",c.LEVENSHTEIN="levenshtein",c))(Oh||{});function Sx(n,e){let r=[];for(let i=0;i<=e.length;i++)r[i]=[i];for(let i=0;i<=n.length;i++)r[0][i]=i;for(let i=1;i<=e.length;i++)for(let t=1;t<=n.length;t++)e.charAt(i-1)===n.charAt(t-1)?r[i][t]=r[i-1][t-1]:r[i][t]=Math.min(r[i-1][t-1]+1,r[i][t-1]+1,r[i-1][t]+1);return r[e.length][n.length]}function $x(n,e){let r=Sx(n.toLowerCase(),e.toLowerCase()),i=Math.max(n.length,e.length);return Math.round((i-r)/i*100)}function Ch(n){let e=[],r="";for(let i=0;i<n.length;i++){let t=n[i],o=t>="A"&&t<="Z",s=t>="a"&&t<="z";o&&r.length>0?(e.push(r),r=t):s||o?r+=t:r.length>0&&(e.push(r),r="")}return r.length>0&&e.push(r),e}function wx(n,e){let r=Ch(e),i=n.toLowerCase();if(r.map(s=>s[0].toLowerCase()).join("")===i)return!0;let o=0;for(let s of r){if(o>=n.length)break;let a=s.toLowerCase();if(a.startsWith(i.slice(o))){o=n.length;break}a[0]===i[o]&&o++}return o===n.length}function kx(n,e){return Ch(e).map(t=>t[0].toLowerCase()).join("")===n.toLowerCase()}function Ex(n,e){let r=n.toLowerCase(),i=e.toLowerCase();if(n===e)return{matchType:"exact",score:100};if(r===i)return{matchType:"exact-case-insensitive",score:98};if(i.startsWith(r))return{matchType:"prefix",score:90+n.length/e.length*8};if(i.endsWith(r))return{matchType:"suffix",score:80+n.length/e.length*8};if(i.includes(r)){let o=n.length/e.length,s=i.indexOf(r)/e.length;return{matchType:"substring",score:70+o*10-s*5}}return kx(n,e)?{matchType:"acronym",score:75}:wx(n,e)?{matchType:"camel-case",score:65}:{matchType:"levenshtein",score:$x(n,e)*.6}}function Nn(n,e,r=50,i=5){let t=[];for(let o of e){let{matchType:s,score:a}=Ex(n,o);if(a>=r){let l={exact:1e3,"exact-case-insensitive":900,prefix:800,suffix:700,substring:600,acronym:550,"camel-case":500,levenshtein:100}[s]+a;t.push({match:o,score:a,matchType:s,rank:l})}}return t.sort((o,s)=>s.rank!==o.rank?s.rank-o.rank:s.score!==o.score?s.score-o.score:o.match.length-s.match.length),t.slice(0,i)}Me();var je=class n{constructor(e){this.repoPath=e}get filesRepo(){return C.getInstance(this.repoPath).files}get exportsRepo(){return C.getInstance(this.repoPath).exports}get intentLogsRepo(){return C.getInstance(this.repoPath).intentLogs}static normalizeFileType(e){if(e==null)return;let r=Array.isArray(e)?e:e.split(",").map(i=>i.trim().replace(/^\./,""));return r.filter(Boolean).length?r:void 0}static matchesFilters(e,r,i,t){if(r.fileType?.length){let o=e.replace(/^.*\./,"").toLowerCase();if(!r.fileType.some(s=>s.toLowerCase()===o))return!1}if(r.layer!=null||r.excludeLayers&&r.excludeLayers.length>0){let o=t!=null?tt.mapClassificationToTier(t):tt.classify(e);if(r.layer!=null&&o!==r.layer||r.excludeLayers?.includes(o))return!1}return!0}async searchByPath(e,r,i,t,o,s=!1){let a=this.extractPathKeywords(e),c=this.isLikelySymbolQuery(e),l=this.filesRepo.findByPathKeywords(a,Math.min((r??50)*(o?Ee.FILTERED_QUERY_LIMIT_MULTIPLIER:1),ue.MAX_LIMIT)).map(g=>({...g,source:"path",keywordHits:this.countPathKeywordHits(g.path,a),relevance:this.scorePathResult(g.path,a,"path",c)}));o&&(l=l.filter(g=>n.matchesFilters(g.path,t,g.mtime,g.classification))),c&&a.length>=3&&(l=l.filter(g=>g.source==="symbol"||g.keywordHits>=2));let u=this.findSymbolBackedPaths(e,a,r*3),d=new Set(l.map(g=>g.path));for(let g of u){if(d.has(g))continue;let _=this.filesRepo.findByPath(g);_&&(o&&!n.matchesFilters(_.path,t,_.mtime,_.classification)||(l.push({..._,source:"symbol",keywordHits:this.countPathKeywordHits(_.path,a),relevance:this.scorePathResult(_.path,a,"symbol",c)}),d.add(g)))}l.sort((g,_)=>_.relevance-g.relevance),o||(l=l.slice(0,Math.min(r*4,ue.MAX_LIMIT)));let p=l.length;if(p===0)return{content:[{type:"text",text:`No indexed files match path/filename: "${e}".
|
|
528
|
+
|
|
529
|
+
If the repo is not indexed, run shadow_recon_onboard then shadow_sync_trace. Otherwise try broader keywords.`}]};let f=g=>g.replace(this.repoPath,"").replace(/^\//,"");if(s){let _=new oe(this.repoPath).getSection("gravity"),x=new Map;if(_?.hotspots)for(let E of _.hotspots){let I=x.get(E.filePath)||0;x.set(E.filePath,I+E.gravity)}let k=l.map(E=>{let I=x.get(E.path)||0,N=E.classification?tt.mapClassificationToTier(E.classification):tt.classify(E.path);return{...E,gravity:I,layer:N}});k.sort((E,I)=>I.gravity!==E.gravity?I.gravity-E.gravity:I.relevance!==E.relevance?I.relevance-E.relevance:E.path.localeCompare(I.path));let S=k.slice(i,i+r),P=i+r<p;if(S.length===0)return{content:[{type:"text",text:`No results at offset ${i}. Total matches: ${p}.`}]};let R=P?`
|
|
530
|
+
> **Note**: More results available. Use \`offset: ${i+r}\` to see the next page.`:"";return{content:[{type:"text",text:`# Resolved paths: "${e}" (Ranked by Gravity)
|
|
531
|
+
|
|
532
|
+
Showing ${S.length} of ${p} file(s) (offset: ${i}, limit: ${r})${R}
|
|
533
|
+
|
|
534
|
+
`+S.map((E,I)=>{let N=E.gravity>50?" \u269B\uFE0F":E.gravity>0?" \u2022":"",j=E.gravity>0?` [G:${Math.round(E.gravity)}]`:"",D=E.source==="symbol"?" [via symbol]":"";return`${i+I+1}. \`${f(E.path)}\` (${E.layer})${N}${j}${D}`}).join(`
|
|
535
|
+
`)+`
|
|
536
|
+
|
|
537
|
+
> **Legend**: \u269B\uFE0F = High-gravity hotspot (>50), \u2022 = Has gravity, G = Gravity score`}]}}let m=l.slice(i,i+r),h=i+r<p;if(m.length===0)return{content:[{type:"text",text:`No results at offset ${i}. Total matches: ${p}.`}]};let b=h?`
|
|
538
|
+
> **Note**: More results available. Use \`offset: ${i+r}\` to see the next page.`:"";return{content:[{type:"text",text:`# Resolved paths: "${e}"
|
|
539
|
+
|
|
540
|
+
Showing ${m.length} of ${p} file(s) (offset: ${i}, limit: ${r})${b}
|
|
541
|
+
|
|
542
|
+
`+m.map((g,_)=>{let x=g.source==="symbol"?" [via symbol]":"";return`${i+_+1}. \`${f(g.path)}\`${g.classification?` (${g.classification})`:""}${x}`}).join(`
|
|
543
|
+
`)}]}}async searchByConcept(e,r,i,t,o,s=!1){$.info({repoPath:this.repoPath,query:e},"Searching by concept (Semantic Analysis)...");let a=await Wi(e),c=p=>p.replace(this.repoPath,"").replace(/^\//,""),l=Math.min(Math.max((r+i)*2,r),ue.MAX_LIMIT),u=await this.findConceptMatches(e,a,t,o,l,0),d=a?await this.findIntentLogMatches(a,5):[];if(u.length>0||d.length>0){let p=u.length,f=u.slice(i,i+r),h=i+r<p?`
|
|
544
|
+
> **Note**: More results available. Use \`offset: ${i+r}\` to see the next page.`:"",b=s?`
|
|
545
|
+
> _Compact mode: snippets omitted_`:p>20&&!s?"\n> \u{1F4A1} **Tip**: Use `compact: true` to reduce output size (omits snippets).":"",v=`# Semantic Concept Search: "${e}"
|
|
546
|
+
|
|
547
|
+
Showing ${f.length} of ${p} relevant file(s) (offset: ${i}, limit: ${r})${h}${b}
|
|
548
|
+
|
|
549
|
+
`,_=new oe(this.repoPath).getSection("gravity"),x=new Map;if(_?.hotspots)for(let S of _.hotspots)x.set(S.filePath,S.gravity);let k=s?v+f.map((S,P)=>{let R=c(S.path),U=Math.round((S.score||0)*100),I=x.get(S.path)?" \u269B\uFE0F":"";return`${i+P+1}. \`${R}\`${I} (${U}%) - ${S.summary||"No summary"}`}).join(`
|
|
550
|
+
`):v+f.map((S,P)=>{let R=c(S.path),U=Math.round((S.score||0)*100),E=x.get(S.path),I=E?" \u269B\uFE0F **CORE**":"",N=E&&E>50?`
|
|
551
|
+
> \u26A0\uFE0F **STRATEGIC RISK**: High-gravity hotspot (${E.toFixed(0)}). Modifications may have significant architectural impact.`:"";return`## ${i+P+1}. ${R}${I} (${U}% Match)
|
|
552
|
+
> **Rationale**: ${S.rationale}${N}
|
|
553
|
+
|
|
554
|
+
`+(S.snippet?`**Matched Snippet**:
|
|
555
|
+
\`\`\`typescript
|
|
556
|
+
${S.snippet}
|
|
557
|
+
\`\`\`
|
|
558
|
+
|
|
559
|
+
`:"")+`**Summary**: ${S.summary||"No summary available"}
|
|
560
|
+
`}).join(`
|
|
561
|
+
`);return d.length>0&&(k+=`
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
## Intent Vectors (${d.length} matching decision(s))
|
|
565
|
+
|
|
566
|
+
`,k+=d.map((S,P)=>{let R=Math.round((S.score||0)*100),U=S.symbolName?` \`${S.symbolName}\``:"",E=S.missionId?` [Mission #${S.missionId}]`:"",I=S.content.length>200?S.content.slice(0,200)+"...":S.content;return s?`${P+1}. **[${S.type}]**${U}${E} (${R}%) - ${I}`:`### ${P+1}. [${S.type}]${U}${E} (${R}% Match)
|
|
567
|
+
> ${I}
|
|
568
|
+
`}).join(`
|
|
569
|
+
`)),{content:[{type:"text",text:k}]}}if(i===0){let p=this.filesRepo.getStats(),f=e.toLowerCase().split(/\s+/),m=this.filesRepo.findByPathKeywords(f,r);if(o&&(m=m.filter(h=>n.matchesFilters(h.path,t,h.mtime,h.classification))),m.length>0)return{content:[{type:"text",text:`# Concept Search: "${e}"
|
|
570
|
+
|
|
571
|
+
\u26A0\uFE0F No hybrid matches (${p.withSummary}/${p.total} summaries indexed).
|
|
572
|
+
|
|
573
|
+
Found ${m.length} file(s) with matching paths:
|
|
574
|
+
|
|
575
|
+
`+m.map((b,v)=>`${v+1}. \`${c(b.path)}\` (${b.classification||"Unknown"})`).join(`
|
|
576
|
+
`)}]}}return{content:[{type:"text",text:`No files found matching concept: "${e}"
|
|
577
|
+
|
|
578
|
+
Try a symbol search: shadow_search_symbol({ query: "${e}", repoPath })`}]}}async searchBySymbol(e,r,i,t,o,s="any"){let a=e.toLowerCase(),c=E=>E.replace(this.repoPath,"").replace(/^\//,""),l=this.buildFtsQuery(e,s),u;try{u=this.exportsRepo.findFts(l,r+50)}catch{u=this.exportsRepo.findByPartialName(e,r+50)}if(u.length===0){let E=this.exportsRepo.getAllNames(5e3),I=e.trim().split(/\s+/).filter(j=>j.length>0);if(I.length>1){let j=new Map;for(let z of I){let H=Nn(z,E,40,20);for(let G of H){let W=j.get(G.match);W?(W.terms.push(z),W.bestScore=Math.max(W.bestScore,G.score)):j.set(G.match,{terms:[z],bestScore:G.score})}}let D=Array.from(j.entries()).sort((z,H)=>H[1].terms.length!==z[1].terms.length?H[1].terms.length-z[1].terms.length:H[1].bestScore-z[1].bestScore).slice(0,10);if(D.length>0){let z=D.map(([H,G])=>{let W=G.terms.join(", ");return` \u2022 \`${H}\` (matches: ${W}, ${Math.round(G.bestScore)}%)`}).join(`
|
|
579
|
+
`);return{content:[{type:"text",text:`No symbols found matching all terms: "${e}"
|
|
580
|
+
|
|
581
|
+
**Partial matches:**
|
|
582
|
+
${z}
|
|
583
|
+
|
|
584
|
+
\u{1F4A1} Try searching for individual terms, or use shadow_search_concept for semantic search.`}]}}}else{let j=Nn(e,E,50,5);if(j.length>0){let D=j.map(z=>` \u2022 \`${z.match}\` (${Math.round(z.score)}% ${z.matchType} match)`).join(`
|
|
585
|
+
`);return{content:[{type:"text",text:`No symbols found matching: "${e}"
|
|
586
|
+
|
|
587
|
+
**Did you mean?**
|
|
588
|
+
${D}
|
|
589
|
+
|
|
590
|
+
\u{1F4A1} Try shadow_search_symbol with fuzzy, or shadow_search_concept for semantic search.`}]}}}return{content:[{type:"text",text:`No symbols found matching: "${e}"
|
|
591
|
+
|
|
592
|
+
\u{1F4A1} Try shadow_search_symbol (fuzzy) or shadow_search_concept for semantic search.`}]}}o&&(u=u.filter(E=>{let I=this.filesRepo.findByPath(E.file_path);return n.matchesFilters(E.file_path,t,I?.mtime,I?.classification)}));let d=new Ar(this.repoPath),p=new oe(this.repoPath),f=d.getAncestorMissionIds(),m=_e(this.repoPath)||void 0,h=this.exportsRepo.getGravityMap(f,m),b=p.getSection("gravity"),v=new Map;if(b?.hotspots)for(let E of b.hotspots)v.set(`${E.filePath}::${E.symbol}`,E.gravity);let g="\u{1F525}",_="\u26A1",x="\u269B\uFE0F",k=u.map((E,I)=>{let N=h[E.id],j=v.get(`${E.file_path}::${E.name}`),D=this.filesRepo.findByPath(E.file_path),z=tt.getMultiplier(E.file_path,D?.classification),H=(Ee.SCORE_BASE-I)*z;N&&(H+=N.score*Ee.SCORE_BASE),j&&(H+=j*Ee.SCORE_BASE*Ee.GRAVITY_STRUCTURAL_WEIGHT),E.name.toLowerCase()===a&&(H+=Ee.EXACT_MATCH_BONUS*z);let G=D?.mtime;if(G!=null){let Z=G>1e10?G/1e3:G,Y=(Date.now()/1e3-Z)/qa.SECONDS_PER_DAY;Y<Ee.RECENT_FILE_THRESHOLD_DAYS?H+=Ee.RECENT_FILE_BOOST:Y<Ee.OLDER_FILE_THRESHOLD_DAYS&&(H+=Ee.OLDER_FILE_BOOST)}let W=[];return N&&W.push(...N.reasons),j&&W.push(`Structural Hotspot (Gravity: ${j.toFixed(1)})`),{...E,activeGravity:N,structuralGravity:j,sortScore:H,reasons:W}}).sort((E,I)=>I.sortScore-E.sortScore).slice(i,i+r),S=u.length,P=i+r<S,R=k.map((E,I)=>{let N=c(E.file_path),j=this.filesRepo.getContent(E.file_path),D="";if(j){let G=j.split(`
|
|
593
|
+
`);D=G.slice(Math.max(0,E.start_line-2),Math.min(G.length,E.start_line+3)).join(`
|
|
594
|
+
`).trim()}let z=[];E.activeGravity&&(E.activeGravity.reasons.some(G=>G.includes("Working Set"))?z.push(g):E.activeGravity.reasons.some(G=>G.includes("Recent Intent"))&&z.push(_)),E.structuralGravity&&z.push(x);let H=z.length>0?` ${z.join("")}`:"";return{relPath:N,name:E.name,kind:E.kind,signature:E.signature,line:E.start_line,snippet:D,badgeStr:H,gravityReasons:E.reasons}});return{content:[{type:"text",text:`# Symbol Search Results: "${e}"
|
|
595
|
+
|
|
596
|
+
Showing ${R.length} matching symbol(s)${P?` (use offset=${i+r} for more)`:""}:
|
|
597
|
+
|
|
598
|
+
`+R.map((E,I)=>{let N=`## ${i+I+1}. \`${E.name}\` (${E.kind})${E.badgeStr}
|
|
599
|
+
**File**: \`${E.relPath}:${E.line}\`
|
|
600
|
+
`;return E.gravityReasons&&(N+=`> *${E.gravityReasons.join(", ")}*
|
|
601
|
+
`),E.signature&&(N+=`**Signature**: \`${E.signature}\`
|
|
602
|
+
`),E.snippet&&(N+=`
|
|
603
|
+
\`\`\`typescript
|
|
604
|
+
${E.snippet}
|
|
605
|
+
\`\`\`
|
|
606
|
+
`),N}).join(`
|
|
607
|
+
`)}]}}async findConceptMatches(e,r,i,t,o,s=0){let a=_e(this.repoPath)||void 0,l=new on(this.repoPath).getScorer(),d=new Ar(this.repoPath).getAncestorMissionIds(),p=this.filesRepo.getGravityMap(d,a),f=rn.extractKeywords(e),m=f.length>=3,h=this.extractOrderedConceptTerms(e),b=this.buildNgrams(h,2,3),v=m?this.collectConceptSymbolHintPaths(f,Math.max(o*10,100)):new Set,g=Math.min(Math.max((o+s)*6,Ee.FILTERED_QUERY_LIMIT_MULTIPLIER*20),ue.MAX_LIMIT),[_,x]=await Promise.all([Promise.resolve(r?this.filesRepo.findWithEmbeddings():[]),Promise.resolve(this.filesRepo.findContentFts(e,g))]),k=[];if(r){for(let I of _)try{let N=JSON.parse(I.embedding),j=Gi(r,N);k.push({row:I,similarity:j,vectorRank:0})}catch{}k.sort((I,N)=>N.similarity-I.similarity);for(let I=0;I<k.length;I++)k[I].vectorRank=I+1}let S=this.rrfMerge(k.slice(0,g).map(I=>({path:I.row.path,rank:I.vectorRank,score:I.similarity,row:I.row})),x.slice(0,g).map((I,N)=>({path:I.path,rank:N+1,bm25Rank:I.bm25_rank,row:I})),60);if(S.length===0)return[];let P=new Map;for(let I of k)P.set(I.row.path,I.similarity);let R=[],U=new Map;for(let I of S){let N=I.row,j=P.get(N.path)||0,D=I.ftsRank!==null,z=I.vectorRank!==null,H=this.filesRepo.getContent(N.path),G=Ee.ENABLE_LEXICAL_SCORING&&H?rn.calculateLexicalScore(H,e):0,W=H?rn.calculateKeywordCoverageFromKeywords(H,f):0,Z=f.length>0?Math.round(W*f.length):0,Y=this.calculatePhraseCoverage(`${N.path}
|
|
608
|
+
${N.summary||""}
|
|
609
|
+
${H||""}`,b),J=v.has(N.path),ne=1;if(H){let br=/\b(class|function|const|let|var|enum)\s+\w+/.test(H);if(/export\s+/.test(H)&&!br){let Yb=H.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"");/\b(class|function|const|let|var|enum)\s+\w+/.test(Yb)||(ne=.1)}}let ce=J?.08:G>0||Y>0||D?.14:m?.22:.18;if(z&&j<=ce&&!D)continue;if(f.length>0&&G===0&&!D){if(m){if(!J&&(Z===0&&Y===0&&j<.4||Z<=1&&Y===0&&j<.34||Z===1&&j<.3))continue}else if(Z===0&&j<.24)continue}if(m&&!J&&Y===0&&Z<=1&&j<.3&&!D||t&&!n.matchesFilters(N.path,i,N.mtime,N.classification))continue;let pe=N.mtime>2e9?Math.floor(N.mtime/1e3):N.mtime,ie=Math.floor(Date.now()/1e3)-qa.SECONDS_PER_YEAR,q=tt.getMultiplier(N.path,N.classification),B=z?l.calculateScore(j,pe||ie):0,Se=I.fusedScore*60,be=(Se+B*.2)*q,Ne=p[N.path],xe=N.classification?tt.mapClassificationToTier(N.classification):tt.classify(N.path,{content:H??void 0}),ge=`vector_rank: ${this.formatRank(I.vectorRank)} | fts_rank: ${this.formatRank(I.ftsRank)} | fused_score: ${I.fusedScore.toFixed(6)} | Similarity: ${(j*100).toFixed(0)}%, Tier: ${xe}${q!==1?` (${q}x)`:""}`;if(J&&(ge+=" | SymbolHint"),G>0&&(be+=G*Ee.LEXICAL_WEIGHT,ge+=` | Lexical: +${G.toFixed(1)}`),f.length>0)if(W>0){let br=m?W*.45:W*.35;be+=br,ge+=` | Keywords: ${(W*100).toFixed(0)}%`}else ge+=" | Keywords: 0%",m&&!D&&(be*=.55,ge+=" (penalty)");if(b.length>0)if(Y>0){let br=m?Y*.8:Y*.35;be+=br,ge+=` | Phrases: ${(Y*100).toFixed(0)}%`}else m&&!D&&(be*=.72,ge+=" | Phrases: 0% (penalty)");Ne&&(be+=Ne.score,ge+=` | \u{1F525} Gravity: +${Ne.score.toFixed(1)} (${Ne.reasons.join(", ")})`),m&&this.isGenericConceptPath(N.path)&&Z<=1&&Y===0&&!D&&(be*=.75,ge+=" | Generic path penalty"),ne<1&&(be*=ne,ge+=` | \u{1F4C9} Barrel: x${ne}`);let vr=H?rn.extractSnippet(H,e):void 0,Kb=Math.max(j,Math.min(1,Se));R.push({path:N.path,summary:N.summary||"",score:Kb,fusedScore:I.fusedScore,vectorRank:I.vectorRank,ftsRank:I.ftsRank,decayedScore:be,rationale:ge,snippet:vr}),U.set(N.path,{lexicalScore:G,keywordCoverage:W,matchedKeywordCount:Z,phraseCoverage:Y})}if(R.length>0&&f.length>0){let I=this.exportsRepo.findByFiles(R.map(j=>j.path)),N=new Map;for(let j of I){let D=N.get(j.file_path)??[];D.push(j.name),N.set(j.file_path,D)}for(let j of R){let D=this.calculateIdentifierOverlap(f,N.get(j.path)??[]);if(D>0){let z=m?D*.8:D*.25;j.decayedScore=(j.decayedScore||0)+z,j.rationale+=` | Symbols: ${(D*100).toFixed(0)}%`}else m&&this.isGenericConceptPath(j.path)&&(j.decayedScore=(j.decayedScore||0)*.82,j.rationale+=" | Symbols: 0% (generic penalty)")}}let E=new Map;for(let I of R){let N=I.path.split("/").pop()?.split(".")[0].replace(/(Controller|Service|Repository|Component|View|Page|Handler|Wrapper|Client|DTO|Interface)$/i,"").toLowerCase();N&&N.length>3&&(E.has(N)||E.set(N,[]),E.get(N).push(I))}for(let[I,N]of E.entries())if(new Set(N.map(D=>D.path.split(".").pop())).size>1)for(let D of N)D.decayedScore=(D.decayedScore||0)+.15,D.rationale+=` | \u{1F310} Polyglot Flow: +0.15 (Linked via '${I}')`;if(m&&R.length>1){let I=Math.min(Math.max(o*4,Ee.FILTERED_QUERY_LIMIT_MULTIPLIER*20),R.length),N=[...R].sort((D,z)=>(z.decayedScore||0)-(D.decayedScore||0)).slice(0,I),j=this.computeBm25LikeConfirmation(N.map(D=>D.path),f);for(let D of N){let z=j.get(D.path)||0,H=U.get(D.path);if(z>0){let G=Math.min(.95,z*.18);D.decayedScore=(D.decayedScore||0)+G,D.rationale+=` | LexConfirm: +${G.toFixed(2)}`}else H&&H.matchedKeywordCount<=1&&H.phraseCoverage===0&&H.lexicalScore===0&&(D.decayedScore=(D.decayedScore||0)*.85,D.rationale+=" | LexConfirm: 0 (penalty)")}}return R.sort((I,N)=>(N.decayedScore||0)-(I.decayedScore||0)),R.slice(s,s+Math.min(o,ue.MAX_LIMIT))}async findIntentLogMatches(e,r){return(await this.intentLogsRepo.findSemanticMatches(e,r)).map(t=>({id:t.id,missionId:t.mission_id,type:t.type,content:t.content,symbolName:t.symbol_name,filePath:t.file_path,score:t.similarity,decayedScore:t.similarity,rationale:`Similarity: ${(t.similarity*100).toFixed(0)}%`,createdAt:t.created_at}))}buildFtsQuery(e,r){let i=e.trim();if(!i.includes(" "))return`"${i}" OR ${i}*`;let t=i.split(/\s+/).filter(o=>o.length>0);switch(r){case"exact":return`"${i}"`;case"all":return t.map(o=>`${o}*`).join(" ");default:return t.map(o=>`${o}*`).join(" OR ")}}extractPathKeywords(e){let r=e.trim();if(!r)return[];let i=r.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9_\/.-]+/).map(o=>o.trim()).filter(o=>o.length>=2),t=new Set;t.add(r.toLowerCase());for(let o of i)t.add(o);return Array.from(t)}isLikelySymbolQuery(e){let r=e.trim();return!r||/[\/\\]/.test(r)?!1:/^[a-z]+(?:[A-Z][a-z0-9]+)+$/.test(r)||!r.includes(" ")&&/[A-Z]/.test(r)}countPathKeywordHits(e,r){let i=e.toLowerCase(),t=r.filter(s=>s.length>=3),o=0;for(let s of t)i.includes(s.toLowerCase())&&(o+=1);return o}scorePathResult(e,r,i,t){let s=this.countPathKeywordHits(e,r)*10;i==="symbol"&&(s+=25);let a=e.toLowerCase(),c=a.includes("/.env")||a.endsWith(".env")||a.endsWith(".yml")||a.endsWith(".yaml")||a.endsWith(".json")||a.endsWith(".md");return t&&c&&(s-=20),t&&a.includes("/tests/")&&(s-=15),s}findSymbolBackedPaths(e,r,i){let t=e.trim().toLowerCase();if(!t)return[];if(/[\/\\]/.test(t))return[];let o=Array.from(new Set([t,...r])).filter(c=>c.length>=3).slice(0,6);if(o.length===0)return[];let s=o.flatMap(c=>{let l=c===t?Math.min(i,60):Math.min(i,30);return this.exportsRepo.findByPartialName(c,l)}),a=new Map;for(let c of s){let l=c.name.toLowerCase(),u=0;l===t&&(u+=6),l.startsWith(t)&&(u+=4),l.includes(t)&&(u+=3);for(let p of r)p.length>=3&&l.includes(p)&&(u+=1);if(u===0)continue;let d=a.get(c.file_path)||0;u>d&&a.set(c.file_path,u)}return Array.from(a.entries()).sort((c,l)=>l[1]-c[1]).slice(0,Math.min(i,ue.MAX_LIMIT)).map(([c])=>c)}rrfMerge(e,r,i){let t=new Map,o=1.2,s=.8;for(let a of e){let c=t.get(a.path)||{path:a.path,row:a.row,vectorRank:null,ftsRank:null,fusedScore:0};c.vectorRank=a.rank,c.fusedScore+=o/(i+a.rank),t.set(a.path,c)}for(let a of r){let c=t.get(a.path)||{path:a.path,row:a.row,vectorRank:null,ftsRank:null,fusedScore:0};c.ftsRank=a.rank,c.fusedScore+=s/(i+a.rank),t.set(a.path,c)}return Array.from(t.values()).sort((a,c)=>c.fusedScore-a.fusedScore)}formatRank(e){return e==null?"none":String(e)}extractOrderedConceptTerms(e){return e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9_]+/).map(r=>r.trim()).filter(r=>r.length>=3):[]}buildNgrams(e,r,i){if(e.length<r)return[];let t=[];for(let o=r;o<=i&&!(e.length<o);o++)for(let s=0;s<=e.length-o;s++)t.push(e.slice(s,s+o).join(" "));return Array.from(new Set(t))}calculatePhraseCoverage(e,r){if(!e||r.length===0)return 0;let i=e.toLowerCase(),t=0;for(let o of r)i.includes(o)&&(t+=1);return t/r.length}calculateIdentifierOverlap(e,r){if(e.length===0||r.length===0)return 0;let i=new Set(e.map(s=>s.toLowerCase())),t=new Set;for(let s of r){let a=s.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9_]+/).map(c=>c.trim()).filter(c=>c.length>=3);for(let c of a)t.add(c)}let o=0;for(let s of i)t.has(s)&&(o+=1);return o/i.size}isGenericConceptPath(e){let r=e.toLowerCase();return/(?:^|\/)(index|utils?|helpers?|common|shared|types?|constants?|models?)(?:\/|\.|$)/.test(r)}computeBm25LikeConfirmation(e,r){let i=Array.from(new Set(r.map(d=>d.toLowerCase()).filter(d=>d.length>=3)));if(e.length===0||i.length===0)return new Map;let t=new Set(i),o=[],s=new Map;for(let d of e){let f=(this.filesRepo.getContent(d)??"").toLowerCase().split(/[^a-z0-9_]+/).map(h=>h.trim()).filter(Boolean),m=new Map;for(let h of f)t.has(h)&&m.set(h,(m.get(h)||0)+1);for(let h of i)(m.get(h)||0)>0&&s.set(h,(s.get(h)||0)+1);o.push({path:d,frequencies:m,length:Math.max(f.length,1)})}let a=o.reduce((d,p)=>d+p.length,0)/Math.max(o.length,1),c=1.2,l=.75,u=new Map;for(let d of o){let p=0;for(let f of i){let m=d.frequencies.get(f)||0;if(m===0)continue;let h=s.get(f)||0,b=Math.log(1+(o.length-h+.5)/(h+.5)),v=m*(c+1)/(m+c*(1-l+l*(d.length/Math.max(a,1))));p+=b*v}u.set(d.path,p)}return u}collectConceptSymbolHintPaths(e,r){let i=Array.from(new Set(e.filter(o=>o.length>=4&&!this.isLowSignalConceptKeyword(o)))).slice(0,6);if(i.length===0)return new Set;let t=new Map;for(let o of i){let s=this.exportsRepo.findByPartialName(o,Math.min(r,80));for(let a of s){let c=a.name.toLowerCase(),l=0;c===o&&(l+=3),c.startsWith(o)&&(l+=2),c.includes(o)&&(l+=1),l!==0&&t.set(a.file_path,(t.get(a.file_path)||0)+l)}}return new Set(Array.from(t.entries()).sort((o,s)=>s[1]-o[1]).slice(0,Math.min(r,ue.MAX_LIMIT)).map(([o])=>o))}isLowSignalConceptKeyword(e){return new Set(["type","types","data","update","create","list","item","value","model","helper"]).has(e.toLowerCase())}};Me();ct();function Lt(n){let{fileType:e,layer:r}=n,i={fileType:je.normalizeFileType(e),layer:r},t=!!(i.fileType?.length||i.layer!=null);return{filters:i,hasFilters:t}}Q();Me();import{Visitor as Ix}from"@swc/core/Visitor.js";var zn=class extends Ix{calls=new Set;apiCalls=[];imports=new Map;axiosInstances=new Map([["axios",""],["http",""],["appApi",""],["restApi",""],["adminApi",""]]);visitImportDeclaration(e){let r=e.source.value;for(let i of e.specifiers)(i.type==="ImportDefaultSpecifier"||i.type==="ImportSpecifier")&&this.imports.set(i.local.value,r);return super.visitImportDeclaration(e)}visitCallExpression(e){if(e.callee.type==="Identifier"){let r=e.callee.value;this.calls.add(r),(r==="axios"||r==="http")&&e.arguments.length>0&&this.extractApiCallFromConfig(e.arguments[0].expression)}else if(e.callee.type==="MemberExpression"){let r=e.callee.property.value,i=o=>{if(!o)return"?";if(o.type==="Identifier")return o.value;if(o.type==="ThisExpression")return"this";if(o.type==="MemberExpression"){let s=i(o.object),a=o.property.value||"?";return`${s}.${a}`}return o.type==="TsNonNullExpression"||o.type==="TsAsExpression"||o.type==="ParenthesisExpression"?i(o.expression):"?"},t=i(e.callee.object);if(t!=="?"&&r){if(this.calls.add(`${t}.${r}`),t==="axios"||t==="http"||this.axiosInstances.has(t)){let o=this.axiosInstances.get(t)||"";this.extractApiCall(r,e.arguments,o)}if((t.toLowerCase().includes("pubsub")||t==="pubSubClient"||t.endsWith(".pubSubClient"))&&r!=="subscribe"){let o=r;if((r==="publish"||r==="publishMessage"||r==="publishTaskByNameAndPayload")&&e.arguments.length>0)for(let s of e.arguments){let a=s.expression;if(a.type==="ObjectExpression"){let c=a.properties.find(l=>l.key?.type==="Identifier"&&(l.key.value==="action"||l.key.value==="type")||l.key?.type==="StringLiteral"&&(l.key.value==="action"||l.key.value==="type"));if(c&&c.value?.type==="StringLiteral"){o=c.value.value;break}}if(a.type==="CallExpression"&&a.callee.type==="MemberExpression"&&a.callee.object.value==="JSON"&&a.callee.property.value==="stringify"&&a.arguments.length>0){let c=a.arguments[0].expression;if(c.type==="ObjectExpression"){let l=c.properties.find(u=>u.key?.type==="Identifier"&&(u.key.value==="action"||u.key.value==="type")||u.key?.type==="StringLiteral"&&(u.key.value==="action"||u.key.value==="type"));if(l&&l.value?.type==="StringLiteral"){o=l.value.value;break}}}}this.apiCalls.push({method:"PUBSUB",url:o})}}}return e.callee.type==="Identifier"&&e.callee.value==="fetch"&&this.extractApiCall("GET",e.arguments),super.visitCallExpression(e)}visitNewExpression(e){return e.callee.type==="Identifier"&&this.calls.add(e.callee.value),super.visitNewExpression(e)}visitVariableDeclarator(e){if(e.init&&e.init.type==="CallExpression"){let r=e.init.callee;if(r.type==="MemberExpression"&&r.property.value==="create"&&r.object.value==="axios"){let t=e.init.arguments[0]?.expression;if(t&&t.type==="ObjectExpression"){let o=t.properties.find(s=>s.key.value==="baseURL");if(o){let s="?";o.value.type==="StringLiteral"?s=o.value.value:o.value.type==="Identifier"&&(s=`\${${o.value.value}}`),e.id.type==="Identifier"&&this.axiosInstances.set(e.id.value,s)}}}}return super.visitVariableDeclarator(e)}extractApiCallFromConfig(e){if(e&&e.type==="ObjectExpression"){let r=e.properties.find(t=>t.key.type==="Identifier"&&t.key.value==="url"||t.key.type==="StringLiteral"&&t.key.value==="url"),i=e.properties.find(t=>t.key.type==="Identifier"&&t.key.value==="method"||t.key.type==="StringLiteral"&&t.key.value==="method");if(r&&r.value){let t=i?.value?.value||"GET",o=this.resolveUrlValue(r.value);o!=="?"&&this.apiCalls.push({method:t.toUpperCase(),url:o})}}}resolveUrlValue(e){return e.type==="StringLiteral"?e.value:e.type==="TemplateLiteral"?e.quasis.map(r=>r.cooked).join("*"):"?"}visitTsType(e){return e}extractApiCall(e,r,i=""){if(r.length>0){let t=r[0].expression,o=this.resolveUrlValue(t);if(o!=="?"){if(i&&i!=="?"){let s=i.endsWith("/")||o.startsWith("/")?"":"/";o=`${i}${s}${o}`}this.apiCalls.push({method:e.toUpperCase(),url:o})}}}},Ot=class{calls=new Set;apiCalls=[];imports=new Map;visit(e,r){if(r===".php"){let i=/(?:([a-zA-Z0-9_$->:\(\)]*)?(?:->|::))?([a-zA-Z0-9_]+)\s*\(([\s\S]*?)\)/g,t;for(;(t=i.exec(e))!==null;){let o=t[1]||"",s=t[2],a=t[3];if(this.calls.add(s),o&&!["$this","self","parent"].includes(o)&&this.calls.add(`${o}${o.includes("::")?"::":"->"}${s}`),["save","delete","update","create","first","all","where","get","find"].includes(s)&&o&&!["Log","Route","Cache","Config","Http"].includes(o)&&this.apiCalls.push({method:"DB",url:`${o}->${s}()`}),s==="publish"&&o&&(o.includes("topic")||o.includes("pubSub"))&&this.apiCalls.push({method:"PUBSUB",url:"publish"}),["get","post","put","delete","patch","request"].includes(s)&&(o==="Http"||o==="client"||o.endsWith("request")||o.includes("Client")||!o)){let u=a.match(/(?:url\s*:\s*)?['"]([^'"]+)['"]/),d=u?u[1]:a.split(",")[0].trim()||"unknown";this.apiCalls.push({method:s.toUpperCase(),url:d})}}}else if(r===".py"){let i=/(?:([a-zA-Z0-9_\.]+)\.)?([a-zA-Z0-9_]+)\s*\(([\s\S]*?)\)/g,t;for(;(t=i.exec(e))!==null;){let o=t[1]||"",s=t[2],a=t[3];if(this.calls.add(s),o&&o!=="self"&&o!=="cls"&&this.calls.add(`${o}.${s}`),["save","delete","update","create","first","all","filter","get"].includes(s)&&o&&!["logger","os","sys"].includes(o)&&this.apiCalls.push({method:"DB",url:`${o}.${s}()`}),s==="publish"&&o&&(o.includes("publisher")||o.includes("client"))&&this.apiCalls.push({method:"PUBSUB",url:"publish"}),["get","post","put","delete","patch","request"].includes(s)&&(o==="requests"||o==="httpx"||o==="client"||o==="http"||!o)){let u=a.match(/(?:url\s*:\s*)?['"]([^'"]+)['"]/),d=u?u[1]:a.split(",")[0].trim()||"unknown";this.apiCalls.push({method:s.toUpperCase(),url:d})}}}else if([".ts",".tsx",".js",".jsx"].includes(r)){let i=/import\s+[\s\S]*?from\s+['"](.*?)['"];?/g,t;for(;(t=i.exec(e))!==null;)this.imports.set("*",t[1]);let o=/(?:([a-zA-Z0-9_$]+)\.)?([a-zA-Z0-9_$]+)\s*\(/g,s;for(;(s=o.exec(e))!==null;){let a=s[1],c=s[2];a?(this.calls.add(`${a}.${c}`),(a.toLowerCase().includes("pubsub")||a==="pubSubClient")&&c!=="subscribe"&&this.apiCalls.push({method:"PUBSUB",url:c})):this.calls.add(c)}}else{let i=/\.([a-zA-Z0-9_]+)\s*\(/g,t;for(;(t=i.exec(e))!==null;)this.calls.add(t[1])}if(r===".php"){let i=/use\s+([a-zA-Z0-9_\\]+)(?:\s+as\s+([a-zA-Z0-9_]+))?;/g,t;for(;(t=i.exec(e))!==null;){let o=t[1],s=o.split("\\"),a=t[2]||s[s.length-1];this.imports.set(a,o)}}else if(r===".py"){let i=/from\s+([a-zA-Z0-9_\.]+)\s+import\s+([a-zA-Z0-9_,\s]+)/g,t;for(;(t=i.exec(e))!==null;){let a=t[1];t[2].split(",").map(l=>l.trim()).forEach(l=>{this.imports.set(l,a)})}let o=/^import\s+([a-zA-Z0-9_\.]+)/gm,s;for(;(s=o.exec(e))!==null;){let a=s[1],c=a.split("."),l=c[c.length-1];this.imports.set(l,a)}}}};V();import Cx from"path";V();It();import Tx from"better-sqlite3";import Dn from"path";import jh from"fs";import Rx from"os";import Px from"crypto";var Nx=$.child({module:"fusion-connection"}),co=5,zx=1,Uh=["files","exports","imports","configs","schema_migrations"],lo=class{fusionDb;attachedRepos=new Map;fusionDbPath;name;constructor(e){this.name=e.name,this.fusionDbPath=this.getFusionDbPath(e.name),Nx.info({name:e.name,path:this.fusionDbPath},"Initializing fused index connection");let r=Dn.dirname(this.fusionDbPath);jh.existsSync(r)||jh.mkdirSync(r,{recursive:!0}),this.fusionDb=new Tx(this.fusionDbPath),this.fusionDb.pragma("journal_mode = WAL"),this.fusionDb.pragma("busy_timeout = 5000"),this.initFusionSchema();for(let i of e.repoPaths)this.attachRepo(i)}getFusionDbPath(e){let r=Rx.homedir(),i=Dn.join(r,".mcp-liquid-shadow","fused"),t=e.replace(/[^a-zA-Z0-9-_]/g,"_");return Dn.join(i,`${t}.db`)}initFusionSchema(){this.fusionDb.exec(`
|
|
610
|
+
CREATE TABLE IF NOT EXISTS fused_repos (
|
|
611
|
+
alias TEXT PRIMARY KEY,
|
|
612
|
+
repo_path TEXT NOT NULL UNIQUE,
|
|
613
|
+
db_path TEXT NOT NULL,
|
|
614
|
+
schema_version INTEGER NOT NULL,
|
|
615
|
+
attached_at REAL DEFAULT (unixepoch()),
|
|
616
|
+
last_validated_at REAL
|
|
617
|
+
);
|
|
618
|
+
|
|
619
|
+
CREATE TABLE IF NOT EXISTS fused_metadata (
|
|
620
|
+
key TEXT PRIMARY KEY,
|
|
621
|
+
value TEXT NOT NULL,
|
|
622
|
+
updated_at REAL DEFAULT (unixepoch())
|
|
623
|
+
);
|
|
624
|
+
|
|
625
|
+
CREATE TABLE IF NOT EXISTS virtual_edges (
|
|
626
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
627
|
+
source_repo TEXT NOT NULL,
|
|
628
|
+
source_file_path TEXT NOT NULL,
|
|
629
|
+
source_symbol_id INTEGER,
|
|
630
|
+
target_repo TEXT NOT NULL,
|
|
631
|
+
target_file_path TEXT NOT NULL,
|
|
632
|
+
target_symbol_id INTEGER,
|
|
633
|
+
relationship TEXT NOT NULL,
|
|
634
|
+
metadata TEXT,
|
|
635
|
+
confidence REAL DEFAULT 1.0,
|
|
636
|
+
created_at REAL DEFAULT (unixepoch()),
|
|
637
|
+
updated_at REAL DEFAULT (unixepoch()),
|
|
638
|
+
UNIQUE(source_repo, source_file_path, target_repo, target_file_path, relationship)
|
|
639
|
+
);
|
|
640
|
+
|
|
641
|
+
CREATE INDEX IF NOT EXISTS idx_virtual_edges_source ON virtual_edges(source_repo, source_file_path);
|
|
642
|
+
CREATE INDEX IF NOT EXISTS idx_virtual_edges_target ON virtual_edges(target_repo, target_file_path);
|
|
643
|
+
`),this.fusionDb.prepare("INSERT OR REPLACE INTO fused_metadata (key, value, updated_at) VALUES ('schema_version', ?, unixepoch())").run(zx.toString())}attachRepo(e){let r=Dn.resolve(e);if(this.attachedRepos.has(r))return;if(!Xe(r))throw new Error(`Repository "${r}" is not indexed. Run shadow_recon_onboard({ repoPath: "${r}" }) then shadow_sync_trace({ repoPath: "${r}" }).`);let i=ze(r),t=i.name;this.validateSchemaCompatibility(i,r);let o=this.getSchemaVersion(i),s=this.generateAlias(r),a=3,c=100;for(let l=1;l<=a;l++)try{this.fusionDb.exec(`ATTACH DATABASE '${t}' AS ${s}`);let u={alias:s,repoPath:r,dbPath:t,schemaVersion:o,attached:!0};this.attachedRepos.set(r,u),this.fusionDb.prepare(`INSERT OR REPLACE INTO fused_repos (alias, repo_path, db_path, schema_version, attached_at, last_validated_at)
|
|
644
|
+
VALUES (?, ?, ?, ?, unixepoch(), unixepoch())`).run(s,r,t,o);return}catch(u){let d=u instanceof Error?u.message.toLowerCase():String(u).toLowerCase();if((d.includes("locked")||d.includes("busy"))&&l<a){this.sleep(c*l);continue}throw u}}checkHealth(){let e=[];for(let r of this.attachedRepos.values())try{this.fusionDb.prepare(`SELECT 1 FROM ${r.alias}.files LIMIT 1`).get(),e.push({alias:r.alias,repoPath:r.repoPath,accessible:!0})}catch(i){e.push({alias:r.alias,repoPath:r.repoPath,accessible:!1,error:i instanceof Error?i.message:String(i)})}return{healthy:e.every(r=>r.accessible),repos:e}}detachRepo(e){let r=Dn.resolve(e),i=this.attachedRepos.get(r);i&&(this.fusionDb.exec(`DETACH DATABASE ${i.alias}`),this.attachedRepos.delete(r),this.fusionDb.prepare("DELETE FROM fused_repos WHERE repo_path = ?").run(r))}refreshRepo(e){this.detachRepo(e),this.attachRepo(e)}refreshAll(){let e=Array.from(this.attachedRepos.keys());for(let r of e)this.refreshRepo(r)}validateSchemas(){let e=Array.from(this.attachedRepos.values()).map(r=>{let i=ze(r.repoPath),t=Uh.filter(s=>!this.checkTableExists(i,s)),o=this.getSchemaVersion(i);return{alias:r.alias,repoPath:r.repoPath,schemaVersion:o,compatible:o>=co&&t.length===0,missingTables:t}});return{valid:e.every(r=>r.compatible),minVersion:co,repos:e}}getAttachedRepos(){return Array.from(this.attachedRepos.values())}prepare(e){return this.fusionDb.prepare(e)}exec(e){this.fusionDb.exec(e)}close(){for(let e of this.attachedRepos.values())try{this.fusionDb.exec(`DETACH DATABASE ${e.alias}`)}catch{}this.attachedRepos.clear(),this.fusionDb.open&&this.fusionDb.close()}generateAlias(e){let r=Dn.basename(e).replace(/[^a-zA-Z0-9]/g,"_").toLowerCase(),i=Px.createHash("sha256").update(e).digest("hex").substring(0,6);return`repo_${r}_${i}`}getSchemaVersion(e){try{return e.prepare("SELECT MAX(version) as version FROM schema_migrations").get()?.version||0}catch{return 0}}validateSchemaCompatibility(e,r){let i=this.getSchemaVersion(e);if(i<co)throw new Error(`Schema version mismatch for ${r}. Expected >= ${co}, got ${i}.`);let t=Uh.filter(o=>!this.checkTableExists(e,o));if(t.length>0)throw new Error(`Missing tables in ${r}: ${t.join(", ")}`)}checkTableExists(e,r){try{return!!e.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?").get(r)}catch{return!1}}sleep(e){let r=Date.now()+e;for(;Date.now()<r;);}get nameValue(){return this.name}get dbPath(){return this.fusionDbPath}};V();var Ct=$.child({module:"edge-scanner"});function Ec(n){let e=n.split("?")[0].split("#")[0];return e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}function Dx(n){if(!n)return null;try{let e=JSON.parse(n);return e.path||e.name||null}catch{return null}}function Ax(n,e){let r=Ec(n),i=Ec(e);if(r===i)return!0;let t=i.replace(/:[^/]+/g,"[^/]+").replace(/\{[^}]+\}/g,"[^/]+").replace(/\$[^/]+/g,"[^/]+");return new RegExp(`^${t}$`).test(r)}function Lx(n){Ct.info("Starting HTTP gap detection scan");let e=n.getAttachedRepos();if(e.length<2)return Ct.warn("Need at least 2 repos for cross-repo dependency detection"),0;let r=[];for(let o of e)try{let s=`
|
|
645
|
+
SELECT id, name, file_path, capabilities
|
|
646
|
+
FROM ${o.alias}.exports
|
|
647
|
+
WHERE kind = 'HTTP Route'
|
|
648
|
+
`,a=n.executeRawQuery(s);for(let c of a){let l=Dx(c.capabilities)||c.name;l&&l.startsWith("/")&&r.push({repo:o.alias,repoPath:o.repoPath,filePath:c.file_path,symbolId:c.id,routePath:l})}}catch(s){Ct.warn({repo:o.alias,error:s},"Failed to query backend routes")}Ct.debug({count:r.length},"Found backend routes");let i=[];for(let o of e)try{let s=`
|
|
649
|
+
SELECT file_path, name
|
|
650
|
+
FROM ${o.alias}.event_synapses
|
|
651
|
+
WHERE type = 'api_route' AND direction = 'produce'
|
|
652
|
+
`,a=n.executeRawQuery(s);for(let c of a){let l=Ec(c.name);l&&l.startsWith("/")&&i.push({repo:o.alias,repoPath:o.repoPath,filePath:c.file_path,routePath:l})}}catch(s){Ct.warn({repo:o.alias,error:s},"Failed to query frontend API calls")}Ct.debug({count:i.length},"Found frontend API calls");let t=0;for(let o of i)for(let s of r)if(o.repoPath!==s.repoPath&&Ax(o.routePath,s.routePath))try{n.addVirtualEdge({sourceRepo:o.repoPath,sourceFilePath:o.filePath,targetRepo:s.repoPath,targetFilePath:s.filePath,targetSymbolId:s.symbolId,relationship:"api_call",metadata:{frontendPath:o.routePath,backendPath:s.routePath,method:s.method},confidence:1}),t++}catch(a){Ct.debug({source:o.filePath,target:s.filePath,error:a},"Skipped duplicate edge")}return Ct.info({edgesCreated:t,backendRoutes:r.length,frontendCalls:i.length},"HTTP gap detection scan completed"),t}function Fh(n){let e=Lx(n);return{httpGaps:e,totalEdges:e}}V();var Ox=$.child({module:"fusion-index-service"}),uo=class{constructor(e){this.connection=e}executeFederatedQuery(e,...r){return this.connection.prepare(e).all(...r).map(o=>{let{_repo_alias:s,_repo_path:a,...c}=o;return{repo:s,repoPath:a,data:c}})}executeRawQuery(e,...r){return this.connection.prepare(e).all(...r)}buildAdvancedQuery(e){let r=this.connection.getAttachedRepos();if(r.length===0)throw new Error("No repositories attached");let{table:i,tableAlias:t,columns:o,joins:s,where:a,groupBy:c,having:l,orderBy:u,limit:d,offset:p}=e,f=t||i.charAt(0),m=o.join(", "),b=r.map(v=>{let g=`${v.alias}.${i} ${f}`,_="";s&&s.length>0&&(_=s.map(P=>{let R=P.alias||P.table.charAt(0);return`${P.type} JOIN ${v.alias}.${P.table} ${R} ON ${P.on}`}).join(`
|
|
653
|
+
`));let x=a?`WHERE ${a}`:"",k=c&&c.length>0?`GROUP BY ${c.join(", ")}`:"",S=l?`HAVING ${l}`:"";return`SELECT '${v.alias}' as _repo_alias, '${v.repoPath}' as _repo_path, ${m} FROM ${g} ${_} ${x} ${k} ${S}`.trim()}).join(`
|
|
654
|
+
UNION ALL
|
|
655
|
+
`);return u&&(b=`SELECT * FROM (${b}) AS federated_results ORDER BY ${u}`),d!==void 0&&(b+=` LIMIT ${d}`),p!==void 0&&(b+=` OFFSET ${p}`),b}buildFtsQuery(e,r,i,t,o=50){let s=this.connection.getAttachedRepos();if(s.length===0)throw new Error("No repositories attached");let a=i.replace(/"/g,'""'),c=t.map(u=>`c.${u}`).join(", ");return`${s.map(u=>`
|
|
656
|
+
SELECT '${u.alias}' as _repo_alias, '${u.repoPath}' as _repo_path, ${c}, bm25(${u.alias}.${e}) as _fts_rank
|
|
657
|
+
FROM ${u.alias}.${e} fts
|
|
658
|
+
JOIN ${u.alias}.${r} c ON fts.rowid = c.id
|
|
659
|
+
WHERE ${u.alias}.${e} MATCH '"${a}"'`).join(`
|
|
660
|
+
UNION ALL
|
|
661
|
+
`)} ORDER BY _fts_rank LIMIT ${o}`}buildCrossRepoImportsQuery(){let e=this.connection.getAttachedRepos();if(e.length<2)throw new Error("Cross-repo analysis requires at least 2 attached repositories");let r=[];for(let i of e)for(let t of e)i.alias!==t.alias&&r.push(`
|
|
662
|
+
SELECT
|
|
663
|
+
'${i.alias}' as source_repo, '${i.repoPath}' as source_repo_path,
|
|
664
|
+
i.file_path as source_file, i.module_specifier, i.imported_symbols,
|
|
665
|
+
'${t.alias}' as target_repo, '${t.repoPath}' as target_repo_path,
|
|
666
|
+
f.path as target_file
|
|
667
|
+
FROM ${i.alias}.imports i
|
|
668
|
+
JOIN ${t.alias}.files f ON i.resolved_path = f.path
|
|
669
|
+
WHERE i.resolved_path IS NOT NULL`);return r.join(`
|
|
670
|
+
UNION ALL
|
|
671
|
+
`)}buildUnionQuery(e,r,i){let t=this.connection.getAttachedRepos();if(t.length===0)throw new Error("No repositories attached");let o=r.join(", "),s=i?` WHERE ${i}`:"";return t.map(a=>`SELECT '${a.alias}' as _repo_alias, '${a.repoPath}' as _repo_path, ${o} FROM ${a.alias}.${e}${s}`).join(`
|
|
672
|
+
UNION ALL
|
|
673
|
+
`)}searchExports(e,r=50){let i=this.buildUnionQuery("exports",["id","name","kind","file_path","signature"],"name LIKE ?")+` LIMIT ${r*this.connection.getAttachedRepos().length}`,t=Array(this.connection.getAttachedRepos().length).fill(`%${e}%`);return this.executeFederatedQuery(i,...t)}searchFiles(e,r=50){let i=this.buildUnionQuery("files",["path","classification","content_hash"],"path LIKE ?")+` LIMIT ${r*this.connection.getAttachedRepos().length}`,t=Array(this.connection.getAttachedRepos().length).fill(`%${e}%`);return this.executeFederatedQuery(i,...t)}getVirtualEdges(e,r){let i="SELECT * FROM virtual_edges WHERE 1=1",t=[];return e&&(i+=" AND source_repo = ?",t.push(e)),r&&(i+=" AND target_repo = ?",t.push(r)),this.connection.prepare(i).all(...t)}addVirtualEdge(e){return this.connection.prepare(`
|
|
674
|
+
INSERT INTO virtual_edges
|
|
675
|
+
(source_repo, source_file_path, source_symbol_id, target_repo, target_file_path, target_symbol_id, relationship, metadata, confidence, updated_at)
|
|
676
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, unixepoch())
|
|
677
|
+
`).run(e.sourceRepo,e.sourceFilePath,e.sourceSymbolId||null,e.targetRepo,e.targetFilePath,e.targetSymbolId||null,e.relationship,e.metadata?JSON.stringify(e.metadata):null,e.confidence??1).lastInsertRowid}scanEdges(){return Ox.info({name:this.connection.nameValue},"Starting edge scan"),Fh(this)}getAttachedRepos(){return this.connection.getAttachedRepos()}get name(){return this.connection.nameValue}};var Zh=$.child({module:"fused-index"}),po=class{connection;service;configName;constructor(e){this.configName=e.name,this.connection=new lo(e),this.service=new uo(this.connection)}attachRepo(e){this.connection.attachRepo(e)}detachRepo(e){this.connection.detachRepo(e)}refreshRepo(e){this.connection.refreshRepo(e)}getAttachedRepos(){return this.connection.getAttachedRepos()}checkHealth(){return this.connection.checkHealth()}close(){this.connection.close(),Zh.info({name:this.configName},"Fused index closed")}getStatus(){let e=this.service.executeRawQuery("SELECT COUNT(*) as count FROM virtual_edges");return{name:this.connection.nameValue,path:this.connection.dbPath,attachedRepos:this.connection.getAttachedRepos().length,repos:this.connection.getAttachedRepos(),virtualEdgesCount:e[0]?.count||0}}searchExports(e,r=50){return this.service.searchExports(e,r)}searchFiles(e,r=50){return this.service.searchFiles(e,r)}getVirtualEdges(e,r){return this.service.getVirtualEdges(e,r)}addVirtualEdge(e){return this.service.addVirtualEdge(e)}scanEdges(){return this.service.scanEdges()}buildUnionQuery(e,r,i){return this.service.buildUnionQuery(e,r,i)}executeFederatedQuery(e,...r){return this.service.executeFederatedQuery(e,...r)}executeRawQuery(e,...r){return this.service.executeRawQuery(e,...r)}buildAdvancedQuery(e){return this.service.buildAdvancedQuery(e)}buildFtsQuery(e,r,i,t,o){return this.service.buildFtsQuery(e,r,i,t,o)}buildCrossRepoImportsQuery(){return this.service.buildCrossRepoImportsQuery()}refreshAll(){this.connection.refreshAll()}validateSchemas(){return Zh.debug({name:this.configName},"Delegating validateSchemas"),this.connection.validateSchemas()}},An=new Map;function Ic(n){let e=An.get(n.name);if(e){let i=new Set(e.getAttachedRepos().map(s=>s.repoPath)),t=new Set(n.repoPaths.map(s=>Cx.resolve(s)));if(i.size===t.size&&[...i].every(s=>t.has(s)))return e;e.close(),An.delete(n.name)}let r=new po(n);return An.set(n.name,r),r}function Mx(n){let e=An.get(n);e&&(e.close(),An.delete(n))}function Tc(){return Array.from(An.keys())}import vt from"path";import Rc from"fs";var sn=class{constructor(e){this.repoPath=e}async analyze(e,r={}){let{filePath:i,depth:t=3,limit:o=50,offset:s=0}=r,a=C.getInstance(this.repoPath),c=i?a.exports.findByNameAndFile(e,i):a.exports.findByNameGlobal(e);if(c.length===0)return[];let l=[];for(let u of c){let d=a.imports.findImpactDependents(u.file_path,`%${e}%`,t),p=[],f=new Set;for(let x of d){let k=vt.relative(this.repoPath,x.consumer_path);if(f.has(k))continue;let S=`Imports ${x.imported_symbols}`,P=await this.verifySymbolUsage(x.consumer_path,u.name);P?S+=" (\u2705 Verified Call)":S+=" (\u26A0\uFE0F Potential Import - Usage not statically detected)",f.add(k),p.push({type:"IMPORT",file:k,depth:x.depth,details:S,verified:P})}let m=a.exports.findRoutesByCapability(e);u.kind==="HTTP Route"&&m.push({name:u.name,file_path:u.file_path,signature:u.signature});for(let x of m){let S=x.name.split("/").filter(R=>R.length>3&&!R.includes("{")&&!R.includes("$")&&!R.includes("<")).sort((R,U)=>U.length-R.length)[0];if(!S||["admin","api","user","users","update","create","delete","list","index","show","store"].includes(S.toLowerCase()))continue;let P=a.files.findContentByToken(S,10);for(let R of P){let U=vt.relative(this.repoPath,R);!f.has(U)&&R!==u.file_path&&(f.add(U),p.push({type:"API_USAGE",file:U,depth:2,details:`Likely calls route ${x.name} (matched token '${S}')`,verified:!1}))}}let h=a.files.findContentByToken(e,20);for(let x of h){let k=vt.relative(this.repoPath,x);!f.has(k)&&x!==u.file_path&&(f.add(k),p.push({type:"POTENTIAL_USAGE",file:k,depth:2,details:`Contains keyword '${e}' (Dynamic/Implicit usage)`,verified:!0}))}u.kind==="HTTP Route"&&await this.addCrossRepoImpact(p,f,u),p.sort((x,k)=>x.verified&&!k.verified?-1:!x.verified&&k.verified?1:x.depth!==k.depth?x.depth-k.depth:x.file.localeCompare(k.file));let b=p.length,v=p.slice(s,s+o),g=s+o<b,_=this.calculateRiskScore(u,b,p);l.push({symbol:e,definedIn:vt.relative(this.repoPath,u.file_path),riskScore:_,impact:v,pagination:{total:b,offset:s,limit:o,hasMore:g}})}return l}async verifySymbolUsage(e,r){try{if(!Rc.existsSync(e))return!1;let i=Rc.readFileSync(e,"utf8"),t=vt.extname(e).toLowerCase(),o=new Set;if(t===".ts"||t===".tsx"||t===".js"||t===".jsx"){let s=new zn;try{let a=await Sr(i,{syntax:"typescript",tsx:e.endsWith(".tsx"),target:"es2020"});s.visitModule(a),o=s.calls}catch{return i.includes(r)}}else{let s=new Ot;s.visit(i,t),o=s.calls}if(o.has(r))return!0;for(let s of o){if(s===r)return!0;let a=s.split(/(?:\.|->|::)+/),c=a[a.length-1],l=r.split(/(?:\.|->|::)+/),u=l[l.length-1];if(c===u)return!0}return!1}catch{return!1}}async addCrossRepoImpact(e,r,i){try{let t=Tc();for(let o of t)try{let a=(await import("os")).homedir(),c=vt.join(a,".mcp-liquid-shadow","fused"),l=o.replace(/[^a-zA-Z0-9-_]/g,"_"),u=vt.join(c,`${l}.db`);if(!Rc.existsSync(u))continue;let d=(await import("better-sqlite3")).default,p=new d(u),f=p.prepare("SELECT source_repo, source_file_path, relationship, metadata FROM virtual_edges WHERE target_repo = ? AND target_file_path = ? AND relationship = 'api_call'").all(this.repoPath,i.file_path);p.close();for(let m of f){let h=vt.relative(m.source_repo,m.source_file_path),b=`${m.source_repo}:${h}`;r.has(b)||(r.add(b),e.push({type:"CROSS_REPO_API_CALL",file:b,depth:1,details:`Cross-repo API call from ${vt.basename(m.source_repo)}`,verified:!0}))}}catch{continue}}catch{}}calculateRiskScore(e,r,i){let a=(new oe(this.repoPath).getSnapshot().gravity?.hotspots||[]).find(p=>p.filePath===e.file_path&&p.symbol===e.name)?.gravity||0,c=i.filter(p=>p.type==="CROSS_REPO_API_CALL").length,l=a/50+r/15+c*2,u="LOW",d="Peripheral symbol with limited usage.";return l>=8?(u="CRITICAL",d=`Core architectural pillar (Gravity: ${a.toFixed(0)}). Modification will destabilize ${r} dependents.`):l>=4?(u="HIGH",d=`High-gravity symbol with significant blast radius (${r} files).`):l>=1.5&&(u="MEDIUM",d="Standard library symbol with moderate dependency chain."),{score:Math.min(10,Math.round(l*10)/10),level:u,rationale:d}}};Q();var mo=class n{constructor(e){this.intentLogs=e}static RECENCY_HALF_LIFE_HOURS=48;static WEIGHTS={recency:.4,activity:.3,statusBoost:.2,blockerBoost:.1};score(e){if(e.length===0)return[];let r=Math.floor(Date.now()/1e3),i=e.map(c=>c.id),t=this.intentLogs.countByMissions(i),o=this.intentLogs.findMissionsWithBlockers(i),s=Math.max(1,...Object.values(t));return e.map(c=>{let l=this.computeRecency(c.updated_at,r),u=(t[c.id]||0)/s,d=this.computeStatusBoost(c.status),p=o.has(c.id)?1:0,f=n.WEIGHTS,m=l*f.recency+u*f.activity+d*f.statusBoost+p*f.blockerBoost;return{mission:c,score:Math.round(m*1e3)/1e3,breakdown:{recency:Math.round(l*1e3)/1e3,activity:Math.round(u*1e3)/1e3,blockerBoost:p,statusBoost:d}}}).sort((c,l)=>l.score-c.score)}computeRecency(e,r){let i=Math.max(0,(r-e)/3600);return Math.pow(.5,i/n.RECENCY_HALF_LIFE_HOURS)}computeStatusBoost(e){switch(e){case"in-progress":return 1;case"verifying":return .8;case"planned":return .4;default:return 0}}};Q();Me();V();import{execSync as Hh}from"child_process";import jx from"path";var fo=$.child({module:"shadow-trace"}),bt=class{intentLogs;exports;repoPath;hologramService;constructor(e){let{intentLogs:r,exports:i}=C.getInstance(e);this.intentLogs=r,this.exports=i,this.repoPath=e,this.hologramService=new oe(e)}analyzeGhostChanges(e){let r=e?`${e}..HEAD`:"HEAD~1..HEAD",i=[];try{let o=Hh(`git diff --name-only ${r}`,{cwd:this.repoPath,encoding:"utf-8"}).split(`
|
|
678
|
+
`).filter(s=>s.trim()!=="");if(o.length===0)return;fo.info({files:o.length,range:r},"Initiating Shadow Trace analysis...");for(let s of o){let a=jx.join(this.repoPath,s),l=Hh(`git diff -U0 ${r} -- ${s}`,{cwd:this.repoPath,encoding:"utf-8"}).matchAll(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/g);for(let u of l){let d=parseInt(u[2],10),p=this.exports.findAtLine(a,d);p&&(this.intentLogs.create({mission_id:0,file_path:a,symbol_id:p.id,type:"discovery",content:`Shadow Trace: Modified externally in ${r}`,confidence:.8,symbol_name:p.name,signature:p.signature,commit_sha:null}),fo.debug({symbol:p.name},"Logged ghost change"),i.push({from:"external",to:`${s}:${p.name}`,pattern:"git-delta",confidence:.8}))}}i.length>0&&this.hologramService.updateGhostBridges(i),fo.info("Shadow Trace complete.")}catch(t){fo.warn({err:t.message},"Shadow Trace failed: git diff error.")}}};Q();V();var Ux=$.child({module:"collision-service"}),ho=class{repoPath;constructor(e){this.repoPath=e}async analyzePotentialCollisions(){let e=_e(this.repoPath);if(!e)return[];let{missions:r,intentLogs:i}=C.getInstance(this.repoPath),t=r.findActive().filter(a=>a.git_branch&&a.git_branch!==e),o=[],s=new Set;for(let a of t){let c=a.git_branch;if(s.has(c))continue;s.add(c),Ux.info({branch:c,currentBranch:e},"Checking predictive collisions"),mc(this.repoPath,e,c)&&o.push({branch:c,type:"file",description:`Background merge-tree detected a file-level conflict between '${e}' and '${c}'.`});let u=r.findActive(e),d=new Set;for(let m of u)r.getWorkingSet(m.id).forEach(h=>d.add(h.file_path));let f=r.getWorkingSet(a.id).filter(m=>d.has(m.file_path));f.length>0&&o.push({branch:c,type:"intent",description:`Logical conflict: Mission '${a.name}' on '${c}' is modifying files you are currently working on.`,conflictingFiles:f.map(m=>m.file_path)})}return o}};var an=class{constructor(e){this.repoPath=e}async getBriefing(e={}){let{missionId:r,scope:i="mission",altitude:t,activeMissionsLimit:o,recentActivityLimit:s,compact:a}=e,c=a??(t==="orbit"||t==="atmosphere"),l=s??(t==="orbit"?0:t==="ground"?20:10),{missions:u,intentLogs:d}=C.getInstance(this.repoPath),p=Ge(this.repoPath),f=_e(this.repoPath);return i==="project"?this.getProjectBriefing({altitude:t,activeMissionsLimit:o,recentActivityLimit:l,compact:c,currentBranch:f,currentCommit:p}):this.getMissionBriefing({missionId:r,altitude:t,recentActivityLimit:l,currentBranch:f,currentCommit:p})}async getProjectBriefing(e){let{repoPath:r}=this,{missions:i,intentLogs:t}=C.getInstance(r),{altitude:o,activeMissionsLimit:s,recentActivityLimit:a,compact:c,currentBranch:l,currentCommit:u}=e,d=i.findActive(l||void 0),p=d.length;s&&d.length>s&&(d=d.slice(0,s));let f=i.findParentOnlyIds(d),m=new Set(f),h=d.filter(D=>!m.has(D.id)),v=new mo(t).score(h),g=.15,_=3,x=c&&v.length>_?v.filter((D,z)=>z<_||D.score>=g):v,k=x.map(D=>D.mission),S=new Map(x.map(D=>[D.mission.id,D.score])),P=D=>({id:D.id,name:D.name,goal:D.goal,status:D.status,relevance:S.get(D.id)});if(o==="orbit")return{scope:"project",altitude:"orbit",counts:i.getStats(),next_work_candidates:k.map(P),meta:{current_branch:l,activeMissionsTotal:p}};let R={},U=[];for(let D of d)D.parent_id!=null?(R[D.parent_id]||(R[D.parent_id]=[]),R[D.parent_id].push(D)):U.push(D);let E=i.findRecentCompleted(5).map(P),I=a>0?t.findRecentDecisionActivity(a):void 0,N=f.map(D=>{let z=d.find(G=>G.id===D);return{parent:c?{...z,strategy_graph:void 0,verification_context:void 0}:z,children:R[D]??[]}}),j=U.filter(D=>!m.has(D.id));return{scope:"project",altitude:o||"atmosphere",counts:i.getStats(),analytics:i.getAnalytics(),hierarchy:N.length>0?N:void 0,standalone_active:j.length>0?j:void 0,active_missions:N.length===0?c?d.map(D=>({...D,strategy_graph:void 0})):d:void 0,next_work_candidates:k.map(P),recent_completed:E,recent_activity:I,meta:{current_branch:l,current_commit:u,activeMissionsTotal:p,active_limit_applied:!!s,relevance_filtered:x.length<v.length?{shown:x.length,total:v.length}:void 0}}}async getMissionBriefing(e){let{repoPath:r}=this,{missions:i,intentLogs:t}=C.getInstance(r),{missionId:o,altitude:s,recentActivityLimit:a,currentBranch:c,currentCommit:l}=e,u;if(o?u=i.findById(o):u=i.findActive(c||void 0)[0],!u)return null;let d=null;try{u.strategy_graph&&(d=JSON.parse(u.strategy_graph))}catch{}if(s==="orbit")return{altitude:"orbit",mission:{id:u.id,name:u.name,goal:u.goal,status:u.status,last_updated:new Date(u.updated_at*1e3).toISOString()},strategy_snapshot:d};let p="No external shadow changes detected.";try{new bt(r).analyzeGhostChanges(u.commit_sha||void 0),p="Shadow Trace completed: Checked for external modifications."}catch{}let f={repaired:0,failed:0};try{f=new Ie(r).detectAndRepairShifts()}catch{}let m={altitude:s||"atmosphere",mission:{id:u.id,name:u.name,goal:u.goal,status:u.status,last_updated:new Date(u.updated_at*1e3).toISOString(),git_branch:u.git_branch,commit_sha:u.commit_sha,outcome_contract:u.outcome_contract},artifacts:i.getArtifacts(u.id),shadow_trace:{ghost_analysis:p,symbols_repaired:f.repaired,symbols_missing:f.failed},context:{current_commit:l,working_set:i.getWorkingSet(u.id).map(h=>h.file_path)},strategy_snapshot:d,recent_activity:s==="ground"?t.findByMission(u.id,a||20):t.findByMissionPreferCrystal(u.id,15),ancestor_activity_summary:[],predictive_collisions:[]};try{let h=new ho(r);m.predictive_collisions=await h.analyzePotentialCollisions()}catch{}if(u.parent_id){let h=s==="ground"?t.findByMission(u.parent_id,5):t.findByMissionPreferCrystal(u.parent_id,3);m.ancestor_activity_summary=h.map(b=>({type:b.type,content:b.content,date:new Date(b.created_at*1e3).toISOString()}))}return m}};async function a0(n,e,r={}){await ee(n);let i=new je(n),{filters:t,hasFilters:o}=Lt(r);return await i.searchBySymbol(e,r.limit??ue.DEFAULT_LIMIT,r.offset??0,t,o,r.matchMode??"any")}async function c0(n,e,r={}){return await ee(n),await new sn(n).analyze(e,r)}async function l0(n){await ee(n);let e=C.getInstance(n),r=Ce(e,n);return new oe(n).updateTopography(r),r}async function u0(n,e={}){await ee(n);let i=new oe(n).getSnapshot();if(e.compact&&i.gravity?.hotspots){let t=i.gravity.hotspots.length;i={...i,gravity:{...i.gravity,hotspots:i.gravity.hotspots.slice(0,20),_truncated:t>20,_totalHotspots:t}}}return i}async function p0(n,e={}){return await ee(n),await new an(n).getBriefing(e)}async function d0(n,e={}){return C.getInstance(n).missions.findAll(e.status)}async function m0(n,e={}){let r=C.getInstance(n);return e.missionId?r.intentLogs.findByMission(e.missionId,e.limit):r.intentLogs.findRecentDecisionActivity(e.limit??50)}async function f0(n){return await ee(n),new oe(n).computeGravityZones()}var Wh=[{name:"shadow_recon_onboard",description:"Initial onboarding for a repository. Indexes all files, extracts symbols, and detects services.",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository root"}},required:["repoPath"]}},{name:"shadow_recon_topography",description:"Analyze architectural layers (Entry/Logic/Data/Utility). Returns layer breakdown and architectural insights.",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository root"}},required:["repoPath"]}},{name:"shadow_recon_scout",description:"(Expert) Detect architectural drift, pattern violations, and gravity anomalies.",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository root"}},required:["repoPath"]}},{name:"shadow_recon_tree",description:"Generate hierarchical file tree with file classifications and export summaries.",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository root"},subPath:{type:"string",description:"Relative path to focus tree on a specific subdirectory"},maxDepth:{type:"number",description:"Maximum directory depth to traverse"}},required:["repoPath"]}},{name:"shadow_recon_hologram",description:"Get the project hologram (persistent architectural snapshot) and gravity zones.",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository root"},compact:{type:"boolean",description:"Omit large arrays (gravity.hotspots) for lighter output"}},required:["repoPath"]}},{name:"shadow_search_concept",description:"Semantic/Vector-based intent search across file purpose and logic.",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository"},query:{type:"string",description:"Search term or semantic intent"},limit:{type:"number",description:"Max results (default 10)"},offset:{type:"number",description:"Pagination offset"},compact:{type:"boolean",description:"Return compact output (no snippets)"},fileType:{type:"string",description:"Filter by extension(s)"},layer:{type:"string",enum:["Solid","Liquid","Virtual","Intel","Phantom"]},includeTests:{type:"boolean",description:"Include test files (Virtual)"}},required:["repoPath","query"]}},{name:"shadow_search_symbol",description:"Exact and fuzzy code symbol matching (classes, functions, methods).",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository"},query:{type:"string",description:"Symbol name or partial name"},limit:{type:"number",description:"Max results"},offset:{type:"number",description:"Pagination offset"},fileType:{type:"string",description:"Filter by extension(s)"},matchMode:{type:"string",enum:["any","all","exact"],description:"Match mode for multi-word queries: 'any' (OR, default), 'all' (AND), 'exact' (phrase)"}},required:["repoPath","query"]}},{name:"shadow_search_config",description:"Environment and configuration discovery (ENV, Ports, Docker, YAML).",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository"},query:{type:"string",description:"Search term for values/keys"},key:{type:"string",description:"Specific config key match"},kind:{type:"string",enum:["Service","Image","Port","Env"]},limit:{type:"number"},showUsage:{type:"boolean",description:"Cross-reference with code to show usage counts and identify orphaned vars (defined but never used)"}},required:["repoPath"]}},{name:"shadow_search_path",description:"Filename-keyword resolution using the search index.",inputSchema:{type:"object",properties:{repoPath:{type:"string",description:"Absolute path to the repository"},query:{type:"string",description:"Filename part or path keyword"},limit:{type:"number"},ranked:{type:"boolean",description:"Sort results by gravity (high-import files first) and show layer classification (Entry/Logic/Data)"}},required:["repoPath","query"]}},{name:"shadow_analyze_impact",description:"Calculate blast radius and Strategic Risk Scoring of changing a symbol.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},symbolName:{type:"string",description:"Symbol to analyze"},filePath:{type:"string",description:"Specific file where symbol is defined"},depth:{type:"number",description:"Traversal depth (default 3)"},limit:{type:"number",description:"Max results per symbol (default 50)"},offset:{type:"number",description:"Pagination offset"}},required:["repoPath","symbolName"]}},{name:"shadow_analyze_flow",description:"Execution call-chain tracing (AST-based) for a specific function/method.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},filePath:{type:"string",description:"File to start trace from"},symbolName:{type:"string",description:"Function/method name"}},required:["repoPath","filePath"]}},{name:"shadow_analyze_deps",description:"Direct file import/export mapping and dependency graph inspection.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},filePath:{type:"string"},direction:{type:"string",enum:["imports","imported_by"]}},required:["repoPath","filePath","direction"]}},{name:"shadow_analyze_debt",description:"Recursive dead-code detection and circular import identification. For dead-code mode: excludes migrations and fixtures by default, returns results with confidence scoring.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},mode:{type:"string",enum:["dead-code","circular-deps"]},limit:{type:"number"},includeTests:{type:"boolean"},excludePatterns:{type:"array",items:{type:"string"},description:"Custom glob patterns to exclude (e.g., '**/migrations/**')"},includeMigrations:{type:"boolean",description:"Include migration files (default: false)"},includeFixtures:{type:"boolean",description:"Include fixture/mock files (default: false)"},confidenceThreshold:{type:"string",enum:["all","high","medium"],description:"Filter by confidence: 'all' (default), 'high' (likely dead), 'medium' (possibly intentional)"}},required:["repoPath","mode"]}}];var Bh=[{name:"shadow_ops_plan",description:"Create a new development mission or strategic initiative with goals and strategy.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},name:{type:"string",description:"Mission name"},goal:{type:"string",description:"Objective and success criteria"},strategy:{type:"string",description:"JSON strategy (steps DAG)"},parentId:{type:"number",description:"ID of parent mission"},outcomeContract:{type:"string",description:"Success verification contract"},templateId:{type:"string",enum:["refactoring","feature","bug-fix"]},templateVars:{type:"object",description:"Template variables"}},required:["repoPath"]}},{name:"shadow_ops_track",description:"Update mission step status, record progress, and track completion.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},missionId:{type:"number"},stepId:{type:"string"},status:{type:"string",enum:["pending","in-progress","completed","failed","skipped"]},contextPivot:{type:"string",description:"Rationale for status change"},updates:{type:"array",items:{type:"object",properties:{stepId:{type:"string"},status:{type:"string"},contextPivot:{type:"string"}}}}},required:["repoPath","missionId"]}},{name:"shadow_ops_log",description:"Record architectural decisions, discoveries, or blockers to the intent log.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},missionId:{type:"number",description:"Mission to attach this log to. Optional \u2014 if omitted, auto-resolves to the active mission or logs as standalone."},type:{type:"string",enum:["decision","blocker","discovery","fix"]},content:{type:"string"},filePath:{type:"string",description:"File path to associate with this log"},symbolName:{type:"string",description:"Symbol related to this intent"},standalone:{type:"boolean",description:"If true, log is anchored to symbolName only (no mission). Requires symbolName."}},required:["repoPath","type","content"]}},{name:"shadow_ops_briefing",description:"Active situational awareness - Get details on missions, decisions, and next steps.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},missionId:{type:"number",description:"Optional specific mission ID"},scope:{type:"string",enum:["mission","project"]},altitude:{type:"string",enum:["orbit","atmosphere","ground"],description:"Zoom level: orbit (~200 tokens, counts+candidates only), atmosphere (strategy+crystals, default), ground (raw logs+working set)"},includeGroupedByParent:{type:"boolean"},activeMissionsLimit:{type:"number",description:"Limit active missions in output"},recentActivityLimit:{type:"number",description:"Limit recent activity logs"},compact:{type:"boolean",description:"Omit strategy_graph JSON for lighter output"}},required:["repoPath"]}},{name:"shadow_ops_synthesize",description:"Distill mission context and logs into an Architectural Decision Record (ADR).",inputSchema:{type:"object",properties:{repoPath:{type:"string"},missionId:{type:"number"}},required:["repoPath","missionId"]}},{name:"shadow_ops_chronicle",description:"Archive feed of the repository narrative (initiatives and standalones).",inputSchema:{type:"object",properties:{repoPath:{type:"string"},format:{type:"string",enum:["markdown","json"]},limit:{type:"number"},offset:{type:"number"},since:{type:"number"},until:{type:"number"}},required:["repoPath"]}},{name:"shadow_ops_context",description:'Session-start bundle in one call: hologram + chronicle (last 5) + briefing summary (counts, next_work_candidates). Use for "new chat, give me the world" without multiple round-trips.',inputSchema:{type:"object",properties:{repoPath:{type:"string"},compact:{type:"boolean",description:"Return lighter payload (omit full hologram.gravity.hotspots, strategy_graph)"}},required:["repoPath"]}},{name:"shadow_ops_health",description:"System health metrics and intelligence index status.",inputSchema:{type:"object",properties:{repoPath:{type:"string"}},required:["repoPath"]}},{name:"shadow_ops_crystallize",description:"Compress a mission's intent logs into a single crystal summary. Raw logs are marked as absorbed and replaced by one dense crystal node for token-efficient briefings.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},missionId:{type:"number"}},required:["repoPath","missionId"]}},{name:"shadow_ops_graph",description:"Visualize mission lineage and dependencies.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},missionId:{type:"number"},depth:{type:"number"},limit:{type:"number"},format:{type:"string",enum:["mermaid","json"]}},required:["repoPath"]}},{name:"shadow_working_set_check",description:"Checks which files are in active mission working sets to detect parallel editing conflicts.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},filePaths:{type:"array",items:{type:"string"}}},required:["repoPath","filePaths"]}},{name:"shadow_inspect_symbol",description:"Dense code retrieval for a single symbol with semantic folding and usage context.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},symbolName:{type:"string"},filePath:{type:"string"},context:{type:"string",enum:["definition","full"]}},required:["repoPath","symbolName"]}},{name:"shadow_inspect_file",description:"Token-efficient summary of ALL symbols and exports in a file.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},filePath:{type:"string"},detailLevel:{type:"string",enum:["structure","signatures","summaries","detailed"]}},required:["repoPath","filePath"]}},{name:"shadow_sync_trace",description:"Full lifecycle synchronization - Repairs index, analyzes changes, and re-hydrates state.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},sinceCommit:{type:"string"}},required:["repoPath"]}},{name:"shadow_sync_index",description:"Incremental code re-indexing to reflect latest file changes.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},deep:{type:"boolean",description:"Force full rebuild"}},required:["repoPath"]}},{name:"shadow_sync_repair",description:"NanoRepair only - Heals broken intent links and symbol shifts.",inputSchema:{type:"object",properties:{repoPath:{type:"string"}},required:["repoPath"]}},{name:"shadow_env_hooks",description:"Install and manage Git hooks for automated intelligence maintenance.",inputSchema:{type:"object",properties:{repoPath:{type:"string"},action:{type:"string",enum:["install","remove","status"]},enableAutoRefresh:{type:"boolean"},enableSymbolHealing:{type:"boolean"}},required:["repoPath","action"]}},{name:"shadow_env_diagnose",description:"Missions and intelligence toolset health check.",inputSchema:{type:"object",properties:{repoPath:{type:"string"}},required:["repoPath"]}},{name:"shadow_workspace_list",description:"Federated view of active missions across multiple repositories.",inputSchema:{type:"object",properties:{repoPaths:{type:"array",items:{type:"string"}},status:{type:"string"}},required:["repoPaths"]}},{name:"shadow_workspace_link",description:"Establish intent-level dependencies between missions in different repos.",inputSchema:{type:"object",properties:{parentRepoPath:{type:"string"},parentMissionId:{type:"number"},childRepoPath:{type:"string"},childMissionId:{type:"number"},relationship:{type:"string"}},required:["parentRepoPath","parentMissionId","childRepoPath","childMissionId","relationship"]}},{name:"shadow_workspace_fuse",description:"Create unified cross-repo search indices using SQLite fusion.",inputSchema:{type:"object",properties:{repoPaths:{type:"array",items:{type:"string"}},name:{type:"string"}},required:["repoPaths"]}}];var y={};He(y,{$brand:()=>go,$input:()=>qu,$output:()=>Vu,NEVER:()=>Pc,TimePrecision:()=>Qu,ZodAny:()=>Zd,ZodArray:()=>Gd,ZodBase64:()=>Hs,ZodBase64URL:()=>Ws,ZodBigInt:()=>ur,ZodBigIntFormat:()=>Js,ZodBoolean:()=>lr,ZodCIDRv4:()=>Fs,ZodCIDRv6:()=>Zs,ZodCUID:()=>As,ZodCUID2:()=>Ls,ZodCatch:()=>fm,ZodCodec:()=>ta,ZodCustom:()=>di,ZodCustomStringFormat:()=>ar,ZodDate:()=>ai,ZodDefault:()=>cm,ZodDiscriminatedUnion:()=>Vd,ZodE164:()=>Bs,ZodEmail:()=>Ns,ZodEmoji:()=>zs,ZodEnum:()=>or,ZodError:()=>fw,ZodExactOptional:()=>om,ZodFile:()=>rm,ZodFirstPartyTypeKind:()=>Em,ZodFunction:()=>$m,ZodGUID:()=>ni,ZodIPv4:()=>js,ZodIPv6:()=>Us,ZodISODate:()=>ks,ZodISODateTime:()=>ws,ZodISODuration:()=>Is,ZodISOTime:()=>Es,ZodIntersection:()=>qd,ZodIssueCode:()=>gw,ZodJWT:()=>Gs,ZodKSUID:()=>Ms,ZodLazy:()=>_m,ZodLiteral:()=>nm,ZodMAC:()=>Ld,ZodMap:()=>em,ZodNaN:()=>gm,ZodNanoID:()=>Ds,ZodNever:()=>Wd,ZodNonOptional:()=>Qs,ZodNull:()=>Ud,ZodNullable:()=>am,ZodNumber:()=>cr,ZodNumberFormat:()=>hn,ZodObject:()=>li,ZodOptional:()=>Xs,ZodPipe:()=>ea,ZodPrefault:()=>um,ZodPromise:()=>Sm,ZodReadonly:()=>ym,ZodRealError:()=>Le,ZodRecord:()=>pi,ZodSet:()=>tm,ZodString:()=>sr,ZodStringFormat:()=>ae,ZodSuccess:()=>mm,ZodSymbol:()=>Md,ZodTemplateLiteral:()=>bm,ZodTransform:()=>im,ZodTuple:()=>Yd,ZodType:()=>X,ZodULID:()=>Os,ZodURL:()=>si,ZodUUID:()=>dt,ZodUndefined:()=>jd,ZodUnion:()=>ui,ZodUnknown:()=>Hd,ZodVoid:()=>Bd,ZodXID:()=>Cs,ZodXor:()=>Jd,_ZodString:()=>Ps,_default:()=>lm,_function:()=>wv,any:()=>nv,array:()=>ci,base64:()=>jy,base64url:()=>Uy,bigint:()=>Yy,boolean:()=>Cd,catch:()=>hm,check:()=>kv,cidrv4:()=>Cy,cidrv6:()=>My,clone:()=>Te,codec:()=>xv,coerce:()=>Im,config:()=>fe,core:()=>St,cuid:()=>Ry,cuid2:()=>Py,custom:()=>Ev,date:()=>iv,decode:()=>Td,decodeAsync:()=>Pd,describe:()=>Iv,discriminatedUnion:()=>uv,e164:()=>Fy,email:()=>by,emoji:()=>Iy,encode:()=>Id,encodeAsync:()=>Rd,endsWith:()=>qn,enum:()=>Ks,exactOptional:()=>sm,file:()=>yv,flattenError:()=>Hr,float32:()=>Jy,float64:()=>Vy,formatError:()=>Wr,fromJSONSchema:()=>Av,function:()=>wv,getErrorMap:()=>vw,globalRegistry:()=>$e,gt:()=>ut,gte:()=>Re,guid:()=>_y,hash:()=>Gy,hex:()=>By,hostname:()=>Wy,httpUrl:()=>Ey,includes:()=>Jn,instanceof:()=>Rv,int:()=>Rs,int32:()=>qy,int64:()=>Xy,intersection:()=>Kd,ipv4:()=>Ay,ipv6:()=>Oy,iso:()=>ir,json:()=>Nv,jwt:()=>Zy,keyof:()=>ov,ksuid:()=>Dy,lazy:()=>xm,length:()=>mn,literal:()=>gv,locales:()=>Xr,looseObject:()=>cv,looseRecord:()=>dv,lowercase:()=>Bn,lt:()=>lt,lte:()=>Fe,mac:()=>Ly,map:()=>mv,maxLength:()=>dn,maxSize:()=>Wt,meta:()=>Tv,mime:()=>Kn,minLength:()=>xt,minSize:()=>pt,multipleOf:()=>Ht,nan:()=>_v,nanoid:()=>Ty,nativeEnum:()=>hv,negative:()=>fs,never:()=>Vs,nonnegative:()=>gs,nonoptional:()=>dm,nonpositive:()=>hs,normalize:()=>Yn,null:()=>Fd,nullable:()=>ii,nullish:()=>vv,number:()=>Od,object:()=>sv,optional:()=>ri,overwrite:()=>it,parse:()=>$d,parseAsync:()=>wd,partialRecord:()=>pv,pipe:()=>oi,positive:()=>ms,prefault:()=>pm,preprocess:()=>zv,prettifyError:()=>Zc,promise:()=>$v,property:()=>ys,readonly:()=>vm,record:()=>Qd,refine:()=>wm,regex:()=>Wn,regexes:()=>Ve,registry:()=>Go,safeDecode:()=>zd,safeDecodeAsync:()=>Ad,safeEncode:()=>Nd,safeEncodeAsync:()=>Dd,safeParse:()=>kd,safeParseAsync:()=>Ed,set:()=>fv,setErrorMap:()=>yw,size:()=>pn,slugify:()=>tr,startsWith:()=>Vn,strictObject:()=>av,string:()=>Ts,stringFormat:()=>Hy,stringbool:()=>Pv,success:()=>bv,superRefine:()=>km,symbol:()=>ev,templateLiteral:()=>Sv,toJSONSchema:()=>xs,toLowerCase:()=>Qn,toUpperCase:()=>er,transform:()=>Ys,treeifyError:()=>Fc,trim:()=>Xn,tuple:()=>Xd,uint32:()=>Ky,uint64:()=>Qy,ulid:()=>Ny,undefined:()=>tv,union:()=>qs,unknown:()=>fn,uppercase:()=>Gn,url:()=>ky,util:()=>O,uuid:()=>xy,uuidv4:()=>Sy,uuidv6:()=>$y,uuidv7:()=>wy,void:()=>rv,xid:()=>zy,xor:()=>lv});var St={};He(St,{$ZodAny:()=>gu,$ZodArray:()=>xu,$ZodAsyncError:()=>rt,$ZodBase64:()=>su,$ZodBase64URL:()=>au,$ZodBigInt:()=>jo,$ZodBigIntFormat:()=>du,$ZodBoolean:()=>Vr,$ZodCIDRv4:()=>ru,$ZodCIDRv6:()=>iu,$ZodCUID:()=>Bl,$ZodCUID2:()=>Gl,$ZodCatch:()=>ju,$ZodCheck:()=>le,$ZodCheckBigIntFormat:()=>xl,$ZodCheckEndsWith:()=>Dl,$ZodCheckGreaterThan:()=>zo,$ZodCheckIncludes:()=>Nl,$ZodCheckLengthEquals:()=>Il,$ZodCheckLessThan:()=>No,$ZodCheckLowerCase:()=>Rl,$ZodCheckMaxLength:()=>kl,$ZodCheckMaxSize:()=>Sl,$ZodCheckMimeType:()=>Ll,$ZodCheckMinLength:()=>El,$ZodCheckMinSize:()=>$l,$ZodCheckMultipleOf:()=>bl,$ZodCheckNumberFormat:()=>_l,$ZodCheckOverwrite:()=>Ol,$ZodCheckProperty:()=>Al,$ZodCheckRegex:()=>Tl,$ZodCheckSizeEquals:()=>wl,$ZodCheckStartsWith:()=>zl,$ZodCheckStringFormat:()=>Zn,$ZodCheckUpperCase:()=>Pl,$ZodCodec:()=>Kr,$ZodCustom:()=>Ju,$ZodCustomStringFormat:()=>uu,$ZodDate:()=>_u,$ZodDefault:()=>Lu,$ZodDiscriminatedUnion:()=>wu,$ZodE164:()=>cu,$ZodEmail:()=>Fl,$ZodEmoji:()=>Hl,$ZodEncodeError:()=>Mt,$ZodEnum:()=>Ru,$ZodError:()=>Zr,$ZodExactOptional:()=>Du,$ZodFile:()=>Nu,$ZodFunction:()=>Wu,$ZodGUID:()=>jl,$ZodIPv4:()=>eu,$ZodIPv6:()=>tu,$ZodISODate:()=>Yl,$ZodISODateTime:()=>Kl,$ZodISODuration:()=>Ql,$ZodISOTime:()=>Xl,$ZodIntersection:()=>ku,$ZodJWT:()=>lu,$ZodKSUID:()=>ql,$ZodLazy:()=>Gu,$ZodLiteral:()=>Pu,$ZodMAC:()=>nu,$ZodMap:()=>Iu,$ZodNaN:()=>Uu,$ZodNanoID:()=>Wl,$ZodNever:()=>vu,$ZodNonOptional:()=>Cu,$ZodNull:()=>hu,$ZodNullable:()=>Au,$ZodNumber:()=>Mo,$ZodNumberFormat:()=>pu,$ZodObject:()=>vg,$ZodObjectJIT:()=>Su,$ZodOptional:()=>Fo,$ZodPipe:()=>Fu,$ZodPrefault:()=>Ou,$ZodPromise:()=>Bu,$ZodReadonly:()=>Zu,$ZodRealError:()=>Ae,$ZodRecord:()=>Eu,$ZodRegistry:()=>Bo,$ZodSet:()=>Tu,$ZodString:()=>un,$ZodStringFormat:()=>se,$ZodSuccess:()=>Mu,$ZodSymbol:()=>mu,$ZodTemplateLiteral:()=>Hu,$ZodTransform:()=>zu,$ZodTuple:()=>Uo,$ZodType:()=>K,$ZodULID:()=>Jl,$ZodURL:()=>Zl,$ZodUUID:()=>Ul,$ZodUndefined:()=>fu,$ZodUnion:()=>qr,$ZodUnknown:()=>yu,$ZodVoid:()=>bu,$ZodXID:()=>Vl,$ZodXor:()=>$u,$brand:()=>go,$constructor:()=>w,$input:()=>qu,$output:()=>Vu,Doc:()=>Jr,JSONSchema:()=>yy,JSONSchemaGenerator:()=>Ss,NEVER:()=>Pc,TimePrecision:()=>Qu,_any:()=>_p,_array:()=>Ip,_base64:()=>ls,_base64url:()=>us,_bigint:()=>mp,_boolean:()=>pp,_catch:()=>sw,_check:()=>gy,_cidrv4:()=>as,_cidrv6:()=>cs,_coercedBigint:()=>fp,_coercedBoolean:()=>dp,_coercedDate:()=>kp,_coercedNumber:()=>op,_coercedString:()=>Yu,_cuid:()=>es,_cuid2:()=>ts,_custom:()=>Rp,_date:()=>wp,_decode:()=>So,_decodeAsync:()=>wo,_default:()=>rw,_discriminatedUnion:()=>B$,_e164:()=>ps,_email:()=>Jo,_emoji:()=>Xo,_encode:()=>xo,_encodeAsync:()=>$o,_endsWith:()=>qn,_enum:()=>Y$,_file:()=>Tp,_float32:()=>ap,_float64:()=>cp,_gt:()=>ut,_gte:()=>Re,_guid:()=>Qr,_includes:()=>Jn,_int:()=>sp,_int32:()=>lp,_int64:()=>hp,_intersection:()=>G$,_ipv4:()=>os,_ipv6:()=>ss,_isoDate:()=>tp,_isoDateTime:()=>ep,_isoDuration:()=>rp,_isoTime:()=>np,_jwt:()=>ds,_ksuid:()=>is,_lazy:()=>uw,_length:()=>mn,_literal:()=>Q$,_lowercase:()=>Bn,_lt:()=>lt,_lte:()=>Fe,_mac:()=>Xu,_map:()=>q$,_max:()=>Fe,_maxLength:()=>dn,_maxSize:()=>Wt,_mime:()=>Kn,_min:()=>Re,_minLength:()=>xt,_minSize:()=>pt,_multipleOf:()=>Ht,_nan:()=>Ep,_nanoid:()=>Qo,_nativeEnum:()=>X$,_negative:()=>fs,_never:()=>Sp,_nonnegative:()=>gs,_nonoptional:()=>iw,_nonpositive:()=>hs,_normalize:()=>Yn,_null:()=>bp,_nullable:()=>nw,_number:()=>ip,_optional:()=>tw,_overwrite:()=>it,_parse:()=>Mn,_parseAsync:()=>jn,_pipe:()=>aw,_positive:()=>ms,_promise:()=>pw,_property:()=>ys,_readonly:()=>cw,_record:()=>V$,_refine:()=>Pp,_regex:()=>Wn,_safeDecode:()=>Eo,_safeDecodeAsync:()=>To,_safeEncode:()=>ko,_safeEncodeAsync:()=>Io,_safeParse:()=>Un,_safeParseAsync:()=>Fn,_set:()=>K$,_size:()=>pn,_slugify:()=>tr,_startsWith:()=>Vn,_string:()=>Ku,_stringFormat:()=>nr,_stringbool:()=>Ap,_success:()=>ow,_superRefine:()=>Np,_symbol:()=>yp,_templateLiteral:()=>lw,_toLowerCase:()=>Qn,_toUpperCase:()=>er,_transform:()=>ew,_trim:()=>Xn,_tuple:()=>J$,_uint32:()=>up,_uint64:()=>gp,_ulid:()=>ns,_undefined:()=>vp,_union:()=>H$,_unknown:()=>xp,_uppercase:()=>Gn,_url:()=>ei,_uuid:()=>Vo,_uuidv4:()=>qo,_uuidv6:()=>Ko,_uuidv7:()=>Yo,_void:()=>$p,_xid:()=>rs,_xor:()=>W$,clone:()=>Te,config:()=>fe,createStandardJSONSchemaMethod:()=>rr,createToJSONSchemaMethod:()=>Lp,decode:()=>fS,decodeAsync:()=>gS,describe:()=>zp,encode:()=>mS,encodeAsync:()=>hS,extractDefs:()=>Gt,finalize:()=>Jt,flattenError:()=>Hr,formatError:()=>Wr,globalConfig:()=>Lr,globalRegistry:()=>$e,initializeContext:()=>Bt,isValidBase64:()=>ou,isValidBase64URL:()=>fg,isValidJWT:()=>hg,locales:()=>Xr,meta:()=>Dp,parse:()=>bo,parseAsync:()=>_o,prettifyError:()=>Zc,process:()=>re,regexes:()=>Ve,registry:()=>Go,safeDecode:()=>vS,safeDecodeAsync:()=>_S,safeEncode:()=>yS,safeEncodeAsync:()=>bS,safeParse:()=>Hc,safeParseAsync:()=>Wc,toDotPath:()=>Kh,toJSONSchema:()=>xs,treeifyError:()=>Fc,util:()=>O,version:()=>Cl});var Pc=Object.freeze({status:"aborted"});function w(n,e,r){function i(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(n))return;a._zod.traits.add(n),e(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let p=u[d];p in a||(a[p]=l[p].bind(a))}}let t=r?.Parent??Object;class o extends t{}Object.defineProperty(o,"name",{value:n});function s(a){var c;let l=r?.Parent?new o:this;i(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:i}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(n)}),Object.defineProperty(s,"name",{value:n}),s}var go=Symbol("zod_brand"),rt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Mt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},Lr={};function fe(n){return n&&Object.assign(Lr,n),Lr}var O={};He(O,{BIGINT_FORMAT_RANGES:()=>Uc,Class:()=>zc,NUMBER_FORMAT_RANGES:()=>jc,aborted:()=>Zt,allowsEval:()=>Lc,assert:()=>Bx,assertEqual:()=>Fx,assertIs:()=>Hx,assertNever:()=>Wx,assertNotEqual:()=>Zx,assignProp:()=>Ut,base64ToUint8Array:()=>Jh,base64urlToUint8Array:()=>cS,cached:()=>On,captureStackTrace:()=>vo,cleanEnum:()=>aS,cleanRegex:()=>Mr,clone:()=>Te,cloneDef:()=>Jx,createTransparentProxy:()=>Qx,defineLazy:()=>te,esc:()=>yo,escapeRegex:()=>Je,extend:()=>nS,finalizeIssue:()=>De,floatSafeRemainder:()=>Dc,getElementAtPath:()=>Vx,getEnumValues:()=>Cr,getLengthableOrigin:()=>Fr,getParsedType:()=>Xx,getSizableOrigin:()=>Ur,hexToUint8Array:()=>uS,isObject:()=>cn,isPlainObject:()=>Ft,issue:()=>Cn,joinValues:()=>T,jsonStringifyReplacer:()=>Ln,merge:()=>iS,mergeDefs:()=>_t,normalizeParams:()=>M,nullish:()=>jt,numKeys:()=>Yx,objectClone:()=>Gx,omit:()=>tS,optionalKeys:()=>Mc,parsedType:()=>L,partial:()=>oS,pick:()=>eS,prefixIssues:()=>Ue,primitiveTypes:()=>Cc,promiseAllObject:()=>qx,propertyKeyTypes:()=>jr,randomString:()=>Kx,required:()=>sS,safeExtend:()=>rS,shallowClone:()=>Oc,slugify:()=>Ac,stringifyPrimitive:()=>A,uint8ArrayToBase64:()=>Vh,uint8ArrayToBase64url:()=>lS,uint8ArrayToHex:()=>pS,unwrapMessage:()=>Or});function Fx(n){return n}function Zx(n){return n}function Hx(n){}function Wx(n){throw new Error("Unexpected value in exhaustive check")}function Bx(n){}function Cr(n){let e=Object.values(n).filter(i=>typeof i=="number");return Object.entries(n).filter(([i,t])=>e.indexOf(+i)===-1).map(([i,t])=>t)}function T(n,e="|"){return n.map(r=>A(r)).join(e)}function Ln(n,e){return typeof e=="bigint"?e.toString():e}function On(n){return{get value(){{let r=n();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function jt(n){return n==null}function Mr(n){let e=n.startsWith("^")?1:0,r=n.endsWith("$")?n.length-1:n.length;return n.slice(e,r)}function Dc(n,e){let r=(n.toString().split(".")[1]||"").length,i=e.toString(),t=(i.split(".")[1]||"").length;if(t===0&&/\d?e-\d?/.test(i)){let c=i.match(/\d?e-(\d?)/);c?.[1]&&(t=Number.parseInt(c[1]))}let o=r>t?r:t,s=Number.parseInt(n.toFixed(o).replace(".","")),a=Number.parseInt(e.toFixed(o).replace(".",""));return s%a/10**o}var Gh=Symbol("evaluating");function te(n,e,r){let i;Object.defineProperty(n,e,{get(){if(i!==Gh)return i===void 0&&(i=Gh,i=r()),i},set(t){Object.defineProperty(n,e,{value:t})},configurable:!0})}function Gx(n){return Object.create(Object.getPrototypeOf(n),Object.getOwnPropertyDescriptors(n))}function Ut(n,e,r){Object.defineProperty(n,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _t(...n){let e={};for(let r of n){let i=Object.getOwnPropertyDescriptors(r);Object.assign(e,i)}return Object.defineProperties({},e)}function Jx(n){return _t(n._zod.def)}function Vx(n,e){return e?e.reduce((r,i)=>r?.[i],n):n}function qx(n){let e=Object.keys(n),r=e.map(i=>n[i]);return Promise.all(r).then(i=>{let t={};for(let o=0;o<e.length;o++)t[e[o]]=i[o];return t})}function Kx(n=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let i=0;i<n;i++)r+=e[Math.floor(Math.random()*e.length)];return r}function yo(n){return JSON.stringify(n)}function Ac(n){return n.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var vo="captureStackTrace"in Error?Error.captureStackTrace:(...n)=>{};function cn(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}var Lc=On(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let n=Function;return new n(""),!0}catch{return!1}});function Ft(n){if(cn(n)===!1)return!1;let e=n.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(cn(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Oc(n){return Ft(n)?{...n}:Array.isArray(n)?[...n]:n}function Yx(n){let e=0;for(let r in n)Object.prototype.hasOwnProperty.call(n,r)&&e++;return e}var Xx=n=>{let e=typeof n;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(n)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(n)?"array":n===null?"null":n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?"promise":typeof Map<"u"&&n instanceof Map?"map":typeof Set<"u"&&n instanceof Set?"set":typeof Date<"u"&&n instanceof Date?"date":typeof File<"u"&&n instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},jr=new Set(["string","number","symbol"]),Cc=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Je(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Te(n,e,r){let i=new n._zod.constr(e??n._zod.def);return(!e||r?.parent)&&(i._zod.parent=n),i}function M(n){let e=n;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function Qx(n){let e;return new Proxy({},{get(r,i,t){return e??(e=n()),Reflect.get(e,i,t)},set(r,i,t,o){return e??(e=n()),Reflect.set(e,i,t,o)},has(r,i){return e??(e=n()),Reflect.has(e,i)},deleteProperty(r,i){return e??(e=n()),Reflect.deleteProperty(e,i)},ownKeys(r){return e??(e=n()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,i){return e??(e=n()),Reflect.getOwnPropertyDescriptor(e,i)},defineProperty(r,i,t){return e??(e=n()),Reflect.defineProperty(e,i,t)}})}function A(n){return typeof n=="bigint"?n.toString()+"n":typeof n=="string"?`"${n}"`:`${n}`}function Mc(n){return Object.keys(n).filter(e=>n[e]._zod.optin==="optional"&&n[e]._zod.optout==="optional")}var jc={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]},Uc={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function eS(n,e){let r=n._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=_t(n._zod.def,{get shape(){let s={};for(let a in e){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&(s[a]=r.shape[a])}return Ut(this,"shape",s),s},checks:[]});return Te(n,o)}function tS(n,e){let r=n._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=_t(n._zod.def,{get shape(){let s={...n._zod.def.shape};for(let a in e){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);e[a]&&delete s[a]}return Ut(this,"shape",s),s},checks:[]});return Te(n,o)}function nS(n,e){if(!Ft(e))throw new Error("Invalid input to extend: expected a plain object");let r=n._zod.def.checks;if(r&&r.length>0){let o=n._zod.def.shape;for(let s in e)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let t=_t(n._zod.def,{get shape(){let o={...n._zod.def.shape,...e};return Ut(this,"shape",o),o}});return Te(n,t)}function rS(n,e){if(!Ft(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=_t(n._zod.def,{get shape(){let i={...n._zod.def.shape,...e};return Ut(this,"shape",i),i}});return Te(n,r)}function iS(n,e){let r=_t(n._zod.def,{get shape(){let i={...n._zod.def.shape,...e._zod.def.shape};return Ut(this,"shape",i),i},get catchall(){return e._zod.def.catchall},checks:[]});return Te(n,r)}function oS(n,e,r){let t=e._zod.def.checks;if(t&&t.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=_t(e._zod.def,{get shape(){let a=e._zod.def.shape,c={...a};if(r)for(let l in r){if(!(l in a))throw new Error(`Unrecognized key: "${l}"`);r[l]&&(c[l]=n?new n({type:"optional",innerType:a[l]}):a[l])}else for(let l in a)c[l]=n?new n({type:"optional",innerType:a[l]}):a[l];return Ut(this,"shape",c),c},checks:[]});return Te(e,s)}function sS(n,e,r){let i=_t(e._zod.def,{get shape(){let t=e._zod.def.shape,o={...t};if(r)for(let s in r){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(o[s]=new n({type:"nonoptional",innerType:t[s]}))}else for(let s in t)o[s]=new n({type:"nonoptional",innerType:t[s]});return Ut(this,"shape",o),o}});return Te(e,i)}function Zt(n,e=0){if(n.aborted===!0)return!0;for(let r=e;r<n.issues.length;r++)if(n.issues[r]?.continue!==!0)return!0;return!1}function Ue(n,e){return e.map(r=>{var i;return(i=r).path??(i.path=[]),r.path.unshift(n),r})}function Or(n){return typeof n=="string"?n:n?.message}function De(n,e,r){let i={...n,path:n.path??[]};if(!n.message){let t=Or(n.inst?._zod.def?.error?.(n))??Or(e?.error?.(n))??Or(r.customError?.(n))??Or(r.localeError?.(n))??"Invalid input";i.message=t}return delete i.inst,delete i.continue,e?.reportInput||delete i.input,i}function Ur(n){return n instanceof Set?"set":n instanceof Map?"map":n instanceof File?"file":"unknown"}function Fr(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function L(n){let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"nan":"number";case"object":{if(n===null)return"null";if(Array.isArray(n))return"array";let r=n;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function Cn(...n){let[e,r,i]=n;return typeof e=="string"?{message:e,code:"custom",input:r,inst:i}:{...e}}function aS(n){return Object.entries(n).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function Jh(n){let e=atob(n),r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return r}function Vh(n){let e="";for(let r=0;r<n.length;r++)e+=String.fromCharCode(n[r]);return btoa(e)}function cS(n){let e=n.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-e.length%4)%4);return Jh(e+r)}function lS(n){return Vh(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function uS(n){let e=n.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2)r[i/2]=Number.parseInt(e.slice(i,i+2),16);return r}function pS(n){return Array.from(n).map(e=>e.toString(16).padStart(2,"0")).join("")}var zc=class{constructor(...e){}};var qh=(n,e)=>{n.name="$ZodError",Object.defineProperty(n,"_zod",{value:n._zod,enumerable:!1}),Object.defineProperty(n,"issues",{value:e,enumerable:!1}),n.message=JSON.stringify(e,Ln,2),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},Zr=w("$ZodError",qh),Ae=w("$ZodError",qh,{Parent:Error});function Hr(n,e=r=>r.message){let r={},i=[];for(let t of n.issues)t.path.length>0?(r[t.path[0]]=r[t.path[0]]||[],r[t.path[0]].push(e(t))):i.push(e(t));return{formErrors:i,fieldErrors:r}}function Wr(n,e=r=>r.message){let r={_errors:[]},i=t=>{for(let o of t.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>i({issues:s}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)r._errors.push(e(o));else{let s=r,a=0;for(;a<o.path.length;){let c=o.path[a];a===o.path.length-1?(s[c]=s[c]||{_errors:[]},s[c]._errors.push(e(o))):s[c]=s[c]||{_errors:[]},s=s[c],a++}}};return i(n),r}function Fc(n,e=r=>r.message){let r={errors:[]},i=(t,o=[])=>{var s,a;for(let c of t.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(l=>i({issues:l},c.path));else if(c.code==="invalid_key")i({issues:c.issues},c.path);else if(c.code==="invalid_element")i({issues:c.issues},c.path);else{let l=[...o,...c.path];if(l.length===0){r.errors.push(e(c));continue}let u=r,d=0;for(;d<l.length;){let p=l[d],f=d===l.length-1;typeof p=="string"?(u.properties??(u.properties={}),(s=u.properties)[p]??(s[p]={errors:[]}),u=u.properties[p]):(u.items??(u.items=[]),(a=u.items)[p]??(a[p]={errors:[]}),u=u.items[p]),f&&u.errors.push(e(c)),d++}}};return i(n),r}function Kh(n){let e=[],r=n.map(i=>typeof i=="object"?i.key:i);for(let i of r)typeof i=="number"?e.push(`[${i}]`):typeof i=="symbol"?e.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?e.push(`[${JSON.stringify(i)}]`):(e.length&&e.push("."),e.push(i));return e.join("")}function Zc(n){let e=[],r=[...n.issues].sort((i,t)=>(i.path??[]).length-(t.path??[]).length);for(let i of r)e.push(`\u2716 ${i.message}`),i.path?.length&&e.push(` \u2192 at ${Kh(i.path)}`);return e.join(`
|
|
679
|
+
`)}var Mn=n=>(e,r,i,t)=>{let o=i?Object.assign(i,{async:!1}):{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new rt;if(s.issues.length){let a=new(t?.Err??n)(s.issues.map(c=>De(c,o,fe())));throw vo(a,t?.callee),a}return s.value},bo=Mn(Ae),jn=n=>async(e,r,i,t)=>{let o=i?Object.assign(i,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(t?.Err??n)(s.issues.map(c=>De(c,o,fe())));throw vo(a,t?.callee),a}return s.value},_o=jn(Ae),Un=n=>(e,r,i)=>{let t=i?{...i,async:!1}:{async:!1},o=e._zod.run({value:r,issues:[]},t);if(o instanceof Promise)throw new rt;return o.issues.length?{success:!1,error:new(n??Zr)(o.issues.map(s=>De(s,t,fe())))}:{success:!0,data:o.value}},Hc=Un(Ae),Fn=n=>async(e,r,i)=>{let t=i?Object.assign(i,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},t);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new n(o.issues.map(s=>De(s,t,fe())))}:{success:!0,data:o.value}},Wc=Fn(Ae),xo=n=>(e,r,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Mn(n)(e,r,t)},mS=xo(Ae),So=n=>(e,r,i)=>Mn(n)(e,r,i),fS=So(Ae),$o=n=>async(e,r,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return jn(n)(e,r,t)},hS=$o(Ae),wo=n=>async(e,r,i)=>jn(n)(e,r,i),gS=wo(Ae),ko=n=>(e,r,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Un(n)(e,r,t)},yS=ko(Ae),Eo=n=>(e,r,i)=>Un(n)(e,r,i),vS=Eo(Ae),Io=n=>async(e,r,i)=>{let t=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Fn(n)(e,r,t)},bS=Io(Ae),To=n=>async(e,r,i)=>Fn(n)(e,r,i),_S=To(Ae);var Ve={};He(Ve,{base64:()=>sl,base64url:()=>Ro,bigint:()=>dl,boolean:()=>fl,browserEmail:()=>TS,cidrv4:()=>il,cidrv6:()=>ol,cuid:()=>Bc,cuid2:()=>Gc,date:()=>cl,datetime:()=>ul,domain:()=>NS,duration:()=>Yc,e164:()=>al,email:()=>Qc,emoji:()=>el,extendedDuration:()=>xS,guid:()=>Xc,hex:()=>zS,hostname:()=>PS,html5Email:()=>kS,idnEmail:()=>IS,integer:()=>ml,ipv4:()=>tl,ipv6:()=>nl,ksuid:()=>qc,lowercase:()=>yl,mac:()=>rl,md5_base64:()=>AS,md5_base64url:()=>LS,md5_hex:()=>DS,nanoid:()=>Kc,null:()=>hl,number:()=>Po,rfc5322Email:()=>ES,sha1_base64:()=>CS,sha1_base64url:()=>MS,sha1_hex:()=>OS,sha256_base64:()=>US,sha256_base64url:()=>FS,sha256_hex:()=>jS,sha384_base64:()=>HS,sha384_base64url:()=>WS,sha384_hex:()=>ZS,sha512_base64:()=>GS,sha512_base64url:()=>JS,sha512_hex:()=>BS,string:()=>pl,time:()=>ll,ulid:()=>Jc,undefined:()=>gl,unicodeEmail:()=>Yh,uppercase:()=>vl,uuid:()=>ln,uuid4:()=>SS,uuid6:()=>$S,uuid7:()=>wS,xid:()=>Vc});var Bc=/^[cC][^\s-]{8,}$/,Gc=/^[0-9a-z]+$/,Jc=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Vc=/^[0-9a-vA-V]{20}$/,qc=/^[A-Za-z0-9]{27}$/,Kc=/^[a-zA-Z0-9_-]{21}$/,Yc=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,xS=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Xc=/^([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})$/,ln=n=>n?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${n}[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)$/,SS=ln(4),$S=ln(6),wS=ln(7),Qc=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,kS=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,ES=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Yh=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,IS=Yh,TS=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,RS="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function el(){return new RegExp(RS,"u")}var tl=/^(?:(?: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])$/,nl=/^(([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}|:))$/,rl=n=>{let e=Je(n??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},il=/^((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])$/,ol=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,sl=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ro=/^[A-Za-z0-9_-]*$/,PS=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,NS=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,al=/^\+[1-9]\d{6,14}$/,Xh="(?:(?:\\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])))",cl=new RegExp(`^${Xh}$`);function Qh(n){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof n.precision=="number"?n.precision===-1?`${e}`:n.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${n.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ll(n){return new RegExp(`^${Qh(n)}$`)}function ul(n){let e=Qh({precision:n.precision}),r=["Z"];n.local&&r.push(""),n.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${e}(?:${r.join("|")})`;return new RegExp(`^${Xh}T(?:${i})$`)}var pl=n=>{let e=n?`[\\s\\S]{${n?.minimum??0},${n?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},dl=/^-?\d+n?$/,ml=/^-?\d+$/,Po=/^-?\d+(?:\.\d+)?$/,fl=/^(?:true|false)$/i,hl=/^null$/i;var gl=/^undefined$/i;var yl=/^[^A-Z]*$/,vl=/^[^a-z]*$/,zS=/^[0-9a-fA-F]*$/;function Br(n,e){return new RegExp(`^[A-Za-z0-9+/]{${n}}${e}$`)}function Gr(n){return new RegExp(`^[A-Za-z0-9_-]{${n}}$`)}var DS=/^[0-9a-fA-F]{32}$/,AS=Br(22,"=="),LS=Gr(22),OS=/^[0-9a-fA-F]{40}$/,CS=Br(27,"="),MS=Gr(27),jS=/^[0-9a-fA-F]{64}$/,US=Br(43,"="),FS=Gr(43),ZS=/^[0-9a-fA-F]{96}$/,HS=Br(64,""),WS=Gr(64),BS=/^[0-9a-fA-F]{128}$/,GS=Br(86,"=="),JS=Gr(86);var le=w("$ZodCheck",(n,e)=>{var r;n._zod??(n._zod={}),n._zod.def=e,(r=n._zod).onattach??(r.onattach=[])}),tg={number:"number",bigint:"bigint",object:"date"},No=w("$ZodCheckLessThan",(n,e)=>{le.init(n,e);let r=tg[typeof e.value];n._zod.onattach.push(i=>{let t=i._zod.bag,o=(e.inclusive?t.maximum:t.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<o&&(e.inclusive?t.maximum=e.value:t.exclusiveMaximum=e.value)}),n._zod.check=i=>{(e.inclusive?i.value<=e.value:i.value<e.value)||i.issues.push({origin:r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:i.value,inclusive:e.inclusive,inst:n,continue:!e.abort})}}),zo=w("$ZodCheckGreaterThan",(n,e)=>{le.init(n,e);let r=tg[typeof e.value];n._zod.onattach.push(i=>{let t=i._zod.bag,o=(e.inclusive?t.minimum:t.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?t.minimum=e.value:t.exclusiveMinimum=e.value)}),n._zod.check=i=>{(e.inclusive?i.value>=e.value:i.value>e.value)||i.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:i.value,inclusive:e.inclusive,inst:n,continue:!e.abort})}}),bl=w("$ZodCheckMultipleOf",(n,e)=>{le.init(n,e),n._zod.onattach.push(r=>{var i;(i=r._zod.bag).multipleOf??(i.multipleOf=e.value)}),n._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):Dc(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:n,continue:!e.abort})}}),_l=w("$ZodCheckNumberFormat",(n,e)=>{le.init(n,e),e.format=e.format||"float64";let r=e.format?.includes("int"),i=r?"int":"number",[t,o]=jc[e.format];n._zod.onattach.push(s=>{let a=s._zod.bag;a.format=e.format,a.minimum=t,a.maximum=o,r&&(a.pattern=ml)}),n._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:i,format:e.format,code:"invalid_type",continue:!1,input:a,inst:n});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:i,inclusive:!0,continue:!e.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:i,inclusive:!0,continue:!e.abort});return}}a<t&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:t,inclusive:!0,inst:n,continue:!e.abort}),a>o&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:n,continue:!e.abort})}}),xl=w("$ZodCheckBigIntFormat",(n,e)=>{le.init(n,e);let[r,i]=Uc[e.format];n._zod.onattach.push(t=>{let o=t._zod.bag;o.format=e.format,o.minimum=r,o.maximum=i}),n._zod.check=t=>{let o=t.value;o<r&&t.issues.push({origin:"bigint",input:o,code:"too_small",minimum:r,inclusive:!0,inst:n,continue:!e.abort}),o>i&&t.issues.push({origin:"bigint",input:o,code:"too_big",maximum:i,inclusive:!0,inst:n,continue:!e.abort})}}),Sl=w("$ZodCheckMaxSize",(n,e)=>{var r;le.init(n,e),(r=n._zod.def).when??(r.when=i=>{let t=i.value;return!jt(t)&&t.size!==void 0}),n._zod.onattach.push(i=>{let t=i._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<t&&(i._zod.bag.maximum=e.maximum)}),n._zod.check=i=>{let t=i.value;t.size<=e.maximum||i.issues.push({origin:Ur(t),code:"too_big",maximum:e.maximum,inclusive:!0,input:t,inst:n,continue:!e.abort})}}),$l=w("$ZodCheckMinSize",(n,e)=>{var r;le.init(n,e),(r=n._zod.def).when??(r.when=i=>{let t=i.value;return!jt(t)&&t.size!==void 0}),n._zod.onattach.push(i=>{let t=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>t&&(i._zod.bag.minimum=e.minimum)}),n._zod.check=i=>{let t=i.value;t.size>=e.minimum||i.issues.push({origin:Ur(t),code:"too_small",minimum:e.minimum,inclusive:!0,input:t,inst:n,continue:!e.abort})}}),wl=w("$ZodCheckSizeEquals",(n,e)=>{var r;le.init(n,e),(r=n._zod.def).when??(r.when=i=>{let t=i.value;return!jt(t)&&t.size!==void 0}),n._zod.onattach.push(i=>{let t=i._zod.bag;t.minimum=e.size,t.maximum=e.size,t.size=e.size}),n._zod.check=i=>{let t=i.value,o=t.size;if(o===e.size)return;let s=o>e.size;i.issues.push({origin:Ur(t),...s?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:i.value,inst:n,continue:!e.abort})}}),kl=w("$ZodCheckMaxLength",(n,e)=>{var r;le.init(n,e),(r=n._zod.def).when??(r.when=i=>{let t=i.value;return!jt(t)&&t.length!==void 0}),n._zod.onattach.push(i=>{let t=i._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<t&&(i._zod.bag.maximum=e.maximum)}),n._zod.check=i=>{let t=i.value;if(t.length<=e.maximum)return;let s=Fr(t);i.issues.push({origin:s,code:"too_big",maximum:e.maximum,inclusive:!0,input:t,inst:n,continue:!e.abort})}}),El=w("$ZodCheckMinLength",(n,e)=>{var r;le.init(n,e),(r=n._zod.def).when??(r.when=i=>{let t=i.value;return!jt(t)&&t.length!==void 0}),n._zod.onattach.push(i=>{let t=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>t&&(i._zod.bag.minimum=e.minimum)}),n._zod.check=i=>{let t=i.value;if(t.length>=e.minimum)return;let s=Fr(t);i.issues.push({origin:s,code:"too_small",minimum:e.minimum,inclusive:!0,input:t,inst:n,continue:!e.abort})}}),Il=w("$ZodCheckLengthEquals",(n,e)=>{var r;le.init(n,e),(r=n._zod.def).when??(r.when=i=>{let t=i.value;return!jt(t)&&t.length!==void 0}),n._zod.onattach.push(i=>{let t=i._zod.bag;t.minimum=e.length,t.maximum=e.length,t.length=e.length}),n._zod.check=i=>{let t=i.value,o=t.length;if(o===e.length)return;let s=Fr(t),a=o>e.length;i.issues.push({origin:s,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:i.value,inst:n,continue:!e.abort})}}),Zn=w("$ZodCheckStringFormat",(n,e)=>{var r,i;le.init(n,e),n._zod.onattach.push(t=>{let o=t._zod.bag;o.format=e.format,e.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(e.pattern))}),e.pattern?(r=n._zod).check??(r.check=t=>{e.pattern.lastIndex=0,!e.pattern.test(t.value)&&t.issues.push({origin:"string",code:"invalid_format",format:e.format,input:t.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:n,continue:!e.abort})}):(i=n._zod).check??(i.check=()=>{})}),Tl=w("$ZodCheckRegex",(n,e)=>{Zn.init(n,e),n._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:n,continue:!e.abort})}}),Rl=w("$ZodCheckLowerCase",(n,e)=>{e.pattern??(e.pattern=yl),Zn.init(n,e)}),Pl=w("$ZodCheckUpperCase",(n,e)=>{e.pattern??(e.pattern=vl),Zn.init(n,e)}),Nl=w("$ZodCheckIncludes",(n,e)=>{le.init(n,e);let r=Je(e.includes),i=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=i,n._zod.onattach.push(t=>{let o=t._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(i)}),n._zod.check=t=>{t.value.includes(e.includes,e.position)||t.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:t.value,inst:n,continue:!e.abort})}}),zl=w("$ZodCheckStartsWith",(n,e)=>{le.init(n,e);let r=new RegExp(`^${Je(e.prefix)}.*`);e.pattern??(e.pattern=r),n._zod.onattach.push(i=>{let t=i._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),n._zod.check=i=>{i.value.startsWith(e.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:i.value,inst:n,continue:!e.abort})}}),Dl=w("$ZodCheckEndsWith",(n,e)=>{le.init(n,e);let r=new RegExp(`.*${Je(e.suffix)}$`);e.pattern??(e.pattern=r),n._zod.onattach.push(i=>{let t=i._zod.bag;t.patterns??(t.patterns=new Set),t.patterns.add(r)}),n._zod.check=i=>{i.value.endsWith(e.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:i.value,inst:n,continue:!e.abort})}});function eg(n,e,r){n.issues.length&&e.issues.push(...Ue(r,n.issues))}var Al=w("$ZodCheckProperty",(n,e)=>{le.init(n,e),n._zod.check=r=>{let i=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(i instanceof Promise)return i.then(t=>eg(t,r,e.property));eg(i,r,e.property)}}),Ll=w("$ZodCheckMimeType",(n,e)=>{le.init(n,e);let r=new Set(e.mime);n._zod.onattach.push(i=>{i._zod.bag.mime=e.mime}),n._zod.check=i=>{r.has(i.value.type)||i.issues.push({code:"invalid_value",values:e.mime,input:i.value.type,inst:n,continue:!e.abort})}}),Ol=w("$ZodCheckOverwrite",(n,e)=>{le.init(n,e),n._zod.check=r=>{r.value=e.tx(r.value)}});var Jr=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let i=e.split(`
|
|
680
|
+
`).filter(s=>s),t=Math.min(...i.map(s=>s.length-s.trimStart().length)),o=i.map(s=>s.slice(t)).map(s=>" ".repeat(this.indent*2)+s);for(let s of o)this.content.push(s)}compile(){let e=Function,r=this?.args,t=[...(this?.content??[""]).map(o=>` ${o}`)];return new e(...r,t.join(`
|
|
681
|
+
`))}};var Cl={major:4,minor:3,patch:6};var K=w("$ZodType",(n,e)=>{var r;n??(n={}),n._zod.def=e,n._zod.bag=n._zod.bag||{},n._zod.version=Cl;let i=[...n._zod.def.checks??[]];n._zod.traits.has("$ZodCheck")&&i.unshift(n);for(let t of i)for(let o of t._zod.onattach)o(n);if(i.length===0)(r=n._zod).deferred??(r.deferred=[]),n._zod.deferred?.push(()=>{n._zod.run=n._zod.parse});else{let t=(s,a,c)=>{let l=Zt(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let p=s.issues.length,f=d._zod.check(s);if(f instanceof Promise&&c?.async===!1)throw new rt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==p&&(l||(l=Zt(s,p)))});else{if(s.issues.length===p)continue;l||(l=Zt(s,p))}}return u?u.then(()=>s):s},o=(s,a,c)=>{if(Zt(s))return s.aborted=!0,s;let l=t(a,i,c);if(l instanceof Promise){if(c.async===!1)throw new rt;return l.then(u=>n._zod.parse(u,c))}return n._zod.parse(l,c)};n._zod.run=(s,a)=>{if(a.skipChecks)return n._zod.parse(s,a);if(a.direction==="backward"){let l=n._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return l instanceof Promise?l.then(u=>o(u,s,a)):o(l,s,a)}let c=n._zod.parse(s,a);if(c instanceof Promise){if(a.async===!1)throw new rt;return c.then(l=>t(l,i,a))}return t(c,i,a)}}te(n,"~standard",()=>({validate:t=>{try{let o=Hc(n,t);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return Wc(n,t).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),un=w("$ZodString",(n,e)=>{K.init(n,e),n._zod.pattern=[...n?._zod.bag?.patterns??[]].pop()??pl(n._zod.bag),n._zod.parse=(r,i)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:n}),r}}),se=w("$ZodStringFormat",(n,e)=>{Zn.init(n,e),un.init(n,e)}),jl=w("$ZodGUID",(n,e)=>{e.pattern??(e.pattern=Xc),se.init(n,e)}),Ul=w("$ZodUUID",(n,e)=>{if(e.version){let i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(i===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ln(i))}else e.pattern??(e.pattern=ln());se.init(n,e)}),Fl=w("$ZodEmail",(n,e)=>{e.pattern??(e.pattern=Qc),se.init(n,e)}),Zl=w("$ZodURL",(n,e)=>{se.init(n,e),n._zod.check=r=>{try{let i=r.value.trim(),t=new URL(i);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(t.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:n,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(t.protocol.endsWith(":")?t.protocol.slice(0,-1):t.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:n,continue:!e.abort})),e.normalize?r.value=t.href:r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:n,continue:!e.abort})}}}),Hl=w("$ZodEmoji",(n,e)=>{e.pattern??(e.pattern=el()),se.init(n,e)}),Wl=w("$ZodNanoID",(n,e)=>{e.pattern??(e.pattern=Kc),se.init(n,e)}),Bl=w("$ZodCUID",(n,e)=>{e.pattern??(e.pattern=Bc),se.init(n,e)}),Gl=w("$ZodCUID2",(n,e)=>{e.pattern??(e.pattern=Gc),se.init(n,e)}),Jl=w("$ZodULID",(n,e)=>{e.pattern??(e.pattern=Jc),se.init(n,e)}),Vl=w("$ZodXID",(n,e)=>{e.pattern??(e.pattern=Vc),se.init(n,e)}),ql=w("$ZodKSUID",(n,e)=>{e.pattern??(e.pattern=qc),se.init(n,e)}),Kl=w("$ZodISODateTime",(n,e)=>{e.pattern??(e.pattern=ul(e)),se.init(n,e)}),Yl=w("$ZodISODate",(n,e)=>{e.pattern??(e.pattern=cl),se.init(n,e)}),Xl=w("$ZodISOTime",(n,e)=>{e.pattern??(e.pattern=ll(e)),se.init(n,e)}),Ql=w("$ZodISODuration",(n,e)=>{e.pattern??(e.pattern=Yc),se.init(n,e)}),eu=w("$ZodIPv4",(n,e)=>{e.pattern??(e.pattern=tl),se.init(n,e),n._zod.bag.format="ipv4"}),tu=w("$ZodIPv6",(n,e)=>{e.pattern??(e.pattern=nl),se.init(n,e),n._zod.bag.format="ipv6",n._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:n,continue:!e.abort})}}}),nu=w("$ZodMAC",(n,e)=>{e.pattern??(e.pattern=rl(e.delimiter)),se.init(n,e),n._zod.bag.format="mac"}),ru=w("$ZodCIDRv4",(n,e)=>{e.pattern??(e.pattern=il),se.init(n,e)}),iu=w("$ZodCIDRv6",(n,e)=>{e.pattern??(e.pattern=ol),se.init(n,e),n._zod.check=r=>{let i=r.value.split("/");try{if(i.length!==2)throw new Error;let[t,o]=i;if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${t}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:n,continue:!e.abort})}}});function ou(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}var su=w("$ZodBase64",(n,e)=>{e.pattern??(e.pattern=sl),se.init(n,e),n._zod.bag.contentEncoding="base64",n._zod.check=r=>{ou(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:n,continue:!e.abort})}});function fg(n){if(!Ro.test(n))return!1;let e=n.replace(/[-_]/g,i=>i==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return ou(r)}var au=w("$ZodBase64URL",(n,e)=>{e.pattern??(e.pattern=Ro),se.init(n,e),n._zod.bag.contentEncoding="base64url",n._zod.check=r=>{fg(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:n,continue:!e.abort})}}),cu=w("$ZodE164",(n,e)=>{e.pattern??(e.pattern=al),se.init(n,e)});function hg(n,e=null){try{let r=n.split(".");if(r.length!==3)return!1;let[i]=r;if(!i)return!1;let t=JSON.parse(atob(i));return!("typ"in t&&t?.typ!=="JWT"||!t.alg||e&&(!("alg"in t)||t.alg!==e))}catch{return!1}}var lu=w("$ZodJWT",(n,e)=>{se.init(n,e),n._zod.check=r=>{hg(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:n,continue:!e.abort})}}),uu=w("$ZodCustomStringFormat",(n,e)=>{se.init(n,e),n._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:n,continue:!e.abort})}}),Mo=w("$ZodNumber",(n,e)=>{K.init(n,e),n._zod.pattern=n._zod.bag.pattern??Po,n._zod.parse=(r,i)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let t=r.value;if(typeof t=="number"&&!Number.isNaN(t)&&Number.isFinite(t))return r;let o=typeof t=="number"?Number.isNaN(t)?"NaN":Number.isFinite(t)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:t,inst:n,...o?{received:o}:{}}),r}}),pu=w("$ZodNumberFormat",(n,e)=>{_l.init(n,e),Mo.init(n,e)}),Vr=w("$ZodBoolean",(n,e)=>{K.init(n,e),n._zod.pattern=fl,n._zod.parse=(r,i)=>{if(e.coerce)try{r.value=!!r.value}catch{}let t=r.value;return typeof t=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:t,inst:n}),r}}),jo=w("$ZodBigInt",(n,e)=>{K.init(n,e),n._zod.pattern=dl,n._zod.parse=(r,i)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:n}),r}}),du=w("$ZodBigIntFormat",(n,e)=>{xl.init(n,e),jo.init(n,e)}),mu=w("$ZodSymbol",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value;return typeof t=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:t,inst:n}),r}}),fu=w("$ZodUndefined",(n,e)=>{K.init(n,e),n._zod.pattern=gl,n._zod.values=new Set([void 0]),n._zod.optin="optional",n._zod.optout="optional",n._zod.parse=(r,i)=>{let t=r.value;return typeof t>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:t,inst:n}),r}}),hu=w("$ZodNull",(n,e)=>{K.init(n,e),n._zod.pattern=hl,n._zod.values=new Set([null]),n._zod.parse=(r,i)=>{let t=r.value;return t===null||r.issues.push({expected:"null",code:"invalid_type",input:t,inst:n}),r}}),gu=w("$ZodAny",(n,e)=>{K.init(n,e),n._zod.parse=r=>r}),yu=w("$ZodUnknown",(n,e)=>{K.init(n,e),n._zod.parse=r=>r}),vu=w("$ZodNever",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:n}),r)}),bu=w("$ZodVoid",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value;return typeof t>"u"||r.issues.push({expected:"void",code:"invalid_type",input:t,inst:n}),r}}),_u=w("$ZodDate",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let t=r.value,o=t instanceof Date;return o&&!Number.isNaN(t.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:t,...o?{received:"Invalid Date"}:{},inst:n}),r}});function rg(n,e,r){n.issues.length&&e.issues.push(...Ue(r,n.issues)),e.value[r]=n.value}var xu=w("$ZodArray",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value;if(!Array.isArray(t))return r.issues.push({expected:"array",code:"invalid_type",input:t,inst:n}),r;r.value=Array(t.length);let o=[];for(let s=0;s<t.length;s++){let a=t[s],c=e.element._zod.run({value:a,issues:[]},i);c instanceof Promise?o.push(c.then(l=>rg(l,r,s))):rg(c,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Co(n,e,r,i,t){if(n.issues.length){if(t&&!(r in i))return;e.issues.push(...Ue(r,n.issues))}n.value===void 0?r in i&&(e.value[r]=void 0):e.value[r]=n.value}function gg(n){let e=Object.keys(n.shape);for(let i of e)if(!n.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);let r=Mc(n.shape);return{...n,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function yg(n,e,r,i,t,o){let s=[],a=t.keySet,c=t.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in e){if(a.has(d))continue;if(l==="never"){s.push(d);continue}let p=c.run({value:e[d],issues:[]},i);p instanceof Promise?n.push(p.then(f=>Co(f,r,d,e,u))):Co(p,r,d,e,u)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:e,inst:o}),n.length?Promise.all(n).then(()=>r):r}var vg=w("$ZodObject",(n,e)=>{if(K.init(n,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let a=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...a};return Object.defineProperty(e,"shape",{value:c}),c}})}let i=On(()=>gg(e));te(n._zod,"propValues",()=>{let a=e.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let t=cn,o=e.catchall,s;n._zod.parse=(a,c)=>{s??(s=i.value);let l=a.value;if(!t(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:n}),a;a.value={};let u=[],d=s.shape;for(let p of s.keys){let f=d[p],m=f._zod.optout==="optional",h=f._zod.run({value:l[p],issues:[]},c);h instanceof Promise?u.push(h.then(b=>Co(b,a,p,l,m))):Co(h,a,p,l,m)}return o?yg(u,l,a,c,i.value,n):u.length?Promise.all(u).then(()=>a):a}}),Su=w("$ZodObjectJIT",(n,e)=>{vg.init(n,e);let r=n._zod.parse,i=On(()=>gg(e)),t=p=>{let f=new Jr(["shape","payload","ctx"]),m=i.value,h=_=>{let x=yo(_);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};f.write("const input = payload.value;");let b=Object.create(null),v=0;for(let _ of m.keys)b[_]=`key_${v++}`;f.write("const newResult = {};");for(let _ of m.keys){let x=b[_],k=yo(_),P=p[_]?._zod?.optout==="optional";f.write(`const ${x} = ${h(_)};`),P?f.write(`
|
|
682
|
+
if (${x}.issues.length) {
|
|
683
|
+
if (${k} in input) {
|
|
684
|
+
payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
|
|
685
|
+
...iss,
|
|
686
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}]
|
|
687
|
+
})));
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
if (${x}.value === undefined) {
|
|
692
|
+
if (${k} in input) {
|
|
693
|
+
newResult[${k}] = undefined;
|
|
694
|
+
}
|
|
695
|
+
} else {
|
|
696
|
+
newResult[${k}] = ${x}.value;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
`):f.write(`
|
|
700
|
+
if (${x}.issues.length) {
|
|
701
|
+
payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
|
|
702
|
+
...iss,
|
|
703
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}]
|
|
704
|
+
})));
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
if (${x}.value === undefined) {
|
|
708
|
+
if (${k} in input) {
|
|
709
|
+
newResult[${k}] = undefined;
|
|
710
|
+
}
|
|
711
|
+
} else {
|
|
712
|
+
newResult[${k}] = ${x}.value;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
`)}f.write("payload.value = newResult;"),f.write("return payload;");let g=f.compile();return(_,x)=>g(p,_,x)},o,s=cn,a=!Lr.jitless,l=a&&Lc.value,u=e.catchall,d;n._zod.parse=(p,f)=>{d??(d=i.value);let m=p.value;return s(m)?a&&l&&f?.async===!1&&f.jitless!==!0?(o||(o=t(e.shape)),p=o(p,f),u?yg([],m,p,f,d,n):p):r(p,f):(p.issues.push({expected:"object",code:"invalid_type",input:m,inst:n}),p)}});function ig(n,e,r,i){for(let o of n)if(o.issues.length===0)return e.value=o.value,e;let t=n.filter(o=>!Zt(o));return t.length===1?(e.value=t[0].value,t[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:n.map(o=>o.issues.map(s=>De(s,i,fe())))}),e)}var qr=w("$ZodUnion",(n,e)=>{K.init(n,e),te(n._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),te(n._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),te(n._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),te(n._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){let t=e.options.map(o=>o._zod.pattern);return new RegExp(`^(${t.map(o=>Mr(o.source)).join("|")})$`)}});let r=e.options.length===1,i=e.options[0]._zod.run;n._zod.parse=(t,o)=>{if(r)return i(t,o);let s=!1,a=[];for(let c of e.options){let l=c._zod.run({value:t.value,issues:[]},o);if(l instanceof Promise)a.push(l),s=!0;else{if(l.issues.length===0)return l;a.push(l)}}return s?Promise.all(a).then(c=>ig(c,t,n,o)):ig(a,t,n,o)}});function og(n,e,r,i){let t=n.filter(o=>o.issues.length===0);return t.length===1?(e.value=t[0].value,e):(t.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:n.map(o=>o.issues.map(s=>De(s,i,fe())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}var $u=w("$ZodXor",(n,e)=>{qr.init(n,e),e.inclusive=!1;let r=e.options.length===1,i=e.options[0]._zod.run;n._zod.parse=(t,o)=>{if(r)return i(t,o);let s=!1,a=[];for(let c of e.options){let l=c._zod.run({value:t.value,issues:[]},o);l instanceof Promise?(a.push(l),s=!0):a.push(l)}return s?Promise.all(a).then(c=>og(c,t,n,o)):og(a,t,n,o)}}),wu=w("$ZodDiscriminatedUnion",(n,e)=>{e.inclusive=!1,qr.init(n,e);let r=n._zod.parse;te(n._zod,"propValues",()=>{let t={};for(let o of e.options){let s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let[a,c]of Object.entries(s)){t[a]||(t[a]=new Set);for(let l of c)t[a].add(l)}}return t});let i=On(()=>{let t=e.options,o=new Map;for(let s of t){let a=s._zod.propValues?.[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let c of a){if(o.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);o.set(c,s)}}return o});n._zod.parse=(t,o)=>{let s=t.value;if(!cn(s))return t.issues.push({code:"invalid_type",expected:"object",input:s,inst:n}),t;let a=i.value.get(s?.[e.discriminator]);return a?a._zod.run(t,o):e.unionFallback?r(t,o):(t.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:s,path:[e.discriminator],inst:n}),t)}}),ku=w("$ZodIntersection",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value,o=e.left._zod.run({value:t,issues:[]},i),s=e.right._zod.run({value:t,issues:[]},i);return o instanceof Promise||s instanceof Promise?Promise.all([o,s]).then(([c,l])=>sg(r,c,l)):sg(r,o,s)}});function Ml(n,e){if(n===e)return{valid:!0,data:n};if(n instanceof Date&&e instanceof Date&&+n==+e)return{valid:!0,data:n};if(Ft(n)&&Ft(e)){let r=Object.keys(e),i=Object.keys(n).filter(o=>r.indexOf(o)!==-1),t={...n,...e};for(let o of i){let s=Ml(n[o],e[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};t[o]=s.data}return{valid:!0,data:t}}if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let i=0;i<n.length;i++){let t=n[i],o=e[i],s=Ml(t,o);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function sg(n,e,r){let i=new Map,t;for(let a of e.issues)if(a.code==="unrecognized_keys"){t??(t=a);for(let c of a.keys)i.has(c)||i.set(c,{}),i.get(c).l=!0}else n.issues.push(a);for(let a of r.issues)if(a.code==="unrecognized_keys")for(let c of a.keys)i.has(c)||i.set(c,{}),i.get(c).r=!0;else n.issues.push(a);let o=[...i].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(o.length&&t&&n.issues.push({...t,keys:o}),Zt(n))return n;let s=Ml(e.value,r.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return n.value=s.data,n}var Uo=w("$ZodTuple",(n,e)=>{K.init(n,e);let r=e.items;n._zod.parse=(i,t)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:n,expected:"tuple",code:"invalid_type"}),i;i.value=[];let s=[],a=[...r].reverse().findIndex(u=>u._zod.optin!=="optional"),c=a===-1?0:r.length-a;if(!e.rest){let u=o.length>r.length,d=o.length<c-1;if(u||d)return i.issues.push({...u?{code:"too_big",maximum:r.length,inclusive:!0}:{code:"too_small",minimum:r.length},input:o,inst:n,origin:"array"}),i}let l=-1;for(let u of r){if(l++,l>=o.length&&l>=c)continue;let d=u._zod.run({value:o[l],issues:[]},t);d instanceof Promise?s.push(d.then(p=>Do(p,i,l))):Do(d,i,l)}if(e.rest){let u=o.slice(r.length);for(let d of u){l++;let p=e.rest._zod.run({value:d,issues:[]},t);p instanceof Promise?s.push(p.then(f=>Do(f,i,l))):Do(p,i,l)}}return s.length?Promise.all(s).then(()=>i):i}});function Do(n,e,r){n.issues.length&&e.issues.push(...Ue(r,n.issues)),e.value[r]=n.value}var Eu=w("$ZodRecord",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value;if(!Ft(t))return r.issues.push({expected:"record",code:"invalid_type",input:t,inst:n}),r;let o=[],s=e.keyType._zod.values;if(s){r.value={};let a=new Set;for(let l of s)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){a.add(typeof l=="number"?l.toString():l);let u=e.valueType._zod.run({value:t[l],issues:[]},i);u instanceof Promise?o.push(u.then(d=>{d.issues.length&&r.issues.push(...Ue(l,d.issues)),r.value[l]=d.value})):(u.issues.length&&r.issues.push(...Ue(l,u.issues)),r.value[l]=u.value)}let c;for(let l in t)a.has(l)||(c=c??[],c.push(l));c&&c.length>0&&r.issues.push({code:"unrecognized_keys",input:t,inst:n,keys:c})}else{r.value={};for(let a of Reflect.ownKeys(t)){if(a==="__proto__")continue;let c=e.keyType._zod.run({value:a,issues:[]},i);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&Po.test(a)&&c.issues.length){let d=e.keyType._zod.run({value:Number(a),issues:[]},i);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");d.issues.length===0&&(c=d)}if(c.issues.length){e.mode==="loose"?r.value[a]=t[a]:r.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(d=>De(d,i,fe())),input:a,path:[a],inst:n});continue}let u=e.valueType._zod.run({value:t[a],issues:[]},i);u instanceof Promise?o.push(u.then(d=>{d.issues.length&&r.issues.push(...Ue(a,d.issues)),r.value[c.value]=d.value})):(u.issues.length&&r.issues.push(...Ue(a,u.issues)),r.value[c.value]=u.value)}}return o.length?Promise.all(o).then(()=>r):r}}),Iu=w("$ZodMap",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value;if(!(t instanceof Map))return r.issues.push({expected:"map",code:"invalid_type",input:t,inst:n}),r;let o=[];r.value=new Map;for(let[s,a]of t){let c=e.keyType._zod.run({value:s,issues:[]},i),l=e.valueType._zod.run({value:a,issues:[]},i);c instanceof Promise||l instanceof Promise?o.push(Promise.all([c,l]).then(([u,d])=>{ag(u,d,r,s,t,n,i)})):ag(c,l,r,s,t,n,i)}return o.length?Promise.all(o).then(()=>r):r}});function ag(n,e,r,i,t,o,s){n.issues.length&&(jr.has(typeof i)?r.issues.push(...Ue(i,n.issues)):r.issues.push({code:"invalid_key",origin:"map",input:t,inst:o,issues:n.issues.map(a=>De(a,s,fe()))})),e.issues.length&&(jr.has(typeof i)?r.issues.push(...Ue(i,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:t,inst:o,key:i,issues:e.issues.map(a=>De(a,s,fe()))})),r.value.set(n.value,e.value)}var Tu=w("$ZodSet",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value;if(!(t instanceof Set))return r.issues.push({input:t,inst:n,expected:"set",code:"invalid_type"}),r;let o=[];r.value=new Set;for(let s of t){let a=e.valueType._zod.run({value:s,issues:[]},i);a instanceof Promise?o.push(a.then(c=>cg(c,r))):cg(a,r)}return o.length?Promise.all(o).then(()=>r):r}});function cg(n,e){n.issues.length&&e.issues.push(...n.issues),e.value.add(n.value)}var Ru=w("$ZodEnum",(n,e)=>{K.init(n,e);let r=Cr(e.entries),i=new Set(r);n._zod.values=i,n._zod.pattern=new RegExp(`^(${r.filter(t=>jr.has(typeof t)).map(t=>typeof t=="string"?Je(t):t.toString()).join("|")})$`),n._zod.parse=(t,o)=>{let s=t.value;return i.has(s)||t.issues.push({code:"invalid_value",values:r,input:s,inst:n}),t}}),Pu=w("$ZodLiteral",(n,e)=>{if(K.init(n,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);n._zod.values=r,n._zod.pattern=new RegExp(`^(${e.values.map(i=>typeof i=="string"?Je(i):i?Je(i.toString()):String(i)).join("|")})$`),n._zod.parse=(i,t)=>{let o=i.value;return r.has(o)||i.issues.push({code:"invalid_value",values:e.values,input:o,inst:n}),i}}),Nu=w("$ZodFile",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{let t=r.value;return t instanceof File||r.issues.push({expected:"file",code:"invalid_type",input:t,inst:n}),r}}),zu=w("$ZodTransform",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{if(i.direction==="backward")throw new Mt(n.constructor.name);let t=e.transform(r.value,r);if(i.async)return(t instanceof Promise?t:Promise.resolve(t)).then(s=>(r.value=s,r));if(t instanceof Promise)throw new rt;return r.value=t,r}});function lg(n,e){return n.issues.length&&e===void 0?{issues:[],value:void 0}:n}var Fo=w("$ZodOptional",(n,e)=>{K.init(n,e),n._zod.optin="optional",n._zod.optout="optional",te(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),te(n._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Mr(r.source)})?$`):void 0}),n._zod.parse=(r,i)=>{if(e.innerType._zod.optin==="optional"){let t=e.innerType._zod.run(r,i);return t instanceof Promise?t.then(o=>lg(o,r.value)):lg(t,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,i)}}),Du=w("$ZodExactOptional",(n,e)=>{Fo.init(n,e),te(n._zod,"values",()=>e.innerType._zod.values),te(n._zod,"pattern",()=>e.innerType._zod.pattern),n._zod.parse=(r,i)=>e.innerType._zod.run(r,i)}),Au=w("$ZodNullable",(n,e)=>{K.init(n,e),te(n._zod,"optin",()=>e.innerType._zod.optin),te(n._zod,"optout",()=>e.innerType._zod.optout),te(n._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Mr(r.source)}|null)$`):void 0}),te(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),n._zod.parse=(r,i)=>r.value===null?r:e.innerType._zod.run(r,i)}),Lu=w("$ZodDefault",(n,e)=>{K.init(n,e),n._zod.optin="optional",te(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(r,i)=>{if(i.direction==="backward")return e.innerType._zod.run(r,i);if(r.value===void 0)return r.value=e.defaultValue,r;let t=e.innerType._zod.run(r,i);return t instanceof Promise?t.then(o=>ug(o,e)):ug(t,e)}});function ug(n,e){return n.value===void 0&&(n.value=e.defaultValue),n}var Ou=w("$ZodPrefault",(n,e)=>{K.init(n,e),n._zod.optin="optional",te(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(r,i)=>(i.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,i))}),Cu=w("$ZodNonOptional",(n,e)=>{K.init(n,e),te(n._zod,"values",()=>{let r=e.innerType._zod.values;return r?new Set([...r].filter(i=>i!==void 0)):void 0}),n._zod.parse=(r,i)=>{let t=e.innerType._zod.run(r,i);return t instanceof Promise?t.then(o=>pg(o,n)):pg(t,n)}});function pg(n,e){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:e}),n}var Mu=w("$ZodSuccess",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>{if(i.direction==="backward")throw new Mt("ZodSuccess");let t=e.innerType._zod.run(r,i);return t instanceof Promise?t.then(o=>(r.value=o.issues.length===0,r)):(r.value=t.issues.length===0,r)}}),ju=w("$ZodCatch",(n,e)=>{K.init(n,e),te(n._zod,"optin",()=>e.innerType._zod.optin),te(n._zod,"optout",()=>e.innerType._zod.optout),te(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(r,i)=>{if(i.direction==="backward")return e.innerType._zod.run(r,i);let t=e.innerType._zod.run(r,i);return t instanceof Promise?t.then(o=>(r.value=o.value,o.issues.length&&(r.value=e.catchValue({...r,error:{issues:o.issues.map(s=>De(s,i,fe()))},input:r.value}),r.issues=[]),r)):(r.value=t.value,t.issues.length&&(r.value=e.catchValue({...r,error:{issues:t.issues.map(o=>De(o,i,fe()))},input:r.value}),r.issues=[]),r)}}),Uu=w("$ZodNaN",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>((typeof r.value!="number"||!Number.isNaN(r.value))&&r.issues.push({input:r.value,inst:n,expected:"nan",code:"invalid_type"}),r)}),Fu=w("$ZodPipe",(n,e)=>{K.init(n,e),te(n._zod,"values",()=>e.in._zod.values),te(n._zod,"optin",()=>e.in._zod.optin),te(n._zod,"optout",()=>e.out._zod.optout),te(n._zod,"propValues",()=>e.in._zod.propValues),n._zod.parse=(r,i)=>{if(i.direction==="backward"){let o=e.out._zod.run(r,i);return o instanceof Promise?o.then(s=>Ao(s,e.in,i)):Ao(o,e.in,i)}let t=e.in._zod.run(r,i);return t instanceof Promise?t.then(o=>Ao(o,e.out,i)):Ao(t,e.out,i)}});function Ao(n,e,r){return n.issues.length?(n.aborted=!0,n):e._zod.run({value:n.value,issues:n.issues},r)}var Kr=w("$ZodCodec",(n,e)=>{K.init(n,e),te(n._zod,"values",()=>e.in._zod.values),te(n._zod,"optin",()=>e.in._zod.optin),te(n._zod,"optout",()=>e.out._zod.optout),te(n._zod,"propValues",()=>e.in._zod.propValues),n._zod.parse=(r,i)=>{if((i.direction||"forward")==="forward"){let o=e.in._zod.run(r,i);return o instanceof Promise?o.then(s=>Lo(s,e,i)):Lo(o,e,i)}else{let o=e.out._zod.run(r,i);return o instanceof Promise?o.then(s=>Lo(s,e,i)):Lo(o,e,i)}}});function Lo(n,e,r){if(n.issues.length)return n.aborted=!0,n;if((r.direction||"forward")==="forward"){let t=e.transform(n.value,n);return t instanceof Promise?t.then(o=>Oo(n,o,e.out,r)):Oo(n,t,e.out,r)}else{let t=e.reverseTransform(n.value,n);return t instanceof Promise?t.then(o=>Oo(n,o,e.in,r)):Oo(n,t,e.in,r)}}function Oo(n,e,r,i){return n.issues.length?(n.aborted=!0,n):r._zod.run({value:e,issues:n.issues},i)}var Zu=w("$ZodReadonly",(n,e)=>{K.init(n,e),te(n._zod,"propValues",()=>e.innerType._zod.propValues),te(n._zod,"values",()=>e.innerType._zod.values),te(n._zod,"optin",()=>e.innerType?._zod?.optin),te(n._zod,"optout",()=>e.innerType?._zod?.optout),n._zod.parse=(r,i)=>{if(i.direction==="backward")return e.innerType._zod.run(r,i);let t=e.innerType._zod.run(r,i);return t instanceof Promise?t.then(dg):dg(t)}});function dg(n){return n.value=Object.freeze(n.value),n}var Hu=w("$ZodTemplateLiteral",(n,e)=>{K.init(n,e);let r=[];for(let i of e.parts)if(typeof i=="object"&&i!==null){if(!i._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...i._zod.traits].shift()}`);let t=i._zod.pattern instanceof RegExp?i._zod.pattern.source:i._zod.pattern;if(!t)throw new Error(`Invalid template literal part: ${i._zod.traits}`);let o=t.startsWith("^")?1:0,s=t.endsWith("$")?t.length-1:t.length;r.push(t.slice(o,s))}else if(i===null||Cc.has(typeof i))r.push(Je(`${i}`));else throw new Error(`Invalid template literal part: ${i}`);n._zod.pattern=new RegExp(`^${r.join("")}$`),n._zod.parse=(i,t)=>typeof i.value!="string"?(i.issues.push({input:i.value,inst:n,expected:"string",code:"invalid_type"}),i):(n._zod.pattern.lastIndex=0,n._zod.pattern.test(i.value)||i.issues.push({input:i.value,inst:n,code:"invalid_format",format:e.format??"template_literal",pattern:n._zod.pattern.source}),i)}),Wu=w("$ZodFunction",(n,e)=>(K.init(n,e),n._def=e,n._zod.def=e,n.implement=r=>{if(typeof r!="function")throw new Error("implement() must be called with a function");return function(...i){let t=n._def.input?bo(n._def.input,i):i,o=Reflect.apply(r,this,t);return n._def.output?bo(n._def.output,o):o}},n.implementAsync=r=>{if(typeof r!="function")throw new Error("implementAsync() must be called with a function");return async function(...i){let t=n._def.input?await _o(n._def.input,i):i,o=await Reflect.apply(r,this,t);return n._def.output?await _o(n._def.output,o):o}},n._zod.parse=(r,i)=>typeof r.value!="function"?(r.issues.push({code:"invalid_type",expected:"function",input:r.value,inst:n}),r):(n._def.output&&n._def.output._zod.def.type==="promise"?r.value=n.implementAsync(r.value):r.value=n.implement(r.value),r),n.input=(...r)=>{let i=n.constructor;return Array.isArray(r[0])?new i({type:"function",input:new Uo({type:"tuple",items:r[0],rest:r[1]}),output:n._def.output}):new i({type:"function",input:r[0],output:n._def.output})},n.output=r=>{let i=n.constructor;return new i({type:"function",input:n._def.input,output:r})},n)),Bu=w("$ZodPromise",(n,e)=>{K.init(n,e),n._zod.parse=(r,i)=>Promise.resolve(r.value).then(t=>e.innerType._zod.run({value:t,issues:[]},i))}),Gu=w("$ZodLazy",(n,e)=>{K.init(n,e),te(n._zod,"innerType",()=>e.getter()),te(n._zod,"pattern",()=>n._zod.innerType?._zod?.pattern),te(n._zod,"propValues",()=>n._zod.innerType?._zod?.propValues),te(n._zod,"optin",()=>n._zod.innerType?._zod?.optin??void 0),te(n._zod,"optout",()=>n._zod.innerType?._zod?.optout??void 0),n._zod.parse=(r,i)=>n._zod.innerType._zod.run(r,i)}),Ju=w("$ZodCustom",(n,e)=>{le.init(n,e),K.init(n,e),n._zod.parse=(r,i)=>r,n._zod.check=r=>{let i=r.value,t=e.fn(i);if(t instanceof Promise)return t.then(o=>mg(o,r,i,n));mg(t,r,i,n)}});function mg(n,e,r,i){if(!n){let t={code:"custom",input:r,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};i._zod.def.params&&(t.params=i._zod.def.params),e.issues.push(Cn(t))}}var Xr={};He(Xr,{ar:()=>bg,az:()=>_g,be:()=>Sg,bg:()=>$g,ca:()=>wg,cs:()=>kg,da:()=>Eg,de:()=>Ig,en:()=>Zo,eo:()=>Tg,es:()=>Rg,fa:()=>Pg,fi:()=>Ng,fr:()=>zg,frCA:()=>Dg,he:()=>Ag,hu:()=>Lg,hy:()=>Cg,id:()=>Mg,is:()=>jg,it:()=>Ug,ja:()=>Fg,ka:()=>Zg,kh:()=>Hg,km:()=>Ho,ko:()=>Wg,lt:()=>Gg,mk:()=>Jg,ms:()=>Vg,nl:()=>qg,no:()=>Kg,ota:()=>Yg,pl:()=>Qg,ps:()=>Xg,pt:()=>ey,ru:()=>ny,sl:()=>ry,sv:()=>iy,ta:()=>oy,th:()=>sy,tr:()=>ay,ua:()=>cy,uk:()=>Wo,ur:()=>ly,uz:()=>uy,vi:()=>py,yo:()=>fy,zhCN:()=>dy,zhTW:()=>my});var qS=()=>{let n={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function e(t){return n[t]??null}let r={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${t.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${a}`:`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${o}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${a}`}case"invalid_value":return t.values.length===1?`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${A(t.values[0])}`:`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${t.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${o} ${t.maximum.toString()} ${s.unit??"\u0639\u0646\u0635\u0631"}`:`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${t.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${o} ${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${t.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${o} ${t.minimum.toString()} ${s.unit}`:`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${t.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${o} ${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${t.prefix}"`:o.format==="ends_with"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${o.suffix}"`:o.format==="includes"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${o.includes}"`:o.format==="regex"?`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${o.pattern}`:`${r[o.format]??t.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":return`\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${t.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${t.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${t.keys.length>1?"\u0629":""}: ${T(t.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${t.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${t.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};function bg(){return{localeError:qS()}}var KS=()=>{let n={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function e(t){return n[t]??null}let r={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",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${t.expected}, daxil olan ${a}`:`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${o}, daxil olan ${a}`}case"invalid_value":return t.values.length===1?`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${A(t.values[0])}`:`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${t.origin??"d\u0259y\u0259r"} ${o}${t.maximum.toString()} ${s.unit??"element"}`:`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${t.origin??"d\u0259y\u0259r"} ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${t.origin} ${o}${t.minimum.toString()} ${s.unit}`:`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${t.origin} ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Yanl\u0131\u015F m\u0259tn: "${o.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`:o.format==="ends_with"?`Yanl\u0131\u015F m\u0259tn: "${o.suffix}" il\u0259 bitm\u0259lidir`:o.format==="includes"?`Yanl\u0131\u015F m\u0259tn: "${o.includes}" daxil olmal\u0131d\u0131r`:o.format==="regex"?`Yanl\u0131\u015F m\u0259tn: ${o.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`:`Yanl\u0131\u015F ${r[o.format]??t.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${t.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${t.keys.length>1?"lar":""}: ${T(t.keys,", ")}`;case"invalid_key":return`${t.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${t.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};function _g(){return{localeError:KS()}}function xg(n,e,r,i){let t=Math.abs(n),o=t%10,s=t%100;return s>=11&&s<=19?i:o===1?e:o>=2&&o<=4?r:i}var YS=()=>{let n={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function e(t){return n[t]??null}let r={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},i={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${t.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${a}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${o}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${a}`}case"invalid_value":return t.values.length===1?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${A(t.values[0])}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);if(s){let a=Number(t.maximum),c=xg(a,s.unit.one,s.unit.few,s.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${s.verb} ${o}${t.maximum.toString()} ${c}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);if(s){let a=Number(t.minimum),c=xg(a,s.unit.one,s.unit.few,s.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${s.verb} ${o}${t.minimum.toString()} ${c}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${t.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${o.prefix}"`:o.format==="ends_with"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${o.suffix}"`:o.format==="includes"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${o.includes}"`:o.format==="regex"?`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${o.pattern}`:`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${r[o.format]??t.format}`}case"not_multiple_of":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${t.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${T(t.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${t.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${t.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};function Sg(){return{localeError:YS()}}var XS=()=>{let n={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function e(t){return n[t]??null}let r={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},i={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${t.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${a}`:`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${o}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${a}`}case"invalid_value":return t.values.length===1?`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${A(t.values[0])}`:`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${o}${t.maximum.toString()} ${s.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`:`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${o}${t.minimum.toString()} ${s.unit}`:`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${t.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;if(o.format==="starts_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${o.prefix}"`;if(o.format==="ends_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${o.suffix}"`;if(o.format==="includes")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${o.includes}"`;if(o.format==="regex")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${o.pattern}`;let s="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";return o.format==="emoji"&&(s="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),o.format==="datetime"&&(s="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),o.format==="date"&&(s="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"),o.format==="time"&&(s="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E"),o.format==="duration"&&(s="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430"),`${s} ${r[o.format]??t.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${t.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${t.keys.length>1?"\u043E\u0432\u0435":""}: ${T(t.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${t.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${t.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};function $g(){return{localeError:XS()}}var QS=()=>{let n={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function e(t){return n[t]??null}let r={regex:"entrada",email:"adre\xE7a electr\xF2nica",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:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Tipus inv\xE0lid: s'esperava instanceof ${t.expected}, s'ha rebut ${a}`:`Tipus inv\xE0lid: s'esperava ${o}, s'ha rebut ${a}`}case"invalid_value":return t.values.length===1?`Valor inv\xE0lid: s'esperava ${A(t.values[0])}`:`Opci\xF3 inv\xE0lida: s'esperava una de ${T(t.values," o ")}`;case"too_big":{let o=t.inclusive?"com a m\xE0xim":"menys de",s=e(t.origin);return s?`Massa gran: s'esperava que ${t.origin??"el valor"} contingu\xE9s ${o} ${t.maximum.toString()} ${s.unit??"elements"}`:`Massa gran: s'esperava que ${t.origin??"el valor"} fos ${o} ${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?"com a m\xEDnim":"m\xE9s de",s=e(t.origin);return s?`Massa petit: s'esperava que ${t.origin} contingu\xE9s ${o} ${t.minimum.toString()} ${s.unit}`:`Massa petit: s'esperava que ${t.origin} fos ${o} ${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Format inv\xE0lid: ha de comen\xE7ar amb "${o.prefix}"`:o.format==="ends_with"?`Format inv\xE0lid: ha d'acabar amb "${o.suffix}"`:o.format==="includes"?`Format inv\xE0lid: ha d'incloure "${o.includes}"`:o.format==="regex"?`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${o.pattern}`:`Format inv\xE0lid per a ${r[o.format]??t.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${t.divisor}`;case"unrecognized_keys":return`Clau${t.keys.length>1?"s":""} no reconeguda${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${t.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${t.origin}`;default:return"Entrada inv\xE0lida"}}};function wg(){return{localeError:QS()}}var e$=()=>{let n={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function e(t){return n[t]??null}let r={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",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:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},i={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${t.expected}, obdr\u017Eeno ${a}`:`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${o}, obdr\u017Eeno ${a}`}case"invalid_value":return t.values.length===1?`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${A(t.values[0])}`:`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${t.origin??"hodnota"} mus\xED m\xEDt ${o}${t.maximum.toString()} ${s.unit??"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${t.origin??"hodnota"} mus\xED b\xFDt ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${t.origin??"hodnota"} mus\xED m\xEDt ${o}${t.minimum.toString()} ${s.unit??"prvk\u016F"}`:`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${t.origin??"hodnota"} mus\xED b\xFDt ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${o.prefix}"`:o.format==="ends_with"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${o.suffix}"`:o.format==="includes"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${o.includes}"`:o.format==="regex"?`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${o.pattern}`:`Neplatn\xFD form\xE1t ${r[o.format]??t.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${t.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${T(t.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${t.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${t.origin}`;default:return"Neplatn\xFD vstup"}}};function kg(){return{localeError:e$()}}var t$=()=>{let n={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function e(t){return n[t]??null}let r={regex:"input",email:"e-mailadresse",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 dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},i={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Ugyldigt input: forventede instanceof ${t.expected}, fik ${a}`:`Ugyldigt input: forventede ${o}, fik ${a}`}case"invalid_value":return t.values.length===1?`Ugyldig v\xE6rdi: forventede ${A(t.values[0])}`:`Ugyldigt valg: forventede en af f\xF8lgende ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin),a=i[t.origin]??t.origin;return s?`For stor: forventede ${a??"value"} ${s.verb} ${o} ${t.maximum.toString()} ${s.unit??"elementer"}`:`For stor: forventede ${a??"value"} havde ${o} ${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin),a=i[t.origin]??t.origin;return s?`For lille: forventede ${a} ${s.verb} ${o} ${t.minimum.toString()} ${s.unit}`:`For lille: forventede ${a} havde ${o} ${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Ugyldig streng: skal starte med "${o.prefix}"`:o.format==="ends_with"?`Ugyldig streng: skal ende med "${o.suffix}"`:o.format==="includes"?`Ugyldig streng: skal indeholde "${o.includes}"`:o.format==="regex"?`Ugyldig streng: skal matche m\xF8nsteret ${o.pattern}`:`Ugyldig ${r[o.format]??t.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${T(t.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${t.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${t.origin}`;default:return"Ugyldigt input"}}};function Eg(){return{localeError:t$()}}var n$=()=>{let n={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function e(t){return n[t]??null}let r={regex:"Eingabe",email:"E-Mail-Adresse",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-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},i={nan:"NaN",number:"Zahl",array:"Array"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Ung\xFCltige Eingabe: erwartet instanceof ${t.expected}, erhalten ${a}`:`Ung\xFCltige Eingabe: erwartet ${o}, erhalten ${a}`}case"invalid_value":return t.values.length===1?`Ung\xFCltige Eingabe: erwartet ${A(t.values[0])}`:`Ung\xFCltige Option: erwartet eine von ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Zu gro\xDF: erwartet, dass ${t.origin??"Wert"} ${o}${t.maximum.toString()} ${s.unit??"Elemente"} hat`:`Zu gro\xDF: erwartet, dass ${t.origin??"Wert"} ${o}${t.maximum.toString()} ist`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Zu klein: erwartet, dass ${t.origin} ${o}${t.minimum.toString()} ${s.unit} hat`:`Zu klein: erwartet, dass ${t.origin} ${o}${t.minimum.toString()} ist`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Ung\xFCltiger String: muss mit "${o.prefix}" beginnen`:o.format==="ends_with"?`Ung\xFCltiger String: muss mit "${o.suffix}" enden`:o.format==="includes"?`Ung\xFCltiger String: muss "${o.includes}" enthalten`:o.format==="regex"?`Ung\xFCltiger String: muss dem Muster ${o.pattern} entsprechen`:`Ung\xFCltig: ${r[o.format]??t.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${t.divisor} sein`;case"unrecognized_keys":return`${t.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${T(t.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${t.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${t.origin}`;default:return"Ung\xFCltige Eingabe"}}};function Ig(){return{localeError:n$()}}var r$=()=>{let n={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 e(t){return n[t]??null}let r={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",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return`Invalid input: expected ${o}, received ${a}`}case"invalid_value":return t.values.length===1?`Invalid input: expected ${A(t.values[0])}`:`Invalid option: expected one of ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Too big: expected ${t.origin??"value"} to have ${o}${t.maximum.toString()} ${s.unit??"elements"}`:`Too big: expected ${t.origin??"value"} to be ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Too small: expected ${t.origin} to have ${o}${t.minimum.toString()} ${s.unit}`:`Too small: expected ${t.origin} to be ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??t.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${t.divisor}`;case"unrecognized_keys":return`Unrecognized key${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Invalid key in ${t.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${t.origin}`;default:return"Invalid input"}}};function Zo(){return{localeError:r$()}}var i$=()=>{let n={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function e(t){return n[t]??null}let r={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},i={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Nevalida enigo: atendi\u011Dis instanceof ${t.expected}, ricevi\u011Dis ${a}`:`Nevalida enigo: atendi\u011Dis ${o}, ricevi\u011Dis ${a}`}case"invalid_value":return t.values.length===1?`Nevalida enigo: atendi\u011Dis ${A(t.values[0])}`:`Nevalida opcio: atendi\u011Dis unu el ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Tro granda: atendi\u011Dis ke ${t.origin??"valoro"} havu ${o}${t.maximum.toString()} ${s.unit??"elementojn"}`:`Tro granda: atendi\u011Dis ke ${t.origin??"valoro"} havu ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Tro malgranda: atendi\u011Dis ke ${t.origin} havu ${o}${t.minimum.toString()} ${s.unit}`:`Tro malgranda: atendi\u011Dis ke ${t.origin} estu ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Nevalida karaktraro: devas komenci\u011Di per "${o.prefix}"`:o.format==="ends_with"?`Nevalida karaktraro: devas fini\u011Di per "${o.suffix}"`:o.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${o.includes}"`:o.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${o.pattern}`:`Nevalida ${r[o.format]??t.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${t.divisor}`;case"unrecognized_keys":return`Nekonata${t.keys.length>1?"j":""} \u015Dlosilo${t.keys.length>1?"j":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${t.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${t.origin}`;default:return"Nevalida enigo"}}};function Tg(){return{localeError:i$()}}var o$=()=>{let n={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function e(t){return n[t]??null}let r={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",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:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Entrada inv\xE1lida: se esperaba instanceof ${t.expected}, recibido ${a}`:`Entrada inv\xE1lida: se esperaba ${o}, recibido ${a}`}case"invalid_value":return t.values.length===1?`Entrada inv\xE1lida: se esperaba ${A(t.values[0])}`:`Opci\xF3n inv\xE1lida: se esperaba una de ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin),a=i[t.origin]??t.origin;return s?`Demasiado grande: se esperaba que ${a??"valor"} tuviera ${o}${t.maximum.toString()} ${s.unit??"elementos"}`:`Demasiado grande: se esperaba que ${a??"valor"} fuera ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin),a=i[t.origin]??t.origin;return s?`Demasiado peque\xF1o: se esperaba que ${a} tuviera ${o}${t.minimum.toString()} ${s.unit}`:`Demasiado peque\xF1o: se esperaba que ${a} fuera ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Cadena inv\xE1lida: debe comenzar con "${o.prefix}"`:o.format==="ends_with"?`Cadena inv\xE1lida: debe terminar en "${o.suffix}"`:o.format==="includes"?`Cadena inv\xE1lida: debe incluir "${o.includes}"`:o.format==="regex"?`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${o.pattern}`:`Inv\xE1lido ${r[o.format]??t.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${t.divisor}`;case"unrecognized_keys":return`Llave${t.keys.length>1?"s":""} desconocida${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${i[t.origin]??t.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${i[t.origin]??t.origin}`;default:return"Entrada inv\xE1lida"}}};function Rg(){return{localeError:o$()}}var s$=()=>{let n={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function e(t){return n[t]??null}let r={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},i={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${t.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${a} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`:`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${o} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${a} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":return t.values.length===1?`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${A(t.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`:`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${T(t.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${t.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${o}${t.maximum.toString()} ${s.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${t.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${o}${t.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${t.origin} \u0628\u0627\u06CC\u062F ${o}${t.minimum.toString()} ${s.unit} \u0628\u0627\u0634\u062F`:`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${t.origin} \u0628\u0627\u06CC\u062F ${o}${t.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${o.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`:o.format==="ends_with"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${o.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`:o.format==="includes"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${o.includes}" \u0628\u0627\u0634\u062F`:o.format==="regex"?`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${o.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`:`${r[o.format]??t.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${t.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${t.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${T(t.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${t.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${t.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};function Pg(){return{localeError:s$()}}var a$=()=>{let n={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function e(t){return n[t]??null}let r={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Virheellinen tyyppi: odotettiin instanceof ${t.expected}, oli ${a}`:`Virheellinen tyyppi: odotettiin ${o}, oli ${a}`}case"invalid_value":return t.values.length===1?`Virheellinen sy\xF6te: t\xE4ytyy olla ${A(t.values[0])}`:`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Liian suuri: ${s.subject} t\xE4ytyy olla ${o}${t.maximum.toString()} ${s.unit}`.trim():`Liian suuri: arvon t\xE4ytyy olla ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Liian pieni: ${s.subject} t\xE4ytyy olla ${o}${t.minimum.toString()} ${s.unit}`.trim():`Liian pieni: arvon t\xE4ytyy olla ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${o.prefix}"`:o.format==="ends_with"?`Virheellinen sy\xF6te: t\xE4ytyy loppua "${o.suffix}"`:o.format==="includes"?`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${o.includes}"`:o.format==="regex"?`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${o.pattern}`:`Virheellinen ${r[o.format]??t.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${t.divisor} monikerta`;case"unrecognized_keys":return`${t.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${T(t.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};function Ng(){return{localeError:a$()}}var c$=()=>{let n={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function e(t){return n[t]??null}let r={regex:"entr\xE9e",email:"adresse e-mail",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:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},i={nan:"NaN",number:"nombre",array:"tableau"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Entr\xE9e invalide : instanceof ${t.expected} attendu, ${a} re\xE7u`:`Entr\xE9e invalide : ${o} attendu, ${a} re\xE7u`}case"invalid_value":return t.values.length===1?`Entr\xE9e invalide : ${A(t.values[0])} attendu`:`Option invalide : une valeur parmi ${T(t.values,"|")} attendue`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Trop grand : ${t.origin??"valeur"} doit ${s.verb} ${o}${t.maximum.toString()} ${s.unit??"\xE9l\xE9ment(s)"}`:`Trop grand : ${t.origin??"valeur"} doit \xEAtre ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Trop petit : ${t.origin} doit ${s.verb} ${o}${t.minimum.toString()} ${s.unit}`:`Trop petit : ${t.origin} doit \xEAtre ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${o.prefix}"`:o.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${o.suffix}"`:o.format==="includes"?`Cha\xEEne invalide : doit inclure "${o.includes}"`:o.format==="regex"?`Cha\xEEne invalide : doit correspondre au mod\xE8le ${o.pattern}`:`${r[o.format]??t.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${t.divisor}`;case"unrecognized_keys":return`Cl\xE9${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${T(t.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${t.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${t.origin}`;default:return"Entr\xE9e invalide"}}};function zg(){return{localeError:c$()}}var l$=()=>{let n={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function e(t){return n[t]??null}let r={regex:"entr\xE9e",email:"adresse courriel",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:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Entr\xE9e invalide : attendu instanceof ${t.expected}, re\xE7u ${a}`:`Entr\xE9e invalide : attendu ${o}, re\xE7u ${a}`}case"invalid_value":return t.values.length===1?`Entr\xE9e invalide : attendu ${A(t.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"\u2264":"<",s=e(t.origin);return s?`Trop grand : attendu que ${t.origin??"la valeur"} ait ${o}${t.maximum.toString()} ${s.unit}`:`Trop grand : attendu que ${t.origin??"la valeur"} soit ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?"\u2265":">",s=e(t.origin);return s?`Trop petit : attendu que ${t.origin} ait ${o}${t.minimum.toString()} ${s.unit}`:`Trop petit : attendu que ${t.origin} soit ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Cha\xEEne invalide : doit commencer par "${o.prefix}"`:o.format==="ends_with"?`Cha\xEEne invalide : doit se terminer par "${o.suffix}"`:o.format==="includes"?`Cha\xEEne invalide : doit inclure "${o.includes}"`:o.format==="regex"?`Cha\xEEne invalide : doit correspondre au motif ${o.pattern}`:`${r[o.format]??t.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${t.divisor}`;case"unrecognized_keys":return`Cl\xE9${t.keys.length>1?"s":""} non reconnue${t.keys.length>1?"s":""} : ${T(t.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${t.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${t.origin}`;default:return"Entr\xE9e invalide"}}};function Dg(){return{localeError:l$()}}var u$=()=>{let n={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},e={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},r=l=>l?n[l]:void 0,i=l=>{let u=r(l);return u?u.label:l??n.unknown.label},t=l=>`\u05D4${i(l)}`,o=l=>(r(l)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA",s=l=>l?e[l]??null:null,a={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},base64url:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA",gender:"f"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},c={nan:"NaN"};return l=>{switch(l.code){case"invalid_type":{let u=l.expected,d=c[u??""]??i(u),p=L(l.input),f=c[p]??n[p]?.label??p;return/^[A-Z]/.test(l.expected)?`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${l.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${f}`:`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${d}, \u05D4\u05EA\u05E7\u05D1\u05DC ${f}`}case"invalid_value":{if(l.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${A(l.values[0])}`;let u=l.values.map(f=>A(f));if(l.values.length===2)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${u[0]} \u05D0\u05D5 ${u[1]}`;let d=u[u.length-1];return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${u.slice(0,-1).join(", ")} \u05D0\u05D5 ${d}`}case"too_big":{let u=s(l.origin),d=t(l.origin??"value");if(l.origin==="string")return`${u?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${l.maximum.toString()} ${u?.unit??""} ${l.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(l.origin==="number"){let m=l.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${l.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${l.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${m}`}if(l.origin==="array"||l.origin==="set"){let m=l.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",h=l.inclusive?`${l.maximum} ${u?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${l.maximum} ${u?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${d} ${m} \u05DC\u05D4\u05DB\u05D9\u05DC ${h}`.trim()}let p=l.inclusive?"<=":"<",f=o(l.origin??"value");return u?.unit?`${u.longLabel} \u05DE\u05D3\u05D9: ${d} ${f} ${p}${l.maximum.toString()} ${u.unit}`:`${u?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${d} ${f} ${p}${l.maximum.toString()}`}case"too_small":{let u=s(l.origin),d=t(l.origin??"value");if(l.origin==="string")return`${u?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${l.minimum.toString()} ${u?.unit??""} ${l.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(l.origin==="number"){let m=l.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${l.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${l.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${m}`}if(l.origin==="array"||l.origin==="set"){let m=l.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(l.minimum===1&&l.inclusive){let b=(l.origin==="set","\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3");return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${d} ${m} \u05DC\u05D4\u05DB\u05D9\u05DC ${b}`}let h=l.inclusive?`${l.minimum} ${u?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${l.minimum} ${u?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${d} ${m} \u05DC\u05D4\u05DB\u05D9\u05DC ${h}`.trim()}let p=l.inclusive?">=":">",f=o(l.origin??"value");return u?.unit?`${u.shortLabel} \u05DE\u05D3\u05D9: ${d} ${f} ${p}${l.minimum.toString()} ${u.unit}`:`${u?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${d} ${f} ${p}${l.minimum.toString()}`}case"invalid_format":{let u=l;if(u.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${u.prefix}"`;if(u.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${u.suffix}"`;if(u.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${u.includes}"`;if(u.format==="regex")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${u.pattern}`;let d=a[u.format],p=d?.label??u.format,m=(d?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${p} \u05DC\u05D0 ${m}`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${l.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${l.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${l.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${T(l.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${t(l.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};function Ag(){return{localeError:u$()}}var p$=()=>{let n={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function e(t){return n[t]??null}let r={regex:"bemenet",email:"email c\xEDm",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 id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},i={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${t.expected}, a kapott \xE9rt\xE9k ${a}`:`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${o}, a kapott \xE9rt\xE9k ${a}`}case"invalid_value":return t.values.length===1?`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${A(t.values[0])}`:`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`T\xFAl nagy: ${t.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${o}${t.maximum.toString()} ${s.unit??"elem"}`:`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${t.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${t.origin} m\xE9rete t\xFAl kicsi ${o}${t.minimum.toString()} ${s.unit}`:`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${t.origin} t\xFAl kicsi ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\xC9rv\xE9nytelen string: "${o.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`:o.format==="ends_with"?`\xC9rv\xE9nytelen string: "${o.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`:o.format==="includes"?`\xC9rv\xE9nytelen string: "${o.includes}" \xE9rt\xE9ket kell tartalmaznia`:o.format==="regex"?`\xC9rv\xE9nytelen string: ${o.pattern} mint\xE1nak kell megfelelnie`:`\xC9rv\xE9nytelen ${r[o.format]??t.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${t.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${t.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${t.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};function Lg(){return{localeError:p$()}}function Og(n,e,r){return Math.abs(n)===1?e:r}function Hn(n){if(!n)return"";let e=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],r=n[n.length-1];return n+(e.includes(r)?"\u0576":"\u0568")}var d$=()=>{let n={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function e(t){return n[t]??null}let r={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},i={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${t.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${a}`:`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${o}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${a}`}case"invalid_value":return t.values.length===1?`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${A(t.values[1])}`:`\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);if(s){let a=Number(t.maximum),c=Og(a,s.unit.one,s.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hn(t.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${o}${t.maximum.toString()} ${c}`}return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hn(t.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);if(s){let a=Number(t.minimum),c=Og(a,s.unit.one,s.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hn(t.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${o}${t.minimum.toString()} ${c}`}return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Hn(t.origin)} \u056C\u056B\u0576\u056B ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${o.prefix}"-\u0578\u057E`:o.format==="ends_with"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${o.suffix}"-\u0578\u057E`:o.format==="includes"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${o.includes}"`:o.format==="regex"?`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${o.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`:`\u054D\u056D\u0561\u056C ${r[o.format]??t.format}`}case"not_multiple_of":return`\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${t.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${t.keys.length>1?"\u0576\u0565\u0580":""}. ${T(t.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${Hn(t.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${Hn(t.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};function Cg(){return{localeError:d$()}}var m$=()=>{let n={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function e(t){return n[t]??null}let r={regex:"input",email:"alamat email",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:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Input tidak valid: diharapkan instanceof ${t.expected}, diterima ${a}`:`Input tidak valid: diharapkan ${o}, diterima ${a}`}case"invalid_value":return t.values.length===1?`Input tidak valid: diharapkan ${A(t.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Terlalu besar: diharapkan ${t.origin??"value"} memiliki ${o}${t.maximum.toString()} ${s.unit??"elemen"}`:`Terlalu besar: diharapkan ${t.origin??"value"} menjadi ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Terlalu kecil: diharapkan ${t.origin} memiliki ${o}${t.minimum.toString()} ${s.unit}`:`Terlalu kecil: diharapkan ${t.origin} menjadi ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`String tidak valid: harus dimulai dengan "${o.prefix}"`:o.format==="ends_with"?`String tidak valid: harus berakhir dengan "${o.suffix}"`:o.format==="includes"?`String tidak valid: harus menyertakan "${o.includes}"`:o.format==="regex"?`String tidak valid: harus sesuai pola ${o.pattern}`:`${r[o.format]??t.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${t.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${t.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${t.origin}`;default:return"Input tidak valid"}}};function Mg(){return{localeError:m$()}}var f$=()=>{let n={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function e(t){return n[t]??null}let r={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},i={nan:"NaN",number:"n\xFAmer",array:"fylki"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Rangt gildi: \xDE\xFA sl\xF3st inn ${a} \xFEar sem \xE1 a\xF0 vera instanceof ${t.expected}`:`Rangt gildi: \xDE\xFA sl\xF3st inn ${a} \xFEar sem \xE1 a\xF0 vera ${o}`}case"invalid_value":return t.values.length===1?`Rangt gildi: gert r\xE1\xF0 fyrir ${A(t.values[0])}`:`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin??"gildi"} hafi ${o}${t.maximum.toString()} ${s.unit??"hluti"}`:`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin??"gildi"} s\xE9 ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin} hafi ${o}${t.minimum.toString()} ${s.unit}`:`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${t.origin} s\xE9 ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${o.prefix}"`:o.format==="ends_with"?`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${o.suffix}"`:o.format==="includes"?`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${o.includes}"`:o.format==="regex"?`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${o.pattern}`:`Rangt ${r[o.format]??t.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${t.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${t.keys.length>1?"ir lyklar":"ur lykill"}: ${T(t.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${t.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${t.origin}`;default:return"Rangt gildi"}}};function jg(){return{localeError:f$()}}var h$=()=>{let n={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function e(t){return n[t]??null}let r={regex:"input",email:"indirizzo email",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:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"numero",array:"vettore"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Input non valido: atteso instanceof ${t.expected}, ricevuto ${a}`:`Input non valido: atteso ${o}, ricevuto ${a}`}case"invalid_value":return t.values.length===1?`Input non valido: atteso ${A(t.values[0])}`:`Opzione non valida: atteso uno tra ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Troppo grande: ${t.origin??"valore"} deve avere ${o}${t.maximum.toString()} ${s.unit??"elementi"}`:`Troppo grande: ${t.origin??"valore"} deve essere ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Troppo piccolo: ${t.origin} deve avere ${o}${t.minimum.toString()} ${s.unit}`:`Troppo piccolo: ${t.origin} deve essere ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Stringa non valida: deve iniziare con "${o.prefix}"`:o.format==="ends_with"?`Stringa non valida: deve terminare con "${o.suffix}"`:o.format==="includes"?`Stringa non valida: deve includere "${o.includes}"`:o.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${o.pattern}`:`Invalid ${r[o.format]??t.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${t.divisor}`;case"unrecognized_keys":return`Chiav${t.keys.length>1?"i":"e"} non riconosciut${t.keys.length>1?"e":"a"}: ${T(t.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${t.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${t.origin}`;default:return"Input non valido"}}};function Ug(){return{localeError:h$()}}var g$=()=>{let n={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function e(t){return n[t]??null}let r={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},i={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u7121\u52B9\u306A\u5165\u529B: instanceof ${t.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${a}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`:`\u7121\u52B9\u306A\u5165\u529B: ${o}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${a}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":return t.values.length===1?`\u7121\u52B9\u306A\u5165\u529B: ${A(t.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`:`\u7121\u52B9\u306A\u9078\u629E: ${T(t.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let o=t.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",s=e(t.origin);return s?`\u5927\u304D\u3059\u304E\u308B\u5024: ${t.origin??"\u5024"}\u306F${t.maximum.toString()}${s.unit??"\u8981\u7D20"}${o}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5927\u304D\u3059\u304E\u308B\u5024: ${t.origin??"\u5024"}\u306F${t.maximum.toString()}${o}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let o=t.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",s=e(t.origin);return s?`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${t.origin}\u306F${t.minimum.toString()}${s.unit}${o}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${t.origin}\u306F${t.minimum.toString()}${o}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${o.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:o.format==="ends_with"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${o.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:o.format==="includes"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${o.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:o.format==="regex"?`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${o.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`:`\u7121\u52B9\u306A${r[o.format]??t.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${t.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${t.keys.length>1?"\u7FA4":""}: ${T(t.keys,"\u3001")}`;case"invalid_key":return`${t.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${t.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};function Fg(){return{localeError:g$()}}var y$=()=>{let n={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function e(t){return n[t]??null}let r={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",json_string:"JSON \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},i={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${t.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${a}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${o}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${a}`}case"invalid_value":return t.values.length===1?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${A(t.values[0])}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${T(t.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${s.verb} ${o}${t.maximum.toString()} ${s.unit}`:`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin} ${s.verb} ${o}${t.minimum.toString()} ${s.unit}`:`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${t.origin} \u10D8\u10E7\u10DD\u10E1 ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${o.prefix}"-\u10D8\u10D7`:o.format==="ends_with"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${o.suffix}"-\u10D8\u10D7`:o.format==="includes"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${o.includes}"-\u10E1`:o.format==="regex"?`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${o.pattern}`:`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${r[o.format]??t.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${t.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${t.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${T(t.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${t.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${t.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};function Zg(){return{localeError:y$()}}var v$=()=>{let n={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function e(t){return n[t]??null}let r={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},i={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${t.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${a}`:`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${o} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${a}`}case"invalid_value":return t.values.length===1?`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${A(t.values[0])}`:`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${o} ${t.maximum.toString()} ${s.unit??"\u1792\u17B6\u178F\u17BB"}`:`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${o} ${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin} ${o} ${t.minimum.toString()} ${s.unit}`:`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${t.origin} ${o} ${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${o.prefix}"`:o.format==="ends_with"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${o.suffix}"`:o.format==="includes"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${o.includes}"`:o.format==="regex"?`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${o.pattern}`:`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${r[o.format]??t.format}`}case"not_multiple_of":return`\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${t.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${T(t.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${t.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${t.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};function Ho(){return{localeError:v$()}}function Hg(){return Ho()}var b$=()=>{let n={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function e(t){return n[t]??null}let r={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${t.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${a}\uC785\uB2C8\uB2E4`:`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${o}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${a}\uC785\uB2C8\uB2E4`}case"invalid_value":return t.values.length===1?`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${A(t.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C \uC635\uC158: ${T(t.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let o=t.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",s=o==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",a=e(t.origin),c=a?.unit??"\uC694\uC18C";return a?`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${t.maximum.toString()}${c} ${o}${s}`:`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${t.maximum.toString()} ${o}${s}`}case"too_small":{let o=t.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",s=o==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",a=e(t.origin),c=a?.unit??"\uC694\uC18C";return a?`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${t.minimum.toString()}${c} ${o}${s}`:`${t.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${t.minimum.toString()} ${o}${s}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${o.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`:o.format==="ends_with"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${o.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`:o.format==="includes"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${o.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`:o.format==="regex"?`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${o.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`:`\uC798\uBABB\uB41C ${r[o.format]??t.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${t.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${T(t.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${t.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${t.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};function Wg(){return{localeError:b$()}}var Yr=n=>n.charAt(0).toUpperCase()+n.slice(1);function Bg(n){let e=Math.abs(n),r=e%10,i=e%100;return i>=11&&i<=19||r===0?"many":r===1?"one":"few"}var _$=()=>{let n={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function e(t,o,s,a){let c=n[t]??null;return c===null?c:{unit:c.unit[o],verb:c.verb[a][s?"inclusive":"notInclusive"]}}let r={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},i={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Gautas tipas ${a}, o tik\u0117tasi - instanceof ${t.expected}`:`Gautas tipas ${a}, o tik\u0117tasi - ${o}`}case"invalid_value":return t.values.length===1?`Privalo b\u016Bti ${A(t.values[0])}`:`Privalo b\u016Bti vienas i\u0161 ${T(t.values,"|")} pasirinkim\u0173`;case"too_big":{let o=i[t.origin]??t.origin,s=e(t.origin,Bg(Number(t.maximum)),t.inclusive??!1,"smaller");if(s?.verb)return`${Yr(o??t.origin??"reik\u0161m\u0117")} ${s.verb} ${t.maximum.toString()} ${s.unit??"element\u0173"}`;let a=t.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${Yr(o??t.origin??"reik\u0161m\u0117")} turi b\u016Bti ${a} ${t.maximum.toString()} ${s?.unit}`}case"too_small":{let o=i[t.origin]??t.origin,s=e(t.origin,Bg(Number(t.minimum)),t.inclusive??!1,"bigger");if(s?.verb)return`${Yr(o??t.origin??"reik\u0161m\u0117")} ${s.verb} ${t.minimum.toString()} ${s.unit??"element\u0173"}`;let a=t.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${Yr(o??t.origin??"reik\u0161m\u0117")} turi b\u016Bti ${a} ${t.minimum.toString()} ${s?.unit}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Eilut\u0117 privalo prasid\u0117ti "${o.prefix}"`:o.format==="ends_with"?`Eilut\u0117 privalo pasibaigti "${o.suffix}"`:o.format==="includes"?`Eilut\u0117 privalo \u012Ftraukti "${o.includes}"`:o.format==="regex"?`Eilut\u0117 privalo atitikti ${o.pattern}`:`Neteisingas ${r[o.format]??t.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${t.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${t.keys.length>1?"i":"as"} rakt${t.keys.length>1?"ai":"as"}: ${T(t.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let o=i[t.origin]??t.origin;return`${Yr(o??t.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};function Gg(){return{localeError:_$()}}var x$=()=>{let n={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function e(t){return n[t]??null}let r={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},i={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${t.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${a}`:`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${o}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${a}`}case"invalid_value":return t.values.length===1?`Invalid input: expected ${A(t.values[0])}`:`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${o}${t.maximum.toString()} ${s.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin} \u0434\u0430 \u0438\u043C\u0430 ${o}${t.minimum.toString()} ${s.unit}`:`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${t.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${o.prefix}"`:o.format==="ends_with"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${o.suffix}"`:o.format==="includes"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${o.includes}"`:o.format==="regex"?`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${o.pattern}`:`Invalid ${r[o.format]??t.format}`}case"not_multiple_of":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${T(t.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${t.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${t.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};function Jg(){return{localeError:x$()}}var S$=()=>{let n={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function e(t){return n[t]??null}let r={regex:"input",email:"alamat e-mel",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:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"nombor"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Input tidak sah: dijangka instanceof ${t.expected}, diterima ${a}`:`Input tidak sah: dijangka ${o}, diterima ${a}`}case"invalid_value":return t.values.length===1?`Input tidak sah: dijangka ${A(t.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Terlalu besar: dijangka ${t.origin??"nilai"} ${s.verb} ${o}${t.maximum.toString()} ${s.unit??"elemen"}`:`Terlalu besar: dijangka ${t.origin??"nilai"} adalah ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Terlalu kecil: dijangka ${t.origin} ${s.verb} ${o}${t.minimum.toString()} ${s.unit}`:`Terlalu kecil: dijangka ${t.origin} adalah ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`String tidak sah: mesti bermula dengan "${o.prefix}"`:o.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${o.suffix}"`:o.format==="includes"?`String tidak sah: mesti mengandungi "${o.includes}"`:o.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${o.pattern}`:`${r[o.format]??t.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${t.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${T(t.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${t.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${t.origin}`;default:return"Input tidak sah"}}};function Vg(){return{localeError:S$()}}var $$=()=>{let n={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function e(t){return n[t]??null}let r={regex:"invoer",email:"emailadres",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 datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},i={nan:"NaN",number:"getal"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Ongeldige invoer: verwacht instanceof ${t.expected}, ontving ${a}`:`Ongeldige invoer: verwacht ${o}, ontving ${a}`}case"invalid_value":return t.values.length===1?`Ongeldige invoer: verwacht ${A(t.values[0])}`:`Ongeldige optie: verwacht \xE9\xE9n van ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin),a=t.origin==="date"?"laat":t.origin==="string"?"lang":"groot";return s?`Te ${a}: verwacht dat ${t.origin??"waarde"} ${o}${t.maximum.toString()} ${s.unit??"elementen"} ${s.verb}`:`Te ${a}: verwacht dat ${t.origin??"waarde"} ${o}${t.maximum.toString()} is`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin),a=t.origin==="date"?"vroeg":t.origin==="string"?"kort":"klein";return s?`Te ${a}: verwacht dat ${t.origin} ${o}${t.minimum.toString()} ${s.unit} ${s.verb}`:`Te ${a}: verwacht dat ${t.origin} ${o}${t.minimum.toString()} is`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Ongeldige tekst: moet met "${o.prefix}" beginnen`:o.format==="ends_with"?`Ongeldige tekst: moet op "${o.suffix}" eindigen`:o.format==="includes"?`Ongeldige tekst: moet "${o.includes}" bevatten`:o.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${o.pattern}`:`Ongeldig: ${r[o.format]??t.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${t.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${t.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${t.origin}`;default:return"Ongeldige invoer"}}};function qg(){return{localeError:$$()}}var w$=()=>{let n={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function e(t){return n[t]??null}let r={regex:"input",email:"e-postadresse",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 dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"tall",array:"liste"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Ugyldig input: forventet instanceof ${t.expected}, fikk ${a}`:`Ugyldig input: forventet ${o}, fikk ${a}`}case"invalid_value":return t.values.length===1?`Ugyldig verdi: forventet ${A(t.values[0])}`:`Ugyldig valg: forventet en av ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`For stor(t): forventet ${t.origin??"value"} til \xE5 ha ${o}${t.maximum.toString()} ${s.unit??"elementer"}`:`For stor(t): forventet ${t.origin??"value"} til \xE5 ha ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`For lite(n): forventet ${t.origin} til \xE5 ha ${o}${t.minimum.toString()} ${s.unit}`:`For lite(n): forventet ${t.origin} til \xE5 ha ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Ugyldig streng: m\xE5 starte med "${o.prefix}"`:o.format==="ends_with"?`Ugyldig streng: m\xE5 ende med "${o.suffix}"`:o.format==="includes"?`Ugyldig streng: m\xE5 inneholde "${o.includes}"`:o.format==="regex"?`Ugyldig streng: m\xE5 matche m\xF8nsteret ${o.pattern}`:`Ugyldig ${r[o.format]??t.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${T(t.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${t.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${t.origin}`;default:return"Ugyldig input"}}};function Kg(){return{localeError:w$()}}var k$=()=>{let n={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function e(t){return n[t]??null}let r={regex:"giren",email:"epostag\xE2h",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 heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},i={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`F\xE2sit giren: umulan instanceof ${t.expected}, al\u0131nan ${a}`:`F\xE2sit giren: umulan ${o}, al\u0131nan ${a}`}case"invalid_value":return t.values.length===1?`F\xE2sit giren: umulan ${A(t.values[0])}`:`F\xE2sit tercih: m\xFBteberler ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Fazla b\xFCy\xFCk: ${t.origin??"value"}, ${o}${t.maximum.toString()} ${s.unit??"elements"} sahip olmal\u0131yd\u0131.`:`Fazla b\xFCy\xFCk: ${t.origin??"value"}, ${o}${t.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Fazla k\xFC\xE7\xFCk: ${t.origin}, ${o}${t.minimum.toString()} ${s.unit} sahip olmal\u0131yd\u0131.`:`Fazla k\xFC\xE7\xFCk: ${t.origin}, ${o}${t.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let o=t;return o.format==="starts_with"?`F\xE2sit metin: "${o.prefix}" ile ba\u015Flamal\u0131.`:o.format==="ends_with"?`F\xE2sit metin: "${o.suffix}" ile bitmeli.`:o.format==="includes"?`F\xE2sit metin: "${o.includes}" ihtiv\xE2 etmeli.`:o.format==="regex"?`F\xE2sit metin: ${o.pattern} nak\u015F\u0131na uymal\u0131.`:`F\xE2sit ${r[o.format]??t.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${t.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`${t.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${t.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};function Yg(){return{localeError:k$()}}var E$=()=>{let n={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function e(t){return n[t]??null}let r={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},i={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${t.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${a} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`:`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${o} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${a} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":return t.values.length===1?`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${A(t.values[0])} \u0648\u0627\u06CC`:`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${T(t.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${t.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${o}${t.maximum.toString()} ${s.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${t.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${o}${t.maximum.toString()} \u0648\u064A`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${t.origin} \u0628\u0627\u06CC\u062F ${o}${t.minimum.toString()} ${s.unit} \u0648\u0644\u0631\u064A`:`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${t.origin} \u0628\u0627\u06CC\u062F ${o}${t.minimum.toString()} \u0648\u064A`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${o.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`:o.format==="ends_with"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${o.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`:o.format==="includes"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${o.includes}" \u0648\u0644\u0631\u064A`:o.format==="regex"?`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${o.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`:`${r[o.format]??t.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${t.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${t.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${T(t.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${t.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${t.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};function Xg(){return{localeError:E$()}}var I$=()=>{let n={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function e(t){return n[t]??null}let r={regex:"wyra\u017Cenie",email:"adres email",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:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},i={nan:"NaN",number:"liczba",array:"tablica"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${t.expected}, otrzymano ${a}`:`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${o}, otrzymano ${a}`}case"invalid_value":return t.values.length===1?`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${A(t.values[0])}`:`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${o}${t.maximum.toString()} ${s.unit??"element\xF3w"}`:`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${o}${t.minimum.toString()} ${s.unit??"element\xF3w"}`:`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${t.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${o.prefix}"`:o.format==="ends_with"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${o.suffix}"`:o.format==="includes"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${o.includes}"`:o.format==="regex"?`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${o.pattern}`:`Nieprawid\u0142ow(y/a/e) ${r[o.format]??t.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${t.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${t.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${t.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};function Qg(){return{localeError:I$()}}var T$=()=>{let n={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function e(t){return n[t]??null}let r={regex:"padr\xE3o",email:"endere\xE7o de e-mail",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:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN",number:"n\xFAmero",null:"nulo"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Tipo inv\xE1lido: esperado instanceof ${t.expected}, recebido ${a}`:`Tipo inv\xE1lido: esperado ${o}, recebido ${a}`}case"invalid_value":return t.values.length===1?`Entrada inv\xE1lida: esperado ${A(t.values[0])}`:`Op\xE7\xE3o inv\xE1lida: esperada uma das ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Muito grande: esperado que ${t.origin??"valor"} tivesse ${o}${t.maximum.toString()} ${s.unit??"elementos"}`:`Muito grande: esperado que ${t.origin??"valor"} fosse ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Muito pequeno: esperado que ${t.origin} tivesse ${o}${t.minimum.toString()} ${s.unit}`:`Muito pequeno: esperado que ${t.origin} fosse ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Texto inv\xE1lido: deve come\xE7ar com "${o.prefix}"`:o.format==="ends_with"?`Texto inv\xE1lido: deve terminar com "${o.suffix}"`:o.format==="includes"?`Texto inv\xE1lido: deve incluir "${o.includes}"`:o.format==="regex"?`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${o.pattern}`:`${r[o.format]??t.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${t.divisor}`;case"unrecognized_keys":return`Chave${t.keys.length>1?"s":""} desconhecida${t.keys.length>1?"s":""}: ${T(t.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${t.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${t.origin}`;default:return"Campo inv\xE1lido"}}};function ey(){return{localeError:T$()}}function ty(n,e,r,i){let t=Math.abs(n),o=t%10,s=t%100;return s>=11&&s<=19?i:o===1?e:o>=2&&o<=4?r:i}var R$=()=>{let n={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function e(t){return n[t]??null}let r={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},i={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${t.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${a}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${o}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${a}`}case"invalid_value":return t.values.length===1?`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${A(t.values[0])}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);if(s){let a=Number(t.maximum),c=ty(a,s.unit.one,s.unit.few,s.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${o}${t.maximum.toString()} ${c}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);if(s){let a=Number(t.minimum),c=ty(a,s.unit.one,s.unit.few,s.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${o}${t.minimum.toString()} ${c}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${t.origin} \u0431\u0443\u0434\u0435\u0442 ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${o.prefix}"`:o.format==="ends_with"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${o.suffix}"`:o.format==="includes"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${o.includes}"`:o.format==="regex"?`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${o.pattern}`:`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${r[o.format]??t.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${t.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${t.keys.length>1?"\u0438":""}: ${T(t.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${t.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${t.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};function ny(){return{localeError:R$()}}var P$=()=>{let n={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function e(t){return n[t]??null}let r={regex:"vnos",email:"e-po\u0161tni naslov",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 datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},i={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Neveljaven vnos: pri\u010Dakovano instanceof ${t.expected}, prejeto ${a}`:`Neveljaven vnos: pri\u010Dakovano ${o}, prejeto ${a}`}case"invalid_value":return t.values.length===1?`Neveljaven vnos: pri\u010Dakovano ${A(t.values[0])}`:`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Preveliko: pri\u010Dakovano, da bo ${t.origin??"vrednost"} imelo ${o}${t.maximum.toString()} ${s.unit??"elementov"}`:`Preveliko: pri\u010Dakovano, da bo ${t.origin??"vrednost"} ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Premajhno: pri\u010Dakovano, da bo ${t.origin} imelo ${o}${t.minimum.toString()} ${s.unit}`:`Premajhno: pri\u010Dakovano, da bo ${t.origin} ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Neveljaven niz: mora se za\u010Deti z "${o.prefix}"`:o.format==="ends_with"?`Neveljaven niz: mora se kon\u010Dati z "${o.suffix}"`:o.format==="includes"?`Neveljaven niz: mora vsebovati "${o.includes}"`:o.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${o.pattern}`:`Neveljaven ${r[o.format]??t.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${t.divisor}`;case"unrecognized_keys":return`Neprepoznan${t.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${T(t.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${t.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${t.origin}`;default:return"Neveljaven vnos"}}};function ry(){return{localeError:P$()}}var N$=()=>{let n={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function e(t){return n[t]??null}let r={regex:"regulj\xE4rt uttryck",email:"e-postadress",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-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},i={nan:"NaN",number:"antal",array:"lista"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${t.expected}, fick ${a}`:`Ogiltig inmatning: f\xF6rv\xE4ntat ${o}, fick ${a}`}case"invalid_value":return t.values.length===1?`Ogiltig inmatning: f\xF6rv\xE4ntat ${A(t.values[0])}`:`Ogiltigt val: f\xF6rv\xE4ntade en av ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`F\xF6r stor(t): f\xF6rv\xE4ntade ${t.origin??"v\xE4rdet"} att ha ${o}${t.maximum.toString()} ${s.unit??"element"}`:`F\xF6r stor(t): f\xF6rv\xE4ntat ${t.origin??"v\xE4rdet"} att ha ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`F\xF6r lite(t): f\xF6rv\xE4ntade ${t.origin??"v\xE4rdet"} att ha ${o}${t.minimum.toString()} ${s.unit}`:`F\xF6r lite(t): f\xF6rv\xE4ntade ${t.origin??"v\xE4rdet"} att ha ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${o.prefix}"`:o.format==="ends_with"?`Ogiltig str\xE4ng: m\xE5ste sluta med "${o.suffix}"`:o.format==="includes"?`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${o.includes}"`:o.format==="regex"?`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${o.pattern}"`:`Ogiltig(t) ${r[o.format]??t.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${t.divisor}`;case"unrecognized_keys":return`${t.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${T(t.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${t.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${t.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};function iy(){return{localeError:N$()}}var z$=()=>{let n={string:{unit:"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},file:{unit:"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},array:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},set:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"}};function e(t){return n[t]??null}let r={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",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 \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${t.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${a}`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${a}`}case"invalid_value":return t.values.length===1?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${A(t.values[0])}`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${T(t.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${o}${t.maximum.toString()} ${s.unit??"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${o}${t.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin} ${o}${t.minimum.toString()} ${s.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${t.origin} ${o}${t.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${o.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:o.format==="ends_with"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${o.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:o.format==="includes"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${o.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:o.format==="regex"?`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${o.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`:`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${r[o.format]??t.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${t.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${t.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${T(t.keys,", ")}`;case"invalid_key":return`${t.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${t.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};function oy(){return{localeError:z$()}}var D$=()=>{let n={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function e(t){return n[t]??null}let r={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",e164:"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},i={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${t.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${a}`:`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${o} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${a}`}case"invalid_value":return t.values.length===1?`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${A(t.values[0])}`:`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",s=e(t.origin);return s?`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${o} ${t.maximum.toString()} ${s.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`:`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${o} ${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",s=e(t.origin);return s?`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${o} ${t.minimum.toString()} ${s.unit}`:`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${t.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${o} ${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${o.prefix}"`:o.format==="ends_with"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${o.suffix}"`:o.format==="includes"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${o.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`:o.format==="regex"?`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${o.pattern}`:`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${r[o.format]??t.format}`}case"not_multiple_of":return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${t.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${T(t.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${t.origin}`;case"invalid_union":return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${t.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};function sy(){return{localeError:D$()}}var A$=()=>{let n={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function e(t){return n[t]??null}let r={regex:"girdi",email:"e-posta adresi",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 tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${t.expected}, al\u0131nan ${a}`:`Ge\xE7ersiz de\u011Fer: beklenen ${o}, al\u0131nan ${a}`}case"invalid_value":return t.values.length===1?`Ge\xE7ersiz de\u011Fer: beklenen ${A(t.values[0])}`:`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\xC7ok b\xFCy\xFCk: beklenen ${t.origin??"de\u011Fer"} ${o}${t.maximum.toString()} ${s.unit??"\xF6\u011Fe"}`:`\xC7ok b\xFCy\xFCk: beklenen ${t.origin??"de\u011Fer"} ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\xC7ok k\xFC\xE7\xFCk: beklenen ${t.origin} ${o}${t.minimum.toString()} ${s.unit}`:`\xC7ok k\xFC\xE7\xFCk: beklenen ${t.origin} ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Ge\xE7ersiz metin: "${o.prefix}" ile ba\u015Flamal\u0131`:o.format==="ends_with"?`Ge\xE7ersiz metin: "${o.suffix}" ile bitmeli`:o.format==="includes"?`Ge\xE7ersiz metin: "${o.includes}" i\xE7ermeli`:o.format==="regex"?`Ge\xE7ersiz metin: ${o.pattern} desenine uymal\u0131`:`Ge\xE7ersiz ${r[o.format]??t.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${t.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${t.keys.length>1?"lar":""}: ${T(t.keys,", ")}`;case"invalid_key":return`${t.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${t.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};function ay(){return{localeError:A$()}}var L$=()=>{let n={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function e(t){return n[t]??null}let r={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},i={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${t.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${a}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${o}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${a}`}case"invalid_value":return t.values.length===1?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${A(t.values[0])}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${s.verb} ${o}${t.maximum.toString()} ${s.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin} ${s.verb} ${o}${t.minimum.toString()} ${s.unit}`:`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${t.origin} \u0431\u0443\u0434\u0435 ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${o.prefix}"`:o.format==="ends_with"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${o.suffix}"`:o.format==="includes"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${o.includes}"`:o.format==="regex"?`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${o.pattern}`:`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${r[o.format]??t.format}`}case"not_multiple_of":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${t.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${t.keys.length>1?"\u0456":""}: ${T(t.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${t.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${t.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};function Wo(){return{localeError:L$()}}function cy(){return Wo()}var O$=()=>{let n={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function e(t){return n[t]??null}let r={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},i={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${t.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${a} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`:`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${o} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${a} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":return t.values.length===1?`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${A(t.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`:`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${T(t.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u0628\u06C1\u062A \u0628\u0691\u0627: ${t.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${o}${t.maximum.toString()} ${s.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0628\u0691\u0627: ${t.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${o}${t.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${t.origin} \u06A9\u06D2 ${o}${t.minimum.toString()} ${s.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`:`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${t.origin} \u06A9\u0627 ${o}${t.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${o.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:o.format==="ends_with"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${o.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:o.format==="includes"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${o.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:o.format==="regex"?`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${o.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`:`\u063A\u0644\u0637 ${r[o.format]??t.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${t.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${t.keys.length>1?"\u0632":""}: ${T(t.keys,"\u060C ")}`;case"invalid_key":return`${t.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${t.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};function ly(){return{localeError:O$()}}var C$=()=>{let n={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"}};function e(t){return n[t]??null}let r={regex:"kirish",email:"elektron pochta manzili",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 sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},i={nan:"NaN",number:"raqam",array:"massiv"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${t.expected}, qabul qilingan ${a}`:`Noto\u2018g\u2018ri kirish: kutilgan ${o}, qabul qilingan ${a}`}case"invalid_value":return t.values.length===1?`Noto\u2018g\u2018ri kirish: kutilgan ${A(t.values[0])}`:`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Juda katta: kutilgan ${t.origin??"qiymat"} ${o}${t.maximum.toString()} ${s.unit} ${s.verb}`:`Juda katta: kutilgan ${t.origin??"qiymat"} ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Juda kichik: kutilgan ${t.origin} ${o}${t.minimum.toString()} ${s.unit} ${s.verb}`:`Juda kichik: kutilgan ${t.origin} ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Noto\u2018g\u2018ri satr: "${o.prefix}" bilan boshlanishi kerak`:o.format==="ends_with"?`Noto\u2018g\u2018ri satr: "${o.suffix}" bilan tugashi kerak`:o.format==="includes"?`Noto\u2018g\u2018ri satr: "${o.includes}" ni o\u2018z ichiga olishi kerak`:o.format==="regex"?`Noto\u2018g\u2018ri satr: ${o.pattern} shabloniga mos kelishi kerak`:`Noto\u2018g\u2018ri ${r[o.format]??t.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${t.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${t.keys.length>1?"lar":""}: ${T(t.keys,", ")}`;case"invalid_key":return`${t.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${t.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};function uy(){return{localeError:C$()}}var M$=()=>{let n={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function e(t){return n[t]??null}let r={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",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:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},i={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${t.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${a}`:`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${o}, nh\u1EADn \u0111\u01B0\u1EE3c ${a}`}case"invalid_value":return t.values.length===1?`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${A(t.values[0])}`:`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${t.origin??"gi\xE1 tr\u1ECB"} ${s.verb} ${o}${t.maximum.toString()} ${s.unit??"ph\u1EA7n t\u1EED"}`:`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${t.origin??"gi\xE1 tr\u1ECB"} ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${t.origin} ${s.verb} ${o}${t.minimum.toString()} ${s.unit}`:`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${t.origin} ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${o.prefix}"`:o.format==="ends_with"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${o.suffix}"`:o.format==="includes"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${o.includes}"`:o.format==="regex"?`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${o.pattern}`:`${r[o.format]??t.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${t.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${T(t.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${t.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${t.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};function py(){return{localeError:M$()}}var j$=()=>{let n={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function e(t){return n[t]??null}let r={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},i={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${t.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${a}`:`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${o}\uFF0C\u5B9E\u9645\u63A5\u6536 ${a}`}case"invalid_value":return t.values.length===1?`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${A(t.values[0])}`:`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${t.origin??"\u503C"} ${o}${t.maximum.toString()} ${s.unit??"\u4E2A\u5143\u7D20"}`:`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${t.origin??"\u503C"} ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${t.origin} ${o}${t.minimum.toString()} ${s.unit}`:`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${t.origin} ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${o.prefix}" \u5F00\u5934`:o.format==="ends_with"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${o.suffix}" \u7ED3\u5C3E`:o.format==="includes"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${o.includes}"`:o.format==="regex"?`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${o.pattern}`:`\u65E0\u6548${r[o.format]??t.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${t.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${T(t.keys,", ")}`;case"invalid_key":return`${t.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${t.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};function dy(){return{localeError:j$()}}var U$=()=>{let n={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function e(t){return n[t]??null}let r={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",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 \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},i={nan:"NaN"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${t.expected}\uFF0C\u4F46\u6536\u5230 ${a}`:`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${o}\uFF0C\u4F46\u6536\u5230 ${a}`}case"invalid_value":return t.values.length===1?`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${A(t.values[0])}`:`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${t.origin??"\u503C"} \u61C9\u70BA ${o}${t.maximum.toString()} ${s.unit??"\u500B\u5143\u7D20"}`:`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${t.origin??"\u503C"} \u61C9\u70BA ${o}${t.maximum.toString()}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${t.origin} \u61C9\u70BA ${o}${t.minimum.toString()} ${s.unit}`:`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${t.origin} \u61C9\u70BA ${o}${t.minimum.toString()}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${o.prefix}" \u958B\u982D`:o.format==="ends_with"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${o.suffix}" \u7D50\u5C3E`:o.format==="includes"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${o.includes}"`:o.format==="regex"?`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${o.pattern}`:`\u7121\u6548\u7684 ${r[o.format]??t.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${t.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${t.keys.length>1?"\u5011":""}\uFF1A${T(t.keys,"\u3001")}`;case"invalid_key":return`${t.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${t.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};function my(){return{localeError:U$()}}var F$=()=>{let n={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function e(t){return n[t]??null}let r={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",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:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},i={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return t=>{switch(t.code){case"invalid_type":{let o=i[t.expected]??t.expected,s=L(t.input),a=i[s]??s;return/^[A-Z]/.test(t.expected)?`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${t.expected}, \xE0m\u1ECD\u0300 a r\xED ${a}`:`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${o}, \xE0m\u1ECD\u0300 a r\xED ${a}`}case"invalid_value":return t.values.length===1?`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${A(t.values[0])}`:`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${T(t.values,"|")}`;case"too_big":{let o=t.inclusive?"<=":"<",s=e(t.origin);return s?`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${t.origin??"iye"} ${s.verb} ${o}${t.maximum} ${s.unit}`:`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${o}${t.maximum}`}case"too_small":{let o=t.inclusive?">=":">",s=e(t.origin);return s?`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${t.origin} ${s.verb} ${o}${t.minimum} ${s.unit}`:`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${o}${t.minimum}`}case"invalid_format":{let o=t;return o.format==="starts_with"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${o.prefix}"`:o.format==="ends_with"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${o.suffix}"`:o.format==="includes"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${o.includes}"`:o.format==="regex"?`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${o.pattern}`:`A\u1E63\xEC\u1E63e: ${r[o.format]??t.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${t.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${T(t.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${t.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${t.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};function fy(){return{localeError:F$()}}var hy,Vu=Symbol("ZodOutput"),qu=Symbol("ZodInput"),Bo=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let i=r[0];return this._map.set(e,i),i&&typeof i=="object"&&"id"in i&&this._idmap.set(i.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let i={...this.get(r)??{}};delete i.id;let t={...i,...this._map.get(e)};return Object.keys(t).length?t:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Go(){return new Bo}(hy=globalThis).__zod_globalRegistry??(hy.__zod_globalRegistry=Go());var $e=globalThis.__zod_globalRegistry;function Ku(n,e){return new n({type:"string",...M(e)})}function Yu(n,e){return new n({type:"string",coerce:!0,...M(e)})}function Jo(n,e){return new n({type:"string",format:"email",check:"string_format",abort:!1,...M(e)})}function Qr(n,e){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...M(e)})}function Vo(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...M(e)})}function qo(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...M(e)})}function Ko(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...M(e)})}function Yo(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...M(e)})}function ei(n,e){return new n({type:"string",format:"url",check:"string_format",abort:!1,...M(e)})}function Xo(n,e){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...M(e)})}function Qo(n,e){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...M(e)})}function es(n,e){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...M(e)})}function ts(n,e){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...M(e)})}function ns(n,e){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...M(e)})}function rs(n,e){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...M(e)})}function is(n,e){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...M(e)})}function os(n,e){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...M(e)})}function ss(n,e){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...M(e)})}function Xu(n,e){return new n({type:"string",format:"mac",check:"string_format",abort:!1,...M(e)})}function as(n,e){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...M(e)})}function cs(n,e){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...M(e)})}function ls(n,e){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...M(e)})}function us(n,e){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...M(e)})}function ps(n,e){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...M(e)})}function ds(n,e){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...M(e)})}var Qu={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function ep(n,e){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...M(e)})}function tp(n,e){return new n({type:"string",format:"date",check:"string_format",...M(e)})}function np(n,e){return new n({type:"string",format:"time",check:"string_format",precision:null,...M(e)})}function rp(n,e){return new n({type:"string",format:"duration",check:"string_format",...M(e)})}function ip(n,e){return new n({type:"number",checks:[],...M(e)})}function op(n,e){return new n({type:"number",coerce:!0,checks:[],...M(e)})}function sp(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...M(e)})}function ap(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"float32",...M(e)})}function cp(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"float64",...M(e)})}function lp(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"int32",...M(e)})}function up(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"uint32",...M(e)})}function pp(n,e){return new n({type:"boolean",...M(e)})}function dp(n,e){return new n({type:"boolean",coerce:!0,...M(e)})}function mp(n,e){return new n({type:"bigint",...M(e)})}function fp(n,e){return new n({type:"bigint",coerce:!0,...M(e)})}function hp(n,e){return new n({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...M(e)})}function gp(n,e){return new n({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...M(e)})}function yp(n,e){return new n({type:"symbol",...M(e)})}function vp(n,e){return new n({type:"undefined",...M(e)})}function bp(n,e){return new n({type:"null",...M(e)})}function _p(n){return new n({type:"any"})}function xp(n){return new n({type:"unknown"})}function Sp(n,e){return new n({type:"never",...M(e)})}function $p(n,e){return new n({type:"void",...M(e)})}function wp(n,e){return new n({type:"date",...M(e)})}function kp(n,e){return new n({type:"date",coerce:!0,...M(e)})}function Ep(n,e){return new n({type:"nan",...M(e)})}function lt(n,e){return new No({check:"less_than",...M(e),value:n,inclusive:!1})}function Fe(n,e){return new No({check:"less_than",...M(e),value:n,inclusive:!0})}function ut(n,e){return new zo({check:"greater_than",...M(e),value:n,inclusive:!1})}function Re(n,e){return new zo({check:"greater_than",...M(e),value:n,inclusive:!0})}function ms(n){return ut(0,n)}function fs(n){return lt(0,n)}function hs(n){return Fe(0,n)}function gs(n){return Re(0,n)}function Ht(n,e){return new bl({check:"multiple_of",...M(e),value:n})}function Wt(n,e){return new Sl({check:"max_size",...M(e),maximum:n})}function pt(n,e){return new $l({check:"min_size",...M(e),minimum:n})}function pn(n,e){return new wl({check:"size_equals",...M(e),size:n})}function dn(n,e){return new kl({check:"max_length",...M(e),maximum:n})}function xt(n,e){return new El({check:"min_length",...M(e),minimum:n})}function mn(n,e){return new Il({check:"length_equals",...M(e),length:n})}function Wn(n,e){return new Tl({check:"string_format",format:"regex",...M(e),pattern:n})}function Bn(n){return new Rl({check:"string_format",format:"lowercase",...M(n)})}function Gn(n){return new Pl({check:"string_format",format:"uppercase",...M(n)})}function Jn(n,e){return new Nl({check:"string_format",format:"includes",...M(e),includes:n})}function Vn(n,e){return new zl({check:"string_format",format:"starts_with",...M(e),prefix:n})}function qn(n,e){return new Dl({check:"string_format",format:"ends_with",...M(e),suffix:n})}function ys(n,e,r){return new Al({check:"property",property:n,schema:e,...M(r)})}function Kn(n,e){return new Ll({check:"mime_type",mime:n,...M(e)})}function it(n){return new Ol({check:"overwrite",tx:n})}function Yn(n){return it(e=>e.normalize(n))}function Xn(){return it(n=>n.trim())}function Qn(){return it(n=>n.toLowerCase())}function er(){return it(n=>n.toUpperCase())}function tr(){return it(n=>Ac(n))}function Ip(n,e,r){return new n({type:"array",element:e,...M(r)})}function H$(n,e,r){return new n({type:"union",options:e,...M(r)})}function W$(n,e,r){return new n({type:"union",options:e,inclusive:!1,...M(r)})}function B$(n,e,r,i){return new n({type:"union",options:r,discriminator:e,...M(i)})}function G$(n,e,r){return new n({type:"intersection",left:e,right:r})}function J$(n,e,r,i){let t=r instanceof K,o=t?i:r,s=t?r:null;return new n({type:"tuple",items:e,rest:s,...M(o)})}function V$(n,e,r,i){return new n({type:"record",keyType:e,valueType:r,...M(i)})}function q$(n,e,r,i){return new n({type:"map",keyType:e,valueType:r,...M(i)})}function K$(n,e,r){return new n({type:"set",valueType:e,...M(r)})}function Y$(n,e,r){let i=Array.isArray(e)?Object.fromEntries(e.map(t=>[t,t])):e;return new n({type:"enum",entries:i,...M(r)})}function X$(n,e,r){return new n({type:"enum",entries:e,...M(r)})}function Q$(n,e,r){return new n({type:"literal",values:Array.isArray(e)?e:[e],...M(r)})}function Tp(n,e){return new n({type:"file",...M(e)})}function ew(n,e){return new n({type:"transform",transform:e})}function tw(n,e){return new n({type:"optional",innerType:e})}function nw(n,e){return new n({type:"nullable",innerType:e})}function rw(n,e,r){return new n({type:"default",innerType:e,get defaultValue(){return typeof r=="function"?r():Oc(r)}})}function iw(n,e,r){return new n({type:"nonoptional",innerType:e,...M(r)})}function ow(n,e){return new n({type:"success",innerType:e})}function sw(n,e,r){return new n({type:"catch",innerType:e,catchValue:typeof r=="function"?r:()=>r})}function aw(n,e,r){return new n({type:"pipe",in:e,out:r})}function cw(n,e){return new n({type:"readonly",innerType:e})}function lw(n,e,r){return new n({type:"template_literal",parts:e,...M(r)})}function uw(n,e){return new n({type:"lazy",getter:e})}function pw(n,e){return new n({type:"promise",innerType:e})}function Rp(n,e,r){let i=M(r);return i.abort??(i.abort=!0),new n({type:"custom",check:"custom",fn:e,...i})}function Pp(n,e,r){return new n({type:"custom",check:"custom",fn:e,...M(r)})}function Np(n){let e=gy(r=>(r.addIssue=i=>{if(typeof i=="string")r.issues.push(Cn(i,r.value,e._zod.def));else{let t=i;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=r.value),t.inst??(t.inst=e),t.continue??(t.continue=!e._zod.def.abort),r.issues.push(Cn(t))}},n(r.value,r)));return e}function gy(n,e){let r=new le({check:"custom",...M(e)});return r._zod.check=n,r}function zp(n){let e=new le({check:"describe"});return e._zod.onattach=[r=>{let i=$e.get(r)??{};$e.add(r,{...i,description:n})}],e._zod.check=()=>{},e}function Dp(n){let e=new le({check:"meta"});return e._zod.onattach=[r=>{let i=$e.get(r)??{};$e.add(r,{...i,...n})}],e._zod.check=()=>{},e}function Ap(n,e){let r=M(e),i=r.truthy??["true","1","yes","on","y","enabled"],t=r.falsy??["false","0","no","off","n","disabled"];r.case!=="sensitive"&&(i=i.map(f=>typeof f=="string"?f.toLowerCase():f),t=t.map(f=>typeof f=="string"?f.toLowerCase():f));let o=new Set(i),s=new Set(t),a=n.Codec??Kr,c=n.Boolean??Vr,l=n.String??un,u=new l({type:"string",error:r.error}),d=new c({type:"boolean",error:r.error}),p=new a({type:"pipe",in:u,out:d,transform:((f,m)=>{let h=f;return r.case!=="sensitive"&&(h=h.toLowerCase()),o.has(h)?!0:s.has(h)?!1:(m.issues.push({code:"invalid_value",expected:"stringbool",values:[...o,...s],input:m.value,inst:p,continue:!1}),{})}),reverseTransform:((f,m)=>f===!0?i[0]||"true":t[0]||"false"),error:r.error});return p}function nr(n,e,r,i={}){let t=M(i),o={...M(i),check:"string_format",type:"string",format:e,fn:typeof r=="function"?r:a=>r.test(a),...t};return r instanceof RegExp&&(o.pattern=r),new n(o)}function Bt(n){let e=n?.target??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:n.processors??{},metadataRegistry:n?.metadata??$e,target:e,unrepresentable:n?.unrepresentable??"throw",override:n?.override??(()=>{}),io:n?.io??"output",counter:0,seen:new Map,cycles:n?.cycles??"ref",reused:n?.reused??"inline",external:n?.external??void 0}}function re(n,e,r={path:[],schemaPath:[]}){var i;let t=n._zod.def,o=e.seen.get(n);if(o)return o.count++,r.schemaPath.includes(n)&&(o.cycle=r.path),o.schema;let s={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(n,s);let a=n._zod.toJSONSchema?.();if(a)s.schema=a;else{let u={...r,schemaPath:[...r.schemaPath,n],path:r.path};if(n._zod.processJSONSchema)n._zod.processJSONSchema(e,s.schema,u);else{let p=s.schema,f=e.processors[t.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${t.type}`);f(n,e,p,u)}let d=n._zod.parent;d&&(s.ref||(s.ref=d),re(d,e,u),e.seen.get(d).isParent=!0)}let c=e.metadataRegistry.get(n);return c&&Object.assign(s.schema,c),e.io==="input"&&Pe(n)&&(delete s.schema.examples,delete s.schema.default),e.io==="input"&&s.schema._prefault&&((i=s.schema).default??(i.default=s.schema._prefault)),delete s.schema._prefault,e.seen.get(n).schema}function Gt(n,e){let r=n.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=new Map;for(let s of n.seen.entries()){let a=n.metadataRegistry.get(s[0])?.id;if(a){let c=i.get(a);if(c&&c!==s[0])throw new Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);i.set(a,s[0])}}let t=s=>{let a=n.target==="draft-2020-12"?"$defs":"definitions";if(n.external){let d=n.external.registry.get(s[0])?.id,p=n.external.uri??(m=>m);if(d)return{ref:p(d)};let f=s[1].defId??s[1].schema.id??`schema${n.counter++}`;return s[1].defId=f,{defId:f,ref:`${p("__shared")}#/${a}/${f}`}}if(s[1]===r)return{ref:"#"};let l=`#/${a}/`,u=s[1].schema.id??`__schema${n.counter++}`;return{defId:u,ref:l+u}},o=s=>{if(s[1].schema.$ref)return;let a=s[1],{ref:c,defId:l}=t(s);a.def={...a.schema},l&&(a.defId=l);let u=a.schema;for(let d in u)delete u[d];u.$ref=c};if(n.cycles==="throw")for(let s of n.seen.entries()){let a=s[1];if(a.cycle)throw new Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
716
|
+
|
|
717
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of n.seen.entries()){let a=s[1];if(e===s[0]){o(s);continue}if(n.external){let l=n.external.registry.get(s[0])?.id;if(e!==s[0]&&l){o(s);continue}}if(n.metadataRegistry.get(s[0])?.id){o(s);continue}if(a.cycle){o(s);continue}if(a.count>1&&n.reused==="ref"){o(s);continue}}}function Jt(n,e){let r=n.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=s=>{let a=n.seen.get(s);if(a.ref===null)return;let c=a.def??a.schema,l={...c},u=a.ref;if(a.ref=null,u){i(u);let p=n.seen.get(u),f=p.schema;if(f.$ref&&(n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(f)):Object.assign(c,f),Object.assign(c,l),s._zod.parent===u)for(let h in c)h==="$ref"||h==="allOf"||h in l||delete c[h];if(f.$ref&&p.def)for(let h in c)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(c[h])===JSON.stringify(p.def[h])&&delete c[h]}let d=s._zod.parent;if(d&&d!==u){i(d);let p=n.seen.get(d);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(let f in c)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(c[f])===JSON.stringify(p.def[f])&&delete c[f]}n.override({zodSchema:s,jsonSchema:c,path:a.path??[]})};for(let s of[...n.seen.entries()].reverse())i(s[0]);let t={};if(n.target==="draft-2020-12"?t.$schema="https://json-schema.org/draft/2020-12/schema":n.target==="draft-07"?t.$schema="http://json-schema.org/draft-07/schema#":n.target==="draft-04"?t.$schema="http://json-schema.org/draft-04/schema#":n.target,n.external?.uri){let s=n.external.registry.get(e)?.id;if(!s)throw new Error("Schema is missing an `id` property");t.$id=n.external.uri(s)}Object.assign(t,r.def??r.schema);let o=n.external?.defs??{};for(let s of n.seen.entries()){let a=s[1];a.def&&a.defId&&(o[a.defId]=a.def)}n.external||Object.keys(o).length>0&&(n.target==="draft-2020-12"?t.$defs=o:t.definitions=o);try{let s=JSON.parse(JSON.stringify(t));return Object.defineProperty(s,"~standard",{value:{...e["~standard"],jsonSchema:{input:rr(e,"input",n.processors),output:rr(e,"output",n.processors)}},enumerable:!1,writable:!1}),s}catch{throw new Error("Error converting schema to JSON.")}}function Pe(n,e){let r=e??{seen:new Set};if(r.seen.has(n))return!1;r.seen.add(n);let i=n._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return Pe(i.element,r);if(i.type==="set")return Pe(i.valueType,r);if(i.type==="lazy")return Pe(i.getter(),r);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return Pe(i.innerType,r);if(i.type==="intersection")return Pe(i.left,r)||Pe(i.right,r);if(i.type==="record"||i.type==="map")return Pe(i.keyType,r)||Pe(i.valueType,r);if(i.type==="pipe")return Pe(i.in,r)||Pe(i.out,r);if(i.type==="object"){for(let t in i.shape)if(Pe(i.shape[t],r))return!0;return!1}if(i.type==="union"){for(let t of i.options)if(Pe(t,r))return!0;return!1}if(i.type==="tuple"){for(let t of i.items)if(Pe(t,r))return!0;return!!(i.rest&&Pe(i.rest,r))}return!1}var Lp=(n,e={})=>r=>{let i=Bt({...r,processors:e});return re(n,i),Gt(i,n),Jt(i,n)},rr=(n,e,r={})=>i=>{let{libraryOptions:t,target:o}=i??{},s=Bt({...t??{},target:o,io:e,processors:r});return re(n,s),Gt(s,n),Jt(s,n)};var dw={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Op=(n,e,r,i)=>{let t=r;t.type="string";let{minimum:o,maximum:s,format:a,patterns:c,contentEncoding:l}=n._zod.bag;if(typeof o=="number"&&(t.minLength=o),typeof s=="number"&&(t.maxLength=s),a&&(t.format=dw[a]??a,t.format===""&&delete t.format,a==="time"&&delete t.format),l&&(t.contentEncoding=l),c&&c.size>0){let u=[...c];u.length===1?t.pattern=u[0].source:u.length>1&&(t.allOf=[...u.map(d=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},Cp=(n,e,r,i)=>{let t=r,{minimum:o,maximum:s,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=n._zod.bag;typeof a=="string"&&a.includes("int")?t.type="integer":t.type="number",typeof u=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(t.minimum=u,t.exclusiveMinimum=!0):t.exclusiveMinimum=u),typeof o=="number"&&(t.minimum=o,typeof u=="number"&&e.target!=="draft-04"&&(u>=o?delete t.minimum:delete t.exclusiveMinimum)),typeof l=="number"&&(e.target==="draft-04"||e.target==="openapi-3.0"?(t.maximum=l,t.exclusiveMaximum=!0):t.exclusiveMaximum=l),typeof s=="number"&&(t.maximum=s,typeof l=="number"&&e.target!=="draft-04"&&(l<=s?delete t.maximum:delete t.exclusiveMaximum)),typeof c=="number"&&(t.multipleOf=c)},Mp=(n,e,r,i)=>{r.type="boolean"},jp=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Up=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Fp=(n,e,r,i)=>{e.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Zp=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Hp=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Wp=(n,e,r,i)=>{r.not={}},Bp=(n,e,r,i)=>{},Gp=(n,e,r,i)=>{},Jp=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Vp=(n,e,r,i)=>{let t=n._zod.def,o=Cr(t.entries);o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),r.enum=o},qp=(n,e,r,i)=>{let t=n._zod.def,o=[];for(let s of t.values)if(s===void 0){if(e.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s=="bigint"){if(e.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(s))}else o.push(s);if(o.length!==0)if(o.length===1){let s=o[0];r.type=s===null?"null":typeof s,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[s]:r.const=s}else o.every(s=>typeof s=="number")&&(r.type="number"),o.every(s=>typeof s=="string")&&(r.type="string"),o.every(s=>typeof s=="boolean")&&(r.type="boolean"),o.every(s=>s===null)&&(r.type="null"),r.enum=o},Kp=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Yp=(n,e,r,i)=>{let t=r,o=n._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");t.type="string",t.pattern=o.source},Xp=(n,e,r,i)=>{let t=r,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:c}=n._zod.bag;s!==void 0&&(o.minLength=s),a!==void 0&&(o.maxLength=a),c?c.length===1?(o.contentMediaType=c[0],Object.assign(t,o)):(Object.assign(t,o),t.anyOf=c.map(l=>({contentMediaType:l}))):Object.assign(t,o)},Qp=(n,e,r,i)=>{r.type="boolean"},ed=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},td=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},nd=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},rd=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},id=(n,e,r,i)=>{if(e.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},od=(n,e,r,i)=>{let t=r,o=n._zod.def,{minimum:s,maximum:a}=n._zod.bag;typeof s=="number"&&(t.minItems=s),typeof a=="number"&&(t.maxItems=a),t.type="array",t.items=re(o.element,e,{...i,path:[...i.path,"items"]})},sd=(n,e,r,i)=>{let t=r,o=n._zod.def;t.type="object",t.properties={};let s=o.shape;for(let l in s)t.properties[l]=re(s[l],e,{...i,path:[...i.path,"properties",l]});let a=new Set(Object.keys(s)),c=new Set([...a].filter(l=>{let u=o.shape[l]._zod;return e.io==="input"?u.optin===void 0:u.optout===void 0}));c.size>0&&(t.required=Array.from(c)),o.catchall?._zod.def.type==="never"?t.additionalProperties=!1:o.catchall?o.catchall&&(t.additionalProperties=re(o.catchall,e,{...i,path:[...i.path,"additionalProperties"]})):e.io==="output"&&(t.additionalProperties=!1)},bs=(n,e,r,i)=>{let t=n._zod.def,o=t.inclusive===!1,s=t.options.map((a,c)=>re(a,e,{...i,path:[...i.path,o?"oneOf":"anyOf",c]}));o?r.oneOf=s:r.anyOf=s},ad=(n,e,r,i)=>{let t=n._zod.def,o=re(t.left,e,{...i,path:[...i.path,"allOf",0]}),s=re(t.right,e,{...i,path:[...i.path,"allOf",1]}),a=l=>"allOf"in l&&Object.keys(l).length===1,c=[...a(o)?o.allOf:[o],...a(s)?s.allOf:[s]];r.allOf=c},cd=(n,e,r,i)=>{let t=r,o=n._zod.def;t.type="array";let s=e.target==="draft-2020-12"?"prefixItems":"items",a=e.target==="draft-2020-12"||e.target==="openapi-3.0"?"items":"additionalItems",c=o.items.map((p,f)=>re(p,e,{...i,path:[...i.path,s,f]})),l=o.rest?re(o.rest,e,{...i,path:[...i.path,a,...e.target==="openapi-3.0"?[o.items.length]:[]]}):null;e.target==="draft-2020-12"?(t.prefixItems=c,l&&(t.items=l)):e.target==="openapi-3.0"?(t.items={anyOf:c},l&&t.items.anyOf.push(l),t.minItems=c.length,l||(t.maxItems=c.length)):(t.items=c,l&&(t.additionalItems=l));let{minimum:u,maximum:d}=n._zod.bag;typeof u=="number"&&(t.minItems=u),typeof d=="number"&&(t.maxItems=d)},ld=(n,e,r,i)=>{let t=r,o=n._zod.def;t.type="object";let s=o.keyType,c=s._zod.bag?.patterns;if(o.mode==="loose"&&c&&c.size>0){let u=re(o.valueType,e,{...i,path:[...i.path,"patternProperties","*"]});t.patternProperties={};for(let d of c)t.patternProperties[d.source]=u}else(e.target==="draft-07"||e.target==="draft-2020-12")&&(t.propertyNames=re(o.keyType,e,{...i,path:[...i.path,"propertyNames"]})),t.additionalProperties=re(o.valueType,e,{...i,path:[...i.path,"additionalProperties"]});let l=s._zod.values;if(l){let u=[...l].filter(d=>typeof d=="string"||typeof d=="number");u.length>0&&(t.required=u)}},ud=(n,e,r,i)=>{let t=n._zod.def,o=re(t.innerType,e,i),s=e.seen.get(n);e.target==="openapi-3.0"?(s.ref=t.innerType,r.nullable=!0):r.anyOf=[o,{type:"null"}]},pd=(n,e,r,i)=>{let t=n._zod.def;re(t.innerType,e,i);let o=e.seen.get(n);o.ref=t.innerType},dd=(n,e,r,i)=>{let t=n._zod.def;re(t.innerType,e,i);let o=e.seen.get(n);o.ref=t.innerType,r.default=JSON.parse(JSON.stringify(t.defaultValue))},md=(n,e,r,i)=>{let t=n._zod.def;re(t.innerType,e,i);let o=e.seen.get(n);o.ref=t.innerType,e.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(t.defaultValue)))},fd=(n,e,r,i)=>{let t=n._zod.def;re(t.innerType,e,i);let o=e.seen.get(n);o.ref=t.innerType;let s;try{s=t.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=s},hd=(n,e,r,i)=>{let t=n._zod.def,o=e.io==="input"?t.in._zod.def.type==="transform"?t.out:t.in:t.out;re(o,e,i);let s=e.seen.get(n);s.ref=o},gd=(n,e,r,i)=>{let t=n._zod.def;re(t.innerType,e,i);let o=e.seen.get(n);o.ref=t.innerType,r.readOnly=!0},yd=(n,e,r,i)=>{let t=n._zod.def;re(t.innerType,e,i);let o=e.seen.get(n);o.ref=t.innerType},_s=(n,e,r,i)=>{let t=n._zod.def;re(t.innerType,e,i);let o=e.seen.get(n);o.ref=t.innerType},vd=(n,e,r,i)=>{let t=n._zod.innerType;re(t,e,i);let o=e.seen.get(n);o.ref=t},vs={string:Op,number:Cp,boolean:Mp,bigint:jp,symbol:Up,null:Fp,undefined:Zp,void:Hp,never:Wp,any:Bp,unknown:Gp,date:Jp,enum:Vp,literal:qp,nan:Kp,template_literal:Yp,file:Xp,success:Qp,custom:ed,function:td,transform:nd,map:rd,set:id,array:od,object:sd,union:bs,intersection:ad,tuple:cd,record:ld,nullable:ud,nonoptional:pd,default:dd,prefault:md,catch:fd,pipe:hd,readonly:gd,promise:yd,optional:_s,lazy:vd};function xs(n,e){if("_idmap"in n){let i=n,t=Bt({...e,processors:vs}),o={};for(let c of i._idmap.entries()){let[l,u]=c;re(u,t)}let s={},a={registry:i,uri:e?.uri,defs:o};t.external=a;for(let c of i._idmap.entries()){let[l,u]=c;Gt(t,u),s[l]=Jt(t,u)}if(Object.keys(o).length>0){let c=t.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:o}}return{schemas:s}}let r=Bt({...e,processors:vs});return re(n,r),Gt(r,n),Jt(r,n)}var Ss=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let r=e?.target??"draft-2020-12";r==="draft-4"&&(r="draft-04"),r==="draft-7"&&(r="draft-07"),this.ctx=Bt({processors:vs,target:r,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,r={path:[],schemaPath:[]}){return re(e,this.ctx,r)}emit(e,r){r&&(r.cycles&&(this.ctx.cycles=r.cycles),r.reused&&(this.ctx.reused=r.reused),r.external&&(this.ctx.external=r.external)),Gt(this.ctx,e);let i=Jt(this.ctx,e),{"~standard":t,...o}=i;return o}};var yy={};var ti={};He(ti,{ZodAny:()=>Zd,ZodArray:()=>Gd,ZodBase64:()=>Hs,ZodBase64URL:()=>Ws,ZodBigInt:()=>ur,ZodBigIntFormat:()=>Js,ZodBoolean:()=>lr,ZodCIDRv4:()=>Fs,ZodCIDRv6:()=>Zs,ZodCUID:()=>As,ZodCUID2:()=>Ls,ZodCatch:()=>fm,ZodCodec:()=>ta,ZodCustom:()=>di,ZodCustomStringFormat:()=>ar,ZodDate:()=>ai,ZodDefault:()=>cm,ZodDiscriminatedUnion:()=>Vd,ZodE164:()=>Bs,ZodEmail:()=>Ns,ZodEmoji:()=>zs,ZodEnum:()=>or,ZodExactOptional:()=>om,ZodFile:()=>rm,ZodFunction:()=>$m,ZodGUID:()=>ni,ZodIPv4:()=>js,ZodIPv6:()=>Us,ZodIntersection:()=>qd,ZodJWT:()=>Gs,ZodKSUID:()=>Ms,ZodLazy:()=>_m,ZodLiteral:()=>nm,ZodMAC:()=>Ld,ZodMap:()=>em,ZodNaN:()=>gm,ZodNanoID:()=>Ds,ZodNever:()=>Wd,ZodNonOptional:()=>Qs,ZodNull:()=>Ud,ZodNullable:()=>am,ZodNumber:()=>cr,ZodNumberFormat:()=>hn,ZodObject:()=>li,ZodOptional:()=>Xs,ZodPipe:()=>ea,ZodPrefault:()=>um,ZodPromise:()=>Sm,ZodReadonly:()=>ym,ZodRecord:()=>pi,ZodSet:()=>tm,ZodString:()=>sr,ZodStringFormat:()=>ae,ZodSuccess:()=>mm,ZodSymbol:()=>Md,ZodTemplateLiteral:()=>bm,ZodTransform:()=>im,ZodTuple:()=>Yd,ZodType:()=>X,ZodULID:()=>Os,ZodURL:()=>si,ZodUUID:()=>dt,ZodUndefined:()=>jd,ZodUnion:()=>ui,ZodUnknown:()=>Hd,ZodVoid:()=>Bd,ZodXID:()=>Cs,ZodXor:()=>Jd,_ZodString:()=>Ps,_default:()=>lm,_function:()=>wv,any:()=>nv,array:()=>ci,base64:()=>jy,base64url:()=>Uy,bigint:()=>Yy,boolean:()=>Cd,catch:()=>hm,check:()=>kv,cidrv4:()=>Cy,cidrv6:()=>My,codec:()=>xv,cuid:()=>Ry,cuid2:()=>Py,custom:()=>Ev,date:()=>iv,describe:()=>Iv,discriminatedUnion:()=>uv,e164:()=>Fy,email:()=>by,emoji:()=>Iy,enum:()=>Ks,exactOptional:()=>sm,file:()=>yv,float32:()=>Jy,float64:()=>Vy,function:()=>wv,guid:()=>_y,hash:()=>Gy,hex:()=>By,hostname:()=>Wy,httpUrl:()=>Ey,instanceof:()=>Rv,int:()=>Rs,int32:()=>qy,int64:()=>Xy,intersection:()=>Kd,ipv4:()=>Ay,ipv6:()=>Oy,json:()=>Nv,jwt:()=>Zy,keyof:()=>ov,ksuid:()=>Dy,lazy:()=>xm,literal:()=>gv,looseObject:()=>cv,looseRecord:()=>dv,mac:()=>Ly,map:()=>mv,meta:()=>Tv,nan:()=>_v,nanoid:()=>Ty,nativeEnum:()=>hv,never:()=>Vs,nonoptional:()=>dm,null:()=>Fd,nullable:()=>ii,nullish:()=>vv,number:()=>Od,object:()=>sv,optional:()=>ri,partialRecord:()=>pv,pipe:()=>oi,prefault:()=>pm,preprocess:()=>zv,promise:()=>$v,readonly:()=>vm,record:()=>Qd,refine:()=>wm,set:()=>fv,strictObject:()=>av,string:()=>Ts,stringFormat:()=>Hy,stringbool:()=>Pv,success:()=>bv,superRefine:()=>km,symbol:()=>ev,templateLiteral:()=>Sv,transform:()=>Ys,tuple:()=>Xd,uint32:()=>Ky,uint64:()=>Qy,ulid:()=>Ny,undefined:()=>tv,union:()=>qs,unknown:()=>fn,url:()=>ky,uuid:()=>xy,uuidv4:()=>Sy,uuidv6:()=>$y,uuidv7:()=>wy,void:()=>rv,xid:()=>zy,xor:()=>lv});var $s={};He($s,{endsWith:()=>qn,gt:()=>ut,gte:()=>Re,includes:()=>Jn,length:()=>mn,lowercase:()=>Bn,lt:()=>lt,lte:()=>Fe,maxLength:()=>dn,maxSize:()=>Wt,mime:()=>Kn,minLength:()=>xt,minSize:()=>pt,multipleOf:()=>Ht,negative:()=>fs,nonnegative:()=>gs,nonpositive:()=>hs,normalize:()=>Yn,overwrite:()=>it,positive:()=>ms,property:()=>ys,regex:()=>Wn,size:()=>pn,slugify:()=>tr,startsWith:()=>Vn,toLowerCase:()=>Qn,toUpperCase:()=>er,trim:()=>Xn,uppercase:()=>Gn});var ir={};He(ir,{ZodISODate:()=>ks,ZodISODateTime:()=>ws,ZodISODuration:()=>Is,ZodISOTime:()=>Es,date:()=>_d,datetime:()=>bd,duration:()=>Sd,time:()=>xd});var ws=w("ZodISODateTime",(n,e)=>{Kl.init(n,e),ae.init(n,e)});function bd(n){return ep(ws,n)}var ks=w("ZodISODate",(n,e)=>{Yl.init(n,e),ae.init(n,e)});function _d(n){return tp(ks,n)}var Es=w("ZodISOTime",(n,e)=>{Xl.init(n,e),ae.init(n,e)});function xd(n){return np(Es,n)}var Is=w("ZodISODuration",(n,e)=>{Ql.init(n,e),ae.init(n,e)});function Sd(n){return rp(Is,n)}var vy=(n,e)=>{Zr.init(n,e),n.name="ZodError",Object.defineProperties(n,{format:{value:r=>Wr(n,r)},flatten:{value:r=>Hr(n,r)},addIssue:{value:r=>{n.issues.push(r),n.message=JSON.stringify(n.issues,Ln,2)}},addIssues:{value:r=>{n.issues.push(...r),n.message=JSON.stringify(n.issues,Ln,2)}},isEmpty:{get(){return n.issues.length===0}}})},fw=w("ZodError",vy),Le=w("ZodError",vy,{Parent:Error});var $d=Mn(Le),wd=jn(Le),kd=Un(Le),Ed=Fn(Le),Id=xo(Le),Td=So(Le),Rd=$o(Le),Pd=wo(Le),Nd=ko(Le),zd=Eo(Le),Dd=Io(Le),Ad=To(Le);var X=w("ZodType",(n,e)=>(K.init(n,e),Object.assign(n["~standard"],{jsonSchema:{input:rr(n,"input"),output:rr(n,"output")}}),n.toJSONSchema=Lp(n,{}),n.def=e,n.type=e.type,Object.defineProperty(n,"_def",{value:e}),n.check=(...r)=>n.clone(O.mergeDefs(e,{checks:[...e.checks??[],...r.map(i=>typeof i=="function"?{_zod:{check:i,def:{check:"custom"},onattach:[]}}:i)]}),{parent:!0}),n.with=n.check,n.clone=(r,i)=>Te(n,r,i),n.brand=()=>n,n.register=((r,i)=>(r.add(n,i),n)),n.parse=(r,i)=>$d(n,r,i,{callee:n.parse}),n.safeParse=(r,i)=>kd(n,r,i),n.parseAsync=async(r,i)=>wd(n,r,i,{callee:n.parseAsync}),n.safeParseAsync=async(r,i)=>Ed(n,r,i),n.spa=n.safeParseAsync,n.encode=(r,i)=>Id(n,r,i),n.decode=(r,i)=>Td(n,r,i),n.encodeAsync=async(r,i)=>Rd(n,r,i),n.decodeAsync=async(r,i)=>Pd(n,r,i),n.safeEncode=(r,i)=>Nd(n,r,i),n.safeDecode=(r,i)=>zd(n,r,i),n.safeEncodeAsync=async(r,i)=>Dd(n,r,i),n.safeDecodeAsync=async(r,i)=>Ad(n,r,i),n.refine=(r,i)=>n.check(wm(r,i)),n.superRefine=r=>n.check(km(r)),n.overwrite=r=>n.check(it(r)),n.optional=()=>ri(n),n.exactOptional=()=>sm(n),n.nullable=()=>ii(n),n.nullish=()=>ri(ii(n)),n.nonoptional=r=>dm(n,r),n.array=()=>ci(n),n.or=r=>qs([n,r]),n.and=r=>Kd(n,r),n.transform=r=>oi(n,Ys(r)),n.default=r=>lm(n,r),n.prefault=r=>pm(n,r),n.catch=r=>hm(n,r),n.pipe=r=>oi(n,r),n.readonly=()=>vm(n),n.describe=r=>{let i=n.clone();return $e.add(i,{description:r}),i},Object.defineProperty(n,"description",{get(){return $e.get(n)?.description},configurable:!0}),n.meta=(...r)=>{if(r.length===0)return $e.get(n);let i=n.clone();return $e.add(i,r[0]),i},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n.apply=r=>r(n),n)),Ps=w("_ZodString",(n,e)=>{un.init(n,e),X.init(n,e),n._zod.processJSONSchema=(i,t,o)=>Op(n,i,t,o);let r=n._zod.bag;n.format=r.format??null,n.minLength=r.minimum??null,n.maxLength=r.maximum??null,n.regex=(...i)=>n.check(Wn(...i)),n.includes=(...i)=>n.check(Jn(...i)),n.startsWith=(...i)=>n.check(Vn(...i)),n.endsWith=(...i)=>n.check(qn(...i)),n.min=(...i)=>n.check(xt(...i)),n.max=(...i)=>n.check(dn(...i)),n.length=(...i)=>n.check(mn(...i)),n.nonempty=(...i)=>n.check(xt(1,...i)),n.lowercase=i=>n.check(Bn(i)),n.uppercase=i=>n.check(Gn(i)),n.trim=()=>n.check(Xn()),n.normalize=(...i)=>n.check(Yn(...i)),n.toLowerCase=()=>n.check(Qn()),n.toUpperCase=()=>n.check(er()),n.slugify=()=>n.check(tr())}),sr=w("ZodString",(n,e)=>{un.init(n,e),Ps.init(n,e),n.email=r=>n.check(Jo(Ns,r)),n.url=r=>n.check(ei(si,r)),n.jwt=r=>n.check(ds(Gs,r)),n.emoji=r=>n.check(Xo(zs,r)),n.guid=r=>n.check(Qr(ni,r)),n.uuid=r=>n.check(Vo(dt,r)),n.uuidv4=r=>n.check(qo(dt,r)),n.uuidv6=r=>n.check(Ko(dt,r)),n.uuidv7=r=>n.check(Yo(dt,r)),n.nanoid=r=>n.check(Qo(Ds,r)),n.guid=r=>n.check(Qr(ni,r)),n.cuid=r=>n.check(es(As,r)),n.cuid2=r=>n.check(ts(Ls,r)),n.ulid=r=>n.check(ns(Os,r)),n.base64=r=>n.check(ls(Hs,r)),n.base64url=r=>n.check(us(Ws,r)),n.xid=r=>n.check(rs(Cs,r)),n.ksuid=r=>n.check(is(Ms,r)),n.ipv4=r=>n.check(os(js,r)),n.ipv6=r=>n.check(ss(Us,r)),n.cidrv4=r=>n.check(as(Fs,r)),n.cidrv6=r=>n.check(cs(Zs,r)),n.e164=r=>n.check(ps(Bs,r)),n.datetime=r=>n.check(bd(r)),n.date=r=>n.check(_d(r)),n.time=r=>n.check(xd(r)),n.duration=r=>n.check(Sd(r))});function Ts(n){return Ku(sr,n)}var ae=w("ZodStringFormat",(n,e)=>{se.init(n,e),Ps.init(n,e)}),Ns=w("ZodEmail",(n,e)=>{Fl.init(n,e),ae.init(n,e)});function by(n){return Jo(Ns,n)}var ni=w("ZodGUID",(n,e)=>{jl.init(n,e),ae.init(n,e)});function _y(n){return Qr(ni,n)}var dt=w("ZodUUID",(n,e)=>{Ul.init(n,e),ae.init(n,e)});function xy(n){return Vo(dt,n)}function Sy(n){return qo(dt,n)}function $y(n){return Ko(dt,n)}function wy(n){return Yo(dt,n)}var si=w("ZodURL",(n,e)=>{Zl.init(n,e),ae.init(n,e)});function ky(n){return ei(si,n)}function Ey(n){return ei(si,{protocol:/^https?$/,hostname:Ve.domain,...O.normalizeParams(n)})}var zs=w("ZodEmoji",(n,e)=>{Hl.init(n,e),ae.init(n,e)});function Iy(n){return Xo(zs,n)}var Ds=w("ZodNanoID",(n,e)=>{Wl.init(n,e),ae.init(n,e)});function Ty(n){return Qo(Ds,n)}var As=w("ZodCUID",(n,e)=>{Bl.init(n,e),ae.init(n,e)});function Ry(n){return es(As,n)}var Ls=w("ZodCUID2",(n,e)=>{Gl.init(n,e),ae.init(n,e)});function Py(n){return ts(Ls,n)}var Os=w("ZodULID",(n,e)=>{Jl.init(n,e),ae.init(n,e)});function Ny(n){return ns(Os,n)}var Cs=w("ZodXID",(n,e)=>{Vl.init(n,e),ae.init(n,e)});function zy(n){return rs(Cs,n)}var Ms=w("ZodKSUID",(n,e)=>{ql.init(n,e),ae.init(n,e)});function Dy(n){return is(Ms,n)}var js=w("ZodIPv4",(n,e)=>{eu.init(n,e),ae.init(n,e)});function Ay(n){return os(js,n)}var Ld=w("ZodMAC",(n,e)=>{nu.init(n,e),ae.init(n,e)});function Ly(n){return Xu(Ld,n)}var Us=w("ZodIPv6",(n,e)=>{tu.init(n,e),ae.init(n,e)});function Oy(n){return ss(Us,n)}var Fs=w("ZodCIDRv4",(n,e)=>{ru.init(n,e),ae.init(n,e)});function Cy(n){return as(Fs,n)}var Zs=w("ZodCIDRv6",(n,e)=>{iu.init(n,e),ae.init(n,e)});function My(n){return cs(Zs,n)}var Hs=w("ZodBase64",(n,e)=>{su.init(n,e),ae.init(n,e)});function jy(n){return ls(Hs,n)}var Ws=w("ZodBase64URL",(n,e)=>{au.init(n,e),ae.init(n,e)});function Uy(n){return us(Ws,n)}var Bs=w("ZodE164",(n,e)=>{cu.init(n,e),ae.init(n,e)});function Fy(n){return ps(Bs,n)}var Gs=w("ZodJWT",(n,e)=>{lu.init(n,e),ae.init(n,e)});function Zy(n){return ds(Gs,n)}var ar=w("ZodCustomStringFormat",(n,e)=>{uu.init(n,e),ae.init(n,e)});function Hy(n,e,r={}){return nr(ar,n,e,r)}function Wy(n){return nr(ar,"hostname",Ve.hostname,n)}function By(n){return nr(ar,"hex",Ve.hex,n)}function Gy(n,e){let r=e?.enc??"hex",i=`${n}_${r}`,t=Ve[i];if(!t)throw new Error(`Unrecognized hash format: ${i}`);return nr(ar,i,t,e)}var cr=w("ZodNumber",(n,e)=>{Mo.init(n,e),X.init(n,e),n._zod.processJSONSchema=(i,t,o)=>Cp(n,i,t,o),n.gt=(i,t)=>n.check(ut(i,t)),n.gte=(i,t)=>n.check(Re(i,t)),n.min=(i,t)=>n.check(Re(i,t)),n.lt=(i,t)=>n.check(lt(i,t)),n.lte=(i,t)=>n.check(Fe(i,t)),n.max=(i,t)=>n.check(Fe(i,t)),n.int=i=>n.check(Rs(i)),n.safe=i=>n.check(Rs(i)),n.positive=i=>n.check(ut(0,i)),n.nonnegative=i=>n.check(Re(0,i)),n.negative=i=>n.check(lt(0,i)),n.nonpositive=i=>n.check(Fe(0,i)),n.multipleOf=(i,t)=>n.check(Ht(i,t)),n.step=(i,t)=>n.check(Ht(i,t)),n.finite=()=>n;let r=n._zod.bag;n.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),n.isFinite=!0,n.format=r.format??null});function Od(n){return ip(cr,n)}var hn=w("ZodNumberFormat",(n,e)=>{pu.init(n,e),cr.init(n,e)});function Rs(n){return sp(hn,n)}function Jy(n){return ap(hn,n)}function Vy(n){return cp(hn,n)}function qy(n){return lp(hn,n)}function Ky(n){return up(hn,n)}var lr=w("ZodBoolean",(n,e)=>{Vr.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Mp(n,r,i,t)});function Cd(n){return pp(lr,n)}var ur=w("ZodBigInt",(n,e)=>{jo.init(n,e),X.init(n,e),n._zod.processJSONSchema=(i,t,o)=>jp(n,i,t,o),n.gte=(i,t)=>n.check(Re(i,t)),n.min=(i,t)=>n.check(Re(i,t)),n.gt=(i,t)=>n.check(ut(i,t)),n.gte=(i,t)=>n.check(Re(i,t)),n.min=(i,t)=>n.check(Re(i,t)),n.lt=(i,t)=>n.check(lt(i,t)),n.lte=(i,t)=>n.check(Fe(i,t)),n.max=(i,t)=>n.check(Fe(i,t)),n.positive=i=>n.check(ut(BigInt(0),i)),n.negative=i=>n.check(lt(BigInt(0),i)),n.nonpositive=i=>n.check(Fe(BigInt(0),i)),n.nonnegative=i=>n.check(Re(BigInt(0),i)),n.multipleOf=(i,t)=>n.check(Ht(i,t));let r=n._zod.bag;n.minValue=r.minimum??null,n.maxValue=r.maximum??null,n.format=r.format??null});function Yy(n){return mp(ur,n)}var Js=w("ZodBigIntFormat",(n,e)=>{du.init(n,e),ur.init(n,e)});function Xy(n){return hp(Js,n)}function Qy(n){return gp(Js,n)}var Md=w("ZodSymbol",(n,e)=>{mu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Up(n,r,i,t)});function ev(n){return yp(Md,n)}var jd=w("ZodUndefined",(n,e)=>{fu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Zp(n,r,i,t)});function tv(n){return vp(jd,n)}var Ud=w("ZodNull",(n,e)=>{hu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Fp(n,r,i,t)});function Fd(n){return bp(Ud,n)}var Zd=w("ZodAny",(n,e)=>{gu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Bp(n,r,i,t)});function nv(){return _p(Zd)}var Hd=w("ZodUnknown",(n,e)=>{yu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Gp(n,r,i,t)});function fn(){return xp(Hd)}var Wd=w("ZodNever",(n,e)=>{vu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Wp(n,r,i,t)});function Vs(n){return Sp(Wd,n)}var Bd=w("ZodVoid",(n,e)=>{bu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Hp(n,r,i,t)});function rv(n){return $p(Bd,n)}var ai=w("ZodDate",(n,e)=>{_u.init(n,e),X.init(n,e),n._zod.processJSONSchema=(i,t,o)=>Jp(n,i,t,o),n.min=(i,t)=>n.check(Re(i,t)),n.max=(i,t)=>n.check(Fe(i,t));let r=n._zod.bag;n.minDate=r.minimum?new Date(r.minimum):null,n.maxDate=r.maximum?new Date(r.maximum):null});function iv(n){return wp(ai,n)}var Gd=w("ZodArray",(n,e)=>{xu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>od(n,r,i,t),n.element=e.element,n.min=(r,i)=>n.check(xt(r,i)),n.nonempty=r=>n.check(xt(1,r)),n.max=(r,i)=>n.check(dn(r,i)),n.length=(r,i)=>n.check(mn(r,i)),n.unwrap=()=>n.element});function ci(n,e){return Ip(Gd,n,e)}function ov(n){let e=n._zod.def.shape;return Ks(Object.keys(e))}var li=w("ZodObject",(n,e)=>{Su.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>sd(n,r,i,t),O.defineLazy(n,"shape",()=>e.shape),n.keyof=()=>Ks(Object.keys(n._zod.def.shape)),n.catchall=r=>n.clone({...n._zod.def,catchall:r}),n.passthrough=()=>n.clone({...n._zod.def,catchall:fn()}),n.loose=()=>n.clone({...n._zod.def,catchall:fn()}),n.strict=()=>n.clone({...n._zod.def,catchall:Vs()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=r=>O.extend(n,r),n.safeExtend=r=>O.safeExtend(n,r),n.merge=r=>O.merge(n,r),n.pick=r=>O.pick(n,r),n.omit=r=>O.omit(n,r),n.partial=(...r)=>O.partial(Xs,n,r[0]),n.required=(...r)=>O.required(Qs,n,r[0])});function sv(n,e){let r={type:"object",shape:n??{},...O.normalizeParams(e)};return new li(r)}function av(n,e){return new li({type:"object",shape:n,catchall:Vs(),...O.normalizeParams(e)})}function cv(n,e){return new li({type:"object",shape:n,catchall:fn(),...O.normalizeParams(e)})}var ui=w("ZodUnion",(n,e)=>{qr.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>bs(n,r,i,t),n.options=e.options});function qs(n,e){return new ui({type:"union",options:n,...O.normalizeParams(e)})}var Jd=w("ZodXor",(n,e)=>{ui.init(n,e),$u.init(n,e),n._zod.processJSONSchema=(r,i,t)=>bs(n,r,i,t),n.options=e.options});function lv(n,e){return new Jd({type:"union",options:n,inclusive:!1,...O.normalizeParams(e)})}var Vd=w("ZodDiscriminatedUnion",(n,e)=>{ui.init(n,e),wu.init(n,e)});function uv(n,e,r){return new Vd({type:"union",options:e,discriminator:n,...O.normalizeParams(r)})}var qd=w("ZodIntersection",(n,e)=>{ku.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>ad(n,r,i,t)});function Kd(n,e){return new qd({type:"intersection",left:n,right:e})}var Yd=w("ZodTuple",(n,e)=>{Uo.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>cd(n,r,i,t),n.rest=r=>n.clone({...n._zod.def,rest:r})});function Xd(n,e,r){let i=e instanceof K,t=i?r:e,o=i?e:null;return new Yd({type:"tuple",items:n,rest:o,...O.normalizeParams(t)})}var pi=w("ZodRecord",(n,e)=>{Eu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>ld(n,r,i,t),n.keyType=e.keyType,n.valueType=e.valueType});function Qd(n,e,r){return new pi({type:"record",keyType:n,valueType:e,...O.normalizeParams(r)})}function pv(n,e,r){let i=Te(n);return i._zod.values=void 0,new pi({type:"record",keyType:i,valueType:e,...O.normalizeParams(r)})}function dv(n,e,r){return new pi({type:"record",keyType:n,valueType:e,mode:"loose",...O.normalizeParams(r)})}var em=w("ZodMap",(n,e)=>{Iu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>rd(n,r,i,t),n.keyType=e.keyType,n.valueType=e.valueType,n.min=(...r)=>n.check(pt(...r)),n.nonempty=r=>n.check(pt(1,r)),n.max=(...r)=>n.check(Wt(...r)),n.size=(...r)=>n.check(pn(...r))});function mv(n,e,r){return new em({type:"map",keyType:n,valueType:e,...O.normalizeParams(r)})}var tm=w("ZodSet",(n,e)=>{Tu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>id(n,r,i,t),n.min=(...r)=>n.check(pt(...r)),n.nonempty=r=>n.check(pt(1,r)),n.max=(...r)=>n.check(Wt(...r)),n.size=(...r)=>n.check(pn(...r))});function fv(n,e){return new tm({type:"set",valueType:n,...O.normalizeParams(e)})}var or=w("ZodEnum",(n,e)=>{Ru.init(n,e),X.init(n,e),n._zod.processJSONSchema=(i,t,o)=>Vp(n,i,t,o),n.enum=e.entries,n.options=Object.values(e.entries);let r=new Set(Object.keys(e.entries));n.extract=(i,t)=>{let o={};for(let s of i)if(r.has(s))o[s]=e.entries[s];else throw new Error(`Key ${s} not found in enum`);return new or({...e,checks:[],...O.normalizeParams(t),entries:o})},n.exclude=(i,t)=>{let o={...e.entries};for(let s of i)if(r.has(s))delete o[s];else throw new Error(`Key ${s} not found in enum`);return new or({...e,checks:[],...O.normalizeParams(t),entries:o})}});function Ks(n,e){let r=Array.isArray(n)?Object.fromEntries(n.map(i=>[i,i])):n;return new or({type:"enum",entries:r,...O.normalizeParams(e)})}function hv(n,e){return new or({type:"enum",entries:n,...O.normalizeParams(e)})}var nm=w("ZodLiteral",(n,e)=>{Pu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>qp(n,r,i,t),n.values=new Set(e.values),Object.defineProperty(n,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function gv(n,e){return new nm({type:"literal",values:Array.isArray(n)?n:[n],...O.normalizeParams(e)})}var rm=w("ZodFile",(n,e)=>{Nu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Xp(n,r,i,t),n.min=(r,i)=>n.check(pt(r,i)),n.max=(r,i)=>n.check(Wt(r,i)),n.mime=(r,i)=>n.check(Kn(Array.isArray(r)?r:[r],i))});function yv(n){return Tp(rm,n)}var im=w("ZodTransform",(n,e)=>{zu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>nd(n,r,i,t),n._zod.parse=(r,i)=>{if(i.direction==="backward")throw new Mt(n.constructor.name);r.addIssue=o=>{if(typeof o=="string")r.issues.push(O.issue(o,r.value,e));else{let s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=n),r.issues.push(O.issue(s))}};let t=e.transform(r.value,r);return t instanceof Promise?t.then(o=>(r.value=o,r)):(r.value=t,r)}});function Ys(n){return new im({type:"transform",transform:n})}var Xs=w("ZodOptional",(n,e)=>{Fo.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>_s(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function ri(n){return new Xs({type:"optional",innerType:n})}var om=w("ZodExactOptional",(n,e)=>{Du.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>_s(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function sm(n){return new om({type:"optional",innerType:n})}var am=w("ZodNullable",(n,e)=>{Au.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>ud(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function ii(n){return new am({type:"nullable",innerType:n})}function vv(n){return ri(ii(n))}var cm=w("ZodDefault",(n,e)=>{Lu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>dd(n,r,i,t),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function lm(n,e){return new cm({type:"default",innerType:n,get defaultValue(){return typeof e=="function"?e():O.shallowClone(e)}})}var um=w("ZodPrefault",(n,e)=>{Ou.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>md(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function pm(n,e){return new um({type:"prefault",innerType:n,get defaultValue(){return typeof e=="function"?e():O.shallowClone(e)}})}var Qs=w("ZodNonOptional",(n,e)=>{Cu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>pd(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function dm(n,e){return new Qs({type:"nonoptional",innerType:n,...O.normalizeParams(e)})}var mm=w("ZodSuccess",(n,e)=>{Mu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Qp(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function bv(n){return new mm({type:"success",innerType:n})}var fm=w("ZodCatch",(n,e)=>{ju.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>fd(n,r,i,t),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function hm(n,e){return new fm({type:"catch",innerType:n,catchValue:typeof e=="function"?e:()=>e})}var gm=w("ZodNaN",(n,e)=>{Uu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Kp(n,r,i,t)});function _v(n){return Ep(gm,n)}var ea=w("ZodPipe",(n,e)=>{Fu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>hd(n,r,i,t),n.in=e.in,n.out=e.out});function oi(n,e){return new ea({type:"pipe",in:n,out:e})}var ta=w("ZodCodec",(n,e)=>{ea.init(n,e),Kr.init(n,e)});function xv(n,e,r){return new ta({type:"pipe",in:n,out:e,transform:r.decode,reverseTransform:r.encode})}var ym=w("ZodReadonly",(n,e)=>{Zu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>gd(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function vm(n){return new ym({type:"readonly",innerType:n})}var bm=w("ZodTemplateLiteral",(n,e)=>{Hu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>Yp(n,r,i,t)});function Sv(n,e){return new bm({type:"template_literal",parts:n,...O.normalizeParams(e)})}var _m=w("ZodLazy",(n,e)=>{Gu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>vd(n,r,i,t),n.unwrap=()=>n._zod.def.getter()});function xm(n){return new _m({type:"lazy",getter:n})}var Sm=w("ZodPromise",(n,e)=>{Bu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>yd(n,r,i,t),n.unwrap=()=>n._zod.def.innerType});function $v(n){return new Sm({type:"promise",innerType:n})}var $m=w("ZodFunction",(n,e)=>{Wu.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>td(n,r,i,t)});function wv(n){return new $m({type:"function",input:Array.isArray(n?.input)?Xd(n?.input):n?.input??ci(fn()),output:n?.output??fn()})}var di=w("ZodCustom",(n,e)=>{Ju.init(n,e),X.init(n,e),n._zod.processJSONSchema=(r,i,t)=>ed(n,r,i,t)});function kv(n){let e=new le({check:"custom"});return e._zod.check=n,e}function Ev(n,e){return Rp(di,n??(()=>!0),e)}function wm(n,e={}){return Pp(di,n,e)}function km(n){return Np(n)}var Iv=zp,Tv=Dp;function Rv(n,e={}){let r=new di({type:"custom",check:"custom",fn:i=>i instanceof n,abort:!0,...O.normalizeParams(e)});return r._zod.bag.Class=n,r._zod.check=i=>{i.value instanceof n||i.issues.push({code:"invalid_type",expected:n.name,input:i.value,inst:r,path:[...r._zod.def.path??[]]})},r}var Pv=(...n)=>Ap({Codec:ta,Boolean:lr,String:sr},...n);function Nv(n){let e=xm(()=>qs([Ts(n),Od(),Cd(),Fd(),ci(e),Qd(Ts(),e)]));return e}function zv(n,e){return oi(Ys(n),e)}var gw={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function yw(n){fe({customError:n})}function vw(){return fe().customError}var Em;Em||(Em={});var F={...ti,...$s,iso:ir},bw=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function _w(n,e){let r=n.$schema;return r==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":r==="http://json-schema.org/draft-07/schema#"?"draft-7":r==="http://json-schema.org/draft-04/schema#"?"draft-4":e??"draft-2020-12"}function xw(n,e){if(!n.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let r=n.slice(1).split("/").filter(Boolean);if(r.length===0)return e.rootSchema;let i=e.version==="draft-2020-12"?"$defs":"definitions";if(r[0]===i){let t=r[1];if(!t||!e.defs[t])throw new Error(`Reference not found: ${n}`);return e.defs[t]}throw new Error(`Reference not found: ${n}`)}function Dv(n,e){if(n.not!==void 0){if(typeof n.not=="object"&&Object.keys(n.not).length===0)return F.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(n.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(n.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(n.if!==void 0||n.then!==void 0||n.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(n.dependentSchemas!==void 0||n.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(n.$ref){let t=n.$ref;if(e.refs.has(t))return e.refs.get(t);if(e.processing.has(t))return F.lazy(()=>{if(!e.refs.has(t))throw new Error(`Circular reference not resolved: ${t}`);return e.refs.get(t)});e.processing.add(t);let o=xw(t,e),s=we(o,e);return e.refs.set(t,s),e.processing.delete(t),s}if(n.enum!==void 0){let t=n.enum;if(e.version==="openapi-3.0"&&n.nullable===!0&&t.length===1&&t[0]===null)return F.null();if(t.length===0)return F.never();if(t.length===1)return F.literal(t[0]);if(t.every(s=>typeof s=="string"))return F.enum(t);let o=t.map(s=>F.literal(s));return o.length<2?o[0]:F.union([o[0],o[1],...o.slice(2)])}if(n.const!==void 0)return F.literal(n.const);let r=n.type;if(Array.isArray(r)){let t=r.map(o=>{let s={...n,type:o};return Dv(s,e)});return t.length===0?F.never():t.length===1?t[0]:F.union(t)}if(!r)return F.any();let i;switch(r){case"string":{let t=F.string();if(n.format){let o=n.format;o==="email"?t=t.check(F.email()):o==="uri"||o==="uri-reference"?t=t.check(F.url()):o==="uuid"||o==="guid"?t=t.check(F.uuid()):o==="date-time"?t=t.check(F.iso.datetime()):o==="date"?t=t.check(F.iso.date()):o==="time"?t=t.check(F.iso.time()):o==="duration"?t=t.check(F.iso.duration()):o==="ipv4"?t=t.check(F.ipv4()):o==="ipv6"?t=t.check(F.ipv6()):o==="mac"?t=t.check(F.mac()):o==="cidr"?t=t.check(F.cidrv4()):o==="cidr-v6"?t=t.check(F.cidrv6()):o==="base64"?t=t.check(F.base64()):o==="base64url"?t=t.check(F.base64url()):o==="e164"?t=t.check(F.e164()):o==="jwt"?t=t.check(F.jwt()):o==="emoji"?t=t.check(F.emoji()):o==="nanoid"?t=t.check(F.nanoid()):o==="cuid"?t=t.check(F.cuid()):o==="cuid2"?t=t.check(F.cuid2()):o==="ulid"?t=t.check(F.ulid()):o==="xid"?t=t.check(F.xid()):o==="ksuid"&&(t=t.check(F.ksuid()))}typeof n.minLength=="number"&&(t=t.min(n.minLength)),typeof n.maxLength=="number"&&(t=t.max(n.maxLength)),n.pattern&&(t=t.regex(new RegExp(n.pattern))),i=t;break}case"number":case"integer":{let t=r==="integer"?F.number().int():F.number();typeof n.minimum=="number"&&(t=t.min(n.minimum)),typeof n.maximum=="number"&&(t=t.max(n.maximum)),typeof n.exclusiveMinimum=="number"?t=t.gt(n.exclusiveMinimum):n.exclusiveMinimum===!0&&typeof n.minimum=="number"&&(t=t.gt(n.minimum)),typeof n.exclusiveMaximum=="number"?t=t.lt(n.exclusiveMaximum):n.exclusiveMaximum===!0&&typeof n.maximum=="number"&&(t=t.lt(n.maximum)),typeof n.multipleOf=="number"&&(t=t.multipleOf(n.multipleOf)),i=t;break}case"boolean":{i=F.boolean();break}case"null":{i=F.null();break}case"object":{let t={},o=n.properties||{},s=new Set(n.required||[]);for(let[c,l]of Object.entries(o)){let u=we(l,e);t[c]=s.has(c)?u:u.optional()}if(n.propertyNames){let c=we(n.propertyNames,e),l=n.additionalProperties&&typeof n.additionalProperties=="object"?we(n.additionalProperties,e):F.any();if(Object.keys(t).length===0){i=F.record(c,l);break}let u=F.object(t).passthrough(),d=F.looseRecord(c,l);i=F.intersection(u,d);break}if(n.patternProperties){let c=n.patternProperties,l=Object.keys(c),u=[];for(let p of l){let f=we(c[p],e),m=F.string().regex(new RegExp(p));u.push(F.looseRecord(m,f))}let d=[];if(Object.keys(t).length>0&&d.push(F.object(t).passthrough()),d.push(...u),d.length===0)i=F.object({}).passthrough();else if(d.length===1)i=d[0];else{let p=F.intersection(d[0],d[1]);for(let f=2;f<d.length;f++)p=F.intersection(p,d[f]);i=p}break}let a=F.object(t);n.additionalProperties===!1?i=a.strict():typeof n.additionalProperties=="object"?i=a.catchall(we(n.additionalProperties,e)):i=a.passthrough();break}case"array":{let t=n.prefixItems,o=n.items;if(t&&Array.isArray(t)){let s=t.map(c=>we(c,e)),a=o&&typeof o=="object"&&!Array.isArray(o)?we(o,e):void 0;a?i=F.tuple(s).rest(a):i=F.tuple(s),typeof n.minItems=="number"&&(i=i.check(F.minLength(n.minItems))),typeof n.maxItems=="number"&&(i=i.check(F.maxLength(n.maxItems)))}else if(Array.isArray(o)){let s=o.map(c=>we(c,e)),a=n.additionalItems&&typeof n.additionalItems=="object"?we(n.additionalItems,e):void 0;a?i=F.tuple(s).rest(a):i=F.tuple(s),typeof n.minItems=="number"&&(i=i.check(F.minLength(n.minItems))),typeof n.maxItems=="number"&&(i=i.check(F.maxLength(n.maxItems)))}else if(o!==void 0){let s=we(o,e),a=F.array(s);typeof n.minItems=="number"&&(a=a.min(n.minItems)),typeof n.maxItems=="number"&&(a=a.max(n.maxItems)),i=a}else i=F.array(F.any());break}default:throw new Error(`Unsupported type: ${r}`)}return n.description&&(i=i.describe(n.description)),n.default!==void 0&&(i=i.default(n.default)),i}function we(n,e){if(typeof n=="boolean")return n?F.any():F.never();let r=Dv(n,e),i=n.type||n.enum!==void 0||n.const!==void 0;if(n.anyOf&&Array.isArray(n.anyOf)){let a=n.anyOf.map(l=>we(l,e)),c=F.union(a);r=i?F.intersection(r,c):c}if(n.oneOf&&Array.isArray(n.oneOf)){let a=n.oneOf.map(l=>we(l,e)),c=F.xor(a);r=i?F.intersection(r,c):c}if(n.allOf&&Array.isArray(n.allOf))if(n.allOf.length===0)r=i?r:F.any();else{let a=i?r:we(n.allOf[0],e),c=i?0:1;for(let l=c;l<n.allOf.length;l++)a=F.intersection(a,we(n.allOf[l],e));r=a}n.nullable===!0&&e.version==="openapi-3.0"&&(r=F.nullable(r)),n.readOnly===!0&&(r=F.readonly(r));let t={},o=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let a of o)a in n&&(t[a]=n[a]);let s=["contentEncoding","contentMediaType","contentSchema"];for(let a of s)a in n&&(t[a]=n[a]);for(let a of Object.keys(n))bw.has(a)||(t[a]=n[a]);return Object.keys(t).length>0&&e.registry.add(r,t),r}function Av(n,e){if(typeof n=="boolean")return n?F.any():F.never();let r=_w(n,e?.defaultTarget),i=n.$defs||n.definitions||{},t={version:r,defs:i,refs:new Map,processing:new Set,rootSchema:n,registry:e?.registry??$e};return we(n,t)}var Im={};He(Im,{bigint:()=>kw,boolean:()=>ww,date:()=>Ew,number:()=>$w,string:()=>Sw});function Sw(n){return Yu(sr,n)}function $w(n){return op(cr,n)}function ww(n){return dp(lr,n)}function kw(n){return fp(ur,n)}function Ew(n){return kp(ai,n)}fe(Zo());var lD=y.object({repoPath:y.string(),mode:y.enum(["init","tree","topography","scout","hologram","tools"]),subPath:y.string().optional(),maxDepth:y.number().int().min(ue.MIN_DEPTH).max(ue.MAX_DEPTH).optional()}),uD=y.object({repoPath:y.string(),mode:y.enum(["symbol","concept","symbol-fuzzy","config","path"]).default("symbol"),query:y.string().max(ue.MAX_QUERY_LENGTH).optional(),key:y.string().optional(),kind:y.enum(["Service","Image","Port","Env"]).optional(),limit:y.number().int().min(ue.MIN_LIMIT).max(ue.MAX_LIMIT).optional(),offset:y.number().int().min(0).optional(),compact:y.boolean().optional()}).refine(n=>!(n.mode==="concept"&&(!n.query||n.query.trim().length===0)),{message:"Concept search requires a non-empty query",path:["query"]}),pD=y.object({repoPath:y.string(),mode:y.enum(["symbol","file"]),filePath:y.string().optional(),detailLevel:y.enum(["structure","signatures","summaries","detailed"]).optional(),symbolName:y.string().optional(),context:y.enum(["definition","full"]).optional()}),dD=y.object({repoPath:y.string(),mode:y.enum(["impact","deps","flow","dead-code","circular-deps"]),filePath:y.string().optional(),symbolName:y.string().optional(),direction:y.enum(["imports","imported_by"]).optional(),depth:y.number().int().min(ue.MIN_DEPTH).max(ue.MAX_DEPTH).optional(),limit:y.number().int().min(ue.MIN_LIMIT).max(ue.MAX_LIMIT).optional(),includeTests:y.boolean().optional()}),mD=y.object({repoPath:y.string(),action:y.enum(["index","repair","trace"]),deep:y.boolean().optional(),sinceCommit:y.string().optional()}),fD=y.object({repoPath:y.string(),action:y.enum(["install","remove","status"]),enableAutoRefresh:y.boolean().optional(),enableSymbolHealing:y.boolean().optional()}),hD=y.object({action:y.enum(["list","link","fuse"]),repoPaths:y.array(y.string()).optional(),name:y.string().optional(),status:y.string().optional(),parentRepoPath:y.string().optional(),parentMissionId:y.number().optional(),childRepoPath:y.string().optional(),childMissionId:y.number().optional(),relationship:y.string().optional()});var Lv=[...Wh,...Bh];V();V();var Iw=$.child({module:"strategy-normalizer"}),$t=class{static normalize(e){if(!e)return{steps:[]};let r;if(typeof e=="string")try{r=JSON.parse(e)}catch(t){return Iw.warn({strategyInput:e,err:t},"Failed to parse strategy JSON"),{steps:[]}}else r=e;return{steps:this.normalizeSteps(r)}}static normalizeSteps(e){return Array.isArray(e)?e.map((r,i)=>typeof r=="string"?{id:`step-${i}`,description:r,status:"pending"}:typeof r=="object"&&r!==null?{id:r.id||`step-${i}`,description:r.description||r.content||r.name||`Step ${i+1}`,status:r.status||"pending",dependencies:r.dependencies||r.deps,verification:r.verification,...r}:{id:`step-${i}`,description:String(r),status:"pending"}):e.steps&&Array.isArray(e.steps)?this.normalizeSteps(e.steps):typeof e=="object"?Object.entries(e).map(([r,i],t)=>typeof i=="string"?{id:r,description:i,status:"pending"}:typeof i=="object"&&i!==null?{id:r,description:i.description||i.content||i.name||r,status:i.status||"pending",dependencies:i.dependencies||i.deps,verification:i.verification,...i}:{id:r||`step-${t}`,description:String(i),status:"pending"}):[]}static stringify(e){return JSON.stringify(e,null,2)}static validate(e){let r=[];if(!e)return{valid:!0,errors:[]};try{let i=this.normalize(e),t=new Set;for(let o of i.steps)if(t.has(o.id)&&r.push(`Duplicate step ID: ${o.id}`),t.add(o.id),o.dependencies)for(let s of o.dependencies)t.has(s)||r.push(`Step "${o.id}" depends on non-existent step "${s}"`);return{valid:r.length===0,errors:r}}catch(i){return r.push(`Strategy validation failed: ${i instanceof Error?i.message:String(i)}`),{valid:!1,errors:r}}}};V();import Tm from"fs";import Ov from"path";import Tw from"os";var Rw=[{id:"step-0",description:"Analyze impact: identify dependents and call sites",status:"pending"},{id:"step-1",description:"Implement refactor and update call sites",status:"pending"},{id:"step-2",description:"Run tests and verify behavior; update docs if needed",status:"pending"}],Pw=[{id:"step-0",description:"Capture requirements and acceptance criteria",status:"pending"},{id:"step-1",description:"Implement feature with tests",status:"pending"},{id:"step-2",description:"Integrate and verify end-to-end",status:"pending"}],Nw=[{id:"step-0",description:"Reproduce the bug and document steps",status:"pending"},{id:"step-1",description:"Diagnose root cause and plan fix",status:"pending"},{id:"step-2",description:"Apply fix and add/update regression test",status:"pending"},{id:"step-3",description:"Verify fix and run full test suite",status:"pending"}],Cv=[{id:"refactoring",name:"Refactoring",description:"Impact analysis \u2192 implementation \u2192 verification",defaultGoal:"Refactor {{target}} safely with full impact analysis and verification.",steps:Rw},{id:"feature",name:"Feature",description:"Requirements \u2192 implementation \u2192 testing",defaultGoal:"Implement {{target}} with clear requirements and end-to-end verification.",steps:Pw},{id:"bug-fix",name:"Bug fix",description:"Reproduction \u2192 diagnosis \u2192 fix \u2192 regression test",defaultGoal:"Fix {{target}}: reproduce, diagnose, fix, and add regression test.",steps:Nw}],ra=new Map(Cv.map(n=>[n.id,n])),na=!1;function Mv(){if(na)return;let n=Ov.join(Tw.homedir(),".shadow","templates");if(!Tm.existsSync(n)){$.debug({templatesDir:n},"Custom templates directory does not exist"),na=!0;return}try{let e=Tm.readdirSync(n).filter(r=>r.endsWith(".json"));for(let r of e)try{let i=Ov.join(n,r),t=Tm.readFileSync(i,"utf8"),o=JSON.parse(t);if(!o.id||!o.name||!o.defaultGoal||!o.steps){$.warn({file:r,template:o},"Invalid custom template structure - skipping");continue}if(!Array.isArray(o.steps)||o.steps.length===0){$.warn({file:r},"Template has no steps - skipping");continue}if(Cv.some(s=>s.id===o.id)){$.warn({file:r,templateId:o.id},"Custom template ID conflicts with built-in - skipping");continue}ra.set(o.id,o),$.info({file:r,templateId:o.id},"Loaded custom template")}catch(i){$.warn({file:r,error:i},"Failed to load custom template")}na=!0}catch(e){$.warn({error:e,templatesDir:n},"Failed to read custom templates directory"),na=!0}}function zw(){return Mv(),Array.from(ra.values())}function jv(n){return Mv(),ra.get(n)}function Dw(n,e){let r=n;for(let[i,t]of Object.entries(e))r=r.replace(new RegExp(`\\{\\{${i}\\}\\}`,"g"),t);return r}function Rm(n,e,r={}){let i=jv(n);if(!i)throw new Error(`Unknown template: ${n}. Use one of: ${Array.from(ra.keys()).join(", ")}`);let t=r.target||"scope",o=e||(n==="refactoring"?`Refactor ${t}`:n==="feature"?`Feature: ${t}`:`Fix: ${t}`),s=Dw(i.defaultGoal,{...r,target:t}),a=$t.normalize({steps:i.steps}),c=$t.stringify(a);return{name:o,goal:s,strategy:c}}Q();Q();import{execSync as pr}from"child_process";var mi=class{constructor(e,r="refs/notes/shadow"){this.repoPath=e;this.ref=r}addNote(e,r){try{pr(`git notes --ref ${this.ref} add -f -m '${r.replace(/'/g,"'\\''")}' ${e}`,{cwd:this.repoPath,stdio:["ignore","pipe","ignore"],encoding:"utf8"})}catch(i){throw new Error(`Failed to add git note to ${e}: ${i.message}`)}}getNote(e){try{return pr(`git notes --ref ${this.ref} show ${e}`,{cwd:this.repoPath,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim()}catch{return null}}listNotes(){let e=new Map;try{let r=pr(`git notes --ref ${this.ref} list`,{cwd:this.repoPath,stdio:["ignore","pipe","ignore"],encoding:"utf8"}).trim();if(!r)return e;let i=r.split(`
|
|
718
|
+
`);for(let t of i){let[o,s]=t.split(" ");if(s){let a=this.getNote(s);a&&e.set(s,a)}}}catch{}return e}removeNote(e){try{pr(`git notes --ref ${this.ref} remove ${e}`,{cwd:this.repoPath,stdio:["ignore","pipe","ignore"],encoding:"utf8"})}catch{}}push(e="origin"){try{pr(`git push ${e} ${this.ref}`,{cwd:this.repoPath,stdio:["ignore","pipe","ignore"],encoding:"utf8"})}catch(r){throw new Error(`Failed to push git notes to ${e}: ${r.message}`)}}fetch(e="origin"){try{pr(`git fetch ${e} ${this.ref}:${this.ref}`,{cwd:this.repoPath,stdio:["ignore","pipe","ignore"],encoding:"utf8"})}catch{}}};V();var dr=$.child({module:"persistence-service"}),qe=class{gitNotes;repoPath;constructor(e){this.repoPath=e,this.gitNotes=new mi(e)}async syncMissionToGitNotes(e){let{missions:r,intentLogs:i}=C.getInstance(this.repoPath),t=r.findById(e);if(!t)throw new Error(`Mission ${e} not found`);if(!t.commit_sha){dr.warn({missionId:e},"Cannot sync mission without commit_sha");return}dr.info({missionId:e,commitSha:t.commit_sha},"Syncing mission to Git Notes");let o=r.getArtifacts(e),s=i.findByMission(e,1e3),a=s.find(u=>u.type==="adr"),c=s.filter(u=>u.type==="decision").map(u=>({content:u.content,symbol_name:u.symbol_name,created_at:u.created_at})),l={version:"1.0",mission:{name:t.name,goal:t.goal,status:t.status,strategy_graph:t.strategy_graph,git_branch:t.git_branch,commit_sha:t.commit_sha,parent_id:t.parent_id,verification_context:t.verification_context,outcome_contract:t.outcome_contract,created_at:t.created_at,updated_at:t.updated_at},artifacts:o,adr:a?a.content:null,decisions:c};this.gitNotes.addNote(t.commit_sha,JSON.stringify(l,null,2))}async syncAllToGitNotes(){let{missions:e}=C.getInstance(this.repoPath),r=e.findActive(),i=e.findRecentCompleted(10),t=[...r,...i];for(let o of t)try{await this.syncMissionToGitNotes(o.id)}catch(s){dr.error({missionId:o.id,error:s},"Failed to sync mission")}}async recoverFromGitNotes(){let e=this.gitNotes.listNotes(),{missions:r,intentLogs:i}=C.getInstance(this.repoPath),t=0,o=0;for(let[s,a]of e.entries())try{let c=JSON.parse(a);if(c.version!=="1.0")continue;if(r.findByCommitShas([s]).some(p=>p.name===c.mission.name)){dr.debug({commitSha:s,missionName:c.mission.name},"Mission already exists, skipping recovery");continue}let d=r.create({name:c.mission.name,goal:c.mission.goal,status:c.mission.status,strategy_graph:c.mission.strategy_graph,git_branch:c.mission.git_branch,commit_sha:s,parent_id:c.mission.parent_id,verification_context:c.mission.verification_context,outcome_contract:c.mission.outcome_contract});if(t++,c.adr&&(i.create({mission_id:Number(d),symbol_id:null,file_path:null,type:"adr",content:c.adr,confidence:1,symbol_name:null,signature:null,commit_sha:s}),o++),c.decisions&&c.decisions.length>0)for(let p of c.decisions)i.create({mission_id:Number(d),symbol_id:null,file_path:null,type:"decision",content:p.content,confidence:1,symbol_name:p.symbol_name,signature:null,commit_sha:s}),o++;dr.info({commitSha:s,missionName:c.mission.name,logsRecovered:o},"Re-hydrated mission from Git Notes")}catch(c){dr.error({commitSha:s,error:c},"Failed to parse Git Note for recovery")}return{missionsRecovered:t,logsRecovered:o}}};var ia=$.child({module:"mcp:tools:ops:plan"});async function Uv(n){let{repoPath:e,name:r,goal:i,strategy:t,missionId:o,parentId:s,outcomeContract:a,templateId:c,templateVars:l}=n,{missions:u}=C.getInstance(e),d=_e(e),p=Ge(e);ia.info({repoPath:e,name:r,missionId:o,templateId:c},"Planning mission");try{let f=r,m=i,h=t;if(c){let _=Rm(c,r,l||{});f=f??_.name,m=m??_.goal,h=h??_.strategy}if(!f||!m)throw new Error("Mission requires name and goal (or templateId with optional templateVars).");let b=null;if(h){let _=$t.normalize(h);b=$t.stringify(_);let x=$t.validate(b);x.valid||ia.warn({errors:x.errors,strategy:h},"Strategy validation warnings detected")}let v,g;o?(u.update(o,{name:f,goal:m,strategy_graph:b,commit_sha:p,parent_id:s!==void 0?s:void 0,outcome_contract:a}),v=o,g=`Mission "${f}" updated.`):(v=u.create({name:f,goal:m,strategy_graph:b,status:"planned",git_branch:d,commit_sha:p,parent_id:s||null,verification_context:null,outcome_contract:a||null}),g=`Mission "${f}" planned.`);try{await new qe(e).syncMissionToGitNotes(Number(v))}catch(_){ia.warn({syncError:_,missionId:v},"Git Notes sync deferred")}return{content:[{type:"text",text:JSON.stringify({missionId:v,status:"planned",message:g,strategy_saved:!!h,contract_saved:!!a,from_template:c??void 0,commit:p},null,2)}]}}catch(f){throw ia.error({error:f,repoPath:e},"Failed to plan mission"),new Error(`Failed to plan mission: ${f instanceof Error?f.message:String(f)}`)}}V();Q();Q();V();V();var Aw=$.child({module:"reasoning-engine"}),gn=class{analyze(e){Aw.debug({logCount:e.length},"Performing reasoning pass over intent logs");let r={context:[],decisions:[],consequences:[],recommendations:[],unclassified:[]};for(let i of e){let t=i.content.toLowerCase(),o=this.matchesContext(t,i.type),s=this.matchesDecision(t,i.type),a=this.matchesConsequence(t,i.type),c=this.matchesRecommendation(t,i.type);o?r.context.push(i.content):s?r.decisions.push(i.content):c?r.recommendations.push(i.content):a?r.consequences.push(i.content):i.type==="decision"?r.decisions.push(i.content):i.type==="discovery"||i.type==="fix"?r.consequences.push(i.content):r.unclassified.push(i.content)}return r}matchesContext(e,r){return["because","since","given","due to","context: ","problem: ","situation:"].some(t=>e.includes(t))||r==="blocker"}matchesDecision(e,r){return["decided","chose","implemented","integrated","using","selected","strategy:"].some(t=>e.includes(t))||r==="decision"}matchesConsequence(e,r){return["results in","enables","allows","impact: ","consequence: ","next steps: ","meaning"].some(t=>e.includes(t))||r==="fix"}matchesRecommendation(e,r){return["should","recommend","suggest","next work","future","consider","strategy advice"].some(t=>e.includes(t))}};var oa=$.child({module:"briefing-engine"}),mt=class{intentLogs;missions;reasoningEngine;persistencePivot;constructor(e){let{intentLogs:r,missions:i}=C.getInstance(e);this.intentLogs=r,this.missions=i,this.reasoningEngine=new gn,this.persistencePivot=new qe(e)}async distillMission(e,r=!0){oa.info({missionId:e},"Synthesizing mission intelligence into Tactical Briefing...");let i=this.gatherConsolidatedLogs(e);if(i.length===0)return{missionId:e,adr:"No intent logs found for this mission.",metrics:{totalLogs:0,symbolCount:0}};let t=this.reasoningEngine.analyze(i),o=new Set(i.map(a=>a.symbol_name).filter(Boolean)),s=`# Architectural Decision Record: Mission #${e}
|
|
719
|
+
|
|
720
|
+
`;if(s+=`## Summary of Intent
|
|
721
|
+
`,s+=`Collected ${i.length} intent events across ${o.size} symbols.
|
|
722
|
+
|
|
723
|
+
`,t.context.length>0&&(s+=`### Context
|
|
724
|
+
`,t.context.forEach(a=>{s+=`- ${a}
|
|
725
|
+
`}),s+=`
|
|
726
|
+
`),t.decisions.length>0&&(s+=`### Key Decisions
|
|
727
|
+
`,t.decisions.forEach(a=>{s+=`- ${a}
|
|
728
|
+
`}),s+=`
|
|
729
|
+
`),t.consequences.length>0&&(s+=`### Consequences & Evolutions
|
|
730
|
+
`,t.consequences.forEach(a=>{s+=`- ${a}
|
|
731
|
+
`}),s+=`
|
|
732
|
+
`),t.recommendations.length>0&&(s+=`### Strategic Recommendations
|
|
733
|
+
`,t.recommendations.forEach(a=>{s+=`- ${a}
|
|
734
|
+
`}),s+=`
|
|
735
|
+
`),t.unclassified.length>0&&(s+=`### Additional Notes
|
|
736
|
+
`,t.unclassified.forEach(a=>{s+=`- ${a}
|
|
737
|
+
`}),s+=`
|
|
738
|
+
`),s+=`
|
|
739
|
+
---
|
|
740
|
+
*Generated by Liquid Shadow Reasoning Engine v1*`,r){this.intentLogs.create({mission_id:e,type:"adr",content:s,confidence:1,symbol_id:null,file_path:null,symbol_name:null,signature:null,commit_sha:null});try{await this.persistencePivot.syncMissionToGitNotes(e),oa.info({missionId:e},"Tactical Briefing synthesized, archived, and synced to Git Notes.")}catch(a){oa.error({missionId:e,error:a},"Failed to sync ADR to Git Notes")}}else oa.info({missionId:e},"Tactical Briefing synthesized (dry-run).");return{missionId:e,adr:s,metrics:{totalLogs:i.length,symbolCount:o.size}}}gatherConsolidatedLogs(e,r=0){let i=this.intentLogs.findByMissionPreferCrystal(e,500);if(r>2)return i;let t=this.missions.findByParentId(e);for(let o of t)i.push(...this.gatherConsolidatedLogs(o.id,r+1));return i.filter(o=>o.type!=="adr"&&o.type!=="system")}};V();import{Visitor as Lw}from"@swc/core/Visitor.js";import*as Fv from"@swc/core";var Ow=$.child({module:"verification-engine"}),Pm=class extends Lw{foundUsage=!1;foundImport=!1;rule;currentFunctionName=null;constructor(e){super(),this.rule=e}visitImportDeclaration(e){return this.rule.type==="import"&&e.source.value===this.rule.target&&(this.foundImport=!0),super.visitImportDeclaration(e)}visitFunctionDeclaration(e){let r=this.currentFunctionName;this.currentFunctionName=e.identifier.value;let i=super.visitFunctionDeclaration(e);return this.currentFunctionName=r,i}visitCallExpression(e){return this.rule.type==="usage"&&e.callee.type==="Identifier"&&e.callee.value===this.rule.target&&(!this.rule.context||this.currentFunctionName===this.rule.context)&&(this.foundUsage=!0),super.visitCallExpression(e)}},sa=class{async verify(e,r){try{let i=await Fv.parse(e,{syntax:"typescript",tsx:!0,comments:!1}),t=new Pm(r);t.visitProgram(i);let o=!1,s=[];if(r.type==="import")o=t.foundImport,o||s.push(`Required import "${r.target}" not found.`);else if(r.type==="usage"){if(o=t.foundUsage,!o){let a=r.context?` in function "${r.context}"`:"";s.push(`Required usage of "${r.target}"${a} not found.`)}}else r.type==="pattern"&&(o=new RegExp(r.target).test(e),o||s.push(`Required pattern "${r.target}" not found.`));return{passed:o,errors:s}}catch(i){return Ow.error({error:i},"Verification failed due to parse error"),{passed:!1,errors:[`Parse error: ${i.message}`]}}}};import Zv from"path";import aa from"fs";var Ke=$.child({module:"mcp:tools:ops:track"});async function Hv(n,e,r){let{missions:i,intentLogs:t}=C.getInstance(n),o=i.findById(e);if(!o?.parent_id)return;let s=i.findByParentId(o.parent_id);if(!s.every(l=>l.status==="completed"))return;let c=i.findById(o.parent_id);if(!(!c||c.status==="completed")){Ke.info({parentId:c.id,childCount:s.length},"All children completed \u2014 cascading parent completion"),i.updateStatus(c.id,"completed",r||void 0),i.clearWorkingSet(c.id),t.create({mission_id:c.id,type:"system",content:`Parent auto-completed: all ${s.length} child missions finished`,confidence:1,symbol_id:null,file_path:null,symbol_name:null,signature:null,commit_sha:r});try{await new mt(n).distillMission(c.id),Ke.info({parentId:c.id},"Parent Auto-Synthesis completed")}catch(l){Ke.warn({synthesisError:l,parentId:c.id},"Parent Auto-Synthesis deferred")}try{await new qe(n).syncMissionToGitNotes(c.id)}catch(l){Ke.warn({syncError:l,parentId:c.id},"Parent Git Notes sync deferred")}await Hv(n,c.id,r)}}async function Wv(n){let{repoPath:e,missionId:r,stepId:i,status:t,contextPivot:o,updates:s,artifacts:a}=n,{missions:c,intentLogs:l}=C.getInstance(e),u=Ge(e);Ke.info({repoPath:e,missionId:r,singleStep:i,batchCount:s?.length,artifactCount:a?.length},"Updating mission status");try{if(a&&Array.isArray(a))for(let f of a)c.addArtifact(r,f.type,f.identifier,f.metadata);let d=[];if(s&&Array.isArray(s)&&d.push(...s),i&&t&&d.push({stepId:i,status:t,contextPivot:o}),t&&!i){if(c.updateStatus(r,t,u||void 0),t==="completed"&&c.clearWorkingSet(r),l.create({mission_id:r,type:"system",content:`Mission status changed to "${t}"`,confidence:1,symbol_id:null,file_path:null,symbol_name:null,signature:null,commit_sha:u}),t==="completed"){try{await new mt(e).distillMission(r),Ke.info({missionId:r},"Auto-Synthesis completed successfully")}catch(f){Ke.warn({synthesisError:f,missionId:r},"Auto-Synthesis deferred or failed")}await Hv(e,r,u)}if(!d.length)return{content:[{type:"text",text:JSON.stringify({missionId:r,status:t,message:"Mission status updated successfully.",artifacts_added:a?.length||0,commit:u},null,2)}]}}if(d.length===0&&(!a||a.length===0))throw new Error("No updates provided. Must specify either 'updates', 'stepId'/'status', 'status' (top-level), or 'artifacts'.");let p=[];for(let f of d){let{stepId:m,status:h,contextPivot:b}=f,v=c.findById(r);if(!v)throw new Error(`Mission ID ${r} not found`);let g=JSON.parse(v.strategy_graph||"{}"),_=null;if(Array.isArray(g)?_=g.find(x=>x.id===m):g.nodes&&Array.isArray(g.nodes)?_=g.nodes.find(x=>x.id===m):g.steps?Array.isArray(g.steps)?_=g.steps.find(x=>x.id===m):_=g.steps[m]:g[m]&&(_=g[m]),!_)throw new Error(`Step ID "${m}" not found`);if(h==="completed"&&_.verification){let x=new sa,k=Array.isArray(_.verification)?_.verification:[_.verification];for(let S of k){let P=S;if(typeof S=="string"&&(P={type:"pattern",target:S}),!P||!P.target){Ke.warn({rule:S},"Skipping invalid verification rule (missing target)");continue}let R=P.filePath;if(R&&!Zv.isAbsolute(R)&&(R=Zv.join(e,R)),R){if(!aa.existsSync(R))throw new Error(`Verification failed: File not found at ${R}`);let U=await x.verify(aa.readFileSync(R,"utf8"),P);if(!U.passed)throw new Error(`Verification failed: ${U.errors.join("")}`)}else{let U=c.getWorkingSet(r),E=!1;U.length===0&&Ke.warn("No working set files to verify against for rule");for(let I of U){if(!aa.existsSync(I.file_path))continue;if((await x.verify(aa.readFileSync(I.file_path,"utf8"),P)).passed){E=!0;break}}if(!E)throw new Error(`Verification failed: Rule "${P.target}" not satisfied in any working set file.`)}}}if(_.status=h,c.update(r,{strategy_graph:JSON.stringify(g),commit_sha:u}),l.create({mission_id:r,type:"system",content:`Step "${m}" updated to "${h}"`,confidence:1,symbol_id:null,file_path:null,symbol_name:null,signature:null,commit_sha:u}),b)try{let x=JSON.parse(b);if(c.clearWorkingSet(r),x.files&&Array.isArray(x.files))for(let k of x.files)c.addToWorkingSet(r,k)}catch(x){Ke.warn({error:x},"Failed to apply context pivot")}p.push({stepId:m,status:h})}try{await new qe(e).syncMissionToGitNotes(r)}catch(f){Ke.warn({syncError:f,missionId:r},"Git Notes sync deferred")}return{content:[{type:"text",text:JSON.stringify({missionId:r,updates:p,artifacts_added:a?.length||0,message:"Status updated",commit:u},null,2)}]}}catch(d){throw Ke.error({error:d,repoPath:e},"Failed to update status"),new Error(`Failed to update status: ${d instanceof Error?d.message:String(d)}`)}}V();var Bv=$.child({module:"mcp:tools:ops:briefing"});async function ca(n){let{repoPath:e,scope:r="mission"}=n;Bv.info({repoPath:e,missionId:n.missionId,scope:r},"Generating briefing");try{let t=await new an(e).getBriefing(n);if(!t&&r==="mission")return{content:[{type:"text",text:"No active missions found. Ready for new assignment."}]};let o;if(r==="project"){let s=t.counts;o=t.next_work_candidates.length===0&&s.active===0?{tool:"shadow_ops_plan",reason:"No open work; create a mission"}:{tool:"shadow_ops_track",reason:"Select a mission from hierarchy or next_work_candidates to execute"}}return{content:[{type:"text",text:JSON.stringify(t,null,2)}],suggestedNext:o}}catch(i){throw Bv.error({error:i,repoPath:e},"Failed to generate briefing"),new Error(`Failed to generate briefing: ${i instanceof Error?i.message:String(i)}`)}}Q();V();var Gv=$.child({module:"mcp:tools:ops:synthesize"});async function Jv(n){let{repoPath:e,missionId:r}=n;Gv.info({repoPath:e,missionId:r},"Synthesizing mission");let{missions:i}=C.getInstance(e);try{if(!i.findById(r))throw new Error(`Mission ${r} not found`);let s=await new mt(e).distillMission(r);return{content:[{type:"text",text:JSON.stringify({missionId:r,adr:s.adr,metrics:s.metrics},null,2)}]}}catch(t){throw Gv.error({error:t,repoPath:e},"Failed to synthesize ADR"),new Error(`Failed to synthesize ADR: ${t instanceof Error?t.message:String(t)}`)}}V();Q();V();var Cw=$.child({module:"narrative-service"}),yn=class{missions;briefingEngine;repoPath;constructor(e){this.repoPath=e;let{missions:r}=C.getInstance(e);this.missions=r,this.briefingEngine=new mt(e)}async generateChronicle(e={}){Cw.info(e,"Generating Repo Chronicle...");let i=this.missions.findAll().filter(l=>l.parent_id===null&&l.status!=="planned");e.since&&(i=i.filter(l=>l.updated_at>=e.since)),e.until&&(i=i.filter(l=>l.updated_at<=e.until)),i.sort((l,u)=>u.updated_at-l.updated_at);let t=e.offset||0,o=e.limit||10;i=i.slice(t,t+o);let s=[],a=[],c=[];for(let l of i){let u=this.missions.findByParentId(l.id),d=u.length>0,p=await this.briefingEngine.distillMission(l.id,!1);if(d){let f=[];for(let h of u)f.push(await this.mapMissionToEpisode(h));f.unshift(await this.mapMissionToEpisode(l));let m={kind:"initiative",root_mission_id:l.id,title:l.name,strategy_graph:l.strategy_graph?JSON.parse(l.strategy_graph):{},episodes:e.compact?[]:f,synthesized_narrative:e.compact?this.truncateText(p.adr):p.adr||""};s.push(m),c.push(m)}else{let f=await this.mapMissionToEpisode(l,p.adr,e.compact);a.push(f),c.push(f)}}return{repo_path:this.repoPath,generated_at:Date.now(),initiatives:s,unattached_episodes:a,timeline:c}}async mapMissionToEpisode(e,r,i=!1){let t=r;return t||(t=(await this.briefingEngine.distillMission(e.id,!1)).adr),{kind:"episode",mission_id:e.id,title:e.name,goal:e.goal,outcome:e.outcome_contract,intents:[],adr_summary:i?this.truncateText(t):t}}truncateText(e,r=300){return e?e.length<=r?e:e.slice(0,r)+"... (truncated)":""}renderChronicleMarkdown(e){let r=`# Repository Chronicle
|
|
741
|
+
|
|
742
|
+
`;if(r+=`*Generated at ${new Date(e.generated_at).toISOString()}*
|
|
743
|
+
|
|
744
|
+
`,e.timeline&&e.timeline.length>0)for(let i of e.timeline)i.kind==="initiative"?(r+=`### \u{1F9EC} ${i.title} (Mission #${i.root_mission_id})
|
|
745
|
+
`,r+=`${i.synthesized_narrative}
|
|
746
|
+
|
|
747
|
+
`):(r+=`### \u269B\uFE0F ${i.title} (Mission #${i.mission_id})
|
|
748
|
+
`,r+=`${i.adr_summary}
|
|
749
|
+
|
|
750
|
+
`),r+=`---
|
|
751
|
+
`;return r}};var Vv=$.child({module:"mcp:tools:ops:chronicle"});async function qv(n){let{repoPath:e,format:r="markdown",...i}=n,t=new yn(e);Vv.info({repoPath:e,format:r,filters:i},"Generating Chronicle");try{let o=await t.generateChronicle(i),s={tool:"shadow_ops_briefing",reason:"Current backlog and next work"};return r==="json"?{content:[{type:"text",text:JSON.stringify(o,null,2)}],suggestedNext:s}:{content:[{type:"text",text:t.renderChronicleMarkdown(o)}],suggestedNext:s}}catch(o){throw Vv.error({error:o,repoPath:e},"Failed to generate chronicle"),new Error(`Failed to generate chronicle: ${o instanceof Error?o.message:String(o)}`)}}Me();async function Kv(n){let{repoPath:e,compact:r=!0}=n,t=new oe(e).getSnapshot();r&&t.gravity?.hotspots&&(t={...t,gravity:{...t.gravity,hotspots:t.gravity.hotspots.slice(0,10),_truncated:t.gravity.hotspots.length>10,_totalHotspots:t.gravity.hotspots.length}});let a={...await new yn(e).generateChronicle({limit:5,compact:r}),initiatives:[],unattached_episodes:[]},l=(await ca({repoPath:e,scope:"project",altitude:r?"orbit":"atmosphere",compact:r,activeMissionsLimit:r?10:void 0,recentActivityLimit:r?5:10})).content?.[0],u=l&&l.type==="text"?l.text:"{}",d={};try{d=JSON.parse(u)}catch{}let p={counts:d.counts,next_work_candidates:d.next_work_candidates??[],active_count:Array.isArray(d.active_missions)?d.active_missions.length:0};return{content:[{type:"text",text:JSON.stringify({hologram:t,chronicle:a,briefing:p},null,2)}],suggestedNext:{tool:p.next_work_candidates.length>0?"shadow_ops_track":"shadow_ops_plan",reason:p.next_work_candidates.length>0?"Pick one from next_work_candidates and run /continue":"No open work; create a mission"}}}V();It();import Nm from"path";var Yv=$.child({module:"mcp:tools:ops:health"});async function Xv(n){let e=n.repoPath,r=Nm.isAbsolute(e)?Nm.normalize(e):Nm.resolve(process.cwd(),e);Yv.info({repoPath:r},"Health check");let i=!1,t=!1;try{ze(r),i=!0,t=Xe(r)}catch(c){Yv.debug({repoPath:r,error:c},"Health: DB check failed")}let o=rc(),s={status:i?t?"ready":"index_pending":"db_unavailable",database:i,indexed:t,metrics:{index:o.index,query:o.query,uptimeMs:o.uptimeMs}},a=t?{tool:"shadow_recon_hologram",reason:"Architecture overview"}:{tool:"shadow_recon_onboard",reason:"Index the repo first"};return{content:[{type:"text",text:JSON.stringify(s,null,2)}],suggestedNext:a}}Q();V();var fi=$.child({module:"mcp:tools:ops:log"});async function Qv(n){let{repoPath:e,missionId:r,type:i,content:t,filePath:o,symbolName:s,standalone:a}=n;fi.info({repoPath:e,type:i,symbolName:s,standalone:a},"Logging intent");let{missions:c,exports:l,intentLogs:u}=C.getInstance(e);try{let d=r??null;if(a){if(!s)throw new Error('Standalone intent logs must be anchored to a symbol. Please provide "symbolName".');d=null}else if(d){if(!c.findById(d))throw new Error(`Mission ${d} not found. Use shadow_ops_briefing to see available missions.`)}else{let b=c.findActive();b.length>0?(d=b.find(v=>v.status==="in-progress")?.id||b[0].id,fi.debug({missionId:d},"Auto-resolved to active mission")):(d=null,fi.debug("No active mission found, logging as system/unlinked intent"))}let p=null,f=null,m=s||null;if(s){let v=(o?l.findByNameAndFile(s,o):l.findByName(s))[0];v?(p=v.id,f=v.signature,m=v.name):fi.warn({symbolName:s,filePath:o},"Symbol not found for intent linking")}let h=u.create({mission_id:d,symbol_id:p,file_path:o||null,type:i,content:t,confidence:1,symbol_name:m,signature:f,commit_sha:null});return{content:[{type:"text",text:JSON.stringify({logId:h,missionId:d,symbolId:p,status:"logged",message:p?`Intent linked to symbol "${s}"`:"Intent logged (unlinked)"},null,2)}]}}catch(d){throw fi.error({error:d,repoPath:e},"Failed to log intent"),new Error(`Failed to log intent: ${d instanceof Error?d.message:String(d)}`)}}V();var nb=$.child({module:"mcp:tools:ops:graph"});async function rb(n){let{repoPath:e,missionId:r,depth:i,limit:t,format:o="mermaid"}=n;nb.info({repoPath:e,missionId:r,format:o},"Generating mission graph");try{let{GraphExporterService:s}=await Promise.resolve().then(()=>(zm(),tb));return{content:[{type:"text",text:await new s(e).generateGraph({includeCompleted:!0,format:o,focusMissionId:r,depth:i,limit:t})}]}}catch(s){throw nb.error({error:s,repoPath:e},"Failed to generate mission graph"),new Error(`Failed to generate mission graph: ${s.message}`)}}Q();V();var ib=$.child({module:"mcp:tools:ops:crystallize"});async function ob(n){let{repoPath:e,missionId:r,symbolId:i}=n;ib.info({repoPath:e,missionId:r,symbolId:i},"Crystallizing logs");let{intentLogs:t,missions:o,exports:s}=C.getInstance(e);if(typeof r=="number"){let a=o.findById(r);if(!a)throw new Error(`Mission ${r} not found`);let c=t.findRawByMission(r);if(c.length===0){let h=t.findCrystalByMission(r);return{content:[{type:"text",text:JSON.stringify({missionId:r,status:h?"already_crystallized":"no_logs",message:h?"Mission already has a crystal with no new raw logs to absorb.":"No raw intent logs found for this mission.",crystalId:h?.id??null},null,2)}]}}let u=new gn().analyze(c),d=new Set(c.map(h=>h.symbol_name).filter(Boolean)),p=new Set(c.map(h=>h.type)),f=`[Crystal] Mission #${r}: ${a.name}
|
|
752
|
+
`;f+=`Compressed ${c.length} logs across ${d.size} symbols.
|
|
753
|
+
`,f+=`Types: ${[...p].join(", ")}
|
|
754
|
+
|
|
755
|
+
`,u.decisions.length>0&&(f+=`Decisions: ${u.decisions.join(" | ")}
|
|
756
|
+
`),u.context.length>0&&(f+=`Context: ${u.context.join(" | ")}
|
|
757
|
+
`),u.consequences.length>0&&(f+=`Consequences: ${u.consequences.join(" | ")}
|
|
758
|
+
`),u.recommendations.length>0&&(f+=`Recommendations: ${u.recommendations.join(" | ")}
|
|
759
|
+
`);let m=t.crystallize(r,f.trim());return ib.info({missionId:r,crystalId:m,absorbed:c.length},"Crystallization complete"),{content:[{type:"text",text:JSON.stringify({missionId:r,crystalId:m,absorbed:c.length,symbolsCompressed:d.size,status:"crystallized"},null,2)}]}}if(typeof i=="number"){let a=s.findHydratedById(i);if(!s.findById(i))throw new Error(`Symbol ${i} not found in index`);let l=t.findRawBySymbol(i);if(l.length===0)return{content:[{type:"text",text:JSON.stringify({symbolId:i,status:"no_logs",message:"No raw standalone intent logs found for this symbol."},null,2)}]};let d=new gn().analyze(l),p=new Set(l.map(h=>h.type)),f=`[Crystal] Symbol #${i}: ${a?.name||"Unknown"}
|
|
760
|
+
`;f+=`Compressed ${l.length} standalone insights.
|
|
761
|
+
`,f+=`Types: ${[...p].join(", ")}
|
|
762
|
+
|
|
763
|
+
`,d.decisions.length>0&&(f+=`Decisions: ${d.decisions.join(" | ")}
|
|
764
|
+
`),d.context.length>0&&(f+=`Context: ${d.context.join(" | ")}
|
|
765
|
+
`);let m=t.crystallizeBySymbol(i,f.trim());return{content:[{type:"text",text:JSON.stringify({symbolId:i,crystalId:m,absorbed:l.length,status:"crystallized"},null,2)}]}}throw new Error("Must provide either missionId or symbolId to crystallize.")}V();Q();import ua from"path";var Mw=$.child({module:"mcp:tools:ops:working-set-check"});async function sb(n){let{repoPath:e,filePaths:r}=n,{missions:i}=C.getInstance(e),t=i.findActive(),o=[];for(let s of t){let a=i.getWorkingSet(s.id);for(let c of a)if(r.includes(c.file_path))o.push({file_path:c.file_path,mission_id:s.id,mission_name:s.name});else{let l=ua.isAbsolute(c.file_path)?c.file_path:ua.join(e,c.file_path);for(let u of r){let d=ua.isAbsolute(u)?u:ua.join(e,u);if(l===d){o.push({file_path:c.file_path,mission_id:s.id,mission_name:s.name});break}}}}return Mw.info({repoPath:e,conflictsCount:o.length},"Working set check completed"),{content:[{type:"text",text:JSON.stringify({conflicts:o},null,2)}]}}import Ze from"path";import Am from"fs";V();import ve from"path";import Dm from"fs";var pa=$.child({module:"path-resolver"}),mr=class{repoPath;constructor(e){this.repoPath=ve.isAbsolute(e)?ve.normalize(e):ve.resolve(process.cwd(),e)}resolve(e){if(!e)return this.repoPath;if(e.includes("\0"))throw pa.error({inputPath:e},"Path contains null bytes - possible attack"),new Error("Invalid path: contains null bytes");let r;if(ve.isAbsolute(e)?r=ve.normalize(e):r=ve.join(this.repoPath,e),r=ve.normalize(r),!this.isWithinRoot(r))throw pa.warn({inputPath:e,resolved:r},"Path traversal attempt blocked"),new Error(`Access denied: path '${e}' is outside the repository root`);return r}resolveAndValidate(e){try{let r=this.resolve(e);return Dm.existsSync(r)?r:(pa.debug({inputPath:e,resolved:r},"Path does not exist"),null)}catch(r){return pa.error({inputPath:e,error:r},"Error validating path"),null}}isWithinRoot(e){try{let r=ve.resolve(e),i=ve.resolve(this.repoPath),t=ve.relative(i,r);if(t.startsWith("..")||ve.isAbsolute(t))return!1;if(Dm.existsSync(r)){let s=Dm.realpathSync(r),a=ve.relative(i,s);if(a.startsWith("..")||ve.isAbsolute(a))return!1}return!0}catch{return!1}}getRelative(e){let r=ve.normalize(e);return ve.relative(this.repoPath,r)}resolveBatch(e){return e.map(r=>this.resolve(r))}static normalize(e){return ve.normalize(e)}static isPathWithinRoot(e,r){let i=ve.resolve(e),t=ve.resolve(r),o=ve.relative(i,t);return o===""||!o.startsWith("..")&&!ve.isAbsolute(o)}};function ab(n){return new mr(n)}var jw=/[\x00-\x1f\x7f]/g,Uw=/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g;function vn(n){if(typeof n!="string")throw new Error("Invalid path: expected string");if(n.includes("\0"))throw new Error("Invalid path: null bytes are not allowed");if(n.replace(jw,"").length!==n.length)throw new Error("Invalid path: control characters are not allowed");return n.trim()}function bn(n,e=4096){if(typeof n!="string")return"";let r=n.replace(Uw,"").trim();return r.length>e?r.slice(0,e):r}It();var hi=`
|
|
766
|
+
|
|
767
|
+
To check repository and connection health: shadow_env_diagnose({ repoPath }).`;function Vt(n,e,r){return{content:[{type:"text",text:`[${n}] ${e}`}],isError:!0,errorCode:n,errorDetails:r}}function Zw(n){let e=Ze.isAbsolute(n)?Ze.normalize(n):Ze.resolve(process.cwd(),n),r=Ze.parse(e).root;for(;e!==r;){if(Am.existsSync(Ze.join(e,".liquid-shadow.db"))||Am.existsSync(Ze.join(e,".git"))||Am.existsSync(Ze.join(e,"package.json")))return e;let i=Ze.dirname(e);if(i===e)break;e=i}return null}function Ye(n){let e=n?.repoPath?String(n.repoPath):void 0,r=n?.filePath?String(n.filePath):void 0;e&&(e=vn(e)),r&&(r=vn(r));let i;if(e)Ze.isAbsolute(e)||(e=Ze.resolve(process.cwd(),e)),i=e;else if(r){let s=Ze.resolve(process.cwd(),r);i=Zw(Ze.dirname(s))||process.cwd()}else i=process.cwd();i=Ze.normalize(i);let t=ab(i),o;return r&&(o=t.resolve(r)),{...n,repoPath:i,filePath:o,resolver:t}}function cb(n,e){if(!Xe(n)){let r=`Repository not indexed yet. Run initial indexing first:
|
|
768
|
+
|
|
769
|
+
1. shadow_recon_onboard({ repoPath: "${n}" }) // one-time
|
|
770
|
+
2. shadow_sync_trace({ repoPath: "${n}" }) // then sync
|
|
771
|
+
|
|
772
|
+
After that, ${e} and other tools will work.`+hi;return Vt("FILE_NOT_FOUND",r,{repoPath:n,toolName:e,requiresIndexing:!0})}return null}V();Q();async function lb(n){let e=bn(n.query??""),r={...n,query:e},i=Kt();try{let{repoPath:t}=Ye(r),{query:o,limit:s=ue.DEFAULT_LIMIT,offset:a=0,compact:c=!1}=r;await ee(t);let{filters:l,hasFilters:u}=Lt(r),p=await new je(t).searchByConcept(o,s,a,l,u,c);return Hw(t,o,"concept"),i(),p}catch(t){return $.error({error:t,args:n},"Concept Search failed"),i(),await st(),{content:[{type:"text",text:`Concept Search failed: ${t instanceof Error?t.message:String(t)}`}],isError:!0}}}function Hw(n,e,r){try{let i=C.getInstance(n),t=_e(n);i.searchHistory.record(e,r,t)}catch(i){let t=_e(n);$.error({module:"search",repoPath:n,query:e,mode:r,error:i instanceof Error?i.message:String(i),branch:t},"Failed to record search history"),st()}}V();Q();async function ub(n){let e=bn(n.query??""),r={...n,query:e},i=Kt();try{let{repoPath:t}=Ye(r),{query:o,limit:s=ue.DEFAULT_LIMIT,offset:a=0,matchMode:c="any"}=r;await ee(t);let{filters:l,hasFilters:u}=Lt(r),p=await new je(t).searchBySymbol(o,s,a,l,u,c);return Ww(t,o,"symbol"),i(),p}catch(t){return $.error({error:t,args:n},"Symbol Search failed"),i(),await st(),{content:[{type:"text",text:`Symbol Search failed: ${t instanceof Error?t.message:String(t)}`}],isError:!0}}}function Ww(n,e,r){try{let i=C.getInstance(n),t=_e(n);i.searchHistory.record(e,r,t)}catch(i){let t=_e(n);$.error({module:"search",repoPath:n,query:e,mode:r,error:i instanceof Error?i.message:String(i),branch:t},"Failed to record search history"),st()}}Q();V();import fr from"path";function pb(n,e){let r=n.findContentByToken(e,100);return{count:r.length,files:r}}async function db(n){let{repoPath:e,query:r,key:i="",kind:t,limit:o=50,showUsage:s=!1}=n,a=i||r;if(!a&&!t)return{content:[{type:"text",text:'Error: Either "key" or "kind" parameter is required.'}]};await ee(e);let c=C.getInstance(e),{configs:l,files:u}=c;if(a){$.info({repoPath:e,key:a},"Searching for config key in DB...");let m=l.findByKey(a,o);if(m.length===0)return{content:[{type:"text",text:`No configuration found for key: ${a}`}]};if(s){let v=m.map(k=>{let S=pb(u,k.key),P=S.count===0?"\u26A0\uFE0F ORPHANED":`\u2713 ${S.count} usage(s)`;return{file:fr.relative(e,k.file_path),key:k.key,value:k.value,kind:k.kind,usageCount:S.count,usageFiles:S.files.slice(0,5).map(R=>fr.relative(e,R)),status:P}});v.sort((k,S)=>k.usageCount===0&&S.usageCount>0?-1:S.usageCount===0&&k.usageCount>0?1:k.usageCount-S.usageCount);let g=v.filter(k=>k.usageCount===0).length;return{content:[{type:"text",text:(g>0?`# Configuration Search: "${a}" (with Usage Analysis)
|
|
773
|
+
|
|
774
|
+
\u26A0\uFE0F **${g} orphaned var(s)** (defined but never used in code)
|
|
775
|
+
|
|
776
|
+
Found ${m.length} match(es):
|
|
777
|
+
|
|
778
|
+
`:`# Configuration Search: "${a}" (with Usage Analysis)
|
|
779
|
+
|
|
780
|
+
Found ${m.length} match(es), all in use:
|
|
781
|
+
|
|
782
|
+
`)+v.map(k=>{let S=`## ${k.file} (${k.kind}) ${k.status}
|
|
783
|
+
**${k.key}**: \`${k.value}\``;return k.usageCount>0&&k.usageFiles.length>0&&(S+=`
|
|
784
|
+
> Used in: ${k.usageFiles.map(P=>`\`${P}\``).join(", ")}${k.usageCount>5?` (+${k.usageCount-5} more)`:""}`),S}).join(`
|
|
785
|
+
|
|
786
|
+
`)}]}}let h=m.map(v=>({file:fr.relative(e,v.file_path),key:v.key,value:v.value,kind:v.kind}));return{content:[{type:"text",text:`# Configuration Search: "${a}"
|
|
787
|
+
|
|
788
|
+
Found ${m.length} match(es):
|
|
789
|
+
|
|
790
|
+
`+h.map(v=>`## ${v.file} (${v.kind})
|
|
791
|
+
**${v.key}**: \`${v.value}\``).join(`
|
|
792
|
+
|
|
793
|
+
`)+"\n\n> \u{1F4A1} **Tip**: Use `showUsage: true` to see usage counts and identify orphaned vars."}]}}let d=l.findByKind(t||null,o);if(s){let m=d.map(g=>{let _=pb(u,g.key);return{file:fr.relative(e,g.file_path),key:g.key,value:g.value,kind:g.kind,usageCount:_.count,usageFiles:_.files.slice(0,3).map(x=>fr.relative(e,x)),status:_.count===0?"ORPHANED":"in-use"}});m.sort((g,_)=>g.usageCount===0&&_.usageCount>0?-1:_.usageCount===0&&g.usageCount>0?1:g.usageCount-_.usageCount);let h=m.filter(g=>g.usageCount===0).length,b=m.length,v=`# Config Discovery (${t||"all"}) with Usage Analysis
|
|
794
|
+
|
|
795
|
+
`;return v+=`**Summary**: ${b} config(s) found, ${h} orphaned
|
|
796
|
+
|
|
797
|
+
`,h>0&&(v+=`## \u26A0\uFE0F Orphaned (${h})
|
|
798
|
+
`,v+=m.filter(g=>g.usageCount===0).map(g=>`- \`${g.key}\` in ${g.file}`).join(`
|
|
799
|
+
`),v+=`
|
|
800
|
+
|
|
801
|
+
`),v+=`## \u2713 In Use (${b-h})
|
|
802
|
+
`,v+=m.filter(g=>g.usageCount>0).map(g=>{let _=g.usageFiles.length>0?`, used in ${g.usageFiles.map(x=>`\`${x}\``).join(", ")}${g.usageCount>3?` (+${g.usageCount-3} more)`:""}`:"";return`- \`${g.key}\`=\`${g.value}\` in \`${g.file}\` (${g.usageCount} usages${_})`}).join(`
|
|
803
|
+
`),d.length===o&&(v+=`
|
|
804
|
+
|
|
805
|
+
> Results limited to ${o} entries. Use the 'limit' parameter to see more.`),{content:[{type:"text",text:v}]}}let p=d.map(m=>({...m,file:fr.relative(e,m.file_path)})),f=JSON.stringify(p,null,2);return d.length===o&&(f=`Results limited to ${o} entries. Use the 'limit' parameter to see more.
|
|
806
|
+
|
|
807
|
+
`+f),f+="\n\n> \u{1F4A1} **Tip**: Use `showUsage: true` to see usage counts and identify orphaned vars.",{content:[{type:"text",text:f}]}}V();Q();async function mb(n){let e=bn(n.query??""),r={...n,query:e},i=Kt();try{let{repoPath:t}=Ye(r),{query:o,limit:s=ue.DEFAULT_LIMIT,offset:a=0,ranked:c=!1}=r;await ee(t);let{filters:l,hasFilters:u}=Lt(r),p=await new je(t).searchByPath(o,s,a,l,u,c);return Bw(t,o,"path"),i(),p}catch(t){return $.error({error:t,args:n},"Path Search failed"),i(),await st(),{content:[{type:"text",text:`Path Search failed: ${t instanceof Error?t.message:String(t)}`}],isError:!0}}}function Bw(n,e,r){try{let i=C.getInstance(n),t=_e(n);i.searchHistory.record(e,r,t)}catch(i){let t=_e(n);$.error({module:"search",repoPath:n,query:e,mode:r,error:i instanceof Error?i.message:String(i),branch:t},"Failed to record search history"),st()}}V();async function fb(n){let{repoPath:e,filePath:r,symbolName:i,depth:t=3,limit:o=50,offset:s=0}=n;await ee(e);try{let c=await new sn(e).analyze(i,{filePath:r,depth:t,limit:o,offset:s});return c.length===0?{content:[{type:"text",text:`Symbol "${i}" not found.`}],isError:!0}:{content:[{type:"text",text:JSON.stringify(c,null,2)}]}}catch(a){return $.error({error:a,args:n},"Impact Analysis failed"),{content:[{type:"text",text:`Impact Analysis failed: ${a instanceof Error?a.message:String(a)}`}],isError:!0}}}Q();V();import _n from"fs";import ke from"path";var Gw=new Set(["api","v1","v2","v3","http","https","localhost","admin","internal","public","private","app","src","get","post","put","delete","patch","user","users","id","search","list","create","update","data"]),Jw=new Set(["GET","POST","PUT","DELETE","PATCH"]),Vw=[/\bRoute::(?:get|post|put|delete|patch)\b/i,/\brouter\.(?:get|post|put|delete|patch)\s*\(/i,/\bapp\.(?:get|post|put|delete|patch)\s*\(/i,/\bfastify\.(?:get|post|put|delete|patch)\s*\(/i,/\baddRoute\s*\(/i,/\bHTTPMethods\.(?:GET|POST|PUT|DELETE|PATCH)\b/i,/\bpath\s*\(/i,/\bre_path\s*\(/i,/@(?:GET|POST|PUT|DELETE|PATCH|Route)\b/i,/@(?:Get|Post|Put|Delete|Patch|RequestMapping)\b/];function qw(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function gi(n){let e=n.split("?")[0].split("#")[0];return e.length>1&&e.endsWith("/")&&(e=e.slice(0,-1)),e}function Lm(n){let e=gi(n).replace(/:[^/]+/g,"__SEG__").replace(/\{[^}]+\}/g,"__SEG__").replace(/\$[^/]+/g,"__SEG__").replace(/\*/g,"__SEG__"),r=qw(e).replace(/__SEG__/g,"[^/]+");return new RegExp(`^${r}$`)}function hb(n){let e=[/(HTTPMethods\.)?(GET|POST|PUT|DELETE|PATCH)\b/i,/Route::(get|post|put|delete|patch)\b/i,/@(GET|POST|PUT|DELETE|PATCH)\b/i],r;for(let i of e){let t=n.match(i);if(t?.[2]){r=t[2].toUpperCase();break}if(t?.[1]){r=t[1].toUpperCase();break}}return r&&Jw.has(r)?r:null}function Kw(n){return n.replace(/<[^>]+>/g," ")}function Yw(n){return Vw.some(e=>e.test(n))}function Xw(n){let e=[],r=/['"`]([^'"`]*\/[^'"`]*)['"`]/g,i=null;for(;(i=r.exec(n))!==null;){let t=i[1].trim();t&&e.push(t)}return e}function Qw(n){let e=n.replace(/^\^/,"").replace(/\$$/,"");if(e.includes("://"))try{e=new URL(e).pathname}catch{}if(!e.startsWith("/")){let r=e.indexOf("/");if(r===-1)return null;e=e.slice(r)}return gi(e)}function ek(n,e){let r=Xw(n);for(let i of r){let t=Qw(i);if(!t)continue;let o=Lm(t),s=e.replace(/\*/g,"test-val");if(o.test(s)||!/[:{*$]/.test(t)&&s.startsWith(`${t}/`))return!0}return!1}function tk(n,e){if(e)try{let t=JSON.parse(e);if(typeof t.path=="string"&&t.path.startsWith("/"))return gi(t.path)}catch{}let r=/['"]([^'"]+)['"]/g,i=null;for(;(i=r.exec(n))!==null;){let t=i[1].trim();if(t){if(t=t.replace(/^\^/,"").replace(/\$$/,""),!t.startsWith("/")){if(!t.includes("/")&&!t.includes(":"))continue;t=`/${t}`}return gi(t)}}return null}function nk(n,e){let r=n.toLowerCase();return e.reduce((i,t)=>i+(r.includes(t.toLowerCase())?20:0),0)}function Om(n,e,r){let i=e,t=e.match(/\$\{([^}]+)\}/g);if(t)for(let f of t){let m=f.substring(2,f.length-1),h=n.configs.findEnvValue(m);h&&(i=i.replace(f,h))}let o=i.split("?")[0].split("#")[0];try{o.includes("://")&&(o=new URL(o).pathname)}catch{}o=gi(o);let s=r?.toUpperCase(),a=[],c=!1,l=o.replace(/\*/g,"%").replace(/:[^/]+/g,"%").replace(/\{[^}]+\}/g,"%"),u=n.files.findSynapses({type:"api_route",name:l.includes("%")?l:o,direction:"consume",limit:10});for(let f of u)Lm(f.name).test(o.replace(/\*/g,"test-val"))&&(a.push({file_path:f.file_path,start_line:f.line_number||0,signature:`[Synapse] ${f.name}`,score:1e3}),c=!0);let d=o.split(/[^a-zA-Z0-9-_]/).filter(f=>f.length>=3&&!Gw.has(f.toLowerCase())&&!/^\d+$/.test(f));if(d.length>0){let h=[...d].sort((v,g)=>g.length-v.length).slice(0,2).flatMap(v=>n.exports.findRoutesByToken(v,20)),b=new Set;for(let v of h){let g=`${v.file_path}:${v.start_line}:${v.name}`;if(b.has(g))continue;b.add(g);let _=v.signature||v.name||"",x=hb(_);if(s&&x&&s!==x)continue;let k=tk(_,v.capabilities);if(s&&!x&&!k)continue;let S=40;if(k){if(!Lm(k).test(o.replace(/\*/g,"test-val")))continue;S+=280,c=!0}s&&x&&s===x&&(S+=120,c=!0),S+=nk(`${_} ${k||""}`,d),a.push({file_path:v.file_path,start_line:v.start_line,signature:`[Boundary] ${_}`,capabilities:v.capabilities||void 0,score:S})}}if(a.length<3&&!c){let f=d.map(m=>m.replace(/[^a-zA-Z0-9_]/g,"")).filter(m=>m.length>0).join(" AND ");if(f.length>0){let m=n.content.search(f);for(let h of m){let b=Kw(h.snippet);if(!Yw(b)||!ek(b,o))continue;let v=hb(b);if(s&&v&&v!==s)continue;let g=0,_=h.file_path.toLowerCase(),x=b.toLowerCase();(_.includes("route")||_.includes("controller"))&&(g+=10),(_.includes("src/api")||_.includes("services/api"))&&(g+=5),(x.includes("addroute")||x.includes("@get"))&&(g+=15),(x.includes("axios.")||x.includes("fetch("))&&(g-=10),(_.includes(".spec.")||_.includes(".test."))&&(g-=20),s&&x.includes(s.toLowerCase())&&(g+=20),g>0&&a.push({file_path:h.file_path,start_line:0,signature:`[FTS Match] ${b.replace(/\n/g," ")}`,score:g})}}}let p=new Map;return a.sort((f,m)=>m.score-f.score).forEach(f=>{p.has(f.file_path)||p.set(f.file_path,f)}),Array.from(p.values()).slice(0,c?2:3)}var rk=4,yi=50,ik=2,ok=4,sk=new Set(["publish","publishmessage","publishtaskbynameandpayload"]),ak=new Set(["Error","TypeError","RangeError","ReferenceError","SyntaxError","Promise","Map","Set","WeakMap","WeakSet","Date","Array","Object","String","Number","Boolean","RegExp","URL","URLSearchParams"]),ck=new Set(["error","errors","request","response","result","results","value","values","item","data","payload","message","messages","text","description","name","id","type","status","code"]),yb=new Set(["req","res","request","response","error","err","event","item","row","data","value","obj","window","document","console","json","math"]),lk=new Set(["push","pop","shift","unshift","slice","splice","map","filter","reduce","reduceRight","forEach","find","findIndex","includes","indexOf","lastIndexOf","every","some","flat","flatMap","fill","copyWithin","entries","keys","values","join","concat","sort","reverse","at","with","toSorted","toReversed","toSpliced","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","charAt","charCodeAt","codePointAt","split","substring","substr","trim","trimStart","trimEnd","padStart","padEnd","repeat","replace","replaceAll","match","matchAll","search","toLowerCase","toUpperCase","localeCompare","normalize","startsWith","endsWith","then","catch","finally","get","set","has","delete","clear","size","length","call","apply","bind"]);function uk(n,e){return ke.resolve(n)===ke.resolve(e)}function pk(n){if(ak.has(n))return!0;let e=n.trim().toLowerCase();if(ck.has(e))return!0;let r=n.split(/(?:\.|->|::)+/).filter(Boolean);if(r.length>1){let i=r[0].replace(/^\$+/,"").toLowerCase();if(yb.has(i))return!0}return!1}function gb(n){let e=n.trim();if(!e)return"";let r=e.indexOf("/"),i=r>=0?e.slice(r):e;return i.length>1&&i.endsWith("/")?i.slice(0,-1):i}function dk(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Mm(n){let e=n.split(/(?:\.|::|->)+/).filter(Boolean);return e.length>0?e[e.length-1]:n.trim()}function mk(n,e){let r=0,i=!1;for(let t=e;t<n.length;t++){let o=n[t];for(let a of o)if(a==="{")r++,i=!0;else if(a==="}"&&(r--,i&&r<=0))return{start:e+1,end:t+1};let s=o.trim();if(!i&&/[;}]$/.test(s))return{start:e+1,end:t+1}}return{start:e+1,end:Math.min(n.length,e+40)}}function Cm(n,e){let r=Mm(e);if(!r)return null;try{let i=_n.readFileSync(n,"utf8").split(`
|
|
808
|
+
`),t=dk(r),o=[new RegExp(`^\\s*(?:export\\s+)?(?:async\\s+)?function\\s+${t}\\b`),new RegExp(`^\\s*(?:(?:public|private|protected|static|readonly|async|abstract|get|set)\\s+)*${t}\\s*(?:<[^>]*>)?\\s*\\(`),new RegExp(`^\\s*(?:(?:public|private|protected|static|readonly|async|abstract)\\s+)*${t}\\s*[:=]\\s*(?:async\\s*)?(?:\\([^)]*\\)\\s*=>|function\\b)`),new RegExp(`^\\s*(?:export\\s+)?class\\s+${t}\\b`)];for(let s=0;s<i.length;s++){let a=i[s];if(a.includes(r)&&o.some(c=>c.test(a)))return mk(i,s)}}catch{return null}return null}function vb(n,e,r){try{let i=_n.readFileSync(n,"utf8").split(`
|
|
809
|
+
`);if(e.start<1||e.end<e.start||e.start>i.length||e.end>i.length||!i.slice(e.start-1,e.end).join(`
|
|
810
|
+
`).trim())return!0;if(e.start===e.end){let o=i[e.start-1]?.trim()||"",s=o.replace(/\s+/g,"");if(!s||/^[{}()[\];,]+$/.test(s))return!0;let a=Mm(r);if(a&&!o.includes(a))return!0}return!1}catch{return!0}}function da(n,e,r){if(e){if(!r)return e;if(vb(n,e,r)){let i=Cm(n,r);if(i)return i}return e}}function fk(n,e,r){let i=n.exports.findByNameAndFile(r,e);if(i.length>0)return i[0];let t=n.exports.findByFile(e);if(t.length===0)return null;if(r.includes("/")){let a=gb(r),c=t.find(l=>!l?.name||typeof l.name!="string"?!1:gb(l.name)===a);if(c)return c}let o=r.split(/(?:\.|::|->)+/).filter(Boolean);if(o.length>1){let a=o[o.length-1],c=n.exports.findByNameAndFile(a,e);if(c.length===1)return c[0]}return t.find(a=>typeof a?.name=="string"&&(a.name===r||a.name.includes(r)))||null}async function bb(n){let{repoPath:e,filePath:r,symbolName:i}=Ye(n);if(!r)return{isError:!0,content:[{type:"text",text:"Error: 'filePath' is required."}]};let t=r;await ee(e);let o=C.getInstance(e);if(!_n.existsSync(t))return{isError:!0,content:[{type:"text",text:`File not found: ${t}`}]};let s,a=ke.basename(t),c;if(i){let p=Mm(i),f=fk(o,t,i);if(f){let m=f;s={start:m.start_line,end:m.end_line},a=m.name,c=m.start_line}else{let m=Cm(t,i);if(m)s=m,c=m.start,a=p||i;else{let h=o.exports.findByFile(t).map(b=>b.name).filter(b=>!!b).slice(0,10);return{isError:!0,content:[{type:"text",text:`Symbol not found in file: "${i}"
|
|
811
|
+
File: ${ke.relative(e,t)}
|
|
812
|
+
`+(h.length>0?`Top symbols in file: ${h.join(", ")}`:"No indexed symbols found for this file.")}]}}}if(s&&vb(t,s,i)){let m=Cm(t,i);m&&($.warn({filePath:t,symbolName:i,start:s.start,end:s.end},"Indexed symbol range appears degenerate; using source-inferred range for flow"),s=m,c=m.start,a===ke.basename(t)&&(a=p||i))}}let l={type:s?"function":"file",name:a,path:ke.relative(e,t),line:c,children:[]},u=new Set;u.add(t+(i?`:${i}`:""));let d={count:0,truncated:!1};return await hr(t,l,e,o,u,1,d,s),d.truncated&&l.children.push({type:"function",name:"\u26A0\uFE0F Output Truncated",details:`Trace limited to ${yi} nodes. Use summarize_file on specific files for deeper analysis.`,children:[]}),{content:[{type:"text",text:JSON.stringify(l,null,2)}]}}async function hr(n,e,r,i,t,o,s,a){if(!(o>rk)){if(s.count>=yi){s.truncated=!0;return}try{let c=_n.readFileSync(n,"utf8"),l=ke.extname(n).toLowerCase(),d=(c.match(/import\s+[\s\S]*?from\s+['"].*?['"];?/gm)||[]).join(`
|
|
813
|
+
`);a&&(c=c.split(`
|
|
814
|
+
`).slice(a.start-1,a.end).join(`
|
|
815
|
+
`));let p;if(l===".ts"||l===".tsx"||l===".js"||l===".jsx"){p=new zn;let b={syntax:"typescript",tsx:n.endsWith(".tsx"),target:"es2020"};try{let v=a?`${d}
|
|
816
|
+
${c}`:c,g=await Sr(v,b);p.visitModule(g)}catch{if(a)try{let g=`${d}
|
|
817
|
+
class TraceContext {
|
|
818
|
+
${c}
|
|
819
|
+
}`,_=await Sr(g,b);p.visitModule(_)}catch{let _=new Ot,x=l;_.visit(c,x),p.calls=_.calls,p.apiCalls=_.apiCalls,p.imports=_.imports}else{let g=new Ot;g.visit(c,l),p.calls=g.calls,p.apiCalls=g.apiCalls,p.imports=g.imports}}}else p=new Ot,p.visit(c,l);$.info({file:ke.basename(n),calls:p.calls.size,apiCalls:p.apiCalls.length,depth:o},"Analyzed file");let f=p.apiCalls.slice(0,10);for(let b of f){if(s.count>=yi)break;if(s.count++,b.method==="PUBSUB"){let x={type:"event_trigger",name:`PubSub Event: ${b.url}`,details:"Detected via PubSub client usage",children:[]};e.children.push(x);let k=b.url.toLowerCase();if(sk.has(k)){x.children.push({type:"subscriber",name:"PubSub fan-out omitted",details:"Generic publish call without concrete event/action; skipping global subscriber expansion to avoid false links.",children:[]});continue}let S=i.exports.findByNameGlobal(b.url).concat(i.exports.findByMethodName(b.url));if(b.url.length>10){let R=b.url.replace(/To[A-Z][a-zA-Z]+$/,"");if(R!==b.url){let U=i.exports.findByNameGlobal(R).concat(i.exports.findByMethodName(R));S.push(...U)}}let P=new Set;for(let R of S.slice(0,ok)){if(P.has(R.file_path)||R.file_path===n)continue;if(P.add(R.file_path),s.count>=yi)break;s.count++;let U={type:"subscriber",name:`${R.name} (${ke.basename(R.file_path)})`,path:ke.relative(r,R.file_path),line:R.start_line,details:"Potential Subscriber / Handler",children:[]};x.children.push(U),_n.existsSync(R.file_path)&&!t.has(R.file_path)&&(t.add(R.file_path),await hr(R.file_path,U,r,i,t,o+1,s))}continue}let v={type:"api_call",name:`${b.method} ${b.url}`,details:"Detected via string literal analysis",children:[]};e.children.push(v);let _=Om(i,b.url,b.method).slice(0,ik);for(let x of _){if(uk(x.file_path,n))continue;if(s.count>=yi)break;s.count++;let k={type:"route",name:x.signature||"Route Handler",path:x.file_path,line:x.start_line,children:[]};if(v.children.push(k),_n.existsSync(x.file_path)&&!t.has(x.file_path)&&(t.add(x.file_path),await hr(x.file_path,k,r,i,t,o+1,s)),x.capabilities)try{let S=JSON.parse(x.capabilities);if(S.handler){let[P,R]=S.handler.split("@");if(P){let E=P.split("\\").pop();if(E){let I=i.exports.findClassByName(E);if(I){let N=i.exports.findByNameAndFile(R||"",I.file_path),j,D=I.start_line;N.length>0&&(j=da(I.file_path,{start:N[0].start_line,end:N[0].end_line},R||""),j||(j={start:N[0].start_line,end:N[0].end_line}),D=j.start);let z={type:"component",name:`${E}${R?" :: "+R:""}`,path:ke.relative(r,I.file_path),line:D,details:"Controller Logic (Macro IR)",children:[]};k.children.push(z),t.has(I.file_path+(R?`:${R}`:""))||(t.add(I.file_path+(R?`:${R}`:"")),await hr(I.file_path,z,r,i,t,o+1,s,j))}}}}}catch{}}}let m=p.calls,h=Array.from(m).sort();for(let b of h)if(p.imports.has(b)){let v=p.imports.get(b);if(!v.startsWith(".")){if(["react","react-dom"].includes(v))continue;e.children.push({type:"function",name:b,details:`External: ${v}`,children:[]});continue}let g=Pt(v,n,r);if(g&&_n.existsSync(g)){let _=i.exports.findByNameAndFile(b,g),x=_.length>0?_[0]:null,k=x?`${g}:${x.name}`:g;if(t.has(k))e.children.push({type:"function",name:b,details:"Circular / Already Visited",path:ke.relative(r,g),line:x?.start_line,children:[]});else{t.add(k);let S={type:x?"component":"file",name:b,details:x?`Imported symbol from ${ke.basename(g)}`:`Imported from ${ke.basename(g)}`,path:ke.relative(r,g),line:x?.start_line,children:[]};e.children.push(S);let P=x?da(g,{start:x.start_line,end:x.end_line},b):void 0;await hr(g,S,r,i,t,o+1,s,P)}}}else if(!["log","info","error","warn","print"].includes(b)&&!pk(b)){let v=i.exports.findByNameGlobal(b);if(v.length===0){let g=b.split(/(?:\.|->|::)+/);if(g.length>1){let _=g[0]?.replace(/^\$+/,"").toLowerCase(),x=g[g.length-1];!lk.has(x)&&!(_&&yb.has(_))&&(v=i.exports.findByMethodName(x))}}if(v.length>0){let g=v.find(x=>x.file_path===n),_=g||(v.length===1?v[0]:null);if(_){let x=`${_.file_path}:${_.name}`;if(!t.has(x)){t.add(x);let k={type:"component",name:b,details:`Resolved via global index${g?" (local)":""}`,path:ke.relative(r,_.file_path),line:da(_.file_path,{start:_.start_line,end:_.end_line},b)?.start,children:[]};e.children.push(k);let S=da(_.file_path,{start:_.start_line,end:_.end_line},b)||{start:_.start_line,end:_.end_line};await hr(_.file_path,k,r,i,t,o+1,s,S)}}}}}catch(c){$.error({filePath:n,error:c.message},"Trace analysis failed"),e.children.push({type:"function",name:"Error",details:c.message,children:[]})}}}Q();import _b from"path";async function Sb(n){let{repoPath:e,filePath:r,direction:i,limit:t,offset:o=0}=n;await ee(e);let{imports:s}=C.getInstance(e);if(i==="imports"){let c=s.findByFile(r).filter(p=>p.module_specifier!=="__type_reference__").map(p=>{let f={module:p.module_specifier,symbols:p.imported_symbols,resolvedPath:p.resolved_path,relativePath:p.resolved_path?_b.relative(e,p.resolved_path):null,isExternal:!p.resolved_path};if(!p.resolved_path){let m=Oi(p.module_specifier,r,e);if(!m.resolved)return{...f,resolutionError:m.error,suggestion:m.suggestion}}return f}),l=[...c].sort((p,f)=>(p.relativePath||"").localeCompare(f.relativePath||"")),d={results:xb(l,t,o),total:c.length,offset:o,limit:t||c.length,hasMore:t?o+t<c.length:!1};return{content:[{type:"text",text:JSON.stringify(d,null,2)}]}}else{let c=s.findDependents(r).map(p=>({file:p.file_path,relativePath:_b.relative(e,p.file_path),importStatement:p.module_specifier,importedSymbols:p.imported_symbols})),l=[...c].sort((p,f)=>(p.relativePath||"").localeCompare(f.relativePath||"")),d={results:xb(l,t,o),total:c.length,offset:o,limit:t||c.length,hasMore:t?o+t<c.length:!1};return{content:[{type:"text",text:JSON.stringify(d,null,2)}]}}}function xb(n,e,r=0){return e?n.slice(r,r+e):n.slice(r)}Q();import $b from"path";import hk from"fs";async function wb(n){let{repoPath:e,mode:r,limit:i=50,includeTests:t=!1,includeMigrations:o=!1,includeFixtures:s=!1,excludePatterns:a=[],confidenceThreshold:c="all"}=n;await ee(e);let{exports:l,imports:u}=C.getInstance(e);if(r==="dead-code"){let f=l.findDeadExports({limit:i,includeTests:t,includeMigrations:o,includeFixtures:s,excludePatterns:a,confidenceThreshold:c}).map(_=>({name:_.name,kind:_.kind,file:$b.relative(e,_.file_path),line:_.start_line,confidence:_.confidence,reason:_.reason})),m={high:{},medium:{},low:{}};for(let _ of f)m[_.confidence][_.file]||(m[_.confidence][_.file]=[]),m[_.confidence][_.file].push({name:_.name,kind:_.kind,line:_.line,reason:_.reason});let h=[],b=Object.values(m.high).flat().length,v=Object.values(m.medium).flat().length,g=Object.values(m.low).flat().length;return h.push(`# Dead Export Analysis
|
|
820
|
+
`),h.push(`Found ${f.length} potentially unused exports.`),h.push(`- **High confidence** (likely dead): ${b}`),h.push(`- **Medium confidence** (possibly intentional): ${v}`),h.push(`- **Low confidence** (likely intentional): ${g}
|
|
821
|
+
`),b>0&&(h.push(`## High Confidence (Likely Dead)
|
|
822
|
+
`),h.push(JSON.stringify(m.high,null,2))),v>0&&c!=="high"&&(h.push(`
|
|
823
|
+
## Medium Confidence (Possibly Intentional)
|
|
824
|
+
`),h.push(JSON.stringify(m.medium,null,2))),g>0&&c==="all"&&(h.push(`
|
|
825
|
+
## Low Confidence (Likely Intentional)
|
|
826
|
+
`),h.push(JSON.stringify(m.low,null,2))),{content:[{type:"text",text:h.join(`
|
|
827
|
+
`)}]}}else if(r==="circular-deps"){let g=function(S,P){if(h.length>=p)return!1;b.add(S),v.add(S),P.push(S);let R=m.get(S)||new Set;for(let U of R)if(b.has(U)){if(v.has(U)){let E=P.indexOf(U);if(E>=0){let I=P.slice(E);I.push(U),h.push(I)}}}else if(g(U,[...P]))return!0;return v.delete(S),!1};var d=g;let p=typeof i=="number"?i:20,f=u.getAllResolved(),m=new Map;for(let S of f)m.has(S.file_path)||m.set(S.file_path,new Set),m.get(S.file_path).add(S.resolved_path);let h=[],b=new Set,v=new Set;for(let S of m.keys())!b.has(S)&&h.length<p&&g(S,[]);let _=[],x=new Map;for(let S of f){let P=`${S.file_path}|${S.resolved_path}`;x.has(P)||x.set(P,[]),x.get(P).push(S)}for(let S of h){let P=!1;for(let R=0;R<S.length-1;R++){let U=S[R],E=S[R+1],I=x.get(`${U}|${E}`);if(I){for(let N of I)try{let j=hk.readFileSync(U,"utf8"),D=N.module_specifier.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),z=new RegExp(`import\\s+type\\s+.*from\\s+['"]${D}['"]`,"i"),H=new RegExp(`import\\s+\\{.*type\\s+.*\\}.*from\\s+['"]${D}['"]`,"s");if(z.test(j)||H.test(j)){P=!0;break}let G=N.imported_symbols.split(",").map(W=>W.trim());for(let W of G){if(!W||W==="*")continue;let Z=W.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`\\(\\s*\\)\\s*=>\\s*${Z}`).test(j)){P=!0;break}}}catch{}if(P)break}}P||_.push(S)}let k=_.map((S,P)=>({id:P+1,length:S.length-1,chain:S.map(R=>$b.relative(e,R))}));return{content:[{type:"text",text:`# Circular Dependency Analysis
|
|
828
|
+
|
|
829
|
+
Found ${_.length} circular dependency chain(s).
|
|
830
|
+
|
|
831
|
+
${JSON.stringify(k,null,2)}`}]}}return{isError:!0,content:[{type:"text",text:"Invalid mode"}]}}async function kb(n){let{repoPath:e,subPath:r,maxDepth:i=5}=n,t=5e4,o=[{level:"signatures",depth:i},{level:"summaries",depth:i,meta:{warning:"Export lists omitted for token efficiency.",action:"Use 'shadow_inspect_file' on specific files to see exports."}},{level:"structure",depth:i,meta:{warning:"Detailed signatures omitted due to repo size.",action:"Use 'shadow_inspect_file' on specific files to see details."}},{level:"summaries",depth:2,meta:{warning:"Repository is large. Showing top 2 levels with summaries only.",action:"Use 'shadow_recon_tree' with a 'subPath' to explore deeper."}},{level:"structure",depth:2,meta:{warning:"Repository is large. Showing top 2 levels structure only.",action:"Use 'shadow_recon_tree' with a 'subPath' to explore."}},{level:"lite",depth:1,meta:{warning:"Repository is massive. Showing root files only.",action:"Use 'shadow_recon_tree' with a 'subPath' to explore."}}];for(let s of o){let a=await $c(e,5,s.level,r,s.depth);s.meta&&(a._meta=s.meta);let c=JSON.stringify(a,null,2);if(c.length<=t)return{content:[{type:"text",text:c}]}}return{content:[{type:"text",text:`Warning: The repository at ${r||"root"} is massive (exceeds ${t} chars even at minimal depth).
|
|
832
|
+
Please use 'shadow_recon_tree' with a more specific 'subPath' or use 'shadow_search_symbol' to find what you need.`}]}}Me();async function Eb(n){let{repoPath:e,compact:r=!1}=n,t=new oe(e).getSnapshot();if(r&&t.gravity?.hotspots){let o=t.gravity.hotspots.length;t={...t,gravity:{...t.gravity,hotspots:t.gravity.hotspots.slice(0,20),_truncated:o>20,_totalHotspots:o}}}return{content:[{type:"text",text:JSON.stringify(t,null,2)}],suggestedNext:{tool:"shadow_ops_chronicle",reason:"Recent decisions and ADRs"}}}Q();ct();Me();function Ib(n){switch(n){case"Entry":return"\u{1F6AA}";case"Logic":return"\u2699\uFE0F";case"Data":return"\u{1F4BE}";case"Utility":return"\u{1F527}";case"Infrastructure":return"\u{1F3D7}\uFE0F";case"Test":return"\u{1F9EA}";case"Types":return"\u{1F4DD}";case"Unknown":return"\u2753"}}async function Tb(n){let{repoPath:e}=n;await ee(e);let r=C.getInstance(e),i=Ce(r,e);new oe(e).updateTopography(i);let o=["Entry","Logic","Data","Utility","Infrastructure","Test","Types","Unknown"],s=`# \u{1F3D7}\uFE0F Architecture Summary
|
|
833
|
+
|
|
834
|
+
`;if(s+=`## Detected Pattern: **${i.pattern}**
|
|
835
|
+
`,s+=`Confidence: ${i.patternConfidence.toFixed(0)}%
|
|
836
|
+
|
|
837
|
+
`,i.insights.length>0){s+=`## Insights
|
|
838
|
+
`;for(let c of i.insights)s+=`- ${c}
|
|
839
|
+
`;s+=`
|
|
840
|
+
`}s+=`## Layer Distribution
|
|
841
|
+
|
|
842
|
+
`,s+=`| Layer | Files | % of Total |
|
|
843
|
+
`,s+=`|-------|------:|:----------:|
|
|
844
|
+
`;let a=o.reduce((c,l)=>c+i.layers[l].count,0);for(let c of o){let l=i.layers[c],u=a>0?(l.count/a*100).toFixed(1):"0.0",d=Ib(c);s+=`| ${d} ${c} | ${l.count} | ${u}% |
|
|
845
|
+
`}s+=`
|
|
846
|
+
## Top Files by Layer
|
|
847
|
+
|
|
848
|
+
`;for(let c of o){let l=i.layers[c];if(l.count===0)continue;let u=Ib(c);if(s+=`### ${u} ${c} (${l.count} files)
|
|
849
|
+
`,l.topFiles.length>0)for(let d of l.topFiles)s+=`- \`${d.path}\` (${d.confidence}% conf)
|
|
850
|
+
`,d.signals.length>0&&(s+=` - ${d.signals.join("; ")}
|
|
851
|
+
`);else s+=`- _No files classified with high confidence_
|
|
852
|
+
`;s+=`
|
|
853
|
+
`}return s+=`---
|
|
854
|
+
`,s+=`**Next Steps:**
|
|
855
|
+
`,s+="- Use `shadow_inspect_file` to explore files in each layer\n",s+="- Use `shadow_analyze_flow` to trace execution from Entry \u2192 Logic \u2192 Data\n",s+="- Use `shadow_analyze_deps` to understand layer boundaries\n",{content:[{type:"text",text:s}],suggestedNext:{tool:"shadow_recon_tree",reason:"Explore a subPath or use shadow_inspect_file"}}}Q();ct();Me();import wt from"path";async function Rb(n){let{repoPath:e}=n;await ee(e);let r=C.getInstance(e),i=Ce(r,e),o=new oe(e).getSnapshot(),s=[],a=[],c=Object.values(i.layers.Entry.topFiles).map(p=>p.path),l=new Set(Object.values(i.layers.Data.topFiles).map(p=>p.path));for(let p of c){let f=wt.isAbsolute(p)?p:wt.join(e,p),m=r.imports.findByFile(f);for(let h of m)h.resolved_path&&l.has(wt.relative(e,h.resolved_path))&&s.push(`\u2694\uFE0F LAYER BYPASS: \`${wt.relative(e,p)}\` directly imports Data layer \`${wt.relative(e,h.resolved_path)}\`. Should go through Logic.`)}let u=o.gravity?.hotspots||[];for(let p of u){let f=Dt(p.filePath,r);(f.layer==="Utility"||f.layer==="Unknown")&&p.gravity>50&&a.push(`\u{1F6A8} GRAVITY ANOMALY: \`${wt.relative(e,p.filePath)}\` has high gravity (${p.gravity.toFixed(0)}) but is classified as ${f.layer}. Consider promoting to Core Logic.`)}for(let p of c){let f=wt.isAbsolute(p)?p:wt.join(e,p),m=r.exports.findByFile(f);m.length>10&&a.push(`\u{1F388} ENTRY BLOAT: \`${wt.relative(e,p)}\` exports ${m.length} symbols. Entry handlers should be thin interfaces.`)}let d=`# \u{1F575}\uFE0F Architectural Scout Report
|
|
856
|
+
|
|
857
|
+
`;return s.length===0&&a.length===0?d+=`\u2705 No significant architectural drift detected. The structure remains "Legit".
|
|
858
|
+
`:(s.length>0&&(d+=`## \u274C Structural Violations
|
|
859
|
+
`,s.forEach(p=>d+=`- ${p}
|
|
860
|
+
`),d+=`
|
|
861
|
+
`),a.length>0&&(d+=`## \u26A0\uFE0F Architectural Warnings
|
|
862
|
+
`,a.forEach(p=>d+=`- ${p}
|
|
863
|
+
`),d+=`
|
|
864
|
+
`)),{content:[{type:"text",text:d}]}}Q();V();import ft from"path";Me();ct();async function Pb(n){let{repoPath:e}=n;$.info({repoPath:e},"Setting up repository..."),$.info({repoPath:e}," Ensuring index is up-to-date...");let r=Date.now();await ee(e,void 0,!1,!0,J=>{let ne=J.total>0?Math.round(J.current/J.total*100):0;$.info({phase:J.phase,progress:`${J.current}/${J.total}`,percentage:`${ne}%`},J.message||`Indexing progress: ${J.phase}`)});let t=((Date.now()-r)/1e3).toFixed(1);$.info({repoPath:e,indexTime:`${t}s`}," Index check complete"),await Ir();let o=C.getInstance(e);$.info({repoPath:e},"Populating Project Hologram...");let s=new oe(e),a=Ce(o,e);s.updateTopography(a);let c=s.computeGravityZones();s.updateGravityZones(c),$.info({repoPath:e,sections:2},"Project Hologram populated (topography + gravity)");let l=o.files.getCount(),u=o.exports.getCount(),d=o.configs.getAll(),p=o.files.getTopDirectories(e),f=[],m=[],h="Standalone",b=J=>o.files.findPackageJsonChildren(J),v=J=>{let ne=ft.join(J,"package.json"),ce=d.filter(B=>B.file_path===ne),pe=[],ie=B=>ce.some(Se=>Se.key.startsWith("dep: ")&&Se.key.includes(B));ie("react")&&pe.push("React"),ie("vue")&&pe.push("Vue"),ie("next")&&pe.push("Next.js"),ie("fastify")&&pe.push("Fastify"),ie("express")&&pe.push("Express"),ie("nestjs")&&pe.push("NestJS"),(ie("prisma")||ie("typeorm"))&&pe.push("DB");let q=ce.find(B=>B.key==="description")?.value||"";return{stack:pe.join(", "),description:q.length>80?q.substring(0,77)+"...":q}},g=ft.join(e,"apps"),_=ft.join(e,"packages"),x=ft.join(e,"services"),k=o.files.hasFilesPattern(g+"/%"),S=o.files.hasFilesPattern(_+"/%"),P=o.files.hasFilesPattern(x+"/%"),R=(J,ne)=>{let ce=b(J);ce.length>0&&(f.push(`| **${ne}/ (Directory)** | \uFE0F **DO NOT SUMMARIZE FULL DIR** | |`),ce.forEach(pe=>{let ie=ft.dirname(pe.path),q=ft.basename(ie);if(q.startsWith("_")||q.includes("template"))return;let B=ft.relative(e,ie),Se=v(ie);f.push(`| \u2514\u2500 \`${B}\` | ${Se.stack||"Module"} | ${Se.description} |`),m.push(B)}))};k||S||P?(h="Monorepo",R(g,"apps"),R(x,"services"),R(_,"packages")):p.forEach(J=>{let ne=J.root;if(!ne||ne.startsWith("."))return;let ce=v(ft.join(e,ne));f.push(`| \`${ne}/\` | ${ce.stack||"Module"} | ${ce.description} |`)});let U=ft.join(e,"package.json"),I=d.find(J=>J.key==="name"&&J.kind==="Service"&&J.file_path===U)?.value||ft.basename(e),N=d.filter(J=>J.kind==="Service"&&(J.key.startsWith("service:")||J.file==="docker-compose.yml")),j=[...new Set(N.map(J=>J.value).filter(J=>J&&typeof J=="string"&&!J.includes("[object Object]")&&!["postgres","redis","db","worker","undefined"].includes(J.toLowerCase())))],D=j.slice(0,5),z=D.length>0?`Service Cluster: ${D.join(", ")}${j.length>5?` (+${j.length-5} others)`:""}`:"",H=l<100?"small":"large",G=H==="small"?"You can safely use `shadow_recon_tree` to view the full tree.":' **AVOID summarizing large directories like `apps/` or `services/` as a whole.**\n Instead, look for a specific component in the map below and use `shadow_recon_tree({ subPath: "apps/my-app" })` on it.\n\uFE0F **Prefer Search:** Use `shadow_search_symbol` for directly finding symbols.',W="";try{let ne=new Ie(e).detectAndRepairShifts(),ce=new bt(e),pe=o.missions.findLastMission();ce.analyzeGhostChanges(pe?.commit_sha||void 0),o.intentLogs.countByType("heritage")===0&&new nn(e).analyzeHeritage(20);let q=o.intentLogs.countByType("heritage"),B=o.intentLogs.countByType("discovery");q>0||B>0||ne.repaired>0?W=`
|
|
865
|
+
## Shadow Engine Insights
|
|
866
|
+
`+(q>0?`* **Architectural Heritage**: Bootstrapped ${q} significant historical moves.
|
|
867
|
+
`:"")+(B>0?`* **Recent Changes**: Detected ${B} external modifications.
|
|
868
|
+
`:"")+(ne.repaired>0?`* **Symbol Healing**: Automatically repaired ${ne.repaired} orphaned intent links.
|
|
869
|
+
`:""):W=`
|
|
870
|
+
## Shadow Engine Status: **Active**
|
|
871
|
+
* **Integrity**: Git River matches Symbol Index.
|
|
872
|
+
* **Heritage**: Ready to track developer intent.
|
|
873
|
+
`}catch(J){W=`
|
|
874
|
+
## Shadow Engine Status: **Offline**
|
|
875
|
+
* Error: ${J instanceof Error?J.message:"Unknown"}
|
|
876
|
+
`}try{let ne=new on(e).runMaintenance();(ne.pruning.deleted>0||ne.pruning.converted>0)&&(W+=`
|
|
877
|
+
### Clean Sweep Cycle
|
|
878
|
+
* **Pruned**: ${ne.pruning.deleted} orphaned logs deleted, ${ne.pruning.converted} converted to lapsed.
|
|
879
|
+
`+(ne.compaction.eligible>0?`* **Compaction**: ${ne.compaction.eligible} cold missions eligible for briefing synthesis.
|
|
880
|
+
`:""))}catch(J){$.warn({error:J},"Metabolism maintenance failed")}let Z="";try{let J=o.missions.findActiveByPriority();J?Z=`
|
|
881
|
+
## Active Mission: **${J.name}** (#${J.id})
|
|
882
|
+
* Use \`shadow_ops_briefing\` to resume context.
|
|
883
|
+
`:Z=`
|
|
884
|
+
## Mission Status: **Idle**
|
|
885
|
+
* No active mission. Use \`shadow_ops_plan\` to begin task tracking.
|
|
886
|
+
`}catch{}return{content:[{type:"text",text:`
|
|
887
|
+
# Repository Indexed: ${I}
|
|
888
|
+
|
|
889
|
+
\u23F1\uFE0F **Initial deep index completed in ${t}s** (one-time operation - future syncs are instant)
|
|
890
|
+
|
|
891
|
+
## \u{1F3D7}\uFE0F Architecture: ${h}
|
|
892
|
+
${z?`> ${z}
|
|
893
|
+
`:""}
|
|
894
|
+
|
|
895
|
+
${W}
|
|
896
|
+
${Z}
|
|
897
|
+
|
|
898
|
+
This is a ${H} repository with ${l} files.
|
|
899
|
+
|
|
900
|
+
## System Overview
|
|
901
|
+
| Statistic | Value |
|
|
902
|
+
|-----------|-------|
|
|
903
|
+
| Total Files | ${l} |
|
|
904
|
+
| Exported Symbols | ${u} |
|
|
905
|
+
| Primary Stack | ${a.primaryStack} |
|
|
906
|
+
|
|
907
|
+
## Component Map
|
|
908
|
+
| Component | Tech Stack | Description |
|
|
909
|
+
|-----------|------------|-------------|
|
|
910
|
+
${f.length>20?f.slice(0,20).join(`
|
|
911
|
+
`)+`
|
|
912
|
+
| ... | ... | (*${f.length-20} more components hidden*) |`:f.join(`
|
|
913
|
+
`)}
|
|
914
|
+
|
|
915
|
+
## Recommended Exploration Strategy
|
|
916
|
+
${G}
|
|
917
|
+
|
|
918
|
+
## \uFE0F Quick Reference
|
|
919
|
+
| Goal | Tool | Example |
|
|
920
|
+
|------|------|---------|
|
|
921
|
+
| Search for code | \`shadow_search_symbol\` | \`shadow_search_symbol({ query: "ProductController" })\` |
|
|
922
|
+
| Explore a *specific* component | \`shadow_recon_tree\` | \`shadow_recon_tree({ subPath: "apps/admin" })\` |
|
|
923
|
+
| Trace data flow | \`shadow_analyze_flow\` | \`shadow_analyze_flow({ filePath: "apps/admin/src/Admin.tsx" })\` |
|
|
924
|
+
| Find config/env | \`shadow_search_config\` | \`shadow_search_config({ key: "DATABASE_URL" })\` |
|
|
925
|
+
|
|
926
|
+
---
|
|
927
|
+
**Ready.** What would you like to investigate first?
|
|
928
|
+
`}]}}Q();import Nb from"path";import gk from"fs";function yk(n,e,r){let i=n.split(`
|
|
929
|
+
`),t=[],o=0;for(let d=0;d<Math.min(i.length,50);d++){let p=i[d].trim();if(p.startsWith("import ")||p.startsWith("from ")||p.startsWith("export ")&&p.includes(" from "))o=d+1;else if(p&&!p.startsWith("//")&&!p.startsWith("/*")&&!p.startsWith("*")&&p!==""&&o>0)break}o>0&&(t.push(...i.slice(0,o)),t.push(""));let s=[...r].sort((d,p)=>d.startLine-p.startLine),a=0,c=0;for(let d of s)if(d.isTarget){t.push(`// \u2501\u2501\u2501 REQUESTED: ${d.name} \u2501\u2501\u2501`);let p=i.slice(d.startLine-1,d.endLine);t.push(...p),t.push("// \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501"),t.push(""),c++}else{let p=d.signature||vk(i,d.startLine-1,d.kind);p&&(t.push(`${p}`),t.push(` /* implementation: ${d.lineCount} lines */`),t.push(""),a++)}let l=s[s.length-1];if(l)for(let d=l.endLine;d<i.length;d++){let p=i[d].trim();if(p==="}"||p==="};"){t.push(i[d]);break}else if(p&&!p.startsWith("//"))break}return{foldedSource:t.join(`
|
|
930
|
+
`),totalOriginalLines:i.length,foldedToLines:t.length,siblingsShown:c,siblingsFolded:a}}function vk(n,e,r){let i=n[e];if(r.includes("Function")||r.includes("Method")||r.includes("Arrow")){let t="";for(let o=e;o<Math.min(e+5,n.length);o++)if(t+=n[o],t.includes("{")||t.includes("=>")){let s=t.indexOf("{");s>0&&(t=t.substring(0,s).trim());break}return t.trim()}return i}async function jm(n){let{repoPath:e,filePath:r,resolver:i}=Ye(n),t=String(n.symbolName),o=n.context||"definition";if(r&&!i.isWithinRoot(r))return{content:[{type:"text",text:`Error: Access denied. Path ${r} is outside the repository root.`}],isError:!0};await ee(e);let s=C.getInstance(e),a=[];if(t.includes(".")){let[S,P]=t.split(".");a=s.exports.findMemberCandidates(S,P,r)}else a=s.exports.findDefinitionCandidates(t,r);if(a.length===0){let S=s.exports.findPotentialParents(t);if(S.length>0){let E=S.map(I=>`\`${I.name}\` (in ${i.getRelative(I.file_path)})`).join(", ");return{content:[{type:"text",text:`Symbol "${t}" not found as a top-level export.
|
|
931
|
+
However, it likely exists inside: ${E}.
|
|
932
|
+
Try: shadow_inspect_symbol({ symbolName: "${S[0].name}", context: "full" }) to see the class body.`}]}}let R=s.exports.findFuzzyCandidates(t).map(E=>E.name),U=Nn(t,R,50,3);if(U.length>0){let E=U.map(I=>` \u2022 \`${I.match}\` (${I.score}% match)`).join(`
|
|
933
|
+
`);return{content:[{type:"text",text:`Error: Symbol "${t}" not found in the index.
|
|
934
|
+
|
|
935
|
+
Suggestions:
|
|
936
|
+
${E}
|
|
937
|
+
|
|
938
|
+
Next steps:
|
|
939
|
+
\u2022 Search semantically: shadow_search_concept({ query: "${t}" })
|
|
940
|
+
\u2022 Verify repository is indexed: shadow_sync_index({ repoPath: "${e}" })`}]}}return{content:[{type:"text",text:`Error: Symbol "${t}" not found in the index.
|
|
941
|
+
|
|
942
|
+
Next steps:
|
|
943
|
+
\u2022 Search for it: shadow_search_concept({ query: "${t}" })
|
|
944
|
+
\u2022 Try with file path: shadow_inspect_symbol({ symbolName: "${t}", filePath: "..." })
|
|
945
|
+
`}]}}let c=a[0];if(c.kind==="ExportSpecifier"||c.kind==="ExportAllDeclaration"){let S=s.imports.findImportSource(c.file_path,t);if(S&&S.resolved_path)return jm({...n,filePath:S.resolved_path})}let l=gk.readFileSync(c.file_path,"utf8"),u=l.split(`
|
|
946
|
+
`),d=c.end_line-c.start_line+1,p=150,f,m=!1,h=null;if(o==="definition"&&d>p){let P=s.exports.findSiblings(c.file_path).map(R=>({name:R.name,kind:R.kind,signature:R.signature||"",startLine:R.start_line,endLine:R.end_line,lineCount:R.end_line-R.start_line+1,isTarget:R.name===c.name&&R.start_line===c.start_line,parentName:R.parent_name}));if(P.length>1){h=yk(l,{name:c.name,startLine:c.start_line,endLine:c.end_line},P);let R=i.getRelative(c.file_path);f=h.foldedSource+`
|
|
947
|
+
|
|
948
|
+
\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
|
|
949
|
+
\u{1F4CA} Semantic Fold Applied (context: "definition")
|
|
950
|
+
|
|
951
|
+
Original file: ${h.totalOriginalLines} lines
|
|
952
|
+
Folded view: ${h.foldedToLines} lines
|
|
953
|
+
Target Symbol: ${c.name}
|
|
954
|
+
\u{1F4A1} Need more context?
|
|
955
|
+
\u2022 Full symbol + dependencies + usage: shadow_inspect_symbol({ symbolName: "${c.name}", context: "full" })
|
|
956
|
+
\u2022 ALL symbols in this file: shadow_inspect_file({ filePath: "${R}", detailLevel: "signatures" })
|
|
957
|
+
\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501`,m=!0}else f=u.slice(c.start_line-1,c.start_line-1+p).join(`
|
|
958
|
+
`)+`
|
|
959
|
+
|
|
960
|
+
... (truncated ${d-p} lines)`,m=!0}else f=u.slice(c.start_line-1,c.end_line).join(`
|
|
961
|
+
`);let b=c.parent_name?`${c.parent_name}.${c.name}`:c.name,v=s.exports.findHydratedById(c.id),g={name:b,kind:c.kind,file:i.getRelative(c.file_path),startLine:c.start_line,endLine:c.end_line,totalLines:d,...m&&{truncated:!0,previewLines:p},classification:c.classification,source:f};if(v&&v.recent_intents&&v.recent_intents.length>0){let S={},P=Date.now();for(let R of v.recent_intents){if(R.is_crystallized&&R.type!=="crystal")continue;let U=R.created_at;U<1e10&&(U*=1e3);let E=new Date(U).getTime(),I=P-E,N="just now";if(I>0){let j=Math.floor(I/1e3),D=Math.floor(j/60),z=Math.floor(D/60),H=Math.floor(z/24);H>0?N=`${H}d ago`:z>0?N=`${z}h ago`:D>0?N=`${D}m ago`:N=`${j}s ago`}S[R.type]||(S[R.type]=[]),S[R.type].push(`[${N}] ${R.content}`)}g.intelligence={working_set_of:v.active_missions.map(R=>`Mission #${R.id}: ${R.name}`),total_intents:v.intent_log_count,recent_activity:S}}else v&&(g.intelligence={working_set_of:v.active_missions.map(S=>`Mission #${S.id}: ${S.name}`),total_intents:v.intent_log_count,recent_activity:null});try{let{generateEmbedding:S}=await Promise.resolve().then(()=>(Nt(),Nr)),P=`Symbol: ${g.name}
|
|
962
|
+
Signature: ${c.signature||""}
|
|
963
|
+
File: ${g.file}`,R=await S(P);if(R){let U=s.intentLogs.findSemanticMatches(R,3,c.id),E=new Promise(N=>setTimeout(()=>N([]),100)),I=await Promise.race([U,E]);I&&I.length>0&&(g.intelligence||(g.intelligence={}),g.intelligence.related_knowledge=I.map(N=>({type:N.type,content:N.content,from_symbol:N.symbol_name,similarity:`${(N.similarity*100).toFixed(0)}%`})))}}catch{}if(o==="definition")return{content:[{type:"text",text:JSON.stringify(g,null,2)}]};let _={definition:g,dependencies:s.imports.getImportsForFile(c.file_path).map(S=>({module:S.module_specifier,symbols:S.imported_symbols,relativePath:S.resolved_path?Nb.relative(e,S.resolved_path):null}))},x=[c.file_path],k=s.imports.findVerifiedDependents(x,t);return _.verifiedUsages=k.slice(0,10).map(S=>({file:Nb.relative(e,S.file_path),classification:S.classification,importedSymbols:S.imported_symbols})),{content:[{type:"text",text:JSON.stringify(_,null,2)}]}}Q();ct();import bk from"fs";import zb from"path";var _k=new Set(["ClassDeclaration","FunctionDeclaration","TsInterfaceDeclaration","TsTypeAliasDeclaration","TsEnumDeclaration","VariableDeclaration"]);function Db(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Um(n,e,r){let i=r.trim();return!!(!i||i.length>8e3||/^\w{1,4}\s+['"].*['"];?$/.test(i)&&!i.startsWith("export ")||i.includes(`
|
|
964
|
+
import `)&&!i.startsWith("import ")||e&&_k.has(e)&&n&&!new RegExp(`\\b${Db(n)}\\b`).test(i))}function xk(n,e){let r=Math.max(0,(n.start_line||1)-1),i=Math.min(e.length,Math.max(r+1,(n.end_line||n.start_line||1)+1,r+120)),t=e.slice(r,i).join(`
|
|
965
|
+
`),o=We(t,n.kind);return o?o.length>800?`${o.slice(0,797)}...`:o:n.signature||""}function Sk(n,e,r){if(!n)return null;let i=Db(n),t=[];e==="TsTypeAliasDeclaration"&&t.push(new RegExp(`^\\s*export\\s+type\\s+${i}\\b`)),e==="TsInterfaceDeclaration"&&t.push(new RegExp(`^\\s*export\\s+interface\\s+${i}\\b`)),e==="FunctionDeclaration"&&t.push(new RegExp(`^\\s*(?:export\\s+)?(?:async\\s+)?function\\s+${i}\\b`)),e==="ClassDeclaration"&&t.push(new RegExp(`^\\s*(?:export\\s+)?(?:abstract\\s+)?class\\s+${i}\\b`)),e==="VariableDeclaration"&&t.push(new RegExp(`^\\s*(?:export\\s+)?(?:const|let|var)\\s+${i}\\b`)),t.push(new RegExp(`\\b${i}\\b`));for(let o of t)for(let s=0;s<r.length;s++)if(o.test(r[s]))return s+1;return null}function $k(n,e,r){let i=Math.max(0,n-1);if(e==="TsTypeAliasDeclaration"||e==="VariableDeclaration"||e==="TsEnumDeclaration"){for(let t=i;t<r.length;t++){if(r[t].includes(";"))return t+1;if(/^\s*export\s+(type|interface|class|function|const|let|var)\b/.test(r[t])&&t>i)return t}return Math.min(r.length,n+20)}if(e==="TsInterfaceDeclaration"||e==="ClassDeclaration"||e==="FunctionDeclaration"){let t=0,o=!1;for(let s=i;s<r.length;s++){let a=r[s];for(let c of a)c==="{"?(t+=1,o=!0):c==="}"&&(t-=1);if(o&&t<=0)return s+1}return Math.min(r.length,n+120)}return Math.min(r.length,n+40)}function wk(n){return Array.isArray(n)?n.filter(e=>e.module!=="__type_reference__"):n}function kk(n,e){return n?e==="TsTypeAliasDeclaration"?`type ${n}`:e==="TsInterfaceDeclaration"?`interface ${n}`:e==="FunctionDeclaration"?`function ${n}()`:e==="ClassDeclaration"?`class ${n}`:e==="VariableDeclaration"?`const ${n}`:`${e||"symbol"} ${n}`:e||"symbol"}function Ek(n,e){if(!n||e!=="TsTypeAliasDeclaration"&&e!=="TsInterfaceDeclaration")return n;let r=n.indexOf(`
|
|
966
|
+
export `);return r<=0?n:n.slice(0,r).trim()}async function Ab(n){let{repoPath:e,filePath:r}=Ye(n);if(!r)return{content:[{type:"text",text:"Error: filePath is required"}],isError:!0};let i=n.detailLevel||"signatures";await ee(e);let{files:t,exports:o}=C.getInstance(e),s=t.findByPath(r),a=zb.basename(r),c=/\.(ts|tsx|php|py|go)$/.test(a),l;c?l=await $n(r):l={exports:o.findByFile(r),imports:[]};let u=null;if(c)try{u=bk.readFileSync(r,"utf8").split(`
|
|
967
|
+
`)}catch{u=null}Array.isArray(l.exports)&&u&&(l.exports=l.exports.map(m=>{let h=typeof m.signature=="string"?m.signature:"",b=m.start_line??m.line??1,v=m.end_line??m.endLine??b;if(Um(m.name||"",m.kind,h)){let _=Sk(m.name||"",m.kind,u),x=_??b,k=_?$k(x,m.kind,u):v,S=xk({name:m.name||"",kind:m.kind,signature:h,start_line:x,end_line:k},u),P=Ek(S,m.kind),R=Um(m.name||"",m.kind,P)?kk(m.name||"",m.kind):P;return{...m,signature:R,start_line:x,end_line:k,line:x,endLine:k,members:Array.isArray(m.members)?m.members.filter(U=>{let E=typeof U.signature=="string"?U.signature:"";return!Um(U.name||"",U.kind,E)}):m.members}}return m})),l.imports=wk(l.imports),i==="structure"?(l.exports=l.exports.map(m=>{let h={name:m.name,kind:m.kind,line:m.start_line,classification:m.classification};return m.members&&m.members.length>0?{...h,members:m.members.map(b=>({name:`${m.name}.${b.name}`,kind:b.kind,line:b.start_line}))}:h}),delete l.imports):i==="signatures"&&(l.exports=l.exports.map(m=>{let h={name:m.name,kind:m.kind,signature:m.signature,line:m.start_line,classification:m.classification,capabilities:JSON.parse(m.capabilities||"[]")};return m.members&&m.members.length>0?{...h,members:m.members.map(b=>({name:`${m.name}.${b.name}`,kind:b.kind,signature:b.signature,line:b.start_line}))}:h}),delete l.imports);let d=zb.relative(e,r),p=l.exports?.length||0,f="";return i==="structure"&&p>0?f=`
|
|
968
|
+
|
|
969
|
+
\u{1F4A1} Showing ${p} symbol names. For full signatures: shadow_inspect_file({ filePath: "${d}", detailLevel: "signatures" })`:i==="signatures"&&p>0&&(f=`
|
|
970
|
+
|
|
971
|
+
\u{1F4A1} Showing ${p} complete signatures. To inspect a specific symbol: shadow_inspect_symbol({ symbolName: "...", context: "full" })`),{content:[{type:"text",text:JSON.stringify({...l,fileDescription:s?.summary||"",classification:s?.classification&&s.classification!=="Unknown"?s.classification:Dt(r,C.getInstance(e)).layer},null,2)+f}]}}Q();ct();async function Lb(n){let{repoPath:e}=n;try{await ee(e),new bt(e).analyzeGhostChanges();let i=new Ie(e),t=i.detectAndRepairShifts(),o=i.syncLifecycle(),a=await new qe(e).recoverFromGitNotes(),{HologramService:c}=await Promise.resolve().then(()=>(Me(),Mh)),l=new c(e),u=Ce(C.getInstance(e),e);l.updateTopography(u);let d=l.computeGravityZones();l.updateGravityZones(d);let p="Shadow Sync complete. Code changes indexed and intent logs updated.";return p+=`
|
|
972
|
+
\u269B\uFE0F Hologram: Refreshed architectural map (${d.length} hotspots).`,t.repaired>0&&(p+=`
|
|
973
|
+
\u2728 Nano-Repair: Fixed ${t.repaired} links.`),a.missionsRecovered>0&&(p+=`
|
|
974
|
+
\u{1F9EC} Re-hydration: Recovered ${a.missionsRecovered} missions.`),{content:[{type:"text",text:p}]}}catch(r){return{content:[{type:"text",text:`Error: ${r.message}`}],isError:!0}}}Me();async function Ob(n){let{repoPath:e,deep:r}=n;try{let i=r===!0;await ee(e,5,i,i);let t=new Ie(e),o=t.detectAndRepairShifts(),s=t.syncLifecycle(),a=new oe(e);a.refreshTopography();let c=a.computeGravityZones();a.updateGravityZones(c);let l=`Repository at ${e} has been ${r?"deeply ":""}re-indexed.`;return o.repaired>0&&(l+=`
|
|
975
|
+
\u2728 Nano-Repair: Fixed ${o.repaired} links.`),l+=`
|
|
976
|
+
\u269B\uFE0F Hologram: Refreshed architectural map (${c.length} hotspots).`,{content:[{type:"text",text:l}]}}catch(i){return{content:[{type:"text",text:`Error: ${i.message}`}],isError:!0}}}async function Cb(n){let{repoPath:e}=n;try{let i=new Ie(e).detectAndRepairShifts();return{content:[{type:"text",text:JSON.stringify(i,null,2)}]}}catch(r){return{content:[{type:"text",text:`Error tracing shifts: ${r.message}`}],isError:!0}}}V();import Oe from"fs";import xn from"path";var gr=$.child({module:"git-hooks"}),ma={"post-merge":`#!/bin/sh
|
|
977
|
+
# Liquid Shadow: Auto-refresh index after merge/pull
|
|
978
|
+
# Generated by liquid-shadow
|
|
979
|
+
|
|
980
|
+
REPO_PATH="$(git rev-parse --show-toplevel)"
|
|
981
|
+
|
|
982
|
+
# Run liquid-shadow sync in background to avoid blocking git operations
|
|
983
|
+
nohup npx @precisionutilityguild/liquid-shadow sync "$REPO_PATH" > /dev/null 2>&1 &
|
|
984
|
+
|
|
985
|
+
exit 0
|
|
986
|
+
`,"post-checkout":`#!/bin/sh
|
|
987
|
+
# Liquid Shadow: Auto-refresh index after branch checkout
|
|
988
|
+
# Generated by liquid-shadow
|
|
989
|
+
|
|
990
|
+
# Only run on branch checkouts, not file checkouts
|
|
991
|
+
# $3 is 1 for branch checkout, 0 for file checkout
|
|
992
|
+
if [ "$3" = "1" ]; then
|
|
993
|
+
REPO_PATH="$(git rev-parse --show-toplevel)"
|
|
994
|
+
|
|
995
|
+
# Run liquid-shadow sync in background
|
|
996
|
+
nohup npx @precisionutilityguild/liquid-shadow sync "$REPO_PATH" > /dev/null 2>&1 &
|
|
997
|
+
fi
|
|
998
|
+
|
|
999
|
+
exit 0
|
|
1000
|
+
`,"post-commit":`#!/bin/sh
|
|
1001
|
+
# Liquid Shadow: Trigger symbol shift detection after commit
|
|
1002
|
+
# Generated by liquid-shadow
|
|
1003
|
+
|
|
1004
|
+
REPO_PATH="$(git rev-parse --show-toplevel)"
|
|
1005
|
+
|
|
1006
|
+
# Run liquid-shadow sync in background
|
|
1007
|
+
nohup npx @precisionutilityguild/liquid-shadow sync "$REPO_PATH" > /dev/null 2>&1 &
|
|
1008
|
+
|
|
1009
|
+
exit 0
|
|
1010
|
+
`};function Fm(n){let{repoPath:e,enableAutoRefresh:r=!0,enableSymbolHealing:i=!0}=n,t=xn.join(e,".git","hooks"),o=[],s=[],a=[];if(!Oe.existsSync(xn.join(e,".git")))return a.push("Not a git repository"),{installed:o,skipped:s,errors:a};Oe.existsSync(t)||Oe.mkdirSync(t,{recursive:!0});let c=[];r&&c.push("post-merge","post-checkout"),i&&c.push("post-commit");for(let l of c){let u=xn.join(t,l),d=ma[l];if(!d){a.push(`No template found for hook: ${l}`);continue}try{if(Oe.existsSync(u)){let p=Oe.readFileSync(u,"utf-8");if(p.includes("liquid-shadow")||p.includes("mcp-liquid-shadow")){s.push(l),gr.info({hookName:l},"Hook already installed, skipping");continue}let f=`${u}.backup-${Date.now()}`;Oe.copyFileSync(u,f),gr.info({hookName:l,backupPath:f},"Backed up existing hook")}Oe.writeFileSync(u,d,{mode:493}),o.push(l),gr.info({hookName:l},"Installed git hook")}catch(p){a.push(`Failed to install ${l}: ${p}`),gr.error({hookName:l,err:p},"Failed to install hook")}}return{installed:o,skipped:s,errors:a}}function Zm(n){let e=xn.join(n,".git","hooks"),r=[],i=[];if(!Oe.existsSync(e))return{removed:r,errors:i};let t=Object.keys(ma);for(let o of t){let s=xn.join(e,o);try{if(Oe.existsSync(s)){let a=Oe.readFileSync(s,"utf-8");(a.includes("liquid-shadow")||a.includes("mcp-liquid-shadow"))&&(Oe.unlinkSync(s),r.push(o),gr.info({hookName:o},"Removed git hook"))}}catch(a){i.push(`Failed to remove ${o}: ${a}`),gr.error({hookName:o,err:a},"Failed to remove hook")}}return{removed:r,errors:i}}function vi(n){let e=xn.join(n,".git","hooks"),r=[],i=[];if(!Oe.existsSync(e))return{installed:r,notInstalled:Object.keys(ma)};let t=Object.keys(ma);for(let o of t){let s=xn.join(e,o);if(Oe.existsSync(s)){let a=Oe.readFileSync(s,"utf-8");a.includes("liquid-shadow")||a.includes("mcp-liquid-shadow")?r.push(o):i.push(o)}else i.push(o)}return{installed:r,notInstalled:i}}V();var Hm=$.child({module:"mcp:tools:env:hooks"});async function Mb(n){let{repoPath:e,action:r,enableAutoRefresh:i,enableSymbolHealing:t}=n;if(r==="install"){Hm.info({repoPath:e,enableAutoRefresh:i,enableSymbolHealing:t},"Installing git hooks");let o=Fm({repoPath:e,enableAutoRefresh:i??!0,enableSymbolHealing:t??!0}),s=["# Git Hooks Installation","",`## Installed (${o.installed.length})`,o.installed.length>0?o.installed.map(a=>`- \`${a}\``).join(`
|
|
1011
|
+
`):"- None","",`## \u23ED\uFE0F Skipped (${o.skipped.length})`,o.skipped.length>0?o.skipped.map(a=>`- \`${a}\` (already installed)`).join(`
|
|
1012
|
+
`):"- None",""];return o.errors.length>0&&(s.push(`## Errors (${o.errors.length})`),s.push(o.errors.map(a=>`- ${a}`).join(`
|
|
1013
|
+
`)),s.push("")),s.push("---"),s.push("**What happens now?**"),(i??!0)&&s.push("- After `git pull` or `git checkout`: Index auto-refreshes in background"),(t??!0)&&s.push("- After `git commit`: Symbol shift detection runs automatically"),{content:[{type:"text",text:s.join(`
|
|
1014
|
+
`)}]}}if(r==="remove"){Hm.info({repoPath:e},"Uninstalling git hooks");let o=Zm(e),s=["# Git Hooks Uninstallation","",`## Removed (${o.removed.length})`,o.removed.length>0?o.removed.map(a=>`- \`${a}\``).join(`
|
|
1015
|
+
`):"- None",""];return o.errors.length>0&&(s.push(`## Errors (${o.errors.length})`),s.push(o.errors.map(a=>`- ${a}`).join(`
|
|
1016
|
+
`))),{content:[{type:"text",text:s.join(`
|
|
1017
|
+
`)}]}}if(r==="status"){Hm.info({repoPath:e},"Checking git hooks status");let o=vi(e);return{content:[{type:"text",text:["# Git Hooks Status","",`## Installed (${o.installed.length})`,o.installed.length>0?o.installed.map(a=>`- \`${a}\``).join(`
|
|
1018
|
+
`):"- None","",`## Not Installed (${o.notInstalled.length})`,o.notInstalled.length>0?o.notInstalled.map(a=>`- \`${a}\``).join(`
|
|
1019
|
+
`):"- None","","---",'**To install hooks**: Use `shadow_env_hooks({ action: "install" })`'].join(`
|
|
1020
|
+
`)}]}}return{content:[{type:"text",text:`Unknown action: ${r}`}],isError:!0}}It();import fa from"path";import jb from"fs";V();var Ik=$.child({module:"mcp:tools:env:diagnose"});async function Ub(n){let{repoPath:e}=n,r=fa.isAbsolute(e)?fa.normalize(e):fa.resolve(process.cwd(),e);Ik.info({repoPath:r},"Running MCP diagnose");let i=["# MCP Server Health Check","",`**Repository path**: \`${r}\``,""],t=!1;try{t=jb.statSync(r).isDirectory()}catch{}i.push("## 1. Path"),i.push(t?"\u2705 Directory exists":"\u274C Path missing or not a directory"),i.push("");let o=fa.join(r,".git"),s=t&&jb.existsSync(o);i.push("## 2. Git repository"),i.push(s?"\u2705 `.git` found":"\u274C Not a Git repository (or path invalid)"),i.push("");let a=!1,c=!1;if(t)try{ze(r),a=!0,c=Xe(r)}catch{}i.push("## 3. Database & index"),i.push(a?"\u2705 Database connected":"\u274C Database not available"),i.push(c?"\u2705 Repository indexed":"\u26A0\uFE0F Not indexed yet"),i.push("");let l=t?vi(r):{installed:[],notInstalled:[]};return i.push("## 4. Git hooks"),i.push(l.installed.length>0?`\u2705 Installed: ${l.installed.join(", ")}`:"\u26A0\uFE0F No Shadow hooks installed"),i.push(""),i.push("## 5. Next steps"),t?c?i.push("- Index is ready. Use shadow_search_*, shadow_inspect_*, shadow_analyze_*."):i.push("- Run **shadow_recon_onboard** to populate the index."):i.push("- Use a valid repository path."),{content:[{type:"text",text:i.join(`
|
|
1021
|
+
`)}]}}Q();V();import Tk from"path";import Rk from"fs";var Fb=$.child({module:"mcp:tools:workspace:list"});async function Zb(n){let{repoPaths:e,status:r,limit:i,summarize:t=!1}=n;Fb.info({repoCount:e.length,status:r,summarize:t},"Getting workspace missions");let o=[];for(let a of e)if(Rk.existsSync(a))try{let{missions:c}=C.getInstance(a),l=c.findAll(r);for(let u of l){let d=c.getLinks(u.id);o.push({...u,repo_path:a,repo_name:Tk.basename(a),cross_repo_links:d})}}catch(c){Fb.error({error:c,repoPath:a},"Failed to query repo missions")}if(o.sort((a,c)=>{let l=p=>p==="in-progress"?0:p==="verifying"?1:2,u=l(a.status),d=l(c.status);return u!==d?u-d:(a.created_at||0)-(c.created_at||0)}),t||o.length>50&&!i){let a=i||20,c=o.slice(0,a),l=o.reduce((d,p)=>(d[p.status]=(d[p.status]||0)+1,d),{}),u=o.reduce((d,p)=>(d[p.repo_name]=(d[p.repo_name]||0)+1,d),{});return{content:[{type:"text",text:JSON.stringify({summary:{total_missions:o.length,by_status:l,by_repo:u,showing_top:a},top_missions:c,hint:`Showing top ${a} of ${o.length} missions. Use limit to adjust or summarize:false for full list.`},null,2)}]}}let s=i?o.slice(0,i):o;return{content:[{type:"text",text:JSON.stringify({total_missions:o.length,showing:s.length,missions:s},null,2)}]}}Q();V();var Pk=$.child({module:"mcp:tools:workspace:link"});async function Hb(n){let{parentRepoPath:e,parentMissionId:r,childRepoPath:i,childMissionId:t,relationship:o="related"}=n;Pk.info({parentRepoPath:e,childRepoPath:i},"Linking cross-repo missions");let{missions:s}=C.getInstance(e),{missions:a}=C.getInstance(i);try{let c=s.findById(r),l=a.findById(t);if(!c)throw new Error(`Parent mission ${r} not found`);if(!l)throw new Error(`Child mission ${t} not found`);return s.createLink(r,i,t,o,"parent"),a.createLink(t,e,r,o,"child"),{content:[{type:"text",text:JSON.stringify({status:"linked",relationship:o},null,2)}]}}catch(c){throw new Error(`Failed to link: ${c.message}`)}}V();var Nk=$.child({module:"mcp:tools:workspace:fuse"});async function Wb(n){let{repoPaths:e,name:r}=n;Nk.info({repoCount:e.length,name:r},"Creating fused workspace index");try{let i=Ic({repoPaths:e,name:r||`workspace-${Date.now()}`});return{content:[{type:"text",text:JSON.stringify({message:"Fused index created",status:i.getStatus()},null,2)}]}}catch(i){throw new Error(`Failed to fuse: ${i.message}`)}}var ha=y.object({repoPath:y.string(),name:y.string().optional(),goal:y.string().optional(),strategy:y.string().optional(),missionId:y.number().optional(),parentId:y.number().optional(),outcomeContract:y.string().optional(),templateId:y.string().optional(),templateVars:y.record(y.string(),y.string()).optional()}),ga=y.object({repoPath:y.string(),missionId:y.number(),stepId:y.string().optional(),status:y.enum(["pending","in-progress","completed","failed","skipped"]).optional(),contextPivot:y.string().optional(),updates:y.array(y.object({stepId:y.string(),status:y.enum(["pending","in-progress","completed","failed","skipped"]),contextPivot:y.string().optional()})).optional(),artifacts:y.array(y.object({type:y.string(),identifier:y.string(),metadata:y.record(y.string(),y.any()).optional()})).optional()}),ya=y.object({repoPath:y.string(),missionId:y.number().optional(),scope:y.enum(["mission","project"]).optional(),altitude:y.enum(["orbit","atmosphere","ground"]).optional(),activeMissionsLimit:y.number().int().positive().optional(),recentActivityLimit:y.number().int().positive().optional(),compact:y.boolean().optional()}),va=y.object({repoPath:y.string(),missionId:y.number().optional(),type:y.enum(["decision","blocker","discovery","fix"]),content:y.string(),filePath:y.string().optional(),symbolName:y.string().optional(),standalone:y.boolean().optional()}),ba=y.object({repoPath:y.string(),missionId:y.number()}),_a=y.object({repoPath:y.string(),format:y.enum(["markdown","json"]).optional(),limit:y.number().optional(),offset:y.number().optional(),since:y.number().optional(),until:y.number().optional()}),xa=y.object({repoPath:y.string()}),Sa=y.object({repoPath:y.string(),compact:y.boolean().optional()}),$a=y.object({repoPath:y.string(),missionId:y.number().optional(),symbolId:y.number().optional()}),wa=y.object({repoPath:y.string(),missionId:y.number().optional(),depth:y.number().optional(),limit:y.number().optional(),format:y.enum(["mermaid","json"]).optional()}),Bb=y.object({repoPath:y.string(),filePaths:y.array(y.string())}),ka=y.object({repoPath:y.string(),subPath:y.string().optional(),maxDepth:y.number().int().optional()}),Ea=y.object({repoPath:y.string(),compact:y.boolean().optional()}),Ia=y.object({repoPath:y.string()}),Ta=y.object({repoPath:y.string()}),Ra=y.object({repoPath:y.string()}),Pa=y.object({repoPath:y.string(),query:y.string(),limit:y.number().int().optional(),offset:y.number().int().optional(),compact:y.boolean().optional(),fileType:y.string().optional(),layer:y.enum(["Solid","Liquid","Virtual","Intel","Phantom"]).optional()}),Na=y.object({repoPath:y.string(),query:y.string(),limit:y.number().int().optional(),offset:y.number().int().optional(),fileType:y.string().optional(),layer:y.enum(["Solid","Liquid","Virtual","Intel","Phantom"]).optional(),matchMode:y.enum(["any","all","exact"]).optional()}),za=y.object({repoPath:y.string(),query:y.string().optional(),key:y.string().optional(),kind:y.enum(["Service","Image","Port","Env"]).optional(),limit:y.number().int().optional(),showUsage:y.boolean().optional()}),Da=y.object({repoPath:y.string(),query:y.string(),limit:y.number().int().optional(),offset:y.number().int().optional(),fileType:y.string().optional(),layer:y.enum(["Solid","Liquid","Virtual","Intel","Phantom"]).optional(),ranked:y.boolean().optional()}),Aa=y.object({repoPath:y.string(),filePath:y.string().optional(),symbolName:y.string(),depth:y.number().int().optional(),limit:y.number().int().positive().optional(),offset:y.number().int().nonnegative().optional()}),La=y.object({repoPath:y.string(),filePath:y.string(),symbolName:y.string().optional()}),Oa=y.object({repoPath:y.string(),filePath:y.string(),direction:y.enum(["imports","imported_by"]),limit:y.number().int().positive().optional(),offset:y.number().int().nonnegative().optional()}),Ca=y.object({repoPath:y.string(),mode:y.enum(["dead-code","circular-deps"]),limit:y.number().int().optional(),includeTests:y.boolean().optional(),excludePatterns:y.array(y.string()).optional(),includeMigrations:y.boolean().optional(),includeFixtures:y.boolean().optional(),confidenceThreshold:y.enum(["all","high","medium"]).optional()}),Ma=y.object({repoPath:y.string(),symbolName:y.string(),filePath:y.string().optional(),context:y.enum(["definition","full"]).optional()}),ja=y.object({repoPath:y.string(),filePath:y.string(),detailLevel:y.enum(["structure","signatures","summaries","detailed"]).optional()}),Ua=y.object({repoPath:y.string()}),Fa=y.object({repoPath:y.string(),deep:y.boolean().optional()}),Za=y.object({repoPath:y.string()}),Ha=y.object({repoPath:y.string(),action:y.enum(["install","remove","status"]),enableAutoRefresh:y.boolean().optional(),enableSymbolHealing:y.boolean().optional()}),Wa=y.object({repoPath:y.string()}),Ba=y.object({repoPaths:y.array(y.string()),status:y.string().optional(),limit:y.number().int().positive().optional(),summarize:y.boolean().optional()}),Ga=y.object({parentRepoPath:y.string(),parentMissionId:y.number(),childRepoPath:y.string(),childMissionId:y.number(),relationship:y.string()}),Ja=y.object({repoPaths:y.array(y.string()),name:y.string().optional()});V();var zk=["repoPath","filePath","subPath","path","parentRepoPath","childRepoPath"];function Va(n,e){if(!(!n||typeof n!="object"))for(let r in n)typeof n[r]=="string"?["filePath","subPath","path","repoPath","parentRepoPath","childRepoPath"].includes(r)&&(n[r]=e.resolve(n[r])):Array.isArray(n[r])?n[r].forEach(i=>Va(i,e)):typeof n[r]=="object"&&Va(n[r],e)}function Gb(n){if(!(!n||typeof n!="object")){for(let e of zk)if(typeof n[e]=="string")try{n[e]=vn(n[e])}catch(r){throw r}Array.isArray(n.repoPaths)&&(n.repoPaths=n.repoPaths.map(e=>typeof e=="string"?vn(e):e))}}function Jb(n,e){return async r=>{let i=$.child({handler:n});try{Gb(r)}catch(t){return i.warn({err:t},"Path sanitization failed"),Vt("VALIDATION_ERROR",t.message,{})}try{if(r?.repoPath&&typeof r.repoPath=="string"){let o=new mr(r.repoPath);Va(r,o)}i.info({args:r},"Handling tool call");let t=await e(r);return i.debug("Tool call successful"),t}catch(t){i.error({err:t},"Error in tool handler");let o=t.message?.includes("Access denied"),s=`Handler '${n}' failed: ${t.message}`;return!o&&r?.repoPath&&(s+=hi),Vt(o?"FORBIDDEN":"INTERNAL_ERROR",s,{stack:t.stack})}}}function Vb(n,e,r){return async i=>{let t=$.child({handler:n});try{Gb(i)}catch(s){return t.warn({err:s},"Path sanitization failed"),Vt("VALIDATION_ERROR",s.message,{})}if(i?.repoPath&&typeof i.repoPath=="string"){let s=new mr(i.repoPath);Va(i,s)}t.info({args:i},"Handling tool call with validation");let o=e.safeParse(i);if(!o.success){let s=o.error.issues.map(a=>`${a.path.length>0?`${a.path.join(".")}: `:""}${a.message}`).join(", ");return t.warn({validationIssues:o.error.issues},"Validation failed"),Vt("VALIDATION_ERROR",`Validation error: ${s}`,{issues:o.error.issues})}try{let s=await r(o.data);return t.debug("Tool call successful"),s}catch(s){t.error({err:s},"Error in tool handler");let a=s.message?.includes("Access denied"),c=`Handler '${n}' failed: ${s.message}`,l=o.data;return!a&&l?.repoPath&&(c+=hi),Vt(a?"FORBIDDEN":"INTERNAL_ERROR",c,{stack:s.stack})}}}function yr(n,e){return async r=>{let i=r.repoPath;if(!i)return n(r);let t=cb(i,e);return t||n(r)}}var Dk={shadow_ops_plan:{default:Uv},shadow_ops_track:{default:Wv},shadow_ops_briefing:{default:ca},shadow_ops_log:{default:Qv},shadow_ops_synthesize:{default:Jv},shadow_ops_chronicle:{default:qv},shadow_ops_context:{default:yr(Kv,"shadow_ops_context")},shadow_ops_health:{default:Xv},shadow_ops_graph:{default:rb},shadow_ops_crystallize:{default:ob},shadow_working_set_check:{default:yr(sb,"shadow_working_set_check")},shadow_recon_tree:{default:kb},shadow_recon_hologram:{default:Eb},shadow_recon_topography:{default:Tb},shadow_recon_scout:{default:Rb},shadow_recon_onboard:{default:Pb},shadow_search_concept:{default:lb},shadow_search_symbol:{default:ub},shadow_search_config:{default:db},shadow_search_path:{default:mb},shadow_analyze_impact:{default:fb},shadow_analyze_flow:{default:bb},shadow_analyze_deps:{default:Sb},shadow_analyze_debt:{default:wb},shadow_inspect_symbol:{default:yr(jm,"shadow_inspect_symbol")},shadow_inspect_file:{default:yr(Ab,"shadow_inspect_file")},shadow_sync_trace:{default:yr(Lb,"shadow_sync_trace")},shadow_sync_index:{default:Ob},shadow_sync_repair:{default:yr(Cb,"shadow_sync_repair")},shadow_env_hooks:{default:Mb},shadow_env_diagnose:{default:Ub},shadow_workspace_list:{default:Zb},shadow_workspace_link:{default:Hb},shadow_workspace_fuse:{default:Wb}},Ak={shadow_ops_plan:ha,shadow_ops_track:ga,shadow_ops_briefing:ya,shadow_ops_log:va,shadow_ops_synthesize:ba,shadow_ops_chronicle:_a,shadow_ops_context:Sa,shadow_ops_health:xa,shadow_ops_graph:wa,shadow_ops_crystallize:$a,shadow_working_set_check:Bb,shadow_recon_tree:ka,shadow_recon_hologram:Ea,shadow_recon_topography:Ia,shadow_recon_scout:Ta,shadow_recon_onboard:Ra,shadow_search_concept:Pa,shadow_search_symbol:Na,shadow_search_config:za,shadow_search_path:Da,shadow_analyze_impact:Aa,shadow_analyze_flow:La,shadow_analyze_deps:Oa,shadow_analyze_debt:Ca,shadow_inspect_symbol:Ma,shadow_inspect_file:ja,shadow_sync_trace:Ua,shadow_sync_index:Fa,shadow_sync_repair:Za,shadow_env_hooks:Ha,shadow_env_diagnose:Wa,shadow_workspace_list:Ba,shadow_workspace_link:Ga,shadow_workspace_fuse:Ja},Wm=new Map;for(let[n,e]of Object.entries(Dk)){let r=Ak[n];r?Wm.set(n,Vb(n,r,async i=>{if(e.default)return e.default(i);let t=i.mode||i.action;if(!t){let s=Object.keys(e);return{content:[{type:"text",text:`Missing required parameter "mode" or "action" for tool ${n}.
|
|
1022
|
+
|
|
1023
|
+
\u{1F4A1} Solution: Specify one of: ${s.join(", ")}`}],isError:!0}}let o=e[t];if(!o){let s=Object.keys(e);return{content:[{type:"text",text:`Invalid mode/action "${t}" for tool ${n}.
|
|
1024
|
+
|
|
1025
|
+
\u{1F4A1} Solution: Use one of these modes: ${s.join(", ")}`}],isError:!0}}return o(i)})):Wm.set(n,Jb(n,async i=>{if(e.default)return e.default(i);let t=i.mode||i.action;if(!t)throw new Error(`Missing mode/action for tool ${n}`);let o=e[t];if(!o)throw new Error(`Unknown mode/action '${t}' for tool ${n}`);return o(i)}))}async function qb(n,e){let r=Wm.get(n);if(!r)throw new Error(`Tool not found: ${n}`);return r(e)}var Lk={shadow_ops_plan:ha,shadow_ops_track:ga,shadow_ops_briefing:ya,shadow_ops_log:va,shadow_ops_synthesize:ba,shadow_ops_chronicle:_a,shadow_ops_context:Sa,shadow_ops_health:xa,shadow_ops_graph:wa,shadow_ops_crystallize:$a,shadow_recon_tree:ka,shadow_recon_hologram:Ea,shadow_recon_topography:Ia,shadow_recon_scout:Ta,shadow_recon_onboard:Ra,shadow_search_concept:Pa,shadow_search_symbol:Na,shadow_search_config:za,shadow_search_path:Da,shadow_analyze_impact:Aa,shadow_analyze_flow:La,shadow_analyze_deps:Oa,shadow_analyze_debt:Ca,shadow_inspect_symbol:Ma,shadow_inspect_file:ja,shadow_sync_trace:Ua,shadow_sync_index:Fa,shadow_sync_repair:Za,shadow_env_hooks:Ha,shadow_env_diagnose:Wa,shadow_workspace_list:Ba,shadow_workspace_link:Ga,shadow_workspace_fuse:Ja};function Ok(){let n={};for(let e of Lv){let r=Lk[e.name];r&&(n[e.name]={name:e.name,description:e.description,parameters:r,execute:async i=>{try{let t=await qb(e.name,i);if(t.isError)return`Error: ${t.content[0]?.text}`;let o;try{o=JSON.parse(t.content[0].text)}catch{return t.content[0].text}return o}catch(t){return`Error: ${t.message}`}}})}return n}Q();cc();It();ct();Me();zm();export{mt as BriefingEngine,an as BriefingStatusService,on as CleanSweep,ao as DecayScorer,Hi as EmbeddingPriorityQueue,Rn as EmbeddingWorkerPool,po as FusedIndexManager,mi as GitNotesAdapter,la as GraphExporterService,nn as HeritageAnalyzer,oe as HologramService,nh as IGNORED_PATH_SEGMENTS,eh as INDEXABLE_EXTENSIONS,th as INDEXABLE_FILENAMES,sn as ImpactService,Oh as MatchType,Er as MissionRepository,Ie as NanoRepair,yn as NarrativeService,qe as PersistencePivotService,C as RepositoryFactory,je as SearchService,bt as ShadowTrace,c0 as analyzeImpact,$r as buildTree,vi as checkGitHooks,mc as checkVirtualMerge,g_ as chunkFile,Dt as classifyFileLayer,ac as closeDB,Mx as closeFusedIndex,Xt as computeContentHash,Gi as cosineSimilarity,Oi as diagnoseResolution,ee as ensureCacheUpToDate,Rm as expandTemplate,Om as findBackendRoute,Nn as findFuzzyMatches,Wi as generateEmbedding,Bi as generateEmbeddingsBatch,Ok as getAITools,dc as getAncestors,Ce as getArchitectureSummary,p0 as getBriefing,nx as getChangedFiles,_e as getCurrentBranch,Ge as getCurrentCommit,ze as getDB,en as getDefaultPool,Ic as getFusedIndex,f0 as getGravityHotspots,u0 as getHologram,m0 as getIntentLogs,sc as getLastIndexedCommit,v_ as getMetrics,rc as getMetricsSnapshot,d0 as getMissions,jv as getTemplate,l0 as getTopography,fc as hasChangesSince,oc as hasContentChanged,_f as initDB,En as initResolver,Fm as installGitHooks,Xe as isIndexed,Tc as listFusedIndexes,zw as listTemplates,Li as markAsIndexed,$n as parseFile,$c as processRepo,Pi as recordIndexCacheHit,Kt as recordQueryStart,st as recordSearchHistoryFailure,Pt as resolveImportPath,vn as sanitizePathInput,bn as sanitizeQueryInput,Ka as scanRepo,a0 as searchSymbol,Pr as setUseWorkerThreads,Ir as shutdownDefaultPool,Zm as uninstallGitHooks};
|