@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
@@ -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,wBAAwB,GAAG,0BAA0B,CAAC;AACnE,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,gCAAgC,GAAG,iBAAiB,CAAC;AAClE,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,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<{