@dyx9/rosetta 0.0.0-stage → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/.env.example +59 -0
  2. package/LICENSE +21 -0
  3. package/README.md +101 -2
  4. package/bin/rosetta.js +10 -0
  5. package/build/dist/assets/abnfDiagram-WEYOIA3C-CwZlxHkI.js +1 -0
  6. package/build/dist/assets/arc-B0x0q6O1.js +1 -0
  7. package/build/dist/assets/architecture-WOLXFQ4H-CkOpgBe5.js +1 -0
  8. package/build/dist/assets/architectureDiagram-ZHVYKT53-DT2OTBIB.js +36 -0
  9. package/build/dist/assets/array-BifhSqXX.js +1 -0
  10. package/build/dist/assets/bash-CLZ0U2zV.js +1 -0
  11. package/build/dist/assets/blockDiagram-RJAE7QA3-DXKyW4Qj.js +140 -0
  12. package/build/dist/assets/c4Diagram-XDPPPE54-CqHMZj3I.js +38 -0
  13. package/build/dist/assets/channel-BmjZSxDJ.js +1 -0
  14. package/build/dist/assets/chunk-2E7WHVMD-DTKlOCW9.js +88 -0
  15. package/build/dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  16. package/build/dist/assets/chunk-4EMNKR2T-BsnKxZVc.js +1 -0
  17. package/build/dist/assets/chunk-55XCU76K-Ddul4yK8.js +1 -0
  18. package/build/dist/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  19. package/build/dist/assets/chunk-7S6XSTFO-D73i4Kfs.js +2 -0
  20. package/build/dist/assets/chunk-AQDTSKZB-DJMpZsbr.js +72 -0
  21. package/build/dist/assets/chunk-DSNLSHJZ-KWPl82ns.js +129 -0
  22. package/build/dist/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  23. package/build/dist/assets/chunk-HAGFOTED-Co5xWe5K.js +62 -0
  24. package/build/dist/assets/chunk-HNE4Q36P-D9ufLjJL.js +1 -0
  25. package/build/dist/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  26. package/build/dist/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  27. package/build/dist/assets/chunk-NGNAAXSQ-C2Wy9Xmz.js +136 -0
  28. package/build/dist/assets/chunk-NQOKRVIF-DuVeWA2D.js +213 -0
  29. package/build/dist/assets/chunk-UHW7PFBP-DrzHcxiz.js +1 -0
  30. package/build/dist/assets/chunk-VQ5W62QI-tyK9wvZy.js +1 -0
  31. package/build/dist/assets/chunk-WQQL4CDK-BtfOu2ju.js +10 -0
  32. package/build/dist/assets/chunk-XXDRQBXY-BFig8xVb.js +1 -0
  33. package/build/dist/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  34. package/build/dist/assets/chunk-YZO67HFG-Cw5eVjq1.js +1 -0
  35. package/build/dist/assets/chunk-ZAUX2LTX-CIpKyMEe.js +1 -0
  36. package/build/dist/assets/chunk-ZCHMQSOR-Djve8pwS.js +2 -0
  37. package/build/dist/assets/classDiagram-v2-4MYWR3UA-D4XAcUCd.js +217 -0
  38. package/build/dist/assets/cose-bilkent-JH36ORCC-DHRGyJqU.js +1 -0
  39. package/build/dist/assets/cynefin-EF2NZ3EQ-Cv-uxuqE.js +1 -0
  40. package/build/dist/assets/cynefinDiagram-WF24UDRP-MFe-UzcY.js +62 -0
  41. package/build/dist/assets/cytoscape.esm-BegBNzOV.js +321 -0
  42. package/build/dist/assets/dagre-NK4GIZVX-BsY0-Q-N.js +4 -0
  43. package/build/dist/assets/defaultLocale-BFoDCU3G.js +1 -0
  44. package/build/dist/assets/diagram-CBK3MWTC-9zfXZ0bX.js +24 -0
  45. package/build/dist/assets/diagram-I5XIIV2D-CfWjvEof.js +24 -0
  46. package/build/dist/assets/diagram-ODIL2UCW-BpJaYO2i.js +30 -0
  47. package/build/dist/assets/diagram-PFBEJUXE-CtpxT_FQ.js +3 -0
  48. package/build/dist/assets/diagram-RJA3I4VV-DuLQrOcT.js +41 -0
  49. package/build/dist/assets/diagram-TYUNFSNR-w6Mohdl5.js +200 -0
  50. package/build/dist/assets/dist-DI7WHQIh.js +1 -0
  51. package/build/dist/assets/ebnfDiagram-V4P3TTPT-DlwHfKyL.js +1 -0
  52. package/build/dist/assets/elk-QONTBCTQ-DEvtD9nx.js +27 -0
  53. package/build/dist/assets/erDiagram-KYQIGQAA-DQuhkec3.js +99 -0
  54. package/build/dist/assets/eventmodeling-K75KTNOO-BO57PAOs.js +1 -0
  55. package/build/dist/assets/flowDiagram-IUGLLWBU-B_Ib7Avh.js +1 -0
  56. package/build/dist/assets/ganttDiagram-R7GPNTJY-CDGbtnUY.js +292 -0
  57. package/build/dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  58. package/build/dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  59. package/build/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  60. package/build/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  61. package/build/dist/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  62. package/build/dist/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  63. package/build/dist/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  64. package/build/dist/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  65. package/build/dist/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  66. package/build/dist/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  67. package/build/dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  68. package/build/dist/assets/gitGraph-VSP46ZUC-D9ZZKP8z.js +1 -0
  69. package/build/dist/assets/gitGraphDiagram-PDYL7XHY-Da8Oypep.js +106 -0
  70. package/build/dist/assets/github-dark-C-LZuMrd.js +1 -0
  71. package/build/dist/assets/github-light-EUqPIrTm.js +1 -0
  72. package/build/dist/assets/graphlib-DS17s2tU.js +1 -0
  73. package/build/dist/assets/index-Cf0aBmwz.css +2 -0
  74. package/build/dist/assets/index-Ct3brajV.js +471 -0
  75. package/build/dist/assets/info-OHQRW6UA-BF836x6L.js +1 -0
  76. package/build/dist/assets/infoDiagram-MVDRKAX5-DpOoH-IR.js +2 -0
  77. package/build/dist/assets/init-C-OQMol4.js +1 -0
  78. package/build/dist/assets/ishikawaDiagram-HPEHV2GE-DT-Ft7vW.js +70 -0
  79. package/build/dist/assets/javascript-BgS3c2Ky.js +1 -0
  80. package/build/dist/assets/journeyDiagram-BOSHW7O7-BAF7tJ1H.js +139 -0
  81. package/build/dist/assets/json-qhed-kSA.js +1 -0
  82. package/build/dist/assets/kanban-definition-FNSA4HC5-B_w2r2eo.js +89 -0
  83. package/build/dist/assets/katex-B_JcIwqj.js +257 -0
  84. package/build/dist/assets/line-DMjgRylK.js +1 -0
  85. package/build/dist/assets/linear-BEdVl1PM.js +1 -0
  86. package/build/dist/assets/mermaid-parser.core-BDmgiU7m.js +7 -0
  87. package/build/dist/assets/mermaid.core-8Kj_dqOs.js +44 -0
  88. package/build/dist/assets/mindmap-definition-6OY57UG3-DOcaArfN.js +98 -0
  89. package/build/dist/assets/ordinal-BDEzSJ7C.js +1 -0
  90. package/build/dist/assets/packet-JDAUHWVQ-zWLPVpvX.js +1 -0
  91. package/build/dist/assets/path-fybaL0A-.js +1 -0
  92. package/build/dist/assets/pegDiagram-ECIUJNBX-sYwsFyAl.js +1 -0
  93. package/build/dist/assets/pie-XZMESJXO-B-h0LV9S.js +1 -0
  94. package/build/dist/assets/pieDiagram-GNMPY74T-FToCIvky.js +39 -0
  95. package/build/dist/assets/python-gzcpVVnB.js +1 -0
  96. package/build/dist/assets/quadrantDiagram-D57K4MC3-tiXtbFLP.js +7 -0
  97. package/build/dist/assets/radar-ABXABTNO--ew_ZFJl.js +1 -0
  98. package/build/dist/assets/railroad-I3PHUGI6-cxsf_ZsE.js +1 -0
  99. package/build/dist/assets/railroad-abnf-LNEFI6M7-BIK-9C0Z.js +1 -0
  100. package/build/dist/assets/railroad-ebnf-DWYD2UWJ-BHw1M8VQ.js +1 -0
  101. package/build/dist/assets/railroad-peg-JR7BVNR7-MHCdZHAZ.js +1 -0
  102. package/build/dist/assets/railroadDiagram-Y72NRBL7-wjsZpnJA.js +1 -0
  103. package/build/dist/assets/requirementDiagram-EQYSW5RA-CHkzAP3w.js +84 -0
  104. package/build/dist/assets/rough.esm-Dy-Kn_BL.js +1 -0
  105. package/build/dist/assets/sankeyDiagram-SY24JHO5-BBLq6ndO.js +40 -0
  106. package/build/dist/assets/sequenceDiagram-BLEHNHQU-DW_h9VZQ.js +169 -0
  107. package/build/dist/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  108. package/build/dist/assets/src-MbiMZlpk.js +1 -0
  109. package/build/dist/assets/stateDiagram-v2-A6IESKWZ-BgpDkVUs.js +291 -0
  110. package/build/dist/assets/swimlanes-B3ENRKFQ-DJHWFYmN.js +1 -0
  111. package/build/dist/assets/swimlanesDiagram-AYQRV4AK-Cq_MGOxD.js +8 -0
  112. package/build/dist/assets/timeline-definition-JXYKGLGB-DQ-XYDnd.js +120 -0
  113. package/build/dist/assets/treeView-D4JQ5SDB-ydIf6KAy.js +1 -0
  114. package/build/dist/assets/treemap-SAJKECNS-CB6tZuFJ.js +1 -0
  115. package/build/dist/assets/typescript-bsJCZSQ-.js +1 -0
  116. package/build/dist/assets/usecaseDiagram-WPOLBNNX-D_A5G5wv.js +328 -0
  117. package/build/dist/assets/vennDiagram-Q3Y3IDCW-j2yUit_4.js +34 -0
  118. package/build/dist/assets/wardley-7MLQ67FV-BztBXEva.js +1 -0
  119. package/build/dist/assets/wardleyDiagram-IVAIDKWA-CyrXADWS.js +78 -0
  120. package/build/dist/assets/xychartDiagram-4URNHDU4-BM2yVuEH.js +7 -0
  121. package/build/dist/favicon.svg +1 -0
  122. package/build/dist/icons.svg +24 -0
  123. package/build/dist/index.html +14 -0
  124. package/build/server/agent/conversation.js +244 -0
  125. package/build/server/agent/harness.js +435 -0
  126. package/build/server/agent/sessions.js +222 -0
  127. package/build/server/agent/turn.js +56 -0
  128. package/build/server/config.js +92 -0
  129. package/build/server/http/auth.js +31 -0
  130. package/build/server/http/chat.js +67 -0
  131. package/build/server/http/feedback.js +30 -0
  132. package/build/server/http/routes.js +231 -0
  133. package/build/server/http/stream.js +39 -0
  134. package/build/server/http/util.js +40 -0
  135. package/build/server/index.js +112 -0
  136. package/build/server/records/operations.js +53 -0
  137. package/build/server/records/recording.js +186 -0
  138. package/build/server/records/turn-recording.js +151 -0
  139. package/build/server/stone/file-boundary.js +57 -0
  140. package/build/server/stone/prompt.js +83 -0
  141. package/build/server/stone/stone.js +245 -0
  142. package/build/server/stone/verify.js +141 -0
  143. package/build/src/shared/protocol.js +25 -0
  144. package/build/stones/example/AGENTS.md +25 -0
  145. package/build/stones/example/checks/hotspot.py +74 -0
  146. package/build/stones/example/checks/syntax.py +13 -0
  147. package/build/stones/example/constraints/rig-limits.md +15 -0
  148. package/build/stones/example/docs/reference.md +26 -0
  149. package/build/stones/example/examples/good/crossfade.py +15 -0
  150. package/build/stones/example/examples/violations/hotspot.py +17 -0
  151. package/build/stones/example/rosetta.json +23 -0
  152. package/build/stones/example/skills/writing-cues/SKILL.md +21 -0
  153. package/package.json +74 -4
@@ -0,0 +1 @@
1
+ import"./chunk-NGNAAXSQ-C2Wy9Xmz.js";export{w as createInfoServices}from"./mermaid-parser.core-BDmgiU7m.js";
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./mermaid-parser.core-BDmgiU7m.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-MbiMZlpk.js";import{c as r}from"./chunk-DSNLSHJZ-KWPl82ns.js";import{a as i}from"./mermaid.core-8Kj_dqOs.js";var a={parse:t(async t=>{let r=await e(`info`,t);n.debug(r)},`parse`)},o={version:`12.2.0`},s={parser:a,db:{getVersion:t(()=>o.version,`getVersion`)},renderer:{draw:t((e,t,a)=>{n.debug(`rendering info diagram
2
+ `+e);let o=i(t);r(o,100,400,!0),o.append(`g`).append(`text`).attr(`x`,100).attr(`y`,40).attr(`class`,`version`).attr(`font-size`,32).style(`text-anchor`,`middle`).text(`v${a}`)},`draw`)}};export{s as diagram};
@@ -0,0 +1 @@
1
+ function e(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}export{e as t};
@@ -0,0 +1,70 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-MbiMZlpk.js";import{C as t,H as n,U as r,_ as i,a,b as o,c as s,q as c,s as l,v as u}from"./chunk-DSNLSHJZ-KWPl82ns.js";import{m as d}from"./chunk-7S6XSTFO-D73i4Kfs.js";import{t as f}from"./rough.esm-Dy-Kn_BL.js";import{a as p}from"./mermaid.core-8Kj_dqOs.js";var m=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,4],r=[1,14],i=[1,12],a=[1,13],o=[6,7,8],s=[1,20],c=[1,18],l=[1,19],u=[6,7,11],d=[1,6,13,14],f=[1,23],p=[1,24],m=[1,6,7,11,13,14],h={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:`error`,6:`SPACELINE`,7:`NL`,8:`ISHIKAWA`,11:`EOF`,13:`SPACELIST`,14:`TEXT`},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 15:r.addNode(a[s-1].length,a[s].trim());break;case 16:r.addNode(0,a[s].trim())}},`anonymous`),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:a},t(o,[2,3]),{1:[2,2]},t(o,[2,4]),t(o,[2,5]),{1:[2,6],6:r,12:15,13:i,14:a},{6:r,9:16,12:11,13:i,14:a},{6:s,7:c,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:c,10:22,11:l},{1:[2,7],6:r,12:15,13:i,14:a},t(d,[2,14],{7:f,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(u,[2,15]),t(d,[2,13],{7:f,11:p}),t(m,[2,11]),t(m,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
+ `+h.showPosition()+`
3
+ Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};h.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,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:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(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
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
+ `+t+`^`},`showPosition`),test_match:e(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:e(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e!==!1&&e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:e(function(){return this.next()||this.lex()},`lex`),begin:e(function(e){this.conditionStack.push(e)},`begin`),popState:e(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:e(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:e(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:e(function(e){this.begin(e)},`pushState`),stateStackSize:e(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:e(function(e,t,n,r){switch(n){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},`anonymous`),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}}})();function g(){this.yy={}}return e(g,`Parser`),g.prototype=h,h.Parser=g,new g})();m.parser=m;var h=m,g=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{e(this,`IshikawaDB`)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,a()}getRoot(){return this.root}addNode(e,t){let n=l.sanitizeText(t,o());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],c(n);return}this.baseLevel??=e;let r=e-this.baseLevel+1;for(r<=0&&(r=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=r;)this.stack.pop();let i=this.stack[this.stack.length-1].node,a={text:n,children:[]};i.children.push(a),this.stack.push({level:r,node:a})}getAccTitle(){return u()}setAccTitle(e){r(e)}getAccDescription(){return i()}setAccDescription(e){n(e)}getDiagramTitle(){return t()}setDiagramTitle(e){c(e)}},_=14,v=250,y=30,b=60,x=5,S=82*Math.PI/180,C=Math.cos(S),w=Math.sin(S),T=e((e,t,n)=>{let r=e.node().getBBox(),i=r.width+t*2,a=r.height+t*2;s(e,a,i,n),e.attr(`viewBox`,`${r.x-t} ${r.y-t} ${i} ${a}`)},`applyPaddedViewBox`),E=e((e,t,n,r)=>{let i=r.db.getRoot();if(!i)return;let a=o(),{look:s,handDrawnSeed:c,themeVariables:l}=a,u=d(a.fontSize)[0]??_,m=s===`handDrawn`,h=i.children??[],g=a.ishikawa?.diagramPadding??20,y=a.ishikawa?.useMaxWidth??!1,b=p(t),x=b.append(`g`).attr(`class`,`ishikawa`),S=m?f.svg(b.node()):void 0,C=S?{roughSvg:S,seed:c??0,lineColor:l?.lineColor??`#333`,fillColor:l?.mainBkg??`#fff`}:void 0,w=`ishikawa-arrow-${t}`;m||x.append(`defs`).append(`marker`).attr(`id`,w).attr(`viewBox`,`0 0 10 10`).attr(`refX`,0).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 10 0 L 0 5 L 10 10 Z`).attr(`class`,`ishikawa-arrow`);let E=0,k=v,A=m?void 0:L(x,E,k,E,k,`ishikawa-spine`);if(O(x,E,k,i.text,u,C),!h.length){m&&L(x,E,k,E,k,`ishikawa-spine`,C),T(b,g,y);return}E-=20;let j=h.filter((e,t)=>t%2==0),N=h.filter((e,t)=>t%2==1),P=D(j),F=D(N),I=P.total+F.total,R=v,z=v;if(I>0){let e=v*2,t=v*.3;R=Math.max(t,e*(P.total/I)),z=Math.max(t,e*(F.total/I))}let B=u*2;R=Math.max(R,P.max*B),z=Math.max(z,F.max*B),k=Math.max(R,v),A&&A.attr(`y1`,k).attr(`y2`,k),x.select(`.ishikawa-head-group`).attr(`transform`,`translate(0,${k})`);let V=Math.ceil(h.length/2);for(let e=0;e<V;e++){let t=x.append(`g`).attr(`class`,`ishikawa-pair`);for(let[n,r,i]of[[h[e*2],-1,R],[h[e*2+1],1,z]])n&&M(t,n,E,k,r,i,u,C);E=t.selectAll(`text`).nodes().reduce((e,t)=>Math.min(e,t.getBBox().x),1/0)}if(m)L(x,E,k,0,k,`ishikawa-spine`,C);else{A.attr(`x1`,E);let e=`url(#${w})`;x.selectAll(`line.ishikawa-branch, line.ishikawa-sub-branch`).attr(`marker-start`,e)}T(b,g,y)},`draw`),D=e(t=>{let n=e(e=>e.children.reduce((e,t)=>e+1+n(t),0),`countDescendants`);return t.reduce((e,t)=>{let r=n(t);return e.total+=r,e.max=Math.max(e.max,r),e},{total:0,max:0})},`sideStats`),O=e((e,t,n,r,i,a)=>{let o=Math.max(6,Math.floor(110/(i*.6))),s=e.append(`g`).attr(`class`,`ishikawa-head-group`).attr(`transform`,`translate(${t},${n})`),c=F(s,P(r,o),0,0,`ishikawa-head-label`,`start`,i),l=c.node().getBBox(),u=Math.max(60,l.width+6),d=Math.max(40,l.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${u*2.4} 0 0 ${-d/2} Z`;if(a){let e=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:`hachure`,fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});s.insert(()=>e,`:first-child`).attr(`class`,`ishikawa-head`)}else s.insert(`path`,`:first-child`).attr(`class`,`ishikawa-head`).attr(`d`,f);c.attr(`transform`,`translate(${(u-l.width)/2-l.x+3},${-l.y-l.height/2})`)},`drawHead`),k=e((t,n)=>{let r=[],i=[],a=e((e,t,o)=>{let s=n===-1?[...e].reverse():e;for(let e of s){let n=r.length,s=e.children??[];r.push({depth:o,text:P(e.text,15),parentIndex:t,childCount:s.length}),o%2==0?(i.push(n),s.length&&a(s,n,o+1)):(s.length&&a(s,n,o+1),i.push(n))}},`walk`);return a(t,-1,2),{entries:r,yOrder:i}},`flattenTree`),A=e((e,t,n,r,i,a,o)=>{let s=e.append(`g`).attr(`class`,`ishikawa-label-group`),c=F(s,t,n,r+11*i,`ishikawa-label cause`,`middle`,a).node().getBBox();if(o){let e=o.roughSvg.rectangle(c.x-20,c.y-2,c.width+40,c.height+4,{roughness:1.5,seed:o.seed,fill:o.fillColor,fillStyle:`hachure`,fillWeight:2.5,hachureGap:5,stroke:o.lineColor,strokeWidth:2});s.insert(()=>e,`:first-child`).attr(`class`,`ishikawa-label-box`)}else s.insert(`rect`,`:first-child`).attr(`class`,`ishikawa-label-box`).attr(`x`,c.x-20).attr(`y`,c.y-2).attr(`width`,c.width+40).attr(`height`,c.height+4)},`drawCauseLabel`),j=e((e,t,n,r,i,a)=>{let o=Math.sqrt(r*r+i*i);if(o===0)return;let s=r/o,c=i/o,l=-c*6,u=s*6,d=t,f=n,p=`M ${d} ${f} L ${d-s*6*2+l} ${f-c*6*2+u} L ${d-s*6*2-l} ${f-c*6*2-u} Z`,m=a.roughSvg.path(p,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:`solid`,stroke:a.lineColor,strokeWidth:1});e.append(()=>m)},`drawArrowMarker`),M=e((e,t,n,r,i,a,o,s)=>{let c=t.children??[],l=a*(c.length?1:.2),u=-C*l,d=w*l*i,f=n+u,p=r+d;if(L(e,n,r,f,p,`ishikawa-branch`,s),s&&j(e,n,r,n-f,r-p,s),A(e,t.text,f,p,i,o,s),!c.length)return;let{entries:m,yOrder:h}=k(c,i),g=m.length,_=Array(g);for(let[e,t]of h.entries())_[t]=r+d*((e+1)/(g+1));let v=new Map;v.set(-1,{x0:n,y0:r,x1:f,y1:p,childCount:c.length,childrenDrawn:0});let S=-C,T=w*i,E=i<0?`ishikawa-label up`:`ishikawa-label down`;for(let[t,n]of m.entries()){let r=_[t],i=v.get(n.parentIndex),a=e.append(`g`).attr(`class`,`ishikawa-sub-group`),c=0,l=0,u=0;if(n.depth%2==0){let e=i.y1-i.y0;c=I(i.x0,i.x1,e?(r-i.y0)/e:.5),l=r,u=c-(n.childCount>0?b+n.childCount*x:y),L(a,c,r,u,r,`ishikawa-sub-branch`,s),s&&j(a,c,r,1,0,s),F(a,n.text,u,r,`ishikawa-label align`,`end`,o)}else{let e=i.childrenDrawn++;c=I(i.x0,i.x1,(i.childCount-e)/(i.childCount+1)),l=i.y0,u=c+S*((r-l)/T),L(a,c,l,u,r,`ishikawa-sub-branch`,s),s&&j(a,c,l,c-u,l-r,s),F(a,n.text,u,r,E,`end`,o)}n.childCount>0&&v.set(t,{x0:c,y0:l,x1:u,y1:r,childCount:n.childCount,childrenDrawn:0})}},`drawBranch`),N=e(e=>e.split(/<br\s*\/?>|\n/),`splitLines`),P=e((e,t)=>{if(e.length<=t)return e;let n=[];for(let r of e.split(/\s+/)){let e=n.length-1;e>=0&&n[e].length+1+r.length<=t?n[e]+=` `+r:n.push(r)}return n.join(`
7
+ `)},`wrapText`),F=e((e,t,n,r,i,a,o)=>{let s=N(t),c=o*1.05,l=e.append(`text`).attr(`class`,i).attr(`text-anchor`,a).attr(`x`,n).attr(`y`,r-(s.length-1)*c/2);for(let[e,t]of s.entries())l.append(`tspan`).attr(`x`,n).attr(`dy`,e===0?0:c).text(t);return l},`drawMultilineText`),I=e((e,t,n)=>e+(t-e)*n,`lerp`),L=e((e,t,n,r,i,a,o)=>{if(o){let s=o.roughSvg.line(t,n,r,i,{roughness:1.5,seed:o.seed,stroke:o.lineColor,strokeWidth:2});e.append(()=>s).attr(`class`,a)}else return e.append(`line`).attr(`class`,a).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i)},`drawLine`),R={parser:h,get db(){return new g},renderer:{draw:E},styles:e(e=>`
8
+ .ishikawa .ishikawa-spine,
9
+ .ishikawa .ishikawa-branch,
10
+ .ishikawa .ishikawa-sub-branch {
11
+ stroke: ${e.lineColor};
12
+ stroke-width: 2;
13
+ fill: none;
14
+ }
15
+
16
+ .ishikawa .ishikawa-sub-branch {
17
+ stroke-width: 1;
18
+ }
19
+
20
+ .ishikawa .ishikawa-arrow {
21
+ fill: ${e.lineColor};
22
+ }
23
+
24
+ .ishikawa .ishikawa-head {
25
+ fill: ${e.mainBkg};
26
+ stroke: ${e.lineColor};
27
+ stroke-width: 2;
28
+ }
29
+
30
+ .ishikawa .ishikawa-label-box {
31
+ fill: ${e.mainBkg};
32
+ stroke: ${e.lineColor};
33
+ stroke-width: 2;
34
+ }
35
+
36
+ .ishikawa text {
37
+ font-family: ${e.fontFamily};
38
+ font-size: ${e.fontSize};
39
+ fill: ${e.textColor};
40
+ }
41
+
42
+ .ishikawa .ishikawa-head-label {
43
+ font-weight: 600;
44
+ text-anchor: middle;
45
+ dominant-baseline: middle;
46
+ font-size: 14px;
47
+ }
48
+
49
+ .ishikawa .ishikawa-label {
50
+ text-anchor: end;
51
+ }
52
+
53
+ .ishikawa .ishikawa-label.cause {
54
+ text-anchor: middle;
55
+ dominant-baseline: middle;
56
+ }
57
+
58
+ .ishikawa .ishikawa-label.align {
59
+ text-anchor: end;
60
+ dominant-baseline: middle;
61
+ }
62
+
63
+ .ishikawa .ishikawa-label.up {
64
+ dominant-baseline: baseline;
65
+ }
66
+
67
+ .ishikawa .ishikawa-label.down {
68
+ dominant-baseline: hanging;
69
+ }
70
+ `,`getStyles`)};export{R as diagram};