@lesliechan721/aw 0.1.0-beta.8 → 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.
Files changed (275) hide show
  1. package/dist/authoring/scripts/add-skill.mjs +4 -4
  2. package/dist/authoring/scripts/add-skill.mjs.map +1 -1
  3. package/dist/authoring/scripts/init-plugin.mjs +4 -4
  4. package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
  5. package/dist/authoring/scripts/lib/plugin-version-check.mjs +1 -1
  6. package/dist/authoring/scripts/lib/skill-scaffold.d.mts +77 -90
  7. package/dist/authoring/scripts/lib/skill-scaffold.mjs +99 -120
  8. package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -1
  9. package/dist/authoring/scripts/remove-plugin.mjs +1 -1
  10. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -1
  11. package/dist/authoring/scripts/validate-plugin.mjs +34 -778
  12. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  13. package/dist/scripts/aw-skill-eval-materializer.d.ts +24 -0
  14. package/dist/scripts/{plugin-eval-materializer.js → aw-skill-eval-materializer.js} +34 -145
  15. package/dist/scripts/aw-skill-eval-materializer.js.map +1 -0
  16. package/dist/scripts/bundle-plugins.d.ts +1 -0
  17. package/dist/scripts/bundle-plugins.js +2 -1
  18. package/dist/scripts/bundle-plugins.js.map +1 -1
  19. package/dist/scripts/plugin-staging.d.ts +5 -6
  20. package/dist/scripts/plugin-staging.js +12 -13
  21. package/dist/scripts/plugin-staging.js.map +1 -1
  22. package/dist/src/authoring/workspace-commands.d.ts +2 -1
  23. package/dist/src/authoring/workspace-commands.js.map +1 -1
  24. package/dist/src/commands/aw-capabilities.d.ts +2 -2
  25. package/dist/src/commands/aw-capabilities.js +6 -11
  26. package/dist/src/commands/aw-capabilities.js.map +1 -1
  27. package/dist/src/commands/catalog-dev-source.d.ts +18 -12
  28. package/dist/src/commands/catalog-dev-source.js +241 -305
  29. package/dist/src/commands/catalog-dev-source.js.map +1 -1
  30. package/dist/src/commands/catalog-generation.d.ts +6 -19
  31. package/dist/src/commands/catalog-generation.js +10 -11
  32. package/dist/src/commands/catalog-generation.js.map +1 -1
  33. package/dist/src/commands/catalog-publication-inspection.d.ts +28 -27
  34. package/dist/src/commands/catalog-publication-inspection.js +139 -50
  35. package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
  36. package/dist/src/commands/catalog-publication-journal.d.ts +49 -0
  37. package/dist/src/commands/catalog-publication-journal.js +147 -0
  38. package/dist/src/commands/catalog-publication-journal.js.map +1 -0
  39. package/dist/src/commands/catalog-publication-target.d.ts +2 -1
  40. package/dist/src/commands/catalog-publication-target.js +37 -2
  41. package/dist/src/commands/catalog-publication-target.js.map +1 -1
  42. package/dist/src/commands/catalog-publish.d.ts +51 -15
  43. package/dist/src/commands/catalog-publish.js +576 -219
  44. package/dist/src/commands/catalog-publish.js.map +1 -1
  45. package/dist/src/commands/catalog-source.d.ts +3 -28
  46. package/dist/src/commands/catalog-source.js +29 -140
  47. package/dist/src/commands/catalog-source.js.map +1 -1
  48. package/dist/src/commands/catalog-status.d.ts +6 -26
  49. package/dist/src/commands/catalog-status.js +8 -146
  50. package/dist/src/commands/catalog-status.js.map +1 -1
  51. package/dist/src/commands/catalog-workspace-resolution.d.ts +13 -0
  52. package/dist/src/commands/catalog-workspace-resolution.js +42 -0
  53. package/dist/src/commands/catalog-workspace-resolution.js.map +1 -0
  54. package/dist/src/commands/dependency-operation-plan.d.ts +88 -9
  55. package/dist/src/commands/dependency-operation-plan.js +331 -6
  56. package/dist/src/commands/dependency-operation-plan.js.map +1 -1
  57. package/dist/src/commands/init.d.ts +5 -11
  58. package/dist/src/commands/init.js +30 -51
  59. package/dist/src/commands/init.js.map +1 -1
  60. package/dist/src/commands/offline-cleanup-evidence.d.ts +20 -0
  61. package/dist/src/commands/offline-cleanup-evidence.js +87 -9
  62. package/dist/src/commands/offline-cleanup-evidence.js.map +1 -1
  63. package/dist/src/commands/options.d.ts +6 -1
  64. package/dist/src/commands/options.js +64 -6
  65. package/dist/src/commands/options.js.map +1 -1
  66. package/dist/src/commands/plugin-capabilities.js +4 -0
  67. package/dist/src/commands/plugin-capabilities.js.map +1 -1
  68. package/dist/src/commands/rebuild-command.d.ts +10 -8
  69. package/dist/src/commands/rebuild-command.js +1217 -426
  70. package/dist/src/commands/rebuild-command.js.map +1 -1
  71. package/dist/src/commands/rebuild-integration.d.ts +54 -6
  72. package/dist/src/commands/rebuild-integration.js +691 -364
  73. package/dist/src/commands/rebuild-integration.js.map +1 -1
  74. package/dist/src/commands/rebuild-operations.d.ts +2 -0
  75. package/dist/src/commands/rebuild-operations.js +31 -17
  76. package/dist/src/commands/rebuild-operations.js.map +1 -1
  77. package/dist/src/commands/skill-eval.d.ts +33 -0
  78. package/dist/src/commands/skill-eval.js +363 -0
  79. package/dist/src/commands/skill-eval.js.map +1 -0
  80. package/dist/src/commands/{status-v5.d.ts → status-v6.d.ts} +59 -26
  81. package/dist/src/commands/{status-v5.js → status-v6.js} +882 -79
  82. package/dist/src/commands/status-v6.js.map +1 -0
  83. package/dist/src/commands/sync-command.d.ts +21 -0
  84. package/dist/src/commands/sync-command.js +206 -0
  85. package/dist/src/commands/sync-command.js.map +1 -0
  86. package/dist/src/commands/wizard.d.ts +2 -2
  87. package/dist/src/commands/write-commands.js +1 -43
  88. package/dist/src/commands/write-commands.js.map +1 -1
  89. package/dist/src/constants.d.ts +5 -4
  90. package/dist/src/constants.js +5 -4
  91. package/dist/src/constants.js.map +1 -1
  92. package/dist/src/eval/manifest-v1.d.ts +66 -0
  93. package/dist/src/eval/manifest-v1.js +326 -0
  94. package/dist/src/eval/manifest-v1.js.map +1 -0
  95. package/dist/src/generators/local-plugin.d.ts +3 -0
  96. package/dist/src/generators/local-plugin.js +123 -55
  97. package/dist/src/generators/local-plugin.js.map +1 -1
  98. package/dist/src/index.d.ts +2 -0
  99. package/dist/src/index.js +412 -152
  100. package/dist/src/index.js.map +1 -1
  101. package/dist/src/output/command-receipt.d.ts +58 -8
  102. package/dist/src/output/command-receipt.js +141 -11
  103. package/dist/src/output/command-receipt.js.map +1 -1
  104. package/dist/src/output/model.d.ts +3 -11
  105. package/dist/src/portable/commands.d.ts +2 -2
  106. package/dist/src/portable/commands.js +2 -8
  107. package/dist/src/portable/commands.js.map +1 -1
  108. package/dist/src/portable/materializer.d.ts +1 -4
  109. package/dist/src/portable/materializer.js +0 -2
  110. package/dist/src/portable/materializer.js.map +1 -1
  111. package/dist/src/tui/catalog-generation.d.ts +20 -41
  112. package/dist/src/tui/catalog-generation.js +65 -224
  113. package/dist/src/tui/catalog-generation.js.map +1 -1
  114. package/dist/src/tui/components.js +1 -2
  115. package/dist/src/tui/components.js.map +1 -1
  116. package/dist/src/tui/console-app-v4.js +461 -330
  117. package/dist/src/tui/console-app-v4.js.map +1 -1
  118. package/dist/src/tui/controller-runtime.d.ts +3 -5
  119. package/dist/src/tui/controller-runtime.js +182 -187
  120. package/dist/src/tui/controller-runtime.js.map +1 -1
  121. package/dist/src/tui/controller.d.ts +42 -45
  122. package/dist/src/tui/controller.js +454 -407
  123. package/dist/src/tui/controller.js.map +1 -1
  124. package/dist/src/tui/diagnostics.d.ts +1 -2
  125. package/dist/src/tui/diagnostics.js.map +1 -1
  126. package/dist/src/tui/index.d.ts +1 -1
  127. package/dist/src/tui/index.js +1 -1
  128. package/dist/src/tui/index.js.map +1 -1
  129. package/dist/src/tui/model.d.ts +81 -13
  130. package/dist/src/tui/model.js +378 -95
  131. package/dist/src/tui/model.js.map +1 -1
  132. package/dist/src/tui/router.d.ts +9 -0
  133. package/dist/src/tui/router.js.map +1 -1
  134. package/dist/src/types.d.ts +54 -47
  135. package/dist/src/types.js.map +1 -1
  136. package/dist/src/utils/agent-version.d.ts +4 -1
  137. package/dist/src/utils/agent-version.js +28 -3
  138. package/dist/src/utils/agent-version.js.map +1 -1
  139. package/dist/src/utils/catalog-digests.d.ts +7 -0
  140. package/dist/src/utils/catalog-digests.js +27 -0
  141. package/dist/src/utils/catalog-digests.js.map +1 -1
  142. package/dist/src/utils/catalog-generation-control-snapshot.d.ts +11 -0
  143. package/dist/src/utils/catalog-generation-control-snapshot.js +45 -0
  144. package/dist/src/utils/catalog-generation-control-snapshot.js.map +1 -0
  145. package/dist/src/utils/catalog-generation-error.d.ts +2 -1
  146. package/dist/src/utils/catalog-generation-error.js +12 -0
  147. package/dist/src/utils/catalog-generation-error.js.map +1 -1
  148. package/dist/src/utils/catalog-generation-resolver.d.ts +10 -3
  149. package/dist/src/utils/catalog-generation-resolver.js +90 -76
  150. package/dist/src/utils/catalog-generation-resolver.js.map +1 -1
  151. package/dist/src/utils/catalog-generation-service.d.ts +24 -33
  152. package/dist/src/utils/catalog-generation-service.js +253 -567
  153. package/dist/src/utils/catalog-generation-service.js.map +1 -1
  154. package/dist/src/utils/catalog-generation-state.d.ts +4 -0
  155. package/dist/src/utils/catalog-generation-state.js +73 -106
  156. package/dist/src/utils/catalog-generation-state.js.map +1 -1
  157. package/dist/src/utils/catalog-generation-store.d.ts +16 -26
  158. package/dist/src/utils/catalog-generation-store.js +154 -290
  159. package/dist/src/utils/catalog-generation-store.js.map +1 -1
  160. package/dist/src/utils/catalog-manifest-v6.d.ts +5 -0
  161. package/dist/src/utils/{catalog-manifest-v5.js → catalog-manifest-v6.js} +23 -35
  162. package/dist/src/utils/catalog-manifest-v6.js.map +1 -0
  163. package/dist/src/utils/catalog-operation-context.d.ts +6 -14
  164. package/dist/src/utils/catalog-operation-context.js +68 -169
  165. package/dist/src/utils/catalog-operation-context.js.map +1 -1
  166. package/dist/src/utils/catalog-public-error.js +1 -4
  167. package/dist/src/utils/catalog-public-error.js.map +1 -1
  168. package/dist/src/utils/catalog-runtime-projection.d.ts +3 -0
  169. package/dist/src/utils/catalog-runtime-projection.js +5 -40
  170. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  171. package/dist/src/utils/catalog-snapshot.d.ts +2 -2
  172. package/dist/src/utils/catalog-source-references.d.ts +7 -0
  173. package/dist/src/utils/catalog-source-references.js +44 -55
  174. package/dist/src/utils/catalog-source-references.js.map +1 -1
  175. package/dist/src/utils/catalog-sources.js +25 -9
  176. package/dist/src/utils/catalog-sources.js.map +1 -1
  177. package/dist/src/utils/codex-config.d.ts +2 -0
  178. package/dist/src/utils/codex-config.js +22 -1
  179. package/dist/src/utils/codex-config.js.map +1 -1
  180. package/dist/src/utils/codex-manager.d.ts +50 -2
  181. package/dist/src/utils/codex-manager.js +160 -6
  182. package/dist/src/utils/codex-manager.js.map +1 -1
  183. package/dist/src/utils/codex-reconciler.d.ts +131 -0
  184. package/dist/src/utils/codex-reconciler.js +327 -0
  185. package/dist/src/utils/codex-reconciler.js.map +1 -0
  186. package/dist/src/utils/codex-shared-native.d.ts +56 -0
  187. package/dist/src/utils/codex-shared-native.js +87 -0
  188. package/dist/src/utils/codex-shared-native.js.map +1 -0
  189. package/dist/src/utils/codex-surface-analysis.d.ts +44 -0
  190. package/dist/src/utils/codex-surface-analysis.js +247 -0
  191. package/dist/src/utils/codex-surface-analysis.js.map +1 -0
  192. package/dist/src/utils/git-catalog-provider.js +56 -115
  193. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  194. package/dist/src/utils/manifest.d.ts +1 -3
  195. package/dist/src/utils/manifest.js +1 -3
  196. package/dist/src/utils/manifest.js.map +1 -1
  197. package/dist/src/utils/multi-source-catalog.d.ts +1 -10
  198. package/dist/src/utils/multi-source-catalog.js +8 -175
  199. package/dist/src/utils/multi-source-catalog.js.map +1 -1
  200. package/dist/src/utils/native-cli.d.ts +34 -0
  201. package/dist/src/utils/native-cli.js +91 -0
  202. package/dist/src/utils/native-cli.js.map +1 -1
  203. package/dist/src/utils/orphan-marketplace-cleanup.js +1 -0
  204. package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -1
  205. package/dist/src/utils/ownership.d.ts +0 -10
  206. package/dist/src/utils/ownership.js +3 -88
  207. package/dist/src/utils/ownership.js.map +1 -1
  208. package/dist/src/utils/path-catalog-provider.d.ts +1 -1
  209. package/dist/src/utils/path-catalog-provider.js +45 -62
  210. package/dist/src/utils/path-catalog-provider.js.map +1 -1
  211. package/dist/src/utils/paths.d.ts +0 -1
  212. package/dist/src/utils/paths.js +0 -1
  213. package/dist/src/utils/paths.js.map +1 -1
  214. package/dist/src/utils/plugin-config-write.js +0 -5
  215. package/dist/src/utils/plugin-config-write.js.map +1 -1
  216. package/dist/src/utils/plugin-intent-state.d.ts +39 -0
  217. package/dist/src/utils/plugin-intent-state.js +325 -0
  218. package/dist/src/utils/plugin-intent-state.js.map +1 -0
  219. package/dist/src/utils/target-eligibility.d.ts +3 -2
  220. package/dist/src/utils/target-eligibility.js +4 -3
  221. package/dist/src/utils/target-eligibility.js.map +1 -1
  222. package/package.json +5 -4
  223. package/dist/scripts/aw-skill-eval-engine.d.ts +0 -13
  224. package/dist/scripts/aw-skill-eval-engine.js +0 -31
  225. package/dist/scripts/aw-skill-eval-engine.js.map +0 -1
  226. package/dist/scripts/codex-eval-app-server.d.ts +0 -91
  227. package/dist/scripts/codex-eval-app-server.js +0 -1334
  228. package/dist/scripts/codex-eval-app-server.js.map +0 -1
  229. package/dist/scripts/codex-eval-isolation.d.ts +0 -61
  230. package/dist/scripts/codex-eval-isolation.js +0 -318
  231. package/dist/scripts/codex-eval-isolation.js.map +0 -1
  232. package/dist/scripts/codex-eval-process-management.d.ts +0 -8
  233. package/dist/scripts/codex-eval-process-management.js +0 -69
  234. package/dist/scripts/codex-eval-process-management.js.map +0 -1
  235. package/dist/scripts/codex-eval-process-tree.d.ts +0 -38
  236. package/dist/scripts/codex-eval-process-tree.js +0 -803
  237. package/dist/scripts/codex-eval-process-tree.js.map +0 -1
  238. package/dist/scripts/codex-eval-runtime-config.d.ts +0 -62
  239. package/dist/scripts/codex-eval-runtime-config.js +0 -843
  240. package/dist/scripts/codex-eval-runtime-config.js.map +0 -1
  241. package/dist/scripts/codex-trigger-eval.d.ts +0 -84
  242. package/dist/scripts/codex-trigger-eval.js +0 -968
  243. package/dist/scripts/codex-trigger-eval.js.map +0 -1
  244. package/dist/scripts/eval-plugin-skills-audited.d.ts +0 -6
  245. package/dist/scripts/eval-plugin-skills-audited.js +0 -261
  246. package/dist/scripts/eval-plugin-skills-audited.js.map +0 -1
  247. package/dist/scripts/eval-plugin-skills.d.ts +0 -45
  248. package/dist/scripts/eval-plugin-skills.js +0 -1589
  249. package/dist/scripts/eval-plugin-skills.js.map +0 -1
  250. package/dist/scripts/eval-run-layout.d.ts +0 -17
  251. package/dist/scripts/eval-run-layout.js +0 -26
  252. package/dist/scripts/eval-run-layout.js.map +0 -1
  253. package/dist/scripts/plugin-eval-contract.d.ts +0 -189
  254. package/dist/scripts/plugin-eval-contract.js +0 -745
  255. package/dist/scripts/plugin-eval-contract.js.map +0 -1
  256. package/dist/scripts/plugin-eval-materializer.d.ts +0 -13
  257. package/dist/scripts/plugin-eval-materializer.js.map +0 -1
  258. package/dist/scripts/skill-reporting.d.ts +0 -212
  259. package/dist/scripts/skill-reporting.js +0 -922
  260. package/dist/scripts/skill-reporting.js.map +0 -1
  261. package/dist/src/commands/catalog-context.d.ts +0 -52
  262. package/dist/src/commands/catalog-context.js +0 -156
  263. package/dist/src/commands/catalog-context.js.map +0 -1
  264. package/dist/src/commands/status-v5.js.map +0 -1
  265. package/dist/src/utils/catalog-manifest-v5.d.ts +0 -5
  266. package/dist/src/utils/catalog-manifest-v5.js.map +0 -1
  267. package/dist/src/utils/catalog-source-cache.d.ts +0 -62
  268. package/dist/src/utils/catalog-source-cache.js +0 -321
  269. package/dist/src/utils/catalog-source-cache.js.map +0 -1
  270. package/dist/src/utils/codex-project-surface.d.ts +0 -3
  271. package/dist/src/utils/codex-project-surface.js +0 -49
  272. package/dist/src/utils/codex-project-surface.js.map +0 -1
  273. package/dist/src/utils/plugin-release.d.ts +0 -2
  274. package/dist/src/utils/plugin-release.js +0 -2
  275. package/dist/src/utils/plugin-release.js.map +0 -1
@@ -11,7 +11,7 @@ import { calculateFileDigest } from '../utils/bundle-integrity.js';
11
11
  import { resolveCanonicalRuntimeSourceIdentity } from '../utils/catalog-runtime-projection.js';
12
12
  import { getArtifactSourceBundleRelativePath } from '../utils/artifact-sources.js';
13
13
  import { resolvePlatformHookDefinitions } from '../utils/hooks-contract.js';
14
- import { assertManifestPlatformSupport, assertPluginInputTree, createAwPluginRequirementsReceipt, createBundleSourceManifest, createPlatformManifestBase, isIgnoredPluginInputDirectory, normalizePluginRelativePath, readPluginManifest, resolvePluginRequirements, } from '../utils/manifest.js';
14
+ import { assertManifestPlatformSupport, assertPluginInputTree, checkAwCapabilitySupport, computeAwCapabilitySetDigest, createAwPluginRequirementsReceipt, createBundleSourceManifest, createPlatformManifestBase, isIgnoredPluginInputDirectory, normalizePluginRelativePath, normalizeAwCapabilities, readPluginManifest, resolvePluginRequirements, } from '../utils/manifest.js';
15
15
  import { AwCapabilityUnsupportedError, IMPLEMENTED_AW_CAPABILITIES, } from '../commands/aw-capabilities.js';
16
16
  import { writeJsonFile } from '../utils/json.js';
17
17
  import { resolveSupportedPlatforms } from '../utils/platform-support.js';
@@ -292,7 +292,9 @@ async function copyPortableStaticSkills(plugin, outputRoot) {
292
292
  });
293
293
  }
294
294
  async function resolveArtifactRuntimeImports(options) {
295
- const manifest = createBundleSourceManifest(options.plugin, options.requiredCapabilities);
295
+ const manifest = createBundleSourceManifest(options.plugin);
296
+ const requiredCapabilities = [];
297
+ const projections = [];
296
298
  for (const [targetIndex, target] of (manifest.artifacts?.targets ?? []).entries()) {
297
299
  for (const [importIndex, runtimeImport] of (target.runtimeImports ?? []).entries()) {
298
300
  if (!options.resolver) {
@@ -303,27 +305,44 @@ async function resolveArtifactRuntimeImports(options) {
303
305
  reference: runtimeImport,
304
306
  purpose: 'artifact-runtime',
305
307
  });
308
+ requiredCapabilities.push(...resolution.requiredCapabilities);
306
309
  const relativePath = `./.agents-plugin/runtime-imports/${target.id}/${runtimeImport.name}`;
307
310
  const targetPath = path.join(options.outputRoot, stripDotSlash(relativePath));
308
- await fs.ensureDir(path.dirname(targetPath));
309
- await fs.copyFile(resolution.sourcePath, targetPath);
310
- const digest = await calculateFileDigest(targetPath);
311
- if (digest !== resolution.sourceDigest) {
312
- throw new Error(`Artifact runtime import digest mismatch at "${target.id}/${runtimeImport.name}".`);
313
- }
311
+ const digest = resolution.sourceDigest;
312
+ projections.push({
313
+ sourcePath: resolution.sourcePath,
314
+ targetPath,
315
+ sourceDigest: resolution.sourceDigest,
316
+ label: `${target.id}/${runtimeImport.name}`,
317
+ });
314
318
  runtimeImport.resolved = {
315
319
  path: relativePath,
316
320
  digest,
317
321
  providerPluginId: resolution.provider,
318
322
  providerVersion: resolution.providerVersion,
319
323
  source: resolution.source,
324
+ requiredCapabilities: resolution.requiredCapabilities,
325
+ capabilitySetDigest: resolution.capabilitySetDigest,
320
326
  };
321
327
  }
322
328
  }
323
329
  if (manifest.distributions?.agentSkills?.skills) {
324
330
  manifest.distributions.agentSkills.skills = './agent-skills/skills';
325
331
  }
326
- return manifest;
332
+ return {
333
+ manifest,
334
+ requiredCapabilities: normalizeAwCapabilities(requiredCapabilities),
335
+ projections,
336
+ };
337
+ }
338
+ async function materializeArtifactRuntimeImports(projections) {
339
+ for (const projection of projections) {
340
+ await fs.ensureDir(path.dirname(projection.targetPath));
341
+ await fs.copyFile(projection.sourcePath, projection.targetPath);
342
+ if (await calculateFileDigest(projection.targetPath) !== projection.sourceDigest) {
343
+ throw new Error(`Artifact runtime import digest mismatch at "${projection.label}".`);
344
+ }
345
+ }
327
346
  }
328
347
  async function injectRequirementsReceipts(options) {
329
348
  const receipt = createAwPluginRequirementsReceipt({ name: options.plugin.manifest.name, version: options.plugin.manifest.version }, options.requiredCapabilities);
@@ -742,6 +761,8 @@ function toRuntimeImportProvenance(resolution) {
742
761
  name: resolution.name,
743
762
  source: resolution.source,
744
763
  sourceDigest: resolution.sourceDigest,
764
+ requiredCapabilities: resolution.requiredCapabilities,
765
+ capabilitySetDigest: resolution.capabilitySetDigest,
745
766
  };
746
767
  }
747
768
  async function resolveOwnSkillRuntimeSource(plugin, source) {
@@ -847,6 +868,8 @@ async function projectSkillRuntimeFiles(options) {
847
868
  name: entry.source,
848
869
  source: entry.source,
849
870
  sourceDigest,
871
+ requiredCapabilities: [],
872
+ capabilitySetDigest: computeAwCapabilitySetDigest([]),
850
873
  };
851
874
  }
852
875
  else {
@@ -866,31 +889,37 @@ async function projectSkillRuntimeFiles(options) {
866
889
  runtimeProvenance = toRuntimeImportProvenance(resolution);
867
890
  }
868
891
  const targetPath = path.join(options.outputRoot, platform ?? distribution, 'skills', entry.skill, ...entry.target.split('/'));
869
- if (await fs.pathExists(targetPath)) {
870
- throw new Error(`Invalid buildConfig.skillRuntimeFiles: bundle target already exists at "${claim}".`);
871
- }
872
- await fs.ensureDir(path.dirname(targetPath));
873
- await fs.copyFile(sourcePath, targetPath);
874
- const targetDigest = await calculateFileDigest(targetPath);
875
- if (sourceDigest !== targetDigest) {
876
- throw new Error(`Invalid buildConfig.skillRuntimeFiles: digest mismatch at "${claim}".`);
877
- }
878
892
  projections.push({
879
893
  bindingKey,
880
894
  canonicalSource,
895
+ sourcePath,
896
+ targetPath,
881
897
  provenance: {
882
898
  ...runtimeProvenance,
883
899
  platform,
884
900
  distribution,
885
901
  skill: entry.skill,
886
902
  target: entry.target,
887
- targetDigest,
903
+ targetDigest: sourceDigest,
888
904
  },
889
905
  });
890
906
  }
891
907
  }
892
908
  return projections;
893
909
  }
910
+ async function materializeSkillRuntimeFiles(projections) {
911
+ for (const projection of projections) {
912
+ if (await fs.pathExists(projection.targetPath)) {
913
+ const surface = projection.provenance.platform ?? projection.provenance.distribution;
914
+ throw new Error(`Invalid buildConfig.skillRuntimeFiles: bundle target already exists at "${surface}:${projection.provenance.skill}/${projection.provenance.target}".`);
915
+ }
916
+ await fs.ensureDir(path.dirname(projection.targetPath));
917
+ await fs.copyFile(projection.sourcePath, projection.targetPath);
918
+ if (await calculateFileDigest(projection.targetPath) !== projection.provenance.sourceDigest) {
919
+ throw new Error(`Canonical source "${projection.provenance.source}" changed during runtime Skill projection.`);
920
+ }
921
+ }
922
+ }
894
923
  function hasSameCanonicalSource(left, right) {
895
924
  return left.rootPath === right.rootPath
896
925
  && left.rootRealPath === right.rootRealPath
@@ -907,6 +936,9 @@ async function validateSkillRuntimeProjectionSources(projections) {
907
936
  || existing.provenance.name !== projection.provenance.name
908
937
  || existing.provenance.source !== projection.provenance.source
909
938
  || existing.provenance.sourceDigest !== projection.provenance.sourceDigest
939
+ || existing.provenance.capabilitySetDigest !== projection.provenance.capabilitySetDigest
940
+ || JSON.stringify(existing.provenance.requiredCapabilities)
941
+ !== JSON.stringify(projection.provenance.requiredCapabilities)
910
942
  || !hasSameCanonicalSource(existing.canonicalSource, projection.canonicalSource))) {
911
943
  throw new Error(`Canonical source "${projection.provenance.source}" changed during runtime Skill projection.`);
912
944
  }
@@ -936,6 +968,9 @@ async function validateBuildImportProjectionSources(projections) {
936
968
  || existing.provenance.name !== projection.provenance.name
937
969
  || existing.provenance.source !== projection.provenance.source
938
970
  || existing.provenance.sourceDigest !== projection.provenance.sourceDigest
971
+ || existing.provenance.capabilitySetDigest !== projection.provenance.capabilitySetDigest
972
+ || JSON.stringify(existing.provenance.requiredCapabilities)
973
+ !== JSON.stringify(projection.provenance.requiredCapabilities)
939
974
  || !hasSameCanonicalSource(existing.canonicalSource, projection.canonicalSource))) {
940
975
  throw new Error(`Catalog runtime import "${projection.provenance.provider}/${projection.provenance.name}" changed during build import projection.`);
941
976
  }
@@ -1080,19 +1115,33 @@ export async function prepareLocalPluginBundleSource(plugin, options = {}) {
1080
1115
  };
1081
1116
  return resolveBuildPlugin(plugin, buildOptions);
1082
1117
  }
1083
- function assertPluginRequirementsSupported(pluginName, requirements) {
1118
+ function assertPluginRequirementsSupported(pluginName, requirements, strictRequirements = false) {
1084
1119
  if (requirements.unsupportedByCurrentAw.length > 0) {
1085
1120
  throw new AwCapabilityUnsupportedError(pluginName, requirements.unsupportedByCurrentAw);
1086
1121
  }
1087
- const blockingObservations = requirements.observations.filter((observation) => observation.blocking);
1088
- if (blockingObservations.length > 0) {
1089
- const error = new Error(`Plugin "${pluginName}" has blocking AW capability scanner observations: ${blockingObservations.map((observation) => `${observation.path}: ${observation.message}`).join('; ')}`);
1090
- error.code = 'awCapabilityScanBlocked';
1091
- error.observations = blockingObservations;
1122
+ if (!strictRequirements)
1123
+ return;
1124
+ const satisfied = new Set([...requirements.declared, ...requirements.derived]);
1125
+ const strictObservations = requirements.observations.filter((observation) => (observation.code !== 'aw-command-detected'
1126
+ || observation.capability === undefined
1127
+ || !satisfied.has(observation.capability)));
1128
+ if (strictObservations.length > 0) {
1129
+ const error = new Error(`Official strict requirements failed: ${strictObservations.map((observation) => (`plugin=${JSON.stringify(pluginName)} path=${JSON.stringify(observation.path)} `
1130
+ + `command=${JSON.stringify(observation.command ?? '<dynamic>')} `
1131
+ + `capability=${JSON.stringify(observation.capability ?? (observation.code === 'aw-command-dynamic' ? '<dynamic>' : '<unmapped>'))}`)).join('; ')}`);
1132
+ error.code = 'awCapabilityStrictRequirements';
1133
+ error.observations = strictObservations;
1092
1134
  throw error;
1093
1135
  }
1094
1136
  }
1137
+ function assertRequiredCapabilitiesSupported(pluginName, requiredCapabilities) {
1138
+ const support = checkAwCapabilitySupport(requiredCapabilities, IMPLEMENTED_AW_CAPABILITIES);
1139
+ if (!support.supported) {
1140
+ throw new AwCapabilityUnsupportedError(pluginName, support.missing);
1141
+ }
1142
+ }
1095
1143
  export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1144
+ const historicalComparison = options.runtimeSkillClosureValidation === 'historical';
1096
1145
  const buildOptions = {
1097
1146
  buildMode: options.buildMode ?? 'build-free',
1098
1147
  stagingRunner: options.stagingRunner ?? defaultStagingRunner,
@@ -1105,7 +1154,9 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1105
1154
  manifest: plugin.manifest,
1106
1155
  implementedCapabilities: IMPLEMENTED_AW_CAPABILITIES,
1107
1156
  });
1108
- assertPluginRequirementsSupported(plugin.manifest.name, sourceRequirements);
1157
+ if (!historicalComparison) {
1158
+ assertPluginRequirementsSupported(plugin.manifest.name, sourceRequirements, options.strictRequirements ?? false);
1159
+ }
1109
1160
  await fs.remove(outputRoot);
1110
1161
  const buildPlugin = await resolveBuildPlugin(plugin, buildOptions);
1111
1162
  try {
@@ -1115,11 +1166,52 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1115
1166
  manifest: plugin.manifest,
1116
1167
  implementedCapabilities: IMPLEMENTED_AW_CAPABILITIES,
1117
1168
  });
1118
- assertPluginRequirementsSupported(plugin.manifest.name, requirements);
1169
+ if (!historicalComparison) {
1170
+ assertPluginRequirementsSupported(plugin.manifest.name, requirements, options.strictRequirements ?? false);
1171
+ }
1119
1172
  assertManifestPlatformSupport(plugin.manifest.name, plugin.manifest);
1120
- await fs.ensureDir(outputRoot);
1121
1173
  const supportedPlatforms = resolveSupportedPlatforms(plugin.manifest);
1122
1174
  await assertSkillRuntimeProjectionTargets(plugin);
1175
+ const skillRuntimeFileProjections = await projectSkillRuntimeFiles({
1176
+ plugin,
1177
+ outputRoot,
1178
+ supportedPlatforms,
1179
+ resolver: buildPlugin.runtimeContext.resolver,
1180
+ });
1181
+ const skillRuntimeFiles = skillRuntimeFileProjections.map(({ provenance }) => provenance);
1182
+ const portableRuntimeFiles = skillRuntimeFiles
1183
+ .filter((entry) => entry.distribution === 'agent-skills')
1184
+ .map((entry) => ({
1185
+ skill: entry.skill,
1186
+ target: entry.target,
1187
+ path: `./agent-skills/skills/${entry.skill}/${entry.target}`,
1188
+ digest: entry.targetDigest,
1189
+ provider: entry.provider,
1190
+ providerVersion: entry.providerVersion,
1191
+ exportName: entry.name,
1192
+ source: entry.source,
1193
+ sourceDigest: entry.sourceDigest,
1194
+ requiredCapabilities: entry.requiredCapabilities,
1195
+ capabilitySetDigest: entry.capabilitySetDigest,
1196
+ }));
1197
+ const artifactRuntimeProjection = await resolveArtifactRuntimeImports({
1198
+ plugin,
1199
+ outputRoot,
1200
+ resolver: buildPlugin.runtimeContext.resolver,
1201
+ });
1202
+ const finalEffective = normalizeAwCapabilities([
1203
+ ...requirements.effective,
1204
+ ...skillRuntimeFiles.flatMap((entry) => entry.requiredCapabilities),
1205
+ ...artifactRuntimeProjection.requiredCapabilities,
1206
+ ]);
1207
+ if (!historicalComparison) {
1208
+ assertRequiredCapabilitiesSupported(plugin.manifest.name, finalEffective);
1209
+ }
1210
+ artifactRuntimeProjection.manifest.requires = {
1211
+ aw: { capabilities: finalEffective },
1212
+ };
1213
+ const bundleManifest = artifactRuntimeProjection.manifest;
1214
+ await fs.ensureDir(outputRoot);
1123
1215
  const platformFiles = {};
1124
1216
  const platformManifests = {};
1125
1217
  const buildConfig = plugin.manifest.buildConfig;
@@ -1234,26 +1326,7 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1234
1326
  }
1235
1327
  }
1236
1328
  }
1237
- const skillRuntimeFileProjections = await projectSkillRuntimeFiles({
1238
- plugin,
1239
- outputRoot,
1240
- supportedPlatforms,
1241
- resolver: buildPlugin.runtimeContext.resolver,
1242
- });
1243
- const skillRuntimeFiles = skillRuntimeFileProjections.map(({ provenance }) => provenance);
1244
- const portableRuntimeFiles = skillRuntimeFiles
1245
- .filter((entry) => entry.distribution === 'agent-skills')
1246
- .map((entry) => ({
1247
- skill: entry.skill,
1248
- target: entry.target,
1249
- path: `./agent-skills/skills/${entry.skill}/${entry.target}`,
1250
- digest: entry.targetDigest,
1251
- provider: entry.provider,
1252
- providerVersion: entry.providerVersion,
1253
- exportName: entry.name,
1254
- source: entry.source,
1255
- sourceDigest: entry.sourceDigest,
1256
- }));
1329
+ await materializeSkillRuntimeFiles(skillRuntimeFileProjections);
1257
1330
  await copyPortableStaticSkills(plugin, outputRoot);
1258
1331
  if (await fs.pathExists(path.join(plugin.rootDir, 'README.md'))) {
1259
1332
  await copyBundleRootFile(plugin.rootDir, outputRoot, 'README.md');
@@ -1263,12 +1336,7 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1263
1336
  }
1264
1337
  await copyArtifactSourceDirectories(plugin, outputRoot);
1265
1338
  await copyProductionPackageRoot(plugin, outputRoot);
1266
- const bundleManifest = await resolveArtifactRuntimeImports({
1267
- plugin,
1268
- outputRoot,
1269
- resolver: buildPlugin.runtimeContext.resolver,
1270
- requiredCapabilities: requirements.effective,
1271
- });
1339
+ await materializeArtifactRuntimeImports(artifactRuntimeProjection.projections);
1272
1340
  await writeJsonFile(path.join(outputRoot, '.agents-plugin', 'plugin.json'), bundleManifest);
1273
1341
  if (portableRuntimeFiles.length > 0) {
1274
1342
  await writeJsonFile(path.join(outputRoot, '.agents-plugin', 'portable-runtime-files.json'), portableRuntimeFiles);
@@ -1283,7 +1351,7 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1283
1351
  await injectRequirementsReceipts({
1284
1352
  outputRoot,
1285
1353
  plugin,
1286
- requiredCapabilities: requirements.effective,
1354
+ requiredCapabilities: finalEffective,
1287
1355
  });
1288
1356
  await validateSkillRuntimeProjectionSources(skillRuntimeFileProjections);
1289
1357
  await validateSkillRuntimeProjectionFreshness(outputRoot, skillRuntimeFiles.filter((entry) => entry.platform !== undefined));
@@ -1 +1 @@
1
- {"version":3,"file":"local-plugin.js","sourceRoot":"","sources":["../../../src/generators/local-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-plugin.js","sourceRoot":"","sources":["../../../src/generators/local-plugin.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ interface RawWriteWizardOptions extends RawDiagnosticsOptions {
31
31
  json?: boolean;
32
32
  force?: boolean;
33
33
  allowManagedCodexInstall?: boolean;
34
+ dependencyScope?: string[];
35
+ yes?: boolean;
34
36
  }
35
37
  export declare function createManagedCodexAuthorizer(rawOptions: Pick<RawWriteWizardOptions, 'allowManagedCodexInstall' | 'json'>, context: Pick<CliExecutionContext, 'interactive' | 'isTty' | 'isCi' | 'prompt'>): ManagedCodexAuthorizer | undefined;
36
38
  export declare function buildProgram(options?: CliRuntimeOptions): Command;