claudius-core 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/manager.md +13 -0
- package/.claude/agents/product-engineer.md +1 -1
- package/.claude/agents/worker.md +1 -1
- package/.claude/hooks/continue-or-stop.ts +5 -5
- package/.claude/rules/claudius.md +10 -11
- package/.claude/skills/backlog/SKILL.md +2 -4
- package/.claude/skills/build/SKILL.md +2 -2
- package/.claude/skills/setup/references/claude-md-template.md +2 -3
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +2 -4
- package/dist/cli/studio.js +1 -1
- package/dist/cli/studio.js.map +1 -1
- package/dist/config-migrations.d.ts.map +1 -1
- package/dist/config-migrations.js +12 -0
- package/dist/config-migrations.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +14 -8
- package/dist/config.js.map +1 -1
- package/dist/daemon/constraints.js +12 -12
- package/dist/daemon/constraints.js.map +1 -1
- package/dist/daemon/{pulse.d.ts → daemon-engine.d.ts} +9 -12
- package/dist/daemon/daemon-engine.d.ts.map +1 -0
- package/dist/daemon/{pulse.js → daemon-engine.js} +19 -49
- package/dist/daemon/daemon-engine.js.map +1 -0
- package/dist/daemon/{pulse-state.d.ts → daemon-state.d.ts} +15 -15
- package/dist/daemon/daemon-state.d.ts.map +1 -0
- package/dist/daemon/{pulse-state.js → daemon-state.js} +14 -14
- package/dist/daemon/daemon-state.js.map +1 -0
- package/dist/daemon/ideation.d.ts +1 -1
- package/dist/daemon/ideation.js +1 -1
- package/dist/daemon/index.d.ts +2 -2
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +1 -1
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/scheduler.js +3 -3
- package/dist/daemon/scheduler.js.map +1 -1
- package/dist/index.js +45 -78
- package/dist/index.js.map +1 -1
- package/dist/init.js +3 -3
- package/dist/studio/assets/{_basePickBy-Br0vs_el.js → _basePickBy-C0C1UMqb.js} +1 -1
- package/dist/studio/assets/{_baseUniq-BzezThG0.js → _baseUniq-lLYar-5Y.js} +1 -1
- package/dist/studio/assets/{arc-O2gCa-3x.js → arc-B4B0Sc8l.js} +1 -1
- package/dist/studio/assets/{architectureDiagram-VXUJARFQ-CzrmPr2e.js → architectureDiagram-VXUJARFQ-UrceXxEH.js} +1 -1
- package/dist/studio/assets/{blockDiagram-VD42YOAC-mGFegdoi.js → blockDiagram-VD42YOAC-CvYK8VWA.js} +1 -1
- package/dist/studio/assets/{c4Diagram-YG6GDRKO-nc9ssZsj.js → c4Diagram-YG6GDRKO-_ckzdZuX.js} +1 -1
- package/dist/studio/assets/channel-DRNVimKP.js +1 -0
- package/dist/studio/assets/{chunk-4BX2VUAB-BVxk0H3S.js → chunk-4BX2VUAB-D1WHj5fM.js} +1 -1
- package/dist/studio/assets/{chunk-55IACEB6-C7jmtpU-.js → chunk-55IACEB6-BSHXVvS_.js} +1 -1
- package/dist/studio/assets/{chunk-B4BG7PRW-Cf4xiHkq.js → chunk-B4BG7PRW-DMnqWEap.js} +1 -1
- package/dist/studio/assets/{chunk-DI55MBZ5-Bav6n4xJ.js → chunk-DI55MBZ5-DRxXXjD7.js} +1 -1
- package/dist/studio/assets/{chunk-FMBD7UC4-LHyS5J0Z.js → chunk-FMBD7UC4-Dw-LAyOV.js} +1 -1
- package/dist/studio/assets/{chunk-QN33PNHL-CE3trdTs.js → chunk-QN33PNHL-BxwIhM7e.js} +1 -1
- package/dist/studio/assets/{chunk-QZHKN3VN-r4Wm4yq8.js → chunk-QZHKN3VN-BPcNLqG7.js} +1 -1
- package/dist/studio/assets/{chunk-TZMSLE5B-DzaASUcy.js → chunk-TZMSLE5B-DV6JBoyK.js} +1 -1
- package/dist/studio/assets/classDiagram-2ON5EDUG-uk4oDEHA.js +1 -0
- package/dist/studio/assets/classDiagram-v2-WZHVMYZB-uk4oDEHA.js +1 -0
- package/dist/studio/assets/clone-BVy51j3M.js +1 -0
- package/dist/studio/assets/{cose-bilkent-S5V4N54A-CwjOVdhO.js → cose-bilkent-S5V4N54A-sRKlNOYM.js} +1 -1
- package/dist/studio/assets/{dagre-6UL2VRFP-D9YMPAPo.js → dagre-6UL2VRFP-_B7iBqja.js} +1 -1
- package/dist/studio/assets/{diagram-PSM6KHXK-DCdoXh13.js → diagram-PSM6KHXK-B9huHO5_.js} +1 -1
- package/dist/studio/assets/{diagram-QEK2KX5R-vMDmyQKO.js → diagram-QEK2KX5R-Z1hdHclc.js} +1 -1
- package/dist/studio/assets/{diagram-S2PKOQOG-ZAu-8GlC.js → diagram-S2PKOQOG-HHCLRNNa.js} +1 -1
- package/dist/studio/assets/{erDiagram-Q2GNP2WA-3wUGmARQ.js → erDiagram-Q2GNP2WA-Hpuoow8L.js} +1 -1
- package/dist/studio/assets/{flowDiagram-NV44I4VS-Da6-uPJA.js → flowDiagram-NV44I4VS-C5l5sNY5.js} +1 -1
- package/dist/studio/assets/{ganttDiagram-JELNMOA3-C52M_vdC.js → ganttDiagram-JELNMOA3-BPt6zdfq.js} +1 -1
- package/dist/studio/assets/{gitGraphDiagram-V2S2FVAM-1X0kgHyi.js → gitGraphDiagram-V2S2FVAM-Bk-tICWY.js} +1 -1
- package/dist/studio/assets/{graph-D2b4x276.js → graph-WM8Y6m48.js} +1 -1
- package/dist/studio/assets/{index-Ba8EGMUw.js → index-ChqmS6oM.js} +2 -2
- package/dist/studio/assets/{infoDiagram-HS3SLOUP-BVEPIsmZ.js → infoDiagram-HS3SLOUP-CD8BFlwg.js} +1 -1
- package/dist/studio/assets/{journeyDiagram-XKPGCS4Q-MdZDdlO8.js → journeyDiagram-XKPGCS4Q-BFqCHFja.js} +1 -1
- package/dist/studio/assets/{kanban-definition-3W4ZIXB7-GzQqkSDd.js → kanban-definition-3W4ZIXB7-DjHo-B8G.js} +1 -1
- package/dist/studio/assets/{layout-CuKQtzzG.js → layout-DkBGam51.js} +1 -1
- package/dist/studio/assets/{linear-iZozKNGM.js → linear-D0MP_1im.js} +1 -1
- package/dist/studio/assets/{mermaid.core-UQR83fLD.js → mermaid.core-ja7cWubO.js} +4 -4
- package/dist/studio/assets/{mindmap-definition-VGOIOE7T-HpJNX0JD.js → mindmap-definition-VGOIOE7T-B37HFYZb.js} +1 -1
- package/dist/studio/assets/{pieDiagram-ADFJNKIX-DfWT_ts3.js → pieDiagram-ADFJNKIX-CJXN3q3o.js} +1 -1
- package/dist/studio/assets/{quadrantDiagram-AYHSOK5B-B7xkDq7K.js → quadrantDiagram-AYHSOK5B-CFxFeuML.js} +1 -1
- package/dist/studio/assets/{requirementDiagram-UZGBJVZJ-D_-wA9t9.js → requirementDiagram-UZGBJVZJ-CA0Fmoy_.js} +1 -1
- package/dist/studio/assets/{sankeyDiagram-TZEHDZUN-DOcdMGhf.js → sankeyDiagram-TZEHDZUN-B3CovvaL.js} +1 -1
- package/dist/studio/assets/{sequenceDiagram-WL72ISMW-BxVlUBNC.js → sequenceDiagram-WL72ISMW-CuGMCJnC.js} +1 -1
- package/dist/studio/assets/{stateDiagram-FKZM4ZOC-R7eEizQf.js → stateDiagram-FKZM4ZOC-hhl-S44t.js} +1 -1
- package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-HlW_YpPI.js +1 -0
- package/dist/studio/assets/{timeline-definition-IT6M3QCI-CQ808seS.js → timeline-definition-IT6M3QCI-CRoP1Wio.js} +1 -1
- package/dist/studio/assets/{treemap-GDKQZRPO-gmRgTIkl.js → treemap-GDKQZRPO-C7_RGSEw.js} +1 -1
- package/dist/studio/assets/{xychartDiagram-PRI3JC2R-Dq0kZ3mY.js → xychartDiagram-PRI3JC2R-BQM7ZyVn.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/templates/templates/config.yaml +2 -2
- package/package.json +2 -1
- package/.claude/agents/pulsar.md +0 -212
- package/.claude/skills/pulse/SKILL.md +0 -84
- package/dist/daemon/pulse-state.d.ts.map +0 -1
- package/dist/daemon/pulse-state.js.map +0 -1
- package/dist/daemon/pulse.d.ts.map +0 -1
- package/dist/daemon/pulse.js.map +0 -1
- package/dist/studio/assets/channel-DZh5SVGC.js +0 -1
- package/dist/studio/assets/classDiagram-2ON5EDUG-CZxDfL9b.js +0 -1
- package/dist/studio/assets/classDiagram-v2-WZHVMYZB-CZxDfL9b.js +0 -1
- package/dist/studio/assets/clone-C14-yz5g.js +0 -1
- package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-XQSHZv8g.js +0 -1
- package/global/agents/global-pulsar.md +0 -107
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var xh=Object.defineProperty;var Dh=(t,e,n)=>e in t?xh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ln=(t,e,n)=>Dh(t,typeof e!="symbol"?e+"":e,n);import{a as Mh,_ as An}from"./index-Ba8EGMUw.js";import{bA as Fh,bB as Gh,aP as _d,bk as Uh,aT as qh,aQ as je,ar as jh,as as _l,ba as zh,bd as Id,be as Pd,bb as Bh,bp as Il,au as Xn,av as ae,aR as Wh,aL as Vh}from"./mermaid.core-UQR83fLD.js";import{k as jr,j as nl,g as Yr,S as Kh,w as Hh,x as Yh,c as $d,v as $e,y as Ld,l as Xh,z as Jh,A as Qh,B as Zh,C as ep,a as Od,d as q,i as tn,r as Je,f as ht,D as Fe}from"./_baseUniq-BzezThG0.js";import{j as rl,m as M,d as tp,f as yt,g as zr,h as z,i as il,l as zn,e as np}from"./_basePickBy-Br0vs_el.js";import{c as Be}from"./clone-C14-yz5g.js";var rp=Object.prototype,ip=rp.hasOwnProperty,ft=Fh(function(t,e){if(Gh(e)||_d(e)){Uh(e,jr(e),t);return}for(var n in e)ip.call(e,n)&&qh(t,n,e[n])});function xd(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function rs(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function sp(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function ap(t,e,n,r){return nl(t,function(i,s,a){e(r,i,n(i),a)}),r}function op(t,e){return function(n,r){var i=je(n)?sp:ap,s=e?e():{};return i(n,t,Yr(r),s)}}var cp=200;function lp(t,e,n,r){var i=-1,s=Hh,a=!0,o=t.length,c=[],l=e.length;if(!o)return c;e.length>=cp&&(s=Yh,a=!1,e=new Kh(e));e:for(;++i<o;){var u=t[i],f=u;if(u=u!==0?u:0,a&&f===f){for(var g=l;g--;)if(e[g]===f)continue e;c.push(u)}else s(e,f,r)||c.push(u)}return c}var Ia=jh(function(t,e){return _l(t)?lp(t,$d(e,1,_l,!0)):[]});function Ge(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),xd(t,e<0?0:e,r)):[]}function Bi(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),e=r-e,xd(t,0,e<0?0:e)):[]}function up(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function dp(t,e){var n=!0;return nl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Ct(t,e,n){var r=je(t)?up:dp;return r(t,Yr(e))}function wt(t){return t&&t.length?t[0]:void 0}function dt(t,e){return $d(M(t,e))}var fp=Object.prototype,hp=fp.hasOwnProperty,pp=op(function(t,e,n){hp.call(t,n)?t[n].push(e):zh(t,n,[e])}),mp="[object String]";function nt(t){return typeof t=="string"||!je(t)&&Id(t)&&Pd(t)==mp}var gp=Math.max;function et(t,e,n,r){t=_d(t)?t:$e(t),n=n?rl(n):0;var i=t.length;return n<0&&(n=gp(i+n,0)),nt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Ld(t,e,n)>-1}function Pl(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Ld(t,e,i)}var yp="[object RegExp]";function Tp(t){return Id(t)&&Pd(t)==yp}var $l=Il&&Il.isRegExp,nn=$l?Bh($l):Tp,Rp="Expected a function";function vp(t){if(typeof t!="function")throw new TypeError(Rp);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Nt(t,e){if(t==null)return{};var n=Xh(Jh(t),function(r){return[r]});return e=Yr(e),tp(t,n,function(r,i){return e(r,i[0])})}function Pa(t,e){var n=je(t)?Qh:Zh;return n(t,vp(Yr(e)))}function Ep(t,e){var n;return nl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Dd(t,e,n){var r=je(t)?ep:Ep;return r(t,Yr(e))}function sl(t){return t&&t.length?Od(t):[]}function Ap(t,e){return t&&t.length?Od(t,Yr(e)):[]}function We(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function dn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Sp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function hi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Md{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=(i=n.properties[e.property])==null?void 0:i.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return We(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Wi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Fd(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Gd(t){return Wi(t)&&typeof t.fullText=="string"}class Ue{constructor(e,n){this.startFn=e,this.nextFn=n}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 n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Ue(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return lt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=Cp(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?lt:{done:!1,value:e(i)}})}filter(e){return new Ue(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return lt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new Ue(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(oa(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return lt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ue(()=>({this:n.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}=n.nextFn(r.this);if(!i)if(oa(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return lt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ue(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new Ue(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?lt:this.nextFn(n.state)))}distinct(e){return new Ue(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return lt})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function Cp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function oa(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Ud=new Ue(()=>{},()=>lt),lt=Object.freeze({done:!0,value:void 0});function ge(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(oa(e))return new Ue(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ue(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:lt)}return t.length>1?new Ue(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;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<t.length){const n=t[e.collIndex++];oa(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return lt}):Ud}class al extends Ue{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(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(n(a.value)[Symbol.iterator]()),a}return lt})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ro;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Ro||(Ro={}));function vo(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{We(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&vo(i,e))}):We(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&vo(r,e)))}function $a(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Vs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Vs(t){for(;t.$container;)t=t.$container;return t}function Ll(t){return St(t)?t.ref?[t.ref]:[]:dn(t)?t.items.map(e=>e.ref):[]}function ol(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(We(s)){if(r.keyIndex++,Ol(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(We(o)&&Ol(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return lt})}function is(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e),{includeRoot:!0})}function Ol(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?Kp(n,e):!1}function ca(t){return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(St(r)||dn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(St(s)||dn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return lt})}function kp(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=qd(i.defaultValue))}function qd(t){return Array.isArray(t)?[...t.map(qd)]:t}const ct={$type:"AbstractElement",cardinality:"cardinality"};function wp(t){return ee.isInstance(t,ct.$type)}const Ks={$type:"AbstractParserRule"};function ss(t){return ee.isInstance(t,Ks.$type)}const Ps={$type:"AbstractRule"},Et={$type:"AbstractType"},xn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function La(t){return ee.isInstance(t,xn.$type)}const Hs={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function jd(t){return ee.isInstance(t,Hs.$type)}const xl={$type:"ArrayLiteral",elements:"elements"},Dl={$type:"ArrayType",elementType:"elementType"},Dn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return ee.isInstance(t,Dn.$type)}const Eo={$type:"BooleanLiteral",true:"true"};function Np(t){return ee.isInstance(t,Eo.$type)}const Mn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function bp(t){return ee.isInstance(t,Mn.$type)}const rr={$type:"Condition"},Ys={$type:"Conjunction",left:"left",right:"right"};function _p(t){return ee.isInstance(t,Ys.$type)}const Fn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Oa(t){return ee.isInstance(t,Fn.$type)}const Xs={$type:"Disjunction",left:"left",right:"right"};function Ip(t){return ee.isInstance(t,Xs.$type)}const Ao={$type:"EndOfFile",cardinality:"cardinality"};function Pp(t){return ee.isInstance(t,Ao.$type)}const Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Ml={$type:"GrammarImport",path:"path"},lr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function cl(t){return ee.isInstance(t,lr.$type)}const So={$type:"InferredType",name:"name"};function zd(t){return ee.isInstance(t,So.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function la(t){return ee.isInstance(t,Vt.$type)}const Ha={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Fl={$type:"InfixRuleOperators",precedences:"precedences"},Oi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function $p(t){return ee.isInstance(t,Oi.$type)}const xi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Wn(t){return ee.isInstance(t,xi.$type)}const $s={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},ur={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Lp(t){return ee.isInstance(t,ur.$type)}const Co={$type:"Negation",value:"value"};function Op(t){return ee.isInstance(t,Co.$type)}const Gl={$type:"NumberLiteral",value:"value"},Ls={$type:"Parameter",name:"name"},ko={$type:"ParameterReference",parameter:"parameter"};function xp(t){return ee.isInstance(t,ko.$type)}const Pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function sn(t){return ee.isInstance(t,Pt.$type)}const Ya={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},dr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Dp(t){return ee.isInstance(t,dr.$type)}const wo={$type:"ReturnType",name:"name"};function Mp(t){return ee.isInstance(t,wo.$type)}const fr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Vn(t){return ee.isInstance(t,fr.$type)}const Di={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Fp(t){return ee.isInstance(t,Di.$type)}const Ul={$type:"StringLiteral",value:"value"},hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Gp(t){return ee.isInstance(t,hr.$type)}const gt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},pr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Up(t){return ee.isInstance(t,pr.$type)}const un={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function an(t){return ee.isInstance(t,un.$type)}const mr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function qp(t){return ee.isInstance(t,mr.$type)}const Js={$type:"Type",name:"name",type:"type"};function jp(t){return ee.isInstance(t,Js.$type)}const pi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},mi={$type:"TypeDefinition"},ql={$type:"UnionType",types:"types"},Qs={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Bd(t){return ee.isInstance(t,Qs.$type)}const gr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function zp(t){return ee.isInstance(t,gr.$type)}const gi={$type:"ValueLiteral"},Mi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Bp(t){return ee.isInstance(t,Mi.$type)}class Wd extends Md{constructor(){super(...arguments),this.types={AbstractElement:{name:ct.$type,properties:{cardinality:{name:ct.cardinality}},superTypes:[]},AbstractParserRule:{name:Ks.$type,properties:{},superTypes:[Ps.$type,Et.$type]},AbstractRule:{name:Ps.$type,properties:{},superTypes:[]},AbstractType:{name:Et.$type,properties:{},superTypes:[]},Action:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},inferredType:{name:xn.inferredType},operator:{name:xn.operator},type:{name:xn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Alternatives:{name:Hs.$type,properties:{cardinality:{name:Hs.cardinality},elements:{name:Hs.elements,defaultValue:[]}},superTypes:[ct.$type]},ArrayLiteral:{name:xl.$type,properties:{elements:{name:xl.elements,defaultValue:[]}},superTypes:[gi.$type]},ArrayType:{name:Dl.$type,properties:{elementType:{name:Dl.elementType}},superTypes:[mi.$type]},Assignment:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},feature:{name:Dn.feature},operator:{name:Dn.operator},predicate:{name:Dn.predicate},terminal:{name:Dn.terminal}},superTypes:[ct.$type]},BooleanLiteral:{name:Eo.$type,properties:{true:{name:Eo.true,defaultValue:!1}},superTypes:[rr.$type,gi.$type]},CharacterRange:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},left:{name:Mn.left},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},right:{name:Mn.right}},superTypes:[gt.$type]},Condition:{name:rr.$type,properties:{},superTypes:[]},Conjunction:{name:Ys.$type,properties:{left:{name:Ys.left},right:{name:Ys.right}},superTypes:[rr.$type]},CrossReference:{name:Fn.$type,properties:{cardinality:{name:Fn.cardinality},deprecatedSyntax:{name:Fn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fn.isMulti,defaultValue:!1},terminal:{name:Fn.terminal},type:{name:Fn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Disjunction:{name:Xs.$type,properties:{left:{name:Xs.left},right:{name:Xs.right}},superTypes:[rr.$type]},EndOfFile:{name:Ao.$type,properties:{cardinality:{name:Ao.cardinality}},superTypes:[ct.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Ml.$type,properties:{path:{name:Ml.path}},superTypes:[]},Group:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},elements:{name:lr.elements,defaultValue:[]},guardCondition:{name:lr.guardCondition},predicate:{name:lr.predicate}},superTypes:[ct.$type]},InferredType:{name:So.$type,properties:{name:{name:So.name}},superTypes:[Et.$type]},InfixRule:{name:Vt.$type,properties:{call:{name:Vt.call},dataType:{name:Vt.dataType},inferredType:{name:Vt.inferredType},name:{name:Vt.name},operators:{name:Vt.operators},parameters:{name:Vt.parameters,defaultValue:[]},returnType:{name:Vt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},InfixRuleOperatorList:{name:Ha.$type,properties:{associativity:{name:Ha.associativity},operators:{name:Ha.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Fl.$type,properties:{precedences:{name:Fl.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Oi.$type,properties:{attributes:{name:Oi.attributes,defaultValue:[]},name:{name:Oi.name},superTypes:{name:Oi.superTypes,defaultValue:[],referenceType:Et.$type}},superTypes:[Et.$type]},Keyword:{name:xi.$type,properties:{cardinality:{name:xi.cardinality},predicate:{name:xi.predicate},value:{name:xi.value}},superTypes:[ct.$type]},NamedArgument:{name:$s.$type,properties:{calledByName:{name:$s.calledByName,defaultValue:!1},parameter:{name:$s.parameter,referenceType:Ls.$type},value:{name:$s.value}},superTypes:[]},NegatedToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},terminal:{name:ur.terminal}},superTypes:[gt.$type]},Negation:{name:Co.$type,properties:{value:{name:Co.value}},superTypes:[rr.$type]},NumberLiteral:{name:Gl.$type,properties:{value:{name:Gl.value}},superTypes:[gi.$type]},Parameter:{name:Ls.$type,properties:{name:{name:Ls.name}},superTypes:[]},ParameterReference:{name:ko.$type,properties:{parameter:{name:ko.parameter,referenceType:Ls.$type}},superTypes:[rr.$type]},ParserRule:{name:Pt.$type,properties:{dataType:{name:Pt.dataType},definition:{name:Pt.definition},entry:{name:Pt.entry,defaultValue:!1},fragment:{name:Pt.fragment,defaultValue:!1},inferredType:{name:Pt.inferredType},name:{name:Pt.name},parameters:{name:Pt.parameters,defaultValue:[]},returnType:{name:Pt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},ReferenceType:{name:Ya.$type,properties:{isMulti:{name:Ya.isMulti,defaultValue:!1},referenceType:{name:Ya.referenceType}},superTypes:[mi.$type]},RegexToken:{name:dr.$type,properties:{cardinality:{name:dr.cardinality},lookahead:{name:dr.lookahead},parenthesized:{name:dr.parenthesized,defaultValue:!1},regex:{name:dr.regex}},superTypes:[gt.$type]},ReturnType:{name:wo.$type,properties:{name:{name:wo.name}},superTypes:[]},RuleCall:{name:fr.$type,properties:{arguments:{name:fr.arguments,defaultValue:[]},cardinality:{name:fr.cardinality},predicate:{name:fr.predicate},rule:{name:fr.rule,referenceType:Ps.$type}},superTypes:[ct.$type]},SimpleType:{name:Di.$type,properties:{primitiveType:{name:Di.primitiveType},stringType:{name:Di.stringType},typeRef:{name:Di.typeRef,referenceType:Et.$type}},superTypes:[mi.$type]},StringLiteral:{name:Ul.$type,properties:{value:{name:Ul.value}},superTypes:[gi.$type]},TerminalAlternatives:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},elements:{name:hr.elements,defaultValue:[]},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalElement:{name:gt.$type,properties:{cardinality:{name:gt.cardinality},lookahead:{name:gt.lookahead},parenthesized:{name:gt.parenthesized,defaultValue:!1}},superTypes:[ct.$type]},TerminalGroup:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},elements:{name:pr.elements,defaultValue:[]},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalRule:{name:un.$type,properties:{definition:{name:un.definition},fragment:{name:un.fragment,defaultValue:!1},hidden:{name:un.hidden,defaultValue:!1},name:{name:un.name},type:{name:un.type}},superTypes:[Ps.$type]},TerminalRuleCall:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},rule:{name:mr.rule,referenceType:un.$type}},superTypes:[gt.$type]},Type:{name:Js.$type,properties:{name:{name:Js.name},type:{name:Js.type}},superTypes:[Et.$type]},TypeAttribute:{name:pi.$type,properties:{defaultValue:{name:pi.defaultValue},isOptional:{name:pi.isOptional,defaultValue:!1},name:{name:pi.name},type:{name:pi.type}},superTypes:[]},TypeDefinition:{name:mi.$type,properties:{},superTypes:[]},UnionType:{name:ql.$type,properties:{types:{name:ql.types,defaultValue:[]}},superTypes:[mi.$type]},UnorderedGroup:{name:Qs.$type,properties:{cardinality:{name:Qs.cardinality},elements:{name:Qs.elements,defaultValue:[]}},superTypes:[ct.$type]},UntilToken:{name:gr.$type,properties:{cardinality:{name:gr.cardinality},lookahead:{name:gr.lookahead},parenthesized:{name:gr.parenthesized,defaultValue:!1},terminal:{name:gr.terminal}},superTypes:[gt.$type]},ValueLiteral:{name:gi.$type,properties:{},superTypes:[]},Wildcard:{name:Mi.$type,properties:{cardinality:{name:Mi.cardinality},lookahead:{name:Mi.lookahead},parenthesized:{name:Mi.parenthesized,defaultValue:!1}},superTypes:[gt.$type]}}}}const ee=new Wd;function No(t){return new al(t,e=>Wi(e)?e.content:[],{includeRoot:!0})}function Wp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ua(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var Xt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Xt||(Xt={}));function Vp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Xt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Xt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?Xt.Inside:n?Xt.OverlapBack:r?Xt.OverlapFront:Xt.Outside}function Kp(t,e){return Vp(t,e)>Xt.After}const Hp=/^[\w\p{L}]$/u;function Yp(t,e){if(t){const n=Xp(t,!0);if(n&&jl(n,e))return n;if(Gd(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(jl(s,e))return s}}}}function jl(t,e){return Fd(t)&&e.includes(t.tokenType.name)}function Xp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Vd extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function as(t,e="Error: Got unexpected value."){throw new Error(e)}function W(t){return t.charCodeAt(0)}function Xa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function yi(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function ir(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Jp(){throw Error("Internal Error - Should never get here!")}function zl(t){return t.type==="Character"}const da=[];for(let t=W("0");t<=W("9");t++)da.push(t);const fa=[W("_")].concat(da);for(let t=W("a");t<=W("z");t++)fa.push(t);for(let t=W("A");t<=W("Z");t++)fa.push(t);const Bl=[W(" "),W("\f"),W(`
|
|
1
|
+
var xh=Object.defineProperty;var Dh=(t,e,n)=>e in t?xh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ln=(t,e,n)=>Dh(t,typeof e!="symbol"?e+"":e,n);import{a as Mh,_ as An}from"./index-ChqmS6oM.js";import{bA as Fh,bB as Gh,aP as _d,bk as Uh,aT as qh,aQ as je,ar as jh,as as _l,ba as zh,bd as Id,be as Pd,bb as Bh,bp as Il,au as Xn,av as ae,aR as Wh,aL as Vh}from"./mermaid.core-ja7cWubO.js";import{k as jr,j as nl,g as Yr,S as Kh,w as Hh,x as Yh,c as $d,v as $e,y as Ld,l as Xh,z as Jh,A as Qh,B as Zh,C as ep,a as Od,d as q,i as tn,r as Je,f as ht,D as Fe}from"./_baseUniq-lLYar-5Y.js";import{j as rl,m as M,d as tp,f as yt,g as zr,h as z,i as il,l as zn,e as np}from"./_basePickBy-C0C1UMqb.js";import{c as Be}from"./clone-BVy51j3M.js";var rp=Object.prototype,ip=rp.hasOwnProperty,ft=Fh(function(t,e){if(Gh(e)||_d(e)){Uh(e,jr(e),t);return}for(var n in e)ip.call(e,n)&&qh(t,n,e[n])});function xd(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function rs(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function sp(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function ap(t,e,n,r){return nl(t,function(i,s,a){e(r,i,n(i),a)}),r}function op(t,e){return function(n,r){var i=je(n)?sp:ap,s=e?e():{};return i(n,t,Yr(r),s)}}var cp=200;function lp(t,e,n,r){var i=-1,s=Hh,a=!0,o=t.length,c=[],l=e.length;if(!o)return c;e.length>=cp&&(s=Yh,a=!1,e=new Kh(e));e:for(;++i<o;){var u=t[i],f=u;if(u=u!==0?u:0,a&&f===f){for(var g=l;g--;)if(e[g]===f)continue e;c.push(u)}else s(e,f,r)||c.push(u)}return c}var Ia=jh(function(t,e){return _l(t)?lp(t,$d(e,1,_l,!0)):[]});function Ge(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),xd(t,e<0?0:e,r)):[]}function Bi(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),e=r-e,xd(t,0,e<0?0:e)):[]}function up(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function dp(t,e){var n=!0;return nl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Ct(t,e,n){var r=je(t)?up:dp;return r(t,Yr(e))}function wt(t){return t&&t.length?t[0]:void 0}function dt(t,e){return $d(M(t,e))}var fp=Object.prototype,hp=fp.hasOwnProperty,pp=op(function(t,e,n){hp.call(t,n)?t[n].push(e):zh(t,n,[e])}),mp="[object String]";function nt(t){return typeof t=="string"||!je(t)&&Id(t)&&Pd(t)==mp}var gp=Math.max;function et(t,e,n,r){t=_d(t)?t:$e(t),n=n?rl(n):0;var i=t.length;return n<0&&(n=gp(i+n,0)),nt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Ld(t,e,n)>-1}function Pl(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return Ld(t,e,i)}var yp="[object RegExp]";function Tp(t){return Id(t)&&Pd(t)==yp}var $l=Il&&Il.isRegExp,nn=$l?Bh($l):Tp,Rp="Expected a function";function vp(t){if(typeof t!="function")throw new TypeError(Rp);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Nt(t,e){if(t==null)return{};var n=Xh(Jh(t),function(r){return[r]});return e=Yr(e),tp(t,n,function(r,i){return e(r,i[0])})}function Pa(t,e){var n=je(t)?Qh:Zh;return n(t,vp(Yr(e)))}function Ep(t,e){var n;return nl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Dd(t,e,n){var r=je(t)?ep:Ep;return r(t,Yr(e))}function sl(t){return t&&t.length?Od(t):[]}function Ap(t,e){return t&&t.length?Od(t,Yr(e)):[]}function We(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function dn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Sp(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function hi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class Md{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=(i=n.properties[e.property])==null?void 0:i.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return We(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Wi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Fd(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Gd(t){return Wi(t)&&typeof t.fullText=="string"}class Ue{constructor(e,n){this.startFn=e,this.nextFn=n}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 n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Ue(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return lt})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=Cp(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?lt:{done:!1,value:e(i)}})}filter(e){return new Ue(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return lt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new Ue(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(oa(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return lt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ue(()=>({this:n.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}=n.nextFn(r.this);if(!i)if(oa(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return lt})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ue(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new Ue(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?lt:this.nextFn(n.state)))}distinct(e){return new Ue(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return lt})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function Cp(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function oa(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Ud=new Ue(()=>{},()=>lt),lt=Object.freeze({done:!0,value:void 0});function ge(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(oa(e))return new Ue(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ue(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:lt)}return t.length>1?new Ue(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;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<t.length){const n=t[e.collIndex++];oa(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return lt}):Ud}class al extends Ue{constructor(e,n,r){super(()=>({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[n(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(n(a.value)[Symbol.iterator]()),a}return lt})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Ro;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(Ro||(Ro={}));function vo(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{We(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&vo(i,e))}):We(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&vo(r,e)))}function $a(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Vs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Vs(t){for(;t.$container;)t=t.$container;return t}function Ll(t){return St(t)?t.ref?[t.ref]:[]:dn(t)?t.items.map(e=>e.ref):[]}function ol(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e==null?void 0:e.range;return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(We(s)){if(r.keyIndex++,Ol(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(We(o)&&Ol(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return lt})}function is(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e),{includeRoot:!0})}function Ol(t,e){var r;if(!e)return!0;const n=(r=t.$cstNode)==null?void 0:r.range;return n?Kp(n,e):!1}function ca(t){return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(St(r)||dn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(St(s)||dn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return lt})}function kp(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=qd(i.defaultValue))}function qd(t){return Array.isArray(t)?[...t.map(qd)]:t}const ct={$type:"AbstractElement",cardinality:"cardinality"};function wp(t){return ee.isInstance(t,ct.$type)}const Ks={$type:"AbstractParserRule"};function ss(t){return ee.isInstance(t,Ks.$type)}const Ps={$type:"AbstractRule"},Et={$type:"AbstractType"},xn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function La(t){return ee.isInstance(t,xn.$type)}const Hs={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function jd(t){return ee.isInstance(t,Hs.$type)}const xl={$type:"ArrayLiteral",elements:"elements"},Dl={$type:"ArrayType",elementType:"elementType"},Dn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Bn(t){return ee.isInstance(t,Dn.$type)}const Eo={$type:"BooleanLiteral",true:"true"};function Np(t){return ee.isInstance(t,Eo.$type)}const Mn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function bp(t){return ee.isInstance(t,Mn.$type)}const rr={$type:"Condition"},Ys={$type:"Conjunction",left:"left",right:"right"};function _p(t){return ee.isInstance(t,Ys.$type)}const Fn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Oa(t){return ee.isInstance(t,Fn.$type)}const Xs={$type:"Disjunction",left:"left",right:"right"};function Ip(t){return ee.isInstance(t,Xs.$type)}const Ao={$type:"EndOfFile",cardinality:"cardinality"};function Pp(t){return ee.isInstance(t,Ao.$type)}const Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Ml={$type:"GrammarImport",path:"path"},lr={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function cl(t){return ee.isInstance(t,lr.$type)}const So={$type:"InferredType",name:"name"};function zd(t){return ee.isInstance(t,So.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function la(t){return ee.isInstance(t,Vt.$type)}const Ha={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Fl={$type:"InfixRuleOperators",precedences:"precedences"},Oi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function $p(t){return ee.isInstance(t,Oi.$type)}const xi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Wn(t){return ee.isInstance(t,xi.$type)}const $s={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},ur={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Lp(t){return ee.isInstance(t,ur.$type)}const Co={$type:"Negation",value:"value"};function Op(t){return ee.isInstance(t,Co.$type)}const Gl={$type:"NumberLiteral",value:"value"},Ls={$type:"Parameter",name:"name"},ko={$type:"ParameterReference",parameter:"parameter"};function xp(t){return ee.isInstance(t,ko.$type)}const Pt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function sn(t){return ee.isInstance(t,Pt.$type)}const Ya={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},dr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Dp(t){return ee.isInstance(t,dr.$type)}const wo={$type:"ReturnType",name:"name"};function Mp(t){return ee.isInstance(t,wo.$type)}const fr={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Vn(t){return ee.isInstance(t,fr.$type)}const Di={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Fp(t){return ee.isInstance(t,Di.$type)}const Ul={$type:"StringLiteral",value:"value"},hr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Gp(t){return ee.isInstance(t,hr.$type)}const gt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},pr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Up(t){return ee.isInstance(t,pr.$type)}const un={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function an(t){return ee.isInstance(t,un.$type)}const mr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function qp(t){return ee.isInstance(t,mr.$type)}const Js={$type:"Type",name:"name",type:"type"};function jp(t){return ee.isInstance(t,Js.$type)}const pi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},mi={$type:"TypeDefinition"},ql={$type:"UnionType",types:"types"},Qs={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Bd(t){return ee.isInstance(t,Qs.$type)}const gr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function zp(t){return ee.isInstance(t,gr.$type)}const gi={$type:"ValueLiteral"},Mi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Bp(t){return ee.isInstance(t,Mi.$type)}class Wd extends Md{constructor(){super(...arguments),this.types={AbstractElement:{name:ct.$type,properties:{cardinality:{name:ct.cardinality}},superTypes:[]},AbstractParserRule:{name:Ks.$type,properties:{},superTypes:[Ps.$type,Et.$type]},AbstractRule:{name:Ps.$type,properties:{},superTypes:[]},AbstractType:{name:Et.$type,properties:{},superTypes:[]},Action:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},feature:{name:xn.feature},inferredType:{name:xn.inferredType},operator:{name:xn.operator},type:{name:xn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Alternatives:{name:Hs.$type,properties:{cardinality:{name:Hs.cardinality},elements:{name:Hs.elements,defaultValue:[]}},superTypes:[ct.$type]},ArrayLiteral:{name:xl.$type,properties:{elements:{name:xl.elements,defaultValue:[]}},superTypes:[gi.$type]},ArrayType:{name:Dl.$type,properties:{elementType:{name:Dl.elementType}},superTypes:[mi.$type]},Assignment:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},feature:{name:Dn.feature},operator:{name:Dn.operator},predicate:{name:Dn.predicate},terminal:{name:Dn.terminal}},superTypes:[ct.$type]},BooleanLiteral:{name:Eo.$type,properties:{true:{name:Eo.true,defaultValue:!1}},superTypes:[rr.$type,gi.$type]},CharacterRange:{name:Mn.$type,properties:{cardinality:{name:Mn.cardinality},left:{name:Mn.left},lookahead:{name:Mn.lookahead},parenthesized:{name:Mn.parenthesized,defaultValue:!1},right:{name:Mn.right}},superTypes:[gt.$type]},Condition:{name:rr.$type,properties:{},superTypes:[]},Conjunction:{name:Ys.$type,properties:{left:{name:Ys.left},right:{name:Ys.right}},superTypes:[rr.$type]},CrossReference:{name:Fn.$type,properties:{cardinality:{name:Fn.cardinality},deprecatedSyntax:{name:Fn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fn.isMulti,defaultValue:!1},terminal:{name:Fn.terminal},type:{name:Fn.type,referenceType:Et.$type}},superTypes:[ct.$type]},Disjunction:{name:Xs.$type,properties:{left:{name:Xs.left},right:{name:Xs.right}},superTypes:[rr.$type]},EndOfFile:{name:Ao.$type,properties:{cardinality:{name:Ao.cardinality}},superTypes:[ct.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Ml.$type,properties:{path:{name:Ml.path}},superTypes:[]},Group:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},elements:{name:lr.elements,defaultValue:[]},guardCondition:{name:lr.guardCondition},predicate:{name:lr.predicate}},superTypes:[ct.$type]},InferredType:{name:So.$type,properties:{name:{name:So.name}},superTypes:[Et.$type]},InfixRule:{name:Vt.$type,properties:{call:{name:Vt.call},dataType:{name:Vt.dataType},inferredType:{name:Vt.inferredType},name:{name:Vt.name},operators:{name:Vt.operators},parameters:{name:Vt.parameters,defaultValue:[]},returnType:{name:Vt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},InfixRuleOperatorList:{name:Ha.$type,properties:{associativity:{name:Ha.associativity},operators:{name:Ha.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Fl.$type,properties:{precedences:{name:Fl.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Oi.$type,properties:{attributes:{name:Oi.attributes,defaultValue:[]},name:{name:Oi.name},superTypes:{name:Oi.superTypes,defaultValue:[],referenceType:Et.$type}},superTypes:[Et.$type]},Keyword:{name:xi.$type,properties:{cardinality:{name:xi.cardinality},predicate:{name:xi.predicate},value:{name:xi.value}},superTypes:[ct.$type]},NamedArgument:{name:$s.$type,properties:{calledByName:{name:$s.calledByName,defaultValue:!1},parameter:{name:$s.parameter,referenceType:Ls.$type},value:{name:$s.value}},superTypes:[]},NegatedToken:{name:ur.$type,properties:{cardinality:{name:ur.cardinality},lookahead:{name:ur.lookahead},parenthesized:{name:ur.parenthesized,defaultValue:!1},terminal:{name:ur.terminal}},superTypes:[gt.$type]},Negation:{name:Co.$type,properties:{value:{name:Co.value}},superTypes:[rr.$type]},NumberLiteral:{name:Gl.$type,properties:{value:{name:Gl.value}},superTypes:[gi.$type]},Parameter:{name:Ls.$type,properties:{name:{name:Ls.name}},superTypes:[]},ParameterReference:{name:ko.$type,properties:{parameter:{name:ko.parameter,referenceType:Ls.$type}},superTypes:[rr.$type]},ParserRule:{name:Pt.$type,properties:{dataType:{name:Pt.dataType},definition:{name:Pt.definition},entry:{name:Pt.entry,defaultValue:!1},fragment:{name:Pt.fragment,defaultValue:!1},inferredType:{name:Pt.inferredType},name:{name:Pt.name},parameters:{name:Pt.parameters,defaultValue:[]},returnType:{name:Pt.returnType,referenceType:Et.$type}},superTypes:[Ks.$type]},ReferenceType:{name:Ya.$type,properties:{isMulti:{name:Ya.isMulti,defaultValue:!1},referenceType:{name:Ya.referenceType}},superTypes:[mi.$type]},RegexToken:{name:dr.$type,properties:{cardinality:{name:dr.cardinality},lookahead:{name:dr.lookahead},parenthesized:{name:dr.parenthesized,defaultValue:!1},regex:{name:dr.regex}},superTypes:[gt.$type]},ReturnType:{name:wo.$type,properties:{name:{name:wo.name}},superTypes:[]},RuleCall:{name:fr.$type,properties:{arguments:{name:fr.arguments,defaultValue:[]},cardinality:{name:fr.cardinality},predicate:{name:fr.predicate},rule:{name:fr.rule,referenceType:Ps.$type}},superTypes:[ct.$type]},SimpleType:{name:Di.$type,properties:{primitiveType:{name:Di.primitiveType},stringType:{name:Di.stringType},typeRef:{name:Di.typeRef,referenceType:Et.$type}},superTypes:[mi.$type]},StringLiteral:{name:Ul.$type,properties:{value:{name:Ul.value}},superTypes:[gi.$type]},TerminalAlternatives:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},elements:{name:hr.elements,defaultValue:[]},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalElement:{name:gt.$type,properties:{cardinality:{name:gt.cardinality},lookahead:{name:gt.lookahead},parenthesized:{name:gt.parenthesized,defaultValue:!1}},superTypes:[ct.$type]},TerminalGroup:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},elements:{name:pr.elements,defaultValue:[]},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1}},superTypes:[gt.$type]},TerminalRule:{name:un.$type,properties:{definition:{name:un.definition},fragment:{name:un.fragment,defaultValue:!1},hidden:{name:un.hidden,defaultValue:!1},name:{name:un.name},type:{name:un.type}},superTypes:[Ps.$type]},TerminalRuleCall:{name:mr.$type,properties:{cardinality:{name:mr.cardinality},lookahead:{name:mr.lookahead},parenthesized:{name:mr.parenthesized,defaultValue:!1},rule:{name:mr.rule,referenceType:un.$type}},superTypes:[gt.$type]},Type:{name:Js.$type,properties:{name:{name:Js.name},type:{name:Js.type}},superTypes:[Et.$type]},TypeAttribute:{name:pi.$type,properties:{defaultValue:{name:pi.defaultValue},isOptional:{name:pi.isOptional,defaultValue:!1},name:{name:pi.name},type:{name:pi.type}},superTypes:[]},TypeDefinition:{name:mi.$type,properties:{},superTypes:[]},UnionType:{name:ql.$type,properties:{types:{name:ql.types,defaultValue:[]}},superTypes:[mi.$type]},UnorderedGroup:{name:Qs.$type,properties:{cardinality:{name:Qs.cardinality},elements:{name:Qs.elements,defaultValue:[]}},superTypes:[ct.$type]},UntilToken:{name:gr.$type,properties:{cardinality:{name:gr.cardinality},lookahead:{name:gr.lookahead},parenthesized:{name:gr.parenthesized,defaultValue:!1},terminal:{name:gr.terminal}},superTypes:[gt.$type]},ValueLiteral:{name:gi.$type,properties:{},superTypes:[]},Wildcard:{name:Mi.$type,properties:{cardinality:{name:Mi.cardinality},lookahead:{name:Mi.lookahead},parenthesized:{name:Mi.parenthesized,defaultValue:!1}},superTypes:[gt.$type]}}}}const ee=new Wd;function No(t){return new al(t,e=>Wi(e)?e.content:[],{includeRoot:!0})}function Wp(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bo(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ua(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var Xt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Xt||(Xt={}));function Vp(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Xt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Xt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?Xt.Inside:n?Xt.OverlapBack:r?Xt.OverlapFront:Xt.Outside}function Kp(t,e){return Vp(t,e)>Xt.After}const Hp=/^[\w\p{L}]$/u;function Yp(t,e){if(t){const n=Xp(t,!0);if(n&&jl(n,e))return n;if(Gd(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(jl(s,e))return s}}}}function jl(t,e){return Fd(t)&&e.includes(t.tokenType.name)}function Xp(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class Vd extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function as(t,e="Error: Got unexpected value."){throw new Error(e)}function W(t){return t.charCodeAt(0)}function Xa(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function yi(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function ir(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Jp(){throw Error("Internal Error - Should never get here!")}function zl(t){return t.type==="Character"}const da=[];for(let t=W("0");t<=W("9");t++)da.push(t);const fa=[W("_")].concat(da);for(let t=W("a");t<=W("z");t++)fa.push(t);for(let t=W("A");t<=W("Z");t++)fa.push(t);const Bl=[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")],Qp=/[0-9a-fA-F]/,Os=/[0-9]/,Zp=/[1-9]/;class Kd{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 n=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":yi(r,"global");break;case"i":yi(r,"ignoreCase");break;case"m":yi(r,"multiLine");break;case"u":yi(r,"unicode");break;case"y":yi(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}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 n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":n="Lookbehind";break;case"!":n="NegativeLookbehind"}break}}ir(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return Jp()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;ir(n);break}if(!(e===!0&&n===void 0)&&ir(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=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()),ir(e))return e.loc=this.loc(n),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,n=!1;switch(this.popChar()){case"d":e=da;break;case"D":e=da,n=!0;break;case"s":e=Bl;break;case"S":e=Bl,n=!0;break;case"w":e=fa;break;case"W":e=fa,n=!0;break}if(ir(e))return{type:"Set",value:e,complement:n}}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(ir(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`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as gi,g as xi,t as Xt,q as di,a as fi,b as pi,_ as a,l as Nt,K as mi,e as yi,z as bi,H as St,i as Ai,F as Yt,G as wi,a1 as Ci,aF as Si,a9 as Wt}from"./mermaid.core-
|
|
1
|
+
import{s as gi,g as xi,t as Xt,q as di,a as fi,b as pi,_ as a,l as Nt,K as mi,e as yi,z as bi,H as St,i as Ai,F as Yt,G as wi,a1 as Ci,aF as Si,a9 as Wt}from"./mermaid.core-ja7cWubO.js";import{i as _i}from"./init-Gi6I4Gst.js";import{o as ki}from"./ordinal-BENe2yWM.js";import{l as zt}from"./linear-D0MP_1im.js";import"./index-ChqmS6oM.js";import"./defaultLocale-DX6XiGOO.js";function Ri(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function yt(){var e=ki().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,g,m=!1,p=0,k=0,v=.5;delete e.unknown;function C(){var b=t().length,E=n<s,D=E?n:s,P=E?s:n;o=(P-D)/Math.max(1,b-p+k*2),m&&(o=Math.floor(o)),D+=(P-D-o*(b-p))*v,g=o*(1-p),m&&(D=Math.round(D),g=Math.round(g));var I=Ri(b).map(function(y){return D+o*y});return i(E?I.reverse():I)}return e.domain=function(b){return arguments.length?(t(b),C()):t()},e.range=function(b){return arguments.length?([s,n]=b,s=+s,n=+n,C()):[s,n]},e.rangeRound=function(b){return[s,n]=b,s=+s,n=+n,m=!0,C()},e.bandwidth=function(){return g},e.step=function(){return o},e.round=function(b){return arguments.length?(m=!!b,C()):m},e.padding=function(b){return arguments.length?(p=Math.min(1,k=+b),C()):p},e.paddingInner=function(b){return arguments.length?(p=Math.min(1,b),C()):p},e.paddingOuter=function(b){return arguments.length?(k=+b,C()):k},e.align=function(b){return arguments.length?(v=Math.max(0,Math.min(1,b)),C()):v},e.copy=function(){return yt(t(),[s,n]).round(m).paddingInner(p).paddingOuter(k).align(v)},_i.apply(C(),arguments)}var bt=(function(){var e=a(function(F,h,u,x){for(u=u||{},x=F.length;x--;u[F[x]]=h);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],g=[1,7],m=[1,5,10,12,14,16,18,19,21,23,34,35,36],p=[1,25],k=[1,26],v=[1,28],C=[1,29],b=[1,30],E=[1,31],D=[1,32],P=[1,33],I=[1,34],y=[1,35],_=[1,36],c=[1,37],W=[1,43],z=[1,42],U=[1,47],X=[1,50],l=[1,10,12,14,16,18,19,21,23,34,35,36],L=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],$={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:a(function(h,u,x,d,w,r,at){var f=r.length-1;switch(w){case 5:d.setOrientation(r[f]);break;case 9:d.setDiagramTitle(r[f].text.trim());break;case 12:d.setLineData({text:"",type:"text"},r[f]);break;case 13:d.setLineData(r[f-1],r[f]);break;case 14:d.setBarData({text:"",type:"text"},r[f]);break;case 15:d.setBarData(r[f-1],r[f]);break;case 16:this.$=r[f].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=r[f].trim(),d.setAccDescription(this.$);break;case 19:this.$=r[f-1];break;case 20:this.$=[Number(r[f-2]),...r[f]];break;case 21:this.$=[Number(r[f])];break;case 22:d.setXAxisTitle(r[f]);break;case 23:d.setXAxisTitle(r[f-1]);break;case 24:d.setXAxisTitle({type:"text",text:""});break;case 25:d.setXAxisBand(r[f]);break;case 26:d.setXAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 27:this.$=r[f-1];break;case 28:this.$=[r[f-2],...r[f]];break;case 29:this.$=[r[f]];break;case 30:d.setYAxisTitle(r[f]);break;case 31:d.setYAxisTitle(r[f-1]);break;case 32:d.setYAxisTitle({type:"text",text:""});break;case 33:d.setYAxisRangeData(Number(r[f-2]),Number(r[f]));break;case 37:this.$={text:r[f],type:"text"};break;case 38:this.$={text:r[f],type:"text"};break;case 39:this.$={text:r[f],type:"markdown"};break;case 40:this.$=r[f];break;case 41:this.$=r[f-1]+""+r[f];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,34:n,35:o,36:g}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,34:n,35:o,36:g}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:o,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(m,[2,34]),e(m,[2,35]),e(m,[2,36]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,34:n,35:o,36:g}),{1:[2,3]},e(m,[2,5]),e(t,[2,7],{4:22,34:n,35:o,36:g}),{11:23,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:39,13:38,24:W,27:z,29:40,30:41,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:45,15:44,27:U,33:46,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:49,17:48,24:X,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{11:52,17:51,24:X,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},{20:[1,53]},{22:[1,54]},e(l,[2,18]),{1:[2,2]},e(l,[2,8]),e(l,[2,9]),e(L,[2,37],{40:55,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c}),e(L,[2,38]),e(L,[2,39]),e(S,[2,40]),e(S,[2,42]),e(S,[2,43]),e(S,[2,44]),e(S,[2,45]),e(S,[2,46]),e(S,[2,47]),e(S,[2,48]),e(S,[2,49]),e(S,[2,50]),e(S,[2,51]),e(l,[2,10]),e(l,[2,22],{30:41,29:56,24:W,27:z}),e(l,[2,24]),e(l,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,11]),e(l,[2,30],{33:60,27:U}),e(l,[2,32]),{31:[1,61]},e(l,[2,12]),{17:62,24:X},{25:63,27:R},e(l,[2,14]),{17:65,24:X},e(l,[2,16]),e(l,[2,17]),e(S,[2,41]),e(l,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},e(l,[2,31]),{27:[1,69]},e(l,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},e(l,[2,15]),e(l,[2,26]),e(l,[2,27]),{11:59,32:72,37:24,38:p,39:k,40:27,41:v,42:C,43:b,44:E,45:D,46:P,47:I,48:y,49:_,50:c},e(l,[2,33]),e(l,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:a(function(h,u){if(u.recoverable)this.trace(h);else{var x=new Error(h);throw x.hash=u,x}},"parseError"),parse:a(function(h){var u=this,x=[0],d=[],w=[null],r=[],at=this.table,f="",lt=0,It=0,hi=2,Mt=1,li=r.slice.call(arguments,1),T=Object.create(this.lexer),Y={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(Y.yy[dt]=this.yy[dt]);T.setInput(h,Y.yy),Y.yy.lexer=T,Y.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var ft=T.yylloc;r.push(ft);var ci=T.options&&T.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ui(V){x.length=x.length-2*V,w.length=w.length-V,r.length=r.length-V}a(ui,"popStack");function Vt(){var V;return V=d.pop()||T.lex()||Mt,typeof V!="number"&&(V instanceof Array&&(d=V,V=d.pop()),V=u.symbols_[V]||V),V}a(Vt,"lex");for(var M,H,B,pt,q={},ct,O,Bt,ut;;){if(H=x[x.length-1],this.defaultActions[H]?B=this.defaultActions[H]:((M===null||typeof M>"u")&&(M=Vt()),B=at[H]&&at[H][M]),typeof B>"u"||!B.length||!B[0]){var mt="";ut=[];for(ct in at[H])this.terminals_[ct]&&ct>hi&&ut.push("'"+this.terminals_[ct]+"'");T.showPosition?mt="Parse error on line "+(lt+1)+`:
|
|
2
2
|
`+T.showPosition()+`
|
|
3
3
|
Expecting `+ut.join(", ")+", got '"+(this.terminals_[M]||M)+"'":mt="Parse error on line "+(lt+1)+": Unexpected "+(M==Mt?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(mt,{text:T.match,token:this.terminals_[M]||M,line:T.yylineno,loc:ft,expected:ut})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+M);switch(B[0]){case 1:x.push(M),w.push(T.yytext),r.push(T.yylloc),x.push(B[1]),M=null,It=T.yyleng,f=T.yytext,lt=T.yylineno,ft=T.yylloc;break;case 2:if(O=this.productions_[B[1]][1],q.$=w[w.length-O],q._$={first_line:r[r.length-(O||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(O||1)].first_column,last_column:r[r.length-1].last_column},ci&&(q._$.range=[r[r.length-(O||1)].range[0],r[r.length-1].range[1]]),pt=this.performAction.apply(q,[f,It,lt,Y.yy,B[1],w,r].concat(li)),typeof pt<"u")return pt;O&&(x=x.slice(0,-1*O*2),w=w.slice(0,-1*O),r=r.slice(0,-1*O)),x.push(this.productions_[B[1]][0]),w.push(q.$),r.push(q._$),Bt=at[x[x.length-2]][x[x.length-1]],x.push(Bt);break;case 3:return!0}}return!0},"parse")},Et=(function(){var F={EOF:1,parseError:a(function(u,x){if(this.yy.parser)this.yy.parser.parseError(u,x);else throw new Error(u)},"parseError"),setInput:a(function(h,u){return this.yy=u||this.yy||{},this._input=h,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:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var u=h.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var u=h.length,x=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;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),x.length-1&&(this.yylineno-=x.length-1);var w=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:x?(x.length===d.length?this.yylloc.first_column:0)+d[d.length-x.length].length-x[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[w[0],w[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(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:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),u=new Array(h.length+1).join("-");return h+this.upcomingInput()+`
|
package/dist/studio/index.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<title>Claudia Browser</title>
|
|
7
7
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect x='2' y='2' width='28' height='28' rx='6' fill='%23c05050'/><rect x='6' y='13' width='20' height='12' rx='3' fill='none' stroke='white' stroke-width='1.5'/><circle cx='16' cy='8' r='2.5' fill='none' stroke='white' stroke-width='1.5'/><line x1='16' y1='10.5' x2='16' y2='13' stroke='white' stroke-width='1.5'/><circle cx='12' cy='19.5' r='1.5' fill='white'/><circle cx='20' cy='19.5' r='1.5' fill='white'/></svg>" />
|
|
8
8
|
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin />
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-ChqmS6oM.js"></script>
|
|
10
10
|
<link rel="stylesheet" crossorigin href="/assets/index-DFEN7xgU.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Claudius Configuration
|
|
2
2
|
# Copy to .claudius/config.yaml and customize for your project.
|
|
3
|
-
configVersion:
|
|
3
|
+
configVersion: 3
|
|
4
4
|
|
|
5
5
|
engage: terminal # terminal | chat-sdk
|
|
6
6
|
deploy: none # vercel | fly | none
|
|
@@ -19,7 +19,7 @@ autonomy:
|
|
|
19
19
|
autoMerge: false
|
|
20
20
|
maxTeamSize: 3
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
daemon:
|
|
23
23
|
enabled: false
|
|
24
24
|
intervalMinutes: 15
|
|
25
25
|
# timezone: Asia/Bangkok # optional — defaults to machine timezone if omitted
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudius-core",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.2",
|
|
4
4
|
"description": "Autonomous orchestration layer for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"@semantic-release/exec": "^7.1.0",
|
|
88
88
|
"@semantic-release/git": "^10.0.1",
|
|
89
89
|
"@types/node": "^22.0.0",
|
|
90
|
+
"claudius-core": "^0.12.0",
|
|
90
91
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
91
92
|
"semantic-release": "^25.0.3",
|
|
92
93
|
"tsx": "^4.21.0",
|
package/.claude/agents/pulsar.md
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pulsar
|
|
3
|
-
description: Headless pulse orchestrator. One cycle per daemon invocation — merges open PRs, picks top-3 ready issues, fires developer agents in parallel, reviews and merges. Next cycle picks up the rest.
|
|
4
|
-
model: sonnet
|
|
5
|
-
memory: user
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Pulsar — Headless Pulse Orchestrator
|
|
9
|
-
|
|
10
|
-
You run headless on a 15-minute timer. Each invocation is one cycle: merge open PRs,
|
|
11
|
-
pick up to 3 ready issues, develop them in parallel, review, and merge. Then exit — the scheduler
|
|
12
|
-
runs the next cycle. This spreads work naturally and keeps each run bounded.
|
|
13
|
-
|
|
14
|
-
## Startup: Recover Stale Claims
|
|
15
|
-
|
|
16
|
-
Check for any issues labeled `in-progress` with no open PR — these are stale claims from a
|
|
17
|
-
crashed prior run. Restore them:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
gh issue list --label in-progress --state open --json number,title --limit 20
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
For each in-progress issue, check if an open PR references it:
|
|
24
|
-
```bash
|
|
25
|
-
gh pr list --search "Closes #<N> in:body" --state open --json number --limit 1
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
If no open PR found → stale claim → restore:
|
|
29
|
-
```bash
|
|
30
|
-
gh issue edit <N> --remove-label "in-progress" --add-label "ready"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Guard Checks
|
|
34
|
-
|
|
35
|
-
Exit `PULSE_OK` immediately if any fail:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
date
|
|
39
|
-
cat .claudius/config.yaml # read activeHours, budgetCapUsd, maxIssuesPerDay, goals
|
|
40
|
-
tail -20 .claudius/job-runs.jsonl
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
- Outside `activeHours` (respect timezone in config) → exit `PULSE_OK`
|
|
44
|
-
- Last 3 job-runs all `success:false` → exit `PULSE_OK` (avoid compounding failures)
|
|
45
|
-
- Budget already > 80% of `budgetCapUsd` → exit `PULSE_OK`
|
|
46
|
-
|
|
47
|
-
### Step 1: Merge Open PRs
|
|
48
|
-
|
|
49
|
-
Before picking new work, merge any open XS/S/M PRs with passing CI:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
gh pr list --json number,title,headRefName,statusCheckRollup --limit 20
|
|
53
|
-
bash .claude/scripts/merge-pr.sh <N>
|
|
54
|
-
gh issue close <issue-N> --comment "Closed by PR #<N>."
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Step 2: Pick Top-3 Issues
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
gh issue list --label ready --state open --json number,title,labels,body --limit 10
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
If no ready issues → exit `PULSE_OK`.
|
|
64
|
-
|
|
65
|
-
Select up to 3 highest-priority `ready` issues aligned with configured `goals`. Prefer smaller scope.
|
|
66
|
-
|
|
67
|
-
Issues are filtered and scored with dependency awareness:
|
|
68
|
-
- **Blocked issues are excluded** — any issue with open `blocked-by` relationships is removed from candidates (it becomes available once its blockers close)
|
|
69
|
-
- **Cluster momentum** — issues in partially-complete clusters get +15 priority boost, so pulsar finishes one cluster before starting another
|
|
70
|
-
- **Standard scoring** — label priorities, scope size, goal alignment (unchanged)
|
|
71
|
-
|
|
72
|
-
Claim each:
|
|
73
|
-
```bash
|
|
74
|
-
gh issue edit <N> --add-label "in-progress" --remove-label "ready"
|
|
75
|
-
gh issue view <N> # read full body + acceptance criteria
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Step 3: Develop in Parallel
|
|
79
|
-
|
|
80
|
-
Each developer runs in its own isolated worktree. Do NOT derive or provide branch names — developers use their worktree branch automatically.
|
|
81
|
-
|
|
82
|
-
Spawn one developer agent per issue using the `Agent` tool **concurrently** (all in one tool call message).
|
|
83
|
-
|
|
84
|
-
For each issue, use `subagent_type: "developer"`. Each developer prompt must include:
|
|
85
|
-
- Full issue body and all acceptance criteria
|
|
86
|
-
- Issue number for commit message format (`type(scope): description (#N)`)
|
|
87
|
-
- Constraint: implement only what the issue asks, no scope creep
|
|
88
|
-
- Instruction: use your current branch (the worktree branch), do NOT create a new branch. Implement, commit, push with `git push -u origin HEAD`, then report the branch name you pushed. Do not create the PR (pulsar creates PRs).
|
|
89
|
-
|
|
90
|
-
Wait for all developer agents to complete before proceeding.
|
|
91
|
-
|
|
92
|
-
**On developer failure for an issue:**
|
|
93
|
-
```bash
|
|
94
|
-
gh issue edit <N> --remove-label "in-progress" --add-label "ready"
|
|
95
|
-
gh issue comment <N> --body "Pulsar: developer failed. Restored to ready queue."
|
|
96
|
-
```
|
|
97
|
-
Remove it from the active set and continue with the rest.
|
|
98
|
-
|
|
99
|
-
### Step 4: Validate & Create PRs
|
|
100
|
-
|
|
101
|
-
For each successful developer result, **validate before creating the PR**.
|
|
102
|
-
The developer's output includes the branch name (from `git push -u origin HEAD`).
|
|
103
|
-
|
|
104
|
-
**Pre-PR validation** — check the developer's branch in its worktree:
|
|
105
|
-
```bash
|
|
106
|
-
cd <worktree-path>
|
|
107
|
-
bun run lint 2>&1 | tail -5
|
|
108
|
-
bun run build 2>&1 | tail -5
|
|
109
|
-
```
|
|
110
|
-
If lint or build fails: re-spawn the developer with the errors and ask it to fix them.
|
|
111
|
-
Only create the PR once validation passes. Never create a PR with known lint/build failures.
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
gh pr create \
|
|
115
|
-
--head <branch-from-developer-output> \
|
|
116
|
-
--title "type(scope): description (#N)" \
|
|
117
|
-
--body "$(cat <<'EOF'
|
|
118
|
-
## Summary
|
|
119
|
-
- <bullet from developer output>
|
|
120
|
-
|
|
121
|
-
## Closes
|
|
122
|
-
Closes #N
|
|
123
|
-
|
|
124
|
-
## Test Plan
|
|
125
|
-
- [ ] <scenario>
|
|
126
|
-
EOF
|
|
127
|
-
)"
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
After each `gh pr create`, send a Slack notification (best-effort — never block on failure):
|
|
131
|
-
```bash
|
|
132
|
-
SLACK_CHANNEL=$(bun -e "
|
|
133
|
-
import { parse } from 'yaml';
|
|
134
|
-
import { readFileSync } from 'fs';
|
|
135
|
-
const c = parse(readFileSync('.claudius/config.yaml', 'utf8'));
|
|
136
|
-
process.stdout.write(c.slack?.channel ?? '');
|
|
137
|
-
" 2>/dev/null)
|
|
138
|
-
if [ -n "$SLACK_CHANNEL" ]; then
|
|
139
|
-
PR_TITLE=$(gh pr view $PR_NUMBER --json title --jq '.title')
|
|
140
|
-
PR_URL=$(gh pr view $PR_NUMBER --json url --jq '.url')
|
|
141
|
-
THREAD_REF=$(bun .claude/scripts/slack.ts send \
|
|
142
|
-
--channel "$SLACK_CHANNEL" \
|
|
143
|
-
--text "🔍 *PR #$PR_NUMBER ready for review* — $PR_TITLE $PR_URL" | tail -1) \
|
|
144
|
-
&& printf '<!-- slack-thread: %s -->' "$THREAD_REF" | gh pr comment $PR_NUMBER --body-file - \
|
|
145
|
-
|| true
|
|
146
|
-
fi
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### Step 5: Review in Parallel
|
|
150
|
-
|
|
151
|
-
Spawn one reviewer agent per PR using the `Agent` tool **concurrently** (all in one tool call message).
|
|
152
|
-
|
|
153
|
-
For each PR, use `subagent_type: "reviewer"`. Each reviewer prompt must include:
|
|
154
|
-
- PR number to review
|
|
155
|
-
- Issue number for AC verification
|
|
156
|
-
- Return structured verdict: `approve` / `request-changes` / `block`
|
|
157
|
-
|
|
158
|
-
Wait for all reviewer agents to complete.
|
|
159
|
-
|
|
160
|
-
**On `approve`:** proceed to merge (Step 6).
|
|
161
|
-
|
|
162
|
-
**On `request-changes`:** re-spawn the developer for that issue with reviewer feedback (max 1 retry).
|
|
163
|
-
After retry: push, update PR, re-spawn reviewer. If still `request-changes` → treat as `block`.
|
|
164
|
-
|
|
165
|
-
**On `block`:** restore labels, comment with reviewer's reason, skip to next.
|
|
166
|
-
```bash
|
|
167
|
-
gh issue edit <N> --remove-label "in-progress" --add-label "ready"
|
|
168
|
-
gh issue comment <N> --body "Pulsar: reviewer blocked. Reason: <reason>."
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### Step 6: Merge & Record
|
|
172
|
-
|
|
173
|
-
For each approved PR:
|
|
174
|
-
```bash
|
|
175
|
-
bash .claude/scripts/merge-pr.sh <PR-number>
|
|
176
|
-
gh issue close <N> --comment "Closed by PR #<M>."
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
After each merge, reply in the PR's Slack thread (best-effort):
|
|
180
|
-
```bash
|
|
181
|
-
THREAD_REF=$(gh pr view $PR_NUMBER --json comments \
|
|
182
|
-
--jq '[.comments[].body | select(contains("slack-thread:"))] | first' \
|
|
183
|
-
| grep -oE '[A-Z][A-Z0-9]{8,}:[0-9]+\.[0-9]+')
|
|
184
|
-
if [ -n "$THREAD_REF" ] && [ "$THREAD_REF" != "null" ]; then
|
|
185
|
-
bun .claude/scripts/slack.ts reply \
|
|
186
|
-
--thread "$THREAD_REF" \
|
|
187
|
-
--text "✅ Merged PR #$PR_NUMBER" 2>/dev/null || true
|
|
188
|
-
fi
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
Append one line per merged issue to `.claude/memory/pulse.md` under `## Recent Build Outcomes`:
|
|
192
|
-
```
|
|
193
|
-
- 2026-03-03: built #N → PR#M merged (Xs)
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
## Headless Execution Notes
|
|
199
|
-
|
|
200
|
-
- Never use `EnterPlanMode`, `ExitPlanMode`, or `AskUserQuestion` — no human present
|
|
201
|
-
- Never provide branch names to developers — they run in isolated worktrees with their own branches
|
|
202
|
-
- Exit with `PULSE_OK` when the cycle completes (whether 0 or up to 3 issues processed)
|
|
203
|
-
- On unrecoverable error per issue: restore labels, comment, continue — never abort the whole run
|
|
204
|
-
|
|
205
|
-
## Step 7: Cleanup
|
|
206
|
-
|
|
207
|
-
After all merges, remove stale agent sub-worktrees (best-effort):
|
|
208
|
-
```bash
|
|
209
|
-
git worktree list --porcelain | grep '^worktree' | grep 'agent-' | awk '{print $2}' | while read p; do
|
|
210
|
-
git worktree remove --force "$p" 2>/dev/null && echo "Removed $p" || true
|
|
211
|
-
done
|
|
212
|
-
```
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Autonomous heartbeat — status, manual triggers, and ideation for continuous development.
|
|
3
|
-
argument-hint: "[run|ideate]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /pulse — Autonomous Heartbeat
|
|
7
|
-
|
|
8
|
-
Status, manual triggers, and autonomous ideation.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
```
|
|
12
|
-
/pulse → show status
|
|
13
|
-
/pulse run → trigger one heartbeat cycle
|
|
14
|
-
/pulse ideate → brainstorm improvements, create issues
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## /pulse (status)
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# Gather data
|
|
21
|
-
gh issue list --label ready --json number,title --limit 5
|
|
22
|
-
gh pr list --json number,title,state --limit 5
|
|
23
|
-
git log --oneline -5
|
|
24
|
-
cat .claude/memory/pulse.md 2>/dev/null || echo "(no pulse memory — run /backlog --groom-backlog)"
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Display:
|
|
28
|
-
```
|
|
29
|
-
Claudius Pulse
|
|
30
|
-
Recent: <last 3 commits>
|
|
31
|
-
Ready issues: <count> (<titles>)
|
|
32
|
-
Open PRs: <count>
|
|
33
|
-
Budget: $X / $Y (Z%)
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## /pulse run
|
|
37
|
-
|
|
38
|
-
Execute one heartbeat cycle:
|
|
39
|
-
|
|
40
|
-
1. **Check constraints:**
|
|
41
|
-
- Budget remaining? (read `.claudius/costs.jsonl`)
|
|
42
|
-
- Within active hours? (read `.claudius/config.yaml`)
|
|
43
|
-
|
|
44
|
-
2. **Pick work:**
|
|
45
|
-
```bash
|
|
46
|
-
gh issue list --label ready --json number,title,labels --limit 1
|
|
47
|
-
```
|
|
48
|
-
If no ready issues, report "No ready issues. Use `/pulse ideate` to create some."
|
|
49
|
-
|
|
50
|
-
3. **Execute:** Run `/build #N` on the picked issue.
|
|
51
|
-
|
|
52
|
-
4. **Report:** What was done, cost, result.
|
|
53
|
-
|
|
54
|
-
## /pulse ideate
|
|
55
|
-
|
|
56
|
-
Brainstorm improvements autonomously:
|
|
57
|
-
|
|
58
|
-
1. **Scan codebase:**
|
|
59
|
-
- Missing tests (files without corresponding test files)
|
|
60
|
-
- TODO/FIXME comments
|
|
61
|
-
- Code quality issues (large files, complex functions)
|
|
62
|
-
- Missing documentation
|
|
63
|
-
|
|
64
|
-
2. **Review recent work:**
|
|
65
|
-
```bash
|
|
66
|
-
git log --oneline -20
|
|
67
|
-
gh issue list --state closed --limit 10
|
|
68
|
-
```
|
|
69
|
-
Patterns? Recurring themes? Gaps?
|
|
70
|
-
|
|
71
|
-
3. **Create issues** for discovered improvements:
|
|
72
|
-
```bash
|
|
73
|
-
gh issue create --title "Verb-first title" --body "..." --label "<type>"
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
4. **Report:** List of created issues with rationale.
|
|
77
|
-
|
|
78
|
-
## Constraints
|
|
79
|
-
|
|
80
|
-
Read from `.claudius/config.yaml`:
|
|
81
|
-
- `heartbeat.budgetCapUsd` — stop if exceeded
|
|
82
|
-
- `heartbeat.activeHours` — only run within window
|
|
83
|
-
- `heartbeat.maxIssuesPerDay` — daily cap
|
|
84
|
-
- `heartbeat.maxConsecutiveFailures` — circuit breaker
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pulse-state.d.ts","sourceRoot":"","sources":["../../src/daemon/pulse-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC7B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IAC1B,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,cAAc,EAAE,aAAa,EAAE,CAAC;CAChC;AAID,yCAAyC;AACzC,wBAAgB,iBAAiB,IAAI,UAAU,CAK9C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAgBjG;AAgBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CASlE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,UAAU,CAwC3F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pulse-state.js","sourceRoot":"","sources":["../../src/daemon/pulse-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/daemon/pulse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,cAAc,CAAC;AAI/D,OAAO,EACN,KAAK,MAAM,EAOX,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;CAC9C;AAED,qBAAa,WAAW;IAOtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAPnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,aAAa,CAAS;gBAGrB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM;IAK3B,6CAA6C;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B5B,IAAI,IAAI,IAAI;IAKZ,yDAAyD;IACzD,WAAW,IAAI,MAAM;IAkCrB,qEAAqE;IACrE,SAAS,IAAI,iBAAiB;IA8I9B,kCAAkC;IAClC,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,YAAY;IAWpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;YAgBR,WAAW;IA4CzB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,KAAK;CAGb"}
|
package/dist/daemon/pulse.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../src/daemon/pulse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAuB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAEN,eAAe,EACf,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAM,EACN,WAAW,GACX,MAAM,gBAAgB,CAAC;AAaxB,MAAM,OAAO,WAAW;IAOd;IACA;IAPD,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAA0C,IAAI,CAAC;IAC3D,UAAU,GAAyD,IAAI,CAAC;IACxE,aAAa,CAAS;IAE9B,YACS,MAAsB,EACtB,UAAkB;QADlB,WAAM,GAAN,MAAM,CAAgB;QACtB,eAAU,GAAV,UAAU,CAAQ;QAE1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAClE,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CACZ,kFAAkF,CAClF,CAAC;YACF,OAAO;QACR,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,GAAG,CACV,sBAAsB,OAAO,CAAC,GAAG,gBAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CACrF,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,IAAI;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IAED,yDAAyD;IACzD,WAAW;QACV,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO;gBACN,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0CAA0C;aACjD,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,GAAW;gBACnB,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,uBAAuB,OAAO,EAAE;aACvC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7B,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAE7B,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,qEAAqE;IACrE,SAAS;QACR,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,4BAA4B;QAC5B,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,0BAA0B;SAChF,CAAC,CAAC;QAEH,mBAAmB;QACnB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,SAAS,GACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;YACrE,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YACnE,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI;SAC5F,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC3E,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW;YACjD,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,QAAQ,IAAI,QAAQ,GAAG;YACzG,CAAC,CAAC,eAAe,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACzC,MAAM,EAAE,GAAG,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE;SACxE,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,mEAAmE,EAAE;gBAC5F,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;gBACtC,MAAM,EAAE,GAAG,UAAU,eAAe;aACpC,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,gDAAgD;aACxD,CAAC,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,QAAQ,CAChC,+EAA+E,EAC/E;gBACC,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAC/B,CACD,CAAC;YACF,MAAM,gBAAgB,GAA6C,IAAI,CAAC,KAAK,CAC5E,gBAAgB,CAAC,IAAI,EAAE,IAAI,IAAI,CAC/B,CAAC;YAEF,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACJ,MAAM,QAAQ,GAAG,QAAQ,CACxB,gCAAgC,KAAK,CAAC,MAAM,gDAAgD,EAC5F;wBACC,QAAQ,EAAE,OAAO;wBACjB,GAAG,EAAE,IAAI,CAAC,UAAU;wBACpB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;qBAC/B,CACD,CAAC;oBACF,MAAM,OAAO,GAA8B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;oBAC/E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;gBACF,CAAC;gBAAC,MAAM,CAAC;oBACR,2CAA2C;gBAC5C,CAAC;YACF,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,oCAAoC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;iBACrE,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,IAAI;oBACZ,MAAM,EACL,gBAAgB,CAAC,MAAM,GAAG,CAAC;wBAC1B,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,iCAAiC;wBAC7D,CAAC,CAAC,uBAAuB;iBAC3B,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,4DAA4D;aACpE,CAAC,CAAC;QACJ,CAAC;QAED,WAAW;QACX,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACpD,MAAM,EACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,mBAAmB;gBAChD,CAAC,CAAC,mCAAmC;SACvC,CAAC,CAAC;QAEH,WAAW;QACX,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAChC,MAAM,EAAE,QAAQ;gBACf,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,gDAAgD;SACnD,CAAC,CAAC;QAEH,UAAU;QACV,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,kCAAkC;IAC1B,UAAU;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAEtC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,8CAA8C;YAC9C,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;oBACvB,OAAO,EAAE,GAAG,CAAC,IAAI;oBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,uBAAuB,OAAO,EAAE;iBACvC,CAAC,CAAC;gBACH,SAAS;YACV,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAE7B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;IACF,CAAC;IAEO,YAAY;QACnB,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;YACrE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,yCAAyC;QAC1C,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,cAAc;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,SAAS;YAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACV,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;gBAChC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,QAAQ;oBAAE,QAAQ,GAAG,EAAE,CAAC;YAC5C,CAAC;QACF,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,WAAW;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;YAAE,OAAO;QAEzC,IAAI,CAAC;YACJ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC/D,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAEvE,IAAI,CAAC,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC5D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS;aAC1C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAEpC,IAAI,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;YACnF,MAAM,YAAY,GACjB,QAAQ;iBACN,WAAW,EAAE;iBACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;iBAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC;YACtC,MAAM,UAAU,GAAG,GAAG,YAAY,SAAS,CAAC;YAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,IAAI,eAAe,EAAE,EAAE,CAAC;gBACnE,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACpD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC1B,MAAM,GAAG,UAAU,CAAC;gBACrB,CAAC;YACF,CAAC;YAED,0DAA0D;YAC1D,aAAa,CACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CACzE,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CACX,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjF,CAAC;QACH,CAAC;IACF,CAAC;IAEO,UAAU;QACjB,IAAI,CAAC;YACJ,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACJ,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACJ,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,EAAU;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;CACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as a,C as n}from"./mermaid.core-UQR83fLD.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-Cf4xiHkq.js";import{_ as i}from"./mermaid.core-UQR83fLD.js";import"./chunk-FMBD7UC4-LHyS5J0Z.js";import"./chunk-55IACEB6-C7jmtpU-.js";import"./chunk-QN33PNHL-CE3trdTs.js";import"./index-Ba8EGMUw.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-B4BG7PRW-Cf4xiHkq.js";import{_ as i}from"./mermaid.core-UQR83fLD.js";import"./chunk-FMBD7UC4-LHyS5J0Z.js";import"./chunk-55IACEB6-C7jmtpU-.js";import"./chunk-QN33PNHL-CE3trdTs.js";import"./index-Ba8EGMUw.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./_baseUniq-BzezThG0.js";var e=4;function a(o){return r(o,e)}export{a as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e,b as r,a,S as s}from"./chunk-DI55MBZ5-Bav6n4xJ.js";import{_ as i}from"./mermaid.core-UQR83fLD.js";import"./chunk-55IACEB6-C7jmtpU-.js";import"./chunk-QN33PNHL-CE3trdTs.js";import"./index-Ba8EGMUw.js";var p={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{p as diagram};
|