@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.
Files changed (341) 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 +8 -37
  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/plugin-status.mjs +8 -11
  10. package/dist/authoring/scripts/plugin-status.mjs.map +1 -1
  11. package/dist/authoring/scripts/remove-plugin.mjs +2 -1
  12. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -1
  13. package/dist/authoring/scripts/validate-plugin.mjs +64 -758
  14. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  15. package/dist/scripts/aw-skill-eval-materializer.d.ts +24 -0
  16. package/dist/scripts/{plugin-eval-materializer.js → aw-skill-eval-materializer.js} +34 -145
  17. package/dist/scripts/aw-skill-eval-materializer.js.map +1 -0
  18. package/dist/scripts/bundle-plugins.d.ts +1 -0
  19. package/dist/scripts/bundle-plugins.js +2 -1
  20. package/dist/scripts/bundle-plugins.js.map +1 -1
  21. package/dist/scripts/plugin-staging.d.ts +6 -8
  22. package/dist/scripts/plugin-staging.js +15 -28
  23. package/dist/scripts/plugin-staging.js.map +1 -1
  24. package/dist/scripts/test-plugin-scripts.js +2 -33
  25. package/dist/scripts/test-plugin-scripts.js.map +1 -1
  26. package/dist/src/adapters/helpers.js +2 -2
  27. package/dist/src/adapters/helpers.js.map +1 -1
  28. package/dist/src/authoring/workspace-commands.d.ts +17 -1
  29. package/dist/src/authoring/workspace-commands.js +21 -4
  30. package/dist/src/authoring/workspace-commands.js.map +1 -1
  31. package/dist/src/commands/aw-capabilities.d.ts +78 -0
  32. package/dist/src/commands/aw-capabilities.js +254 -0
  33. package/dist/src/commands/aw-capabilities.js.map +1 -0
  34. package/dist/src/commands/catalog-dev-source.d.ts +118 -0
  35. package/dist/src/commands/catalog-dev-source.js +417 -0
  36. package/dist/src/commands/catalog-dev-source.js.map +1 -0
  37. package/dist/src/commands/catalog-generation.d.ts +13 -0
  38. package/dist/src/commands/catalog-generation.js +13 -0
  39. package/dist/src/commands/catalog-generation.js.map +1 -0
  40. package/dist/src/commands/catalog-publication-inspection.d.ts +29 -28
  41. package/dist/src/commands/catalog-publication-inspection.js +138 -50
  42. package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
  43. package/dist/src/commands/catalog-publication-journal.d.ts +49 -0
  44. package/dist/src/commands/catalog-publication-journal.js +147 -0
  45. package/dist/src/commands/catalog-publication-journal.js.map +1 -0
  46. package/dist/src/commands/catalog-publication-target.d.ts +18 -0
  47. package/dist/src/commands/catalog-publication-target.js +95 -0
  48. package/dist/src/commands/catalog-publication-target.js.map +1 -0
  49. package/dist/src/commands/catalog-publish.d.ts +58 -15
  50. package/dist/src/commands/catalog-publish.js +590 -210
  51. package/dist/src/commands/catalog-publish.js.map +1 -1
  52. package/dist/src/commands/catalog-source.d.ts +12 -15
  53. package/dist/src/commands/catalog-source.js +61 -86
  54. package/dist/src/commands/catalog-source.js.map +1 -1
  55. package/dist/src/commands/catalog-status.d.ts +18 -22
  56. package/dist/src/commands/catalog-status.js +81 -115
  57. package/dist/src/commands/catalog-status.js.map +1 -1
  58. package/dist/src/commands/catalog-workspace-resolution.d.ts +13 -0
  59. package/dist/src/commands/catalog-workspace-resolution.js +42 -0
  60. package/dist/src/commands/catalog-workspace-resolution.js.map +1 -0
  61. package/dist/src/commands/dependency-operation-plan.d.ts +88 -9
  62. package/dist/src/commands/dependency-operation-plan.js +331 -6
  63. package/dist/src/commands/dependency-operation-plan.js.map +1 -1
  64. package/dist/src/commands/init.d.ts +5 -11
  65. package/dist/src/commands/init.js +30 -51
  66. package/dist/src/commands/init.js.map +1 -1
  67. package/dist/src/commands/offline-cleanup-evidence.d.ts +43 -0
  68. package/dist/src/commands/offline-cleanup-evidence.js +116 -0
  69. package/dist/src/commands/offline-cleanup-evidence.js.map +1 -0
  70. package/dist/src/commands/options.d.ts +7 -1
  71. package/dist/src/commands/options.js +65 -6
  72. package/dist/src/commands/options.js.map +1 -1
  73. package/dist/src/commands/plugin-capabilities.js +5 -1
  74. package/dist/src/commands/plugin-capabilities.js.map +1 -1
  75. package/dist/src/commands/rebuild-command.d.ts +27 -13
  76. package/dist/src/commands/rebuild-command.js +1472 -471
  77. package/dist/src/commands/rebuild-command.js.map +1 -1
  78. package/dist/src/commands/rebuild-integration.d.ts +63 -8
  79. package/dist/src/commands/rebuild-integration.js +761 -439
  80. package/dist/src/commands/rebuild-integration.js.map +1 -1
  81. package/dist/src/commands/rebuild-operations.d.ts +2 -8
  82. package/dist/src/commands/rebuild-operations.js +48 -132
  83. package/dist/src/commands/rebuild-operations.js.map +1 -1
  84. package/dist/src/commands/runtime.js +21 -34
  85. package/dist/src/commands/runtime.js.map +1 -1
  86. package/dist/src/commands/skill-eval.d.ts +33 -0
  87. package/dist/src/commands/skill-eval.js +363 -0
  88. package/dist/src/commands/skill-eval.js.map +1 -0
  89. package/dist/src/commands/status-v6.d.ts +202 -0
  90. package/dist/src/commands/status-v6.js +1938 -0
  91. package/dist/src/commands/status-v6.js.map +1 -0
  92. package/dist/src/commands/sync-command.d.ts +21 -0
  93. package/dist/src/commands/sync-command.js +206 -0
  94. package/dist/src/commands/sync-command.js.map +1 -0
  95. package/dist/src/commands/wizard.d.ts +2 -2
  96. package/dist/src/commands/wizard.js +2 -2
  97. package/dist/src/commands/wizard.js.map +1 -1
  98. package/dist/src/commands/write-commands.js +33 -19
  99. package/dist/src/commands/write-commands.js.map +1 -1
  100. package/dist/src/constants.d.ts +7 -1
  101. package/dist/src/constants.js +7 -1
  102. package/dist/src/constants.js.map +1 -1
  103. package/dist/src/eval/manifest-v1.d.ts +66 -0
  104. package/dist/src/eval/manifest-v1.js +326 -0
  105. package/dist/src/eval/manifest-v1.js.map +1 -0
  106. package/dist/src/generators/local-plugin.d.ts +3 -0
  107. package/dist/src/generators/local-plugin.js +167 -45
  108. package/dist/src/generators/local-plugin.js.map +1 -1
  109. package/dist/src/index.d.ts +6 -1
  110. package/dist/src/index.js +863 -126
  111. package/dist/src/index.js.map +1 -1
  112. package/dist/src/output/command-receipt.d.ts +58 -8
  113. package/dist/src/output/command-receipt.js +141 -11
  114. package/dist/src/output/command-receipt.js.map +1 -1
  115. package/dist/src/output/model.d.ts +3 -44
  116. package/dist/src/output/model.js +1 -144
  117. package/dist/src/output/model.js.map +1 -1
  118. package/dist/src/output/rebuild-progress.js +0 -3
  119. package/dist/src/output/rebuild-progress.js.map +1 -1
  120. package/dist/src/portable/commands.d.ts +6 -2
  121. package/dist/src/portable/commands.js +57 -6
  122. package/dist/src/portable/commands.js.map +1 -1
  123. package/dist/src/portable/materializer.d.ts +4 -4
  124. package/dist/src/portable/materializer.js +61 -12
  125. package/dist/src/portable/materializer.js.map +1 -1
  126. package/dist/src/tui/catalog-generation.d.ts +35 -0
  127. package/dist/src/tui/catalog-generation.js +85 -0
  128. package/dist/src/tui/catalog-generation.js.map +1 -0
  129. package/dist/src/tui/components.js +1 -2
  130. package/dist/src/tui/components.js.map +1 -1
  131. package/dist/src/tui/console-app-v4.d.ts +1 -1
  132. package/dist/src/tui/console-app-v4.js +647 -196
  133. package/dist/src/tui/console-app-v4.js.map +1 -1
  134. package/dist/src/tui/controller-runtime.d.ts +6 -2
  135. package/dist/src/tui/controller-runtime.js +646 -137
  136. package/dist/src/tui/controller-runtime.js.map +1 -1
  137. package/dist/src/tui/controller.d.ts +77 -15
  138. package/dist/src/tui/controller.js +647 -306
  139. package/dist/src/tui/controller.js.map +1 -1
  140. package/dist/src/tui/diagnostics.d.ts +1 -2
  141. package/dist/src/tui/diagnostics.js.map +1 -1
  142. package/dist/src/tui/index.d.ts +1 -0
  143. package/dist/src/tui/index.js +1 -0
  144. package/dist/src/tui/index.js.map +1 -1
  145. package/dist/src/tui/input-display.d.ts +8 -0
  146. package/dist/src/tui/input-display.js +36 -0
  147. package/dist/src/tui/input-display.js.map +1 -0
  148. package/dist/src/tui/model.d.ts +102 -14
  149. package/dist/src/tui/model.js +630 -139
  150. package/dist/src/tui/model.js.map +1 -1
  151. package/dist/src/tui/router.d.ts +35 -0
  152. package/dist/src/tui/router.js.map +1 -1
  153. package/dist/src/tui/source-ref-presets.d.ts +3 -0
  154. package/dist/src/tui/source-ref-presets.js +11 -0
  155. package/dist/src/tui/source-ref-presets.js.map +1 -0
  156. package/dist/src/tui/views.js +31 -3
  157. package/dist/src/tui/views.js.map +1 -1
  158. package/dist/src/types.d.ts +104 -13
  159. package/dist/src/types.js.map +1 -1
  160. package/dist/src/utils/agent-version.d.ts +7 -1
  161. package/dist/src/utils/agent-version.js +41 -8
  162. package/dist/src/utils/agent-version.js.map +1 -1
  163. package/dist/src/utils/aw-home-mutation-lock.d.ts +1 -0
  164. package/dist/src/utils/aw-home-mutation-lock.js +32 -4
  165. package/dist/src/utils/aw-home-mutation-lock.js.map +1 -1
  166. package/dist/src/utils/bundle-integrity.d.ts +0 -1
  167. package/dist/src/utils/bundle-integrity.js +0 -25
  168. package/dist/src/utils/bundle-integrity.js.map +1 -1
  169. package/dist/src/utils/bundle-layout.js +8 -6
  170. package/dist/src/utils/bundle-layout.js.map +1 -1
  171. package/dist/src/utils/catalog-digests.d.ts +7 -0
  172. package/dist/src/utils/catalog-digests.js +40 -2
  173. package/dist/src/utils/catalog-digests.js.map +1 -1
  174. package/dist/src/utils/catalog-generation-control-snapshot.d.ts +11 -0
  175. package/dist/src/utils/catalog-generation-control-snapshot.js +45 -0
  176. package/dist/src/utils/catalog-generation-control-snapshot.js.map +1 -0
  177. package/dist/src/utils/catalog-generation-error.d.ts +13 -0
  178. package/dist/src/utils/catalog-generation-error.js +28 -0
  179. package/dist/src/utils/catalog-generation-error.js.map +1 -0
  180. package/dist/src/utils/catalog-generation-resolver.d.ts +20 -0
  181. package/dist/src/utils/catalog-generation-resolver.js +143 -0
  182. package/dist/src/utils/catalog-generation-resolver.js.map +1 -0
  183. package/dist/src/utils/catalog-generation-service.d.ts +43 -0
  184. package/dist/src/utils/catalog-generation-service.js +306 -0
  185. package/dist/src/utils/catalog-generation-service.js.map +1 -0
  186. package/dist/src/utils/catalog-generation-state.d.ts +17 -0
  187. package/dist/src/utils/catalog-generation-state.js +168 -0
  188. package/dist/src/utils/catalog-generation-state.js.map +1 -0
  189. package/dist/src/utils/catalog-generation-store.d.ts +34 -0
  190. package/dist/src/utils/catalog-generation-store.js +251 -0
  191. package/dist/src/utils/catalog-generation-store.js.map +1 -0
  192. package/dist/src/utils/catalog-manifest-v6.d.ts +5 -0
  193. package/dist/src/utils/{catalog-manifest-v4.js → catalog-manifest-v6.js} +35 -43
  194. package/dist/src/utils/catalog-manifest-v6.js.map +1 -0
  195. package/dist/src/utils/catalog-operation-context.d.ts +20 -0
  196. package/dist/src/utils/catalog-operation-context.js +141 -0
  197. package/dist/src/utils/catalog-operation-context.js.map +1 -0
  198. package/dist/src/utils/catalog-public-error.d.ts +7 -3
  199. package/dist/src/utils/catalog-public-error.js +21 -8
  200. package/dist/src/utils/catalog-public-error.js.map +1 -1
  201. package/dist/src/utils/catalog-runtime-projection.d.ts +3 -0
  202. package/dist/src/utils/catalog-runtime-projection.js +5 -40
  203. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  204. package/dist/src/utils/catalog-snapshot.d.ts +5 -3
  205. package/dist/src/utils/catalog-snapshot.js +11 -3
  206. package/dist/src/utils/catalog-snapshot.js.map +1 -1
  207. package/dist/src/utils/catalog-source-identity.d.ts +1 -0
  208. package/dist/src/utils/catalog-source-identity.js +21 -2
  209. package/dist/src/utils/catalog-source-identity.js.map +1 -1
  210. package/dist/src/utils/catalog-source-references.d.ts +7 -0
  211. package/dist/src/utils/catalog-source-references.js +44 -55
  212. package/dist/src/utils/catalog-source-references.js.map +1 -1
  213. package/dist/src/utils/catalog-sources.d.ts +1 -0
  214. package/dist/src/utils/catalog-sources.js +55 -20
  215. package/dist/src/utils/catalog-sources.js.map +1 -1
  216. package/dist/src/utils/codex-config.d.ts +2 -0
  217. package/dist/src/utils/codex-config.js +26 -5
  218. package/dist/src/utils/codex-config.js.map +1 -1
  219. package/dist/src/utils/codex-manager.d.ts +81 -0
  220. package/dist/src/utils/codex-manager.js +810 -0
  221. package/dist/src/utils/codex-manager.js.map +1 -0
  222. package/dist/src/utils/codex-reconciler.d.ts +131 -0
  223. package/dist/src/utils/codex-reconciler.js +327 -0
  224. package/dist/src/utils/codex-reconciler.js.map +1 -0
  225. package/dist/src/utils/codex-shared-native.d.ts +56 -0
  226. package/dist/src/utils/codex-shared-native.js +87 -0
  227. package/dist/src/utils/codex-shared-native.js.map +1 -0
  228. package/dist/src/utils/codex-skill-staging.d.ts +2 -0
  229. package/dist/src/utils/codex-skill-staging.js.map +1 -1
  230. package/dist/src/utils/codex-surface-analysis.d.ts +44 -0
  231. package/dist/src/utils/codex-surface-analysis.js +247 -0
  232. package/dist/src/utils/codex-surface-analysis.js.map +1 -0
  233. package/dist/src/utils/dynamic-skill-tree.d.ts +4 -0
  234. package/dist/src/utils/dynamic-skill-tree.js +35 -5
  235. package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
  236. package/dist/src/utils/git-catalog-provider.js +66 -140
  237. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  238. package/dist/src/utils/lifecycle-active-store.d.ts +0 -28
  239. package/dist/src/utils/lifecycle-active-store.js +35 -247
  240. package/dist/src/utils/lifecycle-active-store.js.map +1 -1
  241. package/dist/src/utils/manifest.d.ts +1 -3
  242. package/dist/src/utils/manifest.js +1 -3
  243. package/dist/src/utils/manifest.js.map +1 -1
  244. package/dist/src/utils/multi-source-catalog.d.ts +3 -9
  245. package/dist/src/utils/multi-source-catalog.js +53 -110
  246. package/dist/src/utils/multi-source-catalog.js.map +1 -1
  247. package/dist/src/utils/native-cli.d.ts +49 -6
  248. package/dist/src/utils/native-cli.js +116 -33
  249. package/dist/src/utils/native-cli.js.map +1 -1
  250. package/dist/src/utils/orphan-marketplace-cleanup.js +1 -3
  251. package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -1
  252. package/dist/src/utils/ownership.d.ts +10 -11
  253. package/dist/src/utils/ownership.js +55 -112
  254. package/dist/src/utils/ownership.js.map +1 -1
  255. package/dist/src/utils/path-catalog-provider.d.ts +1 -1
  256. package/dist/src/utils/path-catalog-provider.js +52 -65
  257. package/dist/src/utils/path-catalog-provider.js.map +1 -1
  258. package/dist/src/utils/paths.d.ts +0 -1
  259. package/dist/src/utils/paths.js +0 -1
  260. package/dist/src/utils/paths.js.map +1 -1
  261. package/dist/src/utils/plugin-config-write.js +18 -40
  262. package/dist/src/utils/plugin-config-write.js.map +1 -1
  263. package/dist/src/utils/plugin-config.d.ts +1 -12
  264. package/dist/src/utils/plugin-config.js +107 -226
  265. package/dist/src/utils/plugin-config.js.map +1 -1
  266. package/dist/src/utils/plugin-intent-state.d.ts +39 -0
  267. package/dist/src/utils/plugin-intent-state.js +325 -0
  268. package/dist/src/utils/plugin-intent-state.js.map +1 -0
  269. package/dist/src/utils/plugin-scripts.d.ts +1 -1
  270. package/dist/src/utils/plugin-scripts.js +1 -1
  271. package/dist/src/utils/plugin-scripts.js.map +1 -1
  272. package/dist/src/utils/state-paths.js +7 -2
  273. package/dist/src/utils/state-paths.js.map +1 -1
  274. package/dist/src/utils/target-eligibility.d.ts +8 -2
  275. package/dist/src/utils/target-eligibility.js +9 -5
  276. package/dist/src/utils/target-eligibility.js.map +1 -1
  277. package/package.json +6 -4
  278. package/dist/authoring/scripts/check-plugin-versions.d.mts +0 -2
  279. package/dist/authoring/scripts/check-plugin-versions.mjs +0 -5
  280. package/dist/authoring/scripts/check-plugin-versions.mjs.map +0 -1
  281. package/dist/scripts/aw-skill-eval-engine.d.ts +0 -13
  282. package/dist/scripts/aw-skill-eval-engine.js +0 -31
  283. package/dist/scripts/aw-skill-eval-engine.js.map +0 -1
  284. package/dist/scripts/codex-eval-app-server.d.ts +0 -89
  285. package/dist/scripts/codex-eval-app-server.js +0 -1228
  286. package/dist/scripts/codex-eval-app-server.js.map +0 -1
  287. package/dist/scripts/codex-eval-isolation.d.ts +0 -61
  288. package/dist/scripts/codex-eval-isolation.js +0 -318
  289. package/dist/scripts/codex-eval-isolation.js.map +0 -1
  290. package/dist/scripts/codex-eval-process-management.d.ts +0 -8
  291. package/dist/scripts/codex-eval-process-management.js +0 -69
  292. package/dist/scripts/codex-eval-process-management.js.map +0 -1
  293. package/dist/scripts/codex-eval-process-tree.d.ts +0 -38
  294. package/dist/scripts/codex-eval-process-tree.js +0 -803
  295. package/dist/scripts/codex-eval-process-tree.js.map +0 -1
  296. package/dist/scripts/codex-eval-runtime-config.d.ts +0 -62
  297. package/dist/scripts/codex-eval-runtime-config.js +0 -843
  298. package/dist/scripts/codex-eval-runtime-config.js.map +0 -1
  299. package/dist/scripts/codex-trigger-eval.d.ts +0 -84
  300. package/dist/scripts/codex-trigger-eval.js +0 -968
  301. package/dist/scripts/codex-trigger-eval.js.map +0 -1
  302. package/dist/scripts/eval-plugin-skills-audited.d.ts +0 -6
  303. package/dist/scripts/eval-plugin-skills-audited.js +0 -261
  304. package/dist/scripts/eval-plugin-skills-audited.js.map +0 -1
  305. package/dist/scripts/eval-plugin-skills.d.ts +0 -45
  306. package/dist/scripts/eval-plugin-skills.js +0 -1586
  307. package/dist/scripts/eval-plugin-skills.js.map +0 -1
  308. package/dist/scripts/eval-run-layout.d.ts +0 -17
  309. package/dist/scripts/eval-run-layout.js +0 -26
  310. package/dist/scripts/eval-run-layout.js.map +0 -1
  311. package/dist/scripts/plugin-eval-contract.d.ts +0 -185
  312. package/dist/scripts/plugin-eval-contract.js +0 -695
  313. package/dist/scripts/plugin-eval-contract.js.map +0 -1
  314. package/dist/scripts/plugin-eval-materializer.d.ts +0 -13
  315. package/dist/scripts/plugin-eval-materializer.js.map +0 -1
  316. package/dist/scripts/skill-reporting.d.ts +0 -212
  317. package/dist/scripts/skill-reporting.js +0 -922
  318. package/dist/scripts/skill-reporting.js.map +0 -1
  319. package/dist/src/commands/status-v4.d.ts +0 -123
  320. package/dist/src/commands/status-v4.js +0 -905
  321. package/dist/src/commands/status-v4.js.map +0 -1
  322. package/dist/src/commands/status.d.ts +0 -93
  323. package/dist/src/commands/status.js +0 -442
  324. package/dist/src/commands/status.js.map +0 -1
  325. package/dist/src/utils/active-marketplace-runtime-lock.d.ts +0 -12
  326. package/dist/src/utils/active-marketplace-runtime-lock.js +0 -133
  327. package/dist/src/utils/active-marketplace-runtime-lock.js.map +0 -1
  328. package/dist/src/utils/catalog-manifest-v3.d.ts +0 -2
  329. package/dist/src/utils/catalog-manifest-v3.js +0 -3
  330. package/dist/src/utils/catalog-manifest-v3.js.map +0 -1
  331. package/dist/src/utils/catalog-manifest-v4.d.ts +0 -5
  332. package/dist/src/utils/catalog-manifest-v4.js.map +0 -1
  333. package/dist/src/utils/catalog-source-cache.d.ts +0 -62
  334. package/dist/src/utils/catalog-source-cache.js +0 -296
  335. package/dist/src/utils/catalog-source-cache.js.map +0 -1
  336. package/dist/src/utils/codex-project-surface.d.ts +0 -3
  337. package/dist/src/utils/codex-project-surface.js +0 -49
  338. package/dist/src/utils/codex-project-surface.js.map +0 -1
  339. package/dist/src/utils/plugin-release.d.ts +0 -2
  340. package/dist/src/utils/plugin-release.js +0 -2
  341. package/dist/src/utils/plugin-release.js.map +0 -1
@@ -11,7 +11,8 @@ 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, createBundleSourceManifest, createPlatformManifestBase, isIgnoredPluginInputDirectory, normalizePluginRelativePath, readPluginManifest, } from '../utils/manifest.js';
14
+ import { assertManifestPlatformSupport, assertPluginInputTree, checkAwCapabilitySupport, computeAwCapabilitySetDigest, createAwPluginRequirementsReceipt, createBundleSourceManifest, createPlatformManifestBase, isIgnoredPluginInputDirectory, normalizePluginRelativePath, normalizeAwCapabilities, readPluginManifest, resolvePluginRequirements, } from '../utils/manifest.js';
15
+ import { AwCapabilityUnsupportedError, IMPLEMENTED_AW_CAPABILITIES, } from '../commands/aw-capabilities.js';
15
16
  import { writeJsonFile } from '../utils/json.js';
16
17
  import { resolveSupportedPlatforms } from '../utils/platform-support.js';
17
18
  import { renderTemplate } from '../utils/template-engine.js';
@@ -21,7 +22,7 @@ import { isSkillAuthorOnlyPath, isSkillCollectionAuthorOnlyPath, } from '../util
21
22
  import { assertTestWritablePath } from '../utils/test-path-fence.js';
22
23
  import { resolveCliPackageRoot } from '../utils/paths.js';
23
24
  import { validateRuntimeSkillClosuresRoot, validateSkillRuntimeProjectionFreshness, } from '../utils/runtime-skill-closure.js';
24
- import { validatePortableSkillDirectoriesRoot } from '../utils/dynamic-skill-tree.js';
25
+ import { AW_PLUGIN_REQUIREMENTS_RECEIPT_PATH, validatePortableSkillDirectoriesRoot, } from '../utils/dynamic-skill-tree.js';
25
26
  import { renderClaudeSlashCommand, renderCodexSlashCommandOpenAiYaml, renderCodexSlashCommandSkillMarkdown, resolveSlashCommands, } from '../utils/slash-commands.js';
26
27
  const execFileAsync = promisify(execFile);
27
28
  const requireFromCli = createRequire(import.meta.url);
@@ -239,6 +240,9 @@ async function assertArtifactSourceTreePortable(rootDir, fieldName, relativeRoot
239
240
  continue;
240
241
  if (isMacOsMetadataName(entry.name))
241
242
  continue;
243
+ if (relativePath === AW_PLUGIN_REQUIREMENTS_RECEIPT_PATH) {
244
+ throw new Error(`Invalid ${fieldName}: source root cannot declare reserved file ${AW_PLUGIN_REQUIREMENTS_RECEIPT_PATH}.`);
245
+ }
242
246
  const entryPath = path.join(rootDir, entry.name);
243
247
  if (entry.isSymbolicLink()) {
244
248
  throw new Error(`Invalid ${fieldName}: symbolic links are not supported (${entry.name}).`);
@@ -289,6 +293,8 @@ async function copyPortableStaticSkills(plugin, outputRoot) {
289
293
  }
290
294
  async function resolveArtifactRuntimeImports(options) {
291
295
  const manifest = createBundleSourceManifest(options.plugin);
296
+ const requiredCapabilities = [];
297
+ const projections = [];
292
298
  for (const [targetIndex, target] of (manifest.artifacts?.targets ?? []).entries()) {
293
299
  for (const [importIndex, runtimeImport] of (target.runtimeImports ?? []).entries()) {
294
300
  if (!options.resolver) {
@@ -299,27 +305,64 @@ async function resolveArtifactRuntimeImports(options) {
299
305
  reference: runtimeImport,
300
306
  purpose: 'artifact-runtime',
301
307
  });
308
+ requiredCapabilities.push(...resolution.requiredCapabilities);
302
309
  const relativePath = `./.agents-plugin/runtime-imports/${target.id}/${runtimeImport.name}`;
303
310
  const targetPath = path.join(options.outputRoot, stripDotSlash(relativePath));
304
- await fs.ensureDir(path.dirname(targetPath));
305
- await fs.copyFile(resolution.sourcePath, targetPath);
306
- const digest = await calculateFileDigest(targetPath);
307
- if (digest !== resolution.sourceDigest) {
308
- throw new Error(`Artifact runtime import digest mismatch at "${target.id}/${runtimeImport.name}".`);
309
- }
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
+ });
310
318
  runtimeImport.resolved = {
311
319
  path: relativePath,
312
320
  digest,
313
321
  providerPluginId: resolution.provider,
314
322
  providerVersion: resolution.providerVersion,
315
323
  source: resolution.source,
324
+ requiredCapabilities: resolution.requiredCapabilities,
325
+ capabilitySetDigest: resolution.capabilitySetDigest,
316
326
  };
317
327
  }
318
328
  }
319
329
  if (manifest.distributions?.agentSkills?.skills) {
320
330
  manifest.distributions.agentSkills.skills = './agent-skills/skills';
321
331
  }
322
- 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
+ }
346
+ }
347
+ async function injectRequirementsReceipts(options) {
348
+ const receipt = createAwPluginRequirementsReceipt({ name: options.plugin.manifest.name, version: options.plugin.manifest.version }, options.requiredCapabilities);
349
+ for (const relativeRoot of ['claude/skills', 'codex/skills', 'agent-skills/skills']) {
350
+ const skillsRoot = path.join(options.outputRoot, relativeRoot);
351
+ if (!(await fs.pathExists(skillsRoot)))
352
+ continue;
353
+ for (const entry of await fs.readdir(skillsRoot, { withFileTypes: true })) {
354
+ if (!entry.isDirectory() || entry.isSymbolicLink())
355
+ continue;
356
+ const skillRoot = path.join(skillsRoot, entry.name);
357
+ if (!(await fs.pathExists(path.join(skillRoot, 'SKILL.md'))))
358
+ continue;
359
+ const receiptPath = path.join(skillRoot, 'aw-plugin-requirements.json');
360
+ if (await fs.pathExists(receiptPath)) {
361
+ throw new Error(`Reserved runtime requirements receipt conflicts with source content: ${receiptPath}`);
362
+ }
363
+ await writeJsonFile(receiptPath, receipt);
364
+ }
365
+ }
323
366
  }
324
367
  async function copySlashCommandAsset(pluginRoot, outputRoot, skillName, sourceRelativePath, generatedRelativePath) {
325
368
  const sourcePath = path.join(pluginRoot, sourceRelativePath);
@@ -718,6 +761,8 @@ function toRuntimeImportProvenance(resolution) {
718
761
  name: resolution.name,
719
762
  source: resolution.source,
720
763
  sourceDigest: resolution.sourceDigest,
764
+ requiredCapabilities: resolution.requiredCapabilities,
765
+ capabilitySetDigest: resolution.capabilitySetDigest,
721
766
  };
722
767
  }
723
768
  async function resolveOwnSkillRuntimeSource(plugin, source) {
@@ -823,6 +868,8 @@ async function projectSkillRuntimeFiles(options) {
823
868
  name: entry.source,
824
869
  source: entry.source,
825
870
  sourceDigest,
871
+ requiredCapabilities: [],
872
+ capabilitySetDigest: computeAwCapabilitySetDigest([]),
826
873
  };
827
874
  }
828
875
  else {
@@ -842,31 +889,37 @@ async function projectSkillRuntimeFiles(options) {
842
889
  runtimeProvenance = toRuntimeImportProvenance(resolution);
843
890
  }
844
891
  const targetPath = path.join(options.outputRoot, platform ?? distribution, 'skills', entry.skill, ...entry.target.split('/'));
845
- if (await fs.pathExists(targetPath)) {
846
- throw new Error(`Invalid buildConfig.skillRuntimeFiles: bundle target already exists at "${claim}".`);
847
- }
848
- await fs.ensureDir(path.dirname(targetPath));
849
- await fs.copyFile(sourcePath, targetPath);
850
- const targetDigest = await calculateFileDigest(targetPath);
851
- if (sourceDigest !== targetDigest) {
852
- throw new Error(`Invalid buildConfig.skillRuntimeFiles: digest mismatch at "${claim}".`);
853
- }
854
892
  projections.push({
855
893
  bindingKey,
856
894
  canonicalSource,
895
+ sourcePath,
896
+ targetPath,
857
897
  provenance: {
858
898
  ...runtimeProvenance,
859
899
  platform,
860
900
  distribution,
861
901
  skill: entry.skill,
862
902
  target: entry.target,
863
- targetDigest,
903
+ targetDigest: sourceDigest,
864
904
  },
865
905
  });
866
906
  }
867
907
  }
868
908
  return projections;
869
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
+ }
870
923
  function hasSameCanonicalSource(left, right) {
871
924
  return left.rootPath === right.rootPath
872
925
  && left.rootRealPath === right.rootRealPath
@@ -883,6 +936,9 @@ async function validateSkillRuntimeProjectionSources(projections) {
883
936
  || existing.provenance.name !== projection.provenance.name
884
937
  || existing.provenance.source !== projection.provenance.source
885
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)
886
942
  || !hasSameCanonicalSource(existing.canonicalSource, projection.canonicalSource))) {
887
943
  throw new Error(`Canonical source "${projection.provenance.source}" changed during runtime Skill projection.`);
888
944
  }
@@ -912,6 +968,9 @@ async function validateBuildImportProjectionSources(projections) {
912
968
  || existing.provenance.name !== projection.provenance.name
913
969
  || existing.provenance.source !== projection.provenance.source
914
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)
915
974
  || !hasSameCanonicalSource(existing.canonicalSource, projection.canonicalSource))) {
916
975
  throw new Error(`Catalog runtime import "${projection.provenance.provider}/${projection.provenance.name}" changed during build import projection.`);
917
976
  }
@@ -1056,7 +1115,33 @@ export async function prepareLocalPluginBundleSource(plugin, options = {}) {
1056
1115
  };
1057
1116
  return resolveBuildPlugin(plugin, buildOptions);
1058
1117
  }
1118
+ function assertPluginRequirementsSupported(pluginName, requirements, strictRequirements = false) {
1119
+ if (requirements.unsupportedByCurrentAw.length > 0) {
1120
+ throw new AwCapabilityUnsupportedError(pluginName, requirements.unsupportedByCurrentAw);
1121
+ }
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;
1134
+ throw error;
1135
+ }
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
+ }
1059
1143
  export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1144
+ const historicalComparison = options.runtimeSkillClosureValidation === 'historical';
1060
1145
  const buildOptions = {
1061
1146
  buildMode: options.buildMode ?? 'build-free',
1062
1147
  stagingRunner: options.stagingRunner ?? defaultStagingRunner,
@@ -1064,14 +1149,69 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1064
1149
  preparedRuntimeContext: options.preparedRuntimeContext,
1065
1150
  };
1066
1151
  await assertPluginInputTree(plugin.rootDir);
1152
+ const sourceRequirements = await resolvePluginRequirements({
1153
+ pluginRoot: plugin.rootDir,
1154
+ manifest: plugin.manifest,
1155
+ implementedCapabilities: IMPLEMENTED_AW_CAPABILITIES,
1156
+ });
1157
+ if (!historicalComparison) {
1158
+ assertPluginRequirementsSupported(plugin.manifest.name, sourceRequirements, options.strictRequirements ?? false);
1159
+ }
1067
1160
  await fs.remove(outputRoot);
1068
1161
  const buildPlugin = await resolveBuildPlugin(plugin, buildOptions);
1069
1162
  try {
1070
1163
  plugin = buildPlugin.plugin;
1164
+ const requirements = await resolvePluginRequirements({
1165
+ pluginRoot: plugin.rootDir,
1166
+ manifest: plugin.manifest,
1167
+ implementedCapabilities: IMPLEMENTED_AW_CAPABILITIES,
1168
+ });
1169
+ if (!historicalComparison) {
1170
+ assertPluginRequirementsSupported(plugin.manifest.name, requirements, options.strictRequirements ?? false);
1171
+ }
1071
1172
  assertManifestPlatformSupport(plugin.manifest.name, plugin.manifest);
1072
- await fs.ensureDir(outputRoot);
1073
1173
  const supportedPlatforms = resolveSupportedPlatforms(plugin.manifest);
1074
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);
1075
1215
  const platformFiles = {};
1076
1216
  const platformManifests = {};
1077
1217
  const buildConfig = plugin.manifest.buildConfig;
@@ -1186,26 +1326,7 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1186
1326
  }
1187
1327
  }
1188
1328
  }
1189
- const skillRuntimeFileProjections = await projectSkillRuntimeFiles({
1190
- plugin,
1191
- outputRoot,
1192
- supportedPlatforms,
1193
- resolver: buildPlugin.runtimeContext.resolver,
1194
- });
1195
- const skillRuntimeFiles = skillRuntimeFileProjections.map(({ provenance }) => provenance);
1196
- const portableRuntimeFiles = skillRuntimeFiles
1197
- .filter((entry) => entry.distribution === 'agent-skills')
1198
- .map((entry) => ({
1199
- skill: entry.skill,
1200
- target: entry.target,
1201
- path: `./agent-skills/skills/${entry.skill}/${entry.target}`,
1202
- digest: entry.targetDigest,
1203
- provider: entry.provider,
1204
- providerVersion: entry.providerVersion,
1205
- exportName: entry.name,
1206
- source: entry.source,
1207
- sourceDigest: entry.sourceDigest,
1208
- }));
1329
+ await materializeSkillRuntimeFiles(skillRuntimeFileProjections);
1209
1330
  await copyPortableStaticSkills(plugin, outputRoot);
1210
1331
  if (await fs.pathExists(path.join(plugin.rootDir, 'README.md'))) {
1211
1332
  await copyBundleRootFile(plugin.rootDir, outputRoot, 'README.md');
@@ -1215,11 +1336,7 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1215
1336
  }
1216
1337
  await copyArtifactSourceDirectories(plugin, outputRoot);
1217
1338
  await copyProductionPackageRoot(plugin, outputRoot);
1218
- const bundleManifest = await resolveArtifactRuntimeImports({
1219
- plugin,
1220
- outputRoot,
1221
- resolver: buildPlugin.runtimeContext.resolver,
1222
- });
1339
+ await materializeArtifactRuntimeImports(artifactRuntimeProjection.projections);
1223
1340
  await writeJsonFile(path.join(outputRoot, '.agents-plugin', 'plugin.json'), bundleManifest);
1224
1341
  if (portableRuntimeFiles.length > 0) {
1225
1342
  await writeJsonFile(path.join(outputRoot, '.agents-plugin', 'portable-runtime-files.json'), portableRuntimeFiles);
@@ -1231,6 +1348,11 @@ export async function bundleLocalPlugin(plugin, outputRoot, options = {}) {
1231
1348
  }
1232
1349
  await writeJsonFile(path.join(outputRoot, PLATFORM_MANIFEST_DIRS[platform], 'plugin.json'), manifest);
1233
1350
  }
1351
+ await injectRequirementsReceipts({
1352
+ outputRoot,
1353
+ plugin,
1354
+ requiredCapabilities: finalEffective,
1355
+ });
1234
1356
  await validateSkillRuntimeProjectionSources(skillRuntimeFileProjections);
1235
1357
  await validateSkillRuntimeProjectionFreshness(outputRoot, skillRuntimeFiles.filter((entry) => entry.platform !== undefined));
1236
1358
  await validateGeneratedSkillRuntimeFiles(plugin, outputRoot, supportedPlatforms);
@@ -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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"}