archik 0.12.27 → 0.12.29

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.
@@ -501,7 +501,7 @@ ${d}
501
501
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let v of o.seen.entries()){let k=v[1];if(c===v[0]){b(v);continue}if(o.external){let N=o.external.registry.get(v[0])?.id;if(c!==v[0]&&N){b(v);continue}}if(o.metadataRegistry.get(v[0])?.id){b(v);continue}if(k.cycle){b(v);continue}if(k.count>1&&o.reused==="ref"){b(v);continue}}}function hL(o,c){let d=o.seen.get(c);if(!d)throw new Error("Unprocessed schema. This is a bug in Zod.");let g=v=>{let k=o.seen.get(v);if(k.ref===null)return;let T=k.def??k.schema,N={...T},j=k.ref;if(k.ref=null,j){g(j);let G=o.seen.get(j),K=G.schema;if(K.$ref&&(o.target==="draft-07"||o.target==="draft-04"||o.target==="openapi-3.0")?(T.allOf=T.allOf??[],T.allOf.push(K)):Object.assign(T,K),Object.assign(T,N),v._zod.parent===j)for(let ae in T)ae==="$ref"||ae==="allOf"||ae in N||delete T[ae];if(K.$ref&&G.def)for(let ae in T)ae==="$ref"||ae==="allOf"||ae in G.def&&JSON.stringify(T[ae])===JSON.stringify(G.def[ae])&&delete T[ae]}let B=v._zod.parent;if(B&&B!==j){g(B);let G=o.seen.get(B);if(G?.schema.$ref&&(T.$ref=G.schema.$ref,G.def))for(let K in T)K==="$ref"||K==="allOf"||K in G.def&&JSON.stringify(T[K])===JSON.stringify(G.def[K])&&delete T[K]}o.override({zodSchema:v,jsonSchema:T,path:k.path??[]})};for(let v of[...o.seen.entries()].reverse())g(v[0]);let f={};if(o.target==="draft-2020-12"?f.$schema="https://json-schema.org/draft/2020-12/schema":o.target==="draft-07"?f.$schema="http://json-schema.org/draft-07/schema#":o.target==="draft-04"?f.$schema="http://json-schema.org/draft-04/schema#":o.target,o.external?.uri){let v=o.external.registry.get(c)?.id;if(!v)throw new Error("Schema is missing an `id` property");f.$id=o.external.uri(v)}Object.assign(f,d.def??d.schema);let b=o.external?.defs??{};for(let v of o.seen.entries()){let k=v[1];k.def&&k.defId&&(b[k.defId]=k.def)}o.external||Object.keys(b).length>0&&(o.target==="draft-2020-12"?f.$defs=b:f.definitions=b);try{let v=JSON.parse(JSON.stringify(f));return Object.defineProperty(v,"~standard",{value:{...c["~standard"],jsonSchema:{input:wq(c,"input",o.processors),output:wq(c,"output",o.processors)}},enumerable:!1,writable:!1}),v}catch{throw new Error("Error converting schema to JSON.")}}function Jy(o,c){let d=c??{seen:new Set};if(d.seen.has(o))return!1;d.seen.add(o);let g=o._zod.def;if(g.type==="transform")return!0;if(g.type==="array")return Jy(g.element,d);if(g.type==="set")return Jy(g.valueType,d);if(g.type==="lazy")return Jy(g.getter(),d);if(g.type==="promise"||g.type==="optional"||g.type==="nonoptional"||g.type==="nullable"||g.type==="readonly"||g.type==="default"||g.type==="prefault")return Jy(g.innerType,d);if(g.type==="intersection")return Jy(g.left,d)||Jy(g.right,d);if(g.type==="record"||g.type==="map")return Jy(g.keyType,d)||Jy(g.valueType,d);if(g.type==="pipe")return Jy(g.in,d)||Jy(g.out,d);if(g.type==="object"){for(let f in g.shape)if(Jy(g.shape[f],d))return!0;return!1}if(g.type==="union"){for(let f of g.options)if(Jy(f,d))return!0;return!1}if(g.type==="tuple"){for(let f of g.items)if(Jy(f,d))return!0;return!!(g.rest&&Jy(g.rest,d))}return!1}var e1t=(o,c={})=>d=>{let g=uL({...d,processors:c});return nu(o,g),lL(g,o),hL(g,o)},wq=(o,c,d={})=>g=>{let{libraryOptions:f,target:b}=g??{},v=uL({...f??{},target:b,io:c,processors:d});return nu(o,v),lL(v,o),hL(v,o)};var FHn={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},t1t=(o,c,d,g)=>{let f=d;f.type="string";let{minimum:b,maximum:v,format:k,patterns:T,contentEncoding:N}=o._zod.bag;if(typeof b=="number"&&(f.minLength=b),typeof v=="number"&&(f.maxLength=v),k&&(f.format=FHn[k]??k,f.format===""&&delete f.format,k==="time"&&delete f.format),N&&(f.contentEncoding=N),T&&T.size>0){let j=[...T];j.length===1?f.pattern=j[0].source:j.length>1&&(f.allOf=[...j.map(B=>({...c.target==="draft-07"||c.target==="draft-04"||c.target==="openapi-3.0"?{type:"string"}:{},pattern:B.source}))])}},n1t=(o,c,d,g)=>{let f=d,{minimum:b,maximum:v,format:k,multipleOf:T,exclusiveMaximum:N,exclusiveMinimum:j}=o._zod.bag;typeof k=="string"&&k.includes("int")?f.type="integer":f.type="number",typeof j=="number"&&(c.target==="draft-04"||c.target==="openapi-3.0"?(f.minimum=j,f.exclusiveMinimum=!0):f.exclusiveMinimum=j),typeof b=="number"&&(f.minimum=b,typeof j=="number"&&c.target!=="draft-04"&&(j>=b?delete f.minimum:delete f.exclusiveMinimum)),typeof N=="number"&&(c.target==="draft-04"||c.target==="openapi-3.0"?(f.maximum=N,f.exclusiveMaximum=!0):f.exclusiveMaximum=N),typeof v=="number"&&(f.maximum=v,typeof N=="number"&&c.target!=="draft-04"&&(N<=v?delete f.maximum:delete f.exclusiveMaximum)),typeof T=="number"&&(f.multipleOf=T)},r1t=(o,c,d,g)=>{d.type="boolean"},i1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},o1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},c1t=(o,c,d,g)=>{c.target==="openapi-3.0"?(d.type="string",d.nullable=!0,d.enum=[null]):d.type="null"},a1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},s1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},u1t=(o,c,d,g)=>{d.not={}},l1t=(o,c,d,g)=>{},h1t=(o,c,d,g)=>{},d1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},f1t=(o,c,d,g)=>{let f=o._zod.def,b=qQ(f.entries);b.every(v=>typeof v=="number")&&(d.type="number"),b.every(v=>typeof v=="string")&&(d.type="string"),d.enum=b},p1t=(o,c,d,g)=>{let f=o._zod.def,b=[];for(let v of f.values)if(v===void 0){if(c.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof v=="bigint"){if(c.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");b.push(Number(v))}else b.push(v);if(b.length!==0)if(b.length===1){let v=b[0];d.type=v===null?"null":typeof v,c.target==="draft-04"||c.target==="openapi-3.0"?d.enum=[v]:d.const=v}else b.every(v=>typeof v=="number")&&(d.type="number"),b.every(v=>typeof v=="string")&&(d.type="string"),b.every(v=>typeof v=="boolean")&&(d.type="boolean"),b.every(v=>v===null)&&(d.type="null"),d.enum=b},g1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},y1t=(o,c,d,g)=>{let f=d,b=o._zod.pattern;if(!b)throw new Error("Pattern not found in template literal");f.type="string",f.pattern=b.source},b1t=(o,c,d,g)=>{let f=d,b={type:"string",format:"binary",contentEncoding:"binary"},{minimum:v,maximum:k,mime:T}=o._zod.bag;v!==void 0&&(b.minLength=v),k!==void 0&&(b.maxLength=k),T?T.length===1?(b.contentMediaType=T[0],Object.assign(f,b)):(Object.assign(f,b),f.anyOf=T.map(N=>({contentMediaType:N}))):Object.assign(f,b)},w1t=(o,c,d,g)=>{d.type="boolean"},m1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},v1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},k1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},M1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},x1t=(o,c,d,g)=>{if(c.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},S1t=(o,c,d,g)=>{let f=d,b=o._zod.def,{minimum:v,maximum:k}=o._zod.bag;typeof v=="number"&&(f.minItems=v),typeof k=="number"&&(f.maxItems=k),f.type="array",f.items=nu(b.element,c,{...g,path:[...g.path,"items"]})},_1t=(o,c,d,g)=>{let f=d,b=o._zod.def;f.type="object",f.properties={};let v=b.shape;for(let N in v)f.properties[N]=nu(v[N],c,{...g,path:[...g.path,"properties",N]});let k=new Set(Object.keys(v)),T=new Set([...k].filter(N=>{let j=b.shape[N]._zod;return c.io==="input"?j.optin===void 0:j.optout===void 0}));T.size>0&&(f.required=Array.from(T)),b.catchall?._zod.def.type==="never"?f.additionalProperties=!1:b.catchall?b.catchall&&(f.additionalProperties=nu(b.catchall,c,{...g,path:[...g.path,"additionalProperties"]})):c.io==="output"&&(f.additionalProperties=!1)},x2e=(o,c,d,g)=>{let f=o._zod.def,b=f.inclusive===!1,v=f.options.map((k,T)=>nu(k,c,{...g,path:[...g.path,b?"oneOf":"anyOf",T]}));b?d.oneOf=v:d.anyOf=v},C1t=(o,c,d,g)=>{let f=o._zod.def,b=nu(f.left,c,{...g,path:[...g.path,"allOf",0]}),v=nu(f.right,c,{...g,path:[...g.path,"allOf",1]}),k=N=>"allOf"in N&&Object.keys(N).length===1,T=[...k(b)?b.allOf:[b],...k(v)?v.allOf:[v]];d.allOf=T},I1t=(o,c,d,g)=>{let f=d,b=o._zod.def;f.type="array";let v=c.target==="draft-2020-12"?"prefixItems":"items",k=c.target==="draft-2020-12"||c.target==="openapi-3.0"?"items":"additionalItems",T=b.items.map((G,K)=>nu(G,c,{...g,path:[...g.path,v,K]})),N=b.rest?nu(b.rest,c,{...g,path:[...g.path,k,...c.target==="openapi-3.0"?[b.items.length]:[]]}):null;c.target==="draft-2020-12"?(f.prefixItems=T,N&&(f.items=N)):c.target==="openapi-3.0"?(f.items={anyOf:T},N&&f.items.anyOf.push(N),f.minItems=T.length,N||(f.maxItems=T.length)):(f.items=T,N&&(f.additionalItems=N));let{minimum:j,maximum:B}=o._zod.bag;typeof j=="number"&&(f.minItems=j),typeof B=="number"&&(f.maxItems=B)},L1t=(o,c,d,g)=>{let f=d,b=o._zod.def;f.type="object";let v=b.keyType,T=v._zod.bag?.patterns;if(b.mode==="loose"&&T&&T.size>0){let j=nu(b.valueType,c,{...g,path:[...g.path,"patternProperties","*"]});f.patternProperties={};for(let B of T)f.patternProperties[B.source]=j}else(c.target==="draft-07"||c.target==="draft-2020-12")&&(f.propertyNames=nu(b.keyType,c,{...g,path:[...g.path,"propertyNames"]})),f.additionalProperties=nu(b.valueType,c,{...g,path:[...g.path,"additionalProperties"]});let N=v._zod.values;if(N){let j=[...N].filter(B=>typeof B=="string"||typeof B=="number");j.length>0&&(f.required=j)}},E1t=(o,c,d,g)=>{let f=o._zod.def,b=nu(f.innerType,c,g),v=c.seen.get(o);c.target==="openapi-3.0"?(v.ref=f.innerType,d.nullable=!0):d.anyOf=[b,{type:"null"}]},T1t=(o,c,d,g)=>{let f=o._zod.def;nu(f.innerType,c,g);let b=c.seen.get(o);b.ref=f.innerType},A1t=(o,c,d,g)=>{let f=o._zod.def;nu(f.innerType,c,g);let b=c.seen.get(o);b.ref=f.innerType,d.default=JSON.parse(JSON.stringify(f.defaultValue))},P1t=(o,c,d,g)=>{let f=o._zod.def;nu(f.innerType,c,g);let b=c.seen.get(o);b.ref=f.innerType,c.io==="input"&&(d._prefault=JSON.parse(JSON.stringify(f.defaultValue)))},N1t=(o,c,d,g)=>{let f=o._zod.def;nu(f.innerType,c,g);let b=c.seen.get(o);b.ref=f.innerType;let v;try{v=f.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}d.default=v},R1t=(o,c,d,g)=>{let f=o._zod.def,b=c.io==="input"?f.in._zod.def.type==="transform"?f.out:f.in:f.out;nu(b,c,g);let v=c.seen.get(o);v.ref=b},D1t=(o,c,d,g)=>{let f=o._zod.def;nu(f.innerType,c,g);let b=c.seen.get(o);b.ref=f.innerType,d.readOnly=!0},O1t=(o,c,d,g)=>{let f=o._zod.def;nu(f.innerType,c,g);let b=c.seen.get(o);b.ref=f.innerType},S2e=(o,c,d,g)=>{let f=o._zod.def;nu(f.innerType,c,g);let b=c.seen.get(o);b.ref=f.innerType},F1t=(o,c,d,g)=>{let f=o._zod.innerType;nu(f,c,g);let b=c.seen.get(o);b.ref=f},M2e={string:t1t,number:n1t,boolean:r1t,bigint:i1t,symbol:o1t,null:c1t,undefined:a1t,void:s1t,never:u1t,any:l1t,unknown:h1t,date:d1t,enum:f1t,literal:p1t,nan:g1t,template_literal:y1t,file:b1t,success:w1t,custom:m1t,function:v1t,transform:k1t,map:M1t,set:x1t,array:S1t,object:_1t,union:x2e,intersection:C1t,tuple:I1t,record:L1t,nullable:E1t,nonoptional:T1t,default:A1t,prefault:P1t,catch:N1t,pipe:R1t,readonly:D1t,promise:O1t,optional:S2e,lazy:F1t};function _2e(o,c){if("_idmap"in o){let g=o,f=uL({...c,processors:M2e}),b={};for(let T of g._idmap.entries()){let[N,j]=T;nu(j,f)}let v={},k={registry:g,uri:c?.uri,defs:b};f.external=k;for(let T of g._idmap.entries()){let[N,j]=T;lL(f,j),v[N]=hL(f,j)}if(Object.keys(b).length>0){let T=f.target==="draft-2020-12"?"$defs":"definitions";v.__shared={[T]:b}}return{schemas:v}}let d=uL({...c,processors:M2e});return nu(o,d),lL(d,o),hL(d,o)}var C2e=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(c){this.ctx.counter=c}get seen(){return this.ctx.seen}constructor(c){let d=c?.target??"draft-2020-12";d==="draft-4"&&(d="draft-04"),d==="draft-7"&&(d="draft-07"),this.ctx=uL({processors:M2e,target:d,...c?.metadata&&{metadata:c.metadata},...c?.unrepresentable&&{unrepresentable:c.unrepresentable},...c?.override&&{override:c.override},...c?.io&&{io:c.io}})}process(c,d={path:[],schemaPath:[]}){return nu(c,this.ctx,d)}emit(c,d){d&&(d.cycles&&(this.ctx.cycles=d.cycles),d.reused&&(this.ctx.reused=d.reused),d.external&&(this.ctx.external=d.external)),lL(this.ctx,c);let g=hL(this.ctx,c),{"~standard":f,...b}=g;return b}};var Utn={};var see={};Bx(see,{ZodAny:()=>aht,ZodArray:()=>hht,ZodBase64:()=>W2e,ZodBase64URL:()=>J2e,ZodBigInt:()=>_q,ZodBigIntFormat:()=>K2e,ZodBoolean:()=>Sq,ZodCIDRv4:()=>G2e,ZodCIDRv6:()=>V2e,ZodCUID:()=>z2e,ZodCUID2:()=>j2e,ZodCatch:()=>Nht,ZodCodec:()=>ope,ZodCustom:()=>mee,ZodCustomStringFormat:()=>Mq,ZodDate:()=>pee,ZodDefault:()=>Iht,ZodDiscriminatedUnion:()=>fht,ZodE164:()=>Z2e,ZodEmail:()=>D2e,ZodEmoji:()=>O2e,ZodEnum:()=>vq,ZodExactOptional:()=>Sht,ZodFile:()=>Mht,ZodFunction:()=>$ht,ZodGUID:()=>uee,ZodIPv4:()=>U2e,ZodIPv6:()=>q2e,ZodIntersection:()=>pht,ZodJWT:()=>X2e,ZodKSUID:()=>$2e,ZodLazy:()=>jht,ZodLiteral:()=>kht,ZodMAC:()=>eht,ZodMap:()=>mht,ZodNaN:()=>Dht,ZodNanoID:()=>F2e,ZodNever:()=>uht,ZodNonOptional:()=>rpe,ZodNull:()=>oht,ZodNullable:()=>Cht,ZodNumber:()=>xq,ZodNumberFormat:()=>hR,ZodObject:()=>yee,ZodOptional:()=>npe,ZodPipe:()=>ipe,ZodPrefault:()=>Eht,ZodPromise:()=>Hht,ZodReadonly:()=>Oht,ZodRecord:()=>wee,ZodSet:()=>vht,ZodString:()=>kq,ZodStringFormat:()=>Ku,ZodSuccess:()=>Pht,ZodSymbol:()=>rht,ZodTemplateLiteral:()=>zht,ZodTransform:()=>xht,ZodTuple:()=>yht,ZodType:()=>bc,ZodULID:()=>B2e,ZodURL:()=>fee,ZodUUID:()=>I9,ZodUndefined:()=>iht,ZodUnion:()=>bee,ZodUnknown:()=>sht,ZodVoid:()=>lht,ZodXID:()=>H2e,ZodXor:()=>dht,_ZodString:()=>R2e,_default:()=>Lht,_function:()=>Xnn,any:()=>Lnn,array:()=>gee,base64:()=>hnn,base64url:()=>dnn,bigint:()=>xnn,boolean:()=>nht,catch:()=>Rht,check:()=>Knn,cidrv4:()=>unn,cidrv6:()=>lnn,codec:()=>Wnn,cuid:()=>tnn,cuid2:()=>nnn,custom:()=>Ynn,date:()=>Tnn,describe:()=>Qnn,discriminatedUnion:()=>Onn,e164:()=>fnn,email:()=>Gtn,emoji:()=>Qtn,enum:()=>epe,exactOptional:()=>_ht,file:()=>Unn,float32:()=>mnn,float64:()=>vnn,function:()=>Xnn,guid:()=>Vtn,hash:()=>wnn,hex:()=>bnn,hostname:()=>ynn,httpUrl:()=>Ytn,instanceof:()=>trn,int:()=>N2e,int32:()=>knn,int64:()=>Snn,intersection:()=>ght,ipv4:()=>cnn,ipv6:()=>snn,json:()=>rrn,jwt:()=>pnn,keyof:()=>Ann,ksuid:()=>onn,lazy:()=>Bht,literal:()=>$nn,looseObject:()=>Rnn,looseRecord:()=>znn,mac:()=>ann,map:()=>jnn,meta:()=>ern,nan:()=>Vnn,nanoid:()=>enn,nativeEnum:()=>Hnn,never:()=>Y2e,nonoptional:()=>Aht,null:()=>cht,nullable:()=>hee,nullish:()=>qnn,number:()=>tht,object:()=>Pnn,optional:()=>lee,partialRecord:()=>Fnn,pipe:()=>dee,prefault:()=>Tht,preprocess:()=>irn,promise:()=>Znn,readonly:()=>Fht,record:()=>wht,refine:()=>Uht,set:()=>Bnn,strictObject:()=>Nnn,string:()=>P2e,stringFormat:()=>gnn,stringbool:()=>nrn,success:()=>Gnn,superRefine:()=>qht,symbol:()=>Cnn,templateLiteral:()=>Jnn,transform:()=>tpe,tuple:()=>bht,uint32:()=>Mnn,uint64:()=>_nn,ulid:()=>rnn,undefined:()=>Inn,union:()=>Q2e,unknown:()=>lR,url:()=>Ktn,uuid:()=>Wtn,uuidv4:()=>Jtn,uuidv6:()=>Ztn,uuidv7:()=>Xtn,void:()=>Enn,xid:()=>inn,xor:()=>Dnn});var I2e={};Bx(I2e,{endsWith:()=>lq,gt:()=>_9,gte:()=>Wy,includes:()=>sq,length:()=>uR,lowercase:()=>cq,lt:()=>S9,lte:()=>yv,maxLength:()=>sR,maxSize:()=>sL,mime:()=>hq,minLength:()=>Wx,minSize:()=>C9,multipleOf:()=>aL,negative:()=>w2e,nonnegative:()=>v2e,nonpositive:()=>m2e,normalize:()=>dq,overwrite:()=>W5,positive:()=>b2e,property:()=>k2e,regex:()=>oq,size:()=>aR,slugify:()=>yq,startsWith:()=>uq,toLowerCase:()=>pq,toUpperCase:()=>gq,trim:()=>fq,uppercase:()=>aq});var mq={};Bx(mq,{ZodISODate:()=>E2e,ZodISODateTime:()=>L2e,ZodISODuration:()=>A2e,ZodISOTime:()=>T2e,date:()=>j1t,datetime:()=>z1t,duration:()=>H1t,time:()=>B1t});var L2e=kt("ZodISODateTime",(o,c)=>{gut.init(o,c),Ku.init(o,c)});function z1t(o){return mlt(L2e,o)}var E2e=kt("ZodISODate",(o,c)=>{yut.init(o,c),Ku.init(o,c)});function j1t(o){return vlt(E2e,o)}var T2e=kt("ZodISOTime",(o,c)=>{but.init(o,c),Ku.init(o,c)});function B1t(o){return klt(T2e,o)}var A2e=kt("ZodISODuration",(o,c)=>{wut.init(o,c),Ku.init(o,c)});function H1t(o){return Mlt(A2e,o)}var qtn=(o,c)=>{ZQ.init(o,c),o.name="ZodError",Object.defineProperties(o,{format:{value:d=>KQ(o,d)},flatten:{value:d=>XQ(o,d)},addIssue:{value:d=>{o.issues.push(d),o.message=JSON.stringify(o.issues,XU,2)}},addIssues:{value:d=>{o.issues.push(...d),o.message=JSON.stringify(o.issues,XU,2)}},isEmpty:{get(){return o.issues.length===0}}})},jHn=kt("ZodError",qtn),Dw=kt("ZodError",qtn,{Parent:Error});var $1t=QU(Dw),U1t=eq(Dw),q1t=tq(Dw),G1t=nq(Dw),V1t=_0e(Dw),W1t=C0e(Dw),J1t=I0e(Dw),Z1t=L0e(Dw),X1t=E0e(Dw),K1t=T0e(Dw),Y1t=A0e(Dw),Q1t=P0e(Dw);var bc=kt("ZodType",(o,c)=>(Bo.init(o,c),Object.assign(o["~standard"],{jsonSchema:{input:wq(o,"input"),output:wq(o,"output")}}),o.toJSONSchema=e1t(o,{}),o.def=c,o.type=c.type,Object.defineProperty(o,"_def",{value:c}),o.check=(...d)=>o.clone(ur.mergeDefs(c,{checks:[...c.checks??[],...d.map(g=>typeof g=="function"?{_zod:{check:g,def:{check:"custom"},onattach:[]}}:g)]}),{parent:!0}),o.with=o.check,o.clone=(d,g)=>Vy(o,d,g),o.brand=()=>o,o.register=((d,g)=>(d.add(o,g),o)),o.parse=(d,g)=>$1t(o,d,g,{callee:o.parse}),o.safeParse=(d,g)=>q1t(o,d,g),o.parseAsync=async(d,g)=>U1t(o,d,g,{callee:o.parseAsync}),o.safeParseAsync=async(d,g)=>G1t(o,d,g),o.spa=o.safeParseAsync,o.encode=(d,g)=>V1t(o,d,g),o.decode=(d,g)=>W1t(o,d,g),o.encodeAsync=async(d,g)=>J1t(o,d,g),o.decodeAsync=async(d,g)=>Z1t(o,d,g),o.safeEncode=(d,g)=>X1t(o,d,g),o.safeDecode=(d,g)=>K1t(o,d,g),o.safeEncodeAsync=async(d,g)=>Y1t(o,d,g),o.safeDecodeAsync=async(d,g)=>Q1t(o,d,g),o.refine=(d,g)=>o.check(Uht(d,g)),o.superRefine=d=>o.check(qht(d)),o.overwrite=d=>o.check(W5(d)),o.optional=()=>lee(o),o.exactOptional=()=>_ht(o),o.nullable=()=>hee(o),o.nullish=()=>lee(hee(o)),o.nonoptional=d=>Aht(o,d),o.array=()=>gee(o),o.or=d=>Q2e([o,d]),o.and=d=>ght(o,d),o.transform=d=>dee(o,tpe(d)),o.default=d=>Lht(o,d),o.prefault=d=>Tht(o,d),o.catch=d=>Rht(o,d),o.pipe=d=>dee(o,d),o.readonly=()=>Fht(o),o.describe=d=>{let g=o.clone();return Ip.add(g,{description:d}),g},Object.defineProperty(o,"description",{get(){return Ip.get(o)?.description},configurable:!0}),o.meta=(...d)=>{if(d.length===0)return Ip.get(o);let g=o.clone();return Ip.add(g,d[0]),g},o.isOptional=()=>o.safeParse(void 0).success,o.isNullable=()=>o.safeParse(null).success,o.apply=d=>d(o),o)),R2e=kt("_ZodString",(o,c)=>{cR.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(g,f,b)=>t1t(o,g,f,b);let d=o._zod.bag;o.format=d.format??null,o.minLength=d.minimum??null,o.maxLength=d.maximum??null,o.regex=(...g)=>o.check(oq(...g)),o.includes=(...g)=>o.check(sq(...g)),o.startsWith=(...g)=>o.check(uq(...g)),o.endsWith=(...g)=>o.check(lq(...g)),o.min=(...g)=>o.check(Wx(...g)),o.max=(...g)=>o.check(sR(...g)),o.length=(...g)=>o.check(uR(...g)),o.nonempty=(...g)=>o.check(Wx(1,...g)),o.lowercase=g=>o.check(cq(g)),o.uppercase=g=>o.check(aq(g)),o.trim=()=>o.check(fq()),o.normalize=(...g)=>o.check(dq(...g)),o.toLowerCase=()=>o.check(pq()),o.toUpperCase=()=>o.check(gq()),o.slugify=()=>o.check(yq())}),kq=kt("ZodString",(o,c)=>{cR.init(o,c),R2e.init(o,c),o.email=d=>o.check(K0e(D2e,d)),o.url=d=>o.check(aee(fee,d)),o.jwt=d=>o.check(y2e(X2e,d)),o.emoji=d=>o.check(n2e(O2e,d)),o.guid=d=>o.check(cee(uee,d)),o.uuid=d=>o.check(Y0e(I9,d)),o.uuidv4=d=>o.check(Q0e(I9,d)),o.uuidv6=d=>o.check(e2e(I9,d)),o.uuidv7=d=>o.check(t2e(I9,d)),o.nanoid=d=>o.check(r2e(F2e,d)),o.guid=d=>o.check(cee(uee,d)),o.cuid=d=>o.check(i2e(z2e,d)),o.cuid2=d=>o.check(o2e(j2e,d)),o.ulid=d=>o.check(c2e(B2e,d)),o.base64=d=>o.check(f2e(W2e,d)),o.base64url=d=>o.check(p2e(J2e,d)),o.xid=d=>o.check(a2e(H2e,d)),o.ksuid=d=>o.check(s2e($2e,d)),o.ipv4=d=>o.check(u2e(U2e,d)),o.ipv6=d=>o.check(l2e(q2e,d)),o.cidrv4=d=>o.check(h2e(G2e,d)),o.cidrv6=d=>o.check(d2e(V2e,d)),o.e164=d=>o.check(g2e(Z2e,d)),o.datetime=d=>o.check(z1t(d)),o.date=d=>o.check(j1t(d)),o.time=d=>o.check(B1t(d)),o.duration=d=>o.check(H1t(d))});function P2e(o){return glt(kq,o)}var Ku=kt("ZodStringFormat",(o,c)=>{Xu.init(o,c),R2e.init(o,c)}),D2e=kt("ZodEmail",(o,c)=>{cut.init(o,c),Ku.init(o,c)});function Gtn(o){return K0e(D2e,o)}var uee=kt("ZodGUID",(o,c)=>{iut.init(o,c),Ku.init(o,c)});function Vtn(o){return cee(uee,o)}var I9=kt("ZodUUID",(o,c)=>{out.init(o,c),Ku.init(o,c)});function Wtn(o){return Y0e(I9,o)}function Jtn(o){return Q0e(I9,o)}function Ztn(o){return e2e(I9,o)}function Xtn(o){return t2e(I9,o)}var fee=kt("ZodURL",(o,c)=>{aut.init(o,c),Ku.init(o,c)});function Ktn(o){return aee(fee,o)}function Ytn(o){return aee(fee,{protocol:/^https?$/,hostname:p3.domain,...ur.normalizeParams(o)})}var O2e=kt("ZodEmoji",(o,c)=>{sut.init(o,c),Ku.init(o,c)});function Qtn(o){return n2e(O2e,o)}var F2e=kt("ZodNanoID",(o,c)=>{uut.init(o,c),Ku.init(o,c)});function enn(o){return r2e(F2e,o)}var z2e=kt("ZodCUID",(o,c)=>{lut.init(o,c),Ku.init(o,c)});function tnn(o){return i2e(z2e,o)}var j2e=kt("ZodCUID2",(o,c)=>{hut.init(o,c),Ku.init(o,c)});function nnn(o){return o2e(j2e,o)}var B2e=kt("ZodULID",(o,c)=>{dut.init(o,c),Ku.init(o,c)});function rnn(o){return c2e(B2e,o)}var H2e=kt("ZodXID",(o,c)=>{fut.init(o,c),Ku.init(o,c)});function inn(o){return a2e(H2e,o)}var $2e=kt("ZodKSUID",(o,c)=>{put.init(o,c),Ku.init(o,c)});function onn(o){return s2e($2e,o)}var U2e=kt("ZodIPv4",(o,c)=>{mut.init(o,c),Ku.init(o,c)});function cnn(o){return u2e(U2e,o)}var eht=kt("ZodMAC",(o,c)=>{kut.init(o,c),Ku.init(o,c)});function ann(o){return blt(eht,o)}var q2e=kt("ZodIPv6",(o,c)=>{vut.init(o,c),Ku.init(o,c)});function snn(o){return l2e(q2e,o)}var G2e=kt("ZodCIDRv4",(o,c)=>{Mut.init(o,c),Ku.init(o,c)});function unn(o){return h2e(G2e,o)}var V2e=kt("ZodCIDRv6",(o,c)=>{xut.init(o,c),Ku.init(o,c)});function lnn(o){return d2e(V2e,o)}var W2e=kt("ZodBase64",(o,c)=>{_ut.init(o,c),Ku.init(o,c)});function hnn(o){return f2e(W2e,o)}var J2e=kt("ZodBase64URL",(o,c)=>{Cut.init(o,c),Ku.init(o,c)});function dnn(o){return p2e(J2e,o)}var Z2e=kt("ZodE164",(o,c)=>{Iut.init(o,c),Ku.init(o,c)});function fnn(o){return g2e(Z2e,o)}var X2e=kt("ZodJWT",(o,c)=>{Lut.init(o,c),Ku.init(o,c)});function pnn(o){return y2e(X2e,o)}var Mq=kt("ZodCustomStringFormat",(o,c)=>{Eut.init(o,c),Ku.init(o,c)});function gnn(o,c,d={}){return bq(Mq,o,c,d)}function ynn(o){return bq(Mq,"hostname",p3.hostname,o)}function bnn(o){return bq(Mq,"hex",p3.hex,o)}function wnn(o,c){let d=c?.enc??"hex",g=`${o}_${d}`,f=p3[g];if(!f)throw new Error(`Unrecognized hash format: ${g}`);return bq(Mq,g,f,c)}var xq=kt("ZodNumber",(o,c)=>{$0e.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(g,f,b)=>n1t(o,g,f,b),o.gt=(g,f)=>o.check(_9(g,f)),o.gte=(g,f)=>o.check(Wy(g,f)),o.min=(g,f)=>o.check(Wy(g,f)),o.lt=(g,f)=>o.check(S9(g,f)),o.lte=(g,f)=>o.check(yv(g,f)),o.max=(g,f)=>o.check(yv(g,f)),o.int=g=>o.check(N2e(g)),o.safe=g=>o.check(N2e(g)),o.positive=g=>o.check(_9(0,g)),o.nonnegative=g=>o.check(Wy(0,g)),o.negative=g=>o.check(S9(0,g)),o.nonpositive=g=>o.check(yv(0,g)),o.multipleOf=(g,f)=>o.check(aL(g,f)),o.step=(g,f)=>o.check(aL(g,f)),o.finite=()=>o;let d=o._zod.bag;o.minValue=Math.max(d.minimum??Number.NEGATIVE_INFINITY,d.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,o.maxValue=Math.min(d.maximum??Number.POSITIVE_INFINITY,d.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,o.isInt=(d.format??"").includes("int")||Number.isSafeInteger(d.multipleOf??.5),o.isFinite=!0,o.format=d.format??null});function tht(o){return xlt(xq,o)}var hR=kt("ZodNumberFormat",(o,c)=>{Tut.init(o,c),xq.init(o,c)});function N2e(o){return _lt(hR,o)}function mnn(o){return Clt(hR,o)}function vnn(o){return Ilt(hR,o)}function knn(o){return Llt(hR,o)}function Mnn(o){return Elt(hR,o)}var Sq=kt("ZodBoolean",(o,c)=>{tee.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>r1t(o,d,g,f)});function nht(o){return Tlt(Sq,o)}var _q=kt("ZodBigInt",(o,c)=>{U0e.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(g,f,b)=>i1t(o,g,f,b),o.gte=(g,f)=>o.check(Wy(g,f)),o.min=(g,f)=>o.check(Wy(g,f)),o.gt=(g,f)=>o.check(_9(g,f)),o.gte=(g,f)=>o.check(Wy(g,f)),o.min=(g,f)=>o.check(Wy(g,f)),o.lt=(g,f)=>o.check(S9(g,f)),o.lte=(g,f)=>o.check(yv(g,f)),o.max=(g,f)=>o.check(yv(g,f)),o.positive=g=>o.check(_9(BigInt(0),g)),o.negative=g=>o.check(S9(BigInt(0),g)),o.nonpositive=g=>o.check(yv(BigInt(0),g)),o.nonnegative=g=>o.check(Wy(BigInt(0),g)),o.multipleOf=(g,f)=>o.check(aL(g,f));let d=o._zod.bag;o.minValue=d.minimum??null,o.maxValue=d.maximum??null,o.format=d.format??null});function xnn(o){return Plt(_q,o)}var K2e=kt("ZodBigIntFormat",(o,c)=>{Aut.init(o,c),_q.init(o,c)});function Snn(o){return Rlt(K2e,o)}function _nn(o){return Dlt(K2e,o)}var rht=kt("ZodSymbol",(o,c)=>{Put.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>o1t(o,d,g,f)});function Cnn(o){return Olt(rht,o)}var iht=kt("ZodUndefined",(o,c)=>{Nut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>a1t(o,d,g,f)});function Inn(o){return Flt(iht,o)}var oht=kt("ZodNull",(o,c)=>{Rut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>c1t(o,d,g,f)});function cht(o){return zlt(oht,o)}var aht=kt("ZodAny",(o,c)=>{Dut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>l1t(o,d,g,f)});function Lnn(){return jlt(aht)}var sht=kt("ZodUnknown",(o,c)=>{Out.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>h1t(o,d,g,f)});function lR(){return Blt(sht)}var uht=kt("ZodNever",(o,c)=>{Fut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>u1t(o,d,g,f)});function Y2e(o){return Hlt(uht,o)}var lht=kt("ZodVoid",(o,c)=>{zut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>s1t(o,d,g,f)});function Enn(o){return $lt(lht,o)}var pee=kt("ZodDate",(o,c)=>{jut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(g,f,b)=>d1t(o,g,f,b),o.min=(g,f)=>o.check(Wy(g,f)),o.max=(g,f)=>o.check(yv(g,f));let d=o._zod.bag;o.minDate=d.minimum?new Date(d.minimum):null,o.maxDate=d.maximum?new Date(d.maximum):null});function Tnn(o){return Ult(pee,o)}var hht=kt("ZodArray",(o,c)=>{But.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>S1t(o,d,g,f),o.element=c.element,o.min=(d,g)=>o.check(Wx(d,g)),o.nonempty=d=>o.check(Wx(1,d)),o.max=(d,g)=>o.check(sR(d,g)),o.length=(d,g)=>o.check(uR(d,g)),o.unwrap=()=>o.element});function gee(o,c){return Vlt(hht,o,c)}function Ann(o){let c=o._zod.def.shape;return epe(Object.keys(c))}var yee=kt("ZodObject",(o,c)=>{Hut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>_1t(o,d,g,f),ur.defineLazy(o,"shape",()=>c.shape),o.keyof=()=>epe(Object.keys(o._zod.def.shape)),o.catchall=d=>o.clone({...o._zod.def,catchall:d}),o.passthrough=()=>o.clone({...o._zod.def,catchall:lR()}),o.loose=()=>o.clone({...o._zod.def,catchall:lR()}),o.strict=()=>o.clone({...o._zod.def,catchall:Y2e()}),o.strip=()=>o.clone({...o._zod.def,catchall:void 0}),o.extend=d=>ur.extend(o,d),o.safeExtend=d=>ur.safeExtend(o,d),o.merge=d=>ur.merge(o,d),o.pick=d=>ur.pick(o,d),o.omit=d=>ur.omit(o,d),o.partial=(...d)=>ur.partial(npe,o,d[0]),o.required=(...d)=>ur.required(rpe,o,d[0])});function Pnn(o,c){let d={type:"object",shape:o??{},...ur.normalizeParams(c)};return new yee(d)}function Nnn(o,c){return new yee({type:"object",shape:o,catchall:Y2e(),...ur.normalizeParams(c)})}function Rnn(o,c){return new yee({type:"object",shape:o,catchall:lR(),...ur.normalizeParams(c)})}var bee=kt("ZodUnion",(o,c)=>{nee.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>x2e(o,d,g,f),o.options=c.options});function Q2e(o,c){return new bee({type:"union",options:o,...ur.normalizeParams(c)})}var dht=kt("ZodXor",(o,c)=>{bee.init(o,c),$ut.init(o,c),o._zod.processJSONSchema=(d,g,f)=>x2e(o,d,g,f),o.options=c.options});function Dnn(o,c){return new dht({type:"union",options:o,inclusive:!1,...ur.normalizeParams(c)})}var fht=kt("ZodDiscriminatedUnion",(o,c)=>{bee.init(o,c),Uut.init(o,c)});function Onn(o,c,d){return new fht({type:"union",options:c,discriminator:o,...ur.normalizeParams(d)})}var pht=kt("ZodIntersection",(o,c)=>{qut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>C1t(o,d,g,f)});function ght(o,c){return new pht({type:"intersection",left:o,right:c})}var yht=kt("ZodTuple",(o,c)=>{q0e.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>I1t(o,d,g,f),o.rest=d=>o.clone({...o._zod.def,rest:d})});function bht(o,c,d){let g=c instanceof Bo,f=g?d:c,b=g?c:null;return new yht({type:"tuple",items:o,rest:b,...ur.normalizeParams(f)})}var wee=kt("ZodRecord",(o,c)=>{Gut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>L1t(o,d,g,f),o.keyType=c.keyType,o.valueType=c.valueType});function wht(o,c,d){return new wee({type:"record",keyType:o,valueType:c,...ur.normalizeParams(d)})}function Fnn(o,c,d){let g=Vy(o);return g._zod.values=void 0,new wee({type:"record",keyType:g,valueType:c,...ur.normalizeParams(d)})}function znn(o,c,d){return new wee({type:"record",keyType:o,valueType:c,mode:"loose",...ur.normalizeParams(d)})}var mht=kt("ZodMap",(o,c)=>{Vut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>M1t(o,d,g,f),o.keyType=c.keyType,o.valueType=c.valueType,o.min=(...d)=>o.check(C9(...d)),o.nonempty=d=>o.check(C9(1,d)),o.max=(...d)=>o.check(sL(...d)),o.size=(...d)=>o.check(aR(...d))});function jnn(o,c,d){return new mht({type:"map",keyType:o,valueType:c,...ur.normalizeParams(d)})}var vht=kt("ZodSet",(o,c)=>{Wut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>x1t(o,d,g,f),o.min=(...d)=>o.check(C9(...d)),o.nonempty=d=>o.check(C9(1,d)),o.max=(...d)=>o.check(sL(...d)),o.size=(...d)=>o.check(aR(...d))});function Bnn(o,c){return new vht({type:"set",valueType:o,...ur.normalizeParams(c)})}var vq=kt("ZodEnum",(o,c)=>{Jut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(g,f,b)=>f1t(o,g,f,b),o.enum=c.entries,o.options=Object.values(c.entries);let d=new Set(Object.keys(c.entries));o.extract=(g,f)=>{let b={};for(let v of g)if(d.has(v))b[v]=c.entries[v];else throw new Error(`Key ${v} not found in enum`);return new vq({...c,checks:[],...ur.normalizeParams(f),entries:b})},o.exclude=(g,f)=>{let b={...c.entries};for(let v of g)if(d.has(v))delete b[v];else throw new Error(`Key ${v} not found in enum`);return new vq({...c,checks:[],...ur.normalizeParams(f),entries:b})}});function epe(o,c){let d=Array.isArray(o)?Object.fromEntries(o.map(g=>[g,g])):o;return new vq({type:"enum",entries:d,...ur.normalizeParams(c)})}function Hnn(o,c){return new vq({type:"enum",entries:o,...ur.normalizeParams(c)})}var kht=kt("ZodLiteral",(o,c)=>{Zut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>p1t(o,d,g,f),o.values=new Set(c.values),Object.defineProperty(o,"value",{get(){if(c.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return c.values[0]}})});function $nn(o,c){return new kht({type:"literal",values:Array.isArray(o)?o:[o],...ur.normalizeParams(c)})}var Mht=kt("ZodFile",(o,c)=>{Xut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>b1t(o,d,g,f),o.min=(d,g)=>o.check(C9(d,g)),o.max=(d,g)=>o.check(sL(d,g)),o.mime=(d,g)=>o.check(hq(Array.isArray(d)?d:[d],g))});function Unn(o){return Wlt(Mht,o)}var xht=kt("ZodTransform",(o,c)=>{Kut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>k1t(o,d,g,f),o._zod.parse=(d,g)=>{if(g.direction==="backward")throw new nL(o.constructor.name);d.addIssue=b=>{if(typeof b=="string")d.issues.push(ur.issue(b,d.value,c));else{let v=b;v.fatal&&(v.continue=!1),v.code??(v.code="custom"),v.input??(v.input=d.value),v.inst??(v.inst=o),d.issues.push(ur.issue(v))}};let f=c.transform(d.value,d);return f instanceof Promise?f.then(b=>(d.value=b,d)):(d.value=f,d)}});function tpe(o){return new xht({type:"transform",transform:o})}var npe=kt("ZodOptional",(o,c)=>{G0e.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>S2e(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function lee(o){return new npe({type:"optional",innerType:o})}var Sht=kt("ZodExactOptional",(o,c)=>{Yut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>S2e(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function _ht(o){return new Sht({type:"optional",innerType:o})}var Cht=kt("ZodNullable",(o,c)=>{Qut.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>E1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function hee(o){return new Cht({type:"nullable",innerType:o})}function qnn(o){return lee(hee(o))}var Iht=kt("ZodDefault",(o,c)=>{elt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>A1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType,o.removeDefault=o.unwrap});function Lht(o,c){return new Iht({type:"default",innerType:o,get defaultValue(){return typeof c=="function"?c():ur.shallowClone(c)}})}var Eht=kt("ZodPrefault",(o,c)=>{tlt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>P1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function Tht(o,c){return new Eht({type:"prefault",innerType:o,get defaultValue(){return typeof c=="function"?c():ur.shallowClone(c)}})}var rpe=kt("ZodNonOptional",(o,c)=>{nlt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>T1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function Aht(o,c){return new rpe({type:"nonoptional",innerType:o,...ur.normalizeParams(c)})}var Pht=kt("ZodSuccess",(o,c)=>{rlt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>w1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function Gnn(o){return new Pht({type:"success",innerType:o})}var Nht=kt("ZodCatch",(o,c)=>{ilt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>N1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType,o.removeCatch=o.unwrap});function Rht(o,c){return new Nht({type:"catch",innerType:o,catchValue:typeof c=="function"?c:()=>c})}var Dht=kt("ZodNaN",(o,c)=>{olt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>g1t(o,d,g,f)});function Vnn(o){return Glt(Dht,o)}var ipe=kt("ZodPipe",(o,c)=>{clt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>R1t(o,d,g,f),o.in=c.in,o.out=c.out});function dee(o,c){return new ipe({type:"pipe",in:o,out:c})}var ope=kt("ZodCodec",(o,c)=>{ipe.init(o,c),ree.init(o,c)});function Wnn(o,c,d){return new ope({type:"pipe",in:o,out:c,transform:d.decode,reverseTransform:d.encode})}var Oht=kt("ZodReadonly",(o,c)=>{alt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>D1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function Fht(o){return new Oht({type:"readonly",innerType:o})}var zht=kt("ZodTemplateLiteral",(o,c)=>{slt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>y1t(o,d,g,f)});function Jnn(o,c){return new zht({type:"template_literal",parts:o,...ur.normalizeParams(c)})}var jht=kt("ZodLazy",(o,c)=>{hlt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>F1t(o,d,g,f),o.unwrap=()=>o._zod.def.getter()});function Bht(o){return new jht({type:"lazy",getter:o})}var Hht=kt("ZodPromise",(o,c)=>{llt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>O1t(o,d,g,f),o.unwrap=()=>o._zod.def.innerType});function Znn(o){return new Hht({type:"promise",innerType:o})}var $ht=kt("ZodFunction",(o,c)=>{ult.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>v1t(o,d,g,f)});function Xnn(o){return new $ht({type:"function",input:Array.isArray(o?.input)?bht(o?.input):o?.input??gee(lR()),output:o?.output??lR()})}var mee=kt("ZodCustom",(o,c)=>{dlt.init(o,c),bc.init(o,c),o._zod.processJSONSchema=(d,g,f)=>m1t(o,d,g,f)});function Knn(o){let c=new pl({check:"custom"});return c._zod.check=o,c}function Ynn(o,c){return Jlt(mee,o??(()=>!0),c)}function Uht(o,c={}){return Zlt(mee,o,c)}function qht(o){return Xlt(o)}var Qnn=Klt,ern=Ylt;function trn(o,c={}){let d=new mee({type:"custom",check:"custom",fn:g=>g instanceof o,abort:!0,...ur.normalizeParams(c)});return d._zod.bag.Class=o,d._zod.check=g=>{g.value instanceof o||g.issues.push({code:"invalid_type",expected:o.name,input:g.value,inst:d,path:[...d._zod.def.path??[]]})},d}var nrn=(...o)=>Qlt({Codec:ope,Boolean:Sq,String:kq},...o);function rrn(o){let c=Bht(()=>Q2e([P2e(o),tht(),nht(),cht(),gee(c),wht(P2e(),c)]));return c}function irn(o,c){return dee(tpe(o),c)}var HHn={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 $Hn(o){dd({customError:o})}function UHn(){return dd().customError}var Ght;Ght||(Ght={});var jr={...see,...I2e,iso:mq},qHn=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 GHn(o,c){let d=o.$schema;return d==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":d==="http://json-schema.org/draft-07/schema#"?"draft-7":d==="http://json-schema.org/draft-04/schema#"?"draft-4":c??"draft-2020-12"}function VHn(o,c){if(!o.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let d=o.slice(1).split("/").filter(Boolean);if(d.length===0)return c.rootSchema;let g=c.version==="draft-2020-12"?"$defs":"definitions";if(d[0]===g){let f=d[1];if(!f||!c.defs[f])throw new Error(`Reference not found: ${o}`);return c.defs[f]}throw new Error(`Reference not found: ${o}`)}function orn(o,c){if(o.not!==void 0){if(typeof o.not=="object"&&Object.keys(o.not).length===0)return jr.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(o.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(o.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(o.if!==void 0||o.then!==void 0||o.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(o.dependentSchemas!==void 0||o.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(o.$ref){let f=o.$ref;if(c.refs.has(f))return c.refs.get(f);if(c.processing.has(f))return jr.lazy(()=>{if(!c.refs.has(f))throw new Error(`Circular reference not resolved: ${f}`);return c.refs.get(f)});c.processing.add(f);let b=VHn(f,c),v=Tg(b,c);return c.refs.set(f,v),c.processing.delete(f),v}if(o.enum!==void 0){let f=o.enum;if(c.version==="openapi-3.0"&&o.nullable===!0&&f.length===1&&f[0]===null)return jr.null();if(f.length===0)return jr.never();if(f.length===1)return jr.literal(f[0]);if(f.every(v=>typeof v=="string"))return jr.enum(f);let b=f.map(v=>jr.literal(v));return b.length<2?b[0]:jr.union([b[0],b[1],...b.slice(2)])}if(o.const!==void 0)return jr.literal(o.const);let d=o.type;if(Array.isArray(d)){let f=d.map(b=>{let v={...o,type:b};return orn(v,c)});return f.length===0?jr.never():f.length===1?f[0]:jr.union(f)}if(!d)return jr.any();let g;switch(d){case"string":{let f=jr.string();if(o.format){let b=o.format;b==="email"?f=f.check(jr.email()):b==="uri"||b==="uri-reference"?f=f.check(jr.url()):b==="uuid"||b==="guid"?f=f.check(jr.uuid()):b==="date-time"?f=f.check(jr.iso.datetime()):b==="date"?f=f.check(jr.iso.date()):b==="time"?f=f.check(jr.iso.time()):b==="duration"?f=f.check(jr.iso.duration()):b==="ipv4"?f=f.check(jr.ipv4()):b==="ipv6"?f=f.check(jr.ipv6()):b==="mac"?f=f.check(jr.mac()):b==="cidr"?f=f.check(jr.cidrv4()):b==="cidr-v6"?f=f.check(jr.cidrv6()):b==="base64"?f=f.check(jr.base64()):b==="base64url"?f=f.check(jr.base64url()):b==="e164"?f=f.check(jr.e164()):b==="jwt"?f=f.check(jr.jwt()):b==="emoji"?f=f.check(jr.emoji()):b==="nanoid"?f=f.check(jr.nanoid()):b==="cuid"?f=f.check(jr.cuid()):b==="cuid2"?f=f.check(jr.cuid2()):b==="ulid"?f=f.check(jr.ulid()):b==="xid"?f=f.check(jr.xid()):b==="ksuid"&&(f=f.check(jr.ksuid()))}typeof o.minLength=="number"&&(f=f.min(o.minLength)),typeof o.maxLength=="number"&&(f=f.max(o.maxLength)),o.pattern&&(f=f.regex(new RegExp(o.pattern))),g=f;break}case"number":case"integer":{let f=d==="integer"?jr.number().int():jr.number();typeof o.minimum=="number"&&(f=f.min(o.minimum)),typeof o.maximum=="number"&&(f=f.max(o.maximum)),typeof o.exclusiveMinimum=="number"?f=f.gt(o.exclusiveMinimum):o.exclusiveMinimum===!0&&typeof o.minimum=="number"&&(f=f.gt(o.minimum)),typeof o.exclusiveMaximum=="number"?f=f.lt(o.exclusiveMaximum):o.exclusiveMaximum===!0&&typeof o.maximum=="number"&&(f=f.lt(o.maximum)),typeof o.multipleOf=="number"&&(f=f.multipleOf(o.multipleOf)),g=f;break}case"boolean":{g=jr.boolean();break}case"null":{g=jr.null();break}case"object":{let f={},b=o.properties||{},v=new Set(o.required||[]);for(let[T,N]of Object.entries(b)){let j=Tg(N,c);f[T]=v.has(T)?j:j.optional()}if(o.propertyNames){let T=Tg(o.propertyNames,c),N=o.additionalProperties&&typeof o.additionalProperties=="object"?Tg(o.additionalProperties,c):jr.any();if(Object.keys(f).length===0){g=jr.record(T,N);break}let j=jr.object(f).passthrough(),B=jr.looseRecord(T,N);g=jr.intersection(j,B);break}if(o.patternProperties){let T=o.patternProperties,N=Object.keys(T),j=[];for(let G of N){let K=Tg(T[G],c),fe=jr.string().regex(new RegExp(G));j.push(jr.looseRecord(fe,K))}let B=[];if(Object.keys(f).length>0&&B.push(jr.object(f).passthrough()),B.push(...j),B.length===0)g=jr.object({}).passthrough();else if(B.length===1)g=B[0];else{let G=jr.intersection(B[0],B[1]);for(let K=2;K<B.length;K++)G=jr.intersection(G,B[K]);g=G}break}let k=jr.object(f);o.additionalProperties===!1?g=k.strict():typeof o.additionalProperties=="object"?g=k.catchall(Tg(o.additionalProperties,c)):g=k.passthrough();break}case"array":{let f=o.prefixItems,b=o.items;if(f&&Array.isArray(f)){let v=f.map(T=>Tg(T,c)),k=b&&typeof b=="object"&&!Array.isArray(b)?Tg(b,c):void 0;k?g=jr.tuple(v).rest(k):g=jr.tuple(v),typeof o.minItems=="number"&&(g=g.check(jr.minLength(o.minItems))),typeof o.maxItems=="number"&&(g=g.check(jr.maxLength(o.maxItems)))}else if(Array.isArray(b)){let v=b.map(T=>Tg(T,c)),k=o.additionalItems&&typeof o.additionalItems=="object"?Tg(o.additionalItems,c):void 0;k?g=jr.tuple(v).rest(k):g=jr.tuple(v),typeof o.minItems=="number"&&(g=g.check(jr.minLength(o.minItems))),typeof o.maxItems=="number"&&(g=g.check(jr.maxLength(o.maxItems)))}else if(b!==void 0){let v=Tg(b,c),k=jr.array(v);typeof o.minItems=="number"&&(k=k.min(o.minItems)),typeof o.maxItems=="number"&&(k=k.max(o.maxItems)),g=k}else g=jr.array(jr.any());break}default:throw new Error(`Unsupported type: ${d}`)}return o.description&&(g=g.describe(o.description)),o.default!==void 0&&(g=g.default(o.default)),g}function Tg(o,c){if(typeof o=="boolean")return o?jr.any():jr.never();let d=orn(o,c),g=o.type||o.enum!==void 0||o.const!==void 0;if(o.anyOf&&Array.isArray(o.anyOf)){let k=o.anyOf.map(N=>Tg(N,c)),T=jr.union(k);d=g?jr.intersection(d,T):T}if(o.oneOf&&Array.isArray(o.oneOf)){let k=o.oneOf.map(N=>Tg(N,c)),T=jr.xor(k);d=g?jr.intersection(d,T):T}if(o.allOf&&Array.isArray(o.allOf))if(o.allOf.length===0)d=g?d:jr.any();else{let k=g?d:Tg(o.allOf[0],c),T=g?0:1;for(let N=T;N<o.allOf.length;N++)k=jr.intersection(k,Tg(o.allOf[N],c));d=k}o.nullable===!0&&c.version==="openapi-3.0"&&(d=jr.nullable(d)),o.readOnly===!0&&(d=jr.readonly(d));let f={},b=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let k of b)k in o&&(f[k]=o[k]);let v=["contentEncoding","contentMediaType","contentSchema"];for(let k of v)k in o&&(f[k]=o[k]);for(let k of Object.keys(o))qHn.has(k)||(f[k]=o[k]);return Object.keys(f).length>0&&c.registry.add(d,f),d}function crn(o,c){if(typeof o=="boolean")return o?jr.any():jr.never();let d=GHn(o,c?.defaultTarget),g=o.$defs||o.definitions||{},f={version:d,defs:g,refs:new Map,processing:new Set,rootSchema:o,registry:c?.registry??Ip};return Tg(o,f)}var Vht={};Bx(Vht,{bigint:()=>XHn,boolean:()=>ZHn,date:()=>KHn,number:()=>JHn,string:()=>WHn});function WHn(o){return ylt(kq,o)}function JHn(o){return Slt(xq,o)}function ZHn(o){return Alt(Sq,o)}function XHn(o){return Nlt(_q,o)}function KHn(o){return qlt(pee,o)}dd(V0e());var Wht=["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","human","page","component","store","hook","module","custom"],arn=jt.enum(Wht),YHn=new Set(["service","function","worker","module","page","component","store","hook"]);function cpe(o){return YHn.has(o)}var Jht=["http_call","grpc","invokes","routes_to","websocket","webhook","reads","writes","publishes","subscribes","streams_to","implements","extends","depends_on","has_a","uses"],srn=jt.enum(Jht);var g3=jt.enum(["proposed","active","deprecated"]),QHn=jt.enum(["boundary","control","entity"]),e$n=jt.string().min(1).refine(o=>!o.startsWith("/"),{message:"sourcePath must be a relative path (no leading /)"}).refine(o=>!o.includes("\\"),{message:"sourcePath must use forward slashes"}).refine(o=>!o.split("/").some(c=>c===".."),{message:"sourcePath must not contain `..` segments"}),t$n=/^[a-z][a-z0-9-]*$/,$l=jt.string().regex(t$n,"id must match /^[a-z][a-z0-9-]*$/"),Zht=jt.string().min(1).refine(o=>!o.startsWith("/")&&!/^[a-zA-Z]:[\\/]/.test(o),{message:"archikFile must be a relative path"}).refine(o=>!o.includes("\\"),{message:"archikFile must use forward slashes"}).refine(o=>!o.split("/").some(c=>c==="..")&&!o.includes("./../"),{message:"archikFile must not contain `..` segments"}).refine(o=>o.endsWith(".archik.yaml"),{message:"archikFile must end in `.archik.yaml`"}),vee=jt.string().min(1).refine(o=>!o.startsWith("/")&&!/^[a-zA-Z]:[\\/]/.test(o),{message:"seqFile must be a relative path"}).refine(o=>!o.includes("\\"),{message:"seqFile must use forward slashes"}).refine(o=>!o.split("/").some(c=>c===".."),{message:"seqFile must not contain `..` segments"}).refine(o=>o.endsWith(".archik.seq.yaml"),{message:"seqFile must end in `.archik.seq.yaml`"}),n$n=jt.strictObject({name:jt.string().min(1),protocol:jt.string().min(1),description:jt.string().optional()}),r$n=jt.strictObject({id:$l,kind:arn,name:jt.string().min(1),description:jt.string().min(1).optional(),stack:jt.string().optional(),responsibilities:jt.array(jt.string().min(1)).optional(),interfaces:jt.array(n$n).optional(),notes:jt.array(jt.string()).optional(),parentId:$l.optional(),archikFile:Zht.optional(),seqFiles:jt.array(vee).min(1).optional(),sourcePath:e$n.optional(),status:g3.optional(),stereotype:QHn.optional(),metadata:jt.record(jt.string(),jt.unknown()).optional()}),i$n=jt.strictObject({id:$l,from:$l,to:$l,relationship:srn,label:jt.string().optional(),description:jt.string().optional(),protocol:jt.string().optional(),color:jt.string().optional(),status:g3.optional(),fromFile:Zht.optional(),toFile:Zht.optional()}),o$n=jt.strictObject({from:jt.string().min(1),at:jt.string().min(1),note:jt.string().optional()}),c$n=jt.strictObject({createdAt:jt.string().min(1).optional(),updatedAt:jt.string().min(1).optional(),suggestion:o$n.optional()}),urn=jt.strictObject({version:jt.literal("1.0"),name:jt.string().min(1),description:jt.string().optional(),nodes:jt.array(r$n),edges:jt.array(i$n),metadata:c$n.optional()}).superRefine((o,c)=>{let d=new Set;for(let k=0;k<o.nodes.length;k++){let T=o.nodes[k];d.has(T.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["nodes",k,"id"],message:`duplicate node id "${T.id}"`}),d.add(T.id),(T.description===void 0||T.description.length===0)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["nodes",k,"description"],message:`node "${T.id}" is missing required \`description\`. Every node must explain what it does (its responsibility / behaviour) \u2014 not just restate its kind or name.`})}let g=new Set;for(let k=0;k<o.edges.length;k++){let T=o.edges[k];g.has(T.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["edges",k,"id"],message:`duplicate edge id "${T.id}"`}),g.add(T.id),T.fromFile===void 0&&!d.has(T.from)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["edges",k,"from"],message:`edge "${T.id}" references unknown node "${T.from}"`}),T.toFile===void 0&&!d.has(T.to)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["edges",k,"to"],message:`edge "${T.id}" references unknown node "${T.to}"`}),T.fromFile!==void 0&&T.toFile!==void 0&&c.addIssue({code:jt.ZodIssueCode.custom,path:["edges",k],message:`edge "${T.id}" has both fromFile and toFile \u2014 at least one endpoint must be local to this file`}),T.from===T.to&&T.fromFile===void 0&&T.toFile===void 0&&c.addIssue({code:jt.ZodIssueCode.custom,path:["edges",k],message:`edge "${T.id}" is a self-loop (from === to). Self-loops aren't meaningful in an architecture diagram.`})}let f=new Map;for(let k of o.nodes)f.set(k.id,k.parentId);for(let k=0;k<o.nodes.length;k++){let T=o.nodes[k];if(T.parentId===void 0)continue;if(T.parentId===T.id){c.addIssue({code:jt.ZodIssueCode.custom,path:["nodes",k,"parentId"],message:`node "${T.id}" lists itself as parentId`});continue}if(!d.has(T.parentId)){c.addIssue({code:jt.ZodIssueCode.custom,path:["nodes",k,"parentId"],message:`node "${T.id}" parentId "${T.parentId}" doesn't match any node`});continue}let N=new Set([T.id]),j=T.parentId,B=0;for(;j!==void 0&&B<=o.nodes.length;){if(N.has(j)){c.addIssue({code:jt.ZodIssueCode.custom,path:["nodes",k,"parentId"],message:`node "${T.id}" is part of a parentId cycle (via "${j}")`});break}N.add(j),j=f.get(j),B++}}function b(k,T){let N=f.get(T),j=0;for(;N!==void 0&&j<=o.nodes.length;){if(N===k)return!0;N=f.get(N),j++}return!1}for(let k=0;k<o.edges.length;k++){let T=o.edges[k];T.fromFile!==void 0||T.toFile!==void 0||!d.has(T.from)||!d.has(T.to)||(b(T.from,T.to)||b(T.to,T.from))&&c.addIssue({code:jt.ZodIssueCode.custom,path:["edges",k],message:`edge "${T.id}" connects "${T.from}" and "${T.to}" but one is an ancestor of the other \u2014 the parent already contains the child, so an edge between them is a duplicate. Either remove the edge or change the parentId.`})}let v=new Map;for(let k=0;k<o.edges.length;k++){let T=o.edges[k];if(T.fromFile!==void 0||T.toFile!==void 0)continue;let N=`${T.from}\0${T.to}\0${T.relationship}`,j=v.get(N);if(j!==void 0){c.addIssue({code:jt.ZodIssueCode.custom,path:["edges",k],message:`edge "${T.id}" duplicates "${j}" \u2014 same from/to/relationship (${T.from} \u2192 ${T.to} via ${T.relationship}). The diagram already expresses this connection; remove one of them.`});continue}v.set(N,T.id)}});function Cq(o,c,d){let g=[],f=new Map;for(let b of o.nodes)b.sourcePath!==void 0&&b.sourcePath.length>0&&f.set(b.id,b.sourcePath);return o.nodes.forEach((b,v)=>{if(!cpe(b.kind))return;let k=b.status==="proposed"||b.status==="deprecated";if(b.sourcePath===void 0||b.sourcePath.length===0){if(k)return;g.push({path:`nodes.${v}.sourcePath`,message:`node "${b.id}" (kind: ${b.kind}) is missing required \`sourcePath\`. Code-bearing kinds must declare where their source lives. Either add a sourcePath, or mark the node \`status: proposed\` if the code isn't built yet (proposed/deprecated nodes are exempt).`});return}if(!d(b.sourcePath)){g.push({path:`nodes.${v}.sourcePath`,message:`node "${b.id}" sourcePath "${b.sourcePath}" does not exist on disk (resolved relative to the project root). Either fix the path, drop it (if status is proposed/deprecated, sourcePath is optional), or change the node's status to proposed.`});return}if(b.parentId!==void 0){let T=f.get(b.parentId);T!==void 0&&s$n(T)&&!a$n(b.sourcePath,T)&&g.push({path:`nodes.${v}.sourcePath`,message:`node "${b.id}" sourcePath "${b.sourcePath}" is not inside its parent's sourcePath "${T}". The diagram says "${b.id}" lives inside "${b.parentId}", but the source tree disagrees. Either fix the path, change the parentId, or drop one of the sourcePaths.`})}}),g}function a$n(o,c){let d=o.replace(/\/+$/,""),g=c.replace(/\/+$/,"");return d===g?!0:d.startsWith(g+"/")}function s$n(o){let c=o.split("/").pop()??"";return!/\.[^./]+$/.test(c)}function Iq(o,c){let d=[];return o.nodes.forEach((g,f)=>{g.archikFile!==void 0&&(c(g.archikFile)||d.push({path:`nodes.${f}.archikFile`,message:`archikFile "${g.archikFile}" does not exist (resolved relative to the project root)`}))}),o.edges.forEach((g,f)=>{g.fromFile!==void 0&&!c(g.fromFile)&&d.push({path:`edges.${f}.fromFile`,message:`fromFile "${g.fromFile}" does not exist (resolved relative to the project root)`}),g.toFile!==void 0&&!c(g.toFile)&&d.push({path:`edges.${f}.toFile`,message:`toFile "${g.toFile}" does not exist (resolved relative to the project root)`})}),d}function hrn(o,c){let d=[];return o.nodes.forEach((g,f)=>{g.seqFiles&&g.seqFiles.forEach((b,v)=>{c(b)||d.push({path:`nodes.${f}.seqFiles.${v}`,message:`seqFile "${b}" does not exist on disk (resolved relative to the project root)`})})}),d}function lrn(o){return o.length===0?"<root>":o.map(String).join(".")}function u$n(o,c){let d=o[o.length-1],g=/expected array/i.test(c)&&/received\s+string/i.test(c),f=/received\s+undefined/i.test(c)||/required/i.test(c);return g&&(d==="notes"||d==="responsibilities"||d==="interfaces")?`${String(d)} is an array \u2014 wrap your value, e.g. ${String(d)}: ['first', 'second']. Run \`npx archik schema\` for the full shape.`:f&&d==="id"&&o.length>=2&&o[o.length-3]==="edges"?"every edge requires an `id` (kebab-case, unique within the document), e.g. id: api-writes-db. Run `npx archik schema` for the full Edge shape.":null}function l$n(o){return o.issues.flatMap(c=>{if(c.code==="unrecognized_keys")return c.keys.map(f=>({path:lrn([...c.path,f]),message:"unrecognized key"}));let d=u$n(c.path,c.message),g=d===null?c.message:`${c.message}
502
502
  hint: ${d}`;return[{path:lrn(c.path),message:g}]})}function dL(o){let c=urn.safeParse(o);return c.success?{ok:!0,value:c.data}:{ok:!1,errors:l$n(c.error)}}function Ag(o){return o.map(c=>` \u2022 ${c.path}: ${c.message}`).join(`
503
503
  `)}import{readFile as h$n,readdir as d$n}from"node:fs/promises";import Mee from"node:path";var Xht=Ai(Gx(),1);function P2(o){let c;try{c=Xht.default.parse(o)}catch(g){let f=g instanceof Error?g.message:String(g);throw new Error(`Invalid YAML: ${f}`)}let d=dL(c);if(!d.ok)throw new Error(`Invalid Archik document:
504
- ${Ag(d.errors)}`);return d.value}function kee(o){return Xht.default.stringify(o,{indent:2,lineWidth:0})}var f$n=6;function Kht(o,c){return Mee.relative(o,c).split(Mee.sep).join("/")||Mee.basename(c)}function p$n(o){return o.endsWith(".archik.yaml")&&!o.endsWith(".archik.suggested.yaml")}async function z0(o,c){let d=[],g=[],f=new Set,b=async k=>{if(f.has(k))return;f.add(k);let T;try{T=await h$n(k,"utf-8")}catch(N){g.push({abs:k,relPath:Kht(c,k),message:N instanceof Error?N.message:String(N)});return}try{let N=P2(T);d.push({abs:k,relPath:Kht(c,k),doc:N})}catch(N){g.push({abs:k,relPath:Kht(c,k),message:N instanceof Error?N.message:String(N)})}};await b(o);let v=async(k,T)=>{if(T>f$n)return;let N;try{N=await d$n(k,{withFileTypes:!0})}catch{return}for(let j of N){let B=Mee.join(k,j.name);if(j.isDirectory()){await v(B,T+1);continue}j.isFile()&&p$n(j.name)&&await b(B)}};return await v(Mee.join(c,".archik"),0),{docs:d,errors:g}}var prn=Ai(Gx(),1);import{readFile as S$n,readdir as _$n}from"node:fs/promises";import See from"node:path";var g$n=jt.enum(["sync","async","return","create","destroy"]),y$n=jt.enum(["over","left_of","right_of"]),b$n=jt.enum(["alt","opt","loop","par","break","ref"]),w$n=jt.strictObject({id:$l,nodeId:$l,label:jt.string().min(1).optional(),status:g3.optional()}),m$n=jt.strictObject({type:jt.literal("message"),id:$l,from:$l,to:$l,label:jt.string().min(1),arrow:g$n,activate:jt.boolean().optional(),status:g3.optional()}),v$n=jt.strictObject({type:jt.literal("note"),id:$l,position:y$n,participants:jt.array($l).min(1),text:jt.string().min(1),status:g3.optional()}),k$n=jt.lazy(()=>jt.strictObject({label:jt.string().optional(),steps:jt.array(drn)})),M$n=jt.lazy(()=>jt.strictObject({type:jt.literal("group"),id:$l,kind:b$n,condition:jt.string().optional(),label:jt.string().optional(),branches:jt.array(k$n).optional(),seqFile:vee.optional(),participants:jt.array($l).optional(),status:g3.optional()})),drn=jt.lazy(()=>jt.union([m$n,v$n,M$n]));function frn(o,c){let d=[];for(let g of o)if(c.has(g.id)?d.push(g.id):c.add(g.id),g.type==="group"&&g.branches)for(let f of g.branches)d.push(...frn(f.steps,c));return d}var x$n=jt.strictObject({useCase:$l,slice:$l}),xee=jt.strictObject({version:jt.literal("1.0"),name:jt.string().min(1),description:jt.string().optional(),realizes:x$n.optional(),participants:jt.array(w$n).min(1),steps:jt.array(drn)}).superRefine((o,c)=>{let d=new Set;for(let b=0;b<o.participants.length;b++){let v=o.participants[b];d.has(v.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["participants",b,"id"],message:`duplicate participant id "${v.id}"`}),d.add(v.id)}let g=new Set,f=frn(o.steps,g);for(let b of f)c.addIssue({code:jt.ZodIssueCode.custom,path:["steps"],message:`duplicate step id "${b}"`})});var C$n=6;function I$n(o,c){return See.relative(o,c).split(See.sep).join("/")||See.basename(c)}async function J5(o){let c=[],d=[],g=async b=>{let v=I$n(o,b),k;try{k=await S$n(b,"utf-8")}catch(T){d.push({abs:b,relPath:v,message:T instanceof Error?T.message:String(T)});return}try{let T=prn.default.parse(k),N=xee.safeParse(T);if(!N.success){d.push({abs:b,relPath:v,message:N.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:N.data})}catch(T){d.push({abs:b,relPath:v,message:T instanceof Error?T.message:String(T)})}},f=async(b,v)=>{if(v>C$n)return;let k;try{k=await _$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let N=See.join(b,T.name);if(T.isDirectory()){await f(N,v+1);continue}T.isFile()&&T.name.endsWith(".archik.seq.yaml")&&await g(N)}};return await f(See.join(o,".archik"),0),{docs:c,errors:d}}var yrn=Ai(Gx(),1);import{readFile as O$n,readdir as F$n}from"node:fs/promises";import _ee from"node:path";var L$n=jt.string().min(1).refine(o=>!o.startsWith("/")&&!/^[a-zA-Z]:[\\/]/.test(o),{message:"test path must be relative (no leading / or drive letter)"}).refine(o=>!o.includes("\\"),{message:"test path must use forward slashes"}).refine(o=>!o.split("/").some(c=>c===".."),{message:"test path must not contain `..` segments"}),E$n=/^[a-z][a-z0-9-]*\.\d+$/,T$n=jt.string().regex(E$n,"branchFrom must be `<flowId>.<stepNumber>` (e.g. basic.3)"),A$n=jt.strictObject({steps:jt.array(jt.string().min(1)).min(1)}),P$n=jt.strictObject({id:$l,branchFrom:T$n,steps:jt.array(jt.string().min(1)).min(1)}),N$n=jt.strictObject({basic:A$n,alternates:jt.array(P$n).optional()}),R$n=jt.strictObject({seqFile:vee}),D$n=jt.strictObject({id:$l,description:jt.string().min(1),flows:jt.array($l).min(1),tests:jt.array(L$n).optional(),realization:R$n.optional(),status:g3.optional()}),grn=jt.strictObject({version:jt.literal("1.0"),id:$l,name:jt.string().min(1),description:jt.string().optional(),status:g3.optional(),primaryActor:$l,secondaryActors:jt.array($l).optional(),goal:jt.string().min(1),preconditions:jt.array(jt.string().min(1)).optional(),postconditions:jt.array(jt.string().min(1)).optional(),flows:N$n,slices:jt.array(D$n).min(1)}).superRefine((o,c)=>{let d=new Map;d.set("basic",o.flows.basic.steps.length);let g=new Set;o.flows.alternates&&(o.flows.alternates.forEach((b,v)=>{b.id==="basic"&&c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"id"],message:'alternate id "basic" collides with the basic flow'}),g.has(b.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"id"],message:`duplicate alternate flow id "${b.id}"`}),g.add(b.id),d.set(b.id,b.steps.length)}),o.flows.alternates.forEach((b,v)=>{let[k,T]=b.branchFrom.split("."),N=Number(T),j=d.get(k);if(j===void 0){c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"branchFrom"],message:`branchFrom "${b.branchFrom}" references unknown flow "${k}"`});return}(N<1||N>j)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"branchFrom"],message:`branchFrom "${b.branchFrom}" step ${N} is out of range (flow "${k}" has ${j} step(s))`})}));let f=new Set;o.slices.forEach((b,v)=>{f.has(b.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"id"],message:`duplicate slice id "${b.id}"`}),f.add(b.id),b.flows.forEach((T,N)=>{d.has(T)||c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"flows",N],message:`slice "${b.id}" references unknown flow "${T}". Available: ${Array.from(d.keys()).join(", ")}.`})}),b.flows.includes("basic")||c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"flows"],message:`slice "${b.id}" does not include the basic flow. Slices must include "basic" plus zero or more alternates that branch off it; otherwise the alternate has no prefix to branch from.`}),!(b.status==="proposed"||b.status==="deprecated")&&(b.tests===void 0||b.tests.length===0)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"tests"],message:`slice "${b.id}" has no tests. Active slices must declare at least one test path (each must exist on disk). Mark the slice \`status: proposed\` if the test isn't written yet.`})})});var z$n=6;function j$n(o,c){return _ee.relative(o,c).split(_ee.sep).join("/")||_ee.basename(c)}function B$n(o){return o.endsWith(".archik.uc.yaml")}async function Zy(o){let c=[],d=[],g=async b=>{let v=j$n(o,b),k;try{k=await O$n(b,"utf-8")}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let T;try{T=yrn.default.parse(k)}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let N=grn.safeParse(T);if(!N.success){d.push({abs:b,relPath:v,message:N.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:N.data})},f=async(b,v)=>{if(v>z$n)return;let k;try{k=await F$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let N=_ee.join(b,T.name);if(T.isDirectory()){await f(N,v+1);continue}T.isFile()&&B$n(T.name)&&await g(N)}};return await f(_ee.join(o,".archik","usecases"),0),{docs:c,errors:d}}var wrn=Ai(Gx(),1);import{readFile as U$n,readdir as q$n}from"node:fs/promises";import Cee from"node:path";var H$n=jt.enum(["human","external-system","time","device"]),$$n=jt.strictObject({id:$l,kind:H$n,description:jt.string().min(1),goals:jt.array(jt.string().min(1)).optional(),status:g3.optional()}),brn=jt.strictObject({version:jt.literal("1.0"),description:jt.string().optional(),actors:jt.array($$n).min(1)}).superRefine((o,c)=>{let d=new Set;o.actors.forEach((g,f)=>{d.has(g.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["actors",f,"id"],message:`duplicate actor id "${g.id}"`}),d.add(g.id)})});var G$n=6;function V$n(o,c){return Cee.relative(o,c).split(Cee.sep).join("/")||Cee.basename(c)}function W$n(o){return o.endsWith(".archik.actors.yaml")}async function Zx(o){let c=[],d=[],g=async b=>{let v=V$n(o,b),k;try{k=await U$n(b,"utf-8")}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let T;try{T=wrn.default.parse(k)}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let N=brn.safeParse(T);if(!N.success){d.push({abs:b,relPath:v,message:N.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:N.data})},f=async(b,v)=>{if(v>G$n)return;let k;try{k=await q$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let N=Cee.join(b,T.name);if(T.isDirectory()){await f(N,v+1);continue}T.isFile()&&W$n(T.name)&&await g(N)}};return await f(Cee.join(o,".archik"),0),{docs:c,errors:d}}function mrn(o,c,d,g){o.forEach((f,b)=>{let v=`${g}.${b}`;f.type==="message"?(c.has(f.from)||d.push({path:`${v}.from`,message:`participant "${f.from}" is not declared in participants`}),c.has(f.to)||d.push({path:`${v}.to`,message:`participant "${f.to}" is not declared in participants`})):f.type==="note"?f.participants.forEach((k,T)=>{c.has(k)||d.push({path:`${v}.participants.${T}`,message:`participant "${k}" is not declared in participants`})}):f.type==="group"&&f.branches&&f.branches.forEach((k,T)=>{mrn(k.steps,c,d,`${v}.branches.${T}.steps`)})})}function vrn(o,c){let d=[],g=new Set;return o.participants.forEach((f,b)=>{g.add(f.id),c.has(f.nodeId)||d.push({path:`participants.${b}.nodeId`,message:`nodeId "${f.nodeId}" does not match any architecture node. Run \`npx archik q list\` to see available node ids.`})}),mrn(o.steps,g,d,"steps"),d}var J$n={boundary:new Set(["control"]),control:new Set(["boundary","control","entity"]),entity:new Set(["control","entity"])};function krn(o,c,d,g,f,b){o.forEach((v,k)=>{let T=`${f}.${k}`;if(v.type==="message"){let N=c.get(v.from),j=c.get(v.to);if(N===void 0||j===void 0)return;let B=J$n[N];B&&!B.has(j)&&b.push({path:`${d}:${T}`,message:`ECB violation in seq "${g}" message "${v.id}": ${N} \u2192 ${j} is forbidden by the robustness rules (boundaries don't talk to boundaries or entities; entities don't talk to boundaries). Insert a control between them, or revisit the stereotype assignment.`})}else v.type==="group"&&v.branches&&v.branches.forEach((N,j)=>{krn(N.steps,c,d,g,`${T}.branches.${j}.steps`,b)})})}function Mrn(o,c){let d=[],g=new Map;for(let{doc:f}of c)for(let b of f.nodes)b.stereotype!==void 0&&g.set(b.id,b.stereotype);for(let f of o){if(f.doc.realizes===void 0)continue;let b=new Map;for(let v of f.doc.participants){let k=g.get(v.nodeId);k!==void 0&&b.set(v.id,k)}krn(f.doc.steps,b,f.relPath,f.doc.name,"steps",d)}return d}function xrn(o,c){let d=[],g=new Map;for(let{doc:f}of c)for(let b of f.nodes){let v=g.get(b.id)??new Set;for(let k of b.seqFiles??[])v.add(k);g.set(b.id,v)}for(let f of o){if(f.doc.realizes===void 0)continue;let b=new Set;for(let v of f.doc.participants){if(b.has(v.nodeId))continue;let k=g.get(v.nodeId);k!==void 0&&(k.has(f.relPath)||(b.add(v.nodeId),d.push({path:`${f.relPath}:participants.${v.id}`,message:`seq "${f.doc.name}" lists node "${v.nodeId}" as a participant, but that node's \`seqFiles\` array does not reference this diagram. Add "${f.relPath}" to node "${v.nodeId}"'s \`seqFiles\` array via \`npx archik suggest set\` so the canvas can surface the flow on that node.`})))}}return d}function Srn(o,c){let d=[],g=new Map(c.map(f=>[f.doc.id,f]));for(let f of o){if(f.doc.realizes===void 0)continue;let{useCase:b,slice:v}=f.doc.realizes,k=g.get(b);if(k===void 0){d.push({path:`${f.relPath}:realizes.useCase`,message:`seq diagram "${f.doc.name}" claims to realize use case "${b}" but no such use case file was found.`});continue}let T=k.doc.slices.find(N=>N.id===v);if(T===void 0){d.push({path:`${f.relPath}:realizes.slice`,message:`seq diagram "${f.doc.name}" claims to realize slice "${v}" of use case "${b}", but that use case has no slice with that id. Available slices: ${k.doc.slices.map(N=>N.id).join(", ")}.`});continue}if(T.realization===void 0){d.push({path:`${f.relPath}:realizes.slice`,message:`seq diagram "${f.doc.name}" realizes slice "${v}" of "${b}", but the slice does not declare \`realization.seqFile\`. Add \`realization: { seqFile: "${f.relPath}" }\` to slice "${v}" in ${k.relPath}.`});continue}T.realization.seqFile!==f.relPath&&d.push({path:`${f.relPath}:realizes.slice`,message:`seq diagram "${f.doc.name}" realizes slice "${v}" of "${b}", but that slice's realization.seqFile points at "${T.realization.seqFile}", not at this file ("${f.relPath}"). Pick one canonical seq file and update both sides.`})}return d}function _rn(o){let c=new Map,d=[];for(let{relPath:g,doc:f}of o)for(let b of f.actors){let v=c.get(b.id);if(v!==void 0){d.push({path:g,message:`actor id "${b.id}" is duplicated across actor files (also defined in ${v.relPath})`});continue}c.set(b.id,{relPath:g})}return{index:c,errors:d}}function Crn(o){let c=new Map,d=[];for(let{relPath:g,doc:f}of o){let b=c.get(f.id);if(b!==void 0){d.push({path:g,message:`use case id "${f.id}" is duplicated across files (also defined in ${b.relPath})`});continue}c.set(f.id,{relPath:g})}return{index:c,errors:d}}function Irn(o,c){let d=[];for(let{relPath:g,doc:f}of o)c.has(f.primaryActor)||d.push({path:`${g}:primaryActor`,message:`use case "${f.id}" references unknown primaryActor "${f.primaryActor}". Define it in a *.archik.actors.yaml file.`}),f.secondaryActors&&f.secondaryActors.forEach((b,v)=>{c.has(b)||d.push({path:`${g}:secondaryActors.${v}`,message:`use case "${f.id}" references unknown secondary actor "${b}". Define it in a *.archik.actors.yaml file.`})});return d}function Lrn(o,c){let d=[];for(let{relPath:g,doc:f}of o)f.slices.forEach((b,v)=>{b.status==="proposed"||b.status==="deprecated"||b.tests!==void 0&&b.tests.forEach((T,N)=>{c(T)||d.push({path:`${g}:slices.${v}.tests.${N}`,message:`slice "${b.id}" test "${T}" does not exist on disk (resolved relative to project root). Either fix the path or mark the slice \`status: proposed\`.`})})});return d}function Ern(o,c){let d=[],g=new Map(c.map(f=>[f.relPath,f]));for(let{relPath:f,doc:b}of o)b.slices.forEach((v,k)=>{if(v.realization===void 0)return;let T=g.get(v.realization.seqFile);if(T===void 0){d.push({path:`${f}:slices.${k}.realization.seqFile`,message:`slice "${v.id}" realization seqFile "${v.realization.seqFile}" does not exist or did not parse. Run \`npx archik q sequences\` to see available seq files.`});return}if(T.doc.realizes===void 0){d.push({path:`${f}:slices.${k}.realization.seqFile`,message:`slice "${v.id}" claims realization "${v.realization.seqFile}", but that seq diagram has no \`realizes\` block. Add \`realizes: { useCase: "${b.id}", slice: "${v.id}" }\` to ${T.relPath}, or remove the realization claim.`});return}(T.doc.realizes.useCase!==b.id||T.doc.realizes.slice!==v.id)&&d.push({path:`${f}:slices.${k}.realization.seqFile`,message:`slice "${v.id}" claims realization "${v.realization.seqFile}", but that seq diagram's \`realizes\` points at "${T.doc.realizes.useCase}/${T.doc.realizes.slice}", not at "${b.id}/${v.id}". Pick one canonical link.`})});return d}import Iee from"node:path";function Xx(o){let c=Iee.dirname(o),d=Iee.basename(o),g=Iee.extname(d),f=g.length>0?d.slice(0,-g.length):d;return Iee.join(c,`${f}.suggested${g}`)}function Lq(o){return Iee.basename(o).endsWith(".archik.suggested.yaml")?"suggested":"normal"}function Trn(o){return o.metadata?.suggestion!==void 0}function ape(o){if(o.metadata?.suggestion===void 0)return o;let{suggestion:c,...d}=o.metadata,g={...o};return Object.keys(d).length===0?delete g.metadata:g.metadata=d,g}var K$n=o=>{let c=Zr(o,"json");return c!==void 0&&c!=="false"&&c!=="0"};function Z5(o){console.log(JSON.stringify(o,null,2))}async function Nrn(o){let c=K$n(o),d;try{d=await Lu(o._[0])}catch(Te){let ln=Te instanceof Error?Te.message:String(Te);return c?Z5({ok:!1,errors:[{path:"<root>",message:ln}]}):console.error(`\u2717 ${ln}`),1}let g=Arn.relative(process.cwd(),d)||d,f;try{f=await X$n(d,"utf-8")}catch(Te){let ln=Te instanceof Error?Te.message:String(Te);return c?Z5({ok:!1,file:g,errors:[{path:"<root>",message:ln}]}):(console.error(`\u2717 Cannot read ${g}`),console.error(ln)),1}let b;try{b=Prn.default.parse(f)}catch(Te){let tn=[{path:"<root>",message:`Invalid YAML: ${Te instanceof Error?Te.message:String(Te)}`}];return c?Z5({ok:!1,file:g,errors:tn}):(console.error(`\u2717 ${g}`),console.error(Ag(tn))),1}let v=dL(b);if(!v.ok)return c?Z5({ok:!1,file:g,errors:v.errors}):(console.error(`\u2717 ${g}`),console.error(Ag(v.errors))),1;let k=V1(d),T=Te=>Z$n(Arn.resolve(k,Te)),N=Iq(v.value,T);if(N.length>0)return c?Z5({ok:!1,file:g,errors:N}):(console.error(`\u2717 ${g}`),console.error(Ag(N))),1;let j=Lq(d),B=Cq(v.value,j,T);if(B.length>0)return c?Z5({ok:!1,file:g,errors:B}):(console.error(`\u2717 ${g}`),console.error(Ag(B))),1;let G=await z0(d,k);if(G.errors.length>0){if(c)Z5({ok:!1,file:g,errors:G.errors.map(Te=>({path:Te.relPath,message:Te.message}))});else for(let Te of G.errors)console.error(`\u2717 ${Te.relPath}: ${Te.message}`);return 1}let K=new Set(G.docs.flatMap(Te=>Te.doc.nodes.map(ln=>ln.id))),fe=[];for(let{doc:Te}of G.docs)fe.push(...hrn(Te,T));if(fe.length>0){if(c)Z5({ok:!1,file:g,errors:fe});else{console.error("\u2717 seqFiles path errors:");for(let Te of fe)console.error(` \u2717 ${Te.path}: ${Te.message}`)}return 1}let ae=await J5(k),we=0;for(let Te of ae.errors)c||console.error(`\u2717 ${Te.relPath}: ${Te.message}`),we++;for(let{relPath:Te,doc:ln}of ae.docs){let tn=vrn(ln,K);if(tn.length>0){if(!c){console.error(`\u2717 ${Te}`);for(let Un of tn)console.error(` \u2717 ${Un.path}: ${Un.message}`)}we+=tn.length}}if(we>0)return c&&Z5({ok:!1,file:g,errors:[{path:"<seq>",message:`${we} sequence diagram error(s)`}]}),1;let Oe=await Zy(k),at=await Zx(k),Mt=[];for(let Te of Oe.errors)Mt.push({path:Te.relPath,message:Te.message});for(let Te of at.errors)Mt.push({path:Te.relPath,message:Te.message});if(Mt.length===0){let Te=_rn(at.docs);Mt.push(...Te.errors);let ln=Crn(Oe.docs);Mt.push(...ln.errors),Mt.length===0&&(Mt.push(...Irn(Oe.docs,Te.index)),Mt.push(...Lrn(Oe.docs,T)),Mt.push(...Ern(Oe.docs,ae.docs)),Mt.push(...Srn(ae.docs,Oe.docs)),Mt.push(...Mrn(ae.docs,G.docs)),Mt.push(...xrn(ae.docs,G.docs)))}if(Mt.length>0)return c?Z5({ok:!1,file:g,errors:Mt}):(console.error(`\u2717 ${g}`),console.error(Ag(Mt))),1;let _e=at.docs.reduce((Te,ln)=>Te+ln.doc.actors.length,0),dt=Oe.docs.length;if(c)Z5({ok:!0,file:g,nodes:v.value.nodes.length,edges:v.value.edges.length,useCases:dt,actors:_e});else{let Te=G.docs.reduce((gn,Xr)=>gn+Xr.doc.nodes.length,0),ln=G.docs.reduce((gn,Xr)=>gn+Xr.doc.edges.length,0),tn=G.docs.length,Un=tn>1?` (${tn} files)`:"",rr=dt>0?`, ${dt} use case${dt===1?"":"s"}`:"",Lr=_e>0?`, ${_e} actor${_e===1?"":"s"}`:"";console.log(`\u2713 ${g}${Un} \u2014 ${Te} nodes, ${ln} edges${rr}${Lr}`)}return 0}var Gft=Ai(y3(),1),Vft=Ai(Mge(),1),Wan=Ai(Gx(),1);import{mkdir as qan,readFile as Gan,writeFile as Van}from"node:fs/promises";import eG from"node:path";var Ucn=Ai(jcn(),1);function gte(o,c){return o.length*c}function Gf(o,c,d){if(c<=0)return"";let g=Math.floor(c/d);return o.length<=g?o:g<=1?"\u2026":o.slice(0,g-1)+"\u2026"}var yte={nodeSpacing:60,layerSpacing:100,padding:40,viewMode:"detailed"};function QVn(o){let c=o.nodeSpacing??yte.nodeSpacing,d=o.layerSpacing??yte.layerSpacing,g=o.padding??yte.padding;return{"elk.algorithm":"layered","elk.direction":"RIGHT","elk.edgeRouting":"ORTHOGONAL","elk.layered.spacing.nodeNodeBetweenLayers":String(d),"elk.spacing.nodeNode":String(c),"elk.padding":`[top=${g}, left=${g}, bottom=${g}, right=${g}]`,"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 Eh={width:172,height:82},Bcn={width:172,height:90},eWn={service:Eh,function:Eh,worker:Eh,agent:Eh,database:{width:184,height:100},cache:Bcn,vectordb:Eh,storage:Eh,queue:{width:188,height:80},topic:Eh,stream:Eh,gateway:Eh,cdn:Eh,route:Eh,interface:Eh,adapter:Eh,port:Eh,llm:Eh,prompt:Eh,tool:Eh,auth:Eh,observability:Eh,cloud:{width:200,height:120},frontend:Bcn,page:Eh,component:Eh,store:Eh,hook:Eh,external:{width:184,height:100},human:{width:184,height:100},module:{width:240,height:130},custom:{width:240,height:130}},yl={width:152,height:36},Hcn={width:200,height:80},tWn={service:yl,function:yl,worker:yl,agent:yl,database:yl,cache:yl,vectordb:yl,storage:yl,queue:{width:168,height:36},topic:yl,stream:yl,gateway:yl,cdn:yl,route:yl,interface:yl,adapter:yl,port:yl,llm:yl,prompt:yl,tool:yl,auth:yl,observability:yl,cloud:yl,frontend:yl,page:yl,component:yl,store:yl,hook:yl,external:{width:168,height:40},human:{width:168,height:40},module:Hcn,custom:Hcn},nWn=24,$cn=320;function rWn(o,c,d){if(o.kind==="module"||o.kind==="custom")return c;if(d==="compact"){let k=36+gte(o.name,5.9)+12;return Math.max(c,Math.min($cn,Math.ceil(k)))}let g=gte(o.name,7.4),f=o.stack!==void 0?gte(o.stack,5.9):0,b=Math.max(g,f)+nWn;return Math.max(c,Math.min($cn,Math.ceil(b)))}var iWn={top:48,left:18,bottom:18,right:18};function oWn(o,c,d,g){let f=d[o.kind],b={id:o.id,width:rWn(o,f.width,g),height:f.height};if(c.length>0){b.children=c;let v=g==="compact"?{top:30,left:12,bottom:12,right:12}:iWn;b.layoutOptions={"elk.padding":`[top=${v.top}, left=${v.left}, bottom=${v.bottom}, right=${v.right}]`}}return b}function cWn(o,c,d){let g=new Map;for(let k of o.nodes)g.set(k.id,k);let f=new Map;for(let k of o.nodes){let T=f.get(k.parentId)??[];T.push(k),f.set(k.parentId,T)}function b(k){let T=(f.get(k.id)??[]).map(b);return oWn(k,T,c,d)}return{roots:(f.get(void 0)??[]).map(b),byId:g}}function aWn(o){return o.fromFile===void 0&&o.toFile===void 0}function sWn(o){return o.edges.filter(aWn).map(c=>{let d={id:c.id,sources:[c.from],targets:[c.to]};return c.label!==void 0&&c.label.length>0&&(d.labels=[{text:c.label,width:Math.ceil(gte(c.label,5.9)),height:14}]),d})}function zw(o){return o??0}function qcn(o,c){let d=c.get(o.id);if(!d)throw new Error(`ELK returned unknown node id "${o.id}"`);let g=(o.children??[]).map(f=>qcn(f,c));return{...d,x:zw(o.x),y:zw(o.y),width:zw(o.width),height:zw(o.height),children:g}}function uWn(o,c){let d=new Map,g=new Map,f=(N,j,B,G)=>{let K=j+zw(N.x),fe=B+zw(N.y);d.set(N.id,{x:K,y:fe}),g.set(N.id,G);let ae=[...G,N.id];for(let we of N.children??[])f(we,K,fe,ae)};f(o,0,0,[]);let b=(N,j)=>{let B=g.get(N)??[],G=g.get(j)??[],K=0;for(;K<B.length&&K<G.length&&B[K]===G[K];)K++;let fe=K===0?o.id:B[K-1];return d.get(fe)??{x:0,y:0}},v=new Map,k=new Map,T=N=>{for(let j of N.edges??[]){let B=j.sources?.[0]??"",G=j.targets?.[0]??"",K=b(B,G),fe=Oe=>({x:zw(Oe.x)+K.x,y:zw(Oe.y)+K.y}),ae=(j.sections??[]).map(Oe=>({startPoint:fe(Oe.startPoint),endPoint:fe(Oe.endPoint),bendPoints:(Oe.bendPoints??[]).map(fe)}));v.set(j.id,ae);let we=(j.labels??[]).map(Oe=>({text:typeof Oe.text=="string"?Oe.text:"",x:zw(Oe.x)+K.x,y:zw(Oe.y)+K.y,width:zw(Oe.width),height:zw(Oe.height)}));k.set(j.id,we)}for(let j of N.children??[])T(j)};return T(o),c.edges.map(N=>({...N,sections:v.get(N.id)??[],labels:k.get(N.id)??[]}))}var lWn=new Ucn.default;async function hWn(o,c={}){if(o.nodes.length===0)return{document:o,width:0,height:0,roots:[],edges:[]};let d=c.viewMode==="compact"?"compact":"detailed",g=d==="compact"?tWn:eWn,{roots:f,byId:b}=cWn(o,g,d),v={id:"__root__",layoutOptions:QVn(c),children:f,edges:sWn(o)},k=await lWn.layout(v),T=(k.children??[]).map(N=>qcn(N,b));return{document:o,width:zw(k.width),height:zw(k.height),roots:T,edges:uWn(k,o)}}var xge={name:"elk",layout:hWn};var tri={[xge.name]:xge},dWn=xge;function Xq(o,c){return dWn.layout(o,c)}var Sge="seq-arrow-filled",_ge="seq-arrow-open";function fWn(o){return Math.max(160,o.length*8+80)}function Gcn(o,c,d,g,f){let b=d,v=[];for(let k of o)if(k.type==="message"){let T=c.get(k.from),N=c.get(k.to),j=T?.cx??g,B=N?.cx??g;v.push({type:"message",id:k.id,fromCx:j,toCx:B,y:b,label:k.label,arrow:k.arrow,activate:k.activate??!1,isSelf:k.from===k.to,...k.status!==void 0?{status:k.status}:{}}),b+=k.from===k.to?56*1.5:56}else if(k.type==="note"){let T=k.participants.map(K=>c.get(K)?.cx).filter(K=>K!==void 0).sort((K,fe)=>K-fe),N=T[0]??g,j=T[T.length-1]??f,B=Math.min(Math.max(k.text.length*7.5+24,j-N+16,80),400),G;k.position==="left_of"?G=N-B-8:k.position==="right_of"?G=j+8:G=(N+j)/2-B/2,G=Math.max(0,G),v.push({type:"note",id:k.id,x:G,y:b,width:B,height:64,text:k.text,...k.status!==void 0?{status:k.status}:{}}),b+=72}else if(k.type==="group"){b+=8;let T=g-12,N=f-g+24,j=b;b+=24;let B=[];if(k.branches)for(let G=0;G<k.branches.length;G++){let K=k.branches[G],fe=b,{items:ae,endY:we}=Gcn(K.steps,c,b,g,f);b=we,B.push({...K.label!==void 0?{label:K.label}:{},startY:fe,...G<k.branches.length-1?{dividerY:b}:{},steps:ae}),G<k.branches.length-1&&(b+=4)}b+=12,v.push({type:"group",id:k.id,kind:k.kind,...k.condition!==void 0?{condition:k.condition}:{},...k.label!==void 0?{label:k.label}:{},...k.seqFile!==void 0?{seqFile:k.seqFile}:{},x:T,y:j,width:N,height:b-j,branches:B,...k.status!==void 0?{status:k.status}:{}})}return{items:v,endY:b}}function Vcn(o){let c=new Map;for(let d of o)if(d.type==="message"&&d.arrow==="destroy"&&c.set(d.toCx,d.y+56+20),d.type==="group")for(let g of d.branches)for(let[f,b]of Vcn(g.steps))c.set(f,b);return c}function pWn(o){let c=[],d=new Map;function g(f){for(let b of f)if(b.type==="message"){if(b.activate&&b.arrow==="sync"&&!b.isSelf){let v=d.get(b.toCx)??[];v.push(b.y),d.set(b.toCx,v)}if(b.arrow==="return"&&!b.isSelf){let v=d.get(b.fromCx);if(v&&v.length>0){let k=v.pop();c.push({cx:b.fromCx,startY:k,endY:b.y}),v.length===0&&d.delete(b.fromCx)}}}else if(b.type==="group")for(let v of b.branches)g(v.steps)}g(o);for(let[f,b]of d)for(let v of b)c.push({cx:f,startY:v,endY:v+56/2});return c}function Wcn(o,c){let d=o.participants.map(we=>fWn(we.label??we.nodeId)),g=32,f=o.participants.map((we,Oe)=>{let at=d[Oe],Mt=g+at/2;g+=at;let _e=c?.get(we.nodeId);return{id:we.id,nodeId:we.nodeId,label:we.label??we.nodeId,cx:Mt,colWidth:at,..._e!==void 0?{kind:_e}:{},...we.status!==void 0?{status:we.status}:{},lifelineEndY:0}}),b=g+32,v=new Map(f.map(we=>[we.id,we])),k=f[0]?.cx??32,T=f[f.length-1]?.cx??b-32,N=24,{items:j,endY:B}=Gcn(o.steps,v,N,k,T),G=56+B+24,K=Vcn(j),fe=f.map(we=>({...we,lifelineEndY:K.get(we.cx)??G})),ae=pWn(j);return{participants:fe,steps:j,activations:ae,totalWidth:b,totalHeight:G}}var Ci=Ai(Rft(),1);var M3=Ai(sc(),1),nan=(o,c,d)=>({width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:c,strokeWidth:d,strokeLinecap:"round",strokeLinejoin:"round"});function ran({size:o=16,color:c="currentColor",strokeWidth:d=1.8}){return(0,M3.jsxs)("svg",{...nan(o,c,d),"aria-hidden":"true",children:[(0,M3.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3.5",ry:"3.5"}),(0,M3.jsx)("line",{x1:"9",y1:"9",x2:"9",y2:"13"}),(0,M3.jsx)("line",{x1:"15",y1:"9",x2:"15",y2:"13"}),(0,M3.jsx)("circle",{cx:"12",cy:"16.5",r:"1",fill:c,stroke:"none"})]})}function ian({size:o=16,color:c="currentColor",strokeWidth:d=1.8}){return(0,M3.jsxs)("svg",{...nan(o,c,d),"aria-hidden":"true",children:[(0,M3.jsx)("path",{d:"M 7.5 6 L 3.5 12 L 7.5 18"}),(0,M3.jsx)("path",{d:"M 16.5 6 L 20.5 12 L 16.5 18"}),(0,M3.jsx)("circle",{cx:"13",cy:"8.6",r:"0.9",fill:c,stroke:"none"}),(0,M3.jsx)("line",{x1:"13",y1:"11",x2:"11",y2:"16.5"})]})}var jw={service:{color:"#38bdf8",icon:Ci.Server,description:"Long-running compute that owns business logic."},function:{color:"#22d3ee",icon:Ci.FunctionSquare,description:"Stateless function-as-a-service / lambda."},worker:{color:"#06b6d4",icon:Ci.Cog,description:"Background job processor or consumer loop."},agent:{color:"#14b8a6",icon:Ci.Bot,description:"Autonomous AI agent driving tools and actions."},database:{color:"#34d399",icon:Ci.Database,description:"Persistent state \u2014 relational, document, key-value."},cache:{color:"#a78bfa",icon:Ci.Layers,description:"In-memory store for fast reads."},vectordb:{color:"#c084fc",icon:Ci.Sparkles,description:"Vector store for embeddings / similarity search."},storage:{color:"#84cc16",icon:Ci.HardDrive,description:"Object / blob storage (S3, GCS, etc.)."},queue:{color:"#fbbf24",icon:Ci.SendHorizontal,description:"Asynchronous work queue with at-least-once delivery."},topic:{color:"#f97316",icon:Ci.Radio,description:"Pub/sub topic with multiple consumers."},stream:{color:"#fb923c",icon:Ci.Waves,description:"Append-only event log (Kafka, Kinesis)."},gateway:{color:"#6366f1",icon:Ci.DoorOpen,description:"API gateway, ingress, edge router."},cdn:{color:"#0ea5e9",icon:Ci.Globe,description:"Content delivery network / static edge."},route:{color:"#f59e0b",icon:Ci.Route,description:"HTTP / URL route \u2014 path + method mapped to a handler."},interface:{color:"#d946ef",icon:ian,description:"Abstract contract \u2014 the <i> a system commits to."},adapter:{color:"#c026d3",icon:Ci.Cable,description:"Concrete implementation of an interface."},port:{color:"#a21caf",icon:ran,description:"Hexagonal-architecture port \u2014 the socket an adapter plugs into."},llm:{color:"#a855f7",icon:Ci.Brain,description:"Large language model service."},prompt:{color:"#c4b5fd",icon:Ci.MessageSquare,description:"Prompt template / instruction set."},tool:{color:"#fde047",icon:Ci.Wrench,description:"Tool callable by an agent or LLM."},auth:{color:"#ef4444",icon:Ci.Lock,description:"Identity provider, auth service."},observability:{color:"#10b981",icon:Ci.Eye,description:"Metrics, logs, traces \u2014 operational telemetry."},cloud:{color:"#0284c7",icon:Ci.Cloud,description:"Managed cloud service (compute, hosted, etc.)."},frontend:{color:"#f472b6",icon:Ci.Monitor,description:"User-facing surface \u2014 browser, mobile, CLI."},page:{color:"#fb7185",icon:Ci.LayoutTemplate,description:"Route-level UI screen mapped to a URL."},component:{color:"#8b5cf6",icon:Ci.Component,description:"Reusable UI component / view fragment."},store:{color:"#facc15",icon:Ci.Boxes,description:"Client-side state container \u2014 Redux, Zustand, Pinia."},hook:{color:"#0d9488",icon:Ci.Anchor,description:"Reusable client logic \u2014 React hook, Vue composable."},external:{color:"#94a3b8",icon:Ci.ExternalLink,description:"Third-party system you don't own."},human:{color:"#60a5fa",icon:Ci.UserRound,description:"Human actor \u2014 end user, operator, or customer."},module:{color:"#7dd3fc",icon:Ci.Package,description:"Module / component grouping (logical container)."},custom:{color:"#64748b",icon:Ci.Box,description:"Container or anything not in the taxonomy."}};var Tz=Ai(sc(),1),ODe=36,Zkr=128,Xkr=7,oan=20,can=24;function aan({participant:o,nodeKind:c}){let d=c?jw[c]:void 0,g=d?.color??"var(--archik-fg-muted)",f=(56-ODe)/2,b=d?.icon,v=Math.max(Zkr,o.label.length*Xkr+can+(b?oan:0)),k=v/2,T=b?k+oan/2:k,N=o.status,j=N==="proposed"?.55:N==="deprecated"?.35:1,B=N==="proposed"||N==="deprecated"?"4 3":void 0;return(0,Tz.jsxs)("g",{transform:`translate(${o.cx-k}, ${f})`,opacity:j,children:[(0,Tz.jsx)("rect",{width:v,height:ODe,rx:8,fill:"var(--archik-node-fill)",stroke:g,strokeWidth:1.4,...B!==void 0?{strokeDasharray:B}:{}}),b&&(0,Tz.jsx)("g",{transform:`translate(${can/2}, ${(ODe-14)/2})`,children:(0,Tz.jsx)(b,{size:14,color:g,strokeWidth:1.5})}),(0,Tz.jsx)("text",{x:T,y:ODe/2+4,textAnchor:"middle",fontSize:12,fontWeight:500,fill:"var(--archik-fg)",fontFamily:"inherit",children:o.label})]})}var uan=Ai(sc(),1);function san({participant:o}){let c=o.status,d=c==="proposed"?.3:c==="deprecated"?.2:.5;return(0,uan.jsx)("line",{x1:o.cx,y1:56,x2:o.cx,y2:o.lifelineEndY,stroke:"var(--archik-node-stroke)",strokeWidth:1,strokeDasharray:"4 4",opacity:d})}var Q5=Ai(sc(),1),Oft=32,Fft=20,Kkr=-6;function lan({msg:o}){let c=o.arrow==="return",d=o.arrow==="async",g=o.arrow==="create",f=c||g,b=o.arrow==="destroy",v=c||d?_ge:Sge,k=o.status==="proposed"?.5:o.status==="deprecated"?.35:1;if(o.isSelf){let B=o.fromCx,G=o.y,K=`M ${B} ${G} L ${B+Oft} ${G} L ${B+Oft} ${G+Fft} L ${B} ${G+Fft}`;return(0,Q5.jsxs)("g",{opacity:k,children:[(0,Q5.jsx)("path",{d:K,fill:"none",stroke:"var(--archik-edge-filled)",strokeWidth:1.4,markerEnd:`url(#${v})`}),(0,Q5.jsx)("text",{x:B+Oft+6,y:G+Fft/2+4,fontSize:11,fill:"var(--archik-fg)",fontFamily:"inherit",children:o.label})]})}let N=o.fromCx<o.toCx?o.toCx-6:o.toCx+6,j=(o.fromCx+o.toCx)/2;return(0,Q5.jsxs)("g",{opacity:k,children:[(0,Q5.jsx)("line",{x1:o.fromCx,y1:o.y,x2:N,y2:o.y,stroke:"var(--archik-edge-filled)",strokeWidth:1.4,strokeDasharray:f?"4 4":void 0,markerEnd:b?void 0:`url(#${v})`}),(0,Q5.jsxs)("text",{x:j,y:o.y+Kkr,textAnchor:"middle",fontSize:11,fill:"var(--archik-fg)",fontFamily:"inherit",children:[g&&"\xABcreate\xBB ",o.label]}),o.arrow==="destroy"&&(0,Q5.jsxs)("g",{transform:`translate(${o.toCx-6}, ${o.y-6})`,children:[(0,Q5.jsx)("line",{x1:0,y1:0,x2:12,y2:12,stroke:"var(--archik-fg-muted)",strokeWidth:1.5}),(0,Q5.jsx)("line",{x1:12,y1:0,x2:0,y2:12,stroke:"var(--archik-fg-muted)",strokeWidth:1.5})]})]})}var j9=Ai(sc(),1),Ykr={alt:"#6366f1",opt:"#0ea5e9",loop:"#10b981",par:"#f59e0b",break:"#ef4444",ref:"#8b5cf6"},han=36,zft=18;function dan({group:o,renderStep:c,onRefClick:d}){let g=Ykr[o.kind]??"var(--archik-fg-muted)",f=o.status==="proposed"?.55:o.status==="deprecated"?.35:1,b=o.kind==="ref"&&o.seqFile!==void 0&&d!==void 0;return(0,j9.jsxs)("g",{opacity:f,onClick:b?()=>d(o.seqFile):void 0,style:b?{cursor:"pointer"}:void 0,children:[(0,j9.jsx)("rect",{x:o.x,y:o.y,width:o.width,height:o.height,rx:4,fill:"none",stroke:g,strokeWidth:1.2,opacity:.6}),(0,j9.jsx)("rect",{x:o.x,y:o.y,width:han,height:zft,rx:4,fill:g,opacity:.8}),(0,j9.jsx)("text",{x:o.x+6,y:o.y+zft-5,fontSize:10,fontWeight:600,fill:"#fff",fontFamily:"inherit",children:o.kind}),(o.condition??o.label)&&(0,j9.jsx)("text",{x:o.x+han+6,y:o.y+zft-5,fontSize:10,fill:g,fontFamily:"inherit",children:o.condition??o.label}),o.branches.map((v,k)=>(0,j9.jsxs)("g",{children:[v.label&&(0,j9.jsx)("text",{x:o.x+6,y:v.startY+12,fontSize:10,fill:g,fontFamily:"inherit",children:v.label}),v.steps.map(T=>c(T)),v.dividerY!==void 0&&(0,j9.jsx)("line",{x1:o.x,y1:v.dividerY,x2:o.x+o.width,y2:v.dividerY,stroke:g,strokeWidth:1,strokeDasharray:"4 2",opacity:.5})]},k))]})}var Kq=Ai(sc(),1);function Qkr(o,c){let d=Math.max(10,Math.floor(c/6.5));if(o.length<=d)return[o];let g=o.split(" "),f=[],b="";for(let v of g)(b+(b?" ":"")+v).length>d&&b?(f.push(b),b=v):b=b?b+" "+v:v;return b&&f.push(b),f.slice(0,3)}function fan({note:o}){let{x:c,y:d,width:g,height:f,text:b}=o,v=o.status==="proposed"?.55:o.status==="deprecated"?.35:1;return(0,Kq.jsxs)("g",{opacity:v,children:[(0,Kq.jsx)("path",{d:`M ${c} ${d} L ${c+g-10} ${d} L ${c+g} ${d+10} L ${c+g} ${d+f} L ${c} ${d+f} Z`,fill:"var(--archik-node-fill)",stroke:"var(--archik-node-stroke)",strokeWidth:1.2}),(0,Kq.jsx)("path",{d:`M ${c+g-10} ${d} L ${c+g-10} ${d+10} L ${c+g} ${d+10}`,fill:"none",stroke:"var(--archik-node-stroke)",strokeWidth:1.2}),Qkr(b,g-16).map((k,T)=>(0,Kq.jsx)("text",{x:c+8,y:d+8+11+T*13,fontSize:11,fill:"var(--archik-fg)",fontFamily:"inherit",children:k},T))]})}var $0=Ai(sc(),1);function e3r({id:o}){return(0,$0.jsx)("marker",{id:o,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,$0.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"context-stroke"})})}function t3r({id:o}){return(0,$0.jsx)("marker",{id:o,viewBox:"0 0 12 12",refX:"11",refY:"6",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:(0,$0.jsx)("path",{d:"M 1 1 L 11 6 L 1 11",fill:"none",stroke:"context-stroke",strokeWidth:"1.5",strokeLinejoin:"round"})})}function gan({step:o,onRefClick:c}){return o.type==="message"?(0,$0.jsx)(lan,{msg:o}):o.type==="note"?(0,$0.jsx)(fan,{note:o}):o.type==="group"?(0,$0.jsx)(dan,{group:o,...c!==void 0?{onRefClick:c}:{},renderStep:d=>(0,$0.jsx)(gan,{step:d,...c!==void 0?{onRefClick:c}:{}},d.id)}):null}function yan({laid:o,svgRef:c,onRefClick:d}){let{participants:g,steps:f,activations:b,totalWidth:v,totalHeight:k}=o;return(0,$0.jsxs)("svg",{ref:c,width:v,height:k,viewBox:`0 0 ${v} ${k}`,xmlns:"http://www.w3.org/2000/svg",style:{fontFamily:"var(--archik-font, system-ui)"},children:[(0,$0.jsxs)("defs",{children:[(0,$0.jsx)(e3r,{id:Sge}),(0,$0.jsx)(t3r,{id:_ge})]}),g.map(T=>(0,$0.jsx)(san,{participant:T},T.id)),g.map(T=>(0,$0.jsx)(aan,{participant:T,...T.kind!==void 0?{nodeKind:T.kind}:{}},T.id)),(0,$0.jsxs)("g",{transform:`translate(0, ${56})`,children:[b.map(T=>(0,$0.jsx)("rect",{x:T.cx-8/2,y:T.startY,width:8,height:T.endY-T.startY,fill:"var(--archik-node-fill)",stroke:"var(--archik-node-stroke)",strokeWidth:1,rx:2},`${T.cx}-${T.startY}`)),f.map(T=>(0,$0.jsx)(gan,{step:T,...d!==void 0?{onRefClick:d}:{}},T.id))]})]})}var LL=Ai(sc(),1),Vf=28;function Yq({kind:o,iconAt:c,labelAt:d}){let g=jw[o],f=g.icon,b=14;return(0,LL.jsxs)(LL.Fragment,{children:[(0,LL.jsx)("g",{transform:`translate(${c.cx-b/2}, ${c.cy-b/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,LL.jsx)(f,{size:b,color:g.color,strokeWidth:1.8})}),(0,LL.jsx)("text",{x:d.cx,y:d.cy,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.toUpperCase()})]})}var EL=Ai(sc(),1),n3r=24;function ban({node:o,selected:c}){let d=o.width,g=o.height,f=o.stack!==void 0,b=Vf+(g-Vf)/2,v=f?b-4:b+4,k=b+14,T=Math.max(0,d-n3r),N=Gf(o.name,T,7.4),j=f?Gf(o.stack,T,5.9):"";return(0,EL.jsxs)("g",{className:`archik-node archik-node--${o.kind}`,children:[(0,EL.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:10,ry:10,fill:"var(--archik-node-fill)",stroke:c?"var(--archik-selected)":"var(--archik-node-stroke)",strokeWidth:c?1.8:1.4}),(0,EL.jsx)("line",{x1:0,y1:Vf,x2:d,y2:Vf,stroke:"var(--archik-node-stroke)",strokeOpacity:.25,strokeWidth:1}),(0,EL.jsx)(Yq,{kind:o.kind,iconAt:{cx:18,cy:Vf/2},labelAt:{cx:d/2,cy:Vf/2+3}}),(0,EL.jsx)("text",{x:d/2,y:v,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:N}),f&&(0,EL.jsx)("text",{x:d/2,y:k,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:j})]})}var TL=Ai(sc(),1);function wan({node:o,selected:c}){let d=o.width,g=o.height,f=Math.min(g/2,28),b=o.stack!==void 0,v=Vf+(g-Vf)/2,k=b?v-4:v+4,T=v+14,N=Math.max(0,d-2*f-8),j=Gf(o.name,N,7.4),B=b?Gf(o.stack,N,5.9):"",G=c?"var(--archik-selected)":"var(--archik-node-stroke)";return(0,TL.jsxs)("g",{className:"archik-node archik-node--queue",children:[(0,TL.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:f,ry:f,fill:"var(--archik-node-fill)",stroke:G,strokeWidth:c?1.8:1.4}),(0,TL.jsx)("line",{x1:f,y1:Vf,x2:d-f,y2:Vf,stroke:G,strokeOpacity:.25,strokeWidth:1}),(0,TL.jsx)(Yq,{kind:"queue",iconAt:{cx:f+8,cy:Vf/2},labelAt:{cx:d/2,cy:Vf/2+3}}),(0,TL.jsx)("text",{x:d/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:j}),b&&(0,TL.jsx)("text",{x:d/2,y:T,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:B})]})}var AL=Ai(sc(),1),r3r=24;function man({node:o,selected:c}){let d=o.width,g=o.height,f=o.description!==void 0,b=Vf,v=b+(g-b)/2,k=f?v-2:v+4,T=g-12,N=Math.max(0,d-r3r),j=Gf(o.name,N,7.4),B=f?Gf(o.description,N,5.9):"",G=c?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,AL.jsxs)("g",{className:`archik-node archik-node--${o.kind}`,children:[(0,AL.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:G,strokeWidth:c?1.8:1.2,strokeDasharray:c?void 0:"6 4"}),(0,AL.jsx)("line",{x1:6,y1:Vf,x2:d-6,y2:Vf,stroke:G,strokeOpacity:.25,strokeWidth:1}),(0,AL.jsx)(Yq,{kind:o.kind,iconAt:{cx:18,cy:Vf/2},labelAt:{cx:d/2,cy:Vf/2+3}}),(0,AL.jsx)("text",{x:d/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:j}),f&&(0,AL.jsx)("text",{x:d/2,y:T,textAnchor:"middle",fontSize:10,fill:"var(--archik-node-text-dim)",children:B})]})}var e6=Ai(sc(),1),i3r=28,o3r=10,c3r=22;function van({node:o,selected:c}){let d=o.width,g=o.height,f=d/2,b=o3r,v=jw[o.kind],k=v.icon,T=c?"var(--archik-selected)":"var(--archik-node-stroke)",N=c?1.8:1.4,j=o.stack!==void 0,B=Math.max(0,d-i3r),G=Gf(o.name,B,7.4),K=j?Gf(o.stack,B,5.9):"",fe=g,ae=fe-c3r,we=(ae+fe)/2,Mt=(b+8+ae)/2,_e=j?Mt-4:Mt+4,dt=Mt+14;return(0,e6.jsxs)("g",{className:"archik-node archik-node--database",children:[(0,e6.jsx)("path",{className:c?"archik-selected-glow":void 0,d:s3r(d,g,b),fill:"var(--archik-node-fill)",stroke:T,strokeWidth:N,strokeLinejoin:"round"}),(0,e6.jsx)("ellipse",{cx:f,cy:b,rx:d/2,ry:b,fill:"var(--archik-node-fill)",stroke:T,strokeWidth:N}),(0,e6.jsx)("text",{x:f,y:_e,textAnchor:"middle",fontSize:14,fontWeight:600,fill:"var(--archik-node-text)",children:G}),j&&(0,e6.jsx)("text",{x:f,y:dt,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:K}),(0,e6.jsx)("line",{x1:4,y1:ae,x2:d-4,y2:ae,stroke:T,strokeOpacity:.45,strokeWidth:1}),(0,e6.jsx)("g",{transform:`translate(14, ${we-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,e6.jsx)(k,{size:14,color:v.color,strokeWidth:1.9})}),(0,e6.jsx)("text",{x:f,y:we+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.kind.toUpperCase()})]})}var a3r=10;function s3r(o,c,d){let g=a3r;return[`M 0 ${d}`,`L 0 ${c-g}`,`A ${g} ${g} 0 0 0 ${g} ${c}`,`L ${o-g} ${c}`,`A ${g} ${g} 0 0 0 ${o} ${c-g}`,`L ${o} ${d}`,`A ${o/2} ${d} 0 0 0 0 ${d}`,"Z"].join(" ")}var cS=Ai(sc(),1),u3r=36,kan=18;function Man({node:o,selected:c}){let d=o.width,g=o.height,f=jw[o.kind],b=f.icon,v=c?"var(--archik-selected)":"var(--archik-node-stroke)",k=c?1.8:1.4,T=o.stack!==void 0,N=Math.max(0,d-u3r),j=Gf(o.name,N,7.4),B=T?Gf(o.stack,N,5.9):"",G=d/2,K=g*.55,fe=T?K-4:K+4,ae=K+14;return(0,cS.jsxs)("g",{className:"archik-node archik-node--cloud",children:[(0,cS.jsx)("path",{className:c?"archik-selected-glow":void 0,d:l3r(d,g),fill:"var(--archik-node-fill)",stroke:v,strokeWidth:k,strokeLinejoin:"round"}),(0,cS.jsx)("g",{transform:`translate(18, ${kan-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,cS.jsx)(b,{size:14,color:f.color,strokeWidth:1.9})}),(0,cS.jsx)("text",{x:G,y:kan+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.kind.toUpperCase()}),(0,cS.jsx)("text",{x:G,y:fe,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:j}),T&&(0,cS.jsx)("text",{x:G,y:ae,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:B})]})}function l3r(o,c){let g=c-2,f=c*.62,b=Math.min(c*.18,14),v=o-4,k=c*.5,T=Math.min(v*.15,k*.85),N=Math.min(v*.18,k),j=Math.min(v*.15,k*.85),B=2*(T+N+j),G=Math.max(0,v-B)/4,K=2,fe=o-2,ae=K+G,we=ae+2*T,Oe=we+G,at=Oe+2*N,Mt=at+G,_e=Mt+2*j;return[`M ${K} ${g-b}`,`Q ${K} ${g} ${K+b} ${g}`,`L ${fe-b} ${g}`,`Q ${fe} ${g} ${fe} ${g-b}`,`L ${fe} ${f}`,`L ${_e} ${f}`,`A ${j} ${j} 0 0 0 ${Mt} ${f}`,`L ${at} ${f}`,`A ${N} ${N} 0 0 0 ${Oe} ${f}`,`L ${we} ${f}`,`A ${T} ${T} 0 0 0 ${ae} ${f}`,`L ${K} ${f}`,"Z"].join(" ")}var rb=Ai(sc(),1),Qq=32,FDe=14,jft=14;function xan({node:o,selected:c,depth:d=0}){let g=o.width,f=o.height;if(!(o.children.length>0))return(0,rb.jsx)(d3r,{node:o,selected:!!c});let v=jw[o.kind],k=v.icon,T=Math.min(.04+d*.06,.22),N=Math.min(.55+d*.12,.95),j=c?"var(--archik-selected)":"var(--archik-container-border)",B=c?1.8:1.2,G=Math.max(0,g-FDe*2-60),K=Gf(o.name,G,7.4);return(0,rb.jsxs)("g",{className:`archik-node archik-node--${o.kind} archik-node--container`,children:[(0,rb.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:g,height:f,rx:8,ry:8,fill:v.color,fillOpacity:T,stroke:j,strokeWidth:B,pointerEvents:"none"}),d>=1&&g>8&&f>8&&(0,rb.jsx)("rect",{x:3,y:3,width:g-6,height:f-6,rx:6,ry:6,fill:"none",stroke:v.color,strokeOpacity:Math.min(.18+(d-1)*.06,.32),strokeWidth:1,pointerEvents:"none"}),(0,rb.jsx)("path",{d:h3r(g,Qq,8),fill:v.color,fillOpacity:N*.18}),(0,rb.jsx)("line",{x1:0,y1:Qq,x2:g,y2:Qq,stroke:j,strokeOpacity:.45,strokeWidth:1}),(0,rb.jsx)("g",{transform:`translate(${FDe}, ${Qq/2-jft/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,rb.jsx)(k,{size:jft,color:v.color,strokeWidth:1.9})}),(0,rb.jsx)("text",{x:FDe+jft+8,y:Qq/2+4,fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:K}),(0,rb.jsx)("text",{x:g-FDe,y:Qq/2+3,textAnchor:"end",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.kind.toUpperCase()})]})}function h3r(o,c,d){return`M ${d} 0 H ${o-d} A ${d} ${d} 0 0 1 ${o} ${d} V ${c} H 0 V ${d} A ${d} ${d} 0 0 1 ${d} 0 Z`}function d3r({node:o,selected:c}){let d=o.width,g=o.height,f=jw[o.kind],b=c?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,rb.jsxs)("g",{className:`archik-node archik-node--${o.kind}`,children:[(0,rb.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:b,strokeWidth:c?1.8:1.2,strokeDasharray:c?void 0:"5 4"}),(0,rb.jsx)("text",{x:d/2,y:g/2+4,textAnchor:"middle",fontSize:12,fontWeight:600,fill:f.color,children:o.name})]})}var ib=Ai(sc(),1),wte=24,San=10,Bft=28;function _an({node:o,selected:c,depth:d=0}){let g=o.width,f=o.height,b=jw[o.kind],v=b.icon,k=o.kind==="external";if(o.children.length>0)return(0,ib.jsx)(f3r,{node:o,selected:!!c,depth:d});let T=c?"var(--archik-selected)":k?"var(--archik-node-stroke-soft)":"var(--archik-node-stroke)",N=k?"var(--archik-node-fill-tinted)":"var(--archik-node-fill)",j=o.kind==="queue"?Math.min(f/2,18):8;return(0,ib.jsxs)("g",{className:`archik-node archik-node--${o.kind} archik-node--compact`,children:[(0,ib.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:g,height:f,rx:j,ry:j,fill:N,stroke:T,strokeWidth:c?1.8:1.4,strokeDasharray:k&&!c?"5 4":void 0}),(0,ib.jsx)("g",{transform:`translate(${San}, ${f/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,ib.jsx)(v,{size:13,color:b.color,strokeWidth:1.9})}),(0,ib.jsx)("text",{x:Bft,y:f/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Gf(o.name,Math.max(0,g-Bft-8),5.9)})]})}function f3r({node:o,selected:c,depth:d}){let g=o.width,f=o.height,b=jw[o.kind],v=b.icon,k=Math.min(.04+d*.035,.14),T=Math.min(.55+d*.08,.85),N=c?"var(--archik-selected)":"var(--archik-container-border)",j=Math.max(0,g-12-22),B=Gf(o.name,j,5.9);return(0,ib.jsxs)("g",{className:`archik-node archik-node--${o.kind} archik-node--compact archik-node--container`,children:[(0,ib.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:g,height:f,rx:6,ry:6,fill:b.color,fillOpacity:k,stroke:N,strokeWidth:c?1.8:1.2}),(0,ib.jsx)("path",{d:p3r(g,wte,6),fill:b.color,fillOpacity:T*.18}),(0,ib.jsx)("line",{x1:0,y1:wte,x2:g,y2:wte,stroke:N,strokeOpacity:.45,strokeWidth:1}),(0,ib.jsx)("g",{transform:`translate(${San}, ${wte/2-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,ib.jsx)(v,{size:12,color:b.color,strokeWidth:1.9})}),(0,ib.jsx)("text",{x:Bft,y:wte/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:B})]})}function p3r(o,c,d){return`M ${d} 0 H ${o-d} A ${d} ${d} 0 0 1 ${o} ${d} V ${c} H 0 V ${d} A ${d} ${d} 0 0 1 ${d} 0 Z`}var B9=Ai(Rft(),1),sf=Ai(sc(),1),g3r=12,y3r=18;function Can({Icon:o,cx:c,cy:d,size:g=g3r,color:f,strokeWidth:b=1.8}){return(0,sf.jsx)("g",{transform:`translate(${c-g/2}, ${d-g/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,sf.jsx)(o,{size:g,color:f??"var(--archik-fg-dim)",strokeWidth:b})})}function Ian(o){return(0,sf.jsx)(Can,{Icon:B9.Info,...o})}function Lan(o){return(0,sf.jsx)(Can,{Icon:B9.StickyNote,...o})}function Ean({cx:o,cy:c,filePath:d,fileLabel:g,onClick:f,size:b=13}){return(0,sf.jsxs)("g",{transform:`translate(${o-b/2}, ${c-b/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,sf.jsx)("title",{children:`Cross-file edge \u2192 ${g} (${d})`}),(0,sf.jsx)("circle",{cx:b/2,cy:b/2,r:b/2+.5,fill:"var(--archik-fg-dim)",fillOpacity:.12,stroke:"var(--archik-fg-dim)",strokeOpacity:.4,strokeWidth:1}),(0,sf.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,sf.jsx)(B9.ArrowUpRight,{size:b-2,color:"var(--archik-fg-muted)",strokeWidth:2.2})})]})}function Tan({cx:o,cy:c,onClick:d,size:g=14}){return(0,sf.jsxs)("g",{transform:`translate(${o-g/2}, ${c-g/2})`,style:{cursor:d?"pointer":"default"},onClick:d,children:[(0,sf.jsx)("title",{children:"Open sub-architecture"}),(0,sf.jsx)("circle",{cx:g/2,cy:g/2,r:g/2+.5,fill:"var(--archik-accent)",fillOpacity:.16,stroke:"var(--archik-accent)",strokeOpacity:.45,strokeWidth:1}),(0,sf.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,sf.jsx)(B9.ChevronDown,{size:g-2,color:"var(--archik-accent)",strokeWidth:2.2})})]})}function Aan({cx:o,cy:c,filePath:d,fileLabel:g,onClick:f,size:b=14}){return(0,sf.jsxs)("g",{transform:`translate(${o-b/2}, ${c-b/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,sf.jsx)("title",{children:`Open sequence diagram \u2192 ${g} (${d})`}),(0,sf.jsx)("circle",{cx:b/2,cy:b/2,r:b/2+.5,fill:"var(--archik-status-proposed)",fillOpacity:.16,stroke:"var(--archik-status-proposed)",strokeOpacity:.5,strokeWidth:1}),(0,sf.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,sf.jsx)(B9.GitBranch,{size:b-2,color:"var(--archik-status-proposed)",strokeWidth:2.2})})]})}function Pan(o,c,d){switch(o){case"queue":{let f=Math.min(d/2,28);return{right:{x:c-f-4,y:14}}}case"database":return{right:{x:c-14,y:d-11}};default:return{right:{x:c-14,y:14}}}}function Nan(o,c){return Array.from({length:c},(d,g)=>({x:o.x-g*y3r,y:o.y}))}var Au=Ai(sc(),1);function b3r({node:o,selected:c,viewMode:d,depth:g}){if(d==="compact")return(0,Au.jsx)(_an,{node:o,selected:c,depth:g});if(o.children.length>0)return(0,Au.jsx)(xan,{node:o,selected:c,depth:g});switch(o.kind){case"queue":return(0,Au.jsx)(wan,{node:o,selected:c});case"external":case"human":return(0,Au.jsx)(man,{node:o,selected:c});case"database":return(0,Au.jsx)(van,{node:o,selected:c});case"cloud":return(0,Au.jsx)(Man,{node:o,selected:c});case"module":case"custom":case"service":case"function":case"worker":case"agent":case"cache":case"vectordb":case"storage":case"topic":case"stream":case"gateway":case"cdn":case"route":case"interface":case"adapter":case"port":case"llm":case"prompt":case"tool":case"auth":case"observability":case"frontend":case"page":case"component":case"store":case"hook":return(0,Au.jsx)(ban,{node:o,selected:c});default:{let f=o.kind;throw new Error("unreachable node kind")}}}function Hft({node:o,selectedNodeIds:c,glowNodeIds:d,onSelectNode:g,onOpenSubFile:f,onCrossFileNavigate:b,crossFileByNode:v,viewMode:k="detailed",depth:T=0}){let N=c?.has(o.id)??!1,j=d?.has(o.id)??!1,B=o.children.length>0,G=B?T+1:T,K=g?ae=>{ae.stopPropagation(),g(o.id,ae)}:void 0,fe=o.description!==void 0&&o.description.length>0;return(0,Au.jsxs)("g",{"data-archik-node-id":o.id,...N?{"data-archik-selected":"true"}:{},...o.status!==void 0&&o.status!=="active"?{"data-archik-status":o.status}:{},...o.stereotype!==void 0?{"data-archik-stereotype":o.stereotype}:{},transform:`translate(${o.x}, ${o.y})`,...K!==void 0?{onClick:K}:{},style:g?{cursor:"pointer"}:void 0,children:[j&&(0,Au.jsx)("rect",{x:-4,y:-4,width:o.width+8,height:o.height+8,rx:10,fill:"none",stroke:"var(--archik-status-proposed)",strokeWidth:2,opacity:.85,style:{pointerEvents:"none"}}),(0,Au.jsx)(b3r,{node:o,selected:N,viewMode:k,depth:T}),o.stereotype!==void 0&&(0,Au.jsxs)(Au.Fragment,{children:[(0,Au.jsx)("clipPath",{id:`archik-nclip-${o.id}`,children:(0,Au.jsx)("rect",{width:o.width,height:o.height,rx:8,ry:8})}),(0,Au.jsx)("rect",{className:"archik-stereotype-band",x:0,y:0,width:o.width,height:4,clipPath:`url(#archik-nclip-${o.id})`,style:{pointerEvents:"none"}})]}),k==="detailed"&&!B&&(()=>{let ae=o.notes!==void 0&&o.notes.length>0,we=o.archikFile!==void 0&&o.archikFile.length>0,Oe=v?.get(o.id),at=Oe?Array.from(Oe).sort():[],Mt=o.seqFiles??[],_e=[];we&&_e.push("subarch");for(let ln of Mt)_e.push({type:"seq",path:ln});for(let ln of at)_e.push({type:"crossfile",path:ln});if(fe&&_e.push("info"),ae&&_e.push("notes"),_e.length===0)return null;let dt=Pan(o.kind,o.width,o.height),Te=Nan(dt.right,_e.length);return(0,Au.jsx)(Au.Fragment,{children:_e.map((ln,tn)=>{let Un=Te[tn];if(typeof ln=="object"&&ln.type==="seq"){let rr=ln.path,Lr=rr.split("/").pop().replace(/\.archik\.seq\.yaml$/,""),gn=`/__archik/seq?path=${encodeURIComponent(rr)}`;return(0,Au.jsx)("a",{href:gn,onClick:Xr=>Xr.stopPropagation(),children:(0,Au.jsx)(Aan,{cx:Un.x,cy:Un.y,filePath:rr,fileLabel:Lr})},`seq-${rr}`)}if(typeof ln=="object"&&ln.type==="crossfile"){let rr=ln.path,Lr=rr.split("/").pop().replace(/\.archik\.yaml$/,""),gn=b??f,Xr=gn?Si=>{Si.stopPropagation(),gn(rr,Lr)}:void 0;return(0,Au.jsx)(Ean,{cx:Un.x,cy:Un.y,filePath:rr,fileLabel:Lr,...Xr?{onClick:Xr}:{}},`xf-${rr}`)}if(ln==="subarch"){let rr=o.archikFile,Lr=f?gn=>{gn.stopPropagation(),f(rr,o.name)}:void 0;return(0,Au.jsx)(Tan,{cx:Un.x,cy:Un.y,...Lr?{onClick:Lr}:{}},"subarch")}return ln==="info"?(0,Au.jsx)(Ian,{cx:Un.x,cy:Un.y,color:"var(--archik-node-caption)"},"info"):(0,Au.jsxs)("g",{children:[(0,Au.jsx)(Lan,{cx:Un.x,cy:Un.y,color:"var(--archik-node-caption)"}),o.notes&&o.notes.length>1&&(0,Au.jsx)("text",{x:Un.x+7,y:Un.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:o.notes.length})]},"notes")})})})(),o.children.map(ae=>(0,Au.jsx)(Hft,{node:ae,viewMode:k,depth:G,...c!==void 0?{selectedNodeIds:c}:{},...d!==void 0?{glowNodeIds:d}:{},...g!==void 0?{onSelectNode:g}:{},...f!==void 0?{onOpenSubFile:f}:{},...b!==void 0?{onCrossFileNavigate:b}:{},...v!==void 0?{crossFileByNode:v}:{}},ae.id))]})}var Pz=Ai(sc(),1),Bw="archik-arrow-filled",Az="archik-arrow-open",$ft="archik-arrow-selected",t6="var(--archik-edge-filled)",mte="var(--archik-edge-dim)",w3r={http_call:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},grpc:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},invokes:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},routes_to:{stroke:t6,strokeWidth:1.4,markerId:Bw},websocket:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw,markerStartId:Bw},webhook:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},reads:{stroke:t6,strokeWidth:1.4,markerId:Az},writes:{stroke:t6,strokeWidth:1.4,markerId:Bw},publishes:{stroke:t6,strokeWidth:1.4,markerId:Bw},subscribes:{stroke:t6,strokeWidth:1.4,markerId:Bw},streams_to:{stroke:t6,strokeWidth:1.4,markerId:Bw},implements:{stroke:mte,strokeWidth:1.2,markerId:Az},extends:{stroke:mte,strokeWidth:1.2,markerId:Az},depends_on:{stroke:mte,strokeWidth:1.2,markerId:Az},has_a:{stroke:mte,strokeWidth:1.2,markerId:Bw},uses:{stroke:mte,strokeWidth:1.2,markerId:Az}};function Ran(o){return o.map(c=>`${c.x},${c.y}`).join(" ")}function m3r(o){if(o.length===0)return;let c=Math.floor(o.length/2);if(o.length%2===1)return o[c];let d=o[c-1],g=o[c];return{x:(d.x+g.x)/2,y:(d.y+g.y)/2}}function Dan({edge:o,selectedEdgeIds:c,onSelectEdge:d}){let g=o.sections[0];if(!g)return null;let f=[g.startPoint,...g.bendPoints,g.endPoint],b=w3r[o.relationship],v=o.labels[0],k=v?{x:v.x+v.width/2,y:v.y+v.height/2}:m3r(f),T=c?.has(o.id)??!1,N=o.status==="proposed"?"var(--archik-status-proposed)":o.status==="deprecated"?"var(--archik-status-deprecated)":void 0,j=T?"var(--archik-selected)":N??o.color??b.stroke,B=T?b.strokeWidth+.5:b.strokeWidth,G=T?$ft:b.markerId,K=!T&&b.markerStartId!==void 0?b.markerStartId:void 0,fe=!T&&b.animated?"archik-edge-flowing":void 0,ae=b.strokeDasharray!==void 0?b.strokeDasharray.trim().split(/\s+/).reduce((at,Mt)=>at+Number(Mt),0):0,we=fe!==void 0&&ae>0?{"--archik-dash-period":String(ae)}:void 0,Oe=d?at=>{at.stopPropagation(),d(o.id,at)}:void 0;return(0,Pz.jsxs)("g",{"data-archik-edge-id":o.id,"data-archik-edge-relationship":o.relationship,...T?{"data-archik-selected":"true"}:{},...o.status!==void 0&&o.status!=="active"?{"data-archik-status":o.status}:{},className:`archik-edge archik-edge--${o.relationship}`,...Oe!==void 0?{onClick:Oe}:{},style:d?{cursor:"pointer"}:void 0,children:[d&&(0,Pz.jsx)("polyline",{"data-archik-edge-hitarea":"",points:Ran(f),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),(0,Pz.jsx)("polyline",{className:fe,points:Ran(f),fill:"none",stroke:j,strokeWidth:B,strokeLinecap:"round",strokeLinejoin:"round",markerEnd:`url(#${G})`,...K!==void 0?{markerStart:`url(#${K})`}:{},...b.strokeDasharray!==void 0?{strokeDasharray:b.strokeDasharray}:{},...we!==void 0?{style:we}:{}}),o.label!==void 0&&k!==void 0&&(0,Pz.jsx)("g",{transform:`translate(${k.x}, ${v?k.y+4:k.y-6})`,children:(0,Pz.jsx)("text",{textAnchor:"middle",fontSize:11,fontWeight:T?700:500,fill:T?"var(--archik-selected)":"var(--archik-fg-dim)",stroke:"var(--archik-panel)",strokeWidth:T?4:3,paintOrder:"stroke",children:o.label})})]})}var ob=Ai(sc(),1);var Uft={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function v3r(o){let c=[],d=(g,f,b)=>{for(let v of g){let k=f+v.x,T=b+v.y;c.push({...v,absX:k,absY:T}),v.children.length>0&&d(v.children,k,T)}};return d(o,0,0),c}function k3r(o){return o.replace(/[^a-z0-9-]/g,c=>`\\${c}`)}function zan({statuses:o,scopeClass:c}){let d=[];for(let[f,b]of o.nodes)b==="removed"&&d.push(f);if(d.length===0)return null;let g=d.map(f=>`.${c} [data-archik-node-id="${k3r(f)}"] { opacity: 0.35; }`).join(`
504
+ ${Ag(d.errors)}`);return d.value}function kee(o){return Xht.default.stringify(o,{indent:2,lineWidth:0})}var f$n=6;function Kht(o,c){return Mee.relative(o,c).split(Mee.sep).join("/")||Mee.basename(c)}function p$n(o){return o.endsWith(".archik.yaml")&&!o.endsWith(".archik.suggested.yaml")}async function z0(o,c){let d=[],g=[],f=new Set,b=async k=>{if(f.has(k))return;f.add(k);let T;try{T=await h$n(k,"utf-8")}catch(N){g.push({abs:k,relPath:Kht(c,k),message:N instanceof Error?N.message:String(N)});return}try{let N=P2(T);d.push({abs:k,relPath:Kht(c,k),doc:N})}catch(N){g.push({abs:k,relPath:Kht(c,k),message:N instanceof Error?N.message:String(N)})}};await b(o);let v=async(k,T)=>{if(T>f$n)return;let N;try{N=await d$n(k,{withFileTypes:!0})}catch{return}for(let j of N){let B=Mee.join(k,j.name);if(j.isDirectory()){await v(B,T+1);continue}j.isFile()&&p$n(j.name)&&await b(B)}};return await v(Mee.join(c,".archik"),0),{docs:d,errors:g}}var prn=Ai(Gx(),1);import{readFile as S$n,readdir as _$n}from"node:fs/promises";import See from"node:path";var g$n=jt.enum(["sync","async","return","create","destroy"]),y$n=jt.enum(["over","left_of","right_of"]),b$n=jt.enum(["alt","opt","loop","par","break","ref"]),w$n=jt.strictObject({id:$l,nodeId:$l,label:jt.string().min(1).optional(),status:g3.optional()}),m$n=jt.strictObject({type:jt.literal("message"),id:$l,from:$l,to:$l,label:jt.string().min(1),arrow:g$n,activate:jt.boolean().optional(),status:g3.optional()}),v$n=jt.strictObject({type:jt.literal("note"),id:$l,position:y$n,participants:jt.array($l).min(1),text:jt.string().min(1),status:g3.optional()}),k$n=jt.lazy(()=>jt.strictObject({label:jt.string().optional(),steps:jt.array(drn)})),M$n=jt.lazy(()=>jt.strictObject({type:jt.literal("group"),id:$l,kind:b$n,condition:jt.string().optional(),label:jt.string().optional(),branches:jt.array(k$n).optional(),seqFile:vee.optional(),participants:jt.array($l).optional(),status:g3.optional()})),drn=jt.lazy(()=>jt.union([m$n,v$n,M$n]));function frn(o,c){let d=[];for(let g of o)if(c.has(g.id)?d.push(g.id):c.add(g.id),g.type==="group"&&g.branches)for(let f of g.branches)d.push(...frn(f.steps,c));return d}var x$n=jt.strictObject({useCase:$l,slice:$l}),xee=jt.strictObject({version:jt.literal("1.0"),name:jt.string().min(1),description:jt.string().optional(),realizes:x$n.optional(),participants:jt.array(w$n).min(1),steps:jt.array(drn)}).superRefine((o,c)=>{let d=new Set;for(let b=0;b<o.participants.length;b++){let v=o.participants[b];d.has(v.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["participants",b,"id"],message:`duplicate participant id "${v.id}"`}),d.add(v.id)}let g=new Set,f=frn(o.steps,g);for(let b of f)c.addIssue({code:jt.ZodIssueCode.custom,path:["steps"],message:`duplicate step id "${b}"`})});var C$n=6;function I$n(o,c){return See.relative(o,c).split(See.sep).join("/")||See.basename(c)}async function J5(o){let c=[],d=[],g=async b=>{let v=I$n(o,b),k;try{k=await S$n(b,"utf-8")}catch(T){d.push({abs:b,relPath:v,message:T instanceof Error?T.message:String(T)});return}try{let T=prn.default.parse(k),N=xee.safeParse(T);if(!N.success){d.push({abs:b,relPath:v,message:N.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:N.data})}catch(T){d.push({abs:b,relPath:v,message:T instanceof Error?T.message:String(T)})}},f=async(b,v)=>{if(v>C$n)return;let k;try{k=await _$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let N=See.join(b,T.name);if(T.isDirectory()){await f(N,v+1);continue}T.isFile()&&T.name.endsWith(".archik.seq.yaml")&&await g(N)}};return await f(See.join(o,".archik"),0),{docs:c,errors:d}}var yrn=Ai(Gx(),1);import{readFile as O$n,readdir as F$n}from"node:fs/promises";import _ee from"node:path";var L$n=jt.string().min(1).refine(o=>!o.startsWith("/")&&!/^[a-zA-Z]:[\\/]/.test(o),{message:"test path must be relative (no leading / or drive letter)"}).refine(o=>!o.includes("\\"),{message:"test path must use forward slashes"}).refine(o=>!o.split("/").some(c=>c===".."),{message:"test path must not contain `..` segments"}),E$n=/^[a-z][a-z0-9-]*\.\d+$/,T$n=jt.string().regex(E$n,"branchFrom must be `<flowId>.<stepNumber>` (e.g. basic.3)"),A$n=jt.strictObject({steps:jt.array(jt.string().min(1)).min(1)}),P$n=jt.strictObject({id:$l,branchFrom:T$n,steps:jt.array(jt.string().min(1)).min(1)}),N$n=jt.strictObject({basic:A$n,alternates:jt.array(P$n).optional()}),R$n=jt.strictObject({seqFile:vee}),D$n=jt.strictObject({id:$l,description:jt.string().min(1),flows:jt.array($l).min(1),tests:jt.array(L$n).optional(),realization:R$n.optional(),status:g3.optional()}),grn=jt.strictObject({version:jt.literal("1.0"),id:$l,name:jt.string().min(1),description:jt.string().optional(),status:g3.optional(),primaryActor:$l,secondaryActors:jt.array($l).optional(),goal:jt.string().min(1),preconditions:jt.array(jt.string().min(1)).optional(),postconditions:jt.array(jt.string().min(1)).optional(),flows:N$n,slices:jt.array(D$n).min(1)}).superRefine((o,c)=>{let d=new Map;d.set("basic",o.flows.basic.steps.length);let g=new Set;o.flows.alternates&&(o.flows.alternates.forEach((b,v)=>{b.id==="basic"&&c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"id"],message:'alternate id "basic" collides with the basic flow'}),g.has(b.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"id"],message:`duplicate alternate flow id "${b.id}"`}),g.add(b.id),d.set(b.id,b.steps.length)}),o.flows.alternates.forEach((b,v)=>{let[k,T]=b.branchFrom.split("."),N=Number(T),j=d.get(k);if(j===void 0){c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"branchFrom"],message:`branchFrom "${b.branchFrom}" references unknown flow "${k}"`});return}(N<1||N>j)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"branchFrom"],message:`branchFrom "${b.branchFrom}" step ${N} is out of range (flow "${k}" has ${j} step(s))`})}));let f=new Set;o.slices.forEach((b,v)=>{f.has(b.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"id"],message:`duplicate slice id "${b.id}"`}),f.add(b.id),b.flows.forEach((T,N)=>{d.has(T)||c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"flows",N],message:`slice "${b.id}" references unknown flow "${T}". Available: ${Array.from(d.keys()).join(", ")}.`})}),b.flows.includes("basic")||c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"flows"],message:`slice "${b.id}" does not include the basic flow. Slices must include "basic" plus zero or more alternates that branch off it; otherwise the alternate has no prefix to branch from.`}),!(b.status==="proposed"||b.status==="deprecated")&&(b.tests===void 0||b.tests.length===0)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"tests"],message:`slice "${b.id}" has no tests. Active slices must declare at least one test path (each must exist on disk). Mark the slice \`status: proposed\` if the test isn't written yet.`})})});var z$n=6;function j$n(o,c){return _ee.relative(o,c).split(_ee.sep).join("/")||_ee.basename(c)}function B$n(o){return o.endsWith(".archik.uc.yaml")}async function Zy(o){let c=[],d=[],g=async b=>{let v=j$n(o,b),k;try{k=await O$n(b,"utf-8")}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let T;try{T=yrn.default.parse(k)}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let N=grn.safeParse(T);if(!N.success){d.push({abs:b,relPath:v,message:N.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:N.data})},f=async(b,v)=>{if(v>z$n)return;let k;try{k=await F$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let N=_ee.join(b,T.name);if(T.isDirectory()){await f(N,v+1);continue}T.isFile()&&B$n(T.name)&&await g(N)}};return await f(_ee.join(o,".archik","usecases"),0),{docs:c,errors:d}}var wrn=Ai(Gx(),1);import{readFile as U$n,readdir as q$n}from"node:fs/promises";import Cee from"node:path";var H$n=jt.enum(["human","external-system","time","device"]),$$n=jt.strictObject({id:$l,kind:H$n,description:jt.string().min(1),goals:jt.array(jt.string().min(1)).optional(),status:g3.optional()}),brn=jt.strictObject({version:jt.literal("1.0"),description:jt.string().optional(),actors:jt.array($$n).min(1)}).superRefine((o,c)=>{let d=new Set;o.actors.forEach((g,f)=>{d.has(g.id)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["actors",f,"id"],message:`duplicate actor id "${g.id}"`}),d.add(g.id)})});var G$n=6;function V$n(o,c){return Cee.relative(o,c).split(Cee.sep).join("/")||Cee.basename(c)}function W$n(o){return o.endsWith(".archik.actors.yaml")}async function Zx(o){let c=[],d=[],g=async b=>{let v=V$n(o,b),k;try{k=await U$n(b,"utf-8")}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let T;try{T=wrn.default.parse(k)}catch(j){d.push({abs:b,relPath:v,message:j instanceof Error?j.message:String(j)});return}let N=brn.safeParse(T);if(!N.success){d.push({abs:b,relPath:v,message:N.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:N.data})},f=async(b,v)=>{if(v>G$n)return;let k;try{k=await q$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let N=Cee.join(b,T.name);if(T.isDirectory()){await f(N,v+1);continue}T.isFile()&&W$n(T.name)&&await g(N)}};return await f(Cee.join(o,".archik"),0),{docs:c,errors:d}}function mrn(o,c,d,g){o.forEach((f,b)=>{let v=`${g}.${b}`;f.type==="message"?(c.has(f.from)||d.push({path:`${v}.from`,message:`participant "${f.from}" is not declared in participants`}),c.has(f.to)||d.push({path:`${v}.to`,message:`participant "${f.to}" is not declared in participants`})):f.type==="note"?f.participants.forEach((k,T)=>{c.has(k)||d.push({path:`${v}.participants.${T}`,message:`participant "${k}" is not declared in participants`})}):f.type==="group"&&f.branches&&f.branches.forEach((k,T)=>{mrn(k.steps,c,d,`${v}.branches.${T}.steps`)})})}function vrn(o,c){let d=[],g=new Set;return o.participants.forEach((f,b)=>{g.add(f.id),c.has(f.nodeId)||d.push({path:`participants.${b}.nodeId`,message:`nodeId "${f.nodeId}" does not match any architecture node. Run \`npx archik q list\` to see available node ids.`})}),mrn(o.steps,g,d,"steps"),d}var J$n={boundary:new Set(["control"]),control:new Set(["boundary","control","entity"]),entity:new Set(["control","entity"])};function krn(o,c,d,g,f,b){o.forEach((v,k)=>{let T=`${f}.${k}`;if(v.type==="message"){let N=c.get(v.from),j=c.get(v.to);if(N===void 0||j===void 0)return;let B=J$n[N];B&&!B.has(j)&&b.push({path:`${d}:${T}`,message:`ECB violation in seq "${g}" message "${v.id}": ${N} \u2192 ${j} is forbidden by the robustness rules (boundaries don't talk to boundaries or entities; entities don't talk to boundaries). Insert a control between them, or revisit the stereotype assignment.`})}else v.type==="group"&&v.branches&&v.branches.forEach((N,j)=>{krn(N.steps,c,d,g,`${T}.branches.${j}.steps`,b)})})}function Mrn(o,c){let d=[],g=new Map;for(let{doc:f}of c)for(let b of f.nodes)b.stereotype!==void 0&&g.set(b.id,b.stereotype);for(let f of o){if(f.doc.realizes===void 0)continue;let b=new Map;for(let v of f.doc.participants){let k=g.get(v.nodeId);k!==void 0&&b.set(v.id,k)}krn(f.doc.steps,b,f.relPath,f.doc.name,"steps",d)}return d}function xrn(o,c){let d=[],g=new Map;for(let{doc:f}of c)for(let b of f.nodes){let v=g.get(b.id)??new Set;for(let k of b.seqFiles??[])v.add(k);g.set(b.id,v)}for(let f of o){if(f.doc.realizes===void 0)continue;let b=new Set;for(let v of f.doc.participants){if(b.has(v.nodeId))continue;let k=g.get(v.nodeId);k!==void 0&&(k.has(f.relPath)||(b.add(v.nodeId),d.push({path:`${f.relPath}:participants.${v.id}`,message:`seq "${f.doc.name}" lists node "${v.nodeId}" as a participant, but that node's \`seqFiles\` array does not reference this diagram. Add "${f.relPath}" to node "${v.nodeId}"'s \`seqFiles\` array via \`npx archik suggest set\` so the canvas can surface the flow on that node.`})))}}return d}function Srn(o,c){let d=[],g=new Map(c.map(f=>[f.doc.id,f]));for(let f of o){if(f.doc.realizes===void 0)continue;let{useCase:b,slice:v}=f.doc.realizes,k=g.get(b);if(k===void 0){d.push({path:`${f.relPath}:realizes.useCase`,message:`seq diagram "${f.doc.name}" claims to realize use case "${b}" but no such use case file was found.`});continue}let T=k.doc.slices.find(N=>N.id===v);if(T===void 0){d.push({path:`${f.relPath}:realizes.slice`,message:`seq diagram "${f.doc.name}" claims to realize slice "${v}" of use case "${b}", but that use case has no slice with that id. Available slices: ${k.doc.slices.map(N=>N.id).join(", ")}.`});continue}if(T.realization===void 0){d.push({path:`${f.relPath}:realizes.slice`,message:`seq diagram "${f.doc.name}" realizes slice "${v}" of "${b}", but the slice does not declare \`realization.seqFile\`. Add \`realization: { seqFile: "${f.relPath}" }\` to slice "${v}" in ${k.relPath}.`});continue}T.realization.seqFile!==f.relPath&&d.push({path:`${f.relPath}:realizes.slice`,message:`seq diagram "${f.doc.name}" realizes slice "${v}" of "${b}", but that slice's realization.seqFile points at "${T.realization.seqFile}", not at this file ("${f.relPath}"). Pick one canonical seq file and update both sides.`})}return d}function _rn(o){let c=new Map,d=[];for(let{relPath:g,doc:f}of o)for(let b of f.actors){let v=c.get(b.id);if(v!==void 0){d.push({path:g,message:`actor id "${b.id}" is duplicated across actor files (also defined in ${v.relPath})`});continue}c.set(b.id,{relPath:g})}return{index:c,errors:d}}function Crn(o){let c=new Map,d=[];for(let{relPath:g,doc:f}of o){let b=c.get(f.id);if(b!==void 0){d.push({path:g,message:`use case id "${f.id}" is duplicated across files (also defined in ${b.relPath})`});continue}c.set(f.id,{relPath:g})}return{index:c,errors:d}}function Irn(o,c){let d=[];for(let{relPath:g,doc:f}of o)c.has(f.primaryActor)||d.push({path:`${g}:primaryActor`,message:`use case "${f.id}" references unknown primaryActor "${f.primaryActor}". Define it in a *.archik.actors.yaml file.`}),f.secondaryActors&&f.secondaryActors.forEach((b,v)=>{c.has(b)||d.push({path:`${g}:secondaryActors.${v}`,message:`use case "${f.id}" references unknown secondary actor "${b}". Define it in a *.archik.actors.yaml file.`})});return d}function Lrn(o,c){let d=[];for(let{relPath:g,doc:f}of o)f.slices.forEach((b,v)=>{b.status==="proposed"||b.status==="deprecated"||b.tests!==void 0&&b.tests.forEach((T,N)=>{c(T)||d.push({path:`${g}:slices.${v}.tests.${N}`,message:`slice "${b.id}" test "${T}" does not exist on disk (resolved relative to project root). Either fix the path or mark the slice \`status: proposed\`.`})})});return d}function Ern(o,c){let d=[],g=new Map(c.map(f=>[f.relPath,f]));for(let{relPath:f,doc:b}of o)b.slices.forEach((v,k)=>{if(v.realization===void 0)return;let T=g.get(v.realization.seqFile);if(T===void 0){d.push({path:`${f}:slices.${k}.realization.seqFile`,message:`slice "${v.id}" realization seqFile "${v.realization.seqFile}" does not exist or did not parse. Run \`npx archik q sequences\` to see available seq files.`});return}if(T.doc.realizes===void 0){d.push({path:`${f}:slices.${k}.realization.seqFile`,message:`slice "${v.id}" claims realization "${v.realization.seqFile}", but that seq diagram has no \`realizes\` block. Add \`realizes: { useCase: "${b.id}", slice: "${v.id}" }\` to ${T.relPath}, or remove the realization claim.`});return}(T.doc.realizes.useCase!==b.id||T.doc.realizes.slice!==v.id)&&d.push({path:`${f}:slices.${k}.realization.seqFile`,message:`slice "${v.id}" claims realization "${v.realization.seqFile}", but that seq diagram's \`realizes\` points at "${T.doc.realizes.useCase}/${T.doc.realizes.slice}", not at "${b.id}/${v.id}". Pick one canonical link.`})});return d}import Iee from"node:path";function Xx(o){let c=Iee.dirname(o),d=Iee.basename(o),g=Iee.extname(d),f=g.length>0?d.slice(0,-g.length):d;return Iee.join(c,`${f}.suggested${g}`)}function Lq(o){return Iee.basename(o).endsWith(".archik.suggested.yaml")?"suggested":"normal"}function Trn(o){return o.metadata?.suggestion!==void 0}function ape(o){if(o.metadata?.suggestion===void 0)return o;let{suggestion:c,...d}=o.metadata,g={...o};return Object.keys(d).length===0?delete g.metadata:g.metadata=d,g}var K$n=o=>{let c=Zr(o,"json");return c!==void 0&&c!=="false"&&c!=="0"};function Z5(o){console.log(JSON.stringify(o,null,2))}async function Nrn(o){let c=K$n(o),d;try{d=await Lu(o._[0])}catch(Te){let ln=Te instanceof Error?Te.message:String(Te);return c?Z5({ok:!1,errors:[{path:"<root>",message:ln}]}):console.error(`\u2717 ${ln}`),1}let g=Arn.relative(process.cwd(),d)||d,f;try{f=await X$n(d,"utf-8")}catch(Te){let ln=Te instanceof Error?Te.message:String(Te);return c?Z5({ok:!1,file:g,errors:[{path:"<root>",message:ln}]}):(console.error(`\u2717 Cannot read ${g}`),console.error(ln)),1}let b;try{b=Prn.default.parse(f)}catch(Te){let tn=[{path:"<root>",message:`Invalid YAML: ${Te instanceof Error?Te.message:String(Te)}`}];return c?Z5({ok:!1,file:g,errors:tn}):(console.error(`\u2717 ${g}`),console.error(Ag(tn))),1}let v=dL(b);if(!v.ok)return c?Z5({ok:!1,file:g,errors:v.errors}):(console.error(`\u2717 ${g}`),console.error(Ag(v.errors))),1;let k=V1(d),T=Te=>Z$n(Arn.resolve(k,Te)),N=Iq(v.value,T);if(N.length>0)return c?Z5({ok:!1,file:g,errors:N}):(console.error(`\u2717 ${g}`),console.error(Ag(N))),1;let j=Lq(d),B=Cq(v.value,j,T);if(B.length>0)return c?Z5({ok:!1,file:g,errors:B}):(console.error(`\u2717 ${g}`),console.error(Ag(B))),1;let G=await z0(d,k);if(G.errors.length>0){if(c)Z5({ok:!1,file:g,errors:G.errors.map(Te=>({path:Te.relPath,message:Te.message}))});else for(let Te of G.errors)console.error(`\u2717 ${Te.relPath}: ${Te.message}`);return 1}let K=new Set(G.docs.flatMap(Te=>Te.doc.nodes.map(ln=>ln.id))),fe=[];for(let{doc:Te}of G.docs)fe.push(...hrn(Te,T));if(fe.length>0){if(c)Z5({ok:!1,file:g,errors:fe});else{console.error("\u2717 seqFiles path errors:");for(let Te of fe)console.error(` \u2717 ${Te.path}: ${Te.message}`)}return 1}let ae=await J5(k),we=0;for(let Te of ae.errors)c||console.error(`\u2717 ${Te.relPath}: ${Te.message}`),we++;for(let{relPath:Te,doc:ln}of ae.docs){let tn=vrn(ln,K);if(tn.length>0){if(!c){console.error(`\u2717 ${Te}`);for(let Un of tn)console.error(` \u2717 ${Un.path}: ${Un.message}`)}we+=tn.length}}if(we>0)return c&&Z5({ok:!1,file:g,errors:[{path:"<seq>",message:`${we} sequence diagram error(s)`}]}),1;let Oe=await Zy(k),at=await Zx(k),Mt=[];for(let Te of Oe.errors)Mt.push({path:Te.relPath,message:Te.message});for(let Te of at.errors)Mt.push({path:Te.relPath,message:Te.message});if(Mt.length===0){let Te=_rn(at.docs);Mt.push(...Te.errors);let ln=Crn(Oe.docs);Mt.push(...ln.errors),Mt.length===0&&(Mt.push(...Irn(Oe.docs,Te.index)),Mt.push(...Lrn(Oe.docs,T)),Mt.push(...Ern(Oe.docs,ae.docs)),Mt.push(...Srn(ae.docs,Oe.docs)),Mt.push(...Mrn(ae.docs,G.docs)),Mt.push(...xrn(ae.docs,G.docs)))}if(Mt.length>0)return c?Z5({ok:!1,file:g,errors:Mt}):(console.error(`\u2717 ${g}`),console.error(Ag(Mt))),1;let _e=at.docs.reduce((Te,ln)=>Te+ln.doc.actors.length,0),dt=Oe.docs.length;if(c)Z5({ok:!0,file:g,nodes:v.value.nodes.length,edges:v.value.edges.length,useCases:dt,actors:_e});else{let Te=G.docs.reduce((gn,Xr)=>gn+Xr.doc.nodes.length,0),ln=G.docs.reduce((gn,Xr)=>gn+Xr.doc.edges.length,0),tn=G.docs.length,Un=tn>1?` (${tn} files)`:"",rr=dt>0?`, ${dt} use case${dt===1?"":"s"}`:"",Lr=_e>0?`, ${_e} actor${_e===1?"":"s"}`:"";console.log(`\u2713 ${g}${Un} \u2014 ${Te} nodes, ${ln} edges${rr}${Lr}`)}return 0}var Gft=Ai(y3(),1),Vft=Ai(Mge(),1),Wan=Ai(Gx(),1);import{mkdir as qan,readFile as Gan,writeFile as Van}from"node:fs/promises";import eG from"node:path";var Ucn=Ai(jcn(),1);function gte(o,c){return o.length*c}function Gf(o,c,d){if(c<=0)return"";let g=Math.floor(c/d);return o.length<=g?o:g<=1?"\u2026":o.slice(0,g-1)+"\u2026"}var yte={nodeSpacing:60,layerSpacing:100,padding:40,viewMode:"detailed"};function QVn(o){let c=o.nodeSpacing??yte.nodeSpacing,d=o.layerSpacing??yte.layerSpacing,g=o.padding??yte.padding;return{"elk.algorithm":"layered","elk.direction":"RIGHT","elk.edgeRouting":"ORTHOGONAL","elk.layered.spacing.nodeNodeBetweenLayers":String(d),"elk.spacing.nodeNode":String(c),"elk.padding":`[top=${g}, left=${g}, bottom=${g}, right=${g}]`,"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 Eh={width:172,height:82},Bcn={width:172,height:90},eWn={service:Eh,function:Eh,worker:Eh,agent:Eh,database:{width:184,height:100},cache:Bcn,vectordb:Eh,storage:Eh,queue:{width:188,height:80},topic:Eh,stream:Eh,gateway:Eh,cdn:Eh,route:Eh,interface:Eh,adapter:Eh,port:Eh,llm:Eh,prompt:Eh,tool:Eh,auth:Eh,observability:Eh,cloud:{width:200,height:120},frontend:Bcn,page:Eh,component:Eh,store:Eh,hook:Eh,external:{width:184,height:100},human:{width:184,height:100},module:{width:240,height:130},custom:{width:240,height:130}},yl={width:152,height:36},Hcn={width:200,height:80},tWn={service:yl,function:yl,worker:yl,agent:yl,database:yl,cache:yl,vectordb:yl,storage:yl,queue:{width:168,height:36},topic:yl,stream:yl,gateway:yl,cdn:yl,route:yl,interface:yl,adapter:yl,port:yl,llm:yl,prompt:yl,tool:yl,auth:yl,observability:yl,cloud:yl,frontend:yl,page:yl,component:yl,store:yl,hook:yl,external:{width:168,height:40},human:{width:168,height:40},module:Hcn,custom:Hcn},nWn=24,$cn=320;function rWn(o,c,d){if(o.kind==="module"||o.kind==="custom")return c;if(d==="compact"){let k=36+gte(o.name,5.9)+12;return Math.max(c,Math.min($cn,Math.ceil(k)))}let g=gte(o.name,7.4),f=o.stack!==void 0?gte(o.stack,5.9):0,b=Math.max(g,f)+nWn;return Math.max(c,Math.min($cn,Math.ceil(b)))}var iWn={top:48,left:18,bottom:18,right:18};function oWn(o,c,d,g){let f=d[o.kind],b={id:o.id,width:rWn(o,f.width,g),height:f.height};if(c.length>0){b.children=c;let v=g==="compact"?{top:30,left:12,bottom:12,right:12}:iWn;b.layoutOptions={"elk.padding":`[top=${v.top}, left=${v.left}, bottom=${v.bottom}, right=${v.right}]`}}return b}function cWn(o,c,d){let g=new Map;for(let k of o.nodes)g.set(k.id,k);let f=new Map;for(let k of o.nodes){let T=f.get(k.parentId)??[];T.push(k),f.set(k.parentId,T)}function b(k){let T=(f.get(k.id)??[]).map(b);return oWn(k,T,c,d)}return{roots:(f.get(void 0)??[]).map(b),byId:g}}function aWn(o){return o.fromFile===void 0&&o.toFile===void 0}function sWn(o){return o.edges.filter(aWn).map(c=>{let d={id:c.id,sources:[c.from],targets:[c.to]};return c.label!==void 0&&c.label.length>0&&(d.labels=[{text:c.label,width:Math.ceil(gte(c.label,5.9)),height:14}]),d})}function zw(o){return o??0}function qcn(o,c){let d=c.get(o.id);if(!d)throw new Error(`ELK returned unknown node id "${o.id}"`);let g=(o.children??[]).map(f=>qcn(f,c));return{...d,x:zw(o.x),y:zw(o.y),width:zw(o.width),height:zw(o.height),children:g}}function uWn(o,c){let d=new Map,g=new Map,f=(N,j,B,G)=>{let K=j+zw(N.x),fe=B+zw(N.y);d.set(N.id,{x:K,y:fe}),g.set(N.id,G);let ae=[...G,N.id];for(let we of N.children??[])f(we,K,fe,ae)};f(o,0,0,[]);let b=(N,j)=>{let B=g.get(N)??[],G=g.get(j)??[],K=0;for(;K<B.length&&K<G.length&&B[K]===G[K];)K++;let fe=K===0?o.id:B[K-1];return d.get(fe)??{x:0,y:0}},v=new Map,k=new Map,T=N=>{for(let j of N.edges??[]){let B=j.sources?.[0]??"",G=j.targets?.[0]??"",K=b(B,G),fe=Oe=>({x:zw(Oe.x)+K.x,y:zw(Oe.y)+K.y}),ae=(j.sections??[]).map(Oe=>({startPoint:fe(Oe.startPoint),endPoint:fe(Oe.endPoint),bendPoints:(Oe.bendPoints??[]).map(fe)}));v.set(j.id,ae);let we=(j.labels??[]).map(Oe=>({text:typeof Oe.text=="string"?Oe.text:"",x:zw(Oe.x)+K.x,y:zw(Oe.y)+K.y,width:zw(Oe.width),height:zw(Oe.height)}));k.set(j.id,we)}for(let j of N.children??[])T(j)};return T(o),c.edges.map(N=>({...N,sections:v.get(N.id)??[],labels:k.get(N.id)??[]}))}var lWn=new Ucn.default;async function hWn(o,c={}){if(o.nodes.length===0)return{document:o,width:0,height:0,roots:[],edges:[]};let d=c.viewMode==="compact"?"compact":"detailed",g=d==="compact"?tWn:eWn,{roots:f,byId:b}=cWn(o,g,d),v={id:"__root__",layoutOptions:QVn(c),children:f,edges:sWn(o)},k=await lWn.layout(v),T=(k.children??[]).map(N=>qcn(N,b));return{document:o,width:zw(k.width),height:zw(k.height),roots:T,edges:uWn(k,o)}}var xge={name:"elk",layout:hWn};var tri={[xge.name]:xge},dWn=xge;function Xq(o,c){return dWn.layout(o,c)}var Sge="seq-arrow-filled",_ge="seq-arrow-open";function fWn(o){return Math.max(160,o.length*8+80)}function Gcn(o,c,d,g,f){let b=d,v=[];for(let k of o)if(k.type==="message"){let T=c.get(k.from),N=c.get(k.to),j=T?.cx??g,B=N?.cx??g;v.push({type:"message",id:k.id,fromCx:j,toCx:B,y:b,label:k.label,arrow:k.arrow,activate:k.activate??!1,isSelf:k.from===k.to,...k.status!==void 0?{status:k.status}:{}}),b+=k.from===k.to?56*1.5:56}else if(k.type==="note"){let T=k.participants.map(K=>c.get(K)?.cx).filter(K=>K!==void 0).sort((K,fe)=>K-fe),N=T[0]??g,j=T[T.length-1]??f,B=Math.min(Math.max(k.text.length*7.5+24,j-N+16,80),400),G;k.position==="left_of"?G=N-B-8:k.position==="right_of"?G=j+8:G=(N+j)/2-B/2,G=Math.max(0,G),v.push({type:"note",id:k.id,x:G,y:b,width:B,height:64,text:k.text,...k.status!==void 0?{status:k.status}:{}}),b+=72}else if(k.type==="group"){b+=8;let T=g-12,N=f-g+24,j=b;b+=24;let B=[];if(k.branches)for(let G=0;G<k.branches.length;G++){let K=k.branches[G],fe=b,{items:ae,endY:we}=Gcn(K.steps,c,b,g,f);b=we,B.push({...K.label!==void 0?{label:K.label}:{},startY:fe,...G<k.branches.length-1?{dividerY:b}:{},steps:ae}),G<k.branches.length-1&&(b+=4)}b+=12,v.push({type:"group",id:k.id,kind:k.kind,...k.condition!==void 0?{condition:k.condition}:{},...k.label!==void 0?{label:k.label}:{},...k.seqFile!==void 0?{seqFile:k.seqFile}:{},x:T,y:j,width:N,height:b-j,branches:B,...k.status!==void 0?{status:k.status}:{}})}return{items:v,endY:b}}function Vcn(o){let c=new Map;for(let d of o)if(d.type==="message"&&d.arrow==="destroy"&&c.set(d.toCx,d.y+56+20),d.type==="group")for(let g of d.branches)for(let[f,b]of Vcn(g.steps))c.set(f,b);return c}function pWn(o){let c=[],d=new Map;function g(f){for(let b of f)if(b.type==="message"){if(b.activate&&b.arrow==="sync"&&!b.isSelf){let v=d.get(b.toCx)??[];v.push(b.y),d.set(b.toCx,v)}if(b.arrow==="return"&&!b.isSelf){let v=d.get(b.fromCx);if(v&&v.length>0){let k=v.pop();c.push({cx:b.fromCx,startY:k,endY:b.y}),v.length===0&&d.delete(b.fromCx)}}}else if(b.type==="group")for(let v of b.branches)g(v.steps)}g(o);for(let[f,b]of d)for(let v of b)c.push({cx:f,startY:v,endY:v+56/2});return c}function Wcn(o,c){let d=o.participants.map(we=>fWn(we.label??we.nodeId)),g=32,f=o.participants.map((we,Oe)=>{let at=d[Oe],Mt=g+at/2;g+=at;let _e=c?.get(we.nodeId);return{id:we.id,nodeId:we.nodeId,label:we.label??we.nodeId,cx:Mt,colWidth:at,..._e!==void 0?{kind:_e}:{},...we.status!==void 0?{status:we.status}:{},lifelineEndY:0}}),b=g+32,v=new Map(f.map(we=>[we.id,we])),k=f[0]?.cx??32,T=f[f.length-1]?.cx??b-32,N=24,{items:j,endY:B}=Gcn(o.steps,v,N,k,T),G=56+B+24,K=Vcn(j),fe=f.map(we=>({...we,lifelineEndY:K.get(we.cx)??G})),ae=pWn(j);return{participants:fe,steps:j,activations:ae,totalWidth:b,totalHeight:G}}var Ci=Ai(Rft(),1);var M3=Ai(sc(),1),nan=(o,c,d)=>({width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:c,strokeWidth:d,strokeLinecap:"round",strokeLinejoin:"round"});function ran({size:o=16,color:c="currentColor",strokeWidth:d=1.8}){return(0,M3.jsxs)("svg",{...nan(o,c,d),"aria-hidden":"true",children:[(0,M3.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3.5",ry:"3.5"}),(0,M3.jsx)("line",{x1:"9",y1:"9",x2:"9",y2:"13"}),(0,M3.jsx)("line",{x1:"15",y1:"9",x2:"15",y2:"13"}),(0,M3.jsx)("circle",{cx:"12",cy:"16.5",r:"1",fill:c,stroke:"none"})]})}function ian({size:o=16,color:c="currentColor",strokeWidth:d=1.8}){return(0,M3.jsxs)("svg",{...nan(o,c,d),"aria-hidden":"true",children:[(0,M3.jsx)("path",{d:"M 7.5 6 L 3.5 12 L 7.5 18"}),(0,M3.jsx)("path",{d:"M 16.5 6 L 20.5 12 L 16.5 18"}),(0,M3.jsx)("circle",{cx:"13",cy:"8.6",r:"0.9",fill:c,stroke:"none"}),(0,M3.jsx)("line",{x1:"13",y1:"11",x2:"11",y2:"16.5"})]})}var jw={service:{color:"#38bdf8",icon:Ci.Server,description:"Long-running compute that owns business logic."},function:{color:"#22d3ee",icon:Ci.FunctionSquare,description:"Stateless function-as-a-service / lambda."},worker:{color:"#06b6d4",icon:Ci.Cog,description:"Background job processor or consumer loop."},agent:{color:"#14b8a6",icon:Ci.Bot,description:"Autonomous AI agent driving tools and actions."},database:{color:"#34d399",icon:Ci.Database,description:"Persistent state \u2014 relational, document, key-value."},cache:{color:"#a78bfa",icon:Ci.Layers,description:"In-memory store for fast reads."},vectordb:{color:"#c084fc",icon:Ci.Sparkles,description:"Vector store for embeddings / similarity search."},storage:{color:"#84cc16",icon:Ci.HardDrive,description:"Object / blob storage (S3, GCS, etc.)."},queue:{color:"#fbbf24",icon:Ci.SendHorizontal,description:"Asynchronous work queue with at-least-once delivery."},topic:{color:"#f97316",icon:Ci.Radio,description:"Pub/sub topic with multiple consumers."},stream:{color:"#fb923c",icon:Ci.Waves,description:"Append-only event log (Kafka, Kinesis)."},gateway:{color:"#6366f1",icon:Ci.DoorOpen,description:"API gateway, ingress, edge router."},cdn:{color:"#0ea5e9",icon:Ci.Globe,description:"Content delivery network / static edge."},route:{color:"#f59e0b",icon:Ci.Route,description:"HTTP / URL route \u2014 path + method mapped to a handler."},interface:{color:"#d946ef",icon:ian,description:"Abstract contract \u2014 the <i> a system commits to."},adapter:{color:"#c026d3",icon:Ci.Cable,description:"Concrete implementation of an interface."},port:{color:"#a21caf",icon:ran,description:"Hexagonal-architecture port \u2014 the socket an adapter plugs into."},llm:{color:"#a855f7",icon:Ci.Brain,description:"Large language model service."},prompt:{color:"#c4b5fd",icon:Ci.MessageSquare,description:"Prompt template / instruction set."},tool:{color:"#fde047",icon:Ci.Wrench,description:"Tool callable by an agent or LLM."},auth:{color:"#ef4444",icon:Ci.Lock,description:"Identity provider, auth service."},observability:{color:"#10b981",icon:Ci.Eye,description:"Metrics, logs, traces \u2014 operational telemetry."},cloud:{color:"#0284c7",icon:Ci.Cloud,description:"Managed cloud service (compute, hosted, etc.)."},frontend:{color:"#f472b6",icon:Ci.Monitor,description:"User-facing surface \u2014 browser, mobile, CLI."},page:{color:"#fb7185",icon:Ci.LayoutTemplate,description:"Route-level UI screen mapped to a URL."},component:{color:"#8b5cf6",icon:Ci.Component,description:"Reusable UI component / view fragment."},store:{color:"#facc15",icon:Ci.Boxes,description:"Client-side state container \u2014 Redux, Zustand, Pinia."},hook:{color:"#0d9488",icon:Ci.Anchor,description:"Reusable client logic \u2014 React hook, Vue composable."},external:{color:"#94a3b8",icon:Ci.ExternalLink,description:"Third-party system you don't own."},human:{color:"#60a5fa",icon:Ci.UserRound,description:"Human actor \u2014 end user, operator, or customer."},module:{color:"#7dd3fc",icon:Ci.Package,description:"Module / component grouping (logical container)."},custom:{color:"#64748b",icon:Ci.Box,description:"Container or anything not in the taxonomy."}};var Tz=Ai(sc(),1),ODe=36,Zkr=128,Xkr=7,oan=20,can=24;function aan({participant:o,nodeKind:c}){let d=c?jw[c]:void 0,g=d?.color??"var(--archik-fg-muted)",f=(56-ODe)/2,b=d?.icon,v=Math.max(Zkr,o.label.length*Xkr+can+(b?oan:0)),k=v/2,T=b?k+oan/2:k,N=o.status,j=N==="proposed"?.55:N==="deprecated"?.35:1,B=N==="proposed"||N==="deprecated"?"4 3":void 0;return(0,Tz.jsxs)("g",{transform:`translate(${o.cx-k}, ${f})`,opacity:j,children:[(0,Tz.jsx)("rect",{width:v,height:ODe,rx:8,fill:"var(--archik-node-fill)",stroke:g,strokeWidth:1.4,...B!==void 0?{strokeDasharray:B}:{}}),b&&(0,Tz.jsx)("g",{transform:`translate(${can/2}, ${(ODe-14)/2})`,children:(0,Tz.jsx)(b,{size:14,color:g,strokeWidth:1.5})}),(0,Tz.jsx)("text",{x:T,y:ODe/2+4,textAnchor:"middle",fontSize:12,fontWeight:500,fill:"var(--archik-fg)",fontFamily:"inherit",children:o.label})]})}var uan=Ai(sc(),1);function san({participant:o}){let c=o.status,d=c==="proposed"?.3:c==="deprecated"?.2:.5;return(0,uan.jsx)("line",{x1:o.cx,y1:56,x2:o.cx,y2:o.lifelineEndY,stroke:"var(--archik-node-stroke)",strokeWidth:1,strokeDasharray:"4 4",opacity:d})}var Q5=Ai(sc(),1),Oft=32,Fft=20,Kkr=-6;function lan({msg:o}){let c=o.arrow==="return",d=o.arrow==="async",g=o.arrow==="create",f=c||g,b=o.arrow==="destroy",v=c||d?_ge:Sge,k=o.status==="proposed"?.5:o.status==="deprecated"?.35:1;if(o.isSelf){let B=o.fromCx,G=o.y,K=`M ${B} ${G} L ${B+Oft} ${G} L ${B+Oft} ${G+Fft} L ${B} ${G+Fft}`;return(0,Q5.jsxs)("g",{opacity:k,children:[(0,Q5.jsx)("path",{d:K,fill:"none",stroke:"var(--archik-edge-filled)",strokeWidth:1.4,markerEnd:`url(#${v})`}),(0,Q5.jsx)("text",{x:B+Oft+6,y:G+Fft/2+4,fontSize:11,fill:"var(--archik-fg)",fontFamily:"inherit",children:o.label})]})}let N=o.fromCx<o.toCx?o.toCx-6:o.toCx+6,j=(o.fromCx+o.toCx)/2;return(0,Q5.jsxs)("g",{opacity:k,children:[(0,Q5.jsx)("line",{x1:o.fromCx,y1:o.y,x2:N,y2:o.y,stroke:"var(--archik-edge-filled)",strokeWidth:1.4,strokeDasharray:f?"4 4":void 0,markerEnd:b?void 0:`url(#${v})`}),(0,Q5.jsxs)("text",{x:j,y:o.y+Kkr,textAnchor:"middle",fontSize:11,fill:"var(--archik-fg)",fontFamily:"inherit",children:[g&&"\xABcreate\xBB ",o.label]}),o.arrow==="destroy"&&(0,Q5.jsxs)("g",{transform:`translate(${o.toCx-6}, ${o.y-6})`,children:[(0,Q5.jsx)("line",{x1:0,y1:0,x2:12,y2:12,stroke:"var(--archik-fg-muted)",strokeWidth:1.5}),(0,Q5.jsx)("line",{x1:12,y1:0,x2:0,y2:12,stroke:"var(--archik-fg-muted)",strokeWidth:1.5})]})]})}var j9=Ai(sc(),1),Ykr={alt:"#6366f1",opt:"#0ea5e9",loop:"#10b981",par:"#f59e0b",break:"#ef4444",ref:"#8b5cf6"},han=36,zft=18;function dan({group:o,renderStep:c,onRefClick:d}){let g=Ykr[o.kind]??"var(--archik-fg-muted)",f=o.status==="proposed"?.55:o.status==="deprecated"?.35:1,b=o.kind==="ref"&&o.seqFile!==void 0&&d!==void 0;return(0,j9.jsxs)("g",{opacity:f,onClick:b?()=>d(o.seqFile):void 0,style:b?{cursor:"pointer"}:void 0,children:[(0,j9.jsx)("rect",{x:o.x,y:o.y,width:o.width,height:o.height,rx:4,fill:"none",stroke:g,strokeWidth:1.2,opacity:.6}),(0,j9.jsx)("rect",{x:o.x,y:o.y,width:han,height:zft,rx:4,fill:g,opacity:.8}),(0,j9.jsx)("text",{x:o.x+6,y:o.y+zft-5,fontSize:10,fontWeight:600,fill:"#fff",fontFamily:"inherit",children:o.kind}),(o.condition??o.label)&&(0,j9.jsx)("text",{x:o.x+han+6,y:o.y+zft-5,fontSize:10,fill:g,fontFamily:"inherit",children:o.condition??o.label}),o.branches.map((v,k)=>(0,j9.jsxs)("g",{children:[v.label&&(0,j9.jsx)("text",{x:o.x+6,y:v.startY+12,fontSize:10,fill:g,fontFamily:"inherit",children:v.label}),v.steps.map(T=>c(T)),v.dividerY!==void 0&&(0,j9.jsx)("line",{x1:o.x,y1:v.dividerY,x2:o.x+o.width,y2:v.dividerY,stroke:g,strokeWidth:1,strokeDasharray:"4 2",opacity:.5})]},k))]})}var Kq=Ai(sc(),1);function Qkr(o,c){let d=Math.max(10,Math.floor(c/6.5));if(o.length<=d)return[o];let g=o.split(" "),f=[],b="";for(let v of g)(b+(b?" ":"")+v).length>d&&b?(f.push(b),b=v):b=b?b+" "+v:v;return b&&f.push(b),f.slice(0,3)}function fan({note:o}){let{x:c,y:d,width:g,height:f,text:b}=o,v=o.status==="proposed"?.55:o.status==="deprecated"?.35:1;return(0,Kq.jsxs)("g",{opacity:v,children:[(0,Kq.jsx)("path",{d:`M ${c} ${d} L ${c+g-10} ${d} L ${c+g} ${d+10} L ${c+g} ${d+f} L ${c} ${d+f} Z`,fill:"var(--archik-node-fill)",stroke:"var(--archik-node-stroke)",strokeWidth:1.2}),(0,Kq.jsx)("path",{d:`M ${c+g-10} ${d} L ${c+g-10} ${d+10} L ${c+g} ${d+10}`,fill:"none",stroke:"var(--archik-node-stroke)",strokeWidth:1.2}),Qkr(b,g-16).map((k,T)=>(0,Kq.jsx)("text",{x:c+8,y:d+8+11+T*13,fontSize:11,fill:"var(--archik-fg)",fontFamily:"inherit",children:k},T))]})}var $0=Ai(sc(),1);function e3r({id:o}){return(0,$0.jsx)("marker",{id:o,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,$0.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"context-stroke"})})}function t3r({id:o}){return(0,$0.jsx)("marker",{id:o,viewBox:"0 0 12 12",refX:"11",refY:"6",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:(0,$0.jsx)("path",{d:"M 1 1 L 11 6 L 1 11",fill:"none",stroke:"context-stroke",strokeWidth:"1.5",strokeLinejoin:"round"})})}function gan({step:o,onRefClick:c}){return o.type==="message"?(0,$0.jsx)(lan,{msg:o}):o.type==="note"?(0,$0.jsx)(fan,{note:o}):o.type==="group"?(0,$0.jsx)(dan,{group:o,...c!==void 0?{onRefClick:c}:{},renderStep:d=>(0,$0.jsx)(gan,{step:d,...c!==void 0?{onRefClick:c}:{}},d.id)}):null}function yan({laid:o,svgRef:c,onRefClick:d}){let{participants:g,steps:f,activations:b,totalWidth:v,totalHeight:k}=o;return(0,$0.jsxs)("svg",{ref:c,width:v,height:k,viewBox:`0 0 ${v} ${k}`,xmlns:"http://www.w3.org/2000/svg",style:{fontFamily:"var(--archik-font, system-ui)"},children:[(0,$0.jsxs)("defs",{children:[(0,$0.jsx)(e3r,{id:Sge}),(0,$0.jsx)(t3r,{id:_ge})]}),g.map(T=>(0,$0.jsx)(san,{participant:T},T.id)),g.map(T=>(0,$0.jsx)(aan,{participant:T,...T.kind!==void 0?{nodeKind:T.kind}:{}},T.id)),(0,$0.jsxs)("g",{transform:`translate(0, ${56})`,children:[b.map(T=>(0,$0.jsx)("rect",{x:T.cx-8/2,y:T.startY,width:8,height:T.endY-T.startY,fill:"var(--archik-node-fill)",stroke:"var(--archik-node-stroke)",strokeWidth:1,rx:2},`${T.cx}-${T.startY}`)),f.map(T=>(0,$0.jsx)(gan,{step:T,...d!==void 0?{onRefClick:d}:{}},T.id))]})]})}var LL=Ai(sc(),1),Vf=28;function Yq({kind:o,iconAt:c,labelAt:d}){let g=jw[o],f=g.icon,b=14;return(0,LL.jsxs)(LL.Fragment,{children:[(0,LL.jsx)("g",{transform:`translate(${c.cx-b/2}, ${c.cy-b/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,LL.jsx)(f,{size:b,color:g.color,strokeWidth:1.8})}),(0,LL.jsx)("text",{x:d.cx,y:d.cy,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.toUpperCase()})]})}var EL=Ai(sc(),1),n3r=24;function ban({node:o,selected:c}){let d=o.width,g=o.height,f=o.stack!==void 0,b=Vf+(g-Vf)/2,v=f?b-4:b+4,k=b+14,T=Math.max(0,d-n3r),N=Gf(o.name,T,7.4),j=f?Gf(o.stack,T,5.9):"";return(0,EL.jsxs)("g",{className:`archik-node archik-node--${o.kind}`,children:[(0,EL.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:10,ry:10,fill:"var(--archik-node-fill)",stroke:c?"var(--archik-selected)":"var(--archik-node-stroke)",strokeWidth:c?1.8:1.4}),(0,EL.jsx)("line",{x1:0,y1:Vf,x2:d,y2:Vf,stroke:"var(--archik-node-stroke)",strokeOpacity:.25,strokeWidth:1}),(0,EL.jsx)(Yq,{kind:o.kind,iconAt:{cx:18,cy:Vf/2},labelAt:{cx:d/2,cy:Vf/2+3}}),(0,EL.jsx)("text",{x:d/2,y:v,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:N}),f&&(0,EL.jsx)("text",{x:d/2,y:k,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:j})]})}var TL=Ai(sc(),1);function wan({node:o,selected:c}){let d=o.width,g=o.height,f=Math.min(g/2,28),b=o.stack!==void 0,v=Vf+(g-Vf)/2,k=b?v-4:v+4,T=v+14,N=Math.max(0,d-2*f-8),j=Gf(o.name,N,7.4),B=b?Gf(o.stack,N,5.9):"",G=c?"var(--archik-selected)":"var(--archik-node-stroke)";return(0,TL.jsxs)("g",{className:"archik-node archik-node--queue",children:[(0,TL.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:f,ry:f,fill:"var(--archik-node-fill)",stroke:G,strokeWidth:c?1.8:1.4}),(0,TL.jsx)("line",{x1:f,y1:Vf,x2:d-f,y2:Vf,stroke:G,strokeOpacity:.25,strokeWidth:1}),(0,TL.jsx)(Yq,{kind:"queue",iconAt:{cx:f+8,cy:Vf/2},labelAt:{cx:d/2,cy:Vf/2+3}}),(0,TL.jsx)("text",{x:d/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:j}),b&&(0,TL.jsx)("text",{x:d/2,y:T,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:B})]})}var AL=Ai(sc(),1),r3r=24;function man({node:o,selected:c}){let d=o.width,g=o.height,f=o.description!==void 0,b=Vf,v=b+(g-b)/2,k=f?v-2:v+4,T=g-12,N=Math.max(0,d-r3r),j=Gf(o.name,N,7.4),B=f?Gf(o.description,N,5.9):"",G=c?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,AL.jsxs)("g",{className:`archik-node archik-node--${o.kind}`,children:[(0,AL.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:G,strokeWidth:c?1.8:1.2,strokeDasharray:c?void 0:"6 4"}),(0,AL.jsx)("line",{x1:6,y1:Vf,x2:d-6,y2:Vf,stroke:G,strokeOpacity:.25,strokeWidth:1}),(0,AL.jsx)(Yq,{kind:o.kind,iconAt:{cx:18,cy:Vf/2},labelAt:{cx:d/2,cy:Vf/2+3}}),(0,AL.jsx)("text",{x:d/2,y:k,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:j}),f&&(0,AL.jsx)("text",{x:d/2,y:T,textAnchor:"middle",fontSize:10,fill:"var(--archik-node-text-dim)",children:B})]})}var e6=Ai(sc(),1),i3r=28,o3r=10,c3r=22;function van({node:o,selected:c}){let d=o.width,g=o.height,f=d/2,b=o3r,v=jw[o.kind],k=v.icon,T=c?"var(--archik-selected)":"var(--archik-node-stroke)",N=c?1.8:1.4,j=o.stack!==void 0,B=Math.max(0,d-i3r),G=Gf(o.name,B,7.4),K=j?Gf(o.stack,B,5.9):"",fe=g,ae=fe-c3r,we=(ae+fe)/2,Mt=(b+8+ae)/2,_e=j?Mt-4:Mt+4,dt=Mt+14;return(0,e6.jsxs)("g",{className:"archik-node archik-node--database",children:[(0,e6.jsx)("path",{className:c?"archik-selected-glow":void 0,d:s3r(d,g,b),fill:"var(--archik-node-fill)",stroke:T,strokeWidth:N,strokeLinejoin:"round"}),(0,e6.jsx)("ellipse",{cx:f,cy:b,rx:d/2,ry:b,fill:"var(--archik-node-fill)",stroke:T,strokeWidth:N}),(0,e6.jsx)("text",{x:f,y:_e,textAnchor:"middle",fontSize:14,fontWeight:600,fill:"var(--archik-node-text)",children:G}),j&&(0,e6.jsx)("text",{x:f,y:dt,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:K}),(0,e6.jsx)("line",{x1:4,y1:ae,x2:d-4,y2:ae,stroke:T,strokeOpacity:.45,strokeWidth:1}),(0,e6.jsx)("g",{transform:`translate(14, ${we-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,e6.jsx)(k,{size:14,color:v.color,strokeWidth:1.9})}),(0,e6.jsx)("text",{x:f,y:we+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.kind.toUpperCase()})]})}var a3r=10;function s3r(o,c,d){let g=a3r;return[`M 0 ${d}`,`L 0 ${c-g}`,`A ${g} ${g} 0 0 0 ${g} ${c}`,`L ${o-g} ${c}`,`A ${g} ${g} 0 0 0 ${o} ${c-g}`,`L ${o} ${d}`,`A ${o/2} ${d} 0 0 0 0 ${d}`,"Z"].join(" ")}var cS=Ai(sc(),1),u3r=36,kan=18;function Man({node:o,selected:c}){let d=o.width,g=o.height,f=jw[o.kind],b=f.icon,v=c?"var(--archik-selected)":"var(--archik-node-stroke)",k=c?1.8:1.4,T=o.stack!==void 0,N=Math.max(0,d-u3r),j=Gf(o.name,N,7.4),B=T?Gf(o.stack,N,5.9):"",G=d/2,K=g*.55,fe=T?K-4:K+4,ae=K+14;return(0,cS.jsxs)("g",{className:"archik-node archik-node--cloud",children:[(0,cS.jsx)("path",{className:c?"archik-selected-glow":void 0,d:l3r(d,g),fill:"var(--archik-node-fill)",stroke:v,strokeWidth:k,strokeLinejoin:"round"}),(0,cS.jsx)("g",{transform:`translate(18, ${kan-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,cS.jsx)(b,{size:14,color:f.color,strokeWidth:1.9})}),(0,cS.jsx)("text",{x:G,y:kan+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.kind.toUpperCase()}),(0,cS.jsx)("text",{x:G,y:fe,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:j}),T&&(0,cS.jsx)("text",{x:G,y:ae,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:B})]})}function l3r(o,c){let g=c-2,f=c*.62,b=Math.min(c*.18,14),v=o-4,k=c*.5,T=Math.min(v*.15,k*.85),N=Math.min(v*.18,k),j=Math.min(v*.15,k*.85),B=2*(T+N+j),G=Math.max(0,v-B)/4,K=2,fe=o-2,ae=K+G,we=ae+2*T,Oe=we+G,at=Oe+2*N,Mt=at+G,_e=Mt+2*j;return[`M ${K} ${g-b}`,`Q ${K} ${g} ${K+b} ${g}`,`L ${fe-b} ${g}`,`Q ${fe} ${g} ${fe} ${g-b}`,`L ${fe} ${f}`,`L ${_e} ${f}`,`A ${j} ${j} 0 0 0 ${Mt} ${f}`,`L ${at} ${f}`,`A ${N} ${N} 0 0 0 ${Oe} ${f}`,`L ${we} ${f}`,`A ${T} ${T} 0 0 0 ${ae} ${f}`,`L ${K} ${f}`,"Z"].join(" ")}var rb=Ai(sc(),1),Qq=32,FDe=14,jft=14;function xan({node:o,selected:c,depth:d=0}){let g=o.width,f=o.height;if(!(o.children.length>0))return(0,rb.jsx)(d3r,{node:o,selected:!!c});let v=jw[o.kind],k=v.icon,T=Math.min(.04+d*.06,.22),N=Math.min(.55+d*.12,.95),j=c?"var(--archik-selected)":"var(--archik-container-border)",B=c?1.8:1.2,G=Math.max(0,g-FDe*2-60),K=Gf(o.name,G,7.4);return(0,rb.jsxs)("g",{className:`archik-node archik-node--${o.kind} archik-node--container`,children:[(0,rb.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:g,height:f,rx:8,ry:8,fill:v.color,fillOpacity:T,stroke:j,strokeWidth:B,pointerEvents:"none"}),d>=1&&g>8&&f>8&&(0,rb.jsx)("rect",{x:3,y:3,width:g-6,height:f-6,rx:6,ry:6,fill:"none",stroke:v.color,strokeOpacity:Math.min(.18+(d-1)*.06,.32),strokeWidth:1,pointerEvents:"none"}),(0,rb.jsx)("path",{d:h3r(g,Qq,8),fill:v.color,fillOpacity:N*.18}),(0,rb.jsx)("line",{x1:0,y1:Qq,x2:g,y2:Qq,stroke:j,strokeOpacity:.45,strokeWidth:1}),(0,rb.jsx)("g",{transform:`translate(${FDe}, ${Qq/2-jft/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,rb.jsx)(k,{size:jft,color:v.color,strokeWidth:1.9})}),(0,rb.jsx)("text",{x:FDe+jft+8,y:Qq/2+4,fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:K}),(0,rb.jsx)("text",{x:g-FDe,y:Qq/2+3,textAnchor:"end",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:o.kind.toUpperCase()})]})}function h3r(o,c,d){return`M ${d} 0 H ${o-d} A ${d} ${d} 0 0 1 ${o} ${d} V ${c} H 0 V ${d} A ${d} ${d} 0 0 1 ${d} 0 Z`}function d3r({node:o,selected:c}){let d=o.width,g=o.height,f=jw[o.kind],b=c?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return(0,rb.jsxs)("g",{className:`archik-node archik-node--${o.kind}`,children:[(0,rb.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:d,height:g,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:b,strokeWidth:c?1.8:1.2,strokeDasharray:c?void 0:"5 4"}),(0,rb.jsx)("text",{x:d/2,y:g/2+4,textAnchor:"middle",fontSize:12,fontWeight:600,fill:f.color,children:o.name})]})}var ib=Ai(sc(),1),wte=24,San=10,Bft=28;function _an({node:o,selected:c,depth:d=0}){let g=o.width,f=o.height,b=jw[o.kind],v=b.icon,k=o.kind==="external";if(o.children.length>0)return(0,ib.jsx)(f3r,{node:o,selected:!!c,depth:d});let T=c?"var(--archik-selected)":k?"var(--archik-node-stroke-soft)":"var(--archik-node-stroke)",N=k?"var(--archik-node-fill-tinted)":"var(--archik-node-fill)",j=o.kind==="queue"?Math.min(f/2,18):8;return(0,ib.jsxs)("g",{className:`archik-node archik-node--${o.kind} archik-node--compact`,children:[(0,ib.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:g,height:f,rx:j,ry:j,fill:N,stroke:T,strokeWidth:c?1.8:1.4,strokeDasharray:k&&!c?"5 4":void 0}),(0,ib.jsx)("g",{transform:`translate(${San}, ${f/2-7})`,pointerEvents:"none","aria-hidden":"true",children:(0,ib.jsx)(v,{size:13,color:b.color,strokeWidth:1.9})}),(0,ib.jsx)("text",{x:Bft,y:f/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Gf(o.name,Math.max(0,g-Bft-8),5.9)})]})}function f3r({node:o,selected:c,depth:d}){let g=o.width,f=o.height,b=jw[o.kind],v=b.icon,k=Math.min(.04+d*.035,.14),T=Math.min(.55+d*.08,.85),N=c?"var(--archik-selected)":"var(--archik-container-border)",j=Math.max(0,g-12-22),B=Gf(o.name,j,5.9);return(0,ib.jsxs)("g",{className:`archik-node archik-node--${o.kind} archik-node--compact archik-node--container`,children:[(0,ib.jsx)("rect",{className:c?"archik-selected-glow":void 0,width:g,height:f,rx:6,ry:6,fill:b.color,fillOpacity:k,stroke:N,strokeWidth:c?1.8:1.2}),(0,ib.jsx)("path",{d:p3r(g,wte,6),fill:b.color,fillOpacity:T*.18}),(0,ib.jsx)("line",{x1:0,y1:wte,x2:g,y2:wte,stroke:N,strokeOpacity:.45,strokeWidth:1}),(0,ib.jsx)("g",{transform:`translate(${San}, ${wte/2-6})`,pointerEvents:"none","aria-hidden":"true",children:(0,ib.jsx)(v,{size:12,color:b.color,strokeWidth:1.9})}),(0,ib.jsx)("text",{x:Bft,y:wte/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:B})]})}function p3r(o,c,d){return`M ${d} 0 H ${o-d} A ${d} ${d} 0 0 1 ${o} ${d} V ${c} H 0 V ${d} A ${d} ${d} 0 0 1 ${d} 0 Z`}var B9=Ai(Rft(),1),sf=Ai(sc(),1),g3r=12,y3r=18;function Can({Icon:o,cx:c,cy:d,size:g=g3r,color:f,strokeWidth:b=1.8}){return(0,sf.jsx)("g",{transform:`translate(${c-g/2}, ${d-g/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,sf.jsx)(o,{size:g,color:f??"var(--archik-fg-dim)",strokeWidth:b})})}function Ian(o){return(0,sf.jsx)(Can,{Icon:B9.Info,...o})}function Lan(o){return(0,sf.jsx)(Can,{Icon:B9.StickyNote,...o})}function Ean({cx:o,cy:c,filePath:d,fileLabel:g,onClick:f,size:b=13}){return(0,sf.jsxs)("g",{transform:`translate(${o-b/2}, ${c-b/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,sf.jsx)("title",{children:`Cross-file edge \u2192 ${g} (${d})`}),(0,sf.jsx)("circle",{cx:b/2,cy:b/2,r:b/2+.5,fill:"var(--archik-fg-dim)",fillOpacity:.12,stroke:"var(--archik-fg-dim)",strokeOpacity:.4,strokeWidth:1}),(0,sf.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,sf.jsx)(B9.ArrowUpRight,{size:b-2,color:"var(--archik-fg-muted)",strokeWidth:2.2})})]})}function Tan({cx:o,cy:c,onClick:d,size:g=14}){return(0,sf.jsxs)("g",{transform:`translate(${o-g/2}, ${c-g/2})`,style:{cursor:d?"pointer":"default"},onClick:d,children:[(0,sf.jsx)("title",{children:"Open sub-architecture"}),(0,sf.jsx)("circle",{cx:g/2,cy:g/2,r:g/2+.5,fill:"var(--archik-accent)",fillOpacity:.16,stroke:"var(--archik-accent)",strokeOpacity:.45,strokeWidth:1}),(0,sf.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,sf.jsx)(B9.ChevronDown,{size:g-2,color:"var(--archik-accent)",strokeWidth:2.2})})]})}function Aan({cx:o,cy:c,filePath:d,fileLabel:g,onClick:f,size:b=14}){return(0,sf.jsxs)("g",{transform:`translate(${o-b/2}, ${c-b/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,sf.jsx)("title",{children:`Open sequence diagram \u2192 ${g} (${d})`}),(0,sf.jsx)("circle",{cx:b/2,cy:b/2,r:b/2+.5,fill:"var(--archik-status-proposed)",fillOpacity:.16,stroke:"var(--archik-status-proposed)",strokeOpacity:.5,strokeWidth:1}),(0,sf.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,sf.jsx)(B9.GitBranch,{size:b-2,color:"var(--archik-status-proposed)",strokeWidth:2.2})})]})}function Pan(o,c,d){switch(o){case"queue":{let f=Math.min(d/2,28);return{right:{x:c-f-4,y:14}}}case"database":return{right:{x:c-14,y:d-11}};case"module":case"custom":return{right:{x:c-14,y:26}};default:return{right:{x:c-14,y:14}}}}function Nan(o,c){return Array.from({length:c},(d,g)=>({x:o.x-g*y3r,y:o.y}))}var Au=Ai(sc(),1);function b3r({node:o,selected:c,viewMode:d,depth:g}){if(d==="compact")return(0,Au.jsx)(_an,{node:o,selected:c,depth:g});if(o.children.length>0)return(0,Au.jsx)(xan,{node:o,selected:c,depth:g});switch(o.kind){case"queue":return(0,Au.jsx)(wan,{node:o,selected:c});case"external":case"human":return(0,Au.jsx)(man,{node:o,selected:c});case"database":return(0,Au.jsx)(van,{node:o,selected:c});case"cloud":return(0,Au.jsx)(Man,{node:o,selected:c});case"module":case"custom":case"service":case"function":case"worker":case"agent":case"cache":case"vectordb":case"storage":case"topic":case"stream":case"gateway":case"cdn":case"route":case"interface":case"adapter":case"port":case"llm":case"prompt":case"tool":case"auth":case"observability":case"frontend":case"page":case"component":case"store":case"hook":return(0,Au.jsx)(ban,{node:o,selected:c});default:{let f=o.kind;throw new Error("unreachable node kind")}}}function Hft({node:o,selectedNodeIds:c,glowNodeIds:d,onSelectNode:g,onOpenSubFile:f,onCrossFileNavigate:b,crossFileByNode:v,viewMode:k="detailed",depth:T=0}){let N=c?.has(o.id)??!1,j=d?.has(o.id)??!1,G=o.children.length>0?T+1:T,K=g?ae=>{ae.stopPropagation(),g(o.id,ae)}:void 0,fe=o.description!==void 0&&o.description.length>0;return(0,Au.jsxs)("g",{"data-archik-node-id":o.id,...N?{"data-archik-selected":"true"}:{},...o.status!==void 0&&o.status!=="active"?{"data-archik-status":o.status}:{},...o.stereotype!==void 0?{"data-archik-stereotype":o.stereotype}:{},transform:`translate(${o.x}, ${o.y})`,...K!==void 0?{onClick:K}:{},style:g?{cursor:"pointer"}:void 0,children:[j&&(0,Au.jsx)("rect",{x:-4,y:-4,width:o.width+8,height:o.height+8,rx:10,fill:"none",stroke:"var(--archik-status-proposed)",strokeWidth:2,opacity:.85,style:{pointerEvents:"none"}}),(0,Au.jsx)(b3r,{node:o,selected:N,viewMode:k,depth:T}),o.stereotype!==void 0&&(0,Au.jsxs)(Au.Fragment,{children:[(0,Au.jsx)("clipPath",{id:`archik-nclip-${o.id}`,children:(0,Au.jsx)("rect",{width:o.width,height:o.height,rx:8,ry:8})}),(0,Au.jsx)("rect",{className:"archik-stereotype-band",x:0,y:0,width:o.width,height:4,clipPath:`url(#archik-nclip-${o.id})`,style:{pointerEvents:"none"}})]}),k==="detailed"&&(()=>{let ae=o.notes!==void 0&&o.notes.length>0,we=o.archikFile!==void 0&&o.archikFile.length>0,Oe=v?.get(o.id),at=Oe?Array.from(Oe).sort():[],Mt=o.seqFiles??[],_e=[];we&&_e.push("subarch");for(let ln of Mt)_e.push({type:"seq",path:ln});for(let ln of at)_e.push({type:"crossfile",path:ln});if(fe&&_e.push("info"),ae&&_e.push("notes"),_e.length===0)return null;let dt=Pan(o.kind,o.width,o.height),Te=Nan(dt.right,_e.length);return(0,Au.jsx)(Au.Fragment,{children:_e.map((ln,tn)=>{let Un=Te[tn];if(typeof ln=="object"&&ln.type==="seq"){let rr=ln.path,Lr=rr.split("/").pop().replace(/\.archik\.seq\.yaml$/,""),gn=`/__archik/seq?path=${encodeURIComponent(rr)}`;return(0,Au.jsx)("a",{href:gn,onClick:Xr=>Xr.stopPropagation(),children:(0,Au.jsx)(Aan,{cx:Un.x,cy:Un.y,filePath:rr,fileLabel:Lr})},`seq-${rr}`)}if(typeof ln=="object"&&ln.type==="crossfile"){let rr=ln.path,Lr=rr.split("/").pop().replace(/\.archik\.yaml$/,""),gn=b??f,Xr=gn?Si=>{Si.stopPropagation(),gn(rr,Lr)}:void 0;return(0,Au.jsx)(Ean,{cx:Un.x,cy:Un.y,filePath:rr,fileLabel:Lr,...Xr?{onClick:Xr}:{}},`xf-${rr}`)}if(ln==="subarch"){let rr=o.archikFile,Lr=f?gn=>{gn.stopPropagation(),f(rr,o.name)}:void 0;return(0,Au.jsx)(Tan,{cx:Un.x,cy:Un.y,...Lr?{onClick:Lr}:{}},"subarch")}return ln==="info"?(0,Au.jsx)(Ian,{cx:Un.x,cy:Un.y,color:"var(--archik-node-caption)"},"info"):(0,Au.jsxs)("g",{children:[(0,Au.jsx)(Lan,{cx:Un.x,cy:Un.y,color:"var(--archik-node-caption)"}),o.notes&&o.notes.length>1&&(0,Au.jsx)("text",{x:Un.x+7,y:Un.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:o.notes.length})]},"notes")})})})(),o.children.map(ae=>(0,Au.jsx)(Hft,{node:ae,viewMode:k,depth:G,...c!==void 0?{selectedNodeIds:c}:{},...d!==void 0?{glowNodeIds:d}:{},...g!==void 0?{onSelectNode:g}:{},...f!==void 0?{onOpenSubFile:f}:{},...b!==void 0?{onCrossFileNavigate:b}:{},...v!==void 0?{crossFileByNode:v}:{}},ae.id))]})}var Pz=Ai(sc(),1),Bw="archik-arrow-filled",Az="archik-arrow-open",$ft="archik-arrow-selected",t6="var(--archik-edge-filled)",mte="var(--archik-edge-dim)",w3r={http_call:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},grpc:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},invokes:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},routes_to:{stroke:t6,strokeWidth:1.4,markerId:Bw},websocket:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw,markerStartId:Bw},webhook:{stroke:t6,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Bw},reads:{stroke:t6,strokeWidth:1.4,markerId:Az},writes:{stroke:t6,strokeWidth:1.4,markerId:Bw},publishes:{stroke:t6,strokeWidth:1.4,markerId:Bw},subscribes:{stroke:t6,strokeWidth:1.4,markerId:Bw},streams_to:{stroke:t6,strokeWidth:1.4,markerId:Bw},implements:{stroke:mte,strokeWidth:1.2,markerId:Az},extends:{stroke:mte,strokeWidth:1.2,markerId:Az},depends_on:{stroke:mte,strokeWidth:1.2,markerId:Az},has_a:{stroke:mte,strokeWidth:1.2,markerId:Bw},uses:{stroke:mte,strokeWidth:1.2,markerId:Az}};function Ran(o){return o.map(c=>`${c.x},${c.y}`).join(" ")}function m3r(o){if(o.length===0)return;let c=Math.floor(o.length/2);if(o.length%2===1)return o[c];let d=o[c-1],g=o[c];return{x:(d.x+g.x)/2,y:(d.y+g.y)/2}}function Dan({edge:o,selectedEdgeIds:c,onSelectEdge:d}){let g=o.sections[0];if(!g)return null;let f=[g.startPoint,...g.bendPoints,g.endPoint],b=w3r[o.relationship],v=o.labels[0],k=v?{x:v.x+v.width/2,y:v.y+v.height/2}:m3r(f),T=c?.has(o.id)??!1,N=o.status==="proposed"?"var(--archik-status-proposed)":o.status==="deprecated"?"var(--archik-status-deprecated)":void 0,j=T?"var(--archik-selected)":N??o.color??b.stroke,B=T?b.strokeWidth+.5:b.strokeWidth,G=T?$ft:b.markerId,K=!T&&b.markerStartId!==void 0?b.markerStartId:void 0,fe=!T&&b.animated?"archik-edge-flowing":void 0,ae=b.strokeDasharray!==void 0?b.strokeDasharray.trim().split(/\s+/).reduce((at,Mt)=>at+Number(Mt),0):0,we=fe!==void 0&&ae>0?{"--archik-dash-period":String(ae)}:void 0,Oe=d?at=>{at.stopPropagation(),d(o.id,at)}:void 0;return(0,Pz.jsxs)("g",{"data-archik-edge-id":o.id,"data-archik-edge-relationship":o.relationship,...T?{"data-archik-selected":"true"}:{},...o.status!==void 0&&o.status!=="active"?{"data-archik-status":o.status}:{},className:`archik-edge archik-edge--${o.relationship}`,...Oe!==void 0?{onClick:Oe}:{},style:d?{cursor:"pointer"}:void 0,children:[d&&(0,Pz.jsx)("polyline",{"data-archik-edge-hitarea":"",points:Ran(f),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),(0,Pz.jsx)("polyline",{className:fe,points:Ran(f),fill:"none",stroke:j,strokeWidth:B,strokeLinecap:"round",strokeLinejoin:"round",markerEnd:`url(#${G})`,...K!==void 0?{markerStart:`url(#${K})`}:{},...b.strokeDasharray!==void 0?{strokeDasharray:b.strokeDasharray}:{},...we!==void 0?{style:we}:{}}),o.label!==void 0&&k!==void 0&&(0,Pz.jsx)("g",{transform:`translate(${k.x}, ${v?k.y+4:k.y-6})`,children:(0,Pz.jsx)("text",{textAnchor:"middle",fontSize:11,fontWeight:T?700:500,fill:T?"var(--archik-selected)":"var(--archik-fg-dim)",stroke:"var(--archik-panel)",strokeWidth:T?4:3,paintOrder:"stroke",children:o.label})})]})}var ob=Ai(sc(),1);var Uft={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function v3r(o){let c=[],d=(g,f,b)=>{for(let v of g){let k=f+v.x,T=b+v.y;c.push({...v,absX:k,absY:T}),v.children.length>0&&d(v.children,k,T)}};return d(o,0,0),c}function k3r(o){return o.replace(/[^a-z0-9-]/g,c=>`\\${c}`)}function zan({statuses:o,scopeClass:c}){let d=[];for(let[f,b]of o.nodes)b==="removed"&&d.push(f);if(d.length===0)return null;let g=d.map(f=>`.${c} [data-archik-node-id="${k3r(f)}"] { opacity: 0.35; }`).join(`
505
505
  `);return(0,ob.jsx)("style",{children:g})}function jan({positioned:o,statuses:c}){return(0,ob.jsx)("g",{className:"archik-diff-nodes",pointerEvents:"none",children:v3r(o.roots).map(d=>{let g=c.nodes.get(d.id);return g===void 0||g==="unchanged"?null:(0,ob.jsx)(M3r,{node:d,status:g},d.id)})})}function M3r({node:o,status:c}){let d=Uft[c],g=o.absX+-3,f=o.absY+-3,b=o.width- -6,v=o.height- -6,k=c==="removed"?"5 4":void 0,T=Oan(o.kind,g-1,f-1,b+2,v+2),N=Oan(o.kind,g,f,b,v);return(0,ob.jsxs)("g",{children:[(0,ob.jsx)("path",{d:T,fill:"none",stroke:d,strokeOpacity:.25,strokeWidth:6,strokeLinejoin:"round"}),(0,ob.jsx)("path",{d:N,fill:"none",stroke:d,strokeWidth:2.2,strokeLinejoin:"round",...k!==void 0?{strokeDasharray:k}:{},opacity:.95}),(0,ob.jsx)(_3r,{x:g+b-6,y:f-6,status:c})]})}function Oan(o,c,d,g,f){switch(o){case"queue":{let b=Math.min(f/2,28);return Fan(c,d,g,f,b)}case"database":return x3r(c,d,g,f,12);case"cloud":return S3r(c,d,g,f);default:return Fan(c,d,g,f,10)}}function Fan(o,c,d,g,f){let b=Math.min(f,d/2),v=Math.min(f,g/2);return[`M ${o+b} ${c}`,`H ${o+d-b}`,`A ${b} ${v} 0 0 1 ${o+d} ${c+v}`,`V ${c+g-v}`,`A ${b} ${v} 0 0 1 ${o+d-b} ${c+g}`,`H ${o+b}`,`A ${b} ${v} 0 0 1 ${o} ${c+g-v}`,`V ${c+v}`,`A ${b} ${v} 0 0 1 ${o+b} ${c}`,"Z"].join(" ")}function x3r(o,c,d,g,f){return[`M ${o} ${c+f}`,`L ${o} ${c+g-10}`,`A 10 10 0 0 0 ${o+10} ${c+g}`,`L ${o+d-10} ${c+g}`,`A 10 10 0 0 0 ${o+d} ${c+g-10}`,`L ${o+d} ${c+f}`,`A ${d/2} ${f} 0 0 0 ${o} ${c+f}`,"Z"].join(" ")}function S3r(o,c,d,g){let b=g-2,v=g*.62,k=Math.min(g*.18,14),T=d-4,N=g*.5,j=Math.min(T*.15,N*.85),B=Math.min(T*.18,N),G=Math.min(T*.15,N*.85),K=2*(j+B+G),fe=Math.max(0,T-K)/4,ae=2,we=d-2,Oe=ae+fe,at=Oe+2*j,Mt=at+fe,_e=Mt+2*B,dt=_e+fe,Te=dt+2*G;return[`M ${o+ae} ${c+b-k}`,`Q ${o+ae} ${c+b} ${o+ae+k} ${c+b}`,`L ${o+we-k} ${c+b}`,`Q ${o+we} ${c+b} ${o+we} ${c+b-k}`,`L ${o+we} ${c+v}`,`L ${o+Te} ${c+v}`,`A ${G} ${G} 0 0 0 ${o+dt} ${c+v}`,`L ${o+_e} ${c+v}`,`A ${B} ${B} 0 0 0 ${o+Mt} ${c+v}`,`L ${o+at} ${c+v}`,`A ${j} ${j} 0 0 0 ${o+Oe} ${c+v}`,`L ${o+ae} ${c+v}`,"Z"].join(" ")}function _3r({x:o,y:c,status:d}){let g=d==="added"?"+":d==="removed"?"\u2212":"~";return(0,ob.jsxs)("g",{transform:`translate(${o}, ${c})`,children:[(0,ob.jsx)("circle",{r:9,fill:Uft[d],stroke:"var(--archik-canvas)",strokeWidth:1.5}),(0,ob.jsx)("text",{textAnchor:"middle",y:4,fontSize:12,fontWeight:700,fill:"white",children:g})]})}function Ban({positioned:o,statuses:c}){return(0,ob.jsx)("g",{className:"archik-diff-edges",pointerEvents:"none",children:o.edges.map(d=>{let g=c.edges.get(d.id);return g===void 0||g==="unchanged"?null:(0,ob.jsx)(C3r,{edge:d,status:g},d.id)})})}function C3r({edge:o,status:c}){let d=o.sections[0];if(!d)return null;let g=[d.startPoint,...d.bendPoints,d.endPoint];return(0,ob.jsx)("polyline",{points:g.map(f=>`${f.x},${f.y}`).join(" "),fill:"none",stroke:Uft[c],strokeWidth:3,strokeOpacity:.55,strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:c==="removed"?"8 4":void 0})}var ru=Ai(sc(),1),zDe=24;function I3r({id:o}){return(0,ru.jsx)("marker",{id:o,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,ru.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"context-stroke"})})}function L3r({id:o}){return(0,ru.jsx)("marker",{id:o,viewBox:"0 0 12 12",refX:"11",refY:"6",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:(0,ru.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 E3r({id:o}){return(0,ru.jsx)("marker",{id:o,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,ru.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--archik-selected)"})})}function qft({positioned:o,viewMode:c="detailed",selectedNodeIds:d,selectedEdgeIds:g,glowNodeIds:f,onSelectNode:b,onSelectEdge:v,onOpenSubFile:k,onCrossFileNavigate:T}){let N=new Map;for(let j of o.edges){if(j.toFile!==void 0){let B=N.get(j.from)??new Set;B.add(j.toFile),N.set(j.from,B)}if(j.fromFile!==void 0){let B=N.get(j.to)??new Set;B.add(j.fromFile),N.set(j.to,B)}}return(0,ru.jsxs)(ru.Fragment,{children:[(0,ru.jsxs)("defs",{children:[(0,ru.jsx)(I3r,{id:Bw}),(0,ru.jsx)(L3r,{id:Az}),(0,ru.jsx)(E3r,{id:$ft})]}),(0,ru.jsx)("g",{className:"archik-edges",children:o.edges.map(j=>(0,ru.jsx)(Dan,{edge:j,...g!==void 0?{selectedEdgeIds:g}:{},...v!==void 0?{onSelectEdge:v}:{}},j.id))}),(0,ru.jsx)("g",{className:"archik-nodes",children:o.roots.map(j=>(0,ru.jsx)(Hft,{node:j,viewMode:c,crossFileByNode:N,...d!==void 0?{selectedNodeIds:d}:{},...f!==void 0?{glowNodeIds:f}:{},...b!==void 0?{onSelectNode:b}:{},...k!==void 0?{onOpenSubFile:k}:{},...T!==void 0?{onCrossFileNavigate:T}:{}},j.id))})]})}function T3r(o,c){let d=(g,f,b)=>{for(let v of g){if(v.id===c)return{x:f+v.x+v.width/2,y:b+v.y+v.height/2};let k=d(v.children,f+v.x,b+v.y);if(k)return k}return null};return d(o.roots,0,0)}function Han({positioned:o,className:c,zoom:d=1,viewMode:g="detailed",svgRef:f,dragGhost:b,selectedNodeIds:v,selectedEdgeIds:k,glowNodeIds:T,onSelectNode:N,onSelectEdge:j,onSelectNothing:B,onOpenSubFile:G,onCrossFileNavigate:K,diffStatuses:fe}){let ae=Math.max(o.width,1),we=Math.max(o.height,1),Oe=-zDe,at=-zDe,Mt=ae+zDe*2,_e=we+zDe*2,dt=b?T3r(o,b.fromId):null;return(0,ru.jsxs)("svg",{ref:f,className:c,xmlns:"http://www.w3.org/2000/svg",width:Mt*d,height:_e*d,viewBox:`${Oe} ${at} ${Mt} ${_e}`,preserveAspectRatio:"xMidYMid meet",style:{display:"block",flexShrink:0},onClick:B,children:[fe&&(0,ru.jsx)(zan,{statuses:fe,scopeClass:"archik-diff-base"}),(0,ru.jsx)("g",{className:fe?"archik-diff-base":void 0,children:(0,ru.jsx)(qft,{positioned:o,viewMode:g,...v!==void 0?{selectedNodeIds:v}:{},...k!==void 0?{selectedEdgeIds:k}:{},...T!==void 0?{glowNodeIds:T}:{},...N!==void 0?{onSelectNode:N}:{},...j!==void 0?{onSelectEdge:j}:{},...G!==void 0?{onOpenSubFile:G}:{},...K!==void 0?{onCrossFileNavigate:K}:{}})}),fe&&(0,ru.jsxs)(ru.Fragment,{children:[(0,ru.jsx)(Ban,{positioned:o,statuses:fe}),(0,ru.jsx)(jan,{positioned:o,statuses:fe})]}),b&&dt&&(0,ru.jsxs)("g",{className:"archik-drag-ghost",pointerEvents:"none",children:[(0,ru.jsx)("line",{x1:dt.x,y1:dt.y,x2:b.pointerX,y2:b.pointerY,stroke:"var(--archik-selected)",strokeWidth:1.6,strokeDasharray:"6 4",strokeLinecap:"round",opacity:.85}),(0,ru.jsx)("circle",{cx:b.pointerX,cy:b.pointerY,r:4,fill:"var(--archik-selected)",opacity:.9})]})]})}var $an={"--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)"},Uan={"--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 vte(o,c="dark"){let d=c==="light"?Uan:$an;return o.replace(/var\(--archik-([a-z0-9-]+)\)/g,(g,f)=>d[`--archik-${f}`]??g)}function kte(o,c="dark"){let g=(c==="light"?Uan:$an)["--archik-canvas"]??"#050912",f=o.match(/<svg\b[^>]*viewBox="([^"]+)"/),[b,v,k,T]=(f?.[1]??"0 0 0 0").split(/\s+/),N=`<rect x="${b}" y="${v}" width="${k}" height="${T}" fill="${g}"/>`;return o.replace(/(<svg\b[^>]*>)/,`$1${N}`)}async function A3r(o,c){let d=Zr(c,"out")??"sequence.svg",g=Zr(c,"theme")??"dark";if(g!=="dark"&&g!=="light")return console.error(`\u2717 --theme must be "dark" or "light" (got "${g}")`),1;let f=g,b;try{b=await Gan(o,"utf-8")}catch{return console.error(`\u2717 Cannot read ${o}`),1}let v=Wan.default.parse(b),k=xee.safeParse(v);if(!k.success)return console.error(`\u2717 ${o}: ${k.error.issues.map(we=>we.message).join("; ")}`),1;let T=eG.resolve(o),N=V1(T),j;try{let we=await Lu(void 0,N),Oe=await z0(we,N),at=new Map;for(let{doc:Mt}of Oe.docs)for(let _e of Mt.nodes)at.set(_e.id,_e.kind);j=at}catch{}let B=Wcn(k.data,j),G=(0,Vft.renderToStaticMarkup)((0,Gft.createElement)(yan,{laid:B})),fe=`<?xml version="1.0" encoding="UTF-8"?>
506
506
  ${kte(vte(G,f),f)}
507
507
  `,ae=eG.resolve(d);return await qan(eG.dirname(ae),{recursive:!0}),await Van(ae,fe,"utf-8"),console.log(`\u2713 Rendered sequence "${k.data.name}" \u2192 ${d}`),0}async function Mte(o){let c=Zr(o,"seq");if(c!==void 0)return A3r(c,o);let d;try{d=await Lu(o._[0])}catch(we){return console.error(`\u2717 ${we instanceof Error?we.message:String(we)}`),1}let g=eG.relative(process.cwd(),d)||d,f=Zr(o,"out")??"diagram.svg",b=Zr(o,"theme")??"dark";if(b!=="dark"&&b!=="light")return console.error(`\u2717 --theme must be "dark" or "light" (got "${b}")`),1;let v=b,k;try{k=await Gan(d,"utf-8")}catch(we){return console.error(`\u2717 Cannot read ${g}`),console.error(we instanceof Error?we.message:String(we)),1}try{P2(k)}catch(we){return console.error(`\u2717 ${g}`),console.error(we instanceof Error?we.message:String(we)),1}let T=V1(d),N=await z0(d,T);for(let we of N.errors)console.error(`warn: ${we.relPath}: ${we.message}`);let j={version:"1.0",name:"merged",nodes:N.docs.flatMap(we=>we.doc.nodes),edges:N.docs.flatMap(we=>we.doc.edges)},B=await Xq(j),G=(0,Vft.renderToStaticMarkup)((0,Gft.createElement)(Han,{positioned:B})),fe=`<?xml version="1.0" encoding="UTF-8"?>