archik 0.12.33 → 0.12.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/archik.mjs
CHANGED
|
@@ -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:
|
|
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: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:
|
|
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: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(`
|
package/dist/ui/index.html
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
}
|
|
15
15
|
} catch {}
|
|
16
16
|
</script>
|
|
17
|
-
<script type="module" crossorigin src="/assets/index-
|
|
17
|
+
<script type="module" crossorigin src="/assets/index-DTIN4vQr.js"></script>
|
|
18
18
|
<link rel="stylesheet" crossorigin href="/assets/index-Okbzz010.css">
|
|
19
19
|
</head>
|
|
20
20
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "archik",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.34",
|
|
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",
|