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.
- package/README.md +10 -0
- package/dist/cli.js +19 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -15
- package/dist/index.js.map +1 -1
- package/dist/resolve-init-harnesses.d.ts +30 -0
- package/dist/resolve-init-harnesses.d.ts.map +1 -0
- package/dist/resolve-init-harnesses.js +44 -0
- package/dist/resolve-init-harnesses.js.map +1 -0
- package/dist/types.d.ts +32 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/update.d.ts +28 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +198 -0
- package/dist/update.js.map +1 -0
- package/dist-web/assets/{arc-Dnj8t_Cg.js → arc-CguPlWfb.js} +1 -1
- package/dist-web/assets/{architectureDiagram-3BPJPVTR-7x3i_pmi.js → architectureDiagram-3BPJPVTR-D65RMVqJ.js} +1 -1
- package/dist-web/assets/{blockDiagram-GPEHLZMM-Cg2a93ny.js → blockDiagram-GPEHLZMM-CNIwP_yH.js} +1 -1
- package/dist-web/assets/{c4Diagram-AAUBKEIU-DMmHyu1B.js → c4Diagram-AAUBKEIU-CuZ4SoKV.js} +1 -1
- package/dist-web/assets/channel-BL14r_5w.js +1 -0
- package/dist-web/assets/{chunk-2J33WTMH-BarACI5V.js → chunk-2J33WTMH-DM4ZcjVq.js} +1 -1
- package/dist-web/assets/{chunk-4BX2VUAB-D1jdtJjC.js → chunk-4BX2VUAB-DI3-zGiF.js} +1 -1
- package/dist-web/assets/{chunk-55IACEB6-D3ecVMrb.js → chunk-55IACEB6-DBdh-eer.js} +1 -1
- package/dist-web/assets/{chunk-727SXJPM-DXNd005W.js → chunk-727SXJPM-B0HDPh0I.js} +1 -1
- package/dist-web/assets/{chunk-AQP2D5EJ-C0VOl8ox.js → chunk-AQP2D5EJ-C0MnLmRm.js} +1 -1
- package/dist-web/assets/{chunk-FMBD7UC4-DcTxd98r.js → chunk-FMBD7UC4-CmggDcp1.js} +1 -1
- package/dist-web/assets/{chunk-ND2GUHAM-CAMtgZHg.js → chunk-ND2GUHAM-BSIdB1y0.js} +1 -1
- package/dist-web/assets/{chunk-QZHKN3VN-DWfV0bq5.js → chunk-QZHKN3VN-BTHsXhgb.js} +1 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-DBkbEi_3.js +1 -0
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DBkbEi_3.js +1 -0
- package/dist-web/assets/{cose-bilkent-S5V4N54A-Csc9VNPk.js → cose-bilkent-S5V4N54A-IXUMXU5h.js} +1 -1
- package/dist-web/assets/{dagre-BM42HDAG-BnwRiOXb.js → dagre-BM42HDAG-CtwBET_X.js} +1 -1
- package/dist-web/assets/{diagram-2AECGRRQ-wPIOyrHK.js → diagram-2AECGRRQ-DRe1AFa_.js} +1 -1
- package/dist-web/assets/{diagram-5GNKFQAL-TccsDwtZ.js → diagram-5GNKFQAL-D9IRdgWX.js} +1 -1
- package/dist-web/assets/{diagram-KO2AKTUF-DtAJCwJt.js → diagram-KO2AKTUF-CQi7gmRS.js} +1 -1
- package/dist-web/assets/{diagram-LMA3HP47-BvMQVWoO.js → diagram-LMA3HP47-B0fp5jh8.js} +1 -1
- package/dist-web/assets/{diagram-OG6HWLK6-BPxOm_5c.js → diagram-OG6HWLK6-B2ujFhv2.js} +1 -1
- package/dist-web/assets/{erDiagram-TEJ5UH35-CRPnIDwq.js → erDiagram-TEJ5UH35-DcxHh3A8.js} +1 -1
- package/dist-web/assets/{flowDiagram-I6XJVG4X-DBLbHpW_.js → flowDiagram-I6XJVG4X-Btsglt1O.js} +1 -1
- package/dist-web/assets/{ganttDiagram-6RSMTGT7-gZhN1gnI.js → ganttDiagram-6RSMTGT7-BRaGl6R4.js} +1 -1
- package/dist-web/assets/{gitGraphDiagram-PVQCEYII-Dssi43fY.js → gitGraphDiagram-PVQCEYII-Cl1DR87j.js} +1 -1
- package/dist-web/assets/{index-CEGCvBkm.js → index-CxXoZ0_J.js} +1 -1
- package/dist-web/assets/{index-Nz3QPmKb.js → index-DXt7jz3h.js} +4 -4
- package/dist-web/assets/{index-BdDnJAsd.js → index-DZ4QtqqW.js} +1 -1
- package/dist-web/assets/{infoDiagram-5YYISTIA-sXzUxho2.js → infoDiagram-5YYISTIA-GMZDkbDI.js} +1 -1
- package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-BPHTll-A.js → ishikawaDiagram-YF4QCWOH-DC8HBMwN.js} +1 -1
- package/dist-web/assets/{journeyDiagram-JHISSGLW-h2TzQwJC.js → journeyDiagram-JHISSGLW-4KT1uAXJ.js} +1 -1
- package/dist-web/assets/{kanban-definition-UN3LZRKU-1xkUO8WZ.js → kanban-definition-UN3LZRKU-bBpM_7W0.js} +1 -1
- package/dist-web/assets/{linear-D_7aXIXs.js → linear-BzW5Mi4V.js} +1 -1
- package/dist-web/assets/{mermaid.core-Bwdbg8D0.js → mermaid.core-BZXehlCp.js} +4 -4
- package/dist-web/assets/{mindmap-definition-RKZ34NQL-eAYjLKqV.js → mindmap-definition-RKZ34NQL-B8RhYsaN.js} +1 -1
- package/dist-web/assets/{pieDiagram-4H26LBE5-CWfU-OAg.js → pieDiagram-4H26LBE5-DV749i9Y.js} +1 -1
- package/dist-web/assets/{quadrantDiagram-W4KKPZXB-CgKKzr9p.js → quadrantDiagram-W4KKPZXB-Cduffe8j.js} +1 -1
- package/dist-web/assets/{requirementDiagram-4Y6WPE33-Dx-cDqCB.js → requirementDiagram-4Y6WPE33-C7KngwZn.js} +1 -1
- package/dist-web/assets/{sankeyDiagram-5OEKKPKP-B_yYv0Dy.js → sankeyDiagram-5OEKKPKP-CJjwUGG3.js} +1 -1
- package/dist-web/assets/{sequenceDiagram-3UESZ5HK--QLtZ1Rs.js → sequenceDiagram-3UESZ5HK-BARiZOtJ.js} +1 -1
- package/dist-web/assets/{stateDiagram-AJRCARHV-DVmFu5R7.js → stateDiagram-AJRCARHV-DA1dHBGx.js} +1 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-D4ioaqC3.js +1 -0
- package/dist-web/assets/{timeline-definition-PNZ67QCA-BUtZCLUr.js → timeline-definition-PNZ67QCA-ClE6cvJF.js} +1 -1
- package/dist-web/assets/{vennDiagram-CIIHVFJN-CiAEMMvF.js → vennDiagram-CIIHVFJN-BLR57Itf.js} +1 -1
- package/dist-web/assets/{wardley-L42UT6IY-CzeU7tOS.js → wardley-L42UT6IY-EA8x1UUF.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-YWT4CUSO-vvP_uZTz.js → wardleyDiagram-YWT4CUSO-DHktlei-.js} +1 -1
- package/dist-web/assets/{xychartDiagram-2RQKCTM6-vSFbOWXi.js → xychartDiagram-2RQKCTM6-DOxQD_Ha.js} +1 -1
- package/dist-web/index.html +1 -1
- package/package.json +4 -1
- package/templates/harness/skills/st-code-review/SKILL.md +3 -7
- package/templates/harness/skills/st-create-plan/SKILL.md +33 -44
- package/templates/harness/skills/st-create-plan/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-blueprint/SKILL.md +37 -63
- package/templates/harness/skills/st-execute-blueprint/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-blueprint/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-execute-task/SKILL.md +36 -79
- package/templates/harness/skills/st-execute-task/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-task/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-full-workflow/SKILL.md +139 -270
- package/templates/harness/skills/st-full-workflow/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-full-workflow/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-generate-tasks/SKILL.md +91 -155
- package/templates/harness/skills/st-generate-tasks/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-refine-plan/SKILL.md +63 -109
- package/templates/harness/skills/st-refine-plan/scripts/check-for-updates.cjs +2502 -0
- package/templates/strikethroo/config/templates/UPDATE_NOTICE_TEMPLATE.md +1 -0
- package/dist-web/assets/channel-Bb0_vDD8.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-R25Yhm3n.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-R25Yhm3n.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-DBs8K0hr.js +0 -1
- package/templates/harness/skills/st-full-workflow/references/task-frontmatter.md +0 -23
- package/templates/harness/skills/st-full-workflow/references/test-philosophy.md +0 -17
- package/templates/harness/skills/st-generate-tasks/references/task-frontmatter.md +0 -23
- 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-
|
|
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};
|