@lesliechan721/aw 0.1.0-beta.7 → 0.1.0-beta.9
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/scripts/add-skill.mjs +4 -4
- package/dist/authoring/scripts/add-skill.mjs.map +1 -1
- package/dist/authoring/scripts/init-plugin.mjs +8 -37
- package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
- package/dist/authoring/scripts/lib/plugin-version-check.mjs +1 -1
- package/dist/authoring/scripts/lib/skill-scaffold.d.mts +77 -90
- package/dist/authoring/scripts/lib/skill-scaffold.mjs +99 -120
- package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -1
- package/dist/authoring/scripts/plugin-status.mjs +8 -11
- package/dist/authoring/scripts/plugin-status.mjs.map +1 -1
- package/dist/authoring/scripts/remove-plugin.mjs +2 -1
- package/dist/authoring/scripts/remove-plugin.mjs.map +1 -1
- package/dist/authoring/scripts/validate-plugin.mjs +64 -758
- package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
- package/dist/scripts/aw-skill-eval-materializer.d.ts +24 -0
- package/dist/scripts/{plugin-eval-materializer.js → aw-skill-eval-materializer.js} +34 -145
- package/dist/scripts/aw-skill-eval-materializer.js.map +1 -0
- package/dist/scripts/bundle-plugins.d.ts +1 -0
- package/dist/scripts/bundle-plugins.js +2 -1
- package/dist/scripts/bundle-plugins.js.map +1 -1
- package/dist/scripts/plugin-staging.d.ts +6 -8
- package/dist/scripts/plugin-staging.js +15 -28
- package/dist/scripts/plugin-staging.js.map +1 -1
- package/dist/scripts/test-plugin-scripts.js +2 -33
- package/dist/scripts/test-plugin-scripts.js.map +1 -1
- package/dist/src/adapters/helpers.js +2 -2
- package/dist/src/adapters/helpers.js.map +1 -1
- package/dist/src/authoring/workspace-commands.d.ts +17 -1
- package/dist/src/authoring/workspace-commands.js +21 -4
- package/dist/src/authoring/workspace-commands.js.map +1 -1
- package/dist/src/commands/aw-capabilities.d.ts +78 -0
- package/dist/src/commands/aw-capabilities.js +254 -0
- package/dist/src/commands/aw-capabilities.js.map +1 -0
- package/dist/src/commands/catalog-dev-source.d.ts +118 -0
- package/dist/src/commands/catalog-dev-source.js +417 -0
- package/dist/src/commands/catalog-dev-source.js.map +1 -0
- package/dist/src/commands/catalog-generation.d.ts +13 -0
- package/dist/src/commands/catalog-generation.js +13 -0
- package/dist/src/commands/catalog-generation.js.map +1 -0
- package/dist/src/commands/catalog-publication-inspection.d.ts +29 -28
- package/dist/src/commands/catalog-publication-inspection.js +138 -50
- package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
- package/dist/src/commands/catalog-publication-journal.d.ts +49 -0
- package/dist/src/commands/catalog-publication-journal.js +147 -0
- package/dist/src/commands/catalog-publication-journal.js.map +1 -0
- package/dist/src/commands/catalog-publication-target.d.ts +18 -0
- package/dist/src/commands/catalog-publication-target.js +95 -0
- package/dist/src/commands/catalog-publication-target.js.map +1 -0
- package/dist/src/commands/catalog-publish.d.ts +58 -15
- package/dist/src/commands/catalog-publish.js +590 -210
- package/dist/src/commands/catalog-publish.js.map +1 -1
- package/dist/src/commands/catalog-source.d.ts +12 -15
- package/dist/src/commands/catalog-source.js +61 -86
- package/dist/src/commands/catalog-source.js.map +1 -1
- package/dist/src/commands/catalog-status.d.ts +18 -22
- package/dist/src/commands/catalog-status.js +81 -115
- package/dist/src/commands/catalog-status.js.map +1 -1
- package/dist/src/commands/catalog-workspace-resolution.d.ts +13 -0
- package/dist/src/commands/catalog-workspace-resolution.js +42 -0
- package/dist/src/commands/catalog-workspace-resolution.js.map +1 -0
- package/dist/src/commands/dependency-operation-plan.d.ts +88 -9
- package/dist/src/commands/dependency-operation-plan.js +331 -6
- package/dist/src/commands/dependency-operation-plan.js.map +1 -1
- package/dist/src/commands/init.d.ts +5 -11
- package/dist/src/commands/init.js +30 -51
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/offline-cleanup-evidence.d.ts +43 -0
- package/dist/src/commands/offline-cleanup-evidence.js +116 -0
- package/dist/src/commands/offline-cleanup-evidence.js.map +1 -0
- package/dist/src/commands/options.d.ts +7 -1
- package/dist/src/commands/options.js +65 -6
- package/dist/src/commands/options.js.map +1 -1
- package/dist/src/commands/plugin-capabilities.js +5 -1
- package/dist/src/commands/plugin-capabilities.js.map +1 -1
- package/dist/src/commands/rebuild-command.d.ts +27 -13
- package/dist/src/commands/rebuild-command.js +1472 -471
- package/dist/src/commands/rebuild-command.js.map +1 -1
- package/dist/src/commands/rebuild-integration.d.ts +63 -8
- package/dist/src/commands/rebuild-integration.js +761 -439
- package/dist/src/commands/rebuild-integration.js.map +1 -1
- package/dist/src/commands/rebuild-operations.d.ts +2 -8
- package/dist/src/commands/rebuild-operations.js +48 -132
- package/dist/src/commands/rebuild-operations.js.map +1 -1
- package/dist/src/commands/runtime.js +21 -34
- package/dist/src/commands/runtime.js.map +1 -1
- package/dist/src/commands/skill-eval.d.ts +33 -0
- package/dist/src/commands/skill-eval.js +363 -0
- package/dist/src/commands/skill-eval.js.map +1 -0
- package/dist/src/commands/status-v6.d.ts +202 -0
- package/dist/src/commands/status-v6.js +1938 -0
- package/dist/src/commands/status-v6.js.map +1 -0
- package/dist/src/commands/sync-command.d.ts +21 -0
- package/dist/src/commands/sync-command.js +206 -0
- package/dist/src/commands/sync-command.js.map +1 -0
- package/dist/src/commands/wizard.d.ts +2 -2
- package/dist/src/commands/wizard.js +2 -2
- package/dist/src/commands/wizard.js.map +1 -1
- package/dist/src/commands/write-commands.js +33 -19
- package/dist/src/commands/write-commands.js.map +1 -1
- package/dist/src/constants.d.ts +7 -1
- package/dist/src/constants.js +7 -1
- package/dist/src/constants.js.map +1 -1
- package/dist/src/eval/manifest-v1.d.ts +66 -0
- package/dist/src/eval/manifest-v1.js +326 -0
- package/dist/src/eval/manifest-v1.js.map +1 -0
- package/dist/src/generators/local-plugin.d.ts +3 -0
- package/dist/src/generators/local-plugin.js +167 -45
- package/dist/src/generators/local-plugin.js.map +1 -1
- package/dist/src/index.d.ts +6 -1
- package/dist/src/index.js +863 -126
- package/dist/src/index.js.map +1 -1
- package/dist/src/output/command-receipt.d.ts +58 -8
- package/dist/src/output/command-receipt.js +141 -11
- package/dist/src/output/command-receipt.js.map +1 -1
- package/dist/src/output/model.d.ts +3 -44
- package/dist/src/output/model.js +1 -144
- package/dist/src/output/model.js.map +1 -1
- package/dist/src/output/rebuild-progress.js +0 -3
- package/dist/src/output/rebuild-progress.js.map +1 -1
- package/dist/src/portable/commands.d.ts +6 -2
- package/dist/src/portable/commands.js +57 -6
- package/dist/src/portable/commands.js.map +1 -1
- package/dist/src/portable/materializer.d.ts +4 -4
- package/dist/src/portable/materializer.js +61 -12
- package/dist/src/portable/materializer.js.map +1 -1
- package/dist/src/tui/catalog-generation.d.ts +35 -0
- package/dist/src/tui/catalog-generation.js +85 -0
- package/dist/src/tui/catalog-generation.js.map +1 -0
- package/dist/src/tui/components.js +1 -2
- package/dist/src/tui/components.js.map +1 -1
- package/dist/src/tui/console-app-v4.d.ts +1 -1
- package/dist/src/tui/console-app-v4.js +647 -196
- package/dist/src/tui/console-app-v4.js.map +1 -1
- package/dist/src/tui/controller-runtime.d.ts +6 -2
- package/dist/src/tui/controller-runtime.js +646 -137
- package/dist/src/tui/controller-runtime.js.map +1 -1
- package/dist/src/tui/controller.d.ts +77 -15
- package/dist/src/tui/controller.js +647 -306
- package/dist/src/tui/controller.js.map +1 -1
- package/dist/src/tui/diagnostics.d.ts +1 -2
- package/dist/src/tui/diagnostics.js.map +1 -1
- package/dist/src/tui/index.d.ts +1 -0
- package/dist/src/tui/index.js +1 -0
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/tui/input-display.d.ts +8 -0
- package/dist/src/tui/input-display.js +36 -0
- package/dist/src/tui/input-display.js.map +1 -0
- package/dist/src/tui/model.d.ts +102 -14
- package/dist/src/tui/model.js +630 -139
- package/dist/src/tui/model.js.map +1 -1
- package/dist/src/tui/router.d.ts +35 -0
- package/dist/src/tui/router.js.map +1 -1
- package/dist/src/tui/source-ref-presets.d.ts +3 -0
- package/dist/src/tui/source-ref-presets.js +11 -0
- package/dist/src/tui/source-ref-presets.js.map +1 -0
- package/dist/src/tui/views.js +31 -3
- package/dist/src/tui/views.js.map +1 -1
- package/dist/src/types.d.ts +104 -13
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/agent-version.d.ts +7 -1
- package/dist/src/utils/agent-version.js +41 -8
- package/dist/src/utils/agent-version.js.map +1 -1
- package/dist/src/utils/aw-home-mutation-lock.d.ts +1 -0
- package/dist/src/utils/aw-home-mutation-lock.js +32 -4
- package/dist/src/utils/aw-home-mutation-lock.js.map +1 -1
- package/dist/src/utils/bundle-integrity.d.ts +0 -1
- package/dist/src/utils/bundle-integrity.js +0 -25
- package/dist/src/utils/bundle-integrity.js.map +1 -1
- package/dist/src/utils/bundle-layout.js +8 -6
- package/dist/src/utils/bundle-layout.js.map +1 -1
- package/dist/src/utils/catalog-digests.d.ts +7 -0
- package/dist/src/utils/catalog-digests.js +40 -2
- package/dist/src/utils/catalog-digests.js.map +1 -1
- package/dist/src/utils/catalog-generation-control-snapshot.d.ts +11 -0
- package/dist/src/utils/catalog-generation-control-snapshot.js +45 -0
- package/dist/src/utils/catalog-generation-control-snapshot.js.map +1 -0
- package/dist/src/utils/catalog-generation-error.d.ts +13 -0
- package/dist/src/utils/catalog-generation-error.js +28 -0
- package/dist/src/utils/catalog-generation-error.js.map +1 -0
- package/dist/src/utils/catalog-generation-resolver.d.ts +20 -0
- package/dist/src/utils/catalog-generation-resolver.js +143 -0
- package/dist/src/utils/catalog-generation-resolver.js.map +1 -0
- package/dist/src/utils/catalog-generation-service.d.ts +43 -0
- package/dist/src/utils/catalog-generation-service.js +306 -0
- package/dist/src/utils/catalog-generation-service.js.map +1 -0
- package/dist/src/utils/catalog-generation-state.d.ts +17 -0
- package/dist/src/utils/catalog-generation-state.js +168 -0
- package/dist/src/utils/catalog-generation-state.js.map +1 -0
- package/dist/src/utils/catalog-generation-store.d.ts +34 -0
- package/dist/src/utils/catalog-generation-store.js +251 -0
- package/dist/src/utils/catalog-generation-store.js.map +1 -0
- package/dist/src/utils/catalog-manifest-v6.d.ts +5 -0
- package/dist/src/utils/{catalog-manifest-v4.js → catalog-manifest-v6.js} +35 -43
- package/dist/src/utils/catalog-manifest-v6.js.map +1 -0
- package/dist/src/utils/catalog-operation-context.d.ts +20 -0
- package/dist/src/utils/catalog-operation-context.js +141 -0
- package/dist/src/utils/catalog-operation-context.js.map +1 -0
- package/dist/src/utils/catalog-public-error.d.ts +7 -3
- package/dist/src/utils/catalog-public-error.js +21 -8
- package/dist/src/utils/catalog-public-error.js.map +1 -1
- package/dist/src/utils/catalog-runtime-projection.d.ts +3 -0
- package/dist/src/utils/catalog-runtime-projection.js +5 -40
- package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
- package/dist/src/utils/catalog-snapshot.d.ts +5 -3
- package/dist/src/utils/catalog-snapshot.js +11 -3
- package/dist/src/utils/catalog-snapshot.js.map +1 -1
- package/dist/src/utils/catalog-source-identity.d.ts +1 -0
- package/dist/src/utils/catalog-source-identity.js +21 -2
- package/dist/src/utils/catalog-source-identity.js.map +1 -1
- package/dist/src/utils/catalog-source-references.d.ts +7 -0
- package/dist/src/utils/catalog-source-references.js +44 -55
- package/dist/src/utils/catalog-source-references.js.map +1 -1
- package/dist/src/utils/catalog-sources.d.ts +1 -0
- package/dist/src/utils/catalog-sources.js +55 -20
- package/dist/src/utils/catalog-sources.js.map +1 -1
- package/dist/src/utils/codex-config.d.ts +2 -0
- package/dist/src/utils/codex-config.js +26 -5
- package/dist/src/utils/codex-config.js.map +1 -1
- package/dist/src/utils/codex-manager.d.ts +81 -0
- package/dist/src/utils/codex-manager.js +810 -0
- package/dist/src/utils/codex-manager.js.map +1 -0
- package/dist/src/utils/codex-reconciler.d.ts +131 -0
- package/dist/src/utils/codex-reconciler.js +327 -0
- package/dist/src/utils/codex-reconciler.js.map +1 -0
- package/dist/src/utils/codex-shared-native.d.ts +56 -0
- package/dist/src/utils/codex-shared-native.js +87 -0
- package/dist/src/utils/codex-shared-native.js.map +1 -0
- package/dist/src/utils/codex-skill-staging.d.ts +2 -0
- package/dist/src/utils/codex-skill-staging.js.map +1 -1
- package/dist/src/utils/codex-surface-analysis.d.ts +44 -0
- package/dist/src/utils/codex-surface-analysis.js +247 -0
- package/dist/src/utils/codex-surface-analysis.js.map +1 -0
- package/dist/src/utils/dynamic-skill-tree.d.ts +4 -0
- package/dist/src/utils/dynamic-skill-tree.js +35 -5
- package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
- package/dist/src/utils/git-catalog-provider.js +66 -140
- package/dist/src/utils/git-catalog-provider.js.map +1 -1
- package/dist/src/utils/lifecycle-active-store.d.ts +0 -28
- package/dist/src/utils/lifecycle-active-store.js +35 -247
- package/dist/src/utils/lifecycle-active-store.js.map +1 -1
- package/dist/src/utils/manifest.d.ts +1 -3
- package/dist/src/utils/manifest.js +1 -3
- package/dist/src/utils/manifest.js.map +1 -1
- package/dist/src/utils/multi-source-catalog.d.ts +3 -9
- package/dist/src/utils/multi-source-catalog.js +53 -110
- package/dist/src/utils/multi-source-catalog.js.map +1 -1
- package/dist/src/utils/native-cli.d.ts +49 -6
- package/dist/src/utils/native-cli.js +116 -33
- package/dist/src/utils/native-cli.js.map +1 -1
- package/dist/src/utils/orphan-marketplace-cleanup.js +1 -3
- package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -1
- package/dist/src/utils/ownership.d.ts +10 -11
- package/dist/src/utils/ownership.js +55 -112
- package/dist/src/utils/ownership.js.map +1 -1
- package/dist/src/utils/path-catalog-provider.d.ts +1 -1
- package/dist/src/utils/path-catalog-provider.js +52 -65
- package/dist/src/utils/path-catalog-provider.js.map +1 -1
- package/dist/src/utils/paths.d.ts +0 -1
- package/dist/src/utils/paths.js +0 -1
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/plugin-config-write.js +18 -40
- package/dist/src/utils/plugin-config-write.js.map +1 -1
- package/dist/src/utils/plugin-config.d.ts +1 -12
- package/dist/src/utils/plugin-config.js +107 -226
- package/dist/src/utils/plugin-config.js.map +1 -1
- package/dist/src/utils/plugin-intent-state.d.ts +39 -0
- package/dist/src/utils/plugin-intent-state.js +325 -0
- package/dist/src/utils/plugin-intent-state.js.map +1 -0
- package/dist/src/utils/plugin-scripts.d.ts +1 -1
- package/dist/src/utils/plugin-scripts.js +1 -1
- package/dist/src/utils/plugin-scripts.js.map +1 -1
- package/dist/src/utils/state-paths.js +7 -2
- package/dist/src/utils/state-paths.js.map +1 -1
- package/dist/src/utils/target-eligibility.d.ts +8 -2
- package/dist/src/utils/target-eligibility.js +9 -5
- package/dist/src/utils/target-eligibility.js.map +1 -1
- package/package.json +6 -4
- package/dist/authoring/scripts/check-plugin-versions.d.mts +0 -2
- package/dist/authoring/scripts/check-plugin-versions.mjs +0 -5
- package/dist/authoring/scripts/check-plugin-versions.mjs.map +0 -1
- package/dist/scripts/aw-skill-eval-engine.d.ts +0 -13
- package/dist/scripts/aw-skill-eval-engine.js +0 -31
- package/dist/scripts/aw-skill-eval-engine.js.map +0 -1
- package/dist/scripts/codex-eval-app-server.d.ts +0 -89
- package/dist/scripts/codex-eval-app-server.js +0 -1228
- package/dist/scripts/codex-eval-app-server.js.map +0 -1
- package/dist/scripts/codex-eval-isolation.d.ts +0 -61
- package/dist/scripts/codex-eval-isolation.js +0 -318
- package/dist/scripts/codex-eval-isolation.js.map +0 -1
- package/dist/scripts/codex-eval-process-management.d.ts +0 -8
- package/dist/scripts/codex-eval-process-management.js +0 -69
- package/dist/scripts/codex-eval-process-management.js.map +0 -1
- package/dist/scripts/codex-eval-process-tree.d.ts +0 -38
- package/dist/scripts/codex-eval-process-tree.js +0 -803
- package/dist/scripts/codex-eval-process-tree.js.map +0 -1
- package/dist/scripts/codex-eval-runtime-config.d.ts +0 -62
- package/dist/scripts/codex-eval-runtime-config.js +0 -843
- package/dist/scripts/codex-eval-runtime-config.js.map +0 -1
- package/dist/scripts/codex-trigger-eval.d.ts +0 -84
- package/dist/scripts/codex-trigger-eval.js +0 -968
- package/dist/scripts/codex-trigger-eval.js.map +0 -1
- package/dist/scripts/eval-plugin-skills-audited.d.ts +0 -6
- package/dist/scripts/eval-plugin-skills-audited.js +0 -261
- package/dist/scripts/eval-plugin-skills-audited.js.map +0 -1
- package/dist/scripts/eval-plugin-skills.d.ts +0 -45
- package/dist/scripts/eval-plugin-skills.js +0 -1586
- package/dist/scripts/eval-plugin-skills.js.map +0 -1
- package/dist/scripts/eval-run-layout.d.ts +0 -17
- package/dist/scripts/eval-run-layout.js +0 -26
- package/dist/scripts/eval-run-layout.js.map +0 -1
- package/dist/scripts/plugin-eval-contract.d.ts +0 -185
- package/dist/scripts/plugin-eval-contract.js +0 -695
- package/dist/scripts/plugin-eval-contract.js.map +0 -1
- package/dist/scripts/plugin-eval-materializer.d.ts +0 -13
- package/dist/scripts/plugin-eval-materializer.js.map +0 -1
- package/dist/scripts/skill-reporting.d.ts +0 -212
- package/dist/scripts/skill-reporting.js +0 -922
- package/dist/scripts/skill-reporting.js.map +0 -1
- package/dist/src/commands/status-v4.d.ts +0 -123
- package/dist/src/commands/status-v4.js +0 -905
- package/dist/src/commands/status-v4.js.map +0 -1
- package/dist/src/commands/status.d.ts +0 -93
- package/dist/src/commands/status.js +0 -442
- package/dist/src/commands/status.js.map +0 -1
- package/dist/src/utils/active-marketplace-runtime-lock.d.ts +0 -12
- package/dist/src/utils/active-marketplace-runtime-lock.js +0 -133
- package/dist/src/utils/active-marketplace-runtime-lock.js.map +0 -1
- package/dist/src/utils/catalog-manifest-v3.d.ts +0 -2
- package/dist/src/utils/catalog-manifest-v3.js +0 -3
- package/dist/src/utils/catalog-manifest-v3.js.map +0 -1
- package/dist/src/utils/catalog-manifest-v4.d.ts +0 -5
- package/dist/src/utils/catalog-manifest-v4.js.map +0 -1
- package/dist/src/utils/catalog-source-cache.d.ts +0 -62
- package/dist/src/utils/catalog-source-cache.js +0 -296
- package/dist/src/utils/catalog-source-cache.js.map +0 -1
- package/dist/src/utils/codex-project-surface.d.ts +0 -3
- package/dist/src/utils/codex-project-surface.js +0 -49
- package/dist/src/utils/codex-project-surface.js.map +0 -1
- package/dist/src/utils/plugin-release.d.ts +0 -2
- package/dist/src/utils/plugin-release.js +0 -2
- package/dist/src/utils/plugin-release.js.map +0 -1
|
@@ -5,13 +5,17 @@ const DEFAULT_ERROR_CODE = 'catalogSourceResolutionFailed';
|
|
|
5
5
|
export class CatalogProviderCompatibilityError extends Error {
|
|
6
6
|
sourceId;
|
|
7
7
|
code;
|
|
8
|
+
requiredCapabilities;
|
|
9
|
+
missingCapabilities;
|
|
10
|
+
availableCapabilities;
|
|
8
11
|
constructor(options) {
|
|
9
|
-
super(`Catalog source "${options.sourceId}" requires
|
|
12
|
+
super(`Catalog source "${options.sourceId}" requires unsupported AW capabilities: ${options.missingCapabilities.join(', ')}.`);
|
|
10
13
|
this.name = 'CatalogProviderCompatibilityError';
|
|
11
14
|
this.sourceId = options.sourceId;
|
|
12
|
-
this.code =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
this.code = 'awCapabilityUnsupported';
|
|
16
|
+
this.requiredCapabilities = [...options.requiredCapabilities];
|
|
17
|
+
this.missingCapabilities = [...options.missingCapabilities];
|
|
18
|
+
this.availableCapabilities = [...options.availableCapabilities];
|
|
15
19
|
}
|
|
16
20
|
}
|
|
17
21
|
function escapeRegExp(value) {
|
|
@@ -39,7 +43,6 @@ export function sanitizeCatalogSourceErrorMessage(message, env = process.env, se
|
|
|
39
43
|
output = replaceRoot(output, root, '[catalog-source]');
|
|
40
44
|
}
|
|
41
45
|
for (const [root, replacement] of [
|
|
42
|
-
[path.join(awHome, 'catalog-cache'), '[catalog-state]'],
|
|
43
46
|
[path.join(path.dirname(awHome), '.aw-local-marketplace-staging'), '[catalog-staging]'],
|
|
44
47
|
[awHome, '[aw-state]'],
|
|
45
48
|
]) {
|
|
@@ -55,9 +58,7 @@ export function sanitizeCatalogSourceErrorMessage(message, env = process.env, se
|
|
|
55
58
|
].filter((value) => Boolean(value)))) {
|
|
56
59
|
output = replaceRoot(output, tempRoot, '[temporary]');
|
|
57
60
|
}
|
|
58
|
-
return output
|
|
59
|
-
.replace(/\.(?:materialize|path)-[^/\\\s"']+\.tmp/gu, '[catalog-materialization]')
|
|
60
|
-
.replace(/catalog-cache/gu, '[catalog-state]');
|
|
61
|
+
return output.replace(/\.(?:materialize|path)-[^/\\\s"']+\.tmp/gu, '[catalog-materialization]');
|
|
61
62
|
}
|
|
62
63
|
export function catalogSourceErrorCode(error) {
|
|
63
64
|
const code = error.code;
|
|
@@ -79,6 +80,18 @@ export function sanitizeCatalogSourceError(error, env = process.env, sensitiveRo
|
|
|
79
80
|
if ('inventory' in original) {
|
|
80
81
|
sanitized.inventory = original.inventory;
|
|
81
82
|
}
|
|
83
|
+
const originalCapabilities = original;
|
|
84
|
+
const sanitizedCapabilities = sanitized;
|
|
85
|
+
for (const field of [
|
|
86
|
+
'requiredCapabilities',
|
|
87
|
+
'missingCapabilities',
|
|
88
|
+
'availableCapabilities',
|
|
89
|
+
]) {
|
|
90
|
+
const value = originalCapabilities[field];
|
|
91
|
+
if (Array.isArray(value) && value.every((entry) => typeof entry === 'string')) {
|
|
92
|
+
sanitizedCapabilities[field] = [...value];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
82
95
|
return sanitized;
|
|
83
96
|
}
|
|
84
97
|
//# sourceMappingURL=catalog-public-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-public-error.js","sourceRoot":"","sources":["../../../src/utils/catalog-public-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog-public-error.js","sourceRoot":"","sources":["../../../src/utils/catalog-public-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export interface CatalogRuntimeExportResolution {
|
|
|
10
10
|
source: string;
|
|
11
11
|
sourcePath: string;
|
|
12
12
|
sourceDigest: string;
|
|
13
|
+
requiredCapabilities: string[];
|
|
14
|
+
capabilitySetDigest: string;
|
|
13
15
|
canonicalSource: CanonicalRuntimeSourceIdentity;
|
|
14
16
|
supportedPlatforms: ReadonlySet<PlatformName>;
|
|
15
17
|
virtual: boolean;
|
|
@@ -26,5 +28,6 @@ export declare function resolveRuntimeExportSource(options: {
|
|
|
26
28
|
plugin: PluginMeta;
|
|
27
29
|
name: string;
|
|
28
30
|
source: string;
|
|
31
|
+
requiredCapabilities: readonly unknown[];
|
|
29
32
|
}): Promise<CatalogRuntimeExportResolution>;
|
|
30
33
|
export declare function createCatalogRuntimeImportResolver(plugins: readonly PluginMeta[]): CatalogRuntimeImportResolver;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
|
-
import { resolveCanonicalRuntimeSourceIdentity as resolveCoreRuntimeSourceIdentity, validateRuntimeExportSource, } from '@lesliechan721/aw-plugin-core/manifest';
|
|
1
|
+
import { computeAwCapabilitySetDigest, normalizeAwCapabilities, validateRuntimeExportSource, } from '@lesliechan721/aw-plugin-core/manifest';
|
|
4
2
|
import { calculateFileDigest } from './bundle-integrity.js';
|
|
5
|
-
import { resolveCliPackageRoot } from './paths.js';
|
|
6
3
|
import { resolveSupportedPlatforms } from './platform-support.js';
|
|
7
4
|
export { resolveCanonicalRuntimeSourceIdentity, } from '@lesliechan721/aw-plugin-core/manifest';
|
|
8
5
|
export async function resolveRuntimeExportSource(options) {
|
|
@@ -11,6 +8,7 @@ export async function resolveRuntimeExportSource(options) {
|
|
|
11
8
|
name: options.name,
|
|
12
9
|
source: options.source,
|
|
13
10
|
});
|
|
11
|
+
const requiredCapabilities = normalizeAwCapabilities(options.requiredCapabilities, `buildConfig.runtimeExports export "${options.name}" requires.aw.capabilities`);
|
|
14
12
|
return {
|
|
15
13
|
provider: options.plugin.manifest.name,
|
|
16
14
|
providerVersion: options.plugin.manifest.version,
|
|
@@ -18,44 +16,13 @@ export async function resolveRuntimeExportSource(options) {
|
|
|
18
16
|
source: options.source,
|
|
19
17
|
sourcePath: canonicalSource.sourceRealPath,
|
|
20
18
|
sourceDigest: await calculateFileDigest(canonicalSource.sourceRealPath),
|
|
19
|
+
requiredCapabilities,
|
|
20
|
+
capabilitySetDigest: computeAwCapabilitySetDigest(requiredCapabilities),
|
|
21
21
|
canonicalSource,
|
|
22
22
|
supportedPlatforms: resolveSupportedPlatforms(options.plugin.manifest),
|
|
23
23
|
virtual: false,
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
-
async function resolveEvalVirtualExport(reference, purpose) {
|
|
27
|
-
if (purpose !== 'build' && purpose !== 'skill-runtime-file') {
|
|
28
|
-
throw new Error('Invalid catalog runtime import: virtual provider "@aw/agent-skill-eval" is only available to buildImports and skillRuntimeFiles.');
|
|
29
|
-
}
|
|
30
|
-
if (reference.export !== 'case-corpus-digest') {
|
|
31
|
-
throw new Error(`Invalid catalog runtime import: unknown @aw/agent-skill-eval export "${reference.export}".`);
|
|
32
|
-
}
|
|
33
|
-
const cliPackageRoot = resolveCliPackageRoot();
|
|
34
|
-
const packageRootCandidates = [
|
|
35
|
-
path.resolve(cliPackageRoot, '..', 'agent-skill-eval'),
|
|
36
|
-
path.join(cliPackageRoot, 'node_modules', '@lesliechan721', 'agent-skill-eval'),
|
|
37
|
-
];
|
|
38
|
-
const packageRoot = packageRootCandidates.find((candidate) => fs.existsSync(path.join(candidate, 'package.json')));
|
|
39
|
-
if (!packageRoot) {
|
|
40
|
-
throw new Error('Invalid @aw/agent-skill-eval runtime export: package root is unavailable.');
|
|
41
|
-
}
|
|
42
|
-
const packageJson = await fs.readJson(path.join(packageRoot, 'package.json'));
|
|
43
|
-
if (typeof packageJson.version !== 'string' || packageJson.version.trim() === '') {
|
|
44
|
-
throw new Error('Invalid @aw/agent-skill-eval runtime export: package version is missing.');
|
|
45
|
-
}
|
|
46
|
-
const canonicalSource = await resolveCoreRuntimeSourceIdentity(packageRoot, './dist/corpus-digest.js', '@aw/agent-skill-eval runtime export "case-corpus-digest"');
|
|
47
|
-
return {
|
|
48
|
-
provider: '@aw/agent-skill-eval',
|
|
49
|
-
providerVersion: packageJson.version,
|
|
50
|
-
name: reference.export,
|
|
51
|
-
source: './dist/corpus-digest.js',
|
|
52
|
-
sourcePath: canonicalSource.sourceRealPath,
|
|
53
|
-
sourceDigest: await calculateFileDigest(canonicalSource.sourceRealPath),
|
|
54
|
-
canonicalSource,
|
|
55
|
-
supportedPlatforms: new Set(['claude', 'codex']),
|
|
56
|
-
virtual: true,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
26
|
export function createCatalogRuntimeImportResolver(plugins) {
|
|
60
27
|
const pluginsByName = new Map();
|
|
61
28
|
for (const plugin of plugins) {
|
|
@@ -66,9 +33,6 @@ export function createCatalogRuntimeImportResolver(plugins) {
|
|
|
66
33
|
return {
|
|
67
34
|
async resolve({ consumer, reference, purpose, platform }) {
|
|
68
35
|
if (reference.plugin.startsWith('@aw/')) {
|
|
69
|
-
if (reference.plugin === '@aw/agent-skill-eval') {
|
|
70
|
-
return resolveEvalVirtualExport(reference, purpose);
|
|
71
|
-
}
|
|
72
36
|
throw new Error(`Invalid catalog runtime import: unknown reserved provider "${reference.plugin}".`);
|
|
73
37
|
}
|
|
74
38
|
if (reference.plugin === consumer.manifest.name) {
|
|
@@ -94,6 +58,7 @@ export function createCatalogRuntimeImportResolver(plugins) {
|
|
|
94
58
|
plugin: provider,
|
|
95
59
|
name: exports[0].name,
|
|
96
60
|
source: exports[0].source,
|
|
61
|
+
requiredCapabilities: exports[0].requires.aw.capabilities,
|
|
97
62
|
});
|
|
98
63
|
if (platform && !resolution.supportedPlatforms.has(platform)) {
|
|
99
64
|
throw new Error(`Invalid catalog runtime import: provider "${reference.plugin}" is unavailable for platform "${platform}".`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-runtime-projection.js","sourceRoot":"","sources":["../../../src/utils/catalog-runtime-projection.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"catalog-runtime-projection.js","sourceRoot":"","sources":["../../../src/utils/catalog-runtime-projection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,GAE5B,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EACL,qCAAqC,GACtC,MAAM,wCAAwC,CAAC;AA4BhD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAKhD;IACC,MAAM,eAAe,GAAG,MAAM,2BAA2B,CAAC;QACxD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,uBAAuB,CAClD,OAAO,CAAC,oBAAoB,EAC5B,sCAAsC,OAAO,CAAC,IAAI,4BAA4B,CAC/E,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;QACtC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO;QAChD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,eAAe,CAAC,cAAc;QAC1C,YAAY,EAAE,MAAM,mBAAmB,CAAC,eAAe,CAAC,cAAc,CAAC;QACvE,oBAAoB;QACpB,mBAAmB,EAAE,4BAA4B,CAAC,oBAAoB,CAAC;QACvE,eAAe;QACf,kBAAkB,EAAE,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtE,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,OAA8B;IAE9B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE;YACtD,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,8DAA8D,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;YACtG,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC9G,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,SAAS,CAAC,MAAM,mBAAmB,CAAC,CAAC;YAC3G,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;YACzG,CAAC;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,IAAI,EAAE,CAAC;iBAClE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,6CAA6C,SAAS,CAAC,MAAM,sBAAsB,SAAS,CAAC,MAAM,IAAI,CACxG,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,6CAA6C,SAAS,CAAC,MAAM,aAAa,SAAS,CAAC,MAAM,iBAAiB,CAC5G,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC;gBAClD,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI;gBACtB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM;gBAC1B,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY;aAC3D,CAAC,CAAC;YACH,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,6CAA6C,SAAS,CAAC,MAAM,kCAAkC,QAAQ,IAAI,CAC5G,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,mBAAmB,GAAG,CAAC,GAAG,yBAAyB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAC1E,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACpF,IAAI,mBAAmB,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CACb,6CAA6C,SAAS,CAAC,MAAM,2CAA2C,mBAAmB,IAAI,CAChI,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CatalogManifestV6 } from '../types.js';
|
|
2
2
|
export interface CatalogSnapshotValidation {
|
|
3
3
|
rootDir: string;
|
|
4
|
-
manifest:
|
|
4
|
+
manifest: CatalogManifestV6;
|
|
5
5
|
manifestDigest: string;
|
|
6
6
|
snapshotDigest: string;
|
|
7
7
|
}
|
|
8
|
-
export declare function
|
|
8
|
+
export declare function validateCatalogSnapshotTransport(rootDir: string): Promise<CatalogSnapshotValidation>;
|
|
9
|
+
export declare function validateCatalogSnapshotComplete(rootDir: string): Promise<CatalogSnapshotValidation>;
|
|
10
|
+
export declare function validateCatalogSnapshotPluginEntriesComplete(rootDir: string, pluginNames: readonly string[]): Promise<CatalogSnapshotValidation>;
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import {
|
|
2
|
+
import { validateCatalogSnapshotComplete as validateCoreCatalogSnapshotComplete, validateCatalogSnapshotPluginEntriesComplete as validateCoreCatalogSnapshotPluginEntriesComplete, validateCatalogSnapshotTransport as validateCoreCatalogSnapshotTransport, } from '@lesliechan721/aw-plugin-core';
|
|
3
3
|
import { CURRENT_CATALOG_MANIFEST_FILE } from '../constants.js';
|
|
4
4
|
import { calculateFileDigest } from './bundle-integrity.js';
|
|
5
|
-
|
|
6
|
-
const validation = await validateCoreCatalogSnapshot(rootDir);
|
|
5
|
+
async function withManifestDigest(validation) {
|
|
7
6
|
return {
|
|
8
7
|
...validation,
|
|
9
8
|
manifestDigest: await calculateFileDigest(path.join(validation.rootDir, CURRENT_CATALOG_MANIFEST_FILE)),
|
|
10
9
|
};
|
|
11
10
|
}
|
|
11
|
+
export async function validateCatalogSnapshotTransport(rootDir) {
|
|
12
|
+
return withManifestDigest(await validateCoreCatalogSnapshotTransport(rootDir));
|
|
13
|
+
}
|
|
14
|
+
export async function validateCatalogSnapshotComplete(rootDir) {
|
|
15
|
+
return withManifestDigest(await validateCoreCatalogSnapshotComplete(rootDir));
|
|
16
|
+
}
|
|
17
|
+
export async function validateCatalogSnapshotPluginEntriesComplete(rootDir, pluginNames) {
|
|
18
|
+
return withManifestDigest(await validateCoreCatalogSnapshotPluginEntriesComplete(rootDir, pluginNames));
|
|
19
|
+
}
|
|
12
20
|
//# sourceMappingURL=catalog-snapshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-snapshot.js","sourceRoot":"","sources":["../../../src/utils/catalog-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"catalog-snapshot.js","sourceRoot":"","sources":["../../../src/utils/catalog-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,+BAA+B,IAAI,mCAAmC,EACtE,4CAA4C,IAAI,gDAAgD,EAChG,gCAAgC,IAAI,oCAAoC,GACzE,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAS5D,KAAK,UAAU,kBAAkB,CAC/B,UAA6D;IAE7D,OAAO;QACL,GAAG,UAAU;QACb,cAAc,EAAE,MAAM,mBAAmB,CACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,OAAe;IACpE,OAAO,kBAAkB,CAAC,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,OAAe;IACnE,OAAO,kBAAkB,CAAC,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,OAAe,EACf,WAA8B;IAE9B,OAAO,kBAAkB,CAAC,MAAM,gDAAgD,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1G,CAAC"}
|
|
@@ -2,3 +2,4 @@ import type { CatalogSource, SourceIdentity } from '../types.js';
|
|
|
2
2
|
export declare function canonicalizeCatalogGitUrl(value: string): string;
|
|
3
3
|
export declare function canonicalizeCatalogPath(value: string, cwd: string): Promise<string>;
|
|
4
4
|
export declare function calculateCatalogSourceIdentity(source: CatalogSource): Promise<SourceIdentity>;
|
|
5
|
+
export declare function calculateCatalogSourceConfigFingerprint(source: CatalogSource): string;
|
|
@@ -2,7 +2,7 @@ import crypto from 'node:crypto';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
4
4
|
import fs from 'fs-extra';
|
|
5
|
-
import { CATALOG_SOURCE_IDENTITY_VERSION } from '../constants.js';
|
|
5
|
+
import { CATALOG_SOURCE_IDENTITY_VERSION, OFFICIAL_CATALOG_SOURCE_SSH_URL, OFFICIAL_CATALOG_SOURCE_URL, } from '../constants.js';
|
|
6
6
|
const SCP_GIT_URL_PATTERN = /^([^@/:\s]+)@([^/:\s]+):(.+)$/;
|
|
7
7
|
const ALLOWED_GIT_URL_PROTOCOLS = new Set(['file:', 'https:', 'ssh:']);
|
|
8
8
|
function normalizeGitPath(pathname) {
|
|
@@ -61,6 +61,12 @@ export function canonicalizeCatalogGitUrl(value) {
|
|
|
61
61
|
const port = url.port ? `:${url.port}` : '';
|
|
62
62
|
return `${url.protocol}//${username}${url.hostname.toLowerCase()}${port}${normalizeGitPath(url.pathname)}`;
|
|
63
63
|
}
|
|
64
|
+
function logicalCatalogGitIdentityLocation(value) {
|
|
65
|
+
if (value === OFFICIAL_CATALOG_SOURCE_URL || value === OFFICIAL_CATALOG_SOURCE_SSH_URL) {
|
|
66
|
+
return canonicalizeCatalogGitUrl(OFFICIAL_CATALOG_SOURCE_URL);
|
|
67
|
+
}
|
|
68
|
+
return canonicalizeCatalogGitUrl(value);
|
|
69
|
+
}
|
|
64
70
|
function normalizeIdentitySubdir(subdir) {
|
|
65
71
|
if (subdir === undefined)
|
|
66
72
|
return null;
|
|
@@ -96,7 +102,7 @@ export async function canonicalizeCatalogPath(value, cwd) {
|
|
|
96
102
|
export async function calculateCatalogSourceIdentity(source) {
|
|
97
103
|
let location;
|
|
98
104
|
if (source.type === 'git') {
|
|
99
|
-
location =
|
|
105
|
+
location = logicalCatalogGitIdentityLocation(source.url);
|
|
100
106
|
}
|
|
101
107
|
else if (source.type === 'path') {
|
|
102
108
|
if (!path.isAbsolute(source.path)) {
|
|
@@ -115,4 +121,17 @@ export async function calculateCatalogSourceIdentity(source) {
|
|
|
115
121
|
});
|
|
116
122
|
return `sha256:${crypto.createHash('sha256').update(input).digest('hex')}`;
|
|
117
123
|
}
|
|
124
|
+
export function calculateCatalogSourceConfigFingerprint(source) {
|
|
125
|
+
const location = source.type === 'git'
|
|
126
|
+
? canonicalizeCatalogGitUrl(source.url)
|
|
127
|
+
: path.normalize(source.path);
|
|
128
|
+
const input = JSON.stringify({
|
|
129
|
+
version: 1,
|
|
130
|
+
type: source.type,
|
|
131
|
+
location,
|
|
132
|
+
refPolicy: source.type === 'git' ? source.refPolicy : null,
|
|
133
|
+
subdir: normalizeIdentitySubdir(source.type === 'git' ? source.subdir : undefined),
|
|
134
|
+
});
|
|
135
|
+
return `sha256:${crypto.createHash('sha256').update(input).digest('hex')}`;
|
|
136
|
+
}
|
|
118
137
|
//# sourceMappingURL=catalog-source-identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-source-identity.js","sourceRoot":"","sources":["../../../src/utils/catalog-source-identity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"catalog-source-identity.js","sourceRoot":"","sources":["../../../src/utils/catalog-source-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export interface CatalogSourceReference {
|
|
|
10
10
|
platform?: string;
|
|
11
11
|
scope?: string;
|
|
12
12
|
projectKey?: string | null;
|
|
13
|
+
lifecycleMetadataIntegrityDigest?: string;
|
|
14
|
+
pluginVersion?: string;
|
|
13
15
|
}
|
|
14
16
|
export declare function canonicalMarketplaceRegistrationNames(references: readonly CatalogSourceReference[], sourceId: string): string[];
|
|
15
17
|
export interface CatalogSourceReferenceInventory {
|
|
@@ -45,6 +47,11 @@ export declare function inventoryCatalogSourceReferences(options: {
|
|
|
45
47
|
cwd: string;
|
|
46
48
|
env?: NodeJS.ProcessEnv;
|
|
47
49
|
includeHistoricalProjects?: boolean;
|
|
50
|
+
includeOrphanedCodexNativeResidue?: boolean;
|
|
51
|
+
codexNativeResidueTargets?: ReadonlyArray<{
|
|
52
|
+
sourceId?: string;
|
|
53
|
+
pluginName: string;
|
|
54
|
+
}>;
|
|
48
55
|
}): Promise<CatalogSourceReferenceInventory>;
|
|
49
56
|
export declare class LegacyCatalogStateUnsupportedError extends Error {
|
|
50
57
|
readonly code = "legacyStateUnsupported";
|
|
@@ -6,8 +6,7 @@ import { readJsonFileIfExists } from './json.js';
|
|
|
6
6
|
import { getClaudeHome, getCodexHome, canonicalizePathThroughExistingAncestorSync, resolveAwHome, resolveAwHomeCanonical, resolveRepoRootSync, } from './state-paths.js';
|
|
7
7
|
import { OWNED_TEXT_HEADER_PREFIX, parseSharedOwnerToken, parseOwnedTextHeader, readSkillOwnerMarker, SKILL_OWNER_MARKER, } from './ownership.js';
|
|
8
8
|
import { createLifecycleProjectLocationKey, inspectLifecycleActiveSnapshotForInventory, } from './lifecycle-active-store.js';
|
|
9
|
-
import { CodexNativeResidueProbeError, discoverCodexNativeResidueNames, } from '../commands/rebuild-integration.js';
|
|
10
|
-
import { parseCodexSharedHooksFile } from './hooks-contract.js';
|
|
9
|
+
import { CodexNativeResidueProbeError, discoverCodexNativeResidueNames, inspectCodexNativeResidue, } from '../commands/rebuild-integration.js';
|
|
11
10
|
import { sanitizeCatalogSourceErrorMessage } from './catalog-public-error.js';
|
|
12
11
|
import { readPluginManifest } from './manifest.js';
|
|
13
12
|
import { readStrictNamespacedMarketplaceRoot } from './local-marketplace.js';
|
|
@@ -341,7 +340,6 @@ export async function inventoryLegacyOwnerReferences(options) {
|
|
|
341
340
|
const skillRoots = new Set([
|
|
342
341
|
path.join(getCodexHome(env), 'skills'),
|
|
343
342
|
path.join(getClaudeHome(env), 'skills'),
|
|
344
|
-
path.join(repoRoot, '.agents', 'skills'),
|
|
345
343
|
path.join(repoRoot, '.claude', 'skills'),
|
|
346
344
|
]);
|
|
347
345
|
const legacyPluginsRoot = path.join(awHome, 'plugins');
|
|
@@ -393,16 +391,17 @@ export async function inventoryLegacyOwnerReferences(options) {
|
|
|
393
391
|
for (const configRoot of [
|
|
394
392
|
getCodexHome(env),
|
|
395
393
|
getClaudeHome(env),
|
|
396
|
-
path.join(repoRoot, '.codex'),
|
|
397
394
|
path.join(repoRoot, '.claude'),
|
|
398
395
|
]) {
|
|
399
396
|
references.push(...await findOwnedHeadersInDirectory(path.join(configRoot, 'rules'), new Set(['.md', '.rules']), true, errors, env, options.cwd), ...await findOwnedHeadersInDirectory(path.join(configRoot, 'agents'), new Set(['.md', '.toml']), true, errors, env, options.cwd));
|
|
400
397
|
}
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
path.join(
|
|
404
|
-
path.join(repoRoot, '.codex', 'AGENTS.md'),
|
|
398
|
+
for (const [directory, extensions] of [
|
|
399
|
+
[path.join(repoRoot, '.codex', 'rules'), new Set(['.md', '.rules'])],
|
|
400
|
+
[path.join(repoRoot, '.codex', 'agents'), new Set(['.md', '.toml'])],
|
|
405
401
|
]) {
|
|
402
|
+
references.push(...(await findOwnedHeadersInDirectory(directory, extensions, true, errors, env, options.cwd)).filter((reference) => reference.kind === 'namespacedOwner'));
|
|
403
|
+
}
|
|
404
|
+
for (const filePath of [path.join(getCodexHome(env), 'AGENTS.md')]) {
|
|
406
405
|
const reference = await readOwnedHeaderReference(filePath, false, errors, env, options.cwd);
|
|
407
406
|
if (reference)
|
|
408
407
|
references.push(reference);
|
|
@@ -655,16 +654,9 @@ async function codexSharedOwnerReferences(filePath, scope, errors, env, cwd) {
|
|
|
655
654
|
value,
|
|
656
655
|
location: filePath,
|
|
657
656
|
})),
|
|
658
|
-
...Object.values(config.snapshot.mcpServers).flatMap((server) => {
|
|
659
|
-
const env = server.value?.env;
|
|
660
|
-
const value = isRecord(env) && typeof env.AW_AGENT_WORKFLOWS_OWNER === 'string'
|
|
661
|
-
? env.AW_AGENT_WORKFLOWS_OWNER
|
|
662
|
-
: null;
|
|
663
|
-
return value ? [{ value, location: filePath }] : [];
|
|
664
|
-
}),
|
|
665
657
|
];
|
|
666
658
|
const references = sharedOwnerTokenReferences(filePath, ownerValues.map((entry) => entry.value).filter((value) => value.startsWith('aw-owner-v2:')), errors, env, cwd);
|
|
667
|
-
for (const { value, location } of ownerValues) {
|
|
659
|
+
for (const { value, location } of scope === 'user' ? ownerValues : []) {
|
|
668
660
|
if (value.startsWith('aw-owner-v2:') || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(value))
|
|
669
661
|
continue;
|
|
670
662
|
references.push({
|
|
@@ -696,43 +688,6 @@ async function claudeSharedOwnerReferences(filePath, scope, errors, env, cwd) {
|
|
|
696
688
|
}
|
|
697
689
|
return references;
|
|
698
690
|
}
|
|
699
|
-
async function codexHookOwnerReferences(filePath, errors, env, cwd) {
|
|
700
|
-
const raw = await readJsonFileIfExists(filePath);
|
|
701
|
-
if (!raw)
|
|
702
|
-
return [];
|
|
703
|
-
const parsed = parseCodexSharedHooksFile(raw);
|
|
704
|
-
const output = [];
|
|
705
|
-
for (const hook of parsed.managedIdentities) {
|
|
706
|
-
if (!hook.command.includes(OWNED_TEXT_HEADER_PREFIX))
|
|
707
|
-
continue;
|
|
708
|
-
let owner;
|
|
709
|
-
try {
|
|
710
|
-
owner = parseOwnedTextHeader(hook.command)?.identity;
|
|
711
|
-
}
|
|
712
|
-
catch (error) {
|
|
713
|
-
errors.push(inventoryError(error, filePath, 'ownerHeaderParse', env, cwd));
|
|
714
|
-
continue;
|
|
715
|
-
}
|
|
716
|
-
if (!owner)
|
|
717
|
-
continue;
|
|
718
|
-
output.push(owner.sourceId ? {
|
|
719
|
-
kind: 'namespacedOwner',
|
|
720
|
-
location: filePath,
|
|
721
|
-
sourceId: owner.sourceId,
|
|
722
|
-
sourceIdentity: owner.sourceIdentity,
|
|
723
|
-
pluginName: owner.plugin,
|
|
724
|
-
platform: owner.platform,
|
|
725
|
-
scope: owner.scope,
|
|
726
|
-
} : {
|
|
727
|
-
kind: 'legacyOwner',
|
|
728
|
-
location: filePath,
|
|
729
|
-
pluginName: owner.plugin,
|
|
730
|
-
platform: owner.platform,
|
|
731
|
-
scope: owner.scope,
|
|
732
|
-
});
|
|
733
|
-
}
|
|
734
|
-
return output;
|
|
735
|
-
}
|
|
736
691
|
function isRecord(value) {
|
|
737
692
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
738
693
|
}
|
|
@@ -1138,6 +1093,8 @@ export async function inventoryCatalogSourceReferences(options) {
|
|
|
1138
1093
|
platform: snapshot.metadata.platform,
|
|
1139
1094
|
scope: snapshot.metadata.scope,
|
|
1140
1095
|
projectKey: snapshot.metadata.projectKey,
|
|
1096
|
+
lifecycleMetadataIntegrityDigest: snapshot.metadata.metadataIntegrityDigest,
|
|
1097
|
+
pluginVersion: snapshot.metadata.pluginVersion,
|
|
1141
1098
|
});
|
|
1142
1099
|
}
|
|
1143
1100
|
}
|
|
@@ -1150,7 +1107,6 @@ export async function inventoryCatalogSourceReferences(options) {
|
|
|
1150
1107
|
[path.join(getClaudeHome(env), 'settings.json'), 'nativeStateRead', () => claudeSharedOwnerReferences(path.join(getClaudeHome(env), 'settings.json'), 'user', errors, env, options.cwd)],
|
|
1151
1108
|
[path.join(resolveRepoRootSync(options.cwd), '.codex', 'config.toml'), 'nativeStateRead', () => codexSharedOwnerReferences(path.join(resolveRepoRootSync(options.cwd), '.codex', 'config.toml'), 'project', errors, env, options.cwd)],
|
|
1152
1109
|
[path.join(resolveRepoRootSync(options.cwd), '.claude', 'settings.json'), 'nativeStateRead', () => claudeSharedOwnerReferences(path.join(resolveRepoRootSync(options.cwd), '.claude', 'settings.json'), 'project', errors, env, options.cwd)],
|
|
1153
|
-
[path.join(resolveRepoRootSync(options.cwd), '.codex', 'hooks.json'), 'nativeStateRead', () => codexHookOwnerReferences(path.join(resolveRepoRootSync(options.cwd), '.codex', 'hooks.json'), errors, env, options.cwd)],
|
|
1154
1110
|
]) {
|
|
1155
1111
|
references.push(...await inventoryRead({
|
|
1156
1112
|
operation, absent: [], errors, location, kind, env, cwd: options.cwd,
|
|
@@ -1293,7 +1249,8 @@ export async function inventoryCatalogSourceReferences(options) {
|
|
|
1293
1249
|
&& !codexMarketplace.sourcePointsToManifest
|
|
1294
1250
|
&& path.normalize(codexMarketplace.source ?? '') === path.normalize(marketplaceRoot);
|
|
1295
1251
|
const consumers = [];
|
|
1296
|
-
if (
|
|
1252
|
+
if (options.includeOrphanedCodexNativeResidue === true
|
|
1253
|
+
&& marketplaceName !== null
|
|
1297
1254
|
&& (strictRoot !== null || (canonicalRoot && codexMarketplaceIsCanonical))) {
|
|
1298
1255
|
let residueNames = [];
|
|
1299
1256
|
try {
|
|
@@ -1319,6 +1276,38 @@ export async function inventoryCatalogSourceReferences(options) {
|
|
|
1319
1276
|
consumers.push({ pluginName, platform: 'codex', scope: 'user' });
|
|
1320
1277
|
}
|
|
1321
1278
|
}
|
|
1279
|
+
else if (marketplaceName !== null
|
|
1280
|
+
&& (strictRoot !== null || (canonicalRoot && codexMarketplaceIsCanonical))) {
|
|
1281
|
+
const exactPluginNames = [...new Set((options.codexNativeResidueTargets ?? []).flatMap((target) => (target.sourceId === undefined || target.sourceId === sourceEntry.name)
|
|
1282
|
+
? [target.pluginName]
|
|
1283
|
+
: []))];
|
|
1284
|
+
for (const pluginName of exactPluginNames) {
|
|
1285
|
+
try {
|
|
1286
|
+
const residue = await inspectCodexNativeResidue({
|
|
1287
|
+
cwd: options.cwd,
|
|
1288
|
+
env,
|
|
1289
|
+
pluginName,
|
|
1290
|
+
marketplaceName,
|
|
1291
|
+
marketplaceRoot,
|
|
1292
|
+
});
|
|
1293
|
+
if (residue.state === 'present') {
|
|
1294
|
+
consumers.push({ pluginName, platform: 'codex', scope: 'user' });
|
|
1295
|
+
}
|
|
1296
|
+
else if (residue.state === 'foreign') {
|
|
1297
|
+
throw new Error('Codex native residue has foreign or incomplete identity evidence.');
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1300
|
+
catch (error) {
|
|
1301
|
+
errors.push(inventoryError(error, path.join(getCodexHome(env), 'plugins', 'cache', marketplaceName, pluginName), 'nativeStateRead', env, options.cwd, {
|
|
1302
|
+
global: false,
|
|
1303
|
+
sourceId: sourceEntry.name,
|
|
1304
|
+
pluginName,
|
|
1305
|
+
platform: 'codex',
|
|
1306
|
+
scope: 'user',
|
|
1307
|
+
}));
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1322
1311
|
if (marketplaceName !== null && (strictRoot !== null || codexMarketplaceIsCanonical)) {
|
|
1323
1312
|
for (const pluginId of Object.keys(codexConfig?.snapshot.plugins ?? {})) {
|
|
1324
1313
|
const pluginName = pluginNameFromMarketplaceId(pluginId, marketplaceName);
|