@lesliechan721/aw 0.1.0-beta.10 → 0.1.0-beta.11
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/dist/authoring/assets/aw-config.d.mts +1 -50
- package/dist/authoring/assets/aw-config.mjs +58 -928
- package/dist/authoring/assets/aw-config.mjs.map +1 -1
- package/dist/authoring/scripts/init-plugin.mjs +28 -33
- package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
- package/dist/authoring/scripts/lib/plugin-version-check.d.mts +1 -0
- package/dist/authoring/scripts/lib/plugin-version-check.mjs +229 -8
- package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
- package/dist/authoring/scripts/validate-plugin.mjs +165 -45
- package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
- package/dist/scripts/bundle-plugins.js +18 -4
- package/dist/scripts/bundle-plugins.js.map +1 -1
- package/dist/scripts/test-plugin-scripts.d.ts +2 -0
- package/dist/scripts/test-plugin-scripts.js +21 -5
- package/dist/scripts/test-plugin-scripts.js.map +1 -1
- package/dist/src/commands/aw-capabilities.d.ts +1 -1
- package/dist/src/commands/aw-capabilities.js +1 -1
- package/dist/src/commands/aw-capabilities.js.map +1 -1
- package/dist/src/commands/catalog-dev-source.d.ts +6 -3
- package/dist/src/commands/catalog-dev-source.js +96 -35
- package/dist/src/commands/catalog-dev-source.js.map +1 -1
- package/dist/src/commands/catalog-publication-inspection.d.ts +1 -1
- package/dist/src/commands/catalog-publication-inspection.js +54 -8
- package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
- package/dist/src/commands/catalog-publication-journal.js +1 -1
- package/dist/src/commands/catalog-publication-journal.js.map +1 -1
- package/dist/src/commands/catalog-source.d.ts +19 -4
- package/dist/src/commands/catalog-source.js +121 -12
- package/dist/src/commands/catalog-source.js.map +1 -1
- package/dist/src/commands/catalog-store.d.ts +26 -7
- package/dist/src/commands/catalog-store.js +361 -42
- package/dist/src/commands/catalog-store.js.map +1 -1
- package/dist/src/commands/console.js +28 -17
- package/dist/src/commands/console.js.map +1 -1
- package/dist/src/commands/operation-plan.d.ts +2 -1
- package/dist/src/commands/operation-plan.js +24 -0
- package/dist/src/commands/operation-plan.js.map +1 -1
- package/dist/src/commands/operation-planner.d.ts +2 -2
- package/dist/src/commands/operation-planner.js +11 -19
- package/dist/src/commands/operation-planner.js.map +1 -1
- package/dist/src/commands/options.d.ts +2 -2
- package/dist/src/commands/options.js +18 -4
- package/dist/src/commands/options.js.map +1 -1
- package/dist/src/commands/plugin-capabilities.js +2 -2
- package/dist/src/commands/plugin-capabilities.js.map +1 -1
- package/dist/src/commands/rebuild-command.d.ts +7 -0
- package/dist/src/commands/rebuild-command.js +769 -279
- package/dist/src/commands/rebuild-command.js.map +1 -1
- package/dist/src/commands/rebuild-integration.d.ts +24 -47
- package/dist/src/commands/rebuild-integration.js +1074 -1011
- package/dist/src/commands/rebuild-integration.js.map +1 -1
- package/dist/src/commands/rebuild-operations.d.ts +50 -12
- package/dist/src/commands/rebuild-operations.js +207 -101
- package/dist/src/commands/rebuild-operations.js.map +1 -1
- package/dist/src/commands/status-v6.d.ts +21 -2
- package/dist/src/commands/status-v6.js +163 -31
- package/dist/src/commands/status-v6.js.map +1 -1
- package/dist/src/commands/sync-command.d.ts +17 -0
- package/dist/src/commands/sync-command.js +45 -37
- package/dist/src/commands/sync-command.js.map +1 -1
- package/dist/src/commands/write-commands.d.ts +5 -0
- package/dist/src/commands/write-commands.js +50 -3
- package/dist/src/commands/write-commands.js.map +1 -1
- package/dist/src/generators/local-plugin.js +14 -4
- package/dist/src/generators/local-plugin.js.map +1 -1
- package/dist/src/index.js +216 -85
- package/dist/src/index.js.map +1 -1
- package/dist/src/output/command-receipt.js +1 -3
- package/dist/src/output/command-receipt.js.map +1 -1
- package/dist/src/output/rebuild-progress.js +1 -3
- package/dist/src/output/rebuild-progress.js.map +1 -1
- package/dist/src/portable/materializer.js +6 -6
- package/dist/src/portable/materializer.js.map +1 -1
- package/dist/src/tui/catalog-generation.js +41 -1
- package/dist/src/tui/catalog-generation.js.map +1 -1
- package/dist/src/tui/catalog-sources/session.d.ts +1 -0
- package/dist/src/tui/catalog-sources/session.js +16 -3
- package/dist/src/tui/catalog-sources/session.js.map +1 -1
- package/dist/src/tui/catalog-sources/types.d.ts +3 -2
- package/dist/src/tui/components.d.ts +4 -0
- package/dist/src/tui/components.js +36 -24
- package/dist/src/tui/components.js.map +1 -1
- package/dist/src/tui/console-app-v4.d.ts +13 -4
- package/dist/src/tui/console-app-v4.js +2067 -839
- package/dist/src/tui/console-app-v4.js.map +1 -1
- package/dist/src/tui/controller-runtime.js +585 -33
- package/dist/src/tui/controller-runtime.js.map +1 -1
- package/dist/src/tui/controller.d.ts +152 -6
- package/dist/src/tui/controller.js +1168 -156
- package/dist/src/tui/controller.js.map +1 -1
- package/dist/src/tui/diagnostic-projection.d.ts +22 -0
- package/dist/src/tui/diagnostic-projection.js +437 -0
- package/dist/src/tui/diagnostic-projection.js.map +1 -0
- package/dist/src/tui/diagnostics.d.ts +1 -1
- package/dist/src/tui/diagnostics.js +6 -1
- package/dist/src/tui/diagnostics.js.map +1 -1
- package/dist/src/tui/glossary.d.ts +23 -0
- package/dist/src/tui/glossary.js +42 -0
- package/dist/src/tui/glossary.js.map +1 -0
- package/dist/src/tui/index.d.ts +4 -1
- package/dist/src/tui/index.js +4 -1
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/tui/keys.d.ts +44 -0
- package/dist/src/tui/keys.js +43 -15
- package/dist/src/tui/keys.js.map +1 -1
- package/dist/src/tui/lifecycle-action-view.d.ts +6 -0
- package/dist/src/tui/lifecycle-action-view.js +34 -0
- package/dist/src/tui/lifecycle-action-view.js.map +1 -0
- package/dist/src/tui/model.d.ts +12 -2
- package/dist/src/tui/model.js +128 -52
- package/dist/src/tui/model.js.map +1 -1
- package/dist/src/tui/operation-diagnostic-screens.d.ts +21 -0
- package/dist/src/tui/operation-diagnostic-screens.js +101 -0
- package/dist/src/tui/operation-diagnostic-screens.js.map +1 -0
- package/dist/src/tui/operation-history.d.ts +80 -0
- package/dist/src/tui/operation-history.js +130 -0
- package/dist/src/tui/operation-history.js.map +1 -0
- package/dist/src/tui/operation-review-planner.js +306 -86
- package/dist/src/tui/operation-review-planner.js.map +1 -1
- package/dist/src/tui/router.d.ts +82 -17
- package/dist/src/tui/router.js +186 -38
- package/dist/src/tui/router.js.map +1 -1
- package/dist/src/tui/screen-registry.d.ts +546 -0
- package/dist/src/tui/screen-registry.js +179 -0
- package/dist/src/tui/screen-registry.js.map +1 -0
- package/dist/src/tui/session-console-app.d.ts +6 -0
- package/dist/src/tui/session-console-app.js +13 -0
- package/dist/src/tui/session-console-app.js.map +1 -0
- package/dist/src/tui/session-host.d.ts +44 -0
- package/dist/src/tui/session-host.js +197 -0
- package/dist/src/tui/session-host.js.map +1 -0
- package/dist/src/types.d.ts +64 -3
- package/dist/src/types.js +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/agent-version.js +1 -1
- package/dist/src/utils/agent-version.js.map +1 -1
- package/dist/src/utils/artifact-renderer.d.ts +2 -1
- package/dist/src/utils/artifact-renderer.js +52 -52
- package/dist/src/utils/artifact-renderer.js.map +1 -1
- package/dist/src/utils/bundle-layout.js +4 -4
- package/dist/src/utils/bundle-layout.js.map +1 -1
- package/dist/src/utils/catalog-capability-projection.d.ts +8 -0
- package/dist/src/utils/catalog-capability-projection.js +14 -0
- package/dist/src/utils/catalog-capability-projection.js.map +1 -0
- package/dist/src/utils/catalog-generation-resolver.d.ts +14 -2
- package/dist/src/utils/catalog-generation-resolver.js +49 -27
- package/dist/src/utils/catalog-generation-resolver.js.map +1 -1
- package/dist/src/utils/catalog-generation-service.d.ts +8 -1
- package/dist/src/utils/catalog-generation-service.js +81 -47
- package/dist/src/utils/catalog-generation-service.js.map +1 -1
- package/dist/src/utils/catalog-generation-store.d.ts +1 -0
- package/dist/src/utils/catalog-generation-store.js +60 -5
- package/dist/src/utils/catalog-generation-store.js.map +1 -1
- package/dist/src/utils/catalog-operation-context.js +1 -0
- package/dist/src/utils/catalog-operation-context.js.map +1 -1
- package/dist/src/utils/catalog-public-error.js +4 -0
- package/dist/src/utils/catalog-public-error.js.map +1 -1
- package/dist/src/utils/catalog-source-impact.d.ts +3 -2
- package/dist/src/utils/catalog-source-impact.js +142 -20
- package/dist/src/utils/catalog-source-impact.js.map +1 -1
- package/dist/src/utils/catalog-source-references.js +95 -9
- package/dist/src/utils/catalog-source-references.js.map +1 -1
- package/dist/src/utils/catalog-sources.d.ts +1 -1
- package/dist/src/utils/catalog-sources.js +19 -3
- package/dist/src/utils/catalog-sources.js.map +1 -1
- package/dist/src/utils/codex-manager.js +8 -0
- package/dist/src/utils/codex-manager.js.map +1 -1
- package/dist/src/utils/codex-native-observation.d.ts +34 -1
- package/dist/src/utils/codex-native-observation.js +132 -0
- package/dist/src/utils/codex-native-observation.js.map +1 -1
- package/dist/src/utils/codex-reconciler.d.ts +0 -2
- package/dist/src/utils/codex-reconciler.js.map +1 -1
- package/dist/src/utils/codex-shared-native.d.ts +2 -26
- package/dist/src/utils/codex-shared-native.js +8 -82
- package/dist/src/utils/codex-shared-native.js.map +1 -1
- package/dist/src/utils/git-catalog-provider.d.ts +3 -0
- package/dist/src/utils/git-catalog-provider.js +40 -1
- package/dist/src/utils/git-catalog-provider.js.map +1 -1
- package/dist/src/utils/local-marketplace.d.ts +1 -0
- package/dist/src/utils/local-marketplace.js +69 -73
- package/dist/src/utils/local-marketplace.js.map +1 -1
- package/dist/src/utils/multi-source-catalog.js +1 -0
- package/dist/src/utils/multi-source-catalog.js.map +1 -1
- package/dist/src/utils/native-cli.d.ts +9 -4
- package/dist/src/utils/native-cli.js +280 -34
- package/dist/src/utils/native-cli.js.map +1 -1
- package/dist/src/utils/path-catalog-provider.js +2 -0
- package/dist/src/utils/path-catalog-provider.js.map +1 -1
- package/dist/src/utils/plugin-config-write.d.ts +15 -13
- package/dist/src/utils/plugin-config-write.js +418 -198
- package/dist/src/utils/plugin-config-write.js.map +1 -1
- package/dist/src/utils/plugin-config.d.ts +48 -4
- package/dist/src/utils/plugin-config.js +289 -38
- package/dist/src/utils/plugin-config.js.map +1 -1
- package/dist/src/utils/plugin-scripts.d.ts +20 -12
- package/dist/src/utils/plugin-scripts.js +376 -109
- package/dist/src/utils/plugin-scripts.js.map +1 -1
- package/dist/src/utils/process-tree.d.ts +2 -2
- package/dist/src/utils/process-tree.js +1 -1
- package/dist/src/utils/process-tree.js.map +1 -1
- package/dist/src/utils/project-boundary.d.ts +11 -1
- package/dist/src/utils/project-boundary.js +17 -8
- package/dist/src/utils/project-boundary.js.map +1 -1
- package/dist/src/utils/safe-operation-diagnostic.d.ts +15 -0
- package/dist/src/utils/safe-operation-diagnostic.js +33 -0
- package/dist/src/utils/safe-operation-diagnostic.js.map +1 -0
- package/dist/src/utils/sensitive-content.d.ts +1 -0
- package/dist/src/utils/sensitive-content.js +15 -0
- package/dist/src/utils/sensitive-content.js.map +1 -0
- package/dist/src/utils/windows-claude-shim.d.ts +9 -0
- package/dist/src/utils/windows-claude-shim.js +141 -0
- package/dist/src/utils/windows-claude-shim.js.map +1 -0
- package/dist/vitest.config.js +91 -10
- package/dist/vitest.config.js.map +1 -1
- package/package.json +9 -9
- package/dist/authoring/templates/aw-config-runtime.d.mts +0 -2
- package/dist/authoring/templates/aw-config-runtime.mjs +0 -407
- package/dist/authoring/templates/aw-config-runtime.mjs.map +0 -1
|
@@ -2,16 +2,42 @@ import crypto from 'node:crypto';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import fs from 'fs-extra';
|
|
4
4
|
import { IMPLEMENTED_AW_CAPABILITIES } from '../commands/aw-capabilities.js';
|
|
5
|
+
import { projectCatalogCapabilityCompatibility } from './catalog-capability-projection.js';
|
|
5
6
|
import { CatalogGenerationError } from './catalog-generation-error.js';
|
|
6
7
|
import { readCatalogGenerationControlSnapshot, } from './catalog-generation-control-snapshot.js';
|
|
7
8
|
import { CatalogProviderCompatibilityError } from './catalog-public-error.js';
|
|
8
9
|
import { createCatalogStoreKey, readCatalogSnapshotLogicalIdentity, readCatalogStoreMetadata, readCatalogStoreEntry, resolveCatalogStoreLocation, } from './catalog-generation-store.js';
|
|
9
10
|
import { calculateCatalogSourceConfigFingerprint } from './catalog-source-identity.js';
|
|
10
|
-
import {
|
|
11
|
+
import { validatePluginManifest } from './manifest.js';
|
|
11
12
|
import { validateCatalogManifestV7 } from './catalog-manifest-v7.js';
|
|
12
13
|
import { calculateFileDigest } from './bundle-integrity.js';
|
|
13
14
|
import { calculateCatalogEntryArtifactDigest, calculateCatalogEntryContentDigest, } from './catalog-digests.js';
|
|
14
15
|
import { CURRENT_CATALOG_MANIFEST_FILE } from '../constants.js';
|
|
16
|
+
export async function readValidatedCatalogGenerationStoreEntry(options) {
|
|
17
|
+
const storeKey = createCatalogStoreKey(options.logicalIdentity, options.snapshotDigest);
|
|
18
|
+
const cached = options.validatedStoreEntries?.get(storeKey);
|
|
19
|
+
if (cached)
|
|
20
|
+
return cached;
|
|
21
|
+
let pending = options.validatingStoreEntries?.get(storeKey);
|
|
22
|
+
if (!pending) {
|
|
23
|
+
pending = readCatalogStoreEntry({
|
|
24
|
+
logicalIdentity: options.logicalIdentity,
|
|
25
|
+
snapshotDigest: options.snapshotDigest,
|
|
26
|
+
env: options.env,
|
|
27
|
+
});
|
|
28
|
+
options.validatingStoreEntries?.set(storeKey, pending);
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const entry = await pending;
|
|
32
|
+
options.validatedStoreEntries?.set(storeKey, entry);
|
|
33
|
+
return entry;
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
if (options.validatingStoreEntries?.get(storeKey) === pending) {
|
|
37
|
+
options.validatingStoreEntries.delete(storeKey);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
15
41
|
async function assertRegularDirectory(value, label) {
|
|
16
42
|
const stats = await fs.lstat(value);
|
|
17
43
|
if (!stats.isDirectory() || stats.isSymbolicLink()) {
|
|
@@ -41,27 +67,13 @@ async function resolveFromState(options) {
|
|
|
41
67
|
message: `Active Catalog snapshot for source "${options.source.id}" does not match the current source configuration. Run aw catalog source sync ${options.source.id}.`,
|
|
42
68
|
});
|
|
43
69
|
const storeKey = createCatalogStoreKey(options.active.logicalIdentity, options.active.snapshotDigest);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
env: options.env,
|
|
52
|
-
});
|
|
53
|
-
options.validatingStoreEntries?.set(storeKey, pending);
|
|
54
|
-
}
|
|
55
|
-
try {
|
|
56
|
-
entry = await pending;
|
|
57
|
-
options.validatedStoreEntries?.set(storeKey, entry);
|
|
58
|
-
}
|
|
59
|
-
finally {
|
|
60
|
-
if (options.validatingStoreEntries?.get(storeKey) === pending) {
|
|
61
|
-
options.validatingStoreEntries.delete(storeKey);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
70
|
+
const entry = await readValidatedCatalogGenerationStoreEntry({
|
|
71
|
+
logicalIdentity: options.active.logicalIdentity,
|
|
72
|
+
snapshotDigest: options.active.snapshotDigest,
|
|
73
|
+
env: options.env,
|
|
74
|
+
validatedStoreEntries: options.validatedStoreEntries,
|
|
75
|
+
validatingStoreEntries: options.validatingStoreEntries,
|
|
76
|
+
});
|
|
65
77
|
if (entry.metadata.manifestDigest !== options.active.manifestDigest) {
|
|
66
78
|
throw new CatalogGenerationError({
|
|
67
79
|
code: 'catalogGenerationIdentityMismatch',
|
|
@@ -69,12 +81,12 @@ async function resolveFromState(options) {
|
|
|
69
81
|
message: `Active Catalog snapshot for source "${options.source.id}" does not match store metadata. Run aw catalog source sync ${options.source.id}.`,
|
|
70
82
|
});
|
|
71
83
|
}
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
84
|
+
const compatibility = projectCatalogCapabilityCompatibility(entry.metadata.requiredAwCapabilities);
|
|
85
|
+
if (options.requireCompatibility && compatibility.state === 'unsupported') {
|
|
74
86
|
throw new CatalogProviderCompatibilityError({
|
|
75
87
|
sourceId: options.source.id,
|
|
76
|
-
requiredCapabilities:
|
|
77
|
-
missingCapabilities:
|
|
88
|
+
requiredCapabilities: compatibility.requiredCapabilities,
|
|
89
|
+
missingCapabilities: compatibility.missingCapabilities,
|
|
78
90
|
availableCapabilities: IMPLEMENTED_AW_CAPABILITIES,
|
|
79
91
|
});
|
|
80
92
|
}
|
|
@@ -93,7 +105,7 @@ async function resolveFromState(options) {
|
|
|
93
105
|
active: options.active,
|
|
94
106
|
};
|
|
95
107
|
}
|
|
96
|
-
|
|
108
|
+
async function resolveActiveCatalogGenerationWithPolicy(options, requireCompatibility) {
|
|
97
109
|
const env = options.env ?? process.env;
|
|
98
110
|
const control = await readCatalogGenerationControlSnapshot({ env });
|
|
99
111
|
const source = control.configSnapshot.config.sources.find((entry) => entry.id === options.sourceId);
|
|
@@ -108,10 +120,18 @@ export async function resolveActiveCatalogGeneration(options) {
|
|
|
108
120
|
sourceIdentity: control.sourceIdentities[source.id],
|
|
109
121
|
active: control.generationState.sources[source.id]?.active,
|
|
110
122
|
env,
|
|
123
|
+
requireCompatibility,
|
|
111
124
|
validatedStoreEntries: options.validatedStoreEntries,
|
|
112
125
|
validatingStoreEntries: options.validatingStoreEntries,
|
|
113
126
|
});
|
|
114
127
|
}
|
|
128
|
+
export async function resolveActiveCatalogGeneration(options) {
|
|
129
|
+
return resolveActiveCatalogGenerationWithPolicy(options, true);
|
|
130
|
+
}
|
|
131
|
+
/** @internal Complete Active evidence for freshness checks before consumer compatibility gating. */
|
|
132
|
+
export async function resolveValidatedActiveCatalogGeneration(options) {
|
|
133
|
+
return resolveActiveCatalogGenerationWithPolicy(options, false);
|
|
134
|
+
}
|
|
115
135
|
export async function resolveActiveCatalogPluginShallow(options) {
|
|
116
136
|
const env = options.env ?? process.env;
|
|
117
137
|
const control = await readCatalogGenerationControlSnapshot({ env });
|
|
@@ -197,6 +217,7 @@ export async function resolveActiveCatalogPluginShallow(options) {
|
|
|
197
217
|
return {
|
|
198
218
|
sourceId: source.id,
|
|
199
219
|
sourceIdentity,
|
|
220
|
+
logicalIdentity: active.logicalIdentity,
|
|
200
221
|
catalogVersion: metadata.catalogVersion,
|
|
201
222
|
snapshotPath: location.snapshotRoot,
|
|
202
223
|
plugin,
|
|
@@ -236,6 +257,7 @@ export async function resolveCatalogGenerationSet(options = {}) {
|
|
|
236
257
|
sourceIdentity: control.sourceIdentities[source.id],
|
|
237
258
|
active: control.generationState.sources[source.id]?.active,
|
|
238
259
|
env,
|
|
260
|
+
requireCompatibility: true,
|
|
239
261
|
validatedStoreEntries: options.validatedStoreEntries,
|
|
240
262
|
validatingStoreEntries: options.validatingStoreEntries,
|
|
241
263
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-generation-resolver.js","sourceRoot":"","sources":["../../../src/utils/catalog-generation-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog-generation-resolver.js","sourceRoot":"","sources":["../../../src/utils/catalog-generation-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import { type CatalogStoreEntry } from './catalog-generation-store.js';
|
|
|
3
3
|
export { removeCatalogSourceGenerationState } from './catalog-generation-state.js';
|
|
4
4
|
import { catalogGitProviderInternal } from './git-catalog-provider.js';
|
|
5
5
|
import { catalogPathProviderInternal } from './path-catalog-provider.js';
|
|
6
|
+
import { type CatalogCapabilityCompatibility } from './catalog-capability-projection.js';
|
|
7
|
+
import { inspectCatalogSourceImpact } from './catalog-source-impact.js';
|
|
6
8
|
export interface CatalogGenerationProviderSet {
|
|
7
9
|
git: typeof catalogGitProviderInternal.resolve;
|
|
8
10
|
path: typeof catalogPathProviderInternal.resolve;
|
|
@@ -15,6 +17,8 @@ export interface CatalogGenerationServiceRuntime {
|
|
|
15
17
|
validatingStoreEntries?: Map<string, Promise<CatalogStoreEntry>>;
|
|
16
18
|
afterCandidateResolved?: () => Promise<void>;
|
|
17
19
|
afterRecoveryStorePublished?: () => Promise<void>;
|
|
20
|
+
afterInactiveStoreRepairPrepared?: () => Promise<void>;
|
|
21
|
+
inspectSourceImpact?: typeof inspectCatalogSourceImpact;
|
|
18
22
|
}
|
|
19
23
|
export interface CatalogGenerationProbeResult {
|
|
20
24
|
sourceId: string;
|
|
@@ -46,10 +50,11 @@ export interface CatalogGenerationStatusEntry {
|
|
|
46
50
|
channel?: 'latest' | 'beta';
|
|
47
51
|
storeKey?: string;
|
|
48
52
|
lastSync?: CatalogGenerationLastSyncV1;
|
|
53
|
+
compatibility: CatalogCapabilityCompatibility | null;
|
|
49
54
|
errorCode?: string;
|
|
50
55
|
}
|
|
51
56
|
export interface CatalogGenerationStatusPayload {
|
|
52
|
-
catalogGenerationStatusSchemaVersion:
|
|
57
|
+
catalogGenerationStatusSchemaVersion: 2;
|
|
53
58
|
sources: CatalogGenerationStatusEntry[];
|
|
54
59
|
}
|
|
55
60
|
export declare function compareCatalogGenerationCandidates(expected: CatalogGenerationCandidateEvidence, actual: CatalogGenerationCandidateEvidence): CatalogGenerationCandidateComparison;
|
|
@@ -158,4 +163,6 @@ export declare function syncCatalogSourceGeneration(options: {
|
|
|
158
163
|
export declare function readCatalogGenerationStatus(options?: {
|
|
159
164
|
sourceId?: string;
|
|
160
165
|
env?: NodeJS.ProcessEnv;
|
|
166
|
+
validatedStoreEntries?: Map<string, CatalogStoreEntry>;
|
|
167
|
+
validatingStoreEntries?: Map<string, Promise<CatalogStoreEntry>>;
|
|
161
168
|
}): Promise<CatalogGenerationStatusPayload>;
|
|
@@ -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 {
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
?
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
1213
|
-
logicalIdentity: active.logicalIdentity,
|
|
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
|
|
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:
|
|
1269
|
+
return { catalogGenerationStatusSchemaVersion: 2, sources };
|
|
1236
1270
|
}
|
|
1237
1271
|
//# sourceMappingURL=catalog-generation-service.js.map
|