@open-agent-toolkit/cli 0.2.53 → 0.2.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/assets/agents/recon-worker.md +105 -0
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/cli-utilities/tool-packs.md +62 -8
  4. package/assets/docs/contributing/skills.md +26 -0
  5. package/assets/docs/workflows/skills/index.md +3 -0
  6. package/assets/docs/workflows/skills/recon.md +194 -0
  7. package/assets/public-package-versions.json +4 -4
  8. package/assets/skills/oat-dispatch-subagents/SKILL.md +105 -4
  9. package/assets/skills/oat-dispatch-subagents/references/record-schema.md +226 -0
  10. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +2 -2
  11. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +2 -2
  12. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +2 -2
  13. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +2 -2
  14. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +2 -2
  15. package/assets/skills/recon/SKILL.md +260 -0
  16. package/assets/skills/recon/references/packet-contract.md +307 -0
  17. package/assets/skills/recon/references/profiles.md +58 -0
  18. package/assets/skills/recon/references/worker-contract.md +71 -0
  19. package/assets/skills/recon/scripts/create-review-brief.mjs +452 -0
  20. package/assets/skills/recon/scripts/lib/canonical-json.mjs +55 -0
  21. package/assets/skills/recon/scripts/lib/contracts.mjs +2462 -0
  22. package/assets/skills/recon/scripts/lib/safe-path.mjs +120 -0
  23. package/assets/skills/recon/scripts/lib/validated-run.mjs +86 -0
  24. package/assets/skills/recon/scripts/reconcile-ledger.mjs +360 -0
  25. package/assets/skills/recon/scripts/render-packet.mjs +392 -0
  26. package/assets/skills/recon/scripts/validate-artifact.mjs +96 -0
  27. package/assets/skills/recon/scripts/validate-packet.mjs +2359 -0
  28. package/dist/commands/doctor/index.js +5 -5
  29. package/dist/commands/init/index.d.ts.map +1 -1
  30. package/dist/commands/init/index.js +6 -7
  31. package/dist/commands/status/index.d.ts +2 -2
  32. package/dist/commands/status/index.d.ts.map +1 -1
  33. package/dist/commands/status/index.js +7 -4
  34. package/dist/commands/sync/index.d.ts.map +1 -1
  35. package/dist/commands/sync/index.js +24 -8
  36. package/dist/commands/sync/sync.types.d.ts +2 -2
  37. package/dist/commands/sync/sync.types.d.ts.map +1 -1
  38. package/dist/commands/tools/migrate/index.d.ts.map +1 -1
  39. package/dist/commands/tools/migrate/index.js +25 -1
  40. package/dist/commands/tools/migrate/migrate-pack.d.ts +5 -0
  41. package/dist/commands/tools/migrate/migrate-pack.d.ts.map +1 -1
  42. package/dist/commands/tools/migrate/migrate-pack.js +66 -7
  43. package/dist/commands/tools/remove/index.js +1 -1
  44. package/dist/commands/tools/remove/remove-tools.d.ts +5 -1
  45. package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -1
  46. package/dist/commands/tools/remove/remove-tools.js +81 -1
  47. package/dist/commands/tools/shared/apply-pack-reconcile.d.ts +3 -0
  48. package/dist/commands/tools/shared/apply-pack-reconcile.d.ts.map +1 -1
  49. package/dist/commands/tools/shared/apply-pack-reconcile.js +40 -9
  50. package/dist/commands/tools/shared/format-pack-inventory.d.ts.map +1 -1
  51. package/dist/commands/tools/shared/format-pack-inventory.js +3 -0
  52. package/dist/commands/tools/shared/install-sync-context.d.ts +2 -1
  53. package/dist/commands/tools/shared/install-sync-context.d.ts.map +1 -1
  54. package/dist/commands/tools/shared/install-sync-context.js +14 -3
  55. package/dist/commands/tools/shared/pack-dependencies.d.ts +14 -0
  56. package/dist/commands/tools/shared/pack-dependencies.d.ts.map +1 -0
  57. package/dist/commands/tools/shared/pack-dependencies.js +54 -0
  58. package/dist/commands/tools/shared/pack-inventory.d.ts.map +1 -1
  59. package/dist/commands/tools/shared/pack-inventory.js +9 -9
  60. package/dist/commands/tools/shared/pack-lifecycle.d.ts +9 -1
  61. package/dist/commands/tools/shared/pack-lifecycle.d.ts.map +1 -1
  62. package/dist/commands/tools/shared/pack-lifecycle.js +102 -9
  63. package/dist/commands/tools/shared/pack-manifest.d.ts +2 -2
  64. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  65. package/dist/commands/tools/shared/pack-manifest.js +91 -2
  66. package/dist/commands/tools/shared/pack-reconcile.d.ts +15 -1
  67. package/dist/commands/tools/shared/pack-reconcile.d.ts.map +1 -1
  68. package/dist/commands/tools/shared/pack-reconcile.js +75 -13
  69. package/dist/commands/tools/shared/scoped-pack-intent.d.ts +8 -0
  70. package/dist/commands/tools/shared/scoped-pack-intent.d.ts.map +1 -1
  71. package/dist/commands/tools/shared/scoped-pack-intent.js +61 -15
  72. package/dist/commands/tools/shared/types.d.ts +7 -0
  73. package/dist/commands/tools/shared/types.d.ts.map +1 -1
  74. package/dist/commands/tools/update/update-tools.d.ts.map +1 -1
  75. package/dist/commands/tools/update/update-tools.js +7 -1
  76. package/dist/config/oat-config.d.ts +5 -1
  77. package/dist/config/oat-config.d.ts.map +1 -1
  78. package/dist/config/oat-config.js +19 -0
  79. package/dist/engine/index.d.ts +1 -1
  80. package/dist/engine/index.d.ts.map +1 -1
  81. package/dist/engine/scanner.d.ts +9 -1
  82. package/dist/engine/scanner.d.ts.map +1 -1
  83. package/dist/engine/scanner.js +61 -4
  84. package/dist/shared/types.d.ts +1 -0
  85. package/dist/shared/types.d.ts.map +1 -1
  86. package/dist/shared/types.js +3 -0
  87. package/package.json +2 -2
@@ -574,15 +574,15 @@ function collectPackStateFindings(inventories) {
574
574
  continue;
575
575
  }
576
576
  if (diagnostic.code === 'user-agent-unmaterialized') {
577
- // A documented scope limitation rather than drift: `oat tools update`
578
- // cannot repair it, so no recovery command is offered and the check
579
- // stays a pass. The message still names every affected agent so the
580
- // absent capability is not reported as a complete pack.
577
+ // A manifest eligibility boundary rather than drift: `oat tools
578
+ // update` cannot repair it, so no recovery command is offered and the
579
+ // check stays a pass. The message still names every affected agent so
580
+ // the absent capability is not reported as a complete pack.
581
581
  findings.push({
582
582
  pack: inventory.pack,
583
583
  scope,
584
584
  code: 'user-agent-unmaterialized',
585
- detail: `${diagnostic.paths.length} user-scope agent(s) lack native provider-role materialization; canonical instruction reads are unaffected, and active Codex or Cursor materialization supplies only the bundled managed roles, so install this pack at project scope to materialize the affected agents`,
585
+ detail: `${diagnostic.paths.length} user-scope agent(s) lack native provider-role materialization; canonical instruction reads are unaffected, and active Codex or Cursor materialization supplies only built-in managed roles and manifest-declared user-materializable agents, so install this pack at project scope to materialize the affected agents`,
586
586
  paths: diagnostic.paths,
587
587
  recovery: null,
588
588
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"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"}
@@ -48,15 +48,14 @@ async function collectStraysDefault(scopeRoot, scope, manifest, canonicalEntries
48
48
  const adaptersToScan = activeAdapters ??
49
49
  (await getActiveAdapters(getDefaultAdapters(), scopeRoot));
50
50
  const candidates = [];
51
- const hasMaterializationAdapter = adaptersToScan.some((adapter) => adapter.name === 'codex' || adapter.name === 'cursor');
52
- const materializationCanonicalEntries = scope === 'user' && hasMaterializationAdapter
53
- ? mergeUserScopeMaterializationEntries(canonicalEntries, await scanBundledManagedAgents())
51
+ const providerCanonicalEntries = scope === 'user'
52
+ ? mergeUserScopeMaterializationEntries(canonicalEntries, await scanBundledManagedAgents({ scopeRoot }))
54
53
  : canonicalEntries;
55
54
  const codexExtensionPlan = adaptersToScan.some((adapter) => adapter.name === 'codex')
56
- ? await computeCodexProjectExtensionPlan(scopeRoot, materializationCanonicalEntries, undefined, { userConfigDir })
55
+ ? await computeCodexProjectExtensionPlan(scopeRoot, providerCanonicalEntries, undefined, { userConfigDir })
57
56
  : undefined;
58
57
  const cursorExtensionPlan = adaptersToScan.some((adapter) => adapter.name === 'cursor')
59
- ? await computeCursorProjectExtensionPlan(scopeRoot, materializationCanonicalEntries, undefined, { userConfigDir })
58
+ ? await computeCursorProjectExtensionPlan(scopeRoot, providerCanonicalEntries, undefined, { userConfigDir })
60
59
  : undefined;
61
60
  const materializationPlans = [
62
61
  ...(codexExtensionPlan
@@ -80,7 +79,7 @@ async function collectStraysDefault(scopeRoot, scope, manifest, canonicalEntries
80
79
  const adoptionSources = getAdoptionSources(adapter, scope);
81
80
  for (const source of adoptionSources) {
82
81
  const providerDir = join(scopeRoot, source.directory);
83
- const strays = filterMaterializationManagedStrays((await detectStrays(adapter.name, providerDir, manifest, canonicalEntries, source.mapping)).map((report) => ({ provider: adapter.name, report })), materializationPlans).map((candidate) => candidate.report);
82
+ const strays = filterMaterializationManagedStrays((await detectStrays(adapter.name, providerDir, manifest, providerCanonicalEntries, source.mapping)).map((report) => ({ provider: adapter.name, report })), materializationPlans).map((candidate) => candidate.report);
84
83
  for (const report of strays) {
85
84
  if (report.state.status !== 'stray') {
86
85
  continue;
@@ -94,7 +93,7 @@ async function collectStraysDefault(scopeRoot, scope, manifest, canonicalEntries
94
93
  }
95
94
  }
96
95
  if (adaptersToScan.some((adapter) => adapter.name === 'codex')) {
97
- const codexStrays = await detectCodexRoleStrays(scopeRoot, canonicalEntries, new Set(codexExtensionPlan.managedRoles));
96
+ const codexStrays = await detectCodexRoleStrays(scopeRoot, providerCanonicalEntries, new Set(codexExtensionPlan.managedRoles));
98
97
  for (const stray of codexStrays) {
99
98
  candidates.push({
100
99
  provider: 'codex',
@@ -6,7 +6,7 @@ import { type MultiSelectChoice, type PromptContext, type SelectChoice } from '.
6
6
  import { type InventoryPackInput, type PackInventory } from '../tools/shared/pack-inventory.js';
7
7
  import { type SyncConfig } from '../../config/index.js';
8
8
  import { type CopyTransform, type DriftReport } from '../../drift/index.js';
9
- import { type CanonicalEntry } from '../../engine/index.js';
9
+ import { type CanonicalEntry, type ScanBundledManagedAgentsOptions } from '../../engine/index.js';
10
10
  import type { Manifest } from '../../manifest/index.js';
11
11
  import { type CodexExtensionPlan } from '../../providers/codex/codec/sync-extension.js';
12
12
  import { type CursorExtensionPlan } from '../../providers/cursor/codec/sync-extension.js';
@@ -22,7 +22,7 @@ interface StatusDependencies {
22
22
  resolveUserSyncConfig: (userConfigDir: string) => Promise<SyncConfig>;
23
23
  saveManifest: (manifestPath: string, manifest: Manifest) => Promise<void>;
24
24
  scanCanonical: (scopeRoot: string, scope: ConcreteScope, targets?: readonly CanonicalScanTarget[]) => Promise<CanonicalEntry[]>;
25
- scanBundledManagedAgents: () => Promise<CanonicalEntry[]>;
25
+ scanBundledManagedAgents: (options?: ScanBundledManagedAgentsOptions) => Promise<CanonicalEntry[]>;
26
26
  getAdapters: () => ProviderAdapter[];
27
27
  getConfigAwareAdapters: (adapters: ProviderAdapter[], scopeRoot: string, config: SyncConfig) => Promise<{
28
28
  activeAdapters: ProviderAdapter[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/status/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/status/index.ts"],"names":[],"mappings":"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"}
@@ -488,10 +488,13 @@ async function collectScopeReports(scope, context, dependencies) {
488
488
  .filter(({ adapter }) => activeProviderNames.has(adapter.name))
489
489
  .flatMap(({ extensions }) => extensions.map(({ provider }) => provider))
490
490
  : [...activeProviderNames]);
491
+ const providerCanonicalEntries = scope === 'user'
492
+ ? mergeUserScopeMaterializationEntries(canonicalEntries, await dependencies.scanBundledManagedAgents({ scopeRoot }))
493
+ : canonicalEntries;
491
494
  const extensionCanonicalEntries = scope === 'user' &&
492
495
  (activeExtensionProviders.has('codex') ||
493
496
  activeExtensionProviders.has('cursor'))
494
- ? mergeUserScopeMaterializationEntries(canonicalEntries, await dependencies.scanBundledManagedAgents())
497
+ ? providerCanonicalEntries
495
498
  : canonicalEntries;
496
499
  const codexExtensionPlan = activeExtensionProviders.has('codex')
497
500
  ? await dependencies.computeCodexProjectExtensionPlan(scopeRoot, extensionCanonicalEntries, undefined, { userConfigDir })
@@ -539,7 +542,7 @@ async function collectScopeReports(scope, context, dependencies) {
539
542
  reports.push(await dependencies.detectDrift(entry, scopeRoot, copyTransform));
540
543
  }
541
544
  for (const mapping of mappings) {
542
- for (const canonicalEntry of canonicalEntries) {
545
+ for (const canonicalEntry of providerCanonicalEntries) {
543
546
  if (canonicalEntry.type !== mapping.contentType) {
544
547
  continue;
545
548
  }
@@ -561,7 +564,7 @@ async function collectScopeReports(scope, context, dependencies) {
561
564
  }
562
565
  for (const source of adoptionSources) {
563
566
  const providerDir = join(scopeRoot, source.directory);
564
- const strays = filterMaterializationManagedStrays((await dependencies.detectStrays(adapter.name, providerDir, manifest, canonicalEntries, source.mapping)).map((report) => ({ provider: adapter.name, report })), materializationPlans).map((candidate) => candidate.report);
567
+ const strays = filterMaterializationManagedStrays((await dependencies.detectStrays(adapter.name, providerDir, manifest, providerCanonicalEntries, source.mapping)).map((report) => ({ provider: adapter.name, report })), materializationPlans).map((candidate) => candidate.report);
565
568
  reports.push(...strays);
566
569
  for (const stray of strays) {
567
570
  if (stray.state.status !== 'stray') {
@@ -603,7 +606,7 @@ async function collectScopeReports(scope, context, dependencies) {
603
606
  }
604
607
  }
605
608
  if (codexExtensionPlan) {
606
- const codexStrays = await dependencies.detectCodexRoleStrays(scopeRoot, canonicalEntries, new Set(codexExtensionPlan.managedRoles));
609
+ const codexStrays = await dependencies.detectCodexRoleStrays(scopeRoot, providerCanonicalEntries, new Set(codexExtensionPlan.managedRoles));
607
610
  for (const codexStray of codexStrays) {
608
611
  const report = {
609
612
  canonical: null,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AAWvB,OAAO,EAOL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAI5C,OAAO,KAAK,EACV,aAAa,EAEb,uBAAuB,EAGxB,MAAM,cAAc,CAAC;AAEtB,KAAK,0BAA0B,GAAG,IAAI,CACpC,uBAAuB,EACvB,iBAAiB,GAAG,eAAe,CACpC,GAAG;IACF,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE,SAAS,mBAAmB,EAAE,KACrC,UAAU,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1D,eAAe,EAAE,CACf,IAAI,EAAE,UAAU,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAChE,sCAAsC,CAAC,EAAE,QAAQ,CAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAClC,CAAC;KACH,KACE,UAAU,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5D,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,UAAU,CAAC;KACpB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACrC,CAAC;AA8eF,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAClD,OAAO,CA+DT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AAWvB,OAAO,EAOL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAI5C,OAAO,KAAK,EACV,aAAa,EAEb,uBAAuB,EAGxB,MAAM,cAAc,CAAC;AAEtB,KAAK,0BAA0B,GAAG,IAAI,CACpC,uBAAuB,EACvB,iBAAiB,GAAG,eAAe,CACpC,GAAG;IACF,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE,SAAS,mBAAmB,EAAE,KACrC,UAAU,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1D,eAAe,EAAE,CACf,IAAI,EAAE,UAAU,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAChE,sCAAsC,CAAC,EAAE,QAAQ,CAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAClC,CAAC;KACH,KACE,UAAU,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5D,2BAA2B,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,UAAU,CAAC;KACpB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACrC,CAAC;AAkgBF,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAClD,OAAO,CA+DT"}
@@ -1,4 +1,4 @@
1
- import { join, relative } from 'node:path';
1
+ import { isAbsolute, join, relative, resolve, sep } from 'node:path';
2
2
  import { buildCommandContext } from '../../app/command-context.js';
3
3
  import { PROVIDER_CONFIG_REMEDIATION } from '../shared/messages.js';
4
4
  import { withScopeOption } from '../shared/scope-option.js';
@@ -186,6 +186,13 @@ function detectVersionSkew(scope, manifest) {
186
186
  }
187
187
  return { scope, producingVersion, invokingVersion };
188
188
  }
189
+ function isPathWithin(root, candidate) {
190
+ const relativePath = relative(resolve(root), resolve(candidate));
191
+ return (relativePath === '' ||
192
+ (relativePath !== '..' &&
193
+ !relativePath.startsWith(`..${sep}`) &&
194
+ !isAbsolute(relativePath)));
195
+ }
189
196
  async function computePlans(context, dependencies, canonicalFilter) {
190
197
  const scopePlans = [];
191
198
  for (const scope of resolveConcreteScopes(context.scope)) {
@@ -239,8 +246,20 @@ async function computePlans(context, dependencies, canonicalFilter) {
239
246
  }
240
247
  }
241
248
  const canonical = await dependencies.scanCanonical(scopeRoot, scope, scanTargets);
249
+ const managedAgents = scope === 'user'
250
+ ? await dependencies.scanBundledManagedAgents({ scopeRoot })
251
+ : [];
252
+ const ordinaryCanonical = scope === 'user'
253
+ ? [
254
+ ...canonical,
255
+ ...managedAgents.filter(({ canonicalPath }) => isPathWithin(join(scopeRoot, '.agents', 'agents'), canonicalPath)),
256
+ ]
257
+ : canonical;
258
+ const materializationCanonical = scope === 'user'
259
+ ? mergeUserScopeMaterializationEntries(canonical, managedAgents)
260
+ : canonical;
242
261
  if (canonicalFilter?.mode === 'remove') {
243
- const existing = new Set(canonical.map(({ canonicalPath }) => relative(scopeRoot, canonicalPath).replaceAll('\\', '/')));
262
+ const existing = new Set(ordinaryCanonical.map(({ canonicalPath }) => relative(scopeRoot, canonicalPath).replaceAll('\\', '/')));
244
263
  const stillPresent = canonicalFilter.paths.filter((path) => existing.has(path));
245
264
  if (stillPresent.length > 0) {
246
265
  throw new CliError(`Cannot remove canonical provider views while source exists: ${stillPresent.join(', ')}`, 1);
@@ -268,7 +287,7 @@ async function computePlans(context, dependencies, canonicalFilter) {
268
287
  }))
269
288
  : []) ?? [];
270
289
  const plan = await dependencies.computeSyncPlan({
271
- canonical,
290
+ canonical: ordinaryCanonical,
272
291
  adapters: resolved.activeAdapters,
273
292
  manifest,
274
293
  scope,
@@ -278,12 +297,9 @@ async function computePlans(context, dependencies, canonicalFilter) {
278
297
  collectionAliasEligibleMappings,
279
298
  ...(scope === 'user' ? { extensionOwnedCanonicalPathsByProvider } : {}),
280
299
  });
281
- const extensionCanonical = scope === 'user' && enabledExtensions.length > 0
282
- ? mergeUserScopeMaterializationEntries(canonical, await dependencies.scanBundledManagedAgents())
283
- : canonical;
284
300
  const materializationExtensionPlans = await Promise.all(enabledExtensions.map((extension) => extension.computePlan({
285
301
  scopeRoot,
286
- canonicalEntries: extensionCanonical,
302
+ canonicalEntries: materializationCanonical,
287
303
  allowedCanonicalPaths: canonicalFilter?.paths,
288
304
  options: { userConfigDir: join(context.home, '.oat') },
289
305
  })));
@@ -298,7 +314,7 @@ async function computePlans(context, dependencies, canonicalFilter) {
298
314
  scopeRoot,
299
315
  manifestPath,
300
316
  manifest,
301
- canonical,
317
+ canonical: ordinaryCanonical,
302
318
  activeAdapterNames,
303
319
  plan,
304
320
  providerMismatches: resolved.mismatches,
@@ -3,7 +3,7 @@ import type { MultiSelectChoice, PromptContext } from '../shared/shared.prompts.
3
3
  import type { SyncConfig } from '../../config/index.js';
4
4
  import type { CollectionProjectionPlan, SyncOperationResult } from '../../engine/engine.types.js';
5
5
  import type { CollectionOperationResult } from '../../engine/execute-plan.js';
6
- import type { CanonicalEntry, SyncPlan, SyncResult } from '../../engine/index.js';
6
+ import type { CanonicalEntry, ScanBundledManagedAgentsOptions, SyncPlan, SyncResult } from '../../engine/index.js';
7
7
  import type { Manifest } from '../../manifest/index.js';
8
8
  import type { ConfigAwareAdaptersResult, MaterializationApplyResult, MaterializationExtension, MaterializationOperation, MaterializationPlan, ProviderAdapter } from '../../providers/shared/index.js';
9
9
  import type { MaterializationOperationResult } from '../../providers/shared/materialization-extension.js';
@@ -126,7 +126,7 @@ export interface SyncCommandDependencies {
126
126
  loadSyncConfig: (configPath: string) => Promise<SyncConfig>;
127
127
  saveSyncConfig: (configPath: string, config: SyncConfig) => Promise<SyncConfig>;
128
128
  scanCanonical: (scopeRoot: string, scope: ConcreteScope) => Promise<CanonicalEntry[]>;
129
- scanBundledManagedAgents: () => Promise<CanonicalEntry[]>;
129
+ scanBundledManagedAgents: (options?: ScanBundledManagedAgentsOptions) => Promise<CanonicalEntry[]>;
130
130
  getAdapters: () => ProviderAdapter[];
131
131
  getConfigAwareAdapters: (adapters: ProviderAdapter[], scopeRoot: string, config: SyncConfig) => Promise<ConfigAwareAdaptersResult>;
132
132
  selectProvidersWithAbort: <T extends string>(message: string, choices: MultiSelectChoice<T>[], ctx: PromptContext) => Promise<T[] | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.types.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/sync.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,6BAA6B,EAAE,mBAAmB,EAAE,CAAC;IACrD,yBAAyB,EAAE,+BAA+B,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,wBAAwB,CAAC,OAAO,CAAC,EACjC,QAAQ,CACT,GAAG;IACF,MAAM,CAAC,EAAE,OAAO,CACd,wBAAwB,CAAC,OAAO,CAAC,EACjC;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CACzB,CAAC,QAAQ,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,GAAG;IAC3E,KAAK,EAAE,sBAAsB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG;IAC3D,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,CAAC;IACrB,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,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,MAAM,EAAE,SAAS,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;IAClD,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,+BAA+B,EAAE,CAAC;IAC9D,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,qEAAqE;IACrE,eAAe,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC3C;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC3E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IACpD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,4BAA4B,GAAG,wBAAwB,CACjE,mBAAmB,EACnB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,OAAO,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;KACzB,CAAC;CACH,CACF,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,gBAAgB,EAAE,CAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,cAAc,EAAE,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,KACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,KACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/B,wBAAwB,EAAE,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC1D,WAAW,EAAE,MAAM,eAAe,EAAE,CAAC;IACrC,sBAAsB,EAAE,CACtB,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,KACf,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxC,wBAAwB,EAAE,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC/B,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,UAAU,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;QACjC,+BAA+B,CAAC,EAAE,SAAS;YACzC,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;SACrC,EAAE,CAAC;KACL,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,eAAe,EAAE,CACf,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,KACjB,OAAO,CACV,UAAU,GAAG;QAAE,iBAAiB,CAAC,EAAE,yBAAyB,EAAE,CAAA;KAAE,CACjE,CAAC;IACF,4BAA4B,EAAE,MAAM,4BAA4B,EAAE,CAAC;IACnE,iCAAiC,EAAE,CACjC,SAAS,EAAE,4BAA4B,EACvC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,KACtB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CAC9D"}
1
+ {"version":3,"file":"sync.types.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/sync.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EACV,cAAc,EACd,+BAA+B,EAC/B,QAAQ,EACR,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,6BAA6B,EAAE,mBAAmB,EAAE,CAAC;IACrD,yBAAyB,EAAE,+BAA+B,EAAE,CAAC;CAC9D;AAED,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,wBAAwB,CAAC,OAAO,CAAC,EACjC,QAAQ,CACT,GAAG;IACF,MAAM,CAAC,EAAE,OAAO,CACd,wBAAwB,CAAC,OAAO,CAAC,EACjC;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CACzB,CAAC,QAAQ,CAAC,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,GAAG;IAC3E,KAAK,EAAE,sBAAsB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG;IAC3D,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,CAAC;IACrB,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,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,MAAM,EAAE,SAAS,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;IAClD,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,yBAAyB,CAAC,EAAE,+BAA+B,EAAE,CAAC;IAC9D,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,qEAAqE;IACrE,eAAe,CAAC,EAAE,qBAAqB,EAAE,CAAC;CAC3C;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC3E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,wBAAwB,EAAE,CAAC;IACvC,gBAAgB,CAAC,EAAE,8BAA8B,EAAE,CAAC;IACpD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,4BAA4B,GAAG,wBAAwB,CACjE,mBAAmB,EACnB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,OAAO,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;KACzB,CAAC;CACH,CACF,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,gBAAgB,EAAE,CAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5D,cAAc,EAAE,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,UAAU,KACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,KACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/B,wBAAwB,EAAE,CACxB,OAAO,CAAC,EAAE,+BAA+B,KACtC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,eAAe,EAAE,CAAC;IACrC,sBAAsB,EAAE,CACtB,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,KACf,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxC,wBAAwB,EAAE,CAAC,CAAC,SAAS,MAAM,EACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC/B,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,UAAU,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;QACjC,+BAA+B,CAAC,EAAE,SAAS;YACzC,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;SACrC,EAAE,CAAC;KACL,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB,eAAe,EAAE,CACf,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,KACjB,OAAO,CACV,UAAU,GAAG;QAAE,iBAAiB,CAAC,EAAE,yBAAyB,EAAE,CAAA;KAAE,CACjE,CAAC;IACF,4BAA4B,EAAE,MAAM,4BAA4B,EAAE,CAAC;IACnE,iCAAiC,EAAE,CACjC,SAAS,EAAE,4BAA4B,EACvC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,KACtB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CAC9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/migrate/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EACL,4BAA4B,EAE5B,KAAK,iCAAiC,EACvC,MAAM,uCAAuC,CAAC;AAS/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAE5C,OAAO,EAIL,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAExB,UAAU,uBAAuB;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,OAAO,mBAAmB,CAAC;IACtC,uBAAuB,EAAE,CACvB,KAAK,EAAE,iCAAiC,KACrC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,oBAAoB,CAAC;IAC9D,kBAAkB,EAAE,CAClB,OAAO,EAAE,oBAAoB,EAC7B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,qBAAqB,EAAE,CACrB,WAAW,EAAE,oBAAoB,EACjC,KAAK,EAAE,mCAAmC,EAC1C,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,aAAa,EAAE,OAAO,aAAa,CAAC;CACrC;AAuOD,wBAAgB,yBAAyB,CACvC,YAAY,GAAE,4BAAkD,GAC/D,OAAO,CA0IT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/migrate/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,OAAO,EACL,4BAA4B,EAE5B,KAAK,iCAAiC,EACvC,MAAM,uCAAuC,CAAC;AAU/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAE5C,OAAO,EAIL,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAExB,UAAU,uBAAuB;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,OAAO,mBAAmB,CAAC;IACtC,uBAAuB,EAAE,CACvB,KAAK,EAAE,iCAAiC,KACrC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,oBAAoB,CAAC;IAC9D,kBAAkB,EAAE,CAClB,OAAO,EAAE,oBAAoB,EAC7B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,qBAAqB,EAAE,CACrB,WAAW,EAAE,oBAAoB,EACjC,KAAK,EAAE,mCAAmC,EAC1C,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,aAAa,EAAE,OAAO,aAAa,CAAC;CACrC;AA+PD,wBAAgB,yBAAyB,CACvC,YAAY,GAAE,4BAAkD,GAC/D,OAAO,CA0IT"}
@@ -4,10 +4,12 @@ import { dirname } from 'node:path';
4
4
  import { buildCommandContext, } from '../../../app/command-context.js';
5
5
  import { confirmAction } from '../../shared/shared.prompts.js';
6
6
  import { readGlobalOptions } from '../../shared/shared.utils.js';
7
+ import { dependencyRetainedAssetIds } from '../../tools/shared/pack-dependencies.js';
7
8
  import { inventoryScopedPack } from '../../tools/shared/pack-inventory.js';
9
+ import { reconcilePackDependencyLifecycles } from '../../tools/shared/pack-lifecycle.js';
8
10
  import { isPackName, PACK_NAMES } from '../../tools/shared/pack-manifest.js';
9
11
  import { resolveSharedOwnerRetentions, } from '../../tools/shared/pack-reconcile.js';
10
- import { hasScopedPackOwnershipEvidence, writeScopedPackIntent, } from '../../tools/shared/scoped-pack-intent.js';
12
+ import { hasScopedPackOwnershipEvidence, readScopedPackIntent, writeScopedPackIntent, } from '../../tools/shared/scoped-pack-intent.js';
11
13
  import { readOatConfig, writeOatConfig } from '../../../config/oat-config.js';
12
14
  import { CliError } from '../../../errors/index.js';
13
15
  import { resolveAssetsRoot } from '../../../fs/assets.js';
@@ -61,6 +63,13 @@ async function writeGenerated(scopeRoot, operation) {
61
63
  }
62
64
  async function defaultExecuteDestination(preview, destinationRoot, runtime) {
63
65
  return executeMigrationDestination(preview, destinationRoot, {
66
+ acquireDependencies: async () => reconcilePackDependencyLifecycles({
67
+ pack: preview.pack,
68
+ scope: preview.to,
69
+ scopeRoot: destinationRoot,
70
+ assetsRoot: runtime.assetsRoot,
71
+ action: 'migrate-destination',
72
+ }),
64
73
  applyDependencies: {
65
74
  writeGenerated: async (operation) => writeGenerated(destinationRoot, operation),
66
75
  writeIntent: async (operation) => writeScopedPackIntent({
@@ -86,6 +95,13 @@ async function defaultExecuteDestination(preview, destinationRoot, runtime) {
86
95
  async function defaultCompleteSourceRemoval(destination, input, runtime) {
87
96
  const preview = destination.preview;
88
97
  return completeMigrationSourceRemoval(destination, input, {
98
+ releaseDependencies: async () => reconcilePackDependencyLifecycles({
99
+ pack: preview.pack,
100
+ scope: preview.from,
101
+ scopeRoot: input.sourceRoot,
102
+ assetsRoot: runtime.assetsRoot,
103
+ action: 'remove',
104
+ }),
89
105
  inventory: async () => inventoryScopedPack({
90
106
  pack: preview.pack,
91
107
  scope: preview.from,
@@ -107,6 +123,14 @@ async function defaultCompleteSourceRemoval(destination, input, runtime) {
107
123
  scopeRoot: input.sourceRoot,
108
124
  hasOwnershipEvidence: async (pack, scope, scopeRoot) => hasScopedPackOwnershipEvidence({ pack, scope, scopeRoot }),
109
125
  }),
126
+ resolveRetainedDependencyAssetIds: async () => {
127
+ const intent = await readScopedPackIntent({
128
+ pack: preview.pack,
129
+ scope: preview.from,
130
+ scopeRoot: input.sourceRoot,
131
+ });
132
+ return dependencyRetainedAssetIds(preview.pack, intent.requiredBy);
133
+ },
110
134
  sync: async ({ scope, canonicalPaths }) => runSync({
111
135
  context: runtime.context,
112
136
  scope,
@@ -1,5 +1,6 @@
1
1
  import { applyPackReconcilePlan, type ApplyPackReconcileDependencies } from '../../tools/shared/apply-pack-reconcile.js';
2
2
  import { type ScopedPackInventory } from '../../tools/shared/pack-inventory.js';
3
+ import type { PackLifecycleResult } from '../../tools/shared/pack-lifecycle.js';
3
4
  import { planPackReconcile, type PackSharedOwnerRetention, type PackReconcilePlan } from '../../tools/shared/pack-reconcile.js';
4
5
  import type { PackAssetKind, PackAssetStatus, PackName } from '../../tools/shared/types.js';
5
6
  import type { ConcreteScope } from '../../../shared/types.js';
@@ -40,6 +41,7 @@ export interface PackMigrationOutcome {
40
41
  sourceInventory?: ScopedPackInventory;
41
42
  recovery?: readonly string[];
42
43
  pendingSync?: MigrationPendingSync;
44
+ dependencyLifecycles?: readonly PackLifecycleResult[];
43
45
  }
44
46
  export interface PlanPackMigrationInput {
45
47
  pack: PackName;
@@ -61,6 +63,7 @@ export interface ExecuteMigrationDestinationDependencies {
61
63
  apply?: typeof applyPackReconcilePlan;
62
64
  applyDependencies: ApplyPackReconcileDependencies;
63
65
  sync?: (input: MigrationSyncInput) => Promise<void>;
66
+ acquireDependencies?: () => Promise<PackLifecycleResult[]>;
64
67
  }
65
68
  export interface CompleteMigrationSourceRemovalInput {
66
69
  confirmation: 'confirmed' | 'declined' | 'non-interactive';
@@ -73,7 +76,9 @@ export interface CompleteMigrationSourceRemovalDependencies {
73
76
  apply?: typeof applyPackReconcilePlan;
74
77
  applyDependencies: Omit<ApplyPackReconcileDependencies, 'inventory'>;
75
78
  resolveSourceRetentions?: () => Promise<PackSharedOwnerRetention[]>;
79
+ resolveRetainedDependencyAssetIds?: () => Promise<string[]>;
76
80
  sync?: (input: MigrationSyncInput) => Promise<void>;
81
+ releaseDependencies?: () => Promise<PackLifecycleResult[]>;
77
82
  }
78
83
  export declare function planPackMigration(input: PlanPackMigrationInput): PackMigrationPreview;
79
84
  export declare function executeMigrationDestination(preview: PackMigrationPreview, destinationRoot: string, dependencies: ExecuteMigrationDestinationDependencies): Promise<PackMigrationOutcome>;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-pack.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/migrate/migrate-pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-pack.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/migrate/migrate-pack.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { applyPackReconcilePlan, } from '../../tools/shared/apply-pack-reconcile.js';
2
+ import { canonicalPathsForPack } from '../../tools/shared/install-sync-context.js';
2
3
  import { hasScopedPackPlacementEvidence, } from '../../tools/shared/pack-inventory.js';
3
4
  import { getPackDefinition } from '../../tools/shared/pack-manifest.js';
4
5
  import { planPackReconcile, } from '../../tools/shared/pack-reconcile.js';
@@ -49,10 +50,13 @@ export function planPackMigration(input) {
49
50
  const destinationPlan = {
50
51
  ...unfilteredDestinationPlan,
51
52
  operations: unfilteredDestinationPlan.operations.filter((operation) => operation.kind === 'write-intent' ||
53
+ operation.kind === 'write-lease' ||
52
54
  !conflictIds.has(operation.assetId)),
53
55
  changedCanonicalPaths: unfilteredDestinationPlan.changedCanonicalPaths.filter((path) => !conflictCanonicalPaths.has(path)),
54
56
  };
55
- const additionIds = new Set(destinationPlan.operations.flatMap((operation) => operation.kind === 'write-intent' ? [] : [operation.assetId]));
57
+ const additionIds = new Set(destinationPlan.operations.flatMap((operation) => operation.kind === 'write-intent' || operation.kind === 'write-lease'
58
+ ? []
59
+ : [operation.assetId]));
56
60
  const additions = input.destinationInventory.assets
57
61
  .filter(({ definition }) => additionIds.has(definition.id) && !conflictIds.has(definition.id))
58
62
  .map((asset) => previewAsset(asset, input.to, 'destination-reconcile'));
@@ -108,6 +112,7 @@ export async function executeMigrationDestination(preview, destinationRoot, depe
108
112
  if (preview.status === 'blocked' || preview.conflicts.length > 0) {
109
113
  throw new Error(`Migration destination conflicts must be resolved before mutation: ${preview.conflicts.map(({ assetId }) => assetId).join(', ')}`);
110
114
  }
115
+ const dependencyLifecycles = (await dependencies.acquireDependencies?.()) ?? [];
111
116
  const applied = await (dependencies.apply ?? applyPackReconcilePlan)(preview.destinationPlan, destinationRoot, { ...dependencies.applyDependencies, sync: undefined });
112
117
  const destinationInventory = applied.inventory;
113
118
  const drifted = destinationInventory.assets.filter(({ definition: asset, status }) => asset.ownership[preview.to] === 'managed' && status !== 'current');
@@ -119,9 +124,7 @@ export async function executeMigrationDestination(preview, destinationRoot, depe
119
124
  drifted.length > 0) {
120
125
  throw new Error(`Migration destination verification did not produce a complete current declared installation for ${preview.pack} at ${preview.to} scope`);
121
126
  }
122
- const canonicalPaths = getPackDefinition(preview.pack)
123
- .assets.filter(({ kind, scopes }) => scopes.includes(preview.to) && (kind === 'skill' || kind === 'agent'))
124
- .map(({ destination }) => destination);
127
+ const canonicalPaths = canonicalPathsForPack(preview.pack);
125
128
  try {
126
129
  await dependencies.sync?.({
127
130
  scope: preview.to,
@@ -147,6 +150,7 @@ export async function executeMigrationDestination(preview, destinationRoot, depe
147
150
  preview,
148
151
  status: 'destination-verified',
149
152
  destinationInventory,
153
+ dependencyLifecycles,
150
154
  };
151
155
  }
152
156
  function migrationRetry(preview) {
@@ -245,6 +249,7 @@ export async function completeMigrationSourceRemoval(destination, input, depende
245
249
  const sourceBefore = await dependencies.inventory();
246
250
  assertInventory(sourceBefore, preview.pack, preview.from, 'source');
247
251
  const sourceRetentions = (await dependencies.resolveSourceRetentions?.()) ?? [];
252
+ const retainedDependencyAssetIds = (await dependencies.resolveRetainedDependencyAssetIds?.()) ?? [];
248
253
  const sourcePlan = (dependencies.plan ?? planPackReconcile)({
249
254
  pack: preview.pack,
250
255
  scope: preview.from,
@@ -253,27 +258,45 @@ export async function completeMigrationSourceRemoval(destination, input, depende
253
258
  action: 'remove',
254
259
  inventory: sourceBefore,
255
260
  retainedAssets: sourceRetentions,
261
+ retainedDependencyAssetIds,
256
262
  });
263
+ const priorReleasedDependencyPaths = (destination.dependencyLifecycles ?? [])
264
+ .filter(({ request }) => request.scope === preview.from &&
265
+ request.dependency?.lease === 'release')
266
+ .flatMap(({ plan }) => plan.changedCanonicalPaths);
267
+ let dependencyLifecycles = [];
257
268
  try {
269
+ dependencyLifecycles = (await dependencies.releaseDependencies?.()) ?? [];
258
270
  const applied = await (dependencies.apply ?? applyPackReconcilePlan)(sourcePlan, input.sourceRoot, {
259
271
  ...dependencies.applyDependencies,
260
272
  inventory: dependencies.inventory,
261
273
  sync: undefined,
262
274
  });
275
+ const removedCanonicalPaths = [
276
+ ...new Set([
277
+ ...sourcePlan.changedCanonicalPaths,
278
+ ...priorReleasedDependencyPaths,
279
+ ...dependencyLifecycles.flatMap(({ plan }) => plan.changedCanonicalPaths),
280
+ ]),
281
+ ];
263
282
  try {
264
283
  await dependencies.sync?.({
265
284
  scope: preview.from,
266
285
  action: 'remove',
267
- canonicalPaths: sourcePlan.changedCanonicalPaths,
286
+ canonicalPaths: removedCanonicalPaths,
268
287
  });
269
288
  }
270
289
  catch (error) {
271
- const pendingSync = pendingSyncState(preview, preview.from, 'remove', sourcePlan.changedCanonicalPaths);
290
+ const pendingSync = pendingSyncState(preview, preview.from, 'remove', removedCanonicalPaths);
272
291
  return {
273
292
  preview,
274
293
  status: 'source-sync-failed',
275
294
  destinationInventory: destination.destinationInventory,
276
295
  sourceInventory: applied.inventory,
296
+ dependencyLifecycles: [
297
+ ...(destination.dependencyLifecycles ?? []),
298
+ ...dependencyLifecycles,
299
+ ],
277
300
  pendingSync,
278
301
  recovery: [
279
302
  `Source provider sync failed: ${error instanceof Error ? error.message : String(error)}`,
@@ -286,9 +309,33 @@ export async function completeMigrationSourceRemoval(destination, input, depende
286
309
  status: 'migrated',
287
310
  destinationInventory: destination.destinationInventory,
288
311
  sourceInventory: applied.inventory,
312
+ dependencyLifecycles: [
313
+ ...(destination.dependencyLifecycles ?? []),
314
+ ...dependencyLifecycles,
315
+ ],
289
316
  };
290
317
  }
291
318
  catch (error) {
319
+ const releasedDependencyPaths = [
320
+ ...new Set([
321
+ ...priorReleasedDependencyPaths,
322
+ ...dependencyLifecycles.flatMap(({ plan }) => plan.changedCanonicalPaths),
323
+ ]),
324
+ ];
325
+ let dependencySyncFailure = null;
326
+ if (releasedDependencyPaths.length > 0) {
327
+ try {
328
+ await dependencies.sync?.({
329
+ scope: preview.from,
330
+ action: 'remove',
331
+ canonicalPaths: releasedDependencyPaths,
332
+ });
333
+ }
334
+ catch (syncError) {
335
+ dependencySyncFailure =
336
+ syncError instanceof Error ? syncError.message : String(syncError);
337
+ }
338
+ }
292
339
  let sourceInventory = sourceBefore;
293
340
  let inventoryFailure = null;
294
341
  try {
@@ -311,13 +358,25 @@ export async function completeMigrationSourceRemoval(destination, input, depende
311
358
  status: 'source-removal-failed',
312
359
  destinationInventory: destination.destinationInventory,
313
360
  sourceInventory,
361
+ dependencyLifecycles: [
362
+ ...(destination.dependencyLifecycles ?? []),
363
+ ...dependencyLifecycles,
364
+ ],
314
365
  recovery: [
315
366
  `Source removal failed: ${detail}`,
367
+ ...(dependencySyncFailure
368
+ ? [
369
+ `Dependency provider sync failed: ${dependencySyncFailure}`,
370
+ `Retry provider sync: ${pendingSyncState(preview, preview.from, 'remove', releasedDependencyPaths).command}`,
371
+ ]
372
+ : []),
316
373
  `Remaining source paths: ${remaining.length > 0 ? remaining.join(', ') : 'inventory unavailable'}`,
317
374
  ...(inventoryFailure
318
375
  ? [`Source re-inventory failed: ${inventoryFailure}`]
319
376
  : []),
320
- migrationRetry(preview),
377
+ dependencySyncFailure
378
+ ? `After provider sync, ${migrationRetry(preview)}`
379
+ : migrationRetry(preview),
321
380
  ],
322
381
  };
323
382
  }
@@ -120,7 +120,7 @@ export function createToolsRemoveCommand(dependencies = defaultDependencies, syn
120
120
  process.exitCode = 1;
121
121
  return;
122
122
  }
123
- if (!dryRun && target.kind !== 'name') {
123
+ if (!dryRun && target.kind !== 'name' && !dependencies.reconcilePacks) {
124
124
  const packs = target.kind === 'pack' ? [target.pack] : [...VALID_PACKS];
125
125
  let stage = 'intent-write';
126
126
  let currentPack = packs[0];
@@ -1,4 +1,5 @@
1
- import type { InventoryScopedPackInput, ScopedPackInventory } from '../../tools/shared/pack-inventory.js';
1
+ import { type InventoryScopedPackInput, type ScopedPackInventory } from '../../tools/shared/pack-inventory.js';
2
+ import { type PackLifecycleRequest, type PackLifecycleResult } from '../../tools/shared/pack-lifecycle.js';
2
3
  import type { PackLifecycleOutcome } from '../../tools/shared/pack-lifecycle-outcome.js';
3
4
  import type { ScanToolsOptions } from '../../tools/shared/scan-tools.js';
4
5
  import type { PackName, ToolInfo } from '../../tools/shared/types.js';
@@ -20,6 +21,9 @@ export interface RemoveToolsDependencies {
20
21
  removeFile: (path: string) => Promise<void>;
21
22
  pathExists: (path: string) => Promise<boolean>;
22
23
  hasPackOwnershipEvidence: (pack: PackName, scope: ConcreteScope, scopeRoot: string) => Promise<boolean>;
24
+ reconcilePacks?: (requests: readonly PackLifecycleRequest[], options?: {
25
+ dryRun?: boolean;
26
+ }) => Promise<PackLifecycleResult[]>;
23
27
  inventoryScopedPack?: (input: InventoryScopedPackInput) => Promise<ScopedPackInventory>;
24
28
  writeScopedPackIntent?: (input: {
25
29
  pack: PackName;