@open-agent-toolkit/cli 0.3.15 → 0.3.16
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/assets/NOTICES.md +48 -0
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/provider-sync/commands.md +21 -0
- package/assets/docs/reference/cli-reference.md +2 -1
- package/assets/docs/reference/configuration.md +10 -2
- package/assets/docs/skills/index.md +1 -0
- package/assets/docs/skills/recon.md +8 -5
- package/assets/docs/workflows/advanced/autonomy.md +10 -0
- package/assets/docs/workflows/advanced/workflow-gates.md +109 -10
- package/assets/docs/workflows/approvals-and-automation.md +3 -1
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +62 -1
- package/assets/docs/workflows/projects/execution/implementation-execution.md +23 -3
- package/assets/docs/workflows/projects/execution/project-log.md +6 -0
- package/assets/docs/workflows/projects/lifecycle.md +7 -0
- package/assets/docs/workflows/projects/reviews/index.md +63 -1
- package/assets/docs/workflows/waves/wave-workflows.md +11 -3
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-project-autonomous/SKILL.md +1 -1
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +172 -165
- package/assets/skills/oat-project-complete-auto/SKILL.md +388 -0
- package/assets/skills/oat-project-document/SKILL.md +1 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +172 -165
- package/assets/skills/oat-project-implement/SKILL.md +6 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +28 -1
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +172 -165
- package/assets/skills/oat-project-implement/references/docs/complexity-review-fallback.md +262 -0
- package/assets/skills/oat-project-implement/references/docs/gate-approval-record.md +80 -0
- package/assets/skills/oat-project-implement/references/phase-execution.md +18 -0
- package/assets/skills/oat-project-lite/SKILL.md +1 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +172 -165
- package/assets/skills/oat-project-next/SKILL.md +19 -2
- package/assets/skills/oat-project-next/references/docs/gate-approval-record.md +80 -0
- package/assets/skills/oat-project-pr-final/SKILL.md +4 -3
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +172 -165
- package/assets/skills/oat-project-progress/SKILL.md +15 -1
- package/assets/skills/oat-project-progress/references/docs/gate-approval-record.md +80 -0
- package/assets/skills/oat-project-quick-start/SKILL.md +31 -3
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +172 -165
- package/assets/skills/oat-project-quick-start/references/docs/complexity-review-fallback.md +262 -0
- package/assets/skills/oat-project-quick-start/references/docs/gate-approval-record.md +80 -0
- package/assets/skills/oat-project-review-receive/SKILL.md +21 -3
- package/assets/skills/oat-project-review-receive/references/docs/complexity-review-fallback.md +262 -0
- package/assets/skills/oat-wave-execute/SKILL.md +49 -28
- package/assets/skills/oat-wave-program/SKILL.md +15 -6
- package/assets/skills/oat-wrap-up/SKILL.md +9 -3
- package/assets/skills/oat-wrap-up/references/report-template.md +1 -1
- package/assets/skills/recon/SKILL.md +1 -1
- package/assets/skills/recon/references/packet-contract.md +18 -3
- package/assets/skills/recon/scripts/lib/contracts.mjs +16 -2
- package/assets/skills/recon/scripts/reconcile-ledger.mjs +20 -10
- package/assets/skills/recon/scripts/render-packet.mjs +31 -3
- package/assets/skills/recon/scripts/validate-packet.mjs +5 -5
- package/assets/templates/state.md +7 -0
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +13 -0
- package/dist/commands/gate/index.d.ts +5 -0
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +270 -9
- package/dist/commands/shared/frontmatter.d.ts +1 -1
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +1 -0
- package/dist/commands/state/generate.d.ts +1 -1
- package/dist/commands/state/generate.d.ts.map +1 -1
- package/dist/commands/state/generate.js +87 -8
- package/dist/commands/sync/apply.d.ts.map +1 -1
- package/dist/commands/sync/apply.js +31 -5
- package/dist/commands/sync/dry-run.d.ts.map +1 -1
- package/dist/commands/sync/dry-run.js +28 -11
- package/dist/commands/sync/sync.utils.d.ts +13 -0
- package/dist/commands/sync/sync.utils.d.ts.map +1 -1
- package/dist/commands/sync/sync.utils.js +21 -1
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +1 -0
- package/dist/config/oat-config.d.ts +1 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +3 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +1 -0
- package/dist/drift/detector.js +6 -6
- package/dist/engine/compute-plan.d.ts.map +1 -1
- package/dist/engine/compute-plan.js +87 -2
- package/dist/engine/engine.types.d.ts +10 -1
- package/dist/engine/engine.types.d.ts.map +1 -1
- package/dist/engine/engine.types.js +4 -0
- package/dist/engine/execute-plan.d.ts.map +1 -1
- package/dist/engine/execute-plan.js +42 -5
- package/dist/engine/managed-copy-hash.d.ts +4 -3
- package/dist/engine/managed-copy-hash.d.ts.map +1 -1
- package/dist/engine/managed-copy-hash.js +4 -3
- package/dist/fs/assets.d.ts.map +1 -1
- package/dist/fs/assets.js +7 -1
- package/dist/manifest/hash.d.ts +8 -10
- package/dist/manifest/hash.d.ts.map +1 -1
- package/dist/ui/output.js +1 -1
- package/dist/validation/skills.d.ts.map +1 -1
- package/dist/validation/skills.js +13 -0
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { hasMaterializationChanges, } from '../../providers/shared/materialization-extension.js';
|
|
2
2
|
import { getProviderRegistrations, } from '../../providers/shared/registry.js';
|
|
3
3
|
import { adviseProviderRefresh, } from '../../providers/shared/restart-adviser.js';
|
|
4
|
-
import { buildCollectionLifecycle, countPlannedOperations, formatCollectionLifecycle, toSyncOutputPlan, } from './sync.utils.js';
|
|
4
|
+
import { buildCollectionLifecycle, countContentRestamps, countPlannedOperations, formatCollectionLifecycle, toSyncOutputPlan, } from './sync.utils.js';
|
|
5
5
|
function extensionResultContentKind(registrations, result) {
|
|
6
6
|
const registration = registrations.find(({ adapter }) => adapter.name === result.provider);
|
|
7
7
|
const candidates = registration?.capabilities.filter(({ scope, support, projectionModes }) => scope === result.scope &&
|
|
@@ -168,6 +168,26 @@ function coreHumanStatus(status) {
|
|
|
168
168
|
return 'unknown';
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* The trailing message of a run that planned no operation. Both restamps are
|
|
173
|
+
* real manifest mutations, so neither may be reported as "No changes
|
|
174
|
+
* required."; a content-hash restamp is named with its entry count.
|
|
175
|
+
*/
|
|
176
|
+
function formatNoOperationMessage(versionRestamped, contentRestamps) {
|
|
177
|
+
const contentRestamp = contentRestamps > 0
|
|
178
|
+
? `content hash restamped for ${contentRestamps} ${contentRestamps === 1 ? 'entry' : 'entries'}`
|
|
179
|
+
: undefined;
|
|
180
|
+
if (versionRestamped && contentRestamp) {
|
|
181
|
+
return `Manifest version refreshed and ${contentRestamp}; no content changes required.`;
|
|
182
|
+
}
|
|
183
|
+
if (versionRestamped) {
|
|
184
|
+
return 'Manifest version refreshed; no content changes required.';
|
|
185
|
+
}
|
|
186
|
+
if (contentRestamp) {
|
|
187
|
+
return `Manifest ${contentRestamp}; no content changes required.`;
|
|
188
|
+
}
|
|
189
|
+
return 'No changes required.';
|
|
190
|
+
}
|
|
171
191
|
/** The sentence `formatSyncPlan` appends to its heading for an empty plan. */
|
|
172
192
|
const EMPTY_PLAN_SUFFIX = '\nNo changes required.';
|
|
173
193
|
function formatCoreResults(plan, evidence, dependencies, restampOnly, runFailed) {
|
|
@@ -206,7 +226,10 @@ function formatCoreResults(plan, evidence, dependencies, restampOnly, runFailed)
|
|
|
206
226
|
action: operation.operation,
|
|
207
227
|
}));
|
|
208
228
|
const status = coreHumanStatus(result?.status);
|
|
209
|
-
|
|
229
|
+
// A configuration error's failure repeats its reason verbatim; print it once.
|
|
230
|
+
const failure = result?.failure && result.failure !== operation.reason
|
|
231
|
+
? ` — ${result.failure}`
|
|
232
|
+
: '';
|
|
210
233
|
return `- ${plan.scope}:${operation.provider}:${operation.canonical.type}:${operation.operation} ${operation.canonical.name}\n reason: ${operation.reason}\n result: ${status}${failure}`;
|
|
211
234
|
});
|
|
212
235
|
const aggregate = evidence?.aggregateOnly
|
|
@@ -396,14 +419,17 @@ export async function runSyncApply(context, scopePlans, dependencies) {
|
|
|
396
419
|
// review L1); the failure arm is pinned by the `--scope all` failed-run
|
|
397
420
|
// tests instead.
|
|
398
421
|
const restampOnly = summary.plannedOperations === 0 && versionSkew.length > 0;
|
|
422
|
+
const contentRestamps = countContentRestamps(scopePlans);
|
|
399
423
|
context.logger.info(formatAppliedOutput(scopePlans, coreApplyEvidence, dependencies, restampOnly, summary.failed > 0));
|
|
400
424
|
if (summary.failed > 0) {
|
|
401
425
|
context.logger.warn('\nSync completed with partial failures.');
|
|
426
|
+
if (contentRestamps > 0) {
|
|
427
|
+
// The restamped skips still succeeded; name them beside the failure.
|
|
428
|
+
context.logger.info(`\nManifest content hash restamped for ${contentRestamps} ${contentRestamps === 1 ? 'entry' : 'entries'}.`);
|
|
429
|
+
}
|
|
402
430
|
}
|
|
403
431
|
else if (summary.plannedOperations === 0) {
|
|
404
|
-
context.logger.info(restampOnly
|
|
405
|
-
? '\nManifest version refreshed; no content changes required.'
|
|
406
|
-
: '\nNo changes required.');
|
|
432
|
+
context.logger.info(`\n${formatNoOperationMessage(restampOnly, contentRestamps)}`);
|
|
407
433
|
}
|
|
408
434
|
else {
|
|
409
435
|
context.logger.success('\nSync applied successfully.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EAExB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"dry-run.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/dry-run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EAExB,MAAM,cAAc,CAAC;AAiHtB,wBAAgB,aAAa,CAC3B,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,aAAa,EAAE,EAC3B,YAAY,EAAE,uBAAuB,GACpC,IAAI,CAsEN"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { buildCollectionLifecycle, countPlannedOperations, formatCollectionLifecycle, toSyncOutputPlan, } from './sync.utils.js';
|
|
1
|
+
import { buildCollectionLifecycle, countConfigurationErrors, countContentRestamps, countPlannedOperations, formatCollectionLifecycle, toSyncOutputPlan, } from './sync.utils.js';
|
|
2
2
|
function summarize(scopePlans) {
|
|
3
3
|
return {
|
|
4
4
|
plannedOperations: countPlannedOperations(scopePlans),
|
|
5
5
|
applied: 0,
|
|
6
|
-
|
|
6
|
+
// Configuration errors are known failures before anything runs; count them
|
|
7
|
+
// so a summary-only consumer sees them. Dry-run still exits 0.
|
|
8
|
+
failed: countConfigurationErrors(scopePlans),
|
|
7
9
|
skipped: scopePlans.reduce((total, scopePlan) => {
|
|
8
10
|
const extensionSkipped = scopePlan.materializationExtensions.reduce((count, extension) => count +
|
|
9
11
|
extension.operations.filter((operation) => operation.action === 'skip').length, 0);
|
|
@@ -16,14 +18,21 @@ function summarize(scopePlans) {
|
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
function buildOperationResults(scopePlans) {
|
|
19
|
-
return scopePlans.flatMap((scopePlan) => [...scopePlan.plan.entries, ...scopePlan.plan.removals].map((operation) =>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
return scopePlans.flatMap((scopePlan) => [...scopePlan.plan.entries, ...scopePlan.plan.removals].map((operation) => {
|
|
22
|
+
const result = {
|
|
23
|
+
scope: scopePlan.scope,
|
|
24
|
+
provider: operation.provider,
|
|
25
|
+
contentKind: operation.canonical.type,
|
|
26
|
+
asset: operation.canonical.name,
|
|
27
|
+
action: operation.operation,
|
|
28
|
+
status: operation.operation === 'skip' ? 'current' : 'planned',
|
|
29
|
+
};
|
|
30
|
+
// A configuration error is already known to fail; say so rather than
|
|
31
|
+
// presenting it as a planned operation.
|
|
32
|
+
return operation.operation === 'error'
|
|
33
|
+
? { ...result, status: 'failed', failure: operation.reason }
|
|
34
|
+
: result;
|
|
35
|
+
}));
|
|
27
36
|
}
|
|
28
37
|
function formatMaterializationExtensions(scopePlan) {
|
|
29
38
|
return scopePlan.materializationExtensions
|
|
@@ -104,10 +113,18 @@ export function runSyncDryRun(context, scopePlans, dependencies) {
|
|
|
104
113
|
else {
|
|
105
114
|
context.logger.info(formatDryRunOutput(scopePlans, dependencies));
|
|
106
115
|
context.logger.warn('\nDry-run only: no filesystem changes were made.');
|
|
116
|
+
const configurationErrors = countConfigurationErrors(scopePlans);
|
|
117
|
+
if (configurationErrors > 0) {
|
|
118
|
+
context.logger.warn(`\n${configurationErrors} ${configurationErrors === 1 ? 'entry cannot' : 'entries cannot'} sync until ${configurationErrors === 1 ? 'its' : 'their'} configuration error is fixed.`);
|
|
119
|
+
}
|
|
120
|
+
const contentRestamps = countContentRestamps(scopePlans);
|
|
107
121
|
if (summary.plannedOperations > 0) {
|
|
108
122
|
context.logger.info('Run without --dry-run to apply changes.');
|
|
109
123
|
}
|
|
110
|
-
else {
|
|
124
|
+
else if (contentRestamps > 0) {
|
|
125
|
+
context.logger.info(`Run without --dry-run to restamp ${contentRestamps} stale manifest content ${contentRestamps === 1 ? 'hash' : 'hashes'}.`);
|
|
126
|
+
}
|
|
127
|
+
else if (configurationErrors === 0) {
|
|
111
128
|
context.logger.info('No changes to apply.');
|
|
112
129
|
}
|
|
113
130
|
}
|
|
@@ -4,4 +4,17 @@ export declare function toSyncOutputPlan(scopePlan: ScopeSyncPlan): SyncOutputPl
|
|
|
4
4
|
export declare function buildCollectionLifecycle(scopePlan: ScopeSyncPlan, results?: readonly CollectionOperationResult[]): CollectionLifecycleOutput[];
|
|
5
5
|
export declare function formatCollectionLifecycle(lifecycle: readonly CollectionLifecycleOutput[]): string;
|
|
6
6
|
export declare function countPlannedOperations(scopePlans: ScopeSyncPlan[]): number;
|
|
7
|
+
/**
|
|
8
|
+
* Counts owned copy-strategy skips whose stale manifest `contentHash` the run
|
|
9
|
+
* restamps. A restamp writes the manifest without touching provider files, so
|
|
10
|
+
* it is not a planned operation, but it is a mutation the run must name rather
|
|
11
|
+
* than reporting that nothing needed to change.
|
|
12
|
+
*/
|
|
13
|
+
export declare function countContentRestamps(scopePlans: ScopeSyncPlan[]): number;
|
|
14
|
+
/**
|
|
15
|
+
* Counts planning-time configuration errors (`operation: 'error'`). They are
|
|
16
|
+
* not planned operations: apply reports each as a failed result and changes
|
|
17
|
+
* nothing for it, so every run names the same error instead of looping.
|
|
18
|
+
*/
|
|
19
|
+
export declare function countConfigurationErrors(scopePlans: ScopeSyncPlan[]): number;
|
|
7
20
|
//# sourceMappingURL=sync.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.utils.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/sync.utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAK,EACV,yBAAyB,EAEzB,aAAa,EACb,cAAc,EACf,MAAM,cAAc,CAAC;AA6BtB,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,CAgBzE;AAgBD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,aAAa,EACxB,OAAO,GAAE,SAAS,yBAAyB,EAAO,GACjD,yBAAyB,EAAE,CA8B7B;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,yBAAyB,EAAE,GAC9C,MAAM,CAUR;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAmB1E"}
|
|
1
|
+
{"version":3,"file":"sync.utils.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/sync.utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAK,EACV,yBAAyB,EAEzB,aAAa,EACb,cAAc,EACf,MAAM,cAAc,CAAC;AA6BtB,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,CAgBzE;AAgBD,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,aAAa,EACxB,OAAO,GAAE,SAAS,yBAAyB,EAAO,GACjD,yBAAyB,EAAE,CA8B7B;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,yBAAyB,EAAE,GAC9C,MAAM,CAUR;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAmB1E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CASxE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAQ5E"}
|
|
@@ -75,8 +75,28 @@ export function countPlannedOperations(scopePlans) {
|
|
|
75
75
|
const extensionOperations = scopePlan.materializationExtensions.reduce((count, extension) => count +
|
|
76
76
|
extension.operations.filter((entry) => entry.action !== 'skip').length, 0);
|
|
77
77
|
return (total +
|
|
78
|
-
[...scopePlan.plan.entries, ...scopePlan.plan.removals].filter((entry) => entry.operation !== 'skip').length +
|
|
78
|
+
[...scopePlan.plan.entries, ...scopePlan.plan.removals].filter((entry) => entry.operation !== 'skip' && entry.operation !== 'error').length +
|
|
79
79
|
(scopePlan.plan.collections ?? []).filter((collection) => MUTATING_COLLECTION_ACTIONS.has(collection.action)).length +
|
|
80
80
|
extensionOperations);
|
|
81
81
|
}, 0);
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Counts owned copy-strategy skips whose stale manifest `contentHash` the run
|
|
85
|
+
* restamps. A restamp writes the manifest without touching provider files, so
|
|
86
|
+
* it is not a planned operation, but it is a mutation the run must name rather
|
|
87
|
+
* than reporting that nothing needed to change.
|
|
88
|
+
*/
|
|
89
|
+
export function countContentRestamps(scopePlans) {
|
|
90
|
+
return scopePlans.reduce((total, scopePlan) => total +
|
|
91
|
+
scopePlan.plan.entries.filter((entry) => entry.restampContentHash !== undefined).length, 0);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Counts planning-time configuration errors (`operation: 'error'`). They are
|
|
95
|
+
* not planned operations: apply reports each as a failed result and changes
|
|
96
|
+
* nothing for it, so every run names the same error instead of looping.
|
|
97
|
+
*/
|
|
98
|
+
export function countConfigurationErrors(scopePlans) {
|
|
99
|
+
return scopePlans.reduce((total, scopePlan) => total +
|
|
100
|
+
scopePlan.plan.entries.filter((entry) => entry.operation === 'error')
|
|
101
|
+
.length, 0);
|
|
102
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack-manifest.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/shared/pack-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,GACf,CAAC;AAEF,eAAO,MAAM,UAAU,4GASiB,CAAC;AAEzC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;
|
|
1
|
+
{"version":3,"file":"pack-manifest.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/shared/pack-manifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,GACf,CAAC;AAEF,eAAO,MAAM,UAAU,4GASiB,CAAC;AAEzC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAoID,eAAO,MAAM,aAAa,EAAE,SAAS,cAAc,EA2LlD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAMhE;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,aAAa,GACnB,SAAS,mBAAmB,EAAE,CAGhC;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAC9C,MAAM,EAAE,CAQV;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAIlE;AAoJD,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,SAAS,cAAc,EAAkB,GAClD,IAAI,CAiEN"}
|
|
@@ -170,6 +170,7 @@ export interface OatWorkflowConfig {
|
|
|
170
170
|
hillCheckpointDefault?: WorkflowHillCheckpointDefault;
|
|
171
171
|
archiveOnComplete?: boolean;
|
|
172
172
|
createPrOnComplete?: boolean;
|
|
173
|
+
autonomousComplete?: boolean;
|
|
173
174
|
postImplementSequence?: WorkflowPostImplementSequence;
|
|
174
175
|
reviewExecutionModel?: WorkflowReviewExecutionModel;
|
|
175
176
|
autoReviewAtHillCheckpoints?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oat-config.d.ts","sourceRoot":"","sources":["../../src/config/oat-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oat-config.d.ts","sourceRoot":"","sources":["../../src/config/oat-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -373,6 +373,9 @@ function normalizeWorkflowConfig(parsed) {
|
|
|
373
373
|
if (typeof parsed.createPrOnComplete === 'boolean') {
|
|
374
374
|
next.createPrOnComplete = parsed.createPrOnComplete;
|
|
375
375
|
}
|
|
376
|
+
if (typeof parsed.autonomousComplete === 'boolean') {
|
|
377
|
+
next.autonomousComplete = parsed.autonomousComplete;
|
|
378
|
+
}
|
|
376
379
|
const postImplementSequence = normalizeWorkflowPostImplementSequence(parsed.postImplementSequence);
|
|
377
380
|
if (postImplementSequence !== undefined) {
|
|
378
381
|
next.postImplementSequence =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAGtB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAGtB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,OAAO,GACP,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kCAAkC;IACjD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE;AA2HD,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,OAAO,CAAC,kCAAkC,CAAM,GAC1D,OAAO,CAAC,cAAc,CAAC,CAgFzB;AAED,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,GAChB,sBAAsB,CAkBxB;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,IAAI,CAEnB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,cAAc,GACxB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAY5B;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,cAAc,GACxB,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CA0DxC;AAiMD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,MAAM,GAAG,SAAS,CAQpB"}
|
package/dist/config/resolve.js
CHANGED
package/dist/drift/detector.js
CHANGED
|
@@ -102,12 +102,12 @@ export async function detectDrift(entry, scopeRoot, copyTransform) {
|
|
|
102
102
|
return createReport(entry, { status: 'in_sync' });
|
|
103
103
|
}
|
|
104
104
|
// Pre-framing manifest bridge (wave-7 final review, Critical 4).
|
|
105
|
-
// Length framing changed every directory digest,
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
105
|
+
// Length framing changed every directory digest, so a manifest written
|
|
106
|
+
// before the change records a legacy value until the next `oat sync`
|
|
107
|
+
// restamps it on skip (`restampContentHash`, written by
|
|
108
|
+
// `ensureSkipEntryManaged` in `engine/execute-plan.ts`). Until every
|
|
109
|
+
// install has run that sync, this branch keeps a faithful pre-framing
|
|
110
|
+
// copy reading `in_sync` instead of reporting drift.
|
|
111
111
|
//
|
|
112
112
|
// This cannot reopen the collision. It fires only when the recorded hash
|
|
113
113
|
// is the legacy digest of the canonical tree, and acceptance still rests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-plan.d.ts","sourceRoot":"","sources":["../../src/engine/compute-plan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"compute-plan.d.ts","sourceRoot":"","sources":["../../src/engine/compute-plan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAQtD,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAGd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EAEV,WAAW,EACX,oBAAoB,EACpB,QAAQ,EAET,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,sCAAsC,CAAC,EAAE,QAAQ,CAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAClC,CAAC;IACF,+BAA+B,CAAC,EAAE,SAAS;QACzC,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,WAAW,CAAC;KAC1B,EAAE,CAAC;IACJ,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC5C;AAiOD,wBAAsB,iCAAiC,CACrD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAgI/B;AA0MD,wBAAsB,eAAe,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EAAE,iBAAiB,EAC5B,qBAAqB,EACrB,sCAAsC,EACtC,+BAAoC,EACpC,gCAAwC,GACzC,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0gBzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { access, lstat, readFile, readlink, stat } from 'node:fs/promises';
|
|
2
2
|
import { basename, dirname, join, normalize, relative, resolve, } from 'node:path';
|
|
3
3
|
import { CliError } from '../errors/index.js';
|
|
4
|
-
import { computeContentHash, computeStringHash } from '../manifest/hash.js';
|
|
4
|
+
import { computeContentHash, computeDirectoryDigests, computeStringHash, } from '../manifest/hash.js';
|
|
5
5
|
import { findEntry } from '../manifest/manager.js';
|
|
6
6
|
import { getSyncMappings } from '../providers/shared/adapter.utils.js';
|
|
7
7
|
import { proveCollectionIdentity } from './collection-sync.js';
|
|
@@ -200,6 +200,23 @@ export async function classifyObsoleteMappingRetirement(manifestEntry, scopeRoot
|
|
|
200
200
|
if (managedHash === manifestEntry.contentHash) {
|
|
201
201
|
return createRetirementEntry(manifestEntry, scopeRoot, 'remove', 'obsolete mapping has verified clean managed copy');
|
|
202
202
|
}
|
|
203
|
+
// Pre-framing manifest bridge, mirroring `drift/detector.ts`: a manifest
|
|
204
|
+
// written before length framing records the legacy digest, so the framed
|
|
205
|
+
// comparison above cannot match it and a faithful obsolete copy would be
|
|
206
|
+
// detached and left behind as a stale unmanaged tree. Accept the legacy
|
|
207
|
+
// value only when it is the legacy digest of the canonical tree *and*
|
|
208
|
+
// the copy's framed managed digest equals that same capture's framed
|
|
209
|
+
// digest, so acceptance still rests entirely on the framed digests (a
|
|
210
|
+
// tampered body or a forged recorded hash still detaches). Any failure
|
|
211
|
+
// to read the canonical tree is "cannot verify" and detaches below.
|
|
212
|
+
if (managedHash !== null) {
|
|
213
|
+
const canonicalDigests = await computeDirectoryDigests(canonicalPath).catch(() => null);
|
|
214
|
+
if (canonicalDigests !== null &&
|
|
215
|
+
manifestEntry.contentHash === canonicalDigests.legacy &&
|
|
216
|
+
managedHash === canonicalDigests.framed) {
|
|
217
|
+
return createRetirementEntry(manifestEntry, scopeRoot, 'remove', 'obsolete mapping has verified clean managed copy');
|
|
218
|
+
}
|
|
219
|
+
}
|
|
203
220
|
}
|
|
204
221
|
}
|
|
205
222
|
return createRetirementEntry(manifestEntry, scopeRoot, 'detach', 'obsolete mapping provider path is changed or unverified; preserve and detach manifest ownership');
|
|
@@ -264,6 +281,7 @@ async function classifyOperation(canonicalEntry, providerPath, strategy, rendere
|
|
|
264
281
|
return {
|
|
265
282
|
operation: 'skip',
|
|
266
283
|
reason: 'already in sync',
|
|
284
|
+
verifiedContentHash: canonicalHash,
|
|
267
285
|
};
|
|
268
286
|
}
|
|
269
287
|
// A directory copy is decorated by the writer: `applyCopyMarker` adds the
|
|
@@ -283,6 +301,7 @@ async function classifyOperation(canonicalEntry, providerPath, strategy, rendere
|
|
|
283
301
|
return {
|
|
284
302
|
operation: 'skip',
|
|
285
303
|
reason: 'already in sync',
|
|
304
|
+
verifiedContentHash: canonicalHash,
|
|
286
305
|
};
|
|
287
306
|
}
|
|
288
307
|
}
|
|
@@ -291,6 +310,34 @@ async function classifyOperation(canonicalEntry, providerPath, strategy, rendere
|
|
|
291
310
|
reason: 'copied content differs from canonical content',
|
|
292
311
|
};
|
|
293
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* The marker file a copy-strategy directory needs and lacks, or `null`.
|
|
315
|
+
*
|
|
316
|
+
* `applyCopyMarker` prepends the banner to `SKILL.md` / `AGENT.md`, and the
|
|
317
|
+
* managed-copy digest requires that banner. A canonical skill or agent
|
|
318
|
+
* directory without its marker therefore produced a copy that never verified:
|
|
319
|
+
* `computeManagedDirectoryCopyHash` returned `null`, so every `oat sync`
|
|
320
|
+
* planned another `update_copy` while the manifest hash never moved.
|
|
321
|
+
*/
|
|
322
|
+
async function missingCopyMarker(canonicalEntry) {
|
|
323
|
+
if (canonicalEntry.isFile || canonicalEntry.type === 'rule') {
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
const markerFileName = canonicalEntry.type === 'agent' ? 'AGENT.md' : 'SKILL.md';
|
|
327
|
+
try {
|
|
328
|
+
const markerStat = await stat(join(canonicalEntry.canonicalPath, markerFileName));
|
|
329
|
+
return markerStat.isFile() ? null : markerFileName;
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
if (typeof error === 'object' &&
|
|
333
|
+
error !== null &&
|
|
334
|
+
'code' in error &&
|
|
335
|
+
(error.code === 'ENOENT' || error.code === 'ENOTDIR')) {
|
|
336
|
+
return markerFileName;
|
|
337
|
+
}
|
|
338
|
+
throw error;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
294
341
|
function resolveScopeRoot(canonical, explicitScopeRoot) {
|
|
295
342
|
if (explicitScopeRoot) {
|
|
296
343
|
return resolve(explicitScopeRoot);
|
|
@@ -572,6 +619,24 @@ export async function computeSyncPlan({ canonical, adapters, manifest, scope, co
|
|
|
572
619
|
manifestEntry?.strategy === 'copy'
|
|
573
620
|
? manifestEntry.strategy
|
|
574
621
|
: mappingStrategy;
|
|
622
|
+
const missingMarker = entryStrategy === 'copy'
|
|
623
|
+
? await missingCopyMarker(canonicalEntry)
|
|
624
|
+
: null;
|
|
625
|
+
if (missingMarker !== null) {
|
|
626
|
+
const displayPath = relativeCanonicalPath.replaceAll('\\', '/');
|
|
627
|
+
entries.push({
|
|
628
|
+
canonical: canonicalEntry,
|
|
629
|
+
provider: adapter.name,
|
|
630
|
+
providerPath,
|
|
631
|
+
operation: 'error',
|
|
632
|
+
strategy: entryStrategy,
|
|
633
|
+
reason: `canonical ${canonicalEntry.type} directory ${displayPath} has no ${missingMarker}; add ${missingMarker} or remove the directory, then re-run oat sync`,
|
|
634
|
+
});
|
|
635
|
+
// Seen, so an owned row is neither removed nor detached: the entry
|
|
636
|
+
// still exists canonically and only its configuration is wrong.
|
|
637
|
+
seenCanonicalKeys.add(`${normalize(relativeCanonicalPath)}::${adapter.name}`);
|
|
638
|
+
continue;
|
|
639
|
+
}
|
|
575
640
|
const operation = deferredCollectionTransition
|
|
576
641
|
? {
|
|
577
642
|
operation: entryStrategy === 'copy'
|
|
@@ -583,17 +648,37 @@ export async function computeSyncPlan({ canonical, adapters, manifest, scope, co
|
|
|
583
648
|
await assertSafeProviderMutationPath(entryScopeRoot, providerPath);
|
|
584
649
|
return classifyOperation(canonicalEntry, providerPath, entryStrategy, renderedContent);
|
|
585
650
|
})();
|
|
651
|
+
// A faithful copy whose owning manifest entry records a different
|
|
652
|
+
// digest (a pre-framing legacy value or a tampered one) is restamped on
|
|
653
|
+
// skip. Without this `ensureSkipEntryManaged` kept the stale value
|
|
654
|
+
// forever: `oat status` reported drift that no `oat sync` repaired.
|
|
655
|
+
// The row must track the path that was verified: a row keyed by
|
|
656
|
+
// `(canonicalPath, provider)` can still name an older provider path
|
|
657
|
+
// (after a `providerDir` change), and stamping it with the digest of a
|
|
658
|
+
// different tree would turn its `in_sync` into permanent drift.
|
|
659
|
+
const { verifiedContentHash } = operation;
|
|
660
|
+
const restampContentHash = operation.operation === 'skip' &&
|
|
661
|
+
verifiedContentHash !== undefined &&
|
|
662
|
+
manifestEntry?.strategy === 'copy' &&
|
|
663
|
+
normalize(manifestEntry.providerPath).replaceAll('\\', '/') ===
|
|
664
|
+
relativeManifestPath(entryScopeRoot, providerPath) &&
|
|
665
|
+
manifestEntry.contentHash !== verifiedContentHash
|
|
666
|
+
? verifiedContentHash
|
|
667
|
+
: undefined;
|
|
586
668
|
entries.push({
|
|
587
669
|
canonical: canonicalEntry,
|
|
588
670
|
provider: adapter.name,
|
|
589
671
|
providerPath,
|
|
590
672
|
operation: operation.operation,
|
|
591
673
|
strategy: entryStrategy,
|
|
592
|
-
reason:
|
|
674
|
+
reason: restampContentHash === undefined
|
|
675
|
+
? operation.reason
|
|
676
|
+
: `${operation.reason}; restamp stale manifest content hash`,
|
|
593
677
|
renderedContent,
|
|
594
678
|
...(deferredCollectionTransition
|
|
595
679
|
? { deferredUntilCollectionDetached: true }
|
|
596
680
|
: {}),
|
|
681
|
+
...(restampContentHash === undefined ? {} : { restampContentHash }),
|
|
597
682
|
});
|
|
598
683
|
seenCanonicalKeys.add(`${normalize(relativeCanonicalPath)}::${adapter.name}`);
|
|
599
684
|
}
|
|
@@ -48,7 +48,7 @@ export interface CollectionProjectionPlan {
|
|
|
48
48
|
reason: string;
|
|
49
49
|
}
|
|
50
50
|
export type EngineScope = Exclude<Scope, 'all'>;
|
|
51
|
-
export declare const SYNC_OPERATION_TYPES: readonly ['create_symlink', 'create_copy', 'update_symlink', 'update_copy', 'remove', 'detach', 'skip'];
|
|
51
|
+
export declare const SYNC_OPERATION_TYPES: readonly ['create_symlink', 'create_copy', 'update_symlink', 'update_copy', 'remove', 'detach', 'skip', 'error'];
|
|
52
52
|
export type SyncOperationType = (typeof SYNC_OPERATION_TYPES)[number];
|
|
53
53
|
export interface SyncPlanEntry {
|
|
54
54
|
canonical: CanonicalEntry;
|
|
@@ -59,6 +59,15 @@ export interface SyncPlanEntry {
|
|
|
59
59
|
reason: string;
|
|
60
60
|
renderedContent?: string;
|
|
61
61
|
deferredUntilCollectionDetached?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Set only on a copy-strategy `skip` whose provider content was verified
|
|
64
|
+
* against canonical while the manifest entry that already owns it, and that
|
|
65
|
+
* tracks this same provider path, records a different `contentHash` (a
|
|
66
|
+
* pre-framing legacy digest or a tampered value).
|
|
67
|
+
* The value is the framed digest the planner verified; `executeSyncPlan`
|
|
68
|
+
* writes exactly it, so the next plan carries no restamp.
|
|
69
|
+
*/
|
|
70
|
+
restampContentHash?: string;
|
|
62
71
|
}
|
|
63
72
|
export type RemovalSyncPlanEntry = SyncPlanEntry & {
|
|
64
73
|
operation: 'remove' | 'detach';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.types.d.ts","sourceRoot":"","sources":["../../src/engine/engine.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,cAAc,EAAE,sBAAsB,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,sBAAsB,CAAC;IACrC,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,YAAY,EAAE,UAAU,GAAG,UAAU,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EACF,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,sBAAsB,CAAC;IAC3B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,uBAAuB,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,aAAa,GAAG,eAAe,GAAG,MAAM,CAAC;IACpD,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEhD,eAAO,MAAM,oBAAoB,YAC/B,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,MAAM,
|
|
1
|
+
{"version":3,"file":"engine.types.d.ts","sourceRoot":"","sources":["../../src/engine/engine.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,8 @@ export const SYNC_OPERATION_TYPES = [
|
|
|
6
6
|
'remove',
|
|
7
7
|
'detach',
|
|
8
8
|
'skip',
|
|
9
|
+
// A configuration error found while planning (for example a copy-strategy
|
|
10
|
+
// skill or agent directory with no marker file). It mutates nothing and
|
|
11
|
+
// reports as a failed operation, so it cannot loop as a repeated copy.
|
|
12
|
+
'error',
|
|
9
13
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-plan.d.ts","sourceRoot":"","sources":["../../src/engine/execute-plan.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAGb,gCAAgC,EAEhC,sBAAsB,EACtB,kCAAkC,EAGnC,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EAExB,QAAQ,EAER,UAAU,EACX,MAAM,gBAAgB,CAAC;AAIxB,UAAU,2BAA2B;IACnC,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,eAAe,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,kCAAkC,CAAC,EAAE,OAAO,kCAAkC,CAAC;IAC/E,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;CAC1D;AAID,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC3C,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,EACF,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,iBAAiB,EAAE,yBAAyB,EAAE,CAAC;CAChD,CAAC;
|
|
1
|
+
{"version":3,"file":"execute-plan.d.ts","sourceRoot":"","sources":["../../src/engine/execute-plan.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAGb,gCAAgC,EAEhC,sBAAsB,EACtB,kCAAkC,EAGnC,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,wBAAwB,EAExB,QAAQ,EAER,UAAU,EACX,MAAM,gBAAgB,CAAC;AAIxB,UAAU,2BAA2B;IACnC,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,eAAe,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IAC3E,kCAAkC,CAAC,EAAE,OAAO,kCAAkC,CAAC;IAC/E,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;CAC1D;AAID,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACrD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC3C,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,EACF,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,iBAAiB,EAAE,yBAAyB,EAAE,CAAC;CAChD,CAAC;AAqFF,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAW5D;AAusBD,wBAAsB,eAAe,CACnC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,2BAAoE,GACjF,OAAO,CAAC,oBAAoB,CAAC,CAyK/B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mkdir, rm, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { dirname, join, relative, resolve } from 'node:path';
|
|
2
|
+
import { dirname, join, normalize, relative, resolve } from 'node:path';
|
|
3
3
|
import { copyDirectory, copySingleFile, copySingleFileNoClobber, createCollectionSymlinkNoClobber, createSymlink, createSymlinkNoClobber, removeCollectionSymlinkIfUnchanged, writeFileNoClobber, } from '../fs/io.js';
|
|
4
4
|
import { computeContentHash, computeStringHash } from '../manifest/hash.js';
|
|
5
5
|
import { saveManifest as persistManifest } from '../manifest/manager.js';
|
|
@@ -8,7 +8,9 @@ import { insertMarker, writeDirectorySentinel } from './markers.js';
|
|
|
8
8
|
import { assertSafeProviderMutationPath } from './provider-path-safety.js';
|
|
9
9
|
const DEFAULT_EXECUTE_SYNC_PLAN_DEPENDENCIES = {};
|
|
10
10
|
function mutatesProviderPath(entry) {
|
|
11
|
-
return entry.operation !== 'skip' &&
|
|
11
|
+
return (entry.operation !== 'skip' &&
|
|
12
|
+
entry.operation !== 'detach' &&
|
|
13
|
+
entry.operation !== 'error');
|
|
12
14
|
}
|
|
13
15
|
function operationEvidence(scope, entry, status, failure) {
|
|
14
16
|
return {
|
|
@@ -111,7 +113,9 @@ async function applyCopyMarker(entry) {
|
|
|
111
113
|
error !== null &&
|
|
112
114
|
'code' in error &&
|
|
113
115
|
error.code === 'ENOENT') {
|
|
114
|
-
// Marker insertion
|
|
116
|
+
// Marker insertion stays best-effort here. The planner already reports a
|
|
117
|
+
// canonical directory without its marker as an `error` entry, so this
|
|
118
|
+
// path is reached only if the marker disappears between plan and apply.
|
|
115
119
|
return;
|
|
116
120
|
}
|
|
117
121
|
throw error;
|
|
@@ -203,12 +207,40 @@ function removeManifestEntry(manifest, canonicalPath, provider) {
|
|
|
203
207
|
? manifest
|
|
204
208
|
: { ...manifest, entries, lastUpdated: new Date().toISOString() };
|
|
205
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* Whether two scope-relative manifest paths name the same location. A stored
|
|
212
|
+
* row may spell its path differently (`./.claude/skills/x`) from the form
|
|
213
|
+
* `resolveManifestPaths` produces; the planner compares normalized paths, so
|
|
214
|
+
* the restamp guard must too, or a planned restamp is silently dropped. The
|
|
215
|
+
* stored spelling itself is left unchanged.
|
|
216
|
+
*/
|
|
217
|
+
function sameManifestPath(left, right) {
|
|
218
|
+
return (normalize(left).replaceAll('\\', '/') ===
|
|
219
|
+
normalize(right).replaceAll('\\', '/'));
|
|
220
|
+
}
|
|
206
221
|
async function ensureSkipEntryManaged(planEntry, manifest) {
|
|
207
|
-
const { canonicalPath } = resolveManifestPaths(planEntry);
|
|
222
|
+
const { canonicalPath, providerPath } = resolveManifestPaths(planEntry);
|
|
208
223
|
const existing = manifest.entries.find((entry) => entry.canonicalPath === canonicalPath &&
|
|
209
224
|
entry.provider === planEntry.provider);
|
|
210
225
|
if (existing) {
|
|
211
|
-
|
|
226
|
+
// An owned entry is rewritten only when the planner verified the provider
|
|
227
|
+
// content and found the recorded digest stale; it then writes exactly the
|
|
228
|
+
// digest it verified. The row must track that same provider path, or the
|
|
229
|
+
// digest would describe a tree the row does not point at. Every other
|
|
230
|
+
// owned skip leaves the manifest as is, so a settled sync stays a no-op.
|
|
231
|
+
const restampContentHash = planEntry.restampContentHash;
|
|
232
|
+
if (restampContentHash === undefined ||
|
|
233
|
+
existing.strategy === 'collection' ||
|
|
234
|
+
!sameManifestPath(existing.providerPath, providerPath) ||
|
|
235
|
+
existing.contentHash === restampContentHash) {
|
|
236
|
+
return manifest;
|
|
237
|
+
}
|
|
238
|
+
return addManifestEntry(manifest, {
|
|
239
|
+
...existing,
|
|
240
|
+
strategy: existing.strategy,
|
|
241
|
+
contentHash: restampContentHash,
|
|
242
|
+
lastSynced: new Date().toISOString(),
|
|
243
|
+
});
|
|
212
244
|
}
|
|
213
245
|
const manifestEntry = await toManifestEntry(planEntry, planEntry.strategy);
|
|
214
246
|
return addManifestEntry(manifest, manifestEntry);
|
|
@@ -561,6 +593,11 @@ export async function executeSyncPlan(plan, manifest, manifestPath, dependencies
|
|
|
561
593
|
'Collection alias could not be safely cleared; resolve the reported collection conflict and retry.'));
|
|
562
594
|
continue;
|
|
563
595
|
}
|
|
596
|
+
if (operation.operation === 'error') {
|
|
597
|
+
// A planning-time configuration error: report it, change nothing.
|
|
598
|
+
operationResults.push(operationEvidence(plan.scope, operation, 'failed', operation.reason));
|
|
599
|
+
continue;
|
|
600
|
+
}
|
|
564
601
|
if (operation.operation === 'skip') {
|
|
565
602
|
nextManifest = await ensureSkipEntryManaged(operation, nextManifest);
|
|
566
603
|
operationResults.push(operationEvidence(plan.scope, operation, 'current'));
|