agentic-mermaid 0.5.3 → 0.5.5
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 +63 -0
- package/Instructions_for_agents.md +1 -1
- package/README.md +1 -1
- package/dist/agent-core.d.ts +7 -7
- package/dist/agent-core.js +1 -1
- package/dist/agent.d.ts +7 -7
- package/dist/agent.js +1 -1
- package/dist/agentic-mermaid-mcp.js +1 -1
- package/dist/am.js +1 -1
- package/dist/browser-lazy/chunks/{agentic-producer-core-CC6OOLDW.js → agentic-producer-core-CWRJNRIK.js} +1 -1
- package/dist/browser-lazy/chunks/{architecture-QUFVKYJR.js → architecture-VU5WEHCH.js} +6 -6
- package/dist/browser-lazy/chunks/{block-6J3Q63BO.js → block-Z2DOU2NP.js} +5 -5
- package/dist/browser-lazy/chunks/{builtin-backends-7SOZZHPF.js → builtin-backends-6UTVDXF4.js} +6 -6
- package/dist/browser-lazy/chunks/c4-6FTCDDGS.js +10 -0
- package/dist/browser-lazy/chunks/{chunk-TYZOZXUJ.js → chunk-37ORXEBA.js} +6 -6
- package/dist/browser-lazy/chunks/{chunk-2UIA2IME.js → chunk-3VXXFUXR.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-2SH76OTH.js → chunk-6RXXXV66.js} +1 -1
- package/dist/browser-lazy/chunks/chunk-AVGL6Y22.js +1 -0
- package/dist/browser-lazy/chunks/chunk-BCPZYXNZ.js +20 -0
- package/dist/browser-lazy/chunks/chunk-CPO5P4L2.js +1 -0
- package/dist/browser-lazy/chunks/{chunk-OZ443IVJ.js → chunk-CURBYGWU.js} +8 -8
- package/dist/browser-lazy/chunks/{chunk-2GPK4VFF.js → chunk-DS3L2TY6.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-BU5LHXNJ.js → chunk-EBJK4IHL.js} +3 -3
- package/dist/browser-lazy/chunks/{chunk-AMJLVPUB.js → chunk-FCXWXIUB.js} +3 -3
- package/dist/browser-lazy/chunks/chunk-FNGOGVYM.js +6 -0
- package/dist/browser-lazy/chunks/{chunk-5B2Z7575.js → chunk-K6V5KN7D.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-J7FFAFQF.js → chunk-LRN76QCY.js} +1 -1
- package/dist/browser-lazy/chunks/chunk-NIAOQ3V2.js +1 -0
- package/dist/browser-lazy/chunks/{chunk-E2WMJZNM.js → chunk-OF4QKIRV.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-CN7WTBWB.js → chunk-OLZVJBI5.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-QA6GJQ4X.js → chunk-PRBLS664.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-X2UYKWKM.js → chunk-PRXEMB2V.js} +3 -3
- package/dist/browser-lazy/chunks/{chunk-NO7ZIVRU.js → chunk-Q6FTXOZS.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-PQGPS2YV.js → chunk-QRPOIILY.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-YCEICNM6.js → chunk-TG7JY42H.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-UL6NDWLL.js → chunk-TWYX5NPD.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-BY2CPG6B.js → chunk-TZMTDADJ.js} +1 -1
- package/dist/browser-lazy/chunks/chunk-UG33LVTQ.js +1 -0
- package/dist/browser-lazy/chunks/{chunk-HLWUNUCM.js → chunk-UJLLOK3R.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-SZELX2EJ.js → chunk-UKIYI4IO.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-VWVZGQE2.js → chunk-UOXZICCT.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-5X6MJX3H.js → chunk-VRXTQTLX.js} +1 -1
- package/dist/browser-lazy/chunks/{chunk-DF6765YX.js → chunk-WSZXZ4HF.js} +6 -6
- package/dist/browser-lazy/chunks/chunk-XBLK7VXJ.js +20 -0
- package/dist/browser-lazy/chunks/{chunk-ICC7HBJX.js → chunk-XJVCY4DA.js} +1 -1
- package/dist/browser-lazy/chunks/{class-5QA4SCTS.js → class-B7ED4IO7.js} +8 -8
- package/dist/{zenuml/chunks/decode-BWERFDGK.js → browser-lazy/chunks/decode-5MFOG3AZ.js} +1 -1
- package/dist/browser-lazy/chunks/{elk.bundled-L4CADV5W.js → elk.bundled-RYWHIS5N.js} +8 -8
- package/dist/browser-lazy/chunks/er-RJO33M6U.js +11 -0
- package/dist/browser-lazy/chunks/{eventmodeling-2BPLHWRN.js → eventmodeling-NZJFH7CB.js} +9 -9
- package/dist/browser-lazy/chunks/{flowchart-NEIMZTB5.js → flowchart-6WEGVIJH.js} +1 -1
- package/dist/browser-lazy/chunks/{forest-implementation-AEP24AIP.js → forest-implementation-RWFF7XDV.js} +1 -1
- package/dist/browser-lazy/chunks/{gantt-RDPIFYAF.js → gantt-3EBT47PN.js} +5 -5
- package/dist/browser-lazy/chunks/{gitgraph-N4Y5RYB7.js → gitgraph-LXYWMWAG.js} +4 -4
- package/dist/browser-lazy/chunks/{ishikawa-LD3YBDJN.js → ishikawa-TNFYQLXS.js} +2 -2
- package/dist/browser-lazy/chunks/{journey-6YQR5DJX.js → journey-ATEGEGT7.js} +7 -7
- package/dist/browser-lazy/chunks/{kanban-PLMJ7NBW.js → kanban-4SGNSK5P.js} +11 -11
- package/dist/browser-lazy/chunks/{mermaid-yaml-runtime-QVYX4EWK.js → mermaid-yaml-runtime-IK4ET4BT.js} +8 -8
- package/dist/browser-lazy/chunks/{mindmap-K2UBFO3Y.js → mindmap-5T7X3ENQ.js} +6 -6
- package/dist/browser-lazy/chunks/{packet-CUW4QY6Y.js → packet-4SQYN6UC.js} +3 -3
- package/dist/browser-lazy/chunks/{pie-7F7UUCG3.js → pie-HNPY7QHS.js} +7 -7
- package/dist/browser-lazy/chunks/{quadrant-TOONO2WC.js → quadrant-HG5UVCOG.js} +4 -4
- package/dist/browser-lazy/chunks/{radar-J6JVWVAX.js → radar-EIHX3Y7A.js} +7 -7
- package/dist/browser-lazy/chunks/render-core-37F7UHHU.js +3 -0
- package/dist/browser-lazy/chunks/{requirement-CMAKDJPO.js → requirement-PDLTNSWC.js} +7 -7
- package/dist/browser-lazy/chunks/{sankey-AWXQEP3F.js → sankey-K5QOVS24.js} +6 -6
- package/dist/browser-lazy/chunks/{sequence-Q2RJRB4L.js → sequence-CVTNAN4F.js} +1 -1
- package/dist/browser-lazy/chunks/{state-WRBFQEDX.js → state-EMHRVZIX.js} +2 -2
- package/dist/browser-lazy/chunks/{timeline-D2KILFXM.js → timeline-GCGZPQWS.js} +4 -4
- package/dist/browser-lazy/chunks/{treemap-N3VYX5D4.js → treemap-BXAVM6C5.js} +3 -3
- package/dist/browser-lazy/chunks/xychart-DSHCGE3Q.js +16 -0
- package/dist/browser-lazy/chunks/{zenuml-H4BXNYXR.js → zenuml-QU75FNEC.js} +8 -8
- package/dist/browser-lazy/index.js +1 -1
- package/dist/browser.global.js +507 -507
- package/dist/chunk-2WNJCUZG.js +52 -0
- package/dist/{chunk-XU5LPD2D.js → chunk-5BYN55G4.js} +1 -1
- package/dist/{chunk-JZOJ4YGS.js → chunk-5JQIK3AC.js} +47 -47
- package/dist/chunk-BHJZLM35.js +2 -0
- package/dist/{chunk-GVCHLSHH.js → chunk-BNS3NO3O.js} +2 -2
- package/dist/{chunk-NKNFOREZ.js → chunk-BRFXOVQK.js} +2 -2
- package/dist/{chunk-UA234O4M.js → chunk-CPO4MGL7.js} +2 -2
- package/dist/chunk-E4AJQAEN.js +2 -0
- package/dist/{chunk-H3NCS2XZ.js → chunk-NZQWSAD5.js} +2 -2
- package/dist/chunk-QULSM7S3.js +58 -0
- package/dist/{chunk-MKE7GNYU.js → chunk-ZKCI4BXW.js} +10 -6
- package/dist/{cli-YGGTJZH7.js → cli-6N2OYXG7.js} +43 -43
- package/dist/{index-EeXqJXr5.d.ts → index-BvPnCHcw.d.ts} +14 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/{mcp-cli-63DYXTVD.js → mcp-cli-O4YD2NQB.js} +2 -2
- package/dist/{paint-certification-6rwQjIv_.d.ts → paint-certification-6UB6BRr6.d.ts} +2 -2
- package/dist/server-ZKAXVFA2.js +527 -0
- package/dist/{svg-styles-BdnoM7AT.d.ts → svg-styles-CyT8yUfG.d.ts} +1 -1
- package/dist/svg-styles.d.ts +1 -1
- package/dist/svg-styles.js +1 -1
- package/dist/svg.d.ts +4 -4
- package/dist/svg.js +1 -1
- package/dist/{types-BcS52Mjt.d.ts → types-DMKjdWeL.d.ts} +1 -1
- package/dist/zenuml/chunks/{appearance-UOQ5KA6O.js → appearance-UJSXEKCJ.js} +1 -1
- package/dist/zenuml/chunks/{builtin-backends-KDKE7YHO.js → builtin-backends-2ETI2OTB.js} +11 -11
- package/dist/zenuml/chunks/{chunk-QWX77U7G.js → chunk-AT55WY2L.js} +2 -2
- package/dist/zenuml/chunks/chunk-NGGC5EHN.js +1 -0
- package/dist/zenuml/chunks/chunk-O23VFGJM.js +29 -0
- package/dist/zenuml/chunks/{chunk-42DXZ5C6.js → chunk-S2NMJ7E6.js} +2 -2
- package/dist/zenuml/chunks/{chunk-OXQWRSBM.js → chunk-WLQR46A6.js} +9 -9
- package/dist/zenuml/chunks/chunk-Y7DUY2UU.js +29 -0
- package/dist/{browser-lazy/chunks/decode-63UIZGD2.js → zenuml/chunks/decode-LDNNXEAO.js} +1 -1
- package/dist/zenuml/chunks/{mermaid-yaml-runtime-KZVU74WU.js → mermaid-yaml-runtime-A5CNJ3IE.js} +8 -8
- package/dist/zenuml/chunks/render-core-MBXTLSVO.js +3 -0
- package/dist/zenuml/chunks/{zenuml-EA2ZFRUX.js → zenuml-FDVVN4IM.js} +8 -8
- package/dist/zenuml.d.ts +2 -2
- package/dist/zenuml.js +1 -1
- package/docs/api.md +84 -4
- package/docs/quality.md +6 -3
- package/docs/style-authoring.md +23 -0
- package/docs/testing-strategy.md +5 -3
- package/package.json +3 -2
- package/server.json +2 -2
- package/skills/agentic-mermaid-diagram-workflow/references/code-mode.md +10 -1
- package/skills/agentic-mermaid-diagram-workflow/references/hosted-mcp.md +5 -1
- package/dist/browser-lazy/chunks/c4-SQVBZAKJ.js +0 -10
- package/dist/browser-lazy/chunks/chunk-4LHYF3BS.js +0 -1
- package/dist/browser-lazy/chunks/chunk-FAIMVOX5.js +0 -6
- package/dist/browser-lazy/chunks/chunk-GVOEAY52.js +0 -1
- package/dist/browser-lazy/chunks/chunk-J35HAQQF.js +0 -20
- package/dist/browser-lazy/chunks/chunk-RIVTHZAQ.js +0 -1
- package/dist/browser-lazy/chunks/chunk-Z3FDIVLN.js +0 -20
- package/dist/browser-lazy/chunks/er-7ZSKGN7Y.js +0 -11
- package/dist/browser-lazy/chunks/render-core-BZOM3K7D.js +0 -3
- package/dist/browser-lazy/chunks/xychart-G73OGK66.js +0 -16
- package/dist/chunk-7CRDX2QR.js +0 -2
- package/dist/chunk-DQDKA5ND.js +0 -2
- package/dist/chunk-EHCMJUMD.js +0 -52
- package/dist/chunk-OMY6NRQD.js +0 -58
- package/dist/server-5NEOHOFS.js +0 -524
- package/dist/zenuml/chunks/chunk-7TVYPTDW.js +0 -1
- package/dist/zenuml/chunks/chunk-RLJEI7YN.js +0 -29
- package/dist/zenuml/chunks/chunk-RZ6XK5CD.js +0 -29
- package/dist/zenuml/chunks/render-core-V5RQ737O.js +0 -3
- package/docs/MCP-DIRECTORY-LISTINGS.md +0 -76
- /package/dist/browser-lazy/chunks/{chunk-5FQ534HP.js → chunk-BMZ24VPS.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-2I4UPL7Q.js → chunk-D6MQ7QSU.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-CQE4HQEW.js → chunk-HJVO5VC3.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-LH7HUDKW.js → chunk-L4UC3KGS.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-NMQQMRIR.js → chunk-MFTQWHUB.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-N5ELX7LR.js → chunk-PJJSDGLB.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-CSFUKSU6.js → chunk-QCU5G5PZ.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-VQYYGAXP.js → chunk-TLFX3U6S.js} +0 -0
- /package/dist/browser-lazy/chunks/{chunk-5UVGUSD6.js → chunk-YHMTSXIR.js} +0 -0
- /package/dist/zenuml/chunks/{chunk-EVPSMEKN.js → chunk-GC7IPQ5P.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{B as e,C as t,D as i,E as a,F as r,G as n,a as o,h as s,i as l,j as c,k as d,l as u,m as f,n as p,o as m,x as g}from"./chunk-DF6765YX.js";import{b as h,c as y,e as v,g as b,z as S}from"./chunk-J35HAQQF.js";import{F as $,G as w,L as x,M as C,ga as O,ha as j,ia as k,s as E,t as F,v as A,x as I,z as T}from"./chunk-X2UYKWKM.js";import{a as D,b as z,c as L,d as M,e as R,f as q}from"./chunk-TYZOZXUJ.js";import{Kb as N,ab as P,c as B,ob as _,r as W}from"./chunk-Z3FDIVLN.js";import{a as V,b as J,e as G,f as H,g as U}from"./chunk-N5ELX7LR.js";import{a as Y}from"./chunk-5UVGUSD6.js";function K(e){return h(e)?e:void 0}function X(e,t){let i=e.$ref;if("string"!=typeof i||!i.startsWith("#/"))return;let a=t;for(let e of i.slice(2).split("/")){if(!h(a))return;a=a[e.replaceAll("~1","/").replaceAll("~0","~")]}return K(a)}function Z(e,t,i=t,a=[],r={}){let n="field"===r.diagnostics,o=(e,t,i,a,s)=>{let l=K(t.$defs)?t:i,c=(e,t=!0)=>[{path:a,message:e,generic:t}];if(void 0!==t.$ref){let i=X(t,l);return i?o(e,i,l,a,s):c(n?"uses an unresolved schema reference":`uses unresolved schema reference ${String(t.$ref)}`,!1)}let d=Array.isArray(t.anyOf)?t.anyOf.map(K).filter(e=>void 0!==e):[];if(d.length>0){let i=n?d.filter(t=>(function e(t,i,a){let r=X(i,a);if(r)return e(t,r,a);let n=Array.isArray(i.anyOf)?i.anyOf.map(K).filter(e=>void 0!==e):[];if(n.length>0)return n.some(i=>e(t,i,a));switch(i.type){case"null":return null===t;case"string":return"string"==typeof t;case"number":case"integer":return"number"==typeof t;case"boolean":return"boolean"==typeof t;case"array":return Array.isArray(t);case"object":return h(t);default:return!0}})(e,t,l)):[],r=(i.length>0?i:d).map(t=>o(e,t,l,a,new Set(s)));if(!r.some(e=>0===e.length)){let e=t["x-agentic-mermaid-validation-expectation"];return n&&0!==i.length||"string"!=typeof e?r.sort((e,t)=>e.length-t.length)[0]??c("must match an allowed shape"):c(`must be ${e}`)}}let f=Array.isArray(t.oneOf)?t.oneOf.map(K).filter(e=>void 0!==e):[];if(f.length>0&&!n){let t=f.filter(t=>0===o(e,t,l,a,new Set(s)).length);if(1!==t.length)return c(`must match exactly one allowed shape (matched ${t.length})`)}let p=n?(e,t)=>e===t:Object.is;if(Object.prototype.hasOwnProperty.call(t,"const")&&!p(e,t.const))return c(`must equal ${String(t.const)}`);if(Array.isArray(t.enum)&&!(n?t.enum.includes(e):t.enum.some(t=>Object.is(t,e))))return c(`must be one of ${t.enum.map(String).join(" | ")}`);let m=t.type;if(!(void 0===m||"null"===m&&null===e||"string"===m&&"string"==typeof e||"number"===m&&"number"==typeof e&&Number.isFinite(e)||"integer"===m&&"number"==typeof e&&Number.isFinite(e)&&Number.isInteger(e)||"boolean"===m&&"boolean"==typeof e||"array"===m&&Array.isArray(e)||"object"===m&&h(e))){let e="number"===m?"a finite number":"integer"===m?"a finite integer":"object"===m?"a plain JSON object":"array"===m?"an array":"null"===m?"null":`a ${String(m)}`;return c(`must be ${e}`)}if("number"==typeof e){if("number"==typeof t.minimum&&e<t.minimum)return c(`must be at least ${t.minimum}`);if("number"==typeof t.exclusiveMinimum&&e<=t.exclusiveMinimum)return c(`must be greater than ${t.exclusiveMinimum}`);if("number"==typeof t.maximum&&e>t.maximum)return c(`must be at most ${t.maximum}`)}if("string"==typeof e){if("number"==typeof t.minLength&&e.length<t.minLength)return c(`must contain at least ${t.minLength} character${1===t.minLength?"":"s"}`);if("string"==typeof t.pattern){let i;try{i=new RegExp(t.pattern,n?void 0:"u").test(e)}catch{return c("uses an invalid schema pattern",!1)}if(!i)return c(r.patternMismatch?.(t)??`must match ${t.pattern}`)}if("number"==typeof t.maxLength&&e.length>t.maxLength)return c(`must contain at most ${t.maxLength} characters`)}if(Array.isArray(e)&&"array"===m){if("number"==typeof t.minItems&&e.length<t.minItems)return c(`must contain at least ${t.minItems} item${1===t.minItems?"":"s"}`);if("number"==typeof t.maxItems&&e.length>t.maxItems)return c(`must contain at most ${t.maxItems} items`);if(s.has(e))return c("must be acyclic",!1);let i=K(t.items);if(i){s.add(e);try{let t=e.flatMap((e,t)=>o(e,i,l,[...a,t],s));if(t.length>0)return t}finally{s.delete(e)}}}if(h(e)&&("object"===m||void 0!==t.properties||void 0!==t.required||void 0!==t.additionalProperties)){if(s.has(e))return c("must be acyclic",!1);s.add(e);try{let i=K(t.properties)??{},r=Array.isArray(t.required)?t.required.filter(e=>"string"==typeof e):[],n=[];for(let t of r)Object.prototype.hasOwnProperty.call(e,t)||n.push({path:[...a,t],message:"is required",generic:!1});for(let[r,c]of Object.entries(e)){if(u(r)){n.push({path:[...a,r],message:"uses a forbidden prototype key",generic:!1});continue}let e=K(i[r]);if(e){n.push(...o(c,e,l,[...a,r],s));continue}if(!1===t.additionalProperties){n.push({path:[...a,r],message:"is not allowed",generic:!1});continue}let d=K(t.additionalProperties);d&&n.push(...o(c,d,l,[...a,r],s))}if(n.length>0)return n}finally{s.delete(e)}}return r.validateRuntime?.(e,t,a)??[]};return o(e,t,i,a,new Set)}var Q,ee=new Set(Object.values(O).flat()),et=new Set(["primaryTextColor","textColor","nodeTextColor","secondaryTextColor","tertiaryTextColor"]),ei=new Set([...Array.from({length:12},(e,t)=>`pie${t+1}`),"pieStrokeColor","pieOuterStrokeColor","pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),ea=new Set(["pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),er=new Set([...Array.from({length:8},(e,t)=>[`git${t}`,`gitBranchLabel${t}`,`gitInv${t}`]).flat(),"commitLabelColor","commitLabelBackground"]),en=new Set([...Array.from({length:8},(e,t)=>`gitBranchLabel${t}`),"commitLabelColor"]),eo=new Set(Array.from({length:12},(e,t)=>[`cScale${t}`,`cScaleLabel${t}`,`cScaleInv${t}`]).flat()),es=new Set([...Array.from({length:12},(e,t)=>`cScale${t}`),"titleColor"]),el=new Set(["clusterBkg","clusterBorder"]),ec=["backgroundColor","titleColor","xAxisLabelColor","xAxisTickColor","xAxisLineColor","xAxisTitleColor","yAxisLabelColor","yAxisTickColor","yAxisLineColor","yAxisTitleColor","legendTextColor","dataLabelColor"],ed=new Set(["xAxisTickColor","xAxisLineColor","yAxisTickColor","yAxisLineColor"]),eu=[["bg",O.bg],["surface",O.surface],["line",O.line],["accent",O.accent]];function ef(e,t=!1){let i="string"==typeof e?e:JSON.stringify(e)??String(e);return t&&i.length>256?`${i.slice(0,256)}\u2026`:i}var ep=class extends Error{code="INVALID_THEME_COLOR";key;value;constructor(e,t,i){let a=ef(t,!0);super(E({what:`themeVariables.${e}: ${JSON.stringify(a)} is not a CSS color`,expectedForm:M(i),example:`themeVariables.${e}:#f96`}).message),this.name="ThemeVariableColorError",this.key=e,this.value=a}},em=class extends Error{code="INVALID_RENDER_COLOR";field;value;constructor(e,t){let i=ef(t,!0);super(E({what:`render option "${e}": ${JSON.stringify(i)} is not a CSS color for Architecture derived paint`,expectedForm:"a drawable CSS color or var(--name)",example:`${e}:#f96`}).message),this.name="RenderOptionColorError",this.field=e,this.value=i}},eg=class extends Error{code="INVALID_CONFIG_COLOR";path;value;constructor(e,t,i,a){let r=ef(t,!0),n=ef(e,!0);super(E({what:`${n}: ${JSON.stringify(r)} is not ${"array"===a?"an array of CSS colors":"map"===a?"a map of CSS colors":"a CSS color"}`,expectedForm:a?"array"===a?"an array of drawable CSS colors":"an object mapping node labels to drawable CSS colors":M(i),example:`${n}${"array"===a?': ["#f96"]':"map"===a?': {"A":"#f96"}':": #f96"}`}).message),this.name="FamilyConfigColorError",this.path=n,this.value=r}};function eh(e){return null===e||"object"!=typeof e||Array.isArray(e)?void 0:e}function ey(e,t,i,a){let r=e[i];if(void 0!==r&&void 0===L(r,a))throw new eg(`${t}.${i}`,r,a)}function ev(e,t,i,a){let r=e[i];if(void 0!==r){if(!Array.isArray(r))throw new eg(`${t}.${i}`,r,a,"array");for(let e=0;e<r.length;e++){let n=r[e];if(void 0===L(n,a))throw new eg(`${t}.${i}[${e}]`,n,a)}}}function eb(e,t,i,a){if(!e)return;let r="pie"===t?ei:"gitgraph"===t?er:"timeline"===t?eo:"radar"===t?es:"architecture"===t?el:void 0,n=r?new Set([...ee,...r]):ee,o="architecture"===t?new Set(eu.flatMap(([t,r])=>i?.[t]!==void 0||"surface"===t&&a&&(a?.groupHeaderSurface||a?.groupSurface?.trim().toLowerCase()!=="none")||("line"===t||"accent"===t)&&a?.edgeStroke?[]:r.find(t=>{let i=e[t];return"string"==typeof i&&i.length>0})??[])):void 0;for(let i of n){if(!Object.hasOwn(e,i))continue;let r=e[i];if(void 0===r)continue;let n=ef(r),s=et.has(i)||ea.has(i)||en.has(i)||"timeline"===t&&eo.has(i)||"radar"===t&&es.has(i)||"architecture"===t&&("clusterBkg"===i&&(!a||!a.groupHeaderSurface&&a.groupSurface?.trim().toLowerCase()==="none")||o?.has(i));if(void 0===L(r,!s))throw new ep(i,n,!s)}if("radar"===t){let t=eh(e.radar);if(!t)return;for(let e of["axisColor","graticuleColor"]){let i=t[e];if(void 0===i)continue;let a="graticuleColor"===e,r=ef(i);if(void 0===L(i,a))throw new ep(`radar.${e}`,r,a)}}if("xychart"===t){let t=eh(e.xyChart);if(!t)return;for(let e of ec){if("backgroundColor"===e&&i?.bg!==void 0)continue;let a=t[e];if(void 0===a)continue;let r=ed.has(e),n=ef(a);if(void 0===L(a,r))throw new ep(`xyChart.${e}`,n,r)}let a=t.plotColorPalette;if(void 0!==a&&("string"!=typeof a||0!==a.trim().length)){let e="string"==typeof a?D(a):a;if(!Array.isArray(e))throw new ep("xyChart.plotColorPalette",JSON.stringify(a)??String(a),!1);for(let[t,i]of e.entries()){let e="string"==typeof i?i.trim():JSON.stringify(i)??String(i);if(void 0===L(i))throw new ep(`xyChart.plotColorPalette[${t}]`,e,!1)}}}if("architecture"===t&&("string"!=typeof e.mainBkg||0===e.mainBkg.length)){let t=e.secondaryColor;if(void 0!==t){let e=ef(t);if(void 0===L(t,!0))throw new ep("secondaryColor",e,!0)}}}var eS={schemaVersion:2,provenance:{version:"12.2.0"},families:[{id:"flowchart",headers:[{value:"flowchart",agenticStatus:"native"},{value:"graph",agenticStatus:"native"},{value:"flowchart-elk",agenticStatus:"unsupported"}]},{id:"swimlane",headers:[{value:"swimlane-beta",agenticStatus:"unsupported"}]},{id:"sequence",headers:[{value:"sequenceDiagram",agenticStatus:"native"}]},{id:"class",headers:[{value:"classDiagram",agenticStatus:"native"},{value:"classDiagram-v2",agenticStatus:"native"}]},{id:"state",headers:[{value:"stateDiagram",agenticStatus:"native"},{value:"stateDiagram-v2",agenticStatus:"native"}]},{id:"er",headers:[{value:"erDiagram",agenticStatus:"native"}]},{id:"journey",headers:[{value:"journey",agenticStatus:"native"}]},{id:"gantt",headers:[{value:"gantt",agenticStatus:"native"}]},{id:"pie",headers:[{value:"pie",agenticStatus:"native"}]},{id:"quadrant",headers:[{value:"quadrantChart",agenticStatus:"native"}]},{id:"requirement",headers:[{value:"requirementDiagram",agenticStatus:"native"},{value:"requirement",agenticStatus:"native"}]},{id:"gitgraph",headers:[{value:"gitGraph",agenticStatus:"native"}]},{id:"c4",headers:[{value:"C4Context",agenticStatus:"native"},{value:"C4Container",agenticStatus:"native"},{value:"C4Component",agenticStatus:"native"},{value:"C4Dynamic",agenticStatus:"native"},{value:"C4Deployment",agenticStatus:"native"}]},{id:"mindmap",headers:[{value:"mindmap",agenticStatus:"native"}]},{id:"timeline",headers:[{value:"timeline",agenticStatus:"native"}]},{id:"zenuml",headers:[{value:"zenuml",agenticStatus:"native"}]},{id:"sankey",headers:[{value:"sankey",agenticStatus:"native"},{value:"sankey-beta",agenticStatus:"native"}]},{id:"xychart",headers:[{value:"xychart",agenticStatus:"native"},{value:"xychart-beta",agenticStatus:"native"}]},{id:"block",headers:[{value:"block",agenticStatus:"native"},{value:"block-beta",agenticStatus:"native"}]},{id:"packet",headers:[{value:"packet",agenticStatus:"native"},{value:"packet-beta",agenticStatus:"native"}]},{id:"kanban",headers:[{value:"kanban",agenticStatus:"native"}]},{id:"architecture",headers:[{value:"architecture",agenticStatus:"native"},{value:"architecture-beta",agenticStatus:"native"}]},{id:"radar",headers:[{value:"radar-beta",agenticStatus:"native"}]},{id:"eventmodeling",headers:[{value:"eventmodeling",agenticStatus:"native"}]},{id:"treemap",headers:[{value:"treemap",agenticStatus:"native"},{value:"treemap-beta",agenticStatus:"native"}]},{id:"venn",headers:[{value:"venn-beta",agenticStatus:"unsupported"}]},{id:"ishikawa",headers:[{value:"ishikawa",agenticStatus:"native"},{value:"ishikawa-beta",agenticStatus:"native"}]},{id:"wardley",headers:[{value:"wardley-beta",agenticStatus:"unsupported"}]},{id:"cynefin",headers:[{value:"cynefin-beta",agenticStatus:"unsupported"}]},{id:"treeview",headers:[{value:"treeView-beta",agenticStatus:"unsupported"}]},{id:"railroad",headers:[{value:"railroad-beta",agenticStatus:"unsupported"},{value:"railroad-ebnf-beta",agenticStatus:"unsupported"},{value:"railroad-abnf-beta",agenticStatus:"unsupported"},{value:"railroad-peg-beta",agenticStatus:"unsupported"}]},{id:"agentflow",headers:[{value:"agentflow-beta",agenticStatus:"unsupported"}]},{id:"usecase",headers:[{value:"usecase-beta",agenticStatus:"unsupported"}]}]};function e$(e,t="strict"){let i=H(e),a=l(i,t);if(a)return{kind:"registered",family:a};let r=function(e,t=eS){let i=(e.split(";")[0]??"").trim().toLowerCase();return t.families.flatMap(e=>e.headers.map(t=>({family:e,header:t}))).sort((e,t)=>t.header.value.length-e.header.value.length||_(e.family.id,t.family.id)).find(e=>(function(e,t){let i=t.trim().toLowerCase();if(e===i)return!0;if(!e.startsWith(i))return!1;let a=e[i.length];return void 0!==a&&/[\s:]/.test(a)})(i,e.header.value))??null}(i);return r?{kind:"upstream",match:r}:{kind:"unknown",header:e}}function ew(e,t,i,a){let r=F(e),n=-1,s=-1,l=e.length,d=Math.max(0,Math.min(e.length,i??0)),u=d;for(;u<=e.length;){let i=/\r\n?|\n/g;i.lastIndex=u;let a=i.exec(e),r=a?.index??-1,o=r<0?e.length:r,c=e.slice(u,o).replace(/\r$/,""),d=c.trim(),f=d.startsWith(t)?d.slice(t.length):"",p=/^\s*;/.test(f);if(d===t||p||/^\s/.test(f)&&G(d)!==d){if(s=(n=u+c.indexOf(t))+t.length,d===t)l=a?a.index+a[0].length:e.length;else for(l=p?e.indexOf(";",s)+1:s;l<o&&/[ \t]/.test(e[l]);)l++;break}if(r<0)break;u=a.index+a[0].length}if(n<0){let i=e.indexOf(t,d);n=i<0?d:i,s=Math.min(e.length,n+t.length);let a=e.indexOf(`
|
|
2
|
-
`,s);for(l=a<0?e.length:a+1,u=n;u>0&&10!==e.charCodeAt(u-1);)u--}return Object.freeze({source:A(r,0,e.length),...(i??u)>0?{wrapper:A(r,0,i??u)}:{},...function(e,t,i,a=F(e),r){let n=V(e),s=n?.source.length??0,l=function(e,t,i=F(e),a=
|
|
1
|
+
import{B as e,C as t,D as i,E as a,F as r,G as n,a as o,h as s,i as l,j as c,k as d,l as u,m as f,n as p,o as m,x as g}from"./chunk-WSZXZ4HF.js";import{b as h,c as y,e as v,g as b,z as S}from"./chunk-BCPZYXNZ.js";import{F as $,G as w,L as x,M as C,ga as O,ha as j,ia as k,s as E,t as F,v as A,x as I,z as T}from"./chunk-PRXEMB2V.js";import{a as z,b as D,c as L,d as M,e as R,f as q}from"./chunk-37ORXEBA.js";import{Mb as P,ab as N,c as B,pb as _,r as W}from"./chunk-XBLK7VXJ.js";import{a as V,b as J,e as H,f as G,g as X}from"./chunk-PJJSDGLB.js";import{a as Y}from"./chunk-YHMTSXIR.js";function U(e){return h(e)?e:void 0}function K(e,t){let i=e.$ref;if("string"!=typeof i||!i.startsWith("#/"))return;let a=t;for(let e of i.slice(2).split("/")){if(!h(a))return;a=a[e.replaceAll("~1","/").replaceAll("~0","~")]}return U(a)}function Z(e,t,i=t,a=[],r={}){let n="field"===r.diagnostics,o=(e,t,i,a,s)=>{let l=U(t.$defs)?t:i,c=(e,t=!0)=>[{path:a,message:e,generic:t}];if(void 0!==t.$ref){let i=K(t,l);return i?o(e,i,l,a,s):c(n?"uses an unresolved schema reference":`uses unresolved schema reference ${String(t.$ref)}`,!1)}let d=Array.isArray(t.anyOf)?t.anyOf.map(U).filter(e=>void 0!==e):[];if(d.length>0){let i=n?d.filter(t=>(function e(t,i,a){let r=K(i,a);if(r)return e(t,r,a);let n=Array.isArray(i.anyOf)?i.anyOf.map(U).filter(e=>void 0!==e):[];if(n.length>0)return n.some(i=>e(t,i,a));switch(i.type){case"null":return null===t;case"string":return"string"==typeof t;case"number":case"integer":return"number"==typeof t;case"boolean":return"boolean"==typeof t;case"array":return Array.isArray(t);case"object":return h(t);default:return!0}})(e,t,l)):[],r=(i.length>0?i:d).map(t=>o(e,t,l,a,new Set(s)));if(!r.some(e=>0===e.length)){let e=t["x-agentic-mermaid-validation-expectation"];return n&&0!==i.length||"string"!=typeof e?r.sort((e,t)=>e.length-t.length)[0]??c("must match an allowed shape"):c(`must be ${e}`)}}let f=Array.isArray(t.oneOf)?t.oneOf.map(U).filter(e=>void 0!==e):[];if(f.length>0&&!n){let t=f.filter(t=>0===o(e,t,l,a,new Set(s)).length);if(1!==t.length)return c(`must match exactly one allowed shape (matched ${t.length})`)}let p=n?(e,t)=>e===t:Object.is;if(Object.prototype.hasOwnProperty.call(t,"const")&&!p(e,t.const))return c(`must equal ${String(t.const)}`);if(Array.isArray(t.enum)&&!(n?t.enum.includes(e):t.enum.some(t=>Object.is(t,e))))return c(`must be one of ${t.enum.map(String).join(" | ")}`);let m=t.type;if(!(void 0===m||"null"===m&&null===e||"string"===m&&"string"==typeof e||"number"===m&&"number"==typeof e&&Number.isFinite(e)||"integer"===m&&"number"==typeof e&&Number.isFinite(e)&&Number.isInteger(e)||"boolean"===m&&"boolean"==typeof e||"array"===m&&Array.isArray(e)||"object"===m&&h(e))){let e="number"===m?"a finite number":"integer"===m?"a finite integer":"object"===m?"a plain JSON object":"array"===m?"an array":"null"===m?"null":`a ${String(m)}`;return c(`must be ${e}`)}if("number"==typeof e){if("number"==typeof t.minimum&&e<t.minimum)return c(`must be at least ${t.minimum}`);if("number"==typeof t.exclusiveMinimum&&e<=t.exclusiveMinimum)return c(`must be greater than ${t.exclusiveMinimum}`);if("number"==typeof t.maximum&&e>t.maximum)return c(`must be at most ${t.maximum}`)}if("string"==typeof e){if("number"==typeof t.minLength&&e.length<t.minLength)return c(`must contain at least ${t.minLength} character${1===t.minLength?"":"s"}`);if("string"==typeof t.pattern){let i;try{i=new RegExp(t.pattern,n?void 0:"u").test(e)}catch{return c("uses an invalid schema pattern",!1)}if(!i)return c(r.patternMismatch?.(t)??`must match ${t.pattern}`)}if("number"==typeof t.maxLength&&e.length>t.maxLength)return c(`must contain at most ${t.maxLength} characters`)}if(Array.isArray(e)&&"array"===m){if("number"==typeof t.minItems&&e.length<t.minItems)return c(`must contain at least ${t.minItems} item${1===t.minItems?"":"s"}`);if("number"==typeof t.maxItems&&e.length>t.maxItems)return c(`must contain at most ${t.maxItems} items`);if(s.has(e))return c("must be acyclic",!1);let i=U(t.items);if(i){s.add(e);try{let t=e.flatMap((e,t)=>o(e,i,l,[...a,t],s));if(t.length>0)return t}finally{s.delete(e)}}}if(h(e)&&("object"===m||void 0!==t.properties||void 0!==t.required||void 0!==t.additionalProperties)){if(s.has(e))return c("must be acyclic",!1);s.add(e);try{let i=U(t.properties)??{},r=Array.isArray(t.required)?t.required.filter(e=>"string"==typeof e):[],n=[];for(let t of r)Object.prototype.hasOwnProperty.call(e,t)||n.push({path:[...a,t],message:"is required",generic:!1});for(let[r,c]of Object.entries(e)){if(u(r)){n.push({path:[...a,r],message:"uses a forbidden prototype key",generic:!1});continue}let e=U(i[r]);if(e){n.push(...o(c,e,l,[...a,r],s));continue}if(!1===t.additionalProperties){n.push({path:[...a,r],message:"is not allowed",generic:!1});continue}let d=U(t.additionalProperties);d&&n.push(...o(c,d,l,[...a,r],s))}if(n.length>0)return n}finally{s.delete(e)}}return r.validateRuntime?.(e,t,a)??[]};return o(e,t,i,a,new Set)}var Q,ee=new Set(Object.values(O).flat()),et=new Set(["primaryTextColor","textColor","nodeTextColor","secondaryTextColor","tertiaryTextColor"]),ei=new Set([...Array.from({length:12},(e,t)=>`pie${t+1}`),"pieStrokeColor","pieOuterStrokeColor","pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),ea=new Set(["pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),er=new Set([...Array.from({length:8},(e,t)=>[`git${t}`,`gitBranchLabel${t}`,`gitInv${t}`]).flat(),"commitLabelColor","commitLabelBackground"]),en=new Set([...Array.from({length:8},(e,t)=>`gitBranchLabel${t}`),"commitLabelColor"]),eo=new Set(Array.from({length:12},(e,t)=>[`cScale${t}`,`cScaleLabel${t}`,`cScaleInv${t}`]).flat()),es=new Set([...Array.from({length:12},(e,t)=>`cScale${t}`),"titleColor"]),el=new Set(["clusterBkg","clusterBorder"]),ec=["backgroundColor","titleColor","xAxisLabelColor","xAxisTickColor","xAxisLineColor","xAxisTitleColor","yAxisLabelColor","yAxisTickColor","yAxisLineColor","yAxisTitleColor","legendTextColor","dataLabelColor"],ed=new Set(["xAxisTickColor","xAxisLineColor","yAxisTickColor","yAxisLineColor"]),eu=[["bg",O.bg],["surface",O.surface],["line",O.line],["accent",O.accent]];function ef(e,t=!1){let i="string"==typeof e?e:JSON.stringify(e)??String(e);return t&&i.length>256?`${i.slice(0,256)}\u2026`:i}var ep=class extends Error{code="INVALID_THEME_COLOR";key;value;constructor(e,t,i){let a=ef(t,!0);super(E({what:`themeVariables.${e}: ${JSON.stringify(a)} is not a CSS color`,expectedForm:M(i),example:`themeVariables.${e}:#f96`}).message),this.name="ThemeVariableColorError",this.key=e,this.value=a}},em=class extends Error{code="INVALID_RENDER_COLOR";field;value;constructor(e,t){let i=ef(t,!0);super(E({what:`render option "${e}": ${JSON.stringify(i)} is not a CSS color for Architecture derived paint`,expectedForm:"a drawable CSS color or var(--name)",example:`${e}:#f96`}).message),this.name="RenderOptionColorError",this.field=e,this.value=i}},eg=class extends Error{code="INVALID_CONFIG_COLOR";path;value;constructor(e,t,i,a){let r=ef(t,!0),n=ef(e,!0);super(E({what:`${n}: ${JSON.stringify(r)} is not ${"array"===a?"an array of CSS colors":"map"===a?"a map of CSS colors":"a CSS color"}`,expectedForm:a?"array"===a?"an array of drawable CSS colors":"an object mapping node labels to drawable CSS colors":M(i),example:`${n}${"array"===a?': ["#f96"]':"map"===a?': {"A":"#f96"}':": #f96"}`}).message),this.name="FamilyConfigColorError",this.path=n,this.value=r}};function eh(e){return null===e||"object"!=typeof e||Array.isArray(e)?void 0:e}function ey(e,t,i,a){let r=e[i];if(void 0!==r&&void 0===L(r,a))throw new eg(`${t}.${i}`,r,a)}function ev(e,t,i,a){let r=e[i];if(void 0!==r){if(!Array.isArray(r))throw new eg(`${t}.${i}`,r,a,"array");for(let e=0;e<r.length;e++){let n=r[e];if(void 0===L(n,a))throw new eg(`${t}.${i}[${e}]`,n,a)}}}function eb(e,t,i,a){if(!e)return;let r="pie"===t?ei:"gitgraph"===t?er:"timeline"===t?eo:"radar"===t?es:"architecture"===t?el:void 0,n=r?new Set([...ee,...r]):ee,o="architecture"===t?new Set(eu.flatMap(([t,r])=>i?.[t]!==void 0||"surface"===t&&a&&(a?.groupHeaderSurface||a?.groupSurface?.trim().toLowerCase()!=="none")||("line"===t||"accent"===t)&&a?.edgeStroke?[]:r.find(t=>{let i=e[t];return"string"==typeof i&&i.length>0})??[])):void 0;for(let i of n){if(!Object.hasOwn(e,i))continue;let r=e[i];if(void 0===r)continue;let n=ef(r),s=et.has(i)||ea.has(i)||en.has(i)||"timeline"===t&&eo.has(i)||"radar"===t&&es.has(i)||"architecture"===t&&("clusterBkg"===i&&(!a||!a.groupHeaderSurface&&a.groupSurface?.trim().toLowerCase()==="none")||o?.has(i));if(void 0===L(r,!s))throw new ep(i,n,!s)}if("radar"===t){let t=eh(e.radar);if(!t)return;for(let e of["axisColor","graticuleColor"]){let i=t[e];if(void 0===i)continue;let a="graticuleColor"===e,r=ef(i);if(void 0===L(i,a))throw new ep(`radar.${e}`,r,a)}}if("xychart"===t){let t=eh(e.xyChart);if(!t)return;for(let e of ec){if("backgroundColor"===e&&i?.bg!==void 0)continue;let a=t[e];if(void 0===a)continue;let r=ed.has(e),n=ef(a);if(void 0===L(a,r))throw new ep(`xyChart.${e}`,n,r)}let a=t.plotColorPalette;if(void 0!==a&&("string"!=typeof a||0!==a.trim().length)){let e="string"==typeof a?z(a):a;if(!Array.isArray(e))throw new ep("xyChart.plotColorPalette",JSON.stringify(a)??String(a),!1);for(let[t,i]of e.entries()){let e="string"==typeof i?i.trim():JSON.stringify(i)??String(i);if(void 0===L(i))throw new ep(`xyChart.plotColorPalette[${t}]`,e,!1)}}}if("architecture"===t&&("string"!=typeof e.mainBkg||0===e.mainBkg.length)){let t=e.secondaryColor;if(void 0!==t){let e=ef(t);if(void 0===L(t,!0))throw new ep("secondaryColor",e,!0)}}}var eS={schemaVersion:2,provenance:{version:"12.2.0"},families:[{id:"flowchart",headers:[{value:"flowchart",agenticStatus:"native"},{value:"graph",agenticStatus:"native"},{value:"flowchart-elk",agenticStatus:"unsupported"}]},{id:"swimlane",headers:[{value:"swimlane-beta",agenticStatus:"unsupported"}]},{id:"sequence",headers:[{value:"sequenceDiagram",agenticStatus:"native"}]},{id:"class",headers:[{value:"classDiagram",agenticStatus:"native"},{value:"classDiagram-v2",agenticStatus:"native"}]},{id:"state",headers:[{value:"stateDiagram",agenticStatus:"native"},{value:"stateDiagram-v2",agenticStatus:"native"}]},{id:"er",headers:[{value:"erDiagram",agenticStatus:"native"}]},{id:"journey",headers:[{value:"journey",agenticStatus:"native"}]},{id:"gantt",headers:[{value:"gantt",agenticStatus:"native"}]},{id:"pie",headers:[{value:"pie",agenticStatus:"native"}]},{id:"quadrant",headers:[{value:"quadrantChart",agenticStatus:"native"}]},{id:"requirement",headers:[{value:"requirementDiagram",agenticStatus:"native"},{value:"requirement",agenticStatus:"native"}]},{id:"gitgraph",headers:[{value:"gitGraph",agenticStatus:"native"}]},{id:"c4",headers:[{value:"C4Context",agenticStatus:"native"},{value:"C4Container",agenticStatus:"native"},{value:"C4Component",agenticStatus:"native"},{value:"C4Dynamic",agenticStatus:"native"},{value:"C4Deployment",agenticStatus:"native"}]},{id:"mindmap",headers:[{value:"mindmap",agenticStatus:"native"}]},{id:"timeline",headers:[{value:"timeline",agenticStatus:"native"}]},{id:"zenuml",headers:[{value:"zenuml",agenticStatus:"native"}]},{id:"sankey",headers:[{value:"sankey",agenticStatus:"native"},{value:"sankey-beta",agenticStatus:"native"}]},{id:"xychart",headers:[{value:"xychart",agenticStatus:"native"},{value:"xychart-beta",agenticStatus:"native"}]},{id:"block",headers:[{value:"block",agenticStatus:"native"},{value:"block-beta",agenticStatus:"native"}]},{id:"packet",headers:[{value:"packet",agenticStatus:"native"},{value:"packet-beta",agenticStatus:"native"}]},{id:"kanban",headers:[{value:"kanban",agenticStatus:"native"}]},{id:"architecture",headers:[{value:"architecture",agenticStatus:"native"},{value:"architecture-beta",agenticStatus:"native"}]},{id:"radar",headers:[{value:"radar-beta",agenticStatus:"native"}]},{id:"eventmodeling",headers:[{value:"eventmodeling",agenticStatus:"native"}]},{id:"treemap",headers:[{value:"treemap",agenticStatus:"native"},{value:"treemap-beta",agenticStatus:"native"}]},{id:"venn",headers:[{value:"venn-beta",agenticStatus:"unsupported"}]},{id:"ishikawa",headers:[{value:"ishikawa",agenticStatus:"native"},{value:"ishikawa-beta",agenticStatus:"native"}]},{id:"wardley",headers:[{value:"wardley-beta",agenticStatus:"unsupported"}]},{id:"cynefin",headers:[{value:"cynefin-beta",agenticStatus:"unsupported"}]},{id:"treeview",headers:[{value:"treeView-beta",agenticStatus:"unsupported"}]},{id:"railroad",headers:[{value:"railroad-beta",agenticStatus:"unsupported"},{value:"railroad-ebnf-beta",agenticStatus:"unsupported"},{value:"railroad-abnf-beta",agenticStatus:"unsupported"},{value:"railroad-peg-beta",agenticStatus:"unsupported"}]},{id:"agentflow",headers:[{value:"agentflow-beta",agenticStatus:"unsupported"}]},{id:"usecase",headers:[{value:"usecase-beta",agenticStatus:"unsupported"}]}]};function e$(e,t="strict"){let i=G(e),a=l(i,t);if(a)return{kind:"registered",family:a};let r=function(e,t=eS){let i=(e.split(";")[0]??"").trim().toLowerCase();return t.families.flatMap(e=>e.headers.map(t=>({family:e,header:t}))).sort((e,t)=>t.header.value.length-e.header.value.length||_(e.family.id,t.family.id)).find(e=>(function(e,t){let i=t.trim().toLowerCase();if(e===i)return!0;if(!e.startsWith(i))return!1;let a=e[i.length];return void 0!==a&&/[\s:]/.test(a)})(i,e.header.value))??null}(i);return r?{kind:"upstream",match:r}:{kind:"unknown",header:e}}function ew(e,t,i,a){let r=F(e),n=-1,s=-1,l=e.length,d=Math.max(0,Math.min(e.length,i??0)),u=d;for(;u<=e.length;){let i=/\r\n?|\n/g;i.lastIndex=u;let a=i.exec(e),r=a?.index??-1,o=r<0?e.length:r,c=e.slice(u,o).replace(/\r$/,""),d=c.trim(),f=d.startsWith(t)?d.slice(t.length):"",p=/^\s*;/.test(f);if(d===t||p||/^\s/.test(f)&&H(d)!==d){if(s=(n=u+c.indexOf(t))+t.length,d===t)l=a?a.index+a[0].length:e.length;else for(l=p?e.indexOf(";",s)+1:s;l<o&&/[ \t]/.test(e[l]);)l++;break}if(r<0)break;u=a.index+a[0].length}if(n<0){let i=e.indexOf(t,d);n=i<0?d:i,s=Math.min(e.length,n+t.length);let a=e.indexOf(`
|
|
2
|
+
`,s);for(l=a<0?e.length:a+1,u=n;u>0&&10!==e.charCodeAt(u-1);)u--}return Object.freeze({source:A(r,0,e.length),...(i??u)>0?{wrapper:A(r,0,i??u)}:{},...function(e,t,i,a=F(e),r){let n=V(e),s=n?.source.length??0,l=function(e,t,i=F(e),a=X(e),r){let n=[...e.slice(t).matchAll(/[^\r\n]*(?:\r\n?|\n|$)/g)],o=n.map(e=>e[0]),s=e.slice(t),l=c(Y(a),w(s).split(/\r\n?|\n/),r),d=$(s,l),u=s.split("");for(let e of d.directives)for(let t=e.start;t<e.end;t++)"\r"!==u[t]&&u[t]!==`
|
|
3
3
|
`&&(u[t]=" ");let f=u.join("").split(/\r\n?|\n/),p=n.map(e=>t+e.index),m=[],g=c(Y(a),f,r);for(let e=0;e<f.length;e++){let t=I(f,e);if(void 0===t)break;if(null===t){e=T(g,e,f.length);continue}let a=p[e],r;r="block"===t.form?p[t.endIndex]+f[t.endIndex].indexOf("}")+1:a+o[e].length,m.push(A(i,a,r)),e=t.endIndex}return Object.freeze(m)}(e,s,a,i,r),d=e.split("");for(let t of l)if(/^\s*%% agentic-mermaid (?:accTitle|accDescr):/.test(e.slice(t.start.offset,t.end.offset)))for(let e=t.start.offset;e<t.end.offset;e++)"\r"!==d[e]&&d[e]!==`
|
|
4
|
-
`&&(d[e]=" ");let u=(function(e,t,i=0,a=F(e)){let r=[],n=new RegExp(t.source,t.flags.includes("g")?t.flags:`${t.flags}g`),o;for(;null!==(o=n.exec(e));)r.push(A(a,i+o.index,i+o.index+o[0].length)),0===o[0].length&&n.lastIndex++;return Object.freeze(r)})(d.join("").slice(s),RegExp(J.source,"gm"),s,a).filter(t=>o(e.slice(t.start.offset,t.end.offset)));return{...n?{frontmatter:A(a,0,s)}:{},...u.length>0?{initDirectives:u}:{},...l.length>0?{accessibilityDirectives:Object.freeze(l)}:{}}}(e,0,t,r,a),header:A(r,n,s),body:A(r,l,e.length)})}function ex(e,t="strict"){let i=e$(e,t);return"registered"===i.kind?{kind:"registered",familyId:i.family.id}:i}var eC=class extends Error{name="MermaidFamilyDetectionError";code;line;preservation;help;constructor(e){super(e.message),this.code=e.code,this.line=e.line,this.preservation=e.preservation,this.help=e.help}toJSON(){return{code:this.code,message:this.message,line:this.line,preservation:this.preservation,help:this.help}}};function eO(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return;let i=e[t];return i&&"object"==typeof i&&!Array.isArray(i)?i:void 0}function ej(e,t,i){if(!i)return[];let a=t&&"object"==typeof t&&!Array.isArray(t)?t:void 0,r=eO(t,i.section);if(!r)return a&&i.section in a?[{code:"INEFFECTIVE_CONFIG",field:i.section,message:`${e} config section "${i.section}" must be an object; the invalid value has no effect.`}]:[];let n=new Set(i.keys);return Object.keys(r).filter(e=>!n.has(e)).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is unknown and has no effect; check the spelling or remove it.`}))}function ek(e,{root:t,config:i},a={}){let r=ej(e,t,i),n=eO(t,i.section);if(n){for(let[e,t]of Object.entries(a))if(e in n&&!t.valid(n[e])){let a=`${i.section}.${e}`;r.push({code:"INEFFECTIVE_CONFIG",field:a,message:`${a} must be ${t.expected}; the invalid value has no effect.`})}}return[...r,...function(e,t,i,a={}){if(!i)return[];let r=eO(t,i.section);if(!r)return[];let n=new Set(i.noopKeys??[]);return Object.keys(r).filter(e=>{if(!n.has(e))return!1;let t=a[e];return!t||t.valid(r[e])}).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is accepted for ${e.includes(":")?"compatibility":"Mermaid compatibility"} but has no effect on this renderer.`}))}(e,t,i,a)]}Object.freeze(["library","cli","codeMode","localMcp","hostedMcp","editor","website"]);var eE=["onConfigDiagnostic"],eF=(e,t)=>({type:"string",...void 0===t?{}:{default:t}}),eA=(e,t,i={})=>({type:"number",...void 0===t?{}:{default:t},...i}),eI=(e,t)=>eA(void 0,t,{minimum:0}),eT=(e,t)=>eA(void 0,t,{exclusiveMinimum:0}),eD=e=>eA(void 0,void 0,{minimum:1,maximum:1e3}),ez=(e,t)=>({type:"boolean",...void 0===t?{}:{default:t}}),eL=(e,t)=>({...eF(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssPaint"}),eM=(e,t)=>({...eF(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssFontFamily"}),eR=(e,t,i=[])=>({type:"object",additionalProperties:!1,properties:e,...0===i.length?{}:{required:i}}),eq={type:"string",enum:["uppercase","lowercase","capitalize"]},eN={...eR({groupHeaderHeight:eT(void 0),groupFontSize:eT(void 0),groupFontWeight:eD(void 0),groupLetterSpacing:eA(void 0),groupFont:eM(void 0),groupTextTransform:{...eq},groupPaddingX:eI(void 0),groupPaddingY:eI(void 0),groupLabelPaddingX:eI(void 0),groupCornerRadius:eI(void 0),groupLineWidth:eI(void 0),groupText:eL(void 0),serviceFontSize:eT(void 0),serviceFontWeight:eD(void 0),serviceLetterSpacing:eA(void 0),serviceTextTransform:{...eq},servicePaddingX:eI(void 0),servicePaddingY:eI(void 0),serviceCornerRadius:eI(void 0),serviceLineWidth:eI(void 0),serviceText:eL(void 0),edgeFontSize:eT(void 0),edgeFontWeight:eD(void 0),edgeLetterSpacing:eA(void 0),edgeTextTransform:{...eq},edgeLineWidth:eI(void 0),edgeBendRadius:eI(void 0),edgeStroke:eL(void 0),edgeText:eL(void 0),iconSize:eT(void 0),serviceIconSize:eT(void 0),junctionOuterRadius:eT(void 0),junctionInnerRadius:eI(void 0),groupSurface:eL(void 0),groupHeaderSurface:eL(void 0),groupBorder:eL(void 0),serviceSurface:eL(void 0),serviceBorder:eL(void 0)},void 0),"x-agentic-mermaid-runtime-validator":"architectureVisual"},eP={anyOf:[{type:"string"},(()=>{let t=e(),i=t.$defs,a=e=>{if(Array.isArray(e))return e.map(a);if(null===e||"object"!=typeof e)return e;let t=e.$ref;if("string"==typeof t&&t.startsWith("#/$defs/")){let e=i?.[t.slice(8)];if(!e)throw Error(`StyleSpec schema has unresolved local reference ${t}`);return a(e)}return Object.fromEntries(Object.entries(e).filter(([e])=>"$defs"!==e).map(([e,t])=>[e,a(t)]))},{$schema:r,$id:n,title:o,...s}=t;return a(s)})()],"x-agentic-mermaid-validation-expectation":"a registered Style name or StyleSpec"},eB={anyOf:[{type:"null"},{type:"string"},{type:"number"},{type:"boolean"},{type:"array",items:{$ref:"#/$defs/jsonValue"}},{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}],"x-agentic-mermaid-validation-expectation":"a finite, acyclic JSON value without prototype keys"},e_=["flowchart","state","class","er","architecture","c4"],eW=y({layoutHints:{validationExpectation:"contain integer ranks, node groups and edge IDs",schema:{type:"object",additionalProperties:!1,properties:{ranks:{type:"object",additionalProperties:{type:"integer",minimum:0,maximum:1e4}},adjacent:{type:"array",items:{type:"array",minItems:2,items:{type:"string"}}},shortEdges:{type:"array",items:{type:"string"}}}},applicableBuiltinFamilies:["flowchart","state"]},graphLayout:{validationExpectation:"be a graph layout selection object",schema:{anyOf:[eR({backend:{type:"string",const:"elk"},fallback:{type:"string",enum:["none"]}},void 0,["backend"]),eR({backend:{type:"string",const:"agentic"},fallback:{type:"string",enum:["none","elk"]}},void 0,["backend"])]},applicableBuiltinFamilies:["flowchart","state","architecture","class","er","requirement"]},layoutSafety:{validationExpectation:"be report or strict",schema:{type:"string",enum:["report","strict"],default:"report"}},bg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0,"#FFFFFF")},fg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0,"#27272A")},line:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},accent:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},muted:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},surface:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},border:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},font:{validationExpectation:"be a safe non-fetching CSS font family or stack",schema:eM(void 0,"Inter")},style:{validationExpectation:"be a registered Style name or StyleSpec, or an array of them",schema:{anyOf:[eP,{type:"array",items:eP}],"x-agentic-mermaid-runtime-validator":"styleInput"}},padding:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,40),applicableBuiltinFamilies:["flowchart","state","architecture","c4"]},nodeSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,24),applicableBuiltinFamilies:e_},layerSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,40),applicableBuiltinFamilies:e_},wrappingWidth:{validationExpectation:"be a positive finite number",schema:eT(void 0),applicableBuiltinFamilies:["flowchart"]},componentSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0),applicableBuiltinFamilies:[]},transparent:{validationExpectation:"be a boolean",schema:ez(void 0,!1)},interactive:{validationExpectation:"be a boolean",schema:ez(void 0,!1),applicableBuiltinFamilies:["xychart","pie","quadrant"]},shadow:{validationExpectation:"be a boolean",schema:ez(void 0,!1),applicableBuiltinFamilies:["flowchart","state","sequence","timeline","class","er","journey","xychart","pie","quadrant","gantt","mindmap","gitgraph","sankey"]},class:{validationExpectation:"be a class options object",schema:eR({hierarchicalNamespaces:ez(void 0,!0)},void 0),applicableBuiltinFamilies:["class"]},kanban:{validationExpectation:"be a kanban options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["kanban"]},pie:{validationExpectation:"be a pie options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["pie"]},radar:{validationExpectation:"be a radar options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["radar"]},architecture:{validationExpectation:"be an architecture options object",schema:eR({visual:eN},void 0),applicableBuiltinFamilies:["architecture"]},timeline:{validationExpectation:"be a timeline options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["timeline"]},journey:{validationExpectation:"be a journey options object",schema:eR({experienceCurve:ez(void 0,!0)},void 0),applicableBuiltinFamilies:["journey"]},gantt:{validationExpectation:"be a Gantt options object",schema:eR({dependencyArrows:ez(void 0,!1),criticalPath:ez(void 0,!1)},void 0),applicableBuiltinFamilies:["gantt"]},mermaidConfig:{validationExpectation:"be a plain JSON object",schema:{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}},embedFontImport:{validationExpectation:"be a boolean",schema:ez(void 0,!1)},compact:{validationExpectation:"be a boolean",schema:ez(void 0,!1)},idPrefix:{validationExpectation:"be non-empty and contain only ASCII letters, digits, underscore, hyphen, dot, and colon",schema:{...eF(void 0),pattern:"^[A-Za-z0-9_.:-]+$"}},security:{validationExpectation:"be default or strict",schema:{type:"string",enum:["default","strict"],default:"default"}},ganttToday:{validationExpectation:"be a string",schema:eF(void 0),applicableBuiltinFamilies:["gantt"]},seed:{validationExpectation:"be a finite number",schema:eA(void 0,0)}}),eV=Object.freeze(Object.keys(eW)),eJ=Object.freeze(eV.filter(e=>"applicableBuiltinFamilies"in eW[e]));function eG(e){let t=e=>Array.isArray(e)?e.map(t):h(e)?Object.fromEntries(Object.entries(e).map(([e,i])=>[e,t(i)])):e;return t(e)}function eH(e){let t=String(e[0]??"");for(let i of e.slice(1))t+="number"==typeof i?`[${i}]`:`.${i}`;return`render option "${t}"`}function eU(e){return m(f(e).map(e=>e.path.length>0?`${eH(e.path)} ${e.message}`:`render options ${e.message}`),"render options")}function eY(e,t,i){let r=t["x-agentic-mermaid-runtime-validator"];if("safeCssColor"===r&&void 0===z(e))return[{path:i,message:"must be a safe, non-fetching CSS color",generic:!1}];if("safeCssPaint"===r&&void 0===R(e))return[{path:i,message:"must be a safe, non-fetching CSS paint",generic:!1}];if("safeCssFontFamily"===r&&void 0===q(e))return[{path:i,message:"must be a safe, non-fetching CSS font family or stack",generic:!1}];if("styleInput"===r)try{a(e)}catch(e){return[{path:i,message:`is invalid: ${e instanceof Error?e.message:String(e)}`,generic:!1}]}if("architectureVisual"===r&&h(e)){let t=e.junctionOuterRadius,a=e.junctionInnerRadius;if("number"==typeof t&&"number"==typeof a&&a>t)return[{path:[...i,"junctionInnerRadius"],message:"must not exceed junctionOuterRadius",generic:!1}]}return[]}function eK(e){if(!h(e))return["render options must be a plain JSON object"];let t=eU(e);if(t.length>0)return t;let i=[],a=Q??=y(function(){let e={};for(let t of eV){let i=eW[t],a="terminalNote"in i?i.terminalNote:void 0,r="applicableBuiltinFamilies"in i?i.applicableBuiltinFamilies:void 0;e[t]={...eG(i.schema),"x-agentic-mermaid-terminal":i.terminal,...void 0===a?{}:{"x-agentic-mermaid-terminal-note":a},...void 0===r?{}:{"x-agentic-mermaid-applicable-builtin-families":[...r]}}}return{type:"object",additionalProperties:!1,properties:e,$defs:{jsonValue:eG(eB)}}}());for(let[t,r]of Object.entries(e)){if(!Object.hasOwn(eW,t)){i.push(`unknown render option "${t}"`);continue}if(null===r){i.push(`render option "${t}" must be omitted instead of null`);continue}let e=eW[t],n=Z(r,e.schema,a,[t],{diagnostics:"field",validateRuntime:eY});n.length>0&&n.every(e=>e.generic&&1===e.path.length)?i.push(`render option "${t}" must ${e.validationExpectation}`):i.push(...n.map(e=>`${eH(e.path)} ${e.message}`))}return m(i,"render options")}var eX=class extends Error{constructor(e,t){super(`Parsed Mermaid family "${e}" serialized as family "${t}"`),this.expectedFamilyId=e,this.detectedFamilyId=t}expectedFamilyId;detectedFamilyId;name="ParsedDiagramFamilyMismatchError";code="PARSED_DIAGRAM_FAMILY_MISMATCH"},eZ=class extends Error{name="RenderCapabilityError";code="UNSATISFIED_RENDER_CAPABILITIES";output;family;decision;constructor(e,t,i,a){super(e),this.output=t,this.family=Object.freeze({id:i.identity.id,version:i.identity.version}),this.decision=a}toJSON(){return{name:this.name,code:this.code,message:this.message,output:this.output,family:this.family,decision:this.decision}}},eQ=class extends TypeError{constructor(e){super(e),this.name="RenderConfigError"}},e0=new WeakMap;function e1(e){let t=e0.get(e);if(!t)throw Error("Resolved render request has no internal execution plan");return t}function e6(e,t=[]){let i,a=e0.get(e),r=a?.executionDecision,n=a&&Object.hasOwn(a,"textMeasurement")?a.textMeasurement:void 0;return Object.freeze({version:e.version,output:e.output,sharedRequestDigest:e.sharedRequestDigest,requestDigest:e.requestDigest,appearanceDigest:e.appearance.digest,capabilityDecision:e.capabilityDecision,diagnostics:(i=new Set,Object.freeze([...Object.hasOwn(e,"resolutionDiagnostics")?e.resolutionDiagnostics:[],...t,...N(e).flatMap(e=>"agentic"===e.requested&&"elk"===e.selected?[{code:"GRAPH_LAYOUT_FALLBACK",feature:"graph-layout",message:`Agentic graph layout used the requested ELK fallback: ${e.reason??"candidate rejected"}`}]:[])].flatMap(e=>{let t=e7(e);return i.has(t)?[]:(i.add(t),[Object.freeze({...e})])}))),...r?{executionDecision:r}:{},...n?{textMeasurement:n.identity}:{},...N(e).length?{layoutDecisions:N(e)}:{}})}function e2(e){let t=e4.get(e);if(t)return t;let i=e0.get(e)?.backend?.identity.id??("layout"===e.output?`backend:${e.appearance.inferredBackend}`:void 0),a=Object.freeze({renderOptions:e.renderOptions,...e.appearance.face?{styleFace:e.appearance.face}:{},...i?{paintBackendId:i}:{},...e.familyConfig?{familyConfig:e.familyConfig}:{},...e.appearance.family?{familyAppearance:e.appearance.family}:{}});return e0.has(e)&&e4.set(e,a),a}var e4=new WeakMap;function e5(e){let t={};for(let i of eV){let a=e[i];void 0!==a&&(t[i]=a)}return t}var e3=new Set(["padding","nodeSpacing","layerSpacing","wrappingWidth","class"]);function e8(e,t="$",i=0,a=new Set,r={nodes:0,chars:0,opaque:!1,admission:void 0}){let n=r.admission;if(n?.valid)switch((++n.nodes>d.maxNodes||i>d.maxDepth)&&(n.valid=!1),typeof e){case"number":e-e!=0&&(n.valid=!1);break;case"undefined":case"bigint":case"symbol":case"function":n.valid=!1}if("string"==typeof e){if(r.chars+=e.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}`);return e}if(null===e||"object"!=typeof e)return e;if(i>64)throw TypeError(`data exceeds maximum depth 64 at ${t}`);if(++r.nodes>1e5)throw TypeError(`data exceeds the 100000-node aggregate limit at ${t}`);if(a.has(e))throw TypeError(`data must be acyclic at ${t}`);if(Array.isArray(e)){if(e.length>1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);a.add(e);try{let o=[],s=Object.create(null);s.enumerable=s.configurable=s.writable=!0;for(let n=0;n<e.length;n++){if(n>=1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError(`data must not contain a sparse array at ${t}[${n}]`);s.value=e8(e[n],`${t}[${n}]`,i+1,a,r),Object.defineProperty(o,n,s)}return n&&o.length>d.maxItemsPerContainer&&(n.valid=!1),tr(o,!r.opaque)}finally{a.delete(e)}}if(!h(e))return r.opaque=!0,n&&(n.valid=!1),e;a.add(e);try{let o={},s=0;for(let[l,c]of Object.entries(e)){if(r.chars+=l.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}.${l}`);if(void 0!==c){n&&(++s>d.maxItemsPerContainer||u(l))&&(n.valid=!1);let e=e8(c,`${t}.${l}`,i+1,a,r);l in o?Object.defineProperty(o,l,{value:e,enumerable:!0}):o[l]=e}}return tr(o,!r.opaque)}finally{a.delete(e)}}function e9(e,t,i,a=!1){let r;if(void 0===t)return;if(!h(t))throw TypeError(`Family "${e.id}" returned ${i} data that is not a plain object`);if(a)return t;try{r=e8(t)}catch(t){throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t instanceof Error?t.message:String(t)}`)}let n={...eB,$defs:{jsonValue:eB}},o=Z(r,n,n,[`family${"config"===i?"Config":"Appearance"}`],{diagnostics:"field",validateRuntime:eY});if(o.length>0){let t=o.map(e=>`${e.path.join(".")} ${e.message}`).join("; ");throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t}`)}return tn(r)}function e7(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e7).join(",")}]`;let t="{",i="";for(let a of Object.keys(e).sort()){let r=e[a];void 0!==r&&(t+=`${i}${JSON.stringify(a)}:${e7(r)}`,i=",")}return`${t}}`}function te(e,t){try{let t,i;return t=tt(e),()=>(void 0===i&&(i=ti(e7(t)),t=void 0),i)}catch(e){throw e instanceof TypeError&&/aggregate limit/.test(e.message)?new x("sourceCharacters",t.originalText.length+t.text.length,!0):e}}function tt(e){let t,i={nodes:0,valid:2e6<=d.maxAggregateTextCharacters&&6e6<=d.maxAggregateTextBytes};try{t=to(e,"render contract digest input",i)}catch(e){throw TypeError((e instanceof Error?e.message:String(e)).replace("data exceeds maximum depth","data exceeds maximum nesting depth"))}return i.valid||p(t,"render contract digest input",{allowUndefinedObjectProperties:!0}),t}function ti(e){let t=-0x340d631c,i=-0x7bdddcdb;for(let a=0;a<e.length;a++){let r=i^e.charCodeAt(a),n=(r>>>16)*435+((65535&r)*435>>>16)>>>16;i=Math.imul(r,435),t=Math.imul(t,435)+n+(r<<8)|0}return`fnv1a64:${(t>>>0).toString(16).padStart(8,"0")}${(i>>>0).toString(16).padStart(8,"0")}`}var ta=new WeakSet;function tr(e,t=!0){return Object.freeze(e),t&&ta.add(e),e}function tn(e,t="$",i,a){let r;if(null===e||"object"!=typeof e||ta.has(e))return e;if(i??=new Set,a??=new WeakMap,i.has(e))throw TypeError(`render request contains a cycle at ${t}`);let n=a.get(e);if(n)return n;let o=Object.getPrototypeOf(e);if(!Array.isArray(e)&&o!==Object.prototype&&null!==o)throw TypeError(`render request contains a non-JSON object at ${t}`);if(i.add(e),Array.isArray(e)){let n=e.length,o=Array(n);for(let r=0;r<n;r++)r in e&&(o[r]=tn(e[r],`${t}[${r}]`,i,a));r=o}else{let n={};for(let[r,o]of Object.entries(e)){let e=tn(o,`${t}.${r}`,i,a);r in n?Object.defineProperty(n,r,{value:e,enumerable:!0}):n[r]=e}r=n}return i.delete(e),a.set(e,r),tr(r)}function to(e,t,i){try{return tn(i?e8(e,"$",0,new Set,{nodes:0,chars:0,opaque:!1,admission:i}):e8(e))}catch(e){throw TypeError(`${t} could not be snapshotted: ${e instanceof Error?e.message:String(e)}`)}}var ts=Object.freeze({serializable:tn({})}),tl=new WeakMap,tc=new WeakMap;function td(e){if(tl.has(e))return e;let t=tf(e),i=tn(r(t.serializable.style)),a=eK(t.serializable);if(a.length)throw new eQ(`Invalid RenderOptions: ${a.join("; ")}`);let n=tp(t.serializable.style),o=Object.freeze({...t.serializable,...t.onConfigDiagnostic?{onConfigDiagnostic:t.onConfigDiagnostic}:{}});return tl.set(o,Object.freeze({...t,capturedStyle:i})),tc.set(t.serializable,n),o}function tu(e){let t=tl.get(e)?.capturedStyle;if(!t)throw TypeError("Render options have not been captured");return t.style?i(t.style):"default"}function tf(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new eQ("Invalid RenderOptions: render options must be an object");let t=tl.get(e);if(t)return t;let i=[],a;for(let[t,r]of Object.entries(e))"onConfigDiagnostic"===t?a=r:void 0!==r&&i.push([t,r]);if(void 0!==a&&"function"!=typeof a)throw new eQ("Invalid RenderOptions: onConfigDiagnostic must be a function");if(0===i.length&&void 0===a)return ts;let r=Object.fromEntries(i),n;try{n=to(r,"RenderOptions")}catch(t){let e=(t instanceof Error?t.message:String(t)).replace("data exceeds maximum depth","render option tree exceeds maximum nesting depth");throw new eQ(`Invalid RenderOptions: ${e}`)}return Object.freeze({serializable:n,...void 0===a?{}:{onConfigDiagnostic:a}})}function tp(e){return tn((void 0===e?[]:Array.isArray(e)?e:[e]).flatMap(e=>{if("string"!=typeof e||"crisp"===e)return[];let i=t(e);return i?[{input:e,canonicalId:i.canonicalId}]:[]}))}var tm="1.0.0";function tg(e,t,i=tm){return t?[{id:e,version:i}]:[]}function th(e,t=`^${tm}`){return{id:e,range:t,level:"required"}}function ty(e){return`scene-primitive:${e.primitive}/${e.feature}/${e.operation}`}var tv=new WeakMap;function tb(e,t){let i=tv.get(e.backend);return i||(i=new Set(b.filter(t=>e.backend.capabilities.some(e=>e.primitive===t.primitive&&e.feature===t.feature&&e.operation===t.operation&&"unsupported"!==e.realization))),tv.set(e.backend,i)),i.has(t)}var tS=new Map;function t$(e){return!e.id.startsWith("output:")&&!e.id.startsWith("operation:")&&!e.id.startsWith("backend:")&&!e.id.startsWith("scene-primitive:")&&"core:scene"!==e.id}function tw(e,t={},a="svg",o,l={}){let c=tf(t),d=c.serializable,u=eU(d);if(u.length>0)throw new eQ(`Invalid RenderOptions: ${u.join("; ")}`);let f=c.capturedStyle??r(d.style),p=f.style,m=tn(f.face),y=c.capturedStyle?[]:eK(d);if(y.length>0)throw new eQ(`Invalid RenderOptions: ${y.join("; ")}`);let $,w=tn(g(e,d.mermaidConfig??{},e=>l.familyDescriptor?l.familyDescriptor:"registered"===($=e$(e)).kind?$.family:null)),x=l.familyDescriptor??function(e,t){if("registered"===t.kind)return t.family;throw new eC(function(e,t,i,a,r){let n=eS.provenance.version;if("unknown"===e.kind)return{code:"UNKNOWN_HEADER",message:`Unrecognized Mermaid header: "${e.header}"`,line:1,preservation:{version:1,classification:"unknown",source:t,header:e.header,mermaidVersion:n,spans:ew(t,a??e.header,i,null)},help:"Check for a Mermaid upgrade or register a namespaced family descriptor; the source was preserved unchanged."};let{family:o,header:s}=e.match,l="inventory-only"===s.agenticStatus?"inventory-only":"unsupported",c="native"===s.agenticStatus;return{code:c?"FAMILY_DESCRIPTOR_MISMATCH":"UNSUPPORTED_FAMILY",message:c?`Mermaid ${n} header "${s.value}" is marked native but no installed family descriptor claimed it`:`Mermaid ${n} family "${o.id}" is ${l} in Agentic Mermaid`,line:1,preservation:{version:1,classification:l,source:t,header:s.value,upstreamFamilyId:o.id,mermaidVersion:n,spans:ew(t,a??s.value,i,null)},help:c?"Report a descriptor/manifest mismatch; the source was preserved unchanged.":`Install a family descriptor for "${s.value}" or use a currently native family; the source was preserved unchanged.`}}("unknown"===t.kind?{...t,header:e.lines[0]??e.firstLine}:t,e.originalText,e.authoredWrapperLength??e.wrapperSource?.length??0,e.authoredHeader??e.lines[0]??e.firstLine,0))}(w,$);if(void 0!==l.expectedFamilyId&&x.id!==l.expectedFamilyId)throw new eX(l.expectedFamilyId,x.id);C("sourceCharacters",w.originalText.length+w.text.length);let E=v(w.config.themeCSS,d.security??"default");if(E)throw new eQ(E);"architecture"!==x.id&&eb(w.config.themeVariables,x.id,d),function(e,t){let i=eh(e[t]);if(i){if("timeline"===t)ev(i,"timeline","sectionFills",!1),ev(i,"timeline","sectionColours",!1),(void 0===i.sectionColours||Array.isArray(i.sectionColours)&&0===i.sectionColours.length)&&ev(i,"timeline","sectionColors",!1);else if("journey"===t)ev(i,"journey","actorColours",!0),ev(i,"journey","sectionFills",!1),ev(i,"journey","sectionColours",!1),ey(i,"journey","titleColor",!1);else if("requirement"===t)ey(i,"requirement","rect_fill",!0),ey(i,"requirement","rect_border_color",!0),ey(i,"requirement","text_color",!1);else if("sankey"===t){let e=i.linkColor;if("source"!==e&&"target"!==e&&"gradient"!==e&&ey(i,"sankey","linkColor",!0),void 0===i.nodeColors)return;let t=eh(i.nodeColors);if(!t)throw new eg("sankey.nodeColors",i.nodeColors,!1,"map");let a=void 0!==e&&"gradient"!==e;for(let[e,i]of Object.entries(t))if(void 0===L(i,a))throw new eg(/^[\w-]+$/.test(e)?`sankey.nodeColors.${e}`:`sankey.nodeColors[${JSON.stringify(e)}]`,i,a)}}}(w.frontmatter,x.id);let F=Object.freeze(eV.filter(e=>void 0!==d[e])),A=function(e,t){if(e.id.startsWith("family:")){let i=new Set(e.applicableRenderOptions??[]);return Object.freeze(t.flatMap(t=>!eJ.includes(t)||i.has(t)?[]:[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${t}`,message:`Render option "${t}" does not apply to extension family "${e.id}". Its FamilyDescriptor does not list the field in applicableRenderOptions.`})]))}let i=e.id;return Object.freeze(t.flatMap(e=>{let t=eW[e];if(!("applicableBuiltinFamilies"in t))return[];let a=t.applicableBuiltinFamilies;if(a.includes(i))return[];let r=0===a.length?"No built-in family currently consumes this option.":`Applicable built-in families: ${a.join(", ")}.`;return[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${e}`,message:`Render option "${e}" does not apply to built-in Mermaid family "${i}". ${r}`})]}))}(x,F),{appearance:I,renderOptions:T,familyConfig:D}=function(e){let{family:t,source:a,options:r,style:o,styleFace:s}=e,l="strict"===r.security?{...r,embedFontImport:!1}:{...r};r.graphLayout&&(l.graphLayout={...r.graphLayout,fallback:r.graphLayout.fallback??"none"});let c=void 0!==o&&n(o);c&&(l=function(e,t,i){let a={...e},r=e=>O[e].some(e=>i?.[e]!==void 0);for(let e of["bg","fg","line","accent","muted","surface","border"])void 0!==a[e]||r(e)||t.colors?.[e]===void 0||(a[e]=t.colors[e]);return void 0===a.font&&void 0!==t.font&&(a.font=t.font),a}(l,o,a.config.themeVariables));let d=r.font??a.config.fontFamily??k(a.config.themeVariables,"fontFamily")??l.font??"Inter",u=q(d)??d,{style:f,...p}=l,m={...p,...o?{style:o}:{},font:u,mermaidConfig:a.config},g={...j(m,a.config,u)},y=function(e,t,i,a,r,n){if(!e.normalizeRequest)return{renderOptions:i,colors:a};let o=Object.freeze({source:tn(t),renderOptions:tn(i),colors:tn(a),...r?{style:tn(r)}:{},...n?{styleFace:tn(n)}:{}}),s=e.normalizeRequest(o);if(void 0===s)return{renderOptions:i,colors:a};let l,c={nodes:0,valid:!0};try{l=to(s,`Family "${e.id}" request normalizer result`,c)}catch(t){throw TypeError(`Family "${e.id}" request normalizer returned invalid data: ${t instanceof Error?t.message:String(t)}`)}if(!h(l))throw TypeError(`Family "${e.id}" request normalizer must return a plain object`);let d=Object.keys(l).find(e=>!["renderOptions","familyConfig","appearance"].includes(e));if(d)throw TypeError(`Family "${e.id}" request normalizer returned unknown field "${d}"`);let u=l,f=u.appearance;if(void 0!==f){if(!h(f))throw TypeError(`Family "${e.id}" request normalizer returned a non-object appearance`);let t=Object.keys(f).find(e=>!["colors","family"].includes(e));if(t)throw TypeError(`Family "${e.id}" request normalizer returned unknown appearance field "${t}"`)}let p=u.renderOptions??i;if(void 0!==p.onConfigDiagnostic)throw TypeError(`Family "${e.id}" request normalizer may not return executable option "onConfigDiagnostic"`);let m=eK(Object.fromEntries(Object.entries(p).filter(([e,t])=>void 0!==t&&!eE.includes(e))));if(m.length>0)throw new eQ(`Family "${e.id}" returned invalid normalized RenderOptions: ${m.join("; ")}`);let g=e5(i),y=e5(p);for(let t of eV)if(!e3.has(t)&&e7(g[t])!==e7(y[t]))throw TypeError(`Family "${e.id}" request normalizer may not rewrite non-geometry option "${t}"`);let v=f?.colors?function(e,t,i){let a=new Set(["bg","fg","line","accent","muted","surface","border","shadow","font","embedFontImport"]),r=Object.keys(t).find(e=>!a.has(e));if(r)throw TypeError(`Family "${e.id}" returned unknown appearance color field "${r}"`);let n={...i};for(let i of["bg","fg","line","accent","muted","surface","border"]){let a=t[i];if(void 0===a)continue;let r=R(a);if(void 0===r)throw new eQ(`Family "${e.id}" returned an unsafe ${i} paint`);n[i]=r}if(void 0!==t.font){let a=q(t.font);if(void 0===a)throw new eQ(`Family "${e.id}" returned an unsafe font family`);if(a!==i.font)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "font"`)}if(void 0!==t.shadow){if("boolean"!=typeof t.shadow)throw TypeError(`Family "${e.id}" returned a non-boolean shadow value`);if(t.shadow!==i.shadow)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "shadow"`)}if(void 0!==t.embedFontImport){if("boolean"!=typeof t.embedFontImport)throw TypeError(`Family "${e.id}" returned a non-boolean embedFontImport value`);if(t.embedFontImport!==i.embedFontImport)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "embedFontImport"`)}return n}(e,f.colors,a):a,b=e9(e,u.familyConfig,"config",c.valid),S=e9(e,f?.family,"appearance",c.valid);return{renderOptions:p,colors:v,...b?{familyConfig:b}:{},...S?{familyAppearance:S}:{}}}(t,a,m,g,o,s),v=tn(y.colors),b=tc.get(r)??tp(r.style),S=function(e){let t=new Set;for(let i of Object.values(O))for(let a of i){let i=e.config.themeVariables?.[a];"string"==typeof i&&i.length>0&&void 0===z(i)&&t.add(a)}return Object.freeze([...t].sort())}(a),$={version:2,colors:v,font:u,style:tn(o),face:tn(s),styled:c,inferredBackend:o?i(o):"default",styleReferences:b,...S.length>0?{unsafeThemeColorKeys:S}:{},...y.familyAppearance?{family:y.familyAppearance}:{}},w=tn({...$,digest:ti(e7(tt($)))});return tn({renderOptions:tn(y.renderOptions),appearance:w,...y.familyConfig?{familyConfig:y.familyConfig}:{}})}({family:x,source:w,options:d,...p?{style:p}:{},...m?{styleFace:m}:{}}),M=I.family?.visual;"architecture"===x.id&&eb(w.config.themeVariables,x.id,d,M),function(e,t,i){if("architecture"!==t||!e)return;let a=i?.edgeStroke;if("string"==typeof a&&"none"===a.trim().toLowerCase())throw new em("architecture.visual.edgeStroke",a);for(let t of["bg","surface","line","accent"]){let r=e[t];if("string"==typeof r&&"none"===r.trim().toLowerCase()&&("surface"!==t||i?.groupSurface?.trim().toLowerCase()==="none")&&!("surface"===t&&i?.groupHeaderSurface)&&!(("line"===t||"accent"===t)&&a))throw new em(t,r)}let r=i?.groupSurface;if(!i?.groupHeaderSurface&&"string"==typeof r&&"none"===r.trim().toLowerCase())throw new em("architecture.visual.groupSurface",r)}(d,x.id,M);let N=function(e,t,i,a,r,n){var o,l,c,d,u;let f,p,m,g,h;"svg"===i||"png"===i?"scene"==(f=t.styled||e.lowerScene?"scene":"family-svg")&&(p=S(m=t.styled?t.inferredBackend:"default",a.backendPolicy)):f="layout"===i?"layout":"terminal";let y="scene"===f?(g=new Set(e.scenePrimitiveEvidence.filter(e=>"applicable"===e.applicability).map(e=>e.primitive)),b.filter(e=>g.has(e.primitive))):[],v=p?y.flatMap(e=>tg(ty(e),tb(p,e))):[],$=[{id:e.identity.id,version:e.identity.version},...tg("operation:layout",void 0!==e.layout),...tg("operation:project-positioned",void 0!==e.projectPositioned),...tg("operation:lower-scene",void 0!==e.lowerScene),...tg("operation:render-svg",void 0!==e.renderSvg),...tg("operation:render-terminal",void 0!==e.renderAscii),...tg("core:scene","scene"===f),...tg("backend:scene-renderer",void 0!==p,p?.identity.version),...v],w=[th("core:family-descriptor"),th(e.identity.id,e.identity.version)],x;switch(f){case"scene":w.push(th("core:scene"),th("operation:layout"),th("operation:lower-scene"),th("backend:scene-renderer",p?.identity.version??tm),...y.map(e=>th(ty(e)))),x=!!(e.layout&&e.lowerScene&&p&&y.every(e=>tb(p,e)));break;case"family-svg":w.push(th("operation:layout"),th("operation:render-svg")),x=!!(e.layout&&e.renderSvg);break;case"terminal":w.push(th("operation:render-terminal")),x=void 0!==e.renderAscii;break;case"layout":w.push(th("operation:layout"),th("operation:project-positioned")),x=!!(e.layout&&e.projectPositioned)}let C=function(e,t,i,a){let r=function(e,t,i,a){let r=t.length+i.length;if("string"!=typeof e||r>256)return;let n=e.length+16*r;if(n>16384)return;let o=`${e.length}:${e};${a};${t.length};${i.length};`;for(let e of t){if("string"!=typeof e.id||"string"!=typeof e.version||(n+=e.id.length+e.version.length)>16384)return;o+=`${e.id.length}:${e.id}${e.version.length}:${e.version}`}for(let e of i){if("string"!=typeof e.id||"string"!=typeof e.range||"string"!=typeof e.level||(n+=e.id.length+e.range.length+e.level.length)>16384)return;o+=`${e.id.length}:${e.id}${e.range.length}:${e.range}${e.level.length}:${e.level}`}return o.length<=8192?o:void 0}(e,t,i,a),n=void 0===r?void 0:tS.get(r);if(P("capability-decision",void 0===r?"bypass":n?"hit":"miss",void 0===r?"tuple-budget":void 0),n)return n;let o=B(e,{offers:t,requirements:i,outputAvailable:a});return void 0!==r&&(tS.size<32?tS.set(r,o):P("capability-decision","store-skipped","capacity")),o}(i,$,w,x);if(!C.accepted){let a,r;throw d=f,u=p,r=(a=C.resolutions.filter(e=>"required"===e.level&&"selected"!==e.status).map(e=>e.id).join(", "))?` (unsatisfied capabilities: ${a})`:"","layout"===i?new eZ(`No public layout projection registered for Mermaid family "${e.id}"${r}`,i,e,C):"ascii"===i||"unicode"===i||"html"===i?new eZ(`No ASCII renderer registered for Mermaid family ${e.id}${r}`,i,e,C):t.styled&&!e.lowerScene?new eZ(`Family "${e.id}" does not support styled rendering (no SceneGraph lowering registered). Render without the style option, or register a lowerScene hook for the family.${r}`,i,e,C):"scene"===d&&e.layout&&e.lowerScene&&!u?new eZ(t.styled?`Style "${t.style?.name??"(inline)"}" requires an unavailable SceneGraph backend${r}`:`Default SceneGraph backend is not registered${r}`,i,e,C):new eZ(`No SVG renderer registered for Mermaid family ${e.id}${r}`,i,e,C)}let O="terminal"===f?void 0:W(a.textMeasurement,t.font),j;if("scene"===f||"family-svg"===f){let t=Object.freeze("scene"===f?{mode:"scene",requestedId:m,selectedId:p.identity.id,version:p.identity.version,hostPolicy:void 0!==a.backendPolicy}:{mode:"family-svg"}),i={family:Object.freeze({id:e.identity.id,version:e.identity.version}),backend:t,...O?{textMeasurement:O.identity}:{}};j=Object.freeze({...i,digest:ti(e7(tt(i)))})}let k=void 0===r?void 0:Object.freeze((o=e.id,l=e.config,c=e.configDiagnostics,h=s(o),function(e,t,i,a){var r;let n;if(!i)return[];let o=a??s(e)?.configDiagnostics;return r=t.flatMap(t=>o?[...o({root:t,config:i})]:ek(e,{root:t,config:i})),n=new Set,r.sort((e,t)=>_(e.field,t.field)||_(e.message,t.message)).filter(e=>{let t=`${e.code}\0${e.field}\0${e.message}`;return!n.has(t)&&(n.add(t),!0)})}(o,[r],l??h?.config,c??h?.configDiagnostics)).map(e=>Object.freeze({...e})));return Object.freeze({output:i,mode:f,family:e,...p?{backend:p}:{},...m?{requestedBackendId:m}:{},...void 0===k?{}:{configDiagnostics:k},...n?{onConfigDiagnostic:n}:{},capabilityDecision:C,...j?{executionDecision:j}:{},...O?{textMeasurement:O}:{}})}(x,I,a,l,d.mermaidConfig,c.onConfigDiagnostic),V=N.capabilityDecision,J=Object.freeze(V.resolutions.filter(t$)),G=Object.freeze({version:V.version,accepted:J.every(e=>"required"!==e.level||"selected"===e.status),resolutions:J}),H={version:2,authoredSource:w.originalText,source:w.text,options:e5(T),appearance:I.digest,...D?{familyConfig:D}:{},...N.textMeasurement?{textMeasurement:N.textMeasurement.identity}:{},capabilities:G},U=te(H,w),Y=te({...H,output:a,outputOptions:o,capabilities:V},w),K=Object.freeze({version:2,output:a,source:tn(w),renderOptions:T,appearance:I,...D?{familyConfig:D}:{},capabilityDecision:V,explicitOptionFields:F,...0===A.length?{}:{resolutionDiagnostics:A},get sharedRequestDigest(){return U()},get requestDigest(){return Y()}});return e0.set(K,N),K}export{ex as a,eO as b,ej as c,ek as d,eQ as e,e1 as f,e6 as g,e2 as h,ti as i,td as j,tu as k,tw as l};
|
|
4
|
+
`&&(d[e]=" ");let u=(function(e,t,i=0,a=F(e)){let r=[],n=new RegExp(t.source,t.flags.includes("g")?t.flags:`${t.flags}g`),o;for(;null!==(o=n.exec(e));)r.push(A(a,i+o.index,i+o.index+o[0].length)),0===o[0].length&&n.lastIndex++;return Object.freeze(r)})(d.join("").slice(s),RegExp(J.source,"gm"),s,a).filter(t=>o(e.slice(t.start.offset,t.end.offset)));return{...n?{frontmatter:A(a,0,s)}:{},...u.length>0?{initDirectives:u}:{},...l.length>0?{accessibilityDirectives:Object.freeze(l)}:{}}}(e,0,t,r,a),header:A(r,n,s),body:A(r,l,e.length)})}function ex(e,t="strict"){let i=e$(e,t);return"registered"===i.kind?{kind:"registered",familyId:i.family.id}:i}var eC=class extends Error{name="MermaidFamilyDetectionError";code;line;preservation;help;constructor(e){super(e.message),this.code=e.code,this.line=e.line,this.preservation=e.preservation,this.help=e.help}toJSON(){return{code:this.code,message:this.message,line:this.line,preservation:this.preservation,help:this.help}}};function eO(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return;let i=e[t];return i&&"object"==typeof i&&!Array.isArray(i)?i:void 0}function ej(e,t,i){if(!i)return[];let a=t&&"object"==typeof t&&!Array.isArray(t)?t:void 0,r=eO(t,i.section);if(!r)return a&&i.section in a?[{code:"INEFFECTIVE_CONFIG",field:i.section,message:`${e} config section "${i.section}" must be an object; the invalid value has no effect.`}]:[];let n=new Set(i.keys);return Object.keys(r).filter(e=>!n.has(e)).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is unknown and has no effect; check the spelling or remove it.`}))}function ek(e,{root:t,config:i},a={}){let r=ej(e,t,i),n=eO(t,i.section);if(n){for(let[e,t]of Object.entries(a))if(e in n&&!t.valid(n[e])){let a=`${i.section}.${e}`;r.push({code:"INEFFECTIVE_CONFIG",field:a,message:`${a} must be ${t.expected}; the invalid value has no effect.`})}}return[...r,...function(e,t,i,a={}){if(!i)return[];let r=eO(t,i.section);if(!r)return[];let n=new Set(i.noopKeys??[]);return Object.keys(r).filter(e=>{if(!n.has(e))return!1;let t=a[e];return!t||t.valid(r[e])}).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is accepted for ${e.includes(":")?"compatibility":"Mermaid compatibility"} but has no effect on this renderer.`}))}(e,t,i,a)]}Object.freeze(["library","cli","codeMode","localMcp","hostedMcp","editor","website"]);var eE=["onConfigDiagnostic"],eF=(e,t)=>({type:"string",...void 0===t?{}:{default:t}}),eA=(e,t,i={})=>({type:"number",...void 0===t?{}:{default:t},...i}),eI=(e,t)=>eA(void 0,t,{minimum:0}),eT=(e,t)=>eA(void 0,t,{exclusiveMinimum:0}),ez=e=>eA(void 0,void 0,{minimum:1,maximum:1e3}),eD=(e,t)=>({type:"boolean",...void 0===t?{}:{default:t}}),eL=(e,t)=>({...eF(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssPaint"}),eM=(e,t)=>({...eF(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssFontFamily"}),eR=(e,t,i=[])=>({type:"object",additionalProperties:!1,properties:e,...0===i.length?{}:{required:i}}),eq={type:"string",enum:["uppercase","lowercase","capitalize"]},eP={...eR({groupHeaderHeight:eT(void 0),groupFontSize:eT(void 0),groupFontWeight:ez(void 0),groupLetterSpacing:eA(void 0),groupFont:eM(void 0),groupTextTransform:{...eq},groupPaddingX:eI(void 0),groupPaddingY:eI(void 0),groupLabelPaddingX:eI(void 0),groupCornerRadius:eI(void 0),groupLineWidth:eI(void 0),groupText:eL(void 0),serviceFontSize:eT(void 0),serviceFontWeight:ez(void 0),serviceLetterSpacing:eA(void 0),serviceTextTransform:{...eq},servicePaddingX:eI(void 0),servicePaddingY:eI(void 0),serviceCornerRadius:eI(void 0),serviceLineWidth:eI(void 0),serviceText:eL(void 0),edgeFontSize:eT(void 0),edgeFontWeight:ez(void 0),edgeLetterSpacing:eA(void 0),edgeTextTransform:{...eq},edgeLineWidth:eI(void 0),edgeBendRadius:eI(void 0),edgeStroke:eL(void 0),edgeText:eL(void 0),iconSize:eT(void 0),serviceIconSize:eT(void 0),junctionOuterRadius:eT(void 0),junctionInnerRadius:eI(void 0),groupSurface:eL(void 0),groupHeaderSurface:eL(void 0),groupBorder:eL(void 0),serviceSurface:eL(void 0),serviceBorder:eL(void 0)},void 0),"x-agentic-mermaid-runtime-validator":"architectureVisual"},eN={anyOf:[{type:"string"},(()=>{let t=e(),i=t.$defs,a=e=>{if(Array.isArray(e))return e.map(a);if(null===e||"object"!=typeof e)return e;let t=e.$ref;if("string"==typeof t&&t.startsWith("#/$defs/")){let e=i?.[t.slice(8)];if(!e)throw Error(`StyleSpec schema has unresolved local reference ${t}`);return a(e)}return Object.fromEntries(Object.entries(e).filter(([e])=>"$defs"!==e).map(([e,t])=>[e,a(t)]))},{$schema:r,$id:n,title:o,...s}=t;return a(s)})()],"x-agentic-mermaid-validation-expectation":"a registered Style name or StyleSpec"},eB={anyOf:[{type:"null"},{type:"string"},{type:"number"},{type:"boolean"},{type:"array",items:{$ref:"#/$defs/jsonValue"}},{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}],"x-agentic-mermaid-validation-expectation":"a finite, acyclic JSON value without prototype keys"},e_=["flowchart","state","class","er","architecture","c4"],eW=y({layoutHints:{validationExpectation:"contain integer ranks, node groups and edge IDs",schema:{type:"object",additionalProperties:!1,properties:{ranks:{type:"object",additionalProperties:{type:"integer",minimum:0,maximum:1e4}},adjacent:{type:"array",items:{type:"array",minItems:2,items:{type:"string"}}},shortEdges:{type:"array",items:{type:"string"}}}},applicableBuiltinFamilies:["flowchart","state"]},graphLayout:{validationExpectation:"be a graph layout selection object",schema:{anyOf:[eR({backend:{type:"string",const:"elk"},fallback:{type:"string",enum:["none"]}},void 0,["backend"]),eR({backend:{type:"string",const:"agentic"},fallback:{type:"string",enum:["none","elk"]}},void 0,["backend"])]},applicableBuiltinFamilies:["flowchart","state","architecture","class","er","requirement"]},layoutSafety:{validationExpectation:"be report or strict",schema:{type:"string",enum:["report","strict"],default:"report"}},bg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0,"#FFFFFF")},fg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0,"#27272A")},line:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},accent:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},muted:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},surface:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},border:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},font:{validationExpectation:"be a safe non-fetching CSS font family or stack",schema:eM(void 0,"Inter")},style:{validationExpectation:"be a registered Style name or StyleSpec, or an array of them",schema:{anyOf:[eN,{type:"array",items:eN}],"x-agentic-mermaid-runtime-validator":"styleInput"}},padding:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,40),applicableBuiltinFamilies:["flowchart","state","architecture","c4"]},nodeSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,24),applicableBuiltinFamilies:e_},layerSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,40),applicableBuiltinFamilies:e_},wrappingWidth:{validationExpectation:"be a positive finite number",schema:eT(void 0),applicableBuiltinFamilies:["flowchart"]},componentSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0),applicableBuiltinFamilies:[]},transparent:{validationExpectation:"be a boolean",schema:eD(void 0,!1)},interactive:{validationExpectation:"be a boolean",schema:eD(void 0,!1),applicableBuiltinFamilies:["xychart","pie","quadrant"]},shadow:{validationExpectation:"be a boolean",schema:eD(void 0,!1),applicableBuiltinFamilies:["flowchart","state","sequence","timeline","class","er","journey","xychart","pie","quadrant","gantt","mindmap","gitgraph","sankey"]},class:{validationExpectation:"be a class options object",schema:eR({hierarchicalNamespaces:eD(void 0,!0)},void 0),applicableBuiltinFamilies:["class"]},kanban:{validationExpectation:"be a kanban options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["kanban"]},pie:{validationExpectation:"be a pie options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["pie"]},radar:{validationExpectation:"be a radar options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["radar"]},architecture:{validationExpectation:"be an architecture options object",schema:eR({visual:eP},void 0),applicableBuiltinFamilies:["architecture"]},timeline:{validationExpectation:"be a timeline options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["timeline"]},journey:{validationExpectation:"be a journey options object",schema:eR({experienceCurve:eD(void 0,!0)},void 0),applicableBuiltinFamilies:["journey"]},gantt:{validationExpectation:"be a Gantt options object",schema:eR({dependencyArrows:eD(void 0,!1),criticalPath:eD(void 0,!1)},void 0),applicableBuiltinFamilies:["gantt"]},mermaidConfig:{validationExpectation:"be a plain JSON object",schema:{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}},embedFontImport:{validationExpectation:"be a boolean",schema:eD(void 0,!1)},compact:{validationExpectation:"be a boolean",schema:eD(void 0,!1)},idPrefix:{validationExpectation:"be non-empty and contain only ASCII letters, digits, underscore, hyphen, dot, and colon",schema:{...eF(void 0),pattern:"^[A-Za-z0-9_.:-]+$"}},security:{validationExpectation:"be default or strict",schema:{type:"string",enum:["default","strict"],default:"default"}},ganttToday:{validationExpectation:"be a string",schema:eF(void 0),applicableBuiltinFamilies:["gantt"]},seed:{validationExpectation:"be a finite number",schema:eA(void 0,0)}}),eV=Object.freeze(Object.keys(eW)),eJ=Object.freeze(eV.filter(e=>"applicableBuiltinFamilies"in eW[e]));function eH(e){let t=e=>Array.isArray(e)?e.map(t):h(e)?Object.fromEntries(Object.entries(e).map(([e,i])=>[e,t(i)])):e;return t(e)}function eG(e){let t=String(e[0]??"");for(let i of e.slice(1))t+="number"==typeof i?`[${i}]`:`.${i}`;return`render option "${t}"`}function eX(e){return m(f(e).map(e=>e.path.length>0?`${eG(e.path)} ${e.message}`:`render options ${e.message}`),"render options")}function eY(e,t,i){let r=t["x-agentic-mermaid-runtime-validator"];if("safeCssColor"===r&&void 0===D(e))return[{path:i,message:"must be a safe, non-fetching CSS color",generic:!1}];if("safeCssPaint"===r&&void 0===R(e))return[{path:i,message:"must be a safe, non-fetching CSS paint",generic:!1}];if("safeCssFontFamily"===r&&void 0===q(e))return[{path:i,message:"must be a safe, non-fetching CSS font family or stack",generic:!1}];if("styleInput"===r)try{a(e)}catch(e){return[{path:i,message:`is invalid: ${e instanceof Error?e.message:String(e)}`,generic:!1}]}if("architectureVisual"===r&&h(e)){let t=e.junctionOuterRadius,a=e.junctionInnerRadius;if("number"==typeof t&&"number"==typeof a&&a>t)return[{path:[...i,"junctionInnerRadius"],message:"must not exceed junctionOuterRadius",generic:!1}]}return[]}function eU(e){if(!h(e))return["render options must be a plain JSON object"];let t=eX(e);if(t.length>0)return t;let i=[],a=Q??=y(function(){let e={};for(let t of eV){let i=eW[t],a="terminalNote"in i?i.terminalNote:void 0,r="applicableBuiltinFamilies"in i?i.applicableBuiltinFamilies:void 0;e[t]={...eH(i.schema),"x-agentic-mermaid-terminal":i.terminal,...void 0===a?{}:{"x-agentic-mermaid-terminal-note":a},...void 0===r?{}:{"x-agentic-mermaid-applicable-builtin-families":[...r]}}}return{type:"object",additionalProperties:!1,properties:e,$defs:{jsonValue:eH(eB)}}}());for(let[t,r]of Object.entries(e)){if(!Object.hasOwn(eW,t)){i.push(`unknown render option "${t}"`);continue}if(null===r){i.push(`render option "${t}" must be omitted instead of null`);continue}let e=eW[t],n=Z(r,e.schema,a,[t],{diagnostics:"field",validateRuntime:eY});n.length>0&&n.every(e=>e.generic&&1===e.path.length)?i.push(`render option "${t}" must ${e.validationExpectation}`):i.push(...n.map(e=>`${eG(e.path)} ${e.message}`))}return m(i,"render options")}var eK=class extends Error{constructor(e,t){super(`Parsed Mermaid family "${e}" serialized as family "${t}"`),this.expectedFamilyId=e,this.detectedFamilyId=t}expectedFamilyId;detectedFamilyId;name="ParsedDiagramFamilyMismatchError";code="PARSED_DIAGRAM_FAMILY_MISMATCH"},eZ=class extends Error{name="RenderCapabilityError";code="UNSATISFIED_RENDER_CAPABILITIES";output;family;decision;constructor(e,t,i,a){super(e),this.output=t,this.family=Object.freeze({id:i.identity.id,version:i.identity.version}),this.decision=a}toJSON(){return{name:this.name,code:this.code,message:this.message,output:this.output,family:this.family,decision:this.decision}}},eQ=class extends TypeError{constructor(e){super(e),this.name="RenderConfigError"}},e0=new WeakMap;function e1(e){let t=e0.get(e);if(!t)throw Error("Resolved render request has no internal execution plan");return t}function e2(e,t=[]){let i,a=e0.get(e),r=a?.executionDecision,n=a&&Object.hasOwn(a,"textMeasurement")?a.textMeasurement:void 0;return Object.freeze({version:e.version,output:e.output,sharedRequestDigest:e.sharedRequestDigest,requestDigest:e.requestDigest,appearanceDigest:e.appearance.digest,capabilityDecision:e.capabilityDecision,diagnostics:(i=new Set,Object.freeze([...Object.hasOwn(e,"resolutionDiagnostics")?e.resolutionDiagnostics:[],...t,...P(e).flatMap(e=>"agentic"===e.requested&&"elk"===e.selected?[{code:"GRAPH_LAYOUT_FALLBACK",feature:"graph-layout",message:`Agentic graph layout used the requested ELK fallback: ${e.reason??"candidate rejected"}`}]:[])].flatMap(e=>{let t=e7(e);return i.has(t)?[]:(i.add(t),[Object.freeze({...e})])}))),...r?{executionDecision:r}:{},...n?{textMeasurement:n.identity}:{},...P(e).length?{layoutDecisions:P(e)}:{}})}function e6(e){let t=e4.get(e);if(t)return t;let i=e0.get(e)?.backend?.identity.id??("layout"===e.output?`backend:${e.appearance.inferredBackend}`:void 0),a=Object.freeze({renderOptions:e.renderOptions,...e.appearance.face?{styleFace:e.appearance.face}:{},...i?{paintBackendId:i}:{},...e.familyConfig?{familyConfig:e.familyConfig}:{},...e.appearance.family?{familyAppearance:e.appearance.family}:{}});return e0.has(e)&&e4.set(e,a),a}var e4=new WeakMap;function e3(e){let t={};for(let i of eV){let a=e[i];void 0!==a&&(t[i]=a)}return t}var e5=new Set(["padding","nodeSpacing","layerSpacing","wrappingWidth","class"]);function e8(e,t="$",i=0,a=new Set,r={nodes:0,chars:0,opaque:!1,admission:void 0}){let n=r.admission;if(n?.valid)switch((++n.nodes>d.maxNodes||i>d.maxDepth)&&(n.valid=!1),typeof e){case"number":e-e!=0&&(n.valid=!1);break;case"undefined":case"bigint":case"symbol":case"function":n.valid=!1}if("string"==typeof e){if(r.chars+=e.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}`);return e}if(null===e||"object"!=typeof e)return e;if(i>64)throw TypeError(`data exceeds maximum depth 64 at ${t}`);if(++r.nodes>1e5)throw TypeError(`data exceeds the 100000-node aggregate limit at ${t}`);if(a.has(e))throw TypeError(`data must be acyclic at ${t}`);if(Array.isArray(e)){if(e.length>1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);a.add(e);try{let o=[],s=Object.create(null);s.enumerable=s.configurable=s.writable=!0;for(let n=0;n<e.length;n++){if(n>=1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError(`data must not contain a sparse array at ${t}[${n}]`);s.value=e8(e[n],`${t}[${n}]`,i+1,a,r),Object.defineProperty(o,n,s)}return n&&o.length>d.maxItemsPerContainer&&(n.valid=!1),tr(o,!r.opaque)}finally{a.delete(e)}}if(!h(e))return r.opaque=!0,n&&(n.valid=!1),e;a.add(e);try{let o={},s=0;for(let[l,c]of Object.entries(e)){if(r.chars+=l.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}.${l}`);if(void 0!==c){n&&(++s>d.maxItemsPerContainer||u(l))&&(n.valid=!1);let e=e8(c,`${t}.${l}`,i+1,a,r);l in o?Object.defineProperty(o,l,{value:e,enumerable:!0}):o[l]=e}}return tr(o,!r.opaque)}finally{a.delete(e)}}function e9(e,t,i,a=!1){let r;if(void 0===t)return;if(!h(t))throw TypeError(`Family "${e.id}" returned ${i} data that is not a plain object`);if(a)return t;try{r=e8(t)}catch(t){throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t instanceof Error?t.message:String(t)}`)}let n={...eB,$defs:{jsonValue:eB}},o=Z(r,n,n,[`family${"config"===i?"Config":"Appearance"}`],{diagnostics:"field",validateRuntime:eY});if(o.length>0){let t=o.map(e=>`${e.path.join(".")} ${e.message}`).join("; ");throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t}`)}return tn(r)}function e7(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e7).join(",")}]`;let t="{",i="";for(let a of Object.keys(e).sort()){let r=e[a];void 0!==r&&(t+=`${i}${JSON.stringify(a)}:${e7(r)}`,i=",")}return`${t}}`}function te(e,t){try{let t,i;return t=tt(e),()=>(void 0===i&&(i=ti(e7(t)),t=void 0),i)}catch(e){throw e instanceof TypeError&&/aggregate limit/.test(e.message)?new x("sourceCharacters",t.originalText.length+t.text.length,!0):e}}function tt(e){let t,i={nodes:0,valid:2e6<=d.maxAggregateTextCharacters&&6e6<=d.maxAggregateTextBytes};try{t=to(e,"render contract digest input",i)}catch(e){throw TypeError((e instanceof Error?e.message:String(e)).replace("data exceeds maximum depth","data exceeds maximum nesting depth"))}return i.valid||p(t,"render contract digest input",{allowUndefinedObjectProperties:!0}),t}function ti(e){let t=-0x340d631c,i=-0x7bdddcdb;for(let a=0;a<e.length;a++){let r=i^e.charCodeAt(a),n=(r>>>16)*435+((65535&r)*435>>>16)>>>16;i=Math.imul(r,435),t=Math.imul(t,435)+n+(r<<8)|0}return`fnv1a64:${(t>>>0).toString(16).padStart(8,"0")}${(i>>>0).toString(16).padStart(8,"0")}`}var ta=new WeakSet;function tr(e,t=!0){return Object.freeze(e),t&&ta.add(e),e}function tn(e,t="$",i,a){let r;if(null===e||"object"!=typeof e||ta.has(e))return e;if(i??=new Set,a??=new WeakMap,i.has(e))throw TypeError(`render request contains a cycle at ${t}`);let n=a.get(e);if(n)return n;let o=Object.getPrototypeOf(e);if(!Array.isArray(e)&&o!==Object.prototype&&null!==o)throw TypeError(`render request contains a non-JSON object at ${t}`);if(i.add(e),Array.isArray(e)){let n=e.length,o=Array(n);for(let r=0;r<n;r++)r in e&&(o[r]=tn(e[r],`${t}[${r}]`,i,a));r=o}else{let n={};for(let[r,o]of Object.entries(e)){let e=tn(o,`${t}.${r}`,i,a);r in n?Object.defineProperty(n,r,{value:e,enumerable:!0}):n[r]=e}r=n}return i.delete(e),a.set(e,r),tr(r)}function to(e,t,i){try{return tn(i?e8(e,"$",0,new Set,{nodes:0,chars:0,opaque:!1,admission:i}):e8(e))}catch(e){throw TypeError(`${t} could not be snapshotted: ${e instanceof Error?e.message:String(e)}`)}}var ts=Object.freeze({serializable:tn({})}),tl=new WeakMap,tc=new WeakMap;function td(e){if(tl.has(e))return e;let t=tf(e),i=tn(r(t.serializable.style)),a=eU(t.serializable);if(a.length)throw new eQ(`Invalid RenderOptions: ${a.join("; ")}`);let n=tp(t.serializable.style),o=Object.freeze({...t.serializable,...t.onConfigDiagnostic?{onConfigDiagnostic:t.onConfigDiagnostic}:{}});return tl.set(o,Object.freeze({...t,capturedStyle:i})),tc.set(t.serializable,n),o}function tu(e){let t=tl.get(e)?.capturedStyle;if(!t)throw TypeError("Render options have not been captured");return t.style?i(t.style):"default"}function tf(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new eQ("Invalid RenderOptions: render options must be an object");let t=tl.get(e);if(t)return t;let i=[],a;for(let[t,r]of Object.entries(e))"onConfigDiagnostic"===t?a=r:void 0!==r&&i.push([t,r]);if(void 0!==a&&"function"!=typeof a)throw new eQ("Invalid RenderOptions: onConfigDiagnostic must be a function");if(0===i.length&&void 0===a)return ts;let r=Object.fromEntries(i),n;try{n=to(r,"RenderOptions")}catch(t){let e=(t instanceof Error?t.message:String(t)).replace("data exceeds maximum depth","render option tree exceeds maximum nesting depth");throw new eQ(`Invalid RenderOptions: ${e}`)}return Object.freeze({serializable:n,...void 0===a?{}:{onConfigDiagnostic:a}})}function tp(e){return tn((void 0===e?[]:Array.isArray(e)?e:[e]).flatMap(e=>{if("string"!=typeof e||"crisp"===e)return[];let i=t(e);return i?[{input:e,canonicalId:i.canonicalId}]:[]}))}var tm="1.0.0";function tg(e,t,i=tm){return t?[{id:e,version:i}]:[]}function th(e,t=`^${tm}`){return{id:e,range:t,level:"required"}}function ty(e){return`scene-primitive:${e.primitive}/${e.feature}/${e.operation}`}var tv=new WeakMap;function tb(e,t){let i=tv.get(e.backend);return i||(i=new Set(b.filter(t=>e.backend.capabilities.some(e=>e.primitive===t.primitive&&e.feature===t.feature&&e.operation===t.operation&&"unsupported"!==e.realization))),tv.set(e.backend,i)),i.has(t)}var tS=new Map;function t$(e){return!e.id.startsWith("output:")&&!e.id.startsWith("operation:")&&!e.id.startsWith("backend:")&&!e.id.startsWith("scene-primitive:")&&"core:scene"!==e.id}function tw(e,t={},a="svg",o,l={}){let c=tf(t),d=c.serializable,u=eX(d);if(u.length>0)throw new eQ(`Invalid RenderOptions: ${u.join("; ")}`);let f=c.capturedStyle??r(d.style),p=f.style,m=tn(f.face),y=c.capturedStyle?[]:eU(d);if(y.length>0)throw new eQ(`Invalid RenderOptions: ${y.join("; ")}`);let $,w=tn(g(e,d.mermaidConfig??{},e=>l.familyDescriptor?l.familyDescriptor:"registered"===($=e$(e)).kind?$.family:null)),x=l.familyDescriptor??function(e,t){if("registered"===t.kind)return t.family;throw new eC(function(e,t,i,a,r){let n=eS.provenance.version;if("unknown"===e.kind)return{code:"UNKNOWN_HEADER",message:`Unrecognized Mermaid header: "${e.header}"`,line:1,preservation:{version:1,classification:"unknown",source:t,header:e.header,mermaidVersion:n,spans:ew(t,a??e.header,i,null)},help:"Check for a Mermaid upgrade or register a namespaced family descriptor; the source was preserved unchanged."};let{family:o,header:s}=e.match,l="inventory-only"===s.agenticStatus?"inventory-only":"unsupported",c="native"===s.agenticStatus;return{code:c?"FAMILY_DESCRIPTOR_MISMATCH":"UNSUPPORTED_FAMILY",message:c?`Mermaid ${n} header "${s.value}" is marked native but no installed family descriptor claimed it`:`Mermaid ${n} family "${o.id}" is ${l} in Agentic Mermaid`,line:1,preservation:{version:1,classification:l,source:t,header:s.value,upstreamFamilyId:o.id,mermaidVersion:n,spans:ew(t,a??s.value,i,null)},help:c?"Report a descriptor/manifest mismatch; the source was preserved unchanged.":`Install a family descriptor for "${s.value}" or use a currently native family; the source was preserved unchanged.`}}("unknown"===t.kind?{...t,header:e.lines[0]??e.firstLine}:t,e.originalText,e.authoredWrapperLength??e.wrapperSource?.length??0,e.authoredHeader??e.lines[0]??e.firstLine,0))}(w,$);if(void 0!==l.expectedFamilyId&&x.id!==l.expectedFamilyId)throw new eK(l.expectedFamilyId,x.id);C("sourceCharacters",w.originalText.length+w.text.length);let E=v(w.config.themeCSS,d.security??"default");if(E)throw new eQ(E);"architecture"!==x.id&&eb(w.config.themeVariables,x.id,d),function(e,t){let i=eh(e[t]);if(i){if("timeline"===t)ev(i,"timeline","sectionFills",!1),ev(i,"timeline","sectionColours",!1),(void 0===i.sectionColours||Array.isArray(i.sectionColours)&&0===i.sectionColours.length)&&ev(i,"timeline","sectionColors",!1);else if("journey"===t)ev(i,"journey","actorColours",!0),ev(i,"journey","sectionFills",!1),ev(i,"journey","sectionColours",!1),ey(i,"journey","titleColor",!1);else if("requirement"===t)ey(i,"requirement","rect_fill",!0),ey(i,"requirement","rect_border_color",!0),ey(i,"requirement","text_color",!1);else if("sankey"===t){let e=i.linkColor;if("source"!==e&&"target"!==e&&"gradient"!==e&&ey(i,"sankey","linkColor",!0),void 0===i.nodeColors)return;let t=eh(i.nodeColors);if(!t)throw new eg("sankey.nodeColors",i.nodeColors,!1,"map");let a=void 0!==e&&"gradient"!==e;for(let[e,i]of Object.entries(t))if(void 0===L(i,a))throw new eg(/^[\w-]+$/.test(e)?`sankey.nodeColors.${e}`:`sankey.nodeColors[${JSON.stringify(e)}]`,i,a)}}}(w.frontmatter,x.id);let F=Object.freeze(eV.filter(e=>void 0!==d[e])),A=function(e,t){if(e.id.startsWith("family:")){let i=new Set(e.applicableRenderOptions??[]);return Object.freeze(t.flatMap(t=>!eJ.includes(t)||i.has(t)?[]:[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${t}`,message:`Render option "${t}" does not apply to extension family "${e.id}". Its FamilyDescriptor does not list the field in applicableRenderOptions.`})]))}let i=e.id;return Object.freeze(t.flatMap(e=>{let t=eW[e];if(!("applicableBuiltinFamilies"in t))return[];let a=t.applicableBuiltinFamilies;if(a.includes(i))return[];let r=0===a.length?"No built-in family currently consumes this option.":`Applicable built-in families: ${a.join(", ")}.`;return[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${e}`,message:`Render option "${e}" does not apply to built-in Mermaid family "${i}". ${r}`})]}))}(x,F),{appearance:I,renderOptions:T,familyConfig:z}=function(e){let{family:t,source:a,options:r,style:o,styleFace:s}=e,l="strict"===r.security?{...r,embedFontImport:!1}:{...r};r.graphLayout&&(l.graphLayout={...r.graphLayout,fallback:r.graphLayout.fallback??"none"});let c=void 0!==o&&n(o);c&&(l=function(e,t,i){let a={...e},r=e=>O[e].some(e=>i?.[e]!==void 0);for(let e of["bg","fg","line","accent","muted","surface","border"])void 0!==a[e]||r(e)||t.colors?.[e]===void 0||(a[e]=t.colors[e]);return void 0===a.font&&void 0!==t.font&&(a.font=t.font),a}(l,o,a.config.themeVariables));let d=r.font??a.config.fontFamily??k(a.config.themeVariables,"fontFamily")??l.font??"Inter",u=q(d)??d,{style:f,...p}=l,m={...p,...o?{style:o}:{},font:u,mermaidConfig:a.config},g={...j(m,a.config,u)},y=function(e,t,i,a,r,n){if(!e.normalizeRequest)return{renderOptions:i,colors:a};let o=Object.freeze({source:tn(t),renderOptions:tn(i),colors:tn(a),...r?{style:tn(r)}:{},...n?{styleFace:tn(n)}:{}}),s=e.normalizeRequest(o);if(void 0===s)return{renderOptions:i,colors:a};let l,c={nodes:0,valid:!0};try{l=to(s,`Family "${e.id}" request normalizer result`,c)}catch(t){throw TypeError(`Family "${e.id}" request normalizer returned invalid data: ${t instanceof Error?t.message:String(t)}`)}if(!h(l))throw TypeError(`Family "${e.id}" request normalizer must return a plain object`);let d=Object.keys(l).find(e=>!["renderOptions","familyConfig","appearance"].includes(e));if(d)throw TypeError(`Family "${e.id}" request normalizer returned unknown field "${d}"`);let u=l,f=u.appearance;if(void 0!==f){if(!h(f))throw TypeError(`Family "${e.id}" request normalizer returned a non-object appearance`);let t=Object.keys(f).find(e=>!["colors","family"].includes(e));if(t)throw TypeError(`Family "${e.id}" request normalizer returned unknown appearance field "${t}"`)}let p=u.renderOptions??i;if(void 0!==p.onConfigDiagnostic)throw TypeError(`Family "${e.id}" request normalizer may not return executable option "onConfigDiagnostic"`);let m=eU(Object.fromEntries(Object.entries(p).filter(([e,t])=>void 0!==t&&!eE.includes(e))));if(m.length>0)throw new eQ(`Family "${e.id}" returned invalid normalized RenderOptions: ${m.join("; ")}`);let g=e3(i),y=e3(p);for(let t of eV)if(!e5.has(t)&&e7(g[t])!==e7(y[t]))throw TypeError(`Family "${e.id}" request normalizer may not rewrite non-geometry option "${t}"`);let v=f?.colors?function(e,t,i){let a=new Set(["bg","fg","line","accent","muted","surface","border","shadow","font","embedFontImport"]),r=Object.keys(t).find(e=>!a.has(e));if(r)throw TypeError(`Family "${e.id}" returned unknown appearance color field "${r}"`);let n={...i};for(let i of["bg","fg","line","accent","muted","surface","border"]){let a=t[i];if(void 0===a)continue;let r=R(a);if(void 0===r)throw new eQ(`Family "${e.id}" returned an unsafe ${i} paint`);n[i]=r}if(void 0!==t.font){let a=q(t.font);if(void 0===a)throw new eQ(`Family "${e.id}" returned an unsafe font family`);if(a!==i.font)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "font"`)}if(void 0!==t.shadow){if("boolean"!=typeof t.shadow)throw TypeError(`Family "${e.id}" returned a non-boolean shadow value`);if(t.shadow!==i.shadow)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "shadow"`)}if(void 0!==t.embedFontImport){if("boolean"!=typeof t.embedFontImport)throw TypeError(`Family "${e.id}" returned a non-boolean embedFontImport value`);if(t.embedFontImport!==i.embedFontImport)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "embedFontImport"`)}return n}(e,f.colors,a):a,b=e9(e,u.familyConfig,"config",c.valid),S=e9(e,f?.family,"appearance",c.valid);return{renderOptions:p,colors:v,...b?{familyConfig:b}:{},...S?{familyAppearance:S}:{}}}(t,a,m,g,o,s),v=tn(y.colors),b=tc.get(r)??tp(r.style),S=function(e){let t=new Set;for(let i of Object.values(O))for(let a of i){let i=e.config.themeVariables?.[a];"string"==typeof i&&i.length>0&&void 0===D(i)&&t.add(a)}return Object.freeze([...t].sort())}(a),$={version:2,colors:v,font:u,style:tn(o),face:tn(s),styled:c,inferredBackend:o?i(o):"default",styleReferences:b,...S.length>0?{unsafeThemeColorKeys:S}:{},...y.familyAppearance?{family:y.familyAppearance}:{}},w=tn({...$,digest:ti(e7(tt($)))});return tn({renderOptions:tn(y.renderOptions),appearance:w,...y.familyConfig?{familyConfig:y.familyConfig}:{}})}({family:x,source:w,options:d,...p?{style:p}:{},...m?{styleFace:m}:{}}),M=I.family?.visual;"architecture"===x.id&&eb(w.config.themeVariables,x.id,d,M),function(e,t,i){if("architecture"!==t||!e)return;let a=i?.edgeStroke;if("string"==typeof a&&"none"===a.trim().toLowerCase())throw new em("architecture.visual.edgeStroke",a);for(let t of["bg","surface","line","accent"]){let r=e[t];if("string"==typeof r&&"none"===r.trim().toLowerCase()&&("surface"!==t||i?.groupSurface?.trim().toLowerCase()==="none")&&!("surface"===t&&i?.groupHeaderSurface)&&!(("line"===t||"accent"===t)&&a))throw new em(t,r)}let r=i?.groupSurface;if(!i?.groupHeaderSurface&&"string"==typeof r&&"none"===r.trim().toLowerCase())throw new em("architecture.visual.groupSurface",r)}(d,x.id,M);let P=function(e,t,i,a,r,n){var o,l,c,d,u;let f,p,m,g,h;"svg"===i||"png"===i?"scene"==(f=t.styled||e.lowerScene?"scene":"family-svg")&&(p=S(m=t.styled?t.inferredBackend:"default",a.backendPolicy)):f="layout"===i?"layout":"terminal";let y="scene"===f?(g=new Set(e.scenePrimitiveEvidence.filter(e=>"applicable"===e.applicability).map(e=>e.primitive)),b.filter(e=>g.has(e.primitive))):[],v=p?y.flatMap(e=>tg(ty(e),tb(p,e))):[],$=[{id:e.identity.id,version:e.identity.version},...tg("operation:layout",void 0!==e.layout),...tg("operation:project-positioned",void 0!==e.projectPositioned),...tg("operation:lower-scene",void 0!==e.lowerScene),...tg("operation:render-svg",void 0!==e.renderSvg),...tg("operation:render-terminal",void 0!==e.renderAscii),...tg("core:scene","scene"===f),...tg("backend:scene-renderer",void 0!==p,p?.identity.version),...v],w=[th("core:family-descriptor"),th(e.identity.id,e.identity.version)],x;switch(f){case"scene":w.push(th("core:scene"),th("operation:layout"),th("operation:lower-scene"),th("backend:scene-renderer",p?.identity.version??tm),...y.map(e=>th(ty(e)))),x=!!(e.layout&&e.lowerScene&&p&&y.every(e=>tb(p,e)));break;case"family-svg":w.push(th("operation:layout"),th("operation:render-svg")),x=!!(e.layout&&e.renderSvg);break;case"terminal":w.push(th("operation:render-terminal")),x=void 0!==e.renderAscii;break;case"layout":w.push(th("operation:layout"),th("operation:project-positioned")),x=!!(e.layout&&e.projectPositioned)}let C=function(e,t,i,a){let r=function(e,t,i,a){let r=t.length+i.length;if("string"!=typeof e||r>256)return;let n=e.length+16*r;if(n>16384)return;let o=`${e.length}:${e};${a};${t.length};${i.length};`;for(let e of t){if("string"!=typeof e.id||"string"!=typeof e.version||(n+=e.id.length+e.version.length)>16384)return;o+=`${e.id.length}:${e.id}${e.version.length}:${e.version}`}for(let e of i){if("string"!=typeof e.id||"string"!=typeof e.range||"string"!=typeof e.level||(n+=e.id.length+e.range.length+e.level.length)>16384)return;o+=`${e.id.length}:${e.id}${e.range.length}:${e.range}${e.level.length}:${e.level}`}return o.length<=8192?o:void 0}(e,t,i,a),n=void 0===r?void 0:tS.get(r);if(N("capability-decision",void 0===r?"bypass":n?"hit":"miss",void 0===r?"tuple-budget":void 0),n)return n;let o=B(e,{offers:t,requirements:i,outputAvailable:a});return void 0!==r&&(tS.size<32?tS.set(r,o):N("capability-decision","store-skipped","capacity")),o}(i,$,w,x);if(!C.accepted){let a,r;throw d=f,u=p,r=(a=C.resolutions.filter(e=>"required"===e.level&&"selected"!==e.status).map(e=>e.id).join(", "))?` (unsatisfied capabilities: ${a})`:"","layout"===i?new eZ(`No public layout projection registered for Mermaid family "${e.id}"${r}`,i,e,C):"ascii"===i||"unicode"===i||"html"===i?new eZ(`No ASCII renderer registered for Mermaid family ${e.id}${r}`,i,e,C):t.styled&&!e.lowerScene?new eZ(`Family "${e.id}" does not support styled rendering (no SceneGraph lowering registered). Render without the style option, or register a lowerScene hook for the family.${r}`,i,e,C):"scene"===d&&e.layout&&e.lowerScene&&!u?new eZ(t.styled?`Style "${t.style?.name??"(inline)"}" requires an unavailable SceneGraph backend${r}`:`Default SceneGraph backend is not registered${r}`,i,e,C):new eZ(`No SVG renderer registered for Mermaid family ${e.id}${r}`,i,e,C)}let O="terminal"===f?void 0:W(a.textMeasurement,t.font),j;if("scene"===f||"family-svg"===f){let t=Object.freeze("scene"===f?{mode:"scene",requestedId:m,selectedId:p.identity.id,version:p.identity.version,hostPolicy:void 0!==a.backendPolicy}:{mode:"family-svg"}),i={family:Object.freeze({id:e.identity.id,version:e.identity.version}),backend:t,...O?{textMeasurement:O.identity}:{}};j=Object.freeze({...i,digest:ti(e7(tt(i)))})}let k=void 0===r?void 0:Object.freeze((o=e.id,l=e.config,c=e.configDiagnostics,h=s(o),function(e,t,i,a){var r;let n;if(!i)return[];let o=a??s(e)?.configDiagnostics;return r=t.flatMap(t=>o?[...o({root:t,config:i})]:ek(e,{root:t,config:i})),n=new Set,r.sort((e,t)=>_(e.field,t.field)||_(e.message,t.message)).filter(e=>{let t=`${e.code}\0${e.field}\0${e.message}`;return!n.has(t)&&(n.add(t),!0)})}(o,[r],l??h?.config,c??h?.configDiagnostics)).map(e=>Object.freeze({...e})));return Object.freeze({output:i,mode:f,family:e,...p?{backend:p}:{},...m?{requestedBackendId:m}:{},...void 0===k?{}:{configDiagnostics:k},...n?{onConfigDiagnostic:n}:{},capabilityDecision:C,...j?{executionDecision:j}:{},...O?{textMeasurement:O}:{}})}(x,I,a,l,d.mermaidConfig,c.onConfigDiagnostic),V=P.capabilityDecision,J=Object.freeze(V.resolutions.filter(t$)),H=Object.freeze({version:V.version,accepted:J.every(e=>"required"!==e.level||"selected"===e.status),resolutions:J}),G={version:2,authoredSource:w.originalText,source:w.text,options:e3(T),appearance:I.digest,...z?{familyConfig:z}:{},...P.textMeasurement?{textMeasurement:P.textMeasurement.identity}:{},capabilities:H},X=te(G,w),Y=te({...G,output:a,outputOptions:o,capabilities:V},w),U=Object.freeze({version:2,output:a,source:tn(w),renderOptions:T,appearance:I,...z?{familyConfig:z}:{},capabilityDecision:V,explicitOptionFields:F,...0===A.length?{}:{resolutionDiagnostics:A},get sharedRequestDigest(){return X()},get requestDigest(){return Y()}});return e0.set(U,P),U}export{ex as a,eO as b,ej as c,ek as d,eQ as e,e1 as f,e2 as g,e6 as h,ti as i,td as j,tu as k,tw as l};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{b as e,c as t}from"./chunk-DS3L2TY6.js";import{b as n,d as i}from"./chunk-PRBLS664.js";import{q as o,r as a,w as r}from"./chunk-WSZXZ4HF.js";import{b as l,c as s,f as d,g as c}from"./chunk-OLZVJBI5.js";import{D as h,e as p,g as g,i as u}from"./chunk-UJLLOK3R.js";import{c as f,h as x,i as b,k as m,ma as y,oa as k,r as w,s as v,y as M}from"./chunk-PRXEMB2V.js";import{b as S,i as I,j as $,k as L,m as C,q as P,u as W}from"./chunk-37ORXEBA.js";import{a as q,b as F,c as H,d as E,g as z,h as Y,l as B,m as T,n as _,o as N}from"./chunk-Q6FTXOZS.js";import{Aa as O,Ba as j,C as X,Ca as A,E as D,F as R,G as Z,H as U,M as J,N as V,O as G,Qb as Q,T as K,Vb as ee,_ as et,ka as en,ma as ei,na as eo,o as ea,wa as er,x as el,y as es}from"./chunk-XBLK7VXJ.js";import{e as ed}from"./chunk-PJJSDGLB.js";import{a as ec}from"./chunk-YHMTSXIR.js";var eh=/&(#\d+|#[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z\d]{0,31});|&(#\d+|#[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z\d]{0,31});/g;function ep(e,t){let i=e.originalText;if(!i.includes("&"))return e;let o=i.includes("&")?i.replace(eh,(e,t,i)=>{if(void 0!==t)return t.startsWith("#")||b.has(t)||n(t)?`#38;${t.replace("#","#35;")}#59;`:`&${t};`;if(!i.startsWith("#")&&!b.has(i))return n(i)?`#${i};`:e;let o=ec(e);return"#"===o?"#35;":";"===o?"#59;":o}):i;return o===("decoded"===t?ec(i):i)?e:r(o)}var eg={subject:"Sequence text entity",example:"A->>B: #35;"},eu=RegExp(`#\\w+;|${x.source}`,"g");function ef(e){let t=e.trim(),n=/^:?(wrap|nowrap):/.exec(t);return n?{text:t.slice(n[0].length).trim(),wrap:"wrap"===n[1]}:{text:t}}function ex(e){let t=function(e){let t=i(e,eg);if(t===e)return{value:t};let n=D(Z(U(e)),eu,e=>i(e,eg));return{value:t,content:Object.freeze({value:t,authored:e,prepared:n})}}(e),n=i(U(e),eg);return{label:n,...t.content?{labelContent:Object.freeze({...t.content,value:n})}:{}}}var eb=/^(loop|alt|opt|par_over|par|critical|break|rect|box)\b\s*([\s\S]*)$/i,em=/^(else|and|option)\b\s*([\s\S]*)$/i;function ey(e){let t=e.toLowerCase();return"transparent"===t||t in en||!!/^(?:#|(?:rgb|rgba|hsl|hsla)\()/i.test(e)&&null!==O(e)}function ek(e){let t=en[e.toLowerCase()];if(t)return t;let n=ei(e);if(n)return eo(n[0],n[1],n[2]);let i=e.match(/^rgba?\(\s*(\d{1,3})\s*[, ]\s*(\d{1,3})\s*[, ]\s*(\d{1,3})/i);return i?eo(Math.min(255,Number.parseInt(i[1],10)),Math.min(255,Number.parseInt(i[2],10)),Math.min(255,Number.parseInt(i[3],10))):null}var ew=class{constructor(e={}){this.options=e}options;records=new Map;order=[];boxes=[];currentBox;apply(e){if("links"===e.kind){let t=this.records.get(e.id);t&&(t.links={...t.links,...e.links});return}this.addActor(e.id,"declare"===e.kind?e:void 0)}applyAll(e){for(let t of e)this.apply(t)}openBox(e){this.boxes.push(e),this.currentBox=this.boxes.length-1}closeBox(){this.currentBox=void 0}has(e){return this.records.has(e)}indexOf(e){return this.order.indexOf(e)}list(){return this.order.map(e=>this.records.get(e))}addActor(e,t){let n=this.records.get(e),i=this.currentBox;if(n&&(void 0!==i&&void 0!==n.box&&i!==n.box&&this.options.onBoxConflict?.(e),void 0!==(i=n.box??i)&&(n.box=i),t?.label===void 0||t.create))return;let o={id:e,label:t?.label??e,...t?.wrap===void 0?{}:{wrap:t.wrap},type:t?.type??"participant",...t?{keyword:t.keyword}:{},...n?.links&&!this.options.upstreamLinks?{links:n.links}:{},...void 0!==i?{box:i}:{}};this.records.set(e,o),n||this.order.push(e),void 0!==this.currentBox&&i===this.currentBox&&this.boxes[this.currentBox].actorIds.push(e)}},ev=new Map([["<<--\x3e>",["filled","filled"]],["<<->>",["filled","filled"]],["--\x3e>",["none","filled"]],["->>",["none","filled"]],["--\x3e",["none","none"]],["->",["none","none"]],["--x",["none","cross"]],["-x",["none","cross"]],["--)",["none","open"]],["-)",["none","open"]],["--|\\",["none","half-top"]],["-|\\",["none","half-top"]],["--|/",["none","half-bottom"]],["-|/",["none","half-bottom"]],["--\\\\",["none","stick-top"]],["-\\\\",["none","stick-top"]],["--//",["none","stick-bottom"]],["-//",["none","stick-bottom"]],["/|--",["half-bottom","none"]],["/|-",["half-bottom","none"]],["\\|--",["half-top","none"]],["\\|-",["half-top","none"]],["//--",["stick-bottom","none"]],["//-",["stick-bottom","none"]],["\\\\--",["stick-top","none"]],["\\\\-",["stick-top","none"]],["--|",["none","stick-top"]],["-|",["none","stick-top"]],["--/",["none","stick-bottom"]],["-/",["none","stick-bottom"]],["--\\",["none","stick-top"]],["-\\",["none","stick-top"]],["|--",["stick-top","none"]],["|-",["stick-top","none"]],["/--",["stick-bottom","none"]],["/-",["stick-bottom","none"]],["\\--",["stick-top","none"]],["\\-",["stick-top","none"]]]),eM=new Set(["--|","-|","--/","-/","--\\","-\\","|--","|-","/--","/-","\\--","\\-"]),eS=new Map([...eM].map(e=>{let[t,n]=ev.get(e),i=[...ev].find(([i,o])=>!eM.has(i)&&o[0]===t&&o[1]===n&&i.includes("--")===e.includes("--"))[0];return[e,i]})),eI=[...ev.keys()].sort((e,t)=>t.length-e.length),e$=eI.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),eL=new RegExp(String.raw`^(\S+?)(\(\))?\s*(${e$})`),eC=new RegExp(String.raw`^(\S+?)\s+(\(\))\s*(${e$})`),eP=new Set(["participant","actor","note","alt","else","loop","rect","opt","par","and","end","activate","deactivate","autonumber","box","create","destroy","link","links","critical","break","option","title","over","off","properties","details","sequencediagram","par_over"]),eW=new Set([...eP,"acctitle","accdescr"]),eq=/(?:#\w+;|[^\/\\\+\()\+<\->\->:\n,;])+((?!(\-x|\-\-x|\-\)|\-\-\)|\-\|\\|\-\\|\-\/|\-\/\/|\-\|\/|\/\|\-|\\\|\-|\/\/\-|\\\\\-|\/\|\-|\-\-\|\\|\-\-|\(\)))[\-]*(?:#\w+;|[^\+<\->\->:\n,;])+)*/iy;function eF(e,t){return eq.lastIndex=t,eq.exec(e)?.[0].trim()??""}function eH(e,t){if(!e||e.trim()!==e||/[\r\n]/.test(e))return!1;let n=m(e);if(n.startsWith("#"))return!1;if("declaration"===t)return eO(e)&&!/:/.test(n)&&!n.includes("%%{");if(n.startsWith("%")||n.includes("%%"))return!1;let i=n.toLowerCase(),o=/^(\w+)\b/.exec(i)?.[1];return!(o&&eP.has(o)&&(!["title","link","links","properties","details"].includes(o)||/\s/.test(i.slice(o.length,o.length+1)))||/^(?:\d+(?:\.\d{1,2})?|\.\d{1,2})(?=\s)/.test(n)||eP.has(i)&&!["title","link","links","properties","details"].includes(i)||"receiver"===t&&["acctitle","accdescr"].includes(i)||/^(?:left|right) of\b/.test(i))&&eF(`${n}${"sender"===t?"->>Z:":":"}`,0)===n}var eE=new WeakMap,ez=new WeakMap;function eY(e,t){eE.set(e,t)}function eB(e,t){ez.set(e,t)}function eT(n,i={}){let r=a(n),l=M(r.map(e=>e.raw)),s=l.familyLines.flatMap((e,t)=>e.trim()?[{text:e.trim(),origin:r[l.familyOrigins[t]].line}]:[]);n=s.map(e=>e.text);let d=e=>{let t=s[e]?.origin??e;return i.authoredLine?.(t)??t+1};p("sequence")&&void 0!==n[0]&&g("sequence","header",n[0],{line:1,unit:"normalized"});let c={actors:[],messages:[],blocks:[],notes:[],activationEvents:[],boxes:[],...void 0!==l.accessibility.title?{accessibilityTitle:U(l.accessibility.title)}:{},...void 0!==l.accessibility.descr?{accessibilityDescription:U(l.accessibility.descr)}:{}},h=new ew,f=new Map,x=new Map,b=function(n){let i=a(n).map(n=>{if(!n.raw.trim()||o(n.raw))return{...n,syntax:null};try{return{...n,syntax:function(n){let i=function(n){let i=n.match(/^(participant|actor)\s+([^\s@]+)\s*@\{/i);if(i){let o=i[1].toLowerCase(),a=i[2];eA(a);let r=e(n,i[0].length-1,"sequence"),l=r.ok?n.slice(r.end+1):"",s=l.match(/^\s+as(?:\s+(.*))?$/i);if(!r.ok||""!==l.trim()&&!s)throw v({what:`Invalid participant metadata in "${n}": ${r.ok?`unexpected "${l.trim()}" after it`:r.message}`,expectedForm:'a YAML mapping in @{…} with no "}" inside, then optionally `as <label>`',example:'participant DB@{ "type": "database", "alias": "Orders" }'});let d=s?ef(s[1]??""):void 0,c=d?d.text||null:void 0;if(null===c)return null;let{entries:h}=r,p=h.get("type"),g="string"==typeof p?p.toLowerCase():o;if(!eN.has(g))throw Error(`Unknown sequence actor type '${g}'`);let u=t(h.get("alias")),f=void 0!==u&&(void 0===c||c===a)?u:c,x=[...h.keys()].filter(e=>"type"!==e&&"alias"!==e);return{id:a,label:f??a,type:g,keyword:o,aliased:void 0!==f,...d?.wrap===void 0?{}:{wrap:d.wrap},...x.length?{unmodeledMetadata:x}:{}}}if(n.includes("@{"))return null;let o=n.match(/^(participant|actor)\s+/i);if(!o)return null;let a=n.slice(o[0].length),r=a.match(/^(\S+?)\s+as(\s*)(.+)$/i);if(!r&&(!a||/\s/.test(a)&&/[<>:\n,;@]/.test(m(a))))return null;let l=r?r[1]:a.trim();eA(l);let s=o[1].toLowerCase(),d=r?.[3]===void 0?void 0:ef(r[3]);return{id:l,label:d?.text??l,type:s,keyword:s,aliased:!!r,...r?.[2]===""?{unspacedAlias:!0}:{},...d?.wrap===void 0?{}:{wrap:d.wrap}}}(n);if(i)return{kind:"declaration",declaration:i};let o=function(e){let t=e.match(/^link\s+(\S+)\s*:\s*(.+?)\s*@\s*(\S+)$/i);if(t)return/^(?:https?:|mailto:)/i.test(t[3])?{actorId:t[1],links:{[t[2].trim()]:t[3]}}:null;let n=e.match(/^links\s+(\S+)\s*:\s*(\{.*\})$/i);if(!n)return null;try{let e=JSON.parse(n[2]),t={};for(let[n,i]of Object.entries(e))"string"==typeof i&&/^(?:https?:|mailto:)/i.test(i)&&(t[n]=i);return Object.keys(t).length>0?{actorId:n[1],links:t}:null}catch{return null}}(n);if(o)return{kind:"links",...o};let a=n.match(/^(?:properties|details)\s+(\S+)\s*:/i);if(a)return{kind:"actor-data",actorId:a[1]};let r=n.match(/^title(?:\s*:\s*|\s+)(.+)$/i);if(r)return{kind:"title",text:r[1].trim()};let l=n.match(/^autonumber(?:\s+(.*))?$/i);if(l){let e=l[1]?.trim()??"";if(/^off$/i.test(e))return{kind:"autonumber",numbering:null};let t=e.match(/^((?:\d+(?:\.\d{1,2})?|\.\d{1,2}))(?:\s+((?:\d+(?:\.\d{1,2})?|\.\d{1,2})))?$/);return(!e||t)&&(!t||Number.isFinite(Number(t[1]))&&(void 0===t[2]||Number.isFinite(Number(t[2]))))?{kind:"autonumber",numbering:t?{next:Number.parseFloat(t[1]),...void 0===t[2]?{}:{step:Number.parseFloat(t[2])}}:{}}:null}let s=n.match(/^box(?:\s+(.*))?$/i);if(s)return{kind:"box",text:s[1]?.trim()??""};let d=function(e){let t=e.match(/^create\s+(participant|actor)\s+(\S+?)(?:\s+as\s+(.+))?$/i);if(!t)return null;let n=t[2];eA(n);let i=void 0===t[3]?void 0:ef(t[3]);return{id:n,label:i?.text??n,type:t[1].toLowerCase(),...i?.wrap===void 0?{}:{wrap:i.wrap}}}(n);if(d)return{kind:"create",declaration:d};let c=n.match(/^destroy\s+(\S+)$/i);if(c)return{kind:"destroy",actorId:c[1]};let h=function(e){let t=e.match(/^Note\s+(left of|right of|over)\s+([^:]+):\s*(.*)$/i);if(!t)return null;let n=t[1].toLowerCase();return{actorIds:t[2].trim().split(",").map(e=>e.trim()),...ef(t[3]),position:"left of"===n?"left":"right of"===n?"right":"over"}}(n);if(h)return{kind:"note",note:h};let p=function(e){let t=eb.exec(e);if(!t)return null;let n=t[1].toLowerCase(),i=t[2]?.trim()??"";if("box"===n)return{type:n,label:i};let o=ef(i);return{type:n,label:o.text,...void 0===o.wrap?{}:{wrap:o.wrap}}}(n);if(p&&"box"!==p.type)return{kind:"block",opener:{type:p.type,label:p.label,...void 0===p.wrap?{}:{wrap:p.wrap}}};let g=function(e){let t=em.exec(e);if(!t)return null;let n=ef(t[2]??"");return{type:t[1].toLowerCase(),label:n.text,...void 0===n.wrap?{}:{wrap:n.wrap}}}(n);if(g)return{kind:"continuation",continuation:g};if("end"===n)return{kind:"end"};let u=function(e){var t;let n=function(e){eq.lastIndex=0;let t=eq.exec(e);if(!t)return;let n=t[0].length,i=e.startsWith("()",n),o=i&&/\s$/.test(t[0]);for(i&&(n+=2);n<e.length&&/\s/.test(e[n]);)n++;let a=eI.find(t=>e.startsWith(t,n));if(a)return n+=a.length,{from:t[0].trim(),arrow:a,end:n,centralStart:i,spacedCentral:o}}(e);if(!n){let t=e.match(eL),i=t??e.match(eC);i&&(n={from:i[1],centralStart:!!i[2],arrow:i[3],end:i[0].length,spacedCentral:!t})}if(!n||(t=n.arrow,!ev.has(t)))return null;let{from:i,arrow:o,centralStart:a,spacedCentral:r}=n;if(r&&(/^(?:[0-9]+(?:\.[0-9]{1,2})?|\.[0-9]{1,2})$/.test(i)||eP.has(i.toLowerCase())))return null;let l=e.slice(n.end).trimStart(),s=l.startsWith("()");s&&(l=l.slice(2).trimStart());let d="+"===l[0]||"-"===l[0]?l[0]:void 0;if(r&&d)return null;d&&(l=l.slice(1).trimStart());let c=l.indexOf(":");if(c<1)return null;let h=l.slice(0,c).trimEnd(),{text:p,wrap:g}=ef(l.slice(c+1));if(!h||r&&(/[+<>]/.test(h)||h.includes("()")||eW.has(h.toLowerCase())))return null;let u=m(e),f=m(i),x=m(h),b=m(e.slice(0,e.length-l.length)).length,y=eF(u,0);return y.length<=f.length&&(y!==f||eF(u,b)!==x)?null:{from:i,arrow:eS.get(o)??o,activationMark:d,to:h,label:p,centralStart:a,centralEnd:s,...void 0===g?{}:{wrap:g},...eM.has(o)?{localArrow:o}:{}}}(n);if(u)return{kind:"message",message:u};let f=n.match(/^(activate|deactivate)\s+(\S+)$/i);return f?{kind:"activation",actorId:f[2],activate:"activate"===f[1].toLowerCase()}:null}(n.raw.trim())}}catch(e){if(e instanceof Q)throw e;return{...n,syntax:null,error:e}}}),r=[],l=[],s=(e,t,n)=>{l.push({line:e.line,syntax:t,message:n})};for(let[e,t]of i.entries()){let{syntax:n}=t;if(r.length&&(t.parent=r.at(-1)),!n){t.error instanceof eX?s(t,"sequence_participant_id",t.error.message):t.raw.trim()&&!o(t.raw)&&s(t,"sequence_statement",`Sequence statement is preserved in source but not drawn: ${t.raw.trim()}`);continue}if("block"===n.kind||"box"===n.kind)r.push(e);else if("end"===n.kind){let n=r.pop();void 0===n?s(t,"sequence_block_boundary","Sequence end has no open block or box"):(t.closes=n,i[n].endIndex=e)}else if("continuation"===n.kind){var d,c;let e=void 0!==t.parent?i[t.parent].syntax:null;e?.kind==="block"&&(d=n.continuation.type,c=e.opener.type,"else"===d&&"alt"===c||"and"===d&&("par"===c||"par_over"===c)||"option"===d&&"critical"===c)||s(t,"sequence_block_boundary",`Sequence ${n.continuation.type} does not belong to the enclosing block`)}else if("declaration"===n.kind&&n.declaration.unmodeledMetadata?.length)s(t,"sequence_participant_metadata",`Participant metadata fields ${n.declaration.unmodeledMetadata.join(", ")} are not modeled; the declaration is preserved as source`);else if("message"===n.kind&&n.message.localArrow){let{localArrow:e,arrow:i}=n.message;s(t,"sequence_local_arrow",`The arrow ${e} is a local spelling pinned Mermaid does not read, so it rejects this line. Ours draws it as Mermaid's ${i} and writes ${i}`)}else"declaration"===n.kind&&n.declaration.unspacedAlias&&s(t,"sequence_unspaced_alias","Participant text immediately following as is read as its alias. Pinned Mermaid can reject this or read it as part of the ID; write as <label> with a separating space");if("declaration"===n.kind||"create"===n.kind){let e=ej(n.declaration.id);e&&s(t,"sequence_participant_id_extension",e)}if("message"===n.kind)for(let[e,i]of[["sender",n.message.from],["receiver",n.message.to]])eH(i,e)||s(t,"sequence_message_id_extension",`Participant "${i}" is read as the ${e}, but pinned Mermaid reads another token there; rename it before typed editing`)}for(let e of r)s(i[e],"sequence_block_boundary","Sequence block or box is never closed by end");return{statements:i,issues:l}}(n.slice(1)),y=b.issues.find(e=>"sequence_block_boundary"===e.syntax);if(y)throw Error(`SEQUENCE_BLOCK_BOUNDARY: line ${d(y.line+1)}: ${y.message}`);let k=new Map,w=[],I=new Map,$={visible:!0===i.showSequenceNumbers,next:1,step:1},L=[],C=[],P=e=>{let{from:t,to:n}=e,o=function(e){let t=e.includes("--")?"dashed":"solid",[n,i]=ev.get(e)??["none","none"];return{lineStyle:t,startHead:n,endHead:i}}(e.arrow),a={from:t,to:n,...ex(e.label.trim()),...(e.wrap??i.wrap)===void 0?{}:{wrap:e.wrap??i.wrap},lineStyle:o.lineStyle,startHead:o.startHead,endHead:o.endHead,centralStart:e.centralStart,centralEnd:e.centralEnd};"+"===e.activationMark&&(a.activate=!0),"-"===e.activationMark&&(a.deactivate=!0),$.visible&&(a.number=$.next),$.next=Math.round(($.next+$.step)*100)/100,eD(L,e=>e===n,e=>{f.set(e,c.messages.length),p("sequence")&&u("sequence","bind-create",{id:e,messageIndex:c.messages.length})}),eD(C,e=>e===t||e===n,e=>{x.set(e,c.messages.length),p("sequence")&&u("sequence","bind-destroy",{id:e,messageIndex:c.messages.length})}),c.messages.push(a),p("sequence")&&u("sequence","add-message",a)};for(let[e,t]of b.statements.entries()){let n=t.raw.trim();if(p("sequence")&&g("sequence",t.syntax?.kind??"unrecognized",t.raw,{line:t.line+2,column:t.column+1,unit:"normalized"}),t.error)throw t.error;let a=t.syntax;if(!a){if(void 0!==l.unclosedIndex&&n===l.familyLines[l.unclosedIndex]?.trim())continue;if(n&&!o(n))throw Error(`SEQUENCE_UNSUPPORTED_STATEMENT: line ${d(t.line+1)}: ${n}`);continue}for(let e of function(e){switch(e?.kind){case"declaration":{let{id:t,label:n,type:i,keyword:o,aliased:a,wrap:r}=e.declaration;return[{kind:"declare",id:t,keyword:o,type:i,...a?{label:n}:{},...void 0===r?{}:{wrap:r}}]}case"create":{let{id:t,label:n,type:i,wrap:o}=e.declaration;return[{kind:"declare",id:t,keyword:"actor"===i?"actor":"participant",type:i,label:n,...void 0===o?{}:{wrap:o},create:!0}]}case"links":return[{kind:"mention",id:e.actorId},{kind:"links",id:e.actorId,links:e.links}];case"actor-data":return[{kind:"mention",id:e.actorId}];case"note":return e.note.actorIds.map(e=>({kind:"mention",id:e}));case"message":return[{kind:"mention",id:e.message.from},{kind:"mention",id:e.message.to}];default:return[]}}(a))h.apply(e),p("sequence")&&u("sequence","participant.apply",e);switch(a.kind){case"declaration":case"create":"create"===a.kind&&L.push(a.declaration.id);break;case"links":case"actor-data":break;case"title":{let e=ex(a.text);c.title=e.label,c.titleContent=e.labelContent,p("sequence")&&u("sequence","set-title",c.title);break}case"autonumber":$.visible=null!==a.numbering,a.numbering?.next!==void 0&&($.next=a.numbering.next,$.step=a.numbering.step??1),p("sequence")&&u("sequence","set-autonumber",$);break;case"box":{let e=a.text,t={actorIds:[]},n=e.match(/^((?:rgb|rgba|hsl|hsla)\([^)]*\))\s*(.*)$/i),o=e;if(n&&ey(n[1]))t.color=n[1],o=n[2]?.trim()??"";else{let n=e.split(/\s+/,1)[0]??"";n&&ey(n)&&(t.color=n,o=e.slice(n.length).trim())}if(o){let e=ef(o);Object.assign(t,ex(e.text)),(e.wrap??i.wrap)!==void 0&&(t.wrap=e.wrap??i.wrap)}c.boxes.push(t),h.openBox(t),p("sequence")&&u("sequence","open-box",{index:c.boxes.length-1,box:t});break}case"destroy":C.push(a.actorId),p("sequence")&&u("sequence","pending-destroy",a.actorId);break;case"note":{let{note:e}=a,n=ex(e.text),o=c.notes.length;c.notes.push({actorIds:e.actorIds,text:n.label,...(e.wrap??i.wrap)===void 0?{}:{wrap:e.wrap??i.wrap},...n.labelContent?{textContent:n.labelContent}:{},position:e.position,afterIndex:c.messages.length-1}),p("sequence")&&u("sequence","add-note",{note:c.notes.at(-1),parent:t.parent});for(let e=t.parent;void 0!==e;e=k.get(e)?.parent)k.get(e)?.noteIndices.push(o);break}case"block":{let{opener:n}=a,o=n.type,r=ex("rect"===n.type?"":n.label),l="rect"===n.type&&n.label.startsWith("#")?"":n.label,s="rect"===n.type?function(e){let t=S(e);if(!t)return;let n=t.toLowerCase();if("transparent"===n||Object.hasOwn(en,n))return t;let i=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i.exec(t);if(i&&i.slice(1).every(e=>255>=Number(e)))return t;let o=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0(?:\.\d+)?|\.\d+|1(?:\.0+)?)\s*\)$/i.exec(t);if(o&&o.slice(1,4).every(e=>255>=Number(e)))return t}(l):void 0;if("rect"===n.type&&l&&!s)throw Error("SEQUENCE_RECT_COLOR_UNSUPPORTED: rect requires a safe concrete CSS color");k.set(e,{type:o,...r,...(n.wrap??i.wrap)===void 0?{}:{wrap:n.wrap??i.wrap},...s?{color:s}:{},startIndex:c.messages.length,dividers:[],dividerNoteIndices:[],parent:t.parent,parentSection:void 0===t.parent?0:k.get(t.parent)?.dividers.length??0,noteIndices:[],childBlockIndices:[],childSectionIndices:[]}),w.push({kind:"open",blockId:e,messageIndex:c.messages.length,noteIndex:c.notes.length}),p("sequence")&&u("sequence","open-block",{id:e,block:k.get(e)});break}case"continuation":{let e=void 0!==t.parent?k.get(t.parent):void 0;e&&(w.push({kind:"divider",blockId:t.parent,messageIndex:c.messages.length,noteIndex:c.notes.length,dividerIndex:e.dividers.length}),e.dividerNoteIndices.push(c.notes.length),e.dividers.push({index:c.messages.length,...ex(a.continuation.label),...(a.continuation.wrap??i.wrap)===void 0?{}:{wrap:a.continuation.wrap??i.wrap}}),p("sequence")&&u("sequence","divide-block",{parent:t.parent,divider:e.dividers.at(-1),type:a.continuation.type}));break}case"end":{let e=k.get(t.closes);if(e){let n=c.blocks.length;I.set(t.closes,n),w.push({kind:"close",blockId:t.closes,messageIndex:c.messages.length,noteIndex:c.notes.length});let i={type:e.type,label:e.label,...void 0===e.wrap?{}:{wrap:e.wrap},...e.labelContent?{labelContent:e.labelContent}:{},...e.color?{color:e.color}:{},startIndex:e.startIndex,endIndex:Math.max(c.messages.length-1,e.startIndex),dividers:e.dividers};eE.set(i,{endMessageExclusive:c.messages.length,endNoteExclusive:c.notes.length,dividerNoteIndices:e.dividerNoteIndices,noteIndices:e.noteIndices,childBlockIndices:e.childBlockIndices,childSectionIndices:e.childSectionIndices}),void 0!==e.parent&&(k.get(e.parent)?.childBlockIndices.push(n),k.get(e.parent)?.childSectionIndices.push(e.parentSection)),c.blocks.push(i),p("sequence")&&u("sequence","close-block",{id:t.closes,parent:e.parent,parentSection:e.parentSection,block:i,notes:e.noteIndices,children:e.childBlockIndices})}else h.closeBox(),p("sequence")&&u("sequence","close-box",null);break}case"message":P(a.message);break;case"activation":c.activationEvents.push({actorId:a.actorId,kind:a.activate?"activate":"deactivate",messageIndex:c.messages.length}),p("sequence")&&u("sequence","activation",c.activationEvents.at(-1))}}return c.actors=h.list().map(({id:e,label:t,type:n,links:o,box:a,wrap:r})=>({id:e,...ex(t),type:n,...(r??i.wrap)===void 0?{}:{wrap:r??i.wrap},...o?{links:o}:{},...void 0!==a?{box:a}:{},...f.has(e)?{createMessageIndex:f.get(e)}:{},...x.has(e)?{destroyMessageIndex:x.get(e)}:{}})),ez.set(c,w.map(({blockId:e,...t})=>({...t,blockIndex:I.get(e)}))),c}function e_(e){let t;return n=>{if(!t){let n=e.originalText.split(/\r?\n/),i=e.wrapperSource?e.wrapperSource.split(/\r?\n/).length-1:0,o=n.slice(i).flatMap((e,t)=>(0===t?ed(e).split(`
|
|
2
|
+
`):[e]).map(e=>({text:e.trim(),line:i+t+1}))),a=0;t=e.familyLines.map(e=>{let t=e.trim();for(let e=a;e<o.length;e++){let n=o[e].text;if(n===t||n.slice(n.indexOf("}")+1).trim()===t)return a=e+1,o[e].line}})}return t[n]}}var eN=new Set(["participant","actor","boundary","control","entity","database","collections","queue"]);function eO(e){return"string"==typeof e&&""!==e&&e.trim()===e&&!/[<>,;@#\r\n]/.test(m(e))}function ej(e){let t=eO(e);return t&&eH(e,"declaration")?null:`Sequence participant ID ${JSON.stringify(e)} ${t?"is read as authored, but pinned Mermaid rejects colons in declaration IDs":"has ambiguous declaration delimiters or whitespace"}. Typed editing and serialization require a portable ID; rename this ID and its references, and put display punctuation in an alias`}var eX=class extends w{};function eA(e){if(!eO(e))throw new eX(ej(e))}function eD(e,t,n){for(let i=e.length-1;i>=0;i--){let o=e[i];t(o)&&(n(o),e.splice(i,1))}}function eR(e,t,n,i,o,a,r=0,l=et(e,{fontSize:o,fontWeight:a,letterSpacing:r})){let s="middle"===i?t-l.width/2:"start"===i?t:t-l.width;return{text:l.text,block:l,x:t,y:n,anchor:i,fontSize:o,fontWeight:a,letterSpacing:r,bounds:{x:s,y:n-l.height/2,width:l.width,height:l.height},metrics:l}}function eZ(e,t){let n=Math.min(e.x,t.x),i=Math.min(e.y,t.y);return{x:n,y:i,width:Math.max(e.x+e.width,t.x+t.width)-n,height:Math.max(e.y+e.height,t.y+t.height)-i}}function eU(e,t,n){return{x:e.x+t,y:e.y+n,width:e.width,height:e.height}}function eJ(e,t,n){return{...e,x:e.x+t,y:e.y+n,bounds:eU(e.bounds,t,n)}}function eV(e,t,n,i){if("participant"===e.type){let o=eR(t.displayLabel,n,i+t.height/2,"middle",t.fontSize,t.fontWeight,t.letterSpacing,t.block),a={x:n-t.width/2,y:i,width:t.width,height:t.height};return{id:e.id,label:e.label,type:e.type,...e.links?{links:{...e.links}}:{},...t.menuBlock?{menuBlock:t.menuBlock}:{},x:n,y:i,width:t.width,height:t.height,bounds:a,labelPosition:o}}let o="actor"===e.type?i+t.height:Math.max(i+t.height,i+26),a=o+Math.max(14,t.labelMetrics.lineHeight/2+5.5)+(t.labelMetrics.lines.length-1)/2*t.labelMetrics.lineHeight,r=eR(t.displayLabel,n,a,"middle",t.fontSize,t.fontWeight,t.letterSpacing,t.block),l=eZ({x:n-t.width/2,y:i,width:t.width,height:o-i},r.bounds),s={x:l.x,y:l.y,width:l.width,height:l.height+4};return{id:e.id,label:e.label,type:e.type,...e.links?{links:{...e.links}}:{},...t.menuBlock?{menuBlock:t.menuBlock}:{},x:n,y:i,width:t.width,height:t.height,bounds:s,labelPosition:r}}function eG(e,t,n,i){let o=t.dividerNoteIndices[i]??-1,a=t.dividerNoteIndices[i+1]??t.endNoteExclusive;return o>=0&&o<a&&n.notes[o].afterIndex<e.dividers[i].index?o:void 0}function eQ(e,t,n,i,o,a,r,l,s,d,c,h,p){let g,u,f=e.startIndex<n.endMessageExclusive?r[e.startIndex]:void 0,x=e.startIndex<n.endMessageExclusive?r[n.endMessageExclusive-1]:void 0,b=new Set;for(let t=e.startIndex;t<n.endMessageExclusive;t++){let e=i.messages[t];e&&(b.add(o.get(e.from)??0),b.add(o.get(e.to)??0))}for(let e of n.noteIndices){let t=i.notes[e];if(t)for(let e of t.actorIds){let t=o.get(e);void 0!==t&&b.add(t)}}if(0===b.size)for(let e=0;e<i.actors.length;e++)b.add(e);let m=1/0,y=-1/0;for(let e of b){let t=a[e];if(!t)continue;let n=t.bounds;m=Math.min(m,n.x-d.groupPaddingX),y=Math.max(y,n.x+n.width+d.groupPaddingX)}for(let t=e.startIndex;t<n.endMessageExclusive;t++){let e=r[t];e&&(m=Math.min(m,e.bounds.x-d.groupPaddingX),y=Math.max(y,e.bounds.x+e.bounds.width+d.groupPaddingX))}for(let e of n.noteIndices){let t=l[e];t&&(m=Math.min(m,t.x-d.groupPaddingX),y=Math.max(y,t.x+t.width+d.groupPaddingX))}for(let e of n.childBlockIndices){let t=s[e];t&&(m=Math.min(m,t.x-d.groupPaddingX),y=Math.max(y,t.x+t.width+d.groupPaddingX))}for(let n of("rect"!==e.type&&(y=Math.max(y,m+t.tabWidth+d.groupPaddingX)),t.dividers))n.label&&(y=Math.max(y,m+8+n.metrics.width+d.groupPaddingX));let k=f&&!f.isSelf&&f.labelPosition.text.includes(`
|
|
3
|
+
`)?Math.ceil(Math.max(0,f.labelPosition.y-f.labelPosition.bounds.y-d.edgeLabelFontSize*el/2-1e-6)):0,w=n.noteIndices.length>0?t.contentTopPadding:t.blockPadTop,v=p?.top??(f?f.y-(t.blockPadTop+k):h-w),M=(x?.y??h)+d.groupPaddingY+12;for(let i=e.startIndex;i<n.endMessageExclusive;i++){let e=r[i];if(!e)continue;v=Math.min(v,e.bounds.y-Math.max(t.tabHeight,d.groupPaddingY));let n=e.isSelf?d.groupPaddingY+4:d.groupPaddingY;M=Math.max(M,e.bounds.y+e.bounds.height+n)}for(let o of b){let l=i.actors[o],s=a[o];if(!(!s||l?.createMessageIndex===void 0||!r[l.createMessageIndex])&&l.createMessageIndex>=e.startIndex&&l.createMessageIndex<n.endMessageExclusive){let e=t.contentTopPadding;v=Math.min(v,s.bounds.y-e),M=Math.max(M,s.bounds.y+s.bounds.height+d.groupPaddingY)}}for(let e of n.noteIndices){let n=l[e];if(!n)continue;let i=t.contentTopPadding;v=Math.min(v,n.y-i),M=Math.max(M,n.y+n.height+d.groupPaddingY)}for(let e of n.childBlockIndices){let n=s[e];n&&(v=Math.min(v,n.y-t.enclosingHeaderStep),M=Math.max(M,n.y+n.height+d.groupPaddingY))}let S=t.dividers.map((o,a)=>{let g=eG(e,n,i,a),u=void 0===g?void 0:l[g],f=o.index<n.endMessageExclusive?r[o.index]:void 0;if("par_over"===e.type){if(!o.label)return{y:v+t.tabHeight,label:""};let e=u??f?.bounds;for(let[t,r]of n.childBlockIndices.entries()){let l=s[r];l&&n.childSectionIndices[t]===a+1&&i.blocks[r].startIndex===o.index&&(!e||l.y<e.y)&&(e=l)}let r=e?.x??m+8,l=e?e.y-o.metrics.height-8:v+t.tabHeight+8+a*(o.metrics.height+8),c=eR(o.displayLabel,r,l+o.metrics.height/2,"start",d.edgeLabelFontSize,d.edgeLabelFontWeight,d.edgeLetterSpacing,o.block);return y=Math.max(y,c.bounds.x+c.bounds.width+d.groupPaddingX),M=Math.max(M,c.bounds.y+c.bounds.height+d.groupPaddingY),{y:l,label:o.label,labelPosition:c}}let x=f?.y??h,b=28+o.extraLinesHeight+o.extraFontOffset;if(o.label&&f?.label){let e=m+8,t=e+o.metrics.width,n=f.labelPosition.bounds,i=n.x,a=n.x+n.width;if(t+8>i&&e-8<a){let e=Math.max(0,Math.ceil(x-10-(n.y+n.height/2)));b=Math.max(36+o.extraLinesHeight+o.extraFontOffset+e,Math.ceil(24+c+o.extraLinesHeight+o.extraFontOffset+e))}}let k=p?.dividerY[a],w=k??(u?u.y-o.noteContentOffset:x-b);for(let[e,t]of n.childBlockIndices.entries()){let r=s[t],l=i.blocks[t];if(void 0===k&&r&&l?.startIndex===o.index&&n.childSectionIndices[e]===a+1){let e=o.noteContentOffset;w=Math.min(w,r.y-e)}}if(!o.label)return{y:w,label:o.label};let S=w+o.firstLineOffset+(o.metrics.lines.length-1)/2*o.metrics.lineHeight,I=eR(o.displayLabel,m+8,S,"start",d.edgeLabelFontSize,d.edgeLabelFontWeight,d.edgeLetterSpacing,o.block);return M=Math.max(M,I.bounds.y+I.bounds.height+d.groupPaddingY),{y:w,label:o.label,labelPosition:{...I,text:o.displayLabel}}}),I="rect"===e.type?void 0:(g=v+t.tabHeight/2,u=eR(t.headerText,m+d.groupLabelPaddingX,g,"start",d.groupHeaderFontSize,d.groupHeaderFontWeight,d.groupLetterSpacing,t.block),{x:m,y:v,width:t.tabWidth,height:t.tabHeight,label:{...u,text:t.headerText}}),$={x:m,y:v,width:y-m,height:M-v};return{type:e.type,label:e.label,...e.color?{color:e.color}:{},x:$.x,y:$.y,width:$.width,height:$.height,dividers:S,...I?{header:I}:{},bounds:$}}function eK(e,t,n){for(let i of e.actors)i.x+=t,i.y+=n,i.bounds=eU(i.bounds,t,n),i.labelPosition=eJ(i.labelPosition,t,n);for(let i of e.messages)!function(e,t,n){e.x1+=t,e.x2+=t,e.y+=n,e.points=e.points.map(e=>({x:e.x+t,y:e.y+n})),e.labelPosition=eJ(e.labelPosition,t,n),e.bounds=eU(e.bounds,t,n)}(i,t,n);for(let i of e.blocks)for(let e of(i.x+=t,i.y+=n,i.bounds=eU(i.bounds,t,n),i.header&&(i.header={...i.header,x:i.header.x+t,y:i.header.y+n,label:eJ(i.header.label,t,n)}),i.dividers))e.y+=n,e.labelPosition&&(e.labelPosition=eJ(e.labelPosition,t,n));for(let i of e.notes)i.x+=t,i.y+=n;for(let i of e.boxes)i.x+=t,i.y+=n,void 0!==i.labelY&&(i.labelY+=n);for(let i of e.activations)i.x+=t,i.topY+=n,i.bottomY+=n;for(let i of e.lifelines)i.x+=t,i.topY+=n,i.bottomY+=n;for(let i of e.destructions)i.x+=t,i.y+=n}var e0={nodeLabelFontSize:q.nodeLabel,edgeLabelFontSize:q.edgeLabel,groupHeaderFontSize:q.edgeLabel,nodeLabelFontWeight:F.nodeLabel,edgeLabelFontWeight:F.edgeLabel,groupHeaderFontWeight:F.groupHeader,nodePaddingX:16,nodePaddingY:6,nodeCornerRadius:4,nodeLineWidth:H.outerBox,edgeLineWidth:H.connector,groupCornerRadius:0,groupPaddingX:10,groupPaddingY:8,groupLabelPaddingX:6,groupLineWidth:H.outerBox};function e1(e,t={},n={},i){let o=Y(t,e0,i),a=n.diagramMarginX??30,r=n.diagramMarginY??30,l=n.width??80,s=n.noteMargin??10,d=n.activationWidth??10,c=e.actors.map(e=>ea(i,"actor",{category:e.id},{includeFallback:!1})),h=Math.max(n.height??40,...c.map(e=>es("Mg",e?.fontSize??o.nodeLabelFontSize,e?.fontWeight??o.nodeLabelFontWeight).height+(e?.paddingY??o.nodePaddingY)*2)),p=es("Mg",e0.edgeLabelFontSize,e0.edgeLabelFontWeight).height,g=es("Mg",o.edgeLabelFontSize,o.edgeLabelFontWeight).height,u=n.messageMargin??40,f=Math.max(u,u+g-p),x=Math.max(30,f-10),b=Math.max(40,40+(o.groupHeaderFontSize-e0.groupHeaderFontSize)+(o.groupPaddingY-e0.groupPaddingY)*2),m=Math.max(28,b+o.groupPaddingY+20-f);if(0===e.actors.length)return e2({width:0,height:0,accessibilityTitle:e.accessibilityTitle,accessibilityDescription:e.accessibilityDescription,actors:[],lifelines:[],messages:[],activations:[],blocks:[],notes:[],boxes:[],destructions:[]},void 0===e.title?void 0:X(e.title,e.titleContent),o,a,r);let y=e.actors.map((e,t)=>{var i,a;let r,s,d,p,g,u,f,x,b,m;return i=void 0===e.wrap&&void 0!==n.wrap?{...e,wrap:n.wrap}:e,a=c[t],r=a?.textTransform??o.nodeTextTransform,s=a?.fontSize??o.nodeLabelFontSize,d=a?.fontWeight??o.nodeLabelFontWeight,p=a?.letterSpacing??o.nodeLetterSpacing,g=a?.paddingX??o.nodePaddingX,u=a?.paddingY??o.nodePaddingY,x=(f=et(X(i.label,i.labelContent),{transform:r,fontSize:s,fontWeight:d,letterSpacing:p,...i.wrap?{maxWidth:240}:{}})).text,b=Math.max(f.width+2*g,l),m="participant"===i.type?Math.max(h,Math.ceil(f.height+2*u)):h,{fontSize:s,fontWeight:d,letterSpacing:p,paddingX:g,paddingY:u,displayLabel:x,block:f,...i.links?{menuBlock:et("⋯",{display:"literal",fontSize:10,fontWeight:400})}:{},labelMetrics:f,width:b,height:m}}),k=y.map(e=>e.width),w=new Map;for(let t=0;t<e.actors.length;t++)w.set(e.actors[t].id,t);let v=e.messages.map(e=>{var t;let i,a,r,l,s,c,h,p,g,u,f,x,b,m,y;return s=(l=et((r=Object.freeze({value:a=void 0!==(t=void 0===e.wrap&&void 0!==n.wrap?{...e,wrap:n.wrap}:e).number?`${t.number}. ${t.label}`:t.label,prepared:Z((i=X(t.label,t.labelContent),void 0!==t.number?R([`${t.number}. `,"string"==typeof i?Z(i):i]):i))})).prepared,{transform:o.edgeTextTransform,fontSize:o.edgeLabelFontSize,fontWeight:o.edgeLabelFontWeight,letterSpacing:o.edgeLetterSpacing,...t.wrap?{maxWidth:240}:{}})).text,c=o.edgeLabelFontSize*el,h=a?l:{width:0,height:0,lines:[],lineHeight:c},p=Math.max("none"!==t.startHead?E.width:0,5*!!t.centralStart),g=Math.max("none"!==t.endHead?E.width:0,5*!!t.centralEnd),u=Math.max(o.lineWidth/2,"none"!==t.startHead||"none"!==t.endHead?E.height/2:0,t.centralStart||t.centralEnd?4.75:0),f=Math.max(16,p+g+8),x=h.width+f,m=(b=30+(h.width>0?8+h.width:0))+Math.max(12,d/2+8),y=t.from===t.to?0:Math.ceil(Math.max(0,h.height-c)),{label:a,labelContent:r,displayLabel:s,block:l,labelMetrics:h,startPad:p,endPad:g,markerHalfHeight:u,requiredSpanWidth:x,selfRightExtent:b,requiredSelfNeighborGap:m,extraAboveHeight:y}}),M=Array.from({length:Math.max(0,e.actors.length-1)},()=>0);for(let t=0;t<e.messages.length;t++){let n=e.messages[t],i=v[t],o=w.get(n.from),a=w.get(n.to);if(void 0===o||void 0===a)continue;if(o===a){o<e.actors.length-1&&(M[o]=Math.max(M[o],i.requiredSelfNeighborGap));continue}let r=Math.min(o,a),l=Math.max(o,a),s=l-r,d=e.actors[a].createMessageIndex===t&&"participant"===e.actors[a].type?k[a]/2:0,c=(i.requiredSpanWidth+d)/s;for(let e=r;e<l;e++)M[e]=Math.max(M[e],c)}let S=[],I=a+k[0]/2;for(let t=0;t<e.actors.length;t++){if(t>0){let e=(k[t-1]+k[t])/2;I+=Math.max(void 0!==n.actorMargin?e+n.actorMargin:Math.max(140,e+40),M[t-1]??0)}S.push(I)}let $=(e.boxes??[]).flatMap((t,i)=>{let a=e.actors.flatMap((e,t)=>e.box===i?[t]:[]),r=t.label?et(X(t.label,t.labelContent),{transform:o.groupTextTransform,fontSize:o.groupHeaderFontSize,fontWeight:o.groupHeaderFontWeight,letterSpacing:o.groupLetterSpacing,fontFamily:o.groupFont,...t.wrap??n.wrap?{maxWidth:240}:{}}):void 0;return a.length>0?[{box:t,memberIdxs:a,block:r}]:[]}),L=Math.max(22,...$.map(e=>(e.block?.height??0)+8)),C=r+($.length>0?L+6:0),P=e.actors.map((e,t)=>eV(e,y[t],S[t],C)),W=e.actors.flatMap((t,n)=>{if(void 0!==t.createMessageIndex&&t.createMessageIndex<e.messages.length)return[];let i=P[n].bounds;return[i.y+i.height]}),q=W.length>0?Math.max(...W):C+h,F=q+26,H=[],z=e.blocks.map((t,n)=>{let i=eE.get(t);if(i)return i;let o=[];for(let n=0;n<e.notes.length;n++){let i=e.notes[n];i.afterIndex>=t.startIndex&&i.afterIndex<=t.endIndex&&o.push(n)}let a=[];for(let i=0;i<n;i++){let o=e.blocks[i];o.startIndex>=t.startIndex&&o.endIndex<=t.endIndex&&(e.blocks.some((e,a)=>a>i&&a<n&&o.startIndex>=e.startIndex&&o.endIndex<=e.endIndex&&e.startIndex>=t.startIndex&&e.endIndex<=t.endIndex)||a.push(i))}return{endMessageExclusive:Math.min(t.endIndex+1,e.messages.length),dividerNoteIndices:t.dividers.map(()=>-1),endNoteExclusive:o.length>0?o.at(-1)+1:e.notes.filter(e=>e.afterIndex<=t.endIndex).length,noteIndices:o,childBlockIndices:a,childSectionIndices:a.map(n=>t.dividers.filter(t=>e.blocks[n].startIndex>=t.index).length)}}),B=e.blocks.map(e=>{var t;let i,a,r,l,s,d,c,h,p,u,f;return a=(i=et("rect"===(t={...e,wrap:e.wrap??n.wrap,dividers:e.dividers.map(e=>({...e,wrap:e.wrap??n.wrap}))}).type?"":t.label?R([`${t.type} [`,Z(X(t.label,t.labelContent)),"]"]):t.type,{transform:o.groupTextTransform,fontSize:o.groupHeaderFontSize,fontWeight:o.groupHeaderFontWeight,letterSpacing:o.groupLetterSpacing,fontFamily:o.groupFont,...t.wrap?{maxWidth:240}:{}})).text,r=o.groupHeaderFontSize*el,s=Math.ceil(Math.max(0,((l=a?i:{width:0,height:0,lines:[],lineHeight:r}).lines.length-1)*l.lineHeight)),d=Math.max(2*o.groupPaddingX,2*o.groupLabelPaddingX),c="rect"===t.type?0:l.width+d,h="rect"===t.type?0:Math.max(18,o.groupHeaderFontSize+o.groupPaddingY)+s,p=b+s,u="rect"===t.type?o.groupPaddingY:h+o.groupPaddingY,f=t.dividers.map(e=>{let t=et(e.label?R(["[",Z(X(e.label,e.labelContent)),"]"]):"",{transform:o.edgeTextTransform,fontSize:o.edgeLabelFontSize,fontWeight:o.edgeLabelFontWeight,letterSpacing:o.edgeLetterSpacing,...e.wrap?{maxWidth:240}:{}}),n=t.text,i=e.label?t:{width:0,height:0,lines:[],lineHeight:g},a=Math.max(14,Math.ceil(i.lineHeight/2+6)),r=Math.max(0,a-14),l=Math.ceil(Math.max(0,(i.lines.length-1)*i.lineHeight));return{index:e.index,label:e.label,displayLabel:n,block:t,metrics:i,firstLineOffset:a,extraFontOffset:r,extraLinesHeight:l,requiredExtraBefore:24+l+r,noteContentOffset:Math.ceil(Math.max(28+l+r,a+(i.lines.length-1)/2*i.lineHeight+i.height/2+o.groupPaddingY))}}),{headerText:a,block:i,headerMetrics:l,tabWidth:c,tabHeight:h,extraHeaderLinesHeight:s,blockPadTop:p,blockHeaderExtra:m+s,enclosingHeaderStep:u,contentTopPadding:"rect"===t.type?o.groupPaddingY:Math.max(p,h+o.groupPaddingY),dividers:f}}),T=ez.get(e),_=new Map,N=new Map,O=new Map,j=new Map,A=new Map;for(let t=0;t<e.blocks.length;t++){let n=e.blocks[t],i=N.get(n.startIndex)??[];i.push(t),N.set(n.startIndex,i);let o=z[t],a=o.noteIndices[0];if(void 0!==a){let e=O.get(a)??[];e.push(t),O.set(a,e)}for(let e of o.childBlockIndices)j.set(e,t)}let D=new Set,U=new Set;if(T){let t=new Map(T.filter(e=>"open"===e.kind).map(e=>[e.blockIndex,e.noteIndex]));for(let n=0;n<e.blocks.length;n++){let i=e.blocks[n],o=z[n],a=new Set(o.childSectionIndices),r=i.startIndex,l=t.get(n);for(let e=0;e<=i.dividers.length;e++){let t=i.dividers[e]?.index??o.endMessageExclusive,s=o.dividerNoteIndices[e]??o.endNoteExclusive;r!==t||l!==s||a.has(e)||U.add(n),r=t,l=s}o.childBlockIndices.some(t=>e.blocks[t].startIndex===z[t].endMessageExclusive&&0===z[t].noteIndices.length)&&U.add(n)}for(let t=0;t<e.blocks.length;t++){let e=j.get(t);U.has(t)&&void 0!==e&&U.add(e)}}let J=e=>(N.get(e)??[]).filter(t=>!D.has(t)&&z[t].endMessageExclusive>e),V=e=>0===e.length?0:B[e[0]].blockHeaderExtra+e.slice(1).reduce((e,t)=>e+B[t].enclosingHeaderStep,0);for(let t=0;t<e.blocks.length;t++){if(U.has(t)||"par_over"===e.blocks[t].type)continue;let n=B[t],i=z[t];for(let[o,a]of n.dividers.entries()){let n=eG(e.blocks[t],i,e,o);if(void 0!==n){A.set(n,Math.max(A.get(n)??0,a.noteContentOffset));continue}if(a.index>=i.endMessageExclusive)continue;let r=a.requiredExtraBefore;for(let t of i.childBlockIndices)e.blocks[t]?.startIndex===a.index&&(r+=B[t].blockHeaderExtra);let l=_.get(a.index)??0;_.set(a.index,Math.max(l,r))}}let G=new Map,Q=new Map,K=new Map;for(let t=0;t<e.actors.length;t++){let n=e.actors[t];if(void 0!==n.createMessageIndex&&n.createMessageIndex<e.messages.length){let e=G.get(n.createMessageIndex)??[];e.push(t),G.set(n.createMessageIndex,e)}if(void 0!==n.destroyMessageIndex&&n.destroyMessageIndex<e.messages.length){let e=Q.get(n.destroyMessageIndex)??[];e.push(n.id),Q.set(n.destroyMessageIndex,e)}}let ee=new Map;for(let t=0;t<e.notes.length;t++){let n=e.notes[t],i=ee.get(n.afterIndex)??[];i.push({note:n,index:t}),ee.set(n.afterIndex,i)}let en=Array(e.notes.length),ei=new Map,eo=[],er=new Map;for(let t of e.activationEvents??[]){let e=er.get(t.messageIndex)??[];e.push(t),er.set(t.messageIndex,e)}let ed=(e,t)=>{let n=ei.get(e)??[];n.push({startY:t,depth:n.length}),ei.set(e,n)},ec=(e,t)=>{let n=ei.get(e);if(!n||0===n.length)return;let{startY:i,depth:o}=n.pop(),a=w.get(e);void 0===a||t<=i||eo.push({actorId:e,x:S[a]-d/2+4*o,topY:i,bottomY:t,width:d})},eh=(e,t)=>{for(let n of er.get(e)??[])"activate"===n.kind?ed(n.actorId,t):ec(n.actorId,t)},ep=(e,t)=>{let i=et(X(e.text,e.textContent),{transform:o.nodeTextTransform,fontSize:o.nodeLabelFontSize,fontWeight:o.nodeLabelFontWeight,letterSpacing:o.nodeLetterSpacing,...e.wrap??n.wrap?{maxWidth:240}:{}}),a=Math.max(60,i.width+2*o.nodePaddingX),r=i.height+2*o.nodePaddingY,l=w.get(e.actorIds[0]??"")??0,d;if("left"===e.position)d=S[l]-k[l]/2-a-s;else if("right"===e.position)d=S[l]+k[l]/2+s;else if(e.actorIds.length>1){let t=w.get(e.actorIds[e.actorIds.length-1]??"")??l;d=(S[l]+S[t])/2-a/2}else d=S[l]-a/2;return{text:e.text,block:i,x:d,y:t,width:a,height:r,position:e.position,actors:e.actorIds}},eg=Array(e.blocks.length),eu=[],ef=-1/0,ex=q,eb=-1/0,em=0,ey=0,ek=0,ew=0,ev=new Map,eM=(t,n,i)=>{let o=0,a=[];for(let[o,r]of ev){let l=e.blocks[o];for(let e=l.startIndex;e<r.messageEnd;e++)H[e]&&a.push(H[e].bounds);for(let e of z[o].noteIndices)e<r.noteEnd&&en[e]&&a.push(en[e]);for(let e of r.priorChildren)eg[e]&&a.push(eg[e]);for(let[s,d]of l.dividers.entries()){let c=B[o].dividers[s];if(!d.label)continue;let h=eG(l,z[o],e,s),p=void 0!==h&&h<r.noteEnd?en[h]:void 0===h&&d.index<r.messageEnd?H[d.index]?.bounds:void 0;if(p&&a.push({x:p.x,y:p.y-c.metrics.height-8,width:c.metrics.width,height:c.metrics.height}),void 0===h&&n===d.index||void 0!==h&&i===h){let e=c.metrics.height+8;t={x:t.x,y:t.y-e,width:Math.max(t.width,c.metrics.width),height:t.height+e}}}}for(let e=0;e<=a.length;e++){let e=a.find(e=>t.x<e.x+e.width+8&&t.x+t.width+8>e.x&&t.y+o<e.y+e.height+8&&t.y+t.height+o+8>e.y);if(!e)break;o=e.y+e.height+8-t.y}return o},eS=e=>{let t=[];for(let n=e;void 0!==n&&!D.has(n);n=j.get(n))t.push(n);for(let e=t.length-1;e>=0;e--){let n=t[e],i=Math.max(ex,ef,eb)+8;eu[n]={top:i,dividerY:[]},D.add(n),ex=eb=i+B[n].enclosingHeaderStep}},eI=t=>{let n=e.blocks[t],i=z[t],a=eu[t]?.top,r=void 0!==a&&n.startIndex===i.endMessageExclusive&&0===i.noteIndices.length?a+B[t].blockPadTop:en[i.noteIndices[0]??-1]?.y??F;D.add(t);let l=eQ(n,B[t],i,e,w,P,H,en,eg,o,g,r,eu[t]);eg[t]=l,ef=Math.max(ef,l.y+l.height);let s=ev.get(t);s&&(ex=Math.max(ex,s.bottom,ef),F=Math.max(F,ex+f/2),ev.delete(t))},e$=()=>{if(T){for(;ek<T.length;){let t=T[ek];if(t.messageIndex>H.length||t.noteIndex>em)break;let n=t.blockIndex;if("open"===t.kind&&U.has(n)&&eS(n),"open"===t.kind&&"par_over"===e.blocks[n].type){eS(n);let i=Math.max(0,...B[n].dividers.map(e=>e.noteContentOffset));eb+=i,ex=eb,F=Math.max(F,eb+f/2),ev.set(n,{messageY:F,contentBottom:ex,completedBottom:ef,reservedBottom:eb,bottom:ex,messageEnd:e.blocks[n].startIndex,noteEnd:t.noteIndex,priorChildren:[]}),ew++}if("divider"===t.kind){let e=ev.get(n);if(e){e.bottom=Math.max(e.bottom,ex,ef,eb),e.messageEnd=t.messageIndex,e.noteEnd=t.noteIndex,e.priorChildren=z[n].childBlockIndices.filter(e=>eg[e]),({messageY:F,contentBottom:ex,completedBottom:ef,reservedBottom:eb}=e),ew++,ek++;continue}let i=B[n].dividers[t.dividerIndex],o=Math.max(ex,ef,eb)+8;U.has(n)?(eu[n].dividerY[t.dividerIndex]=o,ex=eb=o+i.noteContentOffset):eb=o+i.noteContentOffset}"close"===t.kind&&eI(n),ek++}return}for(;ey<e.blocks.length;){let e=ey,t=z[e];if(t.endMessageExclusive>H.length||t.endNoteExclusive>em)break;eI(e),ey++}},eL=(e,t)=>{let n=t;for(let{note:t,index:i}of ee.get(e)??[]){let e=ew;for(let t of(e$(),e!==ew&&(n=F),n=Math.max(n,ef+8,eb),O.get(i)??[])){let e=eu[t]?.top;void 0!==e&&(n=Math.max(n,e+B[t].contentTopPadding))}let o=(O.get(i)??[]).filter(e=>!D.has(e)),a=A.get(i)??0;if(o.length>0||a>0){let e=a+(o.length>0?B[o[0]].contentTopPadding+o.slice(1).reduce((e,t)=>e+B[t].enclosingHeaderStep,0):0);for(let t of(n=Math.max(n,Math.max(ex,ef)+8+e),o))D.add(t)}let r=ep(t,n),l=eM(r,void 0,i);l>0&&(n+=l,r=ep(t,n)),en[i]=r,ex=Math.max(ex,r.y+r.height),em=i+1,n=r.y+r.height+4}ee.has(e)&&(F=Math.max(F,n+f/2))};eL(-1,F);for(let t=0;t<e.messages.length;t++){let n=e.messages[t],i=v[t],a=w.get(n.from)??0,r=w.get(n.to)??0,l=n.from===n.to;e$();let s=J(t),d=Math.max(_.get(t)??0,V(s));for(let e of G.get(t)??[]){let t=P[e].height/2;d=d>0?d+Math.max(0,t-12):t+8}F+=d+i.extraAboveHeight;let c=S[a],h=S[r],p=e.actors[r].createMessageIndex!==t||"participant"!==e.actors[r].type||l?h:h-Math.sign(h-c)*k[r]/2,u=()=>{let a=function(e,t,n,i,o,a){let r=e.from===e.to;if(r){let l=a+Math.max(20,t.labelMetrics.height)/2,s=eR(t.displayLabel,i+30+8,l,"start",n.edgeLabelFontSize,n.edgeLabelFontWeight,n.edgeLetterSpacing,t.block),d={x:i-t.startPad,y:a-t.markerHalfHeight,width:30+t.startPad+n.lineWidth/2,height:20+2*t.markerHalfHeight},c=t.label?eZ(d,s.bounds):d;return{from:e.from,to:e.to,label:t.label,labelContent:t.labelContent,lineStyle:e.lineStyle,startHead:e.startHead,endHead:e.endHead,centralStart:e.centralStart??!1,centralEnd:e.centralEnd??!1,x1:i,x2:o,y:a,isSelf:r,points:[{x:i,y:a},{x:i+30,y:a},{x:i+30,y:a+20},{x:o,y:a+20}],labelPosition:s,bounds:c}}let l=Math.max(2.85,n.lineWidth/2+2),s=Math.max(10,t.labelMetrics.height/2+l),d=eR(t.displayLabel,(i+o)/2,a-s,"middle",n.edgeLabelFontSize,n.edgeLabelFontWeight,n.edgeLetterSpacing,t.block),c=i<=o?t.startPad:t.endPad,h=i<=o?t.endPad:t.startPad,p=Math.min(i,o)-c,g=Math.max(i,o)+h,u={x:p,y:a-t.markerHalfHeight,width:g-p,height:2*t.markerHalfHeight},f=t.label?eZ(u,d.bounds):u;return{from:e.from,to:e.to,label:t.label,labelContent:t.labelContent,lineStyle:e.lineStyle,startHead:e.startHead,endHead:e.endHead,centralStart:e.centralStart??!1,centralEnd:e.centralEnd??!1,x1:i,x2:o,y:a,isSelf:r,points:[{x:i,y:a},{x:o,y:a}],labelPosition:d,bounds:f}}(n,i,o,c,p,F);for(let n of(H[t]=a,G.get(t)??[]))P[n]=eV(e.actors[n],y[n],S[n],F-P[n].height/2);return a},b=u(),m=b.bounds.y,M=0,I=new Set(s),$=(N.get(t)??[]).filter(e=>I.has(e)||eu[e]?.top!==void 0&&!eg[e]);if($.length>0){let t=[];for(let n of $){for(let e of z[n].childBlockIndices)eg[e]&&(t[e]=eg[e]);t[n]=eQ(e.blocks[n],B[n],z[n],e,w,P,H,en,t,o,g,F,eu[n]);let i=eu[n]?.top;void 0!==i?M=Math.max(M,i-t[n].y):m=Math.min(m,t[n].y)}}let L=Math.max(0,M,(s.length>0?Math.max(ex,ef,eb):Math.max(ef,eb))+8*(s.length>0)-m);L>0&&(F+=L,b=u());let C=eM(b.bounds,t);for(let e of(C>0&&(F+=C,b=u()),s))D.add(e);ex=Math.max(ex,b.bounds.y+b.bounds.height,...(G.get(t)??[]).map(e=>P[e].bounds.y+P[e].bounds.height)),eh(t,F);let W=Q.get(t);if(W)for(let e of W)K.set(e,F);n.activate&&ed(n.to,F),n.deactivate&&ec(n.from,F);let q=l?Math.max(x,Math.ceil(i.labelMetrics.height)+10):0;F+=l?q+f:f;let E=G.get(t);if(E){let e=Math.max(...E.map(e=>{let t=P[e];return t.bounds.height-t.height/2}));F+=e}let Y=E?ex+8:b.y+q+14;eL(t,Y)}e$();let eC=Math.max(H[H.length-1]?.y??F,F-f/2);for(let[t,n]of(eh(e.messages.length,eC),ei))for(;n.length>0;)ec(t,eC);for(let t of P)e.actors[w.get(t.id)]?.external&&(t.external=!0);for(let[t,n]of H.entries()){let i=e.messages[t];void 0!==i.id&&(n.id=i.id),void 0!==i.parentId&&(n.parentId=i.parentId)}for(let[t,n]of eg.entries()){let i=e.blocks[t];void 0!==i.id&&(n.id=i.id),void 0!==i.parentId&&(n.parentId=i.parentId)}for(let[t,n]of en.entries()){let i=e.notes[t];n&&i?.id!==void 0&&(n.id=i.id),n&&i?.parentId!==void 0&&(n.parentId=i.parentId)}let eP=en.filter(e=>void 0!==e),eW=eg.reduce((e,t)=>Math.max(e,t.y+t.height),0);eW>0&&(F=Math.max(F,eW+8));let eq=F,eF=$.map(({box:e,memberIdxs:t,block:n})=>{let i=Math.min(...t.map(e=>P[e].bounds.x))-8,o=Math.max(...t.map(e=>P[e].bounds.x+P[e].bounds.width))+8;return e.label&&(o=Math.max(o,i+n.width+16)),{label:e.label,block:n,labelY:r+L/2,color:e.color,x:i,y:r,width:o-i,height:eq+8-r}}),eH=F+r,eY=a,eB=0;for(let e of P){let t=e.bounds;eY=Math.min(eY,t.x),eB=Math.max(eB,t.x+t.width)}for(let e of eg)eY=Math.min(eY,e.x),eB=Math.max(eB,e.x+e.width);for(let e of eP)eY=Math.min(eY,e.x),eB=Math.max(eB,e.x+e.width);for(let e of eF)eY=Math.min(eY,e.x),eB=Math.max(eB,e.x+e.width);for(let e of eo)eY=Math.min(eY,e.x),eB=Math.max(eB,e.x+e.width);for(let e of H){eY=Math.min(eY,e.bounds.x);let t=e.isSelf&&e.label?8:0;eB=Math.max(eB,e.bounds.x+e.bounds.width+t)}let eT=eY<a?a-eY:0;if(eT>0){eK({actors:P,messages:H,blocks:eg,notes:eP,boxes:eF,activations:eo,lifelines:[],destructions:[]},eT,0);for(let e=0;e<S.length;e++)S[e]+=eT}let e_=e.actors.map((e,t)=>{let n=P[t],i=n.bounds.y+n.bounds.height;return{actorId:e.id,x:S[t],topY:i,bottomY:K.get(e.id)??eH-r}}),eN=e.actors.filter(e=>K.has(e.id)).map(e=>({actorId:e.id,x:S[w.get(e.id)],y:K.get(e.id)}));return e2({width:Math.max(eB+eT+a,200),height:Math.max(eH,100),accessibilityTitle:e.accessibilityTitle,accessibilityDescription:e.accessibilityDescription,actors:P,lifelines:e_,messages:H,activations:eo,blocks:eg,notes:eP,boxes:eF,destructions:eN},void 0===e.title?void 0:X(e.title,e.titleContent),o,a,r)}function e2(e,t,n,i,o){let a=B(t,n);if(!a)return e;if(0===e.width&&0===e.height)return{...e,...T(a,i,o)};let r=a.height;eK(e,0,r);let l=Math.max(e.width,a.width+2*i);return{...e,width:l,height:e.height+r,title:_(a,l,o)}}function e3(e,t){let n,i,o,a,r,{positioned:l,colors:s,resolved:d}=t,c=d.renderOptions,h=s.font??"Inter",p=c.transparent??!1,g=[],u=Y(c,e0,d.styleFace),f=`seq-${ee(l.width,l.height,l.actors.length,l.messages.length)}`,x=`${f}-title`,b=`${f}-desc`,m=P(l.accessibilityTitle,l.accessibilityDescription,x,b);g.push(e.documentOpen({id:"prelude",width:l.width,height:l.height,colors:s,transparent:p,font:h,hasMonoFont:!1},L(l.width,l.height,s,p,m)+`
|
|
4
|
+
`+$(h,!1,s.shadow,s.embedFontImport)));let w=[];w.push("<defs>");let v=(n=E.width,i=E.height,o=u.edgeStrokeColor??"var(--_arrow)",a={size:{width:n,height:i},orient:"auto-start-reverse"},r=[{x:0,y:0},{x:n,y:i/2},{x:0,y:i}],[{...a,id:"seq-arrow",shape:"arrow",ref:{x:n,y:i/2},geometry:{kind:"polygon",points:r},paint:{fill:o}},{...a,id:"seq-arrow-open",shape:"open-arrow",ref:{x:n,y:i/2},geometry:{kind:"polyline",points:r},paint:{fill:"none",stroke:o,strokeWidth:"1"}},{...a,id:"seq-arrow-cross",shape:"cross",ref:{x:n/2,y:i/2},orient:"auto",geometry:{kind:"path",d:`M1 1 L${n-1} ${i-1} M1 ${i-1} L${n-1} 1`},paint:{fill:"none",stroke:o,strokeWidth:"1.5"}},{...a,id:"seq-arrow-half-top",shape:"arrow",ref:{x:n,y:i/2},geometry:{kind:"polygon",points:[{x:0,y:0},{x:n,y:i/2},{x:0,y:i/2}]},paint:{fill:o}},{...a,id:"seq-arrow-half-bottom",shape:"arrow",ref:{x:n,y:i/2},geometry:{kind:"polygon",points:[{x:0,y:i/2},{x:n,y:i/2},{x:0,y:i}]},paint:{fill:o}},{...a,id:"seq-arrow-stick-top",shape:"open-arrow",ref:{x:n,y:i/2},geometry:{kind:"path",d:`M0 0 L${n} ${i/2}`},paint:{fill:"none",stroke:o,strokeWidth:"1.5"}},{...a,id:"seq-arrow-stick-bottom",shape:"open-arrow",ref:{x:n,y:i/2},geometry:{kind:"path",d:`M0 ${i} L${n} ${i/2}`},paint:{fill:"none",stroke:o,strokeWidth:"1.5"}}]);w.push(W(v));let M=I(s);M&&w.push(M),w.push("</defs>"),g.push(e.definitions({id:"defs",markerResources:v},w.join(`
|
|
5
|
+
`))),l.accessibilityTitle&&g.push(e.documentContent({id:"a11y-title",role:"chrome",nonPaint:"accessibility"},`<title id="${x}">${J(l.accessibilityTitle)}</title>`)),l.accessibilityDescription&&g.push(e.documentContent({id:"a11y-desc",role:"chrome",nonPaint:"accessibility"},`<desc id="${b}">${J(l.accessibilityDescription)}</desc>`));let S=l.blocks.some(e=>"rect"===e.type),q=S?[...l.blocks].reverse().sort((e,t)=>t.width*t.height-e.width*e.height):l.blocks,F=function(e,t,n,i){let o=(e,t,n)=>t>=e.x&&t<=e.x+e.width&&n>=e.y&&n<=e.y+e.height,a=e.flatMap(e=>{let t=e.color&&"transparent"!==e.color.toLowerCase()?ek(e.color):void 0;return t?[{x:e.x,y:e.y,width:e.width,height:e.height,hex:t,authored:!0}]:[]}),r=C("var(--bg)",i)??"#ffffff";for(let e of t){let t=e6(e,n),l=void 0===t?void 0:C(t,i)??t,s=void 0===l?null:O(l);if(!s||0===s[3])continue;let d=e.x+e.width/2,c=e.y+e.height/2,h=j(l,a.findLast(e=>o(e,d,c))?.hex??r);h&&a.push({x:e.x,y:e.y,width:e.width,height:e.height,hex:eo(...h),authored:"rect"===e.type})}return(e,t)=>{let n=a.findLastIndex(t=>o(t,e.x,e.y)),r=a[n],l=void 0!==r&&!(o(r,e.x-e.width/2,e.y-e.height/2)&&o(r,e.x+e.width/2,e.y+e.height/2))||a.some((t,i)=>i>n&&t.hex!==r?.hex&&e.x-e.width/2<t.x+t.width&&e.x+e.width/2>t.x&&e.y-e.height/2<t.y+t.height&&e.y+e.height/2>t.y);if(!r)return l?{ink:t,halo:"var(--bg)"}:{ink:t};let s=C(t,i),d=s?er(s,r.hex):y(r.hex)??t;return r.authored||l?{ink:d,halo:r.hex}:{ink:d}}}(l.boxes,q,u,s);l.title&&g.push(e.text(N(l.title,u)));let B=new Map;for(let t of l.boxes){let n=t.label??"",i=B.get(n)??0;B.set(n,i+1),g.push(function(e,t,n,i){let o=[],a=`<g class="box"${t.label?` data-label="${G(t.label)}"`:""}>`,r=t.color?.toLowerCase()==="transparent"?"none":t.color,l=r??"color-mix(in srgb, var(--fg) 5%, var(--bg))";if(o.push({indent:2,node:e.shape({id:`${i}:rect`,role:"group",geometry:{kind:"rect",x:t.x,y:t.y,width:t.width,height:t.height,rx:n.groupCornerRadius,ry:n.groupCornerRadius},paint:{fill:l,stroke:"none"}})}),t.label){let a=t.block?.text??z(t.label,n.groupTextTransform),l=function(e,t){let n=t.groupTextColor??"var(--_text-sec)";if(!e||"none"===e)return n;let i=ek(e);if(!i)return n;let o=t.groupTextColor;if(o){let e=A(o,i);if(null!==e&&e>=4.5)return o}return y(i)??n}(r,n),s=t.x+t.width/2,d=t.labelY??t.y+13;o.push({indent:2,node:e.text({id:`${i}:title`,role:"label",text:a,block:t.block,x:s,y:d,fontSize:n.groupHeaderFontSize,fontWeight:n.groupHeaderFontWeight,letterSpacing:n.groupLetterSpacing,anchor:"middle",paint:{fill:l}})})}return e.group({id:i,role:"group",open:a,close:"</g>",children:o})}(e,t,u,`box:${n}#${i}`))}let T=new Map,_=new Map;for(let e of l.blocks){let t=T.get(e.type)??0;T.set(e.type,t+1),_.set(e,e.id??`block:${e.type}#${t}`)}for(let t of q)g.push(e9(e,t,u,_.get(t),S?"background":"all"));if(S){for(let t of q)"rect"!==t.type&&g.push(e9(e,t,u,_.get(t),"frame"));for(let t of l.blocks)t.dividers.length>0&&g.push(e9(e,t,u,_.get(t),"dividers"))}let X=function(e){let t=new Map,n=[];for(let i of e){let e=`${i.from}->${i.to}`,o=t.get(e)??0;if(t.set(e,o+1),!i.labelPosition.text.trim())continue;let a=i.labelPosition.bounds;n.push({key:`${e}#${o}`,x:a.x-2,y:a.y-2,width:a.width+4,height:a.height+4})}let i=e=>{let t="x"===e?"width":"height",i=[...n].sort((t,n)=>t[e]-n[e]),o=(n,a)=>{if(n>=a)return;let r=n+a>>>1,l=i[r],s=o(n,r),d=o(r+1,a);return{area:l,left:s,right:d,end:Math.max(l[e]+l[t],s?.end??-1/0,d?.end??-1/0)}},a=o(0,i.length);return n=>{let i=[],o=a=>{if(!a||a.end<n[e])return;o(a.left);let r=a.area;r[e]>n[e]+n[t]||(r.x<=n.x+n.width&&r.x+r.width>=n.x&&r.y<=n.y+n.height&&r.y+r.height>=n.y&&i.push(r),o(a.right))};return o(a),i}},o=i("x"),a=i("y");return(e,t)=>{let n=("x"===t?o:a)(e).sort((e,t)=>e.y-t.y),i=[],r=e.y+e.height,l=e.y,s;for(let t of n){let n=Math.max(e.y,t.y);n>l&&i.push({top:l,bottom:n,after:s});let o=Math.min(r,t.y+t.height);o>l&&(l=o,s=t.key)}return l<r&&i.push({top:l,bottom:r,after:s}),i}}(l.messages),D=new Set(l.actors.filter(e=>e.external).map(e=>e.id));for(let t of l.lifelines){if(D.has(t.actorId))continue;let n=Math.max(.75,.75*u.lineWidth);g.push(function(e,t,n,i){let o=n.edgeStrokeColor??"var(--_line)",a=Math.max(.75,.75*n.lineWidth),r=`lifeline:${t.actorId}`;return 1!==i.length||i[0].top!==t.topY||i[0].bottom!==t.bottomY?e.group({id:r,role:"lifeline",open:`<g class="lifeline" data-actor="${V(t.actorId)}">`,close:"</g>",children:i.map(n=>{let i=(n.top-t.topY)%10;return{indent:2,node:e.connector({id:n.after?K(r,"after",n.after):K(r,"start"),role:"lifeline",geometry:{kind:"line",x1:t.x,y1:n.top,x2:t.x,y2:n.bottom},lineStyle:"dashed",paint:{stroke:o,strokeWidth:String(a),strokeDasharray:"6 4",strokeDashoffset:String(i)}})}})}):e.connector({id:r,role:"lifeline",geometry:{kind:"line",x1:t.x,y1:t.topY,x2:t.x,y2:t.bottomY},lineStyle:"dashed",paint:{stroke:o,strokeWidth:String(a),strokeDasharray:"6 4"},attributes:{className:"lifeline",data:{actor:t.actorId}}})}(e,t,u,X({x:t.x-n/2,y:t.topY,width:n,height:t.bottomY-t.topY},"x")))}let R=new Map;for(let t of l.activations){let n=R.get(t.actorId)??0;R.set(t.actorId,n+1),g.push(function(e,t,n,i,o){let a=n.nodeFillColor??"var(--_node-fill)",r=n.nodeBorderColor??"var(--_node-stroke)";if(1!==o.length||o[0].top!==t.topY||o[0].bottom!==t.bottomY){let n=[],l=[],s=[];for(let e of o)for(let n of(l.push(`M ${t.x} ${e.top} h ${t.width} V ${e.bottom} h ${-t.width} Z`),[{x1:t.x,y1:e.top,x2:t.x,y2:e.bottom},{x1:t.x+t.width,y1:e.top,x2:t.x+t.width,y2:e.bottom},...e.top===t.topY?[{x1:t.x,y1:e.top,x2:t.x+t.width,y2:e.top}]:[],...e.bottom===t.bottomY?[{x1:t.x,y1:e.bottom,x2:t.x+t.width,y2:e.bottom}]:[]]))s.push(`M ${n.x1} ${n.y1} L ${n.x2} ${n.y2}`);if(l.length){let t=l.join(" "),o=s.join(" ");n.push({indent:2,node:e.shape({id:K(i,"fill"),role:"activation",surfaceFragment:!0,geometry:{kind:"path",d:t},paint:{fill:a,stroke:"none"}})}),n.push({indent:2,node:e.shape({id:K(i,"border"),role:"activation",geometry:{kind:"path",d:o},paint:{fill:"none",stroke:r,strokeWidth:String(H.innerBox)}})})}return e.group({id:i,role:"activation",open:`<g class="activation" data-actor="${V(t.actorId)}">`,close:"</g>",children:n})}return e.shape({id:i,role:"activation",geometry:{kind:"rect",x:t.x,y:t.topY,width:t.width,height:t.bottomY-t.topY},paint:{fill:a,stroke:r,strokeWidth:String(H.innerBox)},attributes:{className:"activation",data:{actor:t.actorId}}})}(e,t,u,`activation:${t.actorId}#${n}`,X({x:t.x-H.innerBox/2,y:t.topY,width:t.width+H.innerBox,height:t.bottomY-t.topY},"y")))}let Z=new Map;for(let t of l.blocks){let n=Z.get(t.type)??0;Z.set(t.type,n+1),"rect"!==t.type&&t.header&&g.push(function(e,t,n,i){let{x:o,y:a,width:r,height:l,label:s}=t,{text:d,x:c,y:h}=s,p=n.groupHeaderFillColor??"var(--_group-hdr)",g=n.groupBorderColor??"var(--_node-stroke)",u=n.groupTextColor??"var(--_text-sec)";return e.group({id:`${i}:header-overlay`,role:"block",open:'<g class="sequence-block-header-overlay" pointer-events="none" aria-hidden="true">',close:"</g>",children:[{indent:0,node:e.shape({id:`${i}:tab`,role:"block",geometry:{kind:"rect",x:o,y:a,width:r,height:l},paint:{fill:p,stroke:g,strokeWidth:String(n.groupLineWidth)}})},{indent:0,node:e.text({id:`${i}:label`,role:"label",text:d,block:s.block,x:c,y:h,fontSize:n.groupHeaderFontSize,fontWeight:n.groupHeaderFontWeight,letterSpacing:n.groupLetterSpacing,anchor:"start",paint:{fill:u}})}]})}(e,t.header,u,_.get(t)))}let U=new Map;for(let t of l.blocks){let n=U.get(t.type)??0;U.set(t.type,n+1),t.dividers.some(e=>e.label)&&g.push(function(e,t,n,i,o){let a=n.edgeTextColor??"var(--_text-muted)",r=[];return t.dividers.forEach((t,l)=>{if(!t.label||!t.labelPosition)return;let{text:s,x:d,y:c,bounds:h}=t.labelPosition,p=o(e5(h),a),g={ink:p.ink,halo:p.halo??n.groupFillColor??"var(--bg)"};r.push({indent:2,node:e.text({id:`${i}:divider#${l}:label`,role:"label",text:s,block:t.labelPosition.block,x:d,y:c,fontSize:n.edgeLabelFontSize,fontWeight:n.edgeLabelFontWeight,letterSpacing:n.edgeLetterSpacing,anchor:"start",paint:{fill:g.ink,...e8(g)}})})}),e.group({id:`${i}:divider-labels`,role:"block",open:'<g class="sequence-block-divider-labels" pointer-events="none">',close:"</g>",children:r})}(e,t,u,_.get(t),F))}let Q=new Map;for(let t of l.messages){let n=`${t.from}->${t.to}`,i=Q.get(n)??0;Q.set(n,i+1),g.push(function(e,t,n,i,o,a){let r=[],l=e4(a,t.startHead),s=e4(a,t.endHead),d=n.edgeStrokeColor??"var(--_line)",c=n.edgeTextColor??"var(--_text-muted)",{text:h,x:p,y:g,bounds:u}=t.labelPosition,f={stroke:d,strokeWidth:String(n.lineWidth),..."dashed"===t.lineStyle?{strokeDasharray:"6 4"}:{}},x={endpoints:{from:t.from,to:t.to},relationship:{kind:"sequence-message",direction:t.isSelf?"self":l&&s?"bidirectional":l?"reverse":s?"forward":"undirected"},route:{ownership:"layout"},labels:t.label?[{text:t.label,...t.labelContent?{textContent:t.labelContent}:{}}]:[]},b=`<g class="message" data-label="${G(t.label)}" data-line-style="${t.lineStyle}" data-start-head="${t.startHead}" data-end-head="${t.endHead}" data-central-start="${t.centralStart}" data-central-end="${t.centralEnd}" data-self="${t.isSelf}"${void 0===t.parentId?"":` data-parent-id="${V(t.parentId)}"`}>`;if(t.isSelf){r.push({indent:2,node:e.connector({id:`${i}:line`,role:"message",geometry:{kind:"polyline",points:t.points},lineStyle:t.lineStyle,paint:f,markers:{...l?{start:l}:{},mid:[],...s?{end:s}:{}},...x})});let a=o(e5(u),c);r.push({indent:2,node:e.text({id:`${i}:label`,role:"label",text:h,block:t.labelPosition.block,x:p,y:g,fontSize:n.edgeLabelFontSize,fontWeight:n.edgeLabelFontWeight,letterSpacing:n.edgeLetterSpacing,anchor:"start",paint:{fill:a.ink,...e8(a)}})})}else{let a=t.points[0],d=t.points[t.points.length-1];r.push({indent:2,node:e.connector({id:`${i}:line`,role:"message",geometry:{kind:"line",x1:a.x,y1:a.y,x2:d.x,y2:d.y},lineStyle:t.lineStyle,paint:f,markers:{...l?{start:l}:{},mid:[],...s?{end:s}:{}},...x})});let b=o(e5(u),c);r.push({indent:2,node:e.text({id:`${i}:label`,role:"label",text:h,block:t.labelPosition.block,x:p,y:g,fontSize:n.edgeLabelFontSize,fontWeight:n.edgeLabelFontWeight,letterSpacing:n.edgeLetterSpacing,anchor:"middle",paint:{fill:b.ink,...e8(b)}})})}return t.centralStart&&r.push({indent:2,node:e.shape({id:`${i}:central-start`,role:"chrome",geometry:{kind:"circle",cx:t.x1,cy:t.y,r:4},paint:{fill:"var(--bg)",stroke:d,strokeWidth:"1.5"},attributes:{className:"sequence-central-connection",data:{side:"start"}}})}),t.centralEnd&&r.push({indent:2,node:e.shape({id:`${i}:central-end`,role:"chrome",geometry:{kind:"circle",cx:t.x2,cy:t.y,r:4},paint:{fill:"var(--bg)",stroke:d,strokeWidth:"1.5"},attributes:{className:"sequence-central-connection",data:{side:"end"}}})}),e.group({id:i,role:"message",open:b,close:"</g>",children:r})}(e,t,u,t.id??`message:${n}#${i}`,F,v))}let et=new Map;for(let t of l.notes){let n=`${(t.actors??[]).join(",")}@${t.position??"over"}`,i=et.get(n)??0;et.set(n,i+1),g.push(function(e,t,n,i,o){let{x:a,y:r,width:l,height:s}=t,d=t.actors&&t.actors.length>0?` data-actors="${t.actors.map(V).join(",")}"`:"",c=t.position?` data-position="${V(t.position)}"`:"",h=n.nodeFillColor??"var(--bg)",p=n.nodeBorderColor??"var(--_node-stroke)",g=n.nodeTextColor??k("var(--_text-muted)",h,i),u=n.cornerRadius??0,f=t.block?.text??z(t.text,n.nodeTextTransform);return e.group({id:o,role:"note",open:`<g class="note"${c}${d}${void 0===t.parentId?"":` data-parent-id="${V(t.parentId)}"`}>`,close:"</g>",children:[{indent:2,node:e.shape({id:`${o}:rect`,role:"note",geometry:{kind:"rect",x:a,y:r,width:l,height:s,rx:u,ry:u},paint:{fill:h,stroke:p,strokeWidth:String(H.innerBox)}})},{indent:2,node:e.text({id:`${o}:text`,role:"label",text:f,block:t.block,x:a+l/2,y:r+s/2,fontSize:n.nodeLabelFontSize,fontWeight:n.nodeLabelFontWeight,letterSpacing:n.nodeLetterSpacing,anchor:"middle",paint:{fill:g}})}]})}(e,t,u,s,t.id??`note:${n}#${i}`))}for(let t of l.destructions)g.push(function(e,t,n){let i=n.edgeStrokeColor??"var(--_line)",o=Math.max(1.5,n.lineWidth),a=`M ${t.x-8} ${t.y-8} L ${t.x+8} ${t.y+8} M ${t.x-8} ${t.y+8} L ${t.x+8} ${t.y-8}`;return e.shape({id:`destroy:${t.actorId}`,role:"icon",geometry:{kind:"path",d:a},paint:{fill:"none",stroke:i,strokeWidth:String(o)},channels:{category:t.actorId},attributes:{className:"destroy-cross",data:{actor:t.actorId}}})}(e,t,u));for(let t of l.actors)t.external||g.push(function(e,t,n,i,o,a,r){let{id:l,x:s,y:d,width:c,height:h,label:p,type:g}=t,u=[],f=ea(o,"actor",{category:l},{includeFallback:!1}),x=f?.fontSize??n.nodeLabelFontSize,b=f?.fontWeight??n.nodeLabelFontWeight,m=f?.letterSpacing??n.nodeLetterSpacing,y=(f?.textTransform??n.nodeTextTransform,f?.lineWidth??n.nodeLineWidth),w=f?.fillColor??n.nodeFillColor??"var(--_node-fill)",v=f?.borderColor??n.nodeBorderColor??"var(--_node-stroke)",M=f?.textColor??n.nodeTextColor??"var(--_text)",S=f?.textColor??n.nodeTextColor??k("var(--_text)",w,i),I=a&&t.links?` data-links="${V(JSON.stringify(t.links))}" role="link" tabindex="0"`:"",$=`<g class="actor" data-id="${V(l)}" data-label="${G(p)}" data-type="${g}"${I}>`,{text:L,x:C,y:P,bounds:W}=t.labelPosition,q=r(e5(W),M);if("actor"===g){let i=h/24*.9,o=s-12*i,a=d+(h-24*i)/2,r=y/i;u.push({indent:2,node:e.pathArtwork({id:`actor:${l}:icon`,owner:{id:l,role:"actor"},channels:{category:l},open:`<g transform="translate(${o},${a}) scale(${i})">`,transform:{kind:"matrix",a:i,b:0,c:0,d:i,e:o,f:a},paint:{fill:"none",stroke:f?.borderColor??n.edgeStrokeColor??"var(--_line)",strokeWidth:String(r)},join:`
|
|
6
|
+
`,indent:2,paths:["M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z","M15 10C15 11.6569 13.6569 13 12 13C10.3431 13 9 11.6569 9 10C9 8.34315 10.3431 7 12 7C13.6569 7 15 8.34315 15 10Z","M5.62842 18.3563C7.08963 17.0398 9.39997 16 12 16C14.6 16 16.9104 17.0398 18.3716 18.3563"]})}),u.push({indent:2,node:e.text({id:`actor:${l}:label`,role:"label",text:L,block:t.labelPosition.block,x:C,y:P,fontSize:x,fontWeight:b,letterSpacing:m,anchor:"middle",paint:{fill:q.ink,...e8(q)},channels:{category:l}})})}else if("participant"!==g){let i=s-c/2,o=d+2,a=Math.max(24,h-4),r=[],p={id:l,role:"actor"},k={fill:w,stroke:f?.borderColor??n.edgeStrokeColor??"var(--_line)",strokeWidth:String(y)},v=t=>{r.push(e.shape({id:K(`actor:${l}:icon`,"part",r.length),role:"icon",owner:p,geometry:t,paint:k}))},M=e=>v({kind:"path",d:e}),S=(e,t,n)=>v({kind:"circle",cx:e,cy:t,r:n}),I=(e,t,n,i)=>v({kind:"line",x1:e,y1:t,x2:n,y2:i}),$=(e,t,n,i,o)=>v({kind:"rect",x:e,y:t,width:n,height:i,...void 0===o?{}:{rx:o}});"database"===g?(v({kind:"ellipse",cx:s,cy:o+5,rx:c/2,ry:5}),M(`M${i} ${o+5}V${o+a-5}A${c/2} 5 0 0 0 ${i+c} ${o+a-5}V${o+5}`),v({kind:"ellipse",cx:s,cy:o+a-5,rx:c/2,ry:5})):"collections"===g?($(i+6,o,c-6,a-6),$(i,o+6,c-6,a-6)):"queue"===g?($(i,o,c,a,a/2),I(i+8,o+a/2,i+c-8,o+a/2)):"entity"===g?(S(s,o+a/2-3,Math.min(c,a)/2-3),I(i+5,o+a,i+c-5,o+a)):"boundary"===g?(S(s+3,o+a/2,Math.min(c,a)/2-3),I(i+3,o+2,i+3,o+a-2)):"control"===g?(S(s,o+a/2,Math.min(c,a)/2-3),M(`M${s-4} ${o+4}L${s+4} ${o}L${s+2} ${o+8}`)):S(s,o+a/2,Math.min(c,a)/2-3),u.push({indent:2,node:e.group({id:`actor:${l}:icon`,role:"icon",owner:p,channels:{category:l},open:`<g class="sequence-actor-glyph sequence-actor-${g}">`,close:"</g>",join:"",children:r.map(e=>({node:e,indent:0}))})}),u.push({indent:2,node:e.text({id:`actor:${l}:label`,role:"label",text:L,block:t.labelPosition.block,x:C,y:P,fontSize:x,fontWeight:b,letterSpacing:m,anchor:"middle",paint:{fill:q.ink,...e8(q)},channels:{category:l}})})}else{let i=s-c/2,o=f?.cornerRadius??n.cornerRadius??4;u.push({indent:2,node:e.shape({id:`actor:${l}:box`,role:"actor",geometry:{kind:"rect",x:i,y:d,width:c,height:h,rx:o,ry:o},paint:{fill:w,stroke:v,strokeWidth:String(y)},channels:{category:l}})}),u.push({indent:2,node:e.text({id:`actor:${l}:label`,role:"label",text:L,block:t.labelPosition.block,x:C,y:P,fontSize:x,fontWeight:b,letterSpacing:m,anchor:"middle",paint:{fill:S},channels:{category:l}})})}let F="participant"===g?S:M;return t.links&&u.push({indent:2,node:e.text({id:`actor:${l}:menu`,role:"icon",text:"⋯",block:t.menuBlock,x:s+c/2-7,y:d+10,fontSize:10,anchor:"middle",paint:{fill:F},channels:{category:l},baselineShift:0,attributes:{className:"sequence-actor-menu"}})}),e.group({id:`actor:${l}`,role:"actor",open:$,close:"</g>",children:u,channels:{category:l}})}(e,t,u,s,d.styleFace,"strict"!==c.security,F));return g.push(e.documentClose()),{family:"sequence",width:l.width,height:l.height,colors:s,transparent:p,parts:g}}function e8(e){return e.halo?{stroke:e.halo,strokeWidth:"3",strokeLinejoin:"round",paintOrder:"stroke"}:{}}function e5(e){return{x:e.x+e.width/2,y:e.y+e.height/2,width:e.width,height:e.height}}function e4(e,t){if("none"===t)return;let n="filled"===t?"seq-arrow":"cross"===t?"seq-arrow-cross":"half-top"===t?"seq-arrow-half-top":"half-bottom"===t?"seq-arrow-half-bottom":"stick-top"===t?"seq-arrow-stick-top":"stick-bottom"===t?"seq-arrow-stick-bottom":"seq-arrow-open";return e.find(e=>e.id===n)}function e6(e,t){return"rect"===e.type?e.color??t.groupFillColor??"rgba(128, 128, 128, 0.5)":t.groupFillColor}function e9(e,t,n,i,o="all"){let a=[],r=t.label?` data-label="${G(t.label)}"`:"",l="dividers"===o?`<g class="sequence-block-divider-overlay" data-owner="${V(i)}">`:"frame"===o?`<g class="sequence-block-frame-overlay" data-owner="${V(i)}">`:`<g class="block" data-type="${V(t.type)}"${r}${void 0===t.parentId?"":` data-parent-id="${V(t.parentId)}"`}>`,s=e6(t,n)??"none",d="rect"===t.type?"none":n.groupBorderColor??"var(--_node-stroke)";"dividers"!==o&&a.push({indent:2,node:e.shape({id:"frame"===o?`${i}:frame`:`${i}:rect`,role:"block",geometry:{kind:"rect",x:t.x,y:t.y,width:t.width,height:t.height,rx:n.groupCornerRadius,ry:n.groupCornerRadius},paint:{fill:"frame"===o?"none":s,stroke:"background"===o?"none":d,strokeWidth:String(n.groupLineWidth)}})});let c=n.edgeStrokeColor??"var(--_line)",h=0;for(let r of"background"===o||"frame"===o||"par_over"===t.type?[]:t.dividers){let o=`${i}:divider#${h}`;h++;let l=Math.max(.75,.75*n.lineWidth);a.push({indent:2,node:e.connector({id:o,role:"block",geometry:{kind:"line",x1:t.x,y1:r.y,x2:t.x+t.width,y2:r.y},lineStyle:"dashed",paint:{stroke:c,strokeWidth:String(l),strokeDasharray:"6 4"}})})}return e.group({id:"dividers"===o?`${i}:divider-overlay`:"frame"===o?`${i}:frame-overlay`:i,role:"block",open:l,close:"</g>",children:a})}var e7=f(e3);function te({positioned:e,options:t}){let n=new Map(e.lifelines.map(e=>[e.actorId,e.x])),i=new Map;for(let t of e.messages)for(let e of[t.from,t.to])i.has(e)||i.set(e,t.y);let o=new Map;for(let t of e.notes)if(void 0!==t.parentId&&void 0!==t.id){let e=o.get(t.parentId)??[];e.push(t.id),o.set(t.parentId,e)}return{version:1,nodes:[...e.actors.map(e=>({id:e.id,x:s(e.external?e.x:e.bounds.x),y:s(e.external?i.get(e.id)??e.y:e.bounds.y),w:s(e.external?0:e.bounds.width),h:s(e.external?0:e.bounds.height),shape:e.external?"external-anchor":"rectangle",label:e.label,labelBounds:l(e.labelPosition.bounds),labelContainer:l(e.bounds),...e.external?{labelVisibility:"semantic"}:{},role:e.external?"mark":"box"})),...e.notes.map((e,t)=>({id:e.id??`note#${t}`,...void 0===e.parentId?{}:{parentId:e.parentId},x:s(e.x),y:s(e.y),w:s(e.width),h:s(e.height),shape:"note",label:e.text,...h(e.block,e.x+e.width/2,e.y+e.height/2,e),role:"box"}))],edges:e.messages.map((e,i)=>{var o;let a,r,h,p,g,u,f,x;return{id:e.id??`msg#${i}:${e.from}->${e.to}`,...void 0===e.parentId?{}:{parentId:e.parentId},from:e.from,to:e.to,path:e.points.map(e=>[s(e.x),s(e.y)]),label:e.label?{x:s(e.labelPosition.x),y:s(e.labelPosition.y),text:e.label,bounds:l(e.labelPosition.bounds)}:void 0,route:t.debug?(o=e.points,a=n.get(e.from),r=n.get(e.to),h=o[0],p=o[o.length-1],g=void 0!==a&&void 0!==h&&1>=Math.abs(h.x-a),u=void 0!==r&&void 0!==p&&1>=Math.abs(p.x-r),f=!e.isSelf&&o.every(t=>1>=Math.abs(t.y-e.y)),x=d(o),{family:"sequence",edgeIndex:i,routeClass:"family-layout",invariant:g&&u&&x?e.isSelf?"self-message":"lifeline-message":"unverified-family-route",bendCount:c(o),horizontal:f,sourceLifeline:g,targetLifeline:u,selfMessage:e.isSelf}):void 0}}),groups:e.blocks.map((e,t)=>({id:e.id??`block#${t}:${e.type}`,...void 0===e.parentId?{}:{parentId:e.parentId},x:s(e.bounds.x),y:s(e.bounds.y),w:s(e.bounds.width),h:s(e.bounds.height),members:void 0===e.id?[]:o.get(e.id)??[],label:e.label})),bounds:{w:s(e.width),h:s(e.height)}}}export{ep as a,eY as b,eB as c,eT as d,e_ as e,e1 as f,e3 as g,e7 as h,te as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{M as e}from"./chunk-
|
|
1
|
+
import{M as e}from"./chunk-PRXEMB2V.js";function t(e){let t=new Map;for(let r of e){let e=t.get(r.parentId)??[];e.push(r),t.set(r.parentId,e)}return t}function r(t,r){e("nodes",t.length);let n=new Map(t.map(e=>[e.id,e]));if(n.size!==t.length)throw Error("Hierarchy contains duplicate identities");let a=new Set(t.map(e=>e.parentId)),i=new Map;for(let o of t){let t=new Set,s=r?.(o)??a.has(o.id),d=o;for(;d&&!i.has(d.id);){if(t.has(d.id))throw Error("Hierarchy contains a cycle");if(t.add(d.id),e("nesting",t.size-!s),d.parentId&&!n.has(d.parentId))throw Error(`Unknown parent ${d.parentId}`);d=d.parentId?n.get(d.parentId):void 0}let p=d?i.get(d.id):0;for(let o of[...t].reverse()){let t=n.get(o);e("nesting",p+=r?.(t)??a.has(o)?1:0),i.set(o,p)}}}export{t as a,r as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Aa as t,Ca as e,la as r,ma as n,na as a,oa as l,pa as i,ta as o,ya as f}from"./chunk-XBLK7VXJ.js";var u="#3b82f6";function h(t){let[e,n,a]=r(t),l=e/255,i=n/255,o=a/255,f=Math.max(l,i,o),u=Math.min(l,i,o),h=(f+u)/2;if(f===u)return[0,0,100*h];let s=f-u;return[360*(f===l?((i-o)/s+6*(i<o))/6:f===i?((o-l)/s+2)/6:((l-i)/s+4)/6),100*(h>.5?s/(2-f-u):s/(f+u)),100*h]}function s(t,e,r){let n=r/100,a=e/100*(1-Math.abs(2*n-1)),l=a*(1-Math.abs(t/60%2-1)),i=n-a/2,o,f,u;t<60?(o=a,f=l,u=0):t<120?(o=l,f=a,u=0):t<180?(o=0,f=a,u=l):t<240?(o=0,f=l,u=a):t<300?(o=l,f=0,u=a):(o=a,f=0,u=l);let h=t=>Math.round((t+i)*255).toString(16).padStart(2,"0");return`#${h(o)}${h(f)}${h(u)}`}function c(t){return f(t)}function d(t){return h(t)[2]<50}function b(t){return t<=.0031308?12.92*t:1.055*t**(1/2.4)-.055}function L(t){let e=n(t);if(!e)return null;let r=i(e[0]/255),a=i(e[1]/255),l=i(e[2]/255),o=Math.cbrt(.4122214708*r+.5363325363*a+.0514459929*l),f=Math.cbrt(.2119034982*r+.6806995451*a+.1073969566*l),u=Math.cbrt(.0883024619*r+.2817188376*a+.6299787005*l);return{L:.2104542553*o+.793617785*f-.0040720468*u,a:1.9779984951*o-2.428592205*f+.4505937099*u,b:.0259040371*o+.7827717662*f-.808675766*u}}function v(t){var e;let r,n,l,i,o,f,u;return n=(r=t.h*Math.PI/180,e={L:t.L,a:t.C*Math.cos(r),b:t.C*Math.sin(r)}).L+.3963377774*e.a+.2158037573*e.b,l=e.L-.1055613458*e.a-.0638541728*e.b,i=e.L-.0894841775*e.a-1.291485548*e.b,a(255*b(4.0767416621*(o=n*n*n)-3.3077115913*(f=l*l*l)+.2309699292*(u=i*i*i)),255*b(-1.2684380046*o+2.6097574011*f-.3413193965*u),255*b(-.0041960863*o-.7034186147*f+1.707614701*u))}function M(t){let e,r,n=L(t);return n?(e=Math.hypot(n.a,n.b),r=(180*Math.atan2(n.b,n.a)/Math.PI+360)%360,{L:n.L,C:e,h:r}):null}function m(t,e){let r=L(t),n=L(e);return r&&n?Math.hypot(r.L-n.L,r.a-n.a,r.b-n.b):null}function p(t){let e=1/0;for(let r=0;r<t.length;r++)for(let n=r+1;n<t.length;n++){let a=m(t[r],t[n]);null!==a&&a<e&&(e=a)}return e}function C(t){let e=n(t);if(!e)return null;let r=.2126729*(e[0]/255)**2.4+.7151522*(e[1]/255)**2.4+.072175*(e[2]/255)**2.4;return r<.022?r+(.022-r)**1.414:r}function g(t,e){let r,n,a,l=(n=C(t),a=C(e),null===n||null===a?null:5e-4>Math.abs(a-n)?0:100*(a>n?(r=(a**.56-n**.57)*1.14)<.1?0:r-.027:(r=(a**.65-n**.62)*1.14)>-.1?0:r+.027));return null===l?null:Math.abs(l)}function x(t,e={}){return function(t,e,r){var n,a;let l,i,o,f,b,v,m,p,C,g=k(e.labelInk),x,D=void 0===g?void 0:()=>x??=F(k(e.bg),void 0,g);if(t<=6){let r=e.accent??u;return function(t,e,r,n,a){let l=k(e),i=t.map(t=>k(t,l));if(i.some(t=>void 0===t))return t;let o=((void 0===l?null:L(l))?.L??1)<.55,f=i.map(t=>{if(w(t,l,n))return t;let e=M(t);return e?y(e,l,o,r,n,a):t});return(f.length>1?A(f,l,o,r,n,a):f).map((e,r)=>e===i[r]?t[r]:e)}(Array.from({length:Math.max(0,t)},(t,n)=>(function(t,e,r){if(0===t)return e;let n=c(e)?e:u,a=r&&c(r)?r:void 0,[l,i]=h(n),o=Math.max(55,Math.min(85,i)),f=Math.ceil(t/2),b=t%2==1,L=a&&d(a)?!b:b,v=L?Math.max(25,48-13*f):Math.min(78,55+11*f);return s(((l+(L?-8:12)*f)%360+360)%360,o,v)})(n,r,e.bg)),e.bg,void 0,g,D)}let E=k(e.bg);return n=k(e.accent,E)??u,a=void 0,o=(i=(l=M(n)??{L:.6,C:.16,h:264}).C<.03)?264:l.h,f=Math.max(.11,Math.min(.16,i?.16:l.C)),v=(b=((void 0===E?null:L(E))?.L??1)<.55)?[.74,.6]:[.56,.7],m=360/t,p=Array.from({length:t},(t,e)=>{if(0===e&&w(n,E,g))return n;let r=0===e?o:((o+e*m)%360+360)%360;return y({L:0===e?l.L:v[e%2],C:f,h:r},E,b,a,g,D)}),t<=24?A(p,E,b,a,g,D):(C=new Set,p.map((t,e)=>{if(a&&a.tailItems++,!C.has(t.toLowerCase()))return C.add(t.toLowerCase()),t;let r=M(t);if(r)for(let t=1;t<=24;t++){a&&a.candidateEvaluations++;let n=y({...r,L:$(r.L+(t%2==0?1:-1)*Math.ceil(t/2)*.008),h:(r.h+137.508*t+.01*e)%360},E,b,a,g,D);if(!C.has(n.toLowerCase()))return C.add(n.toLowerCase()),n}return t}))}(t,e)}function k(e,r){if(void 0===e)return;let n=t(e);if(!n)return;if(1===n[3])return a(n[0],n[1],n[2]);if(void 0===r)return;let l=t(r);if(!(!l||1!==l[3]))return a(n[0]*n[3]+l[0]*(1-n[3]),n[1]*n[3]+l[1]*(1-n[3]),n[2]*n[3]+l[2]*(1-n[3]))}function w(t,r,n){if(void 0!==n&&(e(t,n)??0)<o)return!1;if(void 0===r)return!0;let a=e(t,r),l=g(t,r);return null!==a&&null!==l&&a>=1.25&&l>=15}function y(t,e,r,n,a,l){n&&n.candidateEvaluations++;let i=v(t);if(w(i,e,a))return i;let o=(void 0===e?void 0:L(e))?.L??+!r,f=t.L>=o?1:-1;for(let r=1;r<=24;r++){let l=.04*r;for(let r of[f,-f]){n&&n.candidateEvaluations++;let i=v({...t,L:$(t.L+r*l)});if(w(i,e,a))return i}}let u=["#000000","#ffffff"].filter(t=>w(t,e,a));if(u.length>0)return u.sort((t,r)=>void 0===e?0:(g(r,e)??0)-(g(t,e)??0))[0];if(void 0!==a){let t=L(i),r,o=1/0;for(let i of l?.()??F(e,n,a)){n&&(n.candidateEvaluations++,t&&n.pairDistanceChecks++);let e=t?P(i.lab,t):0;e<o&&(r=i,o=e)}if(r)return r.hex;D()}return i}function D(){throw Error("Cannot derive categorical fills within bounded search with readable label ink, page visibility and distinct peer colors; select a different textColor or explicit fillColor")}function E(e,r,n){let i=void 0===r?null:t(r);if(!i||1!==i[3])return e;let o=a(i[0],i[1],i[2]),f=t(e);if(!f||1!==f[3])return e;let u=a(f[0],f[1],f[2]),h=t=>l(t,o,n);if(w(h(u),o))return e;let s=M(u);if(!s)return e;let c=L(o)?.L??1,d=s.L>=c?1:-1;for(let t=1;t<=24;t++){let e=.04*t;for(let t of[d,-d]){let r=v({...s,L:$(s.L+t*e)});if(w(h(r),o))return r}}return["#000000","#ffffff"].sort((t,e)=>(g(h(e),o)??0)-(g(h(t),o)??0))[0]}function A(t,e,r,n,a,l){let i=[];for(let l=0;l<t.length;l++){let o=t[l],f=0===l&&w(o,e,a);i.push(f||S(o,i,n)>=.1?o:function(t,e,r,n,a,l){let i=M(t);if(!i)return t;let o=t,f=S(t,e,a);for(let t=1;t<=12;t++){let u=.03*t,h=7*t;for(let t of[{...i,L:$(i.L+u)},{...i,L:$(i.L-u)},{...i,h:(i.h+h)%360},{...i,h:(i.h-h+360)%360},{...i,L:$(n?i.L+u:i.L-u),h:(i.h+h)%360}]){a&&a.candidateEvaluations++;let n=v(t);if(!w(n,r,l))continue;let i=S(n,e,a);if(i>=.1)return n;i>f&&(f=i,o=n)}}return o}(o,i,e,r,n,a))}if(n&&(n.pairDistanceChecks+=i.length*(i.length-1)/2),p(i)>=.1)return i;let o=function(t,e,r,n,a){if(t.length<2)return t;let l=void 0===n?J:P,i=a?.()??F(e,r,n),o=L(t[0]);if(!o)return t;let f={hex:t[0],lab:o},u=void 0===n?void 0:Float64Array.from(i,t=>(r&&r.pairDistanceChecks++,l(t.lab,f.lab))),h=e=>{let a=e?[f,e]:[f],o=new Set(a.map(t=>t.hex.toLowerCase())),h=u?.slice(),s=t=>{if(h)for(let e=0;e<i.length;e++)r&&r.pairDistanceChecks++,h[e]=Math.min(h[e],l(i[e].lab,t.lab))};for(e&&s(e);a.length<t.length;){let e,f=-1,u=1/0,c=L(t[a.length]);for(let t=0;t<i.length;t++){let s=i[t];if(o.has(s.hex.toLowerCase()))continue;r&&r.candidateEvaluations++;let d=h?.[t]??1/0;if(!h)for(let t of a)r&&r.pairDistanceChecks++,d=Math.min(d,l(s.lab,t.lab));c&&void 0!==n&&r&&r.pairDistanceChecks++;let b=c?l(s.lab,c):0;(d>f+1e-12||1e-12>=Math.abs(d-f)&&b<u)&&(e=s,f=d,u=b)}if(!e)return t;a.push(e),o.add(e.hex.toLowerCase()),s(e)}return a.map(t=>t.hex)},s=h();if(void 0===n)return s;let c=I(s,r);if(c>=.1)return s;let d=s;for(let t of s.slice(2)){let e=L(t);if(!e||(r&&r.pairDistanceChecks++,.1>l(f.lab,e)))continue;let n=h({hex:t,lab:e}),a=I(n,r);if(a>=.1)return n;a>c&&(d=n,c=a)}let b=d.map(t=>({hex:t,lab:L(t)})),v=b.length,M=new Float64Array(i.length*v),m=t=>{for(let e=0;e<i.length;e++)r&&r.pairDistanceChecks++,M[e*v+t]=l(i[e].lab,b[t].lab)};for(let t=0;t<v;t++)m(t);for(let t=0;t<24;t++){let t=!1;for(let e=1;e<v;e++){let n,a=1/0;for(let t=0;t<v;t++)t!==e&&(r&&r.pairDistanceChecks++,a=Math.min(a,l(b[e].lab,b[t].lab)));for(let t=0;t<i.length;t++){r&&r.candidateEvaluations++;let l=1/0;for(let r=0;r<v&&!(r!==e&&(l=Math.min(l,M[t*v+r]))<=a+1e-12);r++);l>a+1e-12&&(a=l,n=i[t])}n&&(b[e]=n,m(e),t=!0)}let e=b.map(t=>t.hex);if(I(e,r)>=.1)return e;if(!t)break}return b.map(t=>t.hex)}(i,e,n,a,l);return void 0!==a&&.1>I(o,n)&&D(),o}function I(t,e){return e&&(e.pairDistanceChecks+=t.length*(t.length-1)/2),p(t)}function S(t,e,r){let n=1/0;for(let a of e){r&&r.pairDistanceChecks++;let e=m(t,a);null!==e&&e<n&&(n=e)}return n}var $=t=>Math.max(.08,Math.min(.97,t));function F(t,e,r){let n=new Map,l=a=>{if(e&&e.candidateEvaluations++,n.has(a)||!w(a,t,r))return;let l=L(a);l&&n.set(a,{hex:a,lab:l})};l("#000000"),l("#ffffff");let i=void 0!==r,o=i?44:22,f=i?Array.from({length:14},(t,e)=>(e+1)*.02):[.04,.08,.12,.16,.2,.24,.28];for(let t=0;t<=o;t++){let e=.08+t*(i?.02:.04);for(let t of(l(v({L:e,C:0,h:0})),f))for(let r=0;r<360;r+=i?5:10)l(v({L:e,C:t,h:r}))}if(void 0!==r)for(let t=0;t<=255;t+=17)for(let e=0;e<=255;e+=17)for(let r=0;r<=255;r+=17)l(a(t,e,r));return[...n.values()]}var J=(t,e)=>Math.hypot(t.L-e.L,t.a-e.a,t.b-e.b),P=(t,e)=>{let r=t.L-e.L,n=t.a-e.a,a=t.b-e.b;return Math.sqrt(r*r+n*n+a*a)};export{u as a,h as b,s as c,c as d,d as e,p as f,g as g,x as h,E as i};
|