@huynle/hub 0.8.7 → 0.9.0

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.
Files changed (181) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +69 -12
  3. package/package.json +5 -1
  4. package/packages/claude-code/package.json +1 -1
  5. package/packages/cli/dist/hub-cli.js +278 -35
  6. package/packages/cli/package.json +1 -1
  7. package/packages/cli/src/cli.ts +23 -10
  8. package/packages/cli/src/http.ts +1 -0
  9. package/packages/cli/src/launches.ts +5 -1
  10. package/packages/cli/src/mcp.ts +28 -8
  11. package/packages/cli/src/messaging.ts +14 -0
  12. package/packages/cli/src/team-intake-mcp.ts +26 -2
  13. package/packages/codex/package.json +1 -1
  14. package/packages/node/package.json +1 -1
  15. package/packages/preset/package.json +1 -1
  16. package/packages/protocol/package.json +1 -1
  17. package/packages/protocol/schema/app-delivery/v1.schema.json +677 -0
  18. package/packages/protocol/src/artifacts.ts +43 -0
  19. package/packages/protocol/src/credentials.ts +38 -0
  20. package/packages/protocol/src/index.ts +56 -5
  21. package/packages/protocol/src/launch.ts +7 -2
  22. package/packages/protocol/src/markdown.ts +753 -0
  23. package/packages/protocol/src/media-allowlist.ts +240 -0
  24. package/packages/protocol/src/media.ts +120 -0
  25. package/packages/protocol/src/preview-bundle.ts +221 -0
  26. package/packages/protocol/src/voice-recording.ts +8 -0
  27. package/packages/runtime-openshell/package.json +1 -1
  28. package/packages/runtime-sdk/package.json +1 -1
  29. package/packages/sdk/package.json +1 -1
  30. package/packages/sdk/src/client.ts +17 -3
  31. package/packages/sdk/src/errors.ts +1 -0
  32. package/packages/sdk/src/team-intake.ts +8 -0
  33. package/packages/sdk/src/types.ts +16 -2
  34. package/packages/spoke-sdk/package.json +1 -1
  35. package/src/central/agent/delivery.ts +35 -6
  36. package/src/central/agent/errors.ts +2 -0
  37. package/src/central/agent/events.ts +11 -2
  38. package/src/central/agent/launch-engine.ts +65 -4
  39. package/src/central/agent/launch-routes.ts +8 -0
  40. package/src/central/agent/launch-spec.ts +18 -1
  41. package/src/central/agent/launch-store.ts +2 -2
  42. package/src/central/agent/message-routes.ts +49 -11
  43. package/src/central/agent/messages.ts +17 -4
  44. package/src/central/agent/not-after.ts +28 -0
  45. package/src/central/agent/placement.ts +36 -4
  46. package/src/central/agent/routes.ts +3 -1
  47. package/src/central/agent/webhook-routes.ts +21 -9
  48. package/src/central/agent/webhooks.ts +27 -9
  49. package/src/central/artifacts/host.ts +3 -1
  50. package/src/central/artifacts/maintenance.ts +2 -1
  51. package/src/central/artifacts/preview-bundle.ts +81 -0
  52. package/src/central/artifacts/previews.ts +94 -0
  53. package/src/central/artifacts/routes.ts +12 -1
  54. package/src/central/artifacts/store.ts +198 -8
  55. package/src/central/config.ts +34 -0
  56. package/src/central/fetch-budget.ts +59 -0
  57. package/src/central/fetcher.ts +372 -0
  58. package/src/central/http.ts +277 -22
  59. package/src/central/media-remote.ts +248 -0
  60. package/src/central/media-timeline.ts +317 -0
  61. package/src/central/media-unfurl.ts +119 -0
  62. package/src/central/profiles/content.ts +3 -35
  63. package/src/central/recording/routes.ts +2 -2
  64. package/src/central/recording/schema.ts +3 -1
  65. package/src/central/registry.ts +449 -21
  66. package/src/central/spoke-ws.ts +17 -3
  67. package/src/central/store.ts +21 -0
  68. package/src/central/teams/intake-routes.ts +2 -1
  69. package/src/central/teams/intake.ts +200 -15
  70. package/src/central/unfurl-parse.ts +313 -0
  71. package/src/index.ts +68 -8
  72. package/src/speakable.ts +33 -1
  73. package/src/spoke/conversation.ts +7 -4
  74. package/src/spoke/deliver.ts +19 -0
  75. package/src/spoke/media-bytes.ts +171 -0
  76. package/src/spoke/media-policy.ts +394 -0
  77. package/src/spoke/media.ts +189 -0
  78. package/src/spoke/own-server.ts +30 -0
  79. package/src/spoke/preview-bundle.ts +538 -0
  80. package/src/spoke/spoke.ts +387 -17
  81. package/src/spoke/timeline.ts +59 -5
  82. package/src/spoke/voice-front.ts +335 -0
  83. package/web/dist/assets/24BXRY42-Zfr7jm_p.js +2 -0
  84. package/web/dist/assets/4FHPYW2L-C6Z67098.js +2 -0
  85. package/web/dist/assets/4LWW3ZNH-CUiYeygH.js +1 -0
  86. package/web/dist/assets/5THPTBWS-Ce_hS451.js +1 -0
  87. package/web/dist/assets/5XYWFMKW-CW-BCKiK.js +4 -0
  88. package/web/dist/assets/64PMEAB3-BjpCDGU9.js +8 -0
  89. package/web/dist/assets/6BEWHPQE-BpNa96Ze.js +2 -0
  90. package/web/dist/assets/6PIGVMFT-YXn9Hgnb.js +1 -0
  91. package/web/dist/assets/75JW6PN6-BFpDBuGN.js +2 -0
  92. package/web/dist/assets/7WLXJQOR-D6QVYUu9.js +1 -0
  93. package/web/dist/assets/7XWI72E6-BMuIspEy.js +2 -0
  94. package/web/dist/assets/A4UD2L5Z-BQzcD9dU.js +8 -0
  95. package/web/dist/assets/ArtifactPage-4GoBqSpU.js +1 -0
  96. package/web/dist/assets/ArtifactPane-Dx_0iWwH.js +1 -0
  97. package/web/dist/assets/ArtifactWorkbench-CuHgARMk.js +6 -0
  98. package/web/dist/assets/BGW36YJW-CJMhya8S.js +4 -0
  99. package/web/dist/assets/CGIZI67J-DYDSLME8.js +2 -0
  100. package/web/dist/assets/DKTLEL5E-DciMwFJ1.js +1 -0
  101. package/web/dist/assets/DNNCRC2E-BIeKf5t-.js +5 -0
  102. package/web/dist/assets/Diagram-CZM_R7MG.js +1 -0
  103. package/web/dist/assets/Diagram-vdpmp3xu.css +1 -0
  104. package/web/dist/assets/E67EBMDD--AucIw59.js +5 -0
  105. package/web/dist/assets/EFYWJBJK-CVywe_D5.js +1 -0
  106. package/web/dist/assets/EXE5EH6O-DR1IHCTr.js +4 -0
  107. package/web/dist/assets/FTXIJQGB-BZVuiBn1.js +1 -0
  108. package/web/dist/assets/G3MDBVQH-BZmnMkFw.js +1 -0
  109. package/web/dist/assets/G6GPDDNC-DEz8F449.js +2 -0
  110. package/web/dist/assets/G76NGGFM-CrB2V34K.js +1 -0
  111. package/web/dist/assets/GH6G3TJC-D3RTYEH4.js +2 -0
  112. package/web/dist/assets/HPNUA7RO-B19NeNOJ.js +1 -0
  113. package/web/dist/assets/HQRGC5D7-Dmpzq6Rn.js +4 -0
  114. package/web/dist/assets/IX6Z2TVR-DphRHnek.js +5 -0
  115. package/web/dist/assets/J77NQRCJ-B7AGcxvw.js +3 -0
  116. package/web/dist/assets/JAD36DTZ-B9-dbsS0.js +5 -0
  117. package/web/dist/assets/LF3NJQAX-koL91UZ9.js +2 -0
  118. package/web/dist/assets/LRZCOFJZ-Cdjasfuf.js +6 -0
  119. package/web/dist/assets/Library-TwvrwqSk.js +2 -0
  120. package/web/dist/assets/Lightbox-C8KNKwOA.css +1 -0
  121. package/web/dist/assets/Lightbox-Du56MXGX.js +1 -0
  122. package/web/dist/assets/MediaImage-Ds_JUx3a.js +4 -0
  123. package/web/dist/assets/N5NF2FGY-OuapYTfr.js +2 -0
  124. package/web/dist/assets/N7OWWQHY-BNLd-Q_U.js +2 -0
  125. package/web/dist/assets/NT5JY5WP-1lJM-aun.js +1 -0
  126. package/web/dist/assets/OT7W3RNY-jDL3drzX.js +4 -0
  127. package/web/dist/assets/P67P66DB-CE-opRb8.js +3 -0
  128. package/web/dist/assets/PFLLLM7K-DDJFgzW3.js +2 -0
  129. package/web/dist/assets/PUAMC4MJ-CtBm-WuU.js +12 -0
  130. package/web/dist/assets/PVFCHRLY-CG5JXv60.js +2 -0
  131. package/web/dist/assets/ProfilesDestination-rKNDpLjR.js +1 -0
  132. package/web/dist/assets/QQW2P742-BbcEkpa4.js +1 -0
  133. package/web/dist/assets/RVARI57O-CgA1WoRv.js +1 -0
  134. package/web/dist/assets/S63OEDPG-CKlhpvl2.js +3 -0
  135. package/web/dist/assets/SG5TVYLW-BBtiwXPL.js +2 -0
  136. package/web/dist/assets/TeamsPage-DtJylLrt.js +1 -0
  137. package/web/dist/assets/UGRSUGA2-urZ_hx83.js +5 -0
  138. package/web/dist/assets/V44WA6U7-DYfX3OlM.js +1 -0
  139. package/web/dist/assets/V67O4WWV-xYxJ00QW.js +1 -0
  140. package/web/dist/assets/VBUCM3YD-JHGjuJC_.js +1 -0
  141. package/web/dist/assets/VINGRCPA-DZuJa3SH.js +7 -0
  142. package/web/dist/assets/WL6DNKX4-BHqripdA.js +2 -0
  143. package/web/dist/assets/WQ63CJYP-D6G5frDY.js +2 -0
  144. package/web/dist/assets/Watchtower-Bmgdyfjb.js +2 -0
  145. package/web/dist/assets/XOYAOB3S-L-KeA1EF.js +13 -0
  146. package/web/dist/assets/Y5LQLG3M-dr2-erb8.js +2 -0
  147. package/web/dist/assets/YIK6JTN6--1t-Ud8k.js +2 -0
  148. package/web/dist/assets/artifacts-DU9uRgs1.js +1 -0
  149. package/web/dist/assets/index-C3ci5UtY.css +1 -0
  150. package/web/dist/assets/index-D-xG9nrc.js +36 -0
  151. package/web/dist/assets/lazy-f3CuUNJZ.js +43 -0
  152. package/web/dist/assets/live-7q72Lyj2.js +5 -0
  153. package/web/dist/assets/mermaid.worker-WDVRAh32.js +1 -0
  154. package/web/dist/assets/pane-layout-0RrLHGDr.js +1 -0
  155. package/web/dist/assets/preload-helper-BLdHbfdN.js +1 -0
  156. package/web/dist/assets/{renderer2d-CYag1CnR.js → renderer2d-hfZxM6Xl.js} +1 -1
  157. package/web/dist/assets/{renderer3d-BRB6rgDJ.js → renderer3d-Km9vipTM.js} +1 -1
  158. package/web/dist/assets/{safe-area-fOy0AOuG.js → safe-area-BAbgBiFk.js} +1 -1
  159. package/web/dist/assets/{silero-worker-DhlIHyD_.js → silero-worker-e802lB5T.js} +1 -1
  160. package/web/dist/assets/smart-turn-v3.2-cpu-WpeLRbPA.onnx +0 -0
  161. package/web/dist/assets/smart-turn-worker-DaVJPdvJ.js +11 -0
  162. package/web/dist/assets/source-BWlvaODa.js +1 -0
  163. package/web/dist/assets/toast-Cuu2K0hx.js +1 -0
  164. package/web/dist/assets/ui-CFB4wQfF.js +3 -0
  165. package/web/dist/index.html +8 -6
  166. package/web/src/voice/turn/LICENSE +28 -0
  167. package/web/dist/assets/ArtifactPage-Dq7VW-bU.js +0 -1
  168. package/web/dist/assets/ArtifactPane-DKwbMTX9.js +0 -1
  169. package/web/dist/assets/ArtifactWorkbench-vrgIfncX.js +0 -6
  170. package/web/dist/assets/Library-D6-Go6Cu.js +0 -2
  171. package/web/dist/assets/ProfilesDestination-BOML2Dgf.js +0 -1
  172. package/web/dist/assets/TeamsPage-CNBTE8gB.js +0 -1
  173. package/web/dist/assets/Watchtower-Dor1Ubjy.js +0 -2
  174. package/web/dist/assets/hub-CrbItiwP.js +0 -13
  175. package/web/dist/assets/index-82Ce0IAf.css +0 -1
  176. package/web/dist/assets/index-D9SP3_0z.js +0 -22
  177. package/web/dist/assets/live-BNJgy0vg.js +0 -5
  178. package/web/dist/assets/pane-layout-EdR1kRrG.js +0 -1
  179. package/web/dist/assets/preload-helper-DqrJTq0t.js +0 -1
  180. package/web/dist/assets/source-Wbq35qGp.js +0 -1
  181. package/web/dist/assets/ui-j5FFk90B.js +0 -3
@@ -0,0 +1,2 @@
1
+ import{a as e,d as t,i as n}from"./BGW36YJW-CJMhya8S.js";import{n as r}from"./G6GPDDNC-DEz8F449.js";import{t as i}from"./DKTLEL5E-DciMwFJ1.js";import{_ as a,a as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,p as g,r as _,s as v,t as y,u as b}from"./EXE5EH6O-DR1IHCTr.js";import{E as x,f as S,h as C,i as ee,s as te,u as ne}from"./lazy-f3CuUNJZ.js";var w={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4};function T(e){throw new ne(e,`semantic`,{type:`gitGraph`})}function E(e){return e===`REVERSE`?w.REVERSE:e===`HIGHLIGHT`?w.HIGHLIGHT:w.NORMAL}function D(e,t){e.dir&&t.setDirection(e.dir);for(let n of e.statements)O(n,t)}function O(e,t){switch(e.$type){case`Commit`:t.commit({id:e.id,msg:e.message??``,type:e.type===void 0?w.NORMAL:E(e.type),tags:e.tags??void 0});break;case`Branch`:t.branch({name:e.name,order:e.order??0});break;case`Merge`:t.merge({branch:e.branch,id:e.id??``,type:e.type===void 0?void 0:E(e.type),tags:e.tags??void 0});break;case`Checkout`:t.checkout(e.branch);break;case`CherryPicking`:t.cherryPick({id:e.id,targetId:``,tags:e.tags?.length===0?void 0:e.tags,parent:e.parent})}}function k(e,t,n){let r=t.gitGraph,i=typeof r?.mainBranchName==`string`?r.mainBranchName:`main`,a=typeof r?.mainBranchOrder==`number`?r.mainBranchOrder:0,o=/* @__PURE__ */ new Map,s=/* @__PURE__ */ new Map([[i,null]]),c=/* @__PURE__ */ new Map([[i,a]]),l=[],u=null,d=i,f=`LR`,p=0,m=()=>{for(let e=p+1;;e+=2654435761){let t=`${p}-${(Math.imul(e,2654435761)>>>0).toString(16).padStart(8,`0`).slice(0,7)}`;if(!o.has(t))return t}},h=e=>{u=e,o.set(e.id,e),s.set(d,e.id)},g=e=>{s.has(e)||T(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`),d=e;let t=s.get(e);u=t?o.get(t)??null:null};D(e,{setDirection(e){f=e},commit({msg:e,id:t,type:n,tags:r}){let i={id:t||m(),message:e,seq:p++,type:n??w.NORMAL,tags:r?[...r]:[],parents:u===null?[]:[u.id],branch:d};o.has(i.id)&&l.push(`Commit ID ${i.id} already exists`),h(i)},branch({name:e,order:t}){s.has(e)&&T(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`),s.set(e,u===null?null:u.id),c.set(e,t),g(e)},merge({branch:e,id:t,type:n,tags:r}){let i=s.get(d),a=s.get(e),c=i?o.get(i):void 0,l=a?o.get(a):void 0;c&&l&&c.branch===e&&T(`Cannot merge branch '${e}' into itself.`),d===e&&T(`Incorrect usage of "merge". Cannot merge a branch to itself`),c===void 0&&T(`Incorrect usage of "merge". Current branch (${d})has no commits`),s.has(e)||T(`Incorrect usage of "merge". Branch to be merged (${e}) does not exist`),l===void 0&&T(`Incorrect usage of "merge". Branch to be merged (${e}) has no commits`),c===l&&T(`Incorrect usage of "merge". Both branches have same head`),t&&o.has(t)&&T(`Incorrect usage of "merge". Commit with id:${t} already exists, use different custom id`),h({id:t||m(),message:`merged branch ${e} into ${d}`,seq:p++,parents:u===null?[]:[u.id,a||``],branch:d,type:w.MERGE,customType:n,customId:!!t,tags:r?[...r]:[]})},cherryPick({id:e,targetId:t,tags:n,parent:r}){let i=e?o.get(e):void 0;if(i===void 0&&T(`Incorrect usage of "cherryPick". Source commit id should exist and provided`),r&&!i.parents.includes(r)&&T(`Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.`),i.type===w.MERGE&&!r&&T(`Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.`),t&&o.has(t))return;i.branch===d&&T(`Incorrect usage of "cherryPick". Source commit is already on current branch`);let a=s.get(d);(!a||!o.has(a))&&T(`Incorrect usage of "cherry-pick". Current branch (${d})has no commits`),h({id:m(),message:`cherry-picked ${i.message} into ${d}`,seq:p++,parents:u===null?[]:[u.id,i.id],branch:d,type:w.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${i.id}${i.type===w.MERGE?`|parent:${r}`:``}`]})},checkout:g});let _=[...c].map(([e,t],n)=>({name:e,order:t??parseFloat(`0.${n}`)})).sort((e,t)=>e.order-t.order).map(e=>e.name);return{type:`gitGraph`,title:e.title||n,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,``):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
2
+ `):void 0,direction:f,commits:o,branches:s,lanes:_,currentBranch:d,head:u,warnings:l}}var A={name:`REFERENCE`,pattern:/\w([-\./\w]*[-\w])?/y},j=[A];function M(e){return{name:e,pattern:e,longer:j}}var N=[M(`cherry-pick`),{name:`gitGraph:`,pattern:`gitGraph:`},M(`HIGHLIGHT`),{...g(`gitGraph`),longer:j},M(`checkout`),M(`REVERSE`),{name:`parent:`,pattern:`parent:`},M(`commit`),M(`NORMAL`),M(`branch`),{name:`order:`,pattern:`order:`},M(`switch`),{name:`type:`,pattern:`type:`},M(`merge`),{name:`msg:`,pattern:`msg:`},{name:`tag:`,pattern:`tag:`},{name:`id:`,pattern:`id:`},M(`LR`),M(`TB`),M(`BT`),{name:`:`,pattern:`:`},{...v,opener:/[\t ]*accDescr\s*{/y},y,d(String.raw`[-./\w]*[-\w]`),{name:`INT`,pattern:/0|[1-9][0-9]*(?!\.)/y},c,l,f,s,p,o,A];function P(e){let t=new u(_(e,N,`gitGraph`),N,`gitGraph`),n={$type:`GitGraph`,statements:[]},r=()=>{if(t.kind!==-1)for(t.kind!==26&&t.fail(`a line break or the end of input`);t.kind===26;)t.i++},i=()=>t.kind===31?t.take():t.kind===25?m(t.take()):t.fail(`a branch name`),o=()=>m(t.expect(25)),s=()=>(t.kind!==8&&t.kind!==5&&t.kind!==2&&t.fail(`NORMAL, REVERSE, or HIGHLIGHT`),t.take());for(;t.kind===26;)t.i++;if(!t.accept(1)){t.expect(3);let e=t.kinds[t.i+1];(t.kind===17||t.kind===18||t.kind===19)&&e===20?(n.$type=`Direction`,n.dir=t.take(),t.i++):t.accept(20)}for(;t.kind!==-1;)switch(t.kind){case 26:t.i++;break;case 21:n.accDescr=b(t.take()),r();break;case 22:n.accTitle=h(t.take()),r();break;case 23:n.title=a(t.take()),r();break;case 7:{t.i++;let e={$type:`Commit`,tags:[]};for(;;)if(t.accept(16))e.id=o();else if(t.accept(15))e.tags.push(o());else if(t.accept(12))e.type=s();else if(t.accept(14)||t.kinds[t.i]===25)e.message=o();else break;r(),n.statements.push(e);break}case 9:{t.i++;let e={$type:`Branch`,name:i()};t.accept(10)&&(e.order=parseInt(t.expect(24))),r(),n.statements.push(e);break}case 13:{t.i++;let e={$type:`Merge`,branch:i(),tags:[]};for(;;)if(t.accept(16))e.id=o();else if(t.accept(15))e.tags.push(o());else if(t.accept(12))e.type=s();else break;r(),n.statements.push(e);break}case 4:case 11:{t.i++;let e={$type:`Checkout`,branch:i()};r(),n.statements.push(e);break}case 0:{t.i++;let e={$type:`CherryPicking`,tags:[]};for(;;)if(t.accept(16))e.id=o();else if(t.accept(15))e.tags.push(o());else if(t.accept(6))e.parent=o();else break;r(),n.statements.push(e);break}default:t.fail(`a statement, a title, or a line break`)}return n}var F=7,re=44,ie=44,I=36,L=8,R=20,z=20,B=7,ae=6,V=Math.SQRT1_2,oe=[`normal`,`reverse`,`highlight`,`merge`,`cherry-pick`];function H(e,t,n){let r=e.gitGraph?.[t];return typeof r==`boolean`?r:n}function se(e){return B+4+e.width+6}function ce(e,t,n,r){let i=`cx="${x(t)}" cy="${x(n)}"`;if(e===w.HIGHLIGHT)return`<rect x="${x(t-F-1)}" y="${x(n-F-1)}" width="${2*F+2}" height="${2*F+2}" rx="2" fill="${r}"/>`;if(e===w.MERGE)return`<circle ${i} r="${F-1}" fill="var(--_bg)" stroke="${r}" stroke-width="2"/><circle ${i} r="2.5" fill="${r}"/>`;let a=`<circle ${i} r="${F}" fill="${r}"/>`;return e===w.REVERSE?a+`<path d="M${x(t-3)},${x(n-3)}l6,6M${x(t-3)},${x(n+3)}l6,-6" fill="none" stroke="var(--_bg)" stroke-width="1.5" stroke-linecap="round"/>`:e===w.CHERRY_PICK?a+`<path d="M${x(t-2.6)},${x(n+1)}L${x(t+.8)},${x(n-4.2)}L${x(t+2.6)},${x(n+1)}" fill="none" stroke="var(--_bg)" stroke-linejoin="round"/><circle cx="${x(t-2.6)}" cy="${x(n+2.2)}" r="1.8" fill="var(--_bg)"/><circle cx="${x(t+2.6)}" cy="${x(n+2.2)}" r="1.8" fill="var(--_bg)"/>`:a}function U(e,t,n){return e.direction===`LR`?i(n,r=>W(e,t,n,r?`TB`:`LR`)):W(e,t,n,e.direction)}function W(i,a,o,s){let c=o.fontSize??16,l=Math.round(c*.75),u=o.measurer??te(o.fontFamily,o.fontFamilyMono),d=o.padding??8,f=H(a,`showBranches`,!0),p=H(a,`showCommitLabel`,!0),m=H(a,`rotateCommitLabel`,!0),h=H(a,`parallelCommits`,!1),g=s!==`LR`,_=s===`BT`,v=/* @__PURE__ */ new Map;i.lanes.forEach((e,t)=>v.set(e,t));let y=i.lanes.length,b=Math.round(c*.875),ne=i.lanes.map(e=>r(f?e:``,u,b,4e3)),T=[],E=/* @__PURE__ */ new Map;for(let e of[...i.commits.values()].sort((e,t)=>e.seq-t.seq)){let t=p&&e.type!==w.CHERRY_PICK&&(e.type!==w.MERGE||e.customId===!0),n=[];for(let t of e.tags){let e=r(t,u,l,4e3);e.lines.length>0&&n.push(e)}let i={commit:e,index:T.length,lane:v.get(e.branch)??0,m:0,label:t?r(e.id,u,l,4e3):void 0,tags:n};T.push(i),E.set(e.id,i)}let D=new Float64Array(T.length),O=new Float64Array(T.length),k=new Float64Array(y).fill(F),A=new Float64Array(y).fill(F);T.forEach((e,t)=>{let{label:n,tags:r}=e,i=0,a=0;for(let e of r){let t=se(e);g?(i=Math.max(i,e.height),a+=t+4):(i=Math.max(i,t),a+=e.height+3)}let o=0,s=0;n!==void 0&&n.lines.length>0&&(m?s=3+V*(n.width+n.height):(o=g?n.height:n.width,s=6+(g?n.width:n.height))),D[t]=Math.max(F,i/2,o/2),O[t]=i/2;let c=F+(r.length>0?ae+a:0),l=F+s,u=e.lane;k[u]=Math.max(k[u],g?l:c),A[u]=Math.max(A[u],g?c:l)});let j=new Float64Array(T.length);g||T.forEach((e,t)=>{if(O[t]!==0)for(let n of e.commit.parents){let r=E.get(n);r!==void 0&&r.lane<e.lane&&(j[t]=O[t]+4)}});let M=(e,t)=>Math.max(re,D[e]+D[t]+L,j[t]>0?D[e]+I+j[t]:0);T.forEach((e,t)=>{if(!h){e.m=t===0?0:T[t-1].m+M(t-1,t);return}let n=0;for(let r of e.commit.parents){let e=E.get(r);e===void 0||e.index>=t||(n=Math.max(n,e.m+M(e.index,t)))}e.m=n});let N=0;for(let e of T)N=Math.max(N,e.m);let P=new Float64Array(y);for(let e=0;e<y;e++){let t=ne[e],n=t.lines.length===0?0:g?t.width/2+8:t.height/2+2;k[e]=Math.max(k[e],n),A[e]=Math.max(A[e],n),e>0&&(P[e]=P[e-1]+Math.max(ie,A[e-1]+k[e]+L))}let U=(e,t)=>g?t:e,W=(e,t)=>g?_?-e:e:t,G=(e,t)=>`${x(U(e,t))},${x(W(e,t))}`,K=1/0,q=1/0,J=-1/0,Y=-1/0,X=(e,t,n,r)=>{e<K&&(K=e),t<q&&(q=t),n>J&&(J=n),r>Y&&(Y=r)},Z=``;if(f)for(let t=0;t<y;t++){let n=ne[t],r=e(t),a=P[t],o=n.width+16,s=n.height+4,c=n.lines.length===0?-R:-R-(g?s:o),l=U(c+(g?s:o)/2,a),u=W(c+(g?s:o)/2,a);X(U(-R,a),W(-R,a),U(-R,a),W(-R,a)),X(U(N+z,a),W(N+z,a),U(N+z,a),W(N+z,a)),Z+=`<g class="pele-branch" data-id="${S(i.lanes[t])}"><path class="pele-lane" d="M${G(-R,a)}L${G(N+z,a)}" stroke="${r}" stroke-dasharray="2 4"/>`,n.lines.length>0&&(X(l-o/2,u-s/2,l+o/2,u+s/2),Z+=`<rect x="${x(l-o/2)}" y="${x(u-s/2)}" width="${x(o)}" height="${x(s)}" fill="${r}" style="rx:var(--_r)"/>`+C(n,l,u,` class="pele-label"`+(ee(t)||` fill="var(--_bg)"`))),Z+=`</g>`}let Q=Array.from({length:y},()=>[]);for(let e of T)Q[e.lane].push(e.m);if(h)for(let e of Q)e.sort((e,t)=>e-t);let le=(e,t,n)=>{let r=Q[e],i=0,a=r.length;for(;i<a;){let e=i+a>>1;r[e]<=t?i=e+1:a=e}return i<r.length&&r[i]<n},ue=``,de=``;for(let t of T){let{commit:n}=t,r=P[t.lane],i=t.m;for(let a=0;a<n.parents.length;a++){let o=E.get(n.parents[a]);if(o===void 0||o===t)continue;let s=P[o.lane],c=o.m;if(o.lane===t.lane){de+=`<path class="pele-edge" d="M${G(c,s)}L${G(i,r)}" stroke="${e(t.lane)}"/>`;continue}let l=a>0&&n.type===w.MERGE,u=a>0&&!l,d=`M${G(c,s)}`;if(i<=c){let e=(c+i)/2;d+=`C${G(e,s)} ${G(e,r)} ${G(i,r)}`}else if(!l&&!le(t.lane,c,i)){let e=Math.min(I,i-c);d+=`C${G(c+e/2,s)} ${G(c+e/2,r)} ${G(c+e,r)}L${G(i,r)}`}else{let e=o.lane<t.lane&&i-j[t.index]>c?i-j[t.index]:i,n=Math.min(I,e-c),a=s;(!l||le(o.lane,c,i))&&(a=s>r?r+A[t.lane]+L/2:r-k[t.lane]-L/2,n=Math.min(I,(e-c)/2),d+=`C${G(c+n/2,s)} ${G(c+n/2,a)} ${G(c+n,a)}`),d+=`L${G(e-n,a)}C${G(e-n/2,a)} ${G(e-n/2,r)} ${G(e,r)}`,e<i&&(d+=`L${G(i,r)}`)}ue+=`<path class="pele-edge${l?` pele-edge-merge`:u?` pele-edge-cherry-pick`:``}" d="${d}" stroke="${e(l?o.lane:t.lane)}"${u?` stroke-dasharray="4 3"`:``}/>`}}let fe=``;for(let t of T){let{commit:n,label:r,tags:i}=t,a=U(t.m,P[t.lane]),o=W(t.m,P[t.lane]),s=n.customType??n.type;X(a-F-1,o-F-1,a+F+1,o+F+1);let c=n.type<w.MERGE&&n.message!==``?`<title>${S(n.message)}</title>`:``;if(c+=ce(s,a,o,e(t.lane)),r!==void 0&&r.lines.length>0){let e=r.width,t=r.height,n=(n,r)=>`<rect x="${x(n-e/2-2)}" y="${x(r-t/2+2)}" width="${x(e+4)}" height="${x(t-4)}" rx="3" fill="var(--_bg)"/>`;if(m){let i=V*t/2,s=g?a-F-3-i:a+3,l=g?o:o+F+3+i,u=V*e+i;X(s-u,_?l-u:l-i,s+i,_?l+i:l+u),c+=`<g class="pele-commit-label" transform="rotate(${_?45:-45} ${x(s)} ${x(l)})">`+n(s-e/2,l)+C(r,s-e/2,l,``)+`</g>`}else{let i=g?a-F-6-e/2:a,s=g?o:o+F+6+t/2;X(i-e/2,s-t/2,i+e/2,s+t/2),c+=`<g class="pele-commit-label">${n(i,s)}${C(r,i,s,``)}</g>`}}let l=F+ae;for(let e=g?0:i.length-1;e>=0&&e<i.length;e+=g?1:-1){let t=i[e],n=se(t),r=t.height,s=g?a+l:a-n/2,u=g?o:o-l-r/2;l+=g?n+4:r+3,X(s,u-r/2,s+n,u+r/2),c+=`<g class="pele-tag"><path d="M${x(s)},${x(u)}L${x(s+B)},${x(u-r/2)}H${x(s+n)}V${x(u+r/2)}H${x(s+B)}Z" fill="var(--_s)" stroke="var(--_b)" stroke-linejoin="round"/><circle cx="${x(s+B)}" cy="${x(u)}" r="1.5" fill="var(--_b)"/>`+C(t,s+B+4+t.width/2,u,` fill="var(--_fg)"`)+`</g>`}let u=n.type===w.MERGE&&s!==w.MERGE?` pele-commit-merge`:``;fe+=`<g class="pele-commit pele-commit-${oe[s]??oe[0]}${u}" data-id="${S(n.id)}">${c}</g>`}K>J&&X(0,0,0,0);let $=n(i.title,!1,u,c,4e3,1),pe=$.height>0?$.height+16:0,me=Math.max(J-K,$.width),he=Math.ceil(me+2*d),ge=Math.ceil(Y-q+pe+2*d),_e=d-K+(me-(J-K))/2,ve=d+pe-q,ye=C($,he/2,d+$.height/2,` class="pele-title" font-weight="var(--_tw)"`)+`<g transform="translate(${x(_e)},${x(ve)})">`+(Z?`<g class="pele-branches" fill="none" font-size="${b}">${Z}</g>`:``)+(ue||de?`<g class="pele-edges" fill="none" stroke-width="2" stroke-linecap="round">${ue}${de}</g>`:``)+(fe?`<g class="pele-commits" font-size="${l}" fill="var(--_m)">${fe}</g>`:``)+`</g>`;return{svg:t(`gitGraph`,he,ge,c,o,i,ye),width:he,height:ge,links:[]}}var G={type:`gitGraph`,parse:(e,t,n)=>k(P(e),t,n),render:U};export{G as gitGraph};
@@ -0,0 +1,12 @@
1
+ import{c as e,d as t,f as n,i as r,n as i,r as a,s as o}from"./BGW36YJW-CJMhya8S.js";import{o as s,r as c}from"./DKTLEL5E-DciMwFJ1.js";import{u as l}from"./EFYWJBJK-CVywe_D5.js";import{t as u}from"./NT5JY5WP-1lJM-aun.js";import{r as d}from"./75JW6PN6-BFpDBuGN.js";import{C as f,E as p,F as m,M as h,N as g,d as _,f as v,h as y,k as b,s as x,t as S,u as C}from"./lazy-f3CuUNJZ.js";var w=`aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen transparent currentcolor inherit initial unset revert accentcolor accentcolortext activetext buttonborder buttonface buttontext canvas canvastext field fieldtext graytext highlight highlighttext linktext mark marktext selecteditem selecteditemtext visitedtext activeborder activecaption appworkspace background buttonhighlight buttonshadow captiontext inactiveborder inactivecaption inactivecaptiontext infobackground infotext menu menutext scrollbar threeddarkshadow threedface threedhighlight threedlightshadow threedshadow window windowframe windowtext`,T,E=/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?(%|deg|grad|rad|turn)?$/i;function D(e){if(e.toLowerCase()===`none`)return 4;let t=E.exec(e);return t?t[1]===void 0?1:t[1]===`%`?2:3:0}function ee(e,t){let n=D(e);return n===1||n===2||t&&n===4}function O(e){let t=e.startsWith(`hsl`),n=e.indexOf(`(`),r=e.slice(0,n);if(r!==`rgb`&&r!==`rgba`&&r!==`hsl`&&r!==`hsla`||e.length>120||e.indexOf(`)`)!==e.length-1)return!1;let i=e.slice(n+1,-1).trim(),a,o,s=i.includes(`,`);if(s)a=i.split(`,`).map(e=>e.trim()),a.length===4&&(o=a.pop());else{let e=i.split(`/`);if(e.length>2)return!1;a=e[0].trim().split(/\s+/),e.length===2&&(o=e[1].trim())}if(a.length!==3||o!==void 0&&!ee(o,!s))return!1;let c=a.map(D);if(s)return t?(c[0]===1||c[0]===3)&&c[1]===2&&c[2]===2:(c[0]===1||c[0]===2)&&c[1]===c[0]&&c[2]===c[0];for(let e=0;e<3;e++){let n=c[e];if(!(n===1||n===4||(t&&e===0?n===3:n===2)))return!1}return!0}function k(e){return e.includes(`(`)?O(e):(T??=new Set(w.split(` `)),T.has(e.toLowerCase()))}var te=/^:?wrap:/,ne=/^:?nowrap:/,re=/^:?(?:no)?wrap:/,ie=/^(?:rgba?|hsla?)\s*\(/,ae=/[\r\u2028\u2029]/,A=/^\w*/;function j(e){throw new C(e,`semantic`,{type:`sequence`})}function oe(e){let t=e.trim(),n=te.test(t)?!0:!ne.test(t)&&void 0;return{text:(n===void 0?t:t.replace(re,``)).trim(),wrap:n}}function M(e){let t=ie.exec(e);if(t){let n=e.lastIndexOf(`)`);if(n>=t[0].length)return ae.test(e.slice(t[0].length))?void 0:[e.slice(0,n+1),e.slice(n+1)]}if(ae.test(e))return;let n=A.exec(e)[0];return[n,e.slice(n.length)]}function se(e){return typeof e==`string`?[...e].map((e,t)=>[String(t),e]):typeof e==`object`&&e?Object.entries(e):[]}var ce=class{type=`sequence`;actors=/* @__PURE__ */ new Map;createdActors=/* @__PURE__ */ new Map;destroyedActors=/* @__PURE__ */ new Map;boxes=[];messages=[];notes=[];title;accTitle;accDescr;prevActor;currentBox;lastCreated;lastDestroyed;wrapEnabled;sequenceWrap;active=/* @__PURE__ */ new Map;constructor(e={}){this.wrapEnabled=e.wrap,this.sequenceWrap=e.sequenceWrap??!1}autoWrap(){return this.wrapEnabled??this.sequenceWrap}setAccTitle(e){this.accTitle=e.replace(/^\s+/g,``)}setAccDescription(e){this.accDescr=e.replace(/\n\s+/g,`
2
+ `)}setDiagramTitle(e){this.title=e}parseMessage(e){return oe(e)}parseBoxData(e){let t=M(e),n=t?.[0]?t[0].trim():`transparent`,r=t?.[1]?t[1].trim():void 0;if(k(n)||(n=`transparent`,r=e.trim()),r===void 0)return{text:void 0,color:n,wrap:void 0};let{text:i,wrap:a}=oe(r);return{text:i||void 0,color:n,wrap:a}}addBox(e){this.currentBox={name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]},this.boxes.push(this.currentBox)}addActor(e,t,n,r,i){let a=this.currentBox,o;if(i!==void 0){let t;try{t=h(i.includes(`
3
+ `)?i+`
4
+ `:`{
5
+ `+i+`
6
+ }`)}catch(t){throw new C(`Config of participant "${e}" is not valid YAML. ${t.message}`,`syntax`,{type:`sequence`})}typeof t==`object`&&t&&!Array.isArray(t)&&(o=t)}let s=o&&Object.prototype.hasOwnProperty.call(o,`type`)?o.type:void 0,c=o&&Object.prototype.hasOwnProperty.call(o,`alias`)?o.alias:void 0;s!=null&&(r=String(s)),c&&(!n||n.text===t)&&(n={text:String(c),wrap:n?.wrap,type:r});let l=this.actors.get(e);if(!(l&&(this.currentBox&&l.box&&this.currentBox!==l.box&&j(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.currentBox.name}' at the same time.`),a=l.box?l.box:this.currentBox,l.box=a,t===l.name&&n==null))){if((n?.text==null||r==null)&&(n={text:t,type:r}),this.actors.set(e,{box:a,name:t,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.prevActor,links:/* @__PURE__ */ new Map,properties:/* @__PURE__ */ new Map,type:r??`participant`}),this.prevActor){let t=this.actors.get(this.prevActor);t&&(t.nextActor=e)}this.currentBox&&this.currentBox.actorKeys.push(e),this.prevActor=e}}addMessage(e,t,n,r){this.messages.push({id:String(this.messages.length),from:e,to:t,message:n.text,wrap:n.wrap??this.autoWrap(),answer:r})}addSignal(e,t,n,r,i=!1,a){if(r===18){let t=e?this.active.get(e)??0:0;t<1&&j(`Trying to inactivate an inactive participant (${e})`),this.active.set(e,t-1)}else r===17&&e&&this.active.set(e,(this.active.get(e)??0)+1);return this.messages.push({id:String(this.messages.length),from:e,to:t,message:n?.text??``,wrap:n?.wrap??this.autoWrap(),type:r,activate:i,centralConnection:a??0}),!0}addNote(e,t,n){let r=n.wrap??this.autoWrap(),i={actor:e,placement:t,message:n.text,wrap:r},a=typeof e==`string`?[e,e]:e;this.notes.push(i),this.messages.push({id:String(this.messages.length),from:a[0],to:a[1],message:n.text,wrap:r,type:2,placement:t})}addLinks(e,t){let n=this.actors.get(e);if(n)try{let e=JSON.parse(t.text);for(let[t,r]of se(e))n.links.set(t,r)}catch{return}}addALink(e,t){let n=this.actors.get(e);if(!n)return;let r=t.text.indexOf(`@`);n.links.set(t.text.slice(0,r-1).trim(),t.text.slice(r+1).trim())}addProperties(e,t){let n=this.actors.get(e);if(n)try{let e=JSON.parse(t.text);for(let[t,r]of se(e))n.properties.set(t,r)}catch{return}}addDetails(e,t){let n=this.actors.get(e);n&&(n.details=t.text)}apply(e){let t=[],n=[],r=e;for(;;){r!==void 0&&(Array.isArray(r)?(t.push(r),n.push(0)):typeof r!=`string`&&this.applyOne(r));let e=t.length-1;if(e<0)return;let i=t[e];n[e]<i.length?r=i[n[e]++]:(t.pop(),n.pop(),r=void 0)}}applyOne(e){let t=e.actor;switch(e.type){case`sequenceIndex`:this.messages.push({id:String(this.messages.length),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible===!0},wrap:!1,type:e.signalType});break;case`addParticipant`:this.addActor(t,t,e.description,e.draw,e.config);break;case`createParticipant`:this.actors.has(t)&&j(`It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior`),this.lastCreated=t,this.addActor(t,t,e.description,e.draw,e.config),this.createdActors.set(t,this.messages.length);break;case`destroyParticipant`:this.lastDestroyed=t,this.destroyedActors.set(t,this.messages.length);break;case`activeStart`:case`activeEnd`:case`centralConnection`:case`centralConnectionReverse`:this.addSignal(t,void 0,void 0,e.signalType);break;case`addNote`:this.addNote(e.actor,e.placement,e.text);break;case`addLinks`:this.addLinks(t,e.text);break;case`addALink`:this.addALink(t,e.text);break;case`addProperties`:this.addProperties(t,e.text);break;case`addDetails`:this.addDetails(t,e.text);break;case`addMessage`:this.lastCreated?(e.to!==this.lastCreated&&j(`The created participant ${this.lastCreated} does not have an associated creating message after its declaration. Please check the sequence diagram.`),this.lastCreated=void 0):this.lastDestroyed&&=(e.to!==this.lastDestroyed&&e.from!==this.lastDestroyed&&j(`The destroyed participant ${this.lastDestroyed} does not have an associated destroying message after its declaration. Please check the sequence diagram.`),void 0),this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case`boxStart`:this.addBox(e.boxData);break;case`boxEnd`:this.currentBox=void 0;break;case`loopStart`:this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case`rectStart`:this.addSignal(void 0,void 0,e.color,e.signalType);break;case`optStart`:this.addSignal(void 0,void 0,e.optText,e.signalType);break;case`altStart`:case`else`:this.addSignal(void 0,void 0,e.altText,e.signalType);break;case`parStart`:case`and`:this.addSignal(void 0,void 0,e.parText,e.signalType);break;case`criticalStart`:this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case`option`:this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case`breakStart`:this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case`loopEnd`:case`rectEnd`:case`optEnd`:case`altEnd`:case`parEnd`:case`criticalEnd`:case`breakEnd`:this.addSignal(void 0,void 0,void 0,e.signalType)}}},le=/* @__PURE__ */ `$end.INVALID.INVALID.NEWLINE.SD.create.box.restOfLine.end.autonumber.NUM.off.activate.deactivate.title.legacy_title.acc_title.acc_title_value.acc_descr.acc_descr_value.acc_descr_multiline_value.loop.rect.opt.alt.par.par_over.critical.break.option.and.else.participant.AS.participant_actor.destroy.note.over.links.link.properties.details.,.left_of.right_of.+.-.().ACTOR.CONFIG_START.CONFIG_CONTENT.CONFIG_END.TXT.SOLID_OPEN_ARROW.DOTTED_OPEN_ARROW.SOLID_ARROW.BIDIRECTIONAL_SOLID_ARROW.DOTTED_ARROW.BIDIRECTIONAL_DOTTED_ARROW.SOLID_CROSS.DOTTED_CROSS.SOLID_POINT.DOTTED_POINT.SOLID_ARROW_TOP.SOLID_ARROW_BOTTOM.STICK_ARROW_TOP.STICK_ARROW_BOTTOM.SOLID_ARROW_TOP_DOTTED.SOLID_ARROW_BOTTOM_DOTTED.STICK_ARROW_TOP_DOTTED.STICK_ARROW_BOTTOM_DOTTED.SOLID_ARROW_TOP_REVERSE.SOLID_ARROW_BOTTOM_REVERSE.STICK_ARROW_TOP_REVERSE.STICK_ARROW_BOTTOM_REVERSE.SOLID_ARROW_TOP_REVERSE_DOTTED.SOLID_ARROW_BOTTOM_REVERSE_DOTTED.STICK_ARROW_TOP_REVERSE_DOTTED.STICK_ARROW_BOTTOM_REVERSE_DOTTED`.split(`.`),ue=/* @__PURE__ */ new Uint8Array(128);for(let e=0;e<128;e++){let t=String.fromCharCode(e),n=e===32||e>=9&&e<=13,r=0;`/\\+()<->:
7
+ ,;`.includes(t)||(r|=1),`+<->:
8
+ ,;`.includes(t)||(r|=2),`<>:
9
+ ,;@`.includes(t)||(r|=8|(n?0:4)),`#
10
+ ;`.includes(t)||(r|=16),!`/\\+()<>:
11
+ ,;-`.includes(t)&&!n&&(r|=32),ue[e]=r}function de(e){let t=e.length,n=[],r=[],i=[],a=[],o=0,s=0,c=-1,l=(t,a,o)=>{n.push(t),r.push(e.slice(a,o)),i.push(a),s=o},u=(e,t,a,o)=>{n.push(e),r.push(o),i.push(t),s=a},d=e=>{a.push(o),o=e},f=()=>{a.length>0&&(o=a.pop())},p=n=>(c<n&&(c=e.indexOf(`
12
+ `,n),c===-1&&(c=t)),c),h=(t,n)=>{let r=e.charCodeAt(t);return r<128?(ue[r]&n)!==0:n===4||n===32?!m(r):!0},_=(t,n)=>{for(let r=0;r<n.length;r++){let i=n.charCodeAt(r),a=e.charCodeAt(t+r);if(i>=97&&i<=122?(a|32)!==i:a!==i)return!1}return!0},v=t=>_(s,t)&&!S(e.charCodeAt(s+t.length)),y=n=>{for(;n<t&&m(e.charCodeAt(n));)n++;return n},b=()=>{let n=s;for(;n<t;){let t=e.charCodeAt(n);if(t===10||!m(t))break;n++}return n!==s&&(s=n,!0)},x=e=>{for(;e<t&&h(e,16);)e++;return e},C=(e,t,n)=>{l(e,s,s+t),d(n)},w=(e,t,n=-1)=>v(e)?(l(t,s,s+e.length),n>=0&&d(n),!0):!1,T=(n,r)=>{if(!_(s,n))return!1;let i=s+n.length,a=e.charCodeAt(i);if(a!==32&&a!==9)return!1;for(;a===32||a===9;)a=e.charCodeAt(++i);return i>=t||!h(i,32)?!1:(l(r,s,s+n.length),!0)},E=t=>{let n=e.charCodeAt(t),r=e.charCodeAt(t+1);if(n===45){if(r===120||r===88||r===41||r===92||r===47||r===45)return!0;let n=e.charCodeAt(t+2);return r===124&&(n===92||n===47)}return n===47||n===92?(r===124||r===n)&&e.charCodeAt(t+2)===45:n===40&&r===41},D=()=>{let n=s+1;for(;n<t&&h(n,1);)n++;for(;n<t&&!E(n);){let r=n;for(;e.charCodeAt(r)===45;)r++;if(r>=t||!h(r,2))break;for(r++;r<t&&h(r,2);)r++;n=r}u(48,s,n,e.slice(s,n).trim())},ee=()=>{let t=s;for(;g(e.charCodeAt(t));)t++;let n=t>s;if(e.charCodeAt(t)===46&&g(e.charCodeAt(t+1))){let n=g(e.charCodeAt(t+2))?t+3:t+2,r=e.charCodeAt(n);if(r===32||r===10)return l(10,s,n),!0}let r=e.charCodeAt(t);return n&&(r===32||r===10)?(l(10,s,t),!0):!1},O=()=>{let t=e.charCodeAt(s+1),n=e.charCodeAt(s+2);if(t===62)l(n===62?55:53,s,s+(n===62?3:2));else if(t===120||t===88)l(59,s,s+2);else if(t===41)l(61,s,s+2);else if(t===124&&n===92)l(63,s,s+3);else if(t===124&&n===47)l(64,s,s+3);else if(t===92&&n===92)l(65,s,s+3);else if(t===47&&n===47)l(66,s,s+3);else if(t===45){let t=e.charCodeAt(s+3);n===62?l(t===62?57:54,s,s+(t===62?4:3)):n===120||n===88?l(60,s,s+3):n===41?l(62,s,s+3):n===124&&t===92?l(67,s,s+4):n===124&&t===47?l(68,s,s+4):n===92&&t===92?l(69,s,s+4):n===47&&t===47?l(70,s,s+4):l(46,s,s+1)}else l(46,s,s+1)},k=t=>{let n=e.charCodeAt(s+1);if(n!==124&&n!==t||e.charCodeAt(s+2)!==45)return!1;let r=e.charCodeAt(s+3)===45,i=t===47,a;return a=n===124?r?i?75:76:i?71:72:r?i?77:78:i?73:74,l(a,s,s+(r?4:3)),!0},te=()=>{if(!_(s,`title`))return!1;let n=s+5,r=e.charCodeAt(n)===58;r&&n++;let i=n;for(;i<t&&e.charCodeAt(i)!==10&&m(e.charCodeAt(i));)i++;if(i===t||e.charCodeAt(i)===10)return s=i,!0;let a=e.charCodeAt(n);return!m(a)||a===13||!h(n+1,16)?!1:(l(r?15:14,s,x(n+1)),!0)},ne=()=>{let t=_(s,`accdescr`);if(!t&&!_(s,`acctitle`))return!1;let n=y(s+8),r=e.charCodeAt(n);return r===58?(l(t?18:16,s,y(n+1)),d(t?6:5),!0):t&&r===123?(s=y(n+1),d(7),!0):!1},re=e=>{switch(e|32){case 97:return w(`actor`,34,1)||w(`alt`,24,3)||w(`and`,30,3)||w(`activate`,12,1)||ne()||w(`autonumber`,9);case 98:return w(`box`,6,3)||w(`break`,28,3);case 99:return w(`create`,5)||w(`critical`,27,3);case 100:return w(`destroy`,35,1)||T(`details`,41)||w(`deactivate`,13,1);case 101:return w(`else`,31,3)||w(`end`,8);case 108:return w(`loop`,21,3)||w(`left of`,43)||T(`links`,38)||T(`link`,39);case 110:return w(`note`,36);case 111:return w(`opt`,23,3)||w(`option`,29,3)||w(`over`,37)||w(`off`,11);case 112:return w(`participant`,32,1)||w(`par`,25,3)||w(`par_over`,26,3)||T(`properties`,40);case 114:return w(`rect`,22,3)||w(`right of`,44);case 115:return w(`sequencediagram`,4);case 116:return te();default:return!1}},ie=()=>{let t=e.charCodeAt(s);if(t===10){let t=s+1;for(;e.charCodeAt(t)===10;)t++;l(3,s,t)}else if(m(t))s=y(s+1);else if(t===35||t===37&&e.charCodeAt(s+1)!==123)s=p(s);else if((!g(t)&&t!==46||!ee())&&!(t<128&&(t|32)>=97&&(t|32)<=122&&re(t))){if(t===44)l(42,s,s+1);else if(t===59)l(3,s,s+1);else if(h(s,1))D();else if(t===45)O();else if(t===60&&e.startsWith(`<<->>`,s))l(56,s,s+5);else if(t===60&&e.startsWith(`<<-->>`,s))l(58,s,s+6);else{if((t===47||t===92)&&k(t))return;t===58?l(52,s,x(s+1)):t===43?l(45,s,s+1):t===40&&e.charCodeAt(s+1)===41?l(47,s,s+2):l(2,s,s+1)}}},ae=()=>{if(b())return!0;let n=e.charCodeAt(s);if(n===35)return s=p(s),!0;if(n===64&&e.charCodeAt(s+1)===123)return C(49,2,4),!0;let r=s;for(;r<t&&h(r,4);)r++;if(r>s){let t=y(r);if(e.charCodeAt(t)===64&&e.charCodeAt(t+1)===123)return l(48,s,r),!0;if(t>r&&_(t,`as`)&&m(e.charCodeAt(t+2)))return l(48,s,r),d(2),!0}let i=r;for(;i<t&&h(i,8);)i++;if(i>s){let n=e.charCodeAt(i),r=i;if(i<t&&n!==10&&n!==59)for(r--;r>s&&e.charCodeAt(r)!==35;)r--;if(r>s)return u(48,s,r,e.slice(s,r).trim()),f(),!0}if(e.charCodeAt(i)===60)return l(2,s,p(s)),f(),!0;if(n!==10){let t=p(s);return u(2,s,t,e.slice(s,t).trim()),f(),!0}return!1},A=()=>{switch(o){case 0:return ie(),!0;case 1:return ae();case 2:return b()?!0:e.charCodeAt(s)===35?(s=p(s),!0):(f(),f(),v(`as`)?C(33,2,3):l(3,s,s),!0);case 3:return b()?!0:e.charCodeAt(s)===35?(s=p(s),!0):(l(7,s,x(s)),f(),!0);case 4:if(e.charCodeAt(s)!==125){let n=e.indexOf(`}`,s);return n===-1&&(n=t),l(50,s,n),!0}{let t=y(s+1),n=t>s+1&&_(t,`as`)&&m(e.charCodeAt(t+2));return l(51,s,s+1),f(),n?d(2):f(),!0}case 5:case 6:return l(o===5?17:19,s,p(s)),f(),!0;default:if(e.charCodeAt(s)===125)s++,f();else{let n=e.indexOf(`}`,s);n===-1&&(n=t),l(20,s,n)}return!0}};for(;s<t;)if(!A())return n.push(1),r.push(``),i.push(s),{types:n,texts:r,starts:i};return o===0||o===2?l(3,t,t):o===3?l(7,t,t):o===5?l(17,t,t):o===6?l(19,t,t):o===7&&l(20,t,t),n.push(0),r.push(``),i.push(t),{types:n,texts:r,starts:i}}var N=(/* @__PURE__ */ new Int8Array(79)).fill(-1);N[53]=5,N[54]=6,N[55]=0,N[57]=1,N[56]=33,N[58]=34,N[59]=3,N[60]=4,N[61]=24,N[62]=25,N[63]=41,N[64]=42,N[65]=43,N[66]=44,N[67]=51,N[68]=52,N[69]=53,N[70]=54,N[71]=45,N[72]=46,N[73]=47,N[74]=48,N[75]=55,N[76]=56,N[77]=57,N[78]=58;var P=(/* @__PURE__ */ new Int8Array(79)).fill(-1);P[21]=2,P[22]=3,P[23]=4,P[28]=5,P[24]=6,P[25]=7,P[26]=7,P[27]=8,P[6]=1;var fe=`'SOLID_OPEN_ARROW', 'DOTTED_OPEN_ARROW', 'SOLID_ARROW', 'DOTTED_ARROW', 'SOLID_CROSS', 'DOTTED_CROSS', 'SOLID_POINT', 'DOTTED_POINT'`;function F(e,t){let{types:n,texts:r,starts:i}=de(e),a=0,o=t=>{let r=n[a];throw r===1?f(`sequence`,e,i[a],``,!0):f(`sequence`,e,i[a],`Expecting ${t}, got '${le[r]}'`)},s=e=>(n[a]!==e&&o(`'${le[e]}'`),r[a++]),c=()=>{let e=n[a];return e!==48&&e!==39&&o(`'ACTOR'`),{type:`addParticipant`,actor:r[a++]}},l=()=>t.parseMessage(s(52).trim().substring(1)),u=()=>{let e=n[a++];if(e===35){let e=c();return s(3),e.type=`destroyParticipant`,e}let r=c();if(n[a]===49&&n[a-1]===48){a++;let e=s(50);s(51),r.config=e.trim()}if(r.draw=e===32?`participant`:`actor`,n[a]===33){a++;let e=s(7);s(3),r.description=t.parseMessage(e)}else n[a]===3?a++:o(`'AS', 'NEWLINE'`);return r},d=e=>{let t=!1;n[a]===47&&(t=!0,a++);let r=N[n[a]];r<0&&o(fe),a++;let i=n[a];(i===47||!t&&(i===45||i===46))&&a++;let s=c(),u=l(),d={type:`addMessage`,from:e.actor,to:s.actor,signalType:r,msg:u},f=[e,s,d];if(t){let t=i===47;d.activate=t,d.centralConnection=t?61:60,t&&f.push({type:`centralConnection`,signalType:59,actor:s.actor}),f.push({type:`centralConnectionReverse`,signalType:60,actor:e.actor})}else i===45?(d.activate=!0,f.push({type:`activeStart`,signalType:17,actor:s.actor})):i===46?f.push({type:`activeEnd`,signalType:18,actor:e.actor}):i===47&&(d.activate=!0,d.centralConnection=59,f.push({type:`centralConnection`,signalType:59,actor:s.actor}));return f},p=e=>{a++;let t=c();return[t,{type:e,actor:t.actor,text:l()}]},m=()=>{a++;let e=n[a];if(e===37){a++;let e=c(),t=e,r=[e.actor,e.actor];if(n[a]===42){a++;let n=c();t=[e,n],r=[e.actor,n.actor]}return[t,{type:`addNote`,placement:2,actor:r,text:l()}]}e!==43&&e!==44&&o(`'over', 'left_of', 'right_of'`),a++;let t=c();return[t,{type:`addNote`,placement:e===43?0:1,actor:t.actor,text:l()}]},h=()=>{a++;let e={type:`sequenceIndex`,sequenceVisible:!0,signalType:26};return n[a]===10?(e.sequenceIndex=Number(r[a++]),e.sequenceIndexStep=n[a]===10?Number(r[a++]):1):n[a]===11&&(a++,e.sequenceVisible=!1),n[a]!==3&&o(`'NEWLINE', 'NUM', 'off'`),a++,e},g=(e,n,r,i)=>{let a=e.list,o=e.sections;if(o)for(let e=o.length-2;e>=0;e-=2){let s={type:n,signalType:i};s[r]=t.parseMessage(o[e+1]),a=o[e].concat([s,a])}return a},_=e=>{let n=e.text,r=e.list;switch(e.kind){case 1:r[0]={type:`boxStart`,boxData:t.parseBoxData(n)},r.push({type:`boxEnd`,boxText:n});break;case 2:r[0]={type:`loopStart`,loopText:t.parseMessage(n),signalType:10},r.push({type:`loopEnd`,loopText:n,signalType:11});break;case 3:r[0]={type:`rectStart`,color:t.parseMessage(n),signalType:22},r.push({type:`rectEnd`,color:t.parseMessage(n),signalType:23});break;case 4:r[0]={type:`optStart`,optText:t.parseMessage(n),signalType:15},r.push({type:`optEnd`,optText:t.parseMessage(n),signalType:16});break;case 5:r[0]={type:`breakStart`,breakText:t.parseMessage(n),signalType:30},r.push({type:`breakEnd`,optText:t.parseMessage(n),signalType:31});break;case 6:r=g(e,`else`,`altText`,13),r[0]={type:`altStart`,altText:t.parseMessage(n),signalType:12},r.push({type:`altEnd`,signalType:14});break;case 7:r=g(e,`and`,`parText`,20),r[0]={type:`parStart`,parText:t.parseMessage(n),signalType:e.startType},r.push({type:`parEnd`,signalType:21});break;default:r=g(e,`option`,`optionText`,28),r[0]={type:`criticalStart`,criticalText:t.parseMessage(n),signalType:27},r.push({type:`criticalEnd`,signalType:29})}return r};for(;n[a]===3;)a++;s(4);let v=[],y={kind:0,text:``,startType:0,list:[],sections:void 0};for(;;){let e=n[a],i=y.list;if(y.kind===1){if(e===32||e===34||e===35)i.push(u());else if(e===3)i.push([]),a++;else if(e===8){a++;let e=_(y);y=v.pop(),y.list.push(e)}else o(`'end', 'NEWLINE', 'participant', 'participant_actor', 'destroy'`)}else switch(e){case 3:case 2:i.push([]),a++;break;case 32:case 34:case 35:i.push(u());break;case 5:{a++;let e=n[a];e!==32&&e!==34&&e!==35&&o(`'participant', 'participant_actor', 'destroy'`);let t=u();t.type=`createParticipant`,i.push(t);break}case 48:i.push(d(c())),s(3);break;case 39:{let e=n[a+1];i.push(e===48||e===39?p(`addALink`):d(c())),s(3);break}case 38:i.push(p(`addLinks`)),s(3);break;case 40:i.push(p(`addProperties`)),s(3);break;case 41:i.push(p(`addDetails`)),s(3);break;case 36:i.push(m()),s(3);break;case 9:i.push(h());break;case 12:case 13:{a++;let t=c();s(3),i.push(e===12?{type:`activeStart`,signalType:17,actor:t.actor}:{type:`activeEnd`,signalType:18,actor:t.actor});break}case 14:case 15:{let n=r[a++].substring(e===14?6:7);t.setDiagramTitle(n),i.push(n);break}case 16:{a++;let e=s(17).trim();t.setAccTitle(e),i.push(e);break}case 18:{a++;let e=s(19).trim();t.setAccDescription(e),i.push(e);break}case 20:{let e=r[a++].trim();t.setAccDescription(e),i.push(e);break}case 21:case 22:case 23:case 28:case 24:case 25:case 26:case 27:case 6:{a++;let t=s(7);v.push(y),y={kind:P[e],text:t,startType:e===26?32:19,list:[[]],sections:void 0};break}case 31:case 30:case 29:{y.kind!==(e===31?6:e===30?7:8)&&o(`'end'`),a++;let t=s(7);(y.sections??=[]).push(i,t),y.list=[];break}case 8:{y.kind===0&&o(`'NEWLINE', 'EOF'`),a++;let e=_(y);y=v.pop(),y.list.push(e);break}case 0:y.kind!==0&&o(`'end'`),t.apply(i);return;default:o(`'NEWLINE', 'ACTOR', 'participant', 'note', 'end'`)}}}var pe=16,me=10,I=34,L=4,R=5,z=6,B=` fill="var(--_s)" stroke="var(--_b)"`,V=` fill="none" stroke="var(--_b)"`,he=/* @__PURE__ */ new Set([`participant`,`actor`,`boundary`,`control`,`entity`,`database`,`collections`,`queue`]),H=/* @__PURE__ */ new Set([`actor`,`boundary`,`control`,`entity`,`database`]);function ge(e){return he.has(e)?e:`participant`}function _e(e){return H.has(e)}function ve(e,t,n,r,i=pe){if(_e(e))return{w:Math.max(40,t.width+8),h:I+(t.height>0?L+t.height:0)};let a=e===`collections`?R:e===`queue`?2*z:0;return{w:Math.max(n,t.width+2*i)+a,h:Math.max(r,t.height+2*me)+(e===`collections`?R:0)}}function ye(e,t,n){let r=p(t),i=e=>p(n+e);switch(e){case`actor`:return`<circle cx="${r}" cy="${i(7)}" r="6"${B}/><path d="M${r},${i(13)}V${i(24)}M${p(t-10)},${i(17)}H${p(t+10)}M${p(t-8)},${i(34)}L${r},${i(24)}L${p(t+8)},${i(34)}"${V}/>`;case`boundary`:return`<path d="M${p(t-19)},${i(6)}V${i(28)}M${p(t-19)},${i(17)}H${p(t-8)}"${V}/><circle cx="${p(t+3)}" cy="${i(17)}" r="11"${B}/>`;case`control`:return`<circle cx="${r}" cy="${i(21)}" r="11"${B}/><path d="M${p(t+5)},${i(5)}L${p(t-1)},${i(10)}L${p(t+5)},${i(15)}"${V}/>`;case`entity`:return`<circle cx="${r}" cy="${i(15)}" r="11"${B}/><path d="M${p(t-11)},${i(30)}H${p(t+11)}"${V}/>`;default:{let e=p(t-14),n=p(t+14);return`<path d="M${e},${i(7)}V${i(27)}A14,5 0 0 0 ${n},${i(27)}V${i(7)}A14,5 0 0 0 ${e},${i(7)}Z"${B}/><path d="M${e},${i(7)}A14,5 0 0 0 ${n},${i(7)}"${V}/>`}}}function be(e,t,r,i,a,o,s=``){let{w:c,h:l}=i,u=` class="pele-label"`;if(_e(e))return ye(e,t,r)+y(a,t,r+I+L+a.height/2,u+s,o);let d=t-c/2;if(e===`collections`){let e=c-R,t=l-R;return`<rect x="${p(d+R)}" y="${p(r)}" width="${p(e)}" height="${p(t)}"${B}${n}/><rect x="${p(d)}" y="${p(r+R)}" width="${p(e)}" height="${p(t)}"${B}${n}/>`+y(a,d+e/2,r+R+t/2,u,o)}if(e===`queue`){let e=p(d+z),n=p(d+c-z),i=p(r+l),s=p(l/2);return`<path d="M${e},${p(r)}H${n}A${z},${s} 0 0 1 ${n},${i}H${e}A${z},${s} 0 0 1 ${e},${p(r)}Z"${B}/><path d="M${n},${p(r)}A${z},${s} 0 0 0 ${n},${i}"${V}/>`+y(a,t-z/2,r+l/2,u,o)}return`<rect x="${p(d)}" y="${p(r)}" width="${p(c)}" height="${p(l)}"${B}${n}/>`+y(a,t,r+l/2,u,o)}var xe=[];function U(e,t,n,r=1,i=!1){xe[e]={dotted:t,head:n,atStart:r!==1,atEnd:r!==0,bottom:i}}U(0,!1,1),U(1,!0,1),U(3,!1,2),U(4,!0,2),U(5,!1,0),U(6,!0,0),U(24,!1,3),U(25,!0,3),U(33,!1,1,2),U(34,!0,1,2);for(let e of[!1,!0]){let t=e?10:0;U(41+t,e,4),U(42+t,e,4,1,!0),U(43+t,e,5),U(44+t,e,5,1,!0),U(45+t,e,4,0),U(46+t,e,4,0,!0),U(47+t,e,5,0),U(48+t,e,5,0,!0)}var Se=/* @__PURE__ */ new Map([[10,`loop`],[12,`alt`],[15,`opt`],[19,`par`],[32,`par`],[27,`critical`],[30,`break`],[22,`rect`]]),Ce=12,we=28,Te=22,W=10,Ee=4,De=14,Oe=10,ke=16,Ae=20,je=10,Me=20,Ne=240,Pe=16,Fe=4,Ie=` stroke-dasharray="4 4"`;function Le(e){return e!==void 0&&xe[e]!==void 0}function Re(e,t){let n=Array(e.length),r=Array(e.length),i=1,a=1,o=!1;for(let s=0;s<e.length;s++){let c=e[s];if(n[s]=NaN,r[s]=!1,c.type===26){let e=c.message;i=e.start||i,a=e.step||a,o=e.visible}else Le(c.type)&&(n[s]=i,r[s]=o||t,i=Math.round((i+a)*100)/100)}return{index:n,shown:r,visible:o}}var ze={lines:[],widths:[],width:0,height:0,size:0,lineHeight:0};function G(e,t,n){let r=e[t];return typeof r==`number`&&r>=0&&r<=2e3?r:n}function K(e,t,n,r,i,a){let o=p(e-n*8);return i?`<path class="pele-marker" d="M${p(e)},${p(t)}L${o},${p(t+r*5)}"/>`:`<path class="pele-marker" d="M${p(e)},${p(t)}L${o},${p(t+r*4.5)}V${p(t)}Z" fill="${a}" stroke="none"/>`}function Be(e,t,n,r,i,a){switch(e){case 1:return l(`arrow_point`,t,n,r,0,a);case 2:return l(`arrow_cross`,t,n,r,0,a);case 3:return`<path class="pele-marker" d="M${p(t-r*8)},${p(n-4.5)}L${p(t)},${p(n)}L${p(t-r*8)},${p(n+4.5)}" stroke-linejoin="round"/>`;case 4:return K(t,n,r,i,!1,a);case 5:return K(t,n,r,i,!0,a);default:return``}}function Ve(e){return e===1?7:e===2?4:0}function q(e,t,n){return s(n,r=>He(e,t,n,r))}function He(s,l,f,m,h=0,g=!0){let S=l.sequence??{},C=f.fontSize??16,w=Math.round(C*.875),T=Math.round(C*.75),E=f.measurer??x(f.fontFamily,f.fontFamilyMono),D=Array.isArray(f.monospace)&&f.monospace.includes(`messages`),ee=D?{width:(e,t,n)=>E.width(e,t,n|4)}:E,O=f.icons,k=f.padding??8,te=S.mirrorActors!==!1,ne=S.rightAngles===!0,re=Math.min(G(S,`actorMargin`,40),m?8:1/0),ie=Math.min(G(S,`width`,64),m?48:1/0),ae=G(S,`height`,Math.round(C*1.5)+20),A=Math.min(G(S,`width`,160),m?Math.max(32,((f.maxWidth??320)-2*k)/Math.max(1,s.actors.size)-re-24):1/0),j=Math.max(4,14+G(S,`messageMargin`,35)-35),oe=Math.min(G(S,`noteMargin`,10),m?6:1/0),M=Math.min(G(S,`boxMargin`,10),m?6:1/0),se=S.messageAlign===`left`?-1:+(S.messageAlign===`right`),ce=m?6:Ce,le=m?8:ke,ue=m?12:Ae,de=m?6:je,N=s.messages,P=N.length,fe=Re(N,S.showSequenceNumbers===!0),F=(e,t,n,i=A,a=E)=>{let o=r(e,!1,a,t,m||n?i:1/0);return m?d(o,a,Math.max(120,i)):o},pe=(e,t,n=A)=>F(e,w,t,n,ee),me;if(S.hideUnusedParticipants===!0){me=/* @__PURE__ */ new Set;for(let e of N)me.add(e.from).add(e.to)}let I=new Int32Array(P+1);I[P]=-1;for(let e=P-1;e>=0;e--)I[e]=Le(N[e].type)?e:I[e+1];let L=[],R=/* @__PURE__ */ new Map;for(let[e,t]of s.actors){if(me&&!me.has(e))continue;let n=ge(t.type),r=F(t.description,C,t.wrap),i=s.createdActors.get(e),a=s.destroyedActors.get(e),o=i===void 0?-1:I[Math.min(i,P)];o>=0&&N[o].to!==e&&(o=-1);let c=a===void 0?-1:I[Math.min(a,P)];c>=0&&N[c].to!==e&&N[c].from!==e&&(c=-1),R.set(e,L.length),L.push({id:e,actor:t,kind:n,label:r,size:ve(n,r,ie,ae,m?8:void 0),x:0,createAt:o,destroyAt:c,top:0,lifeStart:0,lifeEnd:-1,activations:[]})}let z=L.length-1,B=/* @__PURE__ */ new Map,V=(e,t,n)=>{if(e<0||t>z)return;let r=e*L.length+t;(B.get(r)??0)<n&&B.set(r,n)},he=e=>fe.shown[e]?Math.max(Pe,E.width(String(fe.index[e]),T,0)+8):0,H=Array(P),ye=Array(P),U=(e,t)=>{let n=ye[e];if(!n){if(t===A)return H[e].label;ye[e]=n=/* @__PURE__ */ new Map([[A,H[e].label]])}let r=n.get(t);return r||n.set(t,r=pe(N[e].message,!0,t)),r};for(let e=0;e<P;e++){let t=N[e],n=t.from===void 0?void 0:R.get(t.from),r=t.to===void 0?void 0:R.get(t.to);if(n!==void 0&&r!==void 0&&typeof t.message==`string`){if(t.type===2){let i=F(t.message,w,t.wrap),a=i.width+2*oe;t.placement===0?V(n-1,n,a+2*Oe+W):t.placement===1?V(n,n+1,a+2*Oe+W):n===r?(V(n-1,n,a/2+Oe),V(n,n+1,a/2+Oe)):V(Math.min(n,r),Math.max(n,r),a-2*le),H[e]={kind:2,a:n,b:r,label:i,x:0,w:a}}else if(Le(t.type)){let i=pe(t.message,t.wrap),a=he(e);if(n===r)V(n,n+1,we+8+i.width+16+W+a),H[e]={kind:1,a:n,b:r,label:i,x:0,w:0};else{let o=L[r].createAt===e?L[r].size.w/2:0,s=t.centralConnection?4*Fe:0;V(Math.min(n,r),Math.max(n,r),(m?Math.min(i.width,Math.max(16,A-16)):i.width)+2*ce+W+a+o+s),H[e]={kind:0,a:n,b:r,label:i,x:0,w:0}}}}}let K=[];for(let e=0;e<=z;e++){let t=L[e].actor.box,n=K[K.length-1];t&&n&&n.box===t&&n.last===e-1?n.last=e:t&&K.push({box:t,first:e,last:e,title:F(t.name,w,t.wrap),grow:0})}let q=Array(Math.max(z,0));for(let e=0;e<z;e++){let t=L[e],n=L[e+1],r=t.actor.box===n.actor.box?0:(t.actor.box?M:0)+(n.actor.box?M:0);q[e]=Math.max(t.size.w/2+n.size.w/2+re+r,B.get(e*L.length+e+1)??0)}let Ue=[];for(let[e,t]of B){let n=Math.floor(e/L.length),r=e%L.length;r-n>1&&Ue.push([n,r,t])}Ue.sort((e,t)=>e[1]-e[0]-(t[1]-t[0])||e[0]-t[0]);for(let[e,t,n]of Ue){let r=0;for(let n=e;n<t;n++)r+=q[n];if(r>=n)continue;let i=(n-r)/(t-e);for(let n=e;n<t;n++)q[n]+=i}let We=()=>{for(let e=1;e<=z;e++)L[e].x=L[e-1].x+q[e-1]};We();for(let e of K){let t=L[e.last].x+L[e.last].size.w/2-(L[e.first].x-L[e.first].size.w/2);e.grow=Math.max(0,(e.title.width-t)/2),e.grow!==0&&(e.first>0&&(q[e.first-1]+=e.grow),e.last<z&&(q[e.last]+=e.grow))}let J=1/0,Y=-1/0,X=(e,t)=>{e<J&&(J=e),t>Y&&(Y=t)},Ge=e=>[L[e.first].x-L[e.first].size.w/2-M-e.grow,L[e.last].x+L[e.last].size.w/2+M+e.grow],Ke=Array(P),qe=()=>{We(),J=1/0,Y=-1/0;for(let e of L)X(e.x-e.size.w/2,e.x+e.size.w/2);for(let e of K)X(...Ge(e));let e=[],t=()=>z<0?[0,120]:[L[0].x-ue,L[z].x+ue];for(let n=0;n<P;n++){let r=N[n],i=r.type,a=i===void 0?void 0:Se.get(i),o=H[n];if(a!==void 0){let t={kind:a,x0:1/0,x1:-1/0,top:0,title:ze,tabW:0,fill:a===`rect`&&typeof r.message==`string`?r.message:``,dividers:[n],dividerY:[],dividerLabels:[]};Ke[n]=t,e.push(t)}else if(i===13||i===20||i===28)e[e.length-1]?.dividers.push(n);else if(i===11||i===14||i===16||i===21||i===29||i===31||i===23){let r=e.pop();if(!r)continue;if(Ke[n]=r,r.x0>r.x1&&([r.x0,r.x1]=t()),r.kind!==`rect`){r.tabW=E.width(r.kind,T,1)+14;for(let e=0;e<r.dividers.length;e++){let t=N[r.dividers[e]].message,n=e===0?r.tabW+8:0,i=r.x1-r.x0-16-n,a=t?F(`[${t}]`,w,!0,Math.max(i,m?Math.min(Ne,A):Ne)):ze;a.width>i&&(r.x1+=a.width-i),e===0?r.title=a:r.dividerLabels.push(a)}}X(r.x0,r.x1);let i=e[e.length-1];i&&(i.x0=Math.min(i.x0,r.x0-de),i.x1=Math.max(i.x1,r.x1+de))}else if(o){let t=L[o.a],i=L[o.b],a,s;if(o.kind===2){if(r.placement===0)o.x=t.x-Oe-o.w;else if(r.placement===1)o.x=t.x+Oe;else if(o.a===o.b)o.x=t.x-o.w/2;else{let e=Math.min(t.x,i.x)-le,n=Math.max(t.x,i.x)+le;(m||r.wrap)&&(o.label=F(r.message,w,!0,Math.max(A,n-e-2*oe))),o.w=Math.max(n-e,o.label.width+2*oe),o.x=(e+n-o.w)/2}a=o.x,s=o.x+o.w}else o.kind===1?(a=t.x,s=t.x+W+we+8+o.label.width+he(n)):(a=Math.min(t.x,i.x),s=Math.max(t.x,i.x),(m||r.wrap)&&(o.label=U(n,Math.max(A,s-a-2*ce-W))),i.createAt===n&&(i.x>t.x?s+=i.size.w/2:a-=i.size.w/2));X(a,s);let c=e[e.length-1];c&&(c.x0=Math.min(c.x0,a-ue),c.x1=Math.max(c.x1,s+ue))}}};qe();let Je=!1,Ye=!1;if(m&&f.maxWidth!==void 0){let e=Math.floor(f.maxWidth)-Math.ceil(Y-J+2*k)-h,t=new Int32Array(L.length),n=Array(q.length).fill(0),r=[],i=0;for(let a=0;e>0&&a<H.length;a++){let e=H[a];if(e?.kind!==0)continue;let o=pe(N[a].message,!1,1/0);if(e.label.lines.length<=o.lines.length)continue;r.push(a),i+=e.label.lines.length;let s=Math.min(e.a,e.b),c=Math.max(e.a,e.b);t[s]++,t[c]--;let l=(o.width-(L[c].x-L[s].x-2*ce-W))/(c-s);for(let e=s;e<c;e++)n[e]=Math.max(n[e],l)}let a=0,o=0;for(let e=0;e<q.length;e++)a+=t[e],t[e]=+(a>0),o+=t[e];if(o>0){let a=q.slice(),s=e=>{for(let t=0;t<q.length;t++)q[t]=a[t]+e(t);return qe(),r.map(e=>H[e].label.lines.length)},c=e=>e.reduce((e,t)=>e+t,0),l=n=>t[n]*e/o,u=s(l),d=c(n),f=t=>n[t]*(e-.01)/d;if(g&&o>1&&d>0&&q.some((e,t)=>f(t)>l(t))){let e=u;u=s(f),Ye=c(u)<c(e)&&u.every((t,n)=>t<=e[n]),Ye||(u=s(l))}Je=c(u)<i,Je||(q.splice(0,q.length,...a),qe())}}let Xe=0;for(let e of K)Xe=Math.max(Xe,e.title.height);let Ze=K.length>0?M+(Xe>0?Xe+4:0):0,Qe=0;for(let e of L)e.createAt<0&&(Qe=Math.max(Qe,e.size.h));let $e=Ze+Qe;for(let e of L)e.top=$e-e.size.h,e.lifeStart=$e;let et=L.map(e=>e.x),tt=(e,t)=>{let n=0,r=et.length;for(;n<r;){let t=n+r>>1;et[t]<=e?n=t+1:r=t}return n<et.length&&et[n]<t},Z=[],nt=/* @__PURE__ */ new Map,rt=e=>{if(e)return nt.has(e)||nt.set(e,b(a([`fill:${e}`]).shape)),nt.get(e)},it=e=>{let t=rt(e);return t?` fill="${t}"`:``},at=(e,t)=>{for(let e=Z.length-1;e>=0;e--)if(Z[e].kind===`rect`)return Z[e].fill;for(let n of K){let[r,i]=Ge(n);if(e>=r&&t<=i)return n.box.fill}},ot=(e,t)=>it(at(e,t)),st=(e,t,n,r=!1)=>{if(e.width===0)return``;let i=t-e.width/2,a=tt(i,i+e.width),o=a?`<rect x="${p(i-3)}" y="${p(n-e.height/2+2)}" width="${p(e.width+6)}" height="${p(e.height-4)}" rx="3" fill="var(--_bg)" stroke="none"/>`:``,s=a?``:ot(i,i+e.width);return o+y(e,t,n,r?` class="pele-frame-label"${s||` fill="var(--_m)"`} stroke="none"`:s,O)},ct=(e,t=0)=>e.activations.length+t>0?e.x-W/2:e.x,lt=(e,t=0)=>{let n=e.activations.length+t;return n>0?e.x+W/2+(n-1)*Ee:e.x},ut=[],dt=[],ft=``,pt=``,mt=``,ht=``,gt=``,_t=``,vt=(e,t)=>{let n=e.activations.pop(),r=Math.max(t,n+De),i=e.x-W/2+e.activations.length*Ee;return X(i,i+W),dt.push(`<rect class="pele-activation" data-id="${v(e.id)}" x="${p(i)}" y="${p(n)}" width="${W}" height="${p(r-n)}" rx="2"/>`),r},yt=(e,t)=>{let n=e.x,r=t+16;return e.lifeEnd=r,_t+=`<path class="pele-destroy" data-id="${v(e.id)}" d="M${p(n-6)},${p(r-6)}L${p(n+6)},${p(r+6)}M${p(n+6)},${p(r-6)}L${p(n-6)},${p(r+6)}"/>`,r+6},bt=(e,t,n)=>{let r=e.actor.properties.get(`class`);return`<g class="pele-node pele-actor pele-actor-${e.kind}${n?` pele-actor-footer`:``}${typeof r==`string`?i(r):``}" data-id="${v(e.id)}">`+be(e.kind,e.x,t,e.size,e.label,O,_e(e.kind)?it(e.actor.box?.fill):``)+`</g>`},xt=(e,t,n,r)=>`<g class="pele-sequence-number"><rect x="${p(t-r/2)}" y="${p(n-Pe/2)}" width="${p(r)}" height="${Pe}" rx="${Pe/2}" fill="var(--_l)" stroke="none"/><text x="${p(t)}" y="${p(n+T*.35)}" text-anchor="middle" font-size="${T}" fill="var(--_bg)" stroke="none">${_(String(fe.index[e]))}</text></g>`,Q=$e+6;for(let e=0;e<P;e++){let t=N[e],r=t.type,i=H[e],s=Ke[e];if(r===17){let e=t.from===void 0?void 0:R.get(t.from);e!==void 0&&L[e].activations.push(Q)}else if(r===18){let e=t.from===void 0?void 0:R.get(t.from);e!==void 0&&L[e].activations.length>0&&(Q=Math.max(Q,vt(L[e],Q)))}else if(s&&s.dividers[0]===e)Z.push(s),s.kind===`rect`?(s.top=Q+8,Q=s.top):(s.top=Q+12,Q=s.top+Math.max(Me,s.title.height+2));else if(s){Z.pop();let e=Q+12,t=p(s.x0),r=p(s.x1-s.x0);if(s.kind===`rect`){let n=s.fill?a([`fill:${s.fill}`]).shape:``;ut.push(`<rect class="pele-rect" x="${t}" y="${p(s.top)}" width="${r}" height="${p(e-s.top)}"${o((n?``:` fill-opacity="0.5"`)+n)}/>`)}else{let i=`<rect x="${t}" y="${p(s.top)}" width="${r}" height="${p(e-s.top)}" fill="none"${n}/>`;for(let e=0;e<s.dividerY.length;e++){let n=s.dividerY[e],r=s.dividerLabels[e];i+=`<path d="M${t},${p(n)}H${p(s.x1)}"${Ie}/>`+st(r,s.x0+8+r.width/2,n+2+r.height/2,!0)}i+=`<rect x="${t}" y="${p(s.top)}" width="${p(s.tabW)}" height="${Me}" fill="var(--_s)"${n}/><text class="pele-frame-kind" x="${p(s.x0+s.tabW/2)}" y="${p(s.top+Me/2+T*.35)}" text-anchor="middle" font-size="${T}" font-weight="var(--_hw)" fill="var(--_m)" stroke="none">${s.kind}</text>`+st(s.title,s.x0+s.tabW+8+s.title.width/2,s.top+Math.max(Me,s.title.height)/2,!0),ft+=`<g class="pele-frame pele-frame-${s.kind}">${i}</g>`}Q=e}else if(r===13||r===20||r===28){let e=Z[Z.length-1];if(e){let t=e.dividerLabels[e.dividerY.length];e.dividerY.push(Q+12),Q+=12+(t.height>0?t.height:0)}}else if(i&&i.kind===2){let e=L[i.a],r=i.label.height+2*Math.max(4,oe-4),a=Q+10,o=i.x;t.placement===1?o+=lt(e)-e.x:t.placement===0&&(o+=ct(e)-e.x),X(o,o+i.w),ht+=`<g class="pele-note" data-id="i${v(t.id)}"><rect x="${p(o)}" y="${p(a)}" width="${p(i.w)}" height="${p(r)}"${n}/>`+y(i.label,o+i.w/2,a+r/2,` class="pele-label" stroke="none" fill="var(--_fg)"`,O)+`</g>`,Q=a+r}else if(i){let n=xe[r],a=L[i.a],o=L[i.b],s=i.label,c=he(e),l=0;for(let n=e+1;n<P;n++){let e=N[n].type;if(e===17)N[n].from===t.to&&l++;else if(e!==18&&e!==59&&e!==60)break}let u=n.bottom?1:-1,d=n.dotted?Ie:``,f=t.centralConnection,m=f===59||f===61,h=f===60||f===61,g,_=`var(--_l)`,b=(e,t)=>`<circle class="pele-central" cx="${p(e)}" cy="${p(t)}" r="${Fe}" fill="${_}" stroke="none"/>`,x=n.atStart&&!n.atEnd,S=Ve(n.head),C=``,w;if(i.kind===1){let r=Q+j+Math.max(0,(s.height-Te)/2),i=r+Te,o=h?a.x+Fe:lt(a),f=m?a.x+Fe:lt(a,l),T=Math.max(o,f)+we+c/2;g=rt(at(a.x,T)),_=g??_,h&&(C+=b(a.x,r)),m&&(C+=b(a.x,i)),c>0&&(C+=xt(e,x?f:o,x?i:r,c),x?f+=c/2:o+=c/2);let E=(n.atStart?Be(n.head,o,r,-1,u,_):``)+(n.atEnd?Be(n.head,f,i,-1,-u,_):``),D=p(o+(n.atStart?S:0)),ee=p(f+(n.atEnd?S:0));C=`<path d="${ne?`M${D},${p(r)}H${p(T)}V${p(i)}H${ee}`:`M${D},${p(r)}H${p(T-6)}A6,6 0 0 1 ${p(T)},${p(r+6)}V${p(i-6)}A6,6 0 0 1 ${p(T-6)},${p(i)}H${ee}`}"${d}/>`+E+C,X(a.x,T+8+s.width),s.width>0&&(mt+=`<g class="pele-edge-label" data-id="i${v(t.id)}">${y(s,T+8+s.width/2,(r+i)/2,ot(T+8,T+8+s.width),O)}</g>`),w=Math.max(i,(r+i)/2+s.height/2)}else{let r=o.x>a.x?1:-1,i=o.createAt===e;g=rt(at(Math.min(a.x,o.x),Math.max(a.x,o.x))),_=g??_,w=Q+j+Math.max(s.height>0?s.height+2:6,i?o.size.h/2-j+6:0);let f=r>0?lt(a):ct(a),y=r>0?ct(o,l):lt(o,l);if(i&&(o.top=w-o.size.h/2,o.lifeStart=o.top+o.size.h,y=o.x-r*(_e(o.kind)?18:o.size.w/2+1)),h&&(C+=b(a.x,w),f=a.x+r*Fe),m&&(C+=b(o.x,w),y=o.x-r*Fe),c>0){if(x){let t=m?y-r*(c/2+2):y;C+=xt(e,t,w,c),y=t-r*c/2}else{let t=h?f+r*(c/2+2):f;C+=xt(e,t,w,c),f=t+r*c/2}}let T=(n.atStart?Be(n.head,f,w,-r,u*r,_):``)+(n.atEnd?Be(n.head,y,w,r,u*r,_):``),E=f+(n.atStart?r*S:0),D=y-(n.atEnd?r*S:0);if(C=`<path d="M${p(E)},${p(w)}H${p(D)}"${d}/>`+T+C,s.width>0){let e=Math.min(f,y),n=Math.max(f,y),r=se<0?e+ce+s.width/2:se>0?n-ce-s.width/2:(e+n)/2;X(r-s.width/2,r+s.width/2),mt+=`<g class="pele-edge-label" data-id="i${v(t.id)}">${st(s,r,w-4-s.height/2)}</g>`}i&&(Q=w+o.size.h/2-6)}pt+=`<g class="pele-edge pele-message" data-id="i${v(t.id)}"${g?` stroke="${g}"`:``}>${C}</g>`,Q=Math.max(Q,w),a.destroyAt===e&&(Q=Math.max(Q,yt(a,w))),o.destroyAt===e&&o!==a&&(Q=Math.max(Q,yt(o,w)))}}Q+=20;for(let e of L)for(;e.activations.length>0;)vt(e,Q);let St=Q;if(te){let e=0;for(let t of L)t.lifeEnd>=0||(e=Math.max(e,t.size.h),gt+=bt(t,Q,!0));St=Q+e}let Ct=``;for(let e of L){gt+=bt(e,e.top,!1);let t=e.lifeEnd>=0?e.lifeEnd:Q;t>e.lifeStart&&(Ct+=`<path class="pele-lifeline" data-id="${v(e.id)}" d="M${p(e.x)},${p(e.lifeStart)}V${p(t)}"/>`)}let wt=``;for(let e of K){let[t,n]=Ge(e),r=e.box.fill===`transparent`?``:a([`fill:${e.box.fill}`]).shape;wt+=`<g class="pele-cluster pele-box"${e.box.name?` data-id="${v(e.box.name)}"`:``}><rect x="${p(t)}" y="0" width="${p(n-t)}" height="${p(St+M)}" fill="var(--_a)" stroke="var(--_b)"${o((r?``:` fill-opacity="0.5"`)+r)}/>`+y(e.title,(t+n)/2,M/2+2+e.title.height/2,` class="pele-cluster-label"${it(e.box.fill)||` fill="var(--_m)"`}`,O)+`</g>`}K.length>0&&(St+=M);let Tt=0,Et=``,Dt=c(f),Ot=u(s.title,E,C,m?Dt:1/0),$=m?d(Ot,E,Math.max(120,Dt)):Ot;if(J>Y&&X(0,Math.max($.width,40)),$.width>0){let e=(J+Y)/2;X(e-$.width/2,e+$.width/2),Tt=-$.height-12,Et=y($,e,Tt+$.height/2,` class="pele-title" font-weight="var(--_tw)"`,O)}let kt=Math.ceil(Y-J+2*k);if(Je&&kt>f.maxWidth)return He(s,l,f,m,Ye?h:h>0?1/0:kt-Math.floor(f.maxWidth),!1);let At=Math.ceil(St-Tt+2*k);return{svg:t(`sequence`,kt,At,C,f,s,`<g transform="translate(${p(k-J)},${p(k-Tt)})">`+Et+(wt?`<g class="pele-boxes" font-size="${w}">${wt}</g>`:``)+(ut.length>0?`<g class="pele-rects" fill="var(--_a)">${ut.reverse().join(``)}</g>`:``)+(Ct?`<g class="pele-lifelines" fill="none" stroke="var(--_b)">${Ct}</g>`:``)+(dt.length>0?`<g class="pele-activations" fill="var(--_s)" stroke="var(--_b)">${dt.reverse().join(``)}</g>`:``)+(ft?`<g class="pele-frames" font-size="${w}" stroke="var(--_b)">${ft}</g>`:``)+(pt?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${pt}</g>`:``)+(_t?`<g class="pele-destroys" fill="none" stroke="var(--_l)" stroke-width="1.5" stroke-linecap="round">${_t}</g>`:``)+(mt?`<g class="pele-edge-labels" font-size="${w}"${D?` font-family="${e}"`:``}>${mt}</g>`:``)+(ht?`<g class="pele-notes" font-size="${w}" fill="var(--_a)" stroke="var(--_b)">${ht}</g>`:``)+(gt?`<g class="pele-nodes">${gt}</g>`:``)+`</g>`),width:kt,height:At,links:[]}}var Ue={type:`sequence`,math:!0,parse(e,t,n){let r=t.sequence??{},i=new ce({wrap:typeof t.wrap==`boolean`?t.wrap:void 0,sequenceWrap:r.wrap===!0});return n&&i.setDiagramTitle(n),F(e,i),i},render:q};export{Ue as sequence};
@@ -0,0 +1,2 @@
1
+ import{d as e,i as t,n,r,s as i,t as a}from"./BGW36YJW-CJMhya8S.js";import{o,r as s}from"./DKTLEL5E-DciMwFJ1.js";import{_ as c,c as l,l as u,m as d,s as f,u as p}from"./EFYWJBJK-CVywe_D5.js";import{t as m}from"./NT5JY5WP-1lJM-aun.js";import{a as h,o as g,s as _,t as v}from"./6PIGVMFT-YXn9Hgnb.js";import{C as y,E as b,F as x,f as S,h as C,l as w,r as T,s as ee,t as E,u as D}from"./lazy-f3CuUNJZ.js";var O=1e5;function k(e){switch(e){case`[]`:return`square`;case`()`:return`round`;case`(())`:return`circle`;case`>]`:return`rect_left_inv_arrow`;case`{}`:return`diamond`;case`{{}}`:return`hexagon`;case`([])`:return`stadium`;case`[[]]`:return`subroutine`;case`[()]`:return`cylinder`;case`((()))`:return`doublecircle`;case`[//]`:return`lean_right`;case`[\\\\]`:return`lean_left`;case`[/\\]`:return`trapezoid`;case`[\\/]`:return`inv_trapezoid`;case`<[]>`:return`block_arrow`;default:return`na`}}function te(e){switch(e.trim().slice(-1)){case`x`:return`arrow_cross`;case`o`:return`arrow_circle`;case`>`:return`arrow_point`;default:return``}}function ne(e){switch(e.trim().charAt(0)){case`x`:return`arrow_cross`;case`o`:return`arrow_circle`;case`<`:return`arrow_point`;default:return`arrow_open`}}function A(e){return e.includes(`==`)?`thick`:`normal`}function re(e){return e.includes(`.-`)?`dotted`:`solid`}function ie(e,t){let n=e.flat(),r=-1;for(let e of n)if(e.type===`column-setting`){r=e.columns??-1;break}return{list:n,at:0,parent:t,children:[],columns:r}}var ae=class{type=`block`;title;root={id:`root`,type:`composite`,children:[],columns:-1};blocks=[];edges=[];classes=/* @__PURE__ */ new Map;byId=/* @__PURE__ */ new Map;typeStr2Type=k;edgeStrToEdgeData=te;edgeStrToEdgeStartData=ne;edgeStrToThickness=A;edgeStrToPattern=re;warn;pending=/* @__PURE__ */ new Set;edgeCount=/* @__PURE__ */ new Map;ids=0;colors=0;spaces=0;constructor(e={}){this.warn=e.warn}generateId(){return`id-`+ ++this.ids}addStyleClass(e,t=``){let n=this.classes.get(e);n||(n={id:e,styles:[],textStyles:[]},this.classes.set(e,n));for(let e of t.split(`,`)){let t=e.indexOf(`;`),r=(t===-1?e:e.slice(0,t)+e.slice(t+1)).trim();e.includes(`color`)&&n.textStyles.push(r.replace(`fill`,`bgFill`).replace(`color`,`fill`)),n.styles.push(r)}}addStyle2Node(e,t=``){this.named(e).styles=t.split(`,`)}setCssClass(e,t){for(let n of e.split(`,`))(this.named(n.trim()).classes??=[]).push(t)}named(e){let t=this.byId.get(e);return t===void 0&&(t={id:e,type:`na`,children:[]},this.byId.set(e,t),this.pending.add(e)),t}setHierarchy(e){let t=[ie(e,this.root)];for(;t.length>0;){let e=t[t.length-1];if(e.at===e.list.length){e.parent.children=e.children,t.pop();continue}let n=e.list[e.at++];switch(e.columns>0&&n.type!==`column-setting`&&typeof n.widthInColumns==`number`&&n.widthInColumns>e.columns&&this.warn?.(`Block ${n.id} width ${n.widthInColumns} exceeds configured column width ${e.columns}`),n.type){case`classDef`:this.addStyleClass(n.id,n.css);continue;case`applyClass`:this.setCssClass(n.id,n.styleClass??``);continue;case`applyStyles`:n.stylesStr&&this.addStyle2Node(n.id,n.stylesStr);continue;case`column-setting`:e.parent.columns=n.columns??-1;continue;case`edge`:{let e=(this.edgeCount.get(n.id)??0)+1;this.edgeCount.set(n.id,e),n.id=e+`-`+n.id,this.edges.push(n);continue}}n.id??=this.generateId(),n.label||=n.type===`composite`?``:n.id;let r=this.byId.get(n.id),i=r===void 0||this.pending.delete(n.id);i?(r&&(n.classes=r.classes,n.styles=r.styles),n.type===`composite`&&(n.colorIndex=this.colors++),this.byId.set(n.id,n)):(n.type!==`na`&&(r.type=n.type),n.label!==n.id&&(r.label=n.label));let a=n.children;if(n.children=[],n.type===`space`){let t=n.width??1;if(!(t<=O-this.spaces))throw new D(`A block diagram can hold at most ${O} space blocks.`,`limit`,{type:`block`});this.spaces+=Math.max(t,0);for(let r=0;r<t;r++){let t={...n,id:n.id+`-`+r,children:[]};this.byId.set(t.id,t),e.children.push(t)}}else i&&e.children.push(n);a&&a.length>0&&t.push(ie(a,n))}this.blocks=this.root.children??[]}},j=/* @__PURE__ */ `$end.INVALID.BLOCK_DIAGRAM_KEY.id-block.COLUMNS.MD_STR.STR.SPACE_BLOCK.DEFAULT.LINKSTYLE.INTERPOLATE.classDef.DEFAULT_CLASSDEF_ID.CLASSDEF_ID.CLASSDEF_STYLEOPTS.class.CLASSENTITY_IDS.STYLECLASS.style.STYLE_ENTITY_IDS.STYLE_DEFINITION_DATA.acc_title.acc_title_value.acc_descr.acc_descr_value.acc_descr_multiline_value.end.NODE_DSTART.NODE_DEND.BLOCK_ARROW_START.BLOCK_ARROW_END.DIR.NODE_ID.LINK.START_LINK.LINK_LABEL.SIZE.EOF`.split(`.`),M=[`right`,`left`,`x`,`y`,`up`,`down`],oe=/* @__PURE__ */ new Uint8Array(128);for(let e of[9,10,11,12,13,32,40,41,45,58,60,61,62,91,123,125])oe[e]=1;function se(e){let t=e.length,n=[],r=[],i=[],a=[],o=0,s=0,c=(e,t,a)=>(n.push(e),r.push(t),i.push(s),s=a,!0),l=(t,n)=>c(t,e.slice(s,n),n),u=e=>{a.push(o),o=e},d=()=>{a.length>0&&(o=a.pop())},f=n=>{for(;n<t&&x(e.charCodeAt(n));)n++;return n},p=n=>{for(;n<t;){let t=e.charCodeAt(n);if(t<48||t>57)break;n++}return n},m=n=>{for(;n<t&&E(e.charCodeAt(n));)n++;return n},h=t=>e.startsWith(t,s)&&!E(e.charCodeAt(s+t.length)),g=()=>(e.charCodeAt(s+1)===96?(u(2),s+=2):(u(1),s++),!0),_=t=>{if(e.charCodeAt(t)!==46)return-1;do t++;while(e.charCodeAt(t)===46);if(e.charCodeAt(t)!==45)return-1;let n=e.charCodeAt(t+1);return n===120||n===111||n===62?t+2:t+1},v=t=>{let n=e.charCodeAt(t);(n===120||n===111||n===60)&&t++;let r=e.charCodeAt(t);if(r===46)return _(t);if(r!==45&&r!==61)return-1;let i=t+1;for(;e.charCodeAt(i)===r;)i++;if(i-t===1)return r===45?_(i):-1;let a=e.charCodeAt(i);return a===120||a===111||a===62?i+1:i-t>=3?i:-1},y=()=>{let t=v(s);if(t>=0)return l(33,f(t));let n=e.charCodeAt(s)===60?s+1:s,r=e.charCodeAt(n),i=e.charCodeAt(n+1);return r===45&&(i===45||i===46)||r===61&&i===61?(u(6),l(34,f(n+2))):!1},b=n=>{let r=e.indexOf(`
2
+ `,s);return r===-1&&(r=t),d(),l(n,r)},S=(t,n)=>{let r=m(s);if(r===s)return!1;for(;e.charCodeAt(r)===44;){let e=f(r+1),t=m(e);if(t===e)break;r=t}return o=n,l(t,r)},C=n=>{if(x(n))return s=f(s+1),!0;let r;switch(n){case 98:if(e.startsWith(`block`,s)){if(h(`block-beta`))return l(2,s+10);if(e.charCodeAt(s+5)===58)return l(3,s+6);if(!E(e.charCodeAt(s+5)))return l(2,s+5)}break;case 99:if(e.startsWith(`columns`,s)){if(r=f(s+7),r>s+7){if(e.startsWith(`auto`,r)&&!E(e.charCodeAt(r+4)))return c(4,`-1`,r+4);let t=p(r);if(t>r)return c(4,e.slice(r,t),t)}}else if(e.startsWith(`class`,s)){let t=e.startsWith(`Def`,s+5),n=t?s+8:s+5;if(r=f(n),r>n)return u(t?7:9),l(t?11:15,r)}break;case 34:return g();case 115:if(e.startsWith(`space`,s)){if(e.charCodeAt(s+5)===58){let t=p(s+6);if(t>s+6)return c(7,e.slice(s+6,t),t)}if(!E(e.charCodeAt(s+5)))return c(7,`1`,s+5)}else if(e.startsWith(`style`,s)&&(r=f(s+5),r>s+5))return u(11),l(18,r);break;case 100:if(h(`default`))return l(8,s+7);break;case 108:if(h(`linkStyle`))return l(9,s+9);break;case 105:if(h(`interpolate`))return l(10,s+11);break;case 97:if(e.startsWith(`accTitle`,s)){if(r=f(s+8),e.charCodeAt(r)===58)return u(13),l(21,f(r+1))}else if(e.startsWith(`accDescr`,s)){r=f(s+8);let t=e.charCodeAt(r);if(t===58)return u(14),l(23,f(r+1));if(t===123)return u(15),s=f(r+1),!0}break;case 101:if(h(`end`))return l(26,f(s+3));break;case 45:return e.charCodeAt(s+1)===41?(u(3),l(27,s+2)):y();case 61:return y();case 60:return e.charCodeAt(s+1)===91?(u(4),l(29,s+2)):y();case 40:{let t=e.charCodeAt(s+1),n=t===45||t===91?2:t===40?e.charCodeAt(s+2)===40?3:2:1;return u(3),l(27,s+n)}case 41:case 123:return u(3),l(27,e.charCodeAt(s+1)===n?s+2:s+1);case 62:return u(3),l(27,s+1);case 91:{let t=e.charCodeAt(s+1);return u(3),l(27,t===91||t===124||t===40||t===92||t===47?s+2:s+1)}case 58:{let t=p(s+1);return t>s+1&&c(36,e.slice(s+1,t),t)}}for(r=s;r<t;){let t=e.charCodeAt(r);if(t<128?oe[t]===1:x(t))break;r++}return r>s&&l(32,r)},w=t=>{let n=e.charCodeAt(s+1),r=0;switch(t){case 34:return g();case 40:r=n===45?2:n===40?e.charCodeAt(s+2)===40?3:2:1;break;case 41:r=n===41?e.charCodeAt(s+2)===41?3:2:n===93?2:1;break;case 125:r=n===125?2:1;break;case 45:r=n===41?2:0;break;case 93:r=n===93||n===41||n===62?2:1;break;case 92:case 47:r=n===93?2:0}return r!==0&&(d(),l(28,s+r))},T=t=>{if(t===41)return d(),d(),c(30,`]>`,f(s+1));let n=f(t===44?s+1:s);for(let r of M)if(e.startsWith(r,n)){let i=f(n+r.length);return c(31,e.slice(t===44?n:s,i),i)}return!1};for(;;){if(s>=t){let e=-1;switch(o){case 0:e=37;break;case 1:e=6;break;case 8:e=14;break;case 10:e=17;break;case 12:e=20;break;case 13:e=22;break;case 14:e=24;break;case 15:e=25}s=t,e!==-1&&c(e,``,t);break}let a=e.charCodeAt(s),p=!0;switch(o){case 0:p=C(a);break;case 1:if(a===34)d(),s++;else{let n=e.indexOf(`"`,s);l(6,n===-1?t:n)}break;case 2:if(a===96)p=e.charCodeAt(s+1)===34,p&&(d(),s+=2);else if(a===34)p=!1;else{let n=s+1;for(;n<t;){let t=e.charCodeAt(n);if(t===96||t===34)break;n++}l(5,n)}break;case 3:p=w(a);break;case 4:if(a===34)g();else if(a===93&&e.charCodeAt(s+1)===62){let t=f(s+2);p=e.charCodeAt(t)===40,p&&(u(5),s=t+1)}else p=!1;break;case 5:p=T(a);break;case 6:if(a===34)e.charCodeAt(s+1)===96?g():(l(35,s+1),u(1));else{let e=v(f(s));p=e>=0,p&&(d(),l(33,f(e)))}break;case 7:{let t=12,n=e.startsWith(`DEFAULT`,s)?s+7:s,r=f(n);(n===s||r===n)&&(t=13,n=m(s),r=f(n)),p=n>s&&r>n,p&&(o=8,l(t,r));break}case 8:b(14);break;case 9:p=S(16,10);break;case 10:b(17);break;case 11:p=S(19,12);break;case 12:b(20);break;case 13:b(22);break;case 14:b(24);break;case 15:if(a===125)d(),s++;else{let n=e.indexOf(`}`,s);l(25,n===-1?t:n)}}if(!p)return n.push(1),r.push(``),i.push(s),{types:n,texts:r,starts:i}}return n.push(0),r.push(``),i.push(t),{types:n,texts:r,starts:i}}var N=`'NODE_ID', 'COLUMNS', 'SPACE_BLOCK', 'BLOCK_DIAGRAM_KEY', 'id-block', 'classDef', 'class', 'style'`;function P(e){let t=e[e.length-1];return Array.isArray(t)?(e.pop(),e.concat(t)):e}function ce(e,t){let{types:n,texts:r,starts:i}=se(e),a=0,o=t=>{let r=n[a];throw r===1?y(`block`,e,i[a],``,!0):y(`block`,e,i[a],`Expecting ${t}, got '${j[r]}'`)},s=e=>(n[a]!==e&&o(`'${j[e]}'`),r[a++]),c=()=>{let e=s(32);if(n[a]===27){let t=r[a++];return{id:e,label:s(6),typeStr:t+s(28)}}if(n[a]===29){let t=r[a++],i=s(6),o=[s(31)];for(;n[a]===31;)o.push(r[a++]);return{id:e,label:i,typeStr:t+s(30),directions:o}}return{id:e}},l=()=>{let e=c(),i=n[a]===36?parseInt(r[a++],10):1,o={id:e.id,label:e.label,type:t.typeStr2Type(e.typeStr),directions:e.directions,widthInColumns:i},l;for(;n[a]===33||n[a]===34;){let e=``;n[a++]===34&&(s(35),e=s(6),s(33));let i=r[a-1],u=c(),d=t.edgeStrToEdgeData(i),f=t.edgeStrToEdgeStartData(i),p=t.edgeStrToThickness(i),m=t.edgeStrToPattern(i);l??=[{id:o.id,label:o.label,type:o.type,directions:o.directions}],o={id:u.id,label:u.label,type:t.typeStr2Type(u.typeStr),directions:u.directions},l.push({id:l[l.length-1].id+`-`+u.id,start:l[l.length-1].id,end:u.id,label:e,type:`edge`,thickness:p,pattern:m,directions:u.directions,arrowTypeEnd:d,arrowTypeStart:f},o)}return l??o};s(2);let u=[],d=[];for(;;)switch(n[a]){case 32:d.push(l());break;case 4:d.push({type:`column-setting`,columns:parseInt(r[a++],10)});break;case 7:{let e=parseInt(r[a++],10);d.push({id:t.generateId(),type:`space`,label:``,width:e,children:[]});break}case 2:a++,u.push({list:d,header:void 0}),d=[];break;case 3:a++,n[a]!==32&&o(`'NODE_ID'`),u.push({list:d,header:l()}),d=[];break;case 26:{let e=u.pop();if(e===void 0||d.length===0)return o(N);a++;let n=t.generateId(),r=P(d);d=e.list,d.push(e.header===void 0?{id:n,type:`composite`,label:``,children:r}:{...e.header,type:`composite`,children:r});break}case 11:{a++;let e=s(13).trim();d.push({type:`classDef`,id:e,css:s(14).trim()});break}case 15:{a++;let e=s(16).trim();d.push({type:`applyClass`,id:e,styleClass:s(17).trim()});break}case 18:{a++;let e=s(19).trim();d.push({type:`applyStyles`,id:e,stylesStr:s(20).trim()});break}case 37:u.length>0&&o(N+`, 'end'`),d.length===0&&o(N),t.setHierarchy(P(d));return;default:o(d.length===0?N:N+(u.length>0?`, 'end'`:`, 'EOF'`))}}var F=1,I=2,L=4,R=8,z=7,B=20,V=12;function le(e){let t=0;if(e)for(let n of e)switch(n.trim()){case`right`:t|=F;break;case`left`:t|=I;break;case`up`:t|=L;break;case`down`:t|=R;break;case`x`:t|=F|I;break;case`y`:t|=L|R}return t}var H=(e,t)=>e&t?1:0;function U(e){return e!==0&&(e&(L|R))===0?`x`:e!==0&&(e&(F|I))===0?`y`:``}function ue(e,t,n){let r=U(e),i=H(e,I)-H(e,F),a=H(e,L)-H(e,R);if(r===`x`){let r=Math.max(n+8,14)+2*z,a=Math.min(r/2,B);return{w:Math.max(t+12,16)+a*(e===(F|I)?2:1),h:r,dx:i*a/2,dy:0}}if(r===`y`){let r=Math.max(t+16,14)+2*z,i=Math.min(r/2,B);return{w:r,h:Math.max(n+8,16)+i*(e===(L|R)?2:1),dx:0,dy:a*i/2}}return{w:Math.max(t+16,24)+V*(H(e,I)+H(e,F)),h:Math.max(n+8,24)+V*(H(e,L)+H(e,R)),dx:i*V/2,dy:a*V/2}}function de(e,t,n,r){let i=U(e),a=t/2,o=n/2,s;if(i===`x`){let t=Math.min(o,B),n=o-z,r=e&I?-a+t:-a,i=e&F?a-t:a;s=[r,-n,i,-n],e&F&&s.push(i,-o,a,0,i,o),s.push(i,n,r,n),e&I&&s.push(r,o,-a,0,r,-o)}else if(i===`y`){let t=Math.min(a,B),n=a-z,r=e&L?-o+t:-o,i=e&R?o-t:o;s=[n,r,n,i],e&R&&s.push(a,i,0,o,-a,i),s.push(-n,i,-n,r),e&L&&s.push(-a,r,0,-o,a,r)}else{let t=e&I?-a+V:-a,n=e&F?a-V:a,r=e&L?-o+V:-o,i=e&R?o-V:o,c=(t+n)/2,l=(r+i)/2,u=Math.min(10,(n-t)/2),d=Math.min(10,(i-r)/2);s=[t,r],e&L&&s.push(c-u,r,c,-o,c+u,r),s.push(n,r),e&F&&s.push(n,l-d,a,l,n,l+d),s.push(n,i),e&R&&s.push(c+u,i,c,o,c-u,i),s.push(t,i),e&I&&s.push(t,l+d,-a,l,t,l-d)}let c=``;for(let e=0;e<s.length;e+=2)c+=(e?` `:``)+b(s[e])+`,`+b(s[e+1]);return`<polygon points="${c}" stroke-linejoin="round"${r}/>`}var W=1e3;function fe(e,t){if(e===0||!Number.isInteger(e))throw new D(`Columns must be an integer !== 0.`,`semantic`,{type:`block`});if(t<0||!Number.isInteger(t))throw new D(`Position must be a non-negative integer.`+t,`semantic`,{type:`block`});return e<0?{px:t,py:0}:{px:t%e,py:Math.floor(t/e)}}function pe(e,t,n){let r=e.columns,i=[],a=0,o=0,s=0,c=0;for(let n of e.children){let{px:e,py:l}=fe(r,a),u=n.span>=1?Math.min(n.span,W):1;if(r>0&&u>r-e&&(u=r-e),n.span=u,n.col=e,n.row=l,a+=u,e+u>o&&(o=e+u),l===i.length&&i.push(0),n.children.length===0?i[l]=-1:i[l]>=0&&n.nh>i[l]&&(i[l]=n.nh),n.space)continue;let d=(n.nw-t*(u-1))/u;d>s&&(s=d),n.nh>c&&(c=n.nh)}let l=(i.length-1)*t+G(e.rowGaps);for(let e=0;e<i.length;e++)i[e]<0&&(i[e]=c),l+=i[e];e.cols=o,e.heights=i,e.nw=Math.max(e.nw,o*s+(o-1)*t+G(e.colGaps)+2*n),e.nh=l+2*n+e.head}function me(e,t,n){let{cols:r,heights:i,rowGaps:a,colGaps:o}=e,s=i.length,c=(e.w-2*n-(r-1)*t-G(o))/r,l=e.h-2*n-e.head-(s-1)*t-G(a),u=[];if(o.length>0){let e=0;for(let t=0;t<r;t++)u.push(e),e+=o[t]??0}let d=0;for(let e of i)d+=e;let f=d>0?l/d:0,p=d>0?0:l/s,m=e.x-e.w/2+n,h=e.y-e.h/2+n+e.head,g=0;for(let n of e.children){for(;g<n.row;g++)h+=i[g]*f+p+t+(a[g]??0);let e=u[n.col]??0;n.w=c*n.span+t*(n.span-1)+(u[n.col+n.span-1]??0)-e,n.h=i[g]*f+p,n.x=m+n.col*(c+t)+e+n.w/2,n.y=h+n.h/2}}function G(e){let t=0;for(let n of e)t+=n??0;return t}function he(e,t){let n=[e];for(let e=0;e<n.length;e++)for(let t of n[e].children)n.push(t);for(let e=n.length-1;e>=0;e--){let r=n[e];r.children.length>0&&pe(r,t,e===0?0:t)}e.w=e.nw,e.h=e.nh,e.x=e.w/2,e.y=e.h/2;for(let e=0;e<n.length;e++){let r=n[e];r.children.length>0&&me(r,t,e===0?0:t)}return{width:e.w,height:e.h}}var ge=12,_e=200,K=8,ve=` fill="var(--_s)" stroke="var(--_b)"`,ye=` stroke="var(--_b)"`,be=[],xe=[],Se=[],q=[],Ce=[`default`],we=2e6,J=4,Te=/* @__PURE__ */ new Map([[`square`,`rect`],[`round`,`rounded`],[`circle`,`circle`],[`doublecircle`,`dbl-circ`],[`diamond`,`diam`],[`hexagon`,`hex`],[`stadium`,`stadium`],[`subroutine`,`fr-rect`],[`cylinder`,`cyl`],[`rect_left_inv_arrow`,`odd`],[`lean_right`,`lean-r`],[`lean_left`,`lean-l`],[`trapezoid`,`trap-b`],[`inv_trapezoid`,`trap-t`]]),Ee=/* @__PURE__ */ new Set([`circle`,`dbl-circ`,`diam`]),De=/* @__PURE__ */ new Set([`stadium`,`hex`,`odd`,`lean-r`,`lean-l`,`trap-b`,`trap-t`]);function Y(e){return e.kind===0&&(e.shape===`circle`||e.shape===`dbl-circ`)}function X(e,t,n){let r=e.bw/2,i=e.bh/2,a=Math.abs(t-e.x),o=i;return Y(e)?o=Math.sqrt(Math.max(r*r-a*a,0)):e.kind===0&&e.shape===`diam`?o=i*Math.max(1-a/r,0):e.kind===0?o=i-h(e.shape,e.bw,e.bh,n>0?2:0):e.kind===1&&U(e.mask)===`x`&&(o=i-z),e.y+n*o}function Z(e,t,n){let r=e.bw/2,i=e.bh/2,a=Math.abs(t-e.y),o=r;return Y(e)?o=Math.sqrt(Math.max(i*i-a*a,0)):e.kind===0&&e.shape===`diam`?o=r*Math.max(1-a/i,0):e.kind===0?o=r-h(e.shape,e.bw,e.bh,n>0?1:3):e.kind===1&&U(e.mask)===`y`&&(o=r-z),e.x+n*o}function Q(e,t,n,r){let i=t-e.x,a=n-e.y,o=e.bw/2,s=e.bh/2,c;c=Y(e)?o/(Math.hypot(i,a)||1):e.kind===0&&e.shape===`diam`?1/(Math.abs(i)/o+Math.abs(a)/s||1):Math.min(i===0?1/0:o/Math.abs(i),a===0?1/0:s/Math.abs(a)),c===1/0&&(c=0),r.push(e.x+i*c,e.y+a*c)}function Oe(e,t,n,r,i){let a=i.x-i.bw/2+1,o=i.x+i.bw/2-1,s=i.y-i.bh/2+1,c=i.y+i.bh/2-1;if(e<a&&n<a||e>o&&n>o||t<s&&r<s||t>c&&r>c)return!1;if(e===n||t===r)return!0;let l=n-e,u=r-t,d=(n,r)=>Math.sign(l*(r-t)-u*(n-e)),f=d(a,s);return f===0||d(o,s)!==f||d(o,c)!==f||d(a,c)!==f}function $(e,t,n,r){let i=0;for(let a of r)if(a!==t&&a!==n){for(let t=0;t+3<e.length;t+=2)if(Oe(e[t],e[t+1],e[t+2],e[t+3],a)){i++;break}}return i}function ke(e,t,n,r){let i=e.x-e.bw/2,a=e.x+e.bw/2,o=e.y-e.bh/2,s=e.y+e.bh/2,c=t.x-t.bw/2,l=t.x+t.bw/2,u=t.y-t.bh/2,d=t.y+t.bh/2,f=Math.max(i,c),p=Math.min(a,l),m=Math.max(o,u),h=Math.min(s,d),g=p-f>6,_=h-m>6;if(g&&_){let n=e.bw*e.bh<=t.bw*t.bh?e:t,r=n===e?t:e,i=n.y-n.bh/2-(r.y-r.bh/2),a=r.y+r.bh/2-(n.y+n.bh/2),o=n.x-n.bw/2-(r.x-r.bw/2),s=r.x+r.bw/2-(n.x+n.bw/2),c=Math.min(i,a,o,s),l;return l=c===a?[n.x,X(n,n.x,1),n.x,r.y+r.bh/2]:c===i?[n.x,X(n,n.x,-1),n.x,r.y-r.bh/2]:c===s?[Z(n,n.y,1),n.y,r.x+r.bw/2,n.y]:[Z(n,n.y,-1),n.y,r.x-r.bw/2,n.y],n===e?l:[l[2],l[3],l[0],l[1]]}if(g){let r=Math.min(6,(p-f)/2),i=Math.min(Math.max((f+p)/2+n,f+r),p-r),a=t.y>e.y?1:-1;return[i,X(e,i,a),i,X(t,i,-a)]}if(_){let r=Math.min(6,(h-m)/2),i=Math.min(Math.max((m+h)/2+n,m+r),h-r),a=t.x>e.x?1:-1;return[Z(e,i,a),i,Z(t,i,-a),i]}let v=t.x>e.x?1:-1,y=t.y>e.y?1:-1,b=[Z(e,e.y,v),e.y,t.x,e.y,t.x,X(t,t.x,-y)],x=[e.x,X(e,e.x,y),e.x,t.y,Z(t,t.y,-v),t.y],S=Math.abs(t.x-e.x)>=Math.abs(t.y-e.y),C=S?b:x;if(r===void 0)return C;let w=$(C,e,t,r);if(w===0)return C;let T=S?x:b,ee=$(T,e,t,r);if(ee<w&&(C=T,w=ee),w===0)return C;let E=[];return Q(e,t.x,t.y,E),Q(t,e.x,e.y,E),$(E,e,t,r)<w?E:C}function Ae(e,t,n){let r=e.length,i=e[0],a=e[1],o=e[r-2],s=e[r-1],c=e[2]-i,l=e[3]-a,u=Math.hypot(c,l);c/=u||1,l/=u||1;let d=o-e[r-4],f=s-e[r-3],p=Math.hypot(d,f);if(d/=p||1,f/=p||1,r===4&&t+n>u){let e=u/(t+n);t*=e,n*=e}t=Math.min(t,u),n=Math.min(n,p);let m=`M${b(i+c*t)},${b(a+l*t)}`;if(r===6){let r=Math.max(0,Math.min(K,u-t,p-n));m+=`L${b(e[2]-c*r)},${b(e[3]-l*r)}Q${b(e[2])},${b(e[3])} ${b(e[2]+d*r)},${b(e[3]+f*r)}`}return m+=`L${b(o-d*n)},${b(s-f*n)}`,{d:m,sx:i,sy:a,sdx:-c,sdy:-l,ex:o,ey:s,edx:d,edy:f}}function je(e,t){let n=e.bw/2,r=e.bh/2,i=Math.max(1,Math.min(10+5*(t-1),n,r));if(Y(e)){let t=e.x+n*Math.SQRT1_2,r=e.y-n*Math.SQRT1_2,a=2*Math.asin(Math.min(1,i/(2*n))),o=i=>Math.atan2(e.y-n*Math.sin(i)-r,e.x+n*Math.cos(i)-t);return[t,r,i,o(Math.PI/4+a),o(Math.PI/4-a)]}if(e.kind===0&&e.shape===`diam`){let t=Math.atan2(r,n);return[e.x+n/2,e.y-r/2,i,t+Math.PI,t]}return[e.x+n,e.y-r,i,Math.PI,Math.PI/2]}function Me(e,t,n,r){let[i,a,o,s,c]=je(e,t),l=s+n/o,u=c-r/o,d=(u-l)%(2*Math.PI);d<=0&&(d+=2*Math.PI);let f=i+o*Math.cos(l),p=a+o*Math.sin(l),m=i+o*Math.cos(u),h=a+o*Math.sin(u),g=i+o*Math.cos(s),_=a+o*Math.sin(s),v=i+o*Math.cos(c),y=a+o*Math.sin(c),x=Math.hypot(g-f,_-p),S=Math.hypot(v-m,y-h);return{d:`M${b(f)},${b(p)}A${b(o)},${b(o)} 0 ${+(d>Math.PI)} 1 ${b(m)},${b(h)}`,sx:g,sy:_,sdx:x>0?(g-f)/x:Math.sin(s),sdy:x>0?(_-p)/x:-Math.cos(s),ex:v,ey:y,edx:S>0?(v-m)/S:-Math.sin(c),edy:S>0?(y-h)/S:Math.cos(c)}}var Ne=[.5,.3,.7,.15,.85];function Pe(e,t,n,r,i,a,o){if(o===void 0)return!1;for(let s of o)if(s!==i&&s!==a&&Math.abs(e-s.x)<(n+s.bw)/2&&Math.abs(t-s.y)<(r+s.bh)/2)return!0;return!1}function Fe(e,t,n,r,i,a,o){if(o===void 0)return .5;for(let s of Ne)if(!Pe(e[t]+(e[t+2]-e[t])*s,e[t+1]+(e[t+3]-e[t+1])*s,n,r,i,a,o))return s;return .5}function Ie(e,t,n,r,i,a){let o=n[e[0]][0]===n[e[0]][2],s=-1/0,c=1/0,l=-J,u=!1;for(let r=0;r<e.length;r++){let i=n[e[r]];if(o?i[0]!==i[2]:i[1]!==i[3])return 0;s=Math.max(s,o?Math.min(i[1],i[3]):Math.min(i[0],i[2])),c=Math.min(c,o?Math.max(i[1],i[3]):Math.max(i[0],i[2]));let a=t[e[r]];l+=(o?a.label.height:a.label.width+8)+J;for(let n=0;n<r;n++){let r=t[e[n]];Math.abs(a.lx-r.lx)<(a.label.width+r.label.width)/2+8&&Math.abs(a.ly-r.ly)<(a.label.height+r.label.height)/2&&(u=!0)}}if(!u)return 0;if(l>c-s-16)return l-(c-s-16);let d=[],f=(s+c-l)/2;for(let n of e){let{label:e,lx:s,ly:c}=t[n],l=o?e.height:e.width+8,u=f+l/2;if(Pe(o?s:u,o?u:c,e.width+8,e.height,r,i,a))return 0;d.push(u),f+=l+J}return e.forEach((e,n)=>{o?t[e].ly=d[n]:t[e].lx=d[n]}),0}function Le(e,t,n,r,i,a){let o=/* @__PURE__ */ new Set;for(let n=t;n!==void 0;n=e[n.index])o.add(n);let s,c=n;for(;c!==void 0&&!o.has(c);)s=c,c=e[c.index];if(c===void 0||s===void 0||c===t)return!1;let l=t;for(;e[l.index]!==c;)l=e[l.index];let u;if(r){if(l.row===s.row)return!1;u=Math.max(l.row,s.row)-1,c.rowGaps===q&&(c.rowGaps=[])}else{let[e,t]=l.col<s.col?[l,s]:[s,l];if(t.col<e.col+e.span)return!1;u=t.col-1,c.colGaps===q&&(c.colGaps=[])}let d=r?c.rowGaps:c.colGaps;return a.has(d)||a.set(d,d.slice()),d[u]=Math.max(d[u]??0,(a.get(d)[u]??0)+i),!0}function Re(e,t,n){return o(n,r=>ze(e,t,n,r))}function ze(o,h,y,x){let E=y.fontSize??16,D=Math.round(E*.875),O=y.measurer??ee(y.fontFamily,y.fontFamilyMono),k=y.padding??8,te=y.icons,ne=h.block?.padding,A=Math.min(typeof ne==`number`&&ne>=0?Math.min(ne,200):ge,x?6:1/0),re=x?80:_e,ie=e=>{let t=[],n=e=>{for(let n of e)for(let e of n.split(`;`))t.push(e)};for(let t of e.classes&&e.classes.length>0?e.classes:Ce){let e=o.classes.get(t);e&&n(e.styles)}return e.styles&&n(e.styles),r(t)},ae=(e,n)=>{let i=e.type,a=i===`space`?r(be):ie(e),o=+!!a.bold|(a.italic?2:0),c=a.fontSize??E,l=0,u=``,d,f=0,p=0,m=0,h=0,_=0,v=0;if(i===`space`)l=3,d=t(void 0,!1,O,c,re);else if(i===`composite`)l=2,d=t(e.label,!1,O,c,x?s(y):4e3,o),m=d.height>0?d.height+4:0,f=d.width+2*A,p=m+2*A;else if(i===`block_arrow`){l=1,d=t(e.label,!1,O,c,re,o);let n=!0;for(let e of d.lines)for(let t of e)(t.icon!==void 0||t.text.trim()!==``)&&(n=!1);h=le(e.directions);let r=n?ue(h,0,0):ue(h,d.width,d.height);f=r.w,p=r.h,_=r.dx,v=r.dy}else{u=Te.get(i??``)??`rect`,d=t(e.label,!1,O,c,re,o);let n=g(u,d.width,d.height);f=n.w,p=u===`cyl`?Math.max(n.h,d.height+40):n.h,v=n.dy}return{children:[],columns:l===2?e.columns??-1:-1,span:l===3?1:e.widthInColumns??1,space:l===3,head:m,nw:f,nh:p,col:0,row:0,cols:0,heights:Se,rowGaps:q,colGaps:q,x:0,y:0,w:0,h:0,block:e,kind:l,index:n,shape:u,label:d,style:a,mask:h,dx:_,dy:v,bw:0,bh:0}},j=ae(o.root,0);j.nw=0,j.nh=0;let M=[j],oe=[],se=/* @__PURE__ */ new Map;for(let e=0;e<M.length;e++){let t=M[e];if(t.kind===2)for(let e of t.block.children??xe){let n=ae(e,M.length);t.children.push(n),oe[n.index]=t,M.push(n),n.kind!==3&&se.set(e.id,n)}}let N=[],P=[],ce=M.map(e=>e.nw),F=()=>{for(let e of M)e.nw=ce[e.index];let e=he(j,A);N.length=0,P.length=0;for(let e of M)e.kind===0&&Ee.has(e.shape)?(e.bw=e.nw,e.bh=e.nh):e.kind===1?(e.bw=e.span>1?e.w:e.nw,e.bh=e.nh):(e.bw=e.w,e.bh=e.kind===0&&De.has(e.shape)?e.nh:e.h),e.kind===0&&e.shape===`cyl`&&(e.dy=Math.min(12,Math.max(6,e.bw/14))/2),e.kind===0||e.kind===1?N.push(e):e.head>0&&P.push({x:e.x,y:e.y-e.h/2+(e.head+A)/2+2,bw:e.label.width,bh:e.label.height});return e},I=F(),L=/* @__PURE__ */ new Map,R=/* @__PURE__ */ new Set,z=[],B=[];for(let e of o.edges){let t=se.get(e.start??``),n=se.get(e.end??``);if(t===void 0||n===void 0)continue;let r=Math.min(t.index,n.index)*M.length+Math.max(t.index,n.index);L.set(r,(L.get(r)??0)+1),e.label&&R.add(r),z.push([t,n]),B.push(e)}let V=B.length*N.length<=we?N:void 0,H=[],U=/* @__PURE__ */ new Map,W=[],fe=()=>{let e=/* @__PURE__ */ new Map;H.length=0,U.clear();for(let n=0;n<B.length;n++){let[r,i]=z[n],a=Math.min(r.index,i.index)*M.length+Math.max(r.index,i.index),o=L.get(a)??1,s=e.get(a)??0;e.set(a,s+1);let c=t(B[n].label,!1,O,D,_e),l,u,d;if(r===i){let[e,t,n]=je(r,s+1);l=[],u=e+n+6+c.width/2,d=t-n/2}else{let e=R.has(a)?Math.round(D*1.5)+2:14;l=ke(r,i,(s-(o-1)/2)*e,V);let t=l.length,f=Math.abs(l[2]-l[0])+Math.abs(l[3]-l[1]),p=Math.abs(l[t-2]-l[t-4])+Math.abs(l[t-1]-l[t-3]),m=t===6&&p>f?2:0,h=c.width>0?Fe(l,m,c.width+8,c.height,r,i,V):.5;if(u=l[m]+(l[m+2]-l[m])*h,d=l[m+1]+(l[m+3]-l[m+1])*h,c.width>0&&o>1){W[n]=l.slice(m,m+4);let e=U.get(a);e?e.push(n):U.set(a,[n])}}H.push({edge:B[n],points:l,loop:r===i?s+1:0,label:c,lx:u,ly:d})}},pe=e=>{fe();let t=V&&[...V,...P],n=/* @__PURE__ */ new Map,r=!1;for(let i of U.values()){if(i.length<2)continue;let[a,o]=z[i[0]],s=Ie(i,H,W,a,o,t),c=W[i[0]][0]===W[i[0]][2];e&&s>0&&(c||!x)&&Le(oe,a,o,c,Math.ceil(s),n)&&(r=!0)}return r},me=()=>{let e=0;for(let t=0;t<H.length;t++){let n=H[t];for(let r=t+1;r<H.length;r++){let t=H[r],i=(n.label.width+8)/2,a=(t.label.width+8)/2,o=Math.min(n.lx+i,t.lx+a)-Math.max(n.lx-i,t.lx-a),s=Math.min(n.ly+n.label.height/2,t.ly+t.label.height/2)-Math.max(n.ly-n.label.height/2,t.ly-t.label.height/2);n.label.width>0&&t.label.width>0&&o>0&&s>0&&(e+=o*s)}}return e},G=0,K=0,J=0,Y=0,X=(e,t,n,r)=>{e-n/2<G&&(G=e-n/2),e+n/2>J&&(J=e+n/2),t-r/2<K&&(K=t-r/2),t+r/2>Y&&(Y=t+r/2)},Z=()=>{G=0,K=0,J=I.width,Y=I.height;for(let e=0;e<H.length;e++){let t=H[e];if(t.loop>0){let[n,r,i]=je(z[e][0],t.loop);X(n,r,2*i+2,2*i+2)}t.label.width>0&&X(t.lx,t.ly,t.label.width+8,t.label.height)}return J-G};if(pe(B.length*B.length<=we)){let e=me(),t=Z(),n=!0;for(let e=0;e<3&&n;e++)I=F(),n=pe(e<2);let r=Z(),i=y.maxWidth!==void 0&&y.maxWidth>0?y.maxWidth:1/0;if(me()>e-1||r>t&&Math.ceil(r+2*k)>i){for(let e of M)e.rowGaps=q,e.colGaps=q;I=F(),pe(!1)}}Z();let Q=m(o.title,O,E,x?s(y):4e3),Oe=Q.height>0?Q.height+12:0,$=Math.max(J-G,Q.width),Ne=k-G+($-(J-G))/2,Pe=k+Oe-K;for(let e of M)e.x+=Ne,e.y+=Pe;let Re=Math.ceil($+2*k),ze=Math.ceil(Y-K+Oe+2*k),Be=``,Ve=``,He=[];for(let e=1;e<M.length;e++){let r=M[e];if(r.kind===3)continue;let o=n((r.block.classes??be).join(` `)),s=S(r.block.id);if(r.kind===2){let e=r.y-r.h/2;w(r.style.shape)&&He.push({box:[r.x-r.w/2,e,r.x+r.w/2,e+r.h],shape:r.style.shape}),Be+=`<g class="pele-cluster${o}" data-id="${s}"><rect x="${b(r.x-r.w/2)}" y="${b(e)}" width="${b(r.w)}" height="${b(r.h)}" fill="var(--_a)"${a(r.style.shape)?``:` fill-opacity="0.5"`} stroke="var(--_b)"${i(r.style.shape)}/>`+C(r.label,r.x,e+(r.head+A)/2+2,` class="pele-cluster-label"${T(r.style,`var(--_m)`)}${r.style.text}`,te)+`</g>`;continue}let c=r.kind===1,l=r.label;if(r.span>1&&r.label.width>0&&r.label.lines.length>1&&r.bw>r.nw&&(c||!Ee.has(r.shape))){let e=+!!r.style.bold|(r.style.italic?2:0),n=r.label.width+(r.bw-r.nw);l=t(r.block.label,!1,O,r.label.size,n,e)}Ve+=`<g class="pele-node pele-shape-${c?`block-arrow`:r.shape}${o}" data-id="${s}" transform="translate(${b(r.x)},${b(r.y)})">`+(c?de(r.mask,r.bw,r.bh,ve+r.style.shape):_(r.shape,r.bw,r.bh,ve+r.style.shape,ye+r.style.line))+C(l,r.dx,r.dy,` class="pele-label"${c||v(r.shape)?T(r.style):``}${r.style.text}`,te)+`</g>`}let Ue=``,We=``,Ge=``;for(let e=0;e<H.length;e++){let{edge:t,points:n,loop:r,label:i}=H[e],a=t.arrowTypeStart??``,o=t.arrowTypeEnd??``,s;if(r>0)s=Me(z[e][0],r,f(a),f(o));else{for(let e=0;e<n.length;e+=2)n[e]+=Ne,n[e+1]+=Pe;s=Ae(n,f(a),f(o))}let l=d(s.d,[s.sx,s.sy,s.ex,s.ey],He);l===``&&(Ue+=c(s,a,o,``,t.thickness===`thick`));let m=S(t.id);if(We+=`<g class="pele-edge" data-id="${m}"${l?` stroke="${l}"`:``}><path d="${s.d}"${t.thickness===`thick`?` stroke-width="2.5"`:``}${t.pattern===`dotted`?` stroke-dasharray="3 4"`:``}/>`+p(a,s.sx,s.sy,s.sdx,s.sdy,l||`var(--_l)`)+p(o,s.ex,s.ey,s.edx,s.edy,l||`var(--_l)`)+`</g>`,i.width>0){let n=H[e].lx+Ne,r=H[e].ly+Pe;Ge+=u(t.id,i,n,r,``,te)}}return{svg:e(`block`,Re,ze,E,y,o,C(Q,Re/2,k+Q.height/2,` class="pele-title" font-weight="var(--_tw)"`)+(Be?`<g class="pele-clusters">${Be}</g>`:``)+l(Ue)+(We?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round">${We}</g>`:``)+`<g class="pele-nodes">${Ve}</g>`+(Ge?`<g class="pele-edge-labels" font-size="${D}">${Ge}</g>`:``)),width:Re,height:ze,links:[]}}var Be={type:`block`,math:!0,parse(e,t,n){let r=new ae;return r.title=n,ce(e,r),r},render:Re};export{Be as block};
@@ -0,0 +1 @@
1
+ import{$ as e,B as t,C as n,G as r,I as i,J as a,K as o,N as s,P as c,S as l,T as u,U as d,W as f,b as p,i as m,k as h,t as g,u as _,x as v,y}from"./ui-CFB4wQfF.js";import{R as b,o as x,r as S,s as C,w}from"./toast-Cuu2K0hx.js";import{t as T}from"./plural-Bspvoqfq.js";import{C as E,D,E as O,S as k,T as A,_ as j,a as M,b as N,c as P,d as F,f as I,g as L,h as R,i as z,it as B,l as V,m as H,n as U,o as W,p as G,r as K,rt as q,s as J,u as ee,v as Y,w as X,x as te,y as Z}from"./index-D-xG9nrc.js";var ne=h(`<fieldset class="prof-editor prof-fieldset"><label>Instructions<textarea rows=6 placeholder="Added after the session's own instructions; local instructions win where they conflict."></textarea></label><label>Preferred model (optional, provider/model)<input type=text placeholder=anthropic/claude-sonnet-4></label><h3>Skills (<!>/<!>)</h3><div><button type=button class="btn small">Add skill</button></div><h3>Commands (<!>/<!>)</h3><p class=prof-note>Templates use <code>{{param}}</code>, <code>{{arguments}}</code> and <code>{{secret:NAME}}</code> (write <code>\\{{</code> for a literal). Secrets are never entered here: the session's machine resolves them.</p><div><button type=button class="btn small">Add command`),re=h(`<div class=prof-part role=group><div class=prof-part-head><label>Name<input type=text title="2–40 lowercase letters, digits or dashes"></label><label>Description<input type=text></label><button type=button class="btn small danger">Remove</button></div><label>Body<textarea rows=4>`),ie=h(`<div class=prof-part role=group><div class=prof-part-head><label>Name<input type=text title="2–40 lowercase letters, digits or dashes"></label><label>Description<input type=text></label><button type=button class="btn small danger">Remove</button></div><label>Template<textarea rows=3>`),ae=h(`<p class="prof-preview bad">`),oe=h(`<p class=prof-preview>`);function se(e){let a=t=>e.onChange({...e.draft,...t}),o=(t,n)=>a({skills:e.draft.skills.map((e,r)=>r===t?{...e,...n}:e)}),s=(t,n)=>a({commands:e.draft.commands.map((e,r)=>r===t?{...e,...n}:e)});return(()=>{var d=ne(),f=d.firstChild,p=f.firstChild.nextSibling,m=f.nextSibling,h=m.firstChild.nextSibling,g=m.nextSibling,_=g.firstChild.nextSibling,v=_.nextSibling.nextSibling;v.nextSibling;var y=g.nextSibling,b=y.firstChild,x=y.nextSibling,S=x.firstChild.nextSibling,C=S.nextSibling.nextSibling;C.nextSibling;var w=x.nextSibling.nextSibling,T=w.firstChild;return p.$$input=e=>a({instructions:e.currentTarget.value}),h.$$input=e=>a({model:e.currentTarget.value}),l(g,()=>e.draft.skills.length,_),l(g,()=>D.skillsPerProfile,v),l(d,t(c,{get each(){return e.draft.skills},children:(t,n)=>(()=>{var i=re(),s=i.firstChild,c=s.firstChild,l=c.firstChild.nextSibling,d=c.nextSibling,f=d.firstChild.nextSibling,p=d.nextSibling,m=s.nextSibling.firstChild.nextSibling;return u(i,`aria-label`,`Skill ${n+1}`),l.$$input=e=>o(n,{name:e.currentTarget.value}),f.$$input=e=>o(n,{description:e.currentTarget.value}),p.$$click=()=>a({skills:e.draft.skills.filter((e,t)=>t!==n)}),m.$$input=e=>o(n,{body:e.currentTarget.value}),r(e=>{var r=`Remove skill ${t().name||n+1}`,i=D.skillChars;return r!==e.e&&u(p,`aria-label`,e.e=r),i!==e.t&&u(m,`maxlength`,e.t=i),e},{e:void 0,t:void 0}),r(()=>l.value=t().name),r(()=>f.value=t().description),r(()=>m.value=t().body),i})()}),y),b.$$click=()=>a({skills:[...e.draft.skills,{name:``,description:``,body:``}]}),l(x,()=>e.draft.commands.length,S),l(x,()=>D.commandsPerProfile,C),l(d,t(c,{get each(){return e.draft.commands},children:(o,c)=>{let d=()=>H(o().template);return(()=>{var f=ie(),p=f.firstChild,m=p.firstChild,h=m.firstChild.nextSibling,g=m.nextSibling,_=g.firstChild.nextSibling,v=g.nextSibling,y=p.nextSibling.firstChild.nextSibling;return u(f,`aria-label`,`Command ${c+1}`),h.$$input=e=>s(c,{name:e.currentTarget.value}),_.$$input=e=>s(c,{description:e.currentTarget.value}),v.$$click=()=>a({commands:e.draft.commands.filter((e,t)=>t!==c)}),y.$$input=e=>s(c,{template:e.currentTarget.value}),l(f,t(i,{get when(){return o().template.trim()},get children(){return(()=>{let e=d();return`error`in e?(()=>{var t=ae();return l(t,()=>e.error),t})():(()=>{var t=oe();return l(t,(()=>{var t=n(()=>!!e.params.length);return()=>t()?`Asks for: ${e.params.join(`, `)}`:`No parameters`})(),null),l(t,(()=>{var t=n(()=>!!e.secrets.length);return()=>t()?` · Secrets (names only): ${e.secrets.join(`, `)}`:``})(),null),t})()})()}}),null),r(e=>{var t=`Remove command ${o().name||c+1}`,n=D.commandChars;return t!==e.e&&u(v,`aria-label`,e.e=t),n!==e.t&&u(y,`maxlength`,e.t=n),e},{e:void 0,t:void 0}),r(()=>h.value=o().name),r(()=>_.value=o().description),r(()=>y.value=o().template),f})()}}),w),T.$$click=()=>a({commands:[...e.draft.commands,{name:``,description:``,template:``}]}),r(t=>{var n=e.disabled,r=D.instructionsChars,i=e.draft.skills.length>=D.skillsPerProfile,a=e.draft.commands.length>=D.commandsPerProfile;return n!==t.e&&(d.disabled=t.e=n),r!==t.t&&u(p,`maxlength`,t.t=r),i!==t.a&&(b.disabled=t.a=i),a!==t.o&&(T.disabled=t.o=a),t},{e:void 0,t:void 0,a:void 0,o:void 0}),r(()=>p.value=e.draft.instructions),r(()=>h.value=e.draft.model),d})()}v([`input`,`click`]);var ce=h(`<select aria-label=Tag><option value>Any tag`),le=h(`<select aria-label=Project><option value>Any project`),ue=h(`<select aria-label=Team><option value>Any team`),de=h(`<select aria-label=Harness><option value>Any harness`),fe=h(`<ul class=prof-items>`),pe=h(`<div class=prof-page><header class=topbar><h1 class=title>Agent profiles</h1><span class=grow></span><button type=button class="btn small primary">New profile</button></header><div><nav class=prof-list aria-label=Profiles><div class=prof-filter role=group aria-label=Show><button type=button class="btn small">Active</button><button type=button class="btn small">Archived</button></div><div class=prof-filters role=group aria-label="Filter and sort"><select aria-label=Usage><option value>Used or not</option><option value=used>Used</option><option value=unused>Unused</option></select><select aria-label=Sort><option value=name>Sort: name</option><option value=updated>Sort: recently updated</option><option value=usage>Sort: most used</option></select></div></nav><section class=prof-detail aria-label=Profile>`),Q=h(`<option>`),$=h(`<p class="error small"role=alert>`),me=h(`<p class="muted small">Loading…`),he=h(`<p class="muted small">`),ge=h(`<p class="muted small">No profile matches these filters.`),_e=h(`<div class=prof-intro><h2>Shared agent profiles</h2><p class=prof-note>Versioned instructions, skills and commands you can pin to any session from its top bar. Saving creates a new version; running sessions keep the version they are pinned to until you upgrade each one.`),ve=h(`<span class=prof-desc>`),ye=h(`<span class=prof-chips>`),be=h(`<li><a class=prof-item><strong></strong><span class=prof-sub> · v`),xe=h(`<span class=prof-tag>`),Se=h(`<span>`),Ce=h(`<form class=prof-editor novalidate><label>Name (2–40 lowercase letters, digits or dashes; can't change later)<input type=text autofocus></label><label>Title<input type=text></label><label>Description (optional)<input type=text></label><label>Tags (comma separated, optional)<input type=text></label><div class=row><button type=submit class="btn small primary">Create v1</button><button type=button class="btn small">Cancel`),we=h(`<div><a class="btn small prof-back"href=/profiles>← Profiles`),Te=h(`<p class=error role=alert>`),Ee=h(`<p class=muted>Loading…`),De=h(`<span class="prof-tag archived">archived`),Oe=h(`<div class=prof-head><h2></h2><span class=prof-tag></span><span class=prof-tag>v</span><span class=grow></span><button type=button class="btn small">`),ke=h(`<p class=prof-note>`),Ae=h(`<div class=prof-tabs role=tablist aria-label="Profile views"><button type=button role=tab class="btn small">Edit</button><button type=button role=tab class="btn small">History</button><button type=button role=tab class="btn small">Used by`),je=h(`<div class="row prof-row-gap"><button type=button class="btn small primary">Save as v</button><button type=button class="btn small">Discard changes`),Me=h(`<p class=prof-note>Versions are immutable. Restoring copies an old version into a new one; nothing is rewritten.`),Ne=h(`<ul class=prof-history aria-label=Versions>`),Pe=h(`<span class=prof-tag>latest`),Fe=h(`<button type=button class="btn small">Restore as v`),Ie=h(`<pre>`),Le=h(`<li><strong>v</strong><span class="muted small"></span><span class=mono></span><span class=grow></span><button type=button class="btn small">View`),Re=h(`<form class=prof-editor aria-label="Edit details"novalidate><p class=prof-note>Optional details for people browsing the library (no secrets): up to 32 keys (lowercase letters, digits, dashes) and 16 projects. Versions don't change.</p><div class=row><button type=button class="btn small">Add detail</button></div><label>Projects (comma separated)<input type=text></label><div class=row><button type=submit class="btn small primary">Save details</button><button type=button class="btn small">Cancel`),ze=h(`<section class=prof-details aria-label=Details>`),Be=h(`<dt>Tags`),Ve=h(`<dd>`),He=h(`<dl class=prof-facts><dt>Latest</dt><dd>v</dd><dt>Updated</dt><dd></dd><dt>Projects</dt><dd>`),Ue=h(`<button type=button class="btn small">Edit details`),We=h(`<span class=muted>none`),Ge=h(`<dt>`),Ke=h(`<div class=prof-meta-row role=group><input type=text aria-label=Key placeholder="key (e.g. owner)"><input type=text aria-label=Value placeholder=value>`),qe=h(`<section class=prof-usage aria-label="Used by">`),Je=h(`<p class=prof-note> Upgrading a session is always explicit; a new version never reaches a running session by itself.`),Ye=h(`<h3>Sessions`),Xe=h(`<ul class=prof-uses aria-label="Pinned sessions">`),Ze=h(`<button type=button class="btn small">More sessions`),Qe=h(`<h3>Team roles`),$e=h(`<ul class=prof-uses aria-label="Team roles">`),et=h(`<h3>Launches`),tt=h(`<ul class=prof-uses aria-label=Launches>`),nt=h(`<h3>Workspaces and projects`),rt=h(`<ul class=prof-uses aria-label=Workspaces>`),it=h(`<p class=prof-note>Projects: `),at=h(`<p class=prof-note>Hidden for this sign-in: <!>.`),ot=h(`<p class=prof-note>Only part of the <!> is listed; the counts are complete.`),st=h(`<p class="muted small">No session pins this profile.`),ct=h(`<span class=prof-tag>running v`),lt=h(`<span class="prof-use older">older`),ut=h(`<a class="btn small">Open session`),dt=h(`<button type=button class="btn small primary">Upgrade to v`),ft=h(`<li><span></span><strong></strong><span class=prof-tag>v</span><span class="muted small"></span><span class=grow>`),pt=h(`<p class="muted small">No team role names this profile.`),mt=h(`<span class="muted small">`),ht=h(`<li><a></a><span>role <strong></strong></span><span class=prof-tag>`),gt=h(`<p class="muted small">No retained launch named this profile.`),_t=h(`<li><span class=mono></span><span class=prof-tag></span><span class=prof-tag>v</span><span class="muted small">`),vt=h(`<p class="muted small">The pinned sessions are in no workspace or project.`),yt=h(`<li><strong></strong><span class="muted small">`),bt=e=>e?`/profiles?id=${encodeURIComponent(e)}`:`/profiles`,xt=()=>w.some(e=>e.route===`/teams`);function St(e){let[n,c]=a(`active`),[d,h]=a(!1),[g,{refetch:_}]=o(n,e=>W(e).then(e=>e.items)),[v,b]=a({}),[x,S]=a(`name`),w=f(()=>te(g()??[])),T=f(()=>X(N(g()??[],v()),x())),D=e=>t=>b({...v(),[e]:t.currentTarget.value||void 0});return(()=>{var a=pe(),o=a.firstChild,f=o.firstChild,b=f.nextSibling.nextSibling,O=o.nextSibling,k=O.firstChild,A=k.firstChild,j=A.firstChild,M=j.nextSibling,N=A.nextSibling,P=N.firstChild,F=P.nextSibling,I=k.nextSibling;return l(o,t(i,{get when(){return q()},get children(){return t(m,{icon:`menu`,label:`Open sidebar`,onClick:B})}}),f),b.$$click=()=>h(!0),j.$$click=()=>c(`active`),M.$$click=()=>c(`archived`),l(N,t(i,{get when(){return w().tags.length},get children(){var e=ce();return e.firstChild,y(e,`change`,D(`tag`)),l(e,t(s,{get each(){return w().tags},children:e=>(()=>{var t=Q();return t.value=e,l(t,e),t})()}),null),r(()=>e.value=v().tag??``),e}}),P),l(N,t(i,{get when(){return w().projects.length},get children(){var e=le();return e.firstChild,y(e,`change`,D(`project`)),l(e,t(s,{get each(){return w().projects},children:e=>(()=>{var t=Q();return t.value=e,l(t,e),t})()}),null),r(()=>e.value=v().project??``),e}}),P),l(N,t(i,{get when(){return w().teams.length},get children(){var e=ue();return e.firstChild,y(e,`change`,D(`team`)),l(e,t(s,{get each(){return w().teams},children:e=>(()=>{var t=Q();return t.value=e,l(t,e),t})()}),null),r(()=>e.value=v().team??``),e}}),P),l(N,t(i,{get when(){return w().harnesses.length},get children(){var e=de();return e.firstChild,y(e,`change`,D(`harness`)),l(e,t(s,{get each(){return w().harnesses},children:e=>(()=>{var t=Q();return t.value=e,l(t,e),t})()}),null),r(()=>e.value=v().harness??``),e}}),P),y(P,`change`,D(`used`)),F.addEventListener(`change`,e=>S(e.currentTarget.value)),l(k,t(i,{get when(){return!g.error},get fallback(){return(()=>{var e=$();return l(e,()=>E(g.error)),e})()},get children(){return t(i,{get when(){return g()},get fallback(){return me()},get children(){return t(i,{get when(){return g().length},get fallback(){return(()=>{var e=he();return l(e,()=>n()===`active`?`No profiles yet. Create one to share instructions, skills and commands across sessions.`:`No archived profiles.`),e})()},get children(){return t(i,{get when(){return T().length},get fallback(){return ge()},get children(){var n=fe();return l(n,t(s,{get each(){return T()},children:n=>t(Ct,{entry:n,get current(){return n.profile.id===e.id}})})),n}})}})}})}}),null),l(I,t(i,{get when(){return e.id},keyed:!0,get fallback(){return _e()},children:e=>t(Tt,{id:e,onChanged:()=>void _()})})),l(a,t(i,{get when(){return d()},get children(){return t(wt,{onClose:()=>h(!1),onCreated:e=>{h(!1),c(`active`),_(),C(bt(e.id))}})}}),null),r(t=>{var r=`prof-body${e.id?` has-detail`:``}`,i=n()===`active`,a=n()===`archived`;return r!==t.e&&p(O,t.e=r),i!==t.t&&u(j,`aria-pressed`,t.t=i),a!==t.a&&u(M,`aria-pressed`,t.a=a),t},{e:void 0,t:void 0,a:void 0}),r(()=>P.value=v().used??``),r(()=>F.value=x()),a})()}function Ct(e){let a=()=>e.entry.profile,o=()=>e.entry.summary,c=()=>O(e.entry.usage);return(()=>{var d=be(),f=d.firstChild,m=f.firstChild,h=m.nextSibling,g=h.firstChild;return l(m,()=>a().title),l(f,t(i,{get when(){return a().description},get children(){var e=ve();return l(e,()=>a().description),e}}),h),l(h,()=>a().name,g),l(h,()=>a().latestVersion,null),l(h,t(i,{get when(){return o()},children:e=>` · ${T(e().skills,`skill`)} · ${T(e().commands,`command`)}`}),null),l(h,(()=>{var e=n(()=>!!a().updatedAt);return()=>e()?` · updated ${_(a().updatedAt)}`:``})(),null),l(f,t(i,{get when(){return a().tags.length||c().length},get children(){var e=ye();return l(e,t(s,{get each(){return a().tags},children:e=>(()=>{var t=xe();return l(t,e),t})()}),null),l(e,t(s,{get each(){return c()},children:e=>(()=>{var t=Se();return l(t,e),r(()=>p(t,`prof-use${e===`Unused`?` unused`:/older/.test(e)?` older`:``}`)),t})()}),null),e}}),null),r(t=>{var n=bt(a().id),r=e.current?`page`:void 0,i=`${a().title} (${a().name})`;return n!==t.e&&u(f,`href`,t.e=n),r!==t.t&&u(f,`aria-current`,t.t=r),i!==t.a&&u(f,`aria-label`,t.a=i),t},{e:void 0,t:void 0,a:void 0}),d})()}function wt(e){let[n,o]=a({name:``,title:``,description:``,tags:``}),[s,c]=a(Z()),[u,d]=a(``),[f,p]=a(!1),m=J(),h=async t=>{t.preventDefault();let r=R(n(),s());if(!r.ok)return d(r.error);p(!0),d(``);try{let t=await K(r.body,m);S(`Created ${t.name} v1`),e.onCreated(t)}catch(e){e instanceof b||(m=J()),d(E(e))}finally{p(!1)}},_=e=>t=>o({...n(),[e]:t.currentTarget.value});return t(g,{open:!0,wide:!0,title:`New agent profile`,get onClose(){return e.onClose},class:`prof-dialog`,get children(){var a=Ce(),o=a.firstChild,d=o.firstChild.nextSibling,p=o.nextSibling,m=p.firstChild.nextSibling,g=p.nextSibling,v=g.firstChild.nextSibling,b=g.nextSibling,x=b.firstChild.nextSibling,S=b.nextSibling,C=S.firstChild,w=C.nextSibling;return a.addEventListener(`submit`,e=>void h(e)),y(d,`input`,_(`name`),!0),y(m,`input`,_(`title`),!0),y(v,`input`,_(`description`),!0),y(x,`input`,_(`tags`),!0),l(a,t(se,{get draft(){return s()},onChange:c}),S),l(a,t(i,{get when(){return u()},get children(){var e=$();return l(e,u),e}}),S),y(w,`click`,e.onClose,!0),r(()=>C.disabled=f()),r(()=>d.value=n().name),r(()=>m.value=n().title),r(()=>v.value=n().description),r(()=>x.value=n().tags),a}})}function Tt(c){let[f,p]=a(),[m,h]=a(),[g,v]=a(Z()),[y,x]=a(``),[C,w]=a(``),[T,D]=a(!1),[O,k]=a(`edit`),A=J(),N=async(e=!1)=>{x(``);try{let{profile:t}=await M(c.id),n=await z(t.id,t.latestVersion);p(t),h(n),e||v(Y(n.content))}catch(e){x(E(e))}};d(e(()=>c.id,()=>void N()));let[P,{refetch:F}]=o(()=>O()===`history`?`${c.id}#${f()?.latestVersion??0}`:void 0,()=>I(c.id).then(e=>e.items)),R=()=>!!m()&&L(g(),m().content),B=async(e,t)=>{A=J(),S(t),c.onChanged(),p(e),await N(),F()},V=async e=>{e instanceof b||(A=J()),w(E(e)),e.code===`conflict`&&(await N(!0),c.onChanged())},H=async()=>{let e=f(),t=m();if(!e||!t)return;let n=j(g());if(!n.ok)return w(n.error);if(!L(g(),t.content))return w(`Nothing changed since v${e.latestVersion}.`);D(!0),w(``);try{let t=await U(e.id,{expectedRevision:e.revision,content:n.content},A);await B(t,`Saved ${t.name} v${t.latestVersion}. Pinned sessions keep their version until you upgrade them.`)}catch(e){await V(e)}finally{D(!1)}},W=async e=>{let t=f();if(t){D(!0),w(``);try{let n=await U(t.id,{expectedRevision:t.revision,fromVersion:e},A);await B(n,`Restored v${e} as v${n.latestVersion}`)}catch(e){await V(e)}finally{D(!1)}}},G=async e=>{let t=f();if(t){D(!0),w(``);try{let n=await ee(t,e);p(n),c.onChanged(),S(e?`Archived ${n.name}. Pinned sessions keep their version; it can't be pinned again until unarchived.`:`Unarchived ${n.name}`)}catch(e){await V(e)}finally{D(!1)}}},[K,q]=a(),X=async e=>{try{let t=await z(c.id,e);q({version:e,text:JSON.stringify(t.content,null,2)})}catch(e){w(E(e))}};return(()=>{var e=we();return e.firstChild,l(e,t(i,{get when(){return!y()},get fallback(){return(()=>{var e=Te();return l(e,y),e})()},get children(){return t(i,{get when(){return f()},get fallback(){return Ee()},children:e=>[(()=>{var n=Oe(),a=n.firstChild,o=a.nextSibling,s=o.nextSibling;s.firstChild;var c=s.nextSibling,u=c.nextSibling;return l(a,()=>e().title),l(o,()=>e().name),l(s,()=>e().latestVersion,null),l(n,t(i,{get when(){return e().state===`archived`},get children(){return De()}}),c),u.$$click=()=>void G(e().state!==`archived`),l(u,()=>e().state===`archived`?`Unarchive`:`Archive`),r(()=>u.disabled=T()),n})(),t(i,{get when(){return e().description},get children(){var t=ke();return l(t,()=>e().description),t}}),t(Et,{get profile(){return e()},get latest(){return m()},onSaved:e=>{p(e),c.onChanged()},onConflict:async()=>{await N(!0),c.onChanged()}}),(()=>{var e=Ae(),t=e.firstChild,n=t.nextSibling,i=n.nextSibling;return t.$$click=()=>k(`edit`),n.$$click=()=>k(`history`),i.$$click=()=>k(`usage`),r(e=>{var r=O()===`edit`,a=O()===`history`,o=O()===`usage`;return r!==e.e&&u(t,`aria-selected`,e.e=r),a!==e.t&&u(n,`aria-selected`,e.t=a),o!==e.a&&u(i,`aria-selected`,e.a=o),e},{e:void 0,t:void 0,a:void 0}),e})(),t(i,{get when(){return C()},get children(){var e=$();return l(e,C),e}}),t(i,{get when(){return O()===`edit`},get children(){return[(()=>{var t=ke();return l(t,(()=>{var t=n(()=>e().state===`archived`);return()=>t()?`Unarchive to edit or pin this profile.`:`Saving creates v${e().latestVersion+1}. Sessions pinned to an earlier version keep it until you upgrade each one.`})()),t})(),t(se,{get draft(){return g()},onChange:v,get disabled(){return e().state===`archived`||T()}}),(()=>{var t=je(),n=t.firstChild;n.firstChild;var i=n.nextSibling;return n.$$click=()=>void H(),l(n,()=>e().latestVersion+1,null),i.$$click=()=>(v(Y(m().content)),w(``)),r(t=>{var r=T()||e().state===`archived`||!R(),a=T()||!R();return r!==t.e&&(n.disabled=t.e=r),a!==t.t&&(i.disabled=t.t=a),t},{e:void 0,t:void 0}),t})()]}}),t(i,{get when(){return O()===`usage`},get children(){return t(Ot,{get profile(){return e()},get onChanged(){return c.onChanged}})}}),t(i,{get when(){return O()===`history`},get children(){return[Me(),t(i,{get when(){return n(()=>!P.error)()&&P()},get fallback(){return(()=>{var e=he();return l(e,(()=>{var e=n(()=>!!P.error);return()=>e()?E(P.error):`Loading…`})()),e})()},get children(){var a=Ne();return l(a,t(s,{get each(){return P()},children:a=>(()=>{var o=Le(),s=o.firstChild;s.firstChild;var c=s.nextSibling,d=c.nextSibling,f=d.nextSibling.nextSibling;return l(s,()=>a.version,null),l(o,t(i,{get when(){return a.version===e().latestVersion},get children(){return Pe()}}),c),l(c,()=>_(a.createdAt)),l(d,()=>a.digest.slice(0,12)),f.$$click=()=>void X(a.version),l(o,t(i,{get when(){return n(()=>a.version!==e().latestVersion)()&&e().state!==`archived`},get children(){var t=Fe();return t.firstChild,t.$$click=()=>void W(a.version),l(t,()=>e().latestVersion+1,null),r(()=>t.disabled=T()),t}}),null),l(o,t(i,{get when(){return K()?.version===a.version},get children(){var e=Ie();return l(e,()=>K().text),r(()=>u(e,`aria-label`,`Version ${a.version} content`)),e}}),null),r(()=>u(d,`title`,a.digest)),o})()})),a}})]}})]})}}),null),e})()}function Et(e){let[o,c]=a(!1),[d,f]=a([]),[p,h]=a(``),[g,v]=a(``),[y,b]=a(!1),x=()=>Object.entries(e.profile.metadata),C=()=>{f([...x().map(([e,t])=>({key:e,value:t})),{key:``,value:``}]),h(e.profile.projects.join(`, `)),v(``),c(!0)},w=(e,t,n)=>f(d().map((r,i)=>i===e?{...r,[t]:n}:r)),D=async t=>{t.preventDefault();let n=k(d(),p());if(!n.ok)return v(n.error);b(!0),v(``);try{let t=await F(e.profile,n.patch);c(!1),S(`Saved the details of ${t.name}`),e.onSaved(t)}catch(t){v(E(t)),t.code===`conflict`&&await e.onConflict()}finally{b(!1)}},O=()=>e.latest?.content;return(()=>{var a=ze();return l(a,t(i,{get when(){return o()},get fallback(){return[(()=>{var r=He(),a=r.firstChild.nextSibling;a.firstChild;var o=a.nextSibling.nextSibling,c=o.nextSibling,u=c.nextSibling;return l(a,()=>e.profile.latestVersion,null),l(a,t(i,{get when(){return O()},children:e=>` · ${e().instructions?`instructions · `:``}${T(e().skills.length,`skill`)} · ${T(e().commands.length,`command`)}${e().model?` · ${e().model}`:``}`}),null),l(o,(()=>{var t=n(()=>!!e.profile.updatedAt);return()=>t()?_(e.profile.updatedAt):`—`})()),l(r,t(i,{get when(){return e.profile.tags.length},get children(){return[Be(),(()=>{var t=Ve();return l(t,()=>e.profile.tags.join(`, `)),t})()]}}),c),l(u,(()=>{var t=n(()=>!!e.profile.projects.length);return()=>t()?e.profile.projects.join(`, `):We()})()),l(r,t(s,{get each(){return x()},children:([e,t])=>[(()=>{var t=Ge();return l(t,e),t})(),(()=>{var e=Ve();return l(e,t),e})()]}),null),r})(),(()=>{var e=Ue();return e.$$click=C,e})()]},get children(){var e=Re(),n=e.firstChild.nextSibling,a=n.firstChild,o=n.nextSibling,_=o.firstChild.nextSibling,v=o.nextSibling,b=v.firstChild,x=b.nextSibling;return e.addEventListener(`submit`,e=>void D(e)),l(e,t(s,{get each(){return d()},children:(e,n)=>(()=>{var i=Ke(),a=i.firstChild,o=a.nextSibling;return a.$$input=e=>w(n(),`key`,e.currentTarget.value),o.$$input=e=>w(n(),`value`,e.currentTarget.value),l(i,t(m,{icon:`close`,get label(){return`Remove detail ${n()+1}`},type:`button`,onClick:()=>f(d().filter((e,t)=>t!==n()))}),null),r(()=>u(i,`aria-label`,`Detail ${n()+1}`)),r(()=>a.value=e.key),r(()=>o.value=e.value),i})()}),n),a.$$click=()=>f([...d(),{key:``,value:``}]),_.$$input=e=>h(e.currentTarget.value),l(e,t(i,{get when(){return g()},get children(){var e=$();return l(e,g),e}}),v),x.$$click=()=>c(!1),r(()=>b.disabled=y()),r(()=>_.value=p()),e}})),a})()}var Dt={sessions:`sessions (needs sessions:read)`,teams:`team roles (needs teams:read)`,launches:`launches (needs sessions:launch)`,workspaces:`workspaces (needs workspaces:read)`};function Ot(c){let[f,{refetch:m}]=o(()=>c.profile.id+`#`+c.profile.latestVersion,()=>V(c.profile.id)),[h,g]=a([]),[v,y]=a(),[b,x]=a();d(e(f,e=>(g([]),y(e?.cursor))));let C=()=>[...f()?.sessions??[],...h()],w=async()=>{let e=v();if(e)try{let t=await V(c.profile.id,e);g([...h(),...t.sessions]),y(t.cursor)}catch(e){S(E(e))}},D=async(e,t)=>{x(e);try{await P(e,{profileID:c.profile.id,version:c.profile.latestVersion,expectedRevision:t}),S(`Asked ${e} to run v${c.profile.latestVersion}; it confirms on its next turn.`),c.onChanged(),m()}catch(e){S(E(e)),m()}finally{x(void 0)}},O=()=>{let e=f()?.counts;return e?[e.sessions===void 0?``:`${T(e.sessions,`session`)}${e.olderVersion?` (${e.olderVersion} on older versions)`:``}`,e.teamRoles===void 0?``:T(e.teamRoles,`team role`),e.launches===void 0?``:T(e.launches,`launch`),e.workspaces===void 0?``:T(e.workspaces,`workspace`)].filter(Boolean).join(` · `):``};return(()=>{var e=qe();return l(e,t(i,{get when(){return!f.error},get fallback(){return(()=>{var e=$();return l(e,()=>E(f.error)),e})()},get children(){return t(i,{get when(){return f()},get fallback(){return me()},children:e=>[(()=>{var e=Je(),t=e.firstChild;return l(e,(()=>{var e=n(()=>!!O());return()=>e()?`${O()}.`:`Nothing you can see uses this profile.`})(),t),e})(),t(i,{get when(){return!e().hidden.includes(`sessions`)},get children(){return[Ye(),t(i,{get when(){return C().length},get fallback(){return st()},get children(){return[(()=>{var e=Xe();return l(e,t(s,{get each(){return C()},children:e=>(()=>{var a=ft(),o=a.firstChild,s=o.nextSibling,d=s.nextSibling;d.firstChild;var f=d.nextSibling;return f.nextSibling,l(s,(()=>{var t=n(()=>!!e.name);return()=>t()?`@${e.name}`:e.title??e.sessionID})()),l(d,()=>e.version,null),l(a,t(i,{get when(){return n(()=>e.running!==void 0)()&&e.running!==e.version},get children(){var t=ct();return t.firstChild,l(t,()=>e.running,null),t}}),f),l(a,t(i,{get when(){return e.olderVersion},get children(){return lt()}}),f),l(f,()=>[e.ack?G[e.ack]+(e.offline?` (offline)`:``):``,e.harness??``,e.machineID??``,e.project??``,e.known?``:`session gone`].filter(Boolean).join(` · `)),l(a,t(i,{get when(){return e.known},get children(){var t=ut();return r(()=>u(t,`href`,`/s/${encodeURIComponent(e.sessionID)}`)),t}}),null),l(a,t(i,{get when(){return n(()=>!!e.olderVersion)()&&c.profile.state===`active`},get children(){var t=dt();return t.firstChild,t.$$click=()=>void D(e.sessionID,e.revision),l(t,()=>c.profile.latestVersion,null),r(()=>t.disabled=b()===e.sessionID),t}}),null),r(t=>{var n=`prof-dot${e.online?` on`:``}`,r=e.online?`online`:`offline`;return n!==t.e&&p(o,t.e=n),r!==t.t&&u(o,`title`,t.t=r),t},{e:void 0,t:void 0}),a})()})),e})(),t(i,{get when(){return v()},get children(){var e=Ze();return e.$$click=()=>void w(),e}})]}})]}}),t(i,{get when(){return!e().hidden.includes(`teams`)},get children(){return[Qe(),t(i,{get when(){return e().teamRoles.length},get fallback(){return pt()},get children(){var a=$e();return l(a,t(s,{get each(){return e().teamRoles},children:e=>(()=>{var a=ht(),o=a.firstChild,s=o.nextSibling,c=s.firstChild.nextSibling,d=s.nextSibling;return l(o,()=>e.teamTitle),l(c,()=>e.label??e.role),l(d,(()=>{var t=n(()=>e.version!==void 0);return()=>t()?`v${e.version}`:`latest`})()),l(a,t(i,{get when(){return e.staffed!==void 0},get children(){var t=mt();return l(t,()=>T(e.staffed,`staffed seat`)),t}}),null),r(()=>u(o,`href`,A(e.teamID,xt()))),a})()})),a}})]}}),t(i,{get when(){return!e().hidden.includes(`launches`)},get children(){return[et(),t(i,{get when(){return e().launches.length},get fallback(){return gt()},get children(){var a=tt();return l(a,t(s,{get each(){return e().launches},children:e=>(()=>{var a=_t(),o=a.firstChild,s=o.nextSibling,c=s.nextSibling;c.firstChild;var d=c.nextSibling;return l(o,()=>e.id),l(s,()=>e.state,null),l(s,(()=>{var t=n(()=>!!e.outcome);return()=>t()?` (${e.outcome})`:``})(),null),l(c,()=>e.version,null),l(d,()=>_(e.updated)),l(a,t(i,{get when(){return e.sessionID},get children(){var t=ut();return r(()=>u(t,`href`,`/s/${encodeURIComponent(e.sessionID)}`)),t}}),null),a})()})),a}})]}}),t(i,{get when(){return!e().hidden.includes(`workspaces`)},get children(){return[nt(),t(i,{get when(){return e().workspaces.length||e().projects.length},get fallback(){return vt()},get children(){return[(()=>{var n=rt();return l(n,t(s,{get each(){return e().workspaces},children:e=>(()=>{var t=yt(),n=t.firstChild,r=n.nextSibling;return l(n,()=>e.title??e.workspaceID),l(r,()=>T(e.sessions,`pinned session`)),t})()})),n})(),t(i,{get when(){return e().projects.length},get children(){var t=it();return t.firstChild,l(t,()=>e().projects.join(`, `),null),t}})]}})]}}),t(i,{get when(){return e().hidden.length},get children(){var t=at(),n=t.firstChild.nextSibling;return n.nextSibling,l(t,()=>e().hidden.map(e=>Dt[e]??e).join(`, `),n),t}}),t(i,{get when(){return e().truncated.length},get children(){var t=ot(),n=t.firstChild.nextSibling;return n.nextSibling,l(t,()=>e().truncated.join(`, `),n),t}})]})}})),e})()}v([`click`,`input`]);function kt(){return t(St,{get id(){return x().searchParams.get(`id`)??void 0}})}export{kt as default};
@@ -0,0 +1 @@
1
+ import{D as e,d as t,g as n}from"./lazy-f3CuUNJZ.js";var r=`about:blank`,i=/^([^\w]*)(javascript|data|vbscript)/im,a=/&#(\w+)(^\w|;)?/g,o=/&(newline|tab);/gi,s=/[\u0000-\u001F\u007F-\u009F -‍\uD800-\uDFFF\uFFFE\uFFFF]/gimu,c=/^.+(:|&colon;)/gim,l=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;function u(e){try{return decodeURIComponent(e)}catch{return e}}function d(e,t){let n=t?u(e.trim()):e.trim(),r,i=0;do{if(++i>32)return;n=n.replace(s,``).replace(a,(e,t)=>String.fromCharCode(t)).replace(o,``).replace(s,``).replace(l,``).trim(),t&&(n=u(n)),r=n.match(s)||n.match(a)||n.match(o)||n.match(l)}while(r&&r.length>0);return n}function f(e){if(!e)return r;let t=d(e,!0),n=d(e,!1);if(!t||!n)return r;if(t[0]===`.`||t[0]===`/`)return n;let a=t.trimStart().match(c);if(!a)return n;let o=a[0].toLowerCase().trim();if(i.test(o))return r;let s=n.trimStart().replace(/\\/g,`/`);if(o===`mailto:`||o.includes(`://`))return s;if(o===`http:`||o===`https:`){let e;try{e=new URL(s)}catch{return r}return e.protocol=e.protocol.toLowerCase(),e.hostname=e.hostname.toLowerCase(),e.toString()}return s}function p(t){return f(e(t))}var m=[`http`,`https`,`mailto`,`tel`],h=[`http`,`https`],g=/^([a-z][a-z0-9+.-]*):/i,_=/^[\\/]{2}/;function v(e,t){if(_.test(e))return!1;let n=g.exec(e);return!n||t.includes(n[1].toLowerCase())}function y(e,t){let n=d(e,!0);return n!==void 0&&v(e,t)&&v(n,t)?e:void 0}function b(e,t){return t.links===!1?void 0:y(e,t.linkSchemes??m)}function x(e,t){return t.images===!1?void 0:y(e,t.imageSchemes??h)}var S=new RegExp(n.source,`gu`);function C(e,t){let n=f(e);return n===r||b(n,t)===void 0?!1:b(e.replace(S,``).replace(/[\t\n\r]/g,``).replace(/^[\x00-\x20]+/,``),t)!==void 0}function w(e,n,r,i,a,o=``){let s=b(n,a);return s===void 0?e:(i.push({id:r,href:s,internal:!1}),`<a href="${t(s)}"${o}${T(a)}>${e}</a>`)}function T(e){let n=e.linkRel??`noopener`;return n?` rel="${t(n)}"`:``}export{w as a,T as i,C as n,f as o,x as r,b as s,p as t};
@@ -0,0 +1 @@
1
+ function e(e,t,n){for(let r=0;r<n.length;r++){let i=e.charCodeAt(t+r),a=n.charCodeAt(r);if(i!==a&&!(a>=97&&a<=122&&i===a-32))return!1}return!0}export{e as t};
@@ -0,0 +1,3 @@
1
+ import{C as e,E as t,f as n,t as r}from"./lazy-f3CuUNJZ.js";var i=[`1`,`INVALID`,`SPACELINE`,`NL`,`EOF`,``,`SPACELIST`,`ICON`,`CLASS`,`NODE_DSTART`,`NODE_ID`,`NODE_DESCR`,`NODE_DEND`,`SHAPE_DATA`];function a(e,t){return e===5?t?`KANBAN`:`MINDMAP`:i[e]}var o={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6};function s(e,t){switch(e){case`[`:return o.RECT;case`(`:return t===`)`?o.ROUNDED_RECT:o.CLOUD;case`((`:return o.CIRCLE;case`)`:return o.CLOUD;case`))`:return o.BANG;case`{{`:return o.HEXAGON;default:return o.DEFAULT}}var c=/\s+/y,l=/.+/y,u=/[^([\n){}]+/y,d=/[^([\n){}@]+/y,f=/[^)\](}]+/y,p=/[^`"]+/y,m=/[^}^"]+/y,h=/\n\s*/g;function g(e,t,n){for(let r=0;r<n.length;r++)if((e.charCodeAt(t+r)|32)!==n.charCodeAt(r))return!1;return!0}function _(e,t){let n=e.length,i=[],a=[],o=[],s=t?`kanban`:`mindmap`,_=t?d:u,v=0,y=0,b=-1,x=(e,t,n)=>{i.push(e),a.push(t),o.push(y),y=n},S=(t,n,r)=>{x(t,e.slice(y,n),n),v=r},C=(t,n)=>(t.lastIndex=n,t.test(e)?t.lastIndex:-1),w=t=>{let r=e.indexOf(t,y);return r===-1?n:r};for(;y<n;){let n=e.charCodeAt(y),i=e.charCodeAt(y+1),a;if(v===0){let o=n<=32||n>=160?Math.max(C(c,y),y):y;if(t&&n===64&&i===123)x(13,``,y+2),v=6;else if(e.charCodeAt(o)===37&&e.charCodeAt(o+1)===37)S(2,C(l,o),0);else if(o>y)b<y&&(b=w(`
2
+ `)),b>=o?S(6,o,0):(a=e.lastIndexOf(`
3
+ `,o-1))>y?S(2,a+1,0):S(3,y+1,0);else if(g(e,y,s)&&!r(e.charCodeAt(y+s.length)))S(5,y+s.length,0);else if(n===58&&i===58&&e.charCodeAt(y+2)===58)y+=3,v=1;else if(n===58&&i===58&&g(e,y+2,`icon`)&&e.charCodeAt(y+6)===40)y+=7,v=2;else if(n===45&&i===41||n===40&&(i===45||i===40)||(n===41||n===123)&&i===n)S(9,y+2,3);else if(n===41||n===40||n===91)S(9,y+1,3);else if((a=C(_,y))!==-1)S(10,a,0);else break}else if(v===3)n===34?(v=i===96?5:4,y+=i===96?2:1):n===41||n===40?S(12,i===n||n===40&&i===45?y+2:y+1,0):n===93?S(12,y+1,0):n===125&&i===125||n===45&&i===41?S(12,y+2,0):S(11,C(n===125?l:f,y),3);else if(v===4)n===34?(y++,v=3):S(11,w(`"`),4);else if(v===5){if(n===96&&i===34)y+=2,v=3;else if((a=C(p,y))!==-1)S(11,a,5);else break}else if(v===1){if((a=C(l,y))!==-1)S(8,a,0);else if(n===10)y++,v=0;else break}else if(v===2)n===41?(y++,v=0):S(7,w(`)`),2);else if(v===6){if(n===34)S(13,y+1,7);else if(n===125)y++,v=0;else if((a=C(m,y))!==-1)S(13,a,6);else break}else n===34?S(13,y+1,6):(a=w(`"`),x(13,e.slice(y,a).replace(h,`<br/>`),a))}return y<n?x(1,``,y):(v===0&&x(4,``,n),x(0,``,n)),{types:i,texts:a,starts:o}}var v=`'SPACELINE', 'NL', 'EOF'`,y=/* @__PURE__ */ new Uint8Array(14);for(let e of[2,6,7,8,9,10])y[e]=1;function b(e){return e===2||e===3||e===4}function x(t,n,r){let i=r?`kanban`:`mindmap`,{types:o,texts:s,starts:c}=_(t,r),l=r?`, 'SHAPE_DATA'`:``,u=0,d=n=>{let s=o[u];throw s===1?e(i,t,c[u],``,!0):e(i,t,c[u],`Expecting ${n}, got '${a(s,r)}'`)},f=`'${a(5,r)}'`;if(o[u]===2){for(u++;o[u]===2||o[u]===3;)u++;o[u]!==5&&d(`'SPACELINE', 'NL', ${f}`)}else o[u]!==5&&d(`'SPACELINE', ${f}`);u++;let p=`'SPACELINE', 'NL', 'SPACELIST', 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'`;for(o[u]===3&&(u++,p=`'SPACELINE', 'SPACELIST', 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'`);;){let e=o[u],t=0,r=e===6;if(r&&(t=s[u++].length,e=o[u]),e===10||e===9){let r,i,a=0;if(e===10&&(r=s[u++]),o[u]===9){let e=s[u++];o[u]!==11&&d(`'NODE_DESCR'`),i=s[u++],o[u]!==12&&d(`'NODE_DEND'`);let t=s[u++];!b(o[u])&&o[u]!==13&&d(v+l),a=n.getType(e,t)}else!b(o[u])&&o[u]!==13&&d(v+`, 'NODE_DSTART'`+l),i=r;if(o[u]===13){let e=s[u++];for(;o[u]===13;)e+=s[u++];b(o[u])||d(v+l),n.addNode(t,r??i,i,a,e)}else n.addNode(t,r??i,i,a)}else if(e===7||e===8){let t=s[u++];b(o[u])||d(v),n.decorateNode(e===7?{icon:t}:{class:t})}else r?b(e)||d(v+`, 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'`):e===2?b(o[++u])||d(v):d(p);for(u++;o[u]===3||o[u]===4;)u++;if(o[u]===0)return;y[o[u]]===0&&d(v+`, 'SPACELIST', 'ICON', 'CLASS', 'NODE_DSTART', 'NODE_ID'`)}}function S(e,r,i,a,o){return`<svg class="pele-icon" data-icon="${n(e)}" x="${t(r)}" y="${t(i)}" width="${t(a)}" height="${t(a)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${o?.(e)??``}</svg>`}export{S as n,x as r,s as t};
@@ -0,0 +1,2 @@
1
+ import{d as e,f as t,i as n}from"./BGW36YJW-CJMhya8S.js";import{r,t as i}from"./DKTLEL5E-DciMwFJ1.js";import{u as a}from"./EFYWJBJK-CVywe_D5.js";import{r as o}from"./75JW6PN6-BFpDBuGN.js";import{C as s,E as c,F as l,f as u,h as d,s as f,t as p}from"./lazy-f3CuUNJZ.js";var m=class{type=`ishikawa`;title;root;stack=[];baseLevel;addNode(e,t){let n={text:t,children:[]};if(!this.root){this.root=n,this.stack=[{level:0,node:n}];return}this.baseLevel??=e;let r=Math.max(e-this.baseLevel+1,1),i=this.stack;for(;i.length>1&&i[i.length-1].level>=r;)i.pop();i[i.length-1].node.children.push(n),i.push({level:r,node:n})}},h=[`$end`,`EOF`,`SPACELINE`,`NL`,`ISHIKAWA`,`SPACELIST`,`TEXT`];function g(e,t){let n=0;for(;n<13;){let r=e.charCodeAt(t+n),i=`ishikawa-beta`.charCodeAt(n);if(r!==i&&(r+32!==i||r<65||r>90))break;n++}return n===13&&!p(e.charCodeAt(t+13))?13:n>=8&&!p(e.charCodeAt(t+8))?8:0}function _(e){let t=[],n=[],r=[],i=e.length,a=0;for(;a<i;){let o=a,s=-1;for(;o<i&&l(e.charCodeAt(o));)e.charCodeAt(o)===10&&(s=o),o++;let c,u;if(e.charCodeAt(o)===37&&e.charCodeAt(o+1)===37)for(c=2,u=o+2;u<i;){let t=e.charCodeAt(u);if(t===10||t===13||t===8232||t===8233)break;u++}else if(o===a){let t=g(e,a);t>0?(c=4,u=a+t):(c=6,u=e.indexOf(`
2
+ `,a),u===-1&&(u=i))}else s>a?(c=2,u=s+1):s===a?(c=3,u=a+1):(c=5,u=o);t.push(c),n.push(a),r.push(u),a=u}return t.push(1,0),n.push(i,i),r.push(i,i),{types:t,starts:n,ends:r}}var v=`'SPACELINE', 'NL', 'EOF'`;function y(e,t){let{types:n,starts:r,ends:i}=_(e),a=0,o=t=>{throw s(`ishikawa`,e,r[a],`Expecting ${t}, got '${h[n[a]]}'`)};if(n[a]===2){for(a++;n[a]===2||n[a]===3;)a++;n[a]!==4&&o(`'SPACELINE', 'NL', 'ISHIKAWA'`)}else n[a]!==4&&o(`'SPACELINE', 'ISHIKAWA'`);for(a++,n[a]===3&&a++;;){let s=n[a];if(s===6||s===5&&n[a+1]===6){let c=s===6?a:a+1;a=c+1,n[a]!==2&&n[a]!==3&&n[a]!==1&&o(v),t.addNode(s===6?0:i[c-1]-r[c-1],e.slice(r[c],i[c]).trim())}else s===2||s===5?(a++,n[a]!==2&&n[a]!==3&&n[a]!==1&&o(s===5?`${v}, 'TEXT'`:v)):o(`'SPACELINE', 'SPACELIST', 'TEXT'`);for(a++;n[a]===3||n[a]===1;)a++;if(n[a]===0)return}}var b=.5,x=Math.hypot(b,1),S=14,C=6,w=8,T=22,E=18,D=5,O=26,k=34,A=28,j=10,M=5;function N(e,t,r,i,a){let o=n(e.text,!1,r,i,180),s=Math.round(a*1.5),c=[],l=[],u=[],d=(e,n,r)=>{let i=e.length;for(let a=i-1;a>=0;a--)u.push({node:e[t?i-1-a:a],depth:n,parent:r,slot:a,bone:-1})};for(d(e.children,2,-1);u.length>0;){let e=u.pop();if(e.bone!==-1){l.push(e.bone);continue}let t=c.length;c.push({label:n(e.node.text,!1,r,a,200),depth:e.depth,parent:e.parent,slot:e.slot,kids:e.node.children.length,rise:0,at:0,textEnd:0}),e.depth%2==0?l.push(t):(e.bone=t,u.push(e)),d(e.node.children,e.depth+1,t)}let f=S;for(let e of l){let t=Math.max(c[e].label.height,s)+C;c[e].rise=f+t/2,f+=t}let p=o.width+2*j,m=p/2;for(let e of c){let t=e.parent===-1?void 0:c[e.parent];e.depth%2==0?(e.at=t?t.at:0,e.textEnd=e.at-(e.kids>0?(e.kids+1)*T:E)-D):(e.at=t.at-(t.kids-e.slot)*T,e.textEnd=e.at-D),m=Math.max(m,e.label.width-e.textEnd)}return{node:e,label:o,boxW:p,boxH:o.height+2*M,bones:c,rise:f+w,reach:m}}function P(e,t,n){return i(n,r=>F(e,t,n,r))}function F(r,i,o,s){let l=o.fontSize??16,p=Math.round(l*.875),m=o.measurer??f(o.fontFamily,o.fontFamilyMono),h=o.padding??8;if(s)return I(r,o);let g=r.root,_=n(r.title,!1,m,l,4e3,1),v=_.height>0?_.height+12:0,y=``,S=0,C=0,w=0,T=0;if(g){let e=n(g.text,!1,m,l,200,1),r=Math.max(e.height+24,48),i=e.width+24+r/2,o=g.children.map((e,t)=>N(e,t%2==0,m,l,p));for(let e of o)e.rise=Math.max(e.rise,r/2+14);let s=[],f=-k;for(let e=0;e<o.length;e+=2){if(e>0){let t=0;for(let n=0;n<2;n++){let r=o[e-2+n],i=o[e+n];r&&(t=Math.max(t,r.reach+(i?i.boxW/2:0)))}f-=t+O}s.push(f,f)}let h=o.length>0?f-A:-k;C=i,S=h,w=-r/2,T=r/2;let _=``;o.forEach((e,n)=>{let r=n%2==0?-1:1,i=s[n],o=(e,t)=>i+e-t*b,l=o(0,e.rise),f=r*e.rise,m=`M${c(i-b/x*7)},${c(r*7/x)}L${c(l)},${c(f)}`,h=``;for(let t of e.bones){let n=r*t.rise;if(t.depth%2==0)m+=`M${c(o(t.at,t.rise))},${c(n)}H${c(o(t.textEnd+D,t.rise))}`;else{let i=e.bones[t.parent].rise;m+=`M${c(o(t.at,i))},${c(r*i)}L${c(o(t.at,t.rise))},${c(n)}`}let i=o(t.textEnd,t.rise);h+=d(t.label,i-t.label.width/2,n,t.depth>2?` fill="var(--_m)"`:``),S=Math.min(S,i-t.label.width)}let g=f+r*(e.boxH/2);S=Math.min(S,l-e.boxW/2),C=Math.max(C,l+e.boxW/2),w=Math.min(w,g-e.boxH/2),T=Math.max(T,g+e.boxH/2),_+=`<g class="pele-ishikawa-category" data-id="${u(e.node.text)}"><path class="pele-ishikawa-bones" d="${m}" fill="none" stroke="var(--_l)"/>`+a(`arrow_point`,i,0,b/x,-r/x,`var(--_l)`)+`<rect x="${c(l-e.boxW/2)}" y="${c(g-e.boxH/2)}" width="${c(e.boxW)}" height="${c(e.boxH)}" fill="var(--_s)" stroke="var(--_b)"${t}/>`+d(e.label,l,g,` class="pele-label"`)+(h?`<g class="pele-ishikawa-causes" font-size="${p}">${h}</g>`:``)+`</g>`});let v=r/2;y=`<path class="pele-ishikawa-spine" d="M${c(h)},0H${c(-7)}" fill="none" stroke="var(--_l)"/>`+a(`arrow_point`,0,0,1,0,`var(--_l)`)+_+`<g class="pele-ishikawa-head" data-id="${u(g.text)}"><path d="M0,${c(-v)}H${c(i-v)}A${c(v)},${c(v)} 0 0 1 ${c(i-v)},${c(v)}H0Z" fill="var(--_s)" stroke="var(--_b)" stroke-linejoin="round"/>`+d(e,12+e.width/2,0,` class="pele-label" font-weight="var(--_hw)"`)+`</g>`}let E=Math.max(C-S,_.width),j=Math.ceil(E+2*h),M=Math.ceil(T-w+v+2*h),P=h+(E-(C-S))/2-S,F=h+v-w;return{svg:e(`ishikawa`,j,M,l,o,{},d(_,j/2,h+_.height/2,` class="pele-title" font-weight="var(--_tw)"`)+(y?`<g transform="translate(${c(P)},${c(F)})">${y}</g>`:``)),width:j,height:M,links:[]}}function I(t,i){let a=i.fontSize??16,s=Math.round(a*.875),l=i.measurer??f(i.fontFamily,i.fontFamilyMono),p=i.padding??8,m=Math.max(140,(i.maxWidth??320)-2*p),h=n(t.title,!1,l,a,r(i),1),g=[],_=t.root?[{node:t.root,depth:0,parent:-1}]:[],v=0;for(;_.length;){let e=_.pop(),t=g.length;g.push({...e,x:0,y:0,w:0,h:0}),v=Math.max(v,e.depth);for(let n=e.node.children.length-1;n>=0;n--)_.push({node:e.node.children[n],depth:e.depth+1,parent:t})}let y=Math.min(20,Math.max(2,(m-120)/Math.max(1,v))),b=p+(h.height?h.height+12:0),x=h.width,S=``,C=``;for(let e of g){e.x=p+e.depth*y;let t=Math.max(60,m-e.depth*y-20);e.label=o(n(e.node.text,!1,l,e.depth<2?a:s,t,+(e.depth<2)),l,t),e.w=e.label.width+20,e.h=e.label.height+12,e.y=b,b+=e.h+12,x=Math.max(x,e.x-p+e.w);let r=e.depth<2;if(S+=`<g class="pele-node ${e.depth===0?`pele-ishikawa-head`:e.depth===1?`pele-ishikawa-category`:`pele-ishikawa-cause`}" data-id="${u(e.node.text)}">`+(r?`<rect x="${c(e.x)}" y="${c(e.y)}" width="${c(e.w)}" height="${c(e.h)}" rx="${e.depth===0?12:4}" fill="var(--_s)" stroke="var(--_b)"/>`:``)+d(e.label,e.x+e.w/2,e.y+e.h/2,` class="pele-label"${e.depth<2?` font-weight="var(--_hw)"`:``}${e.depth>1?` font-size="${s}"`:``}`)+`</g>`,e.parent>=0){let t=g[e.parent],n=t.x+y/2;C+=`<path class="pele-edge" d="M${c(n)},${c(t.y+t.h)}V${c(e.y+e.h/2)}H${c(e.x)}" fill="none" stroke="var(--_b)"/>`}}let w=Math.ceil(x+2*p),T=Math.ceil(Math.max(p+h.height,b-12)+p),E=d(h,w/2,p+h.height/2,` class="pele-title" font-weight="var(--_tw)"`)+C+S;return{svg:e(`ishikawa`,w,T,a,i,{},E),width:w,height:T,links:[]}}var L={type:`ishikawa`,parse(e,t,n){let r=new m;return r.title=n,y(e,r),r},render:P};export{L as ishikawa};
@@ -0,0 +1 @@
1
+ import{B as e,C as t,F as n,G as r,I as i,J as a,N as o,R as s,S as c,T as l,W as u,b as d,k as f,tt as p,x as m,y as h}from"./ui-CFB4wQfF.js";import{L as g,o as _,s as v}from"./toast-Cuu2K0hx.js";import{t as y}from"./plural-Bspvoqfq.js";import{t as b}from"./index-D-xG9nrc.js";import{K as x,S,_ as C,a as w,c as T,d as E,dt as D,f as O,g as k,h as ee,i as A,l as j,lt as M,m as N,n as P,o as te,p as ne,r as F,s as I,st as L,t as R,u as z,y as B}from"./live-7q72Lyj2.js";var V=f(`<p class="muted tm-lede">A team takes work as a unit: its entry role receives tasks, its members hold roles, and its communication paths decide who may reach whom.`),H=f(`<p role=alert class=wt-error>`),U=f(`<p class=muted>Loading teams…`),W=f(`<div class=tm-empty-state><p>No teams yet.</p><button type=button class="btn primary">Create your first team`),G=f(`<ul class=tm-cards aria-label=Teams>`),K=f(`<label class="wt-check tm-archived-toggle"><input type=checkbox><span>Show `),q=f(`<button type=button class="btn small primary">New team`),J=f(`<span class="tm-badge warn">Paused`),Y=f(`<span class="tm-badge warn">Archived`),X=f(`<span class=tm-badge>Unpublished draft`),Z=f(`<span class=tm-warn> · `),re=f(`<div><dt class=sr-only>Work</dt><dd>`),ie=f(`<ul class=tm-tags aria-label=Tags>`),ae=f(`<li class=tm-card><div class=tm-card-head><a class=tm-card-title></a><span class=muted>#</span></div><div class=tm-badges><span></span></div><dl class=tm-card-facts><div><dt class=sr-only>Entry role</dt><dd>Entry role: </dd></div><div><dt class=sr-only>Members</dt><dd>`),oe=f(`<li>`),se=f(`<a class=tm-back href=/teams>← All teams`),ce=f(`<p class=tm-draft-note>'s roles or paths. <button type=button class=tm-linkish>Review them`),le=f(`<div class=tm-detail><section class=tm-head aria-label=Team><div class=tm-head-main><span class="muted tm-handle">#</span><div class=tm-badges><span></span><span class=tm-badge>Entry role: </span></div></div><div class="te-row tm-head-actions"><button type=button class="btn small"></button><button type=button class="btn small"></button><a class="btn small">Edit in Watchtower</a></div></section><div class=tm-tabs role=tablist aria-label="Team sections"></div><div class=tm-panel role=tabpanel>`),ue=f(`<p class=muted>Loading the team…`),de=f(`<span class=tm-tab-count>`),fe=f(`<button type=button role=tab class=tm-tab>`),pe=f(`<section class=tm-section aria-labelledby=tm-submit-h><h2 id=tm-submit-h>Submit a task`),me=f(`<section class=tm-section aria-labelledby=tm-intake-h><h2 id=tm-intake-h>Tasks`),he=f(`<section class=tm-section aria-labelledby=tm-live-h><h2 id=tm-live-h>Live now (version <!>)`),ge=f(`<section class=tm-section aria-labelledby=tm-mode-h><h2 id=tm-mode-h>Mode`),_e=f(`<section class=tm-section aria-labelledby=tm-roles-h><h2 id=tm-roles-h>Roles`),ve=f(`<section class=tm-section aria-labelledby=tm-paths-h><h2 id=tm-paths-h>Paths`),ye=f(`<p class=muted>Projects: `),be=f(`<section class=tm-section aria-labelledby=tm-details-h><h2 id=tm-details-h>Details`),xe=f(`<section class=tm-section aria-labelledby=tm-history-h><h2 id=tm-history-h>History`);function Q(t){return e(i,{get when(){return t.rest[0]},keyed:!0,get fallback(){return e(Se,{})},children:t=>e(Te,{id:t})})}function Se(){let[t,l]=a(),[d,f]=a(``),[m,h]=a(!1),[_,v]=a(!1),x=async()=>{try{let e=await C(`all`);l(t=>e.map(e=>t?.find(t=>t.id===e.id&&t.seatsFilled!==void 0)??L(e)).map((t,n)=>({...t,...e[n]}))),f(``);let t=[...e],n=async()=>{for(let e=t.shift();e;e=t.shift()){let t=e,n=await B(t.id).catch(()=>void 0);n&&l(e=>e?.map(e=>e.id===t.id?L(t,n.roster,n.intake):e))}};await Promise.all([n(),n(),n(),n()])}catch(e){f(e instanceof g&&e.status===404?`This hub doesn't have teams yet.`:M(e).message)}};p(()=>void x()),R(x,()=>(t()??[]).some(e=>(e.openIntake??0)>0));let S=u(()=>(t()??[]).filter(e=>_()||e.state!==`archived`)),w=u(()=>(t()??[]).filter(e=>e.state===`archived`).length);return e(b,{title:`Teams`,get actions(){return(()=>{var e=q();return e.$$click=()=>h(!0),r(()=>e.disabled=!!d()),e})()},get children(){return[V(),e(s,{get children(){return[e(n,{get when(){return d()},get children(){var e=H();return c(e,d),e}}),e(n,{get when(){return!t()},get children(){return U()}}),e(n,{get when(){return t().length===0},get children(){var e=W(),t=e.firstChild.nextSibling;return t.$$click=()=>h(!0),e}}),e(n,{get when(){return t()},get children(){return[(()=>{var t=G();return c(t,e(o,{get each(){return S().map(e=>e.id)},children:t=>e(i,{get when(){return S().find(e=>e.id===t)},children:t=>e(Ce,{get card(){return t()}})})})),t})(),e(i,{get when(){return w()},get children(){var e=K(),t=e.firstChild,n=t.nextSibling;return n.firstChild,t.addEventListener(`change`,e=>v(e.currentTarget.checked)),c(n,()=>y(w(),`archived team`),null),r(()=>t.checked=_()),e}})]}})]}}),e(P,{get open(){return m()},onClose:()=>h(!1)})]}})}function Ce(n){let a=()=>n.card;return(()=>{var n=ae(),s=n.firstChild,u=s.firstChild,f=u.nextSibling;f.firstChild;var p=s.nextSibling,m=p.firstChild,h=p.nextSibling,g=h.firstChild,_=g.firstChild.nextSibling;_.firstChild;var v=g.nextSibling.firstChild.nextSibling;return c(u,()=>a().title),c(f,()=>a().name,null),c(m,()=>a().mode===`open`?`Open`:`Restricted`),c(p,e(i,{get when(){return a().paused},get children(){return J()}}),null),c(p,e(i,{get when(){return a().state===`archived`},get children(){return Y()}}),null),c(p,e(i,{get when(){return a().hasDraft},get children(){return X()}}),null),c(_,()=>a().entryRole,null),c(v,(()=>{var e=t(()=>a().seatsFilled===void 0);return()=>e()?`${y(a().roles,`role`)}`:`${y(a().seatsFilled,`seat`)} filled`})(),null),c(v,e(i,{get when(){return a().vacantRoles.length},get children(){var e=Z();return e.firstChild,c(e,(()=>{var e=t(()=>a().vacantRoles.length===1);return()=>e()?`${a().vacantRoles[0]} vacant`:`${a().vacantRoles.length} roles vacant`})(),null),e}}),null),c(h,e(i,{get when(){return a().openIntake!==void 0},get children(){var e=re(),n=e.firstChild.nextSibling;return c(n,(()=>{var e=t(()=>!!a().openIntake);return()=>e()?`${y(a().openIntake,`open task`)}`:`No open work`})()),e}}),null),c(n,e(i,{get when(){return a().tags.length},get children(){var t=ie();return c(t,e(o,{get each(){return[...a().tags]},children:e=>(()=>{var t=oe();return c(t,e),t})()})),t}}),null),r(e=>{var t=!!a().paused,r=a().state===`archived`,i=F(a().id),o=`tm-badge tm-mode-${a().mode}`;return t!==e.e&&n.classList.toggle(`paused`,e.e=t),r!==e.t&&n.classList.toggle(`archived`,e.t=r),i!==e.a&&l(u,`href`,e.a=i),o!==e.o&&d(m,e.o=o),e},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}var $=[{id:`members`,label:`Members`},{id:`work`,label:`Work`},{id:`communication`,label:`Communication`},{id:`details`,label:`Details`}];function we(){let[e,t]=a(),n=()=>void S(x({window:`24h`},Date.now())).then(t).catch(()=>t(e=>e??{nodes:[],edges:[],at:Date.now()}));return p(n),Object.assign(e,{reload:n})}function Te(a){let f=we(),m=k(a.id,{intake:!0,onChanged:()=>f.reload()});p(()=>void m.load()),R(async()=>{await m.refresh()},m.openWork);let g=u(()=>{let e=_().searchParams.get(`tab`);return $.some(t=>t.id===e)?e:`members`}),y=e=>v(`${F(a.id)}${e===`members`?``:`?tab=${e}`}`,{replace:!0}),x=e=>{let t=$.findIndex(e=>e.id===g()),n=e.key===`ArrowRight`?(t+1)%$.length:e.key===`ArrowLeft`?(t+$.length-1)%$.length:e.key===`Home`?0:e.key===`End`?$.length-1:-1;n<0||(e.preventDefault(),y($[n].id),queueMicrotask(()=>document.getElementById(`tm-tab-${$[n].id}`)?.focus()))},S=()=>m.spec()?.title||m.team()?.title||`Team`;return e(b,{get title(){return t(()=>!!m.team())()?m.read().published.title||m.team().name:`Team`},get children(){return[se(),e(i,{get when(){return m.loadError()},get children(){var e=H();return c(e,()=>m.loadError()),e}}),e(i,{get when(){return t(()=>!!m.team())()&&m.spec()},get fallback(){return e(i,{get when(){return!m.loadError()},get children(){return ue()}})},get children(){var a=le(),u=a.firstChild,p=u.firstChild,_=p.firstChild;_.firstChild;var v=_.nextSibling,b=v.firstChild,C=b.nextSibling;C.firstChild;var w=p.nextSibling.firstChild,T=w.nextSibling,E=T.nextSibling,D=u.nextSibling,O=D.nextSibling;return h(a,`keydown`,m.onKey,!0),c(_,()=>m.team().name,null),c(b,()=>m.read().published.mode===`open`?`Open`:`Restricted`),c(C,()=>m.read().published.entryRole,null),c(v,e(i,{get when(){return m.team().paused},get children(){return J()}}),null),c(v,e(i,{get when(){return m.team().state===`archived`},get children(){return Y()}}),null),w.$$click=()=>void m.togglePause(),c(w,()=>m.team().paused?`Resume`:`Pause`),T.$$click=()=>void m.toggleArchive(),c(T,()=>m.team().state===`archived`?`Restore`:`Archive`),c(a,e(j,{get notice(){return m.notice()}}),D),c(a,e(i,{get when(){return t(()=>!!(m.dirty()||m.team().hasDraft))()&&(g()===`members`||g()===`work`)},get children(){var e=ce(),t=e.firstChild,n=t.nextSibling;return c(e,()=>m.dirty()?`You have unsaved changes to `:`An unpublished draft changes `,t),c(e,S,t),n.$$click=()=>y(`communication`),e}}),D),D.$$keydown=x,c(D,e(o,{each:$,children:n=>(()=>{var a=fe();return a.$$click=()=>y(n.id),c(a,()=>n.label,null),c(a,e(i,{get when(){return t(()=>n.id===`work`)()&&m.items()?.some(e=>e.status===`queued`||e.status===`routed`)},get children(){var e=de();return c(e,()=>m.items().filter(e=>e.status===`queued`||e.status===`routed`).length),e}}),null),r(e=>{var t=`tm-tab-${n.id}`,r=g()===n.id,i=`tm-panel-${n.id}`,o=g()===n.id?0:-1;return t!==e.e&&l(a,`id`,e.e=t),r!==e.t&&l(a,`aria-selected`,e.t=r),i!==e.a&&l(a,`aria-controls`,e.a=i),o!==e.o&&l(a,`tabindex`,e.o=o),e},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()})),c(O,e(s,{get children(){return[e(n,{get when(){return g()===`members`},get children(){return e(I,{c:m,get snap(){return f()}})}}),e(n,{get when(){return g()===`work`},get children(){return e(Ee,{c:m,get snap(){return f()}})}}),e(n,{get when(){return g()===`communication`},get children(){return e(De,{c:m})}}),e(n,{get when(){return g()===`details`},get children(){return e(ke,{c:m})}})]}})),r(e=>{var t=`tm-badge tm-mode-${m.read().published.mode}`,n=m.busy()||m.team().state===`archived`,r=m.busy(),i=`/watchtower?view=2d&group=team&edit=${encodeURIComponent(m.team().id)}`,a=`tm-panel-${g()}`,o=`tm-tab-${g()}`;return t!==e.e&&d(b,e.e=t),n!==e.t&&(w.disabled=e.t=n),r!==e.a&&(T.disabled=e.a=r),i!==e.o&&l(E,`href`,e.o=i),a!==e.i&&l(O,`id`,e.i=a),o!==e.n&&l(O,`aria-labelledby`,e.n=o),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),a}})]}})}function Ee(t){return[(()=>{var n=pe();return n.firstChild,c(n,e(ne,{get c(){return t.c}}),null),n})(),(()=>{var n=me();return n.firstChild,c(n,e(te,{get c(){return t.c},get snap(){return t.snap}}),null),n})()]}function De(t){let n=t.c;return[e(N,{c:n}),e(w,{c:n}),(()=>{var t=he(),r=t.firstChild,i=r.firstChild.nextSibling;return i.nextSibling,c(r,()=>n.team().version,i),c(t,e(E,{c:n}),null),t})(),(()=>{var t=ge();return t.firstChild,c(t,e(T,{get value(){return n.spec().mode},onChange:e=>n.apply(Oe(n,e)),get name(){return`tm-mode-${n.id}`}}),null),t})(),(()=>{var t=_e();return t.firstChild,c(t,e(O,{c:n}),null),t})(),(()=>{var t=ve();return t.firstChild,c(t,e(z,{c:n}),null),t})()]}var Oe=(e,t)=>D(e.spec(),t);function ke(t){let n=t.c;return[e(N,{c:n}),e(w,{c:n}),(()=>{var t=be();return t.firstChild,c(t,e(A,{c:n}),null),c(t,e(i,{get when(){return n.read().published.projects?.length},get children(){var e=ye();return e.firstChild,c(e,()=>n.read().published.projects.join(`, `),null),e}}),null),t})(),(()=>{var t=xe();return t.firstChild,c(t,e(ee,{c:n}),null),t})()]}m([`click`,`keydown`]);export{Q as default};
@@ -0,0 +1,5 @@
1
+ import{d as e,f as t,i as n,l as r,m as i,n as a,o,u as s}from"./BGW36YJW-CJMhya8S.js";import{r as c}from"./DKTLEL5E-DciMwFJ1.js";import{t as l}from"./NT5JY5WP-1lJM-aun.js";import{i as u,s as d,t as f}from"./QQW2P742-BbcEkpa4.js";import{n as p,r as m,t as h}from"./S63OEDPG-CKlhpvl2.js";import{E as g,M as _,d as ee,f as v,h as y,s as te,u as b,v as x,w as S}from"./lazy-f3CuUNJZ.js";var C=class{type=`kanban`;title;sections=[];getType=h;last;sectionLevel=0;misplaced;addNode(e,t,n,r,i){let a={id:t,level:e,label:n};if(i!==void 0){let e=i.includes(`
2
+ `)?i+`
3
+ `:`{
4
+ `+i+`
5
+ }`,t;try{t=_(e)}catch(e){throw new b(`Metadata of "${a.id}" is not valid YAML. ${e.message}`,`syntax`,{type:`kanban`})}if(typeof t==`object`&&t&&!Array.isArray(t)){let e=t.shape?String(t.shape):``;if(e!==e.toLowerCase()||e.includes(`_`))throw new b(`No such shape: ${e}. Shape names should be lowercase.`,`semantic`,{type:`kanban`});t.label&&(a.label=String(t.label)),t.icon&&(a.icon=String(t.icon)),t.assigned&&(a.assigned=String(t.assigned)),t.ticket&&(a.ticket=String(t.ticket)),t.priority&&(a.priority=String(t.priority))}}if(this.misplaced)throw new b(`Items without section detected, found section ("${this.misplaced.label}")`,`semantic`,{type:`kanban`});let o=this.sections;if(o.length===0&&(this.sectionLevel=e),this.last=a,e===this.sectionLevel){let e=a;e.items=[],o.push(e)}else o[o.length-1].items.push(a),e<this.sectionLevel&&(this.misplaced=a)}decorateNode(e){let t=this.last;!e||!t||(e.icon&&(t.icon=e.icon),e.class&&(t.cssClasses=e.class))}};function w(e,t){m(e,t,!0)}var T=12,E=8,D=10,O=8,ne=4,k=6,re=/* @__PURE__ */ new Map([[`very high`,`stroke="${r}"`],[`high`,`stroke="${r}" opacity="0.5"`],[`low`,`stroke="var(--_m)" opacity="0.5"`],[`very low`,`stroke="var(--_m)"`]]);function A(e,t,r,a,o,s=0){let c=n(e,t,r,a,o,s);if(c.width<=o)return c;let l=[],u=[],d=0,f=[],p=0,m=()=>{l.push(f),u.push(p),d=Math.max(d,p),f=[],p=0};for(let e=0;e<c.lines.length;e++)if(c.widths[e]<=o)f=c.lines[e],p=c.widths[e],m();else{for(let t of c.lines[e]){if(t.icon!==void 0||t.math){p>0&&p+t.width>o&&m(),f.push(t),p+=t.width;continue}let e=``,n=p;for(let i of t.text){let s=r.width(i,a,t.style);p>0&&p+s>o&&(e&&f.push({text:e,style:t.style,width:p-n}),m(),e=``,n=0),e+=i,p+=s}e&&f.push({text:e,style:t.style,width:p-n})}m()}let h={...c,lines:l,widths:u,width:d,height:l.length*c.lineHeight};return c.heights?i(h):h}function j(e,t,n,r,i,a=!1){let c=``;for(let l=0;l<e.lines.length;l++){let u=e.lines[l],d=n+o(e,l);if(u.length===1&&u[0].icon===void 0&&u[0].math===void 0&&!(u[0].style&56))c+=`<text${S(r,u[0].style)} x="${g(t)}" y="${g(d+e.size*.35)}"${a?` text-anchor="end"`:``}>${ee(u[0].text)}</text>`;else{let n=e.widths[l];c+=y(s(e,l),t+(a?-n:n)/2,d,r,i)}}return c}var M=e=>!!e&&x(e)!==``;function N(r,i,o){let s=o.fontSize??16,m=Math.round(s*.875),h=Math.round(s*1.5),_=Math.round(m*1.5),b=o.measurer??te(o.fontFamily,o.fontFamilyMono),x=o.padding??8,S=o.icons,C=i.kanban??{},w=C.sectionWidth,N=m*1.25,P=0,F=(e,t,r)=>{if(e&&e.includes(`$$`))for(let i of n(e,!0,b,t,1/0).lines)for(let e of i)e.math&&(P=Math.max(P,e.math.width+r))};for(let e of r.sections){let t=b.width(String(e.items.length),m,0);F(e.label,s,2*E+8+t+12+(M(e.icon)?N+k:0));for(let t of e.items){let e=2*(E+D);F(t.label,m,e+(M(t.icon)?N+k:0)),F(t.ticket,m,e),F(t.assigned,m,e)}}let I=Math.max(typeof w==`number`&&w>0?Math.min(Math.max(w,80),2e3):200,Math.ceil(P)),L=o.maxWidth!==void 0&&o.maxWidth>0?o.maxWidth-2*x:1/0,ie=r.sections.length,ae=ie*(I+T)-T<=L,R=ae?Math.max(ie,1):Math.max(1,Math.floor((L+T)/(I+T))),z=ae?I:Math.max(Math.min(I,L),Math.min(Math.floor((L+T)/R)-T,I*2),Math.ceil(P)),oe=typeof C.ticketBaseUrl==`string`?C.ticketBaseUrl:``,B=z-2*E,V=B-2*D,H=[],U=r.sections,W=[],G=[],K=[],q=h,J=[];for(let e of U){let t=b.width(String(e.items.length),m,0),n=t+12+(M(e.icon)?N+k:0),r=A(e.label,!0,b,s,B-8-n,1);q=Math.max(q,r.height),G.push(t),W.push(r);let i=[],a=0;for(let t of e.items){let e=A(t.label,!0,b,m,V-(M(t.icon)?N+k:0)),n=A(t.ticket,!1,b,m,V),r=A(t.assigned,!1,b,m,V),o=n.width+r.width+8>V?n.height+r.height:Math.max(n.height,r.height),s=2*D+Math.max(e.height,_)+(o?ne+o:0);i.push({item:t,label:e,ticket:n,assigned:r,meta:o,height:s}),a+=s+O}K.push(i),J.push(a)}q+=2*E;let Y=[],X=[];for(let e=0,t=0;e<U.length;e+=R){let n=O;for(let t=e;t<Math.min(e+R,U.length);t++)n=Math.max(n,J[t]);X.push(t),Y.push(q+n),t+=q+n+T}let se=Y.length>0?X[X.length-1]+Y[Y.length-1]:0,Z=l(r.title,b,s,c(o)),ce=Z.height>0?Z.height+16:0,le=Math.max(Math.min(U.length,R)*(z+T)-T,0),ue=Math.max(le,Z.width),de=x+(ue-le)/2,Q=z-E-4,fe=``;for(let e=0;e<U.length;e++){let n=U[e],r=Math.floor(e/R),i=`<rect width="${z}" height="${g(Y[r])}" fill="var(--_s)"${t}/>`+j(W[e],E+4,E,` class="pele-cluster-label" font-weight="var(--_hw)"`,S)+`<text class="pele-count" x="${Q}" y="${g(E+h/2+m*.35)}" text-anchor="end" font-size="${m}" fill="var(--_m)">${n.items.length}</text>`;M(n.icon)&&(i+=p(n.icon,Q-G[e]-k-N,E+(h-N)/2,N,S));let s=q;for(let n of K[e]){let e=n.item,r=(e.priority??``).trim().toLowerCase(),c=re.get(r),l=`<rect width="${B}" height="${g(n.height)}" fill="var(--_bg)" stroke="var(--_b)"${t}/>`;c!==void 0&&(l+=`<path class="pele-priority" d="M2.5,5V${g(n.height-5)}" fill="none" ${c} stroke-width="3" stroke-linecap="round"/>`),l+=j(n.label,D,D,` class="pele-label"`,S),M(e.icon)&&(l+=p(e.icon,B-D-N,D+(_-N)/2,N,S));let h=n.height-D;if(e.ticket){let t=h-n.meta,r=oe?d(f(oe.replace(`#TICKET#`,()=>e.ticket)),o):void 0;r===void 0?l+=j(n.ticket,D,t,` class="pele-ticket" fill="var(--_m)"`,S):(l+=`<a href="${ee(r)}" target="_blank"${u(o)}>`+j(n.ticket,D,t,` class="pele-ticket" fill="var(--_c)"`,S)+`</a>`,H.push({id:e.id,href:r,internal:!1}))}e.assigned&&(l+=j(n.assigned,B-D,h-n.assigned.height,` class="pele-assigned" fill="var(--_m)"`,S,!0)),i+=`<g class="pele-node pele-card${c===void 0?``:` pele-priority-`+r.replace(` `,`-`)}${a(e.cssClasses??``)}" data-id="${v(e.id)}" transform="translate(${E},${g(s)})" font-size="${m}">${l}</g>`,s+=n.height+O}fe+=`<g class="pele-cluster pele-column${a(n.cssClasses??``)}" data-id="${v(n.id)}" transform="translate(${g(de+e%R*(z+T))},${g(x+ce+X[r])})">${i}</g>`}let $=Math.ceil(ue+2*x),pe=Math.ceil(se+ce+2*x),me=y(Z,$/2,x+Z.height/2,` class="pele-title" font-weight="var(--_tw)"`)+fe;return{svg:e(`kanban`,$,pe,s,o,{},me),width:$,height:pe,links:H}}var P={type:`kanban`,math:!0,parse(e,t,n){let r=new C;return r.title=n,w(e,r),r},render:N};export{P as kanban};
@@ -0,0 +1 @@
1
+ import{s as e}from"./EXE5EH6O-DR1IHCTr.js";var t=/[\t ]*accDescr(?:[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)|\s*({))/y;function n(){let e=!1;return(n,r)=>{t.lastIndex=r;let i=t.exec(n);if(i===null)return-1;let a=t.lastIndex;if(i[1]===void 0)return a;if(e)return-1;let o=n.indexOf(`}`,a);return e=o===-1,o+1||-1}}function r(t=`ACC_DESCR`){return{...e,name:t,scanner:n}}export{r as t};
@@ -0,0 +1 @@
1
+ export{n as flowchart}from"./A4UD2L5Z-BQzcD9dU.js";
@@ -0,0 +1 @@
1
+ import{a as e,n as t,r as n,t as r,v as i,y as a}from"./EFYWJBJK-CVywe_D5.js";function o(e){return e===`BT`||e===`LR`||e===`RL`?e:`TB`}var s=4e4,c=400,l=500,u=1.5,d=4;function f(e,t,n,r){let i=[];for(let t of e)i.push(t.x,t.y,t.w,t.h);let a=[];for(let e of t)a.push(e.labelX,e.labelY);let o=[];for(let e of n){o.push(e.x,e.y);for(let t of e.ports)o.push(t.px,t.py)}return{nodes:i,routes:t.map(e=>e.route),labels:a,levels:o,total:r}}function p(e,t,n,r){t.forEach((t,n)=>{t.x=e.nodes[4*n],t.y=e.nodes[4*n+1],t.w=e.nodes[4*n+2],t.h=e.nodes[4*n+3]}),n.forEach((t,n)=>{t.route=e.routes[n],t.labelX=e.labels[2*n],t.labelY=e.labels[2*n+1]});let i=0;for(let t of r){t.x=e.levels[i++],t.y=e.levels[i++];for(let n of t.ports)n.px=e.levels[i++],n.py=e.levels[i++]}return e.total}var m=24,h=.5,g=3,_=2,v=Math.max(3,g,_+1),y=.62,b=128;function x(e){return e.tracks?1:e.straight?2:0}function S(t,n,r=0){let i=0;for(let e of n)e.src!==e.dst&&e.route.length>3&&(i+=(e.route.length/3-1)*v);let a=new Float64Array(i),o=new Float64Array(i),s=new Float64Array(i),c=new Float64Array(i),l=new Float64Array(i),u=new Float64Array(i),d=new Int32Array(i),f=new Uint8Array(i),p=0,x=1/0,S=-1/0,C=NaN,w=NaN,T=NaN,E=NaN,D=(e,t,n,r,i,m)=>{let h=p-1;n===T&&r===E&&(m===r&&w===r||i===n&&C===n)&&d[h]===e&&f[h]===t&&(n-C)*(i-n)+(r-w)*(m-r)>0&&(p--,n=C,r=w),C=n,w=r,T=i,E=m,f[p]=t,a[p]=Math.min(n,i),s[p]=Math.max(n,i),o[p]=n<=i?r:m,c[p]=n<=i?m:r,l[p]=Math.min(r,m),u[p]=Math.max(r,m),l[p]<x&&(x=l[p]),u[p]>S&&(S=u[p]),d[p++]=e};for(let t=0;t<n.length;t++){let i=n[t];if(i.src===i.dst)continue;let a=i.route,o=e=>Math.abs(a[e]-a[e-3])<.01||Math.abs(a[e+1]-a[e-2])<.01,s=e=>Math.abs(a[e]-a[e-3])+Math.abs(a[e+1]-a[e-2]),c=e=>r===0&&e>0&&e<a.length-3&&o(e)&&o(e+3)&&s(e)>=.01&&s(e+3)>=.01&&Math.abs(a[e]-a[e-3])<.01!=Math.abs(a[e+3]-a[e])<.01,l=a[0],u=a[1];for(let n=3;n<a.length;n+=3){let i=+(n===3)|(n===a.length-3?2:0),d=l,f=u,p=a[n],m=a[n+1];if(l=p,u=m,o(n)||r===2){if(!c(n)){D(t,i,d,f,p,m);continue}let e=c(n-3)?s(n)/2:s(n),r=c(n+3)?s(n+3)/2:s(n+3),o=(p-a[n-3])/s(n),h=(m-a[n-2])/s(n),g=(a[n+3]-p)/s(n+3),v=(a[n+4]-m)/s(n+3),b=p-o*e,x=m-h*e;D(t,i,d,f,b,x);let S=p-o*e*(1-y),C=m-h*e*(1-y),w=p+g*r*(1-y),T=m+v*r*(1-y);l=p+g*r,u=m+v*r;let E=i|(n+3===a.length-3?2:0),O=b,k=x;for(let e=1;e<=_;e++){let n=e/_,r=1-n,i=r*r*r*b+3*r*r*n*S+3*r*n*n*w+n*n*n*l,a=r*r*r*x+3*r*r*n*C+3*r*n*n*T+n*n*n*u;D(t,E,O,k,i,a),O=i,k=a}continue}if(r===1){let e=a[n+2]===0,r=e?d:(d+p)/2,o=e?(f+m)/2:f;D(t,i,d,f,r,o),D(t,i,r,o,e?p:r,e?o:m),D(t,i,e?p:r,e?o:m,p,m);continue}let h=a[n+2]===0,v=h?e(p-d,m-f):e(m-f,p-d),b=d,x=f;for(let e=1;e<=g;e++){let n=e/g,r=1-n,a=n*n*(3-2*n),o=3*v*n*r*r+3*(1-v)*n*n*r+n*n*n,s=d+(p-d)*(h?a:o),c=f+(m-f)*(h?o:a);D(t,i,b,x,s,c),b=s,x=c}}}let O=S>x?Math.round(Math.sqrt(p)):1,k=S>x?O/(S-x):0,A=e=>Math.min(O-1,Math.floor((e-x)*k)),j=new Int32Array(p),M=new Int32Array(O+1);for(let e=0;e<p;e++){j[e]=A(l[e]);for(let t=j[e],n=A(u[e]);t<=n;t++)M[t+1]++}for(let e=0;e<O;e++)M[e+1]+=M[e];let N=M.slice(0,O),P=new Int32Array(M[O]);for(let e=0;e<p;e++)for(let t=j[e],n=A(u[e]);t<=n;t++)P[N[t]++]=e;let F=new Float64Array(n.length*8),I=(e,t,n,r)=>Math.abs(e[t]-e[n])<h&&Math.abs(e[t]-e[r])<h||Math.abs(e[t+1]-e[n+1])<h&&Math.abs(e[t+1]-e[r+1])<h;for(let e=0;e<n.length;e++){let t=n[e].route;if(t.length<6)continue;let r=3;for(;r+3<t.length&&I(t,0,r,r+3);)r+=3;let i=t.length-3,a=i-3;for(;a>=3&&I(t,i,a,a-3);)a-=3;F.set([t[0],t[1],t[r],t[r+1],t[a],t[a+1],t[i],t[i+1]],e*8)}let L=(e,t,n,r)=>{let i=e*8+(t===1?0:4),a=F[i],o=F[i+1],s=F[i+2]-a,c=F[i+3]-o,l=s*s+c*c,u=l>0?Math.max(0,Math.min(1,((n-a)*s+(r-o)*c)/l)):0;return Math.hypot(n-a-u*s,r-o-u*c)<h},R=0;for(let e=0;e<O;e++){let r=M[e+1];if(r-M[e]>b)P.subarray(M[e],r).sort((e,t)=>a[e]-a[t]||e-t);else for(let t=M[e]+1;t<r;t++){let n=P[t],r=t;for(;r>M[e]&&a[P[r-1]]>a[n];r--)P[r]=P[r-1];P[r]=n}for(let i=M[e];i<r;i++){let p=P[i],h=s[p]-a[p],g=c[p]-o[p],_=j[p]===e;for(let v=i+1;v<r;v++){let r=P[v];if(a[r]>s[p])break;if(u[r]<l[p]||l[r]>u[p]||d[p]===d[r]||!_&&j[r]!==e)continue;let i=h*(o[r]-o[p])-g*(a[r]-a[p]),y=h*(c[r]-o[p])-g*(s[r]-a[p]);if(i>0==y>0)continue;let b=s[r]-a[r],x=c[r]-o[r],S=b*(o[p]-o[r])-x*(a[p]-a[r]),C=b*(c[p]-o[r])-x*(s[p]-a[r]);if(S>0==C>0)continue;let w=n[d[p]],T=n[d[r]],E=S/(S-C),D=a[p]+E*h,O=o[p]+E*g,k=(e,n,i)=>(f[p]&n)!==0&&(f[r]&i)!==0||Math.abs(D-t[e].x)<t[e].w/2+m&&Math.abs(O-t[e].y)<t[e].h/2+m||L(d[p],n,D,O)&&L(d[r],i,D,O);w.src===T.src&&k(w.src,1,1)||w.src===T.dst&&k(w.src,1,2)||w.dst===T.src&&k(w.dst,2,1)||w.dst===T.dst&&k(w.dst,2,2)||R++}}}return R}function C(e,t){let n=t=>{let n=/* @__PURE__ */ new Set;for(let r=e[t].parent;r>=0&&!n.has(r);r=e[r].parent)n.add(r);return n};for(let[r,i]of t){if(r<0||i<0||r===i)continue;let t=n(r),a=n(i);for(let n of t)a.has(n)||(e[n].dir=void 0);for(let n of a)t.has(n)||(e[n].dir=void 0)}}function w(e,t,n,r){for(let t of e)t.x+=n,t.y+=r;for(let e of t){for(let t=0;t<e.route.length;t+=3)e.route[t]+=n,e.route[t+1]+=r;e.labelX+=n,e.labelY+=r}}function T(e,t,n=-1){return{w:e,h:t,parent:n,isGroup:!1,dir:void 0,padX:0,padTop:0,padBottom:0,minW:0,seq:0,span:0,x:0,y:0}}function E(e){return e===`TB`?0:e===`BT`?2:e===`LR`?3:1}function D(e){return e+2&3}function O(e,o,m,g){let _=e.length,v=/* @__PURE__ */ new Map,y=[],b=(e,t)=>{let n={id:e,dir:t,items:[],edges:[],ports:[],portOf:/* @__PURE__ */ new Map,routes:/* @__PURE__ */ new Map,x:0,y:0};return v.set(e,n),n},C=b(-1,m),w=[];for(let e=0;e<_;e++)w.push([]);let T=[];for(let t=0;t<_;t++){let n=e[t].parent;n>=0&&n<_&&n!==t&&e[n].isGroup?w[n].push(t):(e[t].parent=-1,T.push(t))}C.items=T,y.push(C);let O=new Int32Array(_),k=new Uint8Array(_),A=t=>{for(let n=t;n<y.length;n++){let t=y[n];for(let n of t.items)if(k[n]=1,O[n]=t.id<0?0:O[t.id]+1,e[n].isGroup){let r=b(n,e[n].dir??t.dir);r.items=w[n],y.push(r)}}};A(0);for(let t=0;t<_;t++){if(k[t])continue;let n=e[t].parent;if(w[n]=w[n].filter(e=>e!==t),e[t].parent=-1,C.items.push(t),k[t]=1,O[t]=0,e[t].isGroup){let n=y.length,r=b(t,e[t].dir??m);r.items=w[t],y.push(r),A(n)}}for(let t=y.length-1;t>0;t--){let n=y[t],r=1/0;for(let t of n.items)e[t].seq<r&&(r=e[t].seq);r!==1/0&&(e[n.id].seq=r)}for(let t of y)t.items.sort((t,n)=>e[t].seq-e[n].seq||t-n);let j=0;for(let t of o){let n=t.src,r=t.dst,i=0;for(;O[n]>O[r];i++)n=e[n].parent;for(;O[r]>O[n];i++)r=e[r].parent;for(;n!==r&&e[n].parent!==e[r].parent;i+=2)n=e[n].parent,r=e[r].parent;n!==r&&(j+i>s?(t.src=n,t.dst=r):j+=i)}let M=[],N=[];for(let t=0;t<o.length;t++){let n=o[t];if(n.route=[],n.src===n.dst){M.push(t);continue}let r=n.src,i=n.dst,a=[],s=[];for(;O[r]>O[i];)a.push(r),r=e[r].parent;for(;O[i]>O[r];)s.push(i),i=e[i].parent;if(r===i)N.push(t);else{for(;e[r].parent!==e[i].parent;)a.push(r),s.push(i),r=e[r].parent,i=e[i].parent;v.get(e[r].parent).edges.push({e:t,a:r,b:i});for(let[n,r]of[[a,!0],[s,!1]])for(let i of n){let n=v.get(e[i].parent),a={e:t,inner:i,out:r,side:0,hint:NaN,px:0,py:0,route:[]};n.ports.push(a),n.portOf.set(t*2+ +!r,a)}}}let P=new Int32Array(_),F=(e,t,n)=>(n?t.src:t.dst)!==e,I=(t,i)=>{let a=t.dir===`TB`||t.dir===`BT`,s=E(t.dir),c=[],l=[];t.items.forEach((t,n)=>{P[t]=n;let o=e[t],s=i?r(a?o.w:o.h,a?o.h:o.w):r(0,0);s.span=o.isGroup?Math.min(o.span,s.w-2*o.padX):o.span,s.key=z?R[t]:NaN,c.push(s)});let u=(t,n,r)=>e[t].isGroup&&F(t,o[n],r),d=(t,n,r)=>{if(!i||!e[t].isGroup||!F(t,o[n],r))return 0;let s=v.get(t).portOf.get(n*2+ +!r);return a?s.px-e[t].w/2:s.py-e[t].h/2};for(let e of t.edges){let t=o[e.e],r=n(P[e.a],P[e.b],t.minlen);i&&(r.labelW=a?t.labelW:t.labelH,r.labelH=a?t.labelH:t.labelW,r.tailDx=d(e.a,e.e,!0),r.headDx=d(e.b,e.e,!1),r.tailFixed=u(e.a,e.e,!0),r.headFixed=u(e.b,e.e,!1)),l.push(r)}let f=new Int32Array(t.ports.length).fill(-1);return t.ports.forEach((e,i)=>{if(e.side===s||e.side===D(s)){let a=c.length,p=r(0,0,e.side===s?3:4);p.key=z?R[e.out?o[e.e].dst:o[e.e].src]:NaN,p.hint=Number.isNaN(e.hint)&&z&&V?V(t,e):e.hint,c.push(p),f[i]=a;let m=e.out?n(P[e.inner],a):n(a,P[e.inner]);e.out?(m.tailDx=d(e.inner,e.e,!0),m.tailFixed=u(e.inner,e.e,!0)):(m.headDx=d(e.inner,e.e,!1),m.headFixed=u(e.inner,e.e,!1)),l.push(m)}else c[P[e.inner]].pin=e.side===0||e.side===3?-1:1}),{lnodes:c,ledges:l,dummies:f}},L=j>1&&j<=c&&o.length<=l,R=new Float64Array(_).fill(NaN),z=!1,B=0,V,H=y.length>1&&L;for(let e of y)e.dir!==m&&(H=!1);if(H){let t=m===`TB`||m===`BT`,i=new Int32Array(_).fill(-1),s=new Int32Array(_).fill(-1),c=[],l=[],u=[];for(let t=0;t<_;t++)e[t].isGroup&&(s[t]=u.length,u.push(-1));for(let n=0;n<_;n++){let a=e[n].parent;e[n].isGroup?u[s[n]]=a>=0?s[a]:-1:(i[n]=c.length,c.push(r(t?e[n].w:e[n].h,t?e[n].h:e[n].w)),l.push(a>=0?s[a]:-1))}let d=[],f=new Int32Array(o.length).fill(-1);o.forEach((e,r)=>{e.src===e.dst||i[e.src]<0||i[e.dst]<0||(f[r]=d.length,d.push(n(i[e.src],i[e.dst],e.minlen,t?e.labelW:e.labelH,t?e.labelH:e.labelW)))});let p=a(c,d,{...g,groups:{of:Int32Array.from(l),parent:Int32Array.from(u)},orderOnly:!0});B=Math.min(p.crossings??0,p.declared??0);let h=new Float64Array(_),v=new Int32Array(_),y=new Int32Array(_).fill(-1);for(let t=0;t<_;t++)if(!(i[t]<0)){R[t]=c[i[t]].x;for(let n=e[t].parent;n>=0;n=e[n].parent)h[n]+=R[t],v[n]++,y[n]=Math.max(y[n],c[i[t]].rank)}for(let e=0;e<_;e++)v[e]>0&&(R[e]=h[e]/v[e]);V=(e,t)=>{let n=f[t.e];if(n<0||e.id<0||!t.out||t.side!==D(E(e.dir)))return NaN;let r=d[n].points,i=R[o[t.e].src],a=0;for(let t=0;t<r.length;t+=2)r[t]===y[e.id]&&(i=r[t+1]),r[t]===y[e.id]+1&&(a=r[t+1]);return i+a*1e-6}}let U=/* @__PURE__ */ new Map,W=(e,t,n)=>{if(!L)return{lnodes:t,ledges:n,size:a(t,n,g)};let r=[];for(let e of t)r.push(e.w,e.h,e.kind,e.pin,e.hint,e.key,e.span);for(let e of n)r.push(e.tail,e.head,e.minlen,e.labelW,e.labelH,e.tailDx,e.headDx,+e.tailFixed,+e.headFixed);let i=U.get(e.id);i||U.set(e.id,i=[]);for(let e of i){let t=e.given.length===r.length;for(let n=0;t&&n<r.length;n++)t=Object.is(e.given[n],r[n]);if(t)return e}let o={given:r,lnodes:t,ledges:n,size:a(t,n,g)};return i.push(o),o},G={width:0,height:0},K=()=>{for(let n of y){for(let t of n.ports)e[t.inner].isGroup&&F(t.inner,o[t.e],t.out)&&(v.get(t.inner).portOf.get(t.e*2+ +!t.out).side=t.side);if(n.edges.length===0)continue;let r=!1;for(let t of n.edges){let n=o[t.e];(e[t.a].isGroup&&n.src!==t.a||e[t.b].isGroup&&n.dst!==t.b)&&(r=!0)}if(!r)continue;let{lnodes:a,ledges:s}=I(n,!1);t(a,s),i(a,s,1);let c=E(n.dir);n.edges.forEach((t,n)=>{let r=o[t.e],i=!s[n].reversed;e[t.a].isGroup&&r.src!==t.a&&(v.get(t.a).portOf.get(t.e*2).side=i?D(c):c),e[t.b].isGroup&&r.dst!==t.b&&(v.get(t.b).portOf.get(t.e*2+1).side=i?c:D(c))})}for(let t=y.length-1;t>=0;t--){let n=y[t],r=n.id>=0?e[n.id]:void 0,i=n.dir===`TB`||n.dir===`BT`,a=n.dir===`BT`||n.dir===`RL`,s=I(n,!0),{lnodes:c,ledges:l,size:u}=W(n,s.lnodes,s.ledges),d=s.dummies,f=i?u.width:u.height,p=i?u.height:u.width,m=r?r.padX:0,h=r?r.padTop:0,g=Math.max(f+2*m,r?r.minW:0),_=p+h+(r?r.padBottom:0),b=(g-f)/2,x=h,S=(e,t)=>b+(i?e:a?u.height-t:t),C=(e,t)=>x+(i?a?u.height-t:t:e),w=+!i,T=e=>{let t=[];for(let n=0;n<e.length;n+=2)t.push(S(e[n],e[n+1]),C(e[n],e[n+1]),w);return t};n.items.forEach((t,n)=>{e[t].x=S(c[n].x,c[n].y),e[t].y=C(c[n].x,c[n].y)}),n.edges.forEach((e,t)=>{let r=l[t];n.routes.set(e.e,T(r.points));let i=o[e.e];i.labelW>0&&(i.labelX=S(r.labelX,r.labelY),i.labelY=C(r.labelX,r.labelY))});let E=n.edges.length;n.ports.forEach((t,n)=>{let r=e[t.inner];if(d[n]>=0){let e=T(l[E++].points),n=t.out?e.length-3:0,r=e[n],i=e[n+1];t.side===0?i=0:t.side===2?i=_:r=t.side===3?0:g,t.out?e.push(r,i,w):e.unshift(r,i,w),t.px=r,t.py=i,t.route=e;return}let i=r.x,a=r.y;if(r.isGroup&&F(t.inner,o[t.e],t.out)){let e=v.get(t.inner).portOf.get(t.e*2+ +!t.out);i+=e.px-r.w/2,a+=e.py-r.h/2}else t.side===0?a-=r.h/2:t.side===2?a+=r.h/2:t.side===3?i-=r.w/2:i+=r.w/2;let s=i,c=a;t.side===0?c=0:t.side===2?c=_:s=t.side===3?0:g;let u=t.side===0||t.side===2?0:1;t.px=s,t.py=c,t.route=t.out?[i,a,u,s,c,u]:[s,c,u,i,a,u]}),r?(r.w=g,r.h=_):G={width:g,height:_}}for(let t of y){let n=t.x,r=t.y;for(let i of t.items){let t=e[i];if(t.x+=n,t.y+=r,t.isGroup){let e=v.get(i);e.x=t.x-t.w/2,e.y=t.y-t.h/2}}}let n=(e,t,n,r)=>{for(let i=0;i<t.length;i+=3){let a=t[i]+n,o=t[i+1]+r,s=e.length;s>=3&&Math.abs(e[s-3]-a)<.01&&Math.abs(e[s-2]-o)<.01||e.push(a,o,t[i+2])}};for(let t of y)for(let r of t.edges){let i=o[r.e],a=[],s=[];for(let n=i.src;e[n].parent!==t.id;n=e[n].parent)s.push(v.get(e[n].parent));for(let e of s)n(a,e.portOf.get(r.e*2).route,e.x,e.y);n(a,t.routes.get(r.e),t.x,t.y);let c=[];for(let n=i.dst;e[n].parent!==t.id;n=e[n].parent)c.push(v.get(e[n].parent));for(let e=c.length-1;e>=0;e--)n(a,c[e].portOf.get(r.e*2+1).route,c[e].x,c[e].y);i.route=a,i.labelW>0&&(i.labelX+=t.x,i.labelY+=t.y)}},q=x(g);z=H,K();let J=-1;if(H&&(J=S(e,o,q),J>B*u+d)){let t=f(e,o,y,G);z=!1,K();let n=S(e,o,q);n>=J?(z=!0,G=p(t,e,o,y)):J=n}if(z===H&&L){let t=!1;for(let n of y){if(n.id<0)continue;let r=e[n.id],i=n.dir===`TB`||n.dir===`BT`,a=D(E(n.dir)),s=[];for(let e of n.ports){if(e.side!==a)continue;let t=o[e.e].route,c=n.x+e.px,l=n.y+e.py,u=-1;for(let n=0;n<t.length&&(u<0||e.out);n+=3)Math.abs(t[n]-c)<.01&&Math.abs(t[n+1]-l)<.01&&(u=n);if(u<0)continue;let d=+!i,f=e.out?u+3:u-3;for(;f>=0&&f<t.length&&Math.abs(t[f+d]-t[u+d])<h;)f+=e.out?3:-3;f<0||f>=t.length||(e.hint=t[f+d]-(i?r.x-r.w/2:r.y-r.h/2),s.push([i?e.px:e.py,e.hint]))}s.sort((e,t)=>e[0]-t[0]);for(let e=1;e<s.length;e++)s[e-1][1]>s[e][1]&&(t=!0)}if(t){let t=J>=0?J:S(e,o,q),n=t>0?f(e,o,y,G):void 0;n&&(K(),S(e,o,q)>=t&&(G=p(n,e,o,y)))}}for(let t of N){let n=o[t],r=e[n.src],i=e[n.dst];n.route=[r.x,r.y,0,i.x,i.y,0],n.labelX=(r.x+i.x)/2,n.labelY=(r.y+i.y)/2}for(let t of M){let n=o[t],r=e[n.src];n.labelX=r.x+r.w/2+28+n.labelW/2,n.labelY=r.y}return G}export{T as a,o as i,C as n,O as r,w as t};
@@ -0,0 +1,7 @@
1
+ import{c as e,d as t,f as n,i as r,n as i}from"./BGW36YJW-CJMhya8S.js";import{o as a,r as o}from"./DKTLEL5E-DciMwFJ1.js";import{_ as s,g as c,h as l,n as u,p as d,r as f,t as p,u as m}from"./EXE5EH6O-DR1IHCTr.js";import{t as h}from"./V44WA6U7-DYfX3OlM.js";import{n as g,t as _}from"./75JW6PN6-BFpDBuGN.js";import{D as v,E as y,d as b,f as x,h as S,p as C,s as ee,u as w,y as T}from"./lazy-f3CuUNJZ.js";var E=/[─━│┃└┗├┣]/,D=/[└┗├┣]/,O=/[─━]/,k=/^[\s│┃]+$/,A=/^[\s─━│┃└┗├┣]+$/,j=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,M=/^\s*%%/,te=` `;function ne(e){return e.some(e=>E.test(e))}function N(e){for(let t of e){let e=D.exec(t);if(e?.index&&e.index>0)return e.index}return 4}function P(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{let r=t.get(parseInt(n,10));return r?`line ${r}`:e})}function F(e,t){let n=0;for(let r=1;r<t;r++)n=e.indexOf(`
2
+ `,n)+1;return n}function I(e,t,n){let{line:r}=C(e,F(e,t+1));throw new w(`Line ${r}: ${n}`,`syntax`,{type:`treeView`,line:r})}function L(e,t){let n=0;for(let r=0;n<e.length&&r<t;n++)r+=e[n]===` `?4:1;return n}function R(e){let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map;if(!E.test(e))return{text:e,lineMap:t,columns:n};let r=e.split(`
3
+ `),i=-1;for(let e=0;e<r.length;e++)if(r[e].trim()===`treeView-beta`){i=e;break}if(i===-1)return{text:e,lineMap:t,columns:n};let a=e=>e.trim()===``||M.test(e)||j.test(e),o=[];for(let e=i+1;e<r.length;e++){let t=r[e];a(t)||k.test(t)||o.push(t.replace(/\t/g,` `))}if(!ne(o))return{text:e,lineMap:t,columns:n};let s=N(o),c=[],l=(e,r,i)=>{c.push(e),t.set(c.length,r+1),i&&n.set(c.length,i)};for(let e=0;e<=i;e++)l(r[e],e);for(let t=i+1;t<r.length;t++){let n=r[t];if(a(n)){l(n,t);continue}if(k.test(n))continue;let i=n.replace(/\t/g,` `),o=D.exec(i);if(o){let r=Math.round(o.index/s)+1,a=o.index+1;for(;a<i.length&&O.test(i[a]);)a++;for(;a<i.length&&i[a]===` `;)a++;let c=i.slice(a).trimEnd();c||I(e,t,`Empty node — expected a filename or directory name after the box-drawing prefix`);let u=te.repeat(r);l(u+c,t,e=>L(n,a+Math.max(e-u.length,0)))}else{if(A.test(i))continue;E.test(i)?l(n,t):/^\s+/.test(i)?I(e,t,`Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`):l(n,t)}}return{text:c.join(`
4
+ `),lineMap:t,columns:n}}function z(e,t){if(e.startsWith(`##`,t)||e.startsWith(`icon(`,t))return!0;if(!e.startsWith(`:::`,t))return!1;let n=t+3;for(;T(e.charCodeAt(n));)n++;let r=e.charCodeAt(n);return r>=65&&r<=90||r>=97&&r<=122||r===95}function B(e,t){let n=e.charCodeAt(t);if(T(n)||n===10||n===13||n===34||n===39||e.startsWith(`:::`,t)||e.startsWith(`icon(`,t)||e.startsWith(`##`,t))return-1;let r=e.length,i=t+1;for(;i<r;){let t=e.charCodeAt(i);if(t===10||t===13)break;if(T(t)){let t=i+1;for(;T(e.charCodeAt(t));)t++;if(z(e,t))break;i=t}else i++}return i}var V={name:`BARE_NAME`,pattern:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/y,match:B},H=[{...d(`treeView-beta`),longer:[V]},h(),p,l(String.raw`(?!%%)[^\n\r]`),{name:`CLASS_ANNOTATION`,pattern:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/y},{name:`ICON_ANNOTATION`,pattern:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/y},{name:`DESC_ANNOTATION`,pattern:/[ \t]+##[^\n\r]*/y},{name:`INDENTATION`,pattern:/[ \t]{1,}/y},{name:`QUOTED_NAME`,pattern:/"[^"]*"|'[^']*'/y},{name:`WS`,pattern:/[ \t]+/y,hidden:!0},{name:`ML_COMMENT`,pattern:/\%\%[^\n]*/y,hidden:!0},{name:`NL`,pattern:/\r?\n/y,hidden:!0},V];function U(e){let t=e.length;for(;t>0&&T(e.charCodeAt(t-1));)t--;return t===e.length?e:e.slice(0,t)}function W(e,t){switch(e){case`INDENTATION`:return t?.length||0;case`QUOTED_NAME`:return t.substring(1,t.length-1);case`BARE_NAME`:return U(t);case`CLASS_ANNOTATION`:return t.trim().substring(3).trim();case`ICON_ANNOTATION`:{let e=t.trim();return e.substring(5,e.length-1)}case`DESC_ANNOTATION`:return t.trim().substring(2).trim();default:return}}function G(e){let t=new c(f(e,H,`treeView`),H,`treeView`),n={$type:`TreeView`,nodes:[]};for(t.expect(0);;)if(t.kind===1)n.accDescr=m(t.take());else if(t.kind===2)n.accTitle=u(t.take());else if(t.kind===3)n.title=s(t.take());else break;for(;t.kind!==-1;){let e={$type:`TreeNode`,name:``};if(t.kind===7&&(e.indent=t.take().length),t.kind===8){let n=t.take();e.name=n.substring(1,n.length-1)}else t.kind===12?e.name=U(t.take()):t.fail(`a name`);for(;;)if(t.kind===4)e.classAnnotation=W(`CLASS_ANNOTATION`,t.take());else if(t.kind===5)e.iconAnnotation=W(`ICON_ANNOTATION`,t.take());else if(t.kind===6)e.descAnnotation=W(`DESC_ANNOTATION`,t.take());else break;n.nodes.push(e)}return n}var K=class{count=1;root={id:0,level:-1,name:`/`,nodeType:`directory`,children:[]};stack=[this.root];addNode(e,t,n,r,i,a){let o=this.stack;for(;e<=o[o.length-1].level;)o.pop();let s={id:this.count++,level:e,name:t,nodeType:n,icon:i,cssClass:r,description:a,children:[]};o[o.length-1].children.push(s),o.push(s)}};function q(e,t){for(let n of e.nodes){let e=typeof n.indent==`number`?n.indent:0,r=n.name,i=r.endsWith(`/`);i&&(r=r.slice(0,-1));let a=n.iconAnnotation;t.addNode(e,r,i?`directory`:`file`,n.classAnnotation||void 0,a===void 0?void 0:a||`none`,n.descAnnotation||void 0)}}function J(e){let{text:t,lineMap:n,columns:r}=R(e);try{return G(t)}catch(i){if(!(i instanceof w)||t===e)throw i;let a=n.get(i.line);if(a===void 0)throw i;let o=i.column>0?r.get(i.line)?.(i.column-1)??i.column-1:0,s=C(e,F(e,a)+o),c=i.message.includes(`
5
+ `)?i.message.indexOf(`
6
+ `):i.message.length,l=i.message.slice(c),u=P(i.message.slice(0,c),/* @__PURE__ */ new Map([[i.line,s.line]]))+(i.snippet?l.replace(i.snippet,()=>s.snippet):l);throw new w(u,i.code,{type:i.type,line:s.line,column:i.column>0?s.column:0,snippet:i.snippet?s.snippet:``})}}function re(e,t){let n=new K;return q(e,n),{type:`treeView`,title:e.title||t,accTitle:e.accTitle?e.accTitle.replace(/^\s+/g,``):void 0,accDescr:e.accDescr?e.accDescr.replace(/\n\s+/g,`
7
+ `):void 0,root:n.root,count:n.count}}var Y=`mermaid-treeview`,X=/* @__PURE__ */ new Map([[`folder`,`M3 6.5A1.5 1.5 0 0 1 4.5 5h4.6l2.4 2.5h8A1.5 1.5 0 0 1 21 9v9a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 18z`],[`file`,`M6.5 3h7L19 8.5v11a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 5 19.5v-15A1.5 1.5 0 0 1 6.5 3zM13.5 3v5.5H19`]]);function Z(e,t){if(e===void 0||!Object.prototype.hasOwnProperty.call(e,t))return;let n=e[t];return typeof n==`string`?n:void 0}function ie(e,t){let n=Z(t?.filenameIcons,e);if(n)return n;let r=e.lastIndexOf(`.`);if(r>0){let n=e.substring(r).toLowerCase();return Z(t?.extensionIcons,n)??Z(t?.extensionIcons,n.slice(1))}}function ae(e,t){return e.includes(`:`)?e:X.has(e)||!t?`${Y}:${e}`:`${t}:${e}`}function oe(e,t){if(e.icon!==`none`){if(e.icon)return ae(e.icon,t.defaultIconPack);if(t.showIcons){if(e.nodeType===`file`){let n=ie(e.name,t);if(n===`none`)return;if(n)return ae(n,t.defaultIconPack)}return`${Y}:${e.nodeType===`directory`?`folder`:`file`}`}}}function se(e){let t=e=>typeof e==`object`&&e&&!Array.isArray(e)?e:void 0,n=t(e.treeView)??{};return{showIcons:!!n.showIcons,defaultIconPack:typeof n.defaultIconPack==`string`?n.defaultIconPack:``,filenameIcons:t(n.filenameIcons),extensionIcons:t(n.extensionIcons)}}var ce=6,le=16,ue=7,de=4,Q=4;function $(e,t,n,r,i){let a=e.treeView?.[t];return typeof a==`number`&&a>=r&&a<=i?a:n}function fe(e){return{paddingX:$(e,`paddingX`,5,0,100),paddingY:$(e,`paddingY`,2,0,100),rowIndent:$(e,`rowIndent`,15,0,400),lineThickness:$(e,`lineThickness`,1,.25,12)}}function pe(e,t,n){return a(n,r=>me(e,t,n,r))}function me(a,s,c,l){let u=c.fontSize??16,d=c.measurer??ee(c.fontFamily,c.fontFamilyMono),f=c.padding??8,p=se(s),m=Array.isArray(c.monospace)&&c.monospace.includes(`files`),h=m?` font-family="${e}"`:``,{paddingX:C,paddingY:w,rowIndent:T,lineThickness:E}=fe(s),D=0,O=a.root.children.map(e=>[e,0]);for(let e=0;l&&e<O.length;e++){let[t,n]=O[e];D=Math.max(D,n);for(let e of t.children)O.push([e,n+1])}let k=l?Math.min(T+C,Math.max(2,((c.maxWidth??320)-120)/Math.max(1,D))):T+C,A=Math.round(u*1.5)+2*w,j=u,M=r(a.title,!1,d,u,l?o(c):4e3,1),te=M.height>0?M.height+12:0,ne=e=>e.some(e=>oe(e,p)!==void 0),N=[],P=/* @__PURE__ */ new Map,F=[],I=(e,t)=>{let n=ne(e);for(let r=e.length-1;r>=0;r--)F.push([e[r],t,n])};I(a.root.children,0);let L=0,R=!1,z=0;for(;F.length>0;){let[e,t,n]=F.pop(),r=t*k,i=v(e.name),a=r+(n?j+ce:0),o=Math.max(40,(c.maxWidth??320)-2*f-2*Q-a),s=e.nodeType===`directory`|(m?4:0),h=l?_(i,d,u,o,s):void 0,g=l&&e.description?_(v(e.description),d,u,o,2):void 0,y=h?h.width:d.width(i,u,s);a+y>L&&(L=a+y);let b=e.cssClass!==void 0&&e.cssClass.split(/\s+/).includes(`highlight`);b&&(R=!0);let x=l?Math.max(A,(h?.height??0)+(g?.height??0)+2*w):A,S={node:e,x:r,cy:z+(l?w+Math.max(j,h?.height??0)/2:x/2),icon:oe(e,p),text:i,labelX:a,highlighted:b,label:h,description:g,top:z,height:x};z+=x,N.push(S),P.set(e,S),I(e.children,t+1)}let B=L+le,V=L;for(let e of N){let t=e.node.description;if(!t)continue;let n=e.description?e.description.width:d.width(v(t),u,2);V=Math.max(V,(l?e.labelX:B)+n)}V=Math.max(V,M.width);let H=f+(R?Q:0),U=f+te,W=Math.ceil(V+2*H),G=Math.ceil(U+z+f),K=``;for(let e of N){let t=e.node.children;if(t.length===0)continue;let n=H+e.x+ue,r=Math.max(n,H+e.x+k-C),i=U+P.get(t[t.length-1]).cy,a=Math.min(de,r-n),o=`M${y(n)},${y(U+e.top+e.height-2)}V${y(i-a)}`;a>0&&(o+=`Q${y(n)},${y(i)} ${y(n+a)},${y(i)}H${y(r)}`);for(let e=0;e<t.length-1&&r>n;e++)o+=`M${y(n)},${y(U+P.get(t[e]).cy)}H${y(r)}`;K+=`<path d="${o}"/>`}let q=u*.35,J=``;for(let e of N){let t=e.node,r=U+e.cy,a=t.nodeType===`directory`,o=``;if(e.highlighted){let t=H+e.x-Q;o+=`<rect class="pele-tree-highlight" x="${y(t)}" y="${y(U+e.top+1)}" width="${y(W-H+Q-t)}" height="${y(e.height-2)}" fill="var(--_c)" fill-opacity="0.14"${n}/>`}if(e.icon!==void 0){let t=e.icon.startsWith(Y+`:`)?e.icon.slice(Y.length+1):``,n=X.get(t)??X.get(a?`folder`:`file`),i=c.icons?.(e.icon)??`<path d="${n}" stroke="var(--_m)" stroke-width="1.5"/>`;o+=`<svg class="pele-icon" data-icon="${x(e.icon)}" x="${y(H+e.x)}" y="${y(r-j/2)}" width="${y(j)}" height="${y(j)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${i}</svg>`}e.label?o+=g(e.label,H+e.labelX,U+e.top+w,` class="pele-label"${a?` font-weight="var(--_hw)"`:``}${h}`):e.text!==``&&(o+=`<text class="pele-label" x="${y(H+e.labelX)}" y="${y(r+q)}"${a?` font-weight="var(--_hw)"`:``}${h} xml:space="preserve">${b(e.text)}</text>`),e.description?o+=g(e.description,H+e.labelX,U+e.top+w+(e.label?.height??0),` class="pele-tree-description" font-style="italic" fill="var(--_m)"`):t.description&&(o+=`<text class="pele-tree-description" x="${y(H+B)}" y="${y(r+q)}" font-style="italic" fill="var(--_m)" xml:space="preserve">${b(v(t.description))}</text>`),J+=`<g class="pele-node pele-tree-${a?`dir`:`file`}${i(t.cssClass??``)}" data-id="${x(t.name)}">${o}</g>`}let re=S(M,W/2,f+M.height/2,` class="pele-title" font-weight="var(--_tw)"`)+(K?`<g class="pele-tree-guides" fill="none" stroke="var(--_b)" stroke-width="${y(E)}">${K}</g>`:``)+J;return{svg:t(`treeView`,W,G,u,c,a,re),width:W,height:G,links:[]}}var he={type:`treeView`,parse:(e,t,n)=>re(J(e),n),render:pe};export{he as treeView};
@@ -0,0 +1,2 @@
1
+ import{d as e,f as t,i as n}from"./BGW36YJW-CJMhya8S.js";import{o as r,r as i}from"./DKTLEL5E-DciMwFJ1.js";import{_ as a,a as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,n as h,r as g,s as _,t as v,u as y}from"./EXE5EH6O-DR1IHCTr.js";import{l as b,s as x,u as S}from"./EFYWJBJK-CVywe_D5.js";import{E as C,f as w,h as T,s as E,u as D}from"./lazy-f3CuUNJZ.js";function O(e){throw new D(e,`semantic`,{type:`architecture`})}var k=class{type=`architecture`;title;accTitle;accDescr;nodes=/* @__PURE__ */ new Map;groups=/* @__PURE__ */ new Map;edges=[];layoutHints=[];registered=/* @__PURE__ */ new Map;register(e,t,n){this.registered.has(t)&&O(`The ${e} id [${t}] is already in use by another ${this.registered.get(t)}`),n!==void 0&&(t===n&&O(`The ${e} [${t}] cannot be placed within itself`),this.registered.has(n)||O(`The ${e} [${t}]'s parent does not exist. Please make sure the parent is created before this ${e}`),this.registered.get(n)===`node`&&O(`The ${e} [${t}]'s parent is not a group`)),this.registered.set(t,e===`group`?`group`:`node`)}addService({id:e,icon:t,iconText:n,title:r,in:i}){this.register(`service`,e,i),this.nodes.set(e,{id:e,type:`service`,icon:t,iconText:n,title:r,in:i})}addJunction({id:e,in:t}){this.register(`junction`,e,t),this.nodes.set(e,{id:e,type:`junction`,in:t})}addGroup({id:e,icon:t,title:n,in:r}){this.register(`group`,e,r),this.groups.set(e,{id:e,icon:t,title:n,in:r})}addEdge({lhsId:e,rhsId:t,lhsDir:n,rhsDir:r,lhsInto:i,rhsInto:a,lhsGroup:o,rhsGroup:s,title:c}){let l=[[`left`,e,o],[`right`,t,s]];for(let[e,t]of l)this.registered.has(t)||O(`The ${e}-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);for(let[e,t]of l)this.nodes.has(t)||O(`The ${e}-hand id [${t}] is a group. Add {group} to a service inside it instead.`);let u=this.nodes.get(e).in;if(u!==void 0&&u===this.nodes.get(t).in)for(let[e,t,n]of l)n&&O(`The ${e}-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);this.edges.push({lhsId:e,lhsDir:n,lhsInto:i,lhsGroup:o,rhsId:t,rhsDir:r,rhsInto:a,rhsGroup:s,title:c})}addLayoutHint(e){e.members.length<2&&O(`An align directive requires at least two members; got ${e.members.length}`);let t=/* @__PURE__ */ new Set;for(let n of e.members)this.registered.get(n)!==`node`&&O(`align ${e.direction} references [${n}], which is not a service or junction`),t.has(n)&&O(`align ${e.direction} lists [${n}] more than once`),t.add(n);this.layoutHints.push(e)}};function A(e,t){e.accDescr&&(t.accDescr=e.accDescr.replace(/\n\s+/g,`
2
+ `)),e.accTitle&&(t.accTitle=e.accTitle.replace(/^\s+/g,``)),e.title&&(t.title=e.title);for(let n of e.groups)t.addGroup(n);for(let n of e.services)t.addService(n);for(let n of e.junctions)t.addJunction(n);for(let n of e.edges)t.addEdge(n);for(let n of e.alignments)t.addLayoutHint({direction:n.direction,members:[...n.members]})}var j={name:`ID`,pattern:/[\w]([-\w]*\w)?/y};function M(e){return{name:e,pattern:e,longer:[j]}}var N=[M(`architecture-beta`),M(`junction`),M(`service`),M(`column`),M(`group`),M(`align`),M(`row`),{name:`--`,pattern:`--`,longer:[s]},M(`in`),{name:`:`,pattern:`:`},{name:`-`,pattern:`-`,longer:[s]},{name:`ARROW_DIRECTION`,pattern:/L|R|T|B/y},{name:`ARROW_GROUP`,pattern:/\{group\}/y},{name:`ARROW_INTO`,pattern:/<|>/y},_,v,d(String.raw`[-\w]*\w`),c,j,l,f,s,p,o,{name:`ARCH_ICON`,pattern:/\([\w-:]+\)/y},{name:`ARCH_TITLE`,pattern:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/y}];function P(e){let t=e.slice(1,-1).trim();return(t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))&&(t=t.slice(1,-1).replace(/\\"/g,`"`).replace(/\\'/g,`'`)),t.trim()}function F(e){let t=new u(g(e,N,`architecture`),N,`architecture`),n={$type:`Architecture`,groups:[],services:[],junctions:[],edges:[],alignments:[]},r=e=>t.kinds[t.i]===e,i=()=>{if(t.kind!==-1)for(t.kind!==19&&t.fail(`a line break or the end of input`);t.kind===19;)t.i++};for(;t.kind===19;)t.i++;for(t.expect(0);t.kind!==-1;){switch(t.kind){case 19:t.i++;continue;case 14:n.accDescr=y(t.take());break;case 15:n.accTitle=h(t.take());break;case 16:n.title=a(t.take());break;case 4:{t.i++;let e={$type:`Group`,id:t.expect(18)};r(24)&&(e.icon=t.take().slice(1,-1)),r(25)&&(e.title=P(t.take())),t.accept(8)&&(e.in=t.expect(18)),n.groups.push(e);break}case 2:{t.i++;let e={$type:`Service`,id:t.expect(18)};r(17)?e.iconText=m(t.take()):r(24)&&(e.icon=t.take().slice(1,-1)),r(25)&&(e.title=P(t.take())),t.accept(8)&&(e.in=t.expect(18)),n.services.push(e);break}case 1:{t.i++;let e={$type:`Junction`,id:t.expect(18)};t.accept(8)&&(e.in=t.expect(18)),n.junctions.push(e);break}case 18:{let e=t.take(),i=t.accept(12);t.expect(9);let a=t.expect(11),o=t.accept(13),s;t.accept(7)||(r(10)||t.fail(`'--' or '-'`),t.i++,s=P(t.expect(25)),t.expect(10));let c=t.accept(13),l=t.expect(11);t.expect(9);let u=t.expect(18),d=t.accept(12);n.edges.push({$type:`Edge`,lhsId:e,lhsGroup:i,lhsDir:a,lhsInto:o,title:s,rhsInto:c,rhsDir:l,rhsId:u,rhsGroup:d});break}case 5:{t.i++,!r(6)&&!r(3)&&t.fail(`'row' or 'column'`);let e=t.take(),i=[t.expect(18),t.expect(18)];for(;r(18);)i.push(t.take());n.alignments.push({$type:`Alignment`,direction:e,members:i});break}default:t.fail(`a group, a service, a junction, an edge, an alignment, a title, or a line break`)}i()}return n}var I=/* @__PURE__ */ new Map([[`database`,`M4 6a8 3 0 1 0 16 0a8 3 0 1 0-16 0M4 6v12a8 3 0 0 0 16 0V6M4 12a8 3 0 0 0 16 0`],[`server`,`M3 4h18v7H3zM3 13h18v7H3zM7 7.5h.01M7 16.5h.01M11 7.5h6M11 16.5h6`],[`disk`,`M5 3h14v18H5zM12 6.5a4 4 0 1 0 0 8a4 4 0 1 0 0-8M12 10.5h.01M8 18h3`],[`internet`,`M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0M3 12h18M12 3a13 13 0 0 0 0 18M12 3a13 13 0 0 1 0 18`],[`cloud`,`M7 18a4 4 0 0 1-.5-7.97A6 6 0 0 1 18 9.5a4.25 4.25 0 0 1-.5 8.5z`]]);function L(e){let t=I.get(e);return t===void 0?``:`<path d="${t}" stroke="var(--_fg)" stroke-width="1.5"/>`}var R=[-1,1,0,0],z=[0,0,-1,1];function ee(e){return e===`L`?0:e===`R`?1:e===`T`?2:3}var B=64,V=2**25,H=2**26;function te(e,t,n,r){let i=e.length,a=t.length,o=a,s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map,l=new Int32Array(i+a).fill(o),u=new Int32Array(a+1),d=[];for(let e=0;e<=a;e++)d.push([]);t.forEach((e,t)=>{c.set(e.id,t);let n=e.in===void 0?void 0:c.get(e.in);n!==void 0&&n!==t?(l[i+t]=n,u[t]=u[n]+1):u[t]=1}),e.forEach((e,t)=>{s.set(e.id,t);let n=e.in===void 0?void 0:c.get(e.in);n!==void 0&&(l[t]=n),d[l[t]].push(t)});for(let e=0;e<a;e++)d[l[i+e]].push(i+e);let f=[],p=[],m=[],h=[],g=[],_=[],v=Array(i+a),y=Array(i+a),b=(e,t,n,r,a)=>{if(e===t)return;let o=e,s=t,c=l[e],d=l[t];for(;c!==d;)u[c]>=u[d]?(o=i+c,c=l[o]):(s=i+d,d=l[s]);let v=f.length;f.push(e),p.push(t),m.push(n),h.push(r),g.push(o),_.push(s),(a[o]??=[]).push(v),(a[s]??=[]).push(v)};for(let e of r){let t=e.direction===`row`;for(let n=1;n<e.members.length;n++){let r=s.get(e.members[n-1]),i=s.get(e.members[n]);r!==void 0&&i!==void 0&&b(r,i,t?1:3,t?0:2,v)}}for(let e of[!1,!0])for(let t of n){if(t.lhsDir===t.rhsDir!==e)continue;let n=s.get(t.lhsId),r=s.get(t.rhsId);n!==void 0&&r!==void 0&&b(n,r,ee(t.lhsDir),ee(t.rhsDir),y)}let x=new Int32Array(i+a),S=new Int32Array(i+a),C=new Int32Array(i+a).fill(1),w=new Int32Array(i+a).fill(1),T=new Uint8Array(i+a),E=[],D=/* @__PURE__ */ new Map,O=[],k=/* @__PURE__ */ new Map,A=0,j=0,M=0,N=(e,t)=>{j=0,M=0;for(let n=e;n!==t;n=i+l[n])j+=x[n],M+=S[n]},P=(e,t,n)=>{if(x[e]=t,S[e]=n,T[e]=1,E.push(e),C[e]*w[e]>B)O.push(e);else for(let r=n;r<n+w[e];r++)for(let n=t;n<t+C[e];n++)D.set((n+V)*H+r+V,e)},F=(e,t,n,r,i)=>x[e]<t+r&&t<x[e]+C[e]&&S[e]<n+i&&n<S[e]+w[e],I=(e,t,n,r)=>{if(n*r>B){for(let i=A;i<E.length;i++)if(F(E[i],e,t,n,r))return E[i];return-1}for(let i=t;i<t+r;i++)for(let t=e;t<e+n;t++){let e=D.get((t+V)*H+i+V);if(e!==void 0)return e}for(let i of O)if(F(i,e,t,n,r))return i;return-1},L=(e,t,n,r,i,a)=>{let o=`${e},${t},${n},${r},${i},${a}`,s=k.get(o)??0;for(;;){let o=I(e+s*i,t+s*a,n,r);if(o<0)break;s=i>0?x[o]+C[o]-e:i<0?e+n-x[o]:a>0?S[o]+w[o]-t:t+r-S[o]}return k.set(o,s),s},te=(e,t)=>{let n=g[t]===e,r=n?_[t]:g[t];if(T[r])return;let i=n?m[t]:h[t],a=n?h[t]:m[t];N(n?f[t]:p[t],e);let o=j,s=M;N(n?p[t]:f[t],r);let c=R[i],l=z[i],u=0,d=0,v=R[i]+R[a]===0&&z[i]+z[a]===0;i===a?(c=+(R[i]===0),l=1-c):v||(u=-R[a],d=-z[a]);let b,E;if(c===0?(E=l>0?S[e]+w[e]:S[e]-w[r],b=x[e]+o+u-j):(b=c>0?x[e]+C[e]:x[e]-C[r],E=S[e]+s+d-M),v){let e=y[r];if(e!==void 0&&e.length>1){let t=[];for(let n of e){let e=_[n]===r,o=e?g[n]:_[n];if(!T[o]||(e?m[n]:h[n])!==i||(e?h[n]:m[n])!==a)continue;N(e?f[n]:p[n],o);let s=c===0?x[o]+j:S[o]+M;N(e?p[n]:f[n],r),t.push(s-(c===0?j:M))}t.length>1&&(t.sort((e,t)=>e-t),c===0?b=t[t.length-1>>1]:E=t[t.length-1>>1])}let t=+(c===0),n=1-t,o=L(b,E,C[r],w[r],t,n),s=o===0?0:L(b,E,C[r],w[r],-t,-n),l=o<=s?o:-s;b+=t*l,E+=n*l}else{let e=L(b,E,C[r],w[r],c,l);b+=c*e,E+=l*e}P(r,b,E)},U=e=>{let t=d[e];if(t.length===0)return;E.length=0;let n=[];for(let e of t){if(T[e])continue;A=E.length,n.push(A),D.clear(),O.length=0,k.clear(),P(e,0,0);let t=A,r=A,i=0;for(;;){if(t<E.length){let e=E[t++],n=v[e];if(n!==void 0)for(let t of n)te(e,t);continue}if(r>=E.length)break;let e=y[E[r]];e===void 0||i>=e.length?(r++,i=0):te(E[r],e[i++])}}n.push(E.length);let r=n.length-1,o=Array(r),s=Array(r),c=Array(r),l=Array(r),u=0,f=0;for(let e=0;e<r;e++){let t=1/0,r=1/0,i=-1/0,a=-1/0;for(let o=n[e];o<n[e+1];o++){let e=E[o];t=Math.min(t,x[e]),r=Math.min(r,S[e]),i=Math.max(i,x[e]+C[e]),a=Math.max(a,S[e]+w[e])}o[e]=t,s[e]=r,c[e]=i-t,l[e]=a-r,u+=c[e]*l[e],f=Math.max(f,c[e])}let p=Math.max(f,Math.ceil(Math.sqrt(u*2))),m=0,h=0,g=0,_=0;for(let e=0;e<r;e++){m>0&&m+c[e]>p&&(h+=g,m=0,g=0);for(let t=n[e];t<n[e+1];t++)x[E[t]]+=m-o[e],S[E[t]]+=h-s[e];m+=c[e],g=Math.max(g,l[e]),_=Math.max(_,m)}e<a&&(C[i+e]=_,w[i+e]=h+g)};for(let e=a-1;e>=0;e--)U(e);U(o);let W=new Int32Array(a),ne=new Int32Array(a),re=new Int32Array(a),ie=new Uint8Array(a);for(let e=0;e<a;e++){let t=l[i+e];re[e]=t===o?-1:t,W[e]=x[i+e]+(t===o?0:W[t]),ne[e]=S[i+e]+(t===o?0:ne[t]),d[e].length===0&&(ie[e]=1)}let ae=new Int32Array(i),oe=new Int32Array(i),se=new Int32Array(i);for(let e=0;e<i;e++){let t=l[e];se[e]=t===o?-1:t,ae[e]=x[e]+(t===o?0:W[t]),oe[e]=S[e]+(t===o?0:ne[t])}return{col:ae,row:oe,groupCol:W,groupRow:ne,groupCols:C.slice(i),groupRows:w.slice(i),groupParent:re,groupEmpty:ie,nodeParent:se}}var U=12,W=6,ne=4,re=3,ie=[-1,1,0,0],ae=[0,0,-1,1];function oe(e,t,n,r,i){let a=e.architecture,o=typeof a==`object`&&a&&!Array.isArray(a)?a[t]:void 0;return typeof o==`number`&&Number.isFinite(o)?Math.min(i,Math.max(r,o)):n}function se(e){let t=/* @__PURE__ */ new Map;for(let n of e.sort((e,t)=>e-t))t.has(n)||t.set(n,t.size);return t}function ce(e,t,n,r,i){return`<svg class="pele-icon" data-icon="${w(e)}" x="${C(t)}" y="${C(n)}" width="${C(r)}" height="${C(r)}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${i?.(e)??L(e)}</svg>`}function le(e,t,n,r){let i=e.lines.length>n;if(!i&&e.width<=t)return e;let a=r.width(`…`,e.size,0),o=[],s=[],c=0;for(let l=0;l<Math.min(n,e.lines.length);l++){let u=e.lines[l].map(e=>({...e})),d=e.widths[l];if(d>t||i&&l===n-1)for(;;){let n=u[u.length-1];if(n===void 0){u.push({text:`…`,style:0,width:a}),d=a;break}let i=d-n.width;if(n.icon===void 0&&i+a<t){let o=0,s=n.text.length;for(;o<s;){let c=o+s+1>>1;i+r.width(n.text.slice(0,c),e.size,n.style)+a<=t?o=c:s=c-1}let c=o>0?n.text.charCodeAt(o-1):0;c>=55296&&c<=56319&&o--,n.text=n.text.slice(0,o).trimEnd()+`…`,n.width=r.width(n.text,e.size,n.style),d=i+n.width;break}u.pop(),d=i}o.push(u),s.push(d),c=Math.max(c,d)}return{...e,lines:o,widths:s,width:c,height:o.length*e.lineHeight}}function ue(e,t){let{x:n,y:r,dx:i,dy:a}=e,{x:o,y:s,dx:c,dy:l}=t,u=n+i*U,d=r+a*U,f=o+c*U,p=s+l*U;if(i*c+a*l===0){let e=i===0?n:o,t=i===0?s:r;return(e-n)*i+(t-r)*a>0&&(e-o)*c+(t-s)*l>0?[n,r,e,t,o,s]:i===0?[n,r,u,d,f,d,f,p,o,s]:[n,r,u,d,u,p,f,p,o,s]}let m=i!==0,h=m?s-r:o-n;if(i===-c&&a===-l){if((o-n)*i+(s-r)*a>0){if(Math.abs(h)<.5)return[n,r,o,s];if(m){let a=i>0?e.x1:t.x1,c=i>0?t.x0:e.x0,l=a<c?(a+c)/2:(n+o)/2;return[n,r,l,r,l,s,o,s]}let c=a>0?e.y1:t.y1,l=a>0?t.y0:e.y0,u=c<l?(c+l)/2:(r+s)/2;return[n,r,n,u,o,u,o,s]}}else if(Math.abs(h)>=1){if(m){let e=i>0?Math.max(n,o)+U:Math.min(n,o)-U;return[n,r,e,r,e,s,o,s]}let e=a>0?Math.max(r,s)+U:Math.min(r,s)-U;return[n,r,n,e,o,e,o,s]}if(m){let i=e.y1+U<=t.y0?(e.y1+t.y0)/2:t.y1+U<=e.y0?(t.y1+e.y0)/2:Math.max(e.y1,t.y1)+U;return[n,r,u,r,u,i,f,i,f,s,o,s]}let g=e.x1+U<=t.x0?(e.x1+t.x0)/2:t.x1+U<=e.x0?(t.x1+e.x0)/2:Math.max(e.x1,t.x1)+U;return[n,r,n,d,g,d,g,p,o,p,o,s]}function de(e){let t=[e[0],e[1]];for(let n=2;n<e.length;n+=2){let r=e[n],i=e[n+1],a=t.length,o=Math.abs(r-t[a-2])<.01,s=Math.abs(i-t[a-1])<.01;o&&s||(a>=4&&(o&&Math.abs(t[a-4]-t[a-2])<.01||s&&Math.abs(t[a-3]-t[a-1])<.01)?(t[a-2]=r,t[a-1]=i):t.push(r,i))}return t}function fe(e,t,n){let r=e.length/2,i=Array(r),a=Array(r);for(let t=0;t<r;t++)i[t]=e[t*2],a[t]=e[t*2+1];let o=(e,t,n)=>{let r=Math.hypot(i[t]-i[e],a[t]-a[e]),o=Math.min(n,Math.max(0,r-1));r>0&&o>0&&(i[e]+=(i[t]-i[e])/r*o,a[e]+=(a[t]-a[e])/r*o)};o(0,1,t),o(r-1,r-2,n);let s=`M${C(i[0])},${C(a[0])}`;for(let e=1;e<r-1;e++){let t=Math.hypot(i[e]-i[e-1],a[e]-a[e-1]),n=Math.hypot(i[e+1]-i[e],a[e+1]-a[e]),r=Math.min(W,t/2,n/2);if(r<.5){s+=`L${C(i[e])},${C(a[e])}`;continue}let o=i[e]-(i[e]-i[e-1])/t*r,c=a[e]-(a[e]-a[e-1])/t*r,l=i[e]+(i[e+1]-i[e])/n*r,u=a[e]+(a[e+1]-a[e])/n*r;s+=`L${C(o)},${C(c)}Q${C(i[e])},${C(a[e])} ${C(l)},${C(u)}`}return s+`L${C(i[r-1])},${C(a[r-1])}`}function G(e,t,n){return r(n,r=>K(e,t,n,r))}function K(r,a,o,s){let c=oe(a,`iconSize`,48,8,512),l=oe(a,`fontSize`,o.fontSize??16,4,128),u=Math.min(oe(a,`padding`,20,0,256),s?12:1/0),d=Math.round(l*.875),f=o.measurer??E(o.fontFamily,o.fontFamilyMono),p=o.padding??8,m=o.icons,h=c/2,g=[...r.nodes.values()],_=[...r.groups.values()],v=g.length,y=_.length,D=te(g,_,r.edges,r.layoutHints),O=/* @__PURE__ */ new Map;g.forEach((e,t)=>O.set(e.id,t));let k=Array(v),A=new Float64Array(v),j=new Float64Array(v),M=s?Math.max(c,64):Math.max(c*2.25,96);for(let e=0;e<v;e++){let t=g[e],r=n(t.type===`service`?t.title:void 0,!0,f,l,M);k[e]=r,A[e]=Math.max(c,2*Math.ceil(r.width/2)),j[e]=c+(r.height>0?ne+r.height:0)}let N=[],P=[];for(let e=0;e<v;e++)N.push(D.col[e]),P.push(D.row[e]);for(let e=0;e<y;e++)D.groupEmpty[e]&&(N.push(D.groupCol[e]),P.push(D.groupRow[e]));let F=se(N),I=se(P),L=F.size,R=I.size,z=new Float64Array(L),B=new Float64Array(R),V=s?Math.max(24,2*U):Math.max(40,Math.round(c*.75)),H=new Float64Array(L).fill(V),W=new Float64Array(R).fill(V),G=new Int32Array(v),K=new Int32Array(v);for(let e=0;e<v;e++){let t=G[e]=F.get(D.col[e]),n=K[e]=I.get(D.row[e]);z[t]=Math.max(z[t],A[e]),B[n]=Math.max(B[n],j[e])}for(let e=0;e<y;e++){if(!D.groupEmpty[e])continue;let t=F.get(D.groupCol[e]),n=I.get(D.groupRow[e]);z[t]=Math.max(z[t],c),B[n]=Math.max(B[n],h)}let pe=r.edges.length,me=Array(pe),he=new Int32Array(pe*2);for(let e=0;e<pe;e++){let t=r.edges[e],i=he[e*2]=O.get(t.lhsId)??-1,a=he[e*2+1]=O.get(t.rhsId)??-1,o=n(t.title,!0,f,d,160);if(me[e]=o,!(o.width===0||i<0||a<0)){if(G[i]!==G[a]){let e=Math.min(G[i],G[a]);H[e]=Math.max(H[e],Math.ceil(o.width)+28)}else if(z[G[i]]=Math.max(z[G[i]],2*Math.ceil(o.width/2)+8),K[i]!==K[a]){let e=Math.min(K[i],K[a]);W[e]=Math.max(W[e],Math.ceil(o.height)+24)}}}let ge=Array(y),q=new Int32Array(y),J=new Int32Array(y),_e=new Int32Array(y),Y=new Int32Array(y),ve=new Float64Array(y),ye=new Float64Array(y),be=new Float64Array(y),xe=new Float64Array(y),X=new Float64Array(y),Se=new Float64Array(y),Ce=new Float64Array(L),we=new Float64Array(L),Te=new Float64Array(R),Ee=new Float64Array(R),De=Math.round(l*1.25);for(let e=0;e<y;e++){q[e]=F.get(D.groupCol[e]),J[e]=F.get(D.groupCol[e]+D.groupCols[e]-1),_e[e]=I.get(D.groupRow[e]),Y[e]=I.get(D.groupRow[e]+D.groupRows[e]-1);let t=n(_[e].title,!0,f,l,s?Math.max(80,i(o)/2):320);ge[e]=t;let r=_[e].icon?De:0;X[e]=t.width+r+(t.width>0&&r>0?6:0),Se[e]=Math.max(t.height,r)}for(let e=y-1;e>=0;e--){let t=u+ve[e],n=u+ye[e],r=(Se[e]>0?Math.max(u,Se[e]+12):u)+be[e],i=u+xe[e];if(X[e]>0){let r=t+n;for(let t=q[e];t<=J[e];t++)r+=z[t]+(t<J[e]?we[t]+H[t]+Ce[t+1]:0);X[e]+20>r&&(n+=Math.ceil(X[e]+20-r))}ve[e]=t,ye[e]=n,be[e]=r,xe[e]=i,Ce[q[e]]=Math.max(Ce[q[e]],t),we[J[e]]=Math.max(we[J[e]],n),Te[_e[e]]=Math.max(Te[_e[e]],r),Ee[Y[e]]=Math.max(Ee[Y[e]],i);let a=D.groupParent[e];a<0||(q[a]===q[e]&&(ve[a]=Math.max(ve[a],t)),J[a]===J[e]&&(ye[a]=Math.max(ye[a],n)),_e[a]===_e[e]&&(be[a]=Math.max(be[a],r)),Y[a]===Y[e]&&(xe[a]=Math.max(xe[a],i)))}let Oe=new Float64Array(L),Z=new Float64Array(R),ke=0;for(let e=0;e<L;e++)Oe[e]=ke+Ce[e],ke=Oe[e]+z[e]+we[e]+(e<L-1?H[e]:0);let Ae=0;for(let e=0;e<R;e++)Z[e]=Ae+Te[e],Ae=Z[e]+B[e]+Ee[e]+(e<R-1?W[e]:0);let Q=0,je=0,Me=ke,Ne=Ae,Pe=e=>Oe[q[e]]-ve[e],Fe=e=>Oe[J[e]]+z[J[e]]+ye[e],Ie=e=>Z[_e[e]]-be[e],Le=e=>Z[Y[e]]+B[Y[e]]+xe[e],Re=e=>Oe[G[e]]+z[G[e]]/2,ze=(e,t,n)=>{let r=ie[t],i=ae[t],a=Re(e),o=Z[K[e]],s={x:a,y:o+h,dx:r,dy:i,x0:a-A[e]/2,y0:o,x1:a+A[e]/2,y1:o+j[e],gap:0,wire:!1};g[e].type===`junction`?(s.x0=s.x1=a,s.y0=s.y1=s.y,s.gap=re):r===0?s.y=i<0?o:o+j[e]+(k[e].height>0?2:0):s.x=a+r*h;let c=n?D.nodeParent[e]:-1;return c>=0&&(s.x0=Pe(c),s.x1=Fe(c),s.y0=Ie(c),s.y1=Le(c),s.gap=0,s.wire=g[e].type===`junction`,r===0?s.y=i<0?s.y0:s.y1:s.x=r<0?s.x0:s.x1),s},Be=``,Ve=``,$=[],He=x(`arrow_point`);for(let e=0;e<pe;e++){let t=r.edges[e],n=he[e*2],i=he[e*2+1];if(n<0||i<0)continue;let a=ze(n,ee(t.lhsDir),t.lhsGroup),o=ze(i,ee(t.rhsDir),t.rhsGroup);a.x===o.x&&a.y===o.y&&a.dx===o.dx&&(a.x-=8*Math.abs(a.dy),a.y-=8*Math.abs(a.dx),o.x+=8*Math.abs(a.dy),o.y+=8*Math.abs(a.dx));let s=ue(a,o);a.wire&&s.unshift(Re(n),Z[K[n]]+h),o.wire&&s.push(Re(i),Z[K[i]]+h);let c=de(s);if(c.length<4)continue;let l=w(`${t.lhsId}-${t.rhsId}`);Be+=`<g class="pele-edge" data-id="${l}"><path d="${fe(c,t.lhsInto&&!a.wire?He+a.gap:0,t.rhsInto&&!o.wire?He+o.gap:0)}"/>`+(t.lhsInto?S(`arrow_point`,a.x+a.dx*a.gap,a.y+a.dy*a.gap,-a.dx,-a.dy,`var(--_l)`):``)+(t.rhsInto?S(`arrow_point`,o.x+o.dx*o.gap,o.y+o.dy*o.gap,-o.dx,-o.dy,`var(--_l)`):``)+`</g>`;let u=-1,d=-1,f=-1,p=-1,g=me[e];for(let e=0;e<c.length;e+=2)Q=Math.min(Q,c[e]-4),Me=Math.max(Me,c[e]+4),je=Math.min(je,c[e+1]-4),Ne=Math.max(Ne,c[e+1]+4);for(let e=0;e+3<c.length;e+=2){let t=Math.abs(c[e+1]-c[e+3])<.01,n=Math.abs(c[e]-c[e+2])+Math.abs(c[e+1]-c[e+3]);t||$.push(c[e],Math.min(c[e+1],c[e+3]),Math.max(c[e+1],c[e+3])),n>d&&(u=e,d=n),t&&n>p&&(f=e,p=n)}if(g.width>0){let e=p>=g.width+8?f:u,n=(c[e]+c[e+2])/2,r=(c[e+1]+c[e+3])/2,i=g.width+8,s=Math.abs(c[e]-c[e+2])<.01;for(let e of[a,o])n+i/2<=e.x0||n-i/2>=e.x1||r+g.height/2<=e.y0||r-g.height/2>=e.y1||(s?n=n>=(e.x0+e.x1)/2?e.x1+i/2+4:e.x0-i/2-4:r=r>=(e.y0+e.y1)/2?e.y1+g.height/2+4:e.y0-g.height/2-4);Q=Math.min(Q,n-i/2),Me=Math.max(Me,n+i/2),je=Math.min(je,r-g.height/2),Ne=Math.max(Ne,r+g.height/2),Ve+=b(`${t.lhsId}-${t.rhsId}`,g,n,r,``,m)}}let Ue=``;for(let e=0;e<y;e++){let n=_[e],r=Pe(e),i=Ie(e),a=Fe(e)-r,o=ge[e],s=``;if(X[e]>0){let t=i+Se[e]+12,c=[];for(let e=0;e<$.length;e+=3)$[e+1]<t&&$[e+2]>i&&$[e]>r&&$[e]<r+a&&c.push($[e]);c.sort((e,t)=>e-t),c.push(r+a-4);let l=r+10;for(let t of c){if(t-6-l>=X[e])break;l=Math.max(l,t+6)}l+X[e]>r+a-4&&(l=r+10);let u=i+6+Se[e]/2,d=l;n.icon&&(s+=ce(n.icon,l,u-De/2,De,m),d+=De+6),s+=T(o,d+o.width/2,u,` class="pele-cluster-label" fill="var(--_m)"`,m)}Ue+=`<g class="pele-cluster" data-id="${w(n.id)}"><rect x="${C(r)}" y="${C(i)}" width="${C(a)}" height="${C(Le(e)-i)}" fill="var(--_a)" fill-opacity="0.5" stroke="var(--_b)"${t}/>`+s+`</g>`}let We=``,Ge=c*.5,Ke=Math.max(6,Math.round(l*.75));for(let e=0;e<v;e++){let r=g[e],i=`data-id="${w(r.id)}" transform="translate(${C(Re(e))},${C(Z[K[e]])})"`;if(r.type===`junction`){We+=`<g class="pele-node pele-junction" ${i}><circle cy="${C(h)}" r="${re}" fill="var(--_l)"/></g>`;continue}let a=``;if(r.icon)a=ce(r.icon,-Ge/2,(c-Ge)/2,Ge,m);else if(r.iconText){let e=n(r.iconText,!1,f,Ke,c-8),t=Math.max(1,Math.floor((c-4)/(e.lineHeight||1)));a=T(le(e,c-8,t,f),0,h,` class="pele-icon-text" font-size="${Ke}"`,m)}We+=`<g class="pele-node pele-service" ${i}><rect x="${C(-h)}" width="${C(c)}" height="${C(c)}" fill="var(--_s)" stroke="var(--_b)"${t}/>`+a+T(k[e],0,c+ne+k[e].height/2,` class="pele-label"`,m)+`</g>`}let qe=n(r.title,!1,f,l,s?i(o):4e3,1),Je=qe.height>0?qe.height+12:0,Ye=Math.ceil(Math.max(Me-Q,qe.width)+2*p),Xe=Math.ceil(Ne-je+Je+2*p),Ze=Math.round((Ye-(Me-Q))/2-Q),Qe=Math.round(p+Je-je),$e=(Ue?`<g class="pele-clusters">${Ue}</g>`:``)+(Be?`<g class="pele-edges" fill="none" stroke="var(--_l)" stroke-linecap="round" stroke-linejoin="round">${Be}</g>`:``)+(Ve?`<g class="pele-edge-labels" font-size="${d}">${Ve}</g>`:``)+(We?`<g class="pele-nodes">${We}</g>`:``);return{svg:e(`architecture`,Ye,Xe,l,o,r,T(qe,Ye/2,p+qe.height/2,` class="pele-title" font-weight="var(--_tw)"`)+($e?`<g transform="translate(${Ze},${Qe})">${$e}</g>`:``)),width:Ye,height:Xe,links:[]}}var pe={type:`architecture`,parse(e,t,n){let r=new k;return n&&(r.title=n),A(F(e),r),r},render:G};export{pe as architecture};
@@ -0,0 +1,2 @@
1
+ import{a as e,d as t,i as n,r}from"./BGW36YJW-CJMhya8S.js";import{n as i,r as a}from"./DKTLEL5E-DciMwFJ1.js";import{C as o,D as s,E as c,d as l,f as u,h as d,j as f,s as p,t as m,u as h,x as g}from"./lazy-f3CuUNJZ.js";var _=class{type=`sankey`;nodes=[];links=[];title;accTitle;accDescr;lookup=/* @__PURE__ */ new Map;findOrCreateNode(e){let t=this.lookup.get(e);return t===void 0&&(t={id:e,index:this.nodes.length},this.lookup.set(e,t),this.nodes.push(t)),t}addLink(e,t,n){this.links.push({source:e,target:t,value:n})}},v=[`$end`,`STUCK`,`SANKEY`,`NEWLINE`,`COMMA`,`DQUOTE`,`NON_ESCAPED_TEXT`,`ESCAPED_TEXT`,`EOF`];function y(e){return e>=32&&e<=126&&e!==34&&e!==44||e>=160&&e<=55295||e>=57344&&e<=65533||e>=65536&&e<=1114111}function b(e){let t=e.length,n=[],r=[],i=[],a=[],o=0,s=0,c=(t,a,o)=>{n.push(t),r.push(e.slice(a,o)),i.push(a),s=o},l=t=>e.slice(s,s+t.length).toLowerCase()===t&&!m(e.charCodeAt(s+t.length));for(;s<t;){let u=e.charCodeAt(s),d=s,f=s;if(o===2){if(u===34&&e.charCodeAt(s+1)!==34){a.length>0&&(o=a.pop()),c(5,s,s+1);continue}for(;f<t;){let t=e.codePointAt(f);if(y(t)||t===44||t===13||t===10)f+=t>65535?2:1;else if(t===34&&e.charCodeAt(f+1)===34)f+=2;else break}c(7,s,f)}else{if(o===0&&(u|32)==115){let e=l(`sankey-beta`)?11:l(`sankey`)?6:0;if(e>0){a.push(o),o=1,c(2,s,s+e);continue}}if(u===10||u===13&&e.charCodeAt(s+1)===10){c(3,s,u===10?s+1:s+2);continue}if(u===44){c(4,s,s+1);continue}if(u===34){a.push(o),o=2,c(5,s,s+1);continue}for(;f<t;){let t=e.codePointAt(f);if(!y(t))break;f+=t>65535?2:1}c(6,s,f)}if(f===d)return c(1,s,s),{types:n,texts:r,starts:i}}return c(o===2?7:8,t,t),c(0,t,t),{types:n,texts:r,starts:i}}var x=/[\n\r]+/g,S=/[\x00-\x08\x0b\x0c\x0e-\x1f\ud800-\udfff\ufffe\uffff]/u;function C(e){return e===10||e===13?!1:e<128?e===32||e===9||e===11||e===12:e===160||e===5760||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function w(e,t){let n=e.length;for(;n>0&&C(e.charCodeAt(n-1));)n--;let r=``,i=0,a=!1;for(let o=0;o<n;){let n=e.charCodeAt(o);if(a)n===34&&(e.charCodeAt(o+1)===34?o++:a=!1),o++;else if(n===34)a=!0,o++;else if(C(n)){let n=o+1;for(;C(e.charCodeAt(n));)n++;let a=e.charCodeAt(o-1),s=e.charCodeAt(n);(o===0||s===10||s===13||(a===10||a===13)&&s!==44)&&(r+=e.slice(i,o),t.push([o,n,0]),i=n),o=n}else o++}return n<e.length&&t.push([n,e.length,0]),r+e.slice(i,n)}function T(e,t){let n=[],r=w(e,n),i=r.replace(x,`
2
+ `),a=i.trim();if(t!==void 0){let e=i.length-i.trimStart().length;t.push(n,g(r,x,1),[[0,e,0],[e+a.length,i.length,0]])}return a}function E(e,t,n=e){let{types:r,texts:i,starts:a}=b(e),c=0,l=(t,r)=>{let i=[];n!==e&&T(n,i);let a=t>0&&t>=e.length?f(i,e.length-1)+1:f(i,t);return o(`sankey`,n,a,r)},u=e=>{let t=r[c],n=t===1?v[r[c-1]]:v[t];throw l(a[c],`Expecting ${e}, got '${n}'`)},d=(e,t=``)=>{r[c]!==e&&u(`'${v[e]}'${t}`),c++},p=()=>{if(r[c]===6)return i[c++];r[c]!==5&&u(`'DQUOTE', 'NON_ESCAPED_TEXT'`),c++,r[c]!==7&&u(`'ESCAPED_TEXT'`);let e=i[c++];return d(5),e},m=()=>{let e=a[c],t=p().trim().replaceAll(`""`,`"`);if(S.test(s(t)))throw l(e,`Invalid XML character in node name`);return t};for(d(2),d(3);;){let e=m();d(4,`, 'NEWLINE', 'EOF'`);let n=m();d(4,`, 'NEWLINE', 'EOF'`);let i=a[c],o=parseFloat(p());if(!Number.isFinite(o))throw l(i,`Expecting a number`);let s=t.findOrCreateNode(e),u=t.findOrCreateNode(n);if(t.addLink(s,u,o),r[c]!==3)break;c++}r[c]===8&&c++,r[c]!==0&&u(`'NEWLINE', 'EOF'`)}var D=6;function O(e,t){if(e.length>8)e.sort(t);else for(let n=1;n<e.length;n++){let r=e[n],i=n-1;for(;i>=0&&t(e[i],r)>0;)e[i+1]=e[i],i--;e[i+1]=r}}function k(e,t){let n=e.nodes.length,r=e.links.map(e=>({source:e.source.index,target:e.target.index,value:Number.isFinite(e.value)&&e.value>0?e.value:0,thickness:0,sourceY:0,targetY:0})),i=[],a=[];for(let e=0;e<n;e++)i.push([]),a.push([]);r.forEach((e,t)=>{i[e.source].push(t),a[e.target].push(t)});let o=new Int32Array(n),s=new Int32Array(n),c=[];for(let e=0;e<n;e++)s[e]=a[e].length,s[e]===0&&c.push(e);for(let e=0;e<c.length;e++){let t=c[e];for(let e of i[t]){let n=r[e].target;o[n]<o[t]+1&&(o[n]=o[t]+1),--s[n]===0&&c.push(n)}}if(c.length<n){let t=0;for(;s[t]===0;)t++;let i=new Uint8Array(n);for(;i[t]===0;){i[t]=1;for(let e of a[t])if(s[r[e].source]>0){t=r[e].source;break}}throw new h(`Sankey diagrams cannot have circular links, and "${e.nodes[t].id}" is part of one.`,`semantic`,{type:`sankey`})}let l=1;for(let e=0;e<n;e++)o[e]+1>l&&(l=o[e]+1);let u=new Int32Array(n);for(let e=n-1;e>=0;e--){let t=c[e];for(let e of i[t])u[t]<u[r[e].target]+1&&(u[t]=u[r[e].target]+1)}let d=0;for(let e of r)e.value>d&&(d=e.value);let f=d>0?1/d:0,p=[],m=new Float64Array(n),g=[];for(let e=0;e<l;e++)g.push([]);let _=l>1?(t.width-t.nodeWidth)/(l-1):0;for(let e=0;e<n;e++){let n;if(t.alignment===`left`)n=o[e];else if(t.alignment===`right`)n=l-1-u[e];else if(t.alignment===`center`){if(n=o[e],a[e].length===0&&i[e].length>0){n=l;for(let t of i[e])o[r[t].target]-1<n&&(n=o[r[t].target]-1)}}else n=i[e].length>0?o[e]:l-1;let s=0,c=0,d=0,h=0;for(let t of a[e])s+=r[t].value*f,d+=r[t].value;for(let t of i[e])c+=r[t].value*f,h+=r[t].value;m[e]=Math.max(s,c),p.push({layer:n,value:Math.max(d,h),x:n*_,y:0,height:0}),g[n].push(e)}let v=1;for(let e of g)e.length>v&&(v=e.length);let y=v>1?Math.min(t.nodePadding,t.height/(v-1)):t.nodePadding,b=1/0;for(let e of g){let n=0;for(let t of e)n+=m[t];n>0&&(b=Math.min(b,(t.height-(e.length-1)*y)/n))}(!Number.isFinite(b)||b<0)&&(b=0);let x=Math.max(0,t.labelHeight-y),S=e=>{for(let n of g){let r=(n.length-1)*y;for(let t of n)r+=Math.max(m[t]*e,x);if(r>t.height+1e-6)return!1}return!0};if(x>0&&!S(b)){if(S(0)){let e=0;for(let t=0;t<40;t++){let t=(e+b)/2;S(t)?e=t:b=t}b=e}else x=0}let C=new Float64Array(n);for(let e of r)e.thickness=e.value*f*b;for(let e of g){let n=0;for(let t of e)p[t].height=m[t]*b,C[t]=Math.max(0,x-p[t].height)/2,p[t].y=n+C[t],n+=p[t].height+2*C[t]+y;let r=(t.height-n+y)/(e.length+1);e.forEach((e,t)=>p[e].y+=r*(t+1))}let w=e=>p[e].y+p[e].height/2,T=new Float64Array(r.length),E=new Float64Array(r.length),k=(e,t)=>w(r[e].target)-w(r[t].target)||e-t,A=(e,t)=>w(r[e].source)-w(r[t].source)||e-t,ee=(e,t)=>w(e)-w(t)||e-t,j=e=>{let t=0;O(i[e],k);for(let n of i[e])T[n]=t+r[n].thickness/2,t+=r[n].thickness},M=e=>{let t=0;O(a[e],A);for(let n of a[e])E[n]=t+r[n].thickness/2,t+=r[n].thickness},N=()=>{for(let e=0;e<n;e++)j(e),M(e)},P=(e,n,o)=>{for(let t of e){let e=o?a[t]:i[t];if(e.length===0)continue;o?M(t):j(t);let s=0,c=0,l=0;for(let n of e){let e=o?p[r[n].source].y+T[n]-E[n]:p[r[n].target].y+E[n]-T[n];s+=e*r[n].thickness,c+=r[n].thickness,l+=w(o?r[n].source:r[n].target)-p[t].height/2}let u=c>0?s/c:l/e.length;p[t].y+=(u-p[t].y)*n}O(e,ee);let s=0;for(let t of e)p[t].y-C[t]<s&&(p[t].y=s+C[t]),s=p[t].y+p[t].height+C[t]+y;s=t.height;for(let t=e.length-1;t>=0;t--){let n=e[t];p[n].y+p[n].height+C[n]>s&&(p[n].y=s-p[n].height-C[n]),s=p[n].y-C[n]-y}};N();for(let e=0;e<D;e++){let t=.99**e;for(let e=l-2;e>=0;e--)P(g[e],t,!1);N();for(let e=1;e<l;e++)P(g[e],t,!0);N()}for(let e=0;e<r.length;e++)r[e].sourceY=p[r[e].source].y+T[e],r[e].targetY=p[r[e].target].y+E[e];return{nodes:p,links:r}}var A=6,ee=15,j=1.8,M=300;function N(e){let t=2166136261,n=5381;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,16777619),n=Math.imul(n,33)+i|0}return(t>>>0).toString(36)+(n>>>0).toString(36)}function P(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function F(e,t,n,r,i){let a=e[t];return typeof a==`number`&&a>=r?Math.min(a,i):n}function te(e,t){let n=e[t];return typeof n==`string`||typeof n==`number`&&Number.isFinite(n)?String(n):``}function I(e){return Math.abs(e)<0x38d7ea4c68000?Math.round(e*100)/100:e}function L(e){return typeof e==`string`?r([`fill:${e}`]).shape:``}function R(e,t,n){let r=P(t.sankey)?t.sankey:{},a=F(r,`width`,600,1,1e4);return i(n,a,160,t=>z(e,r,n,t,a))}function z(r,i,o,f,m){let h=o.fontSize??16,g=Math.round(h*.625),_=Math.max(g,Math.round(h*.875*Math.min(1,f/m))),v=o.measurer??p(o.fontFamily,o.fontFamilyMono),y=o.padding??8,b=F(i,`height`,400,1,1e4),x=Math.min(F(i,`nodeWidth`,10,1,200),f),S=i.showValues!==!1,C=s(te(i,`prefix`)),w=s(te(i,`suffix`)),T=i.labelStyle===`outlined`,E=i.nodeAlignment===`left`||i.nodeAlignment===`right`||i.nodeAlignment===`center`?i.nodeAlignment:`justify`,D=typeof i.linkColor==`string`?i.linkColor:`gradient`,O=e=>k(r,{width:f,height:b,nodeWidth:x,nodePadding:F(i,`nodePadding`,12,0,200)+(S?ee:0),labelHeight:e*1.15,alignment:E}),R=O(_),z=/* @__PURE__ */ new Map,B=1;for(let e of R.nodes){let t=(z.get(e.layer)??0)+1;z.set(e.layer,t),t>B&&(B=t)}let ne=Math.max(g,Math.round(b/B/j));ne<_&&(_=ne,R=O(_));let{nodes:V,links:re}=R,H=_*1.5,U=/* @__PURE__ */ new Map;if(P(i.nodeColors))for(let[e,t]of Object.entries(i.nodeColors)){let n=L(t);n&&U.set(e,n)}let W=e=>U.get(r.nodes[e].id)??``,G=t=>/^ style="fill:(.*);"$/.exec(W(t))?.[1]??e(t),ie=0,ae=0;V.forEach(e=>{e.value>ae&&(ae=e.value,ie=e.layer)});let K=0,q=f,J=0,Y=b,oe=V.map((e,t)=>{let n=s(r.nodes[t].id),i=S?`${C}${I(e.value)}${w}`:``,a=v.width(i?`${n} ${i}`:n,_,0),o=T?e.layer>=ie:e.x<f/2,c=o?e.x+x+A:e.x-A,l=e.y+e.height/2;return K=Math.min(K,o?c:c-a),q=Math.max(q,o?c+a:c),J=Math.min(J,l-_*.75),Y=Math.max(Y,l+_*.75),{value:i,width:a,after:o,left:o?c:c-a,y:l}}),X=/* @__PURE__ */ new Map;if(V.length<=M)for(let e of oe){let t=Math.floor(e.y/H);for(let n of[t-2,t-1,t,t+1,t+2]){let t=X.get(n);t?t.push(e):X.set(n,[e])}}let se=``,ce=``;V.forEach((t,n)=>{let i=r.nodes[n].id,a=s(i),o=Math.max(t.height,1);ce+=`<rect class="pele-sankey-node" data-id="${u(i)}" x="${c(t.x)}" y="${c(t.y)}" width="${c(x)}" height="${c(o)}" rx="${c(Math.min(2,o/2))}" fill="${e(n)}"${W(n)}/>`;let d=oe[n],f=(e,t)=>(X.get(Math.floor(t/H))??[]).some(n=>n!==d&&Math.abs(n.y-t)<H&&e<n.left+n.width+A&&e+d.width>n.left-A);if(V.length<=M&&f(d.left,d.y))e:for(let e of[0,-H,H])for(let r of[d.after,!d.after]){let i=r?t.x+x+A:t.x-A-d.width,a=d.y+e;if(f(i,a)||i<K||i+d.width>q||a-_*.75<J||a+_*.75>Y||V.some((e,t)=>t!==n&&i<e.x+x+A&&i+d.width>e.x-A&&a-_*.75<e.y+e.height&&a+_*.75>e.y))continue;let o=Math.max(0,t.y-a,a-t.y-t.height);if(!V.some((e,r)=>r!==n&&e.x===t.x&&Math.max(0,e.y-a,a-e.y-e.height)<=o)){d.left=i,d.y=a,d.after=r;break e}}let{value:p,after:m,y:h}=d,g=m?t.x+x+A:t.x-A,v=` x="${c(g)}" y="${c(h+_*.35)}" text-anchor="${m?`start`:`end`}"`,y=l(a)+(p?` <tspan class="pele-sankey-value" fill="var(--_m)">${l(p)}</tspan>`:``);se+=`<g class="pele-label" data-id="${u(i)}">`+(T?`<text${v} fill="none" stroke="var(--_bg)" stroke-width="3" stroke-linejoin="round">${l(a)}${p?` `+l(p):``}</text>`:``)+`<text${v}>${y}</text></g>`});let le=D===`gradient`||D===`source`||D===`target`?``:L(D),ue=o.idPrefix??``,de=D===`gradient`&&/^[\w-]+$/.test(ue),Z=/* @__PURE__ */ new Map,fe=``;for(let t of re){let n=D===`target`?t.target:t.source,i=Math.max(t.thickness,1)/2,a=V[t.source].x+x,o=V[t.target].x,s=`fill="${e(n)}"${le||W(n)}`;if(de){let e=`x1="${c(a)}" x2="${c(o)}"><stop offset="0" stop-color="${G(t.source)}"/><stop offset="1" stop-color="${G(t.target)}"/>`,n=`${ue}-sankey-${N(e)}`;Z.set(n,`<linearGradient id="${n}" gradientUnits="userSpaceOnUse" ${e}</linearGradient>`),s=`fill="url(#${n}) ${G(t.source)}"`}let d=c((a+o)/2),f=u(r.nodes[t.source].id),p=u(r.nodes[t.target].id);fe+=`<path class="pele-sankey-link" data-id="${f}-&gt;${p}" d="M${c(a)},${c(t.sourceY-i)}C${d},${c(t.sourceY-i)} ${d},${c(t.targetY-i)} ${c(o)},${c(t.targetY-i)}L${c(o)},${c(t.targetY+i)}C${d},${c(t.targetY+i)} ${d},${c(t.sourceY+i)} ${c(a)},${c(t.sourceY+i)}Z" ${s}><title>${f} → ${p}: ${l(C)}${I(t.value)}${l(w)}</title></path>`}let Q=n(r.title,!1,v,h,a(o),1),pe=Q.height>0?Q.height+12:0,me=Math.max(q-K,Q.width),he=y-K+(me-(q-K))/2,ge=y+pe-J,$=Math.ceil(me+2*y),_e=Math.ceil(Y-J+pe+2*y);return{svg:t(`sankey`,$,_e,h,o,r,d(Q,$/2,y+Q.height/2,` class="pele-title" font-weight="var(--_tw)"`)+`<g transform="translate(${c(he)},${c(ge)})">`+(Z.size>0?`<defs>${[...Z.values()].join(``)}</defs>`:``)+`<g class="pele-sankey-links" fill-opacity="0.4">${fe}</g><g class="pele-sankey-nodes">${ce}</g><g class="pele-labels" font-size="${_}">${se}</g></g>`),width:$,height:_e,links:[]}}var B={type:`sankey`,parse(e,t,n){let r=new _;return n&&(r.title=n),E(T(e),r,e),r},render:R};export{B as sankey};