archik 0.12.33 → 0.12.35

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.
@@ -504,7 +504,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
504
504
  ${Ag(d.errors)}`);return d.value}function kee(o){return Xht.default.stringify(o,{indent:2,lineWidth:0})}var p$n=6;function Kht(o,c){return Mee.relative(o,c).split(Mee.sep).join("/")||Mee.basename(c)}function g$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 d$n(k,"utf-8")}catch(P){g.push({abs:k,relPath:Kht(c,k),message:P instanceof Error?P.message:String(P)});return}try{let P=P2(T);d.push({abs:k,relPath:Kht(c,k),doc:P})}catch(P){g.push({abs:k,relPath:Kht(c,k),message:P instanceof Error?P.message:String(P)})}};await b(o);let v=async(k,T)=>{if(T>p$n)return;let P;try{P=await f$n(k,{withFileTypes:!0})}catch{return}for(let j of P){let B=Mee.join(k,j.name);if(j.isDirectory()){await v(B,T+1);continue}j.isFile()&&g$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 _$n,readdir as C$n}from"node:fs/promises";import See from"node:path";var y$n=jt.enum(["sync","async","return","create","destroy"]),b$n=jt.enum(["over","left_of","right_of"]),w$n=jt.enum(["alt","opt","loop","par","break","ref"]),m$n=jt.strictObject({id:$l,nodeId:$l,label:jt.string().min(1).optional(),status:g3.optional()}),v$n=jt.strictObject({type:jt.literal("message"),id:$l,from:$l,to:$l,label:jt.string().min(1),arrow:y$n,activate:jt.boolean().optional(),status:g3.optional()}),k$n=jt.strictObject({type:jt.literal("note"),id:$l,position:b$n,participants:jt.array($l).min(1),text:jt.string().min(1),status:g3.optional()}),M$n=jt.lazy(()=>jt.strictObject({label:jt.string().optional(),steps:jt.array(drn)})),x$n=jt.lazy(()=>jt.strictObject({type:jt.literal("group"),id:$l,kind:w$n,condition:jt.string().optional(),label:jt.string().optional(),branches:jt.array(M$n).optional(),seqFile:vee.optional(),participants:jt.array($l).optional(),status:g3.optional()})),drn=jt.lazy(()=>jt.union([v$n,k$n,x$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 S$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:S$n.optional(),participants:jt.array(m$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 I$n=6;function L$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=L$n(o,b),k;try{k=await _$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),P=xee.safeParse(T);if(!P.success){d.push({abs:b,relPath:v,message:P.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:P.data})}catch(T){d.push({abs:b,relPath:v,message:T instanceof Error?T.message:String(T)})}},f=async(b,v)=>{if(v>I$n)return;let k;try{k=await C$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let P=See.join(b,T.name);if(T.isDirectory()){await f(P,v+1);continue}T.isFile()&&T.name.endsWith(".archik.seq.yaml")&&await g(P)}};return await f(See.join(o,".archik"),0),{docs:c,errors:d}}var yrn=Ai(Gx(),1);import{readFile as F$n,readdir as z$n}from"node:fs/promises";import _ee from"node:path";var E$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"}),T$n=/^[a-z][a-z0-9-]*\.\d+$/,A$n=jt.string().regex(T$n,"branchFrom must be `<flowId>.<stepNumber>` (e.g. basic.3)"),P$n=jt.strictObject({steps:jt.array(jt.string().min(1)).min(1)}),N$n=jt.strictObject({id:$l,branchFrom:A$n,steps:jt.array(jt.string().min(1)).min(1)}),R$n=jt.strictObject({basic:P$n,alternates:jt.array(N$n).optional()}),D$n=jt.strictObject({seqFile:vee}),O$n=jt.strictObject({id:$l,description:jt.string().min(1),flows:jt.array($l).min(1),tests:jt.array(E$n).optional(),realization:D$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:R$n,slices:jt.array(O$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("."),P=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}(P<1||P>j)&&c.addIssue({code:jt.ZodIssueCode.custom,path:["flows","alternates",v,"branchFrom"],message:`branchFrom "${b.branchFrom}" step ${P} 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,P)=>{d.has(T)||c.addIssue({code:jt.ZodIssueCode.custom,path:["slices",v,"flows",P],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 j$n=6;function B$n(o,c){return _ee.relative(o,c).split(_ee.sep).join("/")||_ee.basename(c)}function H$n(o){return o.endsWith(".archik.uc.yaml")}async function Zy(o){let c=[],d=[],g=async b=>{let v=B$n(o,b),k;try{k=await F$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 P=grn.safeParse(T);if(!P.success){d.push({abs:b,relPath:v,message:P.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:P.data})},f=async(b,v)=>{if(v>j$n)return;let k;try{k=await z$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let P=_ee.join(b,T.name);if(T.isDirectory()){await f(P,v+1);continue}T.isFile()&&H$n(T.name)&&await g(P)}};return await f(_ee.join(o,".archik","usecases"),0),{docs:c,errors:d}}var wrn=Ai(Gx(),1);import{readFile as q$n,readdir as G$n}from"node:fs/promises";import Cee from"node:path";var $$n=jt.enum(["human","external-system","time","device"]),U$n=jt.strictObject({id:$l,kind:$$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(U$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 V$n=6;function W$n(o,c){return Cee.relative(o,c).split(Cee.sep).join("/")||Cee.basename(c)}function J$n(o){return o.endsWith(".archik.actors.yaml")}async function Zx(o){let c=[],d=[],g=async b=>{let v=W$n(o,b),k;try{k=await q$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 P=brn.safeParse(T);if(!P.success){d.push({abs:b,relPath:v,message:P.error.issues.map(j=>j.message).join("; ")});return}c.push({abs:b,relPath:v,doc:P.data})},f=async(b,v)=>{if(v>V$n)return;let k;try{k=await G$n(b,{withFileTypes:!0})}catch{return}for(let T of k){let P=Cee.join(b,T.name);if(T.isDirectory()){await f(P,v+1);continue}T.isFile()&&J$n(T.name)&&await g(P)}};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 Z$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 P=c.get(v.from),j=c.get(v.to);if(P===void 0||j===void 0)return;let B=Z$n[P];B&&!B.has(j)&&b.push({path:`${d}:${T}`,message:`ECB violation in seq "${g}" message "${v.id}": ${P} \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((P,j)=>{krn(P.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(P=>P.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(P=>P.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,P)=>{c(T)||d.push({path:`${g}:slices.${v}.tests.${P}`,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 Y$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=Y$n(o),d;try{d=await Lu(o._[0])}catch(Te){let Wt=Te instanceof Error?Te.message:String(Te);return c?Z5({ok:!1,errors:[{path:"<root>",message:Wt}]}):console.error(`\u2717 ${Wt}`),1}let g=Arn.relative(process.cwd(),d)||d,f;try{f=await K$n(d,"utf-8")}catch(Te){let Wt=Te instanceof Error?Te.message:String(Te);return c?Z5({ok:!1,file:g,errors:[{path:"<root>",message:Wt}]}):(console.error(`\u2717 Cannot read ${g}`),console.error(Wt)),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=W1(d),T=Te=>X$n(Arn.resolve(k,Te)),P=Iq(v.value,T);if(P.length>0)return c?Z5({ok:!1,file:g,errors:P}):(console.error(`\u2717 ${g}`),console.error(Ag(P))),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(Wt=>Wt.id))),de=[];for(let{doc:Te}of G.docs)de.push(...hrn(Te,T));if(de.length>0){if(c)Z5({ok:!1,file:g,errors:de});else{console.error("\u2717 seqFiles path errors:");for(let Te of de)console.error(` \u2717 ${Te.path}: ${Te.message}`)}return 1}let ce=await J5(k),we=0;for(let Te of ce.errors)c||console.error(`\u2717 ${Te.relPath}: ${Te.message}`),we++;for(let{relPath:Te,doc:Wt}of ce.docs){let tn=vrn(Wt,K);if(tn.length>0){if(!c){console.error(`\u2717 ${Te}`);for(let jn of tn)console.error(` \u2717 ${jn.path}: ${jn.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 De=await Zy(k),at=await Zx(k),kt=[];for(let Te of De.errors)kt.push({path:Te.relPath,message:Te.message});for(let Te of at.errors)kt.push({path:Te.relPath,message:Te.message});if(kt.length===0){let Te=_rn(at.docs);kt.push(...Te.errors);let Wt=Crn(De.docs);kt.push(...Wt.errors),kt.length===0&&(kt.push(...Irn(De.docs,Te.index)),kt.push(...Lrn(De.docs,T)),kt.push(...Ern(De.docs,ce.docs)),kt.push(...Srn(ce.docs,De.docs)),kt.push(...Mrn(ce.docs,G.docs)),kt.push(...xrn(ce.docs,G.docs)))}if(kt.length>0)return c?Z5({ok:!1,file:g,errors:kt}):(console.error(`\u2717 ${g}`),console.error(Ag(kt))),1;let _e=at.docs.reduce((Te,Wt)=>Te+Wt.doc.actors.length,0),ht=De.docs.length;if(c)Z5({ok:!0,file:g,nodes:v.value.nodes.length,edges:v.value.edges.length,useCases:ht,actors:_e});else{let Te=G.docs.reduce((fn,ii)=>fn+ii.doc.nodes.length,0),Wt=G.docs.reduce((fn,ii)=>fn+ii.doc.edges.length,0),tn=G.docs.length,jn=tn>1?` (${tn} files)`:"",rr=ht>0?`, ${ht} use case${ht===1?"":"s"}`:"",_r=_e>0?`, ${_e} actor${_e===1?"":"s"}`:"";console.log(`\u2713 ${g}${jn} \u2014 ${Te} nodes, ${Wt} edges${rr}${_r}`)}return 0}var Gft=Ai(y3(),1),Vft=Ai(Mge(),1),Jan=Ai(Gx(),1);import{mkdir as Gan,readFile as Van,writeFile as Wan}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 eWn(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 Th={width:172,height:82},Bcn={width:172,height:90},tWn={service:Th,function:Th,worker:Th,agent:Th,database:{width:184,height:100},cache:Bcn,vectordb:Th,storage:Th,queue:{width:188,height:80},topic:Th,stream:Th,gateway:Th,cdn:Th,route:Th,interface:Th,adapter:Th,port:Th,llm:Th,prompt:Th,tool:Th,auth:Th,observability:Th,cloud:{width:200,height:120},frontend:Bcn,page:Th,component:Th,store:Th,hook:Th,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},nWn={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},rWn=24,$cn=320;function iWn(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)+rWn;return Math.max(c,Math.min($cn,Math.ceil(b)))}var oWn={top:48,left:18,bottom:18,right:18};function cWn(o,c,d,g){let f=d[o.kind],b={id:o.id,width:iWn(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}:oWn;b.layoutOptions={"elk.padding":`[top=${v.top}, left=${v.left}, bottom=${v.bottom}, right=${v.right}]`}}return b}function aWn(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 cWn(k,T,c,d)}return{roots:(f.get(void 0)??[]).map(b),byId:g}}function sWn(o){return o.fromFile===void 0&&o.toFile===void 0}function uWn(o){return o.edges.filter(sWn).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 lWn(o,c){let d=new Map,g=new Map,f=(P,j,B,G)=>{let K=j+zw(P.x),de=B+zw(P.y);d.set(P.id,{x:K,y:de}),g.set(P.id,G);let ce=[...G,P.id];for(let we of P.children??[])f(we,K,de,ce)};f(o,0,0,[]);let b=(P,j)=>{let B=g.get(P)??[],G=g.get(j)??[],K=0;for(;K<B.length&&K<G.length&&B[K]===G[K];)K++;let de=K===0?o.id:B[K-1];return d.get(de)??{x:0,y:0}},v=new Map,k=new Map,T=P=>{for(let j of P.edges??[]){let B=j.sources?.[0]??"",G=j.targets?.[0]??"",K=b(B,G),de=De=>({x:zw(De.x)+K.x,y:zw(De.y)+K.y}),ce=(j.sections??[]).map(De=>({startPoint:de(De.startPoint),endPoint:de(De.endPoint),bendPoints:(De.bendPoints??[]).map(de)}));v.set(j.id,ce);let we=(j.labels??[]).map(De=>({text:typeof De.text=="string"?De.text:"",x:zw(De.x)+K.x,y:zw(De.y)+K.y,width:zw(De.width),height:zw(De.height)}));k.set(j.id,we)}for(let j of P.children??[])T(j)};return T(o),c.edges.map(P=>({...P,sections:v.get(P.id)??[],labels:k.get(P.id)??[]}))}var hWn=new Ucn.default;async function dWn(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"?nWn:tWn,{roots:f,byId:b}=aWn(o,g,d),v={id:"__root__",layoutOptions:eWn(c),children:f,edges:uWn(o)},k=await hWn.layout(v),T=(k.children??[]).map(P=>qcn(P,b));return{document:o,width:zw(k.width),height:zw(k.height),roots:T,edges:lWn(k,o)}}var xge={name:"elk",layout:dWn};var nri={[xge.name]:xge},fWn=xge;function Xq(o,c){return fWn.layout(o,c)}var Sge="seq-arrow-filled",_ge="seq-arrow-open";function pWn(o){return Math.max(160,o.length*8+80)}function Gcn(o,c,d,g,f){let b=d,v=[],k=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY;for(let P of o)if(P.type==="message"){let j=c.get(P.from),B=c.get(P.to),G=j?.cx??g,K=B?.cx??g;v.push({type:"message",id:P.id,fromCx:G,toCx:K,y:b,label:P.label,arrow:P.arrow,activate:P.activate??!1,isSelf:P.from===P.to,...P.status!==void 0?{status:P.status}:{}}),b+=P.from===P.to?56*1.5:56}else if(P.type==="note"){let j=P.participants.map(ce=>c.get(ce)?.cx).filter(ce=>ce!==void 0).sort((ce,we)=>ce-we),B=j[0]??g,G=j[j.length-1]??f,K=Math.min(Math.max(P.text.length*7.5+24,G-B+16,80),400),de;P.position==="left_of"?de=B-K-8:P.position==="right_of"?de=G+8:de=(B+G)/2-K/2,k=Math.min(k,de),T=Math.max(T,de+K),v.push({type:"note",id:P.id,x:de,y:b,width:K,height:64,text:P.text,...P.status!==void 0?{status:P.status}:{}}),b+=72}else if(P.type==="group"){b+=8;let j=g-12,B=f-g+24,G=b;b+=24;let K=[];if(P.branches)for(let de=0;de<P.branches.length;de++){let ce=P.branches[de],we=b,{items:De,endY:at,contentMinX:kt,contentMaxX:_e}=Gcn(ce.steps,c,b,g,f);b=at,k=Math.min(k,kt),T=Math.max(T,_e),K.push({...ce.label!==void 0?{label:ce.label}:{},startY:we,...de<P.branches.length-1?{dividerY:b}:{},steps:De}),de<P.branches.length-1&&(b+=4)}b+=12,v.push({type:"group",id:P.id,kind:P.kind,...P.condition!==void 0?{condition:P.condition}:{},...P.label!==void 0?{label:P.label}:{},...P.seqFile!==void 0?{seqFile:P.seqFile}:{},x:j,y:G,width:B,height:b-G,branches:K,...P.status!==void 0?{status:P.status}:{}}),k=Math.min(k,j),T=Math.max(T,j+B)}return{items:v,endY:b,contentMinX:k,contentMaxX:T}}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 gWn(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(Wt=>pWn(Wt.label??Wt.nodeId)),g=32,f=o.participants.map((Wt,tn)=>{let jn=d[tn],rr=g+jn/2;g+=jn;let _r=c?.get(Wt.nodeId);return{id:Wt.id,nodeId:Wt.nodeId,label:Wt.label??Wt.nodeId,cx:rr,colWidth:jn,..._r!==void 0?{kind:_r}:{},...Wt.status!==void 0?{status:Wt.status}:{},lifelineEndY:0}}),b=g+32,v=new Map(f.map(Wt=>[Wt.id,Wt])),k=f[0]?.cx??32,T=f[f.length-1]?.cx??b-32,P=24,{items:j,endY:B,contentMinX:G,contentMaxX:K}=Gcn(o.steps,v,P,k,T),de=G<32&&Number.isFinite(G)?32-G:0,ce=Number.isFinite(K)?K+de+32:0,we=Math.max(b+de,ce),De=de>0?j.map(Wt=>Jcn(Wt,de)):j,at=de>0?f.map(Wt=>({...Wt,cx:Wt.cx+de})):f,kt=Vcn(De),_e=at.map(Wt=>({...Wt,lifelineEndY:kt.get(Wt.cx)??56+B+24})),ht=56+B+24,Te=gWn(De);return{participants:_e,steps:De,activations:Te,totalWidth:we,totalHeight:ht}}function Jcn(o,c){return o.type==="message"?{...o,fromCx:o.fromCx+c,toCx:o.toCx+c}:o.type==="note"?{...o,x:o.x+c}:{...o,x:o.x+c,branches:o.branches.map(d=>({...d,steps:d.steps.map(g=>Jcn(g,c))}))}}var Ci=Ai(Rft(),1);var M3=Ai(sc(),1),ran=(o,c,d)=>({width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:c,strokeWidth:d,strokeLinecap:"round",strokeLinejoin:"round"});function ian({size:o=16,color:c="currentColor",strokeWidth:d=1.8}){return(0,M3.jsxs)("svg",{...ran(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 oan({size:o=16,color:c="currentColor",strokeWidth:d=1.8}){return(0,M3.jsxs)("svg",{...ran(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:oan,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:ian,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,Xkr=128,Kkr=7,can=20,aan=24;function san({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(Xkr,o.label.length*Kkr+aan+(b?can:0)),k=v/2,T=b?k+can/2:k,P=o.status,j=P==="proposed"?.55:P==="deprecated"?.35:1,B=P==="proposed"||P==="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(${aan/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 lan=Ai(sc(),1);function uan({participant:o}){let c=o.status,d=c==="proposed"?.3:c==="deprecated"?.2:.5;return(0,lan.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,Ykr=-6;function han({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 P=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:P,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+Ykr,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),Qkr={alt:"#6366f1",opt:"#0ea5e9",loop:"#10b981",par:"#f59e0b",break:"#ef4444",ref:"#8b5cf6"},dan=36,zft=18;function fan({group:o,renderStep:c,onRefClick:d}){let g=Qkr[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:dan,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+dan+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 e3r(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 pan({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}),e3r(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 t3r({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 n3r({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 yan({step:o,onRefClick:c}){return o.type==="message"?(0,$0.jsx)(han,{msg:o}):o.type==="note"?(0,$0.jsx)(pan,{note:o}):o.type==="group"?(0,$0.jsx)(fan,{group:o,...c!==void 0?{onRefClick:c}:{},renderStep:d=>(0,$0.jsx)(yan,{step:d,...c!==void 0?{onRefClick:c}:{}},d.id)}):null}function ban({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)(t3r,{id:Sge}),(0,$0.jsx)(n3r,{id:_ge})]}),g.map(T=>(0,$0.jsx)(uan,{participant:T},T.id)),g.map(T=>(0,$0.jsx)(san,{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)(yan,{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),r3r=24;function wan({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-r3r),P=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:P}),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 man({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,P=Math.max(0,d-2*f-8),j=Gf(o.name,P,7.4),B=b?Gf(o.stack,P,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),i3r=24;function van({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,P=Math.max(0,d-i3r),j=Gf(o.name,P,7.4),B=f?Gf(o.description,P,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),o3r=28,c3r=10,a3r=22;function kan({node:o,selected:c}){let d=o.width,g=o.height,f=d/2,b=c3r,v=jw[o.kind],k=v.icon,T=c?"var(--archik-selected)":"var(--archik-node-stroke)",P=c?1.8:1.4,j=o.stack!==void 0,B=Math.max(0,d-o3r),G=Gf(o.name,B,7.4),K=j?Gf(o.stack,B,5.9):"",de=g,ce=de-a3r,we=(ce+de)/2,kt=(b+8+ce)/2,_e=j?kt-4:kt+4,ht=kt+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:u3r(d,g,b),fill:"var(--archik-node-fill)",stroke:T,strokeWidth:P,strokeLinejoin:"round"}),(0,e6.jsx)("ellipse",{cx:f,cy:b,rx:d/2,ry:b,fill:"var(--archik-node-fill)",stroke:T,strokeWidth:P}),(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:ht,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:K}),(0,e6.jsx)("line",{x1:4,y1:ce,x2:d-4,y2:ce,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 s3r=10;function u3r(o,c,d){let g=s3r;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),l3r=36,Man=18;function xan({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,P=Math.max(0,d-l3r),j=Gf(o.name,P,7.4),B=T?Gf(o.stack,P,5.9):"",G=d/2,K=g*.55,de=T?K-4:K+4,ce=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:h3r(d,g),fill:"var(--archik-node-fill)",stroke:v,strokeWidth:k,strokeLinejoin:"round"}),(0,cS.jsx)("g",{transform:`translate(18, ${Man-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:Man+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:de,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:j}),T&&(0,cS.jsx)("text",{x:G,y:ce,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:B})]})}function h3r(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),P=Math.min(v*.18,k),j=Math.min(v*.15,k*.85),B=2*(T+P+j),G=Math.max(0,v-B)/4,K=2,de=o-2,ce=K+G,we=ce+2*T,De=we+G,at=De+2*P,kt=at+G,_e=kt+2*j;return[`M ${K} ${g-b}`,`Q ${K} ${g} ${K+b} ${g}`,`L ${de-b} ${g}`,`Q ${de} ${g} ${de} ${g-b}`,`L ${de} ${f}`,`L ${_e} ${f}`,`A ${j} ${j} 0 0 0 ${kt} ${f}`,`L ${at} ${f}`,`A ${P} ${P} 0 0 0 ${De} ${f}`,`L ${we} ${f}`,`A ${T} ${T} 0 0 0 ${ce} ${f}`,`L ${K} ${f}`,"Z"].join(" ")}var rb=Ai(sc(),1),Qq=32,FDe=14,jft=14;function San({node:o,selected:c,depth:d=0}){let g=o.width,f=o.height;if(!(o.children.length>0))return(0,rb.jsx)(f3r,{node:o,selected:!!c});let v=jw[o.kind],k=v.icon,T=Math.min(.04+d*.06,.22),P=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:d3r(g,Qq,8),fill:v.color,fillOpacity:P*.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 d3r(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 f3r({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,_an=10,Bft=28;function Can({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)(p3r,{node:o,selected:!!c,depth:d});let T=c?"var(--archik-selected)":k?"var(--archik-node-stroke-soft)":"var(--archik-node-stroke)",P=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:P,stroke:T,strokeWidth:c?1.8:1.4,strokeDasharray:k&&!c?"5 4":void 0}),(0,ib.jsx)("g",{transform:`translate(${_an}, ${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 p3r({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),P=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:P,strokeWidth:c?1.8:1.2}),(0,ib.jsx)("path",{d:g3r(g,wte,6),fill:b.color,fillOpacity:T*.18}),(0,ib.jsx)("line",{x1:0,y1:wte,x2:g,y2:wte,stroke:P,strokeOpacity:.45,strokeWidth:1}),(0,ib.jsx)("g",{transform:`translate(${_an}, ${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 g3r(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),g1=Ai(sc(),1),y3r=12,b3r=18;function Ian({Icon:o,cx:c,cy:d,size:g=y3r,color:f,strokeWidth:b=1.8}){return(0,g1.jsx)("g",{transform:`translate(${c-g/2}, ${d-g/2})`,pointerEvents:"none","aria-hidden":"true",children:(0,g1.jsx)(o,{size:g,color:f??"var(--archik-fg-dim)",strokeWidth:b})})}function Lan(o){return(0,g1.jsx)(Ian,{Icon:B9.Info,...o})}function Ean(o){return(0,g1.jsx)(Ian,{Icon:B9.StickyNote,...o})}function Tan({cx:o,cy:c,filePath:d,fileLabel:g,onClick:f,size:b=13}){return(0,g1.jsxs)("g",{transform:`translate(${o-b/2}, ${c-b/2})`,style:{cursor:f?"pointer":"default"},onClick:f,children:[(0,g1.jsx)("title",{children:`Cross-file edge \u2192 ${g} (${d})`}),(0,g1.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,g1.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,g1.jsx)(B9.ArrowUpRight,{size:b-2,color:"var(--archik-fg-muted)",strokeWidth:2.2})})]})}function Aan({cx:o,cy:c,onClick:d,size:g=14}){return(0,g1.jsxs)("g",{transform:`translate(${o-g/2}, ${c-g/2})`,style:{cursor:d?"pointer":"default"},onClick:d,children:[(0,g1.jsx)("title",{children:"Open sub-architecture"}),(0,g1.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,g1.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,g1.jsx)(B9.ChevronDown,{size:g-2,color:"var(--archik-accent)",strokeWidth:2.2})})]})}function Pan({cx:o,cy:c,files:d,count:g,size:f=14}){let b=d.length===1?`Open sequence diagram \u2192 ${d[0].label} (${d[0].path})`:`${d.length} sequence diagrams on this node:
505
505
  `+d.map(v=>` \u2022 ${v.label}`).join(`
506
506
  `)+`
507
- Click to open the first; the rest live in the inspector.`;return(0,g1.jsxs)("g",{transform:`translate(${o-f/2}, ${c-f/2})`,style:{cursor:"pointer"},children:[(0,g1.jsx)("title",{children:b}),(0,g1.jsx)("circle",{cx:f/2,cy:f/2,r:f/2+.5,fill:"var(--archik-status-proposed)",fillOpacity:.16,stroke:"var(--archik-status-proposed)",strokeOpacity:.5,strokeWidth:1}),(0,g1.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,g1.jsx)(B9.GitBranch,{size:f-2,color:"var(--archik-status-proposed)",strokeWidth:2.2})}),g!==void 0&&g>1&&(0,g1.jsxs)("g",{pointerEvents:"none",children:[(0,g1.jsx)("circle",{cx:f+1,cy:1,r:6,fill:"var(--archik-canvas)"}),(0,g1.jsx)("circle",{cx:f+1,cy:1,r:5,fill:"var(--archik-status-proposed)"}),(0,g1.jsx)("text",{x:f+1,y:3.5,fontSize:8,fontWeight:700,fill:"#ffffff",textAnchor:"middle",children:g})]})]})}function Nan(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 Ran(o,c){return Array.from({length:c},(d,g)=>({x:o.x-g*b3r,y:o.y}))}var Au=Ai(sc(),1);function w3r({node:o,selected:c,viewMode:d,depth:g}){if(d==="compact")return(0,Au.jsx)(Can,{node:o,selected:c,depth:g});if(o.children.length>0)return(0,Au.jsx)(San,{node:o,selected:c,depth:g});switch(o.kind){case"queue":return(0,Au.jsx)(man,{node:o,selected:c});case"external":case"human":return(0,Au.jsx)(van,{node:o,selected:c});case"database":return(0,Au.jsx)(kan,{node:o,selected:c});case"cloud":return(0,Au.jsx)(xan,{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)(wan,{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 P=c?.has(o.id)??!1,j=d?.has(o.id)??!1,G=o.children.length>0?T+1:T,K=g?ce=>{ce.stopPropagation(),g(o.id,ce)}:void 0,de=o.description!==void 0&&o.description.length>0;return(0,Au.jsxs)("g",{"data-archik-node-id":o.id,...P?{"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)(w3r,{node:o,selected:P,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 ce=o.notes!==void 0&&o.notes.length>0,we=o.archikFile!==void 0&&o.archikFile.length>0,De=v?.get(o.id),at=De?Array.from(De).sort():[],kt=o.seqFiles??[],_e=[];we&&_e.push("subarch"),kt.length>0&&_e.push({type:"seq",paths:kt});for(let Wt of at)_e.push({type:"crossfile",path:Wt});if(de&&_e.push("info"),ce&&_e.push("notes"),_e.length===0)return null;let ht=Nan(o.kind,o.width,o.height),Te=Ran(ht.right,_e.length);return(0,Au.jsx)(Au.Fragment,{children:_e.map((Wt,tn)=>{let jn=Te[tn];if(typeof Wt=="object"&&Wt.type==="seq"){let rr=Wt.paths.map(fn=>({path:fn,label:fn.split("/").pop().replace(/\.archik\.seq\.yaml$/,"")})),_r=`/__archik/seq?path=${encodeURIComponent(rr[0].path)}`;return(0,Au.jsx)("a",{href:_r,onClick:fn=>fn.stopPropagation(),children:(0,Au.jsx)(Pan,{cx:jn.x,cy:jn.y,files:rr,count:rr.length})},"seq")}if(typeof Wt=="object"&&Wt.type==="crossfile"){let rr=Wt.path,_r=rr.split("/").pop().replace(/\.archik\.yaml$/,""),fn=b??f,ii=fn?Si=>{Si.stopPropagation(),fn(rr,_r)}:void 0;return(0,Au.jsx)(Tan,{cx:jn.x,cy:jn.y,filePath:rr,fileLabel:_r,...ii?{onClick:ii}:{}},`xf-${rr}`)}if(Wt==="subarch"){let rr=o.archikFile,_r=f?fn=>{fn.stopPropagation(),f(rr,o.name)}:void 0;return(0,Au.jsx)(Aan,{cx:jn.x,cy:jn.y,..._r?{onClick:_r}:{}},"subarch")}return Wt==="info"?(0,Au.jsx)(Lan,{cx:jn.x,cy:jn.y,color:"var(--archik-node-caption)"},"info"):(0,Au.jsxs)("g",{children:[(0,Au.jsx)(Ean,{cx:jn.x,cy:jn.y,color:"var(--archik-node-caption)"}),o.notes&&o.notes.length>1&&(0,Au.jsx)("text",{x:jn.x+7,y:jn.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:o.notes.length})]},"notes")})})})(),o.children.map(ce=>(0,Au.jsx)(Hft,{node:ce,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}:{}},ce.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)",m3r={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 Dan(o){return o.map(c=>`${c.x},${c.y}`).join(" ")}function v3r(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 Oan({edge:o,selectedEdgeIds:c,onSelectEdge:d}){let g=o.sections[0];if(!g)return null;let f=[g.startPoint,...g.bendPoints,g.endPoint],b=m3r[o.relationship],v=o.labels[0],k=v?{x:v.x+v.width/2,y:v.y+v.height/2}:v3r(f),T=c?.has(o.id)??!1,P=o.status==="proposed"?"var(--archik-status-proposed)":o.status==="deprecated"?"var(--archik-status-deprecated)":void 0,j=T?"var(--archik-selected)":P??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,de=!T&&b.animated?"archik-edge-flowing":void 0,ce=b.strokeDasharray!==void 0?b.strokeDasharray.trim().split(/\s+/).reduce((at,kt)=>at+Number(kt),0):0,we=de!==void 0&&ce>0?{"--archik-dash-period":String(ce)}:void 0,De=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}`,...De!==void 0?{onClick:De}:{},style:d?{cursor:"pointer"}:void 0,children:[d&&(0,Pz.jsx)("polyline",{"data-archik-edge-hitarea":"",points:Dan(f),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),(0,Pz.jsx)("polyline",{className:de,points:Dan(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 k3r(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 M3r(o){return o.replace(/[^a-z0-9-]/g,c=>`\\${c}`)}function jan({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="${M3r(f)}"] { opacity: 0.35; }`).join(`
507
+ Click to open the first; the rest live in the inspector.`;return(0,g1.jsxs)("g",{transform:`translate(${o-f/2}, ${c-f/2})`,style:{cursor:"pointer"},children:[(0,g1.jsx)("title",{children:b}),(0,g1.jsx)("circle",{cx:f/2,cy:f/2,r:f/2+.5,fill:"var(--archik-status-proposed)",fillOpacity:.16,stroke:"var(--archik-status-proposed)",strokeOpacity:.5,strokeWidth:1}),(0,g1.jsx)("g",{transform:"translate(1, 1)",pointerEvents:"none",children:(0,g1.jsx)(B9.GitBranch,{size:f-2,color:"var(--archik-status-proposed)",strokeWidth:2.2})}),g!==void 0&&g>1&&(0,g1.jsxs)("g",{pointerEvents:"none",children:[(0,g1.jsx)("circle",{cx:f/2,cy:-3,r:5.5,fill:"var(--archik-canvas)"}),(0,g1.jsx)("circle",{cx:f/2,cy:-3,r:4.5,fill:"var(--archik-status-proposed)"}),(0,g1.jsx)("text",{x:f/2,y:-.5,fontSize:7.5,fontWeight:700,fill:"#ffffff",textAnchor:"middle",children:g})]})]})}function Nan(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:42}};default:return{right:{x:c-14,y:14}}}}function Ran(o,c){return Array.from({length:c},(d,g)=>({x:o.x-g*b3r,y:o.y}))}var Au=Ai(sc(),1);function w3r({node:o,selected:c,viewMode:d,depth:g}){if(d==="compact")return(0,Au.jsx)(Can,{node:o,selected:c,depth:g});if(o.children.length>0)return(0,Au.jsx)(San,{node:o,selected:c,depth:g});switch(o.kind){case"queue":return(0,Au.jsx)(man,{node:o,selected:c});case"external":case"human":return(0,Au.jsx)(van,{node:o,selected:c});case"database":return(0,Au.jsx)(kan,{node:o,selected:c});case"cloud":return(0,Au.jsx)(xan,{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)(wan,{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 P=c?.has(o.id)??!1,j=d?.has(o.id)??!1,G=o.children.length>0?T+1:T,K=g?ce=>{ce.stopPropagation(),g(o.id,ce)}:void 0,de=o.description!==void 0&&o.description.length>0;return(0,Au.jsxs)("g",{"data-archik-node-id":o.id,...P?{"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)(w3r,{node:o,selected:P,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 ce=o.notes!==void 0&&o.notes.length>0,we=o.archikFile!==void 0&&o.archikFile.length>0,De=v?.get(o.id),at=De?Array.from(De).sort():[],kt=o.seqFiles??[],_e=[];we&&_e.push("subarch"),kt.length>0&&_e.push({type:"seq",paths:kt});for(let Wt of at)_e.push({type:"crossfile",path:Wt});if(de&&_e.push("info"),ce&&_e.push("notes"),_e.length===0)return null;let ht=Nan(o.kind,o.width,o.height),Te=Ran(ht.right,_e.length);return(0,Au.jsx)(Au.Fragment,{children:_e.map((Wt,tn)=>{let jn=Te[tn];if(typeof Wt=="object"&&Wt.type==="seq"){let rr=Wt.paths.map(fn=>({path:fn,label:fn.split("/").pop().replace(/\.archik\.seq\.yaml$/,"")})),_r=`/__archik/seq?path=${encodeURIComponent(rr[0].path)}`;return(0,Au.jsx)("a",{href:_r,onClick:fn=>fn.stopPropagation(),children:(0,Au.jsx)(Pan,{cx:jn.x,cy:jn.y,files:rr,count:rr.length})},"seq")}if(typeof Wt=="object"&&Wt.type==="crossfile"){let rr=Wt.path,_r=rr.split("/").pop().replace(/\.archik\.yaml$/,""),fn=b??f,ii=fn?Si=>{Si.stopPropagation(),fn(rr,_r)}:void 0;return(0,Au.jsx)(Tan,{cx:jn.x,cy:jn.y,filePath:rr,fileLabel:_r,...ii?{onClick:ii}:{}},`xf-${rr}`)}if(Wt==="subarch"){let rr=o.archikFile,_r=f?fn=>{fn.stopPropagation(),f(rr,o.name)}:void 0;return(0,Au.jsx)(Aan,{cx:jn.x,cy:jn.y,..._r?{onClick:_r}:{}},"subarch")}return Wt==="info"?(0,Au.jsx)(Lan,{cx:jn.x,cy:jn.y,color:"var(--archik-node-caption)"},"info"):(0,Au.jsxs)("g",{children:[(0,Au.jsx)(Ean,{cx:jn.x,cy:jn.y,color:"var(--archik-node-caption)"}),o.notes&&o.notes.length>1&&(0,Au.jsx)("text",{x:jn.x+7,y:jn.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:o.notes.length})]},"notes")})})})(),o.children.map(ce=>(0,Au.jsx)(Hft,{node:ce,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}:{}},ce.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)",m3r={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 Dan(o){return o.map(c=>`${c.x},${c.y}`).join(" ")}function v3r(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 Oan({edge:o,selectedEdgeIds:c,onSelectEdge:d}){let g=o.sections[0];if(!g)return null;let f=[g.startPoint,...g.bendPoints,g.endPoint],b=m3r[o.relationship],v=o.labels[0],k=v?{x:v.x+v.width/2,y:v.y+v.height/2}:v3r(f),T=c?.has(o.id)??!1,P=o.status==="proposed"?"var(--archik-status-proposed)":o.status==="deprecated"?"var(--archik-status-deprecated)":void 0,j=T?"var(--archik-selected)":P??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,de=!T&&b.animated?"archik-edge-flowing":void 0,ce=b.strokeDasharray!==void 0?b.strokeDasharray.trim().split(/\s+/).reduce((at,kt)=>at+Number(kt),0):0,we=de!==void 0&&ce>0?{"--archik-dash-period":String(ce)}:void 0,De=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}`,...De!==void 0?{onClick:De}:{},style:d?{cursor:"pointer"}:void 0,children:[d&&(0,Pz.jsx)("polyline",{"data-archik-edge-hitarea":"",points:Dan(f),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),(0,Pz.jsx)("polyline",{className:de,points:Dan(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 k3r(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 M3r(o){return o.replace(/[^a-z0-9-]/g,c=>`\\${c}`)}function jan({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="${M3r(f)}"] { opacity: 0.35; }`).join(`
508
508
  `);return(0,ob.jsx)("style",{children:g})}function Ban({positioned:o,statuses:c}){return(0,ob.jsx)("g",{className:"archik-diff-nodes",pointerEvents:"none",children:k3r(o.roots).map(d=>{let g=c.nodes.get(d.id);return g===void 0||g==="unchanged"?null:(0,ob.jsx)(x3r,{node:d,status:g},d.id)})})}function x3r({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=Fan(o.kind,g-1,f-1,b+2,v+2),P=Fan(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:P,fill:"none",stroke:d,strokeWidth:2.2,strokeLinejoin:"round",...k!==void 0?{strokeDasharray:k}:{},opacity:.95}),(0,ob.jsx)(C3r,{x:g+b-6,y:f-6,status:c})]})}function Fan(o,c,d,g,f){switch(o){case"queue":{let b=Math.min(f/2,28);return zan(c,d,g,f,b)}case"database":return S3r(c,d,g,f,12);case"cloud":return _3r(c,d,g,f);default:return zan(c,d,g,f,10)}}function zan(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 S3r(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 _3r(o,c,d,g){let b=g-2,v=g*.62,k=Math.min(g*.18,14),T=d-4,P=g*.5,j=Math.min(T*.15,P*.85),B=Math.min(T*.18,P),G=Math.min(T*.15,P*.85),K=2*(j+B+G),de=Math.max(0,T-K)/4,ce=2,we=d-2,De=ce+de,at=De+2*j,kt=at+de,_e=kt+2*B,ht=_e+de,Te=ht+2*G;return[`M ${o+ce} ${c+b-k}`,`Q ${o+ce} ${c+b} ${o+ce+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+ht} ${c+v}`,`L ${o+_e} ${c+v}`,`A ${B} ${B} 0 0 0 ${o+kt} ${c+v}`,`L ${o+at} ${c+v}`,`A ${j} ${j} 0 0 0 ${o+De} ${c+v}`,`L ${o+ce} ${c+v}`,"Z"].join(" ")}function C3r({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 Han({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)(I3r,{edge:d,status:g},d.id)})})}function I3r({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 L3r({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 E3r({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 T3r({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 P=new Map;for(let j of o.edges){if(j.toFile!==void 0){let B=P.get(j.from)??new Set;B.add(j.toFile),P.set(j.from,B)}if(j.fromFile!==void 0){let B=P.get(j.to)??new Set;B.add(j.fromFile),P.set(j.to,B)}}return(0,ru.jsxs)(ru.Fragment,{children:[(0,ru.jsxs)("defs",{children:[(0,ru.jsx)(L3r,{id:Bw}),(0,ru.jsx)(E3r,{id:Az}),(0,ru.jsx)(T3r,{id:$ft})]}),(0,ru.jsx)("g",{className:"archik-edges",children:o.edges.map(j=>(0,ru.jsx)(Oan,{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:P,...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 A3r(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 $an({positioned:o,className:c,zoom:d=1,viewMode:g="detailed",svgRef:f,dragGhost:b,selectedNodeIds:v,selectedEdgeIds:k,glowNodeIds:T,onSelectNode:P,onSelectEdge:j,onSelectNothing:B,onOpenSubFile:G,onCrossFileNavigate:K,diffStatuses:de}){let ce=Math.max(o.width,1),we=Math.max(o.height,1),De=-zDe,at=-zDe,kt=ce+zDe*2,_e=we+zDe*2,ht=b?A3r(o,b.fromId):null;return(0,ru.jsxs)("svg",{ref:f,className:c,xmlns:"http://www.w3.org/2000/svg",width:kt*d,height:_e*d,viewBox:`${De} ${at} ${kt} ${_e}`,preserveAspectRatio:"xMidYMid meet",style:{display:"block",flexShrink:0},onClick:B,children:[de&&(0,ru.jsx)(jan,{statuses:de,scopeClass:"archik-diff-base"}),(0,ru.jsx)("g",{className:de?"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}:{},...P!==void 0?{onSelectNode:P}:{},...j!==void 0?{onSelectEdge:j}:{},...G!==void 0?{onOpenSubFile:G}:{},...K!==void 0?{onCrossFileNavigate:K}:{}})}),de&&(0,ru.jsxs)(ru.Fragment,{children:[(0,ru.jsx)(Han,{positioned:o,statuses:de}),(0,ru.jsx)(Ban,{positioned:o,statuses:de})]}),b&&ht&&(0,ru.jsxs)("g",{className:"archik-drag-ghost",pointerEvents:"none",children:[(0,ru.jsx)("line",{x1:ht.x,y1:ht.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 Uan={"--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)"},qan={"--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"?qan:Uan;return o.replace(/var\(--archik-([a-z0-9-]+)\)/g,(g,f)=>d[`--archik-${f}`]??g)}function kte(o,c="dark"){let g=(c==="light"?qan:Uan)["--archik-canvas"]??"#050912",f=o.match(/<svg\b[^>]*viewBox="([^"]+)"/),[b,v,k,T]=(f?.[1]??"0 0 0 0").split(/\s+/),P=`<rect x="${b}" y="${v}" width="${k}" height="${T}" fill="${g}"/>`;return o.replace(/(<svg\b[^>]*>)/,`$1${P}`)}async function P3r(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 Van(o,"utf-8")}catch{return console.error(`\u2717 Cannot read ${o}`),1}let v=Jan.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),P=W1(T),j;try{let we=await Lu(void 0,P),De=await z0(we,P),at=new Map;for(let{doc:kt}of De.docs)for(let _e of kt.nodes)at.set(_e.id,_e.kind);j=at}catch{}let B=Wcn(k.data,j),G=(0,Vft.renderToStaticMarkup)((0,Gft.createElement)(ban,{laid:B})),de=`<?xml version="1.0" encoding="UTF-8"?>
509
509
  ${kte(vte(G,f),f)}
510
510
  `,ce=eG.resolve(d);return await Gan(eG.dirname(ce),{recursive:!0}),await Wan(ce,de,"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 P3r(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 Van(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=W1(d),P=await z0(d,T);for(let we of P.errors)console.error(`warn: ${we.relPath}: ${we.message}`);let j={version:"1.0",name:"merged",nodes:P.docs.flatMap(we=>we.doc.nodes),edges:P.docs.flatMap(we=>we.doc.edges)},B=await Xq(j),G=(0,Vft.renderToStaticMarkup)((0,Gft.createElement)($an,{positioned:B})),de=`<?xml version="1.0" encoding="UTF-8"?>
@@ -32,7 +32,7 @@ Consider installing the package or pass your own 'workerFactory' to ELK's constr
32
32
  ... Falling back to non-web worker version.`);if(!Hn.workerFactory){var Zn=p("./elk-worker.min.js"),qt=Zn.Worker;Hn.workerFactory=function(qi){return new qt(qi)}}return G(this,Dn,[Hn])}return Se(Dn,bn),j(Dn)})(ie);Object.defineProperty(v.exports,"__esModule",{value:!0}),v.exports=sn,sn.default=sn},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(p,v,T){var M=typeof Worker<"u"?Worker:void 0;v.exports=M},{}]},{},[3])(3)})})(v8e)),v8e.exports}var jzn=kzn();const Szn=j1n(jzn),ST=7.4,i5=5.9,Ezn=5.9,Azn=14;function nue(h,b){return h.length*b}function Zg(h,b,p){if(b<=0)return"";const v=Math.floor(b/p);return h.length<=v?h:v<=1?"…":h.slice(0,v-1)+"…"}const y8e={nodeSpacing:60,layerSpacing:100,padding:40};function Tzn(h){const b=h.nodeSpacing??y8e.nodeSpacing,p=h.layerSpacing??y8e.layerSpacing,v=h.padding??y8e.padding;return{"elk.algorithm":"layered","elk.direction":"RIGHT","elk.edgeRouting":"ORTHOGONAL","elk.layered.spacing.nodeNodeBetweenLayers":String(p),"elk.spacing.nodeNode":String(b),"elk.padding":`[top=${v}, left=${v}, bottom=${v}, right=${v}]`,"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"}}const Vl={width:172,height:82},yhn={width:172,height:90},xzn={service:Vl,function:Vl,worker:Vl,agent:Vl,database:{width:184,height:100},cache:yhn,vectordb:Vl,storage:Vl,queue:{width:188,height:80},topic:Vl,stream:Vl,gateway:Vl,cdn:Vl,route:Vl,interface:Vl,adapter:Vl,port:Vl,llm:Vl,prompt:Vl,tool:Vl,auth:Vl,observability:Vl,cloud:{width:200,height:120},frontend:yhn,page:Vl,component:Vl,store:Vl,hook:Vl,external:{width:184,height:100},human:{width:184,height:100},module:{width:240,height:130},custom:{width:240,height:130}},ko={width:152,height:36},khn={width:200,height:80},Mzn={service:ko,function:ko,worker:ko,agent:ko,database:ko,cache:ko,vectordb:ko,storage:ko,queue:{width:168,height:36},topic:ko,stream:ko,gateway:ko,cdn:ko,route:ko,interface:ko,adapter:ko,port:ko,llm:ko,prompt:ko,tool:ko,auth:ko,observability:ko,cloud:ko,frontend:ko,page:ko,component:ko,store:ko,hook:ko,external:{width:168,height:40},human:{width:168,height:40},module:khn,custom:khn},Czn=24,jhn=320;function Ozn(h,b,p){if(h.kind==="module"||h.kind==="custom")return b;if(p==="compact"){const R=36+nue(h.name,i5)+12;return Math.max(b,Math.min(jhn,Math.ceil(R)))}const v=nue(h.name,ST),T=h.stack!==void 0?nue(h.stack,i5):0,M=Math.max(v,T)+Czn;return Math.max(b,Math.min(jhn,Math.ceil(M)))}const _zn={top:48,left:18,bottom:18,right:18};function Nzn(h,b,p,v){const T=p[h.kind],M={id:h.id,width:Ozn(h,T.width,v),height:T.height};if(b.length>0){M.children=b;const j=v==="compact"?{top:30,left:12,bottom:12,right:12}:_zn;M.layoutOptions={"elk.padding":`[top=${j.top}, left=${j.left}, bottom=${j.bottom}, right=${j.right}]`}}return M}function Izn(h,b,p){const v=new Map;for(const R of h.nodes)v.set(R.id,R);const T=new Map;for(const R of h.nodes){const G=T.get(R.parentId)??[];G.push(R),T.set(R.parentId,G)}function M(R){const G=(T.get(R.id)??[]).map(M);return Nzn(R,G,b,p)}return{roots:(T.get(void 0)??[]).map(M),byId:v}}function Dzn(h){return h.fromFile===void 0&&h.toFile===void 0}function $zn(h){return h.edges.filter(Dzn).map(b=>{const p={id:b.id,sources:[b.from],targets:[b.to]};return b.label!==void 0&&b.label.length>0&&(p.labels=[{text:b.label,width:Math.ceil(nue(b.label,Ezn)),height:Azn}]),p})}function Mb(h){return h??0}function S1n(h,b){const p=b.get(h.id);if(!p)throw new Error(`ELK returned unknown node id "${h.id}"`);const v=(h.children??[]).map(T=>S1n(T,b));return{...p,x:Mb(h.x),y:Mb(h.y),width:Mb(h.width),height:Mb(h.height),children:v}}function Lzn(h,b){const p=new Map,v=new Map,T=(J,oe,re,fe)=>{const Se=oe+Mb(J.x),Ke=re+Mb(J.y);p.set(J.id,{x:Se,y:Ke}),v.set(J.id,fe);const ie=[...fe,J.id];for(const sn of J.children??[])T(sn,Se,Ke,ie)};T(h,0,0,[]);const M=(J,oe)=>{const re=v.get(J)??[],fe=v.get(oe)??[];let Se=0;for(;Se<re.length&&Se<fe.length&&re[Se]===fe[Se];)Se++;const Ke=Se===0?h.id:re[Se-1];return p.get(Ke)??{x:0,y:0}},j=new Map,R=new Map,G=J=>{for(const oe of J.edges??[]){const re=oe.sources?.[0]??"",fe=oe.targets?.[0]??"",Se=M(re,fe),Ke=bn=>({x:Mb(bn.x)+Se.x,y:Mb(bn.y)+Se.y}),ie=(oe.sections??[]).map(bn=>({startPoint:Ke(bn.startPoint),endPoint:Ke(bn.endPoint),bendPoints:(bn.bendPoints??[]).map(Ke)}));j.set(oe.id,ie);const sn=(oe.labels??[]).map(bn=>({text:typeof bn.text=="string"?bn.text:"",x:Mb(bn.x)+Se.x,y:Mb(bn.y)+Se.y,width:Mb(bn.width),height:Mb(bn.height)}));R.set(oe.id,sn)}for(const oe of J.children??[])G(oe)};return G(h),b.edges.map(J=>({...J,sections:j.get(J.id)??[],labels:R.get(J.id)??[]}))}const Rzn=new Szn;async function Pzn(h,b={}){if(h.nodes.length===0)return{document:h,width:0,height:0,roots:[],edges:[]};const p=b.viewMode==="compact"?"compact":"detailed",v=p==="compact"?Mzn:xzn,{roots:T,byId:M}=Izn(h,v,p),j={id:"__root__",layoutOptions:Tzn(b),children:T,edges:$zn(h)},R=await Rzn.layout(j),G=(R.children??[]).map(J=>S1n(J,M));return{document:h,width:Mb(R.width),height:Mb(R.height),roots:G,edges:Lzn(R,h)}}const zzn={name:"elk",layout:Pzn},Bzn=zzn;function Fzn(h,b){return Bzn.layout(h,b)}const E1n=(...h)=>h.filter((b,p,v)=>!!b&&b.trim()!==""&&v.indexOf(b)===p).join(" ").trim();const qzn=h=>h.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const Gzn=h=>h.replace(/^([A-Z])|[\s-_]+(\w)/g,(b,p,v)=>v?v.toUpperCase():p.toLowerCase());const Shn=h=>{const b=Gzn(h);return b.charAt(0).toUpperCase()+b.slice(1)};var k8e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Uzn=h=>{for(const b in h)if(b.startsWith("aria-")||b==="role"||b==="title")return!0;return!1},Jzn=kt.createContext({}),Hzn=()=>kt.useContext(Jzn),Kzn=kt.forwardRef(({color:h,size:b,strokeWidth:p,absoluteStrokeWidth:v,className:T="",children:M,iconNode:j,...R},G)=>{const{size:J=24,strokeWidth:oe=2,absoluteStrokeWidth:re=!1,color:fe="currentColor",className:Se=""}=Hzn()??{},Ke=v??re?Number(p??oe)*24/Number(b??J):p??oe;return kt.createElement("svg",{ref:G,...k8e,width:b??J??k8e.width,height:b??J??k8e.height,stroke:h??fe,strokeWidth:Ke,className:E1n("lucide",Se,T),...!M&&!Uzn(R)&&{"aria-hidden":"true"},...R},[...j.map(([ie,sn])=>kt.createElement(ie,sn)),...Array.isArray(M)?M:[M]])});const Cc=(h,b)=>{const p=kt.forwardRef(({className:v,...T},M)=>kt.createElement(Kzn,{ref:M,iconNode:b,className:E1n(`lucide-${qzn(Shn(h))}`,`lucide-${h}`,v),...T}));return p.displayName=Shn(h),p};const Zzn=[["path",{d:"M12 6v16",key:"nqf5sj"}],["path",{d:"m19 13 2-1a9 9 0 0 1-18 0l2 1",key:"y7qv08"}],["path",{d:"M9 11h6",key:"1fldmi"}],["circle",{cx:"12",cy:"4",r:"2",key:"muu5ef"}]],Xzn=Cc("anchor",Zzn);const Vzn=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],A1n=Cc("arrow-right",Vzn);const Wzn=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],T1n=Cc("arrow-up-right",Wzn);const Yzn=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],Qzn=Cc("bot",Yzn);const eBn=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],nBn=Cc("box",eBn);const tBn=[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]],iBn=Cc("boxes",tBn);const rBn=[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]],cBn=Cc("brain",rBn);const uBn=[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]],sBn=Cc("cable",uBn);const oBn=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],x1n=Cc("chevron-down",oBn);const lBn=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],fBn=Cc("chevron-left",lBn);const aBn=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],hBn=Cc("cloud",aBn);const dBn=[["path",{d:"M11 10.27 7 3.34",key:"16pf9h"}],["path",{d:"m11 13.73-4 6.93",key:"794ttg"}],["path",{d:"M12 22v-2",key:"1osdcq"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14 12h8",key:"4f43i9"}],["path",{d:"m17 20.66-1-1.73",key:"eq3orb"}],["path",{d:"m17 3.34-1 1.73",key:"2wel8s"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"m20.66 17-1.73-1",key:"sg0v6f"}],["path",{d:"m20.66 7-1.73 1",key:"1ow05n"}],["path",{d:"m3.34 17 1.73-1",key:"nuk764"}],["path",{d:"m3.34 7 1.73 1",key:"1ulond"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["circle",{cx:"12",cy:"12",r:"8",key:"46899m"}]],bBn=Cc("cog",dBn);const gBn=[["path",{d:"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z",key:"1uwlt4"}],["path",{d:"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z",key:"10291m"}],["path",{d:"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z",key:"1tqoq1"}],["path",{d:"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z",key:"1x6lto"}]],wBn=Cc("component",gBn);const pBn=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],mBn=Cc("database",pBn);const vBn=[["path",{d:"M11 20H2",key:"nlcfvz"}],["path",{d:"M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z",key:"au4z13"}],["path",{d:"M11 4H8a2 2 0 0 0-2 2v14",key:"74r1mk"}],["path",{d:"M14 12h.01",key:"1jfl7z"}],["path",{d:"M22 20h-3",key:"vhrsz"}]],yBn=Cc("door-open",vBn);const kBn=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],jBn=Cc("external-link",kBn);const SBn=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],EBn=Cc("eye",SBn);const ABn=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],TBn=Cc("folder-tree",ABn);const xBn=[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]],M1n=Cc("git-branch",xBn);const MBn=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],CBn=Cc("globe",MBn);const OBn=[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]],_Bn=Cc("hard-drive",OBn);const NBn=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],IBn=Cc("info",NBn);const DBn=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],$Bn=Cc("layers",DBn);const LBn=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],RBn=Cc("layout-grid",LBn);const PBn=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]],zBn=Cc("layout-template",PBn);const BBn=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],FBn=Cc("lock",BBn);const qBn=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],GBn=Cc("message-square",qBn);const UBn=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],JBn=Cc("monitor",UBn);const HBn=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],KBn=Cc("package",HBn);const ZBn=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],XBn=Cc("radio",ZBn);const VBn=[["path",{d:"m15 14 5-5-5-5",key:"12vg1m"}],["path",{d:"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",key:"6uklza"}]],WBn=Cc("redo-2",VBn);const YBn=[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],QBn=Cc("route",YBn);const eFn=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]],nFn=Cc("rows-3",eFn);const tFn=[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]],iFn=Cc("send-horizontal",tFn);const rFn=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],cFn=Cc("server",rFn);const uFn=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],sFn=Cc("sparkles",uFn);const oFn=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3",key:"m1af9g"}],["path",{d:"M9 11.2h5.7",key:"3zgcl2"}]],lFn=Cc("square-function",oFn);const fFn=[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]],aFn=Cc("sticky-note",fFn);const hFn=[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]],dFn=Cc("undo-2",hFn);const bFn=[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],gFn=Cc("user-round",bFn);const wFn=[["path",{d:"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"knzxuh"}],["path",{d:"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"2jd2cc"}],["path",{d:"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"rd2r6e"}]],pFn=Cc("waves",wFn);const mFn=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],vFn=Cc("wrench",mFn),C1n=(h,b,p)=>({width:h,height:h,viewBox:"0 0 24 24",fill:"none",stroke:b,strokeWidth:p,strokeLinecap:"round",strokeLinejoin:"round"});function yFn({size:h=16,color:b="currentColor",strokeWidth:p=1.8}){return P.jsxs("svg",{...C1n(h,b,p),"aria-hidden":"true",children:[P.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3.5",ry:"3.5"}),P.jsx("line",{x1:"9",y1:"9",x2:"9",y2:"13"}),P.jsx("line",{x1:"15",y1:"9",x2:"15",y2:"13"}),P.jsx("circle",{cx:"12",cy:"16.5",r:"1",fill:b,stroke:"none"})]})}function kFn({size:h=16,color:b="currentColor",strokeWidth:p=1.8}){return P.jsxs("svg",{...C1n(h,b,p),"aria-hidden":"true",children:[P.jsx("path",{d:"M 7.5 6 L 3.5 12 L 7.5 18"}),P.jsx("path",{d:"M 16.5 6 L 20.5 12 L 16.5 18"}),P.jsx("circle",{cx:"13",cy:"8.6",r:"0.9",fill:b,stroke:"none"}),P.jsx("line",{x1:"13",y1:"11",x2:"11",y2:"16.5"})]})}const Qm={service:{color:"#38bdf8",icon:cFn,description:"Long-running compute that owns business logic."},function:{color:"#22d3ee",icon:lFn,description:"Stateless function-as-a-service / lambda."},worker:{color:"#06b6d4",icon:bBn,description:"Background job processor or consumer loop."},agent:{color:"#14b8a6",icon:Qzn,description:"Autonomous AI agent driving tools and actions."},database:{color:"#34d399",icon:mBn,description:"Persistent state — relational, document, key-value."},cache:{color:"#a78bfa",icon:$Bn,description:"In-memory store for fast reads."},vectordb:{color:"#c084fc",icon:sFn,description:"Vector store for embeddings / similarity search."},storage:{color:"#84cc16",icon:_Bn,description:"Object / blob storage (S3, GCS, etc.)."},queue:{color:"#fbbf24",icon:iFn,description:"Asynchronous work queue with at-least-once delivery."},topic:{color:"#f97316",icon:XBn,description:"Pub/sub topic with multiple consumers."},stream:{color:"#fb923c",icon:pFn,description:"Append-only event log (Kafka, Kinesis)."},gateway:{color:"#6366f1",icon:yBn,description:"API gateway, ingress, edge router."},cdn:{color:"#0ea5e9",icon:CBn,description:"Content delivery network / static edge."},route:{color:"#f59e0b",icon:QBn,description:"HTTP / URL route — path + method mapped to a handler."},interface:{color:"#d946ef",icon:kFn,description:"Abstract contract — the <i> a system commits to."},adapter:{color:"#c026d3",icon:sBn,description:"Concrete implementation of an interface."},port:{color:"#a21caf",icon:yFn,description:"Hexagonal-architecture port — the socket an adapter plugs into."},llm:{color:"#a855f7",icon:cBn,description:"Large language model service."},prompt:{color:"#c4b5fd",icon:GBn,description:"Prompt template / instruction set."},tool:{color:"#fde047",icon:vFn,description:"Tool callable by an agent or LLM."},auth:{color:"#ef4444",icon:FBn,description:"Identity provider, auth service."},observability:{color:"#10b981",icon:EBn,description:"Metrics, logs, traces — operational telemetry."},cloud:{color:"#0284c7",icon:hBn,description:"Managed cloud service (compute, hosted, etc.)."},frontend:{color:"#f472b6",icon:JBn,description:"User-facing surface — browser, mobile, CLI."},page:{color:"#fb7185",icon:zBn,description:"Route-level UI screen mapped to a URL."},component:{color:"#8b5cf6",icon:wBn,description:"Reusable UI component / view fragment."},store:{color:"#facc15",icon:iBn,description:"Client-side state container — Redux, Zustand, Pinia."},hook:{color:"#0d9488",icon:Xzn,description:"Reusable client logic — React hook, Vue composable."},external:{color:"#94a3b8",icon:jBn,description:"Third-party system you don't own."},human:{color:"#60a5fa",icon:gFn,description:"Human actor — end user, operator, or customer."},module:{color:"#7dd3fc",icon:KBn,description:"Module / component grouping (logical container)."},custom:{color:"#64748b",icon:nBn,description:"Container or anything not in the taxonomy."}},S1=28;function h7e({kind:h,iconAt:b,labelAt:p}){const v=Qm[h],T=v.icon,M=14;return P.jsxs(P.Fragment,{children:[P.jsx("g",{transform:`translate(${b.cx-M/2}, ${b.cy-M/2})`,pointerEvents:"none","aria-hidden":"true",children:P.jsx(T,{size:M,color:v.color,strokeWidth:1.8})}),P.jsx("text",{x:p.cx,y:p.cy,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:h.toUpperCase()})]})}const jFn=24;function SFn({node:h,selected:b}){const p=h.width,v=h.height,T=h.stack!==void 0,M=S1+(v-S1)/2,j=T?M-4:M+4,R=M+14,G=Math.max(0,p-jFn),J=Zg(h.name,G,ST),oe=T?Zg(h.stack,G,i5):"";return P.jsxs("g",{className:`archik-node archik-node--${h.kind}`,children:[P.jsx("rect",{className:b?"archik-selected-glow":void 0,width:p,height:v,rx:10,ry:10,fill:"var(--archik-node-fill)",stroke:b?"var(--archik-selected)":"var(--archik-node-stroke)",strokeWidth:b?1.8:1.4}),P.jsx("line",{x1:0,y1:S1,x2:p,y2:S1,stroke:"var(--archik-node-stroke)",strokeOpacity:.25,strokeWidth:1}),P.jsx(h7e,{kind:h.kind,iconAt:{cx:18,cy:S1/2},labelAt:{cx:p/2,cy:S1/2+3}}),P.jsx("text",{x:p/2,y:j,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:J}),T&&P.jsx("text",{x:p/2,y:R,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:oe})]})}function EFn({node:h,selected:b}){const p=h.width,v=h.height,T=Math.min(v/2,28),M=h.stack!==void 0,j=S1+(v-S1)/2,R=M?j-4:j+4,G=j+14,J=Math.max(0,p-2*T-8),oe=Zg(h.name,J,ST),re=M?Zg(h.stack,J,i5):"",fe=b?"var(--archik-selected)":"var(--archik-node-stroke)";return P.jsxs("g",{className:"archik-node archik-node--queue",children:[P.jsx("rect",{className:b?"archik-selected-glow":void 0,width:p,height:v,rx:T,ry:T,fill:"var(--archik-node-fill)",stroke:fe,strokeWidth:b?1.8:1.4}),P.jsx("line",{x1:T,y1:S1,x2:p-T,y2:S1,stroke:fe,strokeOpacity:.25,strokeWidth:1}),P.jsx(h7e,{kind:"queue",iconAt:{cx:T+8,cy:S1/2},labelAt:{cx:p/2,cy:S1/2+3}}),P.jsx("text",{x:p/2,y:R,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:oe}),M&&P.jsx("text",{x:p/2,y:G,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:re})]})}const AFn=24;function TFn({node:h,selected:b}){const p=h.width,v=h.height,T=h.description!==void 0,M=S1,j=M+(v-M)/2,R=T?j-2:j+4,G=v-12,J=Math.max(0,p-AFn),oe=Zg(h.name,J,ST),re=T?Zg(h.description,J,i5):"",fe=b?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return P.jsxs("g",{className:`archik-node archik-node--${h.kind}`,children:[P.jsx("rect",{className:b?"archik-selected-glow":void 0,width:p,height:v,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:fe,strokeWidth:b?1.8:1.2,strokeDasharray:b?void 0:"6 4"}),P.jsx("line",{x1:6,y1:S1,x2:p-6,y2:S1,stroke:fe,strokeOpacity:.25,strokeWidth:1}),P.jsx(h7e,{kind:h.kind,iconAt:{cx:18,cy:S1/2},labelAt:{cx:p/2,cy:S1/2+3}}),P.jsx("text",{x:p/2,y:R,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:oe}),T&&P.jsx("text",{x:p/2,y:G,textAnchor:"middle",fontSize:10,fill:"var(--archik-node-text-dim)",children:re})]})}const xFn=28,MFn=10,CFn=22;function OFn({node:h,selected:b}){const p=h.width,v=h.height,T=p/2,M=MFn,j=Qm[h.kind],R=j.icon,G=b?"var(--archik-selected)":"var(--archik-node-stroke)",J=b?1.8:1.4,oe=h.stack!==void 0,re=Math.max(0,p-xFn),fe=Zg(h.name,re,ST),Se=oe?Zg(h.stack,re,i5):"",Ke=v,ie=Ke-CFn,sn=(ie+Ke)/2,Rn=(M+8+ie)/2,Hn=oe?Rn-4:Rn+4,Mt=Rn+14;return P.jsxs("g",{className:"archik-node archik-node--database",children:[P.jsx("path",{className:b?"archik-selected-glow":void 0,d:NFn(p,v,M),fill:"var(--archik-node-fill)",stroke:G,strokeWidth:J,strokeLinejoin:"round"}),P.jsx("ellipse",{cx:T,cy:M,rx:p/2,ry:M,fill:"var(--archik-node-fill)",stroke:G,strokeWidth:J}),P.jsx("text",{x:T,y:Hn,textAnchor:"middle",fontSize:14,fontWeight:600,fill:"var(--archik-node-text)",children:fe}),oe&&P.jsx("text",{x:T,y:Mt,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:Se}),P.jsx("line",{x1:4,y1:ie,x2:p-4,y2:ie,stroke:G,strokeOpacity:.45,strokeWidth:1}),P.jsx("g",{transform:`translate(14, ${sn-7})`,pointerEvents:"none","aria-hidden":"true",children:P.jsx(R,{size:14,color:j.color,strokeWidth:1.9})}),P.jsx("text",{x:T,y:sn+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:h.kind.toUpperCase()})]})}const _Fn=10;function NFn(h,b,p){const v=_Fn;return[`M 0 ${p}`,`L 0 ${b-v}`,`A ${v} ${v} 0 0 0 ${v} ${b}`,`L ${h-v} ${b}`,`A ${v} ${v} 0 0 0 ${h} ${b-v}`,`L ${h} ${p}`,`A ${h/2} ${p} 0 0 0 0 ${p}`,"Z"].join(" ")}const IFn=36,Ehn=18;function DFn({node:h,selected:b}){const p=h.width,v=h.height,T=Qm[h.kind],M=T.icon,j=b?"var(--archik-selected)":"var(--archik-node-stroke)",R=b?1.8:1.4,G=h.stack!==void 0,J=Math.max(0,p-IFn),oe=Zg(h.name,J,ST),re=G?Zg(h.stack,J,i5):"",fe=p/2,Se=v*.55,Ke=G?Se-4:Se+4,ie=Se+14;return P.jsxs("g",{className:"archik-node archik-node--cloud",children:[P.jsx("path",{className:b?"archik-selected-glow":void 0,d:$Fn(p,v),fill:"var(--archik-node-fill)",stroke:j,strokeWidth:R,strokeLinejoin:"round"}),P.jsx("g",{transform:`translate(18, ${Ehn-6})`,pointerEvents:"none","aria-hidden":"true",children:P.jsx(M,{size:14,color:T.color,strokeWidth:1.9})}),P.jsx("text",{x:fe,y:Ehn+4,textAnchor:"middle",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:h.kind.toUpperCase()}),P.jsx("text",{x:fe,y:Ke,textAnchor:"middle",fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:oe}),G&&P.jsx("text",{x:fe,y:ie,textAnchor:"middle",fontSize:11,fill:"var(--archik-node-text-dim)",children:re})]})}function $Fn(h,b){const v=b-2,T=b*.62,M=Math.min(b*.18,14),j=h-4,R=b*.5,G=Math.min(j*.15,R*.85),J=Math.min(j*.18,R),oe=Math.min(j*.15,R*.85),re=2*(G+J+oe),fe=Math.max(0,j-re)/4,Se=2,Ke=h-2,ie=Se+fe,sn=ie+2*G,bn=sn+fe,Dn=bn+2*J,Rn=Dn+fe,Hn=Rn+2*oe;return[`M ${Se} ${v-M}`,`Q ${Se} ${v} ${Se+M} ${v}`,`L ${Ke-M} ${v}`,`Q ${Ke} ${v} ${Ke} ${v-M}`,`L ${Ke} ${T}`,`L ${Hn} ${T}`,`A ${oe} ${oe} 0 0 0 ${Rn} ${T}`,`L ${Dn} ${T}`,`A ${J} ${J} 0 0 0 ${bn} ${T}`,`L ${sn} ${T}`,`A ${G} ${G} 0 0 0 ${ie} ${T}`,`L ${Se} ${T}`,"Z"].join(" ")}const QN=32,Fce=14,j8e=14;function LFn({node:h,selected:b,depth:p=0}){const v=h.width,T=h.height;if(!(h.children.length>0))return P.jsx(PFn,{node:h,selected:!!b});const j=Qm[h.kind],R=j.icon,G=Math.min(.04+p*.06,.22),J=Math.min(.55+p*.12,.95),oe=b?"var(--archik-selected)":"var(--archik-container-border)",re=b?1.8:1.2,fe=Math.max(0,v-Fce*2-60),Se=Zg(h.name,fe,ST);return P.jsxs("g",{className:`archik-node archik-node--${h.kind} archik-node--container`,children:[P.jsx("rect",{className:b?"archik-selected-glow":void 0,width:v,height:T,rx:8,ry:8,fill:j.color,fillOpacity:G,stroke:oe,strokeWidth:re,pointerEvents:"none"}),p>=1&&v>8&&T>8&&P.jsx("rect",{x:3,y:3,width:v-6,height:T-6,rx:6,ry:6,fill:"none",stroke:j.color,strokeOpacity:Math.min(.18+(p-1)*.06,.32),strokeWidth:1,pointerEvents:"none"}),P.jsx("path",{d:RFn(v,QN,8),fill:j.color,fillOpacity:J*.18}),P.jsx("line",{x1:0,y1:QN,x2:v,y2:QN,stroke:oe,strokeOpacity:.45,strokeWidth:1}),P.jsx("g",{transform:`translate(${Fce}, ${QN/2-j8e/2})`,pointerEvents:"none","aria-hidden":"true",children:P.jsx(R,{size:j8e,color:j.color,strokeWidth:1.9})}),P.jsx("text",{x:Fce+j8e+8,y:QN/2+4,fontSize:13,fontWeight:600,fill:"var(--archik-node-text)",children:Se}),P.jsx("text",{x:v-Fce,y:QN/2+3,textAnchor:"end",fontSize:9.5,fontWeight:600,letterSpacing:"0.12em",fill:"var(--archik-node-caption)",children:h.kind.toUpperCase()})]})}function RFn(h,b,p){return`M ${p} 0 H ${h-p} A ${p} ${p} 0 0 1 ${h} ${p} V ${b} H 0 V ${p} A ${p} ${p} 0 0 1 ${p} 0 Z`}function PFn({node:h,selected:b}){const p=h.width,v=h.height,T=Qm[h.kind],M=b?"var(--archik-selected)":"var(--archik-node-stroke-soft)";return P.jsxs("g",{className:`archik-node archik-node--${h.kind}`,children:[P.jsx("rect",{className:b?"archik-selected-glow":void 0,width:p,height:v,rx:8,ry:8,fill:"var(--archik-node-fill-tinted)",stroke:M,strokeWidth:b?1.8:1.2,strokeDasharray:b?void 0:"5 4"}),P.jsx("text",{x:p/2,y:v/2+4,textAnchor:"middle",fontSize:12,fontWeight:600,fill:T.color,children:h.name})]})}const KU=24,O1n=10,U8e=28;function zFn({node:h,selected:b,depth:p=0}){const v=h.width,T=h.height,M=Qm[h.kind],j=M.icon,R=h.kind==="external";if(h.children.length>0)return P.jsx(BFn,{node:h,selected:!!b,depth:p});const G=b?"var(--archik-selected)":R?"var(--archik-node-stroke-soft)":"var(--archik-node-stroke)",J=R?"var(--archik-node-fill-tinted)":"var(--archik-node-fill)",oe=h.kind==="queue"?Math.min(T/2,18):8;return P.jsxs("g",{className:`archik-node archik-node--${h.kind} archik-node--compact`,children:[P.jsx("rect",{className:b?"archik-selected-glow":void 0,width:v,height:T,rx:oe,ry:oe,fill:J,stroke:G,strokeWidth:b?1.8:1.4,strokeDasharray:R&&!b?"5 4":void 0}),P.jsx("g",{transform:`translate(${O1n}, ${T/2-7})`,pointerEvents:"none","aria-hidden":"true",children:P.jsx(j,{size:13,color:M.color,strokeWidth:1.9})}),P.jsx("text",{x:U8e,y:T/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:Zg(h.name,Math.max(0,v-U8e-8),i5)})]})}function BFn({node:h,selected:b,depth:p}){const v=h.width,T=h.height,M=Qm[h.kind],j=M.icon,R=Math.min(.04+p*.035,.14),G=Math.min(.55+p*.08,.85),J=b?"var(--archik-selected)":"var(--archik-container-border)",oe=Math.max(0,v-12-22),re=Zg(h.name,oe,i5);return P.jsxs("g",{className:`archik-node archik-node--${h.kind} archik-node--compact archik-node--container`,children:[P.jsx("rect",{className:b?"archik-selected-glow":void 0,width:v,height:T,rx:6,ry:6,fill:M.color,fillOpacity:R,stroke:J,strokeWidth:b?1.8:1.2}),P.jsx("path",{d:FFn(v,KU,6),fill:M.color,fillOpacity:G*.18}),P.jsx("line",{x1:0,y1:KU,x2:v,y2:KU,stroke:J,strokeOpacity:.45,strokeWidth:1}),P.jsx("g",{transform:`translate(${O1n}, ${KU/2-6})`,pointerEvents:"none","aria-hidden":"true",children:P.jsx(j,{size:12,color:M.color,strokeWidth:1.9})}),P.jsx("text",{x:U8e,y:KU/2+4,fontSize:12,fontWeight:600,fill:"var(--archik-node-text)",children:re})]})}function FFn(h,b,p){return`M ${p} 0 H ${h-p} A ${p} ${p} 0 0 1 ${h} ${p} V ${b} H 0 V ${p} A ${p} ${p} 0 0 1 ${p} 0 Z`}const qFn=12,GFn=18;function _1n({Icon:h,cx:b,cy:p,size:v=qFn,color:T,strokeWidth:M=1.8}){return P.jsx("g",{transform:`translate(${b-v/2}, ${p-v/2})`,pointerEvents:"none","aria-hidden":"true",children:P.jsx(h,{size:v,color:T??"var(--archik-fg-dim)",strokeWidth:M})})}function UFn(h){return P.jsx(_1n,{Icon:IBn,...h})}function JFn(h){return P.jsx(_1n,{Icon:aFn,...h})}function HFn({cx:h,cy:b,filePath:p,fileLabel:v,onClick:T,size:M=13}){return P.jsxs("g",{transform:`translate(${h-M/2}, ${b-M/2})`,style:{cursor:T?"pointer":"default"},onClick:T,children:[P.jsx("title",{children:`Cross-file edge → ${v} (${p})`}),P.jsx("circle",{cx:M/2,cy:M/2,r:M/2+.5,fill:"var(--archik-fg-dim)",fillOpacity:.12,stroke:"var(--archik-fg-dim)",strokeOpacity:.4,strokeWidth:1}),P.jsx("g",{transform:"translate(1, 1)",pointerEvents:"none",children:P.jsx(T1n,{size:M-2,color:"var(--archik-fg-muted)",strokeWidth:2.2})})]})}function KFn({cx:h,cy:b,onClick:p,size:v=14}){return P.jsxs("g",{transform:`translate(${h-v/2}, ${b-v/2})`,style:{cursor:p?"pointer":"default"},onClick:p,children:[P.jsx("title",{children:"Open sub-architecture"}),P.jsx("circle",{cx:v/2,cy:v/2,r:v/2+.5,fill:"var(--archik-accent)",fillOpacity:.16,stroke:"var(--archik-accent)",strokeOpacity:.45,strokeWidth:1}),P.jsx("g",{transform:"translate(1, 1)",pointerEvents:"none",children:P.jsx(x1n,{size:v-2,color:"var(--archik-accent)",strokeWidth:2.2})})]})}function ZFn({cx:h,cy:b,files:p,count:v,size:T=14}){const M=p.length===1?`Open sequence diagram → ${p[0].label} (${p[0].path})`:`${p.length} sequence diagrams on this node:
33
33
  `+p.map(j=>` • ${j.label}`).join(`
34
34
  `)+`
35
- Click to open the first; the rest live in the inspector.`;return P.jsxs("g",{transform:`translate(${h-T/2}, ${b-T/2})`,style:{cursor:"pointer"},children:[P.jsx("title",{children:M}),P.jsx("circle",{cx:T/2,cy:T/2,r:T/2+.5,fill:"var(--archik-status-proposed)",fillOpacity:.16,stroke:"var(--archik-status-proposed)",strokeOpacity:.5,strokeWidth:1}),P.jsx("g",{transform:"translate(1, 1)",pointerEvents:"none",children:P.jsx(M1n,{size:T-2,color:"var(--archik-status-proposed)",strokeWidth:2.2})}),v!==void 0&&v>1&&P.jsxs("g",{pointerEvents:"none",children:[P.jsx("circle",{cx:T+1,cy:1,r:6,fill:"var(--archik-canvas)"}),P.jsx("circle",{cx:T+1,cy:1,r:5,fill:"var(--archik-status-proposed)"}),P.jsx("text",{x:T+1,y:3.5,fontSize:8,fontWeight:700,fill:"#ffffff",textAnchor:"middle",children:v})]})]})}function XFn(h,b,p){switch(h){case"queue":{const T=Math.min(p/2,28);return{right:{x:b-T-4,y:14}}}case"database":return{right:{x:b-14,y:p-11}};case"module":case"custom":return{right:{x:b-14,y:26}};default:return{right:{x:b-14,y:14}}}}function VFn(h,b){return Array.from({length:b},(p,v)=>({x:h.x-v*GFn,y:h.y}))}function WFn({node:h,selected:b,viewMode:p,depth:v}){if(p==="compact")return P.jsx(zFn,{node:h,selected:b,depth:v});if(h.children.length>0)return P.jsx(LFn,{node:h,selected:b,depth:v});switch(h.kind){case"queue":return P.jsx(EFn,{node:h,selected:b});case"external":case"human":return P.jsx(TFn,{node:h,selected:b});case"database":return P.jsx(OFn,{node:h,selected:b});case"cloud":return P.jsx(DFn,{node:h,selected:b});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 P.jsx(SFn,{node:h,selected:b});default:throw h.kind,new Error("unreachable node kind")}}function N1n({node:h,selectedNodeIds:b,glowNodeIds:p,onSelectNode:v,onOpenSubFile:T,onCrossFileNavigate:M,crossFileByNode:j,viewMode:R="detailed",depth:G=0}){const J=b?.has(h.id)??!1,oe=p?.has(h.id)??!1,fe=h.children.length>0?G+1:G,Se=v?ie=>{ie.stopPropagation(),v(h.id,ie)}:void 0,Ke=h.description!==void 0&&h.description.length>0;return P.jsxs("g",{"data-archik-node-id":h.id,...J?{"data-archik-selected":"true"}:{},...h.status!==void 0&&h.status!=="active"?{"data-archik-status":h.status}:{},...h.stereotype!==void 0?{"data-archik-stereotype":h.stereotype}:{},transform:`translate(${h.x}, ${h.y})`,...Se!==void 0?{onClick:Se}:{},style:v?{cursor:"pointer"}:void 0,children:[oe&&P.jsx("rect",{x:-4,y:-4,width:h.width+8,height:h.height+8,rx:10,fill:"none",stroke:"var(--archik-status-proposed)",strokeWidth:2,opacity:.85,style:{pointerEvents:"none"}}),P.jsx(WFn,{node:h,selected:J,viewMode:R,depth:G}),h.stereotype!==void 0&&P.jsxs(P.Fragment,{children:[P.jsx("clipPath",{id:`archik-nclip-${h.id}`,children:P.jsx("rect",{width:h.width,height:h.height,rx:8,ry:8})}),P.jsx("rect",{className:"archik-stereotype-band",x:0,y:0,width:h.width,height:4,clipPath:`url(#archik-nclip-${h.id})`,style:{pointerEvents:"none"}})]}),R==="detailed"&&(()=>{const ie=h.notes!==void 0&&h.notes.length>0,sn=h.archikFile!==void 0&&h.archikFile.length>0,bn=j?.get(h.id),Dn=bn?Array.from(bn).sort():[],Rn=h.seqFiles??[],Hn=[];sn&&Hn.push("subarch"),Rn.length>0&&Hn.push({type:"seq",paths:Rn});for(const Zn of Dn)Hn.push({type:"crossfile",path:Zn});if(Ke&&Hn.push("info"),ie&&Hn.push("notes"),Hn.length===0)return null;const Mt=XFn(h.kind,h.width,h.height),Ft=VFn(Mt.right,Hn.length);return P.jsx(P.Fragment,{children:Hn.map((Zn,qt)=>{const qi=Ft[qt];if(typeof Zn=="object"&&Zn.type==="seq"){const Lc=Zn.paths.map(Ii=>({path:Ii,label:Ii.split("/").pop().replace(/\.archik\.seq\.yaml$/,"")})),pc=`/__archik/seq?path=${encodeURIComponent(Lc[0].path)}`;return P.jsx("a",{href:pc,onClick:Ii=>Ii.stopPropagation(),children:P.jsx(ZFn,{cx:qi.x,cy:qi.y,files:Lc,count:Lc.length})},"seq")}if(typeof Zn=="object"&&Zn.type==="crossfile"){const Lc=Zn.path,pc=Lc.split("/").pop().replace(/\.archik\.yaml$/,""),Ii=M??T,Q=Ii?kl=>{kl.stopPropagation(),Ii(Lc,pc)}:void 0;return P.jsx(HFn,{cx:qi.x,cy:qi.y,filePath:Lc,fileLabel:pc,...Q?{onClick:Q}:{}},`xf-${Lc}`)}if(Zn==="subarch"){const Lc=h.archikFile,pc=T?Ii=>{Ii.stopPropagation(),T(Lc,h.name)}:void 0;return P.jsx(KFn,{cx:qi.x,cy:qi.y,...pc?{onClick:pc}:{}},"subarch")}return Zn==="info"?P.jsx(UFn,{cx:qi.x,cy:qi.y,color:"var(--archik-node-caption)"},"info"):P.jsxs("g",{children:[P.jsx(JFn,{cx:qi.x,cy:qi.y,color:"var(--archik-node-caption)"}),h.notes&&h.notes.length>1&&P.jsx("text",{x:qi.x+7,y:qi.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:h.notes.length})]},"notes")})})})(),h.children.map(ie=>P.jsx(N1n,{node:ie,viewMode:R,depth:fe,...b!==void 0?{selectedNodeIds:b}:{},...p!==void 0?{glowNodeIds:p}:{},...v!==void 0?{onSelectNode:v}:{},...T!==void 0?{onOpenSubFile:T}:{},...M!==void 0?{onCrossFileNavigate:M}:{},...j!==void 0?{crossFileByNode:j}:{}},ie.id))]})}const Jg="archik-arrow-filled",uI="archik-arrow-open",I1n="archik-arrow-selected",Wm="var(--archik-edge-filled)",ZU="var(--archik-edge-dim)",YFn={http_call:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},grpc:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},invokes:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},routes_to:{stroke:Wm,strokeWidth:1.4,markerId:Jg},websocket:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg,markerStartId:Jg},webhook:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},reads:{stroke:Wm,strokeWidth:1.4,markerId:uI},writes:{stroke:Wm,strokeWidth:1.4,markerId:Jg},publishes:{stroke:Wm,strokeWidth:1.4,markerId:Jg},subscribes:{stroke:Wm,strokeWidth:1.4,markerId:Jg},streams_to:{stroke:Wm,strokeWidth:1.4,markerId:Jg},implements:{stroke:ZU,strokeWidth:1.2,markerId:uI},extends:{stroke:ZU,strokeWidth:1.2,markerId:uI},depends_on:{stroke:ZU,strokeWidth:1.2,markerId:uI},has_a:{stroke:ZU,strokeWidth:1.2,markerId:Jg},uses:{stroke:ZU,strokeWidth:1.2,markerId:uI}};function Ahn(h){return h.map(b=>`${b.x},${b.y}`).join(" ")}function QFn(h){if(h.length===0)return;const b=Math.floor(h.length/2);if(h.length%2===1)return h[b];const p=h[b-1],v=h[b];return{x:(p.x+v.x)/2,y:(p.y+v.y)/2}}function eqn({edge:h,selectedEdgeIds:b,onSelectEdge:p}){const v=h.sections[0];if(!v)return null;const T=[v.startPoint,...v.bendPoints,v.endPoint],M=YFn[h.relationship],j=h.labels[0],R=j?{x:j.x+j.width/2,y:j.y+j.height/2}:QFn(T),G=b?.has(h.id)??!1,J=h.status==="proposed"?"var(--archik-status-proposed)":h.status==="deprecated"?"var(--archik-status-deprecated)":void 0,oe=G?"var(--archik-selected)":J??h.color??M.stroke,re=G?M.strokeWidth+.5:M.strokeWidth,fe=G?I1n:M.markerId,Se=!G&&M.markerStartId!==void 0?M.markerStartId:void 0,Ke=!G&&M.animated?"archik-edge-flowing":void 0,ie=M.strokeDasharray!==void 0?M.strokeDasharray.trim().split(/\s+/).reduce((Dn,Rn)=>Dn+Number(Rn),0):0,sn=Ke!==void 0&&ie>0?{"--archik-dash-period":String(ie)}:void 0,bn=p?Dn=>{Dn.stopPropagation(),p(h.id,Dn)}:void 0;return P.jsxs("g",{"data-archik-edge-id":h.id,"data-archik-edge-relationship":h.relationship,...G?{"data-archik-selected":"true"}:{},...h.status!==void 0&&h.status!=="active"?{"data-archik-status":h.status}:{},className:`archik-edge archik-edge--${h.relationship}`,...bn!==void 0?{onClick:bn}:{},style:p?{cursor:"pointer"}:void 0,children:[p&&P.jsx("polyline",{"data-archik-edge-hitarea":"",points:Ahn(T),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),P.jsx("polyline",{className:Ke,points:Ahn(T),fill:"none",stroke:oe,strokeWidth:re,strokeLinecap:"round",strokeLinejoin:"round",markerEnd:`url(#${fe})`,...Se!==void 0?{markerStart:`url(#${Se})`}:{},...M.strokeDasharray!==void 0?{strokeDasharray:M.strokeDasharray}:{},...sn!==void 0?{style:sn}:{}}),h.label!==void 0&&R!==void 0&&P.jsx("g",{transform:`translate(${R.x}, ${j?R.y+4:R.y-6})`,children:P.jsx("text",{textAnchor:"middle",fontSize:11,fontWeight:G?700:500,fill:G?"var(--archik-selected)":"var(--archik-fg-dim)",stroke:"var(--archik-panel)",strokeWidth:G?4:3,paintOrder:"stroke",children:h.label})})]})}const qce=-3,d7e={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function nqn(h){const b=[],p=(v,T,M)=>{for(const j of v){const R=T+j.x,G=M+j.y;b.push({...j,absX:R,absY:G}),j.children.length>0&&p(j.children,R,G)}};return p(h,0,0),b}function tqn(h){return h.replace(/[^a-z0-9-]/g,b=>`\\${b}`)}function iqn({statuses:h,scopeClass:b}){const p=[];for(const[T,M]of h.nodes)M==="removed"&&p.push(T);if(p.length===0)return null;const v=p.map(T=>`.${b} [data-archik-node-id="${tqn(T)}"] { opacity: 0.35; }`).join(`
35
+ Click to open the first; the rest live in the inspector.`;return P.jsxs("g",{transform:`translate(${h-T/2}, ${b-T/2})`,style:{cursor:"pointer"},children:[P.jsx("title",{children:M}),P.jsx("circle",{cx:T/2,cy:T/2,r:T/2+.5,fill:"var(--archik-status-proposed)",fillOpacity:.16,stroke:"var(--archik-status-proposed)",strokeOpacity:.5,strokeWidth:1}),P.jsx("g",{transform:"translate(1, 1)",pointerEvents:"none",children:P.jsx(M1n,{size:T-2,color:"var(--archik-status-proposed)",strokeWidth:2.2})}),v!==void 0&&v>1&&P.jsxs("g",{pointerEvents:"none",children:[P.jsx("circle",{cx:T/2,cy:-3,r:5.5,fill:"var(--archik-canvas)"}),P.jsx("circle",{cx:T/2,cy:-3,r:4.5,fill:"var(--archik-status-proposed)"}),P.jsx("text",{x:T/2,y:-.5,fontSize:7.5,fontWeight:700,fill:"#ffffff",textAnchor:"middle",children:v})]})]})}function XFn(h,b,p){switch(h){case"queue":{const T=Math.min(p/2,28);return{right:{x:b-T-4,y:14}}}case"database":return{right:{x:b-14,y:p-11}};case"module":case"custom":return{right:{x:b-14,y:42}};default:return{right:{x:b-14,y:14}}}}function VFn(h,b){return Array.from({length:b},(p,v)=>({x:h.x-v*GFn,y:h.y}))}function WFn({node:h,selected:b,viewMode:p,depth:v}){if(p==="compact")return P.jsx(zFn,{node:h,selected:b,depth:v});if(h.children.length>0)return P.jsx(LFn,{node:h,selected:b,depth:v});switch(h.kind){case"queue":return P.jsx(EFn,{node:h,selected:b});case"external":case"human":return P.jsx(TFn,{node:h,selected:b});case"database":return P.jsx(OFn,{node:h,selected:b});case"cloud":return P.jsx(DFn,{node:h,selected:b});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 P.jsx(SFn,{node:h,selected:b});default:throw h.kind,new Error("unreachable node kind")}}function N1n({node:h,selectedNodeIds:b,glowNodeIds:p,onSelectNode:v,onOpenSubFile:T,onCrossFileNavigate:M,crossFileByNode:j,viewMode:R="detailed",depth:G=0}){const J=b?.has(h.id)??!1,oe=p?.has(h.id)??!1,fe=h.children.length>0?G+1:G,Se=v?ie=>{ie.stopPropagation(),v(h.id,ie)}:void 0,Ke=h.description!==void 0&&h.description.length>0;return P.jsxs("g",{"data-archik-node-id":h.id,...J?{"data-archik-selected":"true"}:{},...h.status!==void 0&&h.status!=="active"?{"data-archik-status":h.status}:{},...h.stereotype!==void 0?{"data-archik-stereotype":h.stereotype}:{},transform:`translate(${h.x}, ${h.y})`,...Se!==void 0?{onClick:Se}:{},style:v?{cursor:"pointer"}:void 0,children:[oe&&P.jsx("rect",{x:-4,y:-4,width:h.width+8,height:h.height+8,rx:10,fill:"none",stroke:"var(--archik-status-proposed)",strokeWidth:2,opacity:.85,style:{pointerEvents:"none"}}),P.jsx(WFn,{node:h,selected:J,viewMode:R,depth:G}),h.stereotype!==void 0&&P.jsxs(P.Fragment,{children:[P.jsx("clipPath",{id:`archik-nclip-${h.id}`,children:P.jsx("rect",{width:h.width,height:h.height,rx:8,ry:8})}),P.jsx("rect",{className:"archik-stereotype-band",x:0,y:0,width:h.width,height:4,clipPath:`url(#archik-nclip-${h.id})`,style:{pointerEvents:"none"}})]}),R==="detailed"&&(()=>{const ie=h.notes!==void 0&&h.notes.length>0,sn=h.archikFile!==void 0&&h.archikFile.length>0,bn=j?.get(h.id),Dn=bn?Array.from(bn).sort():[],Rn=h.seqFiles??[],Hn=[];sn&&Hn.push("subarch"),Rn.length>0&&Hn.push({type:"seq",paths:Rn});for(const Zn of Dn)Hn.push({type:"crossfile",path:Zn});if(Ke&&Hn.push("info"),ie&&Hn.push("notes"),Hn.length===0)return null;const Mt=XFn(h.kind,h.width,h.height),Ft=VFn(Mt.right,Hn.length);return P.jsx(P.Fragment,{children:Hn.map((Zn,qt)=>{const qi=Ft[qt];if(typeof Zn=="object"&&Zn.type==="seq"){const Lc=Zn.paths.map(Ii=>({path:Ii,label:Ii.split("/").pop().replace(/\.archik\.seq\.yaml$/,"")})),pc=`/__archik/seq?path=${encodeURIComponent(Lc[0].path)}`;return P.jsx("a",{href:pc,onClick:Ii=>Ii.stopPropagation(),children:P.jsx(ZFn,{cx:qi.x,cy:qi.y,files:Lc,count:Lc.length})},"seq")}if(typeof Zn=="object"&&Zn.type==="crossfile"){const Lc=Zn.path,pc=Lc.split("/").pop().replace(/\.archik\.yaml$/,""),Ii=M??T,Q=Ii?kl=>{kl.stopPropagation(),Ii(Lc,pc)}:void 0;return P.jsx(HFn,{cx:qi.x,cy:qi.y,filePath:Lc,fileLabel:pc,...Q?{onClick:Q}:{}},`xf-${Lc}`)}if(Zn==="subarch"){const Lc=h.archikFile,pc=T?Ii=>{Ii.stopPropagation(),T(Lc,h.name)}:void 0;return P.jsx(KFn,{cx:qi.x,cy:qi.y,...pc?{onClick:pc}:{}},"subarch")}return Zn==="info"?P.jsx(UFn,{cx:qi.x,cy:qi.y,color:"var(--archik-node-caption)"},"info"):P.jsxs("g",{children:[P.jsx(JFn,{cx:qi.x,cy:qi.y,color:"var(--archik-node-caption)"}),h.notes&&h.notes.length>1&&P.jsx("text",{x:qi.x+7,y:qi.y-5,fontSize:8,fontWeight:700,fill:"var(--archik-accent)",textAnchor:"middle",pointerEvents:"none",children:h.notes.length})]},"notes")})})})(),h.children.map(ie=>P.jsx(N1n,{node:ie,viewMode:R,depth:fe,...b!==void 0?{selectedNodeIds:b}:{},...p!==void 0?{glowNodeIds:p}:{},...v!==void 0?{onSelectNode:v}:{},...T!==void 0?{onOpenSubFile:T}:{},...M!==void 0?{onCrossFileNavigate:M}:{},...j!==void 0?{crossFileByNode:j}:{}},ie.id))]})}const Jg="archik-arrow-filled",uI="archik-arrow-open",I1n="archik-arrow-selected",Wm="var(--archik-edge-filled)",ZU="var(--archik-edge-dim)",YFn={http_call:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},grpc:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},invokes:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},routes_to:{stroke:Wm,strokeWidth:1.4,markerId:Jg},websocket:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg,markerStartId:Jg},webhook:{stroke:Wm,strokeWidth:1.4,strokeDasharray:"2 6",animated:!0,markerId:Jg},reads:{stroke:Wm,strokeWidth:1.4,markerId:uI},writes:{stroke:Wm,strokeWidth:1.4,markerId:Jg},publishes:{stroke:Wm,strokeWidth:1.4,markerId:Jg},subscribes:{stroke:Wm,strokeWidth:1.4,markerId:Jg},streams_to:{stroke:Wm,strokeWidth:1.4,markerId:Jg},implements:{stroke:ZU,strokeWidth:1.2,markerId:uI},extends:{stroke:ZU,strokeWidth:1.2,markerId:uI},depends_on:{stroke:ZU,strokeWidth:1.2,markerId:uI},has_a:{stroke:ZU,strokeWidth:1.2,markerId:Jg},uses:{stroke:ZU,strokeWidth:1.2,markerId:uI}};function Ahn(h){return h.map(b=>`${b.x},${b.y}`).join(" ")}function QFn(h){if(h.length===0)return;const b=Math.floor(h.length/2);if(h.length%2===1)return h[b];const p=h[b-1],v=h[b];return{x:(p.x+v.x)/2,y:(p.y+v.y)/2}}function eqn({edge:h,selectedEdgeIds:b,onSelectEdge:p}){const v=h.sections[0];if(!v)return null;const T=[v.startPoint,...v.bendPoints,v.endPoint],M=YFn[h.relationship],j=h.labels[0],R=j?{x:j.x+j.width/2,y:j.y+j.height/2}:QFn(T),G=b?.has(h.id)??!1,J=h.status==="proposed"?"var(--archik-status-proposed)":h.status==="deprecated"?"var(--archik-status-deprecated)":void 0,oe=G?"var(--archik-selected)":J??h.color??M.stroke,re=G?M.strokeWidth+.5:M.strokeWidth,fe=G?I1n:M.markerId,Se=!G&&M.markerStartId!==void 0?M.markerStartId:void 0,Ke=!G&&M.animated?"archik-edge-flowing":void 0,ie=M.strokeDasharray!==void 0?M.strokeDasharray.trim().split(/\s+/).reduce((Dn,Rn)=>Dn+Number(Rn),0):0,sn=Ke!==void 0&&ie>0?{"--archik-dash-period":String(ie)}:void 0,bn=p?Dn=>{Dn.stopPropagation(),p(h.id,Dn)}:void 0;return P.jsxs("g",{"data-archik-edge-id":h.id,"data-archik-edge-relationship":h.relationship,...G?{"data-archik-selected":"true"}:{},...h.status!==void 0&&h.status!=="active"?{"data-archik-status":h.status}:{},className:`archik-edge archik-edge--${h.relationship}`,...bn!==void 0?{onClick:bn}:{},style:p?{cursor:"pointer"}:void 0,children:[p&&P.jsx("polyline",{"data-archik-edge-hitarea":"",points:Ahn(T),fill:"none",stroke:"transparent",strokeWidth:14,strokeLinecap:"round",strokeLinejoin:"round"}),P.jsx("polyline",{className:Ke,points:Ahn(T),fill:"none",stroke:oe,strokeWidth:re,strokeLinecap:"round",strokeLinejoin:"round",markerEnd:`url(#${fe})`,...Se!==void 0?{markerStart:`url(#${Se})`}:{},...M.strokeDasharray!==void 0?{strokeDasharray:M.strokeDasharray}:{},...sn!==void 0?{style:sn}:{}}),h.label!==void 0&&R!==void 0&&P.jsx("g",{transform:`translate(${R.x}, ${j?R.y+4:R.y-6})`,children:P.jsx("text",{textAnchor:"middle",fontSize:11,fontWeight:G?700:500,fill:G?"var(--archik-selected)":"var(--archik-fg-dim)",stroke:"var(--archik-panel)",strokeWidth:G?4:3,paintOrder:"stroke",children:h.label})})]})}const qce=-3,d7e={added:"var(--archik-success)",removed:"var(--archik-danger)",changed:"var(--archik-warning)"};function nqn(h){const b=[],p=(v,T,M)=>{for(const j of v){const R=T+j.x,G=M+j.y;b.push({...j,absX:R,absY:G}),j.children.length>0&&p(j.children,R,G)}};return p(h,0,0),b}function tqn(h){return h.replace(/[^a-z0-9-]/g,b=>`\\${b}`)}function iqn({statuses:h,scopeClass:b}){const p=[];for(const[T,M]of h.nodes)M==="removed"&&p.push(T);if(p.length===0)return null;const v=p.map(T=>`.${b} [data-archik-node-id="${tqn(T)}"] { opacity: 0.35; }`).join(`
36
36
  `);return P.jsx("style",{children:v})}function rqn({positioned:h,statuses:b}){return P.jsx("g",{className:"archik-diff-nodes",pointerEvents:"none",children:nqn(h.roots).map(p=>{const v=b.nodes.get(p.id);return v===void 0||v==="unchanged"?null:P.jsx(cqn,{node:p,status:v},p.id)})})}function cqn({node:h,status:b}){const p=d7e[b],v=h.absX+qce,T=h.absY+qce,M=h.width-qce*2,j=h.height-qce*2,R=b==="removed"?"5 4":void 0,G=Thn(h.kind,v-1,T-1,M+2,j+2),J=Thn(h.kind,v,T,M,j);return P.jsxs("g",{children:[P.jsx("path",{d:G,fill:"none",stroke:p,strokeOpacity:.25,strokeWidth:6,strokeLinejoin:"round"}),P.jsx("path",{d:J,fill:"none",stroke:p,strokeWidth:2.2,strokeLinejoin:"round",...R!==void 0?{strokeDasharray:R}:{},opacity:.95}),P.jsx(oqn,{x:v+M-6,y:T-6,status:b})]})}function Thn(h,b,p,v,T){switch(h){case"queue":{const M=Math.min(T/2,28);return xhn(b,p,v,T,M)}case"database":return uqn(b,p,v,T,12);case"cloud":return sqn(b,p,v,T);default:return xhn(b,p,v,T,10)}}function xhn(h,b,p,v,T){const M=Math.min(T,p/2),j=Math.min(T,v/2);return[`M ${h+M} ${b}`,`H ${h+p-M}`,`A ${M} ${j} 0 0 1 ${h+p} ${b+j}`,`V ${b+v-j}`,`A ${M} ${j} 0 0 1 ${h+p-M} ${b+v}`,`H ${h+M}`,`A ${M} ${j} 0 0 1 ${h} ${b+v-j}`,`V ${b+j}`,`A ${M} ${j} 0 0 1 ${h+M} ${b}`,"Z"].join(" ")}function uqn(h,b,p,v,T){return[`M ${h} ${b+T}`,`L ${h} ${b+v-10}`,`A 10 10 0 0 0 ${h+10} ${b+v}`,`L ${h+p-10} ${b+v}`,`A 10 10 0 0 0 ${h+p} ${b+v-10}`,`L ${h+p} ${b+T}`,`A ${p/2} ${T} 0 0 0 ${h} ${b+T}`,"Z"].join(" ")}function sqn(h,b,p,v){const M=v-2,j=v*.62,R=Math.min(v*.18,14),G=p-4,J=v*.5,oe=Math.min(G*.15,J*.85),re=Math.min(G*.18,J),fe=Math.min(G*.15,J*.85),Se=2*(oe+re+fe),Ke=Math.max(0,G-Se)/4,ie=2,sn=p-2,bn=ie+Ke,Dn=bn+2*oe,Rn=Dn+Ke,Hn=Rn+2*re,Mt=Hn+Ke,Ft=Mt+2*fe;return[`M ${h+ie} ${b+M-R}`,`Q ${h+ie} ${b+M} ${h+ie+R} ${b+M}`,`L ${h+sn-R} ${b+M}`,`Q ${h+sn} ${b+M} ${h+sn} ${b+M-R}`,`L ${h+sn} ${b+j}`,`L ${h+Ft} ${b+j}`,`A ${fe} ${fe} 0 0 0 ${h+Mt} ${b+j}`,`L ${h+Hn} ${b+j}`,`A ${re} ${re} 0 0 0 ${h+Rn} ${b+j}`,`L ${h+Dn} ${b+j}`,`A ${oe} ${oe} 0 0 0 ${h+bn} ${b+j}`,`L ${h+ie} ${b+j}`,"Z"].join(" ")}function oqn({x:h,y:b,status:p}){const v=p==="added"?"+":p==="removed"?"−":"~";return P.jsxs("g",{transform:`translate(${h}, ${b})`,children:[P.jsx("circle",{r:9,fill:d7e[p],stroke:"var(--archik-canvas)",strokeWidth:1.5}),P.jsx("text",{textAnchor:"middle",y:4,fontSize:12,fontWeight:700,fill:"white",children:v})]})}function lqn({positioned:h,statuses:b}){return P.jsx("g",{className:"archik-diff-edges",pointerEvents:"none",children:h.edges.map(p=>{const v=b.edges.get(p.id);return v===void 0||v==="unchanged"?null:P.jsx(fqn,{edge:p,status:v},p.id)})})}function fqn({edge:h,status:b}){const p=h.sections[0];if(!p)return null;const v=[p.startPoint,...p.bendPoints,p.endPoint];return P.jsx("polyline",{points:v.map(T=>`${T.x},${T.y}`).join(" "),fill:"none",stroke:d7e[b],strokeWidth:3,strokeOpacity:.55,strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:b==="removed"?"8 4":void 0})}const Gce=24;function aqn({id:h}){return P.jsx("marker",{id:h,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:P.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"context-stroke"})})}function hqn({id:h}){return P.jsx("marker",{id:h,viewBox:"0 0 12 12",refX:"11",refY:"6",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:P.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 dqn({id:h}){return P.jsx("marker",{id:h,viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:P.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",fill:"var(--archik-selected)"})})}function bqn({positioned:h,viewMode:b="detailed",selectedNodeIds:p,selectedEdgeIds:v,glowNodeIds:T,onSelectNode:M,onSelectEdge:j,onOpenSubFile:R,onCrossFileNavigate:G}){const J=new Map;for(const oe of h.edges){if(oe.toFile!==void 0){const re=J.get(oe.from)??new Set;re.add(oe.toFile),J.set(oe.from,re)}if(oe.fromFile!==void 0){const re=J.get(oe.to)??new Set;re.add(oe.fromFile),J.set(oe.to,re)}}return P.jsxs(P.Fragment,{children:[P.jsxs("defs",{children:[P.jsx(aqn,{id:Jg}),P.jsx(hqn,{id:uI}),P.jsx(dqn,{id:I1n})]}),P.jsx("g",{className:"archik-edges",children:h.edges.map(oe=>P.jsx(eqn,{edge:oe,...v!==void 0?{selectedEdgeIds:v}:{},...j!==void 0?{onSelectEdge:j}:{}},oe.id))}),P.jsx("g",{className:"archik-nodes",children:h.roots.map(oe=>P.jsx(N1n,{node:oe,viewMode:b,crossFileByNode:J,...p!==void 0?{selectedNodeIds:p}:{},...T!==void 0?{glowNodeIds:T}:{},...M!==void 0?{onSelectNode:M}:{},...R!==void 0?{onOpenSubFile:R}:{},...G!==void 0?{onCrossFileNavigate:G}:{}},oe.id))})]})}function gqn(h,b){const p=(v,T,M)=>{for(const j of v){if(j.id===b)return{x:T+j.x+j.width/2,y:M+j.y+j.height/2};const R=p(j.children,T+j.x,M+j.y);if(R)return R}return null};return p(h.roots,0,0)}function wqn({positioned:h,className:b,zoom:p=1,viewMode:v="detailed",svgRef:T,dragGhost:M,selectedNodeIds:j,selectedEdgeIds:R,glowNodeIds:G,onSelectNode:J,onSelectEdge:oe,onSelectNothing:re,onOpenSubFile:fe,onCrossFileNavigate:Se,diffStatuses:Ke}){const ie=Math.max(h.width,1),sn=Math.max(h.height,1),bn=-Gce,Dn=-Gce,Rn=ie+Gce*2,Hn=sn+Gce*2,Mt=M?gqn(h,M.fromId):null;return P.jsxs("svg",{ref:T,className:b,xmlns:"http://www.w3.org/2000/svg",width:Rn*p,height:Hn*p,viewBox:`${bn} ${Dn} ${Rn} ${Hn}`,preserveAspectRatio:"xMidYMid meet",style:{display:"block",flexShrink:0},onClick:re,children:[Ke&&P.jsx(iqn,{statuses:Ke,scopeClass:"archik-diff-base"}),P.jsx("g",{className:Ke?"archik-diff-base":void 0,children:P.jsx(bqn,{positioned:h,viewMode:v,...j!==void 0?{selectedNodeIds:j}:{},...R!==void 0?{selectedEdgeIds:R}:{},...G!==void 0?{glowNodeIds:G}:{},...J!==void 0?{onSelectNode:J}:{},...oe!==void 0?{onSelectEdge:oe}:{},...fe!==void 0?{onOpenSubFile:fe}:{},...Se!==void 0?{onCrossFileNavigate:Se}:{}})}),Ke&&P.jsxs(P.Fragment,{children:[P.jsx(lqn,{positioned:h,statuses:Ke}),P.jsx(rqn,{positioned:h,statuses:Ke})]}),M&&Mt&&P.jsxs("g",{className:"archik-drag-ghost",pointerEvents:"none",children:[P.jsx("line",{x1:Mt.x,y1:Mt.y,x2:M.pointerX,y2:M.pointerY,stroke:"var(--archik-selected)",strokeWidth:1.6,strokeDasharray:"6 4",strokeLinecap:"round",opacity:.85}),P.jsx("circle",{cx:M.pointerX,cy:M.pointerY,r:4,fill:"var(--archik-selected)",opacity:.9})]})]})}const pqn=.25,mqn=4,Uce=1.2,S8e=h=>Math.max(pqn,Math.min(mqn,h)),vqn=5;function yqn(h,b,p){const v=h.createSVGPoint();v.x=b,v.y=p;const T=h.getScreenCTM();if(!T)return{x:0,y:0};const M=v.matrixTransform(T.inverse());return{x:M.x,y:M.y}}function kqn({document:h,className:b,layoutOptions:p,viewMode:v="detailed",selectedNodeIds:T,selectedEdgeIds:M,onSelectNode:j,onSelectEdge:R,onSelectNothing:G,onConnectDrag:J,onOpenSubFile:oe,onCrossFileNavigate:re,viewKey:fe,diffStatuses:Se,glowNodeIds:Ke,svgRef:ie}){const sn=kt.useMemo(()=>Fzn(h,p),[h,p]),[bn,Dn]=kt.useState(null),[Rn,Hn]=kt.useState(1),[Mt,Ft]=kt.useState({type:"idle"}),Zn=kt.useRef(null),qt=kt.useRef(null),qi=ie??qt,Lc=kt.useRef(Rn);Lc.current=Rn;const pc=kt.useRef(new Map),Ii=kt.useRef(!1);kt.useEffect(()=>{let pn=!1;return sn.then(Gt=>{pn||Dn(Gt)}),()=>{pn=!0}},[sn]);const Q=bn!==null;kt.useEffect(()=>{if(!Q)return;const pn=Zn.current;if(!pn)return;const Gt=ki=>{if(!(ki.ctrlKey||ki.metaKey))return;ki.preventDefault();const Rc=ki.deltaY<0?Uce:1/Uce;Hn(pu=>S8e(pu*Rc))};return pn.addEventListener("wheel",Gt,{passive:!1}),()=>pn.removeEventListener("wheel",Gt)},[Q]),kt.useEffect(()=>{const pn=Zn.current;if(!pn)return;const Gt=ki=>{Ii.current&&(Ii.current=!1,ki.stopImmediatePropagation(),ki.preventDefault())};return pn.addEventListener("click",Gt,{capture:!0}),()=>pn.removeEventListener("click",Gt,{capture:!0})},[]),kt.useEffect(()=>{if(fe===void 0)return;const pn=fe;return()=>{const Gt=Zn.current;pc.current.set(pn,{zoom:Lc.current,scrollX:Gt?.scrollLeft??0,scrollY:Gt?.scrollTop??0})}},[fe]);const kl=bn!==null;kt.useEffect(()=>{if(fe===void 0||!kl)return;const pn=pc.current.get(fe);Hn(pn?pn.zoom:1);const Gt=requestAnimationFrame(()=>{const ki=Zn.current;ki&&(ki.scrollLeft=pn?.scrollX??0,ki.scrollTop=pn?.scrollY??0)});return()=>cancelAnimationFrame(Gt)},[fe,kl]);const jl=pn=>{if(pn.button!==0||pn.metaKey||pn.ctrlKey||pn.shiftKey||!J)return;const ki=(pn.target instanceof Element?pn.target:null)?.closest("[data-archik-node-id]");if(!ki)return;const Rc=ki.getAttribute("data-archik-node-id");if(!Rc)return;const pu=pn.clientX,Ze=pn.clientY;let Yn=!1;const ni=Ur=>{if(!Yn){const Fh=Ur.clientX-pu,E1=Ur.clientY-Ze;if(Math.hypot(Fh,E1)<vqn)return;Yn=!0}const Pc=qi.current;if(!Pc)return;const yc=yqn(Pc,Ur.clientX,Ur.clientY);Ft({type:"dragging",from:Rc,pointerSvgX:yc.x,pointerSvgY:yc.y})},bi=()=>{window.removeEventListener("pointermove",ni),window.removeEventListener("pointerup",wr),window.removeEventListener("pointercancel",Qr)},wr=Ur=>{if(bi(),Yn){const Fh=globalThis.document.elementFromPoint(Ur.clientX,Ur.clientY)?.closest("[data-archik-node-id]")?.getAttribute("data-archik-node-id")??null;Fh&&Fh!==Rc&&J&&J(Rc,Fh),Ii.current=!0}Ft({type:"idle"})},Qr=()=>{bi(),Ft({type:"idle"})};window.addEventListener("pointermove",ni),window.addEventListener("pointerup",wr),window.addEventListener("pointercancel",Qr)};return bn?P.jsxs("div",{className:b,style:{position:"relative",overflow:"hidden"},children:[P.jsx("div",{ref:Zn,onPointerDown:jl,onClick:pn=>{pn.target===pn.currentTarget&&G&&G()},style:{width:"100%",height:"100%",overflow:"auto",display:"flex",justifyContent:"safe center",alignItems:"safe center"},children:P.jsx(wqn,{positioned:bn,zoom:Rn,viewMode:v,svgRef:qi,dragGhost:Mt.type==="dragging"?{fromId:Mt.from,pointerX:Mt.pointerSvgX,pointerY:Mt.pointerSvgY}:null,...T!==void 0?{selectedNodeIds:T}:{},...M!==void 0?{selectedEdgeIds:M}:{},...j!==void 0?{onSelectNode:j}:{},...R!==void 0?{onSelectEdge:R}:{},...G!==void 0?{onSelectNothing:G}:{},...oe!==void 0?{onOpenSubFile:oe}:{},...re!==void 0?{onCrossFileNavigate:re}:{},...Se!==void 0?{diffStatuses:Se}:{},...Ke!==void 0?{glowNodeIds:Ke}:{}})}),P.jsx(jqn,{zoom:Rn,onZoomIn:()=>Hn(pn=>S8e(pn*Uce)),onZoomOut:()=>Hn(pn=>S8e(pn/Uce)),onZoomReset:()=>Hn(1)})]}):P.jsx("div",{className:b,role:"status","aria-live":"polite",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",height:"100%",color:"#64748b",fontFamily:"Inter, system-ui, sans-serif",fontSize:13},children:"Laying out…"})}function jqn({zoom:h,onZoomIn:b,onZoomOut:p,onZoomReset:v}){return P.jsxs("div",{style:{position:"absolute",right:12,bottom:12,display:"flex",gap:4,padding:4,background:"var(--archik-panel)",border:"1px solid var(--archik-border)",borderRadius:6,boxShadow:"0 4px 12px rgba(0, 0, 0, 0.18)"},children:[P.jsx("button",{type:"button",onClick:p,title:"Zoom out","aria-label":"Zoom out",className:"archik-btn",style:{minWidth:28,padding:"0 8px",height:24},children:"−"}),P.jsxs("button",{type:"button",onClick:v,title:"Reset zoom (100%)","aria-label":"Reset zoom",className:"archik-btn",style:{minWidth:48,padding:"0 8px",height:24},children:[Math.round(h*100),"%"]}),P.jsx("button",{type:"button",onClick:b,title:"Zoom in","aria-label":"Zoom in",className:"archik-btn",style:{minWidth:28,padding:"0 8px",height:24},children:"+"})]})}const b7e=Symbol.for("yaml.alias"),J8e=Symbol.for("yaml.document"),V8=Symbol.for("yaml.map"),D1n=Symbol.for("yaml.pair"),fy=Symbol.for("yaml.scalar"),jI=Symbol.for("yaml.seq"),Np=Symbol.for("yaml.node.type"),e7=h=>!!h&&typeof h=="object"&&h[Np]===b7e,ET=h=>!!h&&typeof h=="object"&&h[Np]===J8e,SI=h=>!!h&&typeof h=="object"&&h[Np]===V8,vl=h=>!!h&&typeof h=="object"&&h[Np]===D1n,jo=h=>!!h&&typeof h=="object"&&h[Np]===fy,EI=h=>!!h&&typeof h=="object"&&h[Np]===jI;function Wl(h){if(h&&typeof h=="object")switch(h[Np]){case V8:case jI:return!0}return!1}function Yl(h){if(h&&typeof h=="object")switch(h[Np]){case b7e:case V8:case fy:case jI:return!0}return!1}const $1n=h=>(jo(h)||Wl(h))&&!!h.anchor,Cb=Symbol("break visit"),L1n=Symbol("skip children"),ly=Symbol("remove node");function AT(h,b){const p=R1n(b);ET(h)?sI(null,h.contents,p,Object.freeze([h]))===ly&&(h.contents=null):sI(null,h,p,Object.freeze([]))}AT.BREAK=Cb;AT.SKIP=L1n;AT.REMOVE=ly;function sI(h,b,p,v){const T=P1n(h,b,p,v);if(Yl(T)||vl(T))return z1n(h,v,T),sI(h,T,p,v);if(typeof T!="symbol"){if(Wl(b)){v=Object.freeze(v.concat(b));for(let M=0;M<b.items.length;++M){const j=sI(M,b.items[M],p,v);if(typeof j=="number")M=j-1;else{if(j===Cb)return Cb;j===ly&&(b.items.splice(M,1),M-=1)}}}else if(vl(b)){v=Object.freeze(v.concat(b));const M=sI("key",b.key,p,v);if(M===Cb)return Cb;M===ly&&(b.key=null);const j=sI("value",b.value,p,v);if(j===Cb)return Cb;j===ly&&(b.value=null)}}return T}async function wue(h,b){const p=R1n(b);ET(h)?await oI(null,h.contents,p,Object.freeze([h]))===ly&&(h.contents=null):await oI(null,h,p,Object.freeze([]))}wue.BREAK=Cb;wue.SKIP=L1n;wue.REMOVE=ly;async function oI(h,b,p,v){const T=await P1n(h,b,p,v);if(Yl(T)||vl(T))return z1n(h,v,T),oI(h,T,p,v);if(typeof T!="symbol"){if(Wl(b)){v=Object.freeze(v.concat(b));for(let M=0;M<b.items.length;++M){const j=await oI(M,b.items[M],p,v);if(typeof j=="number")M=j-1;else{if(j===Cb)return Cb;j===ly&&(b.items.splice(M,1),M-=1)}}}else if(vl(b)){v=Object.freeze(v.concat(b));const M=await oI("key",b.key,p,v);if(M===Cb)return Cb;M===ly&&(b.key=null);const j=await oI("value",b.value,p,v);if(j===Cb)return Cb;j===ly&&(b.value=null)}}return T}function R1n(h){return typeof h=="object"&&(h.Collection||h.Node||h.Value)?Object.assign({Alias:h.Node,Map:h.Node,Scalar:h.Node,Seq:h.Node},h.Value&&{Map:h.Value,Scalar:h.Value,Seq:h.Value},h.Collection&&{Map:h.Collection,Seq:h.Collection},h):h}function P1n(h,b,p,v){if(typeof p=="function")return p(h,b,v);if(SI(b))return p.Map?.(h,b,v);if(EI(b))return p.Seq?.(h,b,v);if(vl(b))return p.Pair?.(h,b,v);if(jo(b))return p.Scalar?.(h,b,v);if(e7(b))return p.Alias?.(h,b,v)}function z1n(h,b,p){const v=b[b.length-1];if(Wl(v))v.items[h]=p;else if(vl(v))h==="key"?v.key=p:v.value=p;else if(ET(v))v.contents=p;else{const T=e7(v)?"alias":"scalar";throw new Error(`Cannot replace node with ${T} parent`)}}const Sqn={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Eqn=h=>h.replace(/[!,[\]{}]/g,b=>Sqn[b]);class v0{constructor(b,p){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},v0.defaultYaml,b),this.tags=Object.assign({},v0.defaultTags,p)}clone(){const b=new v0(this.yaml,this.tags);return b.docStart=this.docStart,b}atDocument(){const b=new v0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:v0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},v0.defaultTags);break}return b}add(b,p){this.atNextDocument&&(this.yaml={explicit:v0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},v0.defaultTags),this.atNextDocument=!1);const v=b.trim().split(/[ \t]+/),T=v.shift();switch(T){case"%TAG":{if(v.length!==2&&(p(0,"%TAG directive should contain exactly two parts"),v.length<2))return!1;const[M,j]=v;return this.tags[M]=j,!0}case"%YAML":{if(this.yaml.explicit=!0,v.length!==1)return p(0,"%YAML directive should contain exactly one part"),!1;const[M]=v;if(M==="1.1"||M==="1.2")return this.yaml.version=M,!0;{const j=/^\d+\.\d+$/.test(M);return p(6,`Unsupported YAML version ${M}`,j),!1}}default:return p(0,`Unknown directive ${T}`,!0),!1}}tagName(b,p){if(b==="!")return"!";if(b[0]!=="!")return p(`Not a valid tag: ${b}`),null;if(b[1]==="<"){const j=b.slice(2,-1);return j==="!"||j==="!!"?(p(`Verbatim tags aren't resolved, so ${b} is invalid.`),null):(b[b.length-1]!==">"&&p("Verbatim tags must end with a >"),j)}const[,v,T]=b.match(/^(.*!)([^!]*)$/s);T||p(`The ${b} tag has no suffix`);const M=this.tags[v];if(M)try{return M+decodeURIComponent(T)}catch(j){return p(String(j)),null}return v==="!"?b:(p(`Could not resolve tag: ${b}`),null)}tagString(b){for(const[p,v]of Object.entries(this.tags))if(b.startsWith(v))return p+Eqn(b.substring(v.length));return b[0]==="!"?b:`!<${b}>`}toString(b){const p=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],v=Object.entries(this.tags);let T;if(b&&v.length>0&&Yl(b.contents)){const M={};AT(b.contents,(j,R)=>{Yl(R)&&R.tag&&(M[R.tag]=!0)}),T=Object.keys(M)}else T=[];for(const[M,j]of v)M==="!!"&&j==="tag:yaml.org,2002:"||(!b||T.some(R=>R.startsWith(j)))&&p.push(`%TAG ${M} ${j}`);return p.join(`
37
37
  `)}}v0.defaultYaml={explicit:!1,version:"1.2"};v0.defaultTags={"!!":"tag:yaml.org,2002:"};function B1n(h){if(/[\x00-\x19\s,[\]{}]/.test(h)){const p=`Anchor must not contain whitespace or control characters: ${JSON.stringify(h)}`;throw new Error(p)}return!0}function F1n(h){const b=new Set;return AT(h,{Value(p,v){v.anchor&&b.add(v.anchor)}}),b}function q1n(h,b){for(let p=1;;++p){const v=`${h}${p}`;if(!b.has(v))return v}}function Aqn(h,b){const p=[],v=new Map;let T=null;return{onAnchor:M=>{p.push(M),T??(T=F1n(h));const j=q1n(b,T);return T.add(j),j},setAnchors:()=>{for(const M of p){const j=v.get(M);if(typeof j=="object"&&j.anchor&&(jo(j.node)||Wl(j.node)))j.node.anchor=j.anchor;else{const R=new Error("Failed to resolve repeated object (this should not happen)");throw R.source=M,R}}},sourceObjects:v}}function lI(h,b,p,v){if(v&&typeof v=="object")if(Array.isArray(v))for(let T=0,M=v.length;T<M;++T){const j=v[T],R=lI(h,v,String(T),j);R===void 0?delete v[T]:R!==j&&(v[T]=R)}else if(v instanceof Map)for(const T of Array.from(v.keys())){const M=v.get(T),j=lI(h,v,T,M);j===void 0?v.delete(T):j!==M&&v.set(T,j)}else if(v instanceof Set)for(const T of Array.from(v)){const M=lI(h,v,T,T);M===void 0?v.delete(T):M!==T&&(v.delete(T),v.add(M))}else for(const[T,M]of Object.entries(v)){const j=lI(h,v,T,M);j===void 0?delete v[T]:j!==M&&(v[T]=j)}return h.call(b,p,v)}function _p(h,b,p){if(Array.isArray(h))return h.map((v,T)=>_p(v,String(T),p));if(h&&typeof h.toJSON=="function"){if(!p||!$1n(h))return h.toJSON(b,p);const v={aliasCount:0,count:1,res:void 0};p.anchors.set(h,v),p.onCreate=M=>{v.res=M,delete p.onCreate};const T=h.toJSON(b,p);return p.onCreate&&p.onCreate(T),T}return typeof h=="bigint"&&!p?.keep?Number(h):h}class g7e{constructor(b){Object.defineProperty(this,Np,{value:b})}clone(){const b=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(b.range=this.range.slice()),b}toJS(b,{mapAsMap:p,maxAliasCount:v,onAnchor:T,reviver:M}={}){if(!ET(b))throw new TypeError("A document argument is required");const j={anchors:new Map,doc:b,keep:!0,mapAsMap:p===!0,mapKeyWarned:!1,maxAliasCount:typeof v=="number"?v:100},R=_p(this,"",j);if(typeof T=="function")for(const{count:G,res:J}of j.anchors.values())T(J,G);return typeof M=="function"?lI(M,{"":R},"",R):R}}class pue extends g7e{constructor(b){super(b7e),this.source=b,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(b,p){let v;p?.aliasResolveCache?v=p.aliasResolveCache:(v=[],AT(b,{Node:(M,j)=>{(e7(j)||$1n(j))&&v.push(j)}}),p&&(p.aliasResolveCache=v));let T;for(const M of v){if(M===this)break;M.anchor===this.source&&(T=M)}return T}toJSON(b,p){if(!p)return{source:this.source};const{anchors:v,doc:T,maxAliasCount:M}=p,j=this.resolve(T,p);if(!j){const G=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(G)}let R=v.get(j);if(R||(_p(j,null,p),R=v.get(j)),R?.res===void 0){const G="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(G)}if(M>=0&&(R.count+=1,R.aliasCount===0&&(R.aliasCount=tue(T,j,v)),R.count*R.aliasCount>M)){const G="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(G)}return R.res}toString(b,p,v){const T=`*${this.source}`;if(b){if(B1n(this.source),b.options.verifyAliasOrder&&!b.anchors.has(this.source)){const M=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(M)}if(b.implicitKey)return`${T} `}return T}}function tue(h,b,p){if(e7(b)){const v=b.resolve(h),T=p&&v&&p.get(v);return T?T.count*T.aliasCount:0}else if(Wl(b)){let v=0;for(const T of b.items){const M=tue(h,T,p);M>v&&(v=M)}return v}else if(vl(b)){const v=tue(h,b.key,p),T=tue(h,b.value,p);return Math.max(v,T)}return 1}const G1n=h=>!h||typeof h!="function"&&typeof h!="object";class wc extends g7e{constructor(b){super(fy),this.value=b}toJSON(b,p){return p?.keep?this.value:_p(this.value,b,p)}toString(){return String(this.value)}}wc.BLOCK_FOLDED="BLOCK_FOLDED";wc.BLOCK_LITERAL="BLOCK_LITERAL";wc.PLAIN="PLAIN";wc.QUOTE_DOUBLE="QUOTE_DOUBLE";wc.QUOTE_SINGLE="QUOTE_SINGLE";const Tqn="tag:yaml.org,2002:";function xqn(h,b,p){if(b){const v=p.filter(M=>M.tag===b),T=v.find(M=>!M.format)??v[0];if(!T)throw new Error(`Tag ${b} not found`);return T}return p.find(v=>v.identify?.(h)&&!v.format)}function nJ(h,b,p){if(ET(h)&&(h=h.contents),Yl(h))return h;if(vl(h)){const re=p.schema[V8].createNode?.(p.schema,null,p);return re.items.push(h),re}(h instanceof String||h instanceof Number||h instanceof Boolean||typeof BigInt<"u"&&h instanceof BigInt)&&(h=h.valueOf());const{aliasDuplicateObjects:v,onAnchor:T,onTagObj:M,schema:j,sourceObjects:R}=p;let G;if(v&&h&&typeof h=="object"){if(G=R.get(h),G)return G.anchor??(G.anchor=T(h)),new pue(G.anchor);G={anchor:null,node:null},R.set(h,G)}b?.startsWith("!!")&&(b=Tqn+b.slice(2));let J=xqn(h,b,j.tags);if(!J){if(h&&typeof h.toJSON=="function"&&(h=h.toJSON()),!h||typeof h!="object"){const re=new wc(h);return G&&(G.node=re),re}J=h instanceof Map?j[V8]:Symbol.iterator in Object(h)?j[jI]:j[V8]}M&&(M(J),delete p.onTagObj);const oe=J?.createNode?J.createNode(p.schema,h,p):typeof J?.nodeClass?.from=="function"?J.nodeClass.from(p.schema,h,p):new wc(h);return b?oe.tag=b:J.default||(oe.tag=J.tag),G&&(G.node=oe),oe}function uue(h,b,p){let v=p;for(let T=b.length-1;T>=0;--T){const M=b[T];if(typeof M=="number"&&Number.isInteger(M)&&M>=0){const j=[];j[M]=v,v=j}else v=new Map([[M,v]])}return nJ(v,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:h,sourceObjects:new Map})}const WU=h=>h==null||typeof h=="object"&&!!h[Symbol.iterator]().next().done;class U1n extends g7e{constructor(b,p){super(b),Object.defineProperty(this,"schema",{value:p,configurable:!0,enumerable:!1,writable:!0})}clone(b){const p=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return b&&(p.schema=b),p.items=p.items.map(v=>Yl(v)||vl(v)?v.clone(b):v),this.range&&(p.range=this.range.slice()),p}addIn(b,p){if(WU(b))this.add(p);else{const[v,...T]=b,M=this.get(v,!0);if(Wl(M))M.addIn(T,p);else if(M===void 0&&this.schema)this.set(v,uue(this.schema,T,p));else throw new Error(`Expected YAML collection at ${v}. Remaining path: ${T}`)}}deleteIn(b){const[p,...v]=b;if(v.length===0)return this.delete(p);const T=this.get(p,!0);if(Wl(T))return T.deleteIn(v);throw new Error(`Expected YAML collection at ${p}. Remaining path: ${v}`)}getIn(b,p){const[v,...T]=b,M=this.get(v,!0);return T.length===0?!p&&jo(M)?M.value:M:Wl(M)?M.getIn(T,p):void 0}hasAllNullValues(b){return this.items.every(p=>{if(!vl(p))return!1;const v=p.value;return v==null||b&&jo(v)&&v.value==null&&!v.commentBefore&&!v.comment&&!v.tag})}hasIn(b){const[p,...v]=b;if(v.length===0)return this.has(p);const T=this.get(p,!0);return Wl(T)?T.hasIn(v):!1}setIn(b,p){const[v,...T]=b;if(T.length===0)this.set(v,p);else{const M=this.get(v,!0);if(Wl(M))M.setIn(T,p);else if(M===void 0&&this.schema)this.set(v,uue(this.schema,T,p));else throw new Error(`Expected YAML collection at ${v}. Remaining path: ${T}`)}}}const Mqn=h=>h.replace(/^(?!$)(?: $)?/gm,"#");function n5(h,b){return/^\n+$/.test(h)?h.substring(1):b?h.replace(/^(?! *$)/gm,b):h}const vT=(h,b,p)=>h.endsWith(`
38
38
  `)?n5(p,b):p.includes(`
@@ -0,0 +1 @@
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-rose-700:oklch(51.4% .222 16.935);--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--tracking-tight:-.025em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.flex-1{flex:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-pre-wrap{white-space:pre-wrap}.text-rose-700{color:var(--color-rose-700)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}}:root,[data-theme=light]{--archik-canvas:#f8fafc;--archik-panel:#fff;--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:#fff;--archik-node-fill-tinted:#f1f5f9;--archik-node-fill-frame:#fff;--archik-node-stroke:#0f172a;--archik-node-stroke-soft:#475569;--archik-container-border:#94a3b8;--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:#2563eb2e;--archik-status-proposed:#6366f1;--archik-status-deprecated:#d97706;--archik-stereotype-boundary:#0d9488;--archik-stereotype-control:#c2410c;--archik-stereotype-entity:#7c3aed;color-scheme:light}[data-theme=dark]{--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-container-border:#3a4f7a;--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:#22d3ee47;--archik-status-proposed:#818cf8;--archik-status-deprecated:#fbbf24;--archik-stereotype-boundary:#2dd4bf;--archik-stereotype-control:#fb923c;--archik-stereotype-entity:#a78bfa;color-scheme:dark}html,body,#root{background:var(--archik-canvas);height:100%;color:var(--archik-fg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}.archik-panel{background:var(--archik-panel);border:1px solid var(--archik-border);border-radius:8px}.archik-input{background:var(--archik-surface);color:var(--archik-fg);border:1px solid var(--archik-border);font:inherit;border-radius:4px;outline:none;padding:4px 8px;font-size:12px;transition:border-color .12s,box-shadow .12s}.archik-input:focus{border-color:var(--archik-accent);box-shadow:0 0 0 3px var(--archik-selected-glow)}.archik-btn{background:var(--archik-surface);color:var(--archik-fg);border:1px solid var(--archik-border);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.archik-btn:hover{background:var(--archik-surface-hover);border-color:var(--archik-border-strong)}.archik-btn:disabled{opacity:.5;cursor:not-allowed}.archik-btn-primary{background:var(--archik-accent);border-color:var(--archik-accent);color:#050912}.archik-btn-primary:hover{background:var(--archik-accent-bright);border-color:var(--archik-accent-bright)}[data-theme=light] .archik-btn-primary{color:#fff}.archik-btn-danger{color:var(--archik-danger);border-color:var(--archik-danger);background:0 0;border-style:dashed}.archik-btn-danger:hover{background:var(--archik-danger);color:#050912;border-style:solid}.archik-pill{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.archik-pill--info{color:var(--archik-accent);border-color:var(--archik-border-strong);background:var(--archik-accent)}@supports (color:color-mix(in lab,red,red)){.archik-pill--info{background:color-mix(in oklab,var(--archik-accent) 8%,transparent)}}.archik-pill--success{color:var(--archik-success);background:var(--archik-success)}@supports (color:color-mix(in lab,red,red)){.archik-pill--success{background:color-mix(in oklab,var(--archik-success) 12%,transparent)}}.archik-pill--warning{color:var(--archik-warning);background:var(--archik-warning)}@supports (color:color-mix(in lab,red,red)){.archik-pill--warning{background:color-mix(in oklab,var(--archik-warning) 14%,transparent)}}.archik-pill--danger{color:var(--archik-danger);background:var(--archik-danger)}@supports (color:color-mix(in lab,red,red)){.archik-pill--danger{background:color-mix(in oklab,var(--archik-danger) 14%,transparent)}}.archik-label{letter-spacing:.12em;text-transform:uppercase;color:var(--archik-fg-muted);margin-bottom:4px;font-size:10px;display:block}.archik-mono{color:var(--archik-fg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.archik-divider{border-top:1px solid var(--archik-border)}.archik-grid{background-color:var(--archik-canvas);background-image:radial-gradient(var(--archik-grid-minor) 1px,transparent 1px),radial-gradient(var(--archik-grid-major) 1px,transparent 1px);background-position:0 0,0 0;background-size:20px 20px,100px 100px}.archik-selected-glow{filter:drop-shadow(0 0 6px var(--archik-selected-glow)) drop-shadow(0 0 2px var(--archik-selected-glow));animation:1.8s ease-in-out infinite archikPulse}[data-archik-node-id][data-archik-status=proposed]{opacity:.82}[data-archik-node-id][data-archik-status=proposed] rect,[data-archik-node-id][data-archik-status=proposed] path,[data-archik-node-id][data-archik-status=proposed] ellipse,[data-archik-node-id][data-archik-status=proposed] line{stroke:var(--archik-status-proposed);stroke-dasharray:5 3}[data-archik-node-id][data-archik-status=deprecated]{opacity:.7}[data-archik-node-id][data-archik-status=deprecated] rect,[data-archik-node-id][data-archik-status=deprecated] path,[data-archik-node-id][data-archik-status=deprecated] ellipse,[data-archik-node-id][data-archik-status=deprecated] line{stroke:var(--archik-status-deprecated);stroke-dasharray:2 4}[data-archik-node-id][data-archik-status=deprecated] text{text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--archik-status-deprecated);text-decoration-color:var(--archik-status-deprecated)}.archik-stereotype-band{pointer-events:none}[data-archik-stereotype=boundary] .archik-stereotype-band{fill:var(--archik-stereotype-boundary)}[data-archik-stereotype=control] .archik-stereotype-band{fill:var(--archik-stereotype-control)}[data-archik-stereotype=entity] .archik-stereotype-band{fill:var(--archik-stereotype-entity)}.archik-stereotype-pill{letter-spacing:.08em;border:1px solid #0000;border-radius:10px;align-self:flex-start;align-items:center;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.archik-stereotype-pill[data-stereotype=boundary]{background:var(--archik-stereotype-boundary)}@supports (color:color-mix(in lab,red,red)){.archik-stereotype-pill[data-stereotype=boundary]{background:color-mix(in srgb,var(--archik-stereotype-boundary) 15%,transparent)}}.archik-stereotype-pill[data-stereotype=boundary]{border-color:var(--archik-stereotype-boundary);color:var(--archik-stereotype-boundary)}.archik-stereotype-pill[data-stereotype=control]{background:var(--archik-stereotype-control)}@supports (color:color-mix(in lab,red,red)){.archik-stereotype-pill[data-stereotype=control]{background:color-mix(in srgb,var(--archik-stereotype-control) 15%,transparent)}}.archik-stereotype-pill[data-stereotype=control]{border-color:var(--archik-stereotype-control);color:var(--archik-stereotype-control)}.archik-stereotype-pill[data-stereotype=entity]{background:var(--archik-stereotype-entity)}@supports (color:color-mix(in lab,red,red)){.archik-stereotype-pill[data-stereotype=entity]{background:color-mix(in srgb,var(--archik-stereotype-entity) 15%,transparent)}}.archik-stereotype-pill[data-stereotype=entity]{border-color:var(--archik-stereotype-entity);color:var(--archik-stereotype-entity)}@keyframes archikPulse{0%,to{filter:drop-shadow(0 0 4px var(--archik-selected-glow)) drop-shadow(0 0 1px var(--archik-selected-glow))}50%{filter:drop-shadow(0 0 12px var(--archik-selected-glow)) drop-shadow(0 0 3px var(--archik-selected-glow))}}.archik-modal-overlay{z-index:50;background:var(--archik-canvas);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.archik-modal-overlay{background:color-mix(in oklab,var(--archik-canvas) 70%,transparent)}}.archik-modal-overlay{-webkit-backdrop-filter:blur(4px);animation:.14s ease-out archikFadeIn}.archik-modal{background:var(--archik-panel);border:1px solid var(--archik-border);width:360px;max-width:calc(100vw - 32px);box-shadow:0 12px 40px #00000059,0 0 0 1px var(--archik-border-strong);border-radius:8px;padding:16px;animation:.2s cubic-bezier(.2,.8,.2,1) archikModalIn}.archik-selected-outline{fill:none;stroke:var(--archik-selected);stroke-width:2px;pointer-events:none}@keyframes archikEdgeFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:calc(-1 * var(--archik-dash-period,8) * 1px)}}.archik-edge-flowing{animation:1.4s linear infinite archikEdgeFlow}@media(prefers-reduced-motion:reduce){.archik-edge-flowing{animation:none}}.archik-popover{background:var(--archik-panel);border:1px solid var(--archik-border-strong);border-radius:6px;flex-direction:column;max-height:min(80vh,600px);padding:4px;animation:.16s cubic-bezier(.2,.8,.2,1) archikModalIn;display:flex;overflow:hidden;box-shadow:0 12px 32px #00000059}.archik-menu-item{width:100%;color:var(--archik-fg);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.archik-menu-item:hover{background:var(--archik-surface-hover)}.archik-menu-item--danger{color:var(--archik-danger)}@keyframes archikFadeIn{0%{opacity:0}to{opacity:1}}@keyframes archikModalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.archik-drawer-shell{flex-direction:column;min-width:0;transition:width .22s cubic-bezier(.2,.8,.2,1),opacity .2s,margin-left .22s cubic-bezier(.2,.8,.2,1);display:flex;overflow:hidden}.archik-drawer-shell--open{opacity:1;width:320px;margin-left:16px}.archik-drawer-shell--closed{opacity:0;pointer-events:none;width:0;margin-left:0}.archik-drawer-content{flex-shrink:0;width:320px;height:100%}.archik-drawer-fade{animation:.22s ease-out archikFadeIn}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
@@ -14,8 +14,8 @@
14
14
  }
15
15
  } catch {}
16
16
  </script>
17
- <script type="module" crossorigin src="/assets/index-1f6BEsVg.js"></script>
18
- <link rel="stylesheet" crossorigin href="/assets/index-Okbzz010.css">
17
+ <script type="module" crossorigin src="/assets/index-BUViGc0d.js"></script>
18
+ <link rel="stylesheet" crossorigin href="/assets/index-D2nrAfzh.css">
19
19
  </head>
20
20
  <body>
21
21
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archik",
3
- "version": "0.12.33",
3
+ "version": "0.12.35",
4
4
  "description": "The shared vocabulary between you and Claude Code, at the engineering level. Plain-YAML architecture diagrams with a live browser canvas, headless SVG render in CI, and an installable Claude skill so the model treats the diagram as the spec.",
5
5
  "keywords": [
6
6
  "architecture",
@@ -1 +0,0 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-rose-700:oklch(51.4% .222 16.935);--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--tracking-tight:-.025em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.flex-1{flex:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-pre-wrap{white-space:pre-wrap}.text-rose-700{color:var(--color-rose-700)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}}:root,[data-theme=light]{--archik-canvas:#f8fafc;--archik-panel:#fff;--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:#fff;--archik-node-fill-tinted:#f1f5f9;--archik-node-fill-frame:#fff;--archik-node-stroke:#0f172a;--archik-node-stroke-soft:#475569;--archik-container-border:#94a3b8;--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:#2563eb2e;--archik-status-proposed:#6366f1;--archik-status-deprecated:#d97706;--archik-stereotype-boundary:#0d9488;--archik-stereotype-control:#c2410c;--archik-stereotype-entity:#7c3aed;color-scheme:light}[data-theme=dark]{--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-container-border:#3a4f7a;--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:#22d3ee47;--archik-status-proposed:#818cf8;--archik-status-deprecated:#fbbf24;--archik-stereotype-boundary:#2dd4bf;--archik-stereotype-control:#fb923c;--archik-stereotype-entity:#a78bfa;color-scheme:dark}html,body,#root{background:var(--archik-canvas);height:100%;color:var(--archik-fg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}.archik-panel{background:var(--archik-panel);border:1px solid var(--archik-border);border-radius:8px}.archik-input{background:var(--archik-surface);color:var(--archik-fg);border:1px solid var(--archik-border);font:inherit;border-radius:4px;outline:none;padding:4px 8px;font-size:12px;transition:border-color .12s,box-shadow .12s}.archik-input:focus{border-color:var(--archik-accent);box-shadow:0 0 0 3px var(--archik-selected-glow)}.archik-btn{background:var(--archik-surface);color:var(--archik-fg);border:1px solid var(--archik-border);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.archik-btn:hover{background:var(--archik-surface-hover);border-color:var(--archik-border-strong)}.archik-btn:disabled{opacity:.5;cursor:not-allowed}.archik-btn-primary{background:var(--archik-accent);border-color:var(--archik-accent);color:#050912}.archik-btn-primary:hover{background:var(--archik-accent-bright);border-color:var(--archik-accent-bright)}[data-theme=light] .archik-btn-primary{color:#fff}.archik-btn-danger{color:var(--archik-danger);border-color:var(--archik-danger);background:0 0;border-style:dashed}.archik-btn-danger:hover{background:var(--archik-danger);color:#050912;border-style:solid}.archik-pill{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.archik-pill--info{color:var(--archik-accent);border-color:var(--archik-border-strong);background:var(--archik-accent)}@supports (color:color-mix(in lab,red,red)){.archik-pill--info{background:color-mix(in oklab,var(--archik-accent) 8%,transparent)}}.archik-pill--success{color:var(--archik-success);background:var(--archik-success)}@supports (color:color-mix(in lab,red,red)){.archik-pill--success{background:color-mix(in oklab,var(--archik-success) 12%,transparent)}}.archik-pill--warning{color:var(--archik-warning);background:var(--archik-warning)}@supports (color:color-mix(in lab,red,red)){.archik-pill--warning{background:color-mix(in oklab,var(--archik-warning) 14%,transparent)}}.archik-pill--danger{color:var(--archik-danger);background:var(--archik-danger)}@supports (color:color-mix(in lab,red,red)){.archik-pill--danger{background:color-mix(in oklab,var(--archik-danger) 14%,transparent)}}.archik-label{letter-spacing:.12em;text-transform:uppercase;color:var(--archik-fg-muted);margin-bottom:4px;font-size:10px;display:block}.archik-mono{color:var(--archik-fg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.archik-divider{border-top:1px solid var(--archik-border)}.archik-grid{background-color:var(--archik-canvas);background-image:radial-gradient(var(--archik-grid-minor) 1px,transparent 1px),radial-gradient(var(--archik-grid-major) 1px,transparent 1px);background-position:0 0,0 0;background-size:20px 20px,100px 100px}.archik-selected-glow{filter:drop-shadow(0 0 6px var(--archik-selected-glow)) drop-shadow(0 0 2px var(--archik-selected-glow));animation:1.8s ease-in-out infinite archikPulse}[data-archik-node-id][data-archik-status=proposed]{opacity:.82}[data-archik-node-id][data-archik-status=proposed] rect,[data-archik-node-id][data-archik-status=proposed] path,[data-archik-node-id][data-archik-status=proposed] ellipse,[data-archik-node-id][data-archik-status=proposed] line{stroke:var(--archik-status-proposed);stroke-dasharray:5 3}[data-archik-node-id][data-archik-status=deprecated]{opacity:.7}[data-archik-node-id][data-archik-status=deprecated] rect,[data-archik-node-id][data-archik-status=deprecated] path,[data-archik-node-id][data-archik-status=deprecated] ellipse,[data-archik-node-id][data-archik-status=deprecated] line{stroke:var(--archik-status-deprecated);stroke-dasharray:2 4}[data-archik-node-id][data-archik-status=deprecated] text{text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--archik-status-deprecated);text-decoration-color:var(--archik-status-deprecated)}.archik-stereotype-band{pointer-events:none}[data-archik-stereotype=boundary] .archik-stereotype-band{fill:var(--archik-stereotype-boundary)}[data-archik-stereotype=control] .archik-stereotype-band{fill:var(--archik-stereotype-control)}[data-archik-stereotype=entity] .archik-stereotype-band{fill:var(--archik-stereotype-entity)}.archik-stereotype-pill{letter-spacing:.08em;border:1px solid #0000;border-radius:10px;align-self:flex-start;align-items:center;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.archik-stereotype-pill[data-stereotype=boundary]{background:var(--archik-stereotype-boundary)}@supports (color:color-mix(in lab,red,red)){.archik-stereotype-pill[data-stereotype=boundary]{background:color-mix(in srgb,var(--archik-stereotype-boundary) 15%,transparent)}}.archik-stereotype-pill[data-stereotype=boundary]{border-color:var(--archik-stereotype-boundary);color:var(--archik-stereotype-boundary)}.archik-stereotype-pill[data-stereotype=control]{background:var(--archik-stereotype-control)}@supports (color:color-mix(in lab,red,red)){.archik-stereotype-pill[data-stereotype=control]{background:color-mix(in srgb,var(--archik-stereotype-control) 15%,transparent)}}.archik-stereotype-pill[data-stereotype=control]{border-color:var(--archik-stereotype-control);color:var(--archik-stereotype-control)}.archik-stereotype-pill[data-stereotype=entity]{background:var(--archik-stereotype-entity)}@supports (color:color-mix(in lab,red,red)){.archik-stereotype-pill[data-stereotype=entity]{background:color-mix(in srgb,var(--archik-stereotype-entity) 15%,transparent)}}.archik-stereotype-pill[data-stereotype=entity]{border-color:var(--archik-stereotype-entity);color:var(--archik-stereotype-entity)}@keyframes archikPulse{0%,to{filter:drop-shadow(0 0 4px var(--archik-selected-glow)) drop-shadow(0 0 1px var(--archik-selected-glow))}50%{filter:drop-shadow(0 0 12px var(--archik-selected-glow)) drop-shadow(0 0 3px var(--archik-selected-glow))}}.archik-modal-overlay{z-index:50;background:var(--archik-canvas);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.archik-modal-overlay{background:color-mix(in oklab,var(--archik-canvas) 70%,transparent)}}.archik-modal-overlay{-webkit-backdrop-filter:blur(4px);animation:.14s ease-out archikFadeIn}.archik-modal{background:var(--archik-panel);border:1px solid var(--archik-border);width:360px;max-width:calc(100vw - 32px);box-shadow:0 12px 40px #00000059,0 0 0 1px var(--archik-border-strong);border-radius:8px;padding:16px;animation:.2s cubic-bezier(.2,.8,.2,1) archikModalIn}.archik-selected-outline{fill:none;stroke:var(--archik-selected);stroke-width:2px;pointer-events:none}@keyframes archikEdgeFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:calc(-1 * var(--archik-dash-period,8) * 1px)}}.archik-edge-flowing{animation:1.4s linear infinite archikEdgeFlow}@media(prefers-reduced-motion:reduce){.archik-edge-flowing{animation:none}}.archik-popover{background:var(--archik-panel);border:1px solid var(--archik-border-strong);border-radius:6px;flex-direction:column;max-height:min(80vh,600px);padding:4px;animation:.16s cubic-bezier(.2,.8,.2,1) archikModalIn;display:flex;overflow:hidden;box-shadow:0 12px 32px #00000059}.archik-menu-item{width:100%;color:var(--archik-fg);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.archik-menu-item:hover{background:var(--archik-surface-hover)}.archik-menu-item--danger{color:var(--archik-danger)}@keyframes archikFadeIn{0%{opacity:0}to{opacity:1}}@keyframes archikModalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.archik-drawer-shell{flex-direction:column;min-width:0;transition:width .22s cubic-bezier(.2,.8,.2,1),opacity .2s,margin-left .22s cubic-bezier(.2,.8,.2,1);display:flex;overflow:hidden}.archik-drawer-shell--open{opacity:1;width:320px;margin-left:16px}.archik-drawer-shell--closed{opacity:0;pointer-events:none;width:0;margin-left:0}.archik-drawer-content{flex-shrink:0;width:320px;height:100%}.archik-drawer-fade{animation:.22s ease-out archikFadeIn}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}