strikethroo 4.1.0 → 4.2.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 +2 -2
- package/dist/__tests__/fixtures/blueprint-trailing-summary.d.ts +14 -0
- package/dist/__tests__/fixtures/blueprint-trailing-summary.d.ts.map +1 -0
- package/dist/__tests__/fixtures/blueprint-trailing-summary.js +54 -0
- package/dist/__tests__/fixtures/blueprint-trailing-summary.js.map +1 -0
- package/dist/__tests__/fixtures/review-gate.d.ts +3 -0
- package/dist/__tests__/fixtures/review-gate.d.ts.map +1 -1
- package/dist/__tests__/fixtures/review-gate.js +5 -0
- package/dist/__tests__/fixtures/review-gate.js.map +1 -1
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/conflict-detector.d.ts +28 -12
- package/dist/conflict-detector.d.ts.map +1 -1
- package/dist/conflict-detector.js +45 -53
- package/dist/conflict-detector.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +97 -86
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +2 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +3 -2
- package/dist/metadata.js.map +1 -1
- package/dist/prompts.d.ts +6 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +47 -3
- package/dist/prompts.js.map +1 -1
- package/dist/serve/derivation.d.ts +17 -19
- package/dist/serve/derivation.d.ts.map +1 -1
- package/dist/serve/derivation.js +43 -82
- package/dist/serve/derivation.js.map +1 -1
- package/dist/serve/server.js +1 -1
- package/dist/serve/server.js.map +1 -1
- package/dist/serve/workspace-model.d.ts +11 -17
- package/dist/serve/workspace-model.d.ts.map +1 -1
- package/dist/serve/workspace-model.js +48 -49
- package/dist/serve/workspace-model.js.map +1 -1
- package/dist/skill-scripts/shared/blueprint-parse.d.ts +16 -0
- package/dist/skill-scripts/shared/blueprint-parse.d.ts.map +1 -0
- package/dist/skill-scripts/shared/blueprint-parse.js +66 -0
- package/dist/skill-scripts/shared/blueprint-parse.js.map +1 -0
- package/dist/skill-scripts/shared/root.d.ts +8 -0
- package/dist/skill-scripts/shared/root.d.ts.map +1 -1
- package/dist/skill-scripts/shared/root.js +17 -6
- package/dist/skill-scripts/shared/root.js.map +1 -1
- package/dist/validation/graph-checks.d.ts +6 -14
- package/dist/validation/graph-checks.d.ts.map +1 -1
- package/dist/validation/graph-checks.js +8 -15
- package/dist/validation/graph-checks.js.map +1 -1
- package/dist/validation/metadata-gate.d.ts +2 -6
- package/dist/validation/metadata-gate.d.ts.map +1 -1
- package/dist/validation/metadata-gate.js +17 -6
- package/dist/validation/metadata-gate.js.map +1 -1
- package/dist/validation/strict-pass.d.ts.map +1 -1
- package/dist/validation/strict-pass.js +50 -6
- package/dist/validation/strict-pass.js.map +1 -1
- package/dist-web/assets/{abnfDiagram-VCTEODGH-BCoAyQ8y.js → abnfDiagram-VCTEODGH-DSMKo3Lo.js} +1 -1
- package/dist-web/assets/architecture-7GRP2DOG-CsQWEZRw.js +1 -0
- package/dist-web/assets/{architectureDiagram-5GKGNRK7-BbYvyste.js → architectureDiagram-5GKGNRK7-DLXrZ7cD.js} +1 -1
- package/dist-web/assets/{blockDiagram-I7D4REHJ-CGYIKoI0.js → blockDiagram-I7D4REHJ-DtCl3qgk.js} +1 -1
- package/dist-web/assets/{c4Diagram-7LVT6UL2-Cpat9Q1R.js → c4Diagram-7LVT6UL2-DNDG6njL.js} +1 -1
- package/dist-web/assets/channel-C9Rb8ylW.js +1 -0
- package/dist-web/assets/{chunk-4HAMMTFA-D1PXshWJ.js → chunk-4HAMMTFA-cd5BQWYY.js} +1 -1
- package/dist-web/assets/{chunk-75Z2AOVW-C19f30iG.js → chunk-75Z2AOVW-B4Iofn10.js} +1 -1
- package/dist-web/assets/{chunk-DU6HZSFF-CV-KOPc1.js → chunk-DU6HZSFF-ERfL4Ega.js} +1 -1
- package/dist-web/assets/{chunk-F27PBJKO-DMfX40T1.js → chunk-F27PBJKO-D1ntHC_T.js} +1 -1
- package/dist-web/assets/{chunk-GMAD6QVW-Nd9kACgc.js → chunk-GMAD6QVW-Cyou3IW5.js} +1 -1
- package/dist-web/assets/{chunk-GVQU2GXP-3G8ojGFe.js → chunk-GVQU2GXP-9iX08DF8.js} +1 -1
- package/dist-web/assets/{chunk-IMKFNOWR-CmhGyHNd.js → chunk-IMKFNOWR-eAy7YfUP.js} +1 -1
- package/dist-web/assets/{chunk-L3NEJ4N5-Dsa1ER8Q.js → chunk-L3NEJ4N5-BJn04QE8.js} +1 -1
- package/dist-web/assets/{chunk-OSK3NFVY-ObCj9P3B.js → chunk-OSK3NFVY-CuDNp-j7.js} +1 -1
- package/dist-web/assets/{chunk-P2QGCYS3-CfNHqVGX.js → chunk-P2QGCYS3-Bat1tsgX.js} +1 -1
- package/dist-web/assets/{chunk-POPQ4Y6H-Cg5tk8by.js → chunk-POPQ4Y6H-BOvcVm55.js} +1 -1
- package/dist-web/assets/{chunk-PWAF6VOD-e6XMS-JR.js → chunk-PWAF6VOD-8H09nYSk.js} +1 -1
- package/dist-web/assets/{chunk-SHT3W25Y-B1M0HI76.js → chunk-SHT3W25Y-BTvguL4K.js} +1 -1
- package/dist-web/assets/{chunk-SVP7TREG-XLNHY4Z2.js → chunk-SVP7TREG-DZHx63GR.js} +1 -1
- package/dist-web/assets/{chunk-TICWLB2K-Bpm0S7rI.js → chunk-TICWLB2K-tyu3pgJH.js} +1 -1
- package/dist-web/assets/classDiagram-ZZMXUADV-DHEChW1m.js +1 -0
- package/dist-web/assets/classDiagram-v2-VYDZK3BY-DHEChW1m.js +1 -0
- package/dist-web/assets/{cynefin-OW5HDTMX-B5ohibc7.js → cynefin-OW5HDTMX-WdlAv2_J.js} +1 -1
- package/dist-web/assets/{cynefinDiagram-5FMLGOSQ-C1202n-x.js → cynefinDiagram-5FMLGOSQ-DIHRBiVh.js} +1 -1
- package/dist-web/assets/{dagre-GXQ25YYZ-CQlKKJXg.js → dagre-GXQ25YYZ-D3QjZ8VX.js} +1 -1
- package/dist-web/assets/{diagram-S7CK7UJ4-DRf7iTH9.js → diagram-S7CK7UJ4-D6MGVV5G.js} +1 -1
- package/dist-web/assets/{diagram-UQ7AKVKN-CxSX3b2_.js → diagram-UQ7AKVKN-DDqkv_91.js} +1 -1
- package/dist-web/assets/{diagram-VSXAHHWV-D9vrB5je.js → diagram-VSXAHHWV-Dr8W_DrW.js} +1 -1
- package/dist-web/assets/{diagram-VX7I27RA-DTOqcpBV.js → diagram-VX7I27RA-BvyNv4xo.js} +1 -1
- package/dist-web/assets/{diagram-Z3DM3KII-mlhRA4lR.js → diagram-Z3DM3KII-Dr2nnTnn.js} +1 -1
- package/dist-web/assets/{dist-DqTG_rhR.js → dist-DAL-6sRi.js} +1 -1
- package/dist-web/assets/{ebnfDiagram-PWID7BFC-BhB_RJPM.js → ebnfDiagram-PWID7BFC-BayLXJsB.js} +1 -1
- package/dist-web/assets/{erDiagram-RLTQ6QDP-0wE1kPYz.js → erDiagram-RLTQ6QDP-B9FgaeL-.js} +1 -1
- package/dist-web/assets/{esm-COEoxUhE.js → esm-Cks_jwvm.js} +1 -1
- package/dist-web/assets/eventmodeling-NTZA5JFV-k9KjzUvF.js +1 -0
- package/dist-web/assets/flowDiagram-HODETNUW-BZQNLfP0.js +1 -0
- package/dist-web/assets/{ganttDiagram-EL5Y4UJY-BsvlpHPt.js → ganttDiagram-EL5Y4UJY-CKlJQlxZ.js} +1 -1
- package/dist-web/assets/{gitGraph-4MIJSDKK-Dm82FCqy.js → gitGraph-4MIJSDKK-B5op-s6A.js} +1 -1
- package/dist-web/assets/{gitGraphDiagram-WWUBYQGX-OPit_3vA.js → gitGraphDiagram-WWUBYQGX-DEYJnUUb.js} +1 -1
- package/dist-web/assets/index-BT5Guxdz.js +103 -0
- package/dist-web/assets/index-D0npIBvI.css +2 -0
- package/dist-web/assets/{info-A6RAGUB7-8sl1XQWq.js → info-A6RAGUB7-B03dYZMJ.js} +1 -1
- package/dist-web/assets/{infoDiagram-27XIBGKW-DIpdnB7L.js → infoDiagram-27XIBGKW-DGfTl4jK.js} +1 -1
- package/dist-web/assets/{ishikawaDiagram-5VMMS53U-DpoLDWpF.js → ishikawaDiagram-5VMMS53U-C2Kszwks.js} +1 -1
- package/dist-web/assets/{journeyDiagram-3NMN7TZE-BAEbJ33U.js → journeyDiagram-3NMN7TZE-DSG206X3.js} +1 -1
- package/dist-web/assets/{kanban-definition-UXKFOSKX-CqzyUA0g.js → kanban-definition-UXKFOSKX-AijK7IEk.js} +1 -1
- package/dist-web/assets/{line-CQRHrtV_.js → line-ZpPmdhPJ.js} +1 -1
- package/dist-web/assets/{mermaid-parser.core-XlEvAPi2.js → mermaid-parser.core-BDBMBN3K.js} +3 -3
- package/dist-web/assets/{mermaid.core-CvFTFi5O.js → mermaid.core-xmU7q1sF.js} +4 -4
- package/dist-web/assets/{mindmap-definition-YA3MSWOX-Ch0vW4Mc.js → mindmap-definition-YA3MSWOX-ClMFp8WI.js} +1 -1
- package/dist-web/assets/{packet-AYTQ26CC-lk-QU-qZ.js → packet-AYTQ26CC-CRZxftC4.js} +1 -1
- package/dist-web/assets/{pegDiagram-XKGWAZYB-Cgf4CYg-.js → pegDiagram-XKGWAZYB-sGKK4P-b.js} +1 -1
- package/dist-web/assets/{pie-WAS4IAKB-dWyVjg9O.js → pie-WAS4IAKB-DnXy4iBP.js} +1 -1
- package/dist-web/assets/{pieDiagram-E7YTZNPT-BDZxWO8n.js → pieDiagram-E7YTZNPT-DGTI0ujK.js} +1 -1
- package/dist-web/assets/{quadrantDiagram-AXDQQJYC-DCu9cx1_.js → quadrantDiagram-AXDQQJYC-IZMctkA4.js} +1 -1
- package/dist-web/assets/{radar-RG4KPBEZ-CphwvESj.js → radar-RG4KPBEZ-DyPxU_yF.js} +1 -1
- package/dist-web/assets/{railroad-74A4TZTK-COTrvtXu.js → railroad-74A4TZTK-BNLfpJtL.js} +1 -1
- package/dist-web/assets/railroad-abnf-HS5TGJTU-B50TfKwV.js +1 -0
- package/dist-web/assets/railroad-ebnf-LZEXJU2U-CcWXqMNH.js +1 -0
- package/dist-web/assets/railroad-peg-WCYAUIDC-BBnNzmRQ.js +1 -0
- package/dist-web/assets/{railroadDiagram-O6MQD6OU-S9ZI1Adi.js → railroadDiagram-O6MQD6OU-BYGSbyYW.js} +1 -1
- package/dist-web/assets/{requirementDiagram-BXWQKSXE-a_3FElqS.js → requirementDiagram-BXWQKSXE-y60LYtq2.js} +1 -1
- package/dist-web/assets/{sankeyDiagram-P5KCCOFB-D-i6r8wy.js → sankeyDiagram-P5KCCOFB-Dd8NT6n-.js} +1 -1
- package/dist-web/assets/{sequenceDiagram-WJ2MYXX4-D8hA2m0U.js → sequenceDiagram-WJ2MYXX4-CWKxgWRW.js} +1 -1
- package/dist-web/assets/{stateDiagram-D77RDMKH-C14W-8zT.js → stateDiagram-D77RDMKH-CofCaTPb.js} +1 -1
- package/dist-web/assets/stateDiagram-v2-MP3YSRHH-Cl8-oTQC.js +1 -0
- package/dist-web/assets/{swimlanes-42K2YHIH-FMv8YLkC.js → swimlanes-42K2YHIH-DVeVf_fm.js} +1 -1
- package/dist-web/assets/swimlanesDiagram-VR7AAH4N-B5jiXJvG.js +8 -0
- package/dist-web/assets/{timeline-definition-24CTP7MA-DmBN45fY.js → timeline-definition-24CTP7MA-D2Ba4Kfx.js} +1 -1
- package/dist-web/assets/{treeView-Q6P3EWNA-C5-PUnPN.js → treeView-Q6P3EWNA-Lvie4ZUD.js} +1 -1
- package/dist-web/assets/{treemap-WGGIJYW6-C_veVYMi.js → treemap-WGGIJYW6-BuxLaW8I.js} +1 -1
- package/dist-web/assets/{vennDiagram-4TSXK5OY-CiWHjSVc.js → vennDiagram-4TSXK5OY-Cb-XIVO5.js} +1 -1
- package/dist-web/assets/{wardley-WFR3VGLG-FOCO1NlU.js → wardley-WFR3VGLG-BLoTGdtB.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-VM6X3IG4-Da3kkvxV.js → wardleyDiagram-VM6X3IG4-Bv2NeJEH.js} +1 -1
- package/dist-web/assets/{xychartDiagram-S5SC5T6Z-DPxie1fH.js → xychartDiagram-S5SC5T6Z-C5aApyX_.js} +1 -1
- package/dist-web/index.html +2 -2
- package/package.json +8 -5
- package/templates/strikethroo/config/config.yaml +6 -0
- package/templates/strikethroo/config/hooks/CODE_REVIEW.md +2 -8
- package/templates/strikethroo/config/templates/TASK_TEMPLATE.md +1 -1
- package/dist-web/assets/architecture-7GRP2DOG-C2Oj1AcH.js +0 -1
- package/dist-web/assets/channel-Da0Eg5hZ.js +0 -1
- package/dist-web/assets/classDiagram-ZZMXUADV-CZI086hK.js +0 -1
- package/dist-web/assets/classDiagram-v2-VYDZK3BY-CZI086hK.js +0 -1
- package/dist-web/assets/eventmodeling-NTZA5JFV-DzkXb9nA.js +0 -1
- package/dist-web/assets/flowDiagram-HODETNUW-cgl8ipSt.js +0 -1
- package/dist-web/assets/index-6XzOqB6r.js +0 -103
- package/dist-web/assets/index-CgIHUWsX.css +0 -2
- package/dist-web/assets/railroad-abnf-HS5TGJTU-CYfpugMj.js +0 -1
- package/dist-web/assets/railroad-ebnf-LZEXJU2U--Ui_4jm6.js +0 -1
- package/dist-web/assets/railroad-peg-WCYAUIDC-DzcveMan.js +0 -1
- package/dist-web/assets/stateDiagram-v2-MP3YSRHH-Dhuhsub3.js +0 -1
- package/dist-web/assets/swimlanesDiagram-VR7AAH4N-O94a9jW3.js +0 -8
package/dist/index.js
CHANGED
|
@@ -299,56 +299,113 @@ async function recordHarnessSelection(metadataPath, harnesses) {
|
|
|
299
299
|
/**
|
|
300
300
|
* Copy common template files to .ai/strikethroo directory with conflict detection
|
|
301
301
|
*
|
|
302
|
+
* Each incoming `config/` path gets its own outcome, so one conflict never stops
|
|
303
|
+
* another path from being installed, refreshed, or restored. Missing or
|
|
304
|
+
* unusable metadata is not a first install: every existing destination is then
|
|
305
|
+
* untracked, and each one that differs from its incoming file needs a decision
|
|
306
|
+
* before anything is written. An empty or byte-identical tree needs none, and
|
|
307
|
+
* `force` is the only route that skips the question. The tracked tree is
|
|
308
|
+
* written first and the metadata last; a failed copy throws before
|
|
309
|
+
* `saveMetadata` runs, leaving the previous metadata in place.
|
|
310
|
+
*
|
|
302
311
|
* @param sourceDir - Source template tree; defaults to the shipped
|
|
303
312
|
* `templates/strikethroo/` path, overridden by a profile staging tree
|
|
304
313
|
*/
|
|
305
314
|
async function copyCommonTemplates(baseDir, force, sourceDir = getTemplatePath('strikethroo')) {
|
|
306
315
|
const destDir = resolvePath(baseDir, '.ai/strikethroo');
|
|
307
316
|
const metadataPath = resolvePath(destDir, '.init-metadata.json');
|
|
308
|
-
// Check if source template directory exists
|
|
309
317
|
if (!(await exists(sourceDir))) {
|
|
310
318
|
throw new Error(`Template directory not found: ${sourceDir}`);
|
|
311
319
|
}
|
|
312
|
-
// Load existing metadata if present
|
|
313
320
|
const existingMetadata = await (0, metadata_1.loadMetadata)(metadataPath);
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
return;
|
|
321
|
+
const baseline = existingMetadata?.files ?? {};
|
|
322
|
+
let resolutions = new Map();
|
|
323
|
+
if (!force) {
|
|
324
|
+
const conflicts = await (0, conflict_detector_1.detectConflicts)(destDir, sourceDir, baseline);
|
|
325
|
+
if (conflicts.length > 0) {
|
|
326
|
+
if (!existingMetadata) {
|
|
327
|
+
console.log(chalk_1.default.yellow('\n⚠ .init-metadata.json is missing or unusable, so nothing under config/ has a trusted baseline.'));
|
|
328
|
+
}
|
|
329
|
+
console.log(chalk_1.default.yellow(`\n⚠ ${conflicts.length} file(s) differ from the incoming version and need a decision.\n`));
|
|
330
|
+
resolutions = await (0, prompts_1.promptForConflicts)(conflicts);
|
|
331
|
+
}
|
|
326
332
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
333
|
+
const outcomes = await refreshConfigTree(sourceDir, destDir, baseline, resolutions, force);
|
|
334
|
+
await copyUntrackedTemplateFiles(sourceDir, destDir);
|
|
335
|
+
await copyWorkspaceIgnoreFile(sourceDir, destDir);
|
|
336
|
+
await createMetadata(metadataPath, existingMetadata, recordBaselines(baseline, outcomes));
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Decide and apply one outcome per incoming `config/` path.
|
|
340
|
+
*/
|
|
341
|
+
async function refreshConfigTree(sourceDir, destDir, baseline, resolutions, force) {
|
|
342
|
+
const outcomes = [];
|
|
343
|
+
for (const relativePath of await (0, conflict_detector_1.getConfigFiles)(sourceDir)) {
|
|
344
|
+
const sourcePath = path.join(sourceDir, relativePath);
|
|
345
|
+
const destPath = path.join(destDir, relativePath);
|
|
346
|
+
const outcome = await decideRefreshOutcome(destPath, await (0, metadata_1.calculateFileHash)(sourcePath), baseline[relativePath], resolutions.get(relativePath), force);
|
|
347
|
+
if (outcome.kind !== 'kept' && outcome.kind !== 'unchanged') {
|
|
348
|
+
await fs.copy(sourcePath, destPath, { overwrite: true });
|
|
349
|
+
}
|
|
350
|
+
outcomes.push({ relativePath, ...outcome });
|
|
334
351
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
352
|
+
return outcomes;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Classify one destination against its incoming file and recorded baseline.
|
|
356
|
+
*
|
|
357
|
+
* A destination that diverged from its baseline, or that has no baseline, is
|
|
358
|
+
* replaced only by `force` or an explicit `overwrite` answer; with no answer it
|
|
359
|
+
* is kept, because only the prompt may authorize destroying a file this refresh
|
|
360
|
+
* did not write. A kept destination with no baseline records none.
|
|
361
|
+
*/
|
|
362
|
+
async function decideRefreshOutcome(destPath, incomingHash, recordedHash, resolution, force) {
|
|
363
|
+
if (!(await exists(destPath))) {
|
|
364
|
+
return { kind: 'installed', hash: incomingHash };
|
|
343
365
|
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
366
|
+
const currentHash = await (0, metadata_1.calculateFileHash)(destPath);
|
|
367
|
+
if (currentHash === incomingHash) {
|
|
368
|
+
return { kind: 'unchanged', hash: incomingHash };
|
|
369
|
+
}
|
|
370
|
+
if (recordedHash !== undefined && currentHash === recordedHash) {
|
|
371
|
+
return { kind: 'refreshed', hash: incomingHash };
|
|
372
|
+
}
|
|
373
|
+
if (force || resolution === 'overwrite' || resolution === 'overwrite-all') {
|
|
374
|
+
return { kind: 'overwritten', hash: incomingHash };
|
|
375
|
+
}
|
|
376
|
+
return { kind: 'kept', hash: recordedHash };
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Build the `files` map from the refresh outcomes.
|
|
380
|
+
*
|
|
381
|
+
* A recorded path the incoming tree no longer ships keeps its recorded hash:
|
|
382
|
+
* the refresh learned nothing new about it, and dropping one that is also gone
|
|
383
|
+
* from disk would erase the deletion `validate` reports. An outcome with no
|
|
384
|
+
* hash records nothing.
|
|
385
|
+
*/
|
|
386
|
+
function recordBaselines(baseline, outcomes) {
|
|
387
|
+
const files = { ...baseline };
|
|
388
|
+
for (const { relativePath, hash } of outcomes) {
|
|
389
|
+
if (hash !== undefined) {
|
|
390
|
+
files[relativePath] = hash;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
return files;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Copy the template entries outside `config/`, such as `README.md`, verbatim.
|
|
397
|
+
*
|
|
398
|
+
* Only `config/` is hash-tracked, so these refresh on every run. The ignore
|
|
399
|
+
* template is excluded here because it lands under a different name.
|
|
400
|
+
*/
|
|
401
|
+
async function copyUntrackedTemplateFiles(sourceDir, destDir) {
|
|
402
|
+
await fs.copy(sourceDir, destDir, {
|
|
403
|
+
overwrite: true,
|
|
404
|
+
filter: src => {
|
|
405
|
+
const [first] = path.relative(sourceDir, src).split(path.sep);
|
|
406
|
+
return first !== 'config' && first !== WORKSPACE_IGNORE_TEMPLATE;
|
|
407
|
+
},
|
|
408
|
+
});
|
|
352
409
|
}
|
|
353
410
|
/**
|
|
354
411
|
* Copy the workspace ignore template to its final `.gitignore` name.
|
|
@@ -368,42 +425,10 @@ async function copyWorkspaceIgnoreFile(sourceDir, destDir) {
|
|
|
368
425
|
await fs.copy(source, path.join(destDir, WORKSPACE_IGNORE_FILE), { overwrite: true });
|
|
369
426
|
}
|
|
370
427
|
/**
|
|
371
|
-
*
|
|
428
|
+
* Write the metadata for a completed refresh, carrying provenance and the
|
|
429
|
+
* harness selection forward from the previous metadata.
|
|
372
430
|
*/
|
|
373
|
-
async function createMetadata(
|
|
374
|
-
const existingMetadata = await (0, metadata_1.loadMetadata)(metadataPath);
|
|
375
|
-
const files = {};
|
|
376
|
-
async function walkDir(dir, relativeTo) {
|
|
377
|
-
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
378
|
-
for (const entry of entries) {
|
|
379
|
-
const fullPath = path.join(dir, entry.name);
|
|
380
|
-
const relativePath = path.relative(relativeTo, fullPath);
|
|
381
|
-
// Skip README.md (always overwrite on init/re-init)
|
|
382
|
-
if (relativePath === 'README.md') {
|
|
383
|
-
continue;
|
|
384
|
-
}
|
|
385
|
-
// Skip metadata file itself
|
|
386
|
-
if (relativePath === '.init-metadata.json') {
|
|
387
|
-
continue;
|
|
388
|
-
}
|
|
389
|
-
if (entry.isDirectory()) {
|
|
390
|
-
await walkDir(fullPath, relativeTo);
|
|
391
|
-
}
|
|
392
|
-
else if (entry.isFile()) {
|
|
393
|
-
// Calculate hash of the destination file (what we just copied)
|
|
394
|
-
const destFilePath = path.join(destDir, relativePath);
|
|
395
|
-
if (await exists(destFilePath)) {
|
|
396
|
-
const hash = await (0, metadata_1.calculateFileHash)(destFilePath);
|
|
397
|
-
files[relativePath] = hash;
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
const configDir = path.join(destDir, 'config');
|
|
403
|
-
if (await exists(configDir)) {
|
|
404
|
-
await walkDir(configDir, destDir);
|
|
405
|
-
}
|
|
406
|
-
// Create metadata object
|
|
431
|
+
async function createMetadata(metadataPath, existingMetadata, files) {
|
|
407
432
|
const metadata = {
|
|
408
433
|
version: (0, metadata_1.getPackageVersion)(),
|
|
409
434
|
workspaceSchemaVersion: metadata_1.CURRENT_WORKSPACE_SCHEMA_VERSION,
|
|
@@ -416,22 +441,8 @@ async function createMetadata(sourceDir, destDir, metadataPath) {
|
|
|
416
441
|
if (existingMetadata?.harnesses) {
|
|
417
442
|
metadata.harnesses = existingMetadata.harnesses;
|
|
418
443
|
}
|
|
419
|
-
// Save metadata
|
|
420
444
|
await (0, metadata_1.saveMetadata)(metadataPath, metadata);
|
|
421
445
|
}
|
|
422
|
-
/**
|
|
423
|
-
* Apply user resolutions to file conflicts
|
|
424
|
-
*/
|
|
425
|
-
async function applyResolutions(sourceDir, destDir, resolutions) {
|
|
426
|
-
for (const [relativePath, resolution] of resolutions) {
|
|
427
|
-
const sourcePath = path.join(sourceDir, relativePath);
|
|
428
|
-
const destPath = path.join(destDir, relativePath);
|
|
429
|
-
if (resolution === 'overwrite') {
|
|
430
|
-
await fs.copy(sourcePath, destPath, { overwrite: true });
|
|
431
|
-
}
|
|
432
|
-
// If 'keep', do nothing - keep user's file
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
446
|
/**
|
|
436
447
|
* Check if a directory already has Strikethroo initialized
|
|
437
448
|
*/
|
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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"}
|
package/dist/metadata.d.ts
CHANGED
|
@@ -24,7 +24,8 @@ export declare function calculateFileHash(filePath: string): Promise<string>;
|
|
|
24
24
|
* Load metadata from .init-metadata.json file
|
|
25
25
|
* @param metadataPath - Absolute path to metadata file
|
|
26
26
|
* @returns InitMetadata object, or null when the file is absent or its JSON is
|
|
27
|
-
* not usable metadata
|
|
27
|
+
* not usable metadata. The caller decides what null means: a first install
|
|
28
|
+
* when the workspace holds nothing, an untrusted baseline when it does
|
|
28
29
|
* @throws FileSystemError when the file or a workspace parent is a symbolic
|
|
29
30
|
* link or otherwise not a regular entry; this is never treated as first-time
|
|
30
31
|
* init, so a link cannot bypass conflict protection
|
package/dist/metadata.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxD;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAsDD
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxD;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASzE;AAsDD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA2BrF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C"}
|
package/dist/metadata.js
CHANGED
|
@@ -122,7 +122,8 @@ function describeRefusal(metadataPath, refusal) {
|
|
|
122
122
|
* Load metadata from .init-metadata.json file
|
|
123
123
|
* @param metadataPath - Absolute path to metadata file
|
|
124
124
|
* @returns InitMetadata object, or null when the file is absent or its JSON is
|
|
125
|
-
* not usable metadata
|
|
125
|
+
* not usable metadata. The caller decides what null means: a first install
|
|
126
|
+
* when the workspace holds nothing, an untrusted baseline when it does
|
|
126
127
|
* @throws FileSystemError when the file or a workspace parent is a symbolic
|
|
127
128
|
* link or otherwise not a regular entry; this is never treated as first-time
|
|
128
129
|
* init, so a link cannot bypass conflict protection
|
|
@@ -148,7 +149,7 @@ async function loadMetadata(metadataPath) {
|
|
|
148
149
|
return metadata;
|
|
149
150
|
}
|
|
150
151
|
catch {
|
|
151
|
-
// Corrupted or invalid JSON is
|
|
152
|
+
// Corrupted or invalid JSON is unusable metadata; the caller decides what that means
|
|
152
153
|
return null;
|
|
153
154
|
}
|
|
154
155
|
}
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBH,8CASC;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -14,8 +14,14 @@ import { FileConflict, ConflictResolution } from './types';
|
|
|
14
14
|
export declare function promptForResolution(conflict: FileConflict, remainingCount: number): Promise<ConflictResolution>;
|
|
15
15
|
/**
|
|
16
16
|
* Process all file conflicts with user prompts
|
|
17
|
+
*
|
|
18
|
+
* Refuses up front when standard input is not a terminal: a prompt that cannot
|
|
19
|
+
* be answered must not be rendered, and the caller treats the thrown error as
|
|
20
|
+
* a failed refresh with nothing written. `--force` is the non-interactive route.
|
|
21
|
+
*
|
|
17
22
|
* @param conflicts - Array of FileConflict objects
|
|
18
23
|
* @returns Map of relative paths to resolution decisions
|
|
24
|
+
* @throws Error when conflicts exist and the session cannot prompt
|
|
19
25
|
*/
|
|
20
26
|
export declare function promptForConflicts(conflicts: FileConflict[]): Promise<Map<string, ConflictResolution>>;
|
|
21
27
|
//# sourceMappingURL=prompts.d.ts.map
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA8E3D;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAqE7B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAmC1C"}
|
package/dist/prompts.js
CHANGED
|
@@ -14,6 +14,32 @@ exports.promptForConflicts = promptForConflicts;
|
|
|
14
14
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
15
15
|
const diff_1 = require("diff");
|
|
16
16
|
const chalk_1 = __importDefault(require("chalk"));
|
|
17
|
+
const conflict_detector_1 = require("./conflict-detector");
|
|
18
|
+
/** Whether the destination has no recorded baseline to compare against. */
|
|
19
|
+
function isUntracked(conflict) {
|
|
20
|
+
return conflict.originalHash === conflict_detector_1.NO_RECORDED_BASELINE;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Explain why a session that cannot prompt refuses to continue.
|
|
24
|
+
*
|
|
25
|
+
* Names every conflicting path so the user can inspect them, says which ones
|
|
26
|
+
* have no recorded baseline, and names the two ways forward.
|
|
27
|
+
*/
|
|
28
|
+
function describeNonInteractiveRefusal(conflicts) {
|
|
29
|
+
const untracked = conflicts.filter(isUntracked);
|
|
30
|
+
const lines = [
|
|
31
|
+
`${conflicts.length} file(s) under .ai/strikethroo/config/ differ from the incoming version and ` +
|
|
32
|
+
'need a decision, but standard input is not an interactive terminal so none can be asked:',
|
|
33
|
+
...conflicts.map(conflict => ` ${conflict.relativePath}${isUntracked(conflict) ? ' (not tracked)' : ''}`),
|
|
34
|
+
];
|
|
35
|
+
if (untracked.length > 0) {
|
|
36
|
+
lines.push(`${untracked.length} of them have no recorded baseline in .init-metadata.json, so the metadata ` +
|
|
37
|
+
'cannot be trusted to tell a customization from a stale copy.');
|
|
38
|
+
}
|
|
39
|
+
lines.push('Re-run in a terminal to decide per file, or pass --force to overwrite every conflicting ' +
|
|
40
|
+
'file with the incoming version.');
|
|
41
|
+
return lines.join('\n');
|
|
42
|
+
}
|
|
17
43
|
/**
|
|
18
44
|
* Format and colorize a unified diff for display
|
|
19
45
|
* @param diff - Unified diff string from diff library
|
|
@@ -58,8 +84,15 @@ async function promptForResolution(conflict, remainingCount) {
|
|
|
58
84
|
console.log('');
|
|
59
85
|
console.log(chalk_1.default.bold.yellow('⚠️ File Conflict Detected'));
|
|
60
86
|
console.log('');
|
|
61
|
-
|
|
62
|
-
|
|
87
|
+
if (isUntracked(conflict)) {
|
|
88
|
+
console.log(chalk_1.default.bold(`File: ${chalk_1.default.cyan(conflict.relativePath)} is not tracked in .init-metadata.json.`));
|
|
89
|
+
console.log(chalk_1.default.yellow('There is no record of what Strikethroo last wrote here, and the file differs from the ' +
|
|
90
|
+
'incoming version. It will be lost if you overwrite it.'));
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
console.log(chalk_1.default.bold(`File: ${chalk_1.default.cyan(conflict.relativePath)} has been modified since last init.`));
|
|
94
|
+
console.log(chalk_1.default.yellow('Your changes will be lost if you choose to overwrite with the new version.'));
|
|
95
|
+
}
|
|
63
96
|
console.log('');
|
|
64
97
|
// Generate and display unified diff
|
|
65
98
|
const diff = generateDiff(conflict);
|
|
@@ -68,7 +101,9 @@ async function promptForResolution(conflict, remainingCount) {
|
|
|
68
101
|
// Build choices based on remaining conflicts
|
|
69
102
|
const choices = [
|
|
70
103
|
{
|
|
71
|
-
name:
|
|
104
|
+
name: isUntracked(conflict)
|
|
105
|
+
? 'Keep the existing file (skip update)'
|
|
106
|
+
: 'Keep my changes (skip update)',
|
|
72
107
|
value: 'keep',
|
|
73
108
|
},
|
|
74
109
|
{
|
|
@@ -98,10 +133,19 @@ async function promptForResolution(conflict, remainingCount) {
|
|
|
98
133
|
}
|
|
99
134
|
/**
|
|
100
135
|
* Process all file conflicts with user prompts
|
|
136
|
+
*
|
|
137
|
+
* Refuses up front when standard input is not a terminal: a prompt that cannot
|
|
138
|
+
* be answered must not be rendered, and the caller treats the thrown error as
|
|
139
|
+
* a failed refresh with nothing written. `--force` is the non-interactive route.
|
|
140
|
+
*
|
|
101
141
|
* @param conflicts - Array of FileConflict objects
|
|
102
142
|
* @returns Map of relative paths to resolution decisions
|
|
143
|
+
* @throws Error when conflicts exist and the session cannot prompt
|
|
103
144
|
*/
|
|
104
145
|
async function promptForConflicts(conflicts) {
|
|
146
|
+
if (conflicts.length > 0 && !process.stdin.isTTY) {
|
|
147
|
+
throw new Error(describeNonInteractiveRefusal(conflicts));
|
|
148
|
+
}
|
|
105
149
|
const resolutions = new Map();
|
|
106
150
|
let batchResolution = null;
|
|
107
151
|
for (let i = 0; i < conflicts.length; i++) {
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AAyFH,kDAwEC;AAaD,gDAqCC;AAjND,wDAAgC;AAChC,+BAA2C;AAC3C,kDAA0B;AAE1B,2DAA2D;AAE3D,2EAA2E;AAC3E,SAAS,WAAW,CAAC,QAAsB;IACzC,OAAO,QAAQ,CAAC,YAAY,KAAK,wCAAoB,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CAAC,SAAyB;IAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG;QACZ,GAAG,SAAS,CAAC,MAAM,8EAA8E;YAC/F,0FAA0F;QAC5F,GAAG,SAAS,CAAC,GAAG,CACd,QAAQ,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CACzF;KACF,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,GAAG,SAAS,CAAC,MAAM,6EAA6E;YAC9F,8DAA8D,CACjE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CACR,0FAA0F;QACxF,iCAAiC,CACpC,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,KAAK;SACT,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,QAAsB;IAC1C,MAAM,IAAI,GAAG,IAAA,0BAAmB,EAC9B,GAAG,QAAQ,CAAC,YAAY,iBAAiB,EACzC,GAAG,QAAQ,CAAC,YAAY,gBAAgB,EACxC,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,cAAc,EACvB,EAAE,EACF,EAAE,EACF,EAAE,OAAO,EAAE,CAAC,EAAE,CACf,CAAC;IAEF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CACvC,QAAsB,EACtB,cAAsB;IAEtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,SAAS,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,yCAAyC,CACpF,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,wFAAwF;YACtF,wDAAwD,CAC3D,CACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,SAAS,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAC5F,CAAC;QACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,4EAA4E,CAAC,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,oCAAoC;IACpC,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,6CAA6C;IAC7C,MAAM,OAAO,GAAkD;QAC7D;YACE,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;gBACzB,CAAC,CAAC,sCAAsC;gBACxC,CAAC,CAAC,+BAA+B;YACnC,KAAK,EAAE,MAAM;SACd;QACD;YACE,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE,WAAW;SACnB;KACF,CAAC;IAEF,gDAAgD;IAChD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CACV;YACE,IAAI,EAAE,gDAAgD,cAAc,GAAG,CAAC,SAAS;YACjF,KAAK,EAAE,UAAU;SAClB,EACD;YACE,IAAI,EAAE,sCAAsC,cAAc,GAAG,CAAC,SAAS;YACvE,KAAK,EAAE,eAAe;SACvB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAqC;QACvE;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,4BAA4B;YACrC,OAAO;SACR;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,kBAAkB,CACtC,SAAyB;IAEzB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC1D,IAAI,eAAe,GAA8B,IAAI,CAAC;IAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,0BAA0B;QAEnD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhD,wCAAwC;QACxC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;YACzE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QAED,gCAAgC;QAChC,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAEvE,2BAA2B;QAC3B,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YAChE,eAAe,GAAG,UAAU,CAAC;YAC7B,MAAM,oBAAoB,GAAG,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9E,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* network, no writes.
|
|
11
11
|
*/
|
|
12
12
|
import { type MarkdownSection } from './markdown';
|
|
13
|
+
import { type BlueprintPhase } from '../skill-scripts/shared/blueprint-parse';
|
|
13
14
|
/** A single task parsed from a plan's `tasks/` directory. */
|
|
14
15
|
export interface Task {
|
|
15
16
|
id: number | undefined;
|
|
@@ -28,6 +29,8 @@ export interface Task {
|
|
|
28
29
|
* `PlanDetail.sections`). Additive to `body`, which is retained. */
|
|
29
30
|
sections: MarkdownSection[];
|
|
30
31
|
}
|
|
32
|
+
/** The task frontmatter that state derivation and phase inference read. */
|
|
33
|
+
export type TaskMeta = Pick<Task, 'id' | 'dependencies' | 'status'>;
|
|
31
34
|
/** Derived lifecycle state of a plan. */
|
|
32
35
|
export type PlanState = 'drafted' | 'ready' | 'doing' | 'done';
|
|
33
36
|
/** Derived state plus done/total counts. */
|
|
@@ -36,19 +39,18 @@ export interface DerivedState {
|
|
|
36
39
|
done: number;
|
|
37
40
|
total: number;
|
|
38
41
|
}
|
|
39
|
-
/** An execution phase
|
|
40
|
-
export interface Phase {
|
|
41
|
-
/** 1-based phase index. */
|
|
42
|
-
index: number;
|
|
43
|
-
/** Optional descriptive name (from a blueprint doc). */
|
|
44
|
-
name?: string;
|
|
45
|
-
/** Task ids scheduled in this phase. */
|
|
46
|
-
taskIds: number[];
|
|
42
|
+
/** An execution phase as the viewer presents it: the shared shape plus `parallel`. */
|
|
43
|
+
export interface Phase extends BlueprintPhase {
|
|
47
44
|
/** True when the phase holds more than one task. */
|
|
48
45
|
parallel: boolean;
|
|
49
46
|
}
|
|
50
|
-
/** Reads a plan directory's `tasks/*.md` into
|
|
47
|
+
/** Reads a plan directory's `tasks/*.md` into full records. Missing dir -> []. */
|
|
51
48
|
export declare const scanTasks: (planDir: string) => Task[];
|
|
49
|
+
/**
|
|
50
|
+
* The list read's task scan: frontmatter only. No title, body, or sections are
|
|
51
|
+
* built, which is what keeps `/api/plans` cheap.
|
|
52
|
+
*/
|
|
53
|
+
export declare const scanTaskMeta: (planDir: string) => TaskMeta[];
|
|
52
54
|
/**
|
|
53
55
|
* Computes the derived plan state and counts. Never throws on unknown statuses.
|
|
54
56
|
*
|
|
@@ -57,12 +59,7 @@ export declare const scanTasks: (planDir: string) => Task[];
|
|
|
57
59
|
* - all done -> `done`
|
|
58
60
|
* - otherwise -> `doing`
|
|
59
61
|
*/
|
|
60
|
-
export declare const deriveState: (tasks:
|
|
61
|
-
/**
|
|
62
|
-
* Parses phases from an "## Execution Blueprint" section if the plan body
|
|
63
|
-
* contains one. Returns undefined when no blueprint section is present.
|
|
64
|
-
*/
|
|
65
|
-
export declare const parseBlueprintPhases: (planBody: string) => Phase[] | undefined;
|
|
62
|
+
export declare const deriveState: (tasks: readonly TaskMeta[]) => DerivedState;
|
|
66
63
|
/**
|
|
67
64
|
* Infers phases from tasks by grouping on satisfied dependencies. Tasks whose
|
|
68
65
|
* dependencies are all already emitted (or absent from the task set) form a
|
|
@@ -70,10 +67,11 @@ export declare const parseBlueprintPhases: (planBody: string) => Phase[] | undef
|
|
|
70
67
|
* progress is made, the remaining tasks are emitted as a final phase rather
|
|
71
68
|
* than looping forever. Never throws.
|
|
72
69
|
*/
|
|
73
|
-
export declare const inferPhases: (tasks:
|
|
70
|
+
export declare const inferPhases: (tasks: readonly TaskMeta[]) => Phase[];
|
|
74
71
|
/**
|
|
75
|
-
* Resolves a plan's phases:
|
|
76
|
-
*
|
|
72
|
+
* Resolves a plan's phases: the shared blueprint parser's phases when the plan
|
|
73
|
+
* body carries an `## Execution Blueprint` section with phase headings, otherwise
|
|
74
|
+
* phases inferred from task dependencies.
|
|
77
75
|
*/
|
|
78
|
-
export declare const resolvePhases: (planBody: string, tasks:
|
|
76
|
+
export declare const resolvePhases: (planBody: string, tasks: readonly TaskMeta[]) => Phase[];
|
|
79
77
|
//# sourceMappingURL=derivation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../../src/serve/derivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAKL,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../../src/serve/derivation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEpG,6DAA6D;AAC7D,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb;wEACoE;IACpE,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAC;AAEpE,yCAAyC;AACzC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/D,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,sFAAsF;AACtF,MAAM,WAAW,KAAM,SAAQ,cAAc;IAC3C,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;CACnB;AA2CD,kFAAkF;AAClF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,IAAI,EAe5C,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,QAAQ,EAKlD,CAAC;AASN;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,SAAS,QAAQ,EAAE,KAAG,YA4BxD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,SAAS,QAAQ,EAAE,KAAG,KAAK,EA0B7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,OAAO,SAAS,QAAQ,EAAE,KAAG,KAAK,EAMjF,CAAC"}
|