@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
@@ -5,13 +5,17 @@ const DEFAULT_ERROR_CODE = 'catalogSourceResolutionFailed';
5
5
  export class CatalogProviderCompatibilityError extends Error {
6
6
  sourceId;
7
7
  code;
8
+ requiredCapabilities;
9
+ missingCapabilities;
10
+ availableCapabilities;
8
11
  constructor(options) {
9
- super(`Catalog source "${options.sourceId}" requires aw >= ${options.minAwVersion}.`);
12
+ super(`Catalog source "${options.sourceId}" requires unsupported AW capabilities: ${options.missingCapabilities.join(', ')}.`);
10
13
  this.name = 'CatalogProviderCompatibilityError';
11
14
  this.sourceId = options.sourceId;
12
- this.code = options.selection === 'cliChannel'
13
- ? 'awVersionTooLow'
14
- : 'explicitCatalogIncompatible';
15
+ this.code = 'awCapabilityUnsupported';
16
+ this.requiredCapabilities = [...options.requiredCapabilities];
17
+ this.missingCapabilities = [...options.missingCapabilities];
18
+ this.availableCapabilities = [...options.availableCapabilities];
15
19
  }
16
20
  }
17
21
  function escapeRegExp(value) {
@@ -39,7 +43,6 @@ export function sanitizeCatalogSourceErrorMessage(message, env = process.env, se
39
43
  output = replaceRoot(output, root, '[catalog-source]');
40
44
  }
41
45
  for (const [root, replacement] of [
42
- [path.join(awHome, 'catalog-cache'), '[catalog-state]'],
43
46
  [path.join(path.dirname(awHome), '.aw-local-marketplace-staging'), '[catalog-staging]'],
44
47
  [awHome, '[aw-state]'],
45
48
  ]) {
@@ -55,9 +58,7 @@ export function sanitizeCatalogSourceErrorMessage(message, env = process.env, se
55
58
  ].filter((value) => Boolean(value)))) {
56
59
  output = replaceRoot(output, tempRoot, '[temporary]');
57
60
  }
58
- return output
59
- .replace(/\.(?:materialize|path)-[^/\\\s"']+\.tmp/gu, '[catalog-materialization]')
60
- .replace(/catalog-cache/gu, '[catalog-state]');
61
+ return output.replace(/\.(?:materialize|path)-[^/\\\s"']+\.tmp/gu, '[catalog-materialization]');
61
62
  }
62
63
  export function catalogSourceErrorCode(error) {
63
64
  const code = error.code;
@@ -79,6 +80,18 @@ export function sanitizeCatalogSourceError(error, env = process.env, sensitiveRo
79
80
  if ('inventory' in original) {
80
81
  sanitized.inventory = original.inventory;
81
82
  }
83
+ const originalCapabilities = original;
84
+ const sanitizedCapabilities = sanitized;
85
+ for (const field of [
86
+ 'requiredCapabilities',
87
+ 'missingCapabilities',
88
+ 'availableCapabilities',
89
+ ]) {
90
+ const value = originalCapabilities[field];
91
+ if (Array.isArray(value) && value.every((entry) => typeof entry === 'string')) {
92
+ sanitizedCapabilities[field] = [...value];
93
+ }
94
+ }
82
95
  return sanitized;
83
96
  }
84
97
  //# sourceMappingURL=catalog-public-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-public-error.js","sourceRoot":"","sources":["../../../src/utils/catalog-public-error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-public-error.js","sourceRoot":"","sources":["../../../src/utils/catalog-public-error.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface CatalogRuntimeExportResolution {
10
10
  source: string;
11
11
  sourcePath: string;
12
12
  sourceDigest: string;
13
+ requiredCapabilities: string[];
14
+ capabilitySetDigest: string;
13
15
  canonicalSource: CanonicalRuntimeSourceIdentity;
14
16
  supportedPlatforms: ReadonlySet<PlatformName>;
15
17
  virtual: boolean;
@@ -26,5 +28,6 @@ export declare function resolveRuntimeExportSource(options: {
26
28
  plugin: PluginMeta;
27
29
  name: string;
28
30
  source: string;
31
+ requiredCapabilities: readonly unknown[];
29
32
  }): Promise<CatalogRuntimeExportResolution>;
30
33
  export declare function createCatalogRuntimeImportResolver(plugins: readonly PluginMeta[]): CatalogRuntimeImportResolver;
@@ -1,8 +1,5 @@
1
- import path from 'node:path';
2
- import fs from 'fs-extra';
3
- import { resolveCanonicalRuntimeSourceIdentity as resolveCoreRuntimeSourceIdentity, validateRuntimeExportSource, } from '@lesliechan721/aw-plugin-core/manifest';
1
+ import { computeAwCapabilitySetDigest, normalizeAwCapabilities, validateRuntimeExportSource, } from '@lesliechan721/aw-plugin-core/manifest';
4
2
  import { calculateFileDigest } from './bundle-integrity.js';
5
- import { resolveCliPackageRoot } from './paths.js';
6
3
  import { resolveSupportedPlatforms } from './platform-support.js';
7
4
  export { resolveCanonicalRuntimeSourceIdentity, } from '@lesliechan721/aw-plugin-core/manifest';
8
5
  export async function resolveRuntimeExportSource(options) {
@@ -11,6 +8,7 @@ export async function resolveRuntimeExportSource(options) {
11
8
  name: options.name,
12
9
  source: options.source,
13
10
  });
11
+ const requiredCapabilities = normalizeAwCapabilities(options.requiredCapabilities, `buildConfig.runtimeExports export "${options.name}" requires.aw.capabilities`);
14
12
  return {
15
13
  provider: options.plugin.manifest.name,
16
14
  providerVersion: options.plugin.manifest.version,
@@ -18,44 +16,13 @@ export async function resolveRuntimeExportSource(options) {
18
16
  source: options.source,
19
17
  sourcePath: canonicalSource.sourceRealPath,
20
18
  sourceDigest: await calculateFileDigest(canonicalSource.sourceRealPath),
19
+ requiredCapabilities,
20
+ capabilitySetDigest: computeAwCapabilitySetDigest(requiredCapabilities),
21
21
  canonicalSource,
22
22
  supportedPlatforms: resolveSupportedPlatforms(options.plugin.manifest),
23
23
  virtual: false,
24
24
  };
25
25
  }
26
- async function resolveEvalVirtualExport(reference, purpose) {
27
- if (purpose !== 'build' && purpose !== 'skill-runtime-file') {
28
- throw new Error('Invalid catalog runtime import: virtual provider "@aw/agent-skill-eval" is only available to buildImports and skillRuntimeFiles.');
29
- }
30
- if (reference.export !== 'case-corpus-digest') {
31
- throw new Error(`Invalid catalog runtime import: unknown @aw/agent-skill-eval export "${reference.export}".`);
32
- }
33
- const cliPackageRoot = resolveCliPackageRoot();
34
- const packageRootCandidates = [
35
- path.resolve(cliPackageRoot, '..', 'agent-skill-eval'),
36
- path.join(cliPackageRoot, 'node_modules', '@lesliechan721', 'agent-skill-eval'),
37
- ];
38
- const packageRoot = packageRootCandidates.find((candidate) => fs.existsSync(path.join(candidate, 'package.json')));
39
- if (!packageRoot) {
40
- throw new Error('Invalid @aw/agent-skill-eval runtime export: package root is unavailable.');
41
- }
42
- const packageJson = await fs.readJson(path.join(packageRoot, 'package.json'));
43
- if (typeof packageJson.version !== 'string' || packageJson.version.trim() === '') {
44
- throw new Error('Invalid @aw/agent-skill-eval runtime export: package version is missing.');
45
- }
46
- const canonicalSource = await resolveCoreRuntimeSourceIdentity(packageRoot, './dist/corpus-digest.js', '@aw/agent-skill-eval runtime export "case-corpus-digest"');
47
- return {
48
- provider: '@aw/agent-skill-eval',
49
- providerVersion: packageJson.version,
50
- name: reference.export,
51
- source: './dist/corpus-digest.js',
52
- sourcePath: canonicalSource.sourceRealPath,
53
- sourceDigest: await calculateFileDigest(canonicalSource.sourceRealPath),
54
- canonicalSource,
55
- supportedPlatforms: new Set(['claude', 'codex']),
56
- virtual: true,
57
- };
58
- }
59
26
  export function createCatalogRuntimeImportResolver(plugins) {
60
27
  const pluginsByName = new Map();
61
28
  for (const plugin of plugins) {
@@ -66,9 +33,6 @@ export function createCatalogRuntimeImportResolver(plugins) {
66
33
  return {
67
34
  async resolve({ consumer, reference, purpose, platform }) {
68
35
  if (reference.plugin.startsWith('@aw/')) {
69
- if (reference.plugin === '@aw/agent-skill-eval') {
70
- return resolveEvalVirtualExport(reference, purpose);
71
- }
72
36
  throw new Error(`Invalid catalog runtime import: unknown reserved provider "${reference.plugin}".`);
73
37
  }
74
38
  if (reference.plugin === consumer.manifest.name) {
@@ -94,6 +58,7 @@ export function createCatalogRuntimeImportResolver(plugins) {
94
58
  plugin: provider,
95
59
  name: exports[0].name,
96
60
  source: exports[0].source,
61
+ requiredCapabilities: exports[0].requires.aw.capabilities,
97
62
  });
98
63
  if (platform && !resolution.supportedPlatforms.has(platform)) {
99
64
  throw new Error(`Invalid catalog runtime import: provider "${reference.plugin}" is unavailable for platform "${platform}".`);
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-runtime-projection.js","sourceRoot":"","sources":["../../../src/utils/catalog-runtime-projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-runtime-projection.js","sourceRoot":"","sources":["../../../src/utils/catalog-runtime-projection.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import type { CatalogManifestV4 } from '../types.js';
1
+ import type { CatalogManifestV6 } from '../types.js';
2
2
  export interface CatalogSnapshotValidation {
3
3
  rootDir: string;
4
- manifest: CatalogManifestV4;
4
+ manifest: CatalogManifestV6;
5
5
  manifestDigest: string;
6
6
  snapshotDigest: string;
7
7
  }
8
- export declare function validateCatalogSnapshot(rootDir: string): Promise<CatalogSnapshotValidation>;
8
+ export declare function validateCatalogSnapshotTransport(rootDir: string): Promise<CatalogSnapshotValidation>;
9
+ export declare function validateCatalogSnapshotComplete(rootDir: string): Promise<CatalogSnapshotValidation>;
10
+ export declare function validateCatalogSnapshotPluginEntriesComplete(rootDir: string, pluginNames: readonly string[]): Promise<CatalogSnapshotValidation>;
@@ -1,12 +1,20 @@
1
1
  import path from 'node:path';
2
- import { validateCatalogSnapshot as validateCoreCatalogSnapshot, } from '@lesliechan721/aw-plugin-core';
2
+ import { validateCatalogSnapshotComplete as validateCoreCatalogSnapshotComplete, validateCatalogSnapshotPluginEntriesComplete as validateCoreCatalogSnapshotPluginEntriesComplete, validateCatalogSnapshotTransport as validateCoreCatalogSnapshotTransport, } from '@lesliechan721/aw-plugin-core';
3
3
  import { CURRENT_CATALOG_MANIFEST_FILE } from '../constants.js';
4
4
  import { calculateFileDigest } from './bundle-integrity.js';
5
- export async function validateCatalogSnapshot(rootDir) {
6
- const validation = await validateCoreCatalogSnapshot(rootDir);
5
+ async function withManifestDigest(validation) {
7
6
  return {
8
7
  ...validation,
9
8
  manifestDigest: await calculateFileDigest(path.join(validation.rootDir, CURRENT_CATALOG_MANIFEST_FILE)),
10
9
  };
11
10
  }
11
+ export async function validateCatalogSnapshotTransport(rootDir) {
12
+ return withManifestDigest(await validateCoreCatalogSnapshotTransport(rootDir));
13
+ }
14
+ export async function validateCatalogSnapshotComplete(rootDir) {
15
+ return withManifestDigest(await validateCoreCatalogSnapshotComplete(rootDir));
16
+ }
17
+ export async function validateCatalogSnapshotPluginEntriesComplete(rootDir, pluginNames) {
18
+ return withManifestDigest(await validateCoreCatalogSnapshotPluginEntriesComplete(rootDir, pluginNames));
19
+ }
12
20
  //# sourceMappingURL=catalog-snapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-snapshot.js","sourceRoot":"","sources":["../../../src/utils/catalog-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,uBAAuB,IAAI,2BAA2B,GACvD,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAS5D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe;IAC3D,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO;QACL,GAAG,UAAU;QACb,cAAc,EAAE,MAAM,mBAAmB,CACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"catalog-snapshot.js","sourceRoot":"","sources":["../../../src/utils/catalog-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,+BAA+B,IAAI,mCAAmC,EACtE,4CAA4C,IAAI,gDAAgD,EAChG,gCAAgC,IAAI,oCAAoC,GACzE,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAS5D,KAAK,UAAU,kBAAkB,CAC/B,UAA6D;IAE7D,OAAO;QACL,GAAG,UAAU;QACb,cAAc,EAAE,MAAM,mBAAmB,CACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,OAAe;IACpE,OAAO,kBAAkB,CAAC,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,OAAe;IACnE,OAAO,kBAAkB,CAAC,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,OAAe,EACf,WAA8B;IAE9B,OAAO,kBAAkB,CAAC,MAAM,gDAAgD,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1G,CAAC"}
@@ -2,3 +2,4 @@ import type { CatalogSource, SourceIdentity } from '../types.js';
2
2
  export declare function canonicalizeCatalogGitUrl(value: string): string;
3
3
  export declare function canonicalizeCatalogPath(value: string, cwd: string): Promise<string>;
4
4
  export declare function calculateCatalogSourceIdentity(source: CatalogSource): Promise<SourceIdentity>;
5
+ export declare function calculateCatalogSourceConfigFingerprint(source: CatalogSource): string;
@@ -2,7 +2,7 @@ import crypto from 'node:crypto';
2
2
  import path from 'node:path';
3
3
  import { fileURLToPath, pathToFileURL } from 'node:url';
4
4
  import fs from 'fs-extra';
5
- import { CATALOG_SOURCE_IDENTITY_VERSION } from '../constants.js';
5
+ import { CATALOG_SOURCE_IDENTITY_VERSION, OFFICIAL_CATALOG_SOURCE_SSH_URL, OFFICIAL_CATALOG_SOURCE_URL, } from '../constants.js';
6
6
  const SCP_GIT_URL_PATTERN = /^([^@/:\s]+)@([^/:\s]+):(.+)$/;
7
7
  const ALLOWED_GIT_URL_PROTOCOLS = new Set(['file:', 'https:', 'ssh:']);
8
8
  function normalizeGitPath(pathname) {
@@ -61,6 +61,12 @@ export function canonicalizeCatalogGitUrl(value) {
61
61
  const port = url.port ? `:${url.port}` : '';
62
62
  return `${url.protocol}//${username}${url.hostname.toLowerCase()}${port}${normalizeGitPath(url.pathname)}`;
63
63
  }
64
+ function logicalCatalogGitIdentityLocation(value) {
65
+ if (value === OFFICIAL_CATALOG_SOURCE_URL || value === OFFICIAL_CATALOG_SOURCE_SSH_URL) {
66
+ return canonicalizeCatalogGitUrl(OFFICIAL_CATALOG_SOURCE_URL);
67
+ }
68
+ return canonicalizeCatalogGitUrl(value);
69
+ }
64
70
  function normalizeIdentitySubdir(subdir) {
65
71
  if (subdir === undefined)
66
72
  return null;
@@ -96,7 +102,7 @@ export async function canonicalizeCatalogPath(value, cwd) {
96
102
  export async function calculateCatalogSourceIdentity(source) {
97
103
  let location;
98
104
  if (source.type === 'git') {
99
- location = canonicalizeCatalogGitUrl(source.url);
105
+ location = logicalCatalogGitIdentityLocation(source.url);
100
106
  }
101
107
  else if (source.type === 'path') {
102
108
  if (!path.isAbsolute(source.path)) {
@@ -115,4 +121,17 @@ export async function calculateCatalogSourceIdentity(source) {
115
121
  });
116
122
  return `sha256:${crypto.createHash('sha256').update(input).digest('hex')}`;
117
123
  }
124
+ export function calculateCatalogSourceConfigFingerprint(source) {
125
+ const location = source.type === 'git'
126
+ ? canonicalizeCatalogGitUrl(source.url)
127
+ : path.normalize(source.path);
128
+ const input = JSON.stringify({
129
+ version: 1,
130
+ type: source.type,
131
+ location,
132
+ refPolicy: source.type === 'git' ? source.refPolicy : null,
133
+ subdir: normalizeIdentitySubdir(source.type === 'git' ? source.subdir : undefined),
134
+ });
135
+ return `sha256:${crypto.createHash('sha256').update(input).digest('hex')}`;
136
+ }
118
137
  //# sourceMappingURL=catalog-source-identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-source-identity.js","sourceRoot":"","sources":["../../../src/utils/catalog-source-identity.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAC5D,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACpE,OAAO,OAAO,QAAQ,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvG,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC1F,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,IACE,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;WACxC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;WACjD,GAAG,CAAC,QAAQ;WACZ,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,EAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC5G,OAAO,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAe;IAC9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChD,IACE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;WAC1B,UAAU,KAAK,GAAG;WAClB,UAAU,KAAK,IAAI;WACnB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAAa;IACnD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAa,EAAE,GAAW;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAqB;IAErB,IAAI,QAAgB,CAAC;IACrB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3B,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ;QACR,MAAM,EAAE,uBAAuB,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;KACnF,CAAC,CAAC;IACH,OAAO,UAAU,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"catalog-source-identity.js","sourceRoot":"","sources":["../../../src/utils/catalog-source-identity.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export interface CatalogSourceReference {
10
10
  platform?: string;
11
11
  scope?: string;
12
12
  projectKey?: string | null;
13
+ lifecycleMetadataIntegrityDigest?: string;
14
+ pluginVersion?: string;
13
15
  }
14
16
  export declare function canonicalMarketplaceRegistrationNames(references: readonly CatalogSourceReference[], sourceId: string): string[];
15
17
  export interface CatalogSourceReferenceInventory {
@@ -45,6 +47,11 @@ export declare function inventoryCatalogSourceReferences(options: {
45
47
  cwd: string;
46
48
  env?: NodeJS.ProcessEnv;
47
49
  includeHistoricalProjects?: boolean;
50
+ includeOrphanedCodexNativeResidue?: boolean;
51
+ codexNativeResidueTargets?: ReadonlyArray<{
52
+ sourceId?: string;
53
+ pluginName: string;
54
+ }>;
48
55
  }): Promise<CatalogSourceReferenceInventory>;
49
56
  export declare class LegacyCatalogStateUnsupportedError extends Error {
50
57
  readonly code = "legacyStateUnsupported";
@@ -6,8 +6,7 @@ import { readJsonFileIfExists } from './json.js';
6
6
  import { getClaudeHome, getCodexHome, canonicalizePathThroughExistingAncestorSync, resolveAwHome, resolveAwHomeCanonical, resolveRepoRootSync, } from './state-paths.js';
7
7
  import { OWNED_TEXT_HEADER_PREFIX, parseSharedOwnerToken, parseOwnedTextHeader, readSkillOwnerMarker, SKILL_OWNER_MARKER, } from './ownership.js';
8
8
  import { createLifecycleProjectLocationKey, inspectLifecycleActiveSnapshotForInventory, } from './lifecycle-active-store.js';
9
- import { CodexNativeResidueProbeError, discoverCodexNativeResidueNames, } from '../commands/rebuild-integration.js';
10
- import { parseCodexSharedHooksFile } from './hooks-contract.js';
9
+ import { CodexNativeResidueProbeError, discoverCodexNativeResidueNames, inspectCodexNativeResidue, } from '../commands/rebuild-integration.js';
11
10
  import { sanitizeCatalogSourceErrorMessage } from './catalog-public-error.js';
12
11
  import { readPluginManifest } from './manifest.js';
13
12
  import { readStrictNamespacedMarketplaceRoot } from './local-marketplace.js';
@@ -341,7 +340,6 @@ export async function inventoryLegacyOwnerReferences(options) {
341
340
  const skillRoots = new Set([
342
341
  path.join(getCodexHome(env), 'skills'),
343
342
  path.join(getClaudeHome(env), 'skills'),
344
- path.join(repoRoot, '.agents', 'skills'),
345
343
  path.join(repoRoot, '.claude', 'skills'),
346
344
  ]);
347
345
  const legacyPluginsRoot = path.join(awHome, 'plugins');
@@ -393,16 +391,17 @@ export async function inventoryLegacyOwnerReferences(options) {
393
391
  for (const configRoot of [
394
392
  getCodexHome(env),
395
393
  getClaudeHome(env),
396
- path.join(repoRoot, '.codex'),
397
394
  path.join(repoRoot, '.claude'),
398
395
  ]) {
399
396
  references.push(...await findOwnedHeadersInDirectory(path.join(configRoot, 'rules'), new Set(['.md', '.rules']), true, errors, env, options.cwd), ...await findOwnedHeadersInDirectory(path.join(configRoot, 'agents'), new Set(['.md', '.toml']), true, errors, env, options.cwd));
400
397
  }
401
- references.push(...await findOwnedHeadersInDirectory(path.join(repoRoot, '.agents', 'rules'), new Set(['.md']), false, errors, env, options.cwd), ...await findOwnedHeadersInDirectory(path.join(repoRoot, '.agents', 'agents'), new Set(['.md']), false, errors, env, options.cwd));
402
- for (const filePath of [
403
- path.join(getCodexHome(env), 'AGENTS.md'),
404
- path.join(repoRoot, '.codex', 'AGENTS.md'),
398
+ for (const [directory, extensions] of [
399
+ [path.join(repoRoot, '.codex', 'rules'), new Set(['.md', '.rules'])],
400
+ [path.join(repoRoot, '.codex', 'agents'), new Set(['.md', '.toml'])],
405
401
  ]) {
402
+ references.push(...(await findOwnedHeadersInDirectory(directory, extensions, true, errors, env, options.cwd)).filter((reference) => reference.kind === 'namespacedOwner'));
403
+ }
404
+ for (const filePath of [path.join(getCodexHome(env), 'AGENTS.md')]) {
406
405
  const reference = await readOwnedHeaderReference(filePath, false, errors, env, options.cwd);
407
406
  if (reference)
408
407
  references.push(reference);
@@ -655,16 +654,9 @@ async function codexSharedOwnerReferences(filePath, scope, errors, env, cwd) {
655
654
  value,
656
655
  location: filePath,
657
656
  })),
658
- ...Object.values(config.snapshot.mcpServers).flatMap((server) => {
659
- const env = server.value?.env;
660
- const value = isRecord(env) && typeof env.AW_AGENT_WORKFLOWS_OWNER === 'string'
661
- ? env.AW_AGENT_WORKFLOWS_OWNER
662
- : null;
663
- return value ? [{ value, location: filePath }] : [];
664
- }),
665
657
  ];
666
658
  const references = sharedOwnerTokenReferences(filePath, ownerValues.map((entry) => entry.value).filter((value) => value.startsWith('aw-owner-v2:')), errors, env, cwd);
667
- for (const { value, location } of ownerValues) {
659
+ for (const { value, location } of scope === 'user' ? ownerValues : []) {
668
660
  if (value.startsWith('aw-owner-v2:') || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(value))
669
661
  continue;
670
662
  references.push({
@@ -696,43 +688,6 @@ async function claudeSharedOwnerReferences(filePath, scope, errors, env, cwd) {
696
688
  }
697
689
  return references;
698
690
  }
699
- async function codexHookOwnerReferences(filePath, errors, env, cwd) {
700
- const raw = await readJsonFileIfExists(filePath);
701
- if (!raw)
702
- return [];
703
- const parsed = parseCodexSharedHooksFile(raw);
704
- const output = [];
705
- for (const hook of parsed.managedIdentities) {
706
- if (!hook.command.includes(OWNED_TEXT_HEADER_PREFIX))
707
- continue;
708
- let owner;
709
- try {
710
- owner = parseOwnedTextHeader(hook.command)?.identity;
711
- }
712
- catch (error) {
713
- errors.push(inventoryError(error, filePath, 'ownerHeaderParse', env, cwd));
714
- continue;
715
- }
716
- if (!owner)
717
- continue;
718
- output.push(owner.sourceId ? {
719
- kind: 'namespacedOwner',
720
- location: filePath,
721
- sourceId: owner.sourceId,
722
- sourceIdentity: owner.sourceIdentity,
723
- pluginName: owner.plugin,
724
- platform: owner.platform,
725
- scope: owner.scope,
726
- } : {
727
- kind: 'legacyOwner',
728
- location: filePath,
729
- pluginName: owner.plugin,
730
- platform: owner.platform,
731
- scope: owner.scope,
732
- });
733
- }
734
- return output;
735
- }
736
691
  function isRecord(value) {
737
692
  return typeof value === 'object' && value !== null && !Array.isArray(value);
738
693
  }
@@ -1138,6 +1093,8 @@ export async function inventoryCatalogSourceReferences(options) {
1138
1093
  platform: snapshot.metadata.platform,
1139
1094
  scope: snapshot.metadata.scope,
1140
1095
  projectKey: snapshot.metadata.projectKey,
1096
+ lifecycleMetadataIntegrityDigest: snapshot.metadata.metadataIntegrityDigest,
1097
+ pluginVersion: snapshot.metadata.pluginVersion,
1141
1098
  });
1142
1099
  }
1143
1100
  }
@@ -1150,7 +1107,6 @@ export async function inventoryCatalogSourceReferences(options) {
1150
1107
  [path.join(getClaudeHome(env), 'settings.json'), 'nativeStateRead', () => claudeSharedOwnerReferences(path.join(getClaudeHome(env), 'settings.json'), 'user', errors, env, options.cwd)],
1151
1108
  [path.join(resolveRepoRootSync(options.cwd), '.codex', 'config.toml'), 'nativeStateRead', () => codexSharedOwnerReferences(path.join(resolveRepoRootSync(options.cwd), '.codex', 'config.toml'), 'project', errors, env, options.cwd)],
1152
1109
  [path.join(resolveRepoRootSync(options.cwd), '.claude', 'settings.json'), 'nativeStateRead', () => claudeSharedOwnerReferences(path.join(resolveRepoRootSync(options.cwd), '.claude', 'settings.json'), 'project', errors, env, options.cwd)],
1153
- [path.join(resolveRepoRootSync(options.cwd), '.codex', 'hooks.json'), 'nativeStateRead', () => codexHookOwnerReferences(path.join(resolveRepoRootSync(options.cwd), '.codex', 'hooks.json'), errors, env, options.cwd)],
1154
1110
  ]) {
1155
1111
  references.push(...await inventoryRead({
1156
1112
  operation, absent: [], errors, location, kind, env, cwd: options.cwd,
@@ -1293,7 +1249,8 @@ export async function inventoryCatalogSourceReferences(options) {
1293
1249
  && !codexMarketplace.sourcePointsToManifest
1294
1250
  && path.normalize(codexMarketplace.source ?? '') === path.normalize(marketplaceRoot);
1295
1251
  const consumers = [];
1296
- if (marketplaceName !== null
1252
+ if (options.includeOrphanedCodexNativeResidue === true
1253
+ && marketplaceName !== null
1297
1254
  && (strictRoot !== null || (canonicalRoot && codexMarketplaceIsCanonical))) {
1298
1255
  let residueNames = [];
1299
1256
  try {
@@ -1319,6 +1276,38 @@ export async function inventoryCatalogSourceReferences(options) {
1319
1276
  consumers.push({ pluginName, platform: 'codex', scope: 'user' });
1320
1277
  }
1321
1278
  }
1279
+ else if (marketplaceName !== null
1280
+ && (strictRoot !== null || (canonicalRoot && codexMarketplaceIsCanonical))) {
1281
+ const exactPluginNames = [...new Set((options.codexNativeResidueTargets ?? []).flatMap((target) => (target.sourceId === undefined || target.sourceId === sourceEntry.name)
1282
+ ? [target.pluginName]
1283
+ : []))];
1284
+ for (const pluginName of exactPluginNames) {
1285
+ try {
1286
+ const residue = await inspectCodexNativeResidue({
1287
+ cwd: options.cwd,
1288
+ env,
1289
+ pluginName,
1290
+ marketplaceName,
1291
+ marketplaceRoot,
1292
+ });
1293
+ if (residue.state === 'present') {
1294
+ consumers.push({ pluginName, platform: 'codex', scope: 'user' });
1295
+ }
1296
+ else if (residue.state === 'foreign') {
1297
+ throw new Error('Codex native residue has foreign or incomplete identity evidence.');
1298
+ }
1299
+ }
1300
+ catch (error) {
1301
+ errors.push(inventoryError(error, path.join(getCodexHome(env), 'plugins', 'cache', marketplaceName, pluginName), 'nativeStateRead', env, options.cwd, {
1302
+ global: false,
1303
+ sourceId: sourceEntry.name,
1304
+ pluginName,
1305
+ platform: 'codex',
1306
+ scope: 'user',
1307
+ }));
1308
+ }
1309
+ }
1310
+ }
1322
1311
  if (marketplaceName !== null && (strictRoot !== null || codexMarketplaceIsCanonical)) {
1323
1312
  for (const pluginId of Object.keys(codexConfig?.snapshot.plugins ?? {})) {
1324
1313
  const pluginName = pluginNameFromMarketplaceId(pluginId, marketplaceName);