strikethroo 3.15.0 → 3.16.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.
- package/README.md +40 -28
- package/dist/cli.js +19 -0
- package/dist/cli.js.map +1 -1
- package/dist/export-profile.d.ts +50 -0
- package/dist/export-profile.d.ts.map +1 -0
- package/dist/export-profile.js +321 -0
- package/dist/export-profile.js.map +1 -0
- package/dist/harnesses/registry.d.ts +4 -2
- package/dist/harnesses/registry.d.ts.map +1 -1
- package/dist/harnesses/registry.js +4 -2
- package/dist/harnesses/registry.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -6
- package/dist/index.js.map +1 -1
- package/dist/profiles.d.ts +163 -0
- package/dist/profiles.d.ts.map +1 -0
- package/dist/profiles.js +561 -0
- package/dist/profiles.js.map +1 -0
- package/dist/types.d.ts +37 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +15 -1
- package/dist/types.js.map +1 -1
- package/dist-web/assets/{arc-DXuQKY5O.js → arc-BdcMr5jd.js} +1 -1
- package/dist-web/assets/{architectureDiagram-3BPJPVTR-DaQd1Ie5.js → architectureDiagram-3BPJPVTR-BnAmTcHT.js} +1 -1
- package/dist-web/assets/{blockDiagram-GPEHLZMM-BTAxxxkx.js → blockDiagram-GPEHLZMM-BNFpMb7h.js} +1 -1
- package/dist-web/assets/{c4Diagram-AAUBKEIU-DHuDwl7F.js → c4Diagram-AAUBKEIU-a3uHdFFh.js} +1 -1
- package/dist-web/assets/channel-B1AegTsJ.js +1 -0
- package/dist-web/assets/{chunk-2J33WTMH-BD4uHGPG.js → chunk-2J33WTMH-Cb1rS3F_.js} +1 -1
- package/dist-web/assets/{chunk-4BX2VUAB-BqVSB0Q4.js → chunk-4BX2VUAB-Cbu2WwHh.js} +1 -1
- package/dist-web/assets/{chunk-55IACEB6-F-aB1oSz.js → chunk-55IACEB6-Btz8J4o3.js} +1 -1
- package/dist-web/assets/{chunk-727SXJPM-iIr2R3ax.js → chunk-727SXJPM-CFkPMGt0.js} +1 -1
- package/dist-web/assets/{chunk-AQP2D5EJ-UpIWfDiq.js → chunk-AQP2D5EJ-CVN80l_c.js} +1 -1
- package/dist-web/assets/{chunk-FMBD7UC4-DeG5uTRD.js → chunk-FMBD7UC4-Biqwowhe.js} +1 -1
- package/dist-web/assets/{chunk-ND2GUHAM-Tkl5amOh.js → chunk-ND2GUHAM-BzX9Ayzo.js} +1 -1
- package/dist-web/assets/{chunk-QZHKN3VN-B3Af5I7v.js → chunk-QZHKN3VN-AhpyT6S6.js} +1 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-DQTkBdho.js +1 -0
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DQTkBdho.js +1 -0
- package/dist-web/assets/{cose-bilkent-S5V4N54A-uuts3r-t.js → cose-bilkent-S5V4N54A-DFpifCy9.js} +1 -1
- package/dist-web/assets/{dagre-BM42HDAG-CHrjnY3X.js → dagre-BM42HDAG-CVsCTu6Q.js} +1 -1
- package/dist-web/assets/{diagram-2AECGRRQ-BjEnf2q8.js → diagram-2AECGRRQ-DxRAae6i.js} +1 -1
- package/dist-web/assets/{diagram-5GNKFQAL-BzvzvRAO.js → diagram-5GNKFQAL-uRxpU1aY.js} +1 -1
- package/dist-web/assets/{diagram-KO2AKTUF-DNx6lZaA.js → diagram-KO2AKTUF-yZmBTogp.js} +1 -1
- package/dist-web/assets/{diagram-LMA3HP47-BQUKKiM4.js → diagram-LMA3HP47-D5sBDJEs.js} +1 -1
- package/dist-web/assets/{diagram-OG6HWLK6-MgImJXDh.js → diagram-OG6HWLK6-CUrC2NsY.js} +1 -1
- package/dist-web/assets/{erDiagram-TEJ5UH35-D79fXG1m.js → erDiagram-TEJ5UH35-BPtVvm3D.js} +1 -1
- package/dist-web/assets/{flowDiagram-I6XJVG4X-DQDtqM9F.js → flowDiagram-I6XJVG4X-CTxAlXW_.js} +1 -1
- package/dist-web/assets/{ganttDiagram-6RSMTGT7-rbAdz41p.js → ganttDiagram-6RSMTGT7-CKZqAdrb.js} +1 -1
- package/dist-web/assets/{gitGraphDiagram-PVQCEYII-C-ppoVQN.js → gitGraphDiagram-PVQCEYII-D_QUE2Yk.js} +1 -1
- package/dist-web/assets/{index-BpEA2dcR.js → index-BJHwJIE-.js} +1 -1
- package/dist-web/assets/{index-COfqZ5qw.js → index-C5QmAus-.js} +4 -4
- package/dist-web/assets/{index-D8Y-LZu5.js → index-CIPbYh7V.js} +1 -1
- package/dist-web/assets/{infoDiagram-5YYISTIA-DVx4rmpa.js → infoDiagram-5YYISTIA-DstwtY3_.js} +1 -1
- package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-Bwo2Fe41.js → ishikawaDiagram-YF4QCWOH-DzWA_Z4E.js} +1 -1
- package/dist-web/assets/{journeyDiagram-JHISSGLW-Cpk1cbVU.js → journeyDiagram-JHISSGLW-Broa94s1.js} +1 -1
- package/dist-web/assets/{kanban-definition-UN3LZRKU-DT5hIyrL.js → kanban-definition-UN3LZRKU-iCGebECw.js} +1 -1
- package/dist-web/assets/{linear-BHILOJgo.js → linear-BbhEQio-.js} +1 -1
- package/dist-web/assets/{mermaid.core-BYlMWjDD.js → mermaid.core-Dktix7jr.js} +4 -4
- package/dist-web/assets/{mindmap-definition-RKZ34NQL-CjhPuIMr.js → mindmap-definition-RKZ34NQL-Dlt7B8sZ.js} +1 -1
- package/dist-web/assets/{pieDiagram-4H26LBE5-BzD5r6aw.js → pieDiagram-4H26LBE5-BIJOxvr9.js} +1 -1
- package/dist-web/assets/{quadrantDiagram-W4KKPZXB-ieE6W8Lz.js → quadrantDiagram-W4KKPZXB-D61Svqs4.js} +1 -1
- package/dist-web/assets/{requirementDiagram-4Y6WPE33-B6Z6Nlwn.js → requirementDiagram-4Y6WPE33-CwVYBSDU.js} +1 -1
- package/dist-web/assets/{sankeyDiagram-5OEKKPKP-BAz2Fhdr.js → sankeyDiagram-5OEKKPKP-BRuiPIPy.js} +1 -1
- package/dist-web/assets/{sequenceDiagram-3UESZ5HK-Dce-js6I.js → sequenceDiagram-3UESZ5HK-WbXWfwZW.js} +1 -1
- package/dist-web/assets/{stateDiagram-AJRCARHV-DGx4tUMu.js → stateDiagram-AJRCARHV-BbCDSe1a.js} +1 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-COr1BkSm.js +1 -0
- package/dist-web/assets/{timeline-definition-PNZ67QCA-B8KWHkBS.js → timeline-definition-PNZ67QCA-DfeNCxUY.js} +1 -1
- package/dist-web/assets/{vennDiagram-CIIHVFJN-ByWUGcRD.js → vennDiagram-CIIHVFJN-C_gT6xzB.js} +1 -1
- package/dist-web/assets/{wardley-L42UT6IY-C1B0dt0L.js → wardley-L42UT6IY-EgSwcx7F.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-YWT4CUSO-BrCqwemc.js → wardleyDiagram-YWT4CUSO-ByKkgBTO.js} +1 -1
- package/dist-web/assets/{xychartDiagram-2RQKCTM6-Br_yjZmA.js → xychartDiagram-2RQKCTM6-QcBA0sLp.js} +1 -1
- package/dist-web/index.html +1 -1
- package/package.json +3 -3
- package/templates/strikethroo/gitignore +30 -0
- package/dist-web/assets/channel-CKed0YrQ.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-CD2fBLcy.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-CD2fBLcy.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-kMJLTVIN.js +0 -1
- package/templates/strikethroo/runtime/.gitignore +0 -2
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAoC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAoC,MAAM,SAAS,CAAC;AA6FvF;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA0HvE;AA8ND;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtE"}
|
package/dist/index.js
CHANGED
|
@@ -52,9 +52,24 @@ const metadata_1 = require("./metadata");
|
|
|
52
52
|
const conflict_detector_1 = require("./conflict-detector");
|
|
53
53
|
const prompts_1 = require("./prompts");
|
|
54
54
|
const harnesses_1 = require("./harnesses");
|
|
55
|
+
const profiles_1 = require("./profiles");
|
|
55
56
|
// Visual formatting constants
|
|
56
57
|
const TERM_WIDTH = 80;
|
|
57
58
|
const DIVIDER = '─'.repeat(TERM_WIDTH);
|
|
59
|
+
/**
|
|
60
|
+
* Template-side name of the workspace ignore file, and the name it lands under.
|
|
61
|
+
*
|
|
62
|
+
* The file cannot ship under its final name: npm mangles `.gitignore` at both
|
|
63
|
+
* ends of the pipe. npm-packlist reads one as ignore rules and drops it from
|
|
64
|
+
* the tarball, and any that survives packing is renamed to `.npmignore` on
|
|
65
|
+
* extract. A workspace installed from npm therefore got no ignore file at all,
|
|
66
|
+
* and its machine-generated dispatch cache showed up as untracked content —
|
|
67
|
+
* including inside the code review gate's diff, which only excludes paths git
|
|
68
|
+
* already ignores. Shipping under a neutral name and renaming at copy time is
|
|
69
|
+
* the only delivery that behaves the same from the package and from a checkout.
|
|
70
|
+
*/
|
|
71
|
+
const WORKSPACE_IGNORE_TEMPLATE = 'gitignore';
|
|
72
|
+
const WORKSPACE_IGNORE_FILE = '.gitignore';
|
|
58
73
|
/**
|
|
59
74
|
* Format a section header with cyan styling
|
|
60
75
|
*/
|
|
@@ -119,6 +134,7 @@ async function exists(filepath) {
|
|
|
119
134
|
* @returns CommandResult indicating success or failure with details
|
|
120
135
|
*/
|
|
121
136
|
async function init(options) {
|
|
137
|
+
let preparedProfile;
|
|
122
138
|
try {
|
|
123
139
|
// Determine base directory
|
|
124
140
|
const baseDir = options.destinationDirectory || '.';
|
|
@@ -126,6 +142,12 @@ async function init(options) {
|
|
|
126
142
|
// Parse and validate harnesses
|
|
127
143
|
const harnesses = (0, utils_1.parseHarnesses)(options.harnesses);
|
|
128
144
|
(0, utils_1.validateHarnesses)(harnesses);
|
|
145
|
+
// Prepare the strikethroo profile import (resolve/clone/validate/stage)
|
|
146
|
+
// BEFORE any destination mutation, so a failed import leaves the
|
|
147
|
+
// destination untouched.
|
|
148
|
+
if (options.profile) {
|
|
149
|
+
preparedProfile = await (0, profiles_1.prepareProfileImport)(options.profile, getTemplatePath('strikethroo'));
|
|
150
|
+
}
|
|
129
151
|
// ========== HEADER SECTION ==========
|
|
130
152
|
console.log(chalk_1.default.bold.white('\nStrikethroo Initialization'));
|
|
131
153
|
console.log(chalk_1.default.gray(DIVIDER));
|
|
@@ -133,6 +155,10 @@ async function init(options) {
|
|
|
133
155
|
console.log(formatSectionHeader('Configuration'));
|
|
134
156
|
console.log(` ${chalk_1.default.cyan('●')} Target Directory: ${resolvedBaseDir}`);
|
|
135
157
|
console.log(` ${chalk_1.default.cyan('●')} Harnesses: ${harnesses.join(', ')}`);
|
|
158
|
+
// ========== STRIKETHROO PROFILE SECTION (only when importing one) ==========
|
|
159
|
+
if (preparedProfile) {
|
|
160
|
+
displayProfileSection(preparedProfile.manifest, preparedProfile.source);
|
|
161
|
+
}
|
|
136
162
|
// ========== SETUP PROGRESS SECTION ==========
|
|
137
163
|
console.log(formatSectionHeader('Setup Progress'));
|
|
138
164
|
// Create .ai/strikethroo structure
|
|
@@ -142,7 +168,11 @@ async function init(options) {
|
|
|
142
168
|
await fs.ensureDir(resolvePath(baseDir, '.ai/strikethroo/config/hooks'));
|
|
143
169
|
// Copy common templates to .ai/strikethroo with conflict detection
|
|
144
170
|
console.log(` ${chalk_1.default.green('✓')} Copying common template files`);
|
|
145
|
-
await copyCommonTemplates(baseDir, options.force || false);
|
|
171
|
+
await copyCommonTemplates(baseDir, options.force || false, preparedProfile?.stagingDir);
|
|
172
|
+
// Record strikethroo profile provenance in the freshly written metadata
|
|
173
|
+
if (preparedProfile) {
|
|
174
|
+
await recordProfileProvenance(resolvePath(baseDir, '.ai/strikethroo/.init-metadata.json'), preparedProfile.manifest.name, preparedProfile.source);
|
|
175
|
+
}
|
|
146
176
|
// Create harness-specific directories and copy templates via the registry
|
|
147
177
|
const allCreatedAgentFiles = new Map();
|
|
148
178
|
for (const harness of harnesses) {
|
|
@@ -194,12 +224,60 @@ async function init(options) {
|
|
|
194
224
|
error: error instanceof Error ? error : new Error(String(error)),
|
|
195
225
|
};
|
|
196
226
|
}
|
|
227
|
+
finally {
|
|
228
|
+
// Remove the profile staging temp dirs once the copy machinery is done,
|
|
229
|
+
// on success and failure alike (cleanup is idempotent).
|
|
230
|
+
if (preparedProfile) {
|
|
231
|
+
await preparedProfile.cleanup();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Print the strikethroo profile section: identity, hard prerequisites
|
|
237
|
+
* (emphasized — never probed or installed), and soft pairings
|
|
238
|
+
*/
|
|
239
|
+
function displayProfileSection(manifest, source) {
|
|
240
|
+
console.log(formatSectionHeader('Strikethroo Profile'));
|
|
241
|
+
console.log(` ${chalk_1.default.cyan('●')} Name: ${manifest.name}`);
|
|
242
|
+
console.log(` ${chalk_1.default.cyan('●')} Description: ${manifest.description}`);
|
|
243
|
+
console.log(` ${chalk_1.default.cyan('●')} Source: ${source}`);
|
|
244
|
+
if (manifest.requires && manifest.requires.length > 0) {
|
|
245
|
+
console.log(chalk_1.default.yellow.bold('\n This strikethroo profile assumes you have:'));
|
|
246
|
+
for (const requirement of manifest.requires) {
|
|
247
|
+
const hint = requirement.install ? chalk_1.default.gray(` — install: ${requirement.install}`) : '';
|
|
248
|
+
console.log(` ${chalk_1.default.yellow('▲')} ${chalk_1.default.bold(`${requirement.name} (${requirement.kind})`)}${hint}`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
if (manifest.recommends && manifest.recommends.length > 0) {
|
|
252
|
+
console.log(chalk_1.default.gray('\n This strikethroo profile pairs well with:'));
|
|
253
|
+
for (const recommendation of manifest.recommends) {
|
|
254
|
+
const hint = recommendation.install ? ` — install: ${recommendation.install}` : '';
|
|
255
|
+
console.log(chalk_1.default.gray(` ● ${recommendation.name} (${recommendation.kind})${hint}`));
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Record strikethroo profile provenance in the just-written metadata file.
|
|
261
|
+
*
|
|
262
|
+
* Small wrapper around load/save so `createMetadata` and the no-profile
|
|
263
|
+
* metadata shape stay untouched: the `profile` field exists only when a
|
|
264
|
+
* profile was imported.
|
|
265
|
+
*/
|
|
266
|
+
async function recordProfileProvenance(metadataPath, name, source) {
|
|
267
|
+
const metadata = await (0, metadata_1.loadMetadata)(metadataPath);
|
|
268
|
+
if (!metadata) {
|
|
269
|
+
throw new Error(`Cannot record strikethroo profile provenance: metadata file missing or invalid at ${metadataPath}`);
|
|
270
|
+
}
|
|
271
|
+
metadata.profile = { name, source, importedAt: new Date().toISOString() };
|
|
272
|
+
await (0, metadata_1.saveMetadata)(metadataPath, metadata);
|
|
197
273
|
}
|
|
198
274
|
/**
|
|
199
275
|
* Copy common template files to .ai/strikethroo directory with conflict detection
|
|
276
|
+
*
|
|
277
|
+
* @param sourceDir - Source template tree; defaults to the shipped
|
|
278
|
+
* `templates/strikethroo/` path, overridden by a profile staging tree
|
|
200
279
|
*/
|
|
201
|
-
async function copyCommonTemplates(baseDir, force) {
|
|
202
|
-
const sourceDir = getTemplatePath('strikethroo');
|
|
280
|
+
async function copyCommonTemplates(baseDir, force, sourceDir = getTemplatePath('strikethroo')) {
|
|
203
281
|
const destDir = resolvePath(baseDir, '.ai/strikethroo');
|
|
204
282
|
const metadataPath = resolvePath(destDir, '.init-metadata.json');
|
|
205
283
|
// Check if source template directory exists
|
|
@@ -208,16 +286,23 @@ async function copyCommonTemplates(baseDir, force) {
|
|
|
208
286
|
}
|
|
209
287
|
// Load existing metadata if present
|
|
210
288
|
const existingMetadata = await (0, metadata_1.loadMetadata)(metadataPath);
|
|
289
|
+
// The ignore file is copied separately, under its final name
|
|
290
|
+
const copyOptions = {
|
|
291
|
+
overwrite: true,
|
|
292
|
+
filter: (src) => path.relative(sourceDir, src) !== WORKSPACE_IGNORE_TEMPLATE,
|
|
293
|
+
};
|
|
211
294
|
// Scenario 1: First-time init (no metadata) - copy all files
|
|
212
295
|
if (!existingMetadata) {
|
|
213
|
-
await fs.copy(sourceDir, destDir);
|
|
296
|
+
await fs.copy(sourceDir, destDir, copyOptions);
|
|
297
|
+
await copyWorkspaceIgnoreFile(sourceDir, destDir);
|
|
214
298
|
// Create initial metadata
|
|
215
299
|
await createMetadata(sourceDir, destDir, metadataPath);
|
|
216
300
|
return;
|
|
217
301
|
}
|
|
218
302
|
// Scenario 2: Force flag - overwrite all files
|
|
219
303
|
if (force) {
|
|
220
|
-
await fs.copy(sourceDir, destDir,
|
|
304
|
+
await fs.copy(sourceDir, destDir, copyOptions);
|
|
305
|
+
await copyWorkspaceIgnoreFile(sourceDir, destDir);
|
|
221
306
|
// Update metadata
|
|
222
307
|
await createMetadata(sourceDir, destDir, metadataPath);
|
|
223
308
|
return;
|
|
@@ -225,7 +310,8 @@ async function copyCommonTemplates(baseDir, force) {
|
|
|
225
310
|
// Scenario 3: Conflict detection - check for user modifications
|
|
226
311
|
const conflicts = await (0, conflict_detector_1.detectConflicts)(destDir, sourceDir, existingMetadata);
|
|
227
312
|
if (conflicts.length === 0) {
|
|
228
|
-
await fs.copy(sourceDir, destDir,
|
|
313
|
+
await fs.copy(sourceDir, destDir, copyOptions);
|
|
314
|
+
await copyWorkspaceIgnoreFile(sourceDir, destDir);
|
|
229
315
|
// Update metadata
|
|
230
316
|
await createMetadata(sourceDir, destDir, metadataPath);
|
|
231
317
|
return;
|
|
@@ -235,9 +321,27 @@ async function copyCommonTemplates(baseDir, force) {
|
|
|
235
321
|
const resolutions = await (0, prompts_1.promptForConflicts)(conflicts);
|
|
236
322
|
// Apply resolutions
|
|
237
323
|
await applyResolutions(sourceDir, destDir, resolutions);
|
|
324
|
+
await copyWorkspaceIgnoreFile(sourceDir, destDir);
|
|
238
325
|
// Update metadata for all files (including resolved conflicts)
|
|
239
326
|
await createMetadata(sourceDir, destDir, metadataPath);
|
|
240
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Copy the workspace ignore template to its final `.gitignore` name.
|
|
330
|
+
*
|
|
331
|
+
* Runs on every init path, including the conflict path — conflict detection
|
|
332
|
+
* and hash tracking are scoped to `config/`, so this file has no baseline to
|
|
333
|
+
* compare against and is refreshed rather than prompted over. Refreshing is
|
|
334
|
+
* the behaviour that matters here: a workspace initialized before an entry was
|
|
335
|
+
* added would otherwise keep leaking the paths that entry covers.
|
|
336
|
+
*/
|
|
337
|
+
async function copyWorkspaceIgnoreFile(sourceDir, destDir) {
|
|
338
|
+
const source = path.join(sourceDir, WORKSPACE_IGNORE_TEMPLATE);
|
|
339
|
+
if (!(await exists(source))) {
|
|
340
|
+
throw new Error(`Workspace ignore template not found: ${source}. The published package must ship ` +
|
|
341
|
+
`templates/strikethroo/${WORKSPACE_IGNORE_TEMPLATE}.`);
|
|
342
|
+
}
|
|
343
|
+
await fs.copy(source, path.join(destDir, WORKSPACE_IGNORE_FILE), { overwrite: true });
|
|
344
|
+
}
|
|
241
345
|
/**
|
|
242
346
|
* Create or update metadata file with current file hashes
|
|
243
347
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile Package Contract and Import Preparation
|
|
3
|
+
*
|
|
4
|
+
* Defines the manifest schema (`profile.yaml`) and on-disk surface every
|
|
5
|
+
* profile package — local folder or cloned repository — must satisfy, and
|
|
6
|
+
* owns the import steps that run before any workspace mutation: source
|
|
7
|
+
* resolution (local folder / GitHub shorthand / git URL), shallow-clone
|
|
8
|
+
* materialization of remote profiles, contract validation, and staging of
|
|
9
|
+
* the effective template tree (shipped defaults + profile overlay).
|
|
10
|
+
*
|
|
11
|
+
* Validation is side-effect-free: it only reads the package directory.
|
|
12
|
+
* Materialization and staging write only to temp directories under the OS
|
|
13
|
+
* temp root, and every temp directory is removed on every exit path.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Manifest schema version this CLI build understands.
|
|
17
|
+
*
|
|
18
|
+
* Profiles live in external repositories the CLI can never migrate, so a
|
|
19
|
+
* manifest declaring a different version is refused with a message naming
|
|
20
|
+
* both versions and the upgrade direction.
|
|
21
|
+
*/
|
|
22
|
+
export declare const PROFILE_MANIFEST_SCHEMA_VERSION = 1;
|
|
23
|
+
/**
|
|
24
|
+
* A single entry in a manifest's `requires` or `recommends` list.
|
|
25
|
+
*
|
|
26
|
+
* Strictly informational: printed during import, never probed, executed,
|
|
27
|
+
* or installed.
|
|
28
|
+
*/
|
|
29
|
+
export interface ProfileRequirement {
|
|
30
|
+
/**
|
|
31
|
+
* What kind of prerequisite this is
|
|
32
|
+
*/
|
|
33
|
+
kind: 'skill' | 'tool';
|
|
34
|
+
/**
|
|
35
|
+
* Name of the required skill or tool
|
|
36
|
+
*/
|
|
37
|
+
name: string;
|
|
38
|
+
/**
|
|
39
|
+
* Optional human-facing installation hint
|
|
40
|
+
*/
|
|
41
|
+
install?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Parsed `profile.yaml` manifest
|
|
45
|
+
*/
|
|
46
|
+
export interface ProfileManifest {
|
|
47
|
+
/**
|
|
48
|
+
* Manifest format version (must equal PROFILE_MANIFEST_SCHEMA_VERSION)
|
|
49
|
+
*/
|
|
50
|
+
schema_version: number;
|
|
51
|
+
/**
|
|
52
|
+
* Profile identity (kebab-case), echoed at import and recorded in provenance
|
|
53
|
+
*/
|
|
54
|
+
name: string;
|
|
55
|
+
/**
|
|
56
|
+
* One-line summary shown during init
|
|
57
|
+
*/
|
|
58
|
+
description: string;
|
|
59
|
+
/**
|
|
60
|
+
* Long-form statement of what the profile is tuned for
|
|
61
|
+
*/
|
|
62
|
+
purpose?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Free-form discovery/labeling tags
|
|
65
|
+
*/
|
|
66
|
+
tags?: string[];
|
|
67
|
+
/**
|
|
68
|
+
* Hard prerequisites without which the profile's hooks/config malfunction
|
|
69
|
+
*/
|
|
70
|
+
requires?: ProfileRequirement[];
|
|
71
|
+
/**
|
|
72
|
+
* Soft pairings that complement the profile
|
|
73
|
+
*/
|
|
74
|
+
recommends?: ProfileRequirement[];
|
|
75
|
+
/**
|
|
76
|
+
* Attribution
|
|
77
|
+
*/
|
|
78
|
+
author?: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Validate a profile package directory against the contract.
|
|
82
|
+
*
|
|
83
|
+
* Checks, in order: `profile.yaml` exists and parses as a YAML mapping, the
|
|
84
|
+
* manifest fields satisfy the schema, and the `config/` surface contains only
|
|
85
|
+
* allowed files. Top-level entries other than `profile.yaml` and `config/`
|
|
86
|
+
* are ignored (a repository may carry `README.md`, `.git`, etc.).
|
|
87
|
+
*
|
|
88
|
+
* @param profileDir - Absolute or relative path to the package root
|
|
89
|
+
* @returns The parsed manifest on success
|
|
90
|
+
* @throws ProfileError naming the offending field or file on any violation
|
|
91
|
+
*/
|
|
92
|
+
export declare function validateProfilePackage(profileDir: string): Promise<ProfileManifest>;
|
|
93
|
+
/**
|
|
94
|
+
* A `--profile` value resolved to its concrete source
|
|
95
|
+
*/
|
|
96
|
+
export interface ResolvedProfileSource {
|
|
97
|
+
/**
|
|
98
|
+
* Whether the profile is read in place ('local') or cloned via git ('git')
|
|
99
|
+
*/
|
|
100
|
+
kind: 'local' | 'git';
|
|
101
|
+
/**
|
|
102
|
+
* Absolute local package path ('local') or git clone URL ('git')
|
|
103
|
+
*/
|
|
104
|
+
location: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Result of preparing a profile import, ready for the init copy machinery
|
|
108
|
+
*/
|
|
109
|
+
export interface PreparedProfileImport {
|
|
110
|
+
/**
|
|
111
|
+
* Temp directory mirroring `templates/strikethroo/` with the profile's
|
|
112
|
+
* `config/` files overlaid — the effective source tree for init
|
|
113
|
+
*/
|
|
114
|
+
stagingDir: string;
|
|
115
|
+
/**
|
|
116
|
+
* The profile's validated manifest
|
|
117
|
+
*/
|
|
118
|
+
manifest: ProfileManifest;
|
|
119
|
+
/**
|
|
120
|
+
* Resolved provenance: the clone URL or the absolute local package path
|
|
121
|
+
*/
|
|
122
|
+
source: string;
|
|
123
|
+
/**
|
|
124
|
+
* Removes every temp directory this import created; safe to call more
|
|
125
|
+
* than once and tolerant of already-removed paths
|
|
126
|
+
*/
|
|
127
|
+
cleanup: () => Promise<void>;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Resolve a `--profile` value to its source.
|
|
131
|
+
*
|
|
132
|
+
* Resolution order is contractual: (a) the value names an existing directory
|
|
133
|
+
* on disk → local package folder; (b) the value matches the GitHub
|
|
134
|
+
* `<user>/<repo-name>` shorthand → expanded to the canonical GitHub clone
|
|
135
|
+
* URL; (c) otherwise → treated verbatim as a git URL (covers GitLab, ssh
|
|
136
|
+
* URLs, and any git host). The existing-path check runs first, so a relative
|
|
137
|
+
* local path that happens to look like `user/repo` resolves as the folder.
|
|
138
|
+
*
|
|
139
|
+
* @param value - The raw `--profile` argument
|
|
140
|
+
* @returns The resolved source kind and location
|
|
141
|
+
* @throws ProfileError when the value names an existing non-directory path
|
|
142
|
+
*/
|
|
143
|
+
export declare function resolveProfileSource(value: string): Promise<ResolvedProfileSource>;
|
|
144
|
+
/**
|
|
145
|
+
* Resolve, materialize, validate, and stage a profile for import.
|
|
146
|
+
*
|
|
147
|
+
* Steps, in order: resolve the source; shallow-clone remote profiles into a
|
|
148
|
+
* temp directory (local folders are read in place); validate the package
|
|
149
|
+
* against the contract BEFORE any staging, so an invalid profile never
|
|
150
|
+
* produces a staging tree; copy the shipped template tree into a temp
|
|
151
|
+
* staging directory and overlay the profile's `config/` files.
|
|
152
|
+
*
|
|
153
|
+
* Every temp directory is removed on every failure path before the error is
|
|
154
|
+
* rethrown. On success the caller receives `cleanup` and must invoke it once
|
|
155
|
+
* the copy machinery has consumed `stagingDir`.
|
|
156
|
+
*
|
|
157
|
+
* @param profileValue - The raw `--profile` argument
|
|
158
|
+
* @param shippedTemplateDir - Path to the shipped `templates/strikethroo/` tree
|
|
159
|
+
* @returns The staging directory, validated manifest, resolved source, and cleanup
|
|
160
|
+
* @throws ProfileError on resolution, clone, validation, or staging failure
|
|
161
|
+
*/
|
|
162
|
+
export declare function prepareProfileImport(profileValue: string, shippedTemplateDir: string): Promise<PreparedProfileImport>;
|
|
163
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAIzF;AAaD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6BxF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,qBAAqB,CAAC,CAsBhC"}
|