agentic-mermaid 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/dist/agent-core.d.ts +8 -3
- package/dist/agent-core.js +2 -2
- package/dist/agent.d.ts +2 -2
- package/dist/agent.js +4 -4
- package/dist/agentic-mermaid-mcp.js +5 -5
- package/dist/am.js +6 -6
- package/dist/browser-lazy/chunks/architecture-WMSX5L4P.js +31 -0
- package/dist/browser-lazy/chunks/chunk-32FWKUUV.js +1 -0
- package/dist/browser-lazy/chunks/chunk-5Q4S74UO.js +1 -0
- package/dist/browser-lazy/chunks/chunk-A7L4WWVW.js +143 -0
- package/dist/browser-lazy/chunks/chunk-ANTNEVJC.js +1 -0
- package/dist/browser-lazy/chunks/chunk-AOCFMYYH.js +4 -0
- package/dist/browser-lazy/chunks/chunk-CCTZFX43.js +4 -0
- package/dist/browser-lazy/chunks/chunk-EBPTM2RP.js +1 -0
- package/dist/browser-lazy/chunks/chunk-EPFMQPXX.js +1 -0
- package/dist/browser-lazy/chunks/chunk-EX6TP7QM.js +46 -0
- package/dist/browser-lazy/chunks/chunk-FFOHLPDA.js +2 -0
- package/dist/browser-lazy/chunks/chunk-FLD63DXE.js +2 -0
- package/dist/browser-lazy/chunks/chunk-GRXCKTHX.js +0 -0
- package/dist/browser-lazy/chunks/chunk-I6VE56S7.js +1 -0
- package/dist/browser-lazy/chunks/chunk-KJVNXJ5Y.js +1 -0
- package/dist/browser-lazy/chunks/chunk-M6BT2HIP.js +1 -0
- package/dist/browser-lazy/chunks/chunk-OFRMKQA6.js +1 -0
- package/dist/browser-lazy/chunks/chunk-P7HMSKHJ.js +1 -0
- package/dist/browser-lazy/chunks/chunk-PZEWZT35.js +1 -0
- package/dist/browser-lazy/chunks/chunk-QMZ4Y6I7.js +1 -0
- package/dist/browser-lazy/chunks/chunk-QYJMRNS3.js +11 -0
- package/dist/browser-lazy/chunks/chunk-RLS545DI.js +1 -0
- package/dist/browser-lazy/chunks/chunk-STQRDZ67.js +1 -0
- package/dist/browser-lazy/chunks/chunk-T7IJ6V4B.js +3 -0
- package/dist/browser-lazy/chunks/chunk-TBZAU7KC.js +7 -0
- package/dist/browser-lazy/chunks/chunk-TDGTBGV3.js +1 -0
- package/dist/browser-lazy/chunks/chunk-TEH2PRKN.js +1 -0
- package/dist/browser-lazy/chunks/chunk-W6Q4PHPC.js +24 -0
- package/dist/browser-lazy/chunks/chunk-WEUWIFG3.js +1 -0
- package/dist/browser-lazy/chunks/chunk-WN7SFUCZ.js +1 -0
- package/dist/browser-lazy/chunks/chunk-ZZECLXC3.js +1 -0
- package/dist/browser-lazy/chunks/class-7JRALQIM.js +9 -0
- package/dist/browser-lazy/chunks/er-UDCGHKBX.js +9 -0
- package/dist/browser-lazy/chunks/flowchart-5FP7RRIK.js +4 -0
- package/dist/browser-lazy/chunks/gantt-NTOIC5CW.js +28 -0
- package/dist/browser-lazy/chunks/gitgraph-JYAPXUIJ.js +8 -0
- package/dist/browser-lazy/chunks/journey-646EFIB6.js +40 -0
- package/dist/browser-lazy/chunks/mindmap-2SBTQHQO.js +9 -0
- package/dist/browser-lazy/chunks/pie-7FDXZ24K.js +19 -0
- package/dist/browser-lazy/chunks/quadrant-72UT4XAW.js +24 -0
- package/dist/browser-lazy/chunks/radar-SU7BO56J.js +32 -0
- package/dist/browser-lazy/chunks/render-core-Q2JWXDDL.js +12 -0
- package/dist/browser-lazy/chunks/sequence-5O5ET264.js +12 -0
- package/dist/browser-lazy/chunks/state-IWPLFQ6R.js +4 -0
- package/dist/browser-lazy/chunks/timeline-WJWYHH5Y.js +20 -0
- package/dist/browser-lazy/chunks/xychart-HHQVQA5O.js +36 -0
- package/dist/browser-lazy/index.d.ts +1012 -0
- package/dist/browser-lazy/index.js +1 -0
- package/dist/browser.global.js +322 -321
- package/dist/{chunk-WHYJLDYG.js → chunk-3D4EHVQ4.js} +47784 -47711
- package/dist/{chunk-AVCWKYII.js → chunk-GX7UT56Q.js} +18 -5
- package/dist/{chunk-UJNY65QS.js → chunk-IVN6KP3W.js} +2 -2
- package/dist/{chunk-HFD4MALA.js → chunk-NE6JBHSE.js} +682 -44
- package/dist/{chunk-3QCXO4V6.js → chunk-R5U67OIW.js} +4 -4
- package/dist/{chunk-GILQUGFK.js → chunk-YWKCUBQN.js} +2 -2
- package/dist/{index-CLwYn6Im.d.ts → index-BFg_LoZS.d.ts} +5409 -5391
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp-cli-XGZP6CMW.js +17 -0
- package/docs/README.md +1 -1
- package/docs/browser.md +355 -47
- package/docs/mcp-http-transport.md +2 -0
- package/package.json +17 -6
- package/server.json +2 -2
- package/dist/mcp-cli-SJVOGRA6.js +0 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var J=Object.create;var C=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var _=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(e,c)=>(typeof require<"u"?require:e)[c]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var $=(A,e)=>()=>{try{return e||A((e={exports:{}}).exports,e),e.exports}catch(c){throw e=0,c}},AA=(A,e)=>{for(var c in e)C(A,c,{get:e[c],enumerable:!0})},R=(A,e,c,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of H(e))!U.call(A,o)&&o!==c&&C(A,o,{get:()=>e[o],enumerable:!(r=Z(e,o))||r.enumerable});return A};var eA=(A,e,c)=>(c=A!=null?J(k(A)):{},R(e||!A||!A.__esModule?C(c,"default",{value:A,enumerable:!0}):c,A));var m,N=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),w=(m=String.fromCodePoint)!==null&&m!==void 0?m:(A=>{let e="";return A>65535&&(A-=65536,e+=String.fromCharCode(A>>>10&1023|55296),A=56320|A&1023),e+=String.fromCharCode(A),e});function u(A){var e;return A>=55296&&A<=57343||A>1114111?65533:(e=N.get(A))!==null&&e!==void 0?e:A}function Q(A){let e=typeof atob=="function"?atob(A):typeof Buffer.from=="function"?Buffer.from(A,"base64").toString("binary"):new Buffer(A,"base64").toString("binary"),c=e.length&-2,r=new Uint16Array(c/2);for(let o=0,t=0;o<c;o+=2){let i=e.charCodeAt(o),n=e.charCodeAt(o+1);r[t++]=i|n<<8}return r}var b=Q("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var I;(function(A){A[A.VALUE_LENGTH=49152]="VALUE_LENGTH",A[A.FLAG13=8192]="FLAG13",A[A.BRANCH_LENGTH=8064]="BRANCH_LENGTH",A[A.JUMP_TABLE=127]="JUMP_TABLE"})(I||(I={}));var g;(function(A){A[A.NUM=35]="NUM",A[A.SEMI=59]="SEMI",A[A.EQUALS=61]="EQUALS",A[A.ZERO=48]="ZERO",A[A.NINE=57]="NINE",A[A.LOWER_A=97]="LOWER_A",A[A.LOWER_F=102]="LOWER_F",A[A.LOWER_X=120]="LOWER_X",A[A.LOWER_Z=122]="LOWER_Z",A[A.UPPER_A=65]="UPPER_A",A[A.UPPER_F=70]="UPPER_F",A[A.UPPER_Z=90]="UPPER_Z"})(g||(g={}));var G=32;function D(A){return A>=g.ZERO&&A<=g.NINE}function S(A){return A>=g.UPPER_A&&A<=g.UPPER_F||A>=g.LOWER_A&&A<=g.LOWER_F}function f(A){return A>=g.UPPER_A&&A<=g.UPPER_Z||A>=g.LOWER_A&&A<=g.LOWER_Z||D(A)}function M(A){return A===g.EQUALS||f(A)}var a;(function(A){A[A.EntityStart=0]="EntityStart",A[A.NumericStart=1]="NumericStart",A[A.NumericDecimal=2]="NumericDecimal",A[A.NumericHex=3]="NumericHex",A[A.NamedEntity=4]="NamedEntity"})(a||(a={}));var B;(function(A){A[A.Legacy=0]="Legacy",A[A.Strict=1]="Strict",A[A.Attribute=2]="Attribute"})(B||(B={}));var d=class{constructor(e,c,r){this.decodeTree=e,this.emitCodePoint=c,this.errors=r,this.state=a.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=B.Strict,this.runConsumed=0}startEntity(e){this.decodeMode=e,this.state=a.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(e,c){switch(this.state){case a.EntityStart:return e.charCodeAt(c)===g.NUM?(this.state=a.NumericStart,this.consumed+=1,this.stateNumericStart(e,c+1)):(this.state=a.NamedEntity,this.stateNamedEntity(e,c));case a.NumericStart:return this.stateNumericStart(e,c);case a.NumericDecimal:return this.stateNumericDecimal(e,c);case a.NumericHex:return this.stateNumericHex(e,c);case a.NamedEntity:return this.stateNamedEntity(e,c)}}stateNumericStart(e,c){return c>=e.length?-1:(e.charCodeAt(c)|G)===g.LOWER_X?(this.state=a.NumericHex,this.consumed+=1,this.stateNumericHex(e,c+1)):(this.state=a.NumericDecimal,this.stateNumericDecimal(e,c))}stateNumericHex(e,c){for(;c<e.length;){let r=e.charCodeAt(c);if(D(r)||S(r)){let o=r<=g.NINE?r-g.ZERO:(r|G)-g.LOWER_A+10;this.result=this.result*16+o,this.consumed++,c++}else return this.emitNumericEntity(r,3)}return-1}stateNumericDecimal(e,c){for(;c<e.length;){let r=e.charCodeAt(c);if(D(r))this.result=this.result*10+(r-g.ZERO),this.consumed++,c++;else return this.emitNumericEntity(r,2)}return-1}emitNumericEntity(e,c){var r;if(this.consumed<=c)return(r=this.errors)===null||r===void 0||r.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===g.SEMI)this.consumed+=1;else if(this.decodeMode===B.Strict)return 0;return this.emitCodePoint(u(this.result),this.consumed),this.errors&&(e!==g.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,c){let{decodeTree:r}=this,o=r[this.treeIndex],t=(o&I.VALUE_LENGTH)>>14;for(;c<e.length;){if(t===0&&(o&I.FLAG13)!==0){let n=(o&I.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let l=o&I.JUMP_TABLE;if(e.charCodeAt(c)!==l)return this.result===0?0:this.emitNotTerminatedNamedEntity();c++,this.excess++,this.runConsumed++}for(;this.runConsumed<n;){if(c>=e.length)return-1;let l=this.runConsumed-1,s=r[this.treeIndex+1+(l>>1)],h=l%2===0?s&255:s>>8&255;if(e.charCodeAt(c)!==h)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();c++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(n>>1),o=r[this.treeIndex],t=(o&I.VALUE_LENGTH)>>14}if(c>=e.length)break;let i=e.charCodeAt(c);if(i===g.SEMI&&t!==0&&(o&I.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,t,this.consumed+this.excess);if(this.treeIndex=X(r,o,this.treeIndex+Math.max(1,t),i),this.treeIndex<0)return this.result===0||this.decodeMode===B.Attribute&&(t===0||M(i))?0:this.emitNotTerminatedNamedEntity();if(o=r[this.treeIndex],t=(o&I.VALUE_LENGTH)>>14,t!==0){if(i===g.SEMI)return this.emitNamedEntityData(this.treeIndex,t,this.consumed+this.excess);this.decodeMode!==B.Strict&&(o&I.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}c++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var e;let{result:c,decodeTree:r}=this,o=(r[c]&I.VALUE_LENGTH)>>14;return this.emitNamedEntityData(c,o,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,c,r){let{decodeTree:o}=this;return this.emitCodePoint(c===1?o[e]&~(I.VALUE_LENGTH|I.FLAG13):o[e+1],r),c===3&&this.emitCodePoint(o[e+2],r),r}end(){var e;switch(this.state){case a.NamedEntity:return this.result!==0&&(this.decodeMode!==B.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case a.NumericDecimal:return this.emitNumericEntity(0,2);case a.NumericHex:return this.emitNumericEntity(0,3);case a.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case a.EntityStart:return 0}}};function L(A){let e="",c=new d(A,r=>e+=w(r));return function(o,t){let i=0,n=0;for(;(n=o.indexOf("&",n))>=0;){e+=o.slice(i,n),c.startEntity(t);let s=c.write(o,n+1);if(s<0){i=n+c.end();break}i=n+s,n=s===0?i+1:i}let l=e+o.slice(i);return e="",l}}function X(A,e,c,r){let o=(e&I.BRANCH_LENGTH)>>7,t=e&I.JUMP_TABLE;if(o===0)return t!==0&&r===t?c:-1;if(t){let s=r-t;return s<0||s>=o?-1:A[c+s]-1}let i=o+1>>1,n=0,l=o-1;for(;n<=l;){let s=n+l>>>1,h=s>>1,K=A[c+h]>>(s&1)*8&255;if(K<r)n=s+1;else if(K>r)l=s-1;else return A[c+i+s]}return-1}var V=L(b);function p(A){return V(A,B.Strict)}var v=String.prototype.codePointAt==null?(A,e)=>(A.charCodeAt(e)&64512)===55296?(A.charCodeAt(e)-55296)*1024+A.charCodeAt(e+1)-56320+65536:A.charCodeAt(e):(A,e)=>A.codePointAt(e);var Y;(function(A){A[A.XML=0]="XML",A[A.HTML=1]="HTML"})(Y||(Y={}));var E;(function(A){A[A.UTF8=0]="UTF8",A[A.ASCII=1]="ASCII",A[A.Extensive=2]="Extensive",A[A.Attribute=3]="Attribute",A[A.Text=4]="Text"})(E||(E={}));function xA(A,e){let c=[...A].map(t=>t.codePointAt(0)),r=[...e].map(t=>t.codePointAt(0)),o=Math.min(c.length,r.length);for(let t=0;t<o;t++){let i=c[t]-r[t];if(i!==0)return i}return c.length-r.length}function fA(A,e){let c=0;for(let r=0;r<A.length;r++){let o=A.charCodeAt(r);if(o<=127)c+=1;else if(o<=2047)c+=2;else if(o>=55296&&o<=56319&&r+1<A.length){let t=A.charCodeAt(r+1);t>=56320&&t<=57343?(c+=4,r++):c+=3}else c+=3;if(c>e)return e+1}return c}export{_ as a,$ as b,AA as c,eA as d,p as e,xA as f,fA as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function o(n){let r=n.known&&n.known.length>0?` (known: ${n.known.join(", ")})`:"";return new Error(`${n.what} \u2014 expected ${n.expectedForm}, e.g. ${n.example}${r}`)}export{o as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as d,f as V}from"./chunk-FFOHLPDA.js";import{B as P,C as q,E as J,T as B,U as G,V as X,W as g,X as I,Y as h,Z as j,_ as R}from"./chunk-EX6TP7QM.js";var x=Object.freeze({contrast:Object.freeze({properties:Object.freeze({role:Object.freeze({kind:"role"}),minimum:Object.freeze({kind:"number",minimum:1,maximum:21})}),recovery:"Choose an authored text/surface pair that meets the requested ratio, or remove the rule; the renderer will not repaint it."}),"accent-area":Object.freeze({properties:Object.freeze({maxFraction:Object.freeze({kind:"number",minimum:0,maximum:1,required:!0})}),recovery:"Reduce authored accent-filled area or raise the declared maximum; the renderer will not rewrite fills."}),"mono-role":Object.freeze({properties:Object.freeze({role:Object.freeze({kind:"role",required:!0})}),recovery:"Use measurable monochrome paint for the named role or remove the rule; the renderer will not rewrite paint."})}),k=Object.freeze(Object.keys(x));function w(e){return x[e].properties}function U(e){return Object.freeze(["kind","action",...Object.keys(x[e].properties)])}function H(e){let n=w(e);return Object.freeze(["kind","action",...Object.entries(n).filter(([,t])=>t.required===!0).map(([t])=>t)])}var We=Object.freeze({warn:Object.freeze({code:"BRAND_CONSTRAINT_WARNING",severity:"warning",tier:"lint"}),error:Object.freeze({code:"BRAND_CONSTRAINT_ERROR",severity:"error",tier:"lint"})});var O=1;function D(e){if(typeof e!="object"||e===null||Object.isFrozen(e))return e;for(let n of Object.values(e))D(n);return Object.freeze(e)}var v=D({bg:{description:"Diagram page background."},fg:{description:"Primary text and foreground paint."},line:{description:"Connector and secondary line paint."},accent:{description:"Accent paint for emphasis and data series."},muted:{description:"Muted text and secondary data paint."},surface:{description:"Node and group surface fill."},border:{description:"Node and group border paint."}}),$=Object.freeze(["category"]),T=D({formatVersion:{kind:"const",value:O,group:"metadata",description:"Persisted wire-format version. Optional on input and normalized to 1 on output."},$schema:{kind:"string",group:"metadata",description:"Optional JSON Schema pointer for file-backed styles; ignored while rendering."},name:{kind:"string",group:"metadata",description:"Canonical look:name or palette:name identity; required only when registering a style."},blurb:{kind:"string",group:"metadata",description:"Short human-readable description used by discovery surfaces."},colors:{kind:"colors",group:"palette",description:"Partial palette of safe, non-fetching CSS color tokens."},font:{kind:"string",runtimeValidator:"safeCssFontFamily",group:"typography",description:"Safe, non-fetching CSS font family or stack; the rendering environment supplies the font face."},roles:{kind:"roles",group:"roles",description:"Partial semantic SceneRole defaults. Family-authored styling remains authoritative."},semanticSlots:{kind:"semanticSlots",group:"policy",description:"Named brand-neutral role-style slots selected by semantic bindings."},bindings:{kind:"bindings",group:"policy",description:"Ordered equality bindings from authored/domain meaning to semantic slots."},constraints:{kind:"constraints",group:"policy",description:"Closed inspect-only brand constraints with warn or error actions."},stroke:{kind:"enum",values:["crisp","jittered","freehand"],group:"stroke",description:"Stroke treatment; crisp is the default renderer."},roughness:{kind:"number",minimum:0,maximum:10,expected:"between 0 and 10",group:"stroke",description:"Rough.js stroke irregularity."},bowing:{kind:"number",minimum:0,maximum:10,expected:"between 0 and 10",group:"stroke",description:"Rough.js line bowing."},passes:{kind:"integer",minimum:1,maximum:8,expected:"an integer from 1 through 8",group:"stroke",description:"Number of sketch strokes; 1 is single-pass and 2 is the usual double stroke."},strokeWidth:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20",group:"stroke",description:"Base stroke width in SVG user units."},fill:{kind:"enum",values:["none","hachure","solid","wash"],group:"fill",description:"Fill policy for rough/hybrid rendering; none and solid require a final stack that activates one of those backends."},hachureAngle:{kind:"number",minimum:-360,maximum:360,expected:"between -360 and 360",group:"fill",description:"Hachure line angle in degrees; requires fill hachure in the final stack."},hachureGap:{kind:"number",exclusiveMinimum:0,maximum:100,expected:"greater than 0 and at most 100",group:"fill",description:"Gap between hachure lines; requires fill hachure in the final stack."},fillWeight:{kind:"number",exclusiveMinimum:0,maximum:20,expected:"greater than 0 and at most 20",group:"fill",description:"Hachure line weight; requires fill hachure in the final stack."},washOpacity:{kind:"number",minimum:0,maximum:1,expected:"between 0 and 1",group:"fill",description:"Watercolor glaze opacity; requires fill wash in the final stack."},washEdge:{kind:"number",minimum:0,maximum:1,expected:"between 0 and 1",group:"fill",description:"Watercolor edge-darkening opacity; requires fill wash in the final stack."},backdrop:{kind:"enum",values:["plain","paper-ruled","grid"],group:"page",description:"Flat page furniture drawn behind the diagram."},intent:{kind:"enum",values:["premium","draft","lofi"],group:"advisory",description:"Advisory intent metadata for pickers and quality tooling."},mono:{kind:"boolean",group:"advisory",description:"Advisory monochrome contract: express tone through shading and weight."}});function S(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function z(e,n){return!(typeof e!="number"||!Number.isFinite(e)||n.kind==="integer"&&!Number.isInteger(e)||n.minimum!==void 0&&e<n.minimum||n.exclusiveMinimum!==void 0&&e<=n.exclusiveMinimum||n.maximum!==void 0&&e>n.maximum)}var me=Object.freeze(["--bg","--fg","--_text","--_text-sec","--_text-muted","--_text-faint","--_line","--_arrow","--_node-fill","--_node-stroke","--_group-fill","--_group-hdr","--_inner-stroke","--_key-badge"]),ye=new Set(me);function ge(e){return typeof e!="string"||J(e)===void 0?!1:[...e.matchAll(/var\(\s*(--[a-z0-9_-]+)/gi)].map(t=>t[1]).every(t=>ye.has(t))}var W=new Map(R.map(e=>[e.role,e])),ee=I.map(e=>W.get(e)),Se=new Set(h),be=/^[A-Za-z][A-Za-z0-9._-]{0,63}$/,L=new Set(["__proto__","constructor","prototype"]);function ne(e,n,t){if(!S(e))return[`"${n}" must be an object`];let i=[];for(let[r,o]of Object.entries(e)){if(!Object.hasOwn(g,r)){i.push(`unknown role style field "${n.slice(n.indexOf(".")+1)}.${r}"`);continue}if(t&&!t.has(r)){i.push(`role style field "${n}.${r}" is not applicable`);continue}let s=g[r],a=`${n}.${r}`;o!==void 0&&(s.kind==="number"&&!z(o,s)?i.push(`"${a}" must be ${s.expected}`):s.kind==="font"&&(typeof o!="string"||P(o)===void 0)?i.push(`"${a}" must be a safe non-fetching CSS font family or stack`):s.kind==="color"&&!ge(o)?i.push(`"${a}" must be a safe non-fetching CSS paint`):s.kind==="enum"&&(typeof o!="string"||!s.values.includes(o))&&i.push(`"${a}" must be one of ${s.values.join(" | ")}`))}return i}function he(e){if(!S(e))return['"roles" must be an object of SceneRole records'];let n=[];for(let[t,i]of Object.entries(e)){let r=W.get(t);if(!r){n.push(`unknown scene role "${t}"`);continue}if(r.traits.styleConsumption==="fallback-only"){n.push(`scene role "${t}" is fallback-only; set roles.${r.style.fallbackRole} instead`);continue}let o=new Set(r.style.applicableProperties),s=ne(i,`roles.${t}`,o).map(a=>a===`"roles.${t}" must be an object`?a:a.replace(`role style field "roles.${t}.`,`role style field "${t}.`).replace('" is not applicable',`" is not applicable to ${t} roles`));n.push(...s)}return n}function te(e){return typeof e=="string"&&be.test(e)&&!L.has(e)}function Re(e){if(!S(e))return['"semanticSlots" must be an object of named role-style slots'];if(Object.keys(e).length>d.maxItemsPerContainer)return[`"semanticSlots" must contain at most ${d.maxItemsPerContainer} slots`];let n=[];for(let[t,i]of Object.entries(e)){if(!te(t)){n.push(`invalid semantic slot name "${t}"`);continue}n.push(...ne(i,`semanticSlots.${t}`))}return n}function ke(e){if(!Array.isArray(e))return['"bindings" must be an array'];if(e.length>d.maxItemsPerContainer)return[`"bindings" must contain at most ${d.maxItemsPerContainer} entries`];let n=[];return e.forEach((t,i)=>{let r=`bindings[${i}]`;if(!S(t)){n.push(`"${r}" must be an object`);return}for(let o of Object.keys(t))["channel","value","slot","role"].includes(o)||n.push(`unknown binding field "${r}.${o}"`);(typeof t.channel!="string"||!$.includes(t.channel))&&n.push(`"${r}.channel" must be one of ${$.join(" | ")}`),(typeof t.value!="string"||t.value.length===0||t.value.length>256||/[\r\n\0]/.test(t.value))&&n.push(`"${r}.value" must be a non-empty single-line string of at most 256 characters`),te(t.slot)||n.push(`"${r}.slot" must be a valid semantic slot name`),t.role!==void 0&&!Se.has(t.role)&&n.push(`"${r}.role" must be a SceneRole with an executable category-binding consumer (${h.join(" | ")})`)}),n}function Oe(e){if(!Array.isArray(e))return['"constraints" must be an array'];if(e.length>d.maxItemsPerContainer)return[`"constraints" must contain at most ${d.maxItemsPerContainer} entries`];let n=[];return e.forEach((t,i)=>{let r=`constraints[${i}]`;if(!S(t)){n.push(`"${r}" must be an object`);return}if(typeof t.kind!="string"||!k.includes(t.kind)){n.push(`"${r}.kind" must be one of ${k.join(" | ")}`);return}let o=t.kind,s=w(o),a=new Set(U(o));for(let l of Object.keys(t))a.has(l)||n.push(`unknown constraint field "${r}.${l}"`);t.action!=="warn"&&t.action!=="error"&&n.push(`"${r}.action" must be one of warn | error`);for(let[l,c]of Object.entries(s)){let f=t[l];if(f===void 0){c.required&&n.push(`"${r}.${l}" is required for ${o}`);continue}c.kind==="role"&&!W.has(f)?n.push(`"${r}.${l}" must be a registered built-in SceneRole`):c.kind==="number"&&!z(f,c)&&n.push(`"${r}.${l}" must be between ${c.minimum} and ${c.maximum}`)}}),n}function A(e){if(!S(e))return["style spec must be a plain object"];if(Object.keys(e).length>d.maxItemsPerContainer)return[`style spec must contain at most ${d.maxItemsPerContainer} fields`];let n=[];for(let[t,i]of Object.entries(e)){if(!Object.hasOwn(T,t)){n.push(`unknown field "${t}"`);continue}let r=T[t];if(i!==void 0)switch(r.kind){case"const":i!==r.value&&n.push(`"${t}" must be ${r.value}`);break;case"string":typeof i!="string"?n.push(`"${t}" must be a string`):r.runtimeValidator==="safeCssFontFamily"&&P(i)===void 0&&n.push(`"${t}" must be a safe non-fetching CSS font family or stack`);break;case"boolean":typeof i!="boolean"&&n.push(`"${t}" must be a boolean`);break;case"number":case"integer":z(i,r)||n.push(`"${t}" must be ${r.expected}`);break;case"enum":(typeof i!="string"||!r.values.includes(i))&&n.push(`"${t}" must be one of ${r.values.join(" | ")}`);break;case"roles":n.push(...he(i));break;case"semanticSlots":n.push(...Re(i));break;case"bindings":n.push(...ke(i));break;case"constraints":n.push(...Oe(i));break;case"colors":{if(!S(i)){n.push('"colors" must be an object of color tokens');break}for(let[o,s]of Object.entries(i))Object.hasOwn(v,o)?s!==void 0&&typeof s!="string"?n.push(`color token "${o}" must be a string`):s!==void 0&&q(s)===void 0&&n.push(`color token "${o}" must be a safe non-fetching CSS color`):n.push(`unknown color token "${o}"`);break}}}return V(n,"Style validation")}function Ce(){return Object.fromEntries(Object.entries(g).map(([e,n])=>{if(n.kind==="number"){let t=n;return[e,{type:"number",...t.minimum!==void 0?{minimum:t.minimum}:{},...t.exclusiveMinimum!==void 0?{exclusiveMinimum:t.exclusiveMinimum}:{},...t.maximum!==void 0?{maximum:t.maximum}:{},description:t.description}]}return n.kind==="enum"?[e,{type:"string",enum:[...n.values],description:n.description}]:[e,{type:"string",description:n.description,"x-agentic-mermaid-runtime-validator":n.kind==="font"?"safeCssFontFamily":"safeStylePaint"}]}))}function Z(e=Object.keys(g)){let n=Ce();return{type:"object",additionalProperties:!1,maxProperties:e.length,properties:Object.fromEntries(e.map(t=>[t,n[t]]))}}function re(e){return`roleStyle-${e.role}`}var Q="^[A-Za-z][A-Za-z0-9._-]{0,63}$";function Ee(e){switch(e.kind){case"const":return{const:e.value,description:e.description};case"string":return{type:"string",description:e.description,...e.runtimeValidator?{"x-agentic-mermaid-runtime-validator":e.runtimeValidator}:{}};case"boolean":return{type:"boolean",description:e.description};case"enum":return{type:"string",enum:[...e.values],description:e.description};case"number":case"integer":return{type:e.kind,...e.minimum!==void 0?{minimum:e.minimum}:{},...e.exclusiveMinimum!==void 0?{exclusiveMinimum:e.exclusiveMinimum}:{},...e.maximum!==void 0?{maximum:e.maximum}:{},description:e.description};case"roles":return{type:"object",additionalProperties:!1,description:e.description,properties:Object.fromEntries(ee.map(n=>[n.role,{$ref:`#/$defs/${re(n)}`}]))};case"semanticSlots":return{type:"object",description:e.description,maxProperties:d.maxItemsPerContainer,propertyNames:{pattern:Q,not:{enum:[...L]}},additionalProperties:{$ref:"#/$defs/roleStyle-any"}};case"bindings":return{type:"array",description:e.description,maxItems:d.maxItemsPerContainer,items:{type:"object",additionalProperties:!1,maxProperties:4,required:["channel","value","slot"],properties:{channel:{type:"string",enum:[...$]},value:{type:"string",minLength:1,maxLength:256,pattern:"^[^\\r\\n\\u0000]+$"},slot:{type:"string",pattern:Q,not:{enum:[...L]}},role:{type:"string",enum:[...h]}}}};case"constraints":{let n={type:"string",enum:["warn","error"]},t={type:"string",enum:R.map(r=>r.role)},i=k.map(r=>{let o=w(r),s=Object.fromEntries(Object.entries(o).map(([a,l])=>[a,l.kind==="role"?t:{type:"number",minimum:l.minimum,maximum:l.maximum}]));return{type:"object",additionalProperties:!1,required:[...H(r)],properties:{kind:{const:r},action:n,...s}}});return{type:"array",description:e.description,maxItems:d.maxItemsPerContainer,items:{oneOf:i}}}case"colors":return{type:"object",additionalProperties:!1,maxProperties:Object.keys(v).length,description:`${e.description} Runtime validation applies the stricter safe-color policy.`,properties:Object.fromEntries(Object.entries(v).map(([n,t])=>[n,{type:"string",description:`${t.description} Must be a safe, non-fetching CSS color.`,"x-agentic-mermaid-runtime-validator":"safeCssColor"}]))}}}function xe(){let e=Object.fromEntries(ee.map(n=>[re(n),Z(n.style.applicableProperties)]));return{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://agentic-mermaid.dev/schemas/style-spec.schema.json",title:"Agentic Mermaid StyleSpec",description:"A partial declarative style record for Agentic Mermaid rendering. All fields, including formatVersion, are optional on input; resolved and registered specs normalize formatVersion to 1.",type:"object",additionalProperties:!1,maxProperties:Object.keys(T).length,properties:Object.fromEntries(Object.entries(T).map(([n,t])=>[n,Ee(t)])),$defs:{...e,"roleStyle-any":Z()}}}var ie=Object.freeze([{id:"palette:paper",inputName:"paper",displayLabel:"Paper",colors:{bg:"#F5F0E4",fg:"#221E16",accent:"#9A4A24"}},{id:"palette:dusk",inputName:"dusk",displayLabel:"Dusk",colors:{bg:"#2A2521",fg:"#E9DFCC",accent:"#CC8A57"}},{id:"palette:zinc-light",inputName:"zinc-light",displayLabel:"Zinc Light",colors:{bg:"#FFFFFF",fg:"#27272A"}},{id:"palette:zinc-dark",inputName:"zinc-dark",displayLabel:"Zinc Dark",colors:{bg:"#18181B",fg:"#FAFAFA"}},{id:"palette:tokyo-night",inputName:"tokyo-night",displayLabel:"Tokyo Night",colors:{bg:"#1a1b26",fg:"#a9b1d6",line:"#3d59a1",accent:"#7aa2f7",muted:"#565f89"}},{id:"palette:tokyo-night-storm",inputName:"tokyo-night-storm",displayLabel:"Tokyo Night Storm",colors:{bg:"#24283b",fg:"#a9b1d6",line:"#3d59a1",accent:"#7aa2f7",muted:"#565f89"}},{id:"palette:tokyo-night-light",inputName:"tokyo-night-light",displayLabel:"Tokyo Night Light",colors:{bg:"#d5d6db",fg:"#343b58",line:"#34548a",accent:"#34548a",muted:"#9699a3"}},{id:"palette:catppuccin-mocha",inputName:"catppuccin-mocha",displayLabel:"Catppuccin Mocha",colors:{bg:"#1e1e2e",fg:"#cdd6f4",line:"#585b70",accent:"#cba6f7",muted:"#6c7086"}},{id:"palette:catppuccin-latte",inputName:"catppuccin-latte",displayLabel:"Catppuccin Latte",colors:{bg:"#eff1f5",fg:"#4c4f69",line:"#9ca0b0",accent:"#8839ef",muted:"#9ca0b0"}},{id:"palette:nord",inputName:"nord",displayLabel:"Nord",colors:{bg:"#2e3440",fg:"#d8dee9",line:"#4c566a",accent:"#88c0d0",muted:"#616e88"}},{id:"palette:nord-light",inputName:"nord-light",displayLabel:"Nord Light",colors:{bg:"#eceff4",fg:"#2e3440",line:"#aab1c0",accent:"#5e81ac",muted:"#7b88a1"}},{id:"palette:dracula",inputName:"dracula",displayLabel:"Dracula",colors:{bg:"#282a36",fg:"#f8f8f2",line:"#6272a4",accent:"#bd93f9",muted:"#6272a4"}},{id:"palette:github-light",inputName:"github-light",displayLabel:"GitHub Light",colors:{bg:"#ffffff",fg:"#1f2328",line:"#d1d9e0",accent:"#0969da",muted:"#59636e"}},{id:"palette:github-dark",inputName:"github-dark",displayLabel:"GitHub Dark",colors:{bg:"#0d1117",fg:"#e6edf3",line:"#3d444d",accent:"#4493f8",muted:"#9198a1"}},{id:"palette:solarized-light",inputName:"solarized-light",displayLabel:"Solarized Light",colors:{bg:"#fdf6e3",fg:"#657b83",line:"#93a1a1",accent:"#268bd2",muted:"#93a1a1"}},{id:"palette:solarized-dark",inputName:"solarized-dark",displayLabel:"Solarized Dark",colors:{bg:"#002b36",fg:"#839496",line:"#586e75",accent:"#268bd2",muted:"#586e75"}},{id:"palette:one-dark",inputName:"one-dark",displayLabel:"One Dark",colors:{bg:"#282c34",fg:"#abb2bf",line:"#4b5263",accent:"#c678dd",muted:"#5c6370"}},{id:"palette:salmon",inputName:"salmon",displayLabel:"Salmon",colors:{bg:"#FFFBF5",fg:"#521000",line:"#C9A88A",accent:"#FF4801",muted:"#85532E",surface:"#FFFDFB",border:"#D4B89E"}},{id:"palette:salmon-dark",inputName:"salmon-dark",displayLabel:"Salmon Dark",colors:{bg:"#1F1008",fg:"#F5DCC8",line:"#6B4A2E",accent:"#FF6B35",muted:"#A07858",surface:"#2A1810",border:"#5A3A22"}},{id:"palette:tufte-dark",inputName:"tufte-dark",displayLabel:"Tufte Dark",colors:{bg:"#1C1C1A",fg:"#E8E4DC",line:"#666660",accent:"#C87070",muted:"#908880",surface:"#2A2926",border:"#444440"}}]);var F=Object.freeze(["fontSize","fontWeight","letterSpacing","textTransform","textColor"]),oe=Object.freeze(["paddingX","paddingY","cornerRadius","lineWidth","fillColor","borderColor"]),un=Object.freeze({text:Object.freeze({sourceRole:"label",fields:F}),node:Object.freeze({sourceRole:"node",fields:Object.freeze([...F,...oe])}),edge:Object.freeze({sourceRole:"edge",fields:Object.freeze([...F,"lineWidth","bendRadius","strokeColor"])}),group:Object.freeze({sourceRole:"group",fields:Object.freeze([...F,...oe,"fontFamily","headerFillColor"])})}),se="1.0.0",le=Object.freeze({core:"^0.3.0"}),Te=Object.freeze({owner:"agentic-mermaid",source:"built-in",reference:"src/scene/style-registry.ts"}),_e=Object.freeze({owner:"host",source:"in-process"}),m=new Map,C=new Map,Y=0;function Ne(){if(Y>0)throw new Error("Style registry mutation is forbidden while a Style input is undergoing admission")}function de(e){Y++;try{return e()}finally{Y--}}function Ie(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}function je(e){let n=new WeakMap,t=new WeakSet,i=new Set(["__proto__","prototype","constructor"]),r=0,o=0,s=(a,l)=>{if(l>d.maxDepth)throw new TypeError(`Style input exceeds maximum nesting depth ${d.maxDepth}`);if(r++,r>d.maxNodes)throw new TypeError(`Style input exceeds the ${d.maxNodes}-node limit`);if(typeof a=="string"){if(o+=a.length,o>d.maxAggregateTextCharacters)throw new TypeError(`Style input exceeds the ${d.maxAggregateTextCharacters}-character text limit`);return a}if(typeof a!="object"||a===null)return a;if(t.has(a))throw new TypeError("Style input must be acyclic");let c=n.get(a);if(c!==void 0)return c;if(Array.isArray(a)){if(a.length>d.maxItemsPerContainer)throw new TypeError(`Style array must contain at most ${d.maxItemsPerContainer} items`);let p=[];n.set(a,p),t.add(a);for(let y=0;y<a.length;y++){if(!Object.prototype.hasOwnProperty.call(a,y))throw new TypeError("Style arrays must not be sparse");p.push(s(a[y],l+1))}return t.delete(a),Object.freeze(p)}if(!Ie(a))return a;let f=Object.entries(a);if(f.length>d.maxItemsPerContainer)throw new TypeError(`Style object must contain at most ${d.maxItemsPerContainer} properties`);let b=Object.create(null);n.set(a,b),t.add(a);for(let[p,y]of f){if(i.has(p))throw new TypeError(`Style input uses forbidden key "${p}"`);if(o+=p.length,o>d.maxAggregateTextCharacters)throw new TypeError(`Style input exceeds the ${d.maxAggregateTextCharacters}-character text limit`);Object.defineProperty(b,p,{value:s(y,l+1),enumerable:!0,writable:!1,configurable:!1})}return t.delete(a),Object.freeze(b)};return s(e,0)}function we(e){let n=je(e),t=A(n);if(t.length)throw new Error(`Invalid style spec: ${t.join("; ")}`);return n}function K(e){if(e)return Object.freeze(Object.fromEntries(Object.entries(e).map(([n,t])=>[n,Object.freeze({...t})])))}function M(e){if(e)return Object.freeze(Object.fromEntries(Object.entries(e).map(([n,t])=>[n,Object.freeze({...t})])))}function E(e){return e?Object.freeze(e.map(n=>Object.freeze({...n}))):void 0}function N(e){if(!e)return;let{displayLabel:n,...t}=e;return Object.freeze({...t,formatVersion:O,...t.colors?{colors:Object.freeze({...t.colors})}:{},...t.roles?{roles:K(t.roles)}:{},...t.semanticSlots?{semanticSlots:M(t.semanticSlots)}:{},...t.bindings?{bindings:E(t.bindings)}:{},...t.constraints?{constraints:E(t.constraints)}:{}})}function ve(e,n,t){return G({id:e,kind:n,version:t.version??se,compatibility:{...le,...t.compatibility},provenance:t.provenance??_e})}function $e(e,n,t,i){let r=e.name,o=Object.freeze({...e,formatVersion:O,...e.colors?{colors:Object.freeze({...e.colors})}:{},...e.roles?{roles:K(e.roles)}:{},...e.semanticSlots?{semanticSlots:M(e.semanticSlots)}:{},...e.bindings?{bindings:E(e.bindings)}:{},...e.constraints?{constraints:E(e.constraints)}:{}}),s=ve(r,n,t);if(X(m,{identity:s,value:o}),i!==void 0){let a=C.get(i),l=m.has(i)&&i!==r?i:void 0;if(a!==void 0||l!==void 0)throw m.delete(r),new Error(`Style input name "${i}" already selects "${a??l}"`);C.set(i,r)}return()=>{if(Ne(),m.get(r)?.identity!==s)return!1;let l=m.delete(r);return l&&i!==void 0&&C.get(i)===r&&C.delete(i),l}}function u(e,n="look",t=e.name??""){if(!e.name)throw new Error("registerBuiltInStyle requires a name");let i=e.name,r=B(n,i),o=A(N({...e,name:r}));if(o.length)throw new Error(`Invalid built-in style "${r}": ${o.join("; ")}`);$e({...e,name:r},n,{version:se,compatibility:le,provenance:Te},t)}function ce(e){return m.has(e)?e:C.get(e)}function fn(e){let n=ce(e);if(!n)return;let t=N(m.get(n)?.value);if(t)return Object.freeze({canonicalId:n,spec:t})}function Ae(){return Fe().map(e=>e.inputName)}function Fe(){return Object.freeze(Array.from(m.values(),({identity:e,value:n})=>{let t=Array.from(C.entries()).find(([,o])=>o===e.id)?.[0]??e.id,i=e.id.slice(e.id.indexOf(":")+1),r=n.displayLabel??i.split("-").filter(Boolean).map(o=>o==="ops"?"OPS":o.charAt(0).toUpperCase()+o.slice(1)).join(" ");return Object.freeze({identity:e,spec:N(n),inputName:t,displayLabel:r,kind:e.kind,isDefault:e.id==="look:crisp"})}))}function _(e){return e.stroke==="freehand"||e.fill==="wash"?"hybrid":e.stroke==="jittered"||e.fill==="hachure"||e.backdrop!==void 0&&e.backdrop!=="plain"||e.roughness!==void 0||e.bowing!==void 0||e.passes!==void 0||e.hachureGap!==void 0||e.hachureAngle!==void 0||e.fillWeight!==void 0?"rough":"default"}function Pe(e,n){if(!e&&!n)return;let t={...e},i=t;for(let[r,o]of Object.entries(n??{}))o!==void 0&&(i[r]={...i[r],...o});return t}function Be(e,n){if(!e&&!n)return;let t={...e};for(let[i,r]of Object.entries(n??{}))t[i]={...t[i],...r};return t}function ae(e,n){if(!e&&!n)return;let t=[],i=new Set;for(let r of[...e??[],...n??[]]){let o=JSON.stringify(r);i.has(o)||(i.add(o),t.push(r))}return t}function ue(e){if(e===void 0)return;let n=Array.isArray(e)?e:[e],t=[];for(let r of n)if(typeof r=="string"){let o=ce(r);if(o==="look:crisp")continue;let s=o?m.get(o)?.value:void 0;if(!s)throw new Error(`Unknown style "${r}". Known styles: ${Ae().join(", ")}`);t.push(s)}else t.push(we(r));if(t.length===0)return;let i={formatVersion:O};for(let r of t)for(let[o,s]of Object.entries(r))if(s!==void 0)if(o==="colors"){let a={...i.colors};for(let[l,c]of Object.entries(r.colors??{}))c!==void 0&&(a[l]=c);i.colors=a}else o==="roles"?i.roles=Pe(i.roles,r.roles):o==="semanticSlots"?i.semanticSlots=Be(i.semanticSlots,r.semanticSlots):o==="bindings"?i.bindings=ae(i.bindings,r.bindings):o==="constraints"?i.constraints=ae(i.constraints,r.constraints):i[o]=s;return i}function pn(e){return de(()=>{let n=ue(e);return n&&fe(n),N(n)})}function Le(e){return e?{...e}:void 0}function De(e){let n=e.strokeWidth,t=e.roles?Object.fromEntries(Object.entries(e.roles).map(([s,a])=>[s,Le(a)])):void 0,i={...n!==void 0&&n>0&&_(e)==="default"?{lineWidth:n}:{},...t?.node},r={...n!==void 0&&n>0&&_(e)==="default"?{lineWidth:n}:{},...t?.edge},o={...n!==void 0&&n>0&&_(e)==="default"?{lineWidth:n}:{},...t?.group};if(!(!t&&!e.semanticSlots&&!e.bindings&&!e.constraints&&Object.keys(i).length===0&&Object.keys(r).length===0&&Object.keys(o).length===0))return{...t?{roles:K(t)}:{},...e.semanticSlots?{semanticSlots:M(e.semanticSlots)}:{},...e.bindings?{bindings:E(e.bindings)}:{},...e.constraints?{constraints:E(e.constraints)}:{},...t?.label?{text:{...t.label}}:{},...Object.keys(i).length?{node:i}:{},...Object.keys(r).length?{edge:r}:{},...Object.keys(o).length?{group:o}:{}}}function ze(e,n){let t=n[e.channel];return Array.isArray(t)?t.includes(e.value):String(t??"")===e.value}function mn(e,n,t={},i={}){let r=R.find(f=>f.role===n),o=e?.roles,s=i.includeFallback===!1?void 0:r?o?.[r.style.fallbackRole]:void 0,a=o?.[n],l=s||a?{...s,...a}:void 0,c=new Set(r?.style.applicableProperties??[]);for(let f of e?.bindings??[]){if(f.role!==void 0&&f.role!==n||!ze(f,t))continue;let b=e?.semanticSlots?.[f.slot];if(!b)continue;let p=Object.fromEntries(Object.entries(b).filter(([y])=>c.has(y)));l={...l,...p}}return l?Object.freeze(l):void 0}function fe(e){for(let[o,s]of(e.bindings??[]).entries()){let a=e.semanticSlots?.[s.slot];if(!a)throw new Error(`Invalid style spec: binding ${o+1} references missing semantic slot "${s.slot}"`);let l=s.role===void 0?new Set(j):new Set(R.find(c=>c.role===s.role).style.applicableProperties);if(!Object.keys(a).some(c=>l.has(c)))throw new Error(s.role===void 0?`Invalid style spec: semantic slot "${s.slot}" has no field applicable to any executable category-binding role`:`Invalid style spec: semantic slot "${s.slot}" has no field applicable to role "${s.role}"`)}let t=["hachureAngle","hachureGap","fillWeight"].filter(o=>e[o]!==void 0&&e.fill!=="hachure");if(t.length>0)throw new Error(`Invalid style spec: ${t.map(o=>`"${o}"`).join(", ")} require fill "hachure" in the final Style stack`);let r=["washOpacity","washEdge"].filter(o=>e[o]!==void 0&&e.fill!=="wash");if(r.length>0)throw new Error(`Invalid style spec: ${r.map(o=>`"${o}"`).join(", ")} require fill "wash" in the final Style stack`);if(e.fill!==void 0&&_(e)==="default")throw new Error('Invalid style spec: "fill" has no crisp/default backend projection; combine it with stroke "jittered"/"freehand" or another rough/hybrid backend field')}function yn(e){return de(()=>{let n=ue(e);if(n===void 0)return{};fe(n);let t=N(n),i=De(n);return{...t?{style:t}:{},...i?{face:i}:{}}})}function gn(e){return _(e)!=="default"||e.colors!==void 0||e.font!==void 0||e.strokeWidth!==void 0||e.roles!==void 0||e.semanticSlots!==void 0||e.bindings!==void 0||e.constraints!==void 0}u({name:"crisp",displayLabel:"Crisp",blurb:"The default renderer with precise SVG geometry.",stroke:"crisp"},"look");for(let e of ie){let{inputName:n,colors:t}=e;if(B("palette",n)!==e.id)throw new Error(`Built-in palette identity mismatch: ${e.id}`);u({name:n,displayLabel:e.displayLabel,blurb:`Palette: ${n}.`,colors:{bg:t.bg,fg:t.fg,line:t.line,accent:t.accent,muted:t.muted,surface:t.surface,border:t.border}},"palette",n)}u({name:"hand-drawn",displayLabel:"Hand-drawn",blurb:"Black ink on ruled paper \u2014 wobbly double strokes, unfilled boxes.",intent:"draft",colors:{bg:"#f7f5ef",fg:"#1a1a1e",line:"#26262b",accent:"#26262b",border:"#26262b"},font:"Caveat",stroke:"jittered",roughness:1,bowing:1,passes:2,strokeWidth:1.8,fill:"none",backdrop:"paper-ruled",mono:!0});u({name:"excalidraw",displayLabel:"Excalidraw",blurb:"Virtual whiteboard style \u2014 rough strokes, pastel hachure fills.",intent:"draft",colors:{bg:"#ffffff",fg:"#1e1e1e",line:"#1e1e1e",accent:"#4263eb",surface:"#f1f3f5"},font:"Caveat",stroke:"jittered",roughness:1.1,bowing:1.2,passes:2,strokeWidth:1.6,fill:"hachure",hachureAngle:-41,hachureGap:5.5,fillWeight:.9});u({name:"pen-and-ink",displayLabel:"Pen & ink",blurb:"Fine single-pass linework on warm cream \u2014 no interior hatching.",intent:"premium",colors:{bg:"#faf6ec",fg:"#241f1a",line:"#2b241d",accent:"#2b241d",border:"#2b241d"},font:"EB Garamond",stroke:"jittered",roughness:.5,bowing:.6,passes:1,strokeWidth:1.5,fill:"none",mono:!0});u({name:"freehand",displayLabel:"Freehand",blurb:"Pressure-sensitive marker ribbons \u2014 variable-width filled strokes.",intent:"draft",colors:{bg:"#fbfaf7",fg:"#16161a",line:"#1d1d22",accent:"#1d1d22",border:"#1d1d22"},font:"Architects Daughter",stroke:"freehand",roughness:.9,passes:1,strokeWidth:1.6,fill:"none",mono:!0});u({name:"watercolor",displayLabel:"Watercolor",blurb:"Rough outlines over translucent glazes with pigment-pooled edges.",intent:"premium",colors:{bg:"#fdfbf6",fg:"#31302c",line:"#4d4a44",accent:"#7a6a52",surface:"#ead9b9",border:"#5a564e"},font:"Caveat",stroke:"jittered",roughness:.9,bowing:.8,passes:1,strokeWidth:1.5,fill:"wash",washOpacity:.3,washEdge:.34});u({name:"blueprint",displayLabel:"Blueprint",blurb:"Cyanotype: white linework on Prussian blue with a drafting grid.",intent:"premium",colors:{bg:"#123a63",fg:"#eaf2fb",line:"#dbe9f7",accent:"#ffffff",muted:"#b8cfe6",surface:"#1c4a78",border:"#dbe9f7"},font:"Share Tech Mono",stroke:"jittered",roughness:.4,bowing:.4,passes:1,strokeWidth:1.4,fill:"none",backdrop:"grid",mono:!0});u({name:"tufte",displayLabel:"Tufte",blurb:"Maximal data-ink: crisp hairlines, warm paper, one red accent.",intent:"premium",colors:{bg:"#fffff8",fg:"#111111",line:"#4a4a45",accent:"#a00000",muted:"#6b6b64",border:"#8a8a80"},font:"EB Garamond",roles:{node:{lineWidth:.8,cornerRadius:0},edge:{lineWidth:.8},group:{lineWidth:.8}},mono:!0},"look","look:tufte");u({name:"accessible-high-contrast",displayLabel:"Accessible Contrast",blurb:"Accessibility-first: large labels, heavy strokes, white ground, colorblind-safe blue accent.",intent:"premium",colors:{bg:"#ffffff",fg:"#050505",line:"#111111",accent:"#005fcc",muted:"#333333",surface:"#ffffff",border:"#050505"},roles:{node:{fontSize:17,fontWeight:700,textColor:"var(--fg)",paddingX:28,paddingY:16,cornerRadius:8,lineWidth:2.4,borderColor:"var(--fg)"},edge:{fontSize:14,fontWeight:700,textColor:"var(--fg)",lineWidth:2.6,bendRadius:10,strokeColor:"var(--fg)"},group:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:22,cornerRadius:8,lineWidth:2.2,borderColor:"var(--fg)"}}});u({name:"patent-drawing",displayLabel:"Patent Hatching",blurb:"Print-safe patent figure: uniform ink, strong outlines, tone via oblique hatching.",intent:"premium",colors:{bg:"#ffffff",fg:"#111111",line:"#111111",accent:"#111111",muted:"#444444",surface:"#ffffff",border:"#111111"},font:"EB Garamond",stroke:"jittered",roughness:.3,bowing:.2,passes:1,strokeWidth:1.35,fill:"hachure",hachureAngle:-50,hachureGap:7,fillWeight:.65,roles:{node:{fontSize:14,fontWeight:600,textColor:"var(--fg)",paddingX:24,paddingY:13,lineWidth:1.35,cornerRadius:0,borderColor:"var(--fg)"},edge:{fontSize:12,textColor:"var(--fg)",lineWidth:1.45,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:12,fontWeight:700,textColor:"var(--fg)",paddingX:22,paddingY:18,lineWidth:1.35,cornerRadius:0,borderColor:"var(--fg)"}},mono:!0});u({name:"status-dashboard",displayLabel:"Dark Ops Dashboard",blurb:"Operational dashboard: dark surface, rounded modules, bright status-friendly accent.",intent:"premium",colors:{bg:"#08111f",fg:"#e6f4ff",line:"#5a7c99",accent:"#2dd4bf",muted:"#8aa6bf",surface:"#102033",border:"#2e4c63"},roles:{node:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:13,cornerRadius:10,lineWidth:1.4,borderColor:"var(--fg)"},edge:{fontSize:12,fontWeight:600,textColor:"var(--fg)",lineWidth:2,bendRadius:14,strokeColor:"var(--fg)"},group:{fontSize:13,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.06,paddingX:22,paddingY:20,cornerRadius:10,lineWidth:1.3,borderColor:"var(--fg)"}}});u({name:"ops-schematic",displayLabel:"Compact Trace Map",blurb:"Dense operational schematic: compact mono labels, sturdy traces, theme-friendly geometry.",intent:"lofi",colors:{bg:"#f8faf7",fg:"#17211c",line:"#24523b",accent:"#0f766e",muted:"#4f665a",surface:"#f0f5ef",border:"#24523b"},font:"Share Tech Mono",stroke:"jittered",roughness:.18,bowing:.2,passes:1,strokeWidth:1.6,fill:"none",roles:{node:{fontSize:12,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",paddingX:16,paddingY:8,cornerRadius:2,lineWidth:1.6,borderColor:"var(--fg)"},edge:{fontSize:10,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",lineWidth:1.8,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:11,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.05,paddingX:16,paddingY:16,cornerRadius:2,lineWidth:1.5,borderColor:"var(--fg)"}}});u({name:"chalkboard",displayLabel:"Chalkboard",blurb:"Classroom chalkboard: dusty off-white strokes on green slate.",intent:"draft",colors:{bg:"#17362f",fg:"#f5f1df",line:"#ece6cf",accent:"#ffe08a",muted:"#c7d2c4",surface:"#17362f",border:"#f3ecd5"},font:"Caveat",stroke:"jittered",roughness:1.25,bowing:1,passes:2,strokeWidth:1.9,fill:"none",roles:{node:{fontSize:16,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:12,borderColor:"var(--fg)"},edge:{fontSize:13,textColor:"var(--fg)",lineWidth:1.8,strokeColor:"var(--fg)"},group:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:20,paddingY:20,lineWidth:1.7,borderColor:"var(--fg)"}},mono:!0});u({name:"risograph",displayLabel:"Riso Print",blurb:"Two-ink poster print: warm stock, offset blue linework, coral accent, coarse hachure.",intent:"premium",colors:{bg:"#fff5df",fg:"#2b2725",line:"#1f3d5a",accent:"#ff5a5f",muted:"#876a52",surface:"#ffd166",border:"#1f3d5a"},font:"EB Garamond",stroke:"jittered",roughness:.7,bowing:.55,passes:1,strokeWidth:1.5,fill:"hachure",hachureAngle:18,hachureGap:6.5,fillWeight:.75,roles:{node:{fontSize:14,fontWeight:700,textColor:"var(--fg)",paddingX:24,paddingY:13,cornerRadius:3,borderColor:"var(--fg)"},edge:{fontSize:12,textColor:"var(--fg)",lineWidth:1.5,strokeColor:"var(--fg)"},group:{fontSize:13,fontWeight:700,textColor:"var(--fg)",paddingX:22,paddingY:18,cornerRadius:3,borderColor:"var(--fg)"}}});u({name:"architectural-plan",displayLabel:"Plan Drafting",blurb:"Architectural plan: square technical linework, uppercase mono labels, room-like frames.",intent:"premium",colors:{bg:"#fbf7ea",fg:"#202a2f",line:"#38535e",accent:"#1f6f8b",muted:"#60727a",surface:"#fffaf0",border:"#38535e"},font:"Share Tech Mono",stroke:"jittered",roughness:.18,bowing:.25,passes:1,strokeWidth:1.45,fill:"none",roles:{node:{fontSize:12,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",paddingX:20,paddingY:10,cornerRadius:0,lineWidth:1.45,borderColor:"var(--fg)"},edge:{fontSize:10,fontWeight:700,textTransform:"uppercase",textColor:"var(--fg)",lineWidth:1.55,bendRadius:0,strokeColor:"var(--fg)"},group:{fontSize:11,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.06,paddingX:20,paddingY:20,cornerRadius:0,lineWidth:1.45,borderColor:"var(--fg)"}}});u({name:"publication-figure",displayLabel:"Report Figure",blurb:"Polished publication figure: serif labels, confident rules, rounded boxes, one quiet accent.",intent:"premium",colors:{bg:"#fffdf8",fg:"#171512",line:"#24211d",accent:"#1d4ed8",muted:"#5f5a52",surface:"#faf5ea",border:"#24211d"},font:"EB Garamond",strokeWidth:1.45,roles:{node:{fontSize:15,fontWeight:700,textColor:"var(--fg)",paddingX:26,paddingY:14,cornerRadius:7,lineWidth:1.45,borderColor:"var(--fg)"},edge:{fontSize:12,fontWeight:600,textColor:"var(--fg)",lineWidth:1.45,bendRadius:8,strokeColor:"var(--fg)"},group:{fontSize:12,fontWeight:700,textColor:"var(--fg)",textTransform:"uppercase",letterSpacing:.08,paddingX:24,paddingY:22,cornerRadius:7,lineWidth:1.35,borderColor:"var(--fg)"}}});export{xe as a,fn as b,_ as c,pn as d,mn as e,yn as f,gn as g};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{a as ne}from"./chunk-5Q4S74UO.js";import{g as I}from"./chunk-EBPTM2RP.js";import{a as q}from"./chunk-M6BT2HIP.js";import{e as A,g as R,h as W,j as L,k as N}from"./chunk-32FWKUUV.js";import{G as Q,H as O,I as G,N as X,O as p,P as z,Q as K,ea as U,fa as Y,i as E,ia as C,ja as T,ka as P,la as _,na as J,oa as ee,pa as v,qa as te,v as V,xa as re,y as Z,z as B}from"./chunk-EX6TP7QM.js";function Je(e){let{positioned:s,colors:n,resolved:o}=e,t=o.renderOptions,r=n.font??"Inter",i=t.transparent??!1,$=[],c=o.familyAppearance?.visual??t.stateVisual,a=N(t,c?.styleDefaults,o.styleFace);$.push(te({id:"prelude",width:s.width,height:s.height,colors:n,transparent:i,font:r,hasMonoFont:!1},G(s.width,s.height,n,i)+`
|
|
2
|
+
`+O(r,!1,n.shadow,n.embedFontImport)));let d=[];d.push("<defs>");let l=Q(n);l&&d.push(l);let h=new Set;a.edgeStrokeColor&&h.add(a.edgeStrokeColor);let u=!1,f=!1;for(let m of s.edges)m.inlineStyle?.stroke&&h.add(m.inlineStyle.stroke),(m.startMarker==="circle"||m.endMarker==="circle")&&(u=!0),(m.startMarker==="cross"||m.endMarker==="cross")&&(f=!0);let g=pe(h,u,f);d.splice(1,0,re(g)),d.push("</defs>"),$.push(J({id:"defs",markerResources:g},d.join(`
|
|
3
|
+
`)));for(let m of s.groups)$.push(j(m,r,a));let x=new Map,S=new Map;for(let m of s.edges){if(m.points.length<2)continue;let y=`${m.source}->${m.target}`,k=x.get(y)??0;x.set(y,k+1);let b=`edge:${y}#${k}`;S.set(m,b),$.push(fe(m,a,b,g))}for(let m of s.edges){let y=S.get(m);m.label&&y&&$.push(ke(m,r,a,he(y)))}for(let m of s.nodes)$.push(be(m,r,a,t.security!=="strict"));for(let m of s.notes??[])$.push(ge(m,r,a));return $.push(ee()),{family:"flowchart",width:s.width,height:s.height,colors:n,transparent:i,parts:$}}function oe(e){let s=R.width,n=R.height,o=s-1,t=e??"var(--_arrow)",r=e?`-${H(e)}`:"",i={fill:t,stroke:t,strokeWidth:"0.75",strokeLinejoin:"round"};return[{id:`arrowhead${r}`,shape:"arrow",size:{width:s,height:n},ref:{x:o,y:n/2},orient:"auto",geometry:{kind:"polygon",points:[{x:0,y:0},{x:s,y:n/2},{x:0,y:n}]},paint:i},{id:`arrowhead-start${r}`,shape:"arrow",size:{width:s,height:n},ref:{x:1,y:n/2},orient:"auto",geometry:{kind:"polygon",points:[{x:s,y:0},{x:0,y:n/2},{x:s,y:n}]},paint:i}]}function ie(e){let s=R.width,n=e?`-${H(e)}`:"",o=e??"var(--_arrow)",t=s/2-.75,r={shape:"circle",size:{width:s,height:s},orient:"auto",geometry:{kind:"circle",cx:s/2,cy:s/2,r:t},paint:{fill:"none",stroke:o,strokeWidth:"1"}};return[{...r,id:`circlehead${n}`,ref:{x:s-.5,y:s/2}},{...r,id:`circlehead-start${n}`,ref:{x:.5,y:s/2}}]}function se(e){let s=R.width,n=e?`-${H(e)}`:"",o=e??"var(--_arrow)",t=1.25,r=t,i=s-t,$={shape:"cross",size:{width:s,height:s},orient:"auto",geometry:{kind:"compound",children:[{kind:"line",x1:r,y1:r,x2:i,y2:i},{kind:"line",x1:r,y1:i,x2:i,y2:r}]},paint:{stroke:o,strokeWidth:"1.25",strokeLinecap:"round"}};return[{...$,id:`crosshead${n}`,ref:{x:i,y:s/2}},{...$,id:`crosshead-start${n}`,ref:{x:t,y:s/2}}]}function pe(e,s,n){let o=[...oe()];s&&o.push(...ie()),n&&o.push(...se());for(let t of e)o.push(...oe(t)),s&&o.push(...ie(t)),n&&o.push(...se(t));return o}function ae(e){return e==="circle"?"circlehead":e==="cross"?"crosshead":"arrowhead"}function H(e){return e.replace(/[^a-zA-Z0-9]/g,s=>s.charCodeAt(0).toString(16))}function j(e,s,n,o){if(e.concurrencyRegion)return v({id:`group:${e.id}`,role:"group",open:`<g class="concurrency-region" data-id="${p(e.id)}"${o?` data-parent-id="${p(o)}"`:""}>`,close:"</g>",children:e.children.map(u=>({indent:0,node:j(u,s,n,e.id)}))});let t=n.groupHeaderFontSize+16,r=[],i=`<g class="subgraph" data-id="${p(e.id)}" data-region="subgraph" data-label="${p(e.label)}"${o?` data-parent-id="${p(o)}"`:""}>`,$=n.groupFillColor??"var(--_group-fill)",c=n.groupBorderColor??"var(--_node-stroke)";r.push({indent:2,node:C({id:`group-rect:${e.id}`,role:"group",geometry:{kind:"rect",x:e.x,y:e.y,width:e.width,height:e.height,rx:n.groupCornerRadius,ry:n.groupCornerRadius},paint:{fill:$,stroke:c,strokeWidth:String(n.groupLineWidth)}},`<rect x="${e.x}" y="${e.y}" width="${e.width}" height="${e.height}" rx="${n.groupCornerRadius}" ry="${n.groupCornerRadius}" fill="${p($)}" stroke="${p(c)}" stroke-width="${n.groupLineWidth}" />`)});let a=n.groupHeaderFillColor??"var(--_group-hdr)",d=q(e.x,e.y,e.width,t,n.groupCornerRadius);r.push({indent:2,node:C({id:`group-header:${e.id}`,role:"group-header",geometry:{kind:"path",d},paint:{fill:a,stroke:c,strokeWidth:String(n.groupLineWidth)}},`<path d="${d}" fill="${p(a)}" stroke="${p(c)}" stroke-width="${n.groupLineWidth}" />`)});let l=L(e.label,n.groupTextTransform),h=n.groupTextColor??"var(--_text-sec)";r.push({indent:2,node:P({id:`group-label:${e.id}`,role:"group-header",text:l,x:e.x+n.groupLabelPaddingX,y:e.y+t/2,fontSize:n.groupHeaderFontSize,anchor:"start",paint:{fill:h}},z(l,e.x+n.groupLabelPaddingX,e.y+t/2,n.groupHeaderFontSize,`font-size="${n.groupHeaderFontSize}" font-weight="${n.groupHeaderFontWeight}"${n.groupFont?` font-family="${p(n.groupFont)}"`:""}${n.groupLetterSpacing!==0?` letter-spacing="${n.groupLetterSpacing}"`:""} fill="${p(h)}"`))});for(let u of me(e,t))r.push({indent:2,node:C({id:`region-separator:${e.id}:${u.index}`,role:"group",geometry:{kind:"line",x1:u.x1,y1:u.y1,x2:u.x2,y2:u.y2},paint:{stroke:c,strokeWidth:String(n.groupLineWidth),strokeDasharray:"6 4"}},`<line class="region-separator" x1="${u.x1}" y1="${u.y1}" x2="${u.x2}" y2="${u.y2}" stroke="${p(c)}" stroke-width="${n.groupLineWidth}" stroke-dasharray="6 4" />`)});for(let u of e.children)r.push({indent:0,node:j(u,s,n,e.id)});return v({id:`group:${e.id}`,role:"group",open:i,close:"</g>",children:r})}function me(e,s){let n=e.children.filter(c=>c.concurrencyRegion);if(n.length<2)return[];let o=c=>Math.max(...n.map(c))-Math.min(...n.map(c)),t=o(c=>c.x+c.width/2)>=o(c=>c.y+c.height/2),r=[...n].sort((c,a)=>t?c.x-a.x:c.y-a.y),i=4,$=[];for(let c=1;c<r.length;c++){let a=r[c-1],d=r[c];if(t){let l=(a.x+a.width+d.x)/2;$.push({index:c-1,x1:l,y1:e.y+s+i,x2:l,y2:e.y+e.height-i})}else{let l=(a.y+a.height+d.y)/2;$.push({index:c-1,x1:e.x+i,y1:l,x2:e.x+e.width-i,y2:l})}}return $}function ge(e,s,n){let{x:o,y:t,width:r,height:i}=e,$=n.groupHeaderFillColor??"var(--_group-hdr)",c=n.groupBorderColor??"var(--_node-stroke)",a=n.edgeTextColor??"var(--_text-sec)",d=L(e.text,n.nodeTextTransform),l=`state-note:${e.id}`;return v({id:l,role:"note",open:`<g class="state-note" data-id="${p(e.id)}" data-target="${p(e.target)}" data-side="${e.side}">`,close:"</g>",children:[{indent:2,node:C({id:`${l}:rect`,role:"note",geometry:{kind:"rect",x:o,y:t,width:r,height:i,rx:4,ry:4},paint:{fill:$,stroke:c,strokeWidth:String(A.innerBox)}},`<rect x="${o}" y="${t}" width="${r}" height="${i}" rx="4" ry="4" fill="${p($)}" stroke="${p(c)}" stroke-width="${A.innerBox}" />`)},{indent:2,node:P({id:`${l}:text`,role:"label",text:d,x:o+r/2,y:t+i/2,fontSize:n.edgeLabelFontSize,anchor:"middle",paint:{fill:a}},z(d,o+r/2,t+i/2,n.edgeLabelFontSize,`text-anchor="middle" font-size="${n.edgeLabelFontSize}" font-weight="${n.edgeLabelFontWeight}"${n.edgeLetterSpacing!==0?` letter-spacing="${n.edgeLetterSpacing}"`:""} fill="${p(a)}"`))}]})}function fe(e,s,n,o){let t=e.style==="dotted"?"dotted":e.style==="thick"?"thick":e.style==="invisible"?"invisible":"solid",r=he(n),i=e.labelPosition??ue(e.points),$=s.edgeTextColor??"var(--_text-sec)",c=e.label?[{id:`${n}:label`,text:e.label,anchor:i,paint:{fill:$},fontSize:s.edgeLabelFontSize,textAnchor:"middle",visual:{kind:"companion",markId:`${r}:text`}}]:[],a={identity:{id:e.id??n},endpoints:{from:e.source,to:e.target},relationship:{kind:"flowchart-edge",direction:e.source===e.target?"self":e.hasArrowStart&&e.hasArrowEnd?"bidirectional":e.hasArrowStart?"reverse":e.hasArrowEnd?"forward":"undirected"},route:{ownership:"layout",bendRadius:s.edgeBendRadius,labelAnchors:e.labelPosition?[e.labelPosition]:[]},labels:c};if(e.style==="invisible")return T({id:n,role:"edge",geometry:{kind:"polyline",points:e.points},lineStyle:"invisible",paint:{},...a},"");let d=e.curve?xe(e.points):s.edgeBendRadius>0?Y(e.points,s.edgeBendRadius,{precision:3}):void 0,l=d?.geometry.d??ye(e.points),h=e.style==="dotted"?`${W.dash} ${W.gap}`:e.animate?"8 4":void 0,u=h?` stroke-dasharray="${h}"`:"",f=e.style==="thick"?s.lineWidth*2:s.lineWidth,g=e.inlineStyle?.stroke??s.edgeStrokeColor,x=p(g??"var(--_line)"),S=p(e.inlineStyle?.["stroke-width"]??String(f)),m=g?`-${H(g)}`:"",y="",k,b;if(e.hasArrowEnd){let M=ae(e.endMarker??"arrow");if(k=o.find(F=>F.id===`${M}${m}`),!k)throw new Error(`Missing marker resource "${M}${m}"`);y+=` marker-end="url(#${M}${m})"`}if(e.hasArrowStart){let M=ae(e.startMarker??"arrow");if(b=o.find(F=>F.id===`${M}-start${m}`),!b)throw new Error(`Missing marker resource "${M}-start${m}"`);y+=` marker-start="url(#${M}-start${m})"`}let w=['class="edge"',...e.id?[`data-id="${p(e.id)}"`]:[],`data-from="${p(e.source)}"`,`data-to="${p(e.target)}"`,`data-style="${e.style}"`,`data-arrow-start="${e.hasArrowStart}"`,`data-arrow-end="${e.hasArrowEnd}"`];e.hasArrowStart&&w.push(`data-marker-start="${e.startMarker??"arrow"}"`),e.hasArrowEnd&&w.push(`data-marker-end="${e.endMarker??"arrow"}"`),e.label&&w.push(`data-label="${p(e.label)}"`),e.curve&&w.push(`data-curve="${p(e.curve)}"`),e.animate&&w.push('data-animate="true"',`data-animation="${e.animation??"slow"}"`);let D={stroke:g??"var(--_line)",strokeWidth:e.inlineStyle?.["stroke-width"]??String(f),...h?{strokeDasharray:h}:{}};if(s.edgeBendRadius>0||e.curve){if(!d)throw new Error(`Missing path projection for flowchart edge "${n}"`);return T({id:n,role:"edge",geometry:d.geometry,lineStyle:t,paint:D,markers:{...b?{start:b}:{},mid:[],...k?{end:k}:{}},...a,route:{...a.route,contours:d.contours}},`<path ${w.join(" ")} d="${l}" fill="none" stroke="${x}" stroke-width="${S}"${u}${y} />`)}return T({id:n,role:"edge",geometry:{kind:"polyline",points:e.points},lineStyle:t,paint:D,markers:{...b?{start:b}:{},mid:[],...k?{end:k}:{}},...a},`<polyline ${w.join(" ")} points="${l}" fill="none" stroke="${x}" stroke-width="${S}"${u}${y} />`)}function he(e){return e.startsWith("edge:")?`edge-label:${e.slice(5)}`:`${e}:label`}function xe(e){let s=e[0],n=`M ${s.x} ${s.y}`,o=[];for(let t=1;t<e.length;t++){let r=e[t-1],i=e[t],$=(r.x+i.x)/2;n+=` C ${$} ${r.y}, ${$} ${i.y}, ${i.x} ${i.y}`,o.push({kind:"cubic",control1:{x:$,y:r.y},control2:{x:$,y:i.y},end:i})}return U(n,s,o)}function ye(e){return e.map(s=>`${s.x},${s.y}`).join(" ")}function et(e){let s=/<((?:[A-Za-z_][\w.-]*:)?(?:style|text|title|desc|metadata))\b[\s\S]*?<\/\1>/gi,n=[],o=0,t;for(;(t=s.exec(e))!==null;)t.index>o&&n.push({kind:"plain",text:e.slice(o,t.index)}),n.push({kind:"protected",text:t[0]}),o=t.index+t[0].length;return o<e.length&&n.push({kind:"plain",text:e.slice(o)}),n.map(r=>r.kind==="protected"?r.text:r.text.replace(/>\s*\r?\n\s*</g,"><")).join("")}function tt(e,s){if(!/^[A-Za-z0-9_.:-]+$/.test(s))throw new Error("idPrefix must be non-empty and contain only ASCII letters, digits, underscore, hyphen, dot, and colon");let n=new Set;for(let r of V(e))for(let i of r.attributes)i.name==="id"&&n.add(i.value);let o=r=>r.startsWith(s)?r:`${s}${r}`,t=Z(e,r=>{if(r.name==="id")return o(r.value);if(r.name==="aria-labelledby"||r.name==="aria-describedby")return r.value.split(/\s+/).map(i=>n.has(i)?o(i):i).join(" ");if((r.name==="href"||r.name==="xlink:href")&&r.value.startsWith("#")){let i=r.value.slice(1);return n.has(i)?`#${o(i)}`:r.value}});return B(t,r=>r.replace(/url\(#([^)]+)\)/g,(i,$)=>n.has($)?`url(#${o($)})`:i))}function ke(e,s,n,o){let t=e.labelPosition??ue(e.points),r=L(e.label,n.edgeTextTransform),i=8,$=e.style==="thick"?n.lineWidth*2:n.lineWidth,c=i+Math.max(4,$*2),a=E(r,n.edgeLabelFontSize,n.edgeLabelFontWeight),d=a.width+c*2,l=a.height+c*2,h=t.x-d/2,u=t.y-l/2,f=C({id:`${o}:halo`,role:"chrome",geometry:{kind:"rect",x:h,y:u,width:d,height:l,rx:4,ry:4},paint:{fill:"var(--bg)",stroke:"none"}},`<rect class="edge-label-halo" x="${h}" y="${u}" width="${d}" height="${l}" rx="4" ry="4" fill="var(--bg)" stroke="none" />`),g=n.edgeTextColor??"var(--_text-sec)",x=P({id:`${o}:text`,role:"label",text:r,x:t.x,y:t.y,fontSize:n.edgeLabelFontSize,anchor:"middle",paint:{fill:g}},K(r,t.x,t.y,a.width,a.height,n.edgeLabelFontSize,i,`text-anchor="middle" font-size="${n.edgeLabelFontSize}" font-weight="${n.edgeLabelFontWeight}"${n.edgeLetterSpacing!==0?` letter-spacing="${n.edgeLetterSpacing}"`:""} fill="${p(g)}"`,'rx="2" ry="2" fill="var(--bg)" stroke="var(--_inner-stroke)" stroke-width="1"'));return v({id:o,role:"edge-label",open:`<g class="edge-label" data-from="${p(e.source)}" data-to="${p(e.target)}" data-label="${p(e.label)}">`,close:"</g>",children:[{indent:2,node:f},{indent:2,node:x}]})}function ue(e){if(e.length===0)return{x:0,y:0};if(e.length===1)return e[0];let s=0;for(let o=1;o<e.length;o++)s+=ce(e[o-1],e[o]);let n=s/2;for(let o=1;o<e.length;o++){let t=ce(e[o-1],e[o]);if(n<=t){let r=n/t;return{x:e[o-1].x+r*(e[o].x-e[o-1].x),y:e[o-1].y+r*(e[o].y-e[o-1].y)}}n-=t}return e[e.length-1]}function ce(e,s){return Math.sqrt((s.x-e.x)**2+(s.y-e.y)**2)}function be(e,s,n,o){let t=Me(e,n),r=Ee(e,s,n),$=["node",...(e.classNames??[]).map(u=>u.replace(/[^A-Za-z0-9_-]/g,"")).filter(Boolean)].join(" "),c=e.shape==="state-start"?{status:"start"}:e.shape==="state-end"?{status:"end"}:void 0,a=[{indent:2,node:t}],d=we(e,n);d&&a.push({indent:2,node:d}),r&&a.push({indent:2,node:r});let l=e.semanticShape?` data-semantic-shape="${p(e.semanticShape)}"`:"",h=o&&e.href?` data-href="${p(e.href)}" role="link" tabindex="0"`:"";return v({id:`node:${e.id}`,role:"node",open:`<g class="${$}" data-id="${p(e.id)}" data-label="${p(e.label)}" data-shape="${e.shape}"${l}${h}>`,close:"</g>",children:a,channels:c})}function Se(e,s,n,o){let{x:t,y:r,width:i,height:$}=e,c=t+i,a=r+$,d=t+i/2,l=r+$/2,h=(f,g="")=>({geometry:{kind:"path",d:f},crisp:`<path d="${f}" fill="${g.includes('fill="none"')?"none":s}" stroke="${n}" stroke-width="${o}" />`}),u=f=>({geometry:{kind:"polygon",points:f},crisp:`<polygon points="${f.map(g=>`${g.x},${g.y}`).join(" ")}" fill="${s}" stroke="${n}" stroke-width="${o}" />`});switch(e.semanticShape){case"bang":{let f=Array.from({length:16},(g,x)=>{let S=-Math.PI/2+x*Math.PI/8,m=x%2===0?1:.62;return{x:d+Math.cos(S)*i/2*m,y:l+Math.sin(S)*$/2*m}});return u(f)}case"notch-rect":return u([{x:t+10,y:r},{x:c,y:r},{x:c,y:a},{x:t,y:a},{x:t,y:r+10}]);case"cloud":return h(`M${t+i*.18} ${a}C${t-4} ${a} ${t-4} ${l} ${t+i*.12} ${l}C${t+i*.08} ${r+$*.15} ${t+i*.38} ${r-4} ${t+i*.48} ${r+$*.18}C${t+i*.65} ${r-5} ${c} ${r+$*.16} ${t+i*.88} ${l}C${c+5} ${l} ${c+5} ${a} ${t+i*.72} ${a}Z`);case"hourglass":return u([{x:t,y:r},{x:c,y:r},{x:t+i*.62,y:l},{x:c,y:a},{x:t,y:a},{x:t+i*.38,y:l}]);case"bolt":return u([{x:t+i*.55,y:r},{x:t+i*.25,y:l},{x:t+i*.48,y:l},{x:t+i*.35,y:a},{x:t+i*.78,y:r+$*.4},{x:t+i*.55,y:r+$*.4}]);case"brace":return h(`M${c} ${r}C${t+i*.4} ${r} ${t+i*.7} ${l} ${t} ${l}C${t+i*.7} ${l} ${t+i*.4} ${a} ${c} ${a}`,' fill="none"');case"brace-r":return h(`M${t} ${r}C${t+i*.6} ${r} ${t+i*.3} ${l} ${c} ${l}C${t+i*.3} ${l} ${t+i*.6} ${a} ${t} ${a}`,' fill="none"');case"braces":return h(`M${t+i*.25} ${r}C${t} ${r} ${t+i*.15} ${l} ${t} ${l}C${t+i*.15} ${l} ${t} ${a} ${t+i*.25} ${a}M${t+i*.75} ${r}C${c} ${r} ${t+i*.85} ${l} ${c} ${l}C${t+i*.85} ${l} ${c} ${a} ${t+i*.75} ${a}`,' fill="none"');case"datastore":return h(`M${t+8} ${r}H${c}V${a}H${t+8}M${t+8} ${r}C${t-2} ${r+$*.2} ${t-2} ${a-$*.2} ${t+8} ${a}`,' fill="none"');case"delay":return h(`M${t} ${r}H${c-$/2}A${$/2} ${$/2} 0 0 1 ${c-$/2} ${a}H${t}Z`);case"h-cyl":return h(`M${t+10} ${r}H${c-10}A10 ${$/2} 0 0 1 ${c-10} ${a}H${t+10}A10 ${$/2} 0 0 1 ${t+10} ${r}Z M${c-10} ${r}A10 ${$/2} 0 0 0 ${c-10} ${a}`);case"lin-cyl":return h(`M${t} ${r+8}A${i/2} 8 0 0 1 ${c} ${r+8}V${a-8}A${i/2} 8 0 0 1 ${t} ${a-8}Z M${t} ${r+8}A${i/2} 8 0 0 0 ${c} ${r+8}M${t} ${a-16}A${i/2} 8 0 0 0 ${c} ${a-16}`);case"curv-trap":return h(`M${t+12} ${r}Q${d} ${r+8} ${c-12} ${r}L${c} ${a}Q${d} ${a-8} ${t} ${a}Z`);case"div-rect":return h(`M${t} ${r}H${c}V${a}H${t}ZM${t} ${l}H${c}`);case"doc":return h(`M${t} ${r}H${c}V${a-8}Q${t+i*.75} ${a+2} ${d} ${a-8}Q${t+i*.25} ${a-18} ${t} ${a-8}Z`);case"tri":return u([{x:d,y:r},{x:c,y:a},{x:t,y:a}]);case"fork":return{geometry:{kind:"rect",x:t,y:l-4,width:i,height:8},crisp:`<rect x="${t}" y="${l-4}" width="${i}" height="8" fill="${n}" stroke="${n}" stroke-width="${o}" />`};case"win-pane":return h(`M${t} ${r}H${c}V${a}H${t}ZM${t+i*.28} ${r}V${a}M${t} ${r+$*.32}H${c}`);case"f-circ":return{geometry:{kind:"circle",cx:d,cy:l,r:Math.min(i,$)/2},crisp:`<circle cx="${d}" cy="${l}" r="${Math.min(i,$)/2}" fill="${n}" stroke="${n}" stroke-width="${o}" />`};case"lin-doc":return h(`M${t} ${r}H${c}V${a-8}Q${t+i*.75} ${a+2} ${d} ${a-8}Q${t+i*.25} ${a-18} ${t} ${a-8}ZM${t+8} ${r+8}H${c-8}`);case"lin-rect":return h(`M${t} ${r}H${c}V${a}H${t}ZM${t+6} ${r}V${a}M${c-6} ${r}V${a}`);case"notch-pent":return u([{x:t,y:r},{x:c-10,y:r},{x:c,y:l},{x:c-10,y:a},{x:t,y:a},{x:t+8,y:l}]);case"flip-tri":return u([{x:t,y:r},{x:c,y:r},{x:d,y:a}]);case"docs":return h(`M${t+8} ${r}H${c}V${a-8}Q${t+i*.7} ${a} ${t+i*.45} ${a-8}Q${t+i*.22} ${a-16} ${t+8} ${a-8}ZM${t} ${r+8}H${t+8}M${t} ${r+8}V${a}`);case"st-rect":return h(`M${t+8} ${r}H${c}V${a-8}H${t+8}ZM${t} ${r+8}H${c-8}V${a}H${t}Z`);case"flag":return h(`M${t} ${r+6}Q${t+i*.25} ${r-4} ${d} ${r+6}Q${t+i*.75} ${r+16} ${c} ${r+6}V${a-6}Q${t+i*.75} ${a+4} ${d} ${a-6}Q${t+i*.25} ${a-16} ${t} ${a-6}Z`);case"sm-circ":return{geometry:{kind:"circle",cx:d,cy:l,r:Math.min(i,$)*.22},crisp:`<circle cx="${d}" cy="${l}" r="${Math.min(i,$)*.22}" fill="${s}" stroke="${n}" stroke-width="${o}" />`};case"cross-circ":return h(`M${d} ${r}A${i/2} ${$/2} 0 1 1 ${d-.01} ${r}M${t+i*.28} ${r+$*.28}L${t+i*.72} ${r+$*.72}M${t+i*.72} ${r+$*.28}L${t+i*.28} ${r+$*.72}`);case"bow-rect":return h(`M${t} ${r}Q${t+12} ${l} ${t} ${a}H${c}Q${c-12} ${l} ${c} ${r}Z`);case"tag-doc":return h(`M${t+10} ${r}H${c}V${a-8}Q${t+i*.7} ${a} ${d} ${a-8}Q${t+i*.25} ${a-16} ${t} ${a-8}V${r+10}ZM${t} ${r+10}L${t+10} ${r}`);case"tag-rect":return u([{x:t+10,y:r},{x:c,y:r},{x:c,y:a},{x:t,y:a},{x:t,y:r+10}]);case"text":return{geometry:{kind:"path",d:`M${t} ${r}`},crisp:`<path d="M${t} ${r}" fill="none" stroke="none" />`};default:return null}}function we(e,s){let n=p(s.nodeTextColor??"var(--_text)"),o=Math.min(28,e.height*.4),t=e.x+e.width/2,r=e.y+6;if(e.icon){let i=ne(e.icon);if(i){let c=o/24,a=i.paths.map(d=>`<path d="${d}"/>`).join("");return _({id:`node:${e.id}:icon`,role:"icon"},`<g class="flowchart-icon" data-icon="${p(e.icon)}" transform="translate(${t-o/2} ${r}) scale(${c})" fill="${n}" stroke="${n}" stroke-width="0.8">${a}</g>`)}let $=e.icon.split(/[:/\s-]+/).filter(Boolean).at(-1)?.slice(0,2).toUpperCase()||"?";return P({id:`node:${e.id}:icon`,role:"icon",text:$,x:t,y:r+o/2,fontSize:10,anchor:"middle",paint:{fill:n}},`<text class="flowchart-icon-fallback" data-icon="${p(e.icon)}" x="${t}" y="${r+o/2}" text-anchor="middle" font-size="10" fill="${n}">${X($)}</text>`)}if(e.image){let i=t-o/2;return _({id:`node:${e.id}:image`,role:"icon"},`<g class="flowchart-image-placeholder" data-image-src="${p(e.image)}" fill="none" stroke="${n}" stroke-width="1.2"><rect x="${i}" y="${r}" width="${o}" height="${o*.72}" rx="2"/><circle cx="${i+o*.72}" cy="${r+o*.2}" r="${o*.08}"/><path d="M${i+2} ${r+o*.66}L${i+o*.36} ${r+o*.36}L${i+o*.52} ${r+o*.5}L${i+o*.7} ${r+o*.32}L${i+o-2} ${r+o*.66}"/></g>`)}return null}function Me(e,s){let{x:n,y:o,width:t,height:r,shape:i,inlineStyle:$}=e,c=$?.fill??s.nodeFillColor??"var(--_node-fill)",a=$?.stroke??s.nodeBorderColor??"var(--_node-stroke)",d=$?.["stroke-width"]??String(s.nodeLineWidth),l=p(c),h=p(a),u=p(d),f=(()=>{let x=Se(e,l,h,u);if(x)return x;switch(i){case"service":return $e(n,o,t,r,l,h,u,s.cornerRadius??0);case"diamond":return le(n,o,t,r,l,h,u);case"rounded":return Ce(n,o,t,r,l,h,u,s.cornerRadius??6);case"stadium":return Pe(n,o,t,r,l,h,u);case"circle":return de(n,o,t,r,l,h,u);case"subroutine":return ve(n,o,t,r,l,h,u,s.cornerRadius??0);case"doublecircle":return Re(n,o,t,r,l,h,u);case"hexagon":return Le(n,o,t,r,l,h,u);case"cylinder":return Ae(n,o,t,r,l,h,u);case"asymmetric":return ze(n,o,t,r,l,h,u);case"trapezoid":return Te(n,o,t,r,l,h,u);case"trapezoid-alt":return He(n,o,t,r,l,h,u);case"lean-r":return Fe(n,o,t,r,l,h,u);case"lean-l":return We(n,o,t,r,l,h,u);case"state-start":return _e(n,o,t,r);case"state-end":return je(n,o,t,r);case"state-fork":case"state-join":return De(n,o,t,r);case"state-choice":return le(n,o,t,r,l,h,u);case"state-history":return de(n,o,t,r,l,h,u);default:return $e(n,o,t,r,l,h,u,s.cornerRadius??0)}})(),g=i==="state-start"||i==="state-fork"||i==="state-join"?{fill:"var(--_text)",stroke:"none"}:i==="state-end"?{fill:"var(--_text)",stroke:"var(--_text)"}:{fill:c,stroke:a,strokeWidth:d};return C({id:`node-shape:${e.id}`,role:"node",geometry:f.geometry,paint:g},f.crisp)}function $e(e,s,n,o,t,r,i,$=0){return{geometry:{kind:"rect",x:e,y:s,width:n,height:o,rx:$,ry:$},crisp:`<rect x="${e}" y="${s}" width="${n}" height="${o}" rx="${$}" ry="${$}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function Ce(e,s,n,o,t,r,i,$=6){return{geometry:{kind:"rect",x:e,y:s,width:n,height:o,rx:$,ry:$},crisp:`<rect x="${e}" y="${s}" width="${n}" height="${o}" rx="${$}" ry="${$}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function Pe(e,s,n,o,t,r,i){let $=o/2;return{geometry:{kind:"rect",x:e,y:s,width:n,height:o,rx:$,ry:$},crisp:`<rect x="${e}" y="${s}" width="${n}" height="${o}" rx="${$}" ry="${$}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function de(e,s,n,o,t,r,i){let $=e+n/2,c=s+o/2,a=Math.min(n,o)/2;return{geometry:{kind:"circle",cx:$,cy:c,r:a},crisp:`<circle cx="${$}" cy="${c}" r="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function le(e,s,n,o,t,r,i){let $=e+n/2,c=s+o/2,a=n/2,d=o/2,l=[{x:$,y:c-d},{x:$+a,y:c},{x:$,y:c+d},{x:$-a,y:c}],h=l.map(u=>`${u.x},${u.y}`).join(" ");return{geometry:{kind:"polygon",points:l},crisp:`<polygon points="${h}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function ve(e,s,n,o,t,r,i,$=0){return{geometry:{kind:"compound",children:[{kind:"rect",x:e,y:s,width:n,height:o,rx:$,ry:$},{kind:"line",x1:e+8,y1:s,x2:e+8,y2:s+o},{kind:"line",x1:e+n-8,y1:s,x2:e+n-8,y2:s+o}]},crisp:`<rect x="${e}" y="${s}" width="${n}" height="${o}" rx="${$}" ry="${$}" fill="${t}" stroke="${r}" stroke-width="${i}" />
|
|
4
|
+
<line x1="${e+8}" y1="${s}" x2="${e+8}" y2="${s+o}" stroke="${r}" stroke-width="${i}" />
|
|
5
|
+
<line x1="${e+n-8}" y1="${s}" x2="${e+n-8}" y2="${s+o}" stroke="${r}" stroke-width="${i}" />`}}function Re(e,s,n,o,t,r,i){let $=e+n/2,c=s+o/2,a=Math.min(n,o)/2,d=a-5;return{geometry:{kind:"compound",children:[{kind:"circle",cx:$,cy:c,r:a},{kind:"circle",cx:$,cy:c,r:d}]},crisp:`<circle cx="${$}" cy="${c}" r="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />
|
|
6
|
+
<circle cx="${$}" cy="${c}" r="${d}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function Le(e,s,n,o,t,r,i){let $=o/4,c=[{x:e+$,y:s},{x:e+n-$,y:s},{x:e+n,y:s+o/2},{x:e+n-$,y:s+o},{x:e+$,y:s+o},{x:e,y:s+o/2}],a=c.map(d=>`${d.x},${d.y}`).join(" ");return{geometry:{kind:"polygon",points:c},crisp:`<polygon points="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function Ae(e,s,n,o,t,r,i){let c=e+n/2,a=s+7,d=o-14;return{geometry:{kind:"compound",children:[{kind:"rect",x:e,y:a,width:n,height:d},{kind:"line",x1:e,y1:a,x2:e,y2:a+d},{kind:"line",x1:e+n,y1:a,x2:e+n,y2:a+d},{kind:"ellipse",cx:c,cy:s+o-7,rx:n/2,ry:7},{kind:"ellipse",cx:c,cy:a,rx:n/2,ry:7}]},crisp:`<rect x="${e}" y="${a}" width="${n}" height="${d}" fill="${t}" stroke="none" />
|
|
7
|
+
<line x1="${e}" y1="${a}" x2="${e}" y2="${a+d}" stroke="${r}" stroke-width="${i}" />
|
|
8
|
+
<line x1="${e+n}" y1="${a}" x2="${e+n}" y2="${a+d}" stroke="${r}" stroke-width="${i}" />
|
|
9
|
+
<ellipse cx="${c}" cy="${s+o-7}" rx="${n/2}" ry="7" fill="${t}" stroke="${r}" stroke-width="${i}" />
|
|
10
|
+
<ellipse cx="${c}" cy="${a}" rx="${n/2}" ry="7" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function ze(e,s,n,o,t,r,i){let c=[{x:e+12,y:s},{x:e+n,y:s},{x:e+n,y:s+o},{x:e+12,y:s+o},{x:e,y:s+o/2}],a=c.map(d=>`${d.x},${d.y}`).join(" ");return{geometry:{kind:"polygon",points:c},crisp:`<polygon points="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function Te(e,s,n,o,t,r,i){let $=n*.15,c=[{x:e+$,y:s},{x:e+n-$,y:s},{x:e+n,y:s+o},{x:e,y:s+o}],a=c.map(d=>`${d.x},${d.y}`).join(" ");return{geometry:{kind:"polygon",points:c},crisp:`<polygon points="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function He(e,s,n,o,t,r,i){let $=n*.15,c=[{x:e,y:s},{x:e+n,y:s},{x:e+n-$,y:s+o},{x:e+$,y:s+o}],a=c.map(d=>`${d.x},${d.y}`).join(" ");return{geometry:{kind:"polygon",points:c},crisp:`<polygon points="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function Fe(e,s,n,o,t,r,i){let $=n*.15,c=[{x:e+$,y:s},{x:e+n,y:s},{x:e+n-$,y:s+o},{x:e,y:s+o}],a=c.map(d=>`${d.x},${d.y}`).join(" ");return{geometry:{kind:"polygon",points:c},crisp:`<polygon points="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function We(e,s,n,o,t,r,i){let $=n*.15,c=[{x:e,y:s},{x:e+n-$,y:s},{x:e+n,y:s+o},{x:e+$,y:s+o}],a=c.map(d=>`${d.x},${d.y}`).join(" ");return{geometry:{kind:"polygon",points:c},crisp:`<polygon points="${a}" fill="${t}" stroke="${r}" stroke-width="${i}" />`}}function _e(e,s,n,o){let t=e+n/2,r=s+o/2,i=Math.min(n,o)/2-2;return{geometry:{kind:"circle",cx:t,cy:r,r:i},crisp:`<circle cx="${t}" cy="${r}" r="${i}" fill="var(--_text)" stroke="none" />`}}function je(e,s,n,o){let t=e+n/2,r=s+o/2,i=Math.min(n,o)/2-2,$=i-4;return{geometry:{kind:"compound",children:[{kind:"circle",cx:t,cy:r,r:i},{kind:"circle",cx:t,cy:r,r:$}]},crisp:`<circle cx="${t}" cy="${r}" r="${i}" fill="none" stroke="var(--_text)" stroke-width="${A.innerBox*2}" />
|
|
11
|
+
<circle cx="${t}" cy="${r}" r="${$}" fill="var(--_text)" stroke="none" />`}}function De(e,s,n,o){let t=Math.min(n,o)/2;return{geometry:{kind:"rect",x:e,y:s,width:n,height:o,rx:t,ry:t},crisp:`<rect x="${e}" y="${s}" width="${n}" height="${o}" rx="${t}" ry="${t}" fill="var(--_text)" stroke="none" />`}}function Ee(e,s,n){if((e.shape==="state-start"||e.shape==="state-end"||e.shape==="state-fork"||e.shape==="state-join"||e.shape==="state-choice")&&!e.label)return null;let o=e.x+e.width/2,t=e.y+e.height/2,r=I(e.inlineStyle,n.nodeTextColor??"var(--_text)"),i=p(r),$=L(e.label,n.nodeTextTransform);return P({id:`node-label:${e.id}`,role:"label",text:$,x:o,y:t,fontSize:n.nodeLabelFontSize,anchor:"middle",paint:{fill:r}},z($,o,t,n.nodeLabelFontSize,`text-anchor="middle" font-size="${n.nodeLabelFontSize}" font-weight="${n.nodeLabelFontWeight}"${n.nodeLetterSpacing!==0?` letter-spacing="${n.nodeLetterSpacing}"`:""} fill="${i}"`))}export{Je as a,et as b,tt as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as d,d as o}from"./chunk-A7L4WWVW.js";import{C as u}from"./chunk-EX6TP7QM.js";var C=["axisColor","axisStrokeWidth","axisLabelFontSize","curveOpacity","curveStrokeWidth","graticuleColor","graticuleStrokeWidth","graticuleOpacity","legendBoxSize","legendFontSize"],L=["width","height","axisScaleFactor"],r=Object.freeze({dimension:4096,margin:4096,factor:8,axisLabelFactorMin:1.1,fontSize:256,lineWidth:64,legendBoxSize:512}),z=["marginTop","marginRight","marginBottom","marginLeft"];function W(a={}){let n=d(a,["radar"])??{},i={};for(let t of L){let e=o(n,[t]),f=t==="width"||t==="height"?r.dimension:r.factor;typeof e=="number"&&Number.isFinite(e)&&e>0&&e<=f&&(i[t]=e)}let s=o(n,["axisLabelFactor"]);typeof s=="number"&&Number.isFinite(s)&&s>=r.axisLabelFactorMin&&s<=r.factor&&(i.axisLabelFactor=s);for(let t of z){let e=o(n,[t]);typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=r.margin&&(i[t]=e)}let c=o(n,["curveTension"]);typeof c=="number"&&Number.isFinite(c)&&c>=0&&c<=1&&(i.curveTension=c);let g=o(n,["useMaxWidth"]);typeof g=="boolean"&&(i.useMaxWidth=g);let F=o(n,["tickLabels"]);typeof F=="boolean"&&(i.tickLabels=F);let b=d(a,["themeVariables","radar"])??{},p=["axisStrokeWidth","axisLabelFontSize","curveStrokeWidth","graticuleStrokeWidth","legendBoxSize","legendFontSize"];for(let t of p){let e=o(b,[t]),f=t==="legendBoxSize"?r.legendBoxSize:t.endsWith("FontSize")?r.fontSize:r.lineWidth;typeof e=="number"&&Number.isFinite(e)&&e>0&&e<=f&&(i[t]=e)}for(let t of["curveOpacity","graticuleOpacity"]){let e=o(b,[t]);typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1&&(i[t]=e)}for(let t of["axisColor","graticuleColor"]){let e=u(o(b,[t]));e&&(i[t]=e)}let S=u(o(a,["themeVariables","titleColor"]));S&&(i.titleColor=S);let l=o(a,["themeVariables","fontSize"]),m=typeof l=="number"?l:typeof l=="string"&&/^\d+(?:\.\d+)?(?:px)?$/i.test(l.trim())?Number.parseFloat(l):Number.NaN;Number.isFinite(m)&&m>0&&m<=r.fontSize&&(i.titleFontSize=m);let h=[],x=!1;for(let t=0;t<12;t++){let e=u(o(a,["themeVariables",`cScale${t}`]));e&&(h[t]=e,x=!0)}return x&&(i.paletteOverrides=h),i}export{C as a,r as b,W as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=Object.freeze({maxIcons:32,maxNameBytes:128,maxPathBytes:4096}),o=Object.freeze({account:"M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4",api:"M7 7H5a2 2 0 0 0-2 2v8h2v-4h2v4h2V9a2 2 0 0 0-2-2m0 4H5V9h2m7-2h-4v10h2v-4h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2m0 4h-2V9h2m6 0v6h1v2h-4v-2h1V9h-1V7h4v2Z","application-brackets":"M21 2H3a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2M11 17.5L9.5 19L5 14.5L9.5 10l1.5 1.5l-3 3zm3.5 1.5L13 17.5l3-3l-3-3l1.5-1.5l4.5 4.5zM21 7H3V4h18z",archive:"M3 3h18v4H3zm1 5h16v13H4zm5.5 3a.5.5 0 0 0-.5.5V13h6v-1.5a.5.5 0 0 0-.5-.5z",cellphone:"M17 19H7V5h10m0-4H7c-1.11 0-2 .89-2 2v18a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2",cloud:"M6.5 20q-2.28 0-3.89-1.57Q1 16.85 1 14.58q0-1.95 1.17-3.48q1.18-1.53 3.08-1.95q.63-2.3 2.5-3.72Q9.63 4 12 4q2.93 0 4.96 2.04Q19 8.07 19 11q1.73.2 2.86 1.5q1.14 1.28 1.14 3q0 1.88-1.31 3.19T18.5 20Z",cog:"M12 15.5A3.5 3.5 0 0 1 8.5 12A3.5 3.5 0 0 1 12 8.5a3.5 3.5 0 0 1 3.5 3.5a3.5 3.5 0 0 1-3.5 3.5m7.43-2.53c.04-.32.07-.64.07-.97s-.03-.66-.07-1l2.11-1.63c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.31-.61-.22l-2.49 1c-.52-.39-1.06-.73-1.69-.98l-.37-2.65A.506.506 0 0 0 14 2h-4c-.25 0-.46.18-.5.42l-.37 2.65c-.63.25-1.17.59-1.69.98l-2.49-1c-.22-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64L4.57 11c-.04.34-.07.67-.07 1s.03.65.07.97l-2.11 1.66c-.19.15-.25.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1.01c.52.4 1.06.74 1.69.99l.37 2.65c.04.24.25.42.5.42h4c.25 0 .46-.18.5-.42l.37-2.65c.63-.26 1.17-.59 1.69-.99l2.49 1.01c.22.08.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64z",database:"M12 3C7.58 3 4 4.79 4 7s3.58 4 8 4s8-1.79 8-4s-3.58-4-8-4M4 9v3c0 2.21 3.58 4 8 4s8-1.79 8-4V9c0 2.21-3.58 4-8 4s-8-1.79-8-4m0 5v3c0 2.21 3.58 4 8 4s8-1.79 8-4v-3c0 2.21-3.58 4-8 4s-8-1.79-8-4",dns:"M7 9a2 2 0 0 1-2-2a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m13-6H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1M7 19a2 2 0 0 1-2-2a2 2 0 0 1 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m13-6H4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1",email:"m20 8l-8 5l-8-5V6l8 5l8-5m0-2H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2","folder-network":"M3 15V5a2 2 0 0 1 2-2h6l2 2h6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-6v2h1a1 1 0 0 1 1 1h7v2h-7a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1H2v-2h7a1 1 0 0 1 1-1h1v-2H5a2 2 0 0 1-2-2","function-variant":"M12.42 5.29c-1.1-.1-2.07.71-2.17 1.82L10 10h2.82v2h-3l-.44 5.07A4.001 4.001 0 0 1 2 18.83l1.5-1.5c.33 1.05 1.46 1.64 2.5 1.3c.78-.24 1.33-.93 1.4-1.74L7.82 12h-3v-2H8l.27-3.07a4.01 4.01 0 0 1 4.33-3.65c1.26.11 2.4.81 3.06 1.89l-1.5 1.5c-.25-.77-.93-1.31-1.74-1.38M22 13.65l-1.41-1.41l-2.83 2.83l-2.83-2.83l-1.43 1.41l2.85 2.85l-2.85 2.81l1.43 1.41l2.83-2.83l2.83 2.83L22 19.31l-2.83-2.81z","google-cloud":"M23 14.75C23 18.2 20.2 21 16.75 21h-9.5C3.8 21 1 18.2 1 14.75c0-2.14 1.08-4.03 2.71-5.15C4.58 5.82 7.96 3 12 3s7.42 2.82 8.29 6.6A6.22 6.22 0 0 1 23 14.75M16.63 17c1.31 0 2.37-1.06 2.37-2.37c0-1.28-1-2.33-2.28-2.38l.03-.5a4.754 4.754 0 0 0-8.32-3.14c1.5.29 2.8 1.11 3.71 2.25L9.5 13.5c-.42-.73-1.21-1.25-2.12-1.25c-1.32 0-2.38 1.06-2.38 2.38c0 1.27 1 2.3 2.25 2.37z",harddisk:"M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m6 2a6 6 0 0 0-6 6c0 3.31 2.69 6 6.1 6l-.88-2.23a1.01 1.01 0 0 1 .37-1.37l.86-.5a1.01 1.01 0 0 1 1.37.37l1.92 2.42A5.98 5.98 0 0 0 18 10a6 6 0 0 0-6-6m0 5a1 1 0 0 1 1 1a1 1 0 0 1-1 1a1 1 0 0 1-1-1a1 1 0 0 1 1-1m-5 9a1 1 0 0 0-1 1a1 1 0 0 0 1 1a1 1 0 0 0 1-1a1 1 0 0 0-1-1m5.09-4.73l2.49 6.31l2.59-1.5l-4.22-5.31z",lan:"M10 2c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h1v2H2v2h4v2H5c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2H8v-2h8v2h-1c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2h-1v-2h4v-2h-9V9h1c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 2h4v3h-4zM5 17h4v3H5zm10 0h4v3h-4z",lock:"M12 17a2 2 0 0 0 2-2a2 2 0 0 0-2-2a2 2 0 0 0-2 2a2 2 0 0 0 2 2m6-9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h1V6a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3",memory:"M17 17H7V7h10m4 4V9h-2V7a2 2 0 0 0-2-2h-2V3h-2v2h-2V3H9v2H7c-1.11 0-2 .89-2 2v2H3v2h2v2H3v2h2v2a2 2 0 0 0 2 2h2v2h2v-2h2v2h2v-2h2a2 2 0 0 0 2-2v-2h2v-2h-2v-2m-6 2h-2v-2h2m2-2H9v6h6z","message-processing":"M17 11h-2V9h2m-4 2h-2V9h2m-4 2H7V9h2m11-7H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2","microsoft-azure":"M13.05 4.24L6.56 18.05L2 18l5.09-8.76zm.7 1.09L22 19.76H6.74l9.3-1.66l-4.87-5.79z",monitor:"M21 16H3V4h18m0-2H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h7v2H8v2h8v-2h-2v-2h7a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2","queue-first-in-last-out":"M6 6h12v2H6zm0 4.5h12v2H6zM6 15h12v2H6zm3 4h6l-3 3zM9 2h6l-3 3z","router-network":"M5 9c-1.1 0-2 .9-2 2v4a2 2 0 0 0 2 2h6v2h-1c-.55 0-1 .45-1 1H2v2h7c0 .55.45 1 1 1h4c.55 0 1-.45 1-1h7v-2h-7c0-.55-.45-1-1-1h-1v-2h6c1.11 0 2-.89 2-2v-4a2 2 0 0 0-2-2zm1 3h2v2H6zm3.5 0h2v2h-2zm3.5 0h2v2h-2z",server:"M4 1h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1m0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1m0 8h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1M9 5h1V3H9zm0 8h1v-2H9zm0 8h1v-2H9zM5 3v2h2V3zm0 8v2h2v-2zm0 8v2h2v-2z","shield-lock":"M12 1L3 5v6c0 5.55 3.84 10.74 9 12c5.16-1.26 9-6.45 9-12V5zm0 6c1.4 0 2.8 1.1 2.8 2.5V11c.6 0 1.2.6 1.2 1.3v3.5c0 .6-.6 1.2-1.3 1.2H9.2c-.6 0-1.2-.6-1.2-1.3v-3.5c0-.6.6-1.2 1.2-1.2V9.5C9.2 8.1 10.6 7 12 7m0 1.2c-.8 0-1.5.5-1.5 1.3V11h3V9.5c0-.8-.7-1.3-1.5-1.3",web:"M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2"}),v=Object.freeze({"logos:aws":"cloud","logos:aws-lambda":"function-variant","logos:aws-aurora":"database","logos:aws-glacier":"archive","logos:aws-s3":"harddisk","logos:aws-ec2":"server","logos:microsoft-azure":"microsoft-azure","logos:google-cloud":"google-cloud"}),r=/^[MmZzLlHhVvCcSsQqTtAa0-9eE+.,\s-]+$/,s=/^[a-z0-9][a-z0-9:_/-]*$/;function l(){let c=Object.entries(o);if(c.length>t.maxIcons)throw new Error("Architecture icon registry exceeds maxIcons");for(let[a,e]of c){if(a.length>t.maxNameBytes||!s.test(a))throw new Error(`Unsafe Architecture icon name: ${a}`);if(e.length>t.maxPathBytes||!r.test(e))throw new Error(`Unsafe or oversized Architecture icon path: ${a}`)}}l();function n(c){let a=c.trim().toLowerCase();if(!a||a.length>t.maxNameBytes||!s.test(a))return;let e=v[a];if(e)return e;let h=a.startsWith("mdi:")||a.startsWith("mdi/")?a.slice(4):a;if(!(h.includes(":")||h.includes("/")))return Object.prototype.hasOwnProperty.call(o,h)?h:void 0}function i(c){let a=n(c);return a?{canonicalName:`mdi:${a}`,viewBox:"0 0 24 24",path:o[a],source:"@iconify-json/mdi@1.2.3",license:"Apache-2.0"}:null}export{i as a};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{d as k}from"./chunk-KJVNXJ5Y.js";import{f as S}from"./chunk-P7HMSKHJ.js";var w={schemaVersion:1,provenance:{version:"11.16.0",commit:"f3dea58385fd5c7dd1f4e9c9c1876751ae6943cc",inventorySha256:"743517bef84810c6e8afc8b470b801b8cc4a1687445037bd42cc6079f57a3b59"},families:[{id:"flowchart",label:"Flowchart",source:"core",maturity:"stable",upstreamDetectorIds:["flowchart-v2","flowchart","flowchart-elk"],headers:[{value:"flowchart",agenticStatus:"native"},{value:"graph",agenticStatus:"native"},{value:"flowchart-elk",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/flowchart.md",url:"https://mermaid.ai/open-source/syntax/flowchart.html",artifact:"official-doc:flowchart"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"swimlane",label:"Swimlanes",source:"core",maturity:"beta",upstreamDetectorIds:["swimlane"],headers:[{value:"swimlane-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/swimlanes.md",url:"https://mermaid.ai/open-source/syntax/swimlanes.html",artifact:"official-doc:swimlane"},lifecycle:{introduction:{status:"declared",version:"11.16.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"sequence",label:"Sequence",source:"core",maturity:"stable",upstreamDetectorIds:["sequence"],headers:[{value:"sequenceDiagram",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/sequenceDiagram.md",url:"https://mermaid.ai/open-source/syntax/sequenceDiagram.html",artifact:"official-doc:sequence"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"class",label:"Class",source:"core",maturity:"stable",upstreamDetectorIds:["classDiagram","class"],headers:[{value:"classDiagram",agenticStatus:"native"},{value:"classDiagram-v2",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/classDiagram.md",url:"https://mermaid.ai/open-source/syntax/classDiagram.html",artifact:"official-doc:class"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"state",label:"State",source:"core",maturity:"stable",upstreamDetectorIds:["stateDiagram","state"],headers:[{value:"stateDiagram",agenticStatus:"native"},{value:"stateDiagram-v2",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/stateDiagram.md",url:"https://mermaid.ai/open-source/syntax/stateDiagram.html",artifact:"official-doc:state"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"er",label:"Entity Relationship",source:"core",maturity:"stable",upstreamDetectorIds:["er"],headers:[{value:"erDiagram",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/entityRelationshipDiagram.md",url:"https://mermaid.ai/open-source/syntax/entityRelationshipDiagram.html",artifact:"official-doc:er"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"journey",label:"User Journey",source:"core",maturity:"stable",upstreamDetectorIds:["journey"],headers:[{value:"journey",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/userJourney.md",url:"https://mermaid.ai/open-source/syntax/userJourney.html",artifact:"official-doc:journey"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"gantt",label:"Gantt",source:"core",maturity:"stable",upstreamDetectorIds:["gantt"],headers:[{value:"gantt",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/gantt.md",url:"https://mermaid.ai/open-source/syntax/gantt.html",artifact:"official-doc:gantt"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"pie",label:"Pie",source:"core",maturity:"stable",upstreamDetectorIds:["pie"],headers:[{value:"pie",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/pie.md",url:"https://mermaid.ai/open-source/syntax/pie.html",artifact:"official-doc:pie"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"quadrant",label:"Quadrant",source:"core",maturity:"stable",upstreamDetectorIds:["quadrantChart"],headers:[{value:"quadrantChart",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/quadrantChart.md",url:"https://mermaid.ai/open-source/syntax/quadrantChart.html",artifact:"official-doc:quadrant"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"requirement",label:"Requirement",source:"core",maturity:"stable",upstreamDetectorIds:["requirement"],headers:[{value:"requirementDiagram",agenticStatus:"unsupported"},{value:"requirement",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/requirementDiagram.md",url:"https://mermaid.ai/open-source/syntax/requirementDiagram.html",artifact:"official-doc:requirement"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"gitgraph",label:"GitGraph",source:"core",maturity:"stable",upstreamDetectorIds:["gitGraph"],headers:[{value:"gitGraph",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/gitgraph.md",url:"https://mermaid.ai/open-source/syntax/gitgraph.html",artifact:"official-doc:gitgraph"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"c4",label:"C4",source:"core",maturity:"experimental",upstreamDetectorIds:["c4"],headers:[{value:"C4Context",agenticStatus:"inventory-only"},{value:"C4Container",agenticStatus:"inventory-only"},{value:"C4Component",agenticStatus:"inventory-only"},{value:"C4Dynamic",agenticStatus:"inventory-only"},{value:"C4Deployment",agenticStatus:"inventory-only"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/c4.md",url:"https://mermaid.ai/open-source/syntax/c4.html",artifact:"official-doc:c4"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"mindmap",label:"Mindmap",source:"core",maturity:"stable",upstreamDetectorIds:["mindmap"],headers:[{value:"mindmap",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/mindmap.md",url:"https://mermaid.ai/open-source/syntax/mindmap.html",artifact:"official-doc:mindmap"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"timeline",label:"Timeline",source:"core",maturity:"experimental",upstreamDetectorIds:["timeline"],headers:[{value:"timeline",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/timeline.md",url:"https://mermaid.ai/open-source/syntax/timeline.html",artifact:"official-doc:timeline"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"zenuml",label:"ZenUML",source:"external-first-party",maturity:"experimental",upstreamDetectorIds:["zenuml"],headers:[{value:"zenuml",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/zenuml.md",url:"https://mermaid.ai/open-source/syntax/zenuml.html",artifact:"official-doc:zenuml"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"sankey",label:"Sankey",source:"core",maturity:"stable",upstreamDetectorIds:["sankey"],headers:[{value:"sankey",agenticStatus:"unsupported"},{value:"sankey-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/sankey.md",url:"https://mermaid.ai/open-source/syntax/sankey.html",artifact:"official-doc:sankey"},lifecycle:{introduction:{status:"declared",version:"10.3.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"xychart",label:"XY Chart",source:"core",maturity:"stable",upstreamDetectorIds:["xychart"],headers:[{value:"xychart",agenticStatus:"native"},{value:"xychart-beta",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/xyChart.md",url:"https://mermaid.ai/open-source/syntax/xyChart.html",artifact:"official-doc:xychart"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"block",label:"Block",source:"core",maturity:"stable",upstreamDetectorIds:["block"],headers:[{value:"block",agenticStatus:"unsupported"},{value:"block-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/block.md",url:"https://mermaid.ai/open-source/syntax/block.html",artifact:"official-doc:block"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"packet",label:"Packet",source:"core",maturity:"stable",upstreamDetectorIds:["packet"],headers:[{value:"packet",agenticStatus:"unsupported"},{value:"packet-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/packet.md",url:"https://mermaid.ai/open-source/syntax/packet.html",artifact:"official-doc:packet"},lifecycle:{introduction:{status:"declared",version:"11.0.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"kanban",label:"Kanban",source:"core",maturity:"stable",upstreamDetectorIds:["kanban"],headers:[{value:"kanban",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/kanban.md",url:"https://mermaid.ai/open-source/syntax/kanban.html",artifact:"official-doc:kanban"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"architecture",label:"Architecture",source:"core",maturity:"stable",upstreamDetectorIds:["architecture"],headers:[{value:"architecture",agenticStatus:"native"},{value:"architecture-beta",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/architecture.md",url:"https://mermaid.ai/open-source/syntax/architecture.html",artifact:"official-doc:architecture"},lifecycle:{introduction:{status:"declared",version:"11.1.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"radar",label:"Radar",source:"core",maturity:"beta",upstreamDetectorIds:["radar"],headers:[{value:"radar-beta",agenticStatus:"native"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/radar.md",url:"https://mermaid.ai/open-source/syntax/radar.html",artifact:"official-doc:radar"},lifecycle:{introduction:{status:"declared",version:"11.6.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"eventmodeling",label:"Event Modeling",source:"core",maturity:"experimental",upstreamDetectorIds:["eventmodeling"],headers:[{value:"eventmodeling",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/eventmodeling.md",url:"https://mermaid.ai/open-source/syntax/eventmodeling.html",artifact:"official-doc:eventmodeling"},lifecycle:{introduction:{status:"declared",version:"11.15.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"treemap",label:"Treemap",source:"core",maturity:"stable",upstreamDetectorIds:["treemap"],headers:[{value:"treemap",agenticStatus:"unsupported"},{value:"treemap-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/treemap.md",url:"https://mermaid.ai/open-source/syntax/treemap.html",artifact:"official-doc:treemap"},lifecycle:{introduction:{status:"not-declared"},deprecation:{status:"not-declared"}}},{id:"venn",label:"Venn",source:"core",maturity:"beta",upstreamDetectorIds:["venn"],headers:[{value:"venn-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/venn.md",url:"https://mermaid.ai/open-source/syntax/venn.html",artifact:"official-doc:venn"},lifecycle:{introduction:{status:"declared",version:"11.12.3",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"ishikawa",label:"Ishikawa",source:"core",maturity:"stable",upstreamDetectorIds:["ishikawa"],headers:[{value:"ishikawa",agenticStatus:"unsupported"},{value:"ishikawa-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/ishikawa.md",url:"https://mermaid.ai/open-source/syntax/ishikawa.html",artifact:"official-doc:ishikawa"},lifecycle:{introduction:{status:"declared",version:"11.12.3",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"wardley",label:"Wardley",source:"core",maturity:"beta",upstreamDetectorIds:["wardley"],headers:[{value:"wardley-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/wardley.md",url:"https://mermaid.ai/open-source/syntax/wardley.html",artifact:"official-doc:wardley"},lifecycle:{introduction:{status:"declared",version:"11.14.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"cynefin",label:"Cynefin",source:"core",maturity:"beta",upstreamDetectorIds:["cynefin"],headers:[{value:"cynefin-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/cynefin.md",url:"https://mermaid.ai/open-source/syntax/cynefin.html",artifact:"official-doc:cynefin"},lifecycle:{introduction:{status:"declared",version:"11.16.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"treeview",label:"TreeView",source:"core",maturity:"beta",upstreamDetectorIds:["treeView"],headers:[{value:"treeView-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/treeView.md",url:"https://mermaid.ai/open-source/syntax/treeView.html",artifact:"official-doc:treeview"},lifecycle:{introduction:{status:"declared",version:"11.14.0",evidence:"official-title"},deprecation:{status:"not-declared"}}},{id:"railroad",label:"Railroad",source:"core",maturity:"beta",upstreamDetectorIds:["railroad","railroadEbnf","railroadAbnf","railroadPeg"],headers:[{value:"railroad-beta",agenticStatus:"unsupported"},{value:"railroad-ebnf-beta",agenticStatus:"unsupported"},{value:"railroad-abnf-beta",agenticStatus:"unsupported"},{value:"railroad-peg-beta",agenticStatus:"unsupported"}],officialSyntaxPage:{path:"skills/agentic-mermaid-diagram-workflow/references/upstream/railroad.md",url:"https://mermaid.ai/open-source/syntax/railroad.html",artifact:"official-doc:railroad"},lifecycle:{introduction:{status:"declared",version:"11.16.0",evidence:"official-title"},deprecation:{status:"not-declared"}}}]};var g=w;function F(e){return(e.split(";")[0]??"").trim().toLowerCase()}function M(e,t){let a=t.trim().toLowerCase();if(e===a)return!0;if(!e.startsWith(a))return!1;let i=e[a.length];return i!==void 0&&/[\s:]/.test(i)}function b(e,t=g){let a=F(e);return t.families.flatMap(r=>r.headers.map(s=>({family:r,header:s}))).sort((r,s)=>s.header.value.length-r.header.value.length||S(r.family.id,s.family.id)).find(r=>M(a,r.header.value))??null}function I(e,t="strict"){let a=k(e,t);if(a)return{kind:"registered",family:a};let i=b(e);return i?{kind:"upstream",match:i}:{kind:"unknown",header:e}}function f(e){let t=[0];for(let a=0;a<e.length;a++)e.charCodeAt(a)===10&&t.push(a+1);return t}function x(e,t){let a=0,i=e.length;for(;a<i;){let s=a+Math.floor((i-a)/2);e[s]<=t?a=s+1:i=s}let r=Math.max(0,a-1);return Object.freeze({offset:t,line:r+1,col:t-e[r]+1})}function p(e,t,a){return Object.freeze({start:x(e,t),end:x(e,a)})}function h(e,t,a=0,i=f(e)){let r=[],s=new RegExp(t.source,t.flags.includes("g")?t.flags:`${t.flags}g`),n;for(;(n=s.exec(e))!==null;)r.push(p(i,a+n.index,a+n.index+n[0].length)),n[0].length===0&&s.lastIndex++;return Object.freeze(r)}function C(e,t,a=f(e)){let i=e.slice(t),r=h(i,/^[ \t]*accDescr\s*:?\s*\{[\s\S]*?\}/gmi,t,a),s=h(i,/^[ \t]*(?:accTitle(?:\s*:\s*|\s+).*|accDescr(?!\s*:?\s*\{)(?:\s*:\s*|\s+).*)(?:\r?\n|$)/gmi,t,a),n=0,l=[];for(let u of s){for(;r[n]&&r[n].end.offset<=u.start.offset;)n++;let m=r[n];m&&u.start.offset>=m.start.offset&&u.end.offset<=m.end.offset||l.push(u)}let c=[],o=0,d=0;for(;o<r.length||d<l.length;)d>=l.length||o<r.length&&r[o].start.offset<=l[d].start.offset?c.push(r[o++]):c.push(l[d++]);return Object.freeze(c)}function E(e,t,a=f(e)){let i=e.match(/^\uFEFF?\s*---\s*\r?\n[\s\S]*?\r?\n\s*---\s*(?:\r?\n|$)/),r=i?i.index+i[0].length:0,s=h(e.slice(r),/^[ \t]*%%\{\s*(?:init|initialize)\s*:[\s\S]*?\}\s*%%[ \t]*(?:\r?\n|$)/gmi,r,a),n=C(e,t,a);return{...i?{frontmatter:p(a,i.index,i.index+i[0].length)}:{},...s.length>0?{initDirectives:s}:{},...n.length>0?{accessibilityDirectives:Object.freeze(n)}:{}}}function D(e,t,a=0){let i=f(e),r=-1,s=-1,n=e.length,l=Math.max(0,Math.min(e.length,a)),c=l;for(;c<=e.length;){let o=e.indexOf(`
|
|
2
|
+
`,c),d=o<0?e.length:o,u=e.slice(c,d).replace(/\r$/,""),m=u.trim();if(m===t||m.startsWith(t)&&/^\s*;/.test(m.slice(t.length))){let v=u.indexOf(t);if(r=c+v,s=r+t.length,m===t)n=o<0?e.length:o+1;else for(n=u.indexOf(";",v+t.length)+1;n<d&&/[ \t]/.test(e[n]);)n++;break}if(o<0)break;c=o+1}if(r<0){let o=e.indexOf(t,l);r=o<0?l:o,s=Math.min(e.length,r+t.length);let d=e.indexOf(`
|
|
3
|
+
`,s);for(n=d<0?e.length:d+1,c=r;c>0&&e.charCodeAt(c-1)!==10;)c--}return Object.freeze({source:p(i,0,e.length),...c>0?{wrapper:p(i,0,c)}:{},...E(e,n,i),header:p(i,r,s),body:p(i,n,e.length)})}function L(e,t="strict"){let a=I(e,t);return a.kind==="registered"?{kind:"registered",familyId:a.family.id}:a}function R(e,t,a=0,i){let r=g.provenance.version;if(e.kind==="unknown")return{code:"UNKNOWN_HEADER",message:`Unrecognized Mermaid header: "${e.header}"`,line:1,preservation:{version:1,classification:"unknown",source:t,header:e.header,mermaidVersion:r,spans:D(t,i??e.header,a)},help:"Check for a Mermaid upgrade or register a namespaced family descriptor; the source was preserved unchanged."};let{family:s,header:n}=e.match,l=n.agenticStatus==="inventory-only"?"inventory-only":"unsupported",c=n.agenticStatus==="native";return{code:c?"FAMILY_DESCRIPTOR_MISMATCH":"UNSUPPORTED_FAMILY",message:c?`Mermaid ${r} header "${n.value}" is marked native but no installed family descriptor claimed it`:`Mermaid ${r} family "${s.id}" is ${l} in Agentic Mermaid`,line:1,preservation:{version:1,classification:l,source:t,header:n.value,upstreamFamilyId:s.id,mermaidVersion:r,spans:D(t,i??n.value,a)},help:c?"Report a descriptor/manifest mismatch; the source was preserved unchanged.":`Install a family descriptor for "${n.value}" or use a currently native family; the source was preserved unchanged.`}}var y=class extends Error{name="MermaidFamilyDetectionError";code;line;preservation;help;constructor(t){super(t.message),this.code=t.code,this.line=t.line,this.preservation=t.preservation,this.help=t.help}toJSON(){return{code:this.code,message:this.message,line:this.line,preservation:this.preservation,help:this.help}}};function T(e,t,a="strict",i=0,r){let s=I(e,a);if(s.kind==="registered")return s.family;throw new y(R(s,t,i,r))}export{L as a,T as b};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{a as h,f as a}from"./chunk-32FWKUUV.js";import{N as c}from"./chunk-EX6TP7QM.js";var i={fontSize:15,fontWeight:500,height:32,padX:14,offsetY:12,rx:8,minY:4,pointerSize:6};function n(t){return(Math.round(t*100)/100).toString()}function Y(t,e,$,s){let p=h(s,i.fontSize,i.fontWeight)+i.padX*2,l=e-p/2,o=$-i.offsetY-i.height,r=o+i.height;o<i.minY&&(o=i.minY,r=o+i.height);let m=e,f=o+i.height/2,g=i.pointerSize,u=`M${n(e-g)},${n(r)} L${n(e+g)},${n(r)} L${n(e)},${n(r+g)} Z`;return`<g class="${t}-tip"><rect x="${n(l)}" y="${n(o)}" width="${n(p)}" height="${i.height}" rx="${i.rx}" class="${t}-tip ${t}-tip-bg"/><path d="${u}" class="${t}-tip ${t}-tip-ptr"/><text x="${n(m)}" y="${n(f)}" text-anchor="middle" dy="${a}" class="${t}-tip ${t}-tip-text">${c(s)}</text></g>`}function W(t,e){let $=e.map(s=>`.${s}:hover .${t}-tip`).join(`,
|
|
2
|
+
`);return`
|
|
3
|
+
.${t}-tip { opacity: 0; pointer-events: none; }
|
|
4
|
+
.${t}-tip-bg { fill: var(--_text); }
|
|
5
|
+
.${t}-tip-text { fill: var(--bg); font-size: ${i.fontSize}px; font-weight: ${i.fontWeight}; }
|
|
6
|
+
.${t}-tip-ptr { fill: var(--_text); }
|
|
7
|
+
${$} { opacity: 1; }`}export{Y as a,W as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,d as r,f as o}from"./chunk-ZZECLXC3.js";function f(a,e={}){let i=a<=6?{accent:e.accent&&r(e.accent)?e.accent:c,bg:e.bg&&r(e.bg)?e.bg:void 0}:e,n=o(a,i),t=e.overrides;return!t||t.length===0?n:n.map((l,d)=>t[d%12]??l)}export{f as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as $,b as X}from"./chunk-W6Q4PHPC.js";import{d as D}from"./chunk-A7L4WWVW.js";import{a as I,b as Y,c as T,d as O,e as F,j as E,k as W}from"./chunk-32FWKUUV.js";import{i as R}from"./chunk-EX6TP7QM.js";var f={padding:40,boxPadX:8,headerBaseHeight:32,annotationHeight:16,memberRowHeight:20,sectionPadY:8,emptySectionHeight:8,minWidth:120,memberFontSize:11,memberFontWeight:400,nodeSpacing:40,layerSpacing:60},A={nodeLabelFontSize:T.nodeLabel,edgeLabelFontSize:T.edgeLabel,groupHeaderFontSize:T.groupHeader,nodeLabelFontWeight:700,edgeLabelFontWeight:O.edgeLabel,groupHeaderFontWeight:O.groupHeader,nodePaddingX:f.boxPadX,nodePaddingY:f.sectionPadY,nodeCornerRadius:0,nodeLineWidth:F.outerBox,edgeLineWidth:F.connector,groupCornerRadius:0,groupPaddingX:f.boxPadX,groupPaddingY:f.sectionPadY,groupLineWidth:F.outerBox};function oe(o,t){if(!o)return t;let u=v(o,"class","nodeSpacing"),s=v(o,"class","rankSpacing"),x=D(o,["class","hierarchicalNamespaces"]),b=t.class?.hierarchicalNamespaces??(typeof x=="boolean"?x:void 0);return u===void 0&&s===void 0&&b===void 0?t:{...t,nodeSpacing:t.nodeSpacing??u,layerSpacing:t.layerSpacing??s,...b!==void 0?{class:{...t.class,hierarchicalNamespaces:b}}:{}}}function v(o,t,u){let s=D(o,[t,u]);return typeof s=="number"&&Number.isFinite(s)&&s>=0?s:void 0}var B="ns:";function z(o,t,u=!0){let s=[];for(let x of o){let b=t?`${t}.${x.name}`:x.name;s.push({path:b,...u&&t?{parentPath:t}:{},ns:x}),s.push(...z(x.children,b,u))}return s}function j(o,t,u){let s=W(t,A,u),x=new Map;for(let d of o.classes){let p=E(d.label,s.nodeTextTransform),S=Math.max(f.headerBaseHeight,R(p,s.nodeLabelFontSize,s.nodeLabelFontWeight).height+s.nodePaddingY*2),n=d.annotation?S+f.annotationHeight:S,l=d.attributes.length>0?d.attributes.length*f.memberRowHeight+s.nodePaddingY:f.emptySectionHeight,h=d.methods.length>0?d.methods.length*f.memberRowHeight+s.nodePaddingY:f.emptySectionHeight,a=I(p,s.nodeLabelFontSize,s.nodeLabelFontWeight),e=_(d.attributes),g=_(d.methods),r=Math.max(f.minWidth,a+s.nodePaddingX*2,e+s.nodePaddingX*2,g+s.nodePaddingX*2),c=n+l+h;x.set(d.id,{width:r,height:c,headerHeight:n,attrHeight:l,methodHeight:h})}let b=t.nodeSpacing??f.nodeSpacing,N=t.layerSpacing??f.layerSpacing,H=t.class?.hierarchicalNamespaces!==!1,i=z(o.namespaces,void 0,H),m=i.length>0,k={"elk.algorithm":"layered","elk.direction":X(o.direction??"TB"),"elk.spacing.nodeNode":String(b),"elk.layered.spacing.nodeNodeBetweenLayers":String(N),"elk.padding":`[top=${f.padding},left=${f.padding},bottom=${f.padding},right=${f.padding}]`,"elk.edgeRouting":"ORTHOGONAL","elk.edgeLabels.placement":"CENTER"};m&&(k["elk.hierarchyHandling"]="INCLUDE_CHILDREN");let w={id:"root",layoutOptions:k,children:[],edges:[]},P=new Map;for(let d of i)for(let p of d.ns.classIds)P.has(p)||P.set(p,d.path);let C=new Map,M=s.groupHeaderFontSize+16;for(let d of i){let p={id:B+d.path,layoutOptions:{"elk.padding":`[top=${M+s.groupPaddingY},left=${s.groupPaddingX+8},bottom=${s.groupPaddingY+8},right=${s.groupPaddingX+8}]`,"elk.spacing.nodeNode":String(b),"elk.layered.spacing.nodeNodeBetweenLayers":String(N),"elk.edgeRouting":"ORTHOGONAL","elk.edgeLabels.placement":"CENTER"},children:[],edges:[]};C.set(d.path,p),(d.parentPath?C.get(d.parentPath):w).children.push(p)}for(let d of o.classes){let p=x.get(d.id),S={id:d.id,width:p.width,height:p.height},n=P.get(d.id);(n?C.get(n):w).children.push(S)}let L=d=>{let p=P.get(d);if(!p)return[];if(!H)return[p];let S=p.split(".");return S.map((n,l)=>S.slice(0,l+1).join("."))};for(let d=0;d<o.relationships.length;d++){let p=o.relationships[d],S={id:`e${d}`,sources:[p.from],targets:[p.to]};if(p.label){let a=E(p.label,s.edgeTextTransform),e=R(a,s.edgeLabelFontSize,s.edgeLabelFontWeight);S.labels=[{text:a,width:e.width+8,height:e.height+6}]}let n=L(p.from),l=L(p.to),h;for(let a=0;a<Math.min(n.length,l.length)&&n[a]===l[a];a++)h=n[a];(h?C.get(h):w).edges.push(S)}return{elkGraph:w,classSizes:x}}function U(o,t,u,s,x){let b=new Map;for(let n of t.classes)b.set(n.id,n);let N=new Map(z(t.namespaces,void 0,x).map(n=>[n.path,n])),H=s.groupHeaderFontSize+16,i=[],m=[],k=new Map,w=(n,l,h)=>{for(let a of n.edges??[]){let e=[];if(a.sections&&a.sections.length>0){let c=a.sections[0];e.push({x:c.startPoint.x+l,y:c.startPoint.y+h});for(let y of c.bendPoints??[])e.push({x:y.x+l,y:y.y+h});e.push({x:c.endPoint.x+l,y:c.endPoint.y+h})}let g,r=a.labels?.[0];r&&r.x!=null&&r.y!=null&&(g={x:r.x+(r.width??0)/2+l,y:r.y+(r.height??0)/2+h}),k.set(a.id,{points:e,labelPosition:g})}for(let a of n.children??[]){let e=(a.x??0)+l,g=(a.y??0)+h;if(a.id.startsWith(B)){let c=a.id.slice(B.length),y=N.get(c);m.push({id:c,name:y?.ns.name??c,label:y?.ns.label??y?.ns.name??c,parentId:y?.parentPath,classIds:y?[...y.ns.classIds]:[],x:e,y:g,width:a.width??0,height:a.height??0,headerHeight:H}),w(a,e,g);continue}let r=b.get(a.id);if(r){let c=u.get(r.id);i.push({id:r.id,label:r.label,annotation:r.annotation,attributes:r.attributes,methods:r.methods,x:e,y:g,width:a.width??c.width,height:a.height??c.height,headerHeight:c.headerHeight,attrHeight:c.attrHeight,methodHeight:c.methodHeight,...r.className?{className:r.className}:{},...r.href?{href:r.href}:{},...r.className&&t.classDefs.get(r.className)||r.inlineStyle?{inlineStyle:{...r.className?t.classDefs.get(r.className):{},...r.inlineStyle}}:{}})}}};w(o,0,0);let P=[];for(let n=0;n<t.relationships.length;n++){let l=t.relationships[n],h=k.get(`e${n}`);P.push({from:l.from,to:l.to,type:l.type,markerAt:l.markerAt,fromType:l.fromType,toType:l.toType,label:l.label,fromCardinality:l.fromCardinality,toCardinality:l.toCardinality,points:h?.points??[],labelPosition:h?.labelPosition})}let C=o.width??600,M=o.height??400;K(P,i,s,C,M);let L=i.map(n=>({x:n.x,y:n.y,width:n.width,height:n.height})),d=(n,l,h=8)=>n.x<l.x+l.width+h&&n.x+n.width+h>l.x&&n.y<l.y+l.height+h&&n.y+n.height+h>l.y,p=M+16,S=t.notes.map(n=>{let l=R(n.text,12,400),h=Math.max(90,l.width+24),a=Math.max(40,l.height+18),e=n.for?i.find(r=>r.id===n.for):void 0,g;if(e){let r=[];for(let c=0;c<Math.max(4,t.notes.length+1);c++){let y=c*(a+12);r.push({x:e.x+e.width+24,y:e.y+y,width:h,height:a,targetX:e.x+e.width,targetY:e.y+e.height/2,noteX:e.x+e.width+24,noteY:e.y+y+a/2},{x:e.x-h-24,y:e.y+y,width:h,height:a,targetX:e.x,targetY:e.y+e.height/2,noteX:e.x-24,noteY:e.y+y+a/2},{x:e.x,y:e.y+e.height+24+y,width:h,height:a,targetX:e.x+e.width/2,targetY:e.y+e.height,noteX:e.x+h/2,noteY:e.y+e.height+24+y})}g=r.find(c=>c.x>=f.padding&&c.y>=f.padding&&!L.some(y=>d(c,y)))??{x:C+24,y:e.y,width:h,height:a,targetX:e.x+e.width,targetY:e.y+e.height/2,noteX:C+24,noteY:e.y+a/2}}else g={x:f.padding,y:p,width:h,height:a},p+=a+12;return L.push(g),C=Math.max(C,g.x+h+f.padding),M=Math.max(M,g.y+a+f.padding),{text:n.text,...n.for?{for:n.for}:{},...g}});return{width:C,height:M,accessibilityTitle:t.accessibilityTitle,accessibilityDescription:t.accessibilityDescription,classes:i,relationships:P,notes:S,namespaces:m}}function K(o,t,u,s,x){let b=(i,m)=>Math.min(i.x1,m.x1)-Math.max(i.x0,m.x0)>.5&&Math.min(i.y1,m.y1)-Math.max(i.y0,m.y0)>.5,N=t.map(i=>({x0:i.x-1,y0:i.y-1,x1:i.x+i.width+1,y1:i.y+i.height+1}));for(let i of o){if(!i.label||!i.labelPosition)continue;let m=R(E(i.label,u.edgeTextTransform),u.edgeLabelFontSize,u.edgeLabelFontWeight);N.push({x0:i.labelPosition.x-m.width/2-2,y0:i.labelPosition.y-8-m.height/2-2,x1:i.labelPosition.x+m.width/2+2,y1:i.labelPosition.y-8+m.height/2+2})}let H=(i,m,k)=>{let w=R(i,u.edgeLabelFontSize,u.edgeLabelFontWeight),P=w.width/2+2,C=w.height/2+2,M=k.x-m.x,L=k.y-m.y,d=Math.abs(M)>=Math.abs(L),p=d?Math.sign(M||1):0,S=d?0:Math.sign(L||1),n=-S,l=p,h=[];for(let g=10;g<=190;g+=12)h.push(-g,g);let a=[];for(let g=14;g<=150;g+=10)for(let r of h){let c={x:m.x+p*g+n*r,y:m.y+S*g+l*r},y={x0:c.x-P,y0:c.y-C,x1:c.x+P,y1:c.y+C};if(a.push({point:c,box:y}),!(y.x0<0||y.y0<0||y.x1>s||y.y1>x)&&N.every(G=>!b(y,G)))return N.push(y),c}let e=a.map(g=>({...g,collisions:N.filter(r=>b(g.box,r)).length})).sort((g,r)=>g.collisions-r.collisions||g.point.y-r.point.y||g.point.x-r.point.x)[0]??{point:m,box:{x0:m.x,y0:m.y,x1:m.x,y1:m.y}};return N.push(e.box),e.point};for(let i of o)if(!(i.points.length<2)&&(i.fromCardinality&&(i.fromCardinalityPosition=H(i.fromCardinality,i.points[0],i.points[1])),i.toCardinality)){let m=i.points.length-1;i.toCardinalityPosition=H(i.toCardinality,i.points[m],i.points[m-1])}}function se(o,t={},u){if(o.classes.length===0)return{width:0,height:0,accessibilityTitle:o.accessibilityTitle,accessibilityDescription:o.accessibilityDescription,classes:[],relationships:[],notes:[],namespaces:[]};let{elkGraph:s,classSizes:x}=j(o,t,u),b=$(s);return U(b,o,x,W(t,A,u),t.class?.hierarchicalNamespaces!==!1)}function _(o){if(o.length===0)return 0;let t=0;for(let u of o){let s=Z(u),x=Y(s,f.memberFontSize);x>t&&(t=x)}return t}function Z(o){let t=o.visibility?`${o.visibility} `:"",u=o.isMethod?`${o.name}(${o.params||""})`:o.name,s=o.type?`: ${o.type}`:"";return`${t}${u}${s}`}var q=/^direction\s+(TB|TD|BT|LR|RL)\s*$/i;function re(o){let t=o.match(q);return t?t[1].toUpperCase():void 0}export{A as a,oe as b,v as c,se as d,re as e};
|