local-operator-ui 0.31.13 → 0.31.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/main/index.js +53 -9
- package/out/renderer/assets/{_basePickBy-DjjQEvSb.js → _basePickBy-DcVxaOSH.js} +1 -1
- package/out/renderer/assets/{_baseUniq-BqECYZsi.js → _baseUniq-Dvjrcvs9.js} +1 -1
- package/out/renderer/assets/{agent-details-page-DWSkiNxw.js → agent-details-page-CKDTABhu.js} +1 -1
- package/out/renderer/assets/{agent-hub-page-D_c8J10-.js → agent-hub-page-DWR7pVYt.js} +1 -1
- package/out/renderer/assets/{agents-page-GjfdafAi.js → agents-page-T_pjd_mL.js} +2 -2
- package/out/renderer/assets/{arc-DLAhhRoh.js → arc-B_qJkvPf.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-Dz9DJe6U.js → architectureDiagram-IEHRJDOE-CtsC0tYT.js} +1 -1
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-B1abEmJ8.js → blockDiagram-JOT3LUYC-D_mnlwPx.js} +1 -1
- package/out/renderer/assets/{book-open-4wp9tz_T.js → book-open-sXYnjkYg.js} +1 -1
- package/out/renderer/assets/browser-page-BagDRkRt.js +1 -0
- package/out/renderer/assets/{browser-webauthn-prompt-DIxt4Z0f.js → browser-webauthn-prompt-BZWCVIKd.js} +1 -1
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-DFUTE5Ky.js → c4Diagram-VJAJSXHY-pi2z24C4.js} +1 -1
- package/out/renderer/assets/channel-ktsDcZ1f.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-BwRplWr0.js → chunk-4BMEZGHF-Bn9BQfsZ.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-CojVy5BF.js → chunk-A2AXSNBT-Ko3D-ar2.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-BbTJ2nr6.js → chunk-AEK57VVT-CwAIWrB8.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-Rb5cgSb4.js → chunk-D6G4REZN-D__9FrOb.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-B04F7M_0.js → chunk-RZ5BOZE2-TREOuNWw.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-tjI4W2Za.js → chunk-XZIHB7SX-CebPSOCz.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-Brh-PL1o.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-Brh-PL1o.js +1 -0
- package/out/renderer/assets/clone-BcrbP_aW.js +1 -0
- package/out/renderer/assets/{console-mirror-Cp8JlE_x.js → console-mirror-DWRhT46l.js} +14 -14
- package/out/renderer/assets/{consoleCapture-BuuG2eYo.js → consoleCapture-DYFd230a.js} +1 -1
- package/out/renderer/assets/{dagre-OKDRZEBW-Yr1p9tqE.js → dagre-OKDRZEBW-BUggSk_c.js} +1 -1
- package/out/renderer/assets/{diagram-SSKATNLV-CUK31Gls.js → diagram-SSKATNLV-iMecwrba.js} +1 -1
- package/out/renderer/assets/{diagram-VNBRO52H-DIjVl2yr.js → diagram-VNBRO52H-CzSL321d.js} +1 -1
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-DfFyzWJt.js → erDiagram-Q7BY3M3F-Bg-o12iQ.js} +1 -1
- package/out/renderer/assets/{error-boundary-BxKgKUoO.js → error-boundary-KjsCVlwc.js} +2 -2
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-DcwqvGRJ.js → flowDiagram-4HSFHLVR-BkkASru7.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-CYwBjlHW.js → ganttDiagram-APWFNJXF-C0MtTrNh.js} +1 -1
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-Do6CcWt4.js → gitGraphDiagram-7IBYFJ6S-CHaROOwH.js} +1 -1
- package/out/renderer/assets/{graph-CQQogzkE.js → graph-BJGgVUsb.js} +1 -1
- package/out/renderer/assets/{index-BwDDMKpx.js → index-1X6s2yKq.js} +1 -1
- package/out/renderer/assets/index-Bx6Tgjd-.css +1 -0
- package/out/renderer/assets/{index-Go5S7QEQ.js → index-D7k5cg15.js} +1 -1
- package/out/renderer/assets/{index-BGpQvlC-.js → index-DeTZCzPZ.js} +394 -388
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-DO8p7Ibe.js → infoDiagram-PH2N3AL5-BfYBa-CL.js} +1 -1
- package/out/renderer/assets/{installer-iwJK_r4X.js → installer-Bm_uF8sP.js} +1 -1
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-BzyoDXz6.js → journeyDiagram-U35MCT3I-C89rb1TV.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-C5KJJD3f.js → kanban-definition-NDS4AKOZ-BRtDqNyW.js} +1 -1
- package/out/renderer/assets/{layout-DBWsZr1z.js → layout-Ci9cIsDI.js} +1 -1
- package/out/renderer/assets/legacy-agents-page-cPI4oTwU.js +33 -0
- package/out/renderer/assets/{mermaid.core-DjEcfQ2P.js → mermaid.core-Bs4QMgEl.js} +5 -5
- package/out/renderer/assets/{mesh-page-sfL6urAN.js → mesh-page-CbvqiZSk.js} +1 -1
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-DbBMNkp2.js → mindmap-definition-ALO5MXBD-BDQfDEQE.js} +1 -1
- package/out/renderer/assets/{org-surface-gate-BDsBqFdT.js → org-surface-gate-C16WPu5Y.js} +1 -1
- package/out/renderer/assets/{page-header-7eTvlPad.js → page-header-CKb4_wst.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-BOUMap4K.js → pieDiagram-IB7DONF6-DPnTCchq.js} +1 -1
- package/out/renderer/assets/projects-page-B73wzQ2I.js +22 -0
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-KVdqTwJk.js → quadrantDiagram-7GDLP6J5-CpWXO7vD.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-CTQEOe3H.js → radar-MK3ICKWK-aKxsGmy_.js} +1 -1
- package/out/renderer/assets/{radient-auth-buttons-BazI7e18.js → radient-auth-buttons-ChWzd20j.js} +1 -1
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-CpsfwkBd.js → requirementDiagram-KVF5MWMF-PyJgwUho.js} +1 -1
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-2Z-78WfE.js → sankeyDiagram-QLVOVGJD-D7Bn0aq4.js} +1 -1
- package/out/renderer/assets/{schedules-page-Ban3orsO.js → schedules-page-CQ3vJfW_.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-C2dIRuZz.js → sequenceDiagram-X6HHIX6F-v38uKoof.js} +1 -1
- package/out/renderer/assets/{settings-page-DhuCeNKV.js → settings-page-DZGixI21.js} +7 -7
- package/out/renderer/assets/{settings-section-JVdUSFVI.js → settings-section-D4Nl2R-q.js} +1 -1
- package/out/renderer/assets/{stateDiagram-DGXRK772-soqNXJ79.js → stateDiagram-DGXRK772-1oLDUmVZ.js} +1 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-CN2P8ErN.js +1 -0
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-DFPF4fnf.js → timeline-definition-BDJGKUSR-B_r2QhjO.js} +1 -1
- package/out/renderer/assets/{use-download-agent-mutation-BJVETEyg.js → use-download-agent-mutation-CVyQcmj3.js} +2 -2
- package/out/renderer/assets/{use-memberships-query-CIdgBOGr.js → use-memberships-query-Cmv8WYKk.js} +1 -1
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP---VkBu3L.js → xychartDiagram-VJFVF3MP-BQzasIOI.js} +1 -1
- package/out/renderer/console-capture.html +4 -4
- package/out/renderer/index.html +5 -5
- package/out/renderer/installer.html +4 -4
- package/package.json +2 -2
- package/out/renderer/assets/browser-page-O2yUi_D9.js +0 -1
- package/out/renderer/assets/channel-DwtjXPiQ.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-I8f9T0d1.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-I8f9T0d1.js +0 -1
- package/out/renderer/assets/clone-WON5xoYU.js +0 -1
- package/out/renderer/assets/index-C9VwzLl-.css +0 -1
- package/out/renderer/assets/legacy-agents-page-BDjH2h53.js +0 -38
- package/out/renderer/assets/projects-page-CjiztSuz.js +0 -11
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Bn8yI4B0.js +0 -1
- /package/out/renderer/assets/{index-Biw7WGBF.js → index-CTzxaxet.js} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import{r as x,j as t,c as O}from"./index-CTzxaxet.js";import{cb as Ft,cc as we,cd as Ut,ce as ot,g as lt,cf as Bt,cg as Yt,ch as qt,ci as zt,cj as Qt,ck as Ht,cl as qe,cm as ze,cn as Kt,co as Vt,h as ct,as as te,k as Y,am as Re,aY as Wt,i as he,cp as dt,ac as xe,aB as fe,cq as Xt,cr as Gt,cs as Jt,ct as ve,aC as ut,cu as Zt,cv as es,j as de,cw as ts,bM as ss,P as ue,f as ns,e as as,cx as rs,cy as is,cz as os,cA as ls,cB as cs,cC as ds,cD as us,c as mt,a8 as ms,ax as Qe,cE as hs,aw as xs,ad as V,at as G,d as He,cF as fs,cG as ps,cH as gs,a as js,b1 as bs,cI as Ke,cJ as ys}from"./index-DeTZCzPZ.js";import{P as Ve}from"./page-header-CKb4_wst.js";import{c as pe,B as $,v as vs,w as ks,x as Ns,F as ke,Q as ws,R as Ss,U as Cs,V as Ts,W as Ds,z as _s,G as se,P as Ms,Y as Es,M as Ps,I as U,S as ee,L as I,T as $s,p as Se,q as Ce,r as Te,s as De,t as ce,Z as ht,N as Os,X as As,i as Rs,A as _e,_ as Ls,$ as Is,a0 as Fs,a1 as Us}from"./error-boundary-KjsCVlwc.js";import"./console-mirror-DWRhT46l.js";function We(e,s){return e.filter(n=>!s.includes(n))}function Bs(e,s,n){const a=e.slice(0);return a[s]=n,a}var Ys=class extends Ft{#n;#e;#a;#r;#t;#s;#i;#o;#l=[];constructor(e,s,n){super(),this.#n=e,this.#r=n,this.#a=[],this.#t=[],this.#e=[],this.setQueries(s)}onSubscribe(){this.listeners.size===1&&this.#t.forEach(e=>{e.subscribe(s=>{this.#m(e,s)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#t.forEach(e=>{e.destroy()})}setQueries(e,s){this.#a=e,this.#r=s,we.batch(()=>{const n=this.#t,a=this.#u(this.#a);this.#l=a,a.forEach(i=>i.observer.setOptions(i.defaultedQueryOptions));const r=a.map(i=>i.observer),o=r.map(i=>i.getCurrentResult()),l=r.some((i,f)=>i!==n[f]);n.length===r.length&&!l||(this.#t=r,this.#e=o,this.hasListeners()&&(We(n,r).forEach(i=>{i.destroy()}),We(r,n).forEach(i=>{i.subscribe(f=>{this.#m(i,f)})}),this.#h()))})}getCurrentResult(){return this.#e}getQueries(){return this.#t.map(e=>e.getCurrentQuery())}getObservers(){return this.#t}getOptimisticResult(e,s){const n=this.#u(e),a=n.map(r=>r.observer.getOptimisticResult(r.defaultedQueryOptions));return[a,r=>this.#d(r??a,s),()=>this.#c(a,n)]}#c(e,s){return s.map((n,a)=>{const r=e[a];return n.defaultedQueryOptions.notifyOnChangeProps?r:n.observer.trackResult(r,o=>{s.forEach(l=>{l.observer.trackProp(o)})})})}#d(e,s){return s?((!this.#s||this.#e!==this.#o||s!==this.#i)&&(this.#i=s,this.#o=this.#e,this.#s=Ut(this.#s,s(e))),this.#s):e}#u(e){const s=new Map(this.#t.map(a=>[a.options.queryHash,a])),n=[];return e.forEach(a=>{const r=this.#n.defaultQueryOptions(a),o=s.get(r.queryHash);o?n.push({defaultedQueryOptions:r,observer:o}):n.push({defaultedQueryOptions:r,observer:new ot(this.#n,r)})}),n}#m(e,s){const n=this.#t.indexOf(e);n!==-1&&(this.#e=Bs(this.#e,n,s),this.#h())}#h(){if(this.hasListeners()){const e=this.#s,s=this.#c(this.#e,this.#l),n=this.#d(s,this.#r?.combine);e!==n&&we.batch(()=>{this.listeners.forEach(a=>{a(this.#e)})})}}};function qs({queries:e,...s},n){const a=lt(),r=Bt(),o=Yt(),l=x.useMemo(()=>e.map(g=>{const C=a.defaultQueryOptions(g);return C._optimisticResults=r?"isRestoring":"optimistic",C}),[e,a,r]);l.forEach(g=>{qt(g),zt(g,o)}),Qt(o);const[i]=x.useState(()=>new Ys(a,l,s)),[f,p,d]=i.getOptimisticResult(l,s.combine),N=!r&&s.subscribed!==!1;x.useSyncExternalStore(x.useCallback(g=>N?i.subscribe(we.batchCalls(g)):Ht,[i,N]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),x.useEffect(()=>{i.setQueries(l,s)},[l,s,i]);const h=f.some((g,C)=>qe(l[C],g))?f.flatMap((g,C)=>{const j=l[C];if(j){const c=new ot(a,j);if(qe(j,g))return ze(j,c,o);Kt(g,r)&&ze(j,c,o)}return[]}):[];if(h.length>0)throw Promise.all(h);const v=f.find((g,C)=>{const j=l[C];return j&&Vt({result:g,errorResetBoundary:o,throwOnError:j.throwOnError,query:a.getQueryCache().get(j.queryHash),suspense:j.suspense})});if(v?.error)throw v.error;return p(d())}/**
|
|
2
|
+
* @license lucide-react v0.507.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const zs=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],Qs=pe("grip-vertical",zs);/**
|
|
7
|
+
* @license lucide-react v0.507.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const Hs=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Ks=pe("link-2",Hs);/**
|
|
12
|
+
* @license lucide-react v0.507.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const Vs=[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]],Ws=pe("send-horizontal",Vs);/**
|
|
17
|
+
* @license lucide-react v0.507.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/const Xs=[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]],Gs=pe("unlink",Xs),ge={list:["desktop","projects"],detail:e=>["desktop","projects",e]};function Js(e){return ct({queryKey:ge.list,enabled:e,queryFn:()=>Y({op:"projects.list"}).then(s=>s.projects),retry:Re,staleTime:1e4})}function Zs(e,s){return qs({queries:e.map(n=>({queryKey:ge.detail(n),enabled:s&&!!n,queryFn:()=>Y({op:"projects.get",key:n}),retry:Re,staleTime:1e4}))})}function xt(e,s){return ct({queryKey:ge.detail(e??""),enabled:s&&!!e,queryFn:()=>Y({op:"projects.get",key:e??""}),retry:Re,staleTime:1e4})}function ne(){const e=lt();return()=>{e.invalidateQueries({queryKey:ge.list})}}function en(){const e=ne();return te({mutationFn:s=>Y({op:"projects.create",name:s.name,...s.description!==void 0?{description:s.description}:{},...s.status!==void 0?{status:s.status}:{},...s.tags!==void 0?{tags:s.tags}:{}}),onSuccess:()=>e()})}function ft(){const e=ne();return te({mutationFn:s=>Y({op:"projects.update",key:s.key,fields:s.fields}),onSuccess:()=>e()})}function pt(){const e=ne();return te({mutationFn:s=>Y({op:"projects.delete",key:s.key,confirmed_name:s.confirmedName}),onSuccess:()=>e()})}function tn(){const e=ne();return te({mutationFn:s=>Y({op:"projects.link",key:s.key,sessionId:s.sessionId}),onSuccess:()=>e()})}function sn(){const e=ne();return te({mutationFn:s=>Y({op:"projects.unlink",key:s.key,sessionId:s.sessionId}),onSuccess:()=>e()})}function nn(){const e=ne();return te({mutationFn:s=>Y({op:"projects.milestone",key:s.key,name:s.name,...s.targetDate!==void 0?{targetDate:s.targetDate}:{},...s.completed!==void 0?{completed:s.completed}:{}}),onSuccess:()=>e()})}function an(){const e=ne();return te({mutationFn:s=>Y({op:"projects.milestone.remove",key:s.key,name:s.name}),onSuccess:()=>e()})}const rn={planning:{label:"Planning",variant:"info"},active:{label:"Active",variant:"accent"},qa:{label:"QA",variant:"attention"},validation:{label:"Validation",variant:"warning"},done:{label:"Done",variant:"success"},paused:{label:"Paused",variant:"neutral"},archived:{label:"Archived",variant:"outline"}};function F(e){return rn[e]??{label:e||"Unknown",variant:"neutral"}}function on(e){return e==="done"}const ln={completed:{label:"Completed",variant:"success"},overdue:{label:"Overdue",variant:"warning"},upcoming:{label:"Upcoming",variant:"neutral"}};function cn(e){return ln[e]??{label:String(e),variant:"neutral"}}const me="Stale",dn=/^(\d{4})-(\d{2})-(\d{2})$/;function z(e,s,n=new Date){if(!e)return"";const a=dn.exec(e);if(!a)return e;const r=new Date(Number(a[1]),Number(a[2])-1,Number(a[3]));if(Number.isNaN(r.getTime()))return e;const o=r.toLocaleDateString(s,{month:"short",day:"numeric"});return r.getFullYear()===n.getFullYear()?o:`${o}, ${r.getFullYear()}`}function re(e,s){if(e==null)return"";const n=Math.max(0,Math.floor(s/1e3-e));return n<60?"just now":n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.floor(n/3600)}h`:`${Math.floor(n/86400)}d`}function ie(e){return e==="just now"?"just now":`${e} ago`}function un(e){return e?`reported ${ie(e)}`:"no progress"}const gt=/^$|^\d{4}-\d{2}-\d{2}$/;function jt(e){return e?e==="operator"?"the operator":`session ${e}`:""}function mn(e,s){if(!e.progress)return"not reported yet";const n=re(e.progress_updated_at,s),a=jt(e.progress_reported_by),r=[n?`reported ${ie(n)}`:"reported"];return a&&r.push(`by ${a}`),r.join(" ")}function bt(e,s){if(e==null)return"";const n=String(e);return s==="points"?`${n} pt`:s==="days"?`${n}d`:n}function yt(e,s){return s<=0?"":`${e}/${s}`}function Le(e){return e<=0?"":`${e} live`}function hn(e){return e<=0?"":e===1?"1 session":`${e} sessions`}function xn(e){const s=hn(e.sessions);if(!s)return"";const n=Le(e.live_sessions);return n?`${s} · ${n}`:s}function fn(e){if(!e.exists)return{label:"Missing",variant:"outline"};if(e.archived)return{label:"Archived",variant:"neutral"};switch(e.runtime?.state){case"live":return{label:"Live",variant:"success"};case"wedged":return{label:"Wedged",variant:"warning"};case"stale":return{label:"Stale",variant:"warning"};case"stopped":return{label:"Stopped",variant:"neutral"};default:return{label:String(e.runtime?.state??"Unknown"),variant:"neutral"}}}function pn(e){return e?e.running>0?e.running===1?"1 subagent running":`${e.running} subagents running`:e.settled===1?"1 subagent":`${e.settled} subagents`:""}function gn(e){return e?e.total===1?"1 todo":`${e.total} todos`:""}function vt(e,s){const n=[],a=z(e.completed_at??e.target_date,s);a&&n.push({key:e.completed_at?"completed":"target",text:e.completed_at?`completed ${a}`:`due ${a}`});const r=bt(e.estimate,e.estimate_unit);r&&n.push({key:"estimate",text:r});const o=yt(e.milestones_completed,e.milestones_total);o&&n.push({key:"milestones",text:`milestones ${o}`});const l=Le(e.live_sessions);return l&&n.push({key:"live",text:l}),n}const ae=864e5,jn=/^(\d{4})-(\d{2})-(\d{2})$/;function Z(e){if(!e)return null;const s=jn.exec(e);if(!s)return null;const n=Number(s[1]),a=Number(s[2]),r=Number(s[3]),o=Date.UTC(n,a-1,r),l=new Date(o);return l.getUTCFullYear()!==n||l.getUTCMonth()!==a-1||l.getUTCDate()!==r?null:o}const Me=["planning","active","qa","validation","done"],Ee=["paused","archived"],kt="projects-board-column-order";let Pe=null;function bn(){if(Pe)return[...Pe];try{const e=localStorage.getItem(kt);if(!e)return[];const s=JSON.parse(e);if(!Array.isArray(s))return[];const n=[];for(const a of s){if(typeof a!="string"||a.length===0)return[];n.includes(a)||n.push(a)}return n}catch{return[]}}function yn(e){Pe=[...e];try{localStorage.setItem(kt,JSON.stringify(e))}catch{}}function vn(e,s,n){const a=e.filter(o=>o!==s),r=Math.max(0,Math.min(n,a.length));return a.splice(r,0,s),a}function kn(e,s=[]){const n=new Map;for(const i of e){const f=n.get(i.status)??[];f.push(i),n.set(i.status,f)}const a=Me.map(i=>({status:i,projects:n.get(i)??[]}));for(const i of Ee){const f=n.get(i)??[];f.length>0&&a.push({status:i,projects:f})}for(const[i,f]of n)!Ee.includes(i)&&!Me.includes(i)&&a.push({status:i,projects:f});if(s.length===0)return a;const r=new Map(s.map((i,f)=>[i,f])),o=a.filter(i=>r.has(i.status));o.sort((i,f)=>(r.get(i.status)??0)-(r.get(f.status)??0));const l=a.filter(i=>!r.has(i.status));return[...o,...l]}function Nn(e,s){if(e.status==="done"||e.status==="archived"||e.completed_at)return!1;const n=Z(e.target_date);return n===null?!1:n<s}function Nt(e){return e.title||e.name}function wn(e,s){const n=[];for(const a of[e,s]){const r=a?.trim();r&&!n.includes(r)&&n.push(r)}return n.join(" · ")}function Ie(e){return e.title||e.session_id}function Sn(e){return[...e].reverse()}function Cn(e){return e<=0?"":e===1?"1 update":`${e} updates`}const Xe=e=>String(e).padStart(2,"0");function $e(e){return`${e.getFullYear()}-${Xe(e.getMonth()+1)}-${Xe(e.getDate())}`}function Tn(e){const s=Date.parse(e);return Number.isNaN(s)?"":$e(new Date(s))}function Dn(e,s,n=new Date){if(!e)return"";if(e===$e(n))return"Today";const a=new Date(n.getFullYear(),n.getMonth(),n.getDate()-1);return e===$e(a)?"Yesterday":z(e,s,n)}function _n(e,s){const n=Date.parse(e);return Number.isNaN(n)?"":new Date(n).toLocaleTimeString(s,{hour:"numeric",minute:"2-digit"})}function Mn(e,s){const n=Date.parse(e);return Number.isNaN(n)?"":ie(re(n/1e3,s))}function En(e,s,n=Date.now()){const a=[],r=jt(e.by);r&&a.push({key:"author",text:r});const o=_n(e.at,s);o&&a.push({key:"time",text:o});const l=Mn(e.at,n);return l&&a.push({key:"age",text:l}),a}function Pn(e,s,n=new Date){const a=[];for(const r of Sn(e)){const o=Tn(r.at),l=a[a.length-1];if(l&&l.key===o){l.entries.push(r);continue}a.push({key:o,label:Dn(o,s,n),entries:[r]})}return a}function $n(e){return!Number.isFinite(e)||e<0?"":e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${(e/1024).toFixed(1)} KB`:`${e} B`}function On(e,s){return s<=0?"":`${e} of ${s} complete`}function An(e){let s=0,n=0,a=!1;for(const r of e)r.todos&&(a=!0,s+=r.todos.open,n+=r.todos.total);return a?{open:s,total:n}:null}function Ge(e){return`${e.open} open of ${e.total}`}function Rn(e){const s=e.filter(a=>a.exists);return(s.find(a=>a.runtime?.state==="live")??s[0])?.session_id??null}function Ln(e){const s=Nt(e),n=e.progress.trim()||"not reported yet";return[`Continue work on project "${s}" (${e.name}).`,`Latest progress: ${n}`,"Review the project details and continue or complete the work."].join(`
|
|
22
|
+
`)}function In(e){return e?e.kind==="team"?`team ${e.name}`:`agent ${e.name}`:""}const Je="complete them, or pass force_done=true to close with them open",Fn="complete or remove the incomplete milestones, then mark it done";function Un(e){return e.includes(Je)?e.replace(Je,Fn):e}const X=["day","week","month","quarter"],Fe={day:24,week:9,month:3,quarter:1};function wt(e){const s=new Date(e);return Date.UTC(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate())}function J(e,s){return Math.round((s-e)/ae)}function Ze(e,s){return J(e,s)+1}function Bn(e,s){for(const n of X)if(e*Fe[n]<=s)return n;return X[X.length-1]}function Yn(e){const{project:s}=e;return s.start_date||s.target_date||s.completed_at?!0:e.milestones.some(n=>!!n.target_date)}function qn(e,s){const n=[s];for(const a of e){for(const r of[a.project.start_date,a.project.target_date,a.project.completed_at]){const o=Z(r);o!==null&&n.push(o)}for(const r of a.milestones){const o=Z(r.target_date);o!==null&&n.push(o)}}return n.length===1?null:{startMs:Math.min(...n),endMs:Math.max(...n)}}function zn(e){const s=[],n=[];for(const a of e)(Yn(a)?s:n).push(a);return{dated:s,undated:n}}function Qn(e){const{project:s}=e,n=Z(s.start_date),a=Z(s.target_date),r=Z(s.completed_at),o=s.status==="done"&&r!==null?r:a,l=n??o,i=o??n;return l===null||i===null?null:{fromMs:Math.min(l,i),toMs:Math.max(l,i)}}function Hn(e){const s=[];for(const n of e.milestones){const a=Z(n.target_date);a!==null&&s.push({name:n.name,dayMs:a,status:n.status})}return s}const le=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function B(e){const s=new Date(e);return{year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate(),weekday:s.getUTCDay()}}function Kn(e){const{year:s,month:n}=B(e);return Date.UTC(s,n-1,1)}function Vn(e){const{year:s,month:n}=B(e);return n===12?Date.UTC(s+1,0,1):Date.UTC(s,n,1)}function Wn(e){const{year:s,month:n}=B(e);return Date.UTC(s,Math.floor((n-1)/3)*3,1)}function Xn(e){const{year:s,month:n}=B(e),a=Math.floor((n-1)/3);return a===3?Date.UTC(s+1,0,1):Date.UTC(s,a*3+3,1)}function Gn(e){const{weekday:s}=B(e);return e-(s+6)%7*ae}const Jn=26;function Zn(e,s,n){const a=[],r=(d,N,u)=>{d<e||d>s||a.push({dayMs:d,label:N,major:u})};if(n==="day"){let d=!1;for(let N=e;N<=s;N+=ae){const{day:u,month:h}=B(N);u===1?(r(N,le[h-1],!0),d=!0):d?(r(N,"",!1),d=!1):r(N,String(u),!1)}return a}if(n==="week"){for(let d=Gn(e);d<=s;d+=7*ae){if(d<e)continue;const{day:N,month:u}=B(d);B(d-7*ae).month!==u?r(d,`${le[u-1]} ${N}`,!0):r(d,String(N),!1)}return a}const o=n==="month"?Kn:Wn,l=n==="month"?Vn:Xn,i=d=>{const{year:N,month:u}=B(d);if(n==="month")return u===1&&N!==B(e).year?`${le[0]} '${String(N%100).padStart(2,"0")}`:le[u-1];const h=Math.floor((u-1)/3)+1;return h===1&&N!==B(e).year?`Q1 '${String(N%100).padStart(2,"0")}`:`Q${h}`};r(e,i(o(e)),!0);const f=Math.ceil(Jn/Fe[n]);let p=e;for(let d=l(o(e));d<=s;d=l(d))J(p,d)<f||(r(d,i(d),!0),p=d);return a}const et={active:"In flight",paused:"On hold",done:"Finished"};function ea(){const[e,s]=x.useState(null);return x.useEffect(()=>{if(!e)return;const n=document.querySelector(`[data-project-menu="${e}"]`);n&&(n.focus(),s(null))}),x.useCallback(n=>s(n),[])}const ta=4,Ne="Drag the header, or press the arrow keys, to move this column.",tt="board-column-move-hint",sa=({projects:e,nowMs:s,onOpen:n,onEdit:a,onDelete:r,onMove:o,movingKeys:l=[]})=>{const[i,f]=x.useState(bn),p=kn(e,i),[d,N]=x.useState(null),[u,h]=x.useState(""),v=x.useRef(null),g=x.useRef(null),C=x.useRef(null),j=x.useRef(null),c=x.useRef(null),m=new Set(l),w=(b,y)=>{const S=vn(p.map(M=>M.status),b,y);f(S),yn(S),h(`Moved ${F(b).label} column to position ${S.indexOf(b)+1} of ${S.length}.`)},D=(b,y)=>{const S=v.current;if(!S)return 0;let M=0;const A=S.querySelectorAll("[data-board-column]");for(const R of A){if(R.dataset.boardColumn===y)continue;const K=R.getBoundingClientRect();b>(K.left+K.right)/2&&(M+=1)}return M},_=(b,y)=>{const S=p.filter(R=>R.status!==b),M=S[y-1]?.status,A=S[y]?.status;return M&&A?`between ${F(M).label} and ${F(A).label}`:A?`before ${F(A).label}`:M?`after ${F(M).label}`:"in place"},P=(b,y)=>{const S=D(b,y.status);S!==y.over&&(y.over=S,N({status:y.status,over:S}),h(`Moving ${F(y.status).label} column; it will drop ${_(y.status,S)}.`))},Q=()=>{j.current!==null&&(cancelAnimationFrame(j.current),j.current=null)},T=32,k=12,E=()=>{j.current=null;const b=c.current,y=v.current,S=C.current;if(!b?.armed||!y||S===null)return;const M=y.getBoundingClientRect(),A=y.scrollWidth-y.clientWidth;let R=0;if(S-M.left<T&&y.scrollLeft>0?R=-1:M.right-S<T&&y.scrollLeft<A&&(R=1),R!==0){const K=y.scrollLeft;y.scrollLeft=K+R*k,y.scrollLeft!==K&&P(S,b)}else P(S,b);be(b.status,b.over),j.current=requestAnimationFrame(E)};x.useEffect(()=>()=>{j.current!==null&&cancelAnimationFrame(j.current)},[]);const q=(b,y)=>{if(b.button===0){try{b.currentTarget.setPointerCapture(b.pointerId)}catch{}c.current={pointerId:b.pointerId,status:y,startX:b.clientX,startY:b.clientY,armed:!1,over:p.findIndex(S=>S.status===y)},C.current=b.clientX}},H=b=>{const y=c.current;if(!(!y||b.pointerId!==y.pointerId)){if(C.current=b.clientX,!y.armed){if(Math.hypot(b.clientX-y.startX,b.clientY-y.startY)<ta)return;y.armed=!0,N({status:y.status,over:y.over}),h(`Moving ${F(y.status).label} column.`),j.current===null&&(j.current=requestAnimationFrame(E))}P(b.clientX,y)}},L=b=>{const y=c.current;if(c.current=null,Q(),N(null),!y?.armed)return;if(!b){h("Move cancelled.");return}const S=p.findIndex(M=>M.status===y.status);if(y.over===S){h("");return}w(y.status,y.over)},oe=b=>{const y=c.current;!y||b.pointerId!==y.pointerId||L(!0)},je=()=>{L(!1)};x.useEffect(()=>{if(!d)return;const b=y=>{y.key==="Escape"&&L(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[d!==null]);const be=x.useCallback((b,y)=>{const S=v.current,M=g.current;if(!S||!M)return;const A=S.getBoundingClientRect(),R=[];for(const Ye of S.querySelectorAll("[data-board-column]"))Ye.dataset.boardColumn!==b&&R.push(Ye.getBoundingClientRect());const K=6,Ot=y>=R.length?(R[R.length-1]?.right??A.left)+K:(R[y]?.left??A.right)-K,ye=S.scrollLeft,At=2,Rt=Ot-A.left+ye,Be=ye+1,Lt=ye+A.width-At-1,It=Math.round(Math.min(Math.max(Rt,Be),Math.max(Be,Lt)));M.style.left=`${It}px`},[]);x.useLayoutEffect(()=>{d&&be(d.status,d.over)},[d,be]);const $t=(b,y)=>{if(b.key==="Enter"||b.key===" "){b.preventDefault(),h(Ne);return}if(b.key!=="ArrowLeft"&&b.key!=="ArrowRight")return;b.preventDefault();const S=p.map(R=>R.status),M=S.indexOf(y),A=b.key==="ArrowLeft"?M-1:M+1;if(A<0||A>=S.length){h(`${F(y).label} column is already ${A<0?"the first column":"the last column"}.`);return}w(y,A)};return t.jsxs("div",{className:"@container flex min-h-0 flex-1 flex-col overflow-hidden rounded-md bg-surface","data-testid":"project-board",children:[t.jsx("output",{"aria-live":"polite",className:"sr-only","data-board-column-announcement":"",children:u}),t.jsx("span",{id:tt,className:"sr-only",children:Ne}),t.jsxs("div",{ref:v,className:O("relative flex min-h-0 flex-1 items-stretch gap-3 overflow-x-auto p-3",d&&"cursor-grabbing select-none"),children:[d&&t.jsx("div",{ref:g,"aria-hidden":"true","data-board-drop-indicator":"",className:"pointer-events-none absolute top-3 bottom-3 w-0.5 rounded-full bg-accent"}),p.map(b=>{const y=F(b.status);return t.jsxs("section",{"data-board-column":b.status,className:"flex w-64 shrink-0 flex-col overflow-hidden rounded-md bg-sunken",children:[t.jsxs("header",{"data-board-column-handle":b.status,onPointerDown:S=>q(S,b.status),onPointerMove:H,onPointerUp:oe,onPointerCancel:je,className:O("flex shrink-0 cursor-grab items-center justify-between gap-2 border-b border-hairline px-3 py-2 active:cursor-grabbing",d?.status===b.status&&"opacity-85"),children:[t.jsxs("span",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[t.jsx($,{type:"button",variant:"ghost",size:"icon-sm","data-board-column-grip":b.status,"aria-label":`Move ${y.label} column`,"aria-describedby":tt,title:Ne,className:"-ml-1.5 cursor-grab text-ink-muted active:cursor-grabbing",onKeyDown:S=>$t(S,b.status),children:t.jsx(Qs,{"aria-hidden":"true"})}),t.jsxs("span",{className:"flex min-w-0 items-baseline gap-2",children:[t.jsx("span",{className:"truncate text-body-sm font-medium text-ink",children:y.label}),et[b.status]&&t.jsx("span",{className:"truncate text-meta text-ink-muted",children:et[b.status]})]})]}),t.jsx("span",{className:"text-meta text-ink-muted",children:b.projects.length})]}),b.projects.length===0?t.jsx("p",{className:"px-3 py-4 text-meta text-ink-muted",children:"No projects here."}):t.jsx("ul",{className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto p-2",children:b.projects.map(S=>t.jsx("li",{children:t.jsx(na,{project:S,nowMs:s,busy:m.has(S.id),onOpen:()=>n(S),onEdit:()=>a(S),onDelete:()=>r(S),onMove:M=>o(S,M)})},S.id))})]},b.status)})]})]})},na=({project:e,nowMs:s,busy:n,onOpen:a,onEdit:r,onDelete:o,onMove:l})=>{const i=vt(e,typeof navigator>"u"?void 0:navigator.language),f=Nn(e,wt(s)),p=re(e.progress_updated_at,s),d=()=>{const u=window.getSelection();u&&!u.isCollapsed||a()},N=u=>{u.key!=="Enter"&&u.key!==" "||u.target===u.currentTarget&&(u.preventDefault(),a())};return t.jsxs("div",{"data-project-name":e.name,role:"button",tabIndex:0,"aria-label":`Open ${e.name}`,onClick:d,onKeyDown:N,className:O("group/card flex flex-col gap-2 rounded-sm bg-surface p-3","transition-colors duration-fast ease-out-quart hover:bg-elevated",f&&"border border-warning-border"),children:[t.jsxs("div",{className:"flex items-start justify-between gap-2",children:[t.jsxs("span",{className:"min-w-0 flex-1",children:[t.jsx("span",{className:"block truncate text-body-sm font-medium text-ink",children:e.name}),e.description&&t.jsx("span",{className:"mt-0.5 block truncate text-meta text-ink-muted",children:e.description})]}),t.jsxs(vs,{children:[t.jsx(ks,{"data-project-menu":e.id,"aria-label":`Actions for ${e.name}`,disabled:n,onClick:u=>u.stopPropagation(),className:O("shrink-0 rounded-sm p-1 text-ink-muted whitespace-nowrap","hover:bg-sunken hover:text-ink"),children:t.jsx(Wt,{className:"size-4"})}),t.jsxs(Ns,{align:"end",onClick:u=>u.stopPropagation(),children:[t.jsx(ke,{onSelect:a,children:"Open"}),t.jsxs(ws,{children:[t.jsx(Ss,{children:"Set status"}),t.jsx(Cs,{children:t.jsx(Ts,{value:e.status,onValueChange:l,children:[...Me,...Ee].map(u=>t.jsx(Ds,{value:u,children:F(u).label},u))})})]}),t.jsx(_s,{}),t.jsx(ke,{onSelect:r,children:"Edit"}),t.jsx(ke,{onSelect:o,children:"Delete"})]})]})]}),t.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[i.filter(u=>u.key!=="live").map(u=>t.jsx("span",{className:"rounded-sm bg-sunken px-1.5 py-0.5 text-meta text-ink-muted",children:u.text},u.key)),f&&t.jsx(se,{variant:"warning",children:"Overdue"})]}),t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsx("span",{className:"min-w-0 truncate text-meta text-ink-muted",children:un(p)}),t.jsxs("span",{className:"flex shrink-0 items-center gap-1.5",children:[(e.progress_stale||!p)&&t.jsx("span",{"aria-label":me,title:me,className:"size-1.5 rounded-full bg-warning"}),e.sessions>0&&t.jsx(aa,{project:e})]})]})]})},aa=({project:e})=>{const[s,n]=x.useState(!1),a=he(),r=xt(e.id,s),o=r.data?.links??[],l=xn(e);return t.jsxs(Ms,{open:s,onOpenChange:n,children:[t.jsx(Es,{"data-project-sessions":e.id,"aria-label":`Sessions linked to ${e.name}`,onClick:i=>i.stopPropagation(),className:O("rounded-sm px-1 text-meta whitespace-nowrap",e.live_sessions>0?"text-success hover:bg-sunken":"text-ink-muted hover:bg-sunken"),children:l}),t.jsx(Ps,{align:"end",className:"w-64 p-2 outline-none",onClick:i=>i.stopPropagation(),children:r.isLoading?t.jsx("p",{className:"px-1 py-2 text-meta text-ink-muted",children:"Loading linked sessions…"}):r.isError?t.jsxs("div",{className:"flex flex-col items-start gap-1.5 px-1 py-2",children:[t.jsx("p",{className:"text-meta text-ink-muted",children:r.error instanceof Error&&r.error.message?r.error.message:"The linked sessions could not be read."}),t.jsx($,{variant:"secondary",size:"sm",onClick:()=>void r.refetch(),children:"Try again"})]}):o.length===0?t.jsx("p",{className:"px-1 py-2 text-meta text-ink-muted",children:"No sessions linked yet."}):t.jsx("ul",{className:"flex flex-col",children:o.map(i=>t.jsx("li",{children:t.jsx("button",{type:"button",disabled:!i.exists,onClick:()=>{i.exists&&(n(!1),dt(a,i.session_id))},className:O("flex w-full items-center gap-2 rounded-sm px-1 py-1.5 text-left text-meta",i.exists?"text-ink hover:bg-elevated":"text-ink-disabled"),children:t.jsx("span",{className:"truncate",children:i.title||i.session_id})})},i.session_id))})})]})},St=({open:e,projectName:s,onClose:n,onConfirm:a})=>{const[r,o]=x.useState(""),[l,i]=x.useState(null),[f,p]=x.useState(!1),d=x.useId();x.useEffect(()=>{e&&(o(""),i(null),p(!1))},[e]);const N=r.trim().toLowerCase()===s.trim().toLowerCase()&&s.trim().length>0,u=async()=>{p(!0),i(null);try{await a(r.trim()),n()}catch(h){i(h instanceof Error&&h.message?h.message:"The project was not deleted.")}finally{p(!1)}};return t.jsx(xe,{open:e,onClose:n,title:"Delete this project?",dataTourTag:"project-delete-dialog",actions:t.jsxs(t.Fragment,{children:[t.jsx(fe,{onClick:n,disabled:f,children:"Cancel"}),t.jsxs(Xt,{onClick:()=>void u(),disabled:!N||f,children:[f&&t.jsx(ee,{size:"xs"}),"Delete project"]})]}),children:t.jsxs("div",{className:"flex flex-col gap-3",children:[t.jsx("p",{className:"text-body-sm text-ink",children:"This deletes the project and its milestones. The sessions linked to it are not touched."}),t.jsxs("p",{className:"text-body-sm text-ink-muted",children:["Type"," ",t.jsx("span",{className:"font-mono text-mono-sm text-ink",children:s})," ","to confirm."]}),t.jsx(U,{id:`${d}-confirm`,value:r,onChange:h=>o(h.target.value),placeholder:s,"aria-label":"Type the project name to confirm","aria-invalid":r.length>0&&!N,autoFocus:!0}),l&&t.jsx("p",{className:"text-body-sm text-danger",children:l})]})})},ra=/^(https?:|mailto:)/i,ia={a:({href:e,children:s})=>typeof e=="string"&&ra.test(e)?t.jsx("a",{href:e,target:"_blank",rel:"noreferrer",children:s}):t.jsx("span",{className:"font-mono text-mono-sm",children:s})},Oe=x.memo(({children:e,className:s})=>t.jsx("div",{className:O("lo-markdown",s),children:t.jsx(Gt,{remarkPlugins:[Jt],components:ia,children:e})})),oa=[{value:"planning",label:"Planning"},{value:"active",label:"Active"},{value:"qa",label:"QA"},{value:"validation",label:"Validation"},{value:"done",label:"Done"},{value:"paused",label:"Paused"},{value:"archived",label:"Archived"}],Ct={name:"",title:"",owner:"",team:"",description:"",status:"active",tags:"",startDate:"",targetDate:"",estimate:"",estimateUnit:"points"},st=gt;function nt(e){return e.split(",").map(s=>s.trim()).filter(s=>s.length>0)}function la(e){return e?{name:e.name,title:e.title??"",owner:e.owner??"",team:e.team??"",description:e.description,status:e.status,tags:e.tags.join(", "),startDate:e.start_date??"",targetDate:e.target_date??"",estimate:e.estimate===null||e.estimate===void 0?"":String(e.estimate),estimateUnit:e.estimate_unit||"points"}:Ct}const Ae=({open:e,mode:s,initial:n,onClose:a,onSubmit:r})=>{const[o,l]=x.useState(Ct),[i,f]=x.useState({}),[p,d]=x.useState(null),N=x.useRef(null),[u,h]=x.useState(!1),v=x.useId();x.useEffect(()=>{e&&(l(la(n)),f({}),d(null),h(!1))},[e]),x.useEffect(()=>{p&&N.current?.scrollIntoView({block:"nearest"})},[p]);const g=(m,w)=>{l(D=>({...D,[m]:w}))},C=m=>{const w={},D=Zt(m.name.trim());D&&(w.name=D),m.description.length>ve&&(w.description=`Keep the description within ${ve} characters.`);const _=nt(m.tags);if(_.length>8)w.tags="At most 8 tags.";else for(const P of _){const Q=es(P);if(Q){w.tags=Q;break}}if(s==="edit"){if(st.test(m.startDate)||(w.startDate="Dates are YYYY-MM-DD, or empty."),st.test(m.targetDate)||(w.targetDate="Dates are YYYY-MM-DD, or empty."),!w.startDate&&!w.targetDate&&m.startDate&&m.targetDate&&m.targetDate<m.startDate&&(w.targetDate="The target date is before the start date."),m.estimate){const P=Number(m.estimate);(!Number.isFinite(P)||!(P>0)||P>1e3)&&(w.estimate="Estimates are greater than 0 and at most 1000.")}for(const P of["title","owner","team"])m[P].trim().length>80&&(w[P]=`${P==="title"?"Titles":P==="owner"?"Owners":"Teams"} are at most 80 characters.`)}return w},j=async()=>{const m=C(o);if(f(m),Object.keys(m).length>0)return;h(!0),d(null);const w=nt(o.tags);try{s==="create"?await r({mode:"create",fields:{name:o.name.trim(),...o.description.trim()?{description:o.description.trim()}:{},status:o.status,...w.length>0?{tags:w}:{}}}):await r({mode:"edit",key:n?.key??"",fields:{name:o.name.trim(),description:o.description.trim(),title:o.title.trim(),owner:o.owner.trim(),team:o.team.trim(),status:o.status,tags:w,start_date:o.startDate,target_date:o.targetDate,...o.estimate?{estimate:Number(o.estimate)}:{},estimate_unit:o.estimateUnit}}),a()}catch(D){const _=D instanceof Error&&D.message?D.message:"";d(Un(_)||"The project was not saved.")}finally{h(!1)}},c=s==="create"?"New project":"Edit project";return t.jsx(xe,{open:e,onClose:a,title:c,maxWidth:"sm",dataTourTag:s==="create"?"project-create-dialog":"project-edit-dialog",actions:t.jsxs(t.Fragment,{children:[t.jsx(fe,{onClick:a,disabled:u,children:"Cancel"}),t.jsxs(ut,{onClick:()=>void j(),disabled:u,children:[u&&t.jsx(ee,{size:"xs"}),s==="create"?"Create project":"Save changes"]})]}),children:t.jsxs("form",{className:"flex flex-col gap-4 px-1 py-1",onSubmit:m=>{m.preventDefault(),j()},children:[t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-name`,children:"Name"}),t.jsx(U,{id:`${v}-name`,value:o.name,onChange:m=>g("name",m.target.value),placeholder:"payments-migration",autoFocus:!0,"aria-invalid":!!i.name}),i.name?t.jsx("p",{className:"text-meta text-danger",children:i.name}):t.jsx("p",{className:"text-meta text-ink-muted",children:"Letters, digits, dot, underscore or dash; no spaces."})]}),t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-description`,children:"Description"}),t.jsx($s,{id:`${v}-description`,value:o.description,onChange:m=>g("description",m.target.value),rows:2,"aria-invalid":!!i.description}),t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.description?t.jsx("p",{className:"text-meta text-danger",children:i.description}):t.jsx("span",{}),t.jsxs("p",{className:"text-meta text-ink-muted tabular-nums",children:[o.description.length,"/",ve]})]})]}),s==="edit"&&t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-title`,children:"Display title"}),t.jsx(U,{id:`${v}-title`,value:o.title,onChange:m=>g("title",m.target.value),placeholder:"Payments migration","aria-invalid":!!i.title}),i.title?t.jsx("p",{className:"text-meta text-danger",children:i.title}):t.jsx("p",{className:"text-meta text-ink-muted",children:"Shown instead of the name; the name stays the key everything is addressed by."})]}),t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{children:"Status"}),t.jsxs(Se,{value:o.status,onValueChange:m=>g("status",m),children:[t.jsx(Ce,{"aria-label":"Status",children:t.jsx(Te,{})}),t.jsx(De,{children:oa.map(m=>t.jsx(ce,{value:m.value,children:m.label},m.value))})]}),o.status==="done"&&t.jsx("p",{className:"text-meta text-ink-muted",children:"Moving a project to Done stamps today as its completion date."})]}),t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-tags`,children:"Tags"}),t.jsx(U,{id:`${v}-tags`,value:o.tags,onChange:m=>g("tags",m.target.value),placeholder:"q4, payments","aria-invalid":!!i.tags}),i.tags?t.jsx("p",{className:"text-meta text-danger",children:i.tags}):t.jsx("p",{className:"text-meta text-ink-muted",children:"Comma-separated, up to 8. Lowercase letters, digits, underscore or dash."})]}),s==="edit"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-start`,children:"Start date"}),t.jsx(U,{id:`${v}-start`,value:o.startDate,onChange:m=>g("startDate",m.target.value),placeholder:"YYYY-MM-DD","aria-invalid":!!i.startDate}),i.startDate&&t.jsx("p",{className:"text-meta text-danger",children:i.startDate})]}),t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-target`,children:"Target date"}),t.jsx(U,{id:`${v}-target`,value:o.targetDate,onChange:m=>g("targetDate",m.target.value),placeholder:"YYYY-MM-DD","aria-invalid":!!i.targetDate}),i.targetDate&&t.jsx("p",{className:"text-meta text-danger",children:i.targetDate})]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-owner`,children:"Owner"}),t.jsx(U,{id:`${v}-owner`,value:o.owner,onChange:m=>g("owner",m.target.value),placeholder:"atlas","aria-invalid":!!i.owner}),i.owner&&t.jsx("p",{className:"text-meta text-danger",children:i.owner})]}),t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-team`,children:"Team"}),t.jsx(U,{id:`${v}-team`,value:o.team,onChange:m=>g("team",m.target.value),placeholder:"platform","aria-invalid":!!i.team}),i.team&&t.jsx("p",{className:"text-meta text-danger",children:i.team})]})]}),t.jsxs("div",{className:"flex flex-col gap-1.5",children:[t.jsx(I,{htmlFor:`${v}-estimate`,children:"Estimate"}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(U,{id:`${v}-estimate`,value:o.estimate,onChange:m=>g("estimate",m.target.value),placeholder:"13",inputMode:"decimal","aria-invalid":!!i.estimate,className:"max-w-28"}),t.jsxs(Se,{value:o.estimateUnit,onValueChange:m=>g("estimateUnit",m),children:[t.jsx(Ce,{"aria-label":"Estimate unit",className:"max-w-32",children:t.jsx(Te,{})}),t.jsxs(De,{children:[t.jsx(ce,{value:"points",children:"Points"}),t.jsx(ce,{value:"days",children:"Days"})]})]})]}),i.estimate&&t.jsx("p",{className:"text-meta text-danger",children:i.estimate}),s==="edit"&&o.estimate.trim()===""&&n?.estimate!==null&&n?.estimate!==void 0&&t.jsx("p",{className:"text-meta text-ink-muted",children:"Clearing an estimate is not supported yet — saving keeps its current value."})]})]}),p&&t.jsx("p",{ref:N,className:"text-body-sm text-danger",children:p})]})})},ca=({links:e,target:s,onTargetChange:n,onSend:a,focusTick:r})=>{const[o,l]=x.useState(""),[i,f]=x.useState(!1),p=x.useRef(null);x.useEffect(()=>{r>0&&p.current?.focus()},[r]);const d=e.filter(g=>g.exists),u=(d.find(g=>g.session_id===s)??null)?.runtime?.busy===!0,h=!!s&&o.trim().length>0&&!i,v=async()=>{if(!(!h||!s)){f(!0);try{await a(s,o.trim(),u?"steer":"prompt")&&l("")}finally{f(!1),p.current?.focus()}}};return t.jsxs("div",{className:"flex flex-col gap-2 rounded-md bg-elevated p-3",children:[t.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.jsx("span",{className:"text-meta text-ink-muted",children:"Send to"}),t.jsxs(Se,{value:s??void 0,onValueChange:g=>n(g),children:[t.jsx(Ce,{"aria-label":"Select the session to message",className:"max-w-72",children:t.jsx(Te,{placeholder:"No session selected"})}),t.jsx(De,{children:d.map(g=>t.jsx(ce,{value:g.session_id,children:Ie(g)},g.session_id))})]}),u&&t.jsx("span",{className:"text-meta text-ink-muted",children:"The session is working — this message steers the running turn."})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(U,{ref:p,"aria-label":"Message the selected session",placeholder:"Message the session",value:o,onChange:g=>l(g.target.value),onKeyDown:g=>{g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),v())}}),t.jsxs($,{variant:"secondary",disabled:!h,onClick:()=>void v(),"data-tour-tag":"project-quick-send",children:[i?t.jsx(ee,{size:"xs"}):t.jsx(Ws,{}),"Send"]})]})]})},da=({links:e,busy:s,onUnlink:n,onLink:a,onQuickSend:r,onStartSession:o})=>{const l=he(),i=de(j=>j.sessions),[f,p]=x.useState(!1),[d,N]=x.useState(null),[u,h]=x.useState(0),v=d&&e.some(j=>j.session_id===d&&j.exists)?d:Rn(e),g=x.useMemo(()=>{const j=new Set(e.map(c=>c.session_id));return i.filter(c=>!j.has(c.session_id)).map(c=>({id:c.session_id,name:c.title||c.session_id,description:c.cwd??void 0}))},[i,e]),C=j=>{de.getState().openSession(j).then(c=>{c&&l(`/chat/${j}`)})};return t.jsxs("section",{className:"flex flex-col gap-3",children:[t.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[t.jsx("h2",{className:"text-title text-ink",children:"Linked sessions"}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs($,{variant:"secondary",size:"sm",disabled:s,onClick:o,"data-tour-tag":"project-start-session",children:[t.jsx(ts,{}),"New session"]}),t.jsxs($,{variant:"secondary",size:"sm",disabled:s,onClick:()=>p(!0),"data-tour-tag":"project-link-session",children:[t.jsx(Ks,{}),"Link session"]})]})]}),e.length===0?t.jsx("p",{className:"text-body-sm text-ink-muted",children:"No sessions linked yet. Link the conversations that are working on this project so its progress stays with them."}):t.jsx("ul",{className:"flex flex-col divide-y divide-hairline rounded-md bg-surface",children:e.map(j=>{const c=fn(j),m=pn(j.subagents),w=gn(j.todos),D=j.title||j.session_id,_=j.exists;return t.jsxs("li",{className:O("flex items-center gap-2 rounded-sm px-2 py-2",_&&"hover:bg-row-hover"),children:[t.jsx("button",{type:"button",disabled:!_,onClick:()=>{_&&C(j.session_id)},className:O("flex min-w-0 flex-1 items-center gap-2 text-left",_?"cursor-pointer":"cursor-default opacity-100"),children:t.jsx("span",{className:O("min-w-0 truncate text-body-sm",j.title?"text-ink":"font-mono text-mono-sm text-ink-muted"),children:D})}),j.runtime?.busy===!0&&t.jsx("span",{className:"shrink-0 text-meta text-ink-muted",children:"busy"}),m&&t.jsx("span",{className:"shrink-0 text-meta text-ink-muted",children:m}),w&&t.jsx("span",{className:"shrink-0 text-meta text-ink-muted",children:w}),t.jsx(se,{variant:c.variant,children:c.label}),_&&t.jsx($,{variant:"ghost",size:"icon-sm",disabled:s,"aria-label":`Message ${D}`,title:`Message ${D}`,onClick:()=>{N(j.session_id),h(P=>P+1)},children:t.jsx(ss,{})}),t.jsx($,{variant:"ghost",size:"icon-sm",disabled:s,"aria-label":`Unlink ${D}`,onClick:()=>n(j.session_id),children:t.jsx(Gs,{})})]},j.session_id)})}),e.length>0&&t.jsx(ca,{links:e,target:v,onTargetChange:N,onSend:r,focusTick:u}),t.jsx(xe,{open:f,onClose:()=>p(!1),title:"Link a session",maxWidth:"sm",dataTourTag:"project-link-dialog",actions:t.jsx(fe,{onClick:()=>p(!1),children:"Close"}),children:t.jsxs("div",{className:"flex flex-col gap-2 px-1 py-1",children:[t.jsx(I,{children:"Session"}),t.jsx(ht,{showLabel:!1,ariaLabel:"Search sessions",busyLabel:"Loading sessions",placeholder:"Search conversations",options:g,selected:null,onSelect:j=>{p(!1),a(j.id)}}),t.jsx("p",{className:"text-meta text-ink-muted",children:"Conversations already linked to this project are not listed."})]})})]})},ua=({milestones:e,summary:s,busy:n,onToggle:a,onRemove:r,onAdd:o})=>{const[l,i]=x.useState(""),[f,p]=x.useState(""),d=!gt.test(f.trim()),N=l.trim().length>0&&!d&&!n,u=()=>{N&&(o(l.trim(),f.trim()),i(""),p(""))};return t.jsxs("section",{className:"flex flex-col gap-3",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[t.jsx("h2",{className:"text-title text-ink",children:"Milestones"}),s&&e.length>0&&t.jsx("span",{className:"text-meta text-ink-muted tabular-nums",children:s})]}),e.length===0?t.jsx("p",{className:"text-body-sm text-ink-muted",children:"No milestones yet. Add one below to mark the dates this project is planned around."}):t.jsx("ul",{className:"flex flex-col divide-y divide-hairline rounded-md bg-surface",children:e.map(h=>{const v=cn(h.status),g=h.completed_at!==null;return t.jsxs("li",{className:"flex items-center gap-3 rounded-sm px-2 py-2",children:[t.jsx(Os,{checked:g,disabled:n,onCheckedChange:C=>a(h.name,C===!0),"aria-label":g?`Mark ${h.name} not complete`:`Mark ${h.name} complete`}),t.jsx("span",{className:"min-w-0 flex-1 truncate text-body-sm text-ink",children:h.name}),h.target_date&&t.jsx("span",{className:"shrink-0 text-meta text-ink-muted",children:z(h.target_date,typeof navigator>"u"?void 0:navigator.language)}),t.jsx(se,{variant:v.variant,children:v.label}),t.jsx($,{variant:"ghost",size:"icon-sm",disabled:n,"aria-label":`Remove ${h.name}`,onClick:()=>r(h.name),children:t.jsx(As,{})})]},h.name)})}),t.jsxs("div",{className:"flex items-end gap-3",children:[t.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-1.5",children:[t.jsx(I,{htmlFor:"project-milestone-name",children:"New milestone"}),t.jsx(U,{id:"project-milestone-name",value:l,onChange:h=>i(h.target.value),placeholder:"beta cut",onKeyDown:h=>{h.key==="Enter"&&(h.preventDefault(),u())}})]}),t.jsxs("div",{className:"flex w-40 flex-col gap-1.5",children:[t.jsx(I,{htmlFor:"project-milestone-date",children:"Target date"}),t.jsx(U,{id:"project-milestone-date",value:f,onChange:h=>p(h.target.value),placeholder:"YYYY-MM-DD","aria-invalid":d}),d&&t.jsx("p",{className:"text-meta text-danger",children:"Dates are YYYY-MM-DD, or empty."})]}),t.jsxs($,{variant:"secondary",disabled:!N,onClick:u,"data-tour-tag":"project-milestone-add",children:[t.jsx(ue,{}),"Add"]})]})]})},ma=({project:e,nowMs:s})=>{const n=typeof navigator>"u"?void 0:navigator.language,a=new Date(s),r=[],o=z(e.start_date,n,a);o&&r.push({label:"Start",value:o});const l=z(e.target_date,n,a);l&&r.push({label:"Target",value:l});const i=z(e.completed_at,n,a);i&&r.push({label:"Completed",value:i});const f=bt(e.estimate,e.estimate_unit);if(f&&r.push({label:"Estimate",value:f}),e.tags.length>0&&r.push({label:"Tags",value:t.jsx("span",{className:"flex flex-wrap items-center gap-1.5",children:e.tags.map(p=>t.jsx(se,{variant:"outline",children:p},p))})}),e.updated_at>0){const p=ie(re(e.updated_at,s)),d=new Date(e.updated_at*1e3).toLocaleString(n);r.push({label:"Updated",value:t.jsx("time",{dateTime:new Date(e.updated_at*1e3).toISOString(),title:d,children:p})})}return t.jsxs("section",{className:"flex flex-col gap-3",children:[t.jsx("h2",{className:"text-title text-ink",children:"Properties"}),r.length===0?t.jsx("p",{className:"text-body-sm text-ink-muted",children:"No dates, estimate or tags yet."}):t.jsx("dl",{className:"flex flex-col gap-2",children:r.map(p=>t.jsxs("div",{className:"flex items-baseline gap-3",children:[t.jsx("dt",{className:"w-24 shrink-0 text-body-sm text-ink-muted",children:p.label}),t.jsx("dd",{className:"min-w-0 text-body-sm text-ink",children:p.value})]},p.label))})]})},Tt="plain",Dt=e=>`team:${e}`,_t=e=>`agent:${e}`;function ha(e){return e.startsWith("team:")?{kind:"team",name:e.slice(5)}:e.startsWith("agent:")?{kind:"agent",name:e.slice(6)}:{kind:"plain"}}function xa(e){return e.kind==="team"?Dt(e.name):e.kind==="agent"?_t(e.name):Tt}const at={kind:"plain"},fa=({open:e,onClose:s,onStart:n,teamsEnabled:a,profilesEnabled:r})=>{const[o,l]=x.useState(at),[i,f]=x.useState(null),[p,d]=x.useState(!1),N=ns(e&&a),u=as(e&&r);x.useEffect(()=>{e&&(l(at),f(null),d(!1))},[e]);const h=x.useMemo(()=>{const c=[{id:Tt,name:"Nothing in particular",description:"A plain session; assign a team or agent later.",group:"Plain"}];for(const m of N.data??[])c.push({id:Dt(m.name),name:m.name,description:`Team · manager: ${m.manager}`,group:"Teams"});for(const m of(u.data??[]).filter(w=>w.source!=="builtin"))c.push({id:_t(m.name),name:m.name,description:m.description||m.kind,group:"Agents"});return c},[N.data,u.data]),v=h.find(c=>c.id===xa(o))??h[0],g=!a||!r,C=N.isLoading||u.isLoading,j=async()=>{d(!0),f(null);try{await n(o),s()}catch(c){f(c instanceof Error&&c.message?c.message:"The session could not be started.")}finally{d(!1)}};return t.jsx(xe,{open:e,onClose:s,title:"Start a session",maxWidth:"sm",dataTourTag:"project-start-session-dialog",actions:t.jsxs(t.Fragment,{children:[t.jsx(fe,{onClick:s,disabled:p,children:"Cancel"}),t.jsxs(ut,{onClick:()=>void j(),disabled:p,children:[p&&t.jsx(ee,{size:"xs"}),"Start session"]})]}),children:t.jsxs("div",{className:"flex flex-col gap-4 px-1 py-1",children:[t.jsx(ht,{label:"Work with",placeholder:"Search teams and agents",options:h,selected:v,onSelect:c=>l(ha(c.id)),busy:C,busyLabel:"Loading teams and agents"}),t.jsx("p",{className:"text-meta text-ink-muted",children:"The session starts now, links itself to this project, and opens with a prompt you can edit before sending."}),g&&t.jsx("p",{className:"text-meta text-ink-muted",children:"This server does not offer the team or agent catalogues yet, so only a plain session can be started."}),i&&t.jsx("p",{className:"text-body-sm text-danger",children:i})]})})},Mt=({status:e})=>{const s=F(e);return t.jsxs(se,{variant:s.variant,children:[on(e)&&t.jsx(Rs,{"aria-hidden":!0}),s.label]})},pa=({links:e})=>{const s=An(e),n=e.filter(a=>a.todos!==null);return t.jsxs("section",{className:"flex flex-col gap-3",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[t.jsx("h2",{className:"text-title text-ink",children:"To-dos"}),s&&t.jsx("span",{className:"text-meta text-ink-muted tabular-nums",children:Ge(s)})]}),n.length===0?t.jsx("p",{className:"text-body-sm text-ink-muted",children:"No to-do snapshots from the linked sessions yet. A session publishes its list as it works, and it appears here once it has."}):t.jsx("ul",{className:"flex flex-col divide-y divide-hairline",children:n.map(a=>t.jsxs("li",{className:"flex items-center gap-3 rounded-sm px-2 py-2",children:[t.jsx("span",{className:a.title?"min-w-0 flex-1 truncate text-body-sm text-ink":"min-w-0 flex-1 truncate font-mono text-mono-sm text-ink-muted",children:Ie(a)}),a.todos&&t.jsx("span",{className:"shrink-0 text-meta text-ink-muted tabular-nums",children:Ge(a.todos)})]},a.session_id))})]})},ga=/[/\\]/;function Et(e){if(e.name)return e.name;const s=e.path.split(ga);return s[s.length-1]||"Attachment"}const ja=({attachment:e})=>{const s=Et(e),n=$n(e.bytes);return t.jsxs("div",{className:"flex w-fit max-w-full items-center gap-2.5 rounded-sm border border-hairline bg-surface px-3 py-2",children:[t.jsxs("button",{type:"button",className:"flex min-w-0 items-center gap-2.5 text-left",onClick:()=>{window.api?.openFile(e.path)},title:`Open ${s}`,children:[t.jsx(ds,{className:"size-4 shrink-0 text-ink-dim","aria-hidden":!0}),t.jsx("span",{className:"truncate text-body-sm text-ink",children:s})]}),n&&t.jsx("span",{className:"shrink-0 text-meta text-ink-muted tabular-nums",children:n}),t.jsx(us,{filePath:e.path,"aria-label":`File actions for ${s}`})]})},ba=({attachment:e})=>{const s=Et(e),n=rs(e.path,{mimeType:is(e.name||e.path),sizeBytes:e.bytes});return n.status==="ready"?t.jsx("div",{className:"inline-block max-w-full",children:t.jsx(os,{file:e.path,src:n.url,label:s,conversationId:""})}):n.status==="loading"?t.jsx(ls,{children:t.jsxs("span",{className:"sr-only",children:["Loading ",s]})}):t.jsx(cs,{name:s})},ya=({attachments:e})=>t.jsx("div",{className:"flex flex-wrap items-start gap-2",children:e.map(s=>s.kind==="image"?t.jsx(ba,{attachment:s},`${s.path}:${s.added_at}`):t.jsx(ja,{attachment:s},`${s.path}:${s.added_at}`))}),va=({update:e,nowMs:s})=>{const n=typeof navigator>"u"?void 0:navigator.language,a=En(e,n,s);return t.jsxs("article",{className:"flex flex-col gap-2 rounded-sm px-2 py-3",children:[a.length>0&&t.jsx("p",{className:"flex flex-wrap items-baseline gap-x-2 text-meta text-ink-muted",children:a.map((r,o)=>t.jsxs(x.Fragment,{children:[o>0&&t.jsx("span",{"aria-hidden":"true",children:"·"}),t.jsx("span",{children:r.text})]},r.key))}),e.text&&t.jsx(Oe,{children:e.text}),e.attachments.length>0&&t.jsx(ya,{attachments:e.attachments})]})},ka=({updates:e,nowMs:s})=>{const n=typeof navigator>"u"?void 0:navigator.language,a=Cn(e.length),r=Pn(e,n,new Date(s));return t.jsxs("section",{className:"flex flex-col gap-3",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-3",children:[t.jsx("h2",{className:"text-title text-ink",children:"Updates"}),a&&t.jsx("span",{className:"text-meta text-ink-muted",children:a})]}),e.length===0?t.jsx("p",{className:"text-body-sm text-ink-muted",children:"No updates yet. Progress reported by you or by the sessions working on this project is appended here."}):t.jsx("div",{className:"flex flex-col gap-4",children:r.map(o=>t.jsxs("div",{className:"flex flex-col gap-2",children:[o.label&&t.jsx("h3",{className:"text-meta text-ink-muted",children:o.label}),t.jsx("div",{className:"flex flex-col divide-y divide-hairline",children:o.entries.map((l,i)=>t.jsx(va,{update:l,nowMs:s},`${l.at}:${l.by}:${i}`))})]},o.key||"ungrouped"))})]})},Na="project_not_found",wa=({projectKey:e,nowMs:s})=>{const n=he(),a=mt(),r=xt(e,!0),o=ft(),l=pt(),i=nn(),f=an(),p=tn(),d=sn(),[N,u]=x.useState(!1),[h,v]=x.useState(!1),[g,C]=x.useState(!1),j=o.isPending||l.isPending||i.isPending||f.isPending||p.isPending||d.isPending;if(r.isLoading)return t.jsx("div",{className:"flex justify-center py-16",children:t.jsx(ee,{label:"Loading project"})});if(r.isError||!r.data){const T=r.error instanceof ms&&(r.error.code===Na||r.error.status===404);return t.jsxs("div",{className:"mx-auto flex w-full max-w-200 flex-col items-start gap-4",children:[t.jsx(_e,{variant:"danger",className:"w-full",children:T?"This project could not be found. It may have been deleted.":r.error instanceof Error&&r.error.message?r.error.message:"The project could not be read."}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx($,{variant:"secondary",onClick:()=>void r.refetch(),children:"Try again"}),t.jsxs($,{variant:"secondary",onClick:()=>void n("/projects"),children:[t.jsx(Qe,{}),"All projects"]})]})]})}const{project:c,links:m}=r.data,w=Nt(c),D=wn(c.owner,c.team),_=On(c.milestones.filter(T=>T.completed_at!==null).length,c.milestones.length),P=async(T,k,E)=>{const q=de.getState(),H=fs(null,T,q.drafts);if(!H)return!1;try{if(await ps(H,{text:k,attachments:[],images:[],mode:E,cwd:q.cwd},T)===null)return V("That session already has a message going out. Try again in a moment."),!1;const oe=m.find(je=>je.session_id===T);return G(`Sent to ${oe?Ie(oe):T}`),!0}catch(L){return V(L instanceof Error&&L.message?L.message:"The message was not sent."),!1}},Q=async T=>{const k=de.getState(),E=T.kind==="plain"?void 0:{kind:T.kind,name:T.name},q=await k.createSession(k.cwd||"~",E);if(!q)throw new Error(k.error??"The session could not be started.");gs.getState().setCurrentInput(q,Ln(c));let H=null;try{await p.mutateAsync({key:c.id,sessionId:q})}catch(L){H=L instanceof Error&&L.message?L.message:"the link was refused"}if(H)V(`Session started, but linking it failed: ${H}`);else{const L=E?` with ${In(E)}`:"";G(`Session started${L} and linked to ${w}.`)}await dt(n,q)};return t.jsxs("div",{className:"mx-auto flex min-h-0 w-full max-w-200 flex-1 flex-col gap-8 overflow-y-auto",children:[t.jsxs("header",{className:"flex flex-col gap-4",children:[t.jsxs("button",{type:"button",onClick:()=>void n("/projects"),className:"flex w-fit items-center gap-1.5 text-body-sm text-ink-muted hover:text-ink",children:[t.jsx(Qe,{className:"size-4"}),"All projects"]}),t.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[t.jsxs("div",{className:"flex min-w-0 flex-col gap-1.5",children:[t.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.jsx("h1",{className:"min-w-0 truncate text-display text-ink",children:w}),t.jsx(Mt,{status:c.status}),c.progress_stale&&t.jsx(se,{variant:"warning",children:me})]}),c.title&&t.jsx("p",{className:"font-mono text-mono-sm text-ink-muted",children:c.name}),D&&t.jsxs("p",{className:"text-body-sm text-ink-muted",children:["Managed by ",D]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs($,{variant:"secondary",onClick:()=>u(!0),"data-tour-tag":"project-edit",children:[t.jsx(hs,{}),"Edit"]}),t.jsxs($,{variant:"secondary",onClick:()=>v(!0),"data-tour-tag":"project-delete",children:[t.jsx(xs,{}),"Delete"]})]})]})]}),c.description.trim()&&t.jsx(Oe,{className:"text-body",children:c.description}),t.jsx(ma,{project:c,nowMs:s}),c.updates.length===0&&c.progress&&t.jsxs("section",{className:"flex flex-col gap-2",children:[t.jsx("h2",{className:"text-title text-ink",children:"Progress"}),t.jsx(Oe,{className:"text-body",children:c.progress}),t.jsx("p",{className:"text-meta text-ink-muted",children:mn(c,s)})]}),t.jsx(ua,{milestones:c.milestones,summary:_,busy:j,onToggle:(T,k)=>{i.mutateAsync({key:c.id,name:T,completed:k}).catch(E=>{V(E instanceof Error&&E.message?E.message:"The milestone was not updated.")})},onRemove:T=>{f.mutateAsync({key:c.id,name:T}).catch(k=>{V(k instanceof Error&&k.message?k.message:"The milestone was not removed.")})},onAdd:(T,k)=>{i.mutateAsync({key:c.id,name:T,targetDate:k}).catch(E=>{V(E instanceof Error&&E.message?E.message:"The milestone was not added.")})}}),t.jsx(da,{projectKey:c.id,links:m,busy:j,onStartSession:()=>C(!0),onQuickSend:P,onLink:T=>{p.mutateAsync({key:c.id,sessionId:T}).catch(k=>{V(k instanceof Error&&k.message?k.message:"The session was not linked.")})},onUnlink:T=>{d.mutateAsync({key:c.id,sessionId:T}).catch(k=>{V(k instanceof Error&&k.message?k.message:"The session was not unlinked.")})}}),t.jsx(pa,{links:m}),t.jsx(ka,{updates:c.updates,nowMs:s}),t.jsx(Ae,{open:N,mode:"edit",initial:{key:c.id,name:c.name,title:c.title,owner:c.owner,team:c.team,description:c.description,status:c.status,tags:c.tags,start_date:c.start_date,target_date:c.target_date,estimate:c.estimate,estimate_unit:c.estimate_unit},onClose:()=>u(!1),onSubmit:async T=>{T.mode==="edit"&&(await o.mutateAsync({key:T.key,fields:T.fields}),G("Project saved"))}}),t.jsx(St,{open:h,projectName:c.name,onClose:()=>v(!1),onConfirm:async T=>{await l.mutateAsync({key:c.id,confirmedName:T}),G("Project deleted"),n("/projects")}}),t.jsx(fa,{open:g,onClose:()=>C(!1),onStart:Q,teamsEnabled:He(a.data,"team_catalogue"),profilesEnabled:He(a.data,"profile_catalogue")})]})},W=[{key:"name",label:"Project",className:"min-w-0 flex-1"},{key:"status",label:"Status",className:"w-20 shrink-0"},{key:"target",label:"Target",className:"hidden w-32 shrink-0 @[40rem]:block"},{key:"estimate",label:"Estimate",className:"hidden w-16 shrink-0 @[40rem]:block"},{key:"milestones",label:"Milestones",className:"hidden w-20 shrink-0 @[34rem]:block"},{key:"live",label:"Live",className:"hidden w-14 shrink-0 @[34rem]:block"},{key:"progress",label:"Progress",className:"w-40 shrink-0"}];function Sa(e,s){const n=re(e.progress_updated_at,s);return n?ie(n):"not reported"}const Ca=({projects:e,nowMs:s,onOpen:n})=>t.jsxs("div",{className:"@container flex min-h-0 flex-1 flex-col overflow-hidden rounded-md bg-surface","data-testid":"project-list",children:[t.jsx("div",{className:"flex shrink-0 items-center gap-3 border-b border-hairline px-3 py-2 text-meta text-ink-muted","aria-hidden":"true",children:W.map(a=>t.jsx("span",{className:a.className,children:a.label},a.key))}),t.jsx("ul",{className:"min-h-0 flex-1 divide-y divide-hairline overflow-y-auto",children:e.map(a=>{const r=new Map(vt(a,typeof navigator>"u"?void 0:navigator.language).map(i=>[i.key,i.text])),o=yt(a.milestones_completed,a.milestones_total),l=Le(a.live_sessions);return t.jsx("li",{children:t.jsxs("button",{type:"button",onClick:()=>n(a),"data-project-name":a.name,className:O("flex w-full items-center gap-3 px-3 py-2 text-left","transition-colors duration-fast ease-out-quart","hover:bg-elevated"),children:[t.jsx("span",{className:O(W[0].className,"truncate text-body-sm text-ink"),children:a.name}),t.jsx("span",{className:W[1].className,children:t.jsx(Mt,{status:a.status})}),t.jsx("span",{className:O(W[2].className,"truncate text-meta text-ink-muted"),children:r.get("target")??r.get("completed")??""}),t.jsx("span",{className:O(W[3].className,"truncate text-meta text-ink-muted"),children:r.get("estimate")??""}),t.jsx("span",{className:O(W[4].className,"truncate text-meta text-ink-muted"),children:o}),t.jsx("span",{className:O(W[5].className,"truncate text-meta text-ink-muted"),children:l}),t.jsxs("span",{className:O(W[6].className,"flex items-center gap-2"),children:[t.jsx("span",{className:"truncate text-meta text-ink-muted",children:Sa(a,s)}),a.progress_stale&&t.jsx(se,{variant:"warning",children:me})]})]})},a.id)})})]}),Ue=224,rt=36,Ta={day:"Days",week:"Weeks",month:"Months",quarter:"Quarters"},Da=({items:e,nowMs:s,onOpen:n,pendingDetails:a,failedDetails:r,onRetryDetails:o})=>{const[l,i]=x.useState(null),[f,p]=x.useState(0),d=x.useRef(null),N=wt(s),u=x.useMemo(()=>qn(e,N),[e,N]),h=x.useMemo(()=>zn(e),[e]);x.useLayoutEffect(()=>{const w=d.current;if(!w)return;const D=()=>p(w.clientWidth);if(D(),typeof ResizeObserver>"u")return;const _=new ResizeObserver(D);return _.observe(w),()=>_.disconnect()},[]);const v=Math.max(f-Ue-24,160),g=u?Bn(Ze(u.startMs,u.endMs),v):"month",C=l??g,j=w=>{const D=X.indexOf(C),_=X[D-w];_&&i(_)},c=Fe[C],m=u?Ze(u.startMs,u.endMs)*c:0;return t.jsxs("div",{ref:d,className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-md bg-surface","data-testid":"project-timeline",children:[t.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3 border-b border-hairline px-3 py-2",children:[t.jsx("span",{className:"truncate text-meta text-ink-muted","data-timeline-note":!0,children:r>0?`Milestones could not be read for ${r} project${r===1?"":"s"}.`:a>0?`Loading milestones for ${a} project${a===1?"":"s"}…`:`${h.dated.length} dated · ${h.undated.length} without dates`}),t.jsxs("span",{className:"flex shrink-0 items-center gap-1",children:[r>0&&t.jsx($,{variant:"secondary",size:"sm",onClick:o,children:"Try again"}),t.jsx($,{variant:"secondary",size:"icon","aria-label":"Zoom in",title:"Zoom in (finer)",disabled:!u||C===X[0],onClick:()=>j(1),children:t.jsx(ue,{})}),t.jsx("span",{className:"w-16 text-center text-meta text-ink-muted",children:Ta[C]}),t.jsx($,{variant:"secondary",size:"icon","aria-label":"Zoom out",title:"Zoom out (coarser)",disabled:!u||C===X[X.length-1],onClick:()=>j(-1),children:t.jsx(Ls,{})})]})]}),u&&h.dated.length>0?t.jsx("div",{className:"min-h-0 flex-1 overflow-auto",children:t.jsxs("div",{className:"min-w-max",children:[t.jsx(_a,{startMs:u.startMs,endMs:u.endMs,tier:C,pxPerDay:c,trackPx:m}),h.dated.map(w=>t.jsx(Ma,{item:w,spanStart:u.startMs,pxPerDay:c,trackPx:m,today:N,onOpen:()=>n(w)},w.project.id))]})}):t.jsx("p",{className:"px-3 py-6 text-body-sm text-ink-muted",children:"No dates on any project yet. Set a start date, a target date or a milestone date and it will appear on the timeline."}),h.undated.length>0&&t.jsxs("div",{className:"shrink-0 border-t border-hairline px-3 py-2 text-meta text-ink-muted",children:["No dates (",h.undated.length,"):"," ",h.undated.map((w,D)=>t.jsxs("span",{children:[D>0&&", ",t.jsx("button",{type:"button",className:"text-ink hover:underline",onClick:()=>n(w),children:w.project.name})]},w.project.id))]})]})},_a=({startMs:e,endMs:s,tier:n,pxPerDay:a,trackPx:r})=>{const o=Zn(e,s,n);return t.jsxs("div",{className:"flex items-stretch border-b border-hairline",children:[t.jsx("span",{className:"sticky left-0 z-10 shrink-0 bg-surface",style:{width:Ue}}),t.jsx("span",{className:"relative block h-6",style:{width:r},children:o.map(l=>t.jsxs("span",{className:"absolute top-0 h-full",style:{left:J(e,l.dayMs)*a},children:[t.jsx("span",{className:O("absolute top-0 h-full w-px",l.major?"bg-hairline":"bg-hairline/60"),"aria-hidden":"true"}),t.jsx("span",{className:"absolute top-1/2 left-1 -translate-y-1/2 whitespace-nowrap text-meta text-ink-muted",children:l.label})]},l.dayMs))})]})},Ma=({item:e,spanStart:s,pxPerDay:n,trackPx:a,today:r,onOpen:o})=>{const{project:l}=e,i=Qn(e),f=Hn(e),p=d=>new Date(d).toISOString().slice(0,10);return t.jsxs("button",{type:"button",onClick:o,"data-project-name":l.name,className:"flex w-full items-stretch text-left transition-colors duration-fast ease-out-quart hover:bg-elevated",children:[t.jsx("span",{className:"sticky left-0 z-10 flex shrink-0 items-center gap-2 border-r border-hairline bg-surface px-3",style:{width:Ue,height:rt},children:t.jsx("span",{className:"truncate text-body-sm text-ink",children:l.name})}),t.jsxs("span",{className:"relative block",style:{width:a,height:rt},children:[i&&t.jsx("span",{className:"absolute top-1/2 h-1.5 -translate-y-1/2 rounded-full bg-accent/75",style:{left:J(s,i.fromMs)*n,width:(J(i.fromMs,i.toMs)+1)*n},title:`${z(p(i.fromMs))} → ${z(p(i.toMs))}`}),f.map(d=>t.jsx("span",{"data-milestone":d.status,className:O("absolute top-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rotate-45",d.status==="completed"&&"bg-success",d.status==="overdue"&&"bg-warning",d.status==="upcoming"&&"border-[1.5px] border-ink-muted bg-surface"),style:{left:J(s,d.dayMs)*n},title:`${d.name} · ${d.status} · ${z(p(d.dayMs))}`},`${d.name}-${d.dayMs}`)),t.jsx("span",{className:"absolute inset-y-0 w-px bg-accent/75",style:{left:J(s,r)*n},"aria-hidden":"true"})]})]})},Pt="projects-view",Ea=[{value:"list",label:"List"},{value:"board",label:"Board"},{value:"timeline",label:"Timeline"}];function Pa(){try{const e=localStorage.getItem(Pt);if(e==="board"||e==="timeline"||e==="list")return e}catch{}return"list"}function $a(e){try{localStorage.setItem(Pt,e)}catch{}}const Oa=({value:e,onChange:s})=>t.jsx(Is,{value:e,onValueChange:n=>s(n),children:t.jsx(Fs,{"aria-label":"Project view","data-tour-tag":"projects-view-switcher",children:Ea.map(n=>t.jsx(Us,{value:n.value,children:n.label},n.value))})}),it={unpaired:"This app is not paired with the Local Operator server, so Projects are unavailable.","below-version":"The Local Operator server is older than this app expects, so Projects are unavailable. Update the server and try again.",unknown:"The server's capabilities could not be read, so Projects are unavailable."},Ua=({nowMs:e=Date.now()})=>{const{projectId:s}=js(),n=he(),a=mt(),r=bs(a.data,"projects",1),o=r==="enabled",l=Js(o),i=en(),f=ft(),p=pt(),[d,N]=x.useState(!1),[u,h]=x.useState(()=>Pa()),[v,g]=x.useState(null),[C,j]=x.useState(null),c=ea(),m=l.data??[],w=Zs(u==="timeline"?m.map(k=>k.id):[],o),D=m.map((k,E)=>({project:k,milestones:w[E]?.data?.project.milestones??[]})),_=u==="timeline"?w.filter(k=>k.isLoading).length:0,P=u==="timeline"?w.filter(k=>k.isError).length:0,Q=()=>{for(const k of w)k.isError&&k.refetch()},T=(k,E)=>{f.mutate({key:k.id,fields:{status:E}},{onSuccess:()=>{G(`Moved to ${F(E).label}`),l.refetch().then(()=>c(k.id))}})};return o?s?t.jsx("div",{className:"flex h-full min-h-0 flex-col gap-8 p-6",children:t.jsx(wa,{projectKey:s,nowMs:e})}):t.jsxs("div",{className:"flex h-full min-h-0 flex-col gap-8 p-6",children:[t.jsx(Ve,{title:"Projects",icon:Ke,subtitle:"Workstreams you and your agents track across sessions.",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx($,{variant:"secondary",size:"icon","aria-label":"Refresh projects",title:"Refresh projects",disabled:l.isFetching,onClick:()=>void l.refetch(),"data-tour-tag":"refresh-projects-button",children:t.jsx(ys,{})}),t.jsxs($,{variant:"secondary",onClick:()=>N(!0),"data-tour-tag":"create-project-button",children:[t.jsx(ue,{}),"New project"]})]})}),t.jsx("div",{className:"flex shrink-0 items-center justify-between gap-3",children:t.jsx(Oa,{value:u,onChange:k=>{h(k),$a(k)}})}),l.isLoading&&t.jsx("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-md bg-surface",children:t.jsx("div",{className:"flex flex-1 items-center justify-center",children:t.jsx(ee,{label:"Loading projects"})})}),l.isError&&t.jsxs("div",{className:"flex flex-col items-start gap-2",children:[t.jsx(_e,{variant:"danger",children:l.error instanceof Error&&l.error.message?l.error.message:"The projects could not be read."}),t.jsx($,{variant:"secondary",size:"sm",onClick:()=>void l.refetch(),children:"Try again"})]}),l.isSuccess&&l.data.length===0&&t.jsxs("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-4 overflow-hidden rounded-md bg-surface",children:[t.jsx("p",{className:"text-heading text-ink",children:"No projects yet."}),t.jsx("p",{className:"max-w-140 text-center text-body-sm text-ink-muted",children:"Create one here, or ask an agent to create one and link this session."}),t.jsxs($,{variant:"primary",onClick:()=>N(!0),"data-tour-tag":"create-project-empty-button",children:[t.jsx(ue,{}),"New project"]})]}),l.isSuccess&&l.data.length>0&&u==="list"&&t.jsx(Ca,{projects:l.data,nowMs:e,onOpen:k=>void n(`/projects/${k.id}`)}),l.isSuccess&&l.data.length>0&&u==="board"&&t.jsx(sa,{projects:m,nowMs:e,onOpen:k=>void n(`/projects/${k.id}`),onEdit:g,onDelete:j,onMove:T,movingKeys:f.isPending&&f.variables?[f.variables.key]:[]}),l.isSuccess&&l.data.length>0&&u==="timeline"&&t.jsx(Da,{items:D,nowMs:e,onOpen:k=>void n(`/projects/${k.project.id}`),pendingDetails:_,failedDetails:P,onRetryDetails:Q}),t.jsx(Ae,{open:v!==null,mode:"edit",initial:v?{key:v.id,name:v.name,title:v.title,owner:v.owner,team:v.team,description:v.description,status:v.status,tags:v.tags,start_date:v.start_date,target_date:v.target_date,estimate:v.estimate,estimate_unit:v.estimate_unit}:null,onClose:()=>g(null),onSubmit:async k=>{k.mode==="edit"&&(await f.mutateAsync({key:k.key,fields:k.fields}),G("Project saved"),g(null))}}),t.jsx(St,{open:C!==null,projectName:C?.name??"",onClose:()=>j(null),onConfirm:async k=>{C&&(await p.mutateAsync({key:C.id,confirmedName:k}),G("Project deleted"),j(null))}}),t.jsx(Ae,{open:d,mode:"create",onClose:()=>N(!1),onSubmit:async k=>{k.mode==="create"&&(await i.mutateAsync(k.fields),G(`Project ${k.fields.name} created`))}})]}):t.jsxs("div",{className:"flex h-full flex-col gap-8 p-6",children:[t.jsx(Ve,{title:"Projects",icon:Ke}),a.isLoading?t.jsx("div",{className:"flex justify-center py-16",children:t.jsx(ee,{label:"Checking the server's Projects support"})}):t.jsx(_e,{variant:"warning",children:it[r]??it.unknown})]})};export{Ua as ProjectsPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as r,s as be,g as Se,t as te,q as _e,a as Ae,b as ke,c as Et,l as qt,d as vt,e as Fe,z as Pe,H as D,M as ve,i as Ce}from"./mermaid.core-
|
|
1
|
+
import{_ as r,s as be,g as Se,t as te,q as _e,a as Ae,b as ke,c as Et,l as qt,d as vt,e as Fe,z as Pe,H as D,M as ve,i as Ce}from"./mermaid.core-Bs4QMgEl.js";import{E as $t}from"./index-DeTZCzPZ.js";import"./index-CTzxaxet.js";import"./console-mirror-DWRhT46l.js";import"./error-boundary-KjsCVlwc.js";var Ct=function(){var t=r(function(M,s,l,u){for(l=l||{},u=M.length;u--;l[M[u]]=s);return l},"o"),a=[1,3],p=[1,4],f=[1,5],o=[1,6],x=[1,7],_=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],c=[55,56,57],S=[2,36],m=[1,37],b=[1,36],y=[1,38],T=[1,35],q=[1,43],g=[1,41],rt=[1,14],ct=[1,23],dt=[1,18],ut=[1,19],xt=[1,20],ot=[1,21],bt=[1,22],lt=[1,24],i=[1,25],Dt=[1,26],zt=[1,27],Vt=[1,28],It=[1,29],W=[1,32],U=[1,33],k=[1,34],F=[1,39],P=[1,40],v=[1,42],C=[1,44],O=[1,62],H=[1,61],L=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],wt=[1,65],Bt=[1,66],Rt=[1,67],Nt=[1,68],Wt=[1,69],Ut=[1,70],Qt=[1,71],Ot=[1,72],Ht=[1,73],Xt=[1,74],Mt=[1,75],Yt=[1,76],I=[4,5,6,7,8,9,10,11,12,13,14,15,18],G=[1,90],K=[1,91],Z=[1,92],J=[1,99],$=[1,93],tt=[1,96],et=[1,94],it=[1,95],at=[1,97],nt=[1,98],St=[1,102],jt=[10,55,56,57],R=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],_t={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:r(function(s,l,u,d,A,e,ht){var n=e.length-1;switch(A){case 23:this.$=e[n];break;case 24:this.$=e[n-1]+""+e[n];break;case 26:this.$=e[n-1]+e[n];break;case 27:this.$=[e[n].trim()];break;case 28:e[n-2].push(e[n].trim()),this.$=e[n-2];break;case 29:this.$=e[n-4],d.addClass(e[n-2],e[n]);break;case 37:this.$=[];break;case 42:this.$=e[n].trim(),d.setDiagramTitle(this.$);break;case 43:this.$=e[n].trim(),d.setAccTitle(this.$);break;case 44:case 45:this.$=e[n].trim(),d.setAccDescription(this.$);break;case 46:d.addSection(e[n].substr(8)),this.$=e[n].substr(8);break;case 47:d.addPoint(e[n-3],"",e[n-1],e[n],[]);break;case 48:d.addPoint(e[n-4],e[n-3],e[n-1],e[n],[]);break;case 49:d.addPoint(e[n-4],"",e[n-2],e[n-1],e[n]);break;case 50:d.addPoint(e[n-5],e[n-4],e[n-2],e[n-1],e[n]);break;case 51:d.setXAxisLeftText(e[n-2]),d.setXAxisRightText(e[n]);break;case 52:e[n-1].text+=" ⟶ ",d.setXAxisLeftText(e[n-1]);break;case 53:d.setXAxisLeftText(e[n]);break;case 54:d.setYAxisBottomText(e[n-2]),d.setYAxisTopText(e[n]);break;case 55:e[n-1].text+=" ⟶ ",d.setYAxisBottomText(e[n-1]);break;case 56:d.setYAxisBottomText(e[n]);break;case 57:d.setQuadrant1Text(e[n]);break;case 58:d.setQuadrant2Text(e[n]);break;case 59:d.setQuadrant3Text(e[n]);break;case 60:d.setQuadrant4Text(e[n]);break;case 64:this.$={text:e[n],type:"text"};break;case 65:this.$={text:e[n-1].text+""+e[n],type:e[n-1].type};break;case 66:this.$={text:e[n],type:"text"};break;case 67:this.$={text:e[n],type:"markdown"};break;case 68:this.$=e[n];break;case 69:this.$=e[n-1]+""+e[n];break}},"anonymous"),table:[{18:a,26:1,27:2,28:p,55:f,56:o,57:x},{1:[3]},{18:a,26:8,27:2,28:p,55:f,56:o,57:x},{18:a,26:9,27:2,28:p,55:f,56:o,57:x},t(_,[2,33],{29:10}),t(h,[2,61]),t(h,[2,62]),t(h,[2,63]),{1:[2,30]},{1:[2,31]},t(c,S,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:m,5:b,10:y,12:T,13:q,14:g,18:rt,25:ct,35:dt,37:ut,39:xt,41:ot,42:bt,48:lt,50:i,51:Dt,52:zt,53:Vt,54:It,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(_,[2,34]),{27:45,55:f,56:o,57:x},t(c,[2,37]),t(c,S,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:m,5:b,10:y,12:T,13:q,14:g,18:rt,25:ct,35:dt,37:ut,39:xt,41:ot,42:bt,48:lt,50:i,51:Dt,52:zt,53:Vt,54:It,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(c,[2,39]),t(c,[2,40]),t(c,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(c,[2,45]),t(c,[2,46]),{18:[1,50]},{4:m,5:b,10:y,12:T,13:q,14:g,43:51,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:m,5:b,10:y,12:T,13:q,14:g,43:52,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:m,5:b,10:y,12:T,13:q,14:g,43:53,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:m,5:b,10:y,12:T,13:q,14:g,43:54,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:m,5:b,10:y,12:T,13:q,14:g,43:55,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:m,5:b,10:y,12:T,13:q,14:g,43:56,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,44:[1,57],47:[1,58],58:60,59:59,63:k,64:F,65:P,66:v,67:C},t(L,[2,64]),t(L,[2,66]),t(L,[2,67]),t(L,[2,70]),t(L,[2,71]),t(L,[2,72]),t(L,[2,73]),t(L,[2,74]),t(L,[2,75]),t(L,[2,76]),t(L,[2,77]),t(L,[2,78]),t(L,[2,79]),t(L,[2,80]),t(_,[2,35]),t(c,[2,38]),t(c,[2,42]),t(c,[2,43]),t(c,[2,44]),{3:64,4:wt,5:Bt,6:Rt,7:Nt,8:Wt,9:Ut,10:Qt,11:Ot,12:Ht,13:Xt,14:Mt,15:Yt,21:63},t(c,[2,53],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,49:[1,77],63:k,64:F,65:P,66:v,67:C}),t(c,[2,56],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,49:[1,78],63:k,64:F,65:P,66:v,67:C}),t(c,[2,57],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,63:k,64:F,65:P,66:v,67:C}),t(c,[2,58],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,63:k,64:F,65:P,66:v,67:C}),t(c,[2,59],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,63:k,64:F,65:P,66:v,67:C}),t(c,[2,60],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,63:k,64:F,65:P,66:v,67:C}),{45:[1,79]},{44:[1,80]},t(L,[2,65]),t(L,[2,81]),t(L,[2,82]),t(L,[2,83]),{3:82,4:wt,5:Bt,6:Rt,7:Nt,8:Wt,9:Ut,10:Qt,11:Ot,12:Ht,13:Xt,14:Mt,15:Yt,18:[1,81]},t(I,[2,23]),t(I,[2,1]),t(I,[2,2]),t(I,[2,3]),t(I,[2,4]),t(I,[2,5]),t(I,[2,6]),t(I,[2,7]),t(I,[2,8]),t(I,[2,9]),t(I,[2,10]),t(I,[2,11]),t(I,[2,12]),t(c,[2,52],{58:31,43:83,4:m,5:b,10:y,12:T,13:q,14:g,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(c,[2,55],{58:31,43:84,4:m,5:b,10:y,12:T,13:q,14:g,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),{46:[1,85]},{45:[1,86]},{4:G,5:K,6:Z,8:J,11:$,13:tt,16:89,17:et,18:it,19:at,20:nt,22:88,23:87},t(I,[2,24]),t(c,[2,51],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,63:k,64:F,65:P,66:v,67:C}),t(c,[2,54],{59:59,58:60,4:m,5:b,8:O,10:y,12:T,13:q,14:g,18:H,63:k,64:F,65:P,66:v,67:C}),t(c,[2,47],{22:88,16:89,23:100,4:G,5:K,6:Z,8:J,11:$,13:tt,17:et,18:it,19:at,20:nt}),{46:[1,101]},t(c,[2,29],{10:St}),t(jt,[2,27],{16:103,4:G,5:K,6:Z,8:J,11:$,13:tt,17:et,18:it,19:at,20:nt}),t(R,[2,25]),t(R,[2,13]),t(R,[2,14]),t(R,[2,15]),t(R,[2,16]),t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),t(R,[2,21]),t(R,[2,22]),t(c,[2,49],{10:St}),t(c,[2,48],{22:88,16:89,23:104,4:G,5:K,6:Z,8:J,11:$,13:tt,17:et,18:it,19:at,20:nt}),{4:G,5:K,6:Z,8:J,11:$,13:tt,16:89,17:et,18:it,19:at,20:nt,22:105},t(R,[2,26]),t(c,[2,50],{10:St}),t(jt,[2,28],{16:103,4:G,5:K,6:Z,8:J,11:$,13:tt,17:et,18:it,19:at,20:nt})],defaultActions:{8:[2,30],9:[2,31]},parseError:r(function(s,l){if(l.recoverable)this.trace(s);else{var u=new Error(s);throw u.hash=l,u}},"parseError"),parse:r(function(s){var l=this,u=[0],d=[],A=[null],e=[],ht=this.table,n="",gt=0,Gt=0,ye=2,Kt=1,Te=e.slice.call(arguments,1),E=Object.create(this.lexer),Y={yy:{}};for(var At in this.yy)Object.prototype.hasOwnProperty.call(this.yy,At)&&(Y.yy[At]=this.yy[At]);E.setInput(s,Y.yy),Y.yy.lexer=E,Y.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var kt=E.yylloc;e.push(kt);var qe=E.options&&E.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function me(B){u.length=u.length-2*B,A.length=A.length-B,e.length=e.length-B}r(me,"popStack");function Zt(){var B;return B=d.pop()||E.lex()||Kt,typeof B!="number"&&(B instanceof Array&&(d=B,B=d.pop()),B=l.symbols_[B]||B),B}r(Zt,"lex");for(var w,j,N,Ft,st={},pt,X,Jt,yt;;){if(j=u[u.length-1],this.defaultActions[j]?N=this.defaultActions[j]:((w===null||typeof w>"u")&&(w=Zt()),N=ht[j]&&ht[j][w]),typeof N>"u"||!N.length||!N[0]){var Pt="";yt=[];for(pt in ht[j])this.terminals_[pt]&&pt>ye&&yt.push("'"+this.terminals_[pt]+"'");E.showPosition?Pt="Parse error on line "+(gt+1)+`:
|
|
2
2
|
`+E.showPosition()+`
|
|
3
3
|
Expecting `+yt.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Pt="Parse error on line "+(gt+1)+": Unexpected "+(w==Kt?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Pt,{text:E.match,token:this.terminals_[w]||w,line:E.yylineno,loc:kt,expected:yt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+w);switch(N[0]){case 1:u.push(w),A.push(E.yytext),e.push(E.yylloc),u.push(N[1]),w=null,Gt=E.yyleng,n=E.yytext,gt=E.yylineno,kt=E.yylloc;break;case 2:if(X=this.productions_[N[1]][1],st.$=A[A.length-X],st._$={first_line:e[e.length-(X||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(X||1)].first_column,last_column:e[e.length-1].last_column},qe&&(st._$.range=[e[e.length-(X||1)].range[0],e[e.length-1].range[1]]),Ft=this.performAction.apply(st,[n,Gt,gt,Y.yy,N[1],A,e].concat(Te)),typeof Ft<"u")return Ft;X&&(u=u.slice(0,-1*X*2),A=A.slice(0,-1*X),e=e.slice(0,-1*X)),u.push(this.productions_[N[1]][0]),A.push(st.$),e.push(st._$),Jt=ht[u[u.length-2]][u[u.length-1]],u.push(Jt);break;case 3:return!0}}return!0},"parse")},pe=function(){var M={EOF:1,parseError:r(function(l,u){if(this.yy.parser)this.yy.parser.parseError(l,u);else throw new Error(l)},"parseError"),setInput:r(function(s,l){return this.yy=l||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:r(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var l=s.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:r(function(s){var l=s.length,u=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===d.length?this.yylloc.first_column:0)+d[d.length-u.length].length-u[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:r(function(){return this._more=!0,this},"more"),reject:r(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:r(function(s){this.unput(this.match.slice(s))},"less"),pastInput:r(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:r(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:r(function(){var s=this.pastInput(),l=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as xt}from"./index-BGpQvlC-.js";import{b2 as iu,b3 as su,aw as nl,aO as au,aA as ou,ax as te,aa as lu,ab as qs,aE as cu,aH as rl,aI as il,aF as uu,aT as Ys,ad as yt,ae as D,ay as Xs,as as du}from"./mermaid.core-DjEcfQ2P.js";import{k as _t,j as ys,g as Ft,S as fu,w as hu,x as pu,c as sl,v as z,y as al,l as mu,z as gu,A as yu,B as Tu,C as vu,a as ol,d as $,i as qe,r as oe,f as Se,D as Y}from"./_baseUniq-BqECYZsi.js";import{j as Ts,m as S,d as Ru,f as Ne,g as Lt,h as N,i as vs,l as Ot,e as Au}from"./_basePickBy-DjjQEvSb.js";import{c as re}from"./clone-WON5xoYU.js";var Eu=Object.prototype,ku=Eu.hasOwnProperty,ke=iu(function(n,e){if(su(e)||nl(e)){au(e,_t(e),n);return}for(var t in e)ku.call(e,t)&&ou(n,t,e[t])});function ll(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=n[r+e];return s}function Mn(n){for(var e=-1,t=n==null?0:n.length,r=0,i=[];++e<t;){var s=n[e];s&&(i[r++]=s)}return i}function Su(n,e,t,r){for(var i=-1,s=n==null?0:n.length;++i<s;){var a=n[i];e(r,a,t(a),n)}return r}function xu(n,e,t,r){return ys(n,function(i,s,a){e(r,i,t(i),a)}),r}function Iu(n,e){return function(t,r){var i=te(t)?Su:xu,s=e?e():{};return i(t,n,Ft(r),s)}}var Cu=200;function $u(n,e,t,r){var i=-1,s=hu,a=!0,o=n.length,l=[],c=e.length;if(!o)return l;e.length>=Cu&&(s=pu,a=!1,e=new fu(e));e:for(;++i<o;){var u=n[i],d=u;if(u=u!==0?u:0,a&&d===d){for(var h=c;h--;)if(e[h]===d)continue e;l.push(u)}else s(e,d,r)||l.push(u)}return l}var zr=lu(function(n,e){return qs(n)?$u(n,sl(e,1,qs,!0)):[]});function Q(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Ts(e),ll(n,e<0?0:e,r)):[]}function Ln(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Ts(e),e=r-e,ll(n,0,e<0?0:e)):[]}function Nu(n,e){for(var t=-1,r=n==null?0:n.length;++t<r;)if(!e(n[t],t,n))return!1;return!0}function wu(n,e){var t=!0;return ys(n,function(r,i,s){return t=!!e(r,i,s),t}),t}function be(n,e,t){var r=te(n)?Nu:wu;return r(n,Ft(e))}function Pe(n){return n&&n.length?n[0]:void 0}function Ee(n,e){return sl(S(n,e))}var _u=Object.prototype,Lu=_u.hasOwnProperty,Ou=Iu(function(n,e,t){Lu.call(n,t)?n[t].push(e):cu(n,t,[e])}),bu="[object String]";function fe(n){return typeof n=="string"||!te(n)&&rl(n)&&il(n)==bu}var Pu=Math.max;function ue(n,e,t,r){n=nl(n)?n:z(n),t=t?Ts(t):0;var i=n.length;return t<0&&(t=Pu(i+t,0)),fe(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&al(n,e,t)>-1}function Js(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return al(n,e,i)}var Mu="[object RegExp]";function Du(n){return rl(n)&&il(n)==Mu}var Qs=Ys&&Ys.isRegExp,Ye=Qs?uu(Qs):Du,Fu="Expected a function";function Gu(n){if(typeof n!="function")throw new TypeError(Fu);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Me(n,e){if(n==null)return{};var t=mu(gu(n),function(r){return[r]});return e=Ft(e),Ru(n,t,function(r,i){return e(r,i[0])})}function qr(n,e){var t=te(n)?yu:Tu;return t(n,Gu(Ft(e)))}function Uu(n,e){var t;return ys(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function cl(n,e,t){var r=te(n)?vu:Uu;return r(n,Ft(e))}function Rs(n){return n&&n.length?ol(n):[]}function Bu(n,e){return n&&n.length?ol(n,Ft(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ue(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function Vu(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function cr(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ue(n.reference)&&typeof n.message=="string"}class ul{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function On(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function dl(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function fl(n){return On(n)&&typeof n.fullText=="string"}class Z{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Z(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return Re})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=Wu(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new Z(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?Re:{done:!1,value:e(i)}})}filter(e){return new Z(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return Re})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new Z(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if(Sr(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return Re})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new Z(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if(Sr(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Re})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new Z(()=>{const t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new Z(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?Re:this.nextFn(t.state)))}distinct(e){return new Z(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){const i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return Re})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function Wu(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function Sr(n){return!!n&&typeof n[Symbol.iterator]=="function"}const ju=new Z(()=>{},()=>Re),Re=Object.freeze({done:!0,value:void 0});function ee(...n){if(n.length===1){const e=n[0];if(e instanceof Z)return e;if(Sr(e))return new Z(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Z(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:Re)}return n.length>1?new Z(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<n.length){const t=n[e.collIndex++];Sr(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<n.length);return Re}):ju}class As extends Z{constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return Re})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Pi;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(Pi||(Pi={}));function Mi(n){return new As(n,e=>On(e)?e.content:[],{includeRoot:!0})}function Ku(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function Di(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function xr(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var Ke;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"})(Ke||(Ke={}));function Hu(n,e){if(n.end.line<e.start.line||n.end.line===e.start.line&&n.end.character<=e.start.character)return Ke.Before;if(n.start.line>e.end.line||n.start.line===e.end.line&&n.start.character>=e.end.character)return Ke.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.line<e.end.line||n.end.line===e.end.line&&n.end.character<=e.end.character;return t&&r?Ke.Inside:t?Ke.OverlapBack:r?Ke.OverlapFront:Ke.Outside}function zu(n,e){return Hu(n,e)>Ke.After}const qu=/^[\w\p{L}]$/u;function Yu(n,e){if(n){const t=Xu(n,!0);if(t&&Zs(t,e))return t;if(fl(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(Zs(s,e))return s}}}}function Zs(n,e){return dl(n)&&e.includes(n.tokenType.name)}function Xu(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class hl extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function Dn(n){throw new Error("Error! The input value was not handled.")}const jn="AbstractRule",Kn="AbstractType",ci="Condition",ea="TypeDefinition",ui="ValueLiteral",qt="AbstractElement";function Ju(n){return M.isInstance(n,qt)}const Hn="ArrayLiteral",zn="ArrayType",Yt="BooleanLiteral";function Qu(n){return M.isInstance(n,Yt)}const Xt="Conjunction";function Zu(n){return M.isInstance(n,Xt)}const Jt="Disjunction";function ed(n){return M.isInstance(n,Jt)}const qn="Grammar",di="GrammarImport",Qt="InferredType";function pl(n){return M.isInstance(n,Qt)}const Zt="Interface";function ml(n){return M.isInstance(n,Zt)}const fi="NamedArgument",en="Negation";function td(n){return M.isInstance(n,en)}const Yn="NumberLiteral",Xn="Parameter",tn="ParameterReference";function nd(n){return M.isInstance(n,tn)}const nn="ParserRule";function we(n){return M.isInstance(n,nn)}const Jn="ReferenceType",ur="ReturnType";function rd(n){return M.isInstance(n,ur)}const rn="SimpleType";function id(n){return M.isInstance(n,rn)}const Qn="StringLiteral",Ct="TerminalRule";function Tt(n){return M.isInstance(n,Ct)}const sn="Type";function gl(n){return M.isInstance(n,sn)}const hi="TypeAttribute",Zn="UnionType",an="Action";function Yr(n){return M.isInstance(n,an)}const on="Alternatives";function yl(n){return M.isInstance(n,on)}const ln="Assignment";function dt(n){return M.isInstance(n,ln)}const cn="CharacterRange";function sd(n){return M.isInstance(n,cn)}const un="CrossReference";function Es(n){return M.isInstance(n,un)}const dn="EndOfFile";function ad(n){return M.isInstance(n,dn)}const fn="Group";function ks(n){return M.isInstance(n,fn)}const hn="Keyword";function ft(n){return M.isInstance(n,hn)}const pn="NegatedToken";function od(n){return M.isInstance(n,pn)}const mn="RegexToken";function ld(n){return M.isInstance(n,mn)}const gn="RuleCall";function ht(n){return M.isInstance(n,gn)}const yn="TerminalAlternatives";function cd(n){return M.isInstance(n,yn)}const Tn="TerminalGroup";function ud(n){return M.isInstance(n,Tn)}const vn="TerminalRuleCall";function dd(n){return M.isInstance(n,vn)}const Rn="UnorderedGroup";function Tl(n){return M.isInstance(n,Rn)}const An="UntilToken";function fd(n){return M.isInstance(n,An)}const En="Wildcard";function hd(n){return M.isInstance(n,En)}class vl extends ul{getAllTypes(){return[qt,jn,Kn,an,on,Hn,zn,ln,Yt,cn,ci,Xt,un,Jt,dn,qn,di,fn,Qt,Zt,hn,fi,pn,en,Yn,Xn,tn,nn,Jn,mn,ur,gn,rn,Qn,yn,Tn,Ct,vn,sn,hi,ea,Zn,Rn,An,ui,En]}computeIsSubtype(e,t){switch(e){case an:case on:case ln:case cn:case un:case dn:case fn:case hn:case pn:case mn:case gn:case yn:case Tn:case vn:case Rn:case An:case En:return this.isSubtype(qt,t);case Hn:case Yn:case Qn:return this.isSubtype(ui,t);case zn:case Jn:case rn:case Zn:return this.isSubtype(ea,t);case Yt:return this.isSubtype(ci,t)||this.isSubtype(ui,t);case Xt:case Jt:case en:case tn:return this.isSubtype(ci,t);case Qt:case Zt:case sn:return this.isSubtype(Kn,t);case nn:return this.isSubtype(jn,t)||this.isSubtype(Kn,t);case Ct:return this.isSubtype(jn,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Kn;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return jn;case"Grammar:usedGrammars":return qn;case"NamedArgument:parameter":case"ParameterReference:parameter":return Xn;case"TerminalRuleCall:rule":return Ct;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case qt:return{name:qt,properties:[{name:"cardinality"},{name:"lookahead"}]};case Hn:return{name:Hn,properties:[{name:"elements",defaultValue:[]}]};case zn:return{name:zn,properties:[{name:"elementType"}]};case Yt:return{name:Yt,properties:[{name:"true",defaultValue:!1}]};case Xt:return{name:Xt,properties:[{name:"left"},{name:"right"}]};case Jt:return{name:Jt,properties:[{name:"left"},{name:"right"}]};case qn:return{name:qn,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case di:return{name:di,properties:[{name:"path"}]};case Qt:return{name:Qt,properties:[{name:"name"}]};case Zt:return{name:Zt,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case fi:return{name:fi,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case en:return{name:en,properties:[{name:"value"}]};case Yn:return{name:Yn,properties:[{name:"value"}]};case Xn:return{name:Xn,properties:[{name:"name"}]};case tn:return{name:tn,properties:[{name:"parameter"}]};case nn:return{name:nn,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case Jn:return{name:Jn,properties:[{name:"referenceType"}]};case ur:return{name:ur,properties:[{name:"name"}]};case rn:return{name:rn,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case Qn:return{name:Qn,properties:[{name:"value"}]};case Ct:return{name:Ct,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case sn:return{name:sn,properties:[{name:"name"},{name:"type"}]};case hi:return{name:hi,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case Zn:return{name:Zn,properties:[{name:"types",defaultValue:[]}]};case an:return{name:an,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case on:return{name:on,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ln:return{name:ln,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case cn:return{name:cn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case un:return{name:un,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case dn:return{name:dn,properties:[{name:"cardinality"},{name:"lookahead"}]};case fn:return{name:fn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case hn:return{name:hn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case pn:return{name:pn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case mn:return{name:mn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case gn:return{name:gn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case yn:return{name:yn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Tn:return{name:Tn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case vn:return{name:vn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Rn:return{name:Rn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case An:return{name:An,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case En:return{name:En,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new vl;function pd(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function Xr(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Ze(n){const t=Fi(n).$document;if(!t)throw new Error("AST node has no document.");return t}function Fi(n){for(;n.$container;)n=n.$container;return n}function Ss(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e?.range;return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=n[i];if(ae(s)){if(r.keyIndex++,ta(s,t))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ae(o)&&ta(o,t))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Re})}function Fn(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new As(n,t=>Ss(t,e))}function Nt(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new As(n,t=>Ss(t,e),{includeRoot:!0})}function ta(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?zu(r,e):!1}function Rl(n){return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const t=e.keys[e.keyIndex];if(!t.startsWith("$")){const r=n[t];if(Ue(r))return e.keyIndex++,{done:!1,value:{reference:r,container:n,property:t}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ue(s))return{done:!1,value:{reference:s,container:n,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Re})}function md(n,e){const t=n.getTypeMetaData(e.$type),r=e;for(const i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Al(i.defaultValue))}function Al(n){return Array.isArray(n)?[...n.map(Al)]:n}function w(n){return n.charCodeAt(0)}function pi(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}function Kt(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}function It(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}function gd(){throw Error("Internal Error - Should never get here!")}function na(n){return n.type==="Character"}const Ir=[];for(let n=w("0");n<=w("9");n++)Ir.push(n);const Cr=[w("_")].concat(Ir);for(let n=w("a");n<=w("z");n++)Cr.push(n);for(let n=w("A");n<=w("Z");n++)Cr.push(n);const ra=[w(" "),w("\f"),w(`
|
|
1
|
+
import{_ as xt}from"./index-DeTZCzPZ.js";import{b2 as iu,b3 as su,aw as nl,aO as au,aA as ou,ax as te,aa as lu,ab as qs,aE as cu,aH as rl,aI as il,aF as uu,aT as Ys,ad as yt,ae as D,ay as Xs,as as du}from"./mermaid.core-Bs4QMgEl.js";import{k as _t,j as ys,g as Ft,S as fu,w as hu,x as pu,c as sl,v as z,y as al,l as mu,z as gu,A as yu,B as Tu,C as vu,a as ol,d as $,i as qe,r as oe,f as Se,D as Y}from"./_baseUniq-Dvjrcvs9.js";import{j as Ts,m as S,d as Ru,f as Ne,g as Lt,h as N,i as vs,l as Ot,e as Au}from"./_basePickBy-DcVxaOSH.js";import{c as re}from"./clone-BcrbP_aW.js";var Eu=Object.prototype,ku=Eu.hasOwnProperty,ke=iu(function(n,e){if(su(e)||nl(e)){au(e,_t(e),n);return}for(var t in e)ku.call(e,t)&&ou(n,t,e[t])});function ll(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=n[r+e];return s}function Mn(n){for(var e=-1,t=n==null?0:n.length,r=0,i=[];++e<t;){var s=n[e];s&&(i[r++]=s)}return i}function Su(n,e,t,r){for(var i=-1,s=n==null?0:n.length;++i<s;){var a=n[i];e(r,a,t(a),n)}return r}function xu(n,e,t,r){return ys(n,function(i,s,a){e(r,i,t(i),a)}),r}function Iu(n,e){return function(t,r){var i=te(t)?Su:xu,s=e?e():{};return i(t,n,Ft(r),s)}}var Cu=200;function $u(n,e,t,r){var i=-1,s=hu,a=!0,o=n.length,l=[],c=e.length;if(!o)return l;e.length>=Cu&&(s=pu,a=!1,e=new fu(e));e:for(;++i<o;){var u=n[i],d=u;if(u=u!==0?u:0,a&&d===d){for(var h=c;h--;)if(e[h]===d)continue e;l.push(u)}else s(e,d,r)||l.push(u)}return l}var zr=lu(function(n,e){return qs(n)?$u(n,sl(e,1,qs,!0)):[]});function Q(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Ts(e),ll(n,e<0?0:e,r)):[]}function Ln(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:Ts(e),e=r-e,ll(n,0,e<0?0:e)):[]}function Nu(n,e){for(var t=-1,r=n==null?0:n.length;++t<r;)if(!e(n[t],t,n))return!1;return!0}function wu(n,e){var t=!0;return ys(n,function(r,i,s){return t=!!e(r,i,s),t}),t}function be(n,e,t){var r=te(n)?Nu:wu;return r(n,Ft(e))}function Pe(n){return n&&n.length?n[0]:void 0}function Ee(n,e){return sl(S(n,e))}var _u=Object.prototype,Lu=_u.hasOwnProperty,Ou=Iu(function(n,e,t){Lu.call(n,t)?n[t].push(e):cu(n,t,[e])}),bu="[object String]";function fe(n){return typeof n=="string"||!te(n)&&rl(n)&&il(n)==bu}var Pu=Math.max;function ue(n,e,t,r){n=nl(n)?n:z(n),t=t?Ts(t):0;var i=n.length;return t<0&&(t=Pu(i+t,0)),fe(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&al(n,e,t)>-1}function Js(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return al(n,e,i)}var Mu="[object RegExp]";function Du(n){return rl(n)&&il(n)==Mu}var Qs=Ys&&Ys.isRegExp,Ye=Qs?uu(Qs):Du,Fu="Expected a function";function Gu(n){if(typeof n!="function")throw new TypeError(Fu);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Me(n,e){if(n==null)return{};var t=mu(gu(n),function(r){return[r]});return e=Ft(e),Ru(n,t,function(r,i){return e(r,i[0])})}function qr(n,e){var t=te(n)?yu:Tu;return t(n,Gu(Ft(e)))}function Uu(n,e){var t;return ys(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function cl(n,e,t){var r=te(n)?vu:Uu;return r(n,Ft(e))}function Rs(n){return n&&n.length?ol(n):[]}function Bu(n,e){return n&&n.length?ol(n,Ft(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ue(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function Vu(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function cr(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ue(n.reference)&&typeof n.message=="string"}class ul{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function On(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function dl(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function fl(n){return On(n)&&typeof n.fullText=="string"}class Z{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Z(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return Re})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=Wu(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new Z(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?Re:{done:!1,value:e(i)}})}filter(e){return new Z(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return Re})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new Z(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if(Sr(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return Re})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new Z(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if(Sr(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return Re})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new Z(()=>{const t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new Z(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?Re:this.nextFn(t.state)))}distinct(e){return new Z(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){const i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return Re})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function Wu(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function Sr(n){return!!n&&typeof n[Symbol.iterator]=="function"}const ju=new Z(()=>{},()=>Re),Re=Object.freeze({done:!0,value:void 0});function ee(...n){if(n.length===1){const e=n[0];if(e instanceof Z)return e;if(Sr(e))return new Z(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Z(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:Re)}return n.length>1?new Z(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<n.length){const t=n[e.collIndex++];Sr(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<n.length);return Re}):ju}class As extends Z{constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return Re})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Pi;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(Pi||(Pi={}));function Mi(n){return new As(n,e=>On(e)?e.content:[],{includeRoot:!0})}function Ku(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function Di(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function xr(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var Ke;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"})(Ke||(Ke={}));function Hu(n,e){if(n.end.line<e.start.line||n.end.line===e.start.line&&n.end.character<=e.start.character)return Ke.Before;if(n.start.line>e.end.line||n.start.line===e.end.line&&n.start.character>=e.end.character)return Ke.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.line<e.end.line||n.end.line===e.end.line&&n.end.character<=e.end.character;return t&&r?Ke.Inside:t?Ke.OverlapBack:r?Ke.OverlapFront:Ke.Outside}function zu(n,e){return Hu(n,e)>Ke.After}const qu=/^[\w\p{L}]$/u;function Yu(n,e){if(n){const t=Xu(n,!0);if(t&&Zs(t,e))return t;if(fl(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(Zs(s,e))return s}}}}function Zs(n,e){return dl(n)&&e.includes(n.tokenType.name)}function Xu(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class hl extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function Dn(n){throw new Error("Error! The input value was not handled.")}const jn="AbstractRule",Kn="AbstractType",ci="Condition",ea="TypeDefinition",ui="ValueLiteral",qt="AbstractElement";function Ju(n){return M.isInstance(n,qt)}const Hn="ArrayLiteral",zn="ArrayType",Yt="BooleanLiteral";function Qu(n){return M.isInstance(n,Yt)}const Xt="Conjunction";function Zu(n){return M.isInstance(n,Xt)}const Jt="Disjunction";function ed(n){return M.isInstance(n,Jt)}const qn="Grammar",di="GrammarImport",Qt="InferredType";function pl(n){return M.isInstance(n,Qt)}const Zt="Interface";function ml(n){return M.isInstance(n,Zt)}const fi="NamedArgument",en="Negation";function td(n){return M.isInstance(n,en)}const Yn="NumberLiteral",Xn="Parameter",tn="ParameterReference";function nd(n){return M.isInstance(n,tn)}const nn="ParserRule";function we(n){return M.isInstance(n,nn)}const Jn="ReferenceType",ur="ReturnType";function rd(n){return M.isInstance(n,ur)}const rn="SimpleType";function id(n){return M.isInstance(n,rn)}const Qn="StringLiteral",Ct="TerminalRule";function Tt(n){return M.isInstance(n,Ct)}const sn="Type";function gl(n){return M.isInstance(n,sn)}const hi="TypeAttribute",Zn="UnionType",an="Action";function Yr(n){return M.isInstance(n,an)}const on="Alternatives";function yl(n){return M.isInstance(n,on)}const ln="Assignment";function dt(n){return M.isInstance(n,ln)}const cn="CharacterRange";function sd(n){return M.isInstance(n,cn)}const un="CrossReference";function Es(n){return M.isInstance(n,un)}const dn="EndOfFile";function ad(n){return M.isInstance(n,dn)}const fn="Group";function ks(n){return M.isInstance(n,fn)}const hn="Keyword";function ft(n){return M.isInstance(n,hn)}const pn="NegatedToken";function od(n){return M.isInstance(n,pn)}const mn="RegexToken";function ld(n){return M.isInstance(n,mn)}const gn="RuleCall";function ht(n){return M.isInstance(n,gn)}const yn="TerminalAlternatives";function cd(n){return M.isInstance(n,yn)}const Tn="TerminalGroup";function ud(n){return M.isInstance(n,Tn)}const vn="TerminalRuleCall";function dd(n){return M.isInstance(n,vn)}const Rn="UnorderedGroup";function Tl(n){return M.isInstance(n,Rn)}const An="UntilToken";function fd(n){return M.isInstance(n,An)}const En="Wildcard";function hd(n){return M.isInstance(n,En)}class vl extends ul{getAllTypes(){return[qt,jn,Kn,an,on,Hn,zn,ln,Yt,cn,ci,Xt,un,Jt,dn,qn,di,fn,Qt,Zt,hn,fi,pn,en,Yn,Xn,tn,nn,Jn,mn,ur,gn,rn,Qn,yn,Tn,Ct,vn,sn,hi,ea,Zn,Rn,An,ui,En]}computeIsSubtype(e,t){switch(e){case an:case on:case ln:case cn:case un:case dn:case fn:case hn:case pn:case mn:case gn:case yn:case Tn:case vn:case Rn:case An:case En:return this.isSubtype(qt,t);case Hn:case Yn:case Qn:return this.isSubtype(ui,t);case zn:case Jn:case rn:case Zn:return this.isSubtype(ea,t);case Yt:return this.isSubtype(ci,t)||this.isSubtype(ui,t);case Xt:case Jt:case en:case tn:return this.isSubtype(ci,t);case Qt:case Zt:case sn:return this.isSubtype(Kn,t);case nn:return this.isSubtype(jn,t)||this.isSubtype(Kn,t);case Ct:return this.isSubtype(jn,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Kn;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return jn;case"Grammar:usedGrammars":return qn;case"NamedArgument:parameter":case"ParameterReference:parameter":return Xn;case"TerminalRuleCall:rule":return Ct;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case qt:return{name:qt,properties:[{name:"cardinality"},{name:"lookahead"}]};case Hn:return{name:Hn,properties:[{name:"elements",defaultValue:[]}]};case zn:return{name:zn,properties:[{name:"elementType"}]};case Yt:return{name:Yt,properties:[{name:"true",defaultValue:!1}]};case Xt:return{name:Xt,properties:[{name:"left"},{name:"right"}]};case Jt:return{name:Jt,properties:[{name:"left"},{name:"right"}]};case qn:return{name:qn,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case di:return{name:di,properties:[{name:"path"}]};case Qt:return{name:Qt,properties:[{name:"name"}]};case Zt:return{name:Zt,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case fi:return{name:fi,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case en:return{name:en,properties:[{name:"value"}]};case Yn:return{name:Yn,properties:[{name:"value"}]};case Xn:return{name:Xn,properties:[{name:"name"}]};case tn:return{name:tn,properties:[{name:"parameter"}]};case nn:return{name:nn,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case Jn:return{name:Jn,properties:[{name:"referenceType"}]};case ur:return{name:ur,properties:[{name:"name"}]};case rn:return{name:rn,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case Qn:return{name:Qn,properties:[{name:"value"}]};case Ct:return{name:Ct,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case sn:return{name:sn,properties:[{name:"name"},{name:"type"}]};case hi:return{name:hi,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case Zn:return{name:Zn,properties:[{name:"types",defaultValue:[]}]};case an:return{name:an,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case on:return{name:on,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case ln:return{name:ln,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case cn:return{name:cn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case un:return{name:un,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case dn:return{name:dn,properties:[{name:"cardinality"},{name:"lookahead"}]};case fn:return{name:fn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case hn:return{name:hn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case pn:return{name:pn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case mn:return{name:mn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case gn:return{name:gn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case yn:return{name:yn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Tn:return{name:Tn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case vn:return{name:vn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Rn:return{name:Rn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case An:return{name:An,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case En:return{name:En,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new vl;function pd(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function Xr(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Ze(n){const t=Fi(n).$document;if(!t)throw new Error("AST node has no document.");return t}function Fi(n){for(;n.$container;)n=n.$container;return n}function Ss(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e?.range;return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=n[i];if(ae(s)){if(r.keyIndex++,ta(s,t))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ae(o)&&ta(o,t))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return Re})}function Fn(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new As(n,t=>Ss(t,e))}function Nt(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new As(n,t=>Ss(t,e),{includeRoot:!0})}function ta(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?zu(r,e):!1}function Rl(n){return new Z(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const t=e.keys[e.keyIndex];if(!t.startsWith("$")){const r=n[t];if(Ue(r))return e.keyIndex++,{done:!1,value:{reference:r,container:n,property:t}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(Ue(s))return{done:!1,value:{reference:s,container:n,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Re})}function md(n,e){const t=n.getTypeMetaData(e.$type),r=e;for(const i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Al(i.defaultValue))}function Al(n){return Array.isArray(n)?[...n.map(Al)]:n}function w(n){return n.charCodeAt(0)}function pi(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}function Kt(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}function It(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}function gd(){throw Error("Internal Error - Should never get here!")}function na(n){return n.type==="Character"}const Ir=[];for(let n=w("0");n<=w("9");n++)Ir.push(n);const Cr=[w("_")].concat(Ir);for(let n=w("a");n<=w("z");n++)Cr.push(n);for(let n=w("A");n<=w("Z");n++)Cr.push(n);const ra=[w(" "),w("\f"),w(`
|
|
2
2
|
`),w("\r"),w(" "),w("\v"),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w("\u2028"),w("\u2029"),w(" "),w(" "),w(" "),w("\uFEFF")],yd=/[0-9a-fA-F]/,er=/[0-9]/,Td=/[1-9]/;class El{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const t=this.disjunction();this.consumeChar("/");const r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Kt(r,"global");break;case"i":Kt(r,"ignoreCase");break;case"m":Kt(r,"multiLine");break;case"u":Kt(r,"unicode");break;case"y":Kt(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){const e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){const e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break}It(t);const r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return gd()}quantifier(e=!1){let t;const r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),t={atLeast:i,atMost:s}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;It(t);break}if(!(e===!0&&t===void 0)&&It(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e;const t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),It(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[w(`
|
|
3
3
|
`),w("\r"),w("\u2028"),w("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Ir;break;case"D":e=Ir,t=!0;break;case"s":e=ra;break;case"S":e=ra,t=!0;break;case"w":e=Cr;break;case"W":e=Cr,t=!0;break}if(It(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=w("\f");break;case"n":e=w(`
|
|
4
4
|
`);break;case"r":e=w("\r");break;case"t":e=w(" ");break;case"v":e=w("\v");break}if(It(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:w("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:w(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
package/out/renderer/assets/{radient-auth-buttons-BazI7e18.js → radient-auth-buttons-ChWzd20j.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as u,j as e}from"./index-
|
|
1
|
+
import{r as u,j as e}from"./index-CTzxaxet.js";import{g as m,c as f,d as x,a4 as g,a5 as v,a6 as b}from"./index-DeTZCzPZ.js";import{A as l,S as h}from"./error-boundary-KjsCVlwc.js";function S(){const[o,d]=u.useState(null);return u.useEffect(()=>{const t=window.api?.backend;if(!t?.getStatus)return;let n=!0;const i=async()=>{try{const r=await t.getStatus();if(!n)return;const a=r?.pairing;d(a&&!a.available?a.cause??"unpaired":null)}catch{}};i();const s=t.onStatusChange?.(()=>void i());return()=>{n=!1,s?.()}},[]),o}const j="radient",w=({onSignInSuccess:o,onAfterCredentialUpdate:d,titleText:t="Sign in to Radient",descriptionText:n="Connect your Radient account to use Radient services."})=>{const i=m(),s=f(),r=x(s.data,"auth"),a=g(r),c=a.data?.find(p=>p.id===j);return s.isSuccess&&!r?e.jsx(l,{variant:"warning",children:"Signing in needs a newer Local Operator backend. Update the backend and restart the app."}):a.isLoading||s.isLoading?e.jsx("div",{className:"flex h-24 items-center justify-center",children:e.jsx(h,{size:"md",label:"Loading sign-in options"})}):c?e.jsxs("div",{className:"mx-auto w-full max-w-md",children:[t&&e.jsx("p",{className:"mb-2 text-center text-heading text-ink",children:t}),n&&e.jsx("p",{className:"mb-6 text-center text-body-sm text-ink-muted",children:n}),e.jsx(v,{provider:c,onConnected:()=>{i.invalidateQueries({queryKey:b.all}),d?.(),o?.()}})]}):e.jsx(l,{variant:"warning",children:"Radient is not available from this backend's provider registry."})};export{w as R,S as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as je,s as ze}from"./chunk-RZ5BOZE2-B04F7M_0.js";import{_ as o,b as Ge,a as Xe,s as Je,g as Ze,q as et,t as tt,c as ke,l as Ne,z as st,D as it,p as rt,r as nt,u as at}from"./mermaid.core-DjEcfQ2P.js";import"./index-BGpQvlC-.js";import"./index-Biw7WGBF.js";import"./console-mirror-Cp8JlE_x.js";import"./error-boundary-BxKgKUoO.js";var qe=function(){var e=o(function(P,i,a,c){for(a=a||{},c=P.length;c--;a[P[c]]=i);return a},"o"),u=[1,3],h=[1,4],r=[1,5],n=[1,6],E=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],g=[1,22],R=[2,7],_=[1,26],b=[1,27],N=[1,28],q=[1,29],A=[1,33],C=[1,34],V=[1,35],v=[1,36],x=[1,37],L=[1,38],D=[1,24],O=[1,31],w=[1,32],M=[1,30],d=[1,39],p=[1,40],m=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],$=[1,61],X=[89,90],Ae=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ce=[1,70],Ve=[1,71],ve=[1,72],xe=[1,73],Le=[1,74],De=[1,75],Oe=[1,76],Z=[1,83],U=[1,80],ee=[1,84],te=[1,85],se=[1,86],ie=[1,87],re=[1,88],ne=[1,89],ae=[1,90],le=[1,91],ce=[1,92],de=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],we=[1,101],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],T=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],oe=[1,116],he=[1,117],ue=[1,114],fe=[1,115],_e={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(i,a,c,s,f,t,me){var l=t.length-1;switch(f){case 4:this.$=t[l].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[l].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[l-3],t[l-4]);break;case 22:s.addRequirement(t[l-5],t[l-6]),s.setClass([t[l-5]],t[l-3]);break;case 23:s.setNewReqId(t[l-2]);break;case 24:s.setNewReqText(t[l-2]);break;case 25:s.setNewReqRisk(t[l-2]);break;case 26:s.setNewReqVerifyMethod(t[l-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[l-3]);break;case 43:s.addElement(t[l-5]),s.setClass([t[l-5]],t[l-3]);break;case 44:s.setNewElementType(t[l-2]);break;case 45:s.setNewElementDocRef(t[l-2]);break;case 48:s.addRelationship(t[l-2],t[l],t[l-4]);break;case 49:s.addRelationship(t[l-2],t[l-4],t[l]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[l-2],s.defineClass(t[l-1],t[l]);break;case 58:s.setClass(t[l-1],t[l]);break;case 59:s.setClass([t[l-2]],t[l]);break;case 60:case 62:this.$=[t[l]];break;case 61:case 63:this.$=t[l-2].concat([t[l]]);break;case 64:this.$=t[l-2],s.setCssStyle(t[l-1],t[l]);break;case 65:this.$=[t[l]];break;case 66:t[l-2].push(t[l]),this.$=t[l-2];break;case 68:this.$=t[l-1]+t[l];break}},"anonymous"),table:[{3:1,4:2,6:u,9:h,11:r,13:n},{1:[3]},{3:8,4:2,5:[1,7],6:u,9:h,11:r,13:n},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(E,[2,6]),{3:12,4:2,6:u,9:h,11:r,13:n},{1:[2,2]},{4:17,5:g,7:13,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},e(E,[2,4]),e(E,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:g,7:42,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:43,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:44,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:45,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:46,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:47,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:48,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:49,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:50,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(m,[2,17]),e(m,[2,18]),e(m,[2,19]),e(m,[2,20]),{30:60,33:62,75:$,89:d,90:p},{30:63,33:62,75:$,89:d,90:p},{30:64,33:62,75:$,89:d,90:p},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ae,[2,81]),e(Ae,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ce,66:Ve,67:ve,68:xe,69:Le,70:De,71:Oe},{62:77,65:Ce,66:Ve,67:ve,68:xe,69:Le,70:De,71:Oe},{30:78,33:62,75:$,89:d,90:p},{73:79,75:Z,76:U,78:81,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},e(de,[2,60]),e(de,[2,62]),{73:93,75:Z,76:U,78:81,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},{30:94,33:62,75:$,76:U,89:d,90:p},{5:[1,95]},{30:96,33:62,75:$,89:d,90:p},{5:[1,97]},{30:98,33:62,75:$,89:d,90:p},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(m,[2,59],{76:U}),e(m,[2,64],{76:we}),{33:103,75:[1,102],89:d,90:p},e(Me,[2,65],{79:104,75:Z,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce}),e(T,[2,67]),e(T,[2,69]),e(T,[2,70]),e(T,[2,71]),e(T,[2,72]),e(T,[2,73]),e(T,[2,74]),e(T,[2,75]),e(T,[2,76]),e(T,[2,77]),e(T,[2,78]),e(m,[2,57],{76:we}),e(m,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:oe,40:he,56:113,57:ue,59:fe},{27:[1,118],76:U},{33:119,89:d,90:p},{33:120,89:d,90:p},{75:Z,78:121,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},e(de,[2,61]),e(de,[2,63]),e(T,[2,68]),e(m,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(m,[2,28]),{5:[1,127]},e(m,[2,42]),{32:[1,128]},{32:[1,129]},{5:oe,40:he,56:130,57:ue,59:fe},e(m,[2,47]),{5:[1,131]},e(m,[2,48]),e(m,[2,49]),e(Me,[2,66],{79:104,75:Z,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce}),{33:132,89:d,90:p},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(m,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(m,[2,46]),{5:oe,40:he,56:152,57:ue,59:fe},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(m,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(m,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:oe,40:he,56:163,57:ue,59:fe},{5:oe,40:he,56:164,57:ue,59:fe},e(m,[2,23]),e(m,[2,24]),e(m,[2,25]),e(m,[2,26]),e(m,[2,44]),e(m,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:o(function(i,a){if(a.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=a,c}},"parseError"),parse:o(function(i){var a=this,c=[0],s=[],f=[null],t=[],me=this.table,l="",Re=0,Fe=0,Qe=2,Pe=1,He=t.slice.call(arguments,1),y=Object.create(this.lexer),z={yy:{}};for(var Se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Se)&&(z.yy[Se]=this.yy[Se]);y.setInput(i,z.yy),z.yy.lexer=y,z.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var Ie=y.yylloc;t.push(Ie);var Ke=y.options&&y.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function We(I){c.length=c.length-2*I,f.length=f.length-I,t.length=t.length-I}o(We,"popStack");function $e(){var I;return I=s.pop()||y.lex()||Pe,typeof I!="number"&&(I instanceof Array&&(s=I,I=s.pop()),I=a.symbols_[I]||I),I}o($e,"lex");for(var S,G,k,be,J={},ye,F,Ue,ge;;){if(G=c[c.length-1],this.defaultActions[G]?k=this.defaultActions[G]:((S===null||typeof S>"u")&&(S=$e()),k=me[G]&&me[G][S]),typeof k>"u"||!k.length||!k[0]){var Te="";ge=[];for(ye in me[G])this.terminals_[ye]&&ye>Qe&&ge.push("'"+this.terminals_[ye]+"'");y.showPosition?Te="Parse error on line "+(Re+1)+`:
|
|
1
|
+
import{g as je,s as ze}from"./chunk-RZ5BOZE2-TREOuNWw.js";import{_ as o,b as Ge,a as Xe,s as Je,g as Ze,q as et,t as tt,c as ke,l as Ne,z as st,D as it,p as rt,r as nt,u as at}from"./mermaid.core-Bs4QMgEl.js";import"./index-DeTZCzPZ.js";import"./index-CTzxaxet.js";import"./console-mirror-DWRhT46l.js";import"./error-boundary-KjsCVlwc.js";var qe=function(){var e=o(function(P,i,a,c){for(a=a||{},c=P.length;c--;a[P[c]]=i);return a},"o"),u=[1,3],h=[1,4],r=[1,5],n=[1,6],E=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],g=[1,22],R=[2,7],_=[1,26],b=[1,27],N=[1,28],q=[1,29],A=[1,33],C=[1,34],V=[1,35],v=[1,36],x=[1,37],L=[1,38],D=[1,24],O=[1,31],w=[1,32],M=[1,30],d=[1,39],p=[1,40],m=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],$=[1,61],X=[89,90],Ae=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Ee=[27,29],Ce=[1,70],Ve=[1,71],ve=[1,72],xe=[1,73],Le=[1,74],De=[1,75],Oe=[1,76],Z=[1,83],U=[1,80],ee=[1,84],te=[1,85],se=[1,86],ie=[1,87],re=[1,88],ne=[1,89],ae=[1,90],le=[1,91],ce=[1,92],de=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Y=[63,64],we=[1,101],Me=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],T=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],B=[1,110],Q=[1,106],H=[1,107],K=[1,108],W=[1,109],j=[1,111],oe=[1,116],he=[1,117],ue=[1,114],fe=[1,115],_e={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(i,a,c,s,f,t,me){var l=t.length-1;switch(f){case 4:this.$=t[l].trim(),s.setAccTitle(this.$);break;case 5:case 6:this.$=t[l].trim(),s.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:s.setDirection("TB");break;case 18:s.setDirection("BT");break;case 19:s.setDirection("RL");break;case 20:s.setDirection("LR");break;case 21:s.addRequirement(t[l-3],t[l-4]);break;case 22:s.addRequirement(t[l-5],t[l-6]),s.setClass([t[l-5]],t[l-3]);break;case 23:s.setNewReqId(t[l-2]);break;case 24:s.setNewReqText(t[l-2]);break;case 25:s.setNewReqRisk(t[l-2]);break;case 26:s.setNewReqVerifyMethod(t[l-2]);break;case 29:this.$=s.RequirementType.REQUIREMENT;break;case 30:this.$=s.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=s.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=s.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=s.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=s.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=s.RiskLevel.LOW_RISK;break;case 36:this.$=s.RiskLevel.MED_RISK;break;case 37:this.$=s.RiskLevel.HIGH_RISK;break;case 38:this.$=s.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=s.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=s.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=s.VerifyType.VERIFY_TEST;break;case 42:s.addElement(t[l-3]);break;case 43:s.addElement(t[l-5]),s.setClass([t[l-5]],t[l-3]);break;case 44:s.setNewElementType(t[l-2]);break;case 45:s.setNewElementDocRef(t[l-2]);break;case 48:s.addRelationship(t[l-2],t[l],t[l-4]);break;case 49:s.addRelationship(t[l-2],t[l-4],t[l]);break;case 50:this.$=s.Relationships.CONTAINS;break;case 51:this.$=s.Relationships.COPIES;break;case 52:this.$=s.Relationships.DERIVES;break;case 53:this.$=s.Relationships.SATISFIES;break;case 54:this.$=s.Relationships.VERIFIES;break;case 55:this.$=s.Relationships.REFINES;break;case 56:this.$=s.Relationships.TRACES;break;case 57:this.$=t[l-2],s.defineClass(t[l-1],t[l]);break;case 58:s.setClass(t[l-1],t[l]);break;case 59:s.setClass([t[l-2]],t[l]);break;case 60:case 62:this.$=[t[l]];break;case 61:case 63:this.$=t[l-2].concat([t[l]]);break;case 64:this.$=t[l-2],s.setCssStyle(t[l-1],t[l]);break;case 65:this.$=[t[l]];break;case 66:t[l-2].push(t[l]),this.$=t[l-2];break;case 68:this.$=t[l-1]+t[l];break}},"anonymous"),table:[{3:1,4:2,6:u,9:h,11:r,13:n},{1:[3]},{3:8,4:2,5:[1,7],6:u,9:h,11:r,13:n},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(E,[2,6]),{3:12,4:2,6:u,9:h,11:r,13:n},{1:[2,2]},{4:17,5:g,7:13,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},e(E,[2,4]),e(E,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:g,7:42,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:43,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:44,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:45,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:46,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:47,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:48,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:49,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{4:17,5:g,7:50,8:R,9:h,11:r,13:n,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:_,22:b,23:N,24:q,25:23,33:25,41:A,42:C,43:V,44:v,45:x,46:L,54:D,72:O,74:w,77:M,89:d,90:p},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},e(m,[2,17]),e(m,[2,18]),e(m,[2,19]),e(m,[2,20]),{30:60,33:62,75:$,89:d,90:p},{30:63,33:62,75:$,89:d,90:p},{30:64,33:62,75:$,89:d,90:p},e(X,[2,29]),e(X,[2,30]),e(X,[2,31]),e(X,[2,32]),e(X,[2,33]),e(X,[2,34]),e(Ae,[2,81]),e(Ae,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},e(Ee,[2,79]),e(Ee,[2,80]),{27:[1,67],29:[1,68]},e(Ee,[2,85]),e(Ee,[2,86]),{62:69,65:Ce,66:Ve,67:ve,68:xe,69:Le,70:De,71:Oe},{62:77,65:Ce,66:Ve,67:ve,68:xe,69:Le,70:De,71:Oe},{30:78,33:62,75:$,89:d,90:p},{73:79,75:Z,76:U,78:81,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},e(de,[2,60]),e(de,[2,62]),{73:93,75:Z,76:U,78:81,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},{30:94,33:62,75:$,76:U,89:d,90:p},{5:[1,95]},{30:96,33:62,75:$,89:d,90:p},{5:[1,97]},{30:98,33:62,75:$,89:d,90:p},{63:[1,99]},e(Y,[2,50]),e(Y,[2,51]),e(Y,[2,52]),e(Y,[2,53]),e(Y,[2,54]),e(Y,[2,55]),e(Y,[2,56]),{64:[1,100]},e(m,[2,59],{76:U}),e(m,[2,64],{76:we}),{33:103,75:[1,102],89:d,90:p},e(Me,[2,65],{79:104,75:Z,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce}),e(T,[2,67]),e(T,[2,69]),e(T,[2,70]),e(T,[2,71]),e(T,[2,72]),e(T,[2,73]),e(T,[2,74]),e(T,[2,75]),e(T,[2,76]),e(T,[2,77]),e(T,[2,78]),e(m,[2,57],{76:we}),e(m,[2,58],{76:U}),{5:B,28:105,31:Q,34:H,36:K,38:W,40:j},{27:[1,112],76:U},{5:oe,40:he,56:113,57:ue,59:fe},{27:[1,118],76:U},{33:119,89:d,90:p},{33:120,89:d,90:p},{75:Z,78:121,79:82,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce},e(de,[2,61]),e(de,[2,63]),e(T,[2,68]),e(m,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:B,28:126,31:Q,34:H,36:K,38:W,40:j},e(m,[2,28]),{5:[1,127]},e(m,[2,42]),{32:[1,128]},{32:[1,129]},{5:oe,40:he,56:130,57:ue,59:fe},e(m,[2,47]),{5:[1,131]},e(m,[2,48]),e(m,[2,49]),e(Me,[2,66],{79:104,75:Z,80:ee,81:te,82:se,83:ie,84:re,85:ne,86:ae,87:le,88:ce}),{33:132,89:d,90:p},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},e(m,[2,27]),{5:B,28:145,31:Q,34:H,36:K,38:W,40:j},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},e(m,[2,46]),{5:oe,40:he,56:152,57:ue,59:fe},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},e(m,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},e(m,[2,43]),{5:B,28:159,31:Q,34:H,36:K,38:W,40:j},{5:B,28:160,31:Q,34:H,36:K,38:W,40:j},{5:B,28:161,31:Q,34:H,36:K,38:W,40:j},{5:B,28:162,31:Q,34:H,36:K,38:W,40:j},{5:oe,40:he,56:163,57:ue,59:fe},{5:oe,40:he,56:164,57:ue,59:fe},e(m,[2,23]),e(m,[2,24]),e(m,[2,25]),e(m,[2,26]),e(m,[2,44]),e(m,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:o(function(i,a){if(a.recoverable)this.trace(i);else{var c=new Error(i);throw c.hash=a,c}},"parseError"),parse:o(function(i){var a=this,c=[0],s=[],f=[null],t=[],me=this.table,l="",Re=0,Fe=0,Qe=2,Pe=1,He=t.slice.call(arguments,1),y=Object.create(this.lexer),z={yy:{}};for(var Se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Se)&&(z.yy[Se]=this.yy[Se]);y.setInput(i,z.yy),z.yy.lexer=y,z.yy.parser=this,typeof y.yylloc>"u"&&(y.yylloc={});var Ie=y.yylloc;t.push(Ie);var Ke=y.options&&y.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function We(I){c.length=c.length-2*I,f.length=f.length-I,t.length=t.length-I}o(We,"popStack");function $e(){var I;return I=s.pop()||y.lex()||Pe,typeof I!="number"&&(I instanceof Array&&(s=I,I=s.pop()),I=a.symbols_[I]||I),I}o($e,"lex");for(var S,G,k,be,J={},ye,F,Ue,ge;;){if(G=c[c.length-1],this.defaultActions[G]?k=this.defaultActions[G]:((S===null||typeof S>"u")&&(S=$e()),k=me[G]&&me[G][S]),typeof k>"u"||!k.length||!k[0]){var Te="";ge=[];for(ye in me[G])this.terminals_[ye]&&ye>Qe&&ge.push("'"+this.terminals_[ye]+"'");y.showPosition?Te="Parse error on line "+(Re+1)+`:
|
|
2
2
|
`+y.showPosition()+`
|
|
3
3
|
Expecting `+ge.join(", ")+", got '"+(this.terminals_[S]||S)+"'":Te="Parse error on line "+(Re+1)+": Unexpected "+(S==Pe?"end of input":"'"+(this.terminals_[S]||S)+"'"),this.parseError(Te,{text:y.match,token:this.terminals_[S]||S,line:y.yylineno,loc:Ie,expected:ge})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+S);switch(k[0]){case 1:c.push(S),f.push(y.yytext),t.push(y.yylloc),c.push(k[1]),S=null,Fe=y.yyleng,l=y.yytext,Re=y.yylineno,Ie=y.yylloc;break;case 2:if(F=this.productions_[k[1]][1],J.$=f[f.length-F],J._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},Ke&&(J._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]]),be=this.performAction.apply(J,[l,Fe,Re,z.yy,k[1],f,t].concat(He)),typeof be<"u")return be;F&&(c=c.slice(0,-1*F*2),f=f.slice(0,-1*F),t=t.slice(0,-1*F)),c.push(this.productions_[k[1]][0]),f.push(J.$),t.push(J._$),Ue=me[c[c.length-2]][c[c.length-1]],c.push(Ue);break;case 3:return!0}}return!0},"parse")},Be=function(){var P={EOF:1,parseError:o(function(a,c){if(this.yy.parser)this.yy.parser.parseError(a,c);else throw new Error(a)},"parseError"),setInput:o(function(i,a){return this.yy=a||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:o(function(i){var a=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===s.length?this.yylloc.first_column:0)+s[s.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(i){this.unput(this.match.slice(i))},"less"),pastInput:o(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as g,q as mt,t as kt,s as _t,g as xt,b as vt,a as bt,c as ot,A as wt,d as G,V as St,z as Lt,k as Et}from"./mermaid.core-DjEcfQ2P.js";import{ab as At}from"./index-BGpQvlC-.js";import"./index-Biw7WGBF.js";import"./console-mirror-Cp8JlE_x.js";import"./error-boundary-BxKgKUoO.js";function Tt(t){for(var n=t.length/6|0,i=new Array(n),a=0;a<n;)i[a]="#"+t.slice(a*6,++a*6);return i}const Mt=Tt("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function at(t,n){let i;if(n===void 0)for(const a of t)a!=null&&(i<a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=n(h,++a,t))!=null&&(i<h||i===void 0&&h>=h)&&(i=h)}return i}function dt(t,n){let i;if(n===void 0)for(const a of t)a!=null&&(i>a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=n(h,++a,t))!=null&&(i>h||i===void 0&&h>=h)&&(i=h)}return i}function J(t,n){let i=0;if(n===void 0)for(let a of t)(a=+a)&&(i+=a);else{let a=-1;for(let h of t)(h=+n(h,++a,t))&&(i+=h)}return i}function Nt(t){return t.target.depth}function It(t){return t.depth}function Pt(t,n){return n-1-t.height}function gt(t,n){return t.sourceLinks.length?t.depth:n-1}function Ct(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?dt(t.sourceLinks,Nt)-1:0}function Y(t){return function(){return t}}function lt(t,n){return q(t.source,n.source)||t.index-n.index}function ct(t,n){return q(t.target,n.target)||t.index-n.index}function q(t,n){return t.y0-n.y0}function tt(t){return t.value}function Ot(t){return t.index}function zt(t){return t.nodes}function Dt(t){return t.links}function ut(t,n){const i=t.get(n);if(!i)throw new Error("missing: "+n);return i}function ht({nodes:t}){for(const n of t){let i=n.y0,a=i;for(const h of n.sourceLinks)h.y0=i+h.width/2,i+=h.width;for(const h of n.targetLinks)h.y1=a+h.width/2,a+=h.width}}function $t(){let t=0,n=0,i=1,a=1,h=24,b=8,p,k=Ot,s=gt,o,l,_=zt,x=Dt,y=6;function v(){const e={nodes:_.apply(null,arguments),links:x.apply(null,arguments)};return M(e),T(e),N(e),C(e),S(e),ht(e),e}v.update=function(e){return ht(e),e},v.nodeId=function(e){return arguments.length?(k=typeof e=="function"?e:Y(e),v):k},v.nodeAlign=function(e){return arguments.length?(s=typeof e=="function"?e:Y(e),v):s},v.nodeSort=function(e){return arguments.length?(o=e,v):o},v.nodeWidth=function(e){return arguments.length?(h=+e,v):h},v.nodePadding=function(e){return arguments.length?(b=p=+e,v):b},v.nodes=function(e){return arguments.length?(_=typeof e=="function"?e:Y(e),v):_},v.links=function(e){return arguments.length?(x=typeof e=="function"?e:Y(e),v):x},v.linkSort=function(e){return arguments.length?(l=e,v):l},v.size=function(e){return arguments.length?(t=n=0,i=+e[0],a=+e[1],v):[i-t,a-n]},v.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],a=+e[1][1],v):[[t,n],[i,a]]},v.iterations=function(e){return arguments.length?(y=+e,v):y};function M({nodes:e,links:f}){for(const[c,r]of e.entries())r.index=c,r.sourceLinks=[],r.targetLinks=[];const u=new Map(e.map((c,r)=>[k(c,r,e),c]));for(const[c,r]of f.entries()){r.index=c;let{source:m,target:w}=r;typeof m!="object"&&(m=r.source=ut(u,m)),typeof w!="object"&&(w=r.target=ut(u,w)),m.sourceLinks.push(r),w.targetLinks.push(r)}if(l!=null)for(const{sourceLinks:c,targetLinks:r}of e)c.sort(l),r.sort(l)}function T({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(J(f.sourceLinks,tt),J(f.targetLinks,tt)):f.fixedValue}function N({nodes:e}){const f=e.length;let u=new Set(e),c=new Set,r=0;for(;u.size;){for(const m of u){m.depth=r;for(const{target:w}of m.sourceLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function C({nodes:e}){const f=e.length;let u=new Set(e),c=new Set,r=0;for(;u.size;){for(const m of u){m.height=r;for(const{source:w}of m.targetLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function D({nodes:e}){const f=at(e,r=>r.depth)+1,u=(i-t-h)/(f-1),c=new Array(f);for(const r of e){const m=Math.max(0,Math.min(f-1,Math.floor(s.call(null,r,f))));r.layer=m,r.x0=t+m*u,r.x1=r.x0+h,c[m]?c[m].push(r):c[m]=[r]}if(o)for(const r of c)r.sort(o);return c}function B(e){const f=dt(e,u=>(a-n-(u.length-1)*p)/J(u,tt));for(const u of e){let c=n;for(const r of u){r.y0=c,r.y1=c+r.value*f,c=r.y1+p;for(const m of r.sourceLinks)m.width=m.value*f}c=(a-c+p)/(u.length+1);for(let r=0;r<u.length;++r){const m=u[r];m.y0+=c*(r+1),m.y1+=c*(r+1)}A(u)}}function S(e){const f=D(e);p=Math.min(b,(a-n)/(at(f,u=>u.length)-1)),B(f);for(let u=0;u<y;++u){const c=Math.pow(.99,u),r=Math.max(1-c,(u+1)/y);j(f,c,r),P(f,c,r)}}function P(e,f,u){for(let c=1,r=e.length;c<r;++c){const m=e[c];for(const w of m){let L=0,R=0;for(const{source:U,value:Z}of w.targetLinks){let W=Z*(w.layer-U.layer);L+=$(U,w)*W,R+=W}if(!(R>0))continue;let F=(L/R-w.y0)*f;w.y0+=F,w.y1+=F,E(w)}o===void 0&&m.sort(q),O(m,u)}}function j(e,f,u){for(let c=e.length,r=c-2;r>=0;--r){const m=e[r];for(const w of m){let L=0,R=0;for(const{target:U,value:Z}of w.sourceLinks){let W=Z*(U.layer-w.layer);L+=I(w,U)*W,R+=W}if(!(R>0))continue;let F=(L/R-w.y0)*f;w.y0+=F,w.y1+=F,E(w)}o===void 0&&m.sort(q),O(m,u)}}function O(e,f){const u=e.length>>1,c=e[u];d(e,c.y0-p,u-1,f),z(e,c.y1+p,u+1,f),d(e,a,e.length-1,f),z(e,n,0,f)}function z(e,f,u,c){for(;u<e.length;++u){const r=e[u],m=(f-r.y0)*c;m>1e-6&&(r.y0+=m,r.y1+=m),f=r.y1+p}}function d(e,f,u,c){for(;u>=0;--u){const r=e[u],m=(r.y1-f)*c;m>1e-6&&(r.y0-=m,r.y1-=m),f=r.y0-p}}function E({sourceLinks:e,targetLinks:f}){if(l===void 0){for(const{source:{sourceLinks:u}}of f)u.sort(ct);for(const{target:{targetLinks:u}}of e)u.sort(lt)}}function A(e){if(l===void 0)for(const{sourceLinks:f,targetLinks:u}of e)f.sort(ct),u.sort(lt)}function $(e,f){let u=e.y0-(e.sourceLinks.length-1)*p/2;for(const{target:c,width:r}of e.sourceLinks){if(c===f)break;u+=r+p}for(const{source:c,width:r}of f.targetLinks){if(c===e)break;u-=r}return u}function I(e,f){let u=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:c,width:r}of f.targetLinks){if(c===e)break;u+=r+p}for(const{target:c,width:r}of e.sourceLinks){if(c===f)break;u-=r}return u}return v}var et=Math.PI,nt=2*et,V=1e-6,jt=nt-V;function it(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function pt(){return new it}it.prototype=pt.prototype={constructor:it,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},bezierCurveTo:function(t,n,i,a,h,b){this._+="C"+ +t+","+ +n+","+ +i+","+ +a+","+(this._x1=+h)+","+(this._y1=+b)},arcTo:function(t,n,i,a,h){t=+t,n=+n,i=+i,a=+a,h=+h;var b=this._x1,p=this._y1,k=i-t,s=a-n,o=b-t,l=p-n,_=o*o+l*l;if(h<0)throw new Error("negative radius: "+h);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(_>V)if(!(Math.abs(l*k-s*o)>V)||!h)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var x=i-b,y=a-p,v=k*k+s*s,M=x*x+y*y,T=Math.sqrt(v),N=Math.sqrt(_),C=h*Math.tan((et-Math.acos((v+_-M)/(2*T*N)))/2),D=C/N,B=C/T;Math.abs(D-1)>V&&(this._+="L"+(t+D*o)+","+(n+D*l)),this._+="A"+h+","+h+",0,0,"+ +(l*x>o*y)+","+(this._x1=t+B*k)+","+(this._y1=n+B*s)}},arc:function(t,n,i,a,h,b){t=+t,n=+n,i=+i,b=!!b;var p=i*Math.cos(a),k=i*Math.sin(a),s=t+p,o=n+k,l=1^b,_=b?a-h:h-a;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+s+","+o:(Math.abs(this._x1-s)>V||Math.abs(this._y1-o)>V)&&(this._+="L"+s+","+o),i&&(_<0&&(_=_%nt+nt),_>jt?this._+="A"+i+","+i+",0,1,"+l+","+(t-p)+","+(n-k)+"A"+i+","+i+",0,1,"+l+","+(this._x1=s)+","+(this._y1=o):_>V&&(this._+="A"+i+","+i+",0,"+ +(_>=et)+","+l+","+(this._x1=t+i*Math.cos(h))+","+(this._y1=n+i*Math.sin(h))))},rect:function(t,n,i,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +a+"h"+-i+"Z"},toString:function(){return this._}};function ft(t){return function(){return t}}function Bt(t){return t[0]}function Rt(t){return t[1]}var Vt=Array.prototype.slice;function Ft(t){return t.source}function Ut(t){return t.target}function Wt(t){var n=Ft,i=Ut,a=Bt,h=Rt,b=null;function p(){var k,s=Vt.call(arguments),o=n.apply(this,s),l=i.apply(this,s);if(b||(b=k=pt()),t(b,+a.apply(this,(s[0]=o,s)),+h.apply(this,s),+a.apply(this,(s[0]=l,s)),+h.apply(this,s)),k)return b=null,k+""||null}return p.source=function(k){return arguments.length?(n=k,p):n},p.target=function(k){return arguments.length?(i=k,p):i},p.x=function(k){return arguments.length?(a=typeof k=="function"?k:ft(+k),p):a},p.y=function(k){return arguments.length?(h=typeof k=="function"?k:ft(+k),p):h},p.context=function(k){return arguments.length?(b=k??null,p):b},p}function Gt(t,n,i,a,h){t.moveTo(n,i),t.bezierCurveTo(n=(n+a)/2,i,n,h,a,h)}function Yt(){return Wt(Gt)}function qt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Yt().source(qt).target(Ht)}var st=function(){var t=g(function(k,s,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=s);return o},"o"),n=[1,9],i=[1,10],a=[1,5,10,12],h={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:g(function(s,o,l,_,x,y,v){var M=y.length-1;switch(x){case 7:const T=_.findOrCreateNode(y[M-4].trim().replaceAll('""','"')),N=_.findOrCreateNode(y[M-2].trim().replaceAll('""','"')),C=parseFloat(y[M].trim());_.addLink(T,N,C);break;case 8:case 9:case 11:this.$=y[M];break;case 10:this.$=y[M-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:i},{15:18,16:7,17:8,18:n,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:g(function(s,o){if(o.recoverable)this.trace(s);else{var l=new Error(s);throw l.hash=o,l}},"parseError"),parse:g(function(s){var o=this,l=[0],_=[],x=[null],y=[],v=this.table,M="",T=0,N=0,C=2,D=1,B=y.slice.call(arguments,1),S=Object.create(this.lexer),P={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(P.yy[j]=this.yy[j]);S.setInput(s,P.yy),P.yy.lexer=S,P.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var O=S.yylloc;y.push(O);var z=S.options&&S.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(L){l.length=l.length-2*L,x.length=x.length-L,y.length=y.length-L}g(d,"popStack");function E(){var L;return L=_.pop()||S.lex()||D,typeof L!="number"&&(L instanceof Array&&(_=L,L=_.pop()),L=o.symbols_[L]||L),L}g(E,"lex");for(var A,$,I,e,f={},u,c,r,m;;){if($=l[l.length-1],this.defaultActions[$]?I=this.defaultActions[$]:((A===null||typeof A>"u")&&(A=E()),I=v[$]&&v[$][A]),typeof I>"u"||!I.length||!I[0]){var w="";m=[];for(u in v[$])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");S.showPosition?w="Parse error on line "+(T+1)+`:
|
|
1
|
+
import{_ as g,q as mt,t as kt,s as _t,g as xt,b as vt,a as bt,c as ot,A as wt,d as G,V as St,z as Lt,k as Et}from"./mermaid.core-Bs4QMgEl.js";import{ab as At}from"./index-DeTZCzPZ.js";import"./index-CTzxaxet.js";import"./console-mirror-DWRhT46l.js";import"./error-boundary-KjsCVlwc.js";function Tt(t){for(var n=t.length/6|0,i=new Array(n),a=0;a<n;)i[a]="#"+t.slice(a*6,++a*6);return i}const Mt=Tt("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function at(t,n){let i;if(n===void 0)for(const a of t)a!=null&&(i<a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=n(h,++a,t))!=null&&(i<h||i===void 0&&h>=h)&&(i=h)}return i}function dt(t,n){let i;if(n===void 0)for(const a of t)a!=null&&(i>a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=n(h,++a,t))!=null&&(i>h||i===void 0&&h>=h)&&(i=h)}return i}function J(t,n){let i=0;if(n===void 0)for(let a of t)(a=+a)&&(i+=a);else{let a=-1;for(let h of t)(h=+n(h,++a,t))&&(i+=h)}return i}function Nt(t){return t.target.depth}function It(t){return t.depth}function Pt(t,n){return n-1-t.height}function gt(t,n){return t.sourceLinks.length?t.depth:n-1}function Ct(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?dt(t.sourceLinks,Nt)-1:0}function Y(t){return function(){return t}}function lt(t,n){return q(t.source,n.source)||t.index-n.index}function ct(t,n){return q(t.target,n.target)||t.index-n.index}function q(t,n){return t.y0-n.y0}function tt(t){return t.value}function Ot(t){return t.index}function zt(t){return t.nodes}function Dt(t){return t.links}function ut(t,n){const i=t.get(n);if(!i)throw new Error("missing: "+n);return i}function ht({nodes:t}){for(const n of t){let i=n.y0,a=i;for(const h of n.sourceLinks)h.y0=i+h.width/2,i+=h.width;for(const h of n.targetLinks)h.y1=a+h.width/2,a+=h.width}}function $t(){let t=0,n=0,i=1,a=1,h=24,b=8,p,k=Ot,s=gt,o,l,_=zt,x=Dt,y=6;function v(){const e={nodes:_.apply(null,arguments),links:x.apply(null,arguments)};return M(e),T(e),N(e),C(e),S(e),ht(e),e}v.update=function(e){return ht(e),e},v.nodeId=function(e){return arguments.length?(k=typeof e=="function"?e:Y(e),v):k},v.nodeAlign=function(e){return arguments.length?(s=typeof e=="function"?e:Y(e),v):s},v.nodeSort=function(e){return arguments.length?(o=e,v):o},v.nodeWidth=function(e){return arguments.length?(h=+e,v):h},v.nodePadding=function(e){return arguments.length?(b=p=+e,v):b},v.nodes=function(e){return arguments.length?(_=typeof e=="function"?e:Y(e),v):_},v.links=function(e){return arguments.length?(x=typeof e=="function"?e:Y(e),v):x},v.linkSort=function(e){return arguments.length?(l=e,v):l},v.size=function(e){return arguments.length?(t=n=0,i=+e[0],a=+e[1],v):[i-t,a-n]},v.extent=function(e){return arguments.length?(t=+e[0][0],i=+e[1][0],n=+e[0][1],a=+e[1][1],v):[[t,n],[i,a]]},v.iterations=function(e){return arguments.length?(y=+e,v):y};function M({nodes:e,links:f}){for(const[c,r]of e.entries())r.index=c,r.sourceLinks=[],r.targetLinks=[];const u=new Map(e.map((c,r)=>[k(c,r,e),c]));for(const[c,r]of f.entries()){r.index=c;let{source:m,target:w}=r;typeof m!="object"&&(m=r.source=ut(u,m)),typeof w!="object"&&(w=r.target=ut(u,w)),m.sourceLinks.push(r),w.targetLinks.push(r)}if(l!=null)for(const{sourceLinks:c,targetLinks:r}of e)c.sort(l),r.sort(l)}function T({nodes:e}){for(const f of e)f.value=f.fixedValue===void 0?Math.max(J(f.sourceLinks,tt),J(f.targetLinks,tt)):f.fixedValue}function N({nodes:e}){const f=e.length;let u=new Set(e),c=new Set,r=0;for(;u.size;){for(const m of u){m.depth=r;for(const{target:w}of m.sourceLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function C({nodes:e}){const f=e.length;let u=new Set(e),c=new Set,r=0;for(;u.size;){for(const m of u){m.height=r;for(const{source:w}of m.targetLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function D({nodes:e}){const f=at(e,r=>r.depth)+1,u=(i-t-h)/(f-1),c=new Array(f);for(const r of e){const m=Math.max(0,Math.min(f-1,Math.floor(s.call(null,r,f))));r.layer=m,r.x0=t+m*u,r.x1=r.x0+h,c[m]?c[m].push(r):c[m]=[r]}if(o)for(const r of c)r.sort(o);return c}function B(e){const f=dt(e,u=>(a-n-(u.length-1)*p)/J(u,tt));for(const u of e){let c=n;for(const r of u){r.y0=c,r.y1=c+r.value*f,c=r.y1+p;for(const m of r.sourceLinks)m.width=m.value*f}c=(a-c+p)/(u.length+1);for(let r=0;r<u.length;++r){const m=u[r];m.y0+=c*(r+1),m.y1+=c*(r+1)}A(u)}}function S(e){const f=D(e);p=Math.min(b,(a-n)/(at(f,u=>u.length)-1)),B(f);for(let u=0;u<y;++u){const c=Math.pow(.99,u),r=Math.max(1-c,(u+1)/y);j(f,c,r),P(f,c,r)}}function P(e,f,u){for(let c=1,r=e.length;c<r;++c){const m=e[c];for(const w of m){let L=0,R=0;for(const{source:U,value:Z}of w.targetLinks){let W=Z*(w.layer-U.layer);L+=$(U,w)*W,R+=W}if(!(R>0))continue;let F=(L/R-w.y0)*f;w.y0+=F,w.y1+=F,E(w)}o===void 0&&m.sort(q),O(m,u)}}function j(e,f,u){for(let c=e.length,r=c-2;r>=0;--r){const m=e[r];for(const w of m){let L=0,R=0;for(const{target:U,value:Z}of w.sourceLinks){let W=Z*(U.layer-w.layer);L+=I(w,U)*W,R+=W}if(!(R>0))continue;let F=(L/R-w.y0)*f;w.y0+=F,w.y1+=F,E(w)}o===void 0&&m.sort(q),O(m,u)}}function O(e,f){const u=e.length>>1,c=e[u];d(e,c.y0-p,u-1,f),z(e,c.y1+p,u+1,f),d(e,a,e.length-1,f),z(e,n,0,f)}function z(e,f,u,c){for(;u<e.length;++u){const r=e[u],m=(f-r.y0)*c;m>1e-6&&(r.y0+=m,r.y1+=m),f=r.y1+p}}function d(e,f,u,c){for(;u>=0;--u){const r=e[u],m=(r.y1-f)*c;m>1e-6&&(r.y0-=m,r.y1-=m),f=r.y0-p}}function E({sourceLinks:e,targetLinks:f}){if(l===void 0){for(const{source:{sourceLinks:u}}of f)u.sort(ct);for(const{target:{targetLinks:u}}of e)u.sort(lt)}}function A(e){if(l===void 0)for(const{sourceLinks:f,targetLinks:u}of e)f.sort(ct),u.sort(lt)}function $(e,f){let u=e.y0-(e.sourceLinks.length-1)*p/2;for(const{target:c,width:r}of e.sourceLinks){if(c===f)break;u+=r+p}for(const{source:c,width:r}of f.targetLinks){if(c===e)break;u-=r}return u}function I(e,f){let u=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:c,width:r}of f.targetLinks){if(c===e)break;u+=r+p}for(const{target:c,width:r}of e.sourceLinks){if(c===f)break;u-=r}return u}return v}var et=Math.PI,nt=2*et,V=1e-6,jt=nt-V;function it(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function pt(){return new it}it.prototype=pt.prototype={constructor:it,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,a){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},bezierCurveTo:function(t,n,i,a,h,b){this._+="C"+ +t+","+ +n+","+ +i+","+ +a+","+(this._x1=+h)+","+(this._y1=+b)},arcTo:function(t,n,i,a,h){t=+t,n=+n,i=+i,a=+a,h=+h;var b=this._x1,p=this._y1,k=i-t,s=a-n,o=b-t,l=p-n,_=o*o+l*l;if(h<0)throw new Error("negative radius: "+h);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(_>V)if(!(Math.abs(l*k-s*o)>V)||!h)this._+="L"+(this._x1=t)+","+(this._y1=n);else{var x=i-b,y=a-p,v=k*k+s*s,M=x*x+y*y,T=Math.sqrt(v),N=Math.sqrt(_),C=h*Math.tan((et-Math.acos((v+_-M)/(2*T*N)))/2),D=C/N,B=C/T;Math.abs(D-1)>V&&(this._+="L"+(t+D*o)+","+(n+D*l)),this._+="A"+h+","+h+",0,0,"+ +(l*x>o*y)+","+(this._x1=t+B*k)+","+(this._y1=n+B*s)}},arc:function(t,n,i,a,h,b){t=+t,n=+n,i=+i,b=!!b;var p=i*Math.cos(a),k=i*Math.sin(a),s=t+p,o=n+k,l=1^b,_=b?a-h:h-a;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+s+","+o:(Math.abs(this._x1-s)>V||Math.abs(this._y1-o)>V)&&(this._+="L"+s+","+o),i&&(_<0&&(_=_%nt+nt),_>jt?this._+="A"+i+","+i+",0,1,"+l+","+(t-p)+","+(n-k)+"A"+i+","+i+",0,1,"+l+","+(this._x1=s)+","+(this._y1=o):_>V&&(this._+="A"+i+","+i+",0,"+ +(_>=et)+","+l+","+(this._x1=t+i*Math.cos(h))+","+(this._y1=n+i*Math.sin(h))))},rect:function(t,n,i,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +a+"h"+-i+"Z"},toString:function(){return this._}};function ft(t){return function(){return t}}function Bt(t){return t[0]}function Rt(t){return t[1]}var Vt=Array.prototype.slice;function Ft(t){return t.source}function Ut(t){return t.target}function Wt(t){var n=Ft,i=Ut,a=Bt,h=Rt,b=null;function p(){var k,s=Vt.call(arguments),o=n.apply(this,s),l=i.apply(this,s);if(b||(b=k=pt()),t(b,+a.apply(this,(s[0]=o,s)),+h.apply(this,s),+a.apply(this,(s[0]=l,s)),+h.apply(this,s)),k)return b=null,k+""||null}return p.source=function(k){return arguments.length?(n=k,p):n},p.target=function(k){return arguments.length?(i=k,p):i},p.x=function(k){return arguments.length?(a=typeof k=="function"?k:ft(+k),p):a},p.y=function(k){return arguments.length?(h=typeof k=="function"?k:ft(+k),p):h},p.context=function(k){return arguments.length?(b=k??null,p):b},p}function Gt(t,n,i,a,h){t.moveTo(n,i),t.bezierCurveTo(n=(n+a)/2,i,n,h,a,h)}function Yt(){return Wt(Gt)}function qt(t){return[t.source.x1,t.y0]}function Ht(t){return[t.target.x0,t.y1]}function Xt(){return Yt().source(qt).target(Ht)}var st=function(){var t=g(function(k,s,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=s);return o},"o"),n=[1,9],i=[1,10],a=[1,5,10,12],h={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:g(function(s,o,l,_,x,y,v){var M=y.length-1;switch(x){case 7:const T=_.findOrCreateNode(y[M-4].trim().replaceAll('""','"')),N=_.findOrCreateNode(y[M-2].trim().replaceAll('""','"')),C=parseFloat(y[M].trim());_.addLink(T,N,C);break;case 8:case 9:case 11:this.$=y[M];break;case 10:this.$=y[M-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:n,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:n,20:i},{15:18,16:7,17:8,18:n,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:n,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:g(function(s,o){if(o.recoverable)this.trace(s);else{var l=new Error(s);throw l.hash=o,l}},"parseError"),parse:g(function(s){var o=this,l=[0],_=[],x=[null],y=[],v=this.table,M="",T=0,N=0,C=2,D=1,B=y.slice.call(arguments,1),S=Object.create(this.lexer),P={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(P.yy[j]=this.yy[j]);S.setInput(s,P.yy),P.yy.lexer=S,P.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var O=S.yylloc;y.push(O);var z=S.options&&S.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(L){l.length=l.length-2*L,x.length=x.length-L,y.length=y.length-L}g(d,"popStack");function E(){var L;return L=_.pop()||S.lex()||D,typeof L!="number"&&(L instanceof Array&&(_=L,L=_.pop()),L=o.symbols_[L]||L),L}g(E,"lex");for(var A,$,I,e,f={},u,c,r,m;;){if($=l[l.length-1],this.defaultActions[$]?I=this.defaultActions[$]:((A===null||typeof A>"u")&&(A=E()),I=v[$]&&v[$][A]),typeof I>"u"||!I.length||!I[0]){var w="";m=[];for(u in v[$])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");S.showPosition?w="Parse error on line "+(T+1)+`:
|
|
2
2
|
`+S.showPosition()+`
|
|
3
3
|
Expecting `+m.join(", ")+", got '"+(this.terminals_[A]||A)+"'":w="Parse error on line "+(T+1)+": Unexpected "+(A==D?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(w,{text:S.match,token:this.terminals_[A]||A,line:S.yylineno,loc:O,expected:m})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+A);switch(I[0]){case 1:l.push(A),x.push(S.yytext),y.push(S.yylloc),l.push(I[1]),A=null,N=S.yyleng,M=S.yytext,T=S.yylineno,O=S.yylloc;break;case 2:if(c=this.productions_[I[1]][1],f.$=x[x.length-c],f._$={first_line:y[y.length-(c||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(c||1)].first_column,last_column:y[y.length-1].last_column},z&&(f._$.range=[y[y.length-(c||1)].range[0],y[y.length-1].range[1]]),e=this.performAction.apply(f,[M,N,T,P.yy,I[1],x,y].concat(B)),typeof e<"u")return e;c&&(l=l.slice(0,-1*c*2),x=x.slice(0,-1*c),y=y.slice(0,-1*c)),l.push(this.productions_[I[1]][0]),x.push(f.$),y.push(f._$),r=v[l[l.length-2]][l[l.length-1]],l.push(r);break;case 3:return!0}}return!0},"parse")},b=function(){var k={EOF:1,parseError:g(function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},"parseError"),setInput:g(function(s,o){return this.yy=o||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:g(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var o=s.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:g(function(s){var o=s.length,l=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===_.length?this.yylloc.first_column:0)+_[_.length-l.length].length-l[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:g(function(s){this.unput(this.match.slice(s))},"less"),pastInput:g(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var s=this.pastInput(),o=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as p,h as Ni,j as u,i as Ai,k as Cu,s as Zs,f as ns,e as ae,l as Su,b as Mt,m as le,n as Ie,o as Js,p as $i,q as os,c as je}from"./index-
|
|
1
|
+
import{r as p,h as Ni,j as u,i as Ai,k as Cu,s as Zs,f as ns,e as ae,l as Su,b as Mt,m as le,n as Ie,o as Js,p as $i,q as os,c as je}from"./index-CTzxaxet.js";import{dQ as ku,dR as Pu,dS as rs,dT as Mu,dU as Du,dV as Li,dW as Tu,dX as Iu,dY as Ru,dZ as ji,d_ as Eu,d$ as Vi,e0 as Dt,e1 as vo,e2 as ss,be as Wn,h as as,g as _n,as as xo,e3 as is,k as Fo,e4 as Ou,e5 as Bi,e6 as Fu,e7 as ro,e8 as Pr,e9 as Nu,ea as Au,eb as $u,ec as D,ed as Lu,ee as wt,ef as wo,eg as Wi,eh as _i,ei as ju,ej as Vu,c7 as Bu,aB as zi,ek as Wu,aC as Hi,au as _u,ac as Ui,ad as Sn,av as Yi,aw as zu,bf as Hu,j as qi,el as Uu,P as Ar,at as kn,c$ as Yu,em as qu,i as Ku,cJ as Gu,bQ as Qu}from"./index-DeTZCzPZ.js";import{P as Xu}from"./page-header-CKb4_wst.js";import{c as Zu,a4 as No,a5 as Ju,f as qt,B as bt,S as ls,J as ea,L as gt,T as Ki,I as qo,p as bn,q as yn,r as vn,s as xn,t as Je,a2 as $r,P as ed,K as td,H as nd,M as od,e as rd,X as sd,A as ta}from"./error-boundary-KjsCVlwc.js";import{b as sr,s as Lr,g as ad,c as Ko,d as Gi,e as Qi,h as id,l as jr,j as ld,w as na,k as cd,i as to,f as ud,m as dd,p as oa}from"./parseISO-BWtr7JL9.js";import{t as we,c as st,d as Xi,f as Zi,n as ar,g as cs,k as pd,a as Ji,e as el}from"./en-US-BkS8Ixxl.js";import"./console-mirror-DWRhT46l.js";/**
|
|
2
2
|
* @license lucide-react v0.507.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|