archik 0.6.1 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/archik.mjs
CHANGED
|
@@ -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},J=k.ref;if(k.ref=null,J){p(J);let K=c.seen.get(J),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===J)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!==J){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 Fb(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 Fb(p.element,f);if(p.type==="set")return Fb(p.valueType,f);if(p.type==="lazy")return Fb(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 Fb(p.innerType,f);if(p.type==="intersection")return Fb(p.left,f)||Fb(p.right,f);if(p.type==="record"||p.type==="map")return Fb(p.keyType,f)||Fb(p.valueType,f);if(p.type==="pipe")return Fb(p.in,f)||Fb(p.out,f);if(p.type==="object"){for(let g in p.shape)if(Fb(p.shape[g],f))return!0;return!1}if(p.type==="union"){for(let g of p.options)if(Fb(g,f))return!0;return!1}if(p.type==="tuple"){for(let g of p.items)if(Fb(g,f))return!0;return!!(p.rest&&Fb(p.rest,f))}return!1}var $ct=(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:""},Qct=(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 J=[...R];J.length===1?g.pattern=J[0].source:J.length>1&&(g.allOf=[...J.map(G=>({...s.target==="draft-07"||s.target==="draft-04"||s.target==="openapi-3.0"?{type:"string"}:{},pattern:G.source}))])}},eat=(c,s,f,p)=>{let g=f,{minimum:y,maximum:m,format:k,multipleOf:R,exclusiveMaximum:O,exclusiveMinimum:J}=c._zod.bag;typeof k=="string"&&k.includes("int")?g.type="integer":g.type="number",typeof J=="number"&&(s.target==="draft-04"||s.target==="openapi-3.0"?(g.minimum=J,g.exclusiveMinimum=!0):g.exclusiveMinimum=J),typeof y=="number"&&(g.minimum=y,typeof J=="number"&&s.target!=="draft-04"&&(J>=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)},tat=(c,s,f,p)=>{f.type="boolean"},nat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},rat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},iat=(c,s,f,p)=>{s.target==="openapi-3.0"?(f.type="string",f.nullable=!0,f.enum=[null]):f.type="null"},oat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},cat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},aat=(c,s,f,p)=>{f.not={}},sat=(c,s,f,p)=>{},uat=(c,s,f,p)=>{},lat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},hat=(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},fat=(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},dat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},gat=(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},pat=(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)},bat=(c,s,f,p)=>{f.type="boolean"},yat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},wat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},vat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},mat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},kat=(c,s,f,p)=>{if(s.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Mat=(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"]})},xat=(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 J=y.shape[O]._zod;return s.io==="input"?J.optin===void 0:J.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)},Hde=(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},Sat=(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},Cat=(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:J,maximum:G}=c._zod.bag;typeof J=="number"&&(g.minItems=J),typeof G=="number"&&(g.maxItems=G)},Iat=(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 J=eu(y.valueType,s,{...p,path:[...p.path,"patternProperties","*"]});g.patternProperties={};for(let G of R)g.patternProperties[G.source]=J}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 J=[...O].filter(G=>typeof G=="string"||typeof G=="number");J.length>0&&(g.required=J)}},Tat=(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"}]},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},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,f.default=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,s.io==="input"&&(f._prefault=JSON.parse(JSON.stringify(g.defaultValue)))},Aat=(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},Rat=(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},_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,f.readOnly=!0},Oat=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType},Ude=(c,s,f,p)=>{let g=c._zod.def;eu(g.innerType,s,p);let y=s.seen.get(c);y.ref=g.innerType},Dat=(c,s,f,p)=>{let g=c._zod.innerType;eu(g,s,p);let y=s.seen.get(c);y.ref=g},jde={string:Qct,number:eat,boolean:tat,bigint:nat,symbol:rat,null:iat,undefined:oat,void:cat,never:aat,any:sat,unknown:uat,date:lat,enum:hat,literal:fat,nan:dat,template_literal:gat,file:pat,success:bat,custom:yat,function:wat,transform:vat,map:mat,set:kat,array:Mat,object:xat,union:Hde,intersection:Sat,tuple:Cat,record:Iat,nullable:Tat,nonoptional:Lat,default:Eat,prefault:Pat,catch:Aat,pipe:Rat,readonly:_at,promise:Oat,optional:Ude,lazy:Dat};function Gde(c,s){if("_idmap"in c){let p=c,g=PT({...s,processors:jde}),y={};for(let R of p._idmap.entries()){let[O,J]=R;eu(J,g)}let m={},k={registry:p,uri:s?.uri,defs:y};g.external=k;for(let R of p._idmap.entries()){let[O,J]=R;AT(g,J),m[O]=RT(g,J)}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:jde});return eu(c,f),AT(f,c),RT(f,c)}var Vde=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:jde,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 CYt={};var G$={};sx(G$,{ZodAny:()=>ost,ZodArray:()=>ust,ZodBase64:()=>h0e,ZodBase64URL:()=>f0e,ZodBigInt:()=>lG,ZodBigIntFormat:()=>p0e,ZodBoolean:()=>uG,ZodCIDRv4:()=>u0e,ZodCIDRv6:()=>l0e,ZodCUID:()=>n0e,ZodCUID2:()=>r0e,ZodCatch:()=>Ast,ZodCodec:()=>x0e,ZodCustom:()=>eQ,ZodCustomStringFormat:()=>aG,ZodDate:()=>X$,ZodDefault:()=>Cst,ZodDiscriminatedUnion:()=>hst,ZodE164:()=>d0e,ZodEmail:()=>Qde,ZodEmoji:()=>e0e,ZodEnum:()=>oG,ZodExactOptional:()=>Mst,ZodFile:()=>mst,ZodFunction:()=>jst,ZodGUID:()=>V$,ZodIPv4:()=>a0e,ZodIPv6:()=>s0e,ZodIntersection:()=>fst,ZodJWT:()=>g0e,ZodKSUID:()=>c0e,ZodLazy:()=>zst,ZodLiteral:()=>vst,ZodMAC:()=>$at,ZodMap:()=>yst,ZodNaN:()=>_st,ZodNanoID:()=>t0e,ZodNever:()=>ast,ZodNonOptional:()=>k0e,ZodNull:()=>rst,ZodNullable:()=>Sst,ZodNumber:()=>sG,ZodNumberFormat:()=>E_,ZodObject:()=>Y$,ZodOptional:()=>m0e,ZodPipe:()=>M0e,ZodPrefault:()=>Tst,ZodPromise:()=>Bst,ZodReadonly:()=>Ost,ZodRecord:()=>Q$,ZodSet:()=>wst,ZodString:()=>cG,ZodStringFormat:()=>qu,ZodSuccess:()=>Pst,ZodSymbol:()=>tst,ZodTemplateLiteral:()=>Fst,ZodTransform:()=>kst,ZodTuple:()=>gst,ZodType:()=>hc,ZodULID:()=>i0e,ZodURL:()=>J$,ZodUUID:()=>r9,ZodUndefined:()=>nst,ZodUnion:()=>$$,ZodUnknown:()=>cst,ZodVoid:()=>sst,ZodXID:()=>o0e,ZodXor:()=>lst,_ZodString:()=>$de,_default:()=>Ist,_function:()=>R$t,any:()=>l$t,array:()=>K$,base64:()=>ZYt,base64url:()=>JYt,bigint:()=>o$t,boolean:()=>est,catch:()=>Rst,check:()=>_$t,cidrv4:()=>WYt,cidrv6:()=>qYt,codec:()=>E$t,cuid:()=>zYt,cuid2:()=>NYt,custom:()=>O$t,date:()=>f$t,describe:()=>D$t,discriminatedUnion:()=>w$t,e164:()=>XYt,email:()=>TYt,emoji:()=>DYt,enum:()=>w0e,exactOptional:()=>xst,file:()=>C$t,float32:()=>t$t,float64:()=>n$t,function:()=>R$t,guid:()=>LYt,hash:()=>e$t,hex:()=>QYt,hostname:()=>$Yt,httpUrl:()=>OYt,instanceof:()=>z$t,int:()=>Yde,int32:()=>r$t,int64:()=>c$t,intersection:()=>dst,ipv4:()=>UYt,ipv6:()=>VYt,json:()=>B$t,jwt:()=>KYt,keyof:()=>d$t,ksuid:()=>HYt,lazy:()=>Nst,literal:()=>S$t,looseObject:()=>b$t,looseRecord:()=>m$t,mac:()=>GYt,map:()=>k$t,meta:()=>F$t,nan:()=>L$t,nanoid:()=>FYt,nativeEnum:()=>x$t,never:()=>b0e,nonoptional:()=>Est,null:()=>ist,nullable:()=>q$,nullish:()=>I$t,number:()=>Qat,object:()=>g$t,optional:()=>W$,partialRecord:()=>v$t,pipe:()=>Z$,prefault:()=>Lst,preprocess:()=>j$t,promise:()=>A$t,readonly:()=>Dst,record:()=>bst,refine:()=>Hst,set:()=>M$t,strictObject:()=>p$t,string:()=>Kde,stringFormat:()=>YYt,stringbool:()=>N$t,success:()=>T$t,superRefine:()=>Ust,symbol:()=>s$t,templateLiteral:()=>P$t,transform:()=>v0e,tuple:()=>pst,uint32:()=>i$t,uint64:()=>a$t,ulid:()=>BYt,undefined:()=>u$t,union:()=>y0e,unknown:()=>L_,url:()=>_Yt,uuid:()=>EYt,uuidv4:()=>PYt,uuidv6:()=>AYt,uuidv7:()=>RYt,void:()=>h$t,xid:()=>jYt,xor:()=>y$t});var Wde={};sx(Wde,{endsWith:()=>XU,gt:()=>t9,gte:()=>Db,includes:()=>ZU,length:()=>T_,lowercase:()=>WU,lt:()=>e9,lte:()=>Yv,maxLength:()=>I_,maxSize:()=>ET,mime:()=>KU,minLength:()=>px,minSize:()=>n9,multipleOf:()=>LT,negative:()=>Fde,nonnegative:()=>Nde,nonpositive:()=>zde,normalize:()=>YU,overwrite:()=>E5,positive:()=>Dde,property:()=>Bde,regex:()=>VU,size:()=>C_,slugify:()=>tG,startsWith:()=>JU,toLowerCase:()=>QU,toUpperCase:()=>eG,trim:()=>$U,uppercase:()=>qU});var iG={};sx(iG,{ZodISODate:()=>Zde,ZodISODateTime:()=>qde,ZodISODuration:()=>Xde,ZodISOTime:()=>Jde,date:()=>zat,datetime:()=>Fat,duration:()=>Bat,time:()=>Nat});var qde=vt("ZodISODateTime",(c,s)=>{dot.init(c,s),qu.init(c,s)});function Fat(c){return yct(qde,c)}var Zde=vt("ZodISODate",(c,s)=>{got.init(c,s),qu.init(c,s)});function zat(c){return wct(Zde,c)}var Jde=vt("ZodISOTime",(c,s)=>{pot.init(c,s),qu.init(c,s)});function Nat(c){return vct(Jde,c)}var Xde=vt("ZodISODuration",(c,s)=>{bot.init(c,s),qu.init(c,s)});function Bat(c){return mct(Xde,c)}var IYt=(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",IYt),yw=vt("ZodError",IYt,{Parent:Error});var jat=NU(yw),Hat=BU(yw),Uat=jU(yw),Gat=HU(yw),Vat=Gfe(yw),Wat=Vfe(yw),qat=Wfe(yw),Zat=qfe(yw),Jat=Zfe(yw),Xat=Jfe(yw),Kat=Xfe(yw),Yat=Kfe(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=$ct(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)=>Ob(c,f,p),c.brand=()=>c,c.register=((f,p)=>(f.add(c,p),c)),c.parse=(f,p)=>jat(c,f,p,{callee:c.parse}),c.safeParse=(f,p)=>Uat(c,f,p),c.parseAsync=async(f,p)=>Hat(c,f,p,{callee:c.parseAsync}),c.safeParseAsync=async(f,p)=>Gat(c,f,p),c.spa=c.safeParseAsync,c.encode=(f,p)=>Vat(c,f,p),c.decode=(f,p)=>Wat(c,f,p),c.encodeAsync=async(f,p)=>qat(c,f,p),c.decodeAsync=async(f,p)=>Zat(c,f,p),c.safeEncode=(f,p)=>Jat(c,f,p),c.safeDecode=(f,p)=>Xat(c,f,p),c.safeEncodeAsync=async(f,p)=>Kat(c,f,p),c.safeDecodeAsync=async(f,p)=>Yat(c,f,p),c.refine=(f,p)=>c.check(Hst(f,p)),c.superRefine=f=>c.check(Ust(f)),c.overwrite=f=>c.check(E5(f)),c.optional=()=>W$(c),c.exactOptional=()=>xst(c),c.nullable=()=>q$(c),c.nullish=()=>W$(q$(c)),c.nonoptional=f=>Est(c,f),c.array=()=>K$(c),c.or=f=>y0e([c,f]),c.and=f=>dst(c,f),c.transform=f=>Z$(c,v0e(f)),c.default=f=>Ist(c,f),c.prefault=f=>Lst(c,f),c.catch=f=>Rst(c,f),c.pipe=f=>Z$(c,f),c.readonly=()=>Dst(c),c.describe=f=>{let p=c.clone();return dg.add(p,{description:f}),p},Object.defineProperty(c,"description",{get(){return dg.get(c)?.description},configurable:!0}),c.meta=(...f)=>{if(f.length===0)return dg.get(c);let p=c.clone();return dg.add(p,f[0]),p},c.isOptional=()=>c.safeParse(void 0).success,c.isNullable=()=>c.safeParse(null).success,c.apply=f=>f(c),c)),$de=vt("_ZodString",(c,s)=>{S_.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>Qct(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),$de.init(c,s),c.email=f=>c.check(pde(Qde,f)),c.url=f=>c.check(U$(J$,f)),c.jwt=f=>c.check(Ode(g0e,f)),c.emoji=f=>c.check(mde(e0e,f)),c.guid=f=>c.check(H$(V$,f)),c.uuid=f=>c.check(bde(r9,f)),c.uuidv4=f=>c.check(yde(r9,f)),c.uuidv6=f=>c.check(wde(r9,f)),c.uuidv7=f=>c.check(vde(r9,f)),c.nanoid=f=>c.check(kde(t0e,f)),c.guid=f=>c.check(H$(V$,f)),c.cuid=f=>c.check(Mde(n0e,f)),c.cuid2=f=>c.check(xde(r0e,f)),c.ulid=f=>c.check(Sde(i0e,f)),c.base64=f=>c.check(Ade(h0e,f)),c.base64url=f=>c.check(Rde(f0e,f)),c.xid=f=>c.check(Cde(o0e,f)),c.ksuid=f=>c.check(Ide(c0e,f)),c.ipv4=f=>c.check(Tde(a0e,f)),c.ipv6=f=>c.check(Lde(s0e,f)),c.cidrv4=f=>c.check(Ede(u0e,f)),c.cidrv6=f=>c.check(Pde(l0e,f)),c.e164=f=>c.check(_de(d0e,f)),c.datetime=f=>c.check(Fat(f)),c.date=f=>c.check(zat(f)),c.time=f=>c.check(Nat(f)),c.duration=f=>c.check(Bat(f))});function Kde(c){return dct(cG,c)}var qu=vt("ZodStringFormat",(c,s)=>{Wu.init(c,s),$de.init(c,s)}),Qde=vt("ZodEmail",(c,s)=>{iot.init(c,s),qu.init(c,s)});function TYt(c){return pde(Qde,c)}var V$=vt("ZodGUID",(c,s)=>{not.init(c,s),qu.init(c,s)});function LYt(c){return H$(V$,c)}var r9=vt("ZodUUID",(c,s)=>{rot.init(c,s),qu.init(c,s)});function EYt(c){return bde(r9,c)}function PYt(c){return yde(r9,c)}function AYt(c){return wde(r9,c)}function RYt(c){return vde(r9,c)}var J$=vt("ZodURL",(c,s)=>{oot.init(c,s),qu.init(c,s)});function _Yt(c){return U$(J$,c)}function OYt(c){return U$(J$,{protocol:/^https?$/,hostname:Kk.domain,...or.normalizeParams(c)})}var e0e=vt("ZodEmoji",(c,s)=>{cot.init(c,s),qu.init(c,s)});function DYt(c){return mde(e0e,c)}var t0e=vt("ZodNanoID",(c,s)=>{aot.init(c,s),qu.init(c,s)});function FYt(c){return kde(t0e,c)}var n0e=vt("ZodCUID",(c,s)=>{sot.init(c,s),qu.init(c,s)});function zYt(c){return Mde(n0e,c)}var r0e=vt("ZodCUID2",(c,s)=>{uot.init(c,s),qu.init(c,s)});function NYt(c){return xde(r0e,c)}var i0e=vt("ZodULID",(c,s)=>{lot.init(c,s),qu.init(c,s)});function BYt(c){return Sde(i0e,c)}var o0e=vt("ZodXID",(c,s)=>{hot.init(c,s),qu.init(c,s)});function jYt(c){return Cde(o0e,c)}var c0e=vt("ZodKSUID",(c,s)=>{fot.init(c,s),qu.init(c,s)});function HYt(c){return Ide(c0e,c)}var a0e=vt("ZodIPv4",(c,s)=>{yot.init(c,s),qu.init(c,s)});function UYt(c){return Tde(a0e,c)}var $at=vt("ZodMAC",(c,s)=>{vot.init(c,s),qu.init(c,s)});function GYt(c){return pct($at,c)}var s0e=vt("ZodIPv6",(c,s)=>{wot.init(c,s),qu.init(c,s)});function VYt(c){return Lde(s0e,c)}var u0e=vt("ZodCIDRv4",(c,s)=>{mot.init(c,s),qu.init(c,s)});function WYt(c){return Ede(u0e,c)}var l0e=vt("ZodCIDRv6",(c,s)=>{kot.init(c,s),qu.init(c,s)});function qYt(c){return Pde(l0e,c)}var h0e=vt("ZodBase64",(c,s)=>{xot.init(c,s),qu.init(c,s)});function ZYt(c){return Ade(h0e,c)}var f0e=vt("ZodBase64URL",(c,s)=>{Sot.init(c,s),qu.init(c,s)});function JYt(c){return Rde(f0e,c)}var d0e=vt("ZodE164",(c,s)=>{Cot.init(c,s),qu.init(c,s)});function XYt(c){return _de(d0e,c)}var g0e=vt("ZodJWT",(c,s)=>{Iot.init(c,s),qu.init(c,s)});function KYt(c){return Ode(g0e,c)}var aG=vt("ZodCustomStringFormat",(c,s)=>{Tot.init(c,s),qu.init(c,s)});function YYt(c,s,f={}){return nG(aG,c,s,f)}function $Yt(c){return nG(aG,"hostname",Kk.hostname,c)}function QYt(c){return nG(aG,"hex",Kk.hex,c)}function e$t(c,s){let f=s?.enc??"hex",p=`${c}_${f}`,g=Kk[p];if(!g)throw new Error(`Unrecognized hash format: ${p}`);return nG(aG,p,g,s)}var sG=vt("ZodNumber",(c,s)=>{cde.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>eat(c,p,g,y),c.gt=(p,g)=>c.check(t9(p,g)),c.gte=(p,g)=>c.check(Db(p,g)),c.min=(p,g)=>c.check(Db(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(Yde(p)),c.safe=p=>c.check(Yde(p)),c.positive=p=>c.check(t9(0,p)),c.nonnegative=p=>c.check(Db(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 Qat(c){return kct(sG,c)}var E_=vt("ZodNumberFormat",(c,s)=>{Lot.init(c,s),sG.init(c,s)});function Yde(c){return xct(E_,c)}function t$t(c){return Sct(E_,c)}function n$t(c){return Cct(E_,c)}function r$t(c){return Ict(E_,c)}function i$t(c){return Tct(E_,c)}var uG=vt("ZodBoolean",(c,s)=>{F$.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>tat(c,f,p,g)});function est(c){return Lct(uG,c)}var lG=vt("ZodBigInt",(c,s)=>{ade.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>nat(c,p,g,y),c.gte=(p,g)=>c.check(Db(p,g)),c.min=(p,g)=>c.check(Db(p,g)),c.gt=(p,g)=>c.check(t9(p,g)),c.gte=(p,g)=>c.check(Db(p,g)),c.min=(p,g)=>c.check(Db(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(Db(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 o$t(c){return Pct(lG,c)}var p0e=vt("ZodBigIntFormat",(c,s)=>{Eot.init(c,s),lG.init(c,s)});function c$t(c){return Rct(p0e,c)}function a$t(c){return _ct(p0e,c)}var tst=vt("ZodSymbol",(c,s)=>{Pot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>rat(c,f,p,g)});function s$t(c){return Oct(tst,c)}var nst=vt("ZodUndefined",(c,s)=>{Aot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>oat(c,f,p,g)});function u$t(c){return Dct(nst,c)}var rst=vt("ZodNull",(c,s)=>{Rot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>iat(c,f,p,g)});function ist(c){return Fct(rst,c)}var ost=vt("ZodAny",(c,s)=>{_ot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>sat(c,f,p,g)});function l$t(){return zct(ost)}var cst=vt("ZodUnknown",(c,s)=>{Oot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>uat(c,f,p,g)});function L_(){return Nct(cst)}var ast=vt("ZodNever",(c,s)=>{Dot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>aat(c,f,p,g)});function b0e(c){return Bct(ast,c)}var sst=vt("ZodVoid",(c,s)=>{Fot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>cat(c,f,p,g)});function h$t(c){return jct(sst,c)}var X$=vt("ZodDate",(c,s)=>{zot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>lat(c,p,g,y),c.min=(p,g)=>c.check(Db(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 f$t(c){return Hct(X$,c)}var ust=vt("ZodArray",(c,s)=>{Not.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Mat(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 Vct(ust,c,s)}function d$t(c){let s=c._zod.def.shape;return w0e(Object.keys(s))}var Y$=vt("ZodObject",(c,s)=>{Bot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>xat(c,f,p,g),or.defineLazy(c,"shape",()=>s.shape),c.keyof=()=>w0e(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:b0e()}),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(m0e,c,f[0]),c.required=(...f)=>or.required(k0e,c,f[0])});function g$t(c,s){let f={type:"object",shape:c??{},...or.normalizeParams(s)};return new Y$(f)}function p$t(c,s){return new Y$({type:"object",shape:c,catchall:b0e(),...or.normalizeParams(s)})}function b$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)=>Hde(c,f,p,g),c.options=s.options});function y0e(c,s){return new $$({type:"union",options:c,...or.normalizeParams(s)})}var lst=vt("ZodXor",(c,s)=>{$$.init(c,s),jot.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Hde(c,f,p,g),c.options=s.options});function y$t(c,s){return new lst({type:"union",options:c,inclusive:!1,...or.normalizeParams(s)})}var hst=vt("ZodDiscriminatedUnion",(c,s)=>{$$.init(c,s),Hot.init(c,s)});function w$t(c,s,f){return new hst({type:"union",options:s,discriminator:c,...or.normalizeParams(f)})}var fst=vt("ZodIntersection",(c,s)=>{Uot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Sat(c,f,p,g)});function dst(c,s){return new fst({type:"intersection",left:c,right:s})}var gst=vt("ZodTuple",(c,s)=>{sde.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Cat(c,f,p,g),c.rest=f=>c.clone({...c._zod.def,rest:f})});function pst(c,s,f){let p=s instanceof Do,g=p?f:s,y=p?s:null;return new gst({type:"tuple",items:c,rest:y,...or.normalizeParams(g)})}var Q$=vt("ZodRecord",(c,s)=>{Got.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Iat(c,f,p,g),c.keyType=s.keyType,c.valueType=s.valueType});function bst(c,s,f){return new Q$({type:"record",keyType:c,valueType:s,...or.normalizeParams(f)})}function v$t(c,s,f){let p=Ob(c);return p._zod.values=void 0,new Q$({type:"record",keyType:p,valueType:s,...or.normalizeParams(f)})}function m$t(c,s,f){return new Q$({type:"record",keyType:c,valueType:s,mode:"loose",...or.normalizeParams(f)})}var yst=vt("ZodMap",(c,s)=>{Vot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>mat(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 k$t(c,s,f){return new yst({type:"map",keyType:c,valueType:s,...or.normalizeParams(f)})}var wst=vt("ZodSet",(c,s)=>{Wot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>kat(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 wst({type:"set",valueType:c,...or.normalizeParams(s)})}var oG=vt("ZodEnum",(c,s)=>{qot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(p,g,y)=>hat(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 w0e(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 x$t(c,s){return new oG({type:"enum",entries:c,...or.normalizeParams(s)})}var vst=vt("ZodLiteral",(c,s)=>{Zot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>fat(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 S$t(c,s){return new vst({type:"literal",values:Array.isArray(c)?c:[c],...or.normalizeParams(s)})}var mst=vt("ZodFile",(c,s)=>{Jot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>pat(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 C$t(c){return Wct(mst,c)}var kst=vt("ZodTransform",(c,s)=>{Xot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>vat(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 v0e(c){return new kst({type:"transform",transform:c})}var m0e=vt("ZodOptional",(c,s)=>{ude.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Ude(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function W$(c){return new m0e({type:"optional",innerType:c})}var Mst=vt("ZodExactOptional",(c,s)=>{Kot.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Ude(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function xst(c){return new Mst({type:"optional",innerType:c})}var Sst=vt("ZodNullable",(c,s)=>{Yot.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 q$(c){return new Sst({type:"nullable",innerType:c})}function I$t(c){return W$(q$(c))}var Cst=vt("ZodDefault",(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,c.removeDefault=c.unwrap});function Ist(c,s){return new Cst({type:"default",innerType:c,get defaultValue(){return typeof s=="function"?s():or.shallowClone(s)}})}var Tst=vt("ZodPrefault",(c,s)=>{Qot.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 Lst(c,s){return new Tst({type:"prefault",innerType:c,get defaultValue(){return typeof s=="function"?s():or.shallowClone(s)}})}var k0e=vt("ZodNonOptional",(c,s)=>{ect.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Lat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function Est(c,s){return new k0e({type:"nonoptional",innerType:c,...or.normalizeParams(s)})}var Pst=vt("ZodSuccess",(c,s)=>{tct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>bat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType});function T$t(c){return new Pst({type:"success",innerType:c})}var Ast=vt("ZodCatch",(c,s)=>{nct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Aat(c,f,p,g),c.unwrap=()=>c._zod.def.innerType,c.removeCatch=c.unwrap});function Rst(c,s){return new Ast({type:"catch",innerType:c,catchValue:typeof s=="function"?s:()=>s})}var _st=vt("ZodNaN",(c,s)=>{rct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>dat(c,f,p,g)});function L$t(c){return Gct(_st,c)}var M0e=vt("ZodPipe",(c,s)=>{ict.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Rat(c,f,p,g),c.in=s.in,c.out=s.out});function Z$(c,s){return new M0e({type:"pipe",in:c,out:s})}var x0e=vt("ZodCodec",(c,s)=>{M0e.init(c,s),N$.init(c,s)});function E$t(c,s,f){return new x0e({type:"pipe",in:c,out:s,transform:f.decode,reverseTransform:f.encode})}var Ost=vt("ZodReadonly",(c,s)=>{oct.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 Dst(c){return new Ost({type:"readonly",innerType:c})}var Fst=vt("ZodTemplateLiteral",(c,s)=>{cct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>gat(c,f,p,g)});function P$t(c,s){return new Fst({type:"template_literal",parts:c,...or.normalizeParams(s)})}var zst=vt("ZodLazy",(c,s)=>{uct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>Dat(c,f,p,g),c.unwrap=()=>c._zod.def.getter()});function Nst(c){return new zst({type:"lazy",getter:c})}var Bst=vt("ZodPromise",(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.innerType});function A$t(c){return new Bst({type:"promise",innerType:c})}var jst=vt("ZodFunction",(c,s)=>{act.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>wat(c,f,p,g)});function R$t(c){return new jst({type:"function",input:Array.isArray(c?.input)?pst(c?.input):c?.input??K$(L_()),output:c?.output??L_()})}var eQ=vt("ZodCustom",(c,s)=>{lct.init(c,s),hc.init(c,s),c._zod.processJSONSchema=(f,p,g)=>yat(c,f,p,g)});function _$t(c){let s=new ul({check:"custom"});return s._zod.check=c,s}function O$t(c,s){return qct(eQ,c??(()=>!0),s)}function Hst(c,s={}){return Zct(eQ,c,s)}function Ust(c){return Jct(c)}var D$t=Xct,F$t=Kct;function z$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 N$t=(...c)=>Yct({Codec:x0e,Boolean:uG,String:cG},...c);function B$t(c){let s=Nst(()=>y0e([Kde(c),Qat(),est(),ist(),K$(s),bst(Kde(),s)]));return s}function j$t(c,s){return Z$(v0e(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 Gst;Gst||(Gst={});var Dr={...G$,...Wde,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 H$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=bp(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 H$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 J=bp(O,s);g[R]=m.has(R)?J:J.optional()}if(c.propertyNames){let R=bp(c.propertyNames,s),O=c.additionalProperties&&typeof c.additionalProperties=="object"?bp(c.additionalProperties,s):Dr.any();if(Object.keys(g).length===0){p=Dr.record(R,O);break}let J=Dr.object(g).passthrough(),G=Dr.looseRecord(R,O);p=Dr.intersection(J,G);break}if(c.patternProperties){let R=c.patternProperties,O=Object.keys(R),J=[];for(let K of O){let Q=bp(R[K],s),Te=Dr.string().regex(new RegExp(K));J.push(Dr.looseRecord(Te,Q))}let G=[];if(Object.keys(g).length>0&&G.push(Dr.object(g).passthrough()),G.push(...J),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(bp(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=>bp(R,s)),k=y&&typeof y=="object"&&!Array.isArray(y)?bp(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=>bp(R,s)),k=c.additionalItems&&typeof c.additionalItems=="object"?bp(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=bp(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 bp(c,s){if(typeof c=="boolean")return c?Dr.any():Dr.never();let f=H$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=>bp(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=>bp(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:bp(c.allOf[0],s),R=p?0:1;for(let O=R;O<c.allOf.length;O++)k=Dr.intersection(k,bp(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 U$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??dg};return bp(c,g)}var Vst={};sx(Vst,{bigint:()=>GDn,boolean:()=>UDn,date:()=>VDn,number:()=>HDn,string:()=>jDn});function jDn(c){return gct(cG,c)}function HDn(c){return Mct(sG,c)}function UDn(c){return Ect(uG,c)}function GDn(c){return Act(lG,c)}function VDn(c){return Uct(X$,c)}nf(lde());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"],G$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"],V$t=Qi.enum(qDn);var ZDn=/^[a-z][a-z0-9-]*$/,tQ=Qi.string().regex(ZDn,"id must match /^[a-z][a-z0-9-]*$/"),Wst=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:G$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:Wst.optional(),metadata:Qi.record(Qi.string(),Qi.unknown()).optional()}),KDn=Qi.strictObject({id:tQ,from:tQ,to:tQ,relationship:V$t,label:Qi.string().optional(),description:Qi.string().optional(),protocol:Qi.string().optional(),color:Qi.string().optional(),fromFile:Wst.optional(),toFile:Wst.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()}),W$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 q$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:q$t([...s.path,f]),message:"unrecognized key"})):[{path:q$t(s.path),message:s.message}])}function Z$t(c){let s=W$t.safeParse(c);return s.success?{ok:!0,value:s.data}:{ok:!1,errors:QDn(s.error)}}function J$t(c){return c.map(s=>` \u2022 ${s.path}: ${s.message}`).join(`
|
|
439
439
|
`)}function yp(c){let s;try{s=qst.default.parse(c)}catch(p){let g=p instanceof Error?p.message:String(p);throw new Error(`Invalid YAML: ${g}`)}let f=Z$t(s);if(!f.ok)throw new Error(`Invalid Archik document:
|
|
440
|
-
${J$t(f.errors)}`);return f.value}function S0e(c){return qst.default.stringify(c,{indent:2,lineWidth:0})}async function X$t(c){let s;try{s=await pp(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=yp(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(Yk(),1),Fnn=Fc(B2e(),1);import{mkdir as tHn,readFile as nHn,writeFile as rHn}from"node:fs/promises";import jlt from"node:path";var onn=Fc(tnn(),1);function GQ(c,s){return c.length*s}function Qf(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"}}var E0={width:172,height:82},nnn={width:172,height:90},ijn={service:E0,function:E0,worker:E0,agent:E0,database:{width:180,height:110},cache:nnn,vectordb:E0,storage:E0,queue:{width:188,height:80},topic:E0,stream:E0,gateway:E0,cdn:E0,route:E0,interface:E0,adapter:E0,port:E0,llm:E0,prompt:E0,tool:E0,auth:E0,observability:E0,cloud:{width:200,height:120},frontend:nnn,external:{width:184,height:100},module:{width:240,height:130},custom:{width:240,height:130}},vh={width:152,height:36},rnn={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:rnn,custom:rnn},cjn=24,inn=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(inn,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(inn,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 cnn(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=>cnn(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,J,G,K)=>{let Q=J+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,J)=>{let G=p.get(O)??[],K=p.get(J)??[],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 J of O.edges??[]){let G=J.sources?.[0]??"",K=J.targets?.[0]??"",Q=y(G,K),Te=ct=>({x:mw(ct.x)+Q.x,y:mw(ct.y)+Q.y}),be=(J.sections??[]).map(ct=>({startPoint:Te(ct.startPoint),endPoint:Te(ct.endPoint),bendPoints:(ct.bendPoints??[]).map(Te)}));m.set(J.id,be);let Ee=(J.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(J.id,Ee)}for(let J of O.children??[])R(J)};return R(c),s.edges.map(O=>({...O,sections:m.get(O.id)??[],labels:k.get(O.id)??[]}))}var gjn=new onn.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=>cnn(O,y));return{document:c,width:mw(k.width),height:mw(k.height),roots:R,edges:djn(k,c)}}var j2e={name:"elk",layout:pjn};var d3r={[j2e.name]:j2e},bjn=j2e;function RG(c,s){return bjn.layout(c,s)}var fo=Fc(Llt(),1);var r4=Fc(zs(),1),fnn=(c,s,f)=>({width:c,height:c,viewBox:"0 0 24 24",fill:"none",stroke:s,strokeWidth:f,strokeLinecap:"round",strokeLinejoin:"round"});function dnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,r4.jsxs)("svg",{...fnn(c,s,f),"aria-hidden":"true",children:[(0,r4.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3.5",ry:"3.5"}),(0,r4.jsx)("line",{x1:"9",y1:"9",x2:"9",y2:"13"}),(0,r4.jsx)("line",{x1:"15",y1:"9",x2:"15",y2:"13"}),(0,r4.jsx)("circle",{cx:"12",cy:"16.5",r:"1",fill:s,stroke:"none"})]})}function gnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,r4.jsxs)("svg",{...fnn(c,s,f),"aria-hidden":"true",children:[(0,r4.jsx)("path",{d:"M 7.5 6 L 3.5 12 L 7.5 18"}),(0,r4.jsx)("path",{d:"M 16.5 6 L 20.5 12 L 16.5 18"}),(0,r4.jsx)("circle",{cx:"13",cy:"8.6",r:"0.9",fill:s,stroke:"none"}),(0,r4.jsx)("line",{x1:"13",y1:"11",x2:"11",y2:"16.5"})]})}var im={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:gnn,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:dnn,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),Fd=28;function _G({kind:c,iconAt:s,labelAt:f}){let p=im[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 pnn({node:c,selected:s}){let f=c.width,p=c.height,g=c.stack!==void 0,y=Fd+(p-Fd)/2,m=g?y-4:y+4,k=y+14,R=Math.max(0,f-Mjn),O=Qf(c.name,R,7.4),J=g?Qf(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:Fd,x2:f,y2:Fd,stroke:"var(--archik-node-stroke)",strokeOpacity:.25,strokeWidth:1}),(0,XT.jsx)(_G,{kind:c.kind,iconAt:{cx:18,cy:Fd/2},labelAt:{cx:f/2,cy:Fd/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:J})]})}var KT=Fc(zs(),1);function bnn({node:c,selected:s}){let f=c.width,p=c.height,g=Math.min(p/2,28),y=c.stack!==void 0,m=Fd+(p-Fd)/2,k=y?m-4:m+4,R=m+14,O=Math.max(0,f-2*g-8),J=Qf(c.name,O,7.4),G=y?Qf(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:Fd,x2:f-g,y2:Fd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,KT.jsx)(_G,{kind:"queue",iconAt:{cx:g+8,cy:Fd/2},labelAt:{cx:f/2,cy:Fd/2+3}}),(0,KT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:J}),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 ynn({node:c,selected:s}){let f=c.width,p=c.height,g=c.description!==void 0,y=Fd,m=y+(p-y)/2,k=g?m-2:m+4,R=p-12,O=Math.max(0,f-xjn),J=Qf(c.name,O,7.4),G=g?Qf(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:Fd,x2:f-6,y2:Fd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,YT.jsx)(_G,{kind:"external",iconAt:{cx:18,cy:Fd/2},labelAt:{cx:f/2,cy:Fd/2+3}}),(0,YT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:J}),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 wnn({node:c,selected:s}){let f=c.width,p=c.height,g=f/2,y=Cjn,m=im[c.kind],k=m.icon,R=s?"var(--archik-selected)":"var(--archik-node-stroke)",O=s?1.8:1.4,J=c.stack!==void 0,G=Math.max(0,f-Sjn),K=Qf(c.name,G,7.4),Q=J?Qf(c.stack,G,5.9):"",Te=y+Ijn,be=p-y,Ee=(Te+be)/2,ct=J?Ee-4:Ee+4,St=Ee+14,qt=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:qt+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}),J&&(0,s9.jsx)("text",{x:g,y:St,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,vnn=18;function mnn({node:c,selected:s}){let f=c.width,p=c.height,g=im[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),J=Qf(c.name,O,7.4),G=R?Qf(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, ${vnn-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:vnn+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:J}),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 Gb=Fc(zs(),1),OG=32,HAe=14,Plt=14;function Alt({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height;if(!(c.children.length>0))return(0,Gb.jsx)(Ajn,{node:c,selected:!!s});let m=im[c.kind],k=m.icon,R=Math.min(.04+f*.06,.22),O=Math.min(.55+f*.12,.95),J=s?"var(--archik-selected)":"var(--archik-container-border)",G=s?1.8:1.2,K=Math.max(0,p-HAe*2-60),Q=Qf(c.name,K,7.4);return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--container`,children:[(0,Gb.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:8,ry:8,fill:m.color,fillOpacity:R,stroke:J,strokeWidth:G,pointerEvents:"none"}),f>=1&&p>8&&g>8&&(0,Gb.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,Gb.jsx)("path",{d:Pjn(p,OG,8),fill:m.color,fillOpacity:O*.18}),(0,Gb.jsx)("line",{x1:0,y1:OG,x2:p,y2:OG,stroke:J,strokeOpacity:.45,strokeWidth:1}),(0,Gb.jsx)("g",{transform:`translate(${HAe}, ${OG/2-Plt/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Gb.jsx)(k,{size:Plt,color:m.color,strokeWidth:1.9})}),(0,Gb.jsx)("text",{x:HAe+Plt+8,y:OG/2+4,fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:Q}),(0,Gb.jsx)("text",{x:p-HAe,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=im[c.kind],y=s?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind}`,children:[(0,Gb.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,Gb.jsx)("text",{x:f/2,y:p/2+4,textAnchor:"middle",fontSize:12,fontWeight:600,fill:g.color,children:c.name})]})}var ed=Fc(zs(),1),qQ=24,Rlt=10,ZQ=28;function knn({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height,y=im[c.kind],m=y.icon,k=c.kind==="external";if(c.children.length>0)return(0,ed.jsx)(Rjn,{node:c,selected:!!s,depth:f});if(c.kind==="module"||c.kind==="custom")return(0,ed.jsx)(_jn,{node:c,selected:!!s});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)",J=c.kind==="queue"?Math.min(g/2,18):8;return(0,ed.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact`,children:[(0,ed.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:J,ry:J,fill:O,stroke:R,strokeWidth:s?1.8:1.4,strokeDasharray:k&&!s?"5 4":void 0}),(0,ed.jsx)("g",{transform:`translate(${Rlt}, ${g/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,ed.jsx)(m,{size:13,color:y.color,strokeWidth:1.9})}),(0,ed.jsx)("text",{x:ZQ,y:g/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Qf(c.name,Math.max(0,p-ZQ-8),5.9)})]})}function Rjn({node:c,selected:s,depth:f}){let p=c.width,g=c.height,y=im[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)",J=Math.max(0,p-12-22),G=Qf(c.name,J,5.9);return(0,ed.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact archik-node--container`,children:[(0,ed.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,ed.jsx)("path",{d:Ojn(p,qQ,6),fill:y.color,fillOpacity:R*.18}),(0,ed.jsx)("line",{x1:0,y1:qQ,x2:p,y2:qQ,stroke:O,strokeOpacity:.45,strokeWidth:1}),(0,ed.jsx)("g",{transform:`translate(${Rlt}, ${qQ/2-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,ed.jsx)(m,{size:12,color:y.color,strokeWidth:1.9})}),(0,ed.jsx)("text",{x:ZQ,y:qQ/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:G})]})}function _jn({node:c,selected:s}){let f=c.width,p=c.height,g=im[c.kind],y=g.icon,m=s?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,ed.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact`,children:[(0,ed.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:6,ry:6,fill:"transparent",stroke:m,strokeOpacity:s?1:.55,strokeWidth:s?1.8:1.2,strokeDasharray:s?void 0:"4 4"}),(0,ed.jsx)("g",{transform:`translate(${Rlt}, ${p/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,ed.jsx)(y,{size:13,color:g.color,strokeWidth:1.8})}),(0,ed.jsx)("text",{x:ZQ,y:p/2+4,fontSize:11,fontWeight:600,fill:"var(--archik-node-caption)",children:Qf(c.name,Math.max(0,f-ZQ-8),5.9)})]})}function Ojn(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(Llt(),1),Tp=Fc(zs(),1),Djn=12,Fjn=18;function Mnn({Icon:c,cx:s,cy:f,size:p=Djn,color:g,strokeWidth:y=1.8}){return(0,Tp.jsx)("g",{transform:`translate(${s-p/2}, ${f-p/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Tp.jsx)(c,{size:p,color:g??"var(--archik-fg-dim)",strokeWidth:y})})}function xnn(c){return(0,Tp.jsx)(Mnn,{Icon:$T.Info,...c})}function Snn(c){return(0,Tp.jsx)(Mnn,{Icon:$T.StickyNote,...c})}function Cnn({cx:c,cy:s,filePath:f,fileLabel:p,onClick:g,size:y=13}){return(0,Tp.jsxs)("g",{transform:`translate(${c-y/2}, ${s-y/2})`,style:{cursor:g?"pointer":"default"},onClick:g,children:[(0,Tp.jsx)("title",{children:`Cross-file edge \u2192 ${p} (${f})`}),(0,Tp.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,Tp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Tp.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,Tp.jsxs)("g",{transform:`translate(${c-p/2}, ${s-p/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,Tp.jsx)("title",{children:"Open sub-architecture"}),(0,Tp.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,Tp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Tp.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*Fjn,y:c.y}))}var rf=Fc(zs(),1);function zjn({node:c,selected:s,viewMode:f,depth:p}){if(f==="compact")return(0,rf.jsx)(knn,{node:c,selected:s,depth:p});if(c.children.length>0)return(0,rf.jsx)(Alt,{node:c,selected:s,depth:p});switch(c.kind){case"queue":return(0,rf.jsx)(bnn,{node:c,selected:s});case"external":return(0,rf.jsx)(ynn,{node:c,selected:s});case"database":return(0,rf.jsx)(wnn,{node:c,selected:s});case"cloud":return(0,rf.jsx)(mnn,{node:c,selected:s});case"module":case"custom":return(0,rf.jsx)(Alt,{node:c,selected:s,depth:p});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,rf.jsx)(pnn,{node:c,selected:s});default:{let g=c.kind;throw new Error("unreachable node kind")}}}function _lt({node:c,selectedNodeIds:s,onSelectNode:f,onOpenSubFile:p,crossFileByNode:g,viewMode:y="detailed",depth:m=0}){let k=s?.has(c.id)??!1,R=c.children.length>0,O=R?m+1:m,J=f?K=>{K.stopPropagation(),f(c.id,K)}:void 0,G=c.description!==void 0&&c.description.length>0;return(0,rf.jsxs)("g",{"data-archik-node-id":c.id,...k?{"data-archik-selected":"true"}:{},transform:`translate(${c.x}, ${c.y})`,...J!==void 0?{onClick:J}:{},style:f?{cursor:"pointer"}:void 0,children:[(0,rf.jsx)(zjn,{node:c,selected:k,viewMode:y,depth:m}),y==="detailed"&&!R&&(()=>{let K=c.notes!==void 0&&c.notes.length>0,Q=c.archikFile!==void 0&&c.archikFile.length>0,Te=g?.get(c.id),be=Te?Array.from(Te).sort():[],Ee=[];Q&&Ee.push("subarch");for(let qt of be)Ee.push({type:"crossfile",path:qt});if(G&&Ee.push("info"),K&&Ee.push("notes"),Ee.length===0)return null;let ct=Tnn(c.kind,c.width,c.height),St=Lnn(ct.right,Ee.length);return(0,rf.jsx)(rf.Fragment,{children:Ee.map((qt,ze)=>{let mt=St[ze];if(typeof qt=="object"&&qt.type==="crossfile"){let We=qt.path,Vn=We.split("/").pop().replace(/\.archik\.yaml$/,""),sn=p?mr=>{mr.stopPropagation(),p(We,Vn)}:void 0;return(0,rf.jsx)(Cnn,{cx:mt.x,cy:mt.y,filePath:We,fileLabel:Vn,...sn?{onClick:sn}:{}},`xf-${We}`)}if(qt==="subarch"){let We=c.archikFile,Vn=p?sn=>{sn.stopPropagation(),p(We,c.name)}:void 0;return(0,rf.jsx)(Inn,{cx:mt.x,cy:mt.y,...Vn?{onClick:Vn}:{}},"subarch")}return qt==="info"?(0,rf.jsx)(xnn,{cx:mt.x,cy:mt.y,color:"var(--archik-node-caption)"},"info"):(0,rf.jsxs)("g",{children:[(0,rf.jsx)(Snn,{cx:mt.x,cy:mt.y,color:"var(--archik-node-caption)"}),c.notes&&c.notes.length>1&&(0,rf.jsx)("text",{x:mt.x+7,y:mt.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:c.notes.length})]},"notes")})})})(),c.children.map(K=>(0,rf.jsx)(_lt,{node:K,viewMode:y,depth:O,...s!==void 0?{selectedNodeIds:s}:{},...f!==void 0?{onSelectNode:f}:{},...p!==void 0?{onOpenSubFile:p}:{},...g!==void 0?{crossFileByNode:g}:{}},K.id))]})}var vz=Fc(zs(),1),i4="archik-arrow-filled",FG="archik-arrow-open",Olt="archik-arrow-circle",Dlt="archik-arrow-selected",UAe="archik-arrow-uml-triangle",Flt="archik-arrow-uml-diamond-filled",zlt="archik-arrow-double",_5="var(--archik-edge-filled)",DG="var(--archik-edge-dim)",Njn={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:zlt},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:Olt},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:UAe},extends:{stroke:DG,strokeWidth:1.4,markerId:UAe},composes:{stroke:DG,strokeWidth:1.4,markerId:i4,markerStartId:Flt},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 Bjn(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=Njn[c.relationship],m=c.labels[0],k=m?{x:m.x+m.width/2,y:m.y+m.height/2}:Bjn(g),R=s?.has(c.id)??!1,O=R?"var(--archik-selected)":c.color??y.stroke,J=R?y.strokeWidth+.5:y.strokeWidth,G=R?Dlt: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:J,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 Nlt={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function jjn(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 Hjn(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="${Hjn(g)}"] { opacity: 0.35; }`).join(`
|
|
440
|
+
${J$t(f.errors)}`);return f.value}function S0e(c){return qst.default.stringify(c,{indent:2,lineWidth:0})}async function X$t(c){let s;try{s=await pp(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=yp(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(Yk(),1),Fnn=Fc(B2e(),1);import{mkdir as tHn,readFile as nHn,writeFile as rHn}from"node:fs/promises";import jlt from"node:path";var onn=Fc(tnn(),1);function GQ(c,s){return c.length*s}function Qf(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 E0={width:172,height:82},nnn={width:172,height:90},ijn={service:E0,function:E0,worker:E0,agent:E0,database:{width:180,height:110},cache:nnn,vectordb:E0,storage:E0,queue:{width:188,height:80},topic:E0,stream:E0,gateway:E0,cdn:E0,route:E0,interface:E0,adapter:E0,port:E0,llm:E0,prompt:E0,tool:E0,auth:E0,observability:E0,cloud:{width:200,height:120},frontend:nnn,external:{width:184,height:100},module:{width:240,height:130},custom:{width:240,height:130}},vh={width:152,height:36},rnn={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:rnn,custom:rnn},cjn=24,inn=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(inn,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(inn,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 cnn(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=>cnn(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,J,G,K)=>{let Q=J+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,J)=>{let G=p.get(O)??[],K=p.get(J)??[],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 J of O.edges??[]){let G=J.sources?.[0]??"",K=J.targets?.[0]??"",Q=y(G,K),Te=ct=>({x:mw(ct.x)+Q.x,y:mw(ct.y)+Q.y}),be=(J.sections??[]).map(ct=>({startPoint:Te(ct.startPoint),endPoint:Te(ct.endPoint),bendPoints:(ct.bendPoints??[]).map(Te)}));m.set(J.id,be);let Ee=(J.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(J.id,Ee)}for(let J of O.children??[])R(J)};return R(c),s.edges.map(O=>({...O,sections:m.get(O.id)??[],labels:k.get(O.id)??[]}))}var gjn=new onn.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=>cnn(O,y));return{document:c,width:mw(k.width),height:mw(k.height),roots:R,edges:djn(k,c)}}var j2e={name:"elk",layout:pjn};var d3r={[j2e.name]:j2e},bjn=j2e;function RG(c,s){return bjn.layout(c,s)}var fo=Fc(Llt(),1);var r4=Fc(zs(),1),fnn=(c,s,f)=>({width:c,height:c,viewBox:"0 0 24 24",fill:"none",stroke:s,strokeWidth:f,strokeLinecap:"round",strokeLinejoin:"round"});function dnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,r4.jsxs)("svg",{...fnn(c,s,f),"aria-hidden":"true",children:[(0,r4.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3.5",ry:"3.5"}),(0,r4.jsx)("line",{x1:"9",y1:"9",x2:"9",y2:"13"}),(0,r4.jsx)("line",{x1:"15",y1:"9",x2:"15",y2:"13"}),(0,r4.jsx)("circle",{cx:"12",cy:"16.5",r:"1",fill:s,stroke:"none"})]})}function gnn({size:c=16,color:s="currentColor",strokeWidth:f=1.8}){return(0,r4.jsxs)("svg",{...fnn(c,s,f),"aria-hidden":"true",children:[(0,r4.jsx)("path",{d:"M 7.5 6 L 3.5 12 L 7.5 18"}),(0,r4.jsx)("path",{d:"M 16.5 6 L 20.5 12 L 16.5 18"}),(0,r4.jsx)("circle",{cx:"13",cy:"8.6",r:"0.9",fill:s,stroke:"none"}),(0,r4.jsx)("line",{x1:"13",y1:"11",x2:"11",y2:"16.5"})]})}var im={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:gnn,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:dnn,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),Fd=28;function _G({kind:c,iconAt:s,labelAt:f}){let p=im[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 pnn({node:c,selected:s}){let f=c.width,p=c.height,g=c.stack!==void 0,y=Fd+(p-Fd)/2,m=g?y-4:y+4,k=y+14,R=Math.max(0,f-Mjn),O=Qf(c.name,R,7.4),J=g?Qf(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:Fd,x2:f,y2:Fd,stroke:"var(--archik-node-stroke)",strokeOpacity:.25,strokeWidth:1}),(0,XT.jsx)(_G,{kind:c.kind,iconAt:{cx:18,cy:Fd/2},labelAt:{cx:f/2,cy:Fd/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:J})]})}var KT=Fc(zs(),1);function bnn({node:c,selected:s}){let f=c.width,p=c.height,g=Math.min(p/2,28),y=c.stack!==void 0,m=Fd+(p-Fd)/2,k=y?m-4:m+4,R=m+14,O=Math.max(0,f-2*g-8),J=Qf(c.name,O,7.4),G=y?Qf(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:Fd,x2:f-g,y2:Fd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,KT.jsx)(_G,{kind:"queue",iconAt:{cx:g+8,cy:Fd/2},labelAt:{cx:f/2,cy:Fd/2+3}}),(0,KT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:J}),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 ynn({node:c,selected:s}){let f=c.width,p=c.height,g=c.description!==void 0,y=Fd,m=y+(p-y)/2,k=g?m-2:m+4,R=p-12,O=Math.max(0,f-xjn),J=Qf(c.name,O,7.4),G=g?Qf(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:Fd,x2:f-6,y2:Fd,stroke:K,strokeOpacity:.25,strokeWidth:1}),(0,YT.jsx)(_G,{kind:"external",iconAt:{cx:18,cy:Fd/2},labelAt:{cx:f/2,cy:Fd/2+3}}),(0,YT.jsx)("text",{x:f/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:J}),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 wnn({node:c,selected:s}){let f=c.width,p=c.height,g=f/2,y=Cjn,m=im[c.kind],k=m.icon,R=s?"var(--archik-selected)":"var(--archik-node-stroke)",O=s?1.8:1.4,J=c.stack!==void 0,G=Math.max(0,f-Sjn),K=Qf(c.name,G,7.4),Q=J?Qf(c.stack,G,5.9):"",Te=y+Ijn,be=p-y,Ee=(Te+be)/2,ct=J?Ee-4:Ee+4,St=Ee+14,qt=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:qt+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}),J&&(0,s9.jsx)("text",{x:g,y:St,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,vnn=18;function mnn({node:c,selected:s}){let f=c.width,p=c.height,g=im[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),J=Qf(c.name,O,7.4),G=R?Qf(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, ${vnn-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:vnn+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:J}),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 Gb=Fc(zs(),1),OG=32,HAe=14,Plt=14;function Alt({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height;if(!(c.children.length>0))return(0,Gb.jsx)(Ajn,{node:c,selected:!!s});let m=im[c.kind],k=m.icon,R=Math.min(.04+f*.06,.22),O=Math.min(.55+f*.12,.95),J=s?"var(--archik-selected)":"var(--archik-container-border)",G=s?1.8:1.2,K=Math.max(0,p-HAe*2-60),Q=Qf(c.name,K,7.4);return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--container`,children:[(0,Gb.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:8,ry:8,fill:m.color,fillOpacity:R,stroke:J,strokeWidth:G,pointerEvents:"none"}),f>=1&&p>8&&g>8&&(0,Gb.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,Gb.jsx)("path",{d:Pjn(p,OG,8),fill:m.color,fillOpacity:O*.18}),(0,Gb.jsx)("line",{x1:0,y1:OG,x2:p,y2:OG,stroke:J,strokeOpacity:.45,strokeWidth:1}),(0,Gb.jsx)("g",{transform:`translate(${HAe}, ${OG/2-Plt/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Gb.jsx)(k,{size:Plt,color:m.color,strokeWidth:1.9})}),(0,Gb.jsx)("text",{x:HAe+Plt+8,y:OG/2+4,fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:Q}),(0,Gb.jsx)("text",{x:p-HAe,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=im[c.kind],y=s?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,Gb.jsxs)("g",{className:`archik-node archik-node--${c.kind}`,children:[(0,Gb.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,Gb.jsx)("text",{x:f/2,y:p/2+4,textAnchor:"middle",fontSize:12,fontWeight:600,fill:g.color,children:c.name})]})}var ed=Fc(zs(),1),qQ=24,Rlt=10,ZQ=28;function knn({node:c,selected:s,depth:f=0}){let p=c.width,g=c.height,y=im[c.kind],m=y.icon,k=c.kind==="external";if(c.children.length>0)return(0,ed.jsx)(Rjn,{node:c,selected:!!s,depth:f});if(c.kind==="module"||c.kind==="custom")return(0,ed.jsx)(_jn,{node:c,selected:!!s});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)",J=c.kind==="queue"?Math.min(g/2,18):8;return(0,ed.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact`,children:[(0,ed.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:p,height:g,rx:J,ry:J,fill:O,stroke:R,strokeWidth:s?1.8:1.4,strokeDasharray:k&&!s?"5 4":void 0}),(0,ed.jsx)("g",{transform:`translate(${Rlt}, ${g/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,ed.jsx)(m,{size:13,color:y.color,strokeWidth:1.9})}),(0,ed.jsx)("text",{x:ZQ,y:g/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Qf(c.name,Math.max(0,p-ZQ-8),5.9)})]})}function Rjn({node:c,selected:s,depth:f}){let p=c.width,g=c.height,y=im[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)",J=Math.max(0,p-12-22),G=Qf(c.name,J,5.9);return(0,ed.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact archik-node--container`,children:[(0,ed.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,ed.jsx)("path",{d:Ojn(p,qQ,6),fill:y.color,fillOpacity:R*.18}),(0,ed.jsx)("line",{x1:0,y1:qQ,x2:p,y2:qQ,stroke:O,strokeOpacity:.45,strokeWidth:1}),(0,ed.jsx)("g",{transform:`translate(${Rlt}, ${qQ/2-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,ed.jsx)(m,{size:12,color:y.color,strokeWidth:1.9})}),(0,ed.jsx)("text",{x:ZQ,y:qQ/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:G})]})}function _jn({node:c,selected:s}){let f=c.width,p=c.height,g=im[c.kind],y=g.icon,m=s?"var(--archik-selected)":"var(--archik-node-stroke)";return(0,ed.jsxs)("g",{className:`archik-node archik-node--${c.kind} archik-node--compact`,children:[(0,ed.jsx)("rect",{className:s?"archik-selected-glow":void 0,width:f,height:p,rx:6,ry:6,fill:"var(--archik-node-fill)",stroke:m,strokeWidth:s?1.8:1.4,strokeDasharray:s?void 0:"5 4"}),(0,ed.jsx)("g",{transform:`translate(${Rlt}, ${p/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,ed.jsx)(y,{size:13,color:g.color,strokeWidth:1.9})}),(0,ed.jsx)("text",{x:ZQ,y:p/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Qf(c.name,Math.max(0,f-ZQ-8),5.9)})]})}function Ojn(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(Llt(),1),Tp=Fc(zs(),1),Djn=12,Fjn=18;function Mnn({Icon:c,cx:s,cy:f,size:p=Djn,color:g,strokeWidth:y=1.8}){return(0,Tp.jsx)("g",{transform:`translate(${s-p/2}, ${f-p/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,Tp.jsx)(c,{size:p,color:g??"var(--archik-fg-dim)",strokeWidth:y})})}function xnn(c){return(0,Tp.jsx)(Mnn,{Icon:$T.Info,...c})}function Snn(c){return(0,Tp.jsx)(Mnn,{Icon:$T.StickyNote,...c})}function Cnn({cx:c,cy:s,filePath:f,fileLabel:p,onClick:g,size:y=13}){return(0,Tp.jsxs)("g",{transform:`translate(${c-y/2}, ${s-y/2})`,style:{cursor:g?"pointer":"default"},onClick:g,children:[(0,Tp.jsx)("title",{children:`Cross-file edge \u2192 ${p} (${f})`}),(0,Tp.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,Tp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Tp.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,Tp.jsxs)("g",{transform:`translate(${c-p/2}, ${s-p/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,Tp.jsx)("title",{children:"Open sub-architecture"}),(0,Tp.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,Tp.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,Tp.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*Fjn,y:c.y}))}var rf=Fc(zs(),1);function zjn({node:c,selected:s,viewMode:f,depth:p}){if(f==="compact")return(0,rf.jsx)(knn,{node:c,selected:s,depth:p});if(c.children.length>0)return(0,rf.jsx)(Alt,{node:c,selected:s,depth:p});switch(c.kind){case"queue":return(0,rf.jsx)(bnn,{node:c,selected:s});case"external":return(0,rf.jsx)(ynn,{node:c,selected:s});case"database":return(0,rf.jsx)(wnn,{node:c,selected:s});case"cloud":return(0,rf.jsx)(mnn,{node:c,selected:s});case"module":case"custom":return(0,rf.jsx)(Alt,{node:c,selected:s,depth:p});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,rf.jsx)(pnn,{node:c,selected:s});default:{let g=c.kind;throw new Error("unreachable node kind")}}}function _lt({node:c,selectedNodeIds:s,onSelectNode:f,onOpenSubFile:p,crossFileByNode:g,viewMode:y="detailed",depth:m=0}){let k=s?.has(c.id)??!1,R=c.children.length>0,O=R?m+1:m,J=f?K=>{K.stopPropagation(),f(c.id,K)}:void 0,G=c.description!==void 0&&c.description.length>0;return(0,rf.jsxs)("g",{"data-archik-node-id":c.id,...k?{"data-archik-selected":"true"}:{},transform:`translate(${c.x}, ${c.y})`,...J!==void 0?{onClick:J}:{},style:f?{cursor:"pointer"}:void 0,children:[(0,rf.jsx)(zjn,{node:c,selected:k,viewMode:y,depth:m}),y==="detailed"&&!R&&(()=>{let K=c.notes!==void 0&&c.notes.length>0,Q=c.archikFile!==void 0&&c.archikFile.length>0,Te=g?.get(c.id),be=Te?Array.from(Te).sort():[],Ee=[];Q&&Ee.push("subarch");for(let qt of be)Ee.push({type:"crossfile",path:qt});if(G&&Ee.push("info"),K&&Ee.push("notes"),Ee.length===0)return null;let ct=Tnn(c.kind,c.width,c.height),St=Lnn(ct.right,Ee.length);return(0,rf.jsx)(rf.Fragment,{children:Ee.map((qt,ze)=>{let mt=St[ze];if(typeof qt=="object"&&qt.type==="crossfile"){let We=qt.path,Vn=We.split("/").pop().replace(/\.archik\.yaml$/,""),sn=p?mr=>{mr.stopPropagation(),p(We,Vn)}:void 0;return(0,rf.jsx)(Cnn,{cx:mt.x,cy:mt.y,filePath:We,fileLabel:Vn,...sn?{onClick:sn}:{}},`xf-${We}`)}if(qt==="subarch"){let We=c.archikFile,Vn=p?sn=>{sn.stopPropagation(),p(We,c.name)}:void 0;return(0,rf.jsx)(Inn,{cx:mt.x,cy:mt.y,...Vn?{onClick:Vn}:{}},"subarch")}return qt==="info"?(0,rf.jsx)(xnn,{cx:mt.x,cy:mt.y,color:"var(--archik-node-caption)"},"info"):(0,rf.jsxs)("g",{children:[(0,rf.jsx)(Snn,{cx:mt.x,cy:mt.y,color:"var(--archik-node-caption)"}),c.notes&&c.notes.length>1&&(0,rf.jsx)("text",{x:mt.x+7,y:mt.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:c.notes.length})]},"notes")})})})(),c.children.map(K=>(0,rf.jsx)(_lt,{node:K,viewMode:y,depth:O,...s!==void 0?{selectedNodeIds:s}:{},...f!==void 0?{onSelectNode:f}:{},...p!==void 0?{onOpenSubFile:p}:{},...g!==void 0?{crossFileByNode:g}:{}},K.id))]})}var vz=Fc(zs(),1),i4="archik-arrow-filled",FG="archik-arrow-open",Olt="archik-arrow-circle",Dlt="archik-arrow-selected",UAe="archik-arrow-uml-triangle",Flt="archik-arrow-uml-diamond-filled",zlt="archik-arrow-double",_5="var(--archik-edge-filled)",DG="var(--archik-edge-dim)",Njn={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:zlt},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:Olt},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:UAe},extends:{stroke:DG,strokeWidth:1.4,markerId:UAe},composes:{stroke:DG,strokeWidth:1.4,markerId:i4,markerStartId:Flt},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 Bjn(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=Njn[c.relationship],m=c.labels[0],k=m?{x:m.x+m.width/2,y:m.y+m.height/2}:Bjn(g),R=s?.has(c.id)??!1,O=R?"var(--archik-selected)":c.color??y.stroke,J=R?y.strokeWidth+.5:y.strokeWidth,G=R?Dlt: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:J,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 Nlt={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function jjn(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 Hjn(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="${Hjn(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:jjn(c.roots).map(f=>{let p=s.nodes.get(f.id);return p===void 0||p==="unchanged"?null:(0,Vb.jsx)(Ujn,{node:f,status:p},f.id)})})}function Ujn({node:c,status:s}){let f=Nlt[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)(Gjn,{x:p+y-6,y:g-6,status:s})]})}function Gjn({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:Nlt[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)(Vjn,{edge:f,status:p},f.id)})})}function Vjn({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:Nlt[s],strokeWidth:3,strokeOpacity:.55,strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:s==="removed"?"8 4":void 0})}var fc=Fc(zs(),1),GAe=24;function Wjn({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 qjn({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 Zjn({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 Jjn({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 Xjn({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 Kjn({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 Yjn({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 Blt({positioned:c,viewMode:s="detailed",selectedNodeIds:f,selectedEdgeIds:p,onSelectNode:g,onSelectEdge:y,onOpenSubFile:m}){let k=new Map;for(let R of c.edges){if(R.toFile!==void 0){let O=k.get(R.from)??new Set;O.add(R.toFile),k.set(R.from,O)}if(R.fromFile!==void 0){let O=k.get(R.to)??new Set;O.add(R.fromFile),k.set(R.to,O)}}return(0,fc.jsxs)(fc.Fragment,{children:[(0,fc.jsxs)("defs",{children:[(0,fc.jsx)(Wjn,{id:i4}),(0,fc.jsx)(qjn,{id:FG}),(0,fc.jsx)(Zjn,{id:Olt}),(0,fc.jsx)(Jjn,{id:Dlt}),(0,fc.jsx)(Xjn,{id:UAe}),(0,fc.jsx)(Kjn,{id:Flt}),(0,fc.jsx)(Yjn,{id:zlt})]}),(0,fc.jsx)("g",{className:"archik-edges",children:c.edges.map(R=>(0,fc.jsx)(Pnn,{edge:R,...p!==void 0?{selectedEdgeIds:p}:{},...y!==void 0?{onSelectEdge:y}:{}},R.id))}),(0,fc.jsx)("g",{className:"archik-nodes",children:c.roots.map(R=>(0,fc.jsx)(_lt,{node:R,viewMode:s,crossFileByNode:k,...f!==void 0?{selectedNodeIds:f}:{},...g!==void 0?{onSelectNode:g}:{},...m!==void 0?{onOpenSubFile:m}:{}},R.id))})]})}function $jn(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:J,onOpenSubFile:G,diffStatuses:K}){let Q=Math.max(c.width,1),Te=Math.max(c.height,1),be=-GAe,Ee=-GAe,ct=Q+GAe*2,St=Te+GAe*2,qt=y?$jn(c,y.fromId):null;return(0,fc.jsxs)("svg",{ref:g,className:s,xmlns:"http://www.w3.org/2000/svg",width:ct*f,height:St*f,viewBox:`${be} ${Ee} ${ct} ${St}`,preserveAspectRatio:"xMidYMid meet",style:{display:"block",flexShrink:0},onClick:J,children:[K&&(0,fc.jsx)(Ann,{statuses:K,scopeClass:"archik-diff-base"}),(0,fc.jsx)("g",{className:K?"archik-diff-base":void 0,children:(0,fc.jsx)(Blt,{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&&(0,fc.jsxs)(fc.Fragment,{children:[(0,fc.jsx)(_nn,{positioned:c,statuses:K}),(0,fc.jsx)(Rnn,{positioned:c,statuses:K})]}),y&&qt&&(0,fc.jsxs)("g",{className:"archik-drag-ghost",pointerEvents:"none",children:[(0,fc.jsx)("line",{x1:qt.x,y1:qt.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 Qjn={"--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)"},eHn={"--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 VAe(c,s="dark"){let f=s==="light"?eHn:Qjn;return c.replace(/var\(--archik-([a-z0-9-]+)\)/g,(p,g)=>f[`--archik-${g}`]??p)}async function JQ(c){let s;try{s=await pp(c._[0])}catch(Q){return console.error(`\u2717 ${Q instanceof Error?Q.message:String(Q)}`),1}let f=jlt.relative(process.cwd(),s)||s,p=hg(c,"out")??"diagram.svg",g=hg(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 nHn(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=yp(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
|
${VAe(O,y)}
|
|
443
443
|
`,K=jlt.resolve(p);return await tHn(jlt.dirname(K),{recursive:!0}),await rHn(K,G,"utf-8"),console.log(`\u2713 Rendered ${k.nodes.length} nodes / ${k.edges.length} edges \u2192 ${p}`),0}import YHn from"node:path";import{stat as _Hn}from"fs";import{stat as OHn,readdir as DHn}from"fs/promises";import{EventEmitter as FHn}from"events";import*as ha from"path";import{stat as iHn,lstat as znn,readdir as oHn,realpath as cHn}from"node:fs/promises";import{Readable as aHn}from"node:stream";import{resolve as Nnn,relative as sHn,join as uHn,sep as lHn}from"node:path";var om={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Hlt={root:".",fileFilter:c=>!0,directoryFilter:c=>!0,type:om.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Hlt);var Unn="READDIRP_RECURSIVE_ERROR",hHn=new Set(["ENOENT","EPERM","EACCES","ELOOP",Unn]),Bnn=[om.DIR_TYPE,om.EVERYTHING_TYPE,om.FILE_DIR_TYPE,om.FILE_TYPE],fHn=new Set([om.DIR_TYPE,om.EVERYTHING_TYPE,om.FILE_DIR_TYPE]),dHn=new Set([om.EVERYTHING_TYPE,om.FILE_DIR_TYPE,om.FILE_TYPE]),gHn=c=>hHn.has(c.code),pHn=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},Ult=class extends aHn{constructor(s={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:s.highWaterMark});let f={...Hlt,...s},{root:p,type:g}=f;this._fileFilter=Hnn(f.fileFilter),this._directoryFilter=Hnn(f.directoryFilter);let y=f.lstat?znn:iHn;pHn?this._stat=m=>y(m,{bigint:!0}):this._stat=y,this._maxDepth=f.depth??Hlt.depth,this._wantsDir=g?fHn.has(g):!1,this._wantsFile=g?dHn.has(g):!1,this._wantsEverything=g===om.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 oHn(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(uHn(f,g));p={path:sHn(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){gHn(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 cHn(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)===lHn){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=om.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 Ult(s)}import{watchFile as bHn,unwatchFile as Vnn,watch as yHn}from"fs";import{open as wHn,stat as qnn,lstat as vHn,realpath as Glt}from"fs/promises";import*as j1 from"path";import{type as mHn}from"os";var kHn="data",qlt="end",Znn="close",XAe=()=>{};var KAe=process.platform,Zlt=KAe==="win32",MHn=KAe==="darwin",xHn=KAe==="linux",SHn=KAe==="freebsd",Jnn=mHn()==="OS400",mh={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},O5=mh,CHn="watch",IHn={lstat:vHn,stat:qnn},mz="listeners",WAe="errHandlers",zG="rawEmitters",THn=[mz,WAe,zG],LHn=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"]),EHn=c=>LHn.has(j1.extname(c).slice(1).toLowerCase()),Wlt=(c,s)=>{c instanceof Set?c.forEach(s):s(c)},XQ=(c,s,f)=>{let p=c[s];p instanceof Set||(c[s]=p=new Set([p])),p.add(f)},PHn=c=>s=>{let f=c[s];f instanceof Set?f.clear():delete c[s]},KQ=(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,qAe=new Map;function Wnn(c,s,f,p,g){let y=(m,k)=>{f(c),g(m,k,{watchedPath:c}),k&&c!==k&&ZAe(j1.resolve(c,k),mz,j1.join(c,k))};try{return yHn(c,{persistent:s.persistent},y)}catch(m){p(m);return}}var ZAe=(c,s,f,p,g)=>{let y=qAe.get(c);y&&Wlt(y[s],m=>{m(f,p,g)})},AHn=(c,s,f,p)=>{let{listener:g,errHandler:y,rawEmitter:m}=p,k=qAe.get(s),R;if(!f.persistent)return R=Wnn(c,f,g,y,m),R?R.close.bind(R):void 0;if(k)XQ(k,mz,g),XQ(k,WAe,y),XQ(k,zG,m);else{if(R=Wnn(c,f,ZAe.bind(null,s,mz),y,ZAe.bind(null,s,zG)),!R)return;R.on(O5.ERROR,async O=>{let J=ZAe.bind(null,s,WAe);if(k&&(k.watcherUnusable=!0),Zlt&&O.code==="EPERM")try{await(await wHn(c,"r")).close(),J(O)}catch{}else J(O)}),k={listeners:g,errHandlers:y,rawEmitters:m,watcher:R},qAe.set(s,k)}return()=>{KQ(k,mz,g),KQ(k,WAe,y),KQ(k,zG,m),Xnn(k.listeners)&&(k.watcher.close(),qAe.delete(s),THn.forEach(PHn(k)),k.watcher=void 0,Object.freeze(k))}},Vlt=new Map,RHn=(c,s,f,p)=>{let{listener:g,rawEmitter:y}=p,m=Vlt.get(s),k=m&&m.options;return k&&(k.persistent<f.persistent||k.interval>f.interval)&&(Vnn(s),m=void 0),m?(XQ(m,mz,g),XQ(m,zG,y)):(m={listeners:g,rawEmitters:y,options:f,watcher:bHn(s,f,(R,O)=>{Wlt(m.rawEmitters,G=>{G(O5.CHANGE,s,{curr:R,prev:O})});let J=R.mtimeMs;(R.size!==O.size||J>O.mtimeMs||J===0)&&Wlt(m.listeners,G=>G(c,R))})},Vlt.set(s,m)),()=>{KQ(m,mz,g),KQ(m,zG,y),Xnn(m.listeners)&&(Vlt.delete(s),Vnn(s),m.options=m.watcher=void 0,Object.freeze(m))}},JAe=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=XAe);let O;if(p.usePolling){let J=p.interval!==p.binaryInterval;R.interval=J&&EHn(y)?p.binaryInterval:p.interval,O=RHn(s,k,R,{listener:f,rawEmitter:this.fsw._emitRaw})}else O=AHn(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(J,G)=>{if(this.fsw._throttle(CHn,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),(MHn||xHn||SHn)&&k.ino!==K.ino){this.fsw._closeFile(J),k=K;let be=this._watchWithNodeFs(s,R);be&&this.fsw._addPathCloser(J,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 Glt(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,J=this.fsw._readdirp(s,{fileFilter:G=>p.filterPath(G),directoryFilter:G=>p.filterDir(G)});if(J)return J.on(kHn,async G=>{if(this.fsw.closed){J=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){J=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(!J)return K();J.once(qlt,()=>{if(this.fsw.closed){J=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)}),J=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 J,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,J),this.fsw.closed))return;G=this._watchWithNodeFs(s,(Q,Te)=>{Te&&Te.mtimeMs===0||this._handleRead(Q,!1,m,y,s,g,J)})}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 IHn[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,J;if(R.isDirectory()){let G=j1.resolve(s),K=O?await Glt(s):s;if(this.fsw.closed||(J=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 Glt(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),J=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 J=this._handleFile(k.watchPath,R,f);return m(),J&&this.fsw._addPathCloser(s,J),!1}catch(R){if(this.fsw._handleError(R))return m(),s}}};var Jlt="/",zHn="//",trn=".",NHn="..",BHn="string",jHn=/\\/g,Knn=/\/\//,HHn=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,UHn=/^\.[/\\]/;function YAe(c){return Array.isArray(c)?c:[c]}var Xlt=c=>typeof c=="object"&&c!==null&&!(c instanceof RegExp);function GHn(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 VHn(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=VHn(s);for(let g=0;g<c.length;g++){let y=c[g];if(y(p,f))return!0}return!1}function WHn(c,s){if(c==null)throw new TypeError("anymatch: specify first argument");let p=YAe(c).map(g=>GHn(g));return s==null?(g,y)=>Ynn(p,g,y):Ynn(p,s)}var $nn=c=>{let s=YAe(c).flat();if(!s.every(f=>typeof f===BHn))throw new TypeError(`Non-string provided as watch path: ${s}`);return s.map(nrn)},Qnn=c=>{let s=c.replace(jHn,Jlt),f=!1;for(s.startsWith(zHn)&&(f=!0);s.match(Knn);)s=s.replace(Knn,Jlt);return f&&(s=Jlt+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,qHn=(c,s)=>ha.isAbsolute(c)?c:ha.join(s,c),ZHn=Object.freeze(new Set),Klt=class{constructor(s,f){this.path=s,this._removeWatcher=f,this.items=new Set}add(s){let{items:f}=this;f&&s!==trn&&s!==NHn&&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 DHn(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=XAe,this.items=ZHn,Object.freeze(this)}},JHn="stat",XHn="lstat",Ylt=class{constructor(s,f,p){this.fsw=p;let g=s;this.path=s=s.replace(UHn,""),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?JHn:XHn}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)}},$Ae=class extends FHn{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?YAe(s.ignored):YAe([]),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=XAe,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 JAe(this),Object.freeze(g)}_addIgnoredPath(s){if(Xlt(s)){for(let f of this._ignoredPaths)if(Xlt(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)Xlt(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=>qHn(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;Zlt&&(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,J)=>{O?(s=mh.ERROR,y[0]=O,this.emitWithAll(s,y)):J&&(y.length>1?y[1]=J:y.push(J),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 OHn(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),J=O?O.count:0;return g.delete(f),clearTimeout(m),O&&clearTimeout(O.timeoutObject),J};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,J=this._pendingWrites;function G(K){_Hn(R,(Q,Te)=>{if(Q||!J.has(s)){Q&&Q.code!=="ENOENT"&&g(Q);return}let be=Number(new Date);K&&Te.size!==K.size&&(J.get(s).lastChange=be);let Ee=J.get(s);be-Ee.lastChange>=f?(J.delete(s),g(void 0,Te)):k=setTimeout(G,m,Te)})}J.has(s)||(J.set(s,{lastChange:O,cancelWait:()=>(J.delete(s),clearTimeout(k),p)}),k=setTimeout(G,m))}_isIgnored(s,f){if(this.options.atomic&&HHn.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=WHn(k,void 0)}return this._userIgnored(s,f)}_isntIgnored(s,f){return!this._isIgnored(s,f)}_getWatchHelpers(s){return new Ylt(s,this.options.followSymlinks,this)}_getWatchedDir(s){let f=ha.resolve(s);return this._watched.has(f)||this._watched.set(f,new Klt(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 J=g;if(this.options.cwd&&(J=ha.relative(this.options.cwd,g)),this.options.awaitWriteFinish&&this._pendingWrites.has(J)&&this._pendingWrites.get(J).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(qlt,()=>{g&&(this._streams.delete(g),g=void 0)}),g}};function KHn(c,s={}){let f=new $Ae(s);return f.add(c),f}var QAe={watch:KHn,FSWatcher:$Ae};async function rrn(c){let s;try{s=await pp(c._[0])}catch(y){return console.error(`\u2717 ${y instanceof Error?y.message:String(y)}`),1}let f=YHn.relative(process.cwd(),s)||s;await JQ(c)!==0&&console.error("Initial render failed; staying watchful for fixes."),console.log(`Watching ${f} (press Ctrl+C to stop)\u2026`);let g=QAe.watch(s,{ignoreInitial:!0});return g.on("change",()=>{(async()=>{let y=await JQ(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 $Hn,readdir as QHn}from"node:fs/promises";import irn from"node:path";var eUn=new Set(["service","function","worker","agent","frontend","gateway","tool","module"]),orn=["src","services","packages","apps"];async function tUn(c){let s=new Set;try{let f=await QHn(c,{withFileTypes:!0});for(let p of f)p.isDirectory()&&s.add(p.name)}catch{}return s}function nUn(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 pp(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=jhe(s),g;try{g=await $Hn(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=yp(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 tUn(irn.join(p,R));for(let J of O)m.add(J.toLowerCase())}let k=[];for(let R of y.nodes){if(!eUn.has(R.kind))continue;[R.id.toLowerCase(),...nUn(R.name)].some(J=>m.has(J))||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(`
|