pilotswarm 0.5.74 → 0.5.75

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 (67) hide show
  1. package/package.json +2 -2
  2. package/ui/core/src/controller.js +37 -5
  3. package/web/dist/assets/{abnfDiagram-VRR7QNED-NbU-sJuP.js → abnfDiagram-VRR7QNED-CRN_CPXb.js} +1 -1
  4. package/web/dist/assets/{arc-CTgrgDMZ.js → arc-CXqBVBpG.js} +1 -1
  5. package/web/dist/assets/{architectureDiagram-ZJ3FMSHR-ChQoZV9O.js → architectureDiagram-ZJ3FMSHR-DOA41VEX.js} +1 -1
  6. package/web/dist/assets/{blockDiagram-677ZJIJ3-5PYV29Px.js → blockDiagram-677ZJIJ3-BCa9kQVE.js} +1 -1
  7. package/web/dist/assets/{c4Diagram-LMCZKHZV-Ck0NT3vh.js → c4Diagram-LMCZKHZV-CccO5uAf.js} +1 -1
  8. package/web/dist/assets/channel-Df1De1np.js +1 -0
  9. package/web/dist/assets/{chunk-2Q5K7J3B-c_yhgLFt.js → chunk-2Q5K7J3B-BOzOMW0c.js} +1 -1
  10. package/web/dist/assets/{chunk-32BRIVSS-C8dmvIWk.js → chunk-32BRIVSS-DyeNS6EA.js} +1 -1
  11. package/web/dist/assets/{chunk-5VM5RSS4-gU_WpVuN.js → chunk-5VM5RSS4-Cl2puolj.js} +1 -1
  12. package/web/dist/assets/{chunk-EX3LRPZG-BUI-N5DT.js → chunk-EX3LRPZG-CU792nsG.js} +1 -1
  13. package/web/dist/assets/{chunk-JWPE2WC7-B1dxrl_8.js → chunk-JWPE2WC7-DI-c4Jvn.js} +1 -1
  14. package/web/dist/assets/{chunk-MOJQB5TN-i6IlESZJ.js → chunk-MOJQB5TN-CVuPn9RU.js} +1 -1
  15. package/web/dist/assets/{chunk-RYQCIY6F-Dyjo-7_E.js → chunk-RYQCIY6F-CD34aFNh.js} +1 -1
  16. package/web/dist/assets/{chunk-V7JOEXUC-WKUXg6Wl.js → chunk-V7JOEXUC-BwQU46DX.js} +1 -1
  17. package/web/dist/assets/{chunk-VR4S4FIN-B0I7PCCm.js → chunk-VR4S4FIN-CL1JK1sJ.js} +1 -1
  18. package/web/dist/assets/{chunk-XXDRQBXY-CB7eqrC9.js → chunk-XXDRQBXY-UOxFbxIp.js} +1 -1
  19. package/web/dist/assets/classDiagram-OUVF2IWQ-ee52oYsq.js +1 -0
  20. package/web/dist/assets/classDiagram-v2-EOCWNBFH-ee52oYsq.js +1 -0
  21. package/web/dist/assets/{cose-bilkent-JH36ORCC-CRcAifyt.js → cose-bilkent-JH36ORCC-CfQP19CB.js} +1 -1
  22. package/web/dist/assets/{cynefin-VYW2F7L2-KpsZYLz7.js → cynefin-VYW2F7L2-C9ifcKtK.js} +1 -1
  23. package/web/dist/assets/{cynefinDiagram-TSTJHNR4-CUOwCgQT.js → cynefinDiagram-TSTJHNR4-IwcrpJT3.js} +1 -1
  24. package/web/dist/assets/{dagre-VKFMJZFB-CDmvCqlf.js → dagre-VKFMJZFB-BzTGLYBP.js} +1 -1
  25. package/web/dist/assets/{diagram-FQU43EPY-Bd-9Pin4.js → diagram-FQU43EPY-D9X1NgQz.js} +1 -1
  26. package/web/dist/assets/{diagram-G47NLZAW-C928DZyw.js → diagram-G47NLZAW-BkdiUvXU.js} +1 -1
  27. package/web/dist/assets/{diagram-NH7WQ7WH-CA9dPxkC.js → diagram-NH7WQ7WH-nCeiDJLN.js} +1 -1
  28. package/web/dist/assets/{diagram-OA4YK3LP-DTa7sqVK.js → diagram-OA4YK3LP-CXdSE6QP.js} +1 -1
  29. package/web/dist/assets/{diagram-WEI45ONY-BJBIP-D1.js → diagram-WEI45ONY-BNDoTBRl.js} +1 -1
  30. package/web/dist/assets/{ebnfDiagram-CCIWWBDH-Bt5TMBFP.js → ebnfDiagram-CCIWWBDH-BSsQ9Do8.js} +1 -1
  31. package/web/dist/assets/{erDiagram-Q63AITRT-CGCT386q.js → erDiagram-Q63AITRT-BTkFSkJi.js} +1 -1
  32. package/web/dist/assets/{flowDiagram-23GEKE2U-piGmqFTD.js → flowDiagram-23GEKE2U-BGEZ9wur.js} +1 -1
  33. package/web/dist/assets/{ganttDiagram-NO4QXBWP-sTZX4MDv.js → ganttDiagram-NO4QXBWP-WUAUhEpP.js} +1 -1
  34. package/web/dist/assets/{gitGraphDiagram-IHSO6WYX-CIX_plag.js → gitGraphDiagram-IHSO6WYX-BQZQl2ZR.js} +1 -1
  35. package/web/dist/assets/{index-DJdpW65K.js → index-DQFBdVYX.js} +4 -4
  36. package/web/dist/assets/{infoDiagram-FWYZ7A6U-BY6RX8Bs.js → infoDiagram-FWYZ7A6U-BP9xJx0Z.js} +1 -1
  37. package/web/dist/assets/{ishikawaDiagram-FXEZZL3T-B4g65LaR.js → ishikawaDiagram-FXEZZL3T-Kz3l0pEF.js} +1 -1
  38. package/web/dist/assets/{journeyDiagram-5HDEW3XC-DiwwLX0E.js → journeyDiagram-5HDEW3XC-KA8zfX2j.js} +1 -1
  39. package/web/dist/assets/{kanban-definition-HUTT4EX6-PV3grfRZ.js → kanban-definition-HUTT4EX6-Cvy5U2tj.js} +1 -1
  40. package/web/dist/assets/{linear-iVmwVooP.js → linear-DQ0Ynwre.js} +1 -1
  41. package/web/dist/assets/{mermaid.core-DA6LjVrx.js → mermaid.core-C_2W6ze2.js} +4 -4
  42. package/web/dist/assets/{mindmap-definition-LN4V7U3C-B8DdylnB.js → mindmap-definition-LN4V7U3C-CPkdv3pS.js} +1 -1
  43. package/web/dist/assets/{papaparse.min-Di5Rv4lz.js → papaparse.min-gRC4B4xh.js} +1 -1
  44. package/web/dist/assets/{pegDiagram-2B236MQR-DK6ek_Cq.js → pegDiagram-2B236MQR-BEmzoVBF.js} +1 -1
  45. package/web/dist/assets/{pieDiagram-ENE6RG2P-CwWXjXa0.js → pieDiagram-ENE6RG2P-Cs-r2GVr.js} +1 -1
  46. package/web/dist/assets/{pilotswarm-O-aSs9ka.js → pilotswarm-qQVUkWws.js} +62 -62
  47. package/web/dist/assets/{quadrantDiagram-ABIIQ3AL-MuZAfQD9.js → quadrantDiagram-ABIIQ3AL-D1SNNoOk.js} +1 -1
  48. package/web/dist/assets/{railroadDiagram-RFXS5EU6-YzlcnUR9.js → railroadDiagram-RFXS5EU6-BH9sxNL4.js} +1 -1
  49. package/web/dist/assets/{requirementDiagram-TGXJPOKE-DXaoYkWC.js → requirementDiagram-TGXJPOKE-ucbqSBch.js} +1 -1
  50. package/web/dist/assets/{sankeyDiagram-HTMAVEWB-e01Ywh1-.js → sankeyDiagram-HTMAVEWB-9LzvC1Q9.js} +1 -1
  51. package/web/dist/assets/{sequenceDiagram-DBY2YBRQ-Bejd9pkv.js → sequenceDiagram-DBY2YBRQ-yVbJ1mbs.js} +1 -1
  52. package/web/dist/assets/{sizeCapture-X5ZJPWSS-BH28GjqM.js → sizeCapture-X5ZJPWSS-aH-owuq8.js} +1 -1
  53. package/web/dist/assets/{stateDiagram-2N3HPSRC-BLxFqrZK.js → stateDiagram-2N3HPSRC-eNxPWwbu.js} +1 -1
  54. package/web/dist/assets/stateDiagram-v2-6OUMAXLB-B5tcxao1.js +1 -0
  55. package/web/dist/assets/{swimlanes-5IMT3BWC-DeRawRPH.js → swimlanes-5IMT3BWC-CUOaCY_Z.js} +2 -2
  56. package/web/dist/assets/swimlanesDiagram-G3AALYLV-Dz8gcrTg.js +8 -0
  57. package/web/dist/assets/{timeline-definition-FHXFAJF6-DebMYWDr.js → timeline-definition-FHXFAJF6-CP6SzyRW.js} +1 -1
  58. package/web/dist/assets/{vennDiagram-L72KCM5P-BNzkPXmx.js → vennDiagram-L72KCM5P-ByPylANx.js} +1 -1
  59. package/web/dist/assets/{wardleyDiagram-EHGQE667-Bd1oZn0h.js → wardleyDiagram-EHGQE667-QfPO6uUo.js} +1 -1
  60. package/web/dist/assets/{xychartDiagram-FW5EYKEG-BoBQQKWe.js → xychartDiagram-FW5EYKEG-CNvueYN7.js} +1 -1
  61. package/web/dist/index.html +2 -2
  62. package/web/runtime.js +15 -4
  63. package/web/dist/assets/channel-ClSHF2hk.js +0 -1
  64. package/web/dist/assets/classDiagram-OUVF2IWQ-2Il7FbX1.js +0 -1
  65. package/web/dist/assets/classDiagram-v2-EOCWNBFH-2Il7FbX1.js +0 -1
  66. package/web/dist/assets/stateDiagram-v2-6OUMAXLB-DRVfj4NC.js +0 -1
  67. package/web/dist/assets/swimlanesDiagram-G3AALYLV-CqI_LiFE.js +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pilotswarm",
3
- "version": "0.5.74",
3
+ "version": "0.5.75",
4
4
  "description": "PilotSwarm application package: terminal UI, browser portal + Web API server, and MCP server — one install, three bins.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -81,7 +81,7 @@
81
81
  "ink": "^6.8.0",
82
82
  "jose": "^6.2.2",
83
83
  "mermaid": "^11.16.0",
84
- "pilotswarm-sdk": "0.5.74",
84
+ "pilotswarm-sdk": "0.5.75",
85
85
  "react": "^19.2.4",
86
86
  "react-dom": "^19.2.4",
87
87
  "ws": "^8.18.2"
@@ -96,7 +96,6 @@ const FLEET_STATS_DEFAULT_WINDOW_DAYS = 30;
96
96
  const SESSION_REFRESH_FAILED_STATUS = "Session refresh failed";
97
97
  const AUTO_HISTORY_SCROLL_PAGE_COUNT = 3;
98
98
  const SESSION_REFRESH_PAGE_LIMIT = 200;
99
- const SESSION_REFRESH_MAX_PAGES = 5;
100
99
  const FULLSCREENABLE_PANES = new Set([
101
100
  FOCUS_REGIONS.SESSIONS,
102
101
  FOCUS_REGIONS.CHAT,
@@ -191,26 +190,59 @@ function isSessionGoneError(error) {
191
190
  return status === 404 || status === 403 || code === "NOT_FOUND" || code === "FORBIDDEN";
192
191
  }
193
192
 
194
- async function loadSessionCatalogPageWindow(transport) {
193
+ async function loadSessionCatalogPages(transport, systemFilter) {
195
194
  if (typeof transport.listSessionsPage !== "function") {
196
195
  return transport.listSessions();
197
196
  }
198
197
 
199
198
  const sessions = [];
200
199
  let cursor = null;
201
- for (let pageIndex = 0; pageIndex < SESSION_REFRESH_MAX_PAGES; pageIndex += 1) {
200
+ const seenCursors = new Set();
201
+ for (;;) {
202
202
  const page = await transport.listSessionsPage({
203
203
  limit: SESSION_REFRESH_PAGE_LIMIT,
204
204
  cursor,
205
+ systemFilter,
206
+ viewerOnly: true,
205
207
  });
206
208
  const pageSessions = Array.isArray(page?.sessions) ? page.sessions : [];
207
209
  sessions.push(...pageSessions);
208
- if (!page?.hasMore || !page?.nextCursor) break;
210
+ if (!page?.hasMore) break;
211
+ if (!page?.nextCursor) {
212
+ throw new Error("Session catalog page reported more rows without a next cursor");
213
+ }
214
+ const cursorKey = `${Number(page.nextCursor.updatedAt)}\0${String(page.nextCursor.sessionId || "")}`;
215
+ if (seenCursors.has(cursorKey)) {
216
+ throw new Error("Session catalog page repeated its next cursor");
217
+ }
218
+ seenCursors.add(cursorKey);
209
219
  cursor = page.nextCursor;
210
220
  }
211
221
  return sessions;
212
222
  }
213
223
 
224
+ async function loadSessionCatalog(transport) {
225
+ if (typeof transport.listSessionsPage !== "function") {
226
+ return transport.listSessions();
227
+ }
228
+
229
+ // System roots must not depend on where they happen to fall in the main
230
+ // catalog's recency order. Fetch both server-filtered streams
231
+ // independently, then combine them without changing either stream's
232
+ // order. Every page still goes through the transport's viewer-scoped API.
233
+ const [systemSessions, regularSessions] = await Promise.all([
234
+ loadSessionCatalogPages(transport, "only"),
235
+ loadSessionCatalogPages(transport, "exclude"),
236
+ ]);
237
+ const byId = new Set();
238
+ return [...systemSessions, ...regularSessions].filter((session) => {
239
+ const sessionId = String(session?.sessionId || "");
240
+ if (!sessionId || byId.has(sessionId)) return false;
241
+ byId.add(sessionId);
242
+ return true;
243
+ });
244
+ }
245
+
214
246
  function groupModelsByProvider(models = []) {
215
247
  const groups = [];
216
248
  const byProvider = new Map();
@@ -2641,7 +2673,7 @@ export class PilotSwarmUiController {
2641
2673
  return null;
2642
2674
  })
2643
2675
  : Promise.resolve(null);
2644
- let sessions = (await loadSessionCatalogPageWindow(this.transport)).map(normalizeSessionListRow);
2676
+ let sessions = (await loadSessionCatalog(this.transport)).map(normalizeSessionListRow);
2645
2677
  // Folders are NOT merged into the session payload any more: they live
2646
2678
  // in their own state slice, so a session refresh cannot drop them. A
2647
2679
  // failed fetch is "no news" and simply leaves the slice alone.
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-i6IlESZJ.js";import{p as f}from"./chunk-JWPE2WC7-B1dxrl_8.js";import{_ as n,l as o}from"./mermaid.core-DA6LjVrx.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-KpsZYLz7.js";import"./pilotswarm-O-aSs9ka.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
1
+ import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-CVuPn9RU.js";import{p as f}from"./chunk-JWPE2WC7-DI-c4Jvn.js";import{_ as n,l as o}from"./mermaid.core-C_2W6ze2.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-C9ifcKtK.js";import"./pilotswarm-qQVUkWws.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
@@ -1 +1 @@
1
- import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-DA6LjVrx.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-C_2W6ze2.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};