archik 0.6.11 → 0.6.13

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.
@@ -437,7 +437,7 @@ edges:
437
437
 
438
438
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let m of c.seen.entries()){let k=m[1];if(s===m[0]){y(m);continue}if(c.external){let O=c.external.registry.get(m[0])?.id;if(s!==m[0]&&O){y(m);continue}}if(c.metadataRegistry.get(m[0])?.id){y(m);continue}if(k.cycle){y(m);continue}if(k.count>1&&c.reused==="ref"){y(m);continue}}}function RT(c,s){let f=c.seen.get(s);if(!f)throw new Error("Unprocessed schema. This is a bug in Zod.");let p=m=>{let k=c.seen.get(m);if(k.ref===null)return;let R=k.def??k.schema,O={...R},W=k.ref;if(k.ref=null,W){p(W);let K=c.seen.get(W),Q=K.schema;if(Q.$ref&&(c.target==="draft-07"||c.target==="draft-04"||c.target==="openapi-3.0")?(R.allOf=R.allOf??[],R.allOf.push(Q)):Object.assign(R,Q),Object.assign(R,O),m._zod.parent===W)for(let be in R)be==="$ref"||be==="allOf"||be in O||delete R[be];if(Q.$ref&&K.def)for(let be in R)be==="$ref"||be==="allOf"||be in K.def&&JSON.stringify(R[be])===JSON.stringify(K.def[be])&&delete R[be]}let G=m._zod.parent;if(G&&G!==W){p(G);let K=c.seen.get(G);if(K?.schema.$ref&&(R.$ref=K.schema.$ref,K.def))for(let Q in R)Q==="$ref"||Q==="allOf"||Q in K.def&&JSON.stringify(R[Q])===JSON.stringify(K.def[Q])&&delete R[Q]}c.override({zodSchema:m,jsonSchema:R,path:k.path??[]})};for(let m of[...c.seen.entries()].reverse())p(m[0]);let g={};if(c.target==="draft-2020-12"?g.$schema="https://json-schema.org/draft/2020-12/schema":c.target==="draft-07"?g.$schema="http://json-schema.org/draft-07/schema#":c.target==="draft-04"?g.$schema="http://json-schema.org/draft-04/schema#":c.target,c.external?.uri){let m=c.external.registry.get(s)?.id;if(!m)throw new Error("Schema is missing an `id` property");g.$id=c.external.uri(m)}Object.assign(g,f.def??f.schema);let y=c.external?.defs??{};for(let m of c.seen.entries()){let k=m[1];k.def&&k.defId&&(y[k.defId]=k.def)}c.external||Object.keys(y).length>0&&(c.target==="draft-2020-12"?g.$defs=y:g.definitions=y);try{let m=JSON.parse(JSON.stringify(g));return Object.defineProperty(m,"~standard",{value:{...s["~standard"],jsonSchema:{input:rG(s,"input",c.processors),output:rG(s,"output",c.processors)}},enumerable:!1,writable:!1}),m}catch{throw new Error("Error converting schema to JSON.")}}function Ob(c,s){let f=s??{seen:new Set};if(f.seen.has(c))return!1;f.seen.add(c);let p=c._zod.def;if(p.type==="transform")return!0;if(p.type==="array")return Ob(p.element,f);if(p.type==="set")return Ob(p.valueType,f);if(p.type==="lazy")return Ob(p.getter(),f);if(p.type==="promise"||p.type==="optional"||p.type==="nonoptional"||p.type==="nullable"||p.type==="readonly"||p.type==="default"||p.type==="prefault")return Ob(p.innerType,f);if(p.type==="intersection")return Ob(p.left,f)||Ob(p.right,f);if(p.type==="record"||p.type==="map")return Ob(p.keyType,f)||Ob(p.valueType,f);if(p.type==="pipe")return Ob(p.in,f)||Ob(p.out,f);if(p.type==="object"){for(let g in p.shape)if(Ob(p.shape[g],f))return!0;return!1}if(p.type==="union"){for(let g of p.options)if(Ob(g,f))return!0;return!1}if(p.type==="tuple"){for(let g of p.items)if(Ob(g,f))return!0;return!!(p.rest&&Ob(p.rest,f))}return!1}var Yct=(c,s={})=>f=>{let p=PT({...f,processors:s});return eu(c,p),AT(p,c),RT(p,c)},rG=(c,s,f={})=>p=>{let{libraryOptions:g,target:y}=p??{},m=PT({...g??{},target:y,io:s,processors:f});return eu(c,m),AT(m,c),RT(m,c)};var PDn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},$ct=(c,s,f,p)=>{let g=f;g.type="string";let{minimum:y,maximum:m,format:k,patterns:R,contentEncoding:O}=c._zod.bag;if(typeof y=="number"&&(g.minLength=y),typeof m=="number"&&(g.maxLength=m),k&&(g.format=PDn[k]??k,g.format===""&&delete g.format,k==="time"&&delete g.format),O&&(g.contentEncoding=O),R&&R.size>0){let W=[...R];W.length===1?g.pattern=W[0].source:W.length>1&&(g.allOf=[...W.map(G=>({...s.target==="draft-07"||s.target==="draft-04"||s.target==="openapi-3.0"?{type:"string"}:{},pattern:G.source}))])}},Qct=(c,s,f,p)=>{let g=f,{minimum:y,maximum:m,format:k,multipleOf:R,exclusiveMaximum:O,exclusiveMinimum:W}=c._zod.bag;typeof k=="string"&&k.includes("int")?g.type="integer":g.type="number",typeof W=="number"&&(s.target==="draft-04"||s.target==="openapi-3.0"?(g.minimum=W,g.exclusiveMinimum=!0):g.exclusiveMinimum=W),typeof y=="number"&&(g.minimum=y,typeof W=="number"&&s.target!=="draft-04"&&(W>=y?delete g.minimum:delete g.exclusiveMinimum)),typeof O=="number"&&(s.target==="draft-04"||s.target==="openapi-3.0"?(g.maximum=O,g.exclusiveMaximum=!0):g.exclusiveMaximum=O),typeof m=="number"&&(g.maximum=m,typeof O=="number"&&s.target!=="draft-04"&&(O<=m?delete g.maximum:delete g.exclusiveMaximum)),typeof R=="number"&&(g.multipleOf=R)},eat=(c,s,f,p)=>{f.type="boolean"},tat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},nat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},rat=(c,s,f,p)=>{s.target==="openapi-3.0"?(f.type="string",f.nullable=!0,f.enum=[null]):f.type="null"},iat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},oat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},cat=(c,s,f,p)=>{f.not={}},aat=(c,s,f,p)=>{},sat=(c,s,f,p)=>{},uat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},lat=(c,s,f,p)=>{let g=c._zod.def,y=C$(g.entries);y.every(m=>typeof m=="number")&&(f.type="number"),y.every(m=>typeof m=="string")&&(f.type="string"),f.enum=y},hat=(c,s,f,p)=>{let g=c._zod.def,y=[];for(let m of g.values)if(m===void 0){if(s.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof m=="bigint"){if(s.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");y.push(Number(m))}else y.push(m);if(y.length!==0)if(y.length===1){let m=y[0];f.type=m===null?"null":typeof m,s.target==="draft-04"||s.target==="openapi-3.0"?f.enum=[m]:f.const=m}else y.every(m=>typeof m=="number")&&(f.type="number"),y.every(m=>typeof m=="string")&&(f.type="string"),y.every(m=>typeof m=="boolean")&&(f.type="boolean"),y.every(m=>m===null)&&(f.type="null"),f.enum=y},fat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},dat=(c,s,f,p)=>{let g=f,y=c._zod.pattern;if(!y)throw new Error("Pattern not found in template literal");g.type="string",g.pattern=y.source},gat=(c,s,f,p)=>{let g=f,y={type:"string",format:"binary",contentEncoding:"binary"},{minimum:m,maximum:k,mime:R}=c._zod.bag;m!==void 0&&(y.minLength=m),k!==void 0&&(y.maxLength=k),R?R.length===1?(y.contentMediaType=R[0],Object.assign(g,y)):(Object.assign(g,y),g.anyOf=R.map(O=>({contentMediaType:O}))):Object.assign(g,y)},pat=(c,s,f,p)=>{f.type="boolean"},bat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},yat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},wat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},vat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},mat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},kat=(c,s,f,p)=>{let g=f,y=c._zod.def,{minimum:m,maximum:k}=c._zod.bag;typeof m=="number"&&(g.minItems=m),typeof k=="number"&&(g.maxItems=k),g.type="array",g.items=eu(y.element,s,{...p,path:[...p.path,"items"]})},Mat=(c,s,f,p)=>{let g=f,y=c._zod.def;g.type="object",g.properties={};let m=y.shape;for(let O in m)g.properties[O]=eu(m[O],s,{...p,path:[...p.path,"properties",O]});let k=new Set(Object.keys(m)),R=new Set([...k].filter(O=>{let W=y.shape[O]._zod;return s.io==="input"?W.optin===void 0:W.optout===void 0}));R.size>0&&(g.required=Array.from(R)),y.catchall?._zod.def.type==="never"?g.additionalProperties=!1:y.catchall?y.catchall&&(g.additionalProperties=eu(y.catchall,s,{...p,path:[...p.path,"additionalProperties"]})):s.io==="output"&&(g.additionalProperties=!1)},jde=(c,s,f,p)=>{let g=c._zod.def,y=g.inclusive===!1,m=g.options.map((k,R)=>eu(k,s,{...p,path:[...p.path,y?"oneOf":"anyOf",R]}));y?f.oneOf=m:f.anyOf=m},xat=(c,s,f,p)=>{let g=c._zod.def,y=eu(g.left,s,{...p,path:[...p.path,"allOf",0]}),m=eu(g.right,s,{...p,path:[...p.path,"allOf",1]}),k=O=>"allOf"in O&&Object.keys(O).length===1,R=[...k(y)?y.allOf:[y],...k(m)?m.allOf:[m]];f.allOf=R},Sat=(c,s,f,p)=>{let g=f,y=c._zod.def;g.type="array";let m=s.target==="draft-2020-12"?"prefixItems":"items",k=s.target==="draft-2020-12"||s.target==="openapi-3.0"?"items":"additionalItems",R=y.items.map((K,Q)=>eu(K,s,{...p,path:[...p.path,m,Q]})),O=y.rest?eu(y.rest,s,{...p,path:[...p.path,k,...s.target==="openapi-3.0"?[y.items.length]:[]]}):null;s.target==="draft-2020-12"?(g.prefixItems=R,O&&(g.items=O)):s.target==="openapi-3.0"?(g.items={anyOf:R},O&&g.items.anyOf.push(O),g.minItems=R.length,O||(g.maxItems=R.length)):(g.items=R,O&&(g.additionalItems=O));let{minimum:W,maximum:G}=c._zod.bag;typeof W=="number"&&(g.minItems=W),typeof G=="number"&&(g.maxItems=G)},Cat=(c,s,f,p)=>{let g=f,y=c._zod.def;g.type="object";let m=y.keyType,R=m._zod.bag?.patterns;if(y.mode==="loose"&&R&&R.size>0){let W=eu(y.valueType,s,{...p,path:[...p.path,"patternProperties","*"]});g.patternProperties={};for(let G of R)g.patternProperties[G.source]=W}else(s.target==="draft-07"||s.target==="draft-2020-12")&&(g.propertyNames=eu(y.keyType,s,{...p,path:[...p.path,"propertyNames"]})),g.additionalProperties=eu(y.valueType,s,{...p,path:[...p.path,"additionalProperties"]});let O=m._zod.values;if(O){let W=[...O].filter(G=>typeof G=="string"||typeof G=="number");W.length>0&&(g.required=W)}},Iat=(c,s,f,p)=>{let g=c._zod.def,y=eu(g.innerType,s,p),m=s.seen.get(c);s.target==="openapi-3.0"?(m.ref=g.innerType,f.nullable=!0):f.anyOf=[y,{type:"null"}]},Tat=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType},Lat=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType,f.default=JSON.parse(JSON.stringify(g.defaultValue))},Eat=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType,s.io==="input"&&(f._prefault=JSON.parse(JSON.stringify(g.defaultValue)))},Pat=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType;let m;try{m=g.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}f.default=m},Aat=(c,s,f,p)=>{let g=c._zod.def,y=s.io==="input"?g.in._zod.def.type==="transform"?g.out:g.in:g.out;eu(y,s,p);let m=s.seen.get(c);m.ref=y},Rat=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType,f.readOnly=!0},_at=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType},Hde=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType},Oat=(c,s,f,p)=>{let g=c._zod.innerType;eu(g,s,p);let y=s.seen.get(c);y.ref=g},Bde={string:$ct,number:Qct,boolean:eat,bigint:tat,symbol:nat,null:rat,undefined:iat,void:oat,never:cat,any:aat,unknown:sat,date:uat,enum:lat,literal:hat,nan:fat,template_literal:dat,file:gat,success:pat,custom:bat,function:yat,transform:wat,map:vat,set:mat,array:kat,object:Mat,union:jde,intersection:xat,tuple:Sat,record:Cat,nullable:Iat,nonoptional:Tat,default:Lat,prefault:Eat,catch:Pat,pipe:Aat,readonly:Rat,promise:_at,optional:Hde,lazy:Oat};function Ude(c,s){if("_idmap"in c){let p=c,g=PT({...s,processors:Bde}),y={};for(let R of p._idmap.entries()){let[O,W]=R;eu(W,g)}let m={},k={registry:p,uri:s?.uri,defs:y};g.external=k;for(let R of p._idmap.entries()){let[O,W]=R;AT(g,W),m[O]=RT(g,W)}if(Object.keys(y).length>0){let R=g.target==="draft-2020-12"?"$defs":"definitions";m.__shared={[R]:y}}return{schemas:m}}let f=PT({...s,processors:Bde});return eu(c,f),AT(f,c),RT(f,c)}var Gde=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(s){this.ctx.counter=s}get seen(){return this.ctx.seen}constructor(s){let f=s?.target??"draft-2020-12";f==="draft-4"&&(f="draft-04"),f==="draft-7"&&(f="draft-07"),this.ctx=PT({processors:Bde,target:f,...s?.metadata&&{metadata:s.metadata},...s?.unrepresentable&&{unrepresentable:s.unrepresentable},...s?.override&&{override:s.override},...s?.io&&{io:s.io}})}process(s,f={path:[],schemaPath:[]}){return eu(s,this.ctx,f)}emit(s,f){f&&(f.cycles&&(this.ctx.cycles=f.cycles),f.reused&&(this.ctx.reused=f.reused),f.external&&(this.ctx.external=f.external)),AT(this.ctx,s);let p=RT(this.ctx,s),{"~standard":g,...y}=p;return y}};var xYt={};var G$={};sx(G$,{ZodAny:()=>ist,ZodArray:()=>sst,ZodBase64:()=>l0e,ZodBase64URL:()=>h0e,ZodBigInt:()=>lG,ZodBigIntFormat:()=>g0e,ZodBoolean:()=>uG,ZodCIDRv4:()=>s0e,ZodCIDRv6:()=>u0e,ZodCUID:()=>t0e,ZodCUID2:()=>n0e,ZodCatch:()=>Pst,ZodCodec:()=>M0e,ZodCustom:()=>eQ,ZodCustomStringFormat:()=>aG,ZodDate:()=>X$,ZodDefault:()=>Sst,ZodDiscriminatedUnion:()=>lst,ZodE164:()=>f0e,ZodEmail:()=>$de,ZodEmoji:()=>Qde,ZodEnum:()=>oG,ZodExactOptional:()=>kst,ZodFile:()=>vst,ZodFunction:()=>Bst,ZodGUID:()=>V$,ZodIPv4:()=>c0e,ZodIPv6:()=>a0e,ZodIntersection:()=>hst,ZodJWT:()=>d0e,ZodKSUID:()=>o0e,ZodLazy:()=>Fst,ZodLiteral:()=>wst,ZodMAC:()=>Yat,ZodMap:()=>bst,ZodNaN:()=>Rst,ZodNanoID:()=>e0e,ZodNever:()=>cst,ZodNonOptional:()=>m0e,ZodNull:()=>nst,ZodNullable:()=>xst,ZodNumber:()=>sG,ZodNumberFormat:()=>E_,ZodObject:()=>Y$,ZodOptional:()=>v0e,ZodPipe:()=>k0e,ZodPrefault:()=>Ist,ZodPromise:()=>Nst,ZodReadonly:()=>_st,ZodRecord:()=>Q$,ZodSet:()=>yst,ZodString:()=>cG,ZodStringFormat:()=>qu,ZodSuccess:()=>Est,ZodSymbol:()=>est,ZodTemplateLiteral:()=>Dst,ZodTransform:()=>mst,ZodTuple:()=>dst,ZodType:()=>hc,ZodULID:()=>r0e,ZodURL:()=>J$,ZodUUID:()=>r9,ZodUndefined:()=>tst,ZodUnion:()=>$$,ZodUnknown:()=>ost,ZodVoid:()=>ast,ZodXID:()=>i0e,ZodXor:()=>ust,_ZodString:()=>Yde,_default:()=>Cst,_function:()=>P$t,any:()=>s$t,array:()=>K$,base64:()=>WYt,base64url:()=>qYt,bigint:()=>r$t,boolean:()=>Qat,catch:()=>Ast,check:()=>A$t,cidrv4:()=>GYt,cidrv6:()=>VYt,codec:()=>T$t,cuid:()=>DYt,cuid2:()=>FYt,custom:()=>R$t,date:()=>l$t,describe:()=>_$t,discriminatedUnion:()=>b$t,e164:()=>ZYt,email:()=>CYt,emoji:()=>_Yt,enum:()=>y0e,exactOptional:()=>Mst,file:()=>x$t,float32:()=>QYt,float64:()=>e$t,function:()=>P$t,guid:()=>IYt,hash:()=>$Yt,hex:()=>YYt,hostname:()=>KYt,httpUrl:()=>RYt,instanceof:()=>D$t,int:()=>Kde,int32:()=>t$t,int64:()=>i$t,intersection:()=>fst,ipv4:()=>jYt,ipv6:()=>UYt,json:()=>z$t,jwt:()=>JYt,keyof:()=>h$t,ksuid:()=>BYt,lazy:()=>zst,literal:()=>M$t,looseObject:()=>g$t,looseRecord:()=>w$t,mac:()=>HYt,map:()=>v$t,meta:()=>O$t,nan:()=>I$t,nanoid:()=>OYt,nativeEnum:()=>k$t,never:()=>p0e,nonoptional:()=>Lst,null:()=>rst,nullable:()=>q$,nullish:()=>S$t,number:()=>$at,object:()=>f$t,optional:()=>W$,partialRecord:()=>y$t,pipe:()=>Z$,prefault:()=>Tst,preprocess:()=>N$t,promise:()=>E$t,readonly:()=>Ost,record:()=>pst,refine:()=>jst,set:()=>m$t,strictObject:()=>d$t,string:()=>Xde,stringFormat:()=>XYt,stringbool:()=>F$t,success:()=>C$t,superRefine:()=>Hst,symbol:()=>c$t,templateLiteral:()=>L$t,transform:()=>w0e,tuple:()=>gst,uint32:()=>n$t,uint64:()=>o$t,ulid:()=>zYt,undefined:()=>a$t,union:()=>b0e,unknown:()=>L_,url:()=>AYt,uuid:()=>TYt,uuidv4:()=>LYt,uuidv6:()=>EYt,uuidv7:()=>PYt,void:()=>u$t,xid:()=>NYt,xor:()=>p$t});var Vde={};sx(Vde,{endsWith:()=>XU,gt:()=>t9,gte:()=>_b,includes:()=>ZU,length:()=>T_,lowercase:()=>WU,lt:()=>e9,lte:()=>Yv,maxLength:()=>I_,maxSize:()=>ET,mime:()=>KU,minLength:()=>px,minSize:()=>n9,multipleOf:()=>LT,negative:()=>Dde,nonnegative:()=>zde,nonpositive:()=>Fde,normalize:()=>YU,overwrite:()=>E5,positive:()=>Ode,property:()=>Nde,regex:()=>VU,size:()=>C_,slugify:()=>tG,startsWith:()=>JU,toLowerCase:()=>QU,toUpperCase:()=>eG,trim:()=>$U,uppercase:()=>qU});var iG={};sx(iG,{ZodISODate:()=>qde,ZodISODateTime:()=>Wde,ZodISODuration:()=>Jde,ZodISOTime:()=>Zde,date:()=>Fat,datetime:()=>Dat,duration:()=>Nat,time:()=>zat});var Wde=vt("ZodISODateTime",(c,s)=>{fot.init(c,s),qu.init(c,s)});function Dat(c){return bct(Wde,c)}var qde=vt("ZodISODate",(c,s)=>{dot.init(c,s),qu.init(c,s)});function Fat(c){return yct(qde,c)}var Zde=vt("ZodISOTime",(c,s)=>{got.init(c,s),qu.init(c,s)});function zat(c){return wct(Zde,c)}var Jde=vt("ZodISODuration",(c,s)=>{pot.init(c,s),qu.init(c,s)});function Nat(c){return vct(Jde,c)}var SYt=(c,s)=>{P$.init(c,s),c.name="ZodError",Object.defineProperties(c,{format:{value:f=>R$(c,f)},flatten:{value:f=>A$(c,f)},addIssue:{value:f=>{c.issues.push(f),c.message=JSON.stringify(c.issues,DU,2)}},addIssues:{value:f=>{c.issues.push(...f),c.message=JSON.stringify(c.issues,DU,2)}},isEmpty:{get(){return c.issues.length===0}}})},RDn=vt("ZodError",SYt),yw=vt("ZodError",SYt,{Parent:Error});var Bat=NU(yw),jat=BU(yw),Hat=jU(yw),Uat=HU(yw),Gat=Ufe(yw),Vat=Gfe(yw),Wat=Vfe(yw),qat=Wfe(yw),Zat=qfe(yw),Jat=Zfe(yw),Xat=Jfe(yw),Kat=Xfe(yw);var hc=vt("ZodType",(c,s)=>(Do.init(c,s),Object.assign(c["~standard"],{jsonSchema:{input:rG(c,"input"),output:rG(c,"output")}}),c.toJSONSchema=Yct(c,{}),c.def=s,c.type=s.type,Object.defineProperty(c,"_def",{value:s}),c.check=(...f)=>c.clone(or.mergeDefs(s,{checks:[...s.checks??[],...f.map(p=>typeof p=="function"?{_zod:{check:p,def:{check:"custom"},onattach:[]}}:p)]}),{parent:!0}),c.with=c.check,c.clone=(f,p)=>Rb(c,f,p),c.brand=()=>c,c.register=((f,p)=>(f.add(c,p),c)),c.parse=(f,p)=>Bat(c,f,p,{callee:c.parse}),c.safeParse=(f,p)=>Hat(c,f,p),c.parseAsync=async(f,p)=>jat(c,f,p,{callee:c.parseAsync}),c.safeParseAsync=async(f,p)=>Uat(c,f,p),c.spa=c.safeParseAsync,c.encode=(f,p)=>Gat(c,f,p),c.decode=(f,p)=>Vat(c,f,p),c.encodeAsync=async(f,p)=>Wat(c,f,p),c.decodeAsync=async(f,p)=>qat(c,f,p),c.safeEncode=(f,p)=>Zat(c,f,p),c.safeDecode=(f,p)=>Jat(c,f,p),c.safeEncodeAsync=async(f,p)=>Xat(c,f,p),c.safeDecodeAsync=async(f,p)=>Kat(c,f,p),c.refine=(f,p)=>c.check(jst(f,p)),c.superRefine=f=>c.check(Hst(f)),c.overwrite=f=>c.check(E5(f)),c.optional=()=>W$(c),c.exactOptional=()=>Mst(c),c.nullable=()=>q$(c),c.nullish=()=>W$(q$(c)),c.nonoptional=f=>Lst(c,f),c.array=()=>K$(c),c.or=f=>b0e([c,f]),c.and=f=>fst(c,f),c.transform=f=>Z$(c,w0e(f)),c.default=f=>Cst(c,f),c.prefault=f=>Tst(c,f),c.catch=f=>Ast(c,f),c.pipe=f=>Z$(c,f),c.readonly=()=>Ost(c),c.describe=f=>{let p=c.clone();return fg.add(p,{description:f}),p},Object.defineProperty(c,"description",{get(){return fg.get(c)?.description},configurable:!0}),c.meta=(...f)=>{if(f.length===0)return fg.get(c);let p=c.clone();return fg.add(p,f[0]),p},c.isOptional=()=>c.safeParse(void 0).success,c.isNullable=()=>c.safeParse(null).success,c.apply=f=>f(c),c)),Yde=vt("_ZodString",(c,s)=>{S_.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>$ct(c,p,g,y);let f=c._zod.bag;c.format=f.format??null,c.minLength=f.minimum??null,c.maxLength=f.maximum??null,c.regex=(...p)=>c.check(VU(...p)),c.includes=(...p)=>c.check(ZU(...p)),c.startsWith=(...p)=>c.check(JU(...p)),c.endsWith=(...p)=>c.check(XU(...p)),c.min=(...p)=>c.check(px(...p)),c.max=(...p)=>c.check(I_(...p)),c.length=(...p)=>c.check(T_(...p)),c.nonempty=(...p)=>c.check(px(1,...p)),c.lowercase=p=>c.check(WU(p)),c.uppercase=p=>c.check(qU(p)),c.trim=()=>c.check($U()),c.normalize=(...p)=>c.check(YU(...p)),c.toLowerCase=()=>c.check(QU()),c.toUpperCase=()=>c.check(eG()),c.slugify=()=>c.check(tG())}),cG=vt("ZodString",(c,s)=>{S_.init(c,s),Yde.init(c,s),c.email=f=>c.check(gde($de,f)),c.url=f=>c.check(U$(J$,f)),c.jwt=f=>c.check(_de(d0e,f)),c.emoji=f=>c.check(vde(Qde,f)),c.guid=f=>c.check(H$(V$,f)),c.uuid=f=>c.check(pde(r9,f)),c.uuidv4=f=>c.check(bde(r9,f)),c.uuidv6=f=>c.check(yde(r9,f)),c.uuidv7=f=>c.check(wde(r9,f)),c.nanoid=f=>c.check(mde(e0e,f)),c.guid=f=>c.check(H$(V$,f)),c.cuid=f=>c.check(kde(t0e,f)),c.cuid2=f=>c.check(Mde(n0e,f)),c.ulid=f=>c.check(xde(r0e,f)),c.base64=f=>c.check(Pde(l0e,f)),c.base64url=f=>c.check(Ade(h0e,f)),c.xid=f=>c.check(Sde(i0e,f)),c.ksuid=f=>c.check(Cde(o0e,f)),c.ipv4=f=>c.check(Ide(c0e,f)),c.ipv6=f=>c.check(Tde(a0e,f)),c.cidrv4=f=>c.check(Lde(s0e,f)),c.cidrv6=f=>c.check(Ede(u0e,f)),c.e164=f=>c.check(Rde(f0e,f)),c.datetime=f=>c.check(Dat(f)),c.date=f=>c.check(Fat(f)),c.time=f=>c.check(zat(f)),c.duration=f=>c.check(Nat(f))});function Xde(c){return fct(cG,c)}var qu=vt("ZodStringFormat",(c,s)=>{Wu.init(c,s),Yde.init(c,s)}),$de=vt("ZodEmail",(c,s)=>{rot.init(c,s),qu.init(c,s)});function CYt(c){return gde($de,c)}var V$=vt("ZodGUID",(c,s)=>{tot.init(c,s),qu.init(c,s)});function IYt(c){return H$(V$,c)}var r9=vt("ZodUUID",(c,s)=>{not.init(c,s),qu.init(c,s)});function TYt(c){return pde(r9,c)}function LYt(c){return bde(r9,c)}function EYt(c){return yde(r9,c)}function PYt(c){return wde(r9,c)}var J$=vt("ZodURL",(c,s)=>{iot.init(c,s),qu.init(c,s)});function AYt(c){return U$(J$,c)}function RYt(c){return U$(J$,{protocol:/^https?$/,hostname:Xk.domain,...or.normalizeParams(c)})}var Qde=vt("ZodEmoji",(c,s)=>{oot.init(c,s),qu.init(c,s)});function _Yt(c){return vde(Qde,c)}var e0e=vt("ZodNanoID",(c,s)=>{cot.init(c,s),qu.init(c,s)});function OYt(c){return mde(e0e,c)}var t0e=vt("ZodCUID",(c,s)=>{aot.init(c,s),qu.init(c,s)});function DYt(c){return kde(t0e,c)}var n0e=vt("ZodCUID2",(c,s)=>{sot.init(c,s),qu.init(c,s)});function FYt(c){return Mde(n0e,c)}var r0e=vt("ZodULID",(c,s)=>{uot.init(c,s),qu.init(c,s)});function zYt(c){return xde(r0e,c)}var i0e=vt("ZodXID",(c,s)=>{lot.init(c,s),qu.init(c,s)});function NYt(c){return Sde(i0e,c)}var o0e=vt("ZodKSUID",(c,s)=>{hot.init(c,s),qu.init(c,s)});function BYt(c){return Cde(o0e,c)}var c0e=vt("ZodIPv4",(c,s)=>{bot.init(c,s),qu.init(c,s)});function jYt(c){return Ide(c0e,c)}var Yat=vt("ZodMAC",(c,s)=>{wot.init(c,s),qu.init(c,s)});function HYt(c){return gct(Yat,c)}var a0e=vt("ZodIPv6",(c,s)=>{yot.init(c,s),qu.init(c,s)});function UYt(c){return Tde(a0e,c)}var s0e=vt("ZodCIDRv4",(c,s)=>{vot.init(c,s),qu.init(c,s)});function GYt(c){return Lde(s0e,c)}var u0e=vt("ZodCIDRv6",(c,s)=>{mot.init(c,s),qu.init(c,s)});function VYt(c){return Ede(u0e,c)}var l0e=vt("ZodBase64",(c,s)=>{Mot.init(c,s),qu.init(c,s)});function WYt(c){return Pde(l0e,c)}var h0e=vt("ZodBase64URL",(c,s)=>{xot.init(c,s),qu.init(c,s)});function qYt(c){return Ade(h0e,c)}var f0e=vt("ZodE164",(c,s)=>{Sot.init(c,s),qu.init(c,s)});function ZYt(c){return Rde(f0e,c)}var d0e=vt("ZodJWT",(c,s)=>{Cot.init(c,s),qu.init(c,s)});function JYt(c){return _de(d0e,c)}var aG=vt("ZodCustomStringFormat",(c,s)=>{Iot.init(c,s),qu.init(c,s)});function XYt(c,s,f={}){return nG(aG,c,s,f)}function KYt(c){return nG(aG,"hostname",Xk.hostname,c)}function YYt(c){return nG(aG,"hex",Xk.hex,c)}function $Yt(c,s){let f=s?.enc??"hex",p=`${c}_${f}`,g=Xk[p];if(!g)throw new Error(`Unrecognized hash format: ${p}`);return nG(aG,p,g,s)}var sG=vt("ZodNumber",(c,s)=>{ode.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>Qct(c,p,g,y),c.gt=(p,g)=>c.check(t9(p,g)),c.gte=(p,g)=>c.check(_b(p,g)),c.min=(p,g)=>c.check(_b(p,g)),c.lt=(p,g)=>c.check(e9(p,g)),c.lte=(p,g)=>c.check(Yv(p,g)),c.max=(p,g)=>c.check(Yv(p,g)),c.int=p=>c.check(Kde(p)),c.safe=p=>c.check(Kde(p)),c.positive=p=>c.check(t9(0,p)),c.nonnegative=p=>c.check(_b(0,p)),c.negative=p=>c.check(e9(0,p)),c.nonpositive=p=>c.check(Yv(0,p)),c.multipleOf=(p,g)=>c.check(LT(p,g)),c.step=(p,g)=>c.check(LT(p,g)),c.finite=()=>c;let f=c._zod.bag;c.minValue=Math.max(f.minimum??Number.NEGATIVE_INFINITY,f.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,c.maxValue=Math.min(f.maximum??Number.POSITIVE_INFINITY,f.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,c.isInt=(f.format??"").includes("int")||Number.isSafeInteger(f.multipleOf??.5),c.isFinite=!0,c.format=f.format??null});function $at(c){return mct(sG,c)}var E_=vt("ZodNumberFormat",(c,s)=>{Tot.init(c,s),sG.init(c,s)});function Kde(c){return Mct(E_,c)}function QYt(c){return xct(E_,c)}function e$t(c){return Sct(E_,c)}function t$t(c){return Cct(E_,c)}function n$t(c){return Ict(E_,c)}var uG=vt("ZodBoolean",(c,s)=>{F$.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>eat(c,f,p,g)});function Qat(c){return Tct(uG,c)}var lG=vt("ZodBigInt",(c,s)=>{cde.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>tat(c,p,g,y),c.gte=(p,g)=>c.check(_b(p,g)),c.min=(p,g)=>c.check(_b(p,g)),c.gt=(p,g)=>c.check(t9(p,g)),c.gte=(p,g)=>c.check(_b(p,g)),c.min=(p,g)=>c.check(_b(p,g)),c.lt=(p,g)=>c.check(e9(p,g)),c.lte=(p,g)=>c.check(Yv(p,g)),c.max=(p,g)=>c.check(Yv(p,g)),c.positive=p=>c.check(t9(BigInt(0),p)),c.negative=p=>c.check(e9(BigInt(0),p)),c.nonpositive=p=>c.check(Yv(BigInt(0),p)),c.nonnegative=p=>c.check(_b(BigInt(0),p)),c.multipleOf=(p,g)=>c.check(LT(p,g));let f=c._zod.bag;c.minValue=f.minimum??null,c.maxValue=f.maximum??null,c.format=f.format??null});function r$t(c){return Ect(lG,c)}var g0e=vt("ZodBigIntFormat",(c,s)=>{Lot.init(c,s),lG.init(c,s)});function i$t(c){return Act(g0e,c)}function o$t(c){return Rct(g0e,c)}var est=vt("ZodSymbol",(c,s)=>{Eot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>nat(c,f,p,g)});function c$t(c){return _ct(est,c)}var tst=vt("ZodUndefined",(c,s)=>{Pot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>iat(c,f,p,g)});function a$t(c){return Oct(tst,c)}var nst=vt("ZodNull",(c,s)=>{Aot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>rat(c,f,p,g)});function rst(c){return Dct(nst,c)}var ist=vt("ZodAny",(c,s)=>{Rot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>aat(c,f,p,g)});function s$t(){return Fct(ist)}var ost=vt("ZodUnknown",(c,s)=>{_ot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>sat(c,f,p,g)});function L_(){return zct(ost)}var cst=vt("ZodNever",(c,s)=>{Oot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>cat(c,f,p,g)});function p0e(c){return Nct(cst,c)}var ast=vt("ZodVoid",(c,s)=>{Dot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>oat(c,f,p,g)});function u$t(c){return Bct(ast,c)}var X$=vt("ZodDate",(c,s)=>{Fot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>uat(c,p,g,y),c.min=(p,g)=>c.check(_b(p,g)),c.max=(p,g)=>c.check(Yv(p,g));let f=c._zod.bag;c.minDate=f.minimum?new Date(f.minimum):null,c.maxDate=f.maximum?new Date(f.maximum):null});function l$t(c){return jct(X$,c)}var sst=vt("ZodArray",(c,s)=>{zot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>kat(c,f,p,g),c.element=s.element,c.min=(f,p)=>c.check(px(f,p)),c.nonempty=f=>c.check(px(1,f)),c.max=(f,p)=>c.check(I_(f,p)),c.length=(f,p)=>c.check(T_(f,p)),c.unwrap=()=>c.element});function K$(c,s){return Gct(sst,c,s)}function h$t(c){let s=c._zod.def.shape;return y0e(Object.keys(s))}var Y$=vt("ZodObject",(c,s)=>{Not.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Mat(c,f,p,g),or.defineLazy(c,"shape",()=>s.shape),c.keyof=()=>y0e(Object.keys(c._zod.def.shape)),c.catchall=f=>c.clone({...c._zod.def,catchall:f}),c.passthrough=()=>c.clone({...c._zod.def,catchall:L_()}),c.loose=()=>c.clone({...c._zod.def,catchall:L_()}),c.strict=()=>c.clone({...c._zod.def,catchall:p0e()}),c.strip=()=>c.clone({...c._zod.def,catchall:void 0}),c.extend=f=>or.extend(c,f),c.safeExtend=f=>or.safeExtend(c,f),c.merge=f=>or.merge(c,f),c.pick=f=>or.pick(c,f),c.omit=f=>or.omit(c,f),c.partial=(...f)=>or.partial(v0e,c,f[0]),c.required=(...f)=>or.required(m0e,c,f[0])});function f$t(c,s){let f={type:"object",shape:c??{},...or.normalizeParams(s)};return new Y$(f)}function d$t(c,s){return new Y$({type:"object",shape:c,catchall:p0e(),...or.normalizeParams(s)})}function g$t(c,s){return new Y$({type:"object",shape:c,catchall:L_(),...or.normalizeParams(s)})}var $$=vt("ZodUnion",(c,s)=>{z$.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>jde(c,f,p,g),c.options=s.options});function b0e(c,s){return new $$({type:"union",options:c,...or.normalizeParams(s)})}var ust=vt("ZodXor",(c,s)=>{$$.init(c,s),Bot.init(c,s),c._zod.processJSONSchema=(f,p,g)=>jde(c,f,p,g),c.options=s.options});function p$t(c,s){return new ust({type:"union",options:c,inclusive:!1,...or.normalizeParams(s)})}var lst=vt("ZodDiscriminatedUnion",(c,s)=>{$$.init(c,s),jot.init(c,s)});function b$t(c,s,f){return new lst({type:"union",options:s,discriminator:c,...or.normalizeParams(f)})}var hst=vt("ZodIntersection",(c,s)=>{Hot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>xat(c,f,p,g)});function fst(c,s){return new hst({type:"intersection",left:c,right:s})}var dst=vt("ZodTuple",(c,s)=>{ade.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Sat(c,f,p,g),c.rest=f=>c.clone({...c._zod.def,rest:f})});function gst(c,s,f){let p=s instanceof Do,g=p?f:s,y=p?s:null;return new dst({type:"tuple",items:c,rest:y,...or.normalizeParams(g)})}var Q$=vt("ZodRecord",(c,s)=>{Uot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Cat(c,f,p,g),c.keyType=s.keyType,c.valueType=s.valueType});function pst(c,s,f){return new Q$({type:"record",keyType:c,valueType:s,...or.normalizeParams(f)})}function y$t(c,s,f){let p=Rb(c);return p._zod.values=void 0,new Q$({type:"record",keyType:p,valueType:s,...or.normalizeParams(f)})}function w$t(c,s,f){return new Q$({type:"record",keyType:c,valueType:s,mode:"loose",...or.normalizeParams(f)})}var bst=vt("ZodMap",(c,s)=>{Got.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>vat(c,f,p,g),c.keyType=s.keyType,c.valueType=s.valueType,c.min=(...f)=>c.check(n9(...f)),c.nonempty=f=>c.check(n9(1,f)),c.max=(...f)=>c.check(ET(...f)),c.size=(...f)=>c.check(C_(...f))});function v$t(c,s,f){return new bst({type:"map",keyType:c,valueType:s,...or.normalizeParams(f)})}var yst=vt("ZodSet",(c,s)=>{Vot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>mat(c,f,p,g),c.min=(...f)=>c.check(n9(...f)),c.nonempty=f=>c.check(n9(1,f)),c.max=(...f)=>c.check(ET(...f)),c.size=(...f)=>c.check(C_(...f))});function m$t(c,s){return new yst({type:"set",valueType:c,...or.normalizeParams(s)})}var oG=vt("ZodEnum",(c,s)=>{Wot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>lat(c,p,g,y),c.enum=s.entries,c.options=Object.values(s.entries);let f=new Set(Object.keys(s.entries));c.extract=(p,g)=>{let y={};for(let m of p)if(f.has(m))y[m]=s.entries[m];else throw new Error(`Key ${m} not found in enum`);return new oG({...s,checks:[],...or.normalizeParams(g),entries:y})},c.exclude=(p,g)=>{let y={...s.entries};for(let m of p)if(f.has(m))delete y[m];else throw new Error(`Key ${m} not found in enum`);return new oG({...s,checks:[],...or.normalizeParams(g),entries:y})}});function y0e(c,s){let f=Array.isArray(c)?Object.fromEntries(c.map(p=>[p,p])):c;return new oG({type:"enum",entries:f,...or.normalizeParams(s)})}function k$t(c,s){return new oG({type:"enum",entries:c,...or.normalizeParams(s)})}var wst=vt("ZodLiteral",(c,s)=>{qot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>hat(c,f,p,g),c.values=new Set(s.values),Object.defineProperty(c,"value",{get(){if(s.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return s.values[0]}})});function M$t(c,s){return new wst({type:"literal",values:Array.isArray(c)?c:[c],...or.normalizeParams(s)})}var vst=vt("ZodFile",(c,s)=>{Zot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>gat(c,f,p,g),c.min=(f,p)=>c.check(n9(f,p)),c.max=(f,p)=>c.check(ET(f,p)),c.mime=(f,p)=>c.check(KU(Array.isArray(f)?f:[f],p))});function x$t(c){return Vct(vst,c)}var mst=vt("ZodTransform",(c,s)=>{Jot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>wat(c,f,p,g),c._zod.parse=(f,p)=>{if(p.direction==="backward")throw new xT(c.constructor.name);f.addIssue=y=>{if(typeof y=="string")f.issues.push(or.issue(y,f.value,s));else{let m=y;m.fatal&&(m.continue=!1),m.code??(m.code="custom"),m.input??(m.input=f.value),m.inst??(m.inst=c),f.issues.push(or.issue(m))}};let g=s.transform(f.value,f);return g instanceof Promise?g.then(y=>(f.value=y,f)):(f.value=g,f)}});function w0e(c){return new mst({type:"transform",transform:c})}var v0e=vt("ZodOptional",(c,s)=>{sde.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Hde(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function W$(c){return new v0e({type:"optional",innerType:c})}var kst=vt("ZodExactOptional",(c,s)=>{Xot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Hde(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function Mst(c){return new kst({type:"optional",innerType:c})}var xst=vt("ZodNullable",(c,s)=>{Kot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Iat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function q$(c){return new xst({type:"nullable",innerType:c})}function S$t(c){return W$(q$(c))}var Sst=vt("ZodDefault",(c,s)=>{Yot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Lat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType,c.removeDefault=c.unwrap});function Cst(c,s){return new Sst({type:"default",innerType:c,get defaultValue(){return typeof s=="function"?s():or.shallowClone(s)}})}var Ist=vt("ZodPrefault",(c,s)=>{$ot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Eat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function Tst(c,s){return new Ist({type:"prefault",innerType:c,get defaultValue(){return typeof s=="function"?s():or.shallowClone(s)}})}var m0e=vt("ZodNonOptional",(c,s)=>{Qot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Tat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function Lst(c,s){return new m0e({type:"nonoptional",innerType:c,...or.normalizeParams(s)})}var Est=vt("ZodSuccess",(c,s)=>{ect.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>pat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function C$t(c){return new Est({type:"success",innerType:c})}var Pst=vt("ZodCatch",(c,s)=>{tct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Pat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType,c.removeCatch=c.unwrap});function Ast(c,s){return new Pst({type:"catch",innerType:c,catchValue:typeof s=="function"?s:()=>s})}var Rst=vt("ZodNaN",(c,s)=>{nct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>fat(c,f,p,g)});function I$t(c){return Uct(Rst,c)}var k0e=vt("ZodPipe",(c,s)=>{rct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Aat(c,f,p,g),c.in=s.in,c.out=s.out});function Z$(c,s){return new k0e({type:"pipe",in:c,out:s})}var M0e=vt("ZodCodec",(c,s)=>{k0e.init(c,s),N$.init(c,s)});function T$t(c,s,f){return new M0e({type:"pipe",in:c,out:s,transform:f.decode,reverseTransform:f.encode})}var _st=vt("ZodReadonly",(c,s)=>{ict.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Rat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function Ost(c){return new _st({type:"readonly",innerType:c})}var Dst=vt("ZodTemplateLiteral",(c,s)=>{oct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>dat(c,f,p,g)});function L$t(c,s){return new Dst({type:"template_literal",parts:c,...or.normalizeParams(s)})}var Fst=vt("ZodLazy",(c,s)=>{sct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Oat(c,f,p,g),c.unwrap=()=>c._zod.def.getter()});function zst(c){return new Fst({type:"lazy",getter:c})}var Nst=vt("ZodPromise",(c,s)=>{act.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>_at(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function E$t(c){return new Nst({type:"promise",innerType:c})}var Bst=vt("ZodFunction",(c,s)=>{cct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>yat(c,f,p,g)});function P$t(c){return new Bst({type:"function",input:Array.isArray(c?.input)?gst(c?.input):c?.input??K$(L_()),output:c?.output??L_()})}var eQ=vt("ZodCustom",(c,s)=>{uct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>bat(c,f,p,g)});function A$t(c){let s=new ul({check:"custom"});return s._zod.check=c,s}function R$t(c,s){return Wct(eQ,c??(()=>!0),s)}function jst(c,s={}){return qct(eQ,c,s)}function Hst(c){return Zct(c)}var _$t=Jct,O$t=Xct;function D$t(c,s={}){let f=new eQ({type:"custom",check:"custom",fn:p=>p instanceof c,abort:!0,...or.normalizeParams(s)});return f._zod.bag.Class=c,f._zod.check=p=>{p.value instanceof c||p.issues.push({code:"invalid_type",expected:c.name,input:p.value,inst:f,path:[...f._zod.def.path??[]]})},f}var F$t=(...c)=>Kct({Codec:M0e,Boolean:uG,String:cG},...c);function z$t(c){let s=zst(()=>b0e([Xde(c),$at(),Qat(),rst(),K$(s),pst(Xde(),s)]));return s}function N$t(c,s){return Z$(w0e(c),s)}var ODn={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 DDn(c){nf({customError:c})}function FDn(){return nf().customError}var Ust;Ust||(Ust={});var Dr={...G$,...Vde,iso:iG},zDn=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 NDn(c,s){let f=c.$schema;return f==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":f==="http://json-schema.org/draft-07/schema#"?"draft-7":f==="http://json-schema.org/draft-04/schema#"?"draft-4":s??"draft-2020-12"}function BDn(c,s){if(!c.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let f=c.slice(1).split("/").filter(Boolean);if(f.length===0)return s.rootSchema;let p=s.version==="draft-2020-12"?"$defs":"definitions";if(f[0]===p){let g=f[1];if(!g||!s.defs[g])throw new Error(`Reference not found: ${c}`);return s.defs[g]}throw new Error(`Reference not found: ${c}`)}function B$t(c,s){if(c.not!==void 0){if(typeof c.not=="object"&&Object.keys(c.not).length===0)return Dr.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(c.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(c.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(c.if!==void 0||c.then!==void 0||c.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(c.dependentSchemas!==void 0||c.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(c.$ref){let g=c.$ref;if(s.refs.has(g))return s.refs.get(g);if(s.processing.has(g))return Dr.lazy(()=>{if(!s.refs.has(g))throw new Error(`Circular reference not resolved: ${g}`);return s.refs.get(g)});s.processing.add(g);let y=BDn(g,s),m=pp(y,s);return s.refs.set(g,m),s.processing.delete(g),m}if(c.enum!==void 0){let g=c.enum;if(s.version==="openapi-3.0"&&c.nullable===!0&&g.length===1&&g[0]===null)return Dr.null();if(g.length===0)return Dr.never();if(g.length===1)return Dr.literal(g[0]);if(g.every(m=>typeof m=="string"))return Dr.enum(g);let y=g.map(m=>Dr.literal(m));return y.length<2?y[0]:Dr.union([y[0],y[1],...y.slice(2)])}if(c.const!==void 0)return Dr.literal(c.const);let f=c.type;if(Array.isArray(f)){let g=f.map(y=>{let m={...c,type:y};return B$t(m,s)});return g.length===0?Dr.never():g.length===1?g[0]:Dr.union(g)}if(!f)return Dr.any();let p;switch(f){case"string":{let g=Dr.string();if(c.format){let y=c.format;y==="email"?g=g.check(Dr.email()):y==="uri"||y==="uri-reference"?g=g.check(Dr.url()):y==="uuid"||y==="guid"?g=g.check(Dr.uuid()):y==="date-time"?g=g.check(Dr.iso.datetime()):y==="date"?g=g.check(Dr.iso.date()):y==="time"?g=g.check(Dr.iso.time()):y==="duration"?g=g.check(Dr.iso.duration()):y==="ipv4"?g=g.check(Dr.ipv4()):y==="ipv6"?g=g.check(Dr.ipv6()):y==="mac"?g=g.check(Dr.mac()):y==="cidr"?g=g.check(Dr.cidrv4()):y==="cidr-v6"?g=g.check(Dr.cidrv6()):y==="base64"?g=g.check(Dr.base64()):y==="base64url"?g=g.check(Dr.base64url()):y==="e164"?g=g.check(Dr.e164()):y==="jwt"?g=g.check(Dr.jwt()):y==="emoji"?g=g.check(Dr.emoji()):y==="nanoid"?g=g.check(Dr.nanoid()):y==="cuid"?g=g.check(Dr.cuid()):y==="cuid2"?g=g.check(Dr.cuid2()):y==="ulid"?g=g.check(Dr.ulid()):y==="xid"?g=g.check(Dr.xid()):y==="ksuid"&&(g=g.check(Dr.ksuid()))}typeof c.minLength=="number"&&(g=g.min(c.minLength)),typeof c.maxLength=="number"&&(g=g.max(c.maxLength)),c.pattern&&(g=g.regex(new RegExp(c.pattern))),p=g;break}case"number":case"integer":{let g=f==="integer"?Dr.number().int():Dr.number();typeof c.minimum=="number"&&(g=g.min(c.minimum)),typeof c.maximum=="number"&&(g=g.max(c.maximum)),typeof c.exclusiveMinimum=="number"?g=g.gt(c.exclusiveMinimum):c.exclusiveMinimum===!0&&typeof c.minimum=="number"&&(g=g.gt(c.minimum)),typeof c.exclusiveMaximum=="number"?g=g.lt(c.exclusiveMaximum):c.exclusiveMaximum===!0&&typeof c.maximum=="number"&&(g=g.lt(c.maximum)),typeof c.multipleOf=="number"&&(g=g.multipleOf(c.multipleOf)),p=g;break}case"boolean":{p=Dr.boolean();break}case"null":{p=Dr.null();break}case"object":{let g={},y=c.properties||{},m=new Set(c.required||[]);for(let[R,O]of Object.entries(y)){let W=pp(O,s);g[R]=m.has(R)?W:W.optional()}if(c.propertyNames){let R=pp(c.propertyNames,s),O=c.additionalProperties&&typeof c.additionalProperties=="object"?pp(c.additionalProperties,s):Dr.any();if(Object.keys(g).length===0){p=Dr.record(R,O);break}let W=Dr.object(g).passthrough(),G=Dr.looseRecord(R,O);p=Dr.intersection(W,G);break}if(c.patternProperties){let R=c.patternProperties,O=Object.keys(R),W=[];for(let K of O){let Q=pp(R[K],s),Te=Dr.string().regex(new RegExp(K));W.push(Dr.looseRecord(Te,Q))}let G=[];if(Object.keys(g).length>0&&G.push(Dr.object(g).passthrough()),G.push(...W),G.length===0)p=Dr.object({}).passthrough();else if(G.length===1)p=G[0];else{let K=Dr.intersection(G[0],G[1]);for(let Q=2;Q<G.length;Q++)K=Dr.intersection(K,G[Q]);p=K}break}let k=Dr.object(g);c.additionalProperties===!1?p=k.strict():typeof c.additionalProperties=="object"?p=k.catchall(pp(c.additionalProperties,s)):p=k.passthrough();break}case"array":{let g=c.prefixItems,y=c.items;if(g&&Array.isArray(g)){let m=g.map(R=>pp(R,s)),k=y&&typeof y=="object"&&!Array.isArray(y)?pp(y,s):void 0;k?p=Dr.tuple(m).rest(k):p=Dr.tuple(m),typeof c.minItems=="number"&&(p=p.check(Dr.minLength(c.minItems))),typeof c.maxItems=="number"&&(p=p.check(Dr.maxLength(c.maxItems)))}else if(Array.isArray(y)){let m=y.map(R=>pp(R,s)),k=c.additionalItems&&typeof c.additionalItems=="object"?pp(c.additionalItems,s):void 0;k?p=Dr.tuple(m).rest(k):p=Dr.tuple(m),typeof c.minItems=="number"&&(p=p.check(Dr.minLength(c.minItems))),typeof c.maxItems=="number"&&(p=p.check(Dr.maxLength(c.maxItems)))}else if(y!==void 0){let m=pp(y,s),k=Dr.array(m);typeof c.minItems=="number"&&(k=k.min(c.minItems)),typeof c.maxItems=="number"&&(k=k.max(c.maxItems)),p=k}else p=Dr.array(Dr.any());break}default:throw new Error(`Unsupported type: ${f}`)}return c.description&&(p=p.describe(c.description)),c.default!==void 0&&(p=p.default(c.default)),p}function pp(c,s){if(typeof c=="boolean")return c?Dr.any():Dr.never();let f=B$t(c,s),p=c.type||c.enum!==void 0||c.const!==void 0;if(c.anyOf&&Array.isArray(c.anyOf)){let k=c.anyOf.map(O=>pp(O,s)),R=Dr.union(k);f=p?Dr.intersection(f,R):R}if(c.oneOf&&Array.isArray(c.oneOf)){let k=c.oneOf.map(O=>pp(O,s)),R=Dr.xor(k);f=p?Dr.intersection(f,R):R}if(c.allOf&&Array.isArray(c.allOf))if(c.allOf.length===0)f=p?f:Dr.any();else{let k=p?f:pp(c.allOf[0],s),R=p?0:1;for(let O=R;O<c.allOf.length;O++)k=Dr.intersection(k,pp(c.allOf[O],s));f=k}c.nullable===!0&&s.version==="openapi-3.0"&&(f=Dr.nullable(f)),c.readOnly===!0&&(f=Dr.readonly(f));let g={},y=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let k of y)k in c&&(g[k]=c[k]);let m=["contentEncoding","contentMediaType","contentSchema"];for(let k of m)k in c&&(g[k]=c[k]);for(let k of Object.keys(c))zDn.has(k)||(g[k]=c[k]);return Object.keys(g).length>0&&s.registry.add(f,g),f}function j$t(c,s){if(typeof c=="boolean")return c?Dr.any():Dr.never();let f=NDn(c,s?.defaultTarget),p=c.$defs||c.definitions||{},g={version:f,defs:p,refs:new Map,processing:new Set,rootSchema:c,registry:s?.registry??fg};return pp(c,g)}var Gst={};sx(Gst,{bigint:()=>GDn,boolean:()=>UDn,date:()=>VDn,number:()=>HDn,string:()=>jDn});function jDn(c){return dct(cG,c)}function HDn(c){return kct(sG,c)}function UDn(c){return Lct(uG,c)}function GDn(c){return Pct(lG,c)}function VDn(c){return Hct(X$,c)}nf(ude());var WDn=["service","function","worker","agent","database","cache","vectordb","storage","queue","topic","stream","gateway","cdn","route","interface","adapter","port","llm","prompt","tool","auth","observability","cloud","frontend","external","module","custom"],H$t=Qi.enum(WDn);var qDn=["http_call","grpc","invokes","routes_to","websocket","webhook","reads","writes","publishes","subscribes","streams_to","implements","extends","composes","depends_on","has_a","uses"],U$t=Qi.enum(qDn);var ZDn=/^[a-z][a-z0-9-]*$/,tQ=Qi.string().regex(ZDn,"id must match /^[a-z][a-z0-9-]*$/"),Vst=Qi.string().min(1).refine(c=>!c.startsWith("/")&&!/^[a-zA-Z]:[\\/]/.test(c),{message:"archikFile must be a relative path"}).refine(c=>!c.includes("\\"),{message:"archikFile must use forward slashes"}).refine(c=>!c.split("/").some(s=>s==="..")&&!c.includes("./../"),{message:"archikFile must not contain `..` segments"}).refine(c=>c.endsWith(".archik.yaml"),{message:"archikFile must end in `.archik.yaml`"}),JDn=Qi.strictObject({name:Qi.string().min(1),protocol:Qi.string().min(1),description:Qi.string().optional()}),XDn=Qi.strictObject({id:tQ,kind:H$t,name:Qi.string().min(1),description:Qi.string().optional(),stack:Qi.string().optional(),responsibilities:Qi.array(Qi.string().min(1)).optional(),interfaces:Qi.array(JDn).optional(),notes:Qi.array(Qi.string()).optional(),parentId:tQ.optional(),archikFile:Vst.optional(),metadata:Qi.record(Qi.string(),Qi.unknown()).optional()}),KDn=Qi.strictObject({id:tQ,from:tQ,to:tQ,relationship:U$t,label:Qi.string().optional(),description:Qi.string().optional(),protocol:Qi.string().optional(),color:Qi.string().optional(),fromFile:Vst.optional(),toFile:Vst.optional()}),YDn=Qi.strictObject({from:Qi.string().min(1),at:Qi.string().min(1),note:Qi.string().optional()}),$Dn=Qi.strictObject({createdAt:Qi.string().min(1).optional(),updatedAt:Qi.string().min(1).optional(),suggestion:YDn.optional()}),G$t=Qi.strictObject({version:Qi.literal("1.0"),name:Qi.string().min(1),description:Qi.string().optional(),nodes:Qi.array(XDn),edges:Qi.array(KDn),metadata:$Dn.optional()}).superRefine((c,s)=>{let f=new Set;for(let y=0;y<c.nodes.length;y++){let m=c.nodes[y];f.has(m.id)&&s.addIssue({code:Qi.ZodIssueCode.custom,path:["nodes",y,"id"],message:`duplicate node id "${m.id}"`}),f.add(m.id)}let p=new Set;for(let y=0;y<c.edges.length;y++){let m=c.edges[y];p.has(m.id)&&s.addIssue({code:Qi.ZodIssueCode.custom,path:["edges",y,"id"],message:`duplicate edge id "${m.id}"`}),p.add(m.id),m.fromFile===void 0&&!f.has(m.from)&&s.addIssue({code:Qi.ZodIssueCode.custom,path:["edges",y,"from"],message:`edge "${m.id}" references unknown node "${m.from}"`}),m.toFile===void 0&&!f.has(m.to)&&s.addIssue({code:Qi.ZodIssueCode.custom,path:["edges",y,"to"],message:`edge "${m.id}" references unknown node "${m.to}"`}),m.fromFile!==void 0&&m.toFile!==void 0&&s.addIssue({code:Qi.ZodIssueCode.custom,path:["edges",y],message:`edge "${m.id}" has both fromFile and toFile \u2014 at least one endpoint must be local to this file`}),m.from===m.to&&m.fromFile===void 0&&m.toFile===void 0&&s.addIssue({code:Qi.ZodIssueCode.custom,path:["edges",y],message:`edge "${m.id}" is a self-loop (from === to). Self-loops aren't meaningful in an architecture diagram.`})}let g=new Map;for(let y of c.nodes)g.set(y.id,y.parentId);for(let y=0;y<c.nodes.length;y++){let m=c.nodes[y];if(m.parentId===void 0)continue;if(m.parentId===m.id){s.addIssue({code:Qi.ZodIssueCode.custom,path:["nodes",y,"parentId"],message:`node "${m.id}" lists itself as parentId`});continue}if(!f.has(m.parentId)){s.addIssue({code:Qi.ZodIssueCode.custom,path:["nodes",y,"parentId"],message:`node "${m.id}" parentId "${m.parentId}" doesn't match any node`});continue}let k=new Set([m.id]),R=m.parentId,O=0;for(;R!==void 0&&O<=c.nodes.length;){if(k.has(R)){s.addIssue({code:Qi.ZodIssueCode.custom,path:["nodes",y,"parentId"],message:`node "${m.id}" is part of a parentId cycle (via "${R}")`});break}k.add(R),R=g.get(R),O++}}});function V$t(c){return c.length===0?"<root>":c.map(String).join(".")}function QDn(c){return c.issues.flatMap(s=>s.code==="unrecognized_keys"?s.keys.map(f=>({path:V$t([...s.path,f]),message:"unrecognized key"})):[{path:V$t(s.path),message:s.message}])}function W$t(c){let s=G$t.safeParse(c);return s.success?{ok:!0,value:s.data}:{ok:!1,errors:QDn(s.error)}}function q$t(c){return c.map(s=>` \u2022 ${s.path}: ${s.message}`).join(`
439
439
  `)}function bp(c){let s;try{s=Wst.default.parse(c)}catch(p){let g=p instanceof Error?p.message:String(p);throw new Error(`Invalid YAML: ${g}`)}let f=W$t(s);if(!f.ok)throw new Error(`Invalid Archik document:
440
- ${q$t(f.errors)}`);return f.value}function x0e(c){return Wst.default.stringify(c,{indent:2,lineWidth:0})}async function Z$t(c){let s;try{s=await gp(c._[0])}catch(g){return console.error(`\u2717 ${g instanceof Error?g.message:String(g)}`),1}let f=tFn.relative(process.cwd(),s)||s,p;try{p=await eFn(s,"utf-8")}catch(g){return console.error(`\u2717 Cannot read ${f}`),console.error(g instanceof Error?g.message:String(g)),1}try{let g=bp(p);return console.log(`\u2713 ${f} \u2014 ${g.nodes.length} nodes, ${g.edges.length} edges`),0}catch(g){return console.error(`\u2717 ${f}`),console.error(g instanceof Error?g.message:String(g)),1}}var Dnn=Fc(Kk(),1),Fnn=Fc(N2e(),1);import{mkdir as eHn,readFile as tHn,writeFile as nHn}from"node:fs/promises";import Nlt from"node:path";var rnn=Fc(Qtn(),1);function GQ(c,s){return c.length*s}function Od(c,s,f){if(s<=0)return"";let p=Math.floor(s/f);return c.length<=p?c:p<=1?"\u2026":c.slice(0,p-1)+"\u2026"}var VQ={nodeSpacing:60,layerSpacing:100,padding:40,viewMode:"detailed"};function rjn(c){let s=c.nodeSpacing??VQ.nodeSpacing,f=c.layerSpacing??VQ.layerSpacing,p=c.padding??VQ.padding;return{"elk.algorithm":"layered","elk.direction":"RIGHT","elk.edgeRouting":"ORTHOGONAL","elk.layered.spacing.nodeNodeBetweenLayers":String(f),"elk.spacing.nodeNode":String(s),"elk.padding":`[top=${p}, left=${p}, bottom=${p}, right=${p}]`,"elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.edgeLabels.placement":"CENTER","elk.spacing.edgeLabel":"8","elk.spacing.labelLabel":"6","elk.spacing.edgeNode":"20","elk.spacing.edgeEdge":"12","elk.layered.spacing.edgeEdgeBetweenLayers":"12"}}var L0={width:172,height:82},enn={width:172,height:90},ijn={service:L0,function:L0,worker:L0,agent:L0,database:{width:180,height:110},cache:enn,vectordb:L0,storage:L0,queue:{width:188,height:80},topic:L0,stream:L0,gateway:L0,cdn:L0,route:L0,interface:L0,adapter:L0,port:L0,llm:L0,prompt:L0,tool:L0,auth:L0,observability:L0,cloud:{width:200,height:120},frontend:enn,external:{width:184,height:100},module:{width:240,height:130},custom:{width:240,height:130}},vh={width:152,height:36},tnn={width:200,height:80},ojn={service:vh,function:vh,worker:vh,agent:vh,database:vh,cache:vh,vectordb:vh,storage:vh,queue:{width:168,height:36},topic:vh,stream:vh,gateway:vh,cdn:vh,route:vh,interface:vh,adapter:vh,port:vh,llm:vh,prompt:vh,tool:vh,auth:vh,observability:vh,cloud:vh,frontend:vh,external:{width:168,height:40},module:tnn,custom:tnn},cjn=24,nnn=320;function ajn(c,s,f){if(c.kind==="module"||c.kind==="custom")return s;if(f==="compact"){let k=36+GQ(c.name,5.9)+12;return Math.max(s,Math.min(nnn,Math.ceil(k)))}let p=GQ(c.name,7.4),g=c.stack!==void 0?GQ(c.stack,5.9):0,y=Math.max(p,g)+cjn;return Math.max(s,Math.min(nnn,Math.ceil(y)))}var sjn={top:48,left:18,bottom:18,right:18};function ujn(c,s,f,p){let g=f[c.kind],y={id:c.id,width:ajn(c,g.width,p),height:g.height};if(s.length>0){y.children=s;let m=p==="compact"?{top:30,left:12,bottom:12,right:12}:sjn;y.layoutOptions={"elk.padding":`[top=${m.top}, left=${m.left}, bottom=${m.bottom}, right=${m.right}]`}}return y}function ljn(c,s,f){let p=new Map;for(let k of c.nodes)p.set(k.id,k);let g=new Map;for(let k of c.nodes){let R=g.get(k.parentId)??[];R.push(k),g.set(k.parentId,R)}function y(k){let R=(g.get(k.id)??[]).map(y);return ujn(k,R,s,f)}return{roots:(g.get(void 0)??[]).map(y),byId:p}}function hjn(c){return c.fromFile===void 0&&c.toFile===void 0}function fjn(c){return c.edges.filter(hjn).map(s=>{let f={id:s.id,sources:[s.from],targets:[s.to]};return s.label!==void 0&&s.label.length>0&&(f.labels=[{text:s.label,width:Math.ceil(GQ(s.label,5.9)),height:14}]),f})}function mw(c){return c??0}function inn(c,s){let f=s.get(c.id);if(!f)throw new Error(`ELK returned unknown node id "${c.id}"`);let p=(c.children??[]).map(g=>inn(g,s));return{...f,x:mw(c.x),y:mw(c.y),width:mw(c.width),height:mw(c.height),children:p}}function djn(c,s){let f=new Map,p=new Map,g=(O,W,G,K)=>{let Q=W+mw(O.x),Te=G+mw(O.y);f.set(O.id,{x:Q,y:Te}),p.set(O.id,K);let be=[...K,O.id];for(let Ee of O.children??[])g(Ee,Q,Te,be)};g(c,0,0,[]);let y=(O,W)=>{let G=p.get(O)??[],K=p.get(W)??[],Q=0;for(;Q<G.length&&Q<K.length&&G[Q]===K[Q];)Q++;let Te=Q===0?c.id:G[Q-1];return f.get(Te)??{x:0,y:0}},m=new Map,k=new Map,R=O=>{for(let W of O.edges??[]){let G=W.sources?.[0]??"",K=W.targets?.[0]??"",Q=y(G,K),Te=ct=>({x:mw(ct.x)+Q.x,y:mw(ct.y)+Q.y}),be=(W.sections??[]).map(ct=>({startPoint:Te(ct.startPoint),endPoint:Te(ct.endPoint),bendPoints:(ct.bendPoints??[]).map(Te)}));m.set(W.id,be);let Ee=(W.labels??[]).map(ct=>({text:typeof ct.text=="string"?ct.text:"",x:mw(ct.x)+Q.x,y:mw(ct.y)+Q.y,width:mw(ct.width),height:mw(ct.height)}));k.set(W.id,Ee)}for(let W of O.children??[])R(W)};return R(c),s.edges.map(O=>({...O,sections:m.get(O.id)??[],labels:k.get(O.id)??[]}))}var gjn=new rnn.default;async function pjn(c,s={}){if(c.nodes.length===0)return{document:c,width:0,height:0,roots:[],edges:[]};let f=s.viewMode==="compact"?"compact":"detailed",p=f==="compact"?ojn:ijn,{roots:g,byId:y}=ljn(c,p,f),m={id:"__root__",layoutOptions:rjn(s),children:g,edges:fjn(c)},k=await gjn.layout(m),R=(k.children??[]).map(O=>inn(O,y));return{document:c,width:mw(k.width),height:mw(k.height),roots:R,edges:djn(k,c)}}var B2e={name:"elk",layout:pjn};var f3r={[B2e.name]:B2e},bjn=B2e;function RG(c,s){return bjn.layout(c,s)}var fo=Fc(Tlt(),1);var n4=Fc(zs(),1),lnn=(c,s,f)=>({width:c,height:c,viewBox:"0 0 24 24",fill:"none",stroke:s,strokeWidth:f,strokeLinecap:"round",strokeLinejoin:"round"});function hnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,n4.jsxs)("svg",{...lnn(c,s,f),"aria-hidden":"true",children:[(0,n4.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3.5",ry:"3.5"}),(0,n4.jsx)("line",{x1:"9",y1:"9",x2:"9",y2:"13"}),(0,n4.jsx)("line",{x1:"15",y1:"9",x2:"15",y2:"13"}),(0,n4.jsx)("circle",{cx:"12",cy:"16.5",r:"1",fill:s,stroke:"none"})]})}function fnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,n4.jsxs)("svg",{...lnn(c,s,f),"aria-hidden":"true",children:[(0,n4.jsx)("path",{d:"M 7.5 6 L 3.5 12 L 7.5 18"}),(0,n4.jsx)("path",{d:"M 16.5 6 L 20.5 12 L 16.5 18"}),(0,n4.jsx)("circle",{cx:"13",cy:"8.6",r:"0.9",fill:s,stroke:"none"}),(0,n4.jsx)("line",{x1:"13",y1:"11",x2:"11",y2:"16.5"})]})}var r4={service:{color:"#38bdf8",icon:fo.Server,description:"Long-running compute that owns business logic."},function:{color:"#22d3ee",icon:fo.FunctionSquare,description:"Stateless function-as-a-service / lambda."},worker:{color:"#06b6d4",icon:fo.Cog,description:"Background job processor or consumer loop."},agent:{color:"#14b8a6",icon:fo.Bot,description:"Autonomous AI agent driving tools and actions."},database:{color:"#34d399",icon:fo.Database,description:"Persistent state \u2014 relational, document, key-value."},cache:{color:"#a78bfa",icon:fo.Layers,description:"In-memory store for fast reads."},vectordb:{color:"#c084fc",icon:fo.Sparkles,description:"Vector store for embeddings / similarity search."},storage:{color:"#84cc16",icon:fo.HardDrive,description:"Object / blob storage (S3, GCS, etc.)."},queue:{color:"#fbbf24",icon:fo.SendHorizontal,description:"Asynchronous work queue with at-least-once delivery."},topic:{color:"#f97316",icon:fo.Radio,description:"Pub/sub topic with multiple consumers."},stream:{color:"#fb923c",icon:fo.Waves,description:"Append-only event log (Kafka, Kinesis)."},gateway:{color:"#6366f1",icon:fo.DoorOpen,description:"API gateway, ingress, edge router."},cdn:{color:"#0ea5e9",icon:fo.Globe,description:"Content delivery network / static edge."},route:{color:"#f59e0b",icon:fo.Route,description:"HTTP / URL route \u2014 path + method mapped to a handler."},interface:{color:"#d946ef",icon:fnn,description:"Abstract contract \u2014 the <i> a system commits to."},adapter:{color:"#c026d3",icon:fo.Cable,description:"Concrete implementation of an interface."},port:{color:"#a21caf",icon:hnn,description:"Hexagonal-architecture port \u2014 the socket an adapter plugs into."},llm:{color:"#a855f7",icon:fo.Brain,description:"Large language model service."},prompt:{color:"#c4b5fd",icon:fo.MessageSquare,description:"Prompt template / instruction set."},tool:{color:"#fde047",icon:fo.Wrench,description:"Tool callable by an agent or LLM."},auth:{color:"#ef4444",icon:fo.Lock,description:"Identity provider, auth service."},observability:{color:"#10b981",icon:fo.Eye,description:"Metrics, logs, traces \u2014 operational telemetry."},cloud:{color:"#0284c7",icon:fo.Cloud,description:"Managed cloud service (compute, hosted, etc.)."},frontend:{color:"#f472b6",icon:fo.Monitor,description:"User-facing surface \u2014 browser, mobile, CLI."},external:{color:"#94a3b8",icon:fo.ExternalLink,description:"Third-party system you don't own."},module:{color:"#7dd3fc",icon:fo.Package,description:"Module / component grouping (logical container)."},custom:{color:"#64748b",icon:fo.Box,description:"Container or anything not in the taxonomy."}};var JT=Fc(zs(),1),Dd=28;function _G({kind:c,iconAt:s,labelAt:f}){let p=r4[c],g=p.icon,y=14;return(0,JT.jsxs)(JT.Fragment,{children:[(0,JT.jsx)("g",{transform:`translate(${s.cx-y/2}, ${s.cy-y/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,JT.jsx)(g,{size:y,color:p.color,strokeWidth:1.8})}),(0,JT.jsx)("text",{x:f.cx,y:f.cy,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.toUpperCase()})]})}var XT=Fc(zs(),1),Mjn=24;function dnn({node:c,selected:s}){let f=c.width,p=c.height,g=c.stack!==void 0,y=Dd+(p-Dd)/2,m=g?y-4:y+4,k=y+14,R=Math.max(0,f-Mjn),O=Od(c.name,R,7.4),W=g?Od(c.stack,R,5.9):"";return(0,XT.jsxs)("g",{className:`archik-node archik-node--${c.kind}`,children:[(0,XT.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:10,ry:10,fill:"var(--archik-node-fill)",stroke:s?"var(--archik-selected)":"var(--archik-node-stroke)",strokeWidth:s?1.8:1.4}),(0,XT.jsx)("line",{x1:0,y1:Dd,x2:f,y2:Dd,stroke:"var(--archik-node-stroke)",strokeOpacity:.25,strokeWidth:1}),(0,XT.jsx)(_G,{kind:c.kind,iconAt:{cx:18,cy:Dd/2},labelAt:{cx:f/2,cy:Dd/2+3}}),(0,XT.jsx)("text",{x:f/2,y:m,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:O}),g&&(0,XT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:W})]})}var KT=Fc(zs(),1);function gnn({node:c,selected:s}){let f=c.width,p=c.height,g=Math.min(p/2,28),y=c.stack!==void 0,m=Dd+(p-Dd)/2,k=y?m-4:m+4,R=m+14,O=Math.max(0,f-2*g-8),W=Od(c.name,O,7.4),G=y?Od(c.stack,O,5.9):"",K=s?"var(--archik-selected)":"var(--archik-node-stroke)";return(0,KT.jsxs)("g",{className:"archik-node archik-node--queue",children:[(0,KT.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:g,ry:g,fill:"var(--archik-node-fill)",stroke:K,strokeWidth:s?1.8:1.4}),(0,KT.jsx)("line",{x1:g,y1:Dd,x2:f-g,y2:Dd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,KT.jsx)(_G,{kind:"queue",iconAt:{cx:g+8,cy:Dd/2},labelAt:{cx:f/2,cy:Dd/2+3}}),(0,KT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:W}),y&&(0,KT.jsx)("text",{x:f/2,y:R,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:G})]})}var YT=Fc(zs(),1),xjn=24;function pnn({node:c,selected:s}){let f=c.width,p=c.height,g=c.description!==void 0,y=Dd,m=y+(p-y)/2,k=g?m-2:m+4,R=p-12,O=Math.max(0,f-xjn),W=Od(c.name,O,7.4),G=g?Od(c.description,O,5.9):"",K=s?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,YT.jsxs)("g",{className:"archik-node archik-node--external",children:[(0,YT.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:K,strokeWidth:s?1.8:1.2,strokeDasharray:s?void 0:"6 4"}),(0,YT.jsx)("line",{x1:6,y1:Dd,x2:f-6,y2:Dd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,YT.jsx)(_G,{kind:"external",iconAt:{cx:18,cy:Dd/2},labelAt:{cx:f/2,cy:Dd/2+3}}),(0,YT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:W}),g&&(0,YT.jsx)("text",{x:f/2,y:R,textAnchor:"middle",fontSize:10,fill:"var(--archik-node-text-dim)",children:G})]})}var s9=Fc(zs(),1),Sjn=28,Cjn=9,Ijn=12;function bnn({node:c,selected:s}){let f=c.width,p=c.height,g=f/2,y=Cjn,m=r4[c.kind],k=m.icon,R=s?"var(--archik-selected)":"var(--archik-node-stroke)",O=s?1.8:1.4,W=c.stack!==void 0,G=Math.max(0,f-Sjn),K=Od(c.name,G,7.4),Q=W?Od(c.stack,G,5.9):"",Te=y+Ijn,be=p-y,Ee=(Te+be)/2,ct=W?Ee-4:Ee+4,xt=Ee+14,$t=y+4;return(0,s9.jsxs)("g",{className:"archik-node archik-node--database",children:[(0,s9.jsx)("path",{className:s?"archik-selected-glow":void 0,d:Tjn(f,p,y),fill:"var(--archik-node-fill)",stroke:R,strokeWidth:O,strokeLinejoin:"round"}),(0,s9.jsx)("ellipse",{cx:g,cy:y,rx:f/2,ry:y,fill:"var(--archik-node-fill)",stroke:R,strokeWidth:O}),(0,s9.jsx)("g",{transform:`translate(14, ${y-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,s9.jsx)(k,{size:14,color:m.color,strokeWidth:1.9})}),(0,s9.jsx)("text",{x:g,y:$t+18,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.kind.toUpperCase()}),(0,s9.jsx)("text",{x:g,y:ct,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:K}),W&&(0,s9.jsx)("text",{x:g,y:xt,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:Q})]})}function Tjn(c,s,f){return[`M 0 ${f}`,`L 0 ${s-f}`,`A ${c/2} ${f} 0 0 0 ${c} ${s-f}`,`L ${c} ${f}`,`A ${c/2} ${f} 0 0 0 0 ${f}`,"Z"].join(" ")}var Cx=Fc(zs(),1),Ljn=36,ynn=18;function wnn({node:c,selected:s}){let f=c.width,p=c.height,g=r4[c.kind],y=g.icon,m=s?"var(--archik-selected)":"var(--archik-node-stroke)",k=s?1.8:1.4,R=c.stack!==void 0,O=Math.max(0,f-Ljn),W=Od(c.name,O,7.4),G=R?Od(c.stack,O,5.9):"",K=f/2,Q=p*.55,Te=R?Q-4:Q+4,be=Q+14;return(0,Cx.jsxs)("g",{className:"archik-node archik-node--cloud",children:[(0,Cx.jsx)("path",{className:s?"archik-selected-glow":void 0,d:Ejn(f,p),fill:"var(--archik-node-fill)",stroke:m,strokeWidth:k,strokeLinejoin:"round"}),(0,Cx.jsx)("g",{transform:`translate(18, ${ynn-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,Cx.jsx)(y,{size:14,color:g.color,strokeWidth:1.9})}),(0,Cx.jsx)("text",{x:K,y:ynn+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.kind.toUpperCase()}),(0,Cx.jsx)("text",{x:K,y:Te,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:W}),R&&(0,Cx.jsx)("text",{x:K,y:be,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:G})]})}function Ejn(c,s){let f=s*.18,p=s-4,g=c*.22,y=c*.42,m=c*.62,k=c*.82,R=s*.45;return[`M ${R} ${p}`,`L ${c-R} ${p}`,`Q ${c-4} ${p} ${c-4} ${p-R*.6}`,`Q ${c-2} ${s*.48} ${k+s*.18} ${s*.34}`,`Q ${k+s*.18} ${f*.4} ${k} ${f}`,`Q ${m+s*.05} ${f+s*.1} ${m} ${f-s*.04}`,`Q ${(m+y)/2} ${-s*.06} ${y} ${f-s*.04}`,`Q ${y-s*.05} ${f+s*.12} ${g} ${f+s*.04}`,`Q ${g-s*.22} ${f*.5} 4 ${s*.42}`,`Q 4 ${p-R*.6} ${R} ${p}`,"Z"].join(" ")}var Ub=Fc(zs(),1),OG=32,jAe=14,Elt=14;function vnn({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height;if(!(c.children.length>0))return(0,Ub.jsx)(Ajn,{node:c,selected:!!s});let m=r4[c.kind],k=m.icon,R=Math.min(.04+f*.06,.22),O=Math.min(.55+f*.12,.95),W=s?"var(--archik-selected)":"var(--archik-container-border)",G=s?1.8:1.2,K=Math.max(0,p-jAe*2-60),Q=Od(c.name,K,7.4);return(0,Ub.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--container`,children:[(0,Ub.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:8,ry:8,fill:m.color,fillOpacity:R,stroke:W,strokeWidth:G,pointerEvents:"none"}),f>=1&&p>8&&g>8&&(0,Ub.jsx)("rect",{x:3,y:3,width:p-6,height:g-6,rx:6,ry:6,fill:"none",stroke:m.color,strokeOpacity:Math.min(.18+(f-1)*.06,.32),strokeWidth:1,pointerEvents:"none"}),(0,Ub.jsx)("path",{d:Pjn(p,OG,8),fill:m.color,fillOpacity:O*.18}),(0,Ub.jsx)("line",{x1:0,y1:OG,x2:p,y2:OG,stroke:W,strokeOpacity:.45,strokeWidth:1}),(0,Ub.jsx)("g",{transform:`translate(${jAe}, ${OG/2-Elt/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Ub.jsx)(k,{size:Elt,color:m.color,strokeWidth:1.9})}),(0,Ub.jsx)("text",{x:jAe+Elt+8,y:OG/2+4,fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:Q}),(0,Ub.jsx)("text",{x:p-jAe,y:OG/2+3,textAnchor:"end",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.kind.toUpperCase()})]})}function Pjn(c,s,f){return`M ${f} 0 H ${c-f} A ${f} ${f} 0 0 1 ${c} ${f} V ${s} H 0 V ${f} A ${f} ${f} 0 0 1 ${f} 0 Z`}function Ajn({node:c,selected:s}){let f=c.width,p=c.height,g=r4[c.kind],y=s?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,Ub.jsxs)("g",{className:`archik-node archik-node--${c.kind}`,children:[(0,Ub.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:y,strokeWidth:s?1.8:1.2,strokeDasharray:s?void 0:"5 4"}),(0,Ub.jsx)("text",{x:f/2,y:p/2+4,textAnchor:"middle",fontSize:12,fontWeight:600,fill:g.color,children:c.name})]})}var Gb=Fc(zs(),1),qQ=24,mnn=10,Plt=28;function knn({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height,y=r4[c.kind],m=y.icon,k=c.kind==="external";if(c.children.length>0)return(0,Gb.jsx)(Rjn,{node:c,selected:!!s,depth:f});let R=s?"var(--archik-selected)":k?"var(--archik-node-stroke-soft)":"var(--archik-node-stroke)",O=k?"var(--archik-node-fill-tinted)":"var(--archik-node-fill)",W=c.kind==="queue"?Math.min(g/2,18):8;return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact`,children:[(0,Gb.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:W,ry:W,fill:O,stroke:R,strokeWidth:s?1.8:1.4,strokeDasharray:k&&!s?"5 4":void 0}),(0,Gb.jsx)("g",{transform:`translate(${mnn}, ${g/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,Gb.jsx)(m,{size:13,color:y.color,strokeWidth:1.9})}),(0,Gb.jsx)("text",{x:Plt,y:g/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Od(c.name,Math.max(0,p-Plt-8),5.9)})]})}function Rjn({node:c,selected:s,depth:f}){let p=c.width,g=c.height,y=r4[c.kind],m=y.icon,k=Math.min(.04+f*.035,.14),R=Math.min(.55+f*.08,.85),O=s?"var(--archik-selected)":"var(--archik-container-border)",W=Math.max(0,p-12-22),G=Od(c.name,W,5.9);return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact archik-node--container`,children:[(0,Gb.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:6,ry:6,fill:y.color,fillOpacity:k,stroke:O,strokeWidth:s?1.8:1.2}),(0,Gb.jsx)("path",{d:_jn(p,qQ,6),fill:y.color,fillOpacity:R*.18}),(0,Gb.jsx)("line",{x1:0,y1:qQ,x2:p,y2:qQ,stroke:O,strokeOpacity:.45,strokeWidth:1}),(0,Gb.jsx)("g",{transform:`translate(${mnn}, ${qQ/2-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,Gb.jsx)(m,{size:12,color:y.color,strokeWidth:1.9})}),(0,Gb.jsx)("text",{x:Plt,y:qQ/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:G})]})}function _jn(c,s,f){return`M ${f} 0 H ${c-f} A ${f} ${f} 0 0 1 ${c} ${f} V ${s} H 0 V ${f} A ${f} ${f} 0 0 1 ${f} 0 Z`}var $T=Fc(Tlt(),1),Cp=Fc(zs(),1),Ojn=12,Djn=18;function Mnn({Icon:c,cx:s,cy:f,size:p=Ojn,color:g,strokeWidth:y=1.8}){return(0,Cp.jsx)("g",{transform:`translate(${s-p/2}, ${f-p/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Cp.jsx)(c,{size:p,color:g??"var(--archik-fg-dim)",strokeWidth:y})})}function xnn(c){return(0,Cp.jsx)(Mnn,{Icon:$T.Info,...c})}function Snn(c){return(0,Cp.jsx)(Mnn,{Icon:$T.StickyNote,...c})}function Cnn({cx:c,cy:s,filePath:f,fileLabel:p,onClick:g,size:y=13}){return(0,Cp.jsxs)("g",{transform:`translate(${c-y/2}, ${s-y/2})`,style:{cursor:g?"pointer":"default"},onClick:g,children:[(0,Cp.jsx)("title",{children:`Cross-file edge \u2192 ${p} (${f})`}),(0,Cp.jsx)("circle",{cx:y/2,cy:y/2,r:y/2+.5,fill:"var(--archik-fg-dim)",fillOpacity:.12,stroke:"var(--archik-fg-dim)",strokeOpacity:.4,strokeWidth:1}),(0,Cp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Cp.jsx)($T.ArrowUpRight,{size:y-2,color:"var(--archik-fg-muted)",strokeWidth:2.2})})]})}function Inn({cx:c,cy:s,onClick:f,size:p=14}){return(0,Cp.jsxs)("g",{transform:`translate(${c-p/2}, ${s-p/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,Cp.jsx)("title",{children:"Open sub-architecture"}),(0,Cp.jsx)("circle",{cx:p/2,cy:p/2,r:p/2+.5,fill:"var(--archik-accent)",fillOpacity:.16,stroke:"var(--archik-accent)",strokeOpacity:.45,strokeWidth:1}),(0,Cp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Cp.jsx)($T.ChevronDown,{size:p-2,color:"var(--archik-accent)",strokeWidth:2.2})})]})}function Tnn(c,s,f){if(c==="queue"){let g=Math.min(f/2,28);return{right:{x:s-g-4,y:14}}}else return{right:{x:s-14,y:14}}}function Lnn(c,s){return Array.from({length:s},(f,p)=>({x:c.x-p*Djn,y:c.y}))}var $f=Fc(zs(),1);function Fjn({node:c,selected:s,viewMode:f,depth:p}){if(f==="compact")return(0,$f.jsx)(knn,{node:c,selected:s,depth:p});if(c.children.length>0)return(0,$f.jsx)(vnn,{node:c,selected:s,depth:p});switch(c.kind){case"queue":return(0,$f.jsx)(gnn,{node:c,selected:s});case"external":return(0,$f.jsx)(pnn,{node:c,selected:s});case"database":return(0,$f.jsx)(bnn,{node:c,selected:s});case"cloud":return(0,$f.jsx)(wnn,{node:c,selected:s});case"module":case"custom":case"service":case"function":case"worker":case"agent":case"cache":case"vectordb":case"storage":case"topic":case"stream":case"gateway":case"cdn":case"route":case"interface":case"adapter":case"port":case"llm":case"prompt":case"tool":case"auth":case"observability":case"frontend":return(0,$f.jsx)(dnn,{node:c,selected:s});default:{let g=c.kind;throw new Error("unreachable node kind")}}}function Alt({node:c,selectedNodeIds:s,onSelectNode:f,onOpenSubFile:p,onCrossFileNavigate:g,crossFileByNode:y,viewMode:m="detailed",depth:k=0}){let R=s?.has(c.id)??!1,O=c.children.length>0,W=O?k+1:k,G=f?Q=>{Q.stopPropagation(),f(c.id,Q)}:void 0,K=c.description!==void 0&&c.description.length>0;return(0,$f.jsxs)("g",{"data-archik-node-id":c.id,...R?{"data-archik-selected":"true"}:{},transform:`translate(${c.x}, ${c.y})`,...G!==void 0?{onClick:G}:{},style:f?{cursor:"pointer"}:void 0,children:[(0,$f.jsx)(Fjn,{node:c,selected:R,viewMode:m,depth:k}),m==="detailed"&&!O&&(()=>{let Q=c.notes!==void 0&&c.notes.length>0,Te=c.archikFile!==void 0&&c.archikFile.length>0,be=y?.get(c.id),Ee=be?Array.from(be).sort():[],ct=[];Te&&ct.push("subarch");for(let Oe of Ee)ct.push({type:"crossfile",path:Oe});if(K&&ct.push("info"),Q&&ct.push("notes"),ct.length===0)return null;let xt=Tnn(c.kind,c.width,c.height),$t=Lnn(xt.right,ct.length);return(0,$f.jsx)($f.Fragment,{children:ct.map((Oe,Ct)=>{let We=$t[Ct];if(typeof Oe=="object"&&Oe.type==="crossfile"){let Hn=Oe.path,an=Hn.split("/").pop().replace(/\.archik\.yaml$/,""),dr=g??p,Mr=dr?Fr=>{Fr.stopPropagation(),dr(Hn,an)}:void 0;return(0,$f.jsx)(Cnn,{cx:We.x,cy:We.y,filePath:Hn,fileLabel:an,...Mr?{onClick:Mr}:{}},`xf-${Hn}`)}if(Oe==="subarch"){let Hn=c.archikFile,an=p?dr=>{dr.stopPropagation(),p(Hn,c.name)}:void 0;return(0,$f.jsx)(Inn,{cx:We.x,cy:We.y,...an?{onClick:an}:{}},"subarch")}return Oe==="info"?(0,$f.jsx)(xnn,{cx:We.x,cy:We.y,color:"var(--archik-node-caption)"},"info"):(0,$f.jsxs)("g",{children:[(0,$f.jsx)(Snn,{cx:We.x,cy:We.y,color:"var(--archik-node-caption)"}),c.notes&&c.notes.length>1&&(0,$f.jsx)("text",{x:We.x+7,y:We.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:c.notes.length})]},"notes")})})})(),c.children.map(Q=>(0,$f.jsx)(Alt,{node:Q,viewMode:m,depth:W,...s!==void 0?{selectedNodeIds:s}:{},...f!==void 0?{onSelectNode:f}:{},...p!==void 0?{onOpenSubFile:p}:{},...g!==void 0?{onCrossFileNavigate:g}:{},...y!==void 0?{crossFileByNode:y}:{}},Q.id))]})}var vz=Fc(zs(),1),i4="archik-arrow-filled",FG="archik-arrow-open",Rlt="archik-arrow-circle",_lt="archik-arrow-selected",HAe="archik-arrow-uml-triangle",Olt="archik-arrow-uml-diamond-filled",Dlt="archik-arrow-double",_5="var(--archik-edge-filled)",DG="var(--archik-edge-dim)",zjn={http_call:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:i4},grpc:{stroke:_5,strokeWidth:1.8,strokeDasharray:"3 4",animated:!0,markerId:Dlt},invokes:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:i4},routes_to:{stroke:_5,strokeWidth:1.4,markerId:i4},websocket:{stroke:_5,strokeWidth:1.6,strokeDasharray:"4 3",animatedFast:!0,markerId:i4,markerStartId:i4},webhook:{stroke:_5,strokeWidth:1.4,strokeDasharray:"10 5",animated:!0,markerId:FG},reads:{stroke:_5,strokeWidth:1.2,strokeDasharray:"2 6",animated:!0,markerId:FG},writes:{stroke:_5,strokeWidth:1.7,strokeDasharray:"2 6",animated:!0,markerId:i4},publishes:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Rlt},subscribes:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:i4},streams_to:{stroke:_5,strokeWidth:1.7,strokeDasharray:"6 4",animatedFast:!0,markerId:i4},implements:{stroke:DG,strokeWidth:1.2,strokeDasharray:"8 4",markerId:HAe},extends:{stroke:DG,strokeWidth:1.4,markerId:HAe},composes:{stroke:DG,strokeWidth:1.4,markerId:i4,markerStartId:Olt},depends_on:{stroke:DG,strokeWidth:1.2,strokeDasharray:"6 4",markerId:FG},has_a:{stroke:DG,strokeWidth:1.4,markerId:i4},uses:{stroke:DG,strokeWidth:1.2,strokeDasharray:"4 4",markerId:FG}};function Enn(c){return c.map(s=>`${s.x},${s.y}`).join(" ")}function Njn(c){if(c.length===0)return;let s=Math.floor(c.length/2);if(c.length%2===1)return c[s];let f=c[s-1],p=c[s];return{x:(f.x+p.x)/2,y:(f.y+p.y)/2}}function Pnn({edge:c,selectedEdgeIds:s,onSelectEdge:f}){let p=c.sections[0];if(!p)return null;let g=[p.startPoint,...p.bendPoints,p.endPoint],y=zjn[c.relationship],m=c.labels[0],k=m?{x:m.x+m.width/2,y:m.y+m.height/2}:Njn(g),R=s?.has(c.id)??!1,O=R?"var(--archik-selected)":c.color??y.stroke,W=R?y.strokeWidth+.5:y.strokeWidth,G=R?_lt:y.markerId,K=!R&&y.markerStartId!==void 0?y.markerStartId:void 0,Q=R?void 0:y.animatedFast?"archik-edge-flowing-fast":y.animated?"archik-edge-flowing":void 0,Te=f?be=>{be.stopPropagation(),f(c.id,be)}:void 0;return(0,vz.jsxs)("g",{"data-archik-edge-id":c.id,"data-archik-edge-relationship":c.relationship,...R?{"data-archik-selected":"true"}:{},className:`archik-edge archik-edge--${c.relationship}`,...Te!==void 0?{onClick:Te}:{},style:f?{cursor:"pointer"}:void 0,children:[f&&(0,vz.jsx)("polyline",{"data-archik-edge-hitarea":"",points:Enn(g),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),(0,vz.jsx)("polyline",{className:Q,points:Enn(g),fill:"none",stroke:O,strokeWidth:W,strokeLinecap:"round",strokeLinejoin:"round",markerEnd:`url(#${G})`,...K!==void 0?{markerStart:`url(#${K})`}:{},...y.strokeDasharray!==void 0?{strokeDasharray:y.strokeDasharray}:{}}),c.label!==void 0&&k!==void 0&&(0,vz.jsx)("g",{transform:`translate(${k.x}, ${m?k.y+4:k.y-6})`,children:(0,vz.jsx)("text",{textAnchor:"middle",fontSize:11,fontWeight:R?700:500,fill:R?"var(--archik-selected)":"var(--archik-fg-dim)",stroke:"var(--archik-panel)",strokeWidth:R?4:3,paintOrder:"stroke",children:c.label})})]})}var Vb=Fc(zs(),1);var Flt={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function Bjn(c){let s=[],f=(p,g,y)=>{for(let m of p){let k=g+m.x,R=y+m.y;s.push({...m,absX:k,absY:R}),m.children.length>0&&f(m.children,k,R)}};return f(c,0,0),s}function jjn(c){return c.replace(/[^a-z0-9-]/g,s=>`\\${s}`)}function Ann({statuses:c,scopeClass:s}){let f=[];for(let[g,y]of c.nodes)y==="removed"&&f.push(g);if(f.length===0)return null;let p=f.map(g=>`.${s} [data-archik-node-id="${jjn(g)}"] { opacity: 0.35; }`).join(`
440
+ ${q$t(f.errors)}`);return f.value}function x0e(c){return Wst.default.stringify(c,{indent:2,lineWidth:0})}async function Z$t(c){let s;try{s=await gp(c._[0])}catch(g){return console.error(`\u2717 ${g instanceof Error?g.message:String(g)}`),1}let f=tFn.relative(process.cwd(),s)||s,p;try{p=await eFn(s,"utf-8")}catch(g){return console.error(`\u2717 Cannot read ${f}`),console.error(g instanceof Error?g.message:String(g)),1}try{let g=bp(p);return console.log(`\u2713 ${f} \u2014 ${g.nodes.length} nodes, ${g.edges.length} edges`),0}catch(g){return console.error(`\u2717 ${f}`),console.error(g instanceof Error?g.message:String(g)),1}}var Dnn=Fc(Kk(),1),Fnn=Fc(N2e(),1);import{mkdir as eHn,readFile as tHn,writeFile as nHn}from"node:fs/promises";import Nlt from"node:path";var rnn=Fc(Qtn(),1);function GQ(c,s){return c.length*s}function Od(c,s,f){if(s<=0)return"";let p=Math.floor(s/f);return c.length<=p?c:p<=1?"\u2026":c.slice(0,p-1)+"\u2026"}var VQ={nodeSpacing:60,layerSpacing:100,padding:40,viewMode:"detailed"};function rjn(c){let s=c.nodeSpacing??VQ.nodeSpacing,f=c.layerSpacing??VQ.layerSpacing,p=c.padding??VQ.padding;return{"elk.algorithm":"layered","elk.direction":"RIGHT","elk.edgeRouting":"ORTHOGONAL","elk.layered.spacing.nodeNodeBetweenLayers":String(f),"elk.spacing.nodeNode":String(s),"elk.padding":`[top=${p}, left=${p}, bottom=${p}, right=${p}]`,"elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.edgeLabels.placement":"CENTER","elk.spacing.edgeLabel":"8","elk.spacing.labelLabel":"6","elk.spacing.edgeNode":"20","elk.spacing.edgeEdge":"12","elk.layered.spacing.edgeEdgeBetweenLayers":"12"}}var L0={width:172,height:82},enn={width:172,height:90},ijn={service:L0,function:L0,worker:L0,agent:L0,database:{width:180,height:96},cache:enn,vectordb:L0,storage:L0,queue:{width:188,height:80},topic:L0,stream:L0,gateway:L0,cdn:L0,route:L0,interface:L0,adapter:L0,port:L0,llm:L0,prompt:L0,tool:L0,auth:L0,observability:L0,cloud:{width:200,height:120},frontend:enn,external:{width:184,height:100},module:{width:240,height:130},custom:{width:240,height:130}},vh={width:152,height:36},tnn={width:200,height:80},ojn={service:vh,function:vh,worker:vh,agent:vh,database:vh,cache:vh,vectordb:vh,storage:vh,queue:{width:168,height:36},topic:vh,stream:vh,gateway:vh,cdn:vh,route:vh,interface:vh,adapter:vh,port:vh,llm:vh,prompt:vh,tool:vh,auth:vh,observability:vh,cloud:vh,frontend:vh,external:{width:168,height:40},module:tnn,custom:tnn},cjn=24,nnn=320;function ajn(c,s,f){if(c.kind==="module"||c.kind==="custom")return s;if(f==="compact"){let k=36+GQ(c.name,5.9)+12;return Math.max(s,Math.min(nnn,Math.ceil(k)))}let p=GQ(c.name,7.4),g=c.stack!==void 0?GQ(c.stack,5.9):0,y=Math.max(p,g)+cjn;return Math.max(s,Math.min(nnn,Math.ceil(y)))}var sjn={top:48,left:18,bottom:18,right:18};function ujn(c,s,f,p){let g=f[c.kind],y={id:c.id,width:ajn(c,g.width,p),height:g.height};if(s.length>0){y.children=s;let m=p==="compact"?{top:30,left:12,bottom:12,right:12}:sjn;y.layoutOptions={"elk.padding":`[top=${m.top}, left=${m.left}, bottom=${m.bottom}, right=${m.right}]`}}return y}function ljn(c,s,f){let p=new Map;for(let k of c.nodes)p.set(k.id,k);let g=new Map;for(let k of c.nodes){let R=g.get(k.parentId)??[];R.push(k),g.set(k.parentId,R)}function y(k){let R=(g.get(k.id)??[]).map(y);return ujn(k,R,s,f)}return{roots:(g.get(void 0)??[]).map(y),byId:p}}function hjn(c){return c.fromFile===void 0&&c.toFile===void 0}function fjn(c){return c.edges.filter(hjn).map(s=>{let f={id:s.id,sources:[s.from],targets:[s.to]};return s.label!==void 0&&s.label.length>0&&(f.labels=[{text:s.label,width:Math.ceil(GQ(s.label,5.9)),height:14}]),f})}function mw(c){return c??0}function inn(c,s){let f=s.get(c.id);if(!f)throw new Error(`ELK returned unknown node id "${c.id}"`);let p=(c.children??[]).map(g=>inn(g,s));return{...f,x:mw(c.x),y:mw(c.y),width:mw(c.width),height:mw(c.height),children:p}}function djn(c,s){let f=new Map,p=new Map,g=(O,W,G,K)=>{let Q=W+mw(O.x),Te=G+mw(O.y);f.set(O.id,{x:Q,y:Te}),p.set(O.id,K);let be=[...K,O.id];for(let Ee of O.children??[])g(Ee,Q,Te,be)};g(c,0,0,[]);let y=(O,W)=>{let G=p.get(O)??[],K=p.get(W)??[],Q=0;for(;Q<G.length&&Q<K.length&&G[Q]===K[Q];)Q++;let Te=Q===0?c.id:G[Q-1];return f.get(Te)??{x:0,y:0}},m=new Map,k=new Map,R=O=>{for(let W of O.edges??[]){let G=W.sources?.[0]??"",K=W.targets?.[0]??"",Q=y(G,K),Te=ct=>({x:mw(ct.x)+Q.x,y:mw(ct.y)+Q.y}),be=(W.sections??[]).map(ct=>({startPoint:Te(ct.startPoint),endPoint:Te(ct.endPoint),bendPoints:(ct.bendPoints??[]).map(Te)}));m.set(W.id,be);let Ee=(W.labels??[]).map(ct=>({text:typeof ct.text=="string"?ct.text:"",x:mw(ct.x)+Q.x,y:mw(ct.y)+Q.y,width:mw(ct.width),height:mw(ct.height)}));k.set(W.id,Ee)}for(let W of O.children??[])R(W)};return R(c),s.edges.map(O=>({...O,sections:m.get(O.id)??[],labels:k.get(O.id)??[]}))}var gjn=new rnn.default;async function pjn(c,s={}){if(c.nodes.length===0)return{document:c,width:0,height:0,roots:[],edges:[]};let f=s.viewMode==="compact"?"compact":"detailed",p=f==="compact"?ojn:ijn,{roots:g,byId:y}=ljn(c,p,f),m={id:"__root__",layoutOptions:rjn(s),children:g,edges:fjn(c)},k=await gjn.layout(m),R=(k.children??[]).map(O=>inn(O,y));return{document:c,width:mw(k.width),height:mw(k.height),roots:R,edges:djn(k,c)}}var B2e={name:"elk",layout:pjn};var f3r={[B2e.name]:B2e},bjn=B2e;function RG(c,s){return bjn.layout(c,s)}var fo=Fc(Tlt(),1);var n4=Fc(zs(),1),lnn=(c,s,f)=>({width:c,height:c,viewBox:"0 0 24 24",fill:"none",stroke:s,strokeWidth:f,strokeLinecap:"round",strokeLinejoin:"round"});function hnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,n4.jsxs)("svg",{...lnn(c,s,f),"aria-hidden":"true",children:[(0,n4.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3.5",ry:"3.5"}),(0,n4.jsx)("line",{x1:"9",y1:"9",x2:"9",y2:"13"}),(0,n4.jsx)("line",{x1:"15",y1:"9",x2:"15",y2:"13"}),(0,n4.jsx)("circle",{cx:"12",cy:"16.5",r:"1",fill:s,stroke:"none"})]})}function fnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,n4.jsxs)("svg",{...lnn(c,s,f),"aria-hidden":"true",children:[(0,n4.jsx)("path",{d:"M 7.5 6 L 3.5 12 L 7.5 18"}),(0,n4.jsx)("path",{d:"M 16.5 6 L 20.5 12 L 16.5 18"}),(0,n4.jsx)("circle",{cx:"13",cy:"8.6",r:"0.9",fill:s,stroke:"none"}),(0,n4.jsx)("line",{x1:"13",y1:"11",x2:"11",y2:"16.5"})]})}var r4={service:{color:"#38bdf8",icon:fo.Server,description:"Long-running compute that owns business logic."},function:{color:"#22d3ee",icon:fo.FunctionSquare,description:"Stateless function-as-a-service / lambda."},worker:{color:"#06b6d4",icon:fo.Cog,description:"Background job processor or consumer loop."},agent:{color:"#14b8a6",icon:fo.Bot,description:"Autonomous AI agent driving tools and actions."},database:{color:"#34d399",icon:fo.Database,description:"Persistent state \u2014 relational, document, key-value."},cache:{color:"#a78bfa",icon:fo.Layers,description:"In-memory store for fast reads."},vectordb:{color:"#c084fc",icon:fo.Sparkles,description:"Vector store for embeddings / similarity search."},storage:{color:"#84cc16",icon:fo.HardDrive,description:"Object / blob storage (S3, GCS, etc.)."},queue:{color:"#fbbf24",icon:fo.SendHorizontal,description:"Asynchronous work queue with at-least-once delivery."},topic:{color:"#f97316",icon:fo.Radio,description:"Pub/sub topic with multiple consumers."},stream:{color:"#fb923c",icon:fo.Waves,description:"Append-only event log (Kafka, Kinesis)."},gateway:{color:"#6366f1",icon:fo.DoorOpen,description:"API gateway, ingress, edge router."},cdn:{color:"#0ea5e9",icon:fo.Globe,description:"Content delivery network / static edge."},route:{color:"#f59e0b",icon:fo.Route,description:"HTTP / URL route \u2014 path + method mapped to a handler."},interface:{color:"#d946ef",icon:fnn,description:"Abstract contract \u2014 the <i> a system commits to."},adapter:{color:"#c026d3",icon:fo.Cable,description:"Concrete implementation of an interface."},port:{color:"#a21caf",icon:hnn,description:"Hexagonal-architecture port \u2014 the socket an adapter plugs into."},llm:{color:"#a855f7",icon:fo.Brain,description:"Large language model service."},prompt:{color:"#c4b5fd",icon:fo.MessageSquare,description:"Prompt template / instruction set."},tool:{color:"#fde047",icon:fo.Wrench,description:"Tool callable by an agent or LLM."},auth:{color:"#ef4444",icon:fo.Lock,description:"Identity provider, auth service."},observability:{color:"#10b981",icon:fo.Eye,description:"Metrics, logs, traces \u2014 operational telemetry."},cloud:{color:"#0284c7",icon:fo.Cloud,description:"Managed cloud service (compute, hosted, etc.)."},frontend:{color:"#f472b6",icon:fo.Monitor,description:"User-facing surface \u2014 browser, mobile, CLI."},external:{color:"#94a3b8",icon:fo.ExternalLink,description:"Third-party system you don't own."},module:{color:"#7dd3fc",icon:fo.Package,description:"Module / component grouping (logical container)."},custom:{color:"#64748b",icon:fo.Box,description:"Container or anything not in the taxonomy."}};var JT=Fc(zs(),1),Dd=28;function _G({kind:c,iconAt:s,labelAt:f}){let p=r4[c],g=p.icon,y=14;return(0,JT.jsxs)(JT.Fragment,{children:[(0,JT.jsx)("g",{transform:`translate(${s.cx-y/2}, ${s.cy-y/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,JT.jsx)(g,{size:y,color:p.color,strokeWidth:1.8})}),(0,JT.jsx)("text",{x:f.cx,y:f.cy,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.toUpperCase()})]})}var XT=Fc(zs(),1),Mjn=24;function dnn({node:c,selected:s}){let f=c.width,p=c.height,g=c.stack!==void 0,y=Dd+(p-Dd)/2,m=g?y-4:y+4,k=y+14,R=Math.max(0,f-Mjn),O=Od(c.name,R,7.4),W=g?Od(c.stack,R,5.9):"";return(0,XT.jsxs)("g",{className:`archik-node archik-node--${c.kind}`,children:[(0,XT.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:10,ry:10,fill:"var(--archik-node-fill)",stroke:s?"var(--archik-selected)":"var(--archik-node-stroke)",strokeWidth:s?1.8:1.4}),(0,XT.jsx)("line",{x1:0,y1:Dd,x2:f,y2:Dd,stroke:"var(--archik-node-stroke)",strokeOpacity:.25,strokeWidth:1}),(0,XT.jsx)(_G,{kind:c.kind,iconAt:{cx:18,cy:Dd/2},labelAt:{cx:f/2,cy:Dd/2+3}}),(0,XT.jsx)("text",{x:f/2,y:m,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:O}),g&&(0,XT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:W})]})}var KT=Fc(zs(),1);function gnn({node:c,selected:s}){let f=c.width,p=c.height,g=Math.min(p/2,28),y=c.stack!==void 0,m=Dd+(p-Dd)/2,k=y?m-4:m+4,R=m+14,O=Math.max(0,f-2*g-8),W=Od(c.name,O,7.4),G=y?Od(c.stack,O,5.9):"",K=s?"var(--archik-selected)":"var(--archik-node-stroke)";return(0,KT.jsxs)("g",{className:"archik-node archik-node--queue",children:[(0,KT.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:g,ry:g,fill:"var(--archik-node-fill)",stroke:K,strokeWidth:s?1.8:1.4}),(0,KT.jsx)("line",{x1:g,y1:Dd,x2:f-g,y2:Dd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,KT.jsx)(_G,{kind:"queue",iconAt:{cx:g+8,cy:Dd/2},labelAt:{cx:f/2,cy:Dd/2+3}}),(0,KT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:W}),y&&(0,KT.jsx)("text",{x:f/2,y:R,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:G})]})}var YT=Fc(zs(),1),xjn=24;function pnn({node:c,selected:s}){let f=c.width,p=c.height,g=c.description!==void 0,y=Dd,m=y+(p-y)/2,k=g?m-2:m+4,R=p-12,O=Math.max(0,f-xjn),W=Od(c.name,O,7.4),G=g?Od(c.description,O,5.9):"",K=s?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,YT.jsxs)("g",{className:"archik-node archik-node--external",children:[(0,YT.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:K,strokeWidth:s?1.8:1.2,strokeDasharray:s?void 0:"6 4"}),(0,YT.jsx)("line",{x1:6,y1:Dd,x2:f-6,y2:Dd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,YT.jsx)(_G,{kind:"external",iconAt:{cx:18,cy:Dd/2},labelAt:{cx:f/2,cy:Dd/2+3}}),(0,YT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:W}),g&&(0,YT.jsx)("text",{x:f/2,y:R,textAnchor:"middle",fontSize:10,fill:"var(--archik-node-text-dim)",children:G})]})}var s9=Fc(zs(),1),Sjn=28,Cjn=12,Ijn=6;function bnn({node:c,selected:s}){let f=c.width,p=c.height,g=f/2,y=Cjn,m=r4[c.kind],k=m.icon,R=s?"var(--archik-selected)":"var(--archik-node-stroke)",O=s?1.8:1.4,W=c.stack!==void 0,G=Math.max(0,f-Sjn),K=Od(c.name,G,7.4),Q=W?Od(c.stack,G,5.9):"",Te=y+Ijn,be=p-y,Ee=(Te+be)/2,ct=W?Ee-4:Ee+4,xt=Ee+14,$t=y+4;return(0,s9.jsxs)("g",{className:"archik-node archik-node--database",children:[(0,s9.jsx)("path",{className:s?"archik-selected-glow":void 0,d:Tjn(f,p,y),fill:"var(--archik-node-fill)",stroke:R,strokeWidth:O,strokeLinejoin:"round"}),(0,s9.jsx)("ellipse",{cx:g,cy:y,rx:f/2,ry:y,fill:"var(--archik-node-fill)",stroke:R,strokeWidth:O}),(0,s9.jsx)("g",{transform:`translate(14, ${y-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,s9.jsx)(k,{size:14,color:m.color,strokeWidth:1.9})}),(0,s9.jsx)("text",{x:g,y:$t+18,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.kind.toUpperCase()}),(0,s9.jsx)("text",{x:g,y:ct,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:K}),W&&(0,s9.jsx)("text",{x:g,y:xt,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:Q})]})}function Tjn(c,s,f){return[`M 0 ${f}`,`L 0 ${s-f}`,`A ${c/2} ${f} 0 0 0 ${c} ${s-f}`,`L ${c} ${f}`,`A ${c/2} ${f} 0 0 0 0 ${f}`,"Z"].join(" ")}var Cx=Fc(zs(),1),Ljn=36,ynn=18;function wnn({node:c,selected:s}){let f=c.width,p=c.height,g=r4[c.kind],y=g.icon,m=s?"var(--archik-selected)":"var(--archik-node-stroke)",k=s?1.8:1.4,R=c.stack!==void 0,O=Math.max(0,f-Ljn),W=Od(c.name,O,7.4),G=R?Od(c.stack,O,5.9):"",K=f/2,Q=p*.55,Te=R?Q-4:Q+4,be=Q+14;return(0,Cx.jsxs)("g",{className:"archik-node archik-node--cloud",children:[(0,Cx.jsx)("path",{className:s?"archik-selected-glow":void 0,d:Ejn(f,p),fill:"var(--archik-node-fill)",stroke:m,strokeWidth:k,strokeLinejoin:"round"}),(0,Cx.jsx)("g",{transform:`translate(18, ${ynn-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,Cx.jsx)(y,{size:14,color:g.color,strokeWidth:1.9})}),(0,Cx.jsx)("text",{x:K,y:ynn+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.kind.toUpperCase()}),(0,Cx.jsx)("text",{x:K,y:Te,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:W}),R&&(0,Cx.jsx)("text",{x:K,y:be,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:G})]})}function Ejn(c,s){let f=s*.18,p=s-4,g=c*.22,y=c*.42,m=c*.62,k=c*.82,R=s*.45;return[`M ${R} ${p}`,`L ${c-R} ${p}`,`Q ${c-4} ${p} ${c-4} ${p-R*.6}`,`Q ${c-2} ${s*.48} ${k+s*.18} ${s*.34}`,`Q ${k+s*.18} ${f*.4} ${k} ${f}`,`Q ${m+s*.05} ${f+s*.1} ${m} ${f-s*.04}`,`Q ${(m+y)/2} ${-s*.06} ${y} ${f-s*.04}`,`Q ${y-s*.05} ${f+s*.12} ${g} ${f+s*.04}`,`Q ${g-s*.22} ${f*.5} 4 ${s*.42}`,`Q 4 ${p-R*.6} ${R} ${p}`,"Z"].join(" ")}var Ub=Fc(zs(),1),OG=32,jAe=14,Elt=14;function vnn({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height;if(!(c.children.length>0))return(0,Ub.jsx)(Ajn,{node:c,selected:!!s});let m=r4[c.kind],k=m.icon,R=Math.min(.04+f*.06,.22),O=Math.min(.55+f*.12,.95),W=s?"var(--archik-selected)":"var(--archik-container-border)",G=s?1.8:1.2,K=Math.max(0,p-jAe*2-60),Q=Od(c.name,K,7.4);return(0,Ub.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--container`,children:[(0,Ub.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:8,ry:8,fill:m.color,fillOpacity:R,stroke:W,strokeWidth:G,pointerEvents:"none"}),f>=1&&p>8&&g>8&&(0,Ub.jsx)("rect",{x:3,y:3,width:p-6,height:g-6,rx:6,ry:6,fill:"none",stroke:m.color,strokeOpacity:Math.min(.18+(f-1)*.06,.32),strokeWidth:1,pointerEvents:"none"}),(0,Ub.jsx)("path",{d:Pjn(p,OG,8),fill:m.color,fillOpacity:O*.18}),(0,Ub.jsx)("line",{x1:0,y1:OG,x2:p,y2:OG,stroke:W,strokeOpacity:.45,strokeWidth:1}),(0,Ub.jsx)("g",{transform:`translate(${jAe}, ${OG/2-Elt/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Ub.jsx)(k,{size:Elt,color:m.color,strokeWidth:1.9})}),(0,Ub.jsx)("text",{x:jAe+Elt+8,y:OG/2+4,fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:Q}),(0,Ub.jsx)("text",{x:p-jAe,y:OG/2+3,textAnchor:"end",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:c.kind.toUpperCase()})]})}function Pjn(c,s,f){return`M ${f} 0 H ${c-f} A ${f} ${f} 0 0 1 ${c} ${f} V ${s} H 0 V ${f} A ${f} ${f} 0 0 1 ${f} 0 Z`}function Ajn({node:c,selected:s}){let f=c.width,p=c.height,g=r4[c.kind],y=s?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,Ub.jsxs)("g",{className:`archik-node archik-node--${c.kind}`,children:[(0,Ub.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:y,strokeWidth:s?1.8:1.2,strokeDasharray:s?void 0:"5 4"}),(0,Ub.jsx)("text",{x:f/2,y:p/2+4,textAnchor:"middle",fontSize:12,fontWeight:600,fill:g.color,children:c.name})]})}var Gb=Fc(zs(),1),qQ=24,mnn=10,Plt=28;function knn({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height,y=r4[c.kind],m=y.icon,k=c.kind==="external";if(c.children.length>0)return(0,Gb.jsx)(Rjn,{node:c,selected:!!s,depth:f});let R=s?"var(--archik-selected)":k?"var(--archik-node-stroke-soft)":"var(--archik-node-stroke)",O=k?"var(--archik-node-fill-tinted)":"var(--archik-node-fill)",W=c.kind==="queue"?Math.min(g/2,18):8;return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact`,children:[(0,Gb.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:W,ry:W,fill:O,stroke:R,strokeWidth:s?1.8:1.4,strokeDasharray:k&&!s?"5 4":void 0}),(0,Gb.jsx)("g",{transform:`translate(${mnn}, ${g/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,Gb.jsx)(m,{size:13,color:y.color,strokeWidth:1.9})}),(0,Gb.jsx)("text",{x:Plt,y:g/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Od(c.name,Math.max(0,p-Plt-8),5.9)})]})}function Rjn({node:c,selected:s,depth:f}){let p=c.width,g=c.height,y=r4[c.kind],m=y.icon,k=Math.min(.04+f*.035,.14),R=Math.min(.55+f*.08,.85),O=s?"var(--archik-selected)":"var(--archik-container-border)",W=Math.max(0,p-12-22),G=Od(c.name,W,5.9);return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact archik-node--container`,children:[(0,Gb.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:6,ry:6,fill:y.color,fillOpacity:k,stroke:O,strokeWidth:s?1.8:1.2}),(0,Gb.jsx)("path",{d:_jn(p,qQ,6),fill:y.color,fillOpacity:R*.18}),(0,Gb.jsx)("line",{x1:0,y1:qQ,x2:p,y2:qQ,stroke:O,strokeOpacity:.45,strokeWidth:1}),(0,Gb.jsx)("g",{transform:`translate(${mnn}, ${qQ/2-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,Gb.jsx)(m,{size:12,color:y.color,strokeWidth:1.9})}),(0,Gb.jsx)("text",{x:Plt,y:qQ/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:G})]})}function _jn(c,s,f){return`M ${f} 0 H ${c-f} A ${f} ${f} 0 0 1 ${c} ${f} V ${s} H 0 V ${f} A ${f} ${f} 0 0 1 ${f} 0 Z`}var $T=Fc(Tlt(),1),Cp=Fc(zs(),1),Ojn=12,Djn=18;function Mnn({Icon:c,cx:s,cy:f,size:p=Ojn,color:g,strokeWidth:y=1.8}){return(0,Cp.jsx)("g",{transform:`translate(${s-p/2}, ${f-p/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Cp.jsx)(c,{size:p,color:g??"var(--archik-fg-dim)",strokeWidth:y})})}function xnn(c){return(0,Cp.jsx)(Mnn,{Icon:$T.Info,...c})}function Snn(c){return(0,Cp.jsx)(Mnn,{Icon:$T.StickyNote,...c})}function Cnn({cx:c,cy:s,filePath:f,fileLabel:p,onClick:g,size:y=13}){return(0,Cp.jsxs)("g",{transform:`translate(${c-y/2}, ${s-y/2})`,style:{cursor:g?"pointer":"default"},onClick:g,children:[(0,Cp.jsx)("title",{children:`Cross-file edge \u2192 ${p} (${f})`}),(0,Cp.jsx)("circle",{cx:y/2,cy:y/2,r:y/2+.5,fill:"var(--archik-fg-dim)",fillOpacity:.12,stroke:"var(--archik-fg-dim)",strokeOpacity:.4,strokeWidth:1}),(0,Cp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Cp.jsx)($T.ArrowUpRight,{size:y-2,color:"var(--archik-fg-muted)",strokeWidth:2.2})})]})}function Inn({cx:c,cy:s,onClick:f,size:p=14}){return(0,Cp.jsxs)("g",{transform:`translate(${c-p/2}, ${s-p/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,Cp.jsx)("title",{children:"Open sub-architecture"}),(0,Cp.jsx)("circle",{cx:p/2,cy:p/2,r:p/2+.5,fill:"var(--archik-accent)",fillOpacity:.16,stroke:"var(--archik-accent)",strokeOpacity:.45,strokeWidth:1}),(0,Cp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Cp.jsx)($T.ChevronDown,{size:p-2,color:"var(--archik-accent)",strokeWidth:2.2})})]})}function Tnn(c,s,f){if(c==="queue"){let g=Math.min(f/2,28);return{right:{x:s-g-4,y:14}}}else return{right:{x:s-14,y:14}}}function Lnn(c,s){return Array.from({length:s},(f,p)=>({x:c.x-p*Djn,y:c.y}))}var $f=Fc(zs(),1);function Fjn({node:c,selected:s,viewMode:f,depth:p}){if(f==="compact")return(0,$f.jsx)(knn,{node:c,selected:s,depth:p});if(c.children.length>0)return(0,$f.jsx)(vnn,{node:c,selected:s,depth:p});switch(c.kind){case"queue":return(0,$f.jsx)(gnn,{node:c,selected:s});case"external":return(0,$f.jsx)(pnn,{node:c,selected:s});case"database":return(0,$f.jsx)(bnn,{node:c,selected:s});case"cloud":return(0,$f.jsx)(wnn,{node:c,selected:s});case"module":case"custom":case"service":case"function":case"worker":case"agent":case"cache":case"vectordb":case"storage":case"topic":case"stream":case"gateway":case"cdn":case"route":case"interface":case"adapter":case"port":case"llm":case"prompt":case"tool":case"auth":case"observability":case"frontend":return(0,$f.jsx)(dnn,{node:c,selected:s});default:{let g=c.kind;throw new Error("unreachable node kind")}}}function Alt({node:c,selectedNodeIds:s,onSelectNode:f,onOpenSubFile:p,onCrossFileNavigate:g,crossFileByNode:y,viewMode:m="detailed",depth:k=0}){let R=s?.has(c.id)??!1,O=c.children.length>0,W=O?k+1:k,G=f?Q=>{Q.stopPropagation(),f(c.id,Q)}:void 0,K=c.description!==void 0&&c.description.length>0;return(0,$f.jsxs)("g",{"data-archik-node-id":c.id,...R?{"data-archik-selected":"true"}:{},transform:`translate(${c.x}, ${c.y})`,...G!==void 0?{onClick:G}:{},style:f?{cursor:"pointer"}:void 0,children:[(0,$f.jsx)(Fjn,{node:c,selected:R,viewMode:m,depth:k}),m==="detailed"&&!O&&(()=>{let Q=c.notes!==void 0&&c.notes.length>0,Te=c.archikFile!==void 0&&c.archikFile.length>0,be=y?.get(c.id),Ee=be?Array.from(be).sort():[],ct=[];Te&&ct.push("subarch");for(let Oe of Ee)ct.push({type:"crossfile",path:Oe});if(K&&ct.push("info"),Q&&ct.push("notes"),ct.length===0)return null;let xt=Tnn(c.kind,c.width,c.height),$t=Lnn(xt.right,ct.length);return(0,$f.jsx)($f.Fragment,{children:ct.map((Oe,Ct)=>{let We=$t[Ct];if(typeof Oe=="object"&&Oe.type==="crossfile"){let Hn=Oe.path,an=Hn.split("/").pop().replace(/\.archik\.yaml$/,""),dr=g??p,Mr=dr?Fr=>{Fr.stopPropagation(),dr(Hn,an)}:void 0;return(0,$f.jsx)(Cnn,{cx:We.x,cy:We.y,filePath:Hn,fileLabel:an,...Mr?{onClick:Mr}:{}},`xf-${Hn}`)}if(Oe==="subarch"){let Hn=c.archikFile,an=p?dr=>{dr.stopPropagation(),p(Hn,c.name)}:void 0;return(0,$f.jsx)(Inn,{cx:We.x,cy:We.y,...an?{onClick:an}:{}},"subarch")}return Oe==="info"?(0,$f.jsx)(xnn,{cx:We.x,cy:We.y,color:"var(--archik-node-caption)"},"info"):(0,$f.jsxs)("g",{children:[(0,$f.jsx)(Snn,{cx:We.x,cy:We.y,color:"var(--archik-node-caption)"}),c.notes&&c.notes.length>1&&(0,$f.jsx)("text",{x:We.x+7,y:We.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:c.notes.length})]},"notes")})})})(),c.children.map(Q=>(0,$f.jsx)(Alt,{node:Q,viewMode:m,depth:W,...s!==void 0?{selectedNodeIds:s}:{},...f!==void 0?{onSelectNode:f}:{},...p!==void 0?{onOpenSubFile:p}:{},...g!==void 0?{onCrossFileNavigate:g}:{},...y!==void 0?{crossFileByNode:y}:{}},Q.id))]})}var vz=Fc(zs(),1),i4="archik-arrow-filled",FG="archik-arrow-open",Rlt="archik-arrow-circle",_lt="archik-arrow-selected",HAe="archik-arrow-uml-triangle",Olt="archik-arrow-uml-diamond-filled",Dlt="archik-arrow-double",_5="var(--archik-edge-filled)",DG="var(--archik-edge-dim)",zjn={http_call:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:i4},grpc:{stroke:_5,strokeWidth:1.8,strokeDasharray:"3 4",animated:!0,markerId:Dlt},invokes:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:i4},routes_to:{stroke:_5,strokeWidth:1.4,markerId:i4},websocket:{stroke:_5,strokeWidth:1.6,strokeDasharray:"4 3",animatedFast:!0,markerId:i4,markerStartId:i4},webhook:{stroke:_5,strokeWidth:1.4,strokeDasharray:"10 5",animated:!0,markerId:FG},reads:{stroke:_5,strokeWidth:1.2,strokeDasharray:"2 6",animated:!0,markerId:FG},writes:{stroke:_5,strokeWidth:1.7,strokeDasharray:"2 6",animated:!0,markerId:i4},publishes:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Rlt},subscribes:{stroke:_5,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:i4},streams_to:{stroke:_5,strokeWidth:1.7,strokeDasharray:"6 4",animatedFast:!0,markerId:i4},implements:{stroke:DG,strokeWidth:1.2,strokeDasharray:"8 4",markerId:HAe},extends:{stroke:DG,strokeWidth:1.4,markerId:HAe},composes:{stroke:DG,strokeWidth:1.4,markerId:i4,markerStartId:Olt},depends_on:{stroke:DG,strokeWidth:1.2,strokeDasharray:"6 4",markerId:FG},has_a:{stroke:DG,strokeWidth:1.4,markerId:i4},uses:{stroke:DG,strokeWidth:1.2,strokeDasharray:"4 4",markerId:FG}};function Enn(c){return c.map(s=>`${s.x},${s.y}`).join(" ")}function Njn(c){if(c.length===0)return;let s=Math.floor(c.length/2);if(c.length%2===1)return c[s];let f=c[s-1],p=c[s];return{x:(f.x+p.x)/2,y:(f.y+p.y)/2}}function Pnn({edge:c,selectedEdgeIds:s,onSelectEdge:f}){let p=c.sections[0];if(!p)return null;let g=[p.startPoint,...p.bendPoints,p.endPoint],y=zjn[c.relationship],m=c.labels[0],k=m?{x:m.x+m.width/2,y:m.y+m.height/2}:Njn(g),R=s?.has(c.id)??!1,O=R?"var(--archik-selected)":c.color??y.stroke,W=R?y.strokeWidth+.5:y.strokeWidth,G=R?_lt:y.markerId,K=!R&&y.markerStartId!==void 0?y.markerStartId:void 0,Q=R?void 0:y.animatedFast?"archik-edge-flowing-fast":y.animated?"archik-edge-flowing":void 0,Te=f?be=>{be.stopPropagation(),f(c.id,be)}:void 0;return(0,vz.jsxs)("g",{"data-archik-edge-id":c.id,"data-archik-edge-relationship":c.relationship,...R?{"data-archik-selected":"true"}:{},className:`archik-edge archik-edge--${c.relationship}`,...Te!==void 0?{onClick:Te}:{},style:f?{cursor:"pointer"}:void 0,children:[f&&(0,vz.jsx)("polyline",{"data-archik-edge-hitarea":"",points:Enn(g),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),(0,vz.jsx)("polyline",{className:Q,points:Enn(g),fill:"none",stroke:O,strokeWidth:W,strokeLinecap:"round",strokeLinejoin:"round",markerEnd:`url(#${G})`,...K!==void 0?{markerStart:`url(#${K})`}:{},...y.strokeDasharray!==void 0?{strokeDasharray:y.strokeDasharray}:{}}),c.label!==void 0&&k!==void 0&&(0,vz.jsx)("g",{transform:`translate(${k.x}, ${m?k.y+4:k.y-6})`,children:(0,vz.jsx)("text",{textAnchor:"middle",fontSize:11,fontWeight:R?700:500,fill:R?"var(--archik-selected)":"var(--archik-fg-dim)",stroke:"var(--archik-panel)",strokeWidth:R?4:3,paintOrder:"stroke",children:c.label})})]})}var Vb=Fc(zs(),1);var Flt={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function Bjn(c){let s=[],f=(p,g,y)=>{for(let m of p){let k=g+m.x,R=y+m.y;s.push({...m,absX:k,absY:R}),m.children.length>0&&f(m.children,k,R)}};return f(c,0,0),s}function jjn(c){return c.replace(/[^a-z0-9-]/g,s=>`\\${s}`)}function Ann({statuses:c,scopeClass:s}){let f=[];for(let[g,y]of c.nodes)y==="removed"&&f.push(g);if(f.length===0)return null;let p=f.map(g=>`.${s} [data-archik-node-id="${jjn(g)}"] { opacity: 0.35; }`).join(`
441
441
  `);return(0,Vb.jsx)("style",{children:p})}function Rnn({positioned:c,statuses:s}){return(0,Vb.jsx)("g",{className:"archik-diff-nodes",pointerEvents:"none",children:Bjn(c.roots).map(f=>{let p=s.nodes.get(f.id);return p===void 0||p==="unchanged"?null:(0,Vb.jsx)(Hjn,{node:f,status:p},f.id)})})}function Hjn({node:c,status:s}){let f=Flt[s],p=c.absX+-3,g=c.absY+-3,y=c.width- -6,m=c.height- -6;return(0,Vb.jsxs)("g",{children:[(0,Vb.jsx)("rect",{x:p-1,y:g-1,width:y+2,height:m+2,rx:11,ry:11,fill:"none",stroke:f,strokeOpacity:.25,strokeWidth:6}),(0,Vb.jsx)("rect",{x:p,y:g,width:y,height:m,rx:10,ry:10,fill:"none",stroke:f,strokeWidth:2.2,strokeDasharray:s==="removed"?"5 4":void 0,opacity:.95}),(0,Vb.jsx)(Ujn,{x:p+y-6,y:g-6,status:s})]})}function Ujn({x:c,y:s,status:f}){let p=f==="added"?"+":f==="removed"?"\u2212":"~";return(0,Vb.jsxs)("g",{transform:`translate(${c}, ${s})`,children:[(0,Vb.jsx)("circle",{r:9,fill:Flt[f],stroke:"var(--archik-canvas)",strokeWidth:1.5}),(0,Vb.jsx)("text",{textAnchor:"middle",y:4,fontSize:12,fontWeight:700,fill:"white",children:p})]})}function _nn({positioned:c,statuses:s}){return(0,Vb.jsx)("g",{className:"archik-diff-edges",pointerEvents:"none",children:c.edges.map(f=>{let p=s.edges.get(f.id);return p===void 0||p==="unchanged"?null:(0,Vb.jsx)(Gjn,{edge:f,status:p},f.id)})})}function Gjn({edge:c,status:s}){let f=c.sections[0];if(!f)return null;let p=[f.startPoint,...f.bendPoints,f.endPoint];return(0,Vb.jsx)("polyline",{points:p.map(g=>`${g.x},${g.y}`).join(" "),fill:"none",stroke:Flt[s],strokeWidth:3,strokeOpacity:.55,strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:s==="removed"?"8 4":void 0})}var fc=Fc(zs(),1),UAe=24;function Vjn({id:c}){return(0,fc.jsx)("marker",{id:c,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,fc.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"context-stroke"})})}function Wjn({id:c}){return(0,fc.jsx)("marker",{id:c,viewBox:"0 0 12 12",refX:"11",refY:"6",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:(0,fc.jsx)("path",{d:"M 1 1 L 11 6 L 1 11",fill:"none",stroke:"context-stroke",strokeWidth:"1.5",strokeLinejoin:"round",strokeLinecap:"round"})})}function qjn({id:c}){return(0,fc.jsx)("marker",{id:c,viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto",children:(0,fc.jsx)("circle",{cx:"5",cy:"5",r:"4",fill:"context-stroke"})})}function Zjn({id:c}){return(0,fc.jsx)("marker",{id:c,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,fc.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--archik-selected)"})})}function Jjn({id:c}){return(0,fc.jsx)("marker",{id:c,viewBox:"0 0 14 14",refX:"13",refY:"7",markerWidth:"11",markerHeight:"11",orient:"auto-start-reverse",children:(0,fc.jsx)("path",{d:"M 1 1 L 13 7 L 1 13 z",fill:"var(--archik-panel)",stroke:"context-stroke",strokeWidth:"1.4",strokeLinejoin:"round"})})}function Xjn({id:c}){return(0,fc.jsx)("marker",{id:c,viewBox:"0 0 16 10",refX:"0",refY:"5",markerWidth:"12",markerHeight:"9",orient:"auto-start-reverse",children:(0,fc.jsx)("path",{d:"M 0 5 L 8 0 L 16 5 L 8 10 z",fill:"context-stroke",stroke:"context-stroke",strokeWidth:"1",strokeLinejoin:"round"})})}function Kjn({id:c}){return(0,fc.jsx)("marker",{id:c,viewBox:"0 0 14 12",refX:"13",refY:"6",markerWidth:"9",markerHeight:"8",orient:"auto-start-reverse",children:(0,fc.jsx)("path",{d:"M 1 1 L 7 6 L 1 11 M 6 1 L 12 6 L 6 11",fill:"none",stroke:"context-stroke",strokeWidth:"1.5",strokeLinejoin:"round",strokeLinecap:"round"})})}function zlt({positioned:c,viewMode:s="detailed",selectedNodeIds:f,selectedEdgeIds:p,onSelectNode:g,onSelectEdge:y,onOpenSubFile:m,onCrossFileNavigate:k}){let R=new Map;for(let O of c.edges){if(O.toFile!==void 0){let W=R.get(O.from)??new Set;W.add(O.toFile),R.set(O.from,W)}if(O.fromFile!==void 0){let W=R.get(O.to)??new Set;W.add(O.fromFile),R.set(O.to,W)}}return(0,fc.jsxs)(fc.Fragment,{children:[(0,fc.jsxs)("defs",{children:[(0,fc.jsx)(Vjn,{id:i4}),(0,fc.jsx)(Wjn,{id:FG}),(0,fc.jsx)(qjn,{id:Rlt}),(0,fc.jsx)(Zjn,{id:_lt}),(0,fc.jsx)(Jjn,{id:HAe}),(0,fc.jsx)(Xjn,{id:Olt}),(0,fc.jsx)(Kjn,{id:Dlt})]}),(0,fc.jsx)("g",{className:"archik-edges",children:c.edges.map(O=>(0,fc.jsx)(Pnn,{edge:O,...p!==void 0?{selectedEdgeIds:p}:{},...y!==void 0?{onSelectEdge:y}:{}},O.id))}),(0,fc.jsx)("g",{className:"archik-nodes",children:c.roots.map(O=>(0,fc.jsx)(Alt,{node:O,viewMode:s,crossFileByNode:R,...f!==void 0?{selectedNodeIds:f}:{},...g!==void 0?{onSelectNode:g}:{},...m!==void 0?{onOpenSubFile:m}:{},...k!==void 0?{onCrossFileNavigate:k}:{}},O.id))})]})}function Yjn(c,s){let f=(p,g,y)=>{for(let m of p){if(m.id===s)return{x:g+m.x+m.width/2,y:y+m.y+m.height/2};let k=f(m.children,g+m.x,y+m.y);if(k)return k}return null};return f(c.roots,0,0)}function Onn({positioned:c,className:s,zoom:f=1,viewMode:p="detailed",svgRef:g,dragGhost:y,selectedNodeIds:m,selectedEdgeIds:k,onSelectNode:R,onSelectEdge:O,onSelectNothing:W,onOpenSubFile:G,onCrossFileNavigate:K,diffStatuses:Q}){let Te=Math.max(c.width,1),be=Math.max(c.height,1),Ee=-UAe,ct=-UAe,xt=Te+UAe*2,$t=be+UAe*2,Oe=y?Yjn(c,y.fromId):null;return(0,fc.jsxs)("svg",{ref:g,className:s,xmlns:"http://www.w3.org/2000/svg",width:xt*f,height:$t*f,viewBox:`${Ee} ${ct} ${xt} ${$t}`,preserveAspectRatio:"xMidYMid meet",style:{display:"block",flexShrink:0},onClick:W,children:[Q&&(0,fc.jsx)(Ann,{statuses:Q,scopeClass:"archik-diff-base"}),(0,fc.jsx)("g",{className:Q?"archik-diff-base":void 0,children:(0,fc.jsx)(zlt,{positioned:c,viewMode:p,...m!==void 0?{selectedNodeIds:m}:{},...k!==void 0?{selectedEdgeIds:k}:{},...R!==void 0?{onSelectNode:R}:{},...O!==void 0?{onSelectEdge:O}:{},...G!==void 0?{onOpenSubFile:G}:{},...K!==void 0?{onCrossFileNavigate:K}:{}})}),Q&&(0,fc.jsxs)(fc.Fragment,{children:[(0,fc.jsx)(_nn,{positioned:c,statuses:Q}),(0,fc.jsx)(Rnn,{positioned:c,statuses:Q})]}),y&&Oe&&(0,fc.jsxs)("g",{className:"archik-drag-ghost",pointerEvents:"none",children:[(0,fc.jsx)("line",{x1:Oe.x,y1:Oe.y,x2:y.pointerX,y2:y.pointerY,stroke:"var(--archik-selected)",strokeWidth:1.6,strokeDasharray:"6 4",strokeLinecap:"round",opacity:.85}),(0,fc.jsx)("circle",{cx:y.pointerX,cy:y.pointerY,r:4,fill:"var(--archik-selected)",opacity:.9})]})]})}var $jn={"--archik-canvas":"#050912","--archik-panel":"#0c1426","--archik-surface":"#14203a","--archik-surface-hover":"#1c2c4d","--archik-fg":"#e6edf7","--archik-fg-dim":"#8b9bb8","--archik-fg-muted":"#5b6a87","--archik-border":"#1d2b48","--archik-border-strong":"#2c3e63","--archik-accent":"#22d3ee","--archik-accent-bright":"#67e8f9","--archik-magenta":"#f472b6","--archik-success":"#34d399","--archik-warning":"#fbbf24","--archik-danger":"#fb7185","--archik-node-fill":"#0c1426","--archik-node-fill-tinted":"#142037","--archik-node-fill-frame":"#14203a","--archik-node-stroke":"#2c3e63","--archik-node-stroke-soft":"#1d2b48","--archik-node-text":"#e6edf7","--archik-node-text-dim":"#b6c2d8","--archik-node-caption":"#67e8f9","--archik-node-chrome-dot":"#475878","--archik-edge-filled":"#cbd5e1","--archik-edge-open":"#94a3b8","--archik-edge-dim":"#64748b","--archik-edge-async":"#67e8f9","--archik-grid-minor":"#0d1830","--archik-grid-major":"#182748","--archik-selected":"#22d3ee","--archik-selected-glow":"rgba(34, 211, 238, 0.28)"},Qjn={"--archik-canvas":"#f8fafc","--archik-panel":"#ffffff","--archik-surface":"#f1f5f9","--archik-surface-hover":"#e2e8f0","--archik-fg":"#0f172a","--archik-fg-dim":"#475569","--archik-fg-muted":"#94a3b8","--archik-border":"#e2e8f0","--archik-border-strong":"#cbd5e1","--archik-accent":"#2563eb","--archik-accent-bright":"#3b82f6","--archik-magenta":"#db2777","--archik-success":"#10b981","--archik-warning":"#d97706","--archik-danger":"#e11d48","--archik-node-fill":"#ffffff","--archik-node-fill-tinted":"#f1f5f9","--archik-node-fill-frame":"#ffffff","--archik-node-stroke":"#0f172a","--archik-node-stroke-soft":"#475569","--archik-node-text":"#0f172a","--archik-node-text-dim":"#475569","--archik-node-caption":"#64748b","--archik-node-chrome-dot":"#cbd5f5","--archik-edge-filled":"#0f172a","--archik-edge-open":"#334155","--archik-edge-dim":"#64748b","--archik-edge-async":"#2563eb","--archik-grid-minor":"#e2e8f0","--archik-grid-major":"#cbd5e1","--archik-selected":"#2563eb","--archik-selected-glow":"rgba(37, 99, 235, 0.18)"};function GAe(c,s="dark"){let f=s==="light"?Qjn:$jn;return c.replace(/var\(--archik-([a-z0-9-]+)\)/g,(p,g)=>f[`--archik-${g}`]??p)}async function ZQ(c){let s;try{s=await gp(c._[0])}catch(Q){return console.error(`\u2717 ${Q instanceof Error?Q.message:String(Q)}`),1}let f=Nlt.relative(process.cwd(),s)||s,p=lg(c,"out")??"diagram.svg",g=lg(c,"theme")??"dark";if(g!=="dark"&&g!=="light")return console.error(`\u2717 --theme must be "dark" or "light" (got "${g}")`),1;let y=g,m;try{m=await tHn(s,"utf-8")}catch(Q){return console.error(`\u2717 Cannot read ${f}`),console.error(Q instanceof Error?Q.message:String(Q)),1}let k;try{k=bp(m)}catch(Q){return console.error(`\u2717 ${f}`),console.error(Q instanceof Error?Q.message:String(Q)),1}let R=await RG(k),O=(0,Fnn.renderToStaticMarkup)((0,Dnn.createElement)(Onn,{positioned:R})),G=`<?xml version="1.0" encoding="UTF-8"?>
442
442
  ${GAe(O,y)}
443
443
  `,K=Nlt.resolve(p);return await eHn(Nlt.dirname(K),{recursive:!0}),await nHn(K,G,"utf-8"),console.log(`\u2713 Rendered ${k.nodes.length} nodes / ${k.edges.length} edges \u2192 ${p}`),0}import KHn from"node:path";import{stat as RHn}from"fs";import{stat as _Hn,readdir as OHn}from"fs/promises";import{EventEmitter as DHn}from"events";import*as ha from"path";import{stat as rHn,lstat as znn,readdir as iHn,realpath as oHn}from"node:fs/promises";import{Readable as cHn}from"node:stream";import{resolve as Nnn,relative as aHn,join as sHn,sep as uHn}from"node:path";var im={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Blt={root:".",fileFilter:c=>!0,directoryFilter:c=>!0,type:im.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Blt);var Unn="READDIRP_RECURSIVE_ERROR",lHn=new Set(["ENOENT","EPERM","EACCES","ELOOP",Unn]),Bnn=[im.DIR_TYPE,im.EVERYTHING_TYPE,im.FILE_DIR_TYPE,im.FILE_TYPE],hHn=new Set([im.DIR_TYPE,im.EVERYTHING_TYPE,im.FILE_DIR_TYPE]),fHn=new Set([im.EVERYTHING_TYPE,im.FILE_DIR_TYPE,im.FILE_TYPE]),dHn=c=>lHn.has(c.code),gHn=process.platform==="win32",jnn=c=>!0,Hnn=c=>{if(c===void 0)return jnn;if(typeof c=="function")return c;if(typeof c=="string"){let s=c.trim();return f=>f.basename===s}if(Array.isArray(c)){let s=c.map(f=>f.trim());return f=>s.some(p=>f.basename===p)}return jnn},jlt=class extends cHn{constructor(s={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:s.highWaterMark});let f={...Blt,...s},{root:p,type:g}=f;this._fileFilter=Hnn(f.fileFilter),this._directoryFilter=Hnn(f.directoryFilter);let y=f.lstat?znn:rHn;gHn?this._stat=m=>y(m,{bigint:!0}):this._stat=y,this._maxDepth=f.depth??Blt.depth,this._wantsDir=g?hHn.has(g):!1,this._wantsFile=g?fHn.has(g):!1,this._wantsEverything=g===im.EVERYTHING_TYPE,this._root=Nnn(p),this._isDirent=!f.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(p,1)],this.reading=!1,this.parent=void 0}async _read(s){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&s>0;){let f=this.parent,p=f&&f.files;if(p&&p.length>0){let{path:g,depth:y}=f,m=p.splice(0,s).map(R=>this._formatEntry(R,g)),k=await Promise.all(m);for(let R of k){if(!R)continue;if(this.destroyed)return;let O=await this._getEntryType(R);O==="directory"&&this._directoryFilter(R)?(y<=this._maxDepth&&this.parents.push(this._exploreDir(R.fullPath,y+1)),this._wantsDir&&(this.push(R),s--)):(O==="file"||this._includeAsFile(R))&&this._fileFilter(R)&&this._wantsFile&&(this.push(R),s--)}}else{let g=this.parents.pop();if(!g){this.push(null);break}if(this.parent=await g,this.destroyed)return}}}catch(f){this.destroy(f)}finally{this.reading=!1}}}async _exploreDir(s,f){let p;try{p=await iHn(s,this._rdOptions)}catch(g){this._onError(g)}return{files:p,depth:f,path:s}}async _formatEntry(s,f){let p,g=this._isDirent?s.name:s;try{let y=Nnn(sHn(f,g));p={path:aHn(this._root,y),fullPath:y,basename:g},p[this._statsProp]=this._isDirent?s:await this._stat(y)}catch(y){this._onError(y);return}return p}_onError(s){dHn(s)&&!this.destroyed?this.emit("warn",s):this.destroy(s)}async _getEntryType(s){if(!s&&this._statsProp in s)return"";let f=s[this._statsProp];if(f.isFile())return"file";if(f.isDirectory())return"directory";if(f&&f.isSymbolicLink()){let p=s.fullPath;try{let g=await oHn(p),y=await znn(g);if(y.isFile())return"file";if(y.isDirectory()){let m=g.length;if(p.startsWith(g)&&p.substr(m,1)===uHn){let k=new Error(`Circular symlink detected: "${p}" points to "${g}"`);return k.code=Unn,this._onError(k)}return"directory"}}catch(g){return this._onError(g),""}}}_includeAsFile(s){let f=s&&s[this._statsProp];return f&&this._wantsEverything&&!f.isDirectory()}};function Gnn(c,s={}){let f=s.entryType||s.type;if(f==="both"&&(f=im.FILE_DIR_TYPE),f&&(s.type=f),c){if(typeof c!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(f&&!Bnn.includes(f))throw new Error(`readdirp: Invalid type passed. Use one of ${Bnn.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return s.root=c,new jlt(s)}import{watchFile as pHn,unwatchFile as Vnn,watch as bHn}from"fs";import{open as yHn,stat as qnn,lstat as wHn,realpath as Hlt}from"fs/promises";import*as j1 from"path";import{type as vHn}from"os";var mHn="data",Vlt="end",Znn="close",JAe=()=>{};var XAe=process.platform,Wlt=XAe==="win32",kHn=XAe==="darwin",MHn=XAe==="linux",xHn=XAe==="freebsd",Jnn=vHn()==="OS400",mh={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},O5=mh,SHn="watch",CHn={lstat:wHn,stat:qnn},mz="listeners",VAe="errHandlers",zG="rawEmitters",IHn=[mz,VAe,zG],THn=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),LHn=c=>THn.has(j1.extname(c).slice(1).toLowerCase()),Glt=(c,s)=>{c instanceof Set?c.forEach(s):s(c)},JQ=(c,s,f)=>{let p=c[s];p instanceof Set||(c[s]=p=new Set([p])),p.add(f)},EHn=c=>s=>{let f=c[s];f instanceof Set?f.clear():delete c[s]},XQ=(c,s,f)=>{let p=c[s];p instanceof Set?p.delete(f):p===f&&delete c[s]},Xnn=c=>c instanceof Set?c.size===0:!c,WAe=new Map;function Wnn(c,s,f,p,g){let y=(m,k)=>{f(c),g(m,k,{watchedPath:c}),k&&c!==k&&qAe(j1.resolve(c,k),mz,j1.join(c,k))};try{return bHn(c,{persistent:s.persistent},y)}catch(m){p(m);return}}var qAe=(c,s,f,p,g)=>{let y=WAe.get(c);y&&Glt(y[s],m=>{m(f,p,g)})},PHn=(c,s,f,p)=>{let{listener:g,errHandler:y,rawEmitter:m}=p,k=WAe.get(s),R;if(!f.persistent)return R=Wnn(c,f,g,y,m),R?R.close.bind(R):void 0;if(k)JQ(k,mz,g),JQ(k,VAe,y),JQ(k,zG,m);else{if(R=Wnn(c,f,qAe.bind(null,s,mz),y,qAe.bind(null,s,zG)),!R)return;R.on(O5.ERROR,async O=>{let W=qAe.bind(null,s,VAe);if(k&&(k.watcherUnusable=!0),Wlt&&O.code==="EPERM")try{await(await yHn(c,"r")).close(),W(O)}catch{}else W(O)}),k={listeners:g,errHandlers:y,rawEmitters:m,watcher:R},WAe.set(s,k)}return()=>{XQ(k,mz,g),XQ(k,VAe,y),XQ(k,zG,m),Xnn(k.listeners)&&(k.watcher.close(),WAe.delete(s),IHn.forEach(EHn(k)),k.watcher=void 0,Object.freeze(k))}},Ult=new Map,AHn=(c,s,f,p)=>{let{listener:g,rawEmitter:y}=p,m=Ult.get(s),k=m&&m.options;return k&&(k.persistent<f.persistent||k.interval>f.interval)&&(Vnn(s),m=void 0),m?(JQ(m,mz,g),JQ(m,zG,y)):(m={listeners:g,rawEmitters:y,options:f,watcher:pHn(s,f,(R,O)=>{Glt(m.rawEmitters,G=>{G(O5.CHANGE,s,{curr:R,prev:O})});let W=R.mtimeMs;(R.size!==O.size||W>O.mtimeMs||W===0)&&Glt(m.listeners,G=>G(c,R))})},Ult.set(s,m)),()=>{XQ(m,mz,g),XQ(m,zG,y),Xnn(m.listeners)&&(Ult.delete(s),Vnn(s),m.options=m.watcher=void 0,Object.freeze(m))}},ZAe=class{constructor(s){this.fsw=s,this._boundHandleError=f=>s._handleError(f)}_watchWithNodeFs(s,f){let p=this.fsw.options,g=j1.dirname(s),y=j1.basename(s);this.fsw._getWatchedDir(g).add(y);let k=j1.resolve(s),R={persistent:p.persistent};f||(f=JAe);let O;if(p.usePolling){let W=p.interval!==p.binaryInterval;R.interval=W&&LHn(y)?p.binaryInterval:p.interval,O=AHn(s,k,R,{listener:f,rawEmitter:this.fsw._emitRaw})}else O=PHn(s,k,R,{listener:f,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return O}_handleFile(s,f,p){if(this.fsw.closed)return;let g=j1.dirname(s),y=j1.basename(s),m=this.fsw._getWatchedDir(g),k=f;if(m.has(y))return;let R=async(W,G)=>{if(this.fsw._throttle(SHn,s,5)){if(!G||G.mtimeMs===0)try{let K=await qnn(s);if(this.fsw.closed)return;let Q=K.atimeMs,Te=K.mtimeMs;if((!Q||Q<=Te||Te!==k.mtimeMs)&&this.fsw._emit(O5.CHANGE,s,K),(kHn||MHn||xHn)&&k.ino!==K.ino){this.fsw._closeFile(W),k=K;let be=this._watchWithNodeFs(s,R);be&&this.fsw._addPathCloser(W,be)}else k=K}catch{this.fsw._remove(g,y)}else if(m.has(y)){let K=G.atimeMs,Q=G.mtimeMs;(!K||K<=Q||Q!==k.mtimeMs)&&this.fsw._emit(O5.CHANGE,s,G),k=G}}},O=this._watchWithNodeFs(s,R);if(!(p&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(s)){if(!this.fsw._throttle(O5.ADD,s,0))return;this.fsw._emit(O5.ADD,s,f)}return O}async _handleSymlink(s,f,p,g){if(this.fsw.closed)return;let y=s.fullPath,m=this.fsw._getWatchedDir(f);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let k;try{k=await Hlt(p)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(m.has(g)?this.fsw._symlinkPaths.get(y)!==k&&(this.fsw._symlinkPaths.set(y,k),this.fsw._emit(O5.CHANGE,p,s.stats)):(m.add(g),this.fsw._symlinkPaths.set(y,k),this.fsw._emit(O5.ADD,p,s.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(y))return!0;this.fsw._symlinkPaths.set(y,!0)}_handleRead(s,f,p,g,y,m,k){if(s=j1.join(s,""),k=this.fsw._throttle("readdir",s,1e3),!k)return;let R=this.fsw._getWatchedDir(p.path),O=new Set,W=this.fsw._readdirp(s,{fileFilter:G=>p.filterPath(G),directoryFilter:G=>p.filterDir(G)});if(W)return W.on(mHn,async G=>{if(this.fsw.closed){W=void 0;return}let K=G.path,Q=j1.join(s,K);if(O.add(K),!(G.stats.isSymbolicLink()&&await this._handleSymlink(G,s,Q,K))){if(this.fsw.closed){W=void 0;return}(K===g||!g&&!R.has(K))&&(this.fsw._incrReadyCount(),Q=j1.join(y,j1.relative(y,Q)),this._addToNodeFs(Q,f,p,m+1))}}).on(O5.ERROR,this._boundHandleError),new Promise((G,K)=>{if(!W)return K();W.once(Vlt,()=>{if(this.fsw.closed){W=void 0;return}let Q=k?k.clear():!1;G(void 0),R.getChildren().filter(Te=>Te!==s&&!O.has(Te)).forEach(Te=>{this.fsw._remove(s,Te)}),W=void 0,Q&&this._handleRead(s,!1,p,g,y,m,k)})})}async _handleDir(s,f,p,g,y,m,k){let R=this.fsw._getWatchedDir(j1.dirname(s)),O=R.has(j1.basename(s));!(p&&this.fsw.options.ignoreInitial)&&!y&&!O&&this.fsw._emit(O5.ADD_DIR,s,f),R.add(j1.basename(s)),this.fsw._getWatchedDir(s);let W,G,K=this.fsw.options.depth;if((K==null||g<=K)&&!this.fsw._symlinkPaths.has(k)){if(!y&&(await this._handleRead(s,p,m,y,s,g,W),this.fsw.closed))return;G=this._watchWithNodeFs(s,(Q,Te)=>{Te&&Te.mtimeMs===0||this._handleRead(Q,!1,m,y,s,g,W)})}return G}async _addToNodeFs(s,f,p,g,y){let m=this.fsw._emitReady;if(this.fsw._isIgnored(s)||this.fsw.closed)return m(),!1;let k=this.fsw._getWatchHelpers(s);p&&(k.filterPath=R=>p.filterPath(R),k.filterDir=R=>p.filterDir(R));try{let R=await CHn[k.statMethod](k.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(k.watchPath,R))return m(),!1;let O=this.fsw.options.followSymlinks,W;if(R.isDirectory()){let G=j1.resolve(s),K=O?await Hlt(s):s;if(this.fsw.closed||(W=await this._handleDir(k.watchPath,R,f,g,y,k,K),this.fsw.closed))return;G!==K&&K!==void 0&&this.fsw._symlinkPaths.set(G,K)}else if(R.isSymbolicLink()){let G=O?await Hlt(s):s;if(this.fsw.closed)return;let K=j1.dirname(k.watchPath);if(this.fsw._getWatchedDir(K).add(k.watchPath),this.fsw._emit(O5.ADD,k.watchPath,R),W=await this._handleDir(K,R,f,g,s,k,G),this.fsw.closed)return;G!==void 0&&this.fsw._symlinkPaths.set(j1.resolve(s),G)}else W=this._handleFile(k.watchPath,R,f);return m(),W&&this.fsw._addPathCloser(s,W),!1}catch(R){if(this.fsw._handleError(R))return m(),s}}};var qlt="/",FHn="//",trn=".",zHn="..",NHn="string",BHn=/\\/g,Knn=/\/\//,jHn=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,HHn=/^\.[/\\]/;function KAe(c){return Array.isArray(c)?c:[c]}var Zlt=c=>typeof c=="object"&&c!==null&&!(c instanceof RegExp);function UHn(c){return typeof c=="function"?c:typeof c=="string"?s=>c===s:c instanceof RegExp?s=>c.test(s):typeof c=="object"&&c!==null?s=>{if(c.path===s)return!0;if(c.recursive){let f=ha.relative(c.path,s);return f?!f.startsWith("..")&&!ha.isAbsolute(f):!1}return!1}:()=>!1}function GHn(c){if(typeof c!="string")throw new Error("string expected");c=ha.normalize(c),c=c.replace(/\\/g,"/");let s=!1;c.startsWith("//")&&(s=!0);let f=/\/\//;for(;c.match(f);)c=c.replace(f,"/");return s&&(c="/"+c),c}function Ynn(c,s,f){let p=GHn(s);for(let g=0;g<c.length;g++){let y=c[g];if(y(p,f))return!0}return!1}function VHn(c,s){if(c==null)throw new TypeError("anymatch: specify first argument");let p=KAe(c).map(g=>UHn(g));return s==null?(g,y)=>Ynn(p,g,y):Ynn(p,s)}var $nn=c=>{let s=KAe(c).flat();if(!s.every(f=>typeof f===NHn))throw new TypeError(`Non-string provided as watch path: ${s}`);return s.map(nrn)},Qnn=c=>{let s=c.replace(BHn,qlt),f=!1;for(s.startsWith(FHn)&&(f=!0);s.match(Knn);)s=s.replace(Knn,qlt);return f&&(s=qlt+s),s},nrn=c=>Qnn(ha.normalize(Qnn(c))),ern=(c="")=>s=>typeof s=="string"?nrn(ha.isAbsolute(s)?s:ha.join(c,s)):s,WHn=(c,s)=>ha.isAbsolute(c)?c:ha.join(s,c),qHn=Object.freeze(new Set),Jlt=class{constructor(s,f){this.path=s,this._removeWatcher=f,this.items=new Set}add(s){let{items:f}=this;f&&s!==trn&&s!==zHn&&f.add(s)}async remove(s){let{items:f}=this;if(!f||(f.delete(s),f.size>0))return;let p=this.path;try{await OHn(p)}catch{this._removeWatcher&&this._removeWatcher(ha.dirname(p),ha.basename(p))}}has(s){let{items:f}=this;if(f)return f.has(s)}getChildren(){let{items:s}=this;return s?[...s.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=JAe,this.items=qHn,Object.freeze(this)}},ZHn="stat",JHn="lstat",Xlt=class{constructor(s,f,p){this.fsw=p;let g=s;this.path=s=s.replace(HHn,""),this.watchPath=g,this.fullWatchPath=ha.resolve(g),this.dirParts=[],this.dirParts.forEach(y=>{y.length>1&&y.pop()}),this.followSymlinks=f,this.statMethod=f?ZHn:JHn}entryPath(s){return ha.join(this.watchPath,ha.relative(this.watchPath,s.fullPath))}filterPath(s){let{stats:f}=s;if(f&&f.isSymbolicLink())return this.filterDir(s);let p=this.entryPath(s);return this.fsw._isntIgnored(p,f)&&this.fsw._hasReadPermissions(f)}filterDir(s){return this.fsw._isntIgnored(this.entryPath(s),s.stats)}},YAe=class extends DHn{constructor(s={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let f=s.awaitWriteFinish,p={stabilityThreshold:2e3,pollInterval:100},g={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...s,ignored:s.ignored?KAe(s.ignored):KAe([]),awaitWriteFinish:f===!0?p:typeof f=="object"?{...p,...f}:!1};Jnn&&(g.usePolling=!0),g.atomic===void 0&&(g.atomic=!g.usePolling);let y=process.env.CHOKIDAR_USEPOLLING;if(y!==void 0){let R=y.toLowerCase();R==="false"||R==="0"?g.usePolling=!1:R==="true"||R==="1"?g.usePolling=!0:g.usePolling=!!R}let m=process.env.CHOKIDAR_INTERVAL;m&&(g.interval=Number.parseInt(m,10));let k=0;this._emitReady=()=>{k++,k>=this._readyCount&&(this._emitReady=JAe,this._readyEmitted=!0,process.nextTick(()=>this.emit(mh.READY)))},this._emitRaw=(...R)=>this.emit(mh.RAW,...R),this._boundRemove=this._remove.bind(this),this.options=g,this._nodeFsHandler=new ZAe(this),Object.freeze(g)}_addIgnoredPath(s){if(Zlt(s)){for(let f of this._ignoredPaths)if(Zlt(f)&&f.path===s.path&&f.recursive===s.recursive)return}this._ignoredPaths.add(s)}_removeIgnoredPath(s){if(this._ignoredPaths.delete(s),typeof s=="string")for(let f of this._ignoredPaths)Zlt(f)&&f.path===s&&this._ignoredPaths.delete(f)}add(s,f,p){let{cwd:g}=this.options;this.closed=!1,this._closePromise=void 0;let y=$nn(s);return g&&(y=y.map(m=>WHn(m,g))),y.forEach(m=>{this._removeIgnoredPath(m)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=y.length,Promise.all(y.map(async m=>{let k=await this._nodeFsHandler._addToNodeFs(m,!p,void 0,0,f);return k&&this._emitReady(),k})).then(m=>{this.closed||m.forEach(k=>{k&&this.add(ha.dirname(k),ha.basename(f||k))})}),this}unwatch(s){if(this.closed)return this;let f=$nn(s),{cwd:p}=this.options;return f.forEach(g=>{!ha.isAbsolute(g)&&!this._closers.has(g)&&(p&&(g=ha.join(p,g)),g=ha.resolve(g)),this._closePath(g),this._addIgnoredPath(g),this._watched.has(g)&&this._addIgnoredPath({path:g,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let s=[];return this._closers.forEach(f=>f.forEach(p=>{let g=p();g instanceof Promise&&s.push(g)})),this._streams.forEach(f=>f.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(f=>f.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=s.length?Promise.all(s).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let s={};return this._watched.forEach((f,p)=>{let y=(this.options.cwd?ha.relative(this.options.cwd,p):p)||trn;s[y]=f.getChildren().sort()}),s}emitWithAll(s,f){this.emit(s,...f),s!==mh.ERROR&&this.emit(mh.ALL,s,...f)}async _emit(s,f,p){if(this.closed)return;let g=this.options;Wlt&&(f=ha.normalize(f)),g.cwd&&(f=ha.relative(g.cwd,f));let y=[f];p!=null&&y.push(p);let m=g.awaitWriteFinish,k;if(m&&(k=this._pendingWrites.get(f)))return k.lastChange=new Date,this;if(g.atomic){if(s===mh.UNLINK)return this._pendingUnlinks.set(f,[s,...y]),setTimeout(()=>{this._pendingUnlinks.forEach((R,O)=>{this.emit(...R),this.emit(mh.ALL,...R),this._pendingUnlinks.delete(O)})},typeof g.atomic=="number"?g.atomic:100),this;s===mh.ADD&&this._pendingUnlinks.has(f)&&(s=mh.CHANGE,this._pendingUnlinks.delete(f))}if(m&&(s===mh.ADD||s===mh.CHANGE)&&this._readyEmitted){let R=(O,W)=>{O?(s=mh.ERROR,y[0]=O,this.emitWithAll(s,y)):W&&(y.length>1?y[1]=W:y.push(W),this.emitWithAll(s,y))};return this._awaitWriteFinish(f,m.stabilityThreshold,s,R),this}if(s===mh.CHANGE&&!this._throttle(mh.CHANGE,f,50))return this;if(g.alwaysStat&&p===void 0&&(s===mh.ADD||s===mh.ADD_DIR||s===mh.CHANGE)){let R=g.cwd?ha.join(g.cwd,f):f,O;try{O=await _Hn(R)}catch{}if(!O||this.closed)return;y.push(O)}return this.emitWithAll(s,y),this}_handleError(s){let f=s&&s.code;return s&&f!=="ENOENT"&&f!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||f!=="EPERM"&&f!=="EACCES")&&this.emit(mh.ERROR,s),s||this.closed}_throttle(s,f,p){this._throttled.has(s)||this._throttled.set(s,new Map);let g=this._throttled.get(s);if(!g)throw new Error("invalid throttle");let y=g.get(f);if(y)return y.count++,!1;let m,k=()=>{let O=g.get(f),W=O?O.count:0;return g.delete(f),clearTimeout(m),O&&clearTimeout(O.timeoutObject),W};m=setTimeout(k,p);let R={timeoutObject:m,clear:k,count:0};return g.set(f,R),R}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(s,f,p,g){let y=this.options.awaitWriteFinish;if(typeof y!="object")return;let m=y.pollInterval,k,R=s;this.options.cwd&&!ha.isAbsolute(s)&&(R=ha.join(this.options.cwd,s));let O=new Date,W=this._pendingWrites;function G(K){RHn(R,(Q,Te)=>{if(Q||!W.has(s)){Q&&Q.code!=="ENOENT"&&g(Q);return}let be=Number(new Date);K&&Te.size!==K.size&&(W.get(s).lastChange=be);let Ee=W.get(s);be-Ee.lastChange>=f?(W.delete(s),g(void 0,Te)):k=setTimeout(G,m,Te)})}W.has(s)||(W.set(s,{lastChange:O,cancelWait:()=>(W.delete(s),clearTimeout(k),p)}),k=setTimeout(G,m))}_isIgnored(s,f){if(this.options.atomic&&jHn.test(s))return!0;if(!this._userIgnored){let{cwd:p}=this.options,y=(this.options.ignored||[]).map(ern(p)),k=[...[...this._ignoredPaths].map(ern(p)),...y];this._userIgnored=VHn(k,void 0)}return this._userIgnored(s,f)}_isntIgnored(s,f){return!this._isIgnored(s,f)}_getWatchHelpers(s){return new Xlt(s,this.options.followSymlinks,this)}_getWatchedDir(s){let f=ha.resolve(s);return this._watched.has(f)||this._watched.set(f,new Jlt(f,this._boundRemove)),this._watched.get(f)}_hasReadPermissions(s){return this.options.ignorePermissionErrors?!0:!!(Number(s.mode)&256)}_remove(s,f,p){let g=ha.join(s,f),y=ha.resolve(g);if(p=p??(this._watched.has(g)||this._watched.has(y)),!this._throttle("remove",g,100))return;!p&&this._watched.size===1&&this.add(s,f,!0),this._getWatchedDir(g).getChildren().forEach(K=>this._remove(g,K));let R=this._getWatchedDir(s),O=R.has(f);R.remove(f),this._symlinkPaths.has(y)&&this._symlinkPaths.delete(y);let W=g;if(this.options.cwd&&(W=ha.relative(this.options.cwd,g)),this.options.awaitWriteFinish&&this._pendingWrites.has(W)&&this._pendingWrites.get(W).cancelWait()===mh.ADD)return;this._watched.delete(g),this._watched.delete(y);let G=p?mh.UNLINK_DIR:mh.UNLINK;O&&!this._isIgnored(g)&&this._emit(G,g),this._closePath(g)}_closePath(s){this._closeFile(s);let f=ha.dirname(s);this._getWatchedDir(f).remove(ha.basename(s))}_closeFile(s){let f=this._closers.get(s);f&&(f.forEach(p=>p()),this._closers.delete(s))}_addPathCloser(s,f){if(!f)return;let p=this._closers.get(s);p||(p=[],this._closers.set(s,p)),p.push(f)}_readdirp(s,f){if(this.closed)return;let p={type:mh.ALL,alwaysStat:!0,lstat:!0,...f,depth:0},g=Gnn(s,p);return this._streams.add(g),g.once(Znn,()=>{g=void 0}),g.once(Vlt,()=>{g&&(this._streams.delete(g),g=void 0)}),g}};function XHn(c,s={}){let f=new YAe(s);return f.add(c),f}var $Ae={watch:XHn,FSWatcher:YAe};async function rrn(c){let s;try{s=await gp(c._[0])}catch(y){return console.error(`\u2717 ${y instanceof Error?y.message:String(y)}`),1}let f=KHn.relative(process.cwd(),s)||s;await ZQ(c)!==0&&console.error("Initial render failed; staying watchful for fixes."),console.log(`Watching ${f} (press Ctrl+C to stop)\u2026`);let g=$Ae.watch(s,{ignoreInitial:!0});return g.on("change",()=>{(async()=>{let y=await ZQ(c),m=new Date().toLocaleTimeString();console.log(y===0?`[${m}] \u2713 re-rendered`:`[${m}] \u2717 render failed`)})()}),new Promise(y=>{let m=()=>{g.close().finally(()=>y(0))};process.once("SIGINT",m),process.once("SIGTERM",m)})}import{readFile as YHn,readdir as $Hn}from"node:fs/promises";import irn from"node:path";var QHn=new Set(["service","function","worker","agent","frontend","gateway","tool","module"]),orn=["src","services","packages","apps"];async function eUn(c){let s=new Set;try{let f=await $Hn(c,{withFileTypes:!0});for(let p of f)p.isDirectory()&&s.add(p.name)}catch{}return s}function tUn(c){let s=c.toLowerCase();return[s,s.replace(/\s+/g,"-"),s.replace(/\s+/g,"_"),s.replace(/\s+/g,"")]}async function crn(c){let s;try{s=await gp(c._[0])}catch(R){return console.error(`\u2717 ${R instanceof Error?R.message:String(R)}`),1}let f=irn.relative(process.cwd(),s)||s,p=Bhe(s),g;try{g=await YHn(s,"utf-8")}catch(R){return console.error(`\u2717 Cannot read ${f}`),console.error(R instanceof Error?R.message:String(R)),1}let y;try{y=bp(g)}catch(R){return console.error(`\u2717 ${f}`),console.error(R instanceof Error?R.message:String(R)),1}let m=new Set;for(let R of orn){let O=await eUn(irn.join(p,R));for(let W of O)m.add(W.toLowerCase())}let k=[];for(let R of y.nodes){if(!QHn.has(R.kind))continue;[R.id.toLowerCase(),...tUn(R.name)].some(W=>m.has(W))||k.push(` \u26A0 ${R.kind.padEnd(8)} ${R.id.padEnd(16)} "${R.name}" \u2014 no matching directory under ${orn.join(", ")}`)}if(k.length===0)return console.log(`\u2713 ${f} \u2014 every sourceable node has a matching directory`),0;console.log(`Drift in ${f}:`);for(let R of k)console.log(R);return console.log(`