@lesliechan721/aw 0.1.0-beta.10 → 0.1.0-beta.12

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 (227) hide show
  1. package/dist/authoring/assets/aw-config.d.mts +1 -50
  2. package/dist/authoring/assets/aw-config.mjs +58 -928
  3. package/dist/authoring/assets/aw-config.mjs.map +1 -1
  4. package/dist/authoring/scripts/init-plugin.mjs +28 -33
  5. package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
  6. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +1 -0
  7. package/dist/authoring/scripts/lib/plugin-version-check.mjs +229 -8
  8. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
  9. package/dist/authoring/scripts/validate-plugin.mjs +159 -48
  10. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  11. package/dist/scripts/bundle-plugins.js +18 -4
  12. package/dist/scripts/bundle-plugins.js.map +1 -1
  13. package/dist/scripts/test-plugin-scripts.d.ts +2 -0
  14. package/dist/scripts/test-plugin-scripts.js +21 -5
  15. package/dist/scripts/test-plugin-scripts.js.map +1 -1
  16. package/dist/src/commands/aw-capabilities.d.ts +1 -1
  17. package/dist/src/commands/aw-capabilities.js +1 -1
  18. package/dist/src/commands/aw-capabilities.js.map +1 -1
  19. package/dist/src/commands/catalog-dev-source.d.ts +6 -3
  20. package/dist/src/commands/catalog-dev-source.js +96 -35
  21. package/dist/src/commands/catalog-dev-source.js.map +1 -1
  22. package/dist/src/commands/catalog-publication-inspection.d.ts +1 -1
  23. package/dist/src/commands/catalog-publication-inspection.js +54 -8
  24. package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
  25. package/dist/src/commands/catalog-publication-journal.js +1 -1
  26. package/dist/src/commands/catalog-publication-journal.js.map +1 -1
  27. package/dist/src/commands/catalog-source.d.ts +19 -4
  28. package/dist/src/commands/catalog-source.js +121 -12
  29. package/dist/src/commands/catalog-source.js.map +1 -1
  30. package/dist/src/commands/catalog-store.d.ts +26 -7
  31. package/dist/src/commands/catalog-store.js +361 -42
  32. package/dist/src/commands/catalog-store.js.map +1 -1
  33. package/dist/src/commands/console.js +28 -17
  34. package/dist/src/commands/console.js.map +1 -1
  35. package/dist/src/commands/operation-plan.d.ts +2 -1
  36. package/dist/src/commands/operation-plan.js +24 -0
  37. package/dist/src/commands/operation-plan.js.map +1 -1
  38. package/dist/src/commands/operation-planner.d.ts +2 -2
  39. package/dist/src/commands/operation-planner.js +22 -20
  40. package/dist/src/commands/operation-planner.js.map +1 -1
  41. package/dist/src/commands/options.d.ts +2 -2
  42. package/dist/src/commands/options.js +18 -4
  43. package/dist/src/commands/options.js.map +1 -1
  44. package/dist/src/commands/plugin-capabilities.js +2 -2
  45. package/dist/src/commands/plugin-capabilities.js.map +1 -1
  46. package/dist/src/commands/rebuild-command.d.ts +19 -0
  47. package/dist/src/commands/rebuild-command.js +828 -283
  48. package/dist/src/commands/rebuild-command.js.map +1 -1
  49. package/dist/src/commands/rebuild-integration.d.ts +25 -47
  50. package/dist/src/commands/rebuild-integration.js +1176 -1016
  51. package/dist/src/commands/rebuild-integration.js.map +1 -1
  52. package/dist/src/commands/rebuild-operations.d.ts +50 -12
  53. package/dist/src/commands/rebuild-operations.js +207 -101
  54. package/dist/src/commands/rebuild-operations.js.map +1 -1
  55. package/dist/src/commands/status-v6.d.ts +21 -2
  56. package/dist/src/commands/status-v6.js +163 -31
  57. package/dist/src/commands/status-v6.js.map +1 -1
  58. package/dist/src/commands/sync-command.d.ts +17 -0
  59. package/dist/src/commands/sync-command.js +45 -37
  60. package/dist/src/commands/sync-command.js.map +1 -1
  61. package/dist/src/commands/write-commands.d.ts +5 -0
  62. package/dist/src/commands/write-commands.js +50 -3
  63. package/dist/src/commands/write-commands.js.map +1 -1
  64. package/dist/src/generators/local-plugin.js +14 -4
  65. package/dist/src/generators/local-plugin.js.map +1 -1
  66. package/dist/src/index.js +260 -91
  67. package/dist/src/index.js.map +1 -1
  68. package/dist/src/output/command-receipt.js +1 -3
  69. package/dist/src/output/command-receipt.js.map +1 -1
  70. package/dist/src/output/rebuild-progress.js +1 -3
  71. package/dist/src/output/rebuild-progress.js.map +1 -1
  72. package/dist/src/portable/materializer.js +10 -8
  73. package/dist/src/portable/materializer.js.map +1 -1
  74. package/dist/src/tui/catalog-generation.js +41 -1
  75. package/dist/src/tui/catalog-generation.js.map +1 -1
  76. package/dist/src/tui/catalog-sources/session.d.ts +1 -0
  77. package/dist/src/tui/catalog-sources/session.js +16 -3
  78. package/dist/src/tui/catalog-sources/session.js.map +1 -1
  79. package/dist/src/tui/catalog-sources/types.d.ts +3 -2
  80. package/dist/src/tui/components.d.ts +4 -0
  81. package/dist/src/tui/components.js +36 -24
  82. package/dist/src/tui/components.js.map +1 -1
  83. package/dist/src/tui/console-app-v4.d.ts +13 -4
  84. package/dist/src/tui/console-app-v4.js +2065 -857
  85. package/dist/src/tui/console-app-v4.js.map +1 -1
  86. package/dist/src/tui/controller-runtime.js +731 -62
  87. package/dist/src/tui/controller-runtime.js.map +1 -1
  88. package/dist/src/tui/controller.d.ts +156 -10
  89. package/dist/src/tui/controller.js +1187 -163
  90. package/dist/src/tui/controller.js.map +1 -1
  91. package/dist/src/tui/diagnostic-projection.d.ts +22 -0
  92. package/dist/src/tui/diagnostic-projection.js +437 -0
  93. package/dist/src/tui/diagnostic-projection.js.map +1 -0
  94. package/dist/src/tui/diagnostics.d.ts +1 -1
  95. package/dist/src/tui/diagnostics.js +7 -2
  96. package/dist/src/tui/diagnostics.js.map +1 -1
  97. package/dist/src/tui/glossary.d.ts +23 -0
  98. package/dist/src/tui/glossary.js +42 -0
  99. package/dist/src/tui/glossary.js.map +1 -0
  100. package/dist/src/tui/index.d.ts +4 -1
  101. package/dist/src/tui/index.js +4 -1
  102. package/dist/src/tui/index.js.map +1 -1
  103. package/dist/src/tui/keys.d.ts +44 -0
  104. package/dist/src/tui/keys.js +43 -15
  105. package/dist/src/tui/keys.js.map +1 -1
  106. package/dist/src/tui/lifecycle-action-view.d.ts +6 -0
  107. package/dist/src/tui/lifecycle-action-view.js +34 -0
  108. package/dist/src/tui/lifecycle-action-view.js.map +1 -0
  109. package/dist/src/tui/model.d.ts +12 -2
  110. package/dist/src/tui/model.js +128 -52
  111. package/dist/src/tui/model.js.map +1 -1
  112. package/dist/src/tui/operation-diagnostic-screens.d.ts +21 -0
  113. package/dist/src/tui/operation-diagnostic-screens.js +101 -0
  114. package/dist/src/tui/operation-diagnostic-screens.js.map +1 -0
  115. package/dist/src/tui/operation-history.d.ts +80 -0
  116. package/dist/src/tui/operation-history.js +130 -0
  117. package/dist/src/tui/operation-history.js.map +1 -0
  118. package/dist/src/tui/operation-review-planner.js +366 -99
  119. package/dist/src/tui/operation-review-planner.js.map +1 -1
  120. package/dist/src/tui/router.d.ts +82 -17
  121. package/dist/src/tui/router.js +186 -38
  122. package/dist/src/tui/router.js.map +1 -1
  123. package/dist/src/tui/screen-registry.d.ts +546 -0
  124. package/dist/src/tui/screen-registry.js +179 -0
  125. package/dist/src/tui/screen-registry.js.map +1 -0
  126. package/dist/src/tui/session-console-app.d.ts +6 -0
  127. package/dist/src/tui/session-console-app.js +13 -0
  128. package/dist/src/tui/session-console-app.js.map +1 -0
  129. package/dist/src/tui/session-host.d.ts +44 -0
  130. package/dist/src/tui/session-host.js +197 -0
  131. package/dist/src/tui/session-host.js.map +1 -0
  132. package/dist/src/types.d.ts +64 -3
  133. package/dist/src/types.js +1 -1
  134. package/dist/src/types.js.map +1 -1
  135. package/dist/src/utils/agent-version.js +1 -1
  136. package/dist/src/utils/agent-version.js.map +1 -1
  137. package/dist/src/utils/artifact-plan.d.ts +2 -2
  138. package/dist/src/utils/artifact-plan.js +8 -6
  139. package/dist/src/utils/artifact-plan.js.map +1 -1
  140. package/dist/src/utils/artifact-renderer.d.ts +2 -1
  141. package/dist/src/utils/artifact-renderer.js +139 -120
  142. package/dist/src/utils/artifact-renderer.js.map +1 -1
  143. package/dist/src/utils/artifact-request.d.ts +5 -0
  144. package/dist/src/utils/artifact-request.js +40 -0
  145. package/dist/src/utils/artifact-request.js.map +1 -1
  146. package/dist/src/utils/bundle-layout.js +4 -4
  147. package/dist/src/utils/bundle-layout.js.map +1 -1
  148. package/dist/src/utils/catalog-capability-projection.d.ts +8 -0
  149. package/dist/src/utils/catalog-capability-projection.js +14 -0
  150. package/dist/src/utils/catalog-capability-projection.js.map +1 -0
  151. package/dist/src/utils/catalog-generation-resolver.d.ts +14 -2
  152. package/dist/src/utils/catalog-generation-resolver.js +49 -27
  153. package/dist/src/utils/catalog-generation-resolver.js.map +1 -1
  154. package/dist/src/utils/catalog-generation-service.d.ts +8 -1
  155. package/dist/src/utils/catalog-generation-service.js +81 -47
  156. package/dist/src/utils/catalog-generation-service.js.map +1 -1
  157. package/dist/src/utils/catalog-generation-store.d.ts +1 -0
  158. package/dist/src/utils/catalog-generation-store.js +60 -5
  159. package/dist/src/utils/catalog-generation-store.js.map +1 -1
  160. package/dist/src/utils/catalog-operation-context.js +1 -0
  161. package/dist/src/utils/catalog-operation-context.js.map +1 -1
  162. package/dist/src/utils/catalog-public-error.js +4 -0
  163. package/dist/src/utils/catalog-public-error.js.map +1 -1
  164. package/dist/src/utils/catalog-source-impact.d.ts +3 -2
  165. package/dist/src/utils/catalog-source-impact.js +142 -20
  166. package/dist/src/utils/catalog-source-impact.js.map +1 -1
  167. package/dist/src/utils/catalog-source-references.js +95 -9
  168. package/dist/src/utils/catalog-source-references.js.map +1 -1
  169. package/dist/src/utils/catalog-sources.d.ts +1 -1
  170. package/dist/src/utils/catalog-sources.js +19 -3
  171. package/dist/src/utils/catalog-sources.js.map +1 -1
  172. package/dist/src/utils/codex-manager.js +8 -0
  173. package/dist/src/utils/codex-manager.js.map +1 -1
  174. package/dist/src/utils/codex-native-observation.d.ts +34 -1
  175. package/dist/src/utils/codex-native-observation.js +132 -0
  176. package/dist/src/utils/codex-native-observation.js.map +1 -1
  177. package/dist/src/utils/codex-reconciler.d.ts +0 -2
  178. package/dist/src/utils/codex-reconciler.js.map +1 -1
  179. package/dist/src/utils/codex-shared-native.d.ts +2 -26
  180. package/dist/src/utils/codex-shared-native.js +8 -82
  181. package/dist/src/utils/codex-shared-native.js.map +1 -1
  182. package/dist/src/utils/git-catalog-provider.d.ts +3 -0
  183. package/dist/src/utils/git-catalog-provider.js +40 -1
  184. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  185. package/dist/src/utils/local-marketplace.d.ts +1 -0
  186. package/dist/src/utils/local-marketplace.js +69 -73
  187. package/dist/src/utils/local-marketplace.js.map +1 -1
  188. package/dist/src/utils/multi-source-catalog.js +1 -0
  189. package/dist/src/utils/multi-source-catalog.js.map +1 -1
  190. package/dist/src/utils/native-cli.d.ts +9 -4
  191. package/dist/src/utils/native-cli.js +280 -34
  192. package/dist/src/utils/native-cli.js.map +1 -1
  193. package/dist/src/utils/path-catalog-provider.js +2 -0
  194. package/dist/src/utils/path-catalog-provider.js.map +1 -1
  195. package/dist/src/utils/plugin-config-impact.d.ts +33 -0
  196. package/dist/src/utils/plugin-config-impact.js +298 -0
  197. package/dist/src/utils/plugin-config-impact.js.map +1 -0
  198. package/dist/src/utils/plugin-config-write.d.ts +36 -14
  199. package/dist/src/utils/plugin-config-write.js +709 -225
  200. package/dist/src/utils/plugin-config-write.js.map +1 -1
  201. package/dist/src/utils/plugin-config.d.ts +58 -4
  202. package/dist/src/utils/plugin-config.js +328 -60
  203. package/dist/src/utils/plugin-config.js.map +1 -1
  204. package/dist/src/utils/plugin-scripts.d.ts +20 -12
  205. package/dist/src/utils/plugin-scripts.js +389 -114
  206. package/dist/src/utils/plugin-scripts.js.map +1 -1
  207. package/dist/src/utils/process-tree.d.ts +2 -2
  208. package/dist/src/utils/process-tree.js +1 -1
  209. package/dist/src/utils/process-tree.js.map +1 -1
  210. package/dist/src/utils/project-boundary.d.ts +11 -1
  211. package/dist/src/utils/project-boundary.js +33 -11
  212. package/dist/src/utils/project-boundary.js.map +1 -1
  213. package/dist/src/utils/safe-operation-diagnostic.d.ts +15 -0
  214. package/dist/src/utils/safe-operation-diagnostic.js +33 -0
  215. package/dist/src/utils/safe-operation-diagnostic.js.map +1 -0
  216. package/dist/src/utils/sensitive-content.d.ts +4 -0
  217. package/dist/src/utils/sensitive-content.js +36 -0
  218. package/dist/src/utils/sensitive-content.js.map +1 -0
  219. package/dist/src/utils/windows-claude-shim.d.ts +9 -0
  220. package/dist/src/utils/windows-claude-shim.js +141 -0
  221. package/dist/src/utils/windows-claude-shim.js.map +1 -0
  222. package/dist/vitest.config.js +91 -10
  223. package/dist/vitest.config.js.map +1 -1
  224. package/package.json +9 -9
  225. package/dist/authoring/templates/aw-config-runtime.d.mts +0 -2
  226. package/dist/authoring/templates/aw-config-runtime.mjs +0 -407
  227. package/dist/authoring/templates/aw-config-runtime.mjs.map +0 -1
@@ -8,8 +8,9 @@ import { calculateCatalogSourceConfigFingerprint, calculateCatalogSourceIdentity
8
8
  import { readCatalogSourcesConfigSnapshot } from './catalog-sources.js';
9
9
  import { catalogGitProviderInternal } from './git-catalog-provider.js';
10
10
  import { catalogPathProviderInternal } from './path-catalog-provider.js';
11
- import { resolveActiveCatalogGeneration } from './catalog-generation-resolver.js';
11
+ import { readValidatedCatalogGenerationStoreEntry, resolveValidatedActiveCatalogGeneration, } from './catalog-generation-resolver.js';
12
12
  import { compareStrictSemVer } from './manifest.js';
13
+ import { projectCatalogCapabilityCompatibility, } from './catalog-capability-projection.js';
13
14
  import { calculateCatalogSourceImpactDigest, catalogSourceImpactRequiresConfirmation, inspectCatalogSourceImpact, } from './catalog-source-impact.js';
14
15
  const CANDIDATE_FIELDS = [
15
16
  'sourceConfigFingerprint', 'sourceIdentity', 'logicalIdentity', 'requestedRef',
@@ -170,7 +171,7 @@ async function assertCurrentSource(options) {
170
171
  });
171
172
  return source;
172
173
  }
173
- async function enforceCatalogActivationPolicy(options) {
174
+ async function enforceCatalogActivationCandidatePolicy(options) {
174
175
  const configuredChanged = Boolean(options.active)
175
176
  && (options.active.sourceConfigFingerprint !== options.candidate.sourceConfigFingerprint
176
177
  || options.active.sourceIdentity !== options.candidate.sourceIdentity);
@@ -207,13 +208,6 @@ async function enforceCatalogActivationPolicy(options) {
207
208
  });
208
209
  return { preserveActive: true };
209
210
  }
210
- if (catalogSourceImpactRequiresConfirmation(options.impact) && !options.impactConfirmed) {
211
- throw new CatalogGenerationError({
212
- code: 'catalogImpactConfirmationRequired', sourceId: options.sourceId,
213
- message: `Catalog source "${options.sourceId}" has affected or unknown references. Use --yes after reviewing the impact.`,
214
- impact: options.impact,
215
- });
216
- }
217
211
  if (!options.active)
218
212
  return { preserveActive: false };
219
213
  if (options.mode === 'normal'
@@ -261,6 +255,11 @@ async function enforceCatalogActivationPolicy(options) {
261
255
  cause: error,
262
256
  });
263
257
  }
258
+ if (options.source.type === 'git'
259
+ && options.active.logicalIdentity === options.candidate.logicalIdentity
260
+ && options.active.snapshotDigest === options.candidate.snapshotDigest) {
261
+ return { preserveActive: true };
262
+ }
264
263
  if (options.mode === 'explicitSourceChange')
265
264
  return { preserveActive: false };
266
265
  if (options.source.type === 'path') {
@@ -282,6 +281,15 @@ async function enforceCatalogActivationPolicy(options) {
282
281
  });
283
282
  return { preserveActive: false };
284
283
  }
284
+ function enforceCatalogActivationImpactPolicy(options) {
285
+ if (catalogSourceImpactRequiresConfirmation(options.impact) && !options.impactConfirmed) {
286
+ throw new CatalogGenerationError({
287
+ code: 'catalogImpactConfirmationRequired', sourceId: options.sourceId,
288
+ message: `Catalog source "${options.sourceId}" has affected or unknown references. Use --yes after reviewing the impact.`,
289
+ impact: options.impact,
290
+ });
291
+ }
292
+ }
285
293
  function assertExpectedImpact(options) {
286
294
  if (options.expectedImpactDigest
287
295
  && calculateCatalogSourceImpactDigest(options.impact) !== options.expectedImpactDigest) {
@@ -294,7 +302,7 @@ function assertExpectedImpact(options) {
294
302
  }
295
303
  }
296
304
  async function inspectActivationImpact(options) {
297
- return inspectCatalogSourceImpact({
305
+ return (options.runtime?.inspectSourceImpact ?? inspectCatalogSourceImpact)({
298
306
  sourceId: options.sourceId,
299
307
  cwd: options.cwd,
300
308
  env: options.env,
@@ -439,7 +447,7 @@ export async function probeCatalogSourceFreshness(options) {
439
447
  sourceId: options.sourceId,
440
448
  message: `Catalog source "${options.sourceId}" is not configured.`,
441
449
  });
442
- const active = await resolveActiveCatalogGeneration({
450
+ const active = await resolveValidatedActiveCatalogGeneration({
443
451
  sourceId: source.id,
444
452
  env,
445
453
  validatedStoreEntries: options.runtime?.validatedStoreEntries,
@@ -522,6 +530,7 @@ async function activateResolvedCandidate(options) {
522
530
  const candidate = options.resolved.candidate;
523
531
  const store = options.store ?? await publishCatalogStoreEntry({
524
532
  resolution: options.resolved.resolution, env: options.env, signal: options.signal,
533
+ afterInactiveRepairPrepared: options.runtime?.afterInactiveStoreRepairPrepared,
525
534
  });
526
535
  assertStoreMatchesCandidate(options.sourceId, store, candidate);
527
536
  return withAwHomeMutationLock({
@@ -555,6 +564,14 @@ async function activateResolvedCandidate(options) {
555
564
  action: async (current) => {
556
565
  const previous = current.sources[options.sourceId]?.active;
557
566
  assertExpectedActive(options.sourceId, previous, options.expectedActive);
567
+ const policy = await enforceCatalogActivationCandidatePolicy({
568
+ sourceId: options.sourceId,
569
+ source,
570
+ active: previous,
571
+ candidate,
572
+ mode: options.activationMode,
573
+ env: options.env,
574
+ });
558
575
  const impact = await inspectActivationImpact({
559
576
  sourceId: options.sourceId,
560
577
  source,
@@ -562,19 +579,15 @@ async function activateResolvedCandidate(options) {
562
579
  env: options.env,
563
580
  mode: options.impactMode ?? 'generation',
564
581
  candidateManifest: options.resolved.resolution.manifest,
582
+ runtime: options.runtime,
565
583
  });
566
584
  assertExpectedImpact({
567
585
  sourceId: options.sourceId,
568
586
  impact,
569
587
  expectedImpactDigest: options.expectedImpactDigest,
570
588
  });
571
- const policy = await enforceCatalogActivationPolicy({
589
+ enforceCatalogActivationImpactPolicy({
572
590
  sourceId: options.sourceId,
573
- source,
574
- active: previous,
575
- candidate,
576
- mode: options.activationMode,
577
- env: options.env,
578
591
  impact,
579
592
  impactConfirmed: options.impactConfirmed,
580
593
  });
@@ -589,7 +602,9 @@ async function activateResolvedCandidate(options) {
589
602
  };
590
603
  const unchanged = policy.preserveActive || sameActive(previous, activeInput);
591
604
  const active = unchanged
592
- ? previous
605
+ ? policy.preserveActive && source.type === 'git'
606
+ ? { ...activeInput, activatedAt: previous.activatedAt }
607
+ : previous
593
608
  : { ...activeInput, activatedAt: syncedAt };
594
609
  const lastSync = {
595
610
  syncedAt, mode: 'sync', state: 'succeeded', resolvedCommit: candidate.resolvedCommit,
@@ -624,6 +639,17 @@ export async function activateCatalogSourceGeneration(options) {
624
639
  message: `Catalog source "${options.sourceId}" changed after review. Review it again.`,
625
640
  });
626
641
  }
642
+ const activationMode = options.activationMode ?? 'normal';
643
+ const active = (await readCatalogGenerationState(env)).sources[options.sourceId]?.active;
644
+ assertExpectedActive(options.sourceId, active, options.expectedActive);
645
+ await enforceCatalogActivationCandidatePolicy({
646
+ sourceId: options.sourceId,
647
+ source: resolved.source,
648
+ active,
649
+ candidate: resolved.candidate,
650
+ mode: activationMode,
651
+ env,
652
+ });
627
653
  const impact = await inspectActivationImpact({
628
654
  sourceId: options.sourceId,
629
655
  cwd: options.cwd ?? process.cwd(),
@@ -631,6 +657,7 @@ export async function activateCatalogSourceGeneration(options) {
631
657
  source: resolved.source,
632
658
  mode: options.impactMode ?? 'generation',
633
659
  candidateManifest: resolved.resolution.manifest,
660
+ runtime: options.runtime,
634
661
  });
635
662
  assertExpectedImpact({
636
663
  sourceId: options.sourceId,
@@ -642,7 +669,7 @@ export async function activateCatalogSourceGeneration(options) {
642
669
  ...options,
643
670
  env,
644
671
  resolved,
645
- activationMode: options.activationMode ?? 'normal',
672
+ activationMode,
646
673
  impactConfirmed: options.impactConfirmed === true,
647
674
  });
648
675
  }
@@ -696,6 +723,7 @@ export async function recoverCatalogGenerationStateAndActivate(options) {
696
723
  await options.runtime?.afterCandidateResolved?.();
697
724
  const store = await publishCatalogStoreEntry({
698
725
  resolution: resolved.resolution, env, signal: options.signal,
726
+ afterInactiveRepairPrepared: options.runtime?.afterInactiveStoreRepairPrepared,
699
727
  });
700
728
  assertStoreMatchesCandidate(options.sourceId, store, resolved.candidate);
701
729
  await options.runtime?.afterRecoveryStorePublished?.();
@@ -714,6 +742,14 @@ export async function recoverCatalogGenerationStateAndActivate(options) {
714
742
  candidate: resolved.candidate,
715
743
  env,
716
744
  });
745
+ await enforceCatalogActivationCandidatePolicy({
746
+ sourceId: options.sourceId,
747
+ source,
748
+ active: undefined,
749
+ candidate: resolved.candidate,
750
+ mode: 'normal',
751
+ env,
752
+ });
717
753
  const lockedImpact = await inspectActivationImpact({
718
754
  sourceId: options.sourceId,
719
755
  source,
@@ -721,19 +757,15 @@ export async function recoverCatalogGenerationStateAndActivate(options) {
721
757
  env,
722
758
  mode: 'generation',
723
759
  candidateManifest: resolved.resolution.manifest,
760
+ runtime: options.runtime,
724
761
  });
725
762
  assertExpectedImpact({
726
763
  sourceId: options.sourceId,
727
764
  impact: lockedImpact,
728
765
  expectedImpactDigest: options.expectedImpactDigest,
729
766
  });
730
- await enforceCatalogActivationPolicy({
767
+ enforceCatalogActivationImpactPolicy({
731
768
  sourceId: options.sourceId,
732
- source,
733
- active: undefined,
734
- candidate: resolved.candidate,
735
- mode: 'normal',
736
- env,
737
769
  impact: lockedImpact,
738
770
  impactConfirmed: options.impactConfirmed === true,
739
771
  });
@@ -859,23 +891,13 @@ export async function repairCatalogSourceGeneration(options) {
859
891
  assertExpectedActive(options.sourceId, current, options.expectedActive);
860
892
  if (options.expectedActive === undefined)
861
893
  assertExpectedActive(options.sourceId, current, target);
862
- await enforceCatalogActivationPolicy({
894
+ await enforceCatalogActivationCandidatePolicy({
863
895
  sourceId: options.sourceId,
864
896
  source: currentSource,
865
897
  active: current,
866
898
  candidate: resolved.candidate,
867
899
  mode: 'exactRepair',
868
900
  env,
869
- impact: {
870
- impactSchemaVersion: 1,
871
- sourceId: options.sourceId,
872
- inventoryComplete: true,
873
- references: [],
874
- affectedReferences: [],
875
- changes: { added: [], removed: [], changed: [], newlyIncompatible: [], dependencyChanged: [] },
876
- errors: [],
877
- },
878
- impactConfirmed: true,
879
901
  });
880
902
  const store = await preparedRepair.commit();
881
903
  assertStoreMatchesCandidate(options.sourceId, store, resolved.candidate);
@@ -999,6 +1021,14 @@ export async function replaceDamagedCatalogSourceGeneration(options) {
999
1021
  action: async (current) => {
1000
1022
  const previous = current.sources[options.sourceId]?.active;
1001
1023
  assertExpectedActive(options.sourceId, previous, options.expectedActive);
1024
+ await enforceCatalogActivationCandidatePolicy({
1025
+ sourceId: options.sourceId,
1026
+ source,
1027
+ active: previous,
1028
+ candidate: resolved.candidate,
1029
+ mode: 'replaceDamaged',
1030
+ env,
1031
+ });
1002
1032
  const lockedImpact = await inspectActivationImpact({
1003
1033
  sourceId: options.sourceId,
1004
1034
  source,
@@ -1006,19 +1036,15 @@ export async function replaceDamagedCatalogSourceGeneration(options) {
1006
1036
  env,
1007
1037
  mode: 'generation',
1008
1038
  candidateManifest: resolved.resolution.manifest,
1039
+ runtime: options.runtime,
1009
1040
  });
1010
1041
  assertExpectedImpact({
1011
1042
  sourceId: options.sourceId,
1012
1043
  impact: lockedImpact,
1013
1044
  expectedImpactDigest: options.expectedImpactDigest,
1014
1045
  });
1015
- await enforceCatalogActivationPolicy({
1046
+ enforceCatalogActivationImpactPolicy({
1016
1047
  sourceId: options.sourceId,
1017
- source,
1018
- active: previous,
1019
- candidate: resolved.candidate,
1020
- mode: 'replaceDamaged',
1021
- env,
1022
1048
  impact: lockedImpact,
1023
1049
  impactConfirmed: options.impactConfirmed === true,
1024
1050
  });
@@ -1207,31 +1233,39 @@ export async function readCatalogGenerationStatus(options = {}) {
1207
1233
  return {
1208
1234
  sourceId: source.id, configuredSourceIdentity, activeReady: false,
1209
1235
  configMatchesActive: false, lastSync: sourceState?.lastSync,
1236
+ compatibility: null,
1210
1237
  };
1211
1238
  try {
1212
- const entry = await readCatalogStoreEntry({
1213
- logicalIdentity: active.logicalIdentity, snapshotDigest: active.snapshotDigest, env,
1239
+ const entry = await readValidatedCatalogGenerationStoreEntry({
1240
+ logicalIdentity: active.logicalIdentity,
1241
+ snapshotDigest: active.snapshotDigest,
1242
+ env,
1243
+ validatedStoreEntries: options.validatedStoreEntries,
1244
+ validatingStoreEntries: options.validatingStoreEntries,
1214
1245
  });
1215
1246
  if (entry.metadata.manifestDigest !== active.manifestDigest)
1216
1247
  throw new CatalogGenerationError({
1217
1248
  code: 'catalogGenerationIdentityMismatch', message: 'Active does not match store metadata.',
1218
1249
  });
1250
+ const compatibility = projectCatalogCapabilityCompatibility(entry.metadata.requiredAwCapabilities);
1219
1251
  return {
1220
1252
  sourceId: source.id, configuredSourceIdentity, active,
1221
- activeReady: configMatchesActive, configMatchesActive,
1253
+ activeReady: configMatchesActive && compatibility.state === 'supported',
1254
+ configMatchesActive,
1222
1255
  catalogVersion: entry.metadata.catalogVersion, channel: entry.metadata.channel,
1223
1256
  storeKey: createCatalogStoreKey(active.logicalIdentity, active.snapshotDigest),
1224
- lastSync: sourceState?.lastSync,
1257
+ lastSync: sourceState?.lastSync, compatibility,
1225
1258
  };
1226
1259
  }
1227
1260
  catch (error) {
1228
1261
  return {
1229
1262
  sourceId: source.id, configuredSourceIdentity, active, activeReady: false,
1230
1263
  configMatchesActive, lastSync: sourceState?.lastSync,
1264
+ compatibility: null,
1231
1265
  errorCode: catalogGenerationErrorCode(error),
1232
1266
  };
1233
1267
  }
1234
1268
  }));
1235
- return { catalogGenerationStatusSchemaVersion: 1, sources };
1269
+ return { catalogGenerationStatusSchemaVersion: 2, sources };
1236
1270
  }
1237
1271
  //# sourceMappingURL=catalog-generation-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-generation-service.js","sourceRoot":"","sources":["../../../src/utils/catalog-generation-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-generation-service.js","sourceRoot":"","sources":["../../../src/utils/catalog-generation-service.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ export declare function publishCatalogStoreEntry(options: {
35
35
  resolution: CatalogSourceResolution;
36
36
  env?: NodeJS.ProcessEnv;
37
37
  signal?: AbortSignal;
38
+ afterInactiveRepairPrepared?: () => Promise<void>;
38
39
  }): Promise<CatalogStoreEntry>;
39
40
  export declare function readCatalogStoreEntry(options: {
40
41
  logicalIdentity: string;
@@ -2,7 +2,9 @@ import crypto from 'node:crypto';
2
2
  import path from 'node:path';
3
3
  import fs from 'fs-extra';
4
4
  import { CATALOG_STORE_DIRECTORY, CATALOG_STORE_METADATA_FILE } from '../constants.js';
5
+ import { withAwHomeMutationLock } from './aw-home-mutation-lock.js';
5
6
  import { CatalogGenerationError } from './catalog-generation-error.js';
7
+ import { readCatalogGenerationState } from './catalog-generation-state.js';
6
8
  import { validateCatalogSnapshotTransport } from './catalog-snapshot.js';
7
9
  import { normalizeAwCapabilities, parseStrictSemVer } from './manifest.js';
8
10
  import { canonicalizePathThroughExistingAncestorSync, ensureRegularDirectoryPath, resolveAwHome, } from './state-paths.js';
@@ -188,8 +190,18 @@ export async function publishCatalogStoreEntry(options) {
188
190
  });
189
191
  await ensureRegularDirectoryPath(location.storeRootDir, 'Catalog store');
190
192
  await ensureRegularDirectoryPath(location.logicalIdentityDirectory, 'Catalog logical identity store');
191
- if (await fs.pathExists(location.entryDir))
192
- return validateEntry({ location });
193
+ if (await fs.pathExists(location.entryDir)) {
194
+ try {
195
+ return await validateEntry({ location });
196
+ }
197
+ catch {
198
+ return publishInactiveCatalogStoreEntryReplacement({
199
+ ...options,
200
+ logicalIdentity,
201
+ location,
202
+ });
203
+ }
204
+ }
193
205
  const stagingDir = resolveStrictStoreDescendant(location.storeRootDir, path.basename(location.logicalIdentityDirectory), `.staging-${crypto.randomUUID()}.tmp`);
194
206
  try {
195
207
  await fs.mkdir(stagingDir);
@@ -229,7 +241,16 @@ export async function publishCatalogStoreEntry(options) {
229
241
  const code = error.code;
230
242
  if (code !== 'EEXIST' && code !== 'ENOTEMPTY')
231
243
  throw error;
232
- return validateEntry({ location });
244
+ try {
245
+ return await validateEntry({ location });
246
+ }
247
+ catch {
248
+ return publishInactiveCatalogStoreEntryReplacement({
249
+ ...options,
250
+ logicalIdentity,
251
+ location,
252
+ });
253
+ }
233
254
  }
234
255
  return { entryDir: location.entryDir, snapshotRoot: location.snapshotRoot, metadata, manifest: validation.manifest, reused: false };
235
256
  }
@@ -247,6 +268,40 @@ export async function publishCatalogStoreEntry(options) {
247
268
  await fs.remove(stagingDir).catch(() => undefined);
248
269
  }
249
270
  }
271
+ async function publishInactiveCatalogStoreEntryReplacement(options) {
272
+ const prepared = await prepareCatalogStoreEntryRepair({
273
+ resolution: options.resolution,
274
+ logicalIdentity: options.logicalIdentity,
275
+ snapshotDigest: options.resolution.snapshotDigest,
276
+ env: options.env,
277
+ signal: options.signal,
278
+ });
279
+ try {
280
+ await options.afterInactiveRepairPrepared?.();
281
+ return await withAwHomeMutationLock({
282
+ env: options.env,
283
+ signal: options.signal,
284
+ action: async () => {
285
+ let damagedEntryError;
286
+ try {
287
+ return await validateEntry({ location: options.location });
288
+ }
289
+ catch (error) {
290
+ damagedEntryError = error;
291
+ }
292
+ const state = await readCatalogGenerationState(options.env);
293
+ const activeReferencesTarget = Object.values(state.sources).some((source) => source.active !== undefined
294
+ && createCatalogStoreKey(source.active.logicalIdentity, source.active.snapshotDigest) === options.location.storeKey);
295
+ if (activeReferencesTarget)
296
+ throw damagedEntryError;
297
+ return prepared.commit();
298
+ },
299
+ });
300
+ }
301
+ finally {
302
+ await prepared.cleanup();
303
+ }
304
+ }
250
305
  export async function readCatalogStoreEntry(options) {
251
306
  return validateEntry({ location: resolveCatalogStoreLocation(options) });
252
307
  }
@@ -365,7 +420,7 @@ export async function prepareCatalogStoreEntryRepair(options) {
365
420
  throw new CatalogGenerationError({
366
421
  code: 'catalogGenerationPublishFailed',
367
422
  sourceId: options.resolution.sourceId,
368
- message: `Cannot repair the active Catalog store entry for source "${options.resolution.sourceId}".`,
423
+ message: `Cannot repair the Catalog store entry for source "${options.resolution.sourceId}".`,
369
424
  cause: error,
370
425
  });
371
426
  }
@@ -380,7 +435,7 @@ export async function prepareCatalogStoreEntryRepair(options) {
380
435
  throw new CatalogGenerationError({
381
436
  code: 'catalogGenerationPublishFailed',
382
437
  sourceId: options.resolution.sourceId,
383
- message: `Cannot prepare the active Catalog store repair for source "${options.resolution.sourceId}".`,
438
+ message: `Cannot prepare the Catalog store repair for source "${options.resolution.sourceId}".`,
384
439
  cause: error,
385
440
  });
386
441
  }