@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
package/dist/src/constants.js
CHANGED
|
@@ -5,9 +5,14 @@ export const CLAUDE_MARKETPLACE_PATH = '.claude-plugin/marketplace.json';
|
|
|
5
5
|
export const CODEX_MARKETPLACE_PATH = '.agents/plugins/marketplace.json';
|
|
6
6
|
export const CURRENT_CATALOG_MANIFEST_FILE = 'catalog-manifest.json';
|
|
7
7
|
export const CATALOG_SOURCES_FILE = 'catalog-sources.json';
|
|
8
|
-
export const CATALOG_SOURCES_SCHEMA_VERSION =
|
|
8
|
+
export const CATALOG_SOURCES_SCHEMA_VERSION = 2;
|
|
9
9
|
export const CATALOG_SOURCE_IDENTITY_VERSION = 1;
|
|
10
|
+
export const CATALOG_STATE_FILE = 'catalog-state.json';
|
|
11
|
+
export const CATALOG_STATE_SCHEMA_VERSION = 1;
|
|
12
|
+
export const CATALOG_STORE_DIRECTORY = 'catalog-store';
|
|
13
|
+
export const CATALOG_STORE_METADATA_FILE = 'metadata.json';
|
|
10
14
|
export const OFFICIAL_CATALOG_SOURCE_URL = 'https://github.com/lesliechan721-arch/agent-workflow.git';
|
|
15
|
+
export const OFFICIAL_CATALOG_SOURCE_SSH_URL = 'git@github.com:lesliechan721-arch/agent-workflow.git';
|
|
11
16
|
export const CATALOG_LATEST_REF = 'refs/heads/catalog/latest';
|
|
12
17
|
export const CATALOG_BETA_REF = 'refs/heads/catalog/beta';
|
|
13
18
|
export const DEFAULT_AGENT_VERSION_PROBE_TIMEOUT_MS = 5000;
|
|
@@ -15,6 +20,7 @@ export const MINIMUM_AGENT_VERSIONS = {
|
|
|
15
20
|
codex: '0.145.0',
|
|
16
21
|
claude: '2.1.88',
|
|
17
22
|
};
|
|
23
|
+
export const CODEX_PROJECT_PLUGIN_MIN_VERSION = '0.151.0';
|
|
18
24
|
export const AGENT_VERSION_PROBE_COMMANDS = {
|
|
19
25
|
codex: 'codex',
|
|
20
26
|
claude: 'claude',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AACzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,2BAA2B,GACtC,0DAA0D,CAAC;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC;AACX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,aAAa;CACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,oBAAoB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AACzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AACzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACvD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,MAAM,CAAC,MAAM,2BAA2B,GACtC,0DAA0D,CAAC;AAC7D,MAAM,CAAC,MAAM,+BAA+B,GAC1C,sDAAsD,CAAC;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC;AACX,MAAM,CAAC,MAAM,gCAAgC,GAAG,SAAS,CAAC;AAC1D,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,aAAa;CACb,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type SelectedCasesDocument, type SelectedCaseSuiteKind } from '@lesliechan721/agent-skill-eval';
|
|
2
|
+
import type { PluginMeta, Scope } from '../types.js';
|
|
3
|
+
export interface AwSkillEvalManifestV1Defaults {
|
|
4
|
+
profile?: string;
|
|
5
|
+
runs?: number;
|
|
6
|
+
timeoutMs?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface AwSkillEvalManifestV1Profile {
|
|
9
|
+
id: string;
|
|
10
|
+
scope: Scope;
|
|
11
|
+
plugins: Array<{
|
|
12
|
+
name: string;
|
|
13
|
+
config: Record<string, unknown>;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
export interface AwSkillEvalManifestV1Suite {
|
|
17
|
+
id: string;
|
|
18
|
+
kind: SelectedCaseSuiteKind;
|
|
19
|
+
cases: string;
|
|
20
|
+
profiles?: string[];
|
|
21
|
+
runs?: number;
|
|
22
|
+
timeoutMs?: number;
|
|
23
|
+
requiredForRelease?: boolean;
|
|
24
|
+
releaseSplits?: string[];
|
|
25
|
+
provider?: {
|
|
26
|
+
type: 'custom-process';
|
|
27
|
+
command: [string, ...string[]];
|
|
28
|
+
} | {
|
|
29
|
+
type: 'codex-workflow';
|
|
30
|
+
command: [string, ...string[]];
|
|
31
|
+
allowedModels: string[];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface AwSkillEvalManifestV1 {
|
|
35
|
+
version: 1;
|
|
36
|
+
defaults: AwSkillEvalManifestV1Defaults;
|
|
37
|
+
profiles: AwSkillEvalManifestV1Profile[];
|
|
38
|
+
suites: AwSkillEvalManifestV1Suite[];
|
|
39
|
+
}
|
|
40
|
+
export interface LoadedAwSkillEvalManifestV1 {
|
|
41
|
+
manifest: AwSkillEvalManifestV1;
|
|
42
|
+
skillRoot: string;
|
|
43
|
+
evalRoot: string;
|
|
44
|
+
manifestPath: string;
|
|
45
|
+
casesBySuite: ReadonlyMap<string, SelectedCasesDocument>;
|
|
46
|
+
}
|
|
47
|
+
export declare function resolveAwSkillEvalCustomCommand(evalRoot: string, provider: NonNullable<AwSkillEvalManifestV1Suite['provider']>): Promise<{
|
|
48
|
+
command: [string, ...string[]];
|
|
49
|
+
localArguments: ReadonlyMap<number, {
|
|
50
|
+
prefix: string;
|
|
51
|
+
relative: string;
|
|
52
|
+
}>;
|
|
53
|
+
}>;
|
|
54
|
+
export declare function readAwSkillEvalManifest(options: {
|
|
55
|
+
plugin: PluginMeta;
|
|
56
|
+
skill: string;
|
|
57
|
+
}): Promise<LoadedAwSkillEvalManifestV1>;
|
|
58
|
+
export declare function validateAwSkillEvalManifest(options: {
|
|
59
|
+
plugin: PluginMeta;
|
|
60
|
+
skill: string;
|
|
61
|
+
}): Promise<{
|
|
62
|
+
valid: boolean;
|
|
63
|
+
errors: string[];
|
|
64
|
+
manifest: AwSkillEvalManifestV1 | null;
|
|
65
|
+
}>;
|
|
66
|
+
export declare function assertNoSensitiveProfileConfig(profile: AwSkillEvalManifestV1Profile, plugins: readonly PluginMeta[]): void;
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { parseSelectedCases, } from '@lesliechan721/agent-skill-eval';
|
|
3
|
+
import fs from 'fs-extra';
|
|
4
|
+
function record(value, label) {
|
|
5
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
6
|
+
throw new Error(`${label} must be an object.`);
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
function onlyKeys(value, allowed, label) {
|
|
11
|
+
const keys = new Set(allowed);
|
|
12
|
+
const unknown = Object.keys(value).find((key) => !keys.has(key));
|
|
13
|
+
if (unknown)
|
|
14
|
+
throw new Error(`${label} has unknown field ${JSON.stringify(unknown)}.`);
|
|
15
|
+
}
|
|
16
|
+
function safeId(value, label) {
|
|
17
|
+
if (typeof value !== 'string' || !/^[a-z0-9][a-z0-9-]*$/u.test(value)) {
|
|
18
|
+
throw new Error(`${label} must use lowercase kebab-case.`);
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
function positiveInteger(value, label) {
|
|
23
|
+
if (!Number.isSafeInteger(value) || value < 1) {
|
|
24
|
+
throw new Error(`${label} must be a positive safe integer.`);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
function relativePath(value, label) {
|
|
29
|
+
if (typeof value !== 'string' || value.trim() === '')
|
|
30
|
+
throw new Error(`${label} must be a non-empty string.`);
|
|
31
|
+
if (value.includes('\\') || value.includes('\0') || path.posix.isAbsolute(value) ||
|
|
32
|
+
path.win32.isAbsolute(value) || path.posix.normalize(value) !== value ||
|
|
33
|
+
value.split('/').includes('..'))
|
|
34
|
+
throw new Error(`${label} must be a normalized path inside the Skill eval directory.`);
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
function safeIdArray(value, label, allowEmpty = false) {
|
|
38
|
+
if (!Array.isArray(value) || (!allowEmpty && value.length === 0)) {
|
|
39
|
+
throw new Error(`${label} must be ${allowEmpty ? 'an array' : 'a non-empty array'}.`);
|
|
40
|
+
}
|
|
41
|
+
const result = value.map((entry, index) => safeId(entry, `${label}[${index}]`));
|
|
42
|
+
if (new Set(result).size !== result.length)
|
|
43
|
+
throw new Error(`${label} must contain unique values.`);
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
async function assertSafeFile(root, relative, label) {
|
|
47
|
+
const target = path.resolve(root, relative);
|
|
48
|
+
const relation = path.relative(root, target);
|
|
49
|
+
if (relation === '..' || relation.startsWith(`..${path.sep}`) || path.isAbsolute(relation)) {
|
|
50
|
+
throw new Error(`${label} must stay inside the Skill eval directory.`);
|
|
51
|
+
}
|
|
52
|
+
let current = path.resolve(root);
|
|
53
|
+
for (const segment of relation.split(path.sep).filter(Boolean)) {
|
|
54
|
+
current = path.join(current, segment);
|
|
55
|
+
const info = await fs.lstat(current).catch(() => null);
|
|
56
|
+
if (!info)
|
|
57
|
+
throw new Error(`${label} does not exist.`);
|
|
58
|
+
if (info.isSymbolicLink())
|
|
59
|
+
throw new Error(`${label} must not contain symbolic links.`);
|
|
60
|
+
}
|
|
61
|
+
if (!(await fs.lstat(target)).isFile())
|
|
62
|
+
throw new Error(`${label} must be a regular file.`);
|
|
63
|
+
return target;
|
|
64
|
+
}
|
|
65
|
+
function parseDefaults(value) {
|
|
66
|
+
const row = record(value, 'eval manifest.defaults');
|
|
67
|
+
onlyKeys(row, ['profile', 'runs', 'timeoutMs'], 'eval manifest.defaults');
|
|
68
|
+
return {
|
|
69
|
+
...(row.profile === undefined ? {} : { profile: safeId(row.profile, 'eval manifest.defaults.profile') }),
|
|
70
|
+
...(row.runs === undefined ? {} : { runs: positiveInteger(row.runs, 'eval manifest.defaults.runs') }),
|
|
71
|
+
...(row.timeoutMs === undefined
|
|
72
|
+
? {}
|
|
73
|
+
: { timeoutMs: positiveInteger(row.timeoutMs, 'eval manifest.defaults.timeoutMs') }),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function parseProfiles(value, ownerPlugin) {
|
|
77
|
+
const profiles = record(value, 'eval manifest.profiles');
|
|
78
|
+
if (Object.keys(profiles).length === 0)
|
|
79
|
+
throw new Error('eval manifest.profiles must not be empty.');
|
|
80
|
+
return Object.entries(profiles).map(([idValue, entry]) => {
|
|
81
|
+
const id = safeId(idValue, 'eval manifest profile id');
|
|
82
|
+
const row = record(entry, `eval manifest.profiles.${id}`);
|
|
83
|
+
onlyKeys(row, ['scope', 'plugins'], `eval manifest.profiles.${id}`);
|
|
84
|
+
if (row.scope !== 'project' && row.scope !== 'user') {
|
|
85
|
+
throw new Error(`eval manifest.profiles.${id}.scope must be project or user.`);
|
|
86
|
+
}
|
|
87
|
+
const plugins = record(row.plugins, `eval manifest.profiles.${id}.plugins`);
|
|
88
|
+
if (Object.keys(plugins).length === 0) {
|
|
89
|
+
throw new Error(`eval manifest.profiles.${id}.plugins must not be empty.`);
|
|
90
|
+
}
|
|
91
|
+
const result = {
|
|
92
|
+
id,
|
|
93
|
+
scope: row.scope,
|
|
94
|
+
plugins: Object.entries(plugins).map(([nameValue, config]) => ({
|
|
95
|
+
name: safeId(nameValue, `eval manifest.profiles.${id}.plugins name`),
|
|
96
|
+
config: record(config, `eval manifest.profiles.${id}.plugins.${nameValue}`),
|
|
97
|
+
})),
|
|
98
|
+
};
|
|
99
|
+
if (!result.plugins.some((plugin) => plugin.name === ownerPlugin)) {
|
|
100
|
+
throw new Error(`eval manifest.profiles.${id} must include owner plugin ${JSON.stringify(ownerPlugin)}.`);
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function parseProvider(value, label) {
|
|
106
|
+
const row = record(value, label);
|
|
107
|
+
if (row.type === 'custom-process')
|
|
108
|
+
onlyKeys(row, ['type', 'command'], label);
|
|
109
|
+
else if (row.type === 'codex-workflow') {
|
|
110
|
+
onlyKeys(row, ['type', 'command', 'allowedModels'], label);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
throw new Error(`${label}.type must be custom-process or codex-workflow.`);
|
|
114
|
+
}
|
|
115
|
+
if (!Array.isArray(row.command) || row.command.length === 0 ||
|
|
116
|
+
row.command.some((entry) => typeof entry !== 'string' || entry.trim() === '' || entry.includes('\0')))
|
|
117
|
+
throw new Error(`${label}.command must be a non-empty array of non-empty strings.`);
|
|
118
|
+
const executable = row.command[0];
|
|
119
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/u.test(executable)) {
|
|
120
|
+
throw new Error(`${label}.command[0] must be a bare system executable name.`);
|
|
121
|
+
}
|
|
122
|
+
for (const [index, argument] of row.command.entries()) {
|
|
123
|
+
if (index === 0)
|
|
124
|
+
continue;
|
|
125
|
+
if (argument.includes('\\')
|
|
126
|
+
|| path.posix.isAbsolute(argument)
|
|
127
|
+
|| path.win32.isAbsolute(argument)
|
|
128
|
+
|| /(?:^|[=/])\.\.(?:[=/]|$)/u.test(argument)
|
|
129
|
+
|| /(?:^|=)(?:\/|[A-Za-z]:\/)/u.test(argument))
|
|
130
|
+
throw new Error(`${label}.command[${index}] must not escape the Skill eval directory.`);
|
|
131
|
+
}
|
|
132
|
+
if (row.type === 'custom-process') {
|
|
133
|
+
return { type: 'custom-process', command: row.command };
|
|
134
|
+
}
|
|
135
|
+
if (!Array.isArray(row.allowedModels)) {
|
|
136
|
+
throw new Error(`${label}.allowedModels must be an array.`);
|
|
137
|
+
}
|
|
138
|
+
const allowedModels = row.allowedModels.map((entry, index) => {
|
|
139
|
+
if (typeof entry !== 'string' || entry.trim() === '') {
|
|
140
|
+
throw new Error(`${label}.allowedModels[${index}] must be a non-empty string.`);
|
|
141
|
+
}
|
|
142
|
+
return entry;
|
|
143
|
+
});
|
|
144
|
+
if (new Set(allowedModels).size !== allowedModels.length) {
|
|
145
|
+
throw new Error(`${label}.allowedModels must contain unique values.`);
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
type: 'codex-workflow',
|
|
149
|
+
command: row.command,
|
|
150
|
+
allowedModels,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function looksLikeLocalPath(value) {
|
|
154
|
+
return value.startsWith('./')
|
|
155
|
+
|| value.includes('/')
|
|
156
|
+
|| /\.(?:cjs|js|json|mjs|py|sh|ts)$/u.test(value);
|
|
157
|
+
}
|
|
158
|
+
async function assertSafeAsset(root, relative, label) {
|
|
159
|
+
const target = path.resolve(root, relative);
|
|
160
|
+
const relation = path.relative(root, target);
|
|
161
|
+
if (relation === '..' || relation.startsWith(`..${path.sep}`) || path.isAbsolute(relation)) {
|
|
162
|
+
throw new Error(`${label} must stay inside the Skill eval directory.`);
|
|
163
|
+
}
|
|
164
|
+
let current = path.resolve(root);
|
|
165
|
+
for (const segment of relation.split(path.sep).filter(Boolean)) {
|
|
166
|
+
current = path.join(current, segment);
|
|
167
|
+
const info = await fs.lstat(current).catch(() => null);
|
|
168
|
+
if (!info)
|
|
169
|
+
throw new Error(`${label} does not exist.`);
|
|
170
|
+
if (info.isSymbolicLink())
|
|
171
|
+
throw new Error(`${label} must not contain symbolic links.`);
|
|
172
|
+
}
|
|
173
|
+
const info = await fs.lstat(target);
|
|
174
|
+
if (!info.isFile() && !info.isDirectory()) {
|
|
175
|
+
throw new Error(`${label} must be a regular file or directory.`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export async function resolveAwSkillEvalCustomCommand(evalRoot, provider) {
|
|
179
|
+
const command = [...provider.command];
|
|
180
|
+
const localArguments = new Map();
|
|
181
|
+
for (let index = 1; index < command.length; index += 1) {
|
|
182
|
+
const value = command[index];
|
|
183
|
+
const assignment = value.indexOf('=');
|
|
184
|
+
const prefix = assignment === -1 ? '' : value.slice(0, assignment + 1);
|
|
185
|
+
const candidate = assignment === -1 ? value : value.slice(assignment + 1);
|
|
186
|
+
const normalized = candidate.replace(/^\.\//u, '');
|
|
187
|
+
const exists = await fs.pathExists(path.join(evalRoot, normalized));
|
|
188
|
+
if (!looksLikeLocalPath(candidate) && !exists)
|
|
189
|
+
continue;
|
|
190
|
+
if (normalized === ''
|
|
191
|
+
|| normalized.includes('\\')
|
|
192
|
+
|| path.posix.isAbsolute(normalized)
|
|
193
|
+
|| path.win32.isAbsolute(normalized)
|
|
194
|
+
|| path.posix.normalize(normalized) !== normalized
|
|
195
|
+
|| normalized.split('/').includes('..'))
|
|
196
|
+
throw new Error(`custom provider command[${index}] must be a normalized Eval-local path.`);
|
|
197
|
+
await assertSafeAsset(evalRoot, normalized, `custom provider command[${index}]`);
|
|
198
|
+
localArguments.set(index, { prefix, relative: normalized });
|
|
199
|
+
}
|
|
200
|
+
return { command, localArguments };
|
|
201
|
+
}
|
|
202
|
+
function parseSuites(value, profileIds) {
|
|
203
|
+
if (!Array.isArray(value) || value.length === 0)
|
|
204
|
+
throw new Error('eval manifest.suites must be a non-empty array.');
|
|
205
|
+
const suites = value.map((entry, index) => {
|
|
206
|
+
const label = `eval manifest.suites[${index}]`;
|
|
207
|
+
const row = record(entry, label);
|
|
208
|
+
onlyKeys(row, [
|
|
209
|
+
'id', 'kind', 'cases', 'profiles', 'runs', 'timeoutMs', 'requiredForRelease',
|
|
210
|
+
'releaseSplits', 'provider',
|
|
211
|
+
], label);
|
|
212
|
+
const id = safeId(row.id, `${label}.id`);
|
|
213
|
+
if (row.kind !== 'trigger'
|
|
214
|
+
&& row.kind !== 'conversation'
|
|
215
|
+
&& row.kind !== 'custom-process'
|
|
216
|
+
&& row.kind !== 'codex-workflow') {
|
|
217
|
+
throw new Error(`${label}.kind must be trigger, conversation, custom-process, or codex-workflow.`);
|
|
218
|
+
}
|
|
219
|
+
const profiles = row.profiles === undefined ? undefined : safeIdArray(row.profiles, `${label}.profiles`);
|
|
220
|
+
const unknownProfile = profiles?.find((profile) => !profileIds.has(profile));
|
|
221
|
+
if (unknownProfile)
|
|
222
|
+
throw new Error(`${label} references unknown profile ${JSON.stringify(unknownProfile)}.`);
|
|
223
|
+
if (row.requiredForRelease !== undefined && typeof row.requiredForRelease !== 'boolean') {
|
|
224
|
+
throw new Error(`${label}.requiredForRelease must be boolean.`);
|
|
225
|
+
}
|
|
226
|
+
const releaseSplits = row.releaseSplits === undefined
|
|
227
|
+
? undefined
|
|
228
|
+
: safeIdArray(row.releaseSplits, `${label}.releaseSplits`, true);
|
|
229
|
+
const provider = row.provider === undefined ? undefined : parseProvider(row.provider, `${label}.provider`);
|
|
230
|
+
if ((row.kind === 'custom-process' || row.kind === 'codex-workflow') && !provider) {
|
|
231
|
+
throw new Error(`${label} ${row.kind} requires provider.`);
|
|
232
|
+
}
|
|
233
|
+
if (provider && provider.type !== row.kind) {
|
|
234
|
+
throw new Error(`${label} provider.type must match suite kind.`);
|
|
235
|
+
}
|
|
236
|
+
if (row.kind !== 'custom-process' && row.kind !== 'codex-workflow' && provider) {
|
|
237
|
+
throw new Error(`${label} built-in kind must not declare provider.`);
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
id,
|
|
241
|
+
kind: row.kind,
|
|
242
|
+
cases: relativePath(row.cases, `${label}.cases`),
|
|
243
|
+
...(profiles ? { profiles } : {}),
|
|
244
|
+
...(row.runs === undefined ? {} : { runs: positiveInteger(row.runs, `${label}.runs`) }),
|
|
245
|
+
...(row.timeoutMs === undefined
|
|
246
|
+
? {}
|
|
247
|
+
: { timeoutMs: positiveInteger(row.timeoutMs, `${label}.timeoutMs`) }),
|
|
248
|
+
...(row.requiredForRelease === undefined ? {} : { requiredForRelease: row.requiredForRelease }),
|
|
249
|
+
...(releaseSplits ? { releaseSplits } : {}),
|
|
250
|
+
...(provider ? { provider } : {}),
|
|
251
|
+
};
|
|
252
|
+
});
|
|
253
|
+
if (new Set(suites.map((suite) => suite.id)).size !== suites.length) {
|
|
254
|
+
throw new Error('eval manifest.suites must contain unique ids.');
|
|
255
|
+
}
|
|
256
|
+
return suites;
|
|
257
|
+
}
|
|
258
|
+
export async function readAwSkillEvalManifest(options) {
|
|
259
|
+
const skill = safeId(options.skill, 'selected Skill');
|
|
260
|
+
const skillRoot = path.join(options.plugin.rootDir, 'skills', skill);
|
|
261
|
+
const evalRoot = path.join(skillRoot, 'evals');
|
|
262
|
+
const manifestPath = await assertSafeFile(evalRoot, 'manifest.json', 'eval manifest');
|
|
263
|
+
const raw = record(await fs.readJson(manifestPath), 'eval manifest');
|
|
264
|
+
onlyKeys(raw, ['version', 'defaults', 'profiles', 'suites'], 'eval manifest');
|
|
265
|
+
if (raw.version !== 1)
|
|
266
|
+
throw new Error('eval manifest.version must be 1.');
|
|
267
|
+
const defaults = parseDefaults(raw.defaults);
|
|
268
|
+
const profiles = parseProfiles(raw.profiles, options.plugin.manifest.name);
|
|
269
|
+
if (defaults.profile && !profiles.some((profile) => profile.id === defaults.profile)) {
|
|
270
|
+
throw new Error('eval manifest.defaults.profile references an unknown profile.');
|
|
271
|
+
}
|
|
272
|
+
const suites = parseSuites(raw.suites, new Set(profiles.map((profile) => profile.id)));
|
|
273
|
+
const ownsDynamicSkill = (options.plugin.manifest.artifacts?.targets ?? []).some((target) => (target.target === 'codex.skill' || target.target === 'claude.skill')
|
|
274
|
+
&& target.skillKey === skill);
|
|
275
|
+
if (ownsDynamicSkill && !suites.some((suite) => suite.requiredForRelease)) {
|
|
276
|
+
throw new Error(`eval manifest.suites must include at least one release-required suite for dynamic Skill "${skill}".`);
|
|
277
|
+
}
|
|
278
|
+
const casesBySuite = new Map();
|
|
279
|
+
for (const suite of suites) {
|
|
280
|
+
if (suite.provider)
|
|
281
|
+
await resolveAwSkillEvalCustomCommand(evalRoot, suite.provider);
|
|
282
|
+
const casesPath = await assertSafeFile(evalRoot, suite.cases, `eval suite ${JSON.stringify(suite.id)} cases`);
|
|
283
|
+
const document = parseSelectedCases(await fs.readJson(casesPath));
|
|
284
|
+
if (document.suite.kind !== suite.kind) {
|
|
285
|
+
throw new Error(`eval suite ${JSON.stringify(suite.id)} kind does not match its case corpus.`);
|
|
286
|
+
}
|
|
287
|
+
if (document.suite.unitUnderTest !== skill) {
|
|
288
|
+
throw new Error(`eval suite ${JSON.stringify(suite.id)} unitUnderTest must match selected Skill ${JSON.stringify(skill)}.`);
|
|
289
|
+
}
|
|
290
|
+
casesBySuite.set(suite.id, document);
|
|
291
|
+
}
|
|
292
|
+
return {
|
|
293
|
+
manifest: { version: 1, defaults, profiles, suites },
|
|
294
|
+
skillRoot,
|
|
295
|
+
evalRoot,
|
|
296
|
+
manifestPath,
|
|
297
|
+
casesBySuite,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
export async function validateAwSkillEvalManifest(options) {
|
|
301
|
+
try {
|
|
302
|
+
const result = await readAwSkillEvalManifest(options);
|
|
303
|
+
return { valid: true, errors: [], manifest: result.manifest };
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
return {
|
|
307
|
+
valid: false,
|
|
308
|
+
errors: [error instanceof Error ? error.message : String(error)],
|
|
309
|
+
manifest: null,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
export function assertNoSensitiveProfileConfig(profile, plugins) {
|
|
314
|
+
const byName = new Map(plugins.map((plugin) => [plugin.manifest.name, plugin]));
|
|
315
|
+
for (const installation of profile.plugins) {
|
|
316
|
+
const plugin = byName.get(installation.name);
|
|
317
|
+
if (!plugin)
|
|
318
|
+
throw new Error(`Eval profile "${profile.id}" references unknown plugin "${installation.name}".`);
|
|
319
|
+
for (const [key, field] of Object.entries(plugin.manifest.config?.schema ?? {})) {
|
|
320
|
+
if (field.sensitive === true && Object.hasOwn(installation.config, key)) {
|
|
321
|
+
throw new Error(`Eval profile "${profile.id}" provides a sensitive config field for plugin "${installation.name}".`);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=manifest-v1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-v1.js","sourceRoot":"","sources":["../../../src/eval/manifest-v1.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export interface RuntimeImportProvenance {
|
|
|
16
16
|
name: string;
|
|
17
17
|
source: string;
|
|
18
18
|
sourceDigest: string;
|
|
19
|
+
requiredCapabilities: string[];
|
|
20
|
+
capabilitySetDigest: string;
|
|
19
21
|
}
|
|
20
22
|
export interface SkillRuntimeFileProvenance extends RuntimeImportProvenance {
|
|
21
23
|
platform?: PlatformName;
|
|
@@ -34,6 +36,7 @@ export interface BundleLocalPluginOptions {
|
|
|
34
36
|
runtimeResolver?: CatalogRuntimeImportResolver;
|
|
35
37
|
preparedRuntimeContext?: PreparedPluginRuntimeContext;
|
|
36
38
|
runtimeSkillClosureValidation?: 'current' | 'historical';
|
|
39
|
+
strictRequirements?: boolean;
|
|
37
40
|
}
|
|
38
41
|
export declare function validateStagingPackageManager(packageRoot: string): Promise<string>;
|
|
39
42
|
export declare function prepareLocalPluginBundleSource(plugin: PluginMeta, options?: Pick<BundleLocalPluginOptions, 'buildMode' | 'stagingRunner' | 'runtimeResolver'>): Promise<{
|