strikethroo 3.21.2 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +10 -0
  2. package/dist/cli.js +19 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +50 -15
  7. package/dist/index.js.map +1 -1
  8. package/dist/resolve-init-harnesses.d.ts +30 -0
  9. package/dist/resolve-init-harnesses.d.ts.map +1 -0
  10. package/dist/resolve-init-harnesses.js +44 -0
  11. package/dist/resolve-init-harnesses.js.map +1 -0
  12. package/dist/types.d.ts +32 -1
  13. package/dist/types.d.ts.map +1 -1
  14. package/dist/types.js.map +1 -1
  15. package/dist/update.d.ts +28 -0
  16. package/dist/update.d.ts.map +1 -0
  17. package/dist/update.js +198 -0
  18. package/dist/update.js.map +1 -0
  19. package/dist-web/assets/{arc-Dnj8t_Cg.js → arc-CguPlWfb.js} +1 -1
  20. package/dist-web/assets/{architectureDiagram-3BPJPVTR-7x3i_pmi.js → architectureDiagram-3BPJPVTR-D65RMVqJ.js} +1 -1
  21. package/dist-web/assets/{blockDiagram-GPEHLZMM-Cg2a93ny.js → blockDiagram-GPEHLZMM-CNIwP_yH.js} +1 -1
  22. package/dist-web/assets/{c4Diagram-AAUBKEIU-DMmHyu1B.js → c4Diagram-AAUBKEIU-CuZ4SoKV.js} +1 -1
  23. package/dist-web/assets/channel-BL14r_5w.js +1 -0
  24. package/dist-web/assets/{chunk-2J33WTMH-BarACI5V.js → chunk-2J33WTMH-DM4ZcjVq.js} +1 -1
  25. package/dist-web/assets/{chunk-4BX2VUAB-D1jdtJjC.js → chunk-4BX2VUAB-DI3-zGiF.js} +1 -1
  26. package/dist-web/assets/{chunk-55IACEB6-D3ecVMrb.js → chunk-55IACEB6-DBdh-eer.js} +1 -1
  27. package/dist-web/assets/{chunk-727SXJPM-DXNd005W.js → chunk-727SXJPM-B0HDPh0I.js} +1 -1
  28. package/dist-web/assets/{chunk-AQP2D5EJ-C0VOl8ox.js → chunk-AQP2D5EJ-C0MnLmRm.js} +1 -1
  29. package/dist-web/assets/{chunk-FMBD7UC4-DcTxd98r.js → chunk-FMBD7UC4-CmggDcp1.js} +1 -1
  30. package/dist-web/assets/{chunk-ND2GUHAM-CAMtgZHg.js → chunk-ND2GUHAM-BSIdB1y0.js} +1 -1
  31. package/dist-web/assets/{chunk-QZHKN3VN-DWfV0bq5.js → chunk-QZHKN3VN-BTHsXhgb.js} +1 -1
  32. package/dist-web/assets/classDiagram-4FO5ZUOK-DBkbEi_3.js +1 -0
  33. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DBkbEi_3.js +1 -0
  34. package/dist-web/assets/{cose-bilkent-S5V4N54A-Csc9VNPk.js → cose-bilkent-S5V4N54A-IXUMXU5h.js} +1 -1
  35. package/dist-web/assets/{dagre-BM42HDAG-BnwRiOXb.js → dagre-BM42HDAG-CtwBET_X.js} +1 -1
  36. package/dist-web/assets/{diagram-2AECGRRQ-wPIOyrHK.js → diagram-2AECGRRQ-DRe1AFa_.js} +1 -1
  37. package/dist-web/assets/{diagram-5GNKFQAL-TccsDwtZ.js → diagram-5GNKFQAL-D9IRdgWX.js} +1 -1
  38. package/dist-web/assets/{diagram-KO2AKTUF-DtAJCwJt.js → diagram-KO2AKTUF-CQi7gmRS.js} +1 -1
  39. package/dist-web/assets/{diagram-LMA3HP47-BvMQVWoO.js → diagram-LMA3HP47-B0fp5jh8.js} +1 -1
  40. package/dist-web/assets/{diagram-OG6HWLK6-BPxOm_5c.js → diagram-OG6HWLK6-B2ujFhv2.js} +1 -1
  41. package/dist-web/assets/{erDiagram-TEJ5UH35-CRPnIDwq.js → erDiagram-TEJ5UH35-DcxHh3A8.js} +1 -1
  42. package/dist-web/assets/{flowDiagram-I6XJVG4X-DBLbHpW_.js → flowDiagram-I6XJVG4X-Btsglt1O.js} +1 -1
  43. package/dist-web/assets/{ganttDiagram-6RSMTGT7-gZhN1gnI.js → ganttDiagram-6RSMTGT7-BRaGl6R4.js} +1 -1
  44. package/dist-web/assets/{gitGraphDiagram-PVQCEYII-Dssi43fY.js → gitGraphDiagram-PVQCEYII-Cl1DR87j.js} +1 -1
  45. package/dist-web/assets/{index-CEGCvBkm.js → index-CxXoZ0_J.js} +1 -1
  46. package/dist-web/assets/{index-Nz3QPmKb.js → index-DXt7jz3h.js} +4 -4
  47. package/dist-web/assets/{index-BdDnJAsd.js → index-DZ4QtqqW.js} +1 -1
  48. package/dist-web/assets/{infoDiagram-5YYISTIA-sXzUxho2.js → infoDiagram-5YYISTIA-GMZDkbDI.js} +1 -1
  49. package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-BPHTll-A.js → ishikawaDiagram-YF4QCWOH-DC8HBMwN.js} +1 -1
  50. package/dist-web/assets/{journeyDiagram-JHISSGLW-h2TzQwJC.js → journeyDiagram-JHISSGLW-4KT1uAXJ.js} +1 -1
  51. package/dist-web/assets/{kanban-definition-UN3LZRKU-1xkUO8WZ.js → kanban-definition-UN3LZRKU-bBpM_7W0.js} +1 -1
  52. package/dist-web/assets/{linear-D_7aXIXs.js → linear-BzW5Mi4V.js} +1 -1
  53. package/dist-web/assets/{mermaid.core-Bwdbg8D0.js → mermaid.core-BZXehlCp.js} +4 -4
  54. package/dist-web/assets/{mindmap-definition-RKZ34NQL-eAYjLKqV.js → mindmap-definition-RKZ34NQL-B8RhYsaN.js} +1 -1
  55. package/dist-web/assets/{pieDiagram-4H26LBE5-CWfU-OAg.js → pieDiagram-4H26LBE5-DV749i9Y.js} +1 -1
  56. package/dist-web/assets/{quadrantDiagram-W4KKPZXB-CgKKzr9p.js → quadrantDiagram-W4KKPZXB-Cduffe8j.js} +1 -1
  57. package/dist-web/assets/{requirementDiagram-4Y6WPE33-Dx-cDqCB.js → requirementDiagram-4Y6WPE33-C7KngwZn.js} +1 -1
  58. package/dist-web/assets/{sankeyDiagram-5OEKKPKP-B_yYv0Dy.js → sankeyDiagram-5OEKKPKP-CJjwUGG3.js} +1 -1
  59. package/dist-web/assets/{sequenceDiagram-3UESZ5HK--QLtZ1Rs.js → sequenceDiagram-3UESZ5HK-BARiZOtJ.js} +1 -1
  60. package/dist-web/assets/{stateDiagram-AJRCARHV-DVmFu5R7.js → stateDiagram-AJRCARHV-DA1dHBGx.js} +1 -1
  61. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-D4ioaqC3.js +1 -0
  62. package/dist-web/assets/{timeline-definition-PNZ67QCA-BUtZCLUr.js → timeline-definition-PNZ67QCA-ClE6cvJF.js} +1 -1
  63. package/dist-web/assets/{vennDiagram-CIIHVFJN-CiAEMMvF.js → vennDiagram-CIIHVFJN-BLR57Itf.js} +1 -1
  64. package/dist-web/assets/{wardley-L42UT6IY-CzeU7tOS.js → wardley-L42UT6IY-EA8x1UUF.js} +1 -1
  65. package/dist-web/assets/{wardleyDiagram-YWT4CUSO-vvP_uZTz.js → wardleyDiagram-YWT4CUSO-DHktlei-.js} +1 -1
  66. package/dist-web/assets/{xychartDiagram-2RQKCTM6-vSFbOWXi.js → xychartDiagram-2RQKCTM6-DOxQD_Ha.js} +1 -1
  67. package/dist-web/index.html +1 -1
  68. package/package.json +4 -1
  69. package/templates/harness/skills/st-code-review/SKILL.md +3 -7
  70. package/templates/harness/skills/st-create-plan/SKILL.md +33 -44
  71. package/templates/harness/skills/st-create-plan/scripts/check-for-updates.cjs +2502 -0
  72. package/templates/harness/skills/st-execute-blueprint/SKILL.md +37 -63
  73. package/templates/harness/skills/st-execute-blueprint/scripts/check-for-updates.cjs +2502 -0
  74. package/templates/harness/skills/st-execute-blueprint/scripts/dispatch-task-execution.cjs +1 -0
  75. package/templates/harness/skills/st-execute-task/SKILL.md +36 -79
  76. package/templates/harness/skills/st-execute-task/scripts/check-for-updates.cjs +2502 -0
  77. package/templates/harness/skills/st-execute-task/scripts/dispatch-task-execution.cjs +1 -0
  78. package/templates/harness/skills/st-full-workflow/SKILL.md +139 -270
  79. package/templates/harness/skills/st-full-workflow/scripts/check-for-updates.cjs +2502 -0
  80. package/templates/harness/skills/st-full-workflow/scripts/dispatch-task-execution.cjs +1 -0
  81. package/templates/harness/skills/st-generate-tasks/SKILL.md +91 -155
  82. package/templates/harness/skills/st-generate-tasks/scripts/check-for-updates.cjs +2502 -0
  83. package/templates/harness/skills/st-refine-plan/SKILL.md +63 -109
  84. package/templates/harness/skills/st-refine-plan/scripts/check-for-updates.cjs +2502 -0
  85. package/templates/strikethroo/config/templates/UPDATE_NOTICE_TEMPLATE.md +1 -0
  86. package/dist-web/assets/channel-Bb0_vDD8.js +0 -1
  87. package/dist-web/assets/classDiagram-4FO5ZUOK-R25Yhm3n.js +0 -1
  88. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-R25Yhm3n.js +0 -1
  89. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-DBs8K0hr.js +0 -1
  90. package/templates/harness/skills/st-full-workflow/references/task-frontmatter.md +0 -23
  91. package/templates/harness/skills/st-full-workflow/references/test-philosophy.md +0 -17
  92. package/templates/harness/skills/st-generate-tasks/references/task-frontmatter.md +0 -23
  93. package/templates/harness/skills/st-generate-tasks/references/test-philosophy.md +0 -17
package/dist/update.js ADDED
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ /**
3
+ * Unified update command: refresh workspace via init, then update workflow skills.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.SKILLS_INSTALLER_STDIO = exports.SKILLS_INSTALLER_EXECUTABLE = exports.STRIKETHROO_WORKFLOW_SKILLS = void 0;
43
+ exports.buildSkillsInstallerArgs = buildSkillsInstallerArgs;
44
+ exports.runSkillsInstaller = runSkillsInstaller;
45
+ exports.update = update;
46
+ const path = __importStar(require("path"));
47
+ const child_process_1 = require("child_process");
48
+ const util_1 = require("util");
49
+ const chalk_1 = __importDefault(require("chalk"));
50
+ const index_1 = require("./index");
51
+ const metadata_1 = require("./metadata");
52
+ const resolve_init_harnesses_1 = require("./resolve-init-harnesses");
53
+ /** Strikethroo workflow skills targeted by `strikethroo update`. */
54
+ exports.STRIKETHROO_WORKFLOW_SKILLS = [
55
+ 'st-create-plan',
56
+ 'st-refine-plan',
57
+ 'st-generate-tasks',
58
+ 'st-execute-blueprint',
59
+ 'st-execute-task',
60
+ 'st-full-workflow',
61
+ 'st-code-review',
62
+ ];
63
+ exports.SKILLS_INSTALLER_EXECUTABLE = 'npx';
64
+ exports.SKILLS_INSTALLER_STDIO = ['inherit', 'pipe', 'pipe'];
65
+ /**
66
+ * Exact installer package and arguments passed to npx.
67
+ */
68
+ function buildSkillsInstallerArgs() {
69
+ return ['skills', 'update', ...exports.STRIKETHROO_WORKFLOW_SKILLS];
70
+ }
71
+ function resolvePath(baseDir, ...segments) {
72
+ const base = baseDir || '.';
73
+ const validSegments = segments.filter(segment => segment !== null && segment !== undefined && segment !== '');
74
+ return path.resolve(base, ...validSegments);
75
+ }
76
+ /**
77
+ * Preserve interactive input and stream output while detecting zero-exit failures.
78
+ */
79
+ async function runSkillsInstaller(cwd) {
80
+ return new Promise(resolve => {
81
+ let incomplete = false;
82
+ const observe = (destination) => {
83
+ let tail = '';
84
+ return chunk => {
85
+ destination.write(chunk);
86
+ const text = (0, util_1.stripVTControlCharacters)(tail + chunk);
87
+ if (/Cancelled|No installed skills found matching:|cannot be (?:checked|updated) automatically|No project skills can be updated in place|✗ Failed to check/i.test(text)) {
88
+ incomplete = true;
89
+ }
90
+ tail = text.slice(-1024);
91
+ };
92
+ };
93
+ const child = (0, child_process_1.spawn)(exports.SKILLS_INSTALLER_EXECUTABLE, buildSkillsInstallerArgs(), {
94
+ cwd,
95
+ shell: false,
96
+ stdio: [...exports.SKILLS_INSTALLER_STDIO],
97
+ env: process.env,
98
+ });
99
+ child.stdout?.setEncoding('utf8').on('data', observe(process.stdout));
100
+ child.stderr?.setEncoding('utf8').on('data', observe(process.stderr));
101
+ child.on('error', () => {
102
+ resolve({ success: false, code: 1 });
103
+ });
104
+ child.on('close', code => {
105
+ const success = code === 0 && !incomplete;
106
+ resolve({ success, code: success ? 0 : code || 1 });
107
+ });
108
+ });
109
+ }
110
+ /**
111
+ * Refresh an initialized workspace and update installed Strikethroo workflow skills.
112
+ */
113
+ async function update(options) {
114
+ const baseDir = options.destinationDirectory || '.';
115
+ const resolvedBaseDir = resolvePath(baseDir);
116
+ const metadataPath = resolvePath(baseDir, '.ai/strikethroo/.init-metadata.json');
117
+ const existingMetadata = await (0, metadata_1.loadMetadata)(metadataPath);
118
+ if (!existingMetadata) {
119
+ const message = 'Workspace is not initialized. Run `strikethroo init --harnesses <harnesses>` first.';
120
+ console.error(chalk_1.default.red(`\n✗ Update failed: ${message}\n`));
121
+ return {
122
+ success: false,
123
+ workspaceSuccess: false,
124
+ skillsSuccess: false,
125
+ message,
126
+ };
127
+ }
128
+ let harnesses;
129
+ try {
130
+ const resolved = (0, resolve_init_harnesses_1.resolveInitHarnesses)({
131
+ explicit: options.harnesses,
132
+ saved: existingMetadata.harnesses,
133
+ });
134
+ harnesses = resolved.harnesses.join(',');
135
+ }
136
+ catch (error) {
137
+ const message = error instanceof Error ? error.message : 'Failed to resolve harness selection.';
138
+ console.error(chalk_1.default.red(`\n✗ Update failed: ${message}\n`));
139
+ return {
140
+ success: false,
141
+ workspaceSuccess: false,
142
+ skillsSuccess: false,
143
+ message,
144
+ error: error instanceof Error ? error : new Error(String(error)),
145
+ };
146
+ }
147
+ console.log(chalk_1.default.bold.white('\nStrikethroo Update'));
148
+ console.log(chalk_1.default.gray('─'.repeat(80)));
149
+ console.log(`\n${chalk_1.default.cyan.bold('Workspace Refresh')}\n${chalk_1.default.cyan('─'.repeat(80))}\n`);
150
+ const workspaceResult = await (0, index_1.init)({
151
+ harnesses,
152
+ destinationDirectory: options.destinationDirectory,
153
+ force: options.force,
154
+ profile: options.profile,
155
+ mode: 'update',
156
+ });
157
+ const workspaceSuccess = workspaceResult.success;
158
+ console.log(`\n${chalk_1.default.cyan.bold('Workflow Skills')}\n${chalk_1.default.cyan('─'.repeat(80))}\n`);
159
+ if (!workspaceSuccess) {
160
+ console.error(chalk_1.default.red('✗ Workspace refresh failed. Skipping skills update.\n'));
161
+ return {
162
+ success: false,
163
+ workspaceSuccess: false,
164
+ skillsSuccess: false,
165
+ message: workspaceResult.message,
166
+ error: workspaceResult.error,
167
+ };
168
+ }
169
+ console.log(chalk_1.default.gray(` Running: ${exports.SKILLS_INSTALLER_EXECUTABLE} ${buildSkillsInstallerArgs().join(' ')}`));
170
+ console.log(chalk_1.default.gray(' The installer checks matching project and global skills. Incomplete installs keep the refreshed workspace.'));
171
+ console.log('');
172
+ const installer = await runSkillsInstaller(resolvedBaseDir);
173
+ console.log('');
174
+ console.log(chalk_1.default.bold('Update summary'));
175
+ console.log(chalk_1.default.gray('─'.repeat(80)));
176
+ console.log(` ${workspaceSuccess ? chalk_1.default.green('✓') : chalk_1.default.red('✗')} Workspace: ${workspaceSuccess ? 'refreshed' : 'failed'}`);
177
+ console.log(` ${installer.success ? chalk_1.default.green('✓') : chalk_1.default.red('✗')} Workflow skills: ${installer.success ? 'updated' : 'not updated'}`);
178
+ if (!installer.success) {
179
+ console.log('');
180
+ console.log(chalk_1.default.yellow('Skills update did not complete. Re-run `strikethroo update` after resolving the installer issue, or run:'));
181
+ console.log(chalk_1.default.gray(` ${exports.SKILLS_INSTALLER_EXECUTABLE} ${buildSkillsInstallerArgs().join(' ')}`));
182
+ }
183
+ console.log('');
184
+ console.log(chalk_1.default.yellow('Note: A running agent may still be using previous skill instructions. Start a fresh session after updating.'));
185
+ console.log('');
186
+ const success = workspaceSuccess && installer.success;
187
+ return {
188
+ success,
189
+ workspaceSuccess,
190
+ skillsSuccess: installer.success,
191
+ message: success
192
+ ? 'Strikethroo workspace and workflow skills updated successfully.'
193
+ : workspaceSuccess
194
+ ? 'Workspace refreshed, but workflow skills update did not complete.'
195
+ : 'Update failed.',
196
+ };
197
+ }
198
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{bk as ln,aN as an,H as k,b7 as w,F as N,ag as un,V as g,bc as tn,b8 as C,aH as _,c as rn,m as o,aF as on,j as sn,d as fn}from"./mermaid.core-Bwdbg8D0.js";function cn(l){return l.innerRadius}function gn(l){return l.outerRadius}function yn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,j,F,v,A,O,a){var q=j-l,i=F-h,n=O-v,d=a-A,u=d*q-n*i;if(!(u*u<g))return u=(n*(h-A)-d*(l-v))/u,[l+u*q,h+u*i]}function Q(l,h,j,F,v,A,O){var a=l-j,q=h-F,i=(O?A:-A)/C(a*a+q*q),n=i*q,d=-i*a,u=l+n,s=h+d,f=j+n,c=F+d,S=(u+f)/2,t=(s+c)/2,m=f-u,y=c-s,R=m*m+y*y,T=v-A,P=u*c-f*s,D=(y<0?-1:1)*C(on(0,T*T*R-P*P)),E=(P*y-m*D)/R,I=(-P*m-y*D)/R,b=(P*y+m*D)/R,p=(-P*m+y*D)/R,x=E-S,e=I-t,r=b-S,V=p-t;return x*x+e*e>r*r+V*V&&(E=b,I=p),{cx:E,cy:I,x01:-n,y01:-d,x11:E*(v/T-1),y11:I*(v/T-1)}}function hn(){var l=cn,h=gn,j=N(0),F=null,v=yn,A=dn,O=mn,a=null,q=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,S=rn(c-f),t=c>f;if(a||(a=n=q()),s<u&&(d=s,s=u,u=d),!(s>g))a.moveTo(0,0);else if(S>tn-g)a.moveTo(s*k(f),s*w(f)),a.arc(0,0,s,f,c,!t),u>g&&(a.moveTo(u*k(c),u*w(c)),a.arc(0,0,u,c,f,t));else{var m=f,y=c,R=f,T=c,P=S,D=S,E=O.apply(this,arguments)/2,I=E>g&&(F?+F.apply(this,arguments):C(u*u+s*s)),b=_(rn(s-u)/2,+j.apply(this,arguments)),p=b,x=b,e,r;if(I>g){var V=sn(I/u*w(E)),G=sn(I/s*w(E));(P-=V*2)>g?(V*=t?1:-1,R+=V,T-=V):(P=0,R=T=(f+c)/2),(D-=G*2)>g?(G*=t?1:-1,m+=G,y-=G):(D=0,m=y=(f+c)/2)}var z=s*k(m),B=s*w(m),J=u*k(T),K=u*w(T);if(b>g){var L=s*k(y),M=s*w(y),U=u*k(R),W=u*w(R),H;if(S<an)if(H=pn(z,B,U,W,L,M,J,K)){var X=z-H[0],Y=B-H[1],Z=L-H[0],$=M-H[1],nn=1/w(fn((X*Z+Y*$)/(C(X*X+Y*Y)*C(Z*Z+$*$)))/2),en=C(H[0]*H[0]+H[1]*H[1]);p=_(b,(u-en)/(nn-1)),x=_(b,(s-en)/(nn+1))}else p=x=0}D>g?x>g?(e=Q(U,W,z,B,s,x,t),r=Q(L,M,J,K,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<b?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(z,B),a.arc(0,0,s,m,y,!t)):a.moveTo(z,B),!(u>g)||!(P>g)?a.lineTo(J,K):p>g?(e=Q(J,K,L,M,u,-p,t),r=Q(z,B,U,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<b?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[k(d)*n,w(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:N(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:N(+n),i):h},i.cornerRadius=function(n){return arguments.length?(j=typeof n=="function"?n:N(+n),i):j},i.padRadius=function(n){return arguments.length?(F=n==null?null:typeof n=="function"?n:N(+n),i):F},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:N(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:N(+n),i):A},i.padAngle=function(n){return arguments.length?(O=typeof n=="function"?n:N(+n),i):O},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{bk as ln,aN as an,H as k,b7 as w,F as N,ag as un,V as g,bc as tn,b8 as C,aH as _,c as rn,m as o,aF as on,j as sn,d as fn}from"./mermaid.core-BZXehlCp.js";function cn(l){return l.innerRadius}function gn(l){return l.outerRadius}function yn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,j,F,v,A,O,a){var q=j-l,i=F-h,n=O-v,d=a-A,u=d*q-n*i;if(!(u*u<g))return u=(n*(h-A)-d*(l-v))/u,[l+u*q,h+u*i]}function Q(l,h,j,F,v,A,O){var a=l-j,q=h-F,i=(O?A:-A)/C(a*a+q*q),n=i*q,d=-i*a,u=l+n,s=h+d,f=j+n,c=F+d,S=(u+f)/2,t=(s+c)/2,m=f-u,y=c-s,R=m*m+y*y,T=v-A,P=u*c-f*s,D=(y<0?-1:1)*C(on(0,T*T*R-P*P)),E=(P*y-m*D)/R,I=(-P*m-y*D)/R,b=(P*y+m*D)/R,p=(-P*m+y*D)/R,x=E-S,e=I-t,r=b-S,V=p-t;return x*x+e*e>r*r+V*V&&(E=b,I=p),{cx:E,cy:I,x01:-n,y01:-d,x11:E*(v/T-1),y11:I*(v/T-1)}}function hn(){var l=cn,h=gn,j=N(0),F=null,v=yn,A=dn,O=mn,a=null,q=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,S=rn(c-f),t=c>f;if(a||(a=n=q()),s<u&&(d=s,s=u,u=d),!(s>g))a.moveTo(0,0);else if(S>tn-g)a.moveTo(s*k(f),s*w(f)),a.arc(0,0,s,f,c,!t),u>g&&(a.moveTo(u*k(c),u*w(c)),a.arc(0,0,u,c,f,t));else{var m=f,y=c,R=f,T=c,P=S,D=S,E=O.apply(this,arguments)/2,I=E>g&&(F?+F.apply(this,arguments):C(u*u+s*s)),b=_(rn(s-u)/2,+j.apply(this,arguments)),p=b,x=b,e,r;if(I>g){var V=sn(I/u*w(E)),G=sn(I/s*w(E));(P-=V*2)>g?(V*=t?1:-1,R+=V,T-=V):(P=0,R=T=(f+c)/2),(D-=G*2)>g?(G*=t?1:-1,m+=G,y-=G):(D=0,m=y=(f+c)/2)}var z=s*k(m),B=s*w(m),J=u*k(T),K=u*w(T);if(b>g){var L=s*k(y),M=s*w(y),U=u*k(R),W=u*w(R),H;if(S<an)if(H=pn(z,B,U,W,L,M,J,K)){var X=z-H[0],Y=B-H[1],Z=L-H[0],$=M-H[1],nn=1/w(fn((X*Z+Y*$)/(C(X*X+Y*Y)*C(Z*Z+$*$)))/2),en=C(H[0]*H[0]+H[1]*H[1]);p=_(b,(u-en)/(nn-1)),x=_(b,(s-en)/(nn+1))}else p=x=0}D>g?x>g?(e=Q(U,W,z,B,s,x,t),r=Q(L,M,J,K,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<b?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(z,B),a.arc(0,0,s,m,y,!t)):a.moveTo(z,B),!(u>g)||!(P>g)?a.lineTo(J,K):p>g?(e=Q(J,K,L,M,u,-p,t),r=Q(z,B,U,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<b?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[k(d)*n,w(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:N(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:N(+n),i):h},i.cornerRadius=function(n){return arguments.length?(j=typeof n=="function"?n:N(+n),i):j},i.padRadius=function(n){return arguments.length?(F=n==null?null:typeof n=="function"?n:N(+n),i):F},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:N(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:N(+n),i):A},i.padAngle=function(n){return arguments.length?(O=typeof n=="function"?n:N(+n),i):O},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};