@lesliechan721/aw 0.1.0-beta.3 → 0.1.0-beta.31

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 (529) hide show
  1. package/dist/authoring/assets/aw-config.mjs +100 -501
  2. package/dist/authoring/assets/aw-config.mjs.map +1 -1
  3. package/dist/authoring/scripts/add-skill.mjs +4 -4
  4. package/dist/authoring/scripts/add-skill.mjs.map +1 -1
  5. package/dist/authoring/scripts/init-plugin.mjs +67 -97
  6. package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
  7. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +15 -0
  8. package/dist/authoring/scripts/lib/plugin-version-check.mjs +239 -232
  9. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
  10. package/dist/authoring/scripts/lib/skill-scaffold.d.mts +77 -90
  11. package/dist/authoring/scripts/lib/skill-scaffold.mjs +99 -120
  12. package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -1
  13. package/dist/authoring/scripts/plugin-status.mjs +8 -11
  14. package/dist/authoring/scripts/plugin-status.mjs.map +1 -1
  15. package/dist/authoring/scripts/remove-plugin.mjs +367 -0
  16. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -0
  17. package/dist/authoring/scripts/validate-plugin.mjs +307 -1173
  18. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  19. package/dist/scripts/aw-skill-eval-materializer.d.ts +26 -0
  20. package/dist/scripts/aw-skill-eval-materializer.js +306 -0
  21. package/dist/scripts/aw-skill-eval-materializer.js.map +1 -0
  22. package/dist/scripts/bundle-plugins.d.ts +1 -2
  23. package/dist/scripts/bundle-plugins.js +24 -7
  24. package/dist/scripts/bundle-plugins.js.map +1 -1
  25. package/dist/scripts/plugin-staging.d.ts +7 -24
  26. package/dist/scripts/plugin-staging.js +22 -142
  27. package/dist/scripts/plugin-staging.js.map +1 -1
  28. package/dist/scripts/test-plugin-scripts.d.ts +2 -0
  29. package/dist/scripts/test-plugin-scripts.js +27 -75
  30. package/dist/scripts/test-plugin-scripts.js.map +1 -1
  31. package/dist/src/adapters/helpers.js +2 -2
  32. package/dist/src/adapters/helpers.js.map +1 -1
  33. package/dist/src/authoring/workspace-commands.d.ts +26 -2
  34. package/dist/src/authoring/workspace-commands.js +44 -19
  35. package/dist/src/authoring/workspace-commands.js.map +1 -1
  36. package/dist/src/commands/aw-capabilities.d.ts +78 -0
  37. package/dist/src/commands/aw-capabilities.js +256 -0
  38. package/dist/src/commands/aw-capabilities.js.map +1 -0
  39. package/dist/src/commands/catalog-dev-source.d.ts +154 -0
  40. package/dist/src/commands/catalog-dev-source.js +655 -0
  41. package/dist/src/commands/catalog-dev-source.js.map +1 -0
  42. package/dist/src/commands/catalog-generation.d.ts +21 -0
  43. package/dist/src/commands/catalog-generation.js +9 -0
  44. package/dist/src/commands/catalog-generation.js.map +1 -0
  45. package/dist/src/commands/catalog-publication-inspection.d.ts +138 -0
  46. package/dist/src/commands/catalog-publication-inspection.js +757 -0
  47. package/dist/src/commands/catalog-publication-inspection.js.map +1 -0
  48. package/dist/src/commands/catalog-publication-journal.d.ts +68 -0
  49. package/dist/src/commands/catalog-publication-journal.js +292 -0
  50. package/dist/src/commands/catalog-publication-journal.js.map +1 -0
  51. package/dist/src/commands/catalog-publication-target.d.ts +18 -0
  52. package/dist/src/commands/catalog-publication-target.js +95 -0
  53. package/dist/src/commands/catalog-publication-target.js.map +1 -0
  54. package/dist/src/commands/catalog-publish.d.ts +77 -7
  55. package/dist/src/commands/catalog-publish.js +746 -316
  56. package/dist/src/commands/catalog-publish.js.map +1 -1
  57. package/dist/src/commands/catalog-source.d.ts +60 -22
  58. package/dist/src/commands/catalog-source.js +311 -91
  59. package/dist/src/commands/catalog-source.js.map +1 -1
  60. package/dist/src/commands/catalog-status.d.ts +56 -0
  61. package/dist/src/commands/catalog-status.js +217 -0
  62. package/dist/src/commands/catalog-status.js.map +1 -0
  63. package/dist/src/commands/catalog-store.d.ts +104 -0
  64. package/dist/src/commands/catalog-store.js +685 -0
  65. package/dist/src/commands/catalog-store.js.map +1 -0
  66. package/dist/src/commands/catalog-workspace-resolution.d.ts +13 -0
  67. package/dist/src/commands/catalog-workspace-resolution.js +42 -0
  68. package/dist/src/commands/catalog-workspace-resolution.js.map +1 -0
  69. package/dist/src/commands/console.js +28 -17
  70. package/dist/src/commands/console.js.map +1 -1
  71. package/dist/src/commands/dependency-operation-plan.d.ts +52 -15
  72. package/dist/src/commands/dependency-operation-plan.js +289 -7
  73. package/dist/src/commands/dependency-operation-plan.js.map +1 -1
  74. package/dist/src/commands/init.d.ts +5 -11
  75. package/dist/src/commands/init.js +30 -51
  76. package/dist/src/commands/init.js.map +1 -1
  77. package/dist/src/commands/offline-cleanup-evidence.d.ts +67 -0
  78. package/dist/src/commands/offline-cleanup-evidence.js +181 -0
  79. package/dist/src/commands/offline-cleanup-evidence.js.map +1 -0
  80. package/dist/src/commands/operation-plan.d.ts +127 -0
  81. package/dist/src/commands/operation-plan.js +71 -0
  82. package/dist/src/commands/operation-plan.js.map +1 -0
  83. package/dist/src/commands/operation-planner.d.ts +46 -0
  84. package/dist/src/commands/operation-planner.js +141 -0
  85. package/dist/src/commands/operation-planner.js.map +1 -0
  86. package/dist/src/commands/options.d.ts +9 -7
  87. package/dist/src/commands/options.js +83 -21
  88. package/dist/src/commands/options.js.map +1 -1
  89. package/dist/src/commands/plugin-capabilities.d.ts +22 -0
  90. package/dist/src/commands/plugin-capabilities.js +159 -0
  91. package/dist/src/commands/plugin-capabilities.js.map +1 -0
  92. package/dist/src/commands/rebuild-command.d.ts +77 -30
  93. package/dist/src/commands/rebuild-command.js +3993 -711
  94. package/dist/src/commands/rebuild-command.js.map +1 -1
  95. package/dist/src/commands/rebuild-integration.d.ts +120 -21
  96. package/dist/src/commands/rebuild-integration.js +2765 -1326
  97. package/dist/src/commands/rebuild-integration.js.map +1 -1
  98. package/dist/src/commands/rebuild-operations.d.ts +58 -30
  99. package/dist/src/commands/rebuild-operations.js +260 -319
  100. package/dist/src/commands/rebuild-operations.js.map +1 -1
  101. package/dist/src/commands/reconcile-operation-plan.d.ts +28 -0
  102. package/dist/src/commands/reconcile-operation-plan.js +47 -0
  103. package/dist/src/commands/reconcile-operation-plan.js.map +1 -0
  104. package/dist/src/commands/review-inspection.d.ts +228 -0
  105. package/dist/src/commands/review-inspection.js +1341 -0
  106. package/dist/src/commands/review-inspection.js.map +1 -0
  107. package/dist/src/commands/review-preparation.d.ts +49 -0
  108. package/dist/src/commands/review-preparation.js +427 -0
  109. package/dist/src/commands/review-preparation.js.map +1 -0
  110. package/dist/src/commands/runtime.d.ts +1 -5
  111. package/dist/src/commands/runtime.js +24 -50
  112. package/dist/src/commands/runtime.js.map +1 -1
  113. package/dist/src/commands/skill-eval.d.ts +38 -0
  114. package/dist/src/commands/skill-eval.js +388 -0
  115. package/dist/src/commands/skill-eval.js.map +1 -0
  116. package/dist/src/commands/status-v6.d.ts +279 -0
  117. package/dist/src/commands/status-v6.js +2697 -0
  118. package/dist/src/commands/status-v6.js.map +1 -0
  119. package/dist/src/commands/sync-command.d.ts +40 -0
  120. package/dist/src/commands/sync-command.js +250 -0
  121. package/dist/src/commands/sync-command.js.map +1 -0
  122. package/dist/src/commands/wizard.d.ts +3 -4
  123. package/dist/src/commands/wizard.js +2 -2
  124. package/dist/src/commands/wizard.js.map +1 -1
  125. package/dist/src/commands/write-commands.d.ts +9 -3
  126. package/dist/src/commands/write-commands.js +124 -31
  127. package/dist/src/commands/write-commands.js.map +1 -1
  128. package/dist/src/constants.d.ts +7 -1
  129. package/dist/src/constants.js +7 -1
  130. package/dist/src/constants.js.map +1 -1
  131. package/dist/src/eval/manifest-v1.d.ts +71 -0
  132. package/dist/src/eval/manifest-v1.js +370 -0
  133. package/dist/src/eval/manifest-v1.js.map +1 -0
  134. package/dist/src/generators/local-plugin.d.ts +5 -1
  135. package/dist/src/generators/local-plugin.js +225 -104
  136. package/dist/src/generators/local-plugin.js.map +1 -1
  137. package/dist/src/index.d.ts +10 -4
  138. package/dist/src/index.js +1787 -476
  139. package/dist/src/index.js.map +1 -1
  140. package/dist/src/output/command-receipt.d.ts +43 -46
  141. package/dist/src/output/command-receipt.js +256 -80
  142. package/dist/src/output/command-receipt.js.map +1 -1
  143. package/dist/src/output/model.d.ts +3 -44
  144. package/dist/src/output/model.js +1 -144
  145. package/dist/src/output/model.js.map +1 -1
  146. package/dist/src/output/rebuild-progress.js +1 -13
  147. package/dist/src/output/rebuild-progress.js.map +1 -1
  148. package/dist/src/portable/commands.d.ts +46 -7
  149. package/dist/src/portable/commands.js +349 -37
  150. package/dist/src/portable/commands.js.map +1 -1
  151. package/dist/src/portable/materializer.d.ts +17 -4
  152. package/dist/src/portable/materializer.js +160 -38
  153. package/dist/src/portable/materializer.js.map +1 -1
  154. package/dist/src/portable/skills-cli.d.ts +15 -7
  155. package/dist/src/portable/skills-cli.js +66 -19
  156. package/dist/src/portable/skills-cli.js.map +1 -1
  157. package/dist/src/review/eval-source-input.d.ts +43 -0
  158. package/dist/src/review/eval-source-input.js +207 -0
  159. package/dist/src/review/eval-source-input.js.map +1 -0
  160. package/dist/src/review/review-profile.d.ts +17 -0
  161. package/dist/src/review/review-profile.js +177 -0
  162. package/dist/src/review/review-profile.js.map +1 -0
  163. package/dist/src/review/review-selection.d.ts +30 -0
  164. package/dist/src/review/review-selection.js +527 -0
  165. package/dist/src/review/review-selection.js.map +1 -0
  166. package/dist/src/review/review-types.d.ts +68 -0
  167. package/dist/src/review/review-types.js +16 -0
  168. package/dist/src/review/review-types.js.map +1 -0
  169. package/dist/src/review/skill-materialization.d.ts +13 -0
  170. package/dist/src/review/skill-materialization.js +75 -0
  171. package/dist/src/review/skill-materialization.js.map +1 -0
  172. package/dist/src/review/source-binding.d.ts +182 -0
  173. package/dist/src/review/source-binding.js +682 -0
  174. package/dist/src/review/source-binding.js.map +1 -0
  175. package/dist/src/tui/catalog-freshness.d.ts +1 -0
  176. package/dist/src/tui/catalog-freshness.js +2 -0
  177. package/dist/src/tui/catalog-freshness.js.map +1 -0
  178. package/dist/src/tui/catalog-generation.d.ts +21 -0
  179. package/dist/src/tui/catalog-generation.js +156 -0
  180. package/dist/src/tui/catalog-generation.js.map +1 -0
  181. package/dist/src/tui/catalog-sources/projection.d.ts +4 -0
  182. package/dist/src/tui/catalog-sources/projection.js +17 -0
  183. package/dist/src/tui/catalog-sources/projection.js.map +1 -0
  184. package/dist/src/tui/catalog-sources/review.d.ts +3 -0
  185. package/dist/src/tui/catalog-sources/review.js +13 -0
  186. package/dist/src/tui/catalog-sources/review.js.map +1 -0
  187. package/dist/src/tui/catalog-sources/screens.d.ts +12 -0
  188. package/dist/src/tui/catalog-sources/screens.js +40 -0
  189. package/dist/src/tui/catalog-sources/screens.js.map +1 -0
  190. package/dist/src/tui/catalog-sources/session.d.ts +28 -0
  191. package/dist/src/tui/catalog-sources/session.js +295 -0
  192. package/dist/src/tui/catalog-sources/session.js.map +1 -0
  193. package/dist/src/tui/catalog-sources/types.d.ts +53 -0
  194. package/dist/src/tui/catalog-sources/types.js +2 -0
  195. package/dist/src/tui/catalog-sources/types.js.map +1 -0
  196. package/dist/src/tui/catalog-store-task.d.ts +16 -0
  197. package/dist/src/tui/catalog-store-task.js +19 -0
  198. package/dist/src/tui/catalog-store-task.js.map +1 -0
  199. package/dist/src/tui/components.d.ts +128 -0
  200. package/dist/src/tui/components.js +251 -7
  201. package/dist/src/tui/components.js.map +1 -1
  202. package/dist/src/tui/console-app-v4.d.ts +14 -4
  203. package/dist/src/tui/console-app-v4.js +9248 -1461
  204. package/dist/src/tui/console-app-v4.js.map +1 -1
  205. package/dist/src/tui/controller-runtime.d.ts +13 -1
  206. package/dist/src/tui/controller-runtime.js +3338 -410
  207. package/dist/src/tui/controller-runtime.js.map +1 -1
  208. package/dist/src/tui/controller.d.ts +614 -40
  209. package/dist/src/tui/controller.js +3478 -708
  210. package/dist/src/tui/controller.js.map +1 -1
  211. package/dist/src/tui/dependency-graph.d.ts +81 -0
  212. package/dist/src/tui/dependency-graph.js +455 -0
  213. package/dist/src/tui/dependency-graph.js.map +1 -0
  214. package/dist/src/tui/diagnostic-projection.d.ts +23 -0
  215. package/dist/src/tui/diagnostic-projection.js +567 -0
  216. package/dist/src/tui/diagnostic-projection.js.map +1 -0
  217. package/dist/src/tui/diagnostics.d.ts +30 -0
  218. package/dist/src/tui/diagnostics.js +76 -0
  219. package/dist/src/tui/diagnostics.js.map +1 -0
  220. package/dist/src/tui/glossary.d.ts +23 -0
  221. package/dist/src/tui/glossary.js +42 -0
  222. package/dist/src/tui/glossary.js.map +1 -0
  223. package/dist/src/tui/index.d.ts +11 -4
  224. package/dist/src/tui/index.js +8 -2
  225. package/dist/src/tui/index.js.map +1 -1
  226. package/dist/src/tui/input-display.d.ts +8 -0
  227. package/dist/src/tui/input-display.js +36 -0
  228. package/dist/src/tui/input-display.js.map +1 -0
  229. package/dist/src/tui/keys.d.ts +44 -0
  230. package/dist/src/tui/keys.js +43 -15
  231. package/dist/src/tui/keys.js.map +1 -1
  232. package/dist/src/tui/lifecycle-action-view.d.ts +6 -0
  233. package/dist/src/tui/lifecycle-action-view.js +36 -0
  234. package/dist/src/tui/lifecycle-action-view.js.map +1 -0
  235. package/dist/src/tui/model.d.ts +235 -27
  236. package/dist/src/tui/model.js +1652 -304
  237. package/dist/src/tui/model.js.map +1 -1
  238. package/dist/src/tui/operation-diagnostic-screens.d.ts +21 -0
  239. package/dist/src/tui/operation-diagnostic-screens.js +102 -0
  240. package/dist/src/tui/operation-diagnostic-screens.js.map +1 -0
  241. package/dist/src/tui/operation-history.d.ts +81 -0
  242. package/dist/src/tui/operation-history.js +135 -0
  243. package/dist/src/tui/operation-history.js.map +1 -0
  244. package/dist/src/tui/operation-review-planner.d.ts +21 -0
  245. package/dist/src/tui/operation-review-planner.js +1254 -0
  246. package/dist/src/tui/operation-review-planner.js.map +1 -0
  247. package/dist/src/tui/plugin-content.d.ts +23 -0
  248. package/dist/src/tui/plugin-content.js +336 -0
  249. package/dist/src/tui/plugin-content.js.map +1 -0
  250. package/dist/src/tui/plugin-write-task.d.ts +69 -0
  251. package/dist/src/tui/plugin-write-task.js +286 -0
  252. package/dist/src/tui/plugin-write-task.js.map +1 -0
  253. package/dist/src/tui/prompt.js +4 -15
  254. package/dist/src/tui/prompt.js.map +1 -1
  255. package/dist/src/tui/router.d.ts +183 -11
  256. package/dist/src/tui/router.js +352 -29
  257. package/dist/src/tui/router.js.map +1 -1
  258. package/dist/src/tui/screen-registry.d.ts +702 -0
  259. package/dist/src/tui/screen-registry.js +231 -0
  260. package/dist/src/tui/screen-registry.js.map +1 -0
  261. package/dist/src/tui/session-console-app.d.ts +6 -0
  262. package/dist/src/tui/session-console-app.js +13 -0
  263. package/dist/src/tui/session-console-app.js.map +1 -0
  264. package/dist/src/tui/session-host.d.ts +45 -0
  265. package/dist/src/tui/session-host.js +209 -0
  266. package/dist/src/tui/session-host.js.map +1 -0
  267. package/dist/src/tui/source-ref-presets.d.ts +3 -0
  268. package/dist/src/tui/source-ref-presets.js +11 -0
  269. package/dist/src/tui/source-ref-presets.js.map +1 -0
  270. package/dist/src/tui/theme.d.ts +18 -10
  271. package/dist/src/tui/theme.js +18 -10
  272. package/dist/src/tui/theme.js.map +1 -1
  273. package/dist/src/tui/viewport.d.ts +20 -0
  274. package/dist/src/tui/viewport.js +29 -0
  275. package/dist/src/tui/viewport.js.map +1 -0
  276. package/dist/src/tui/views.js +31 -3
  277. package/dist/src/tui/views.js.map +1 -1
  278. package/dist/src/tui/wizard.js +11 -9
  279. package/dist/src/tui/wizard.js.map +1 -1
  280. package/dist/src/types.d.ts +242 -20
  281. package/dist/src/types.js +1 -0
  282. package/dist/src/types.js.map +1 -1
  283. package/dist/src/utils/agent-version.d.ts +7 -1
  284. package/dist/src/utils/agent-version.js +41 -8
  285. package/dist/src/utils/agent-version.js.map +1 -1
  286. package/dist/src/utils/artifact-plan.d.ts +5 -4
  287. package/dist/src/utils/artifact-plan.js +18 -7
  288. package/dist/src/utils/artifact-plan.js.map +1 -1
  289. package/dist/src/utils/artifact-renderer.d.ts +13 -7
  290. package/dist/src/utils/artifact-renderer.js +196 -219
  291. package/dist/src/utils/artifact-renderer.js.map +1 -1
  292. package/dist/src/utils/artifact-request.d.ts +21 -0
  293. package/dist/src/utils/artifact-request.js +82 -0
  294. package/dist/src/utils/artifact-request.js.map +1 -0
  295. package/dist/src/utils/aw-home-mutation-lock.d.ts +1 -0
  296. package/dist/src/utils/aw-home-mutation-lock.js +32 -4
  297. package/dist/src/utils/aw-home-mutation-lock.js.map +1 -1
  298. package/dist/src/utils/bundle-integrity.d.ts +0 -1
  299. package/dist/src/utils/bundle-integrity.js +0 -25
  300. package/dist/src/utils/bundle-integrity.js.map +1 -1
  301. package/dist/src/utils/bundle-layout.js +14 -29
  302. package/dist/src/utils/bundle-layout.js.map +1 -1
  303. package/dist/src/utils/catalog-capability-projection.d.ts +8 -0
  304. package/dist/src/utils/catalog-capability-projection.js +14 -0
  305. package/dist/src/utils/catalog-capability-projection.js.map +1 -0
  306. package/dist/src/utils/catalog-digests.d.ts +10 -0
  307. package/dist/src/utils/catalog-digests.js +50 -2
  308. package/dist/src/utils/catalog-digests.js.map +1 -1
  309. package/dist/src/utils/catalog-generation-control-snapshot.d.ts +11 -0
  310. package/dist/src/utils/catalog-generation-control-snapshot.js +45 -0
  311. package/dist/src/utils/catalog-generation-control-snapshot.js.map +1 -0
  312. package/dist/src/utils/catalog-generation-error.d.ts +16 -0
  313. package/dist/src/utils/catalog-generation-error.js +30 -0
  314. package/dist/src/utils/catalog-generation-error.js.map +1 -0
  315. package/dist/src/utils/catalog-generation-resolver.d.ts +44 -0
  316. package/dist/src/utils/catalog-generation-resolver.js +273 -0
  317. package/dist/src/utils/catalog-generation-resolver.js.map +1 -0
  318. package/dist/src/utils/catalog-generation-service.d.ts +172 -0
  319. package/dist/src/utils/catalog-generation-service.js +1271 -0
  320. package/dist/src/utils/catalog-generation-service.js.map +1 -0
  321. package/dist/src/utils/catalog-generation-state.d.ts +22 -0
  322. package/dist/src/utils/catalog-generation-state.js +192 -0
  323. package/dist/src/utils/catalog-generation-state.js.map +1 -0
  324. package/dist/src/utils/catalog-generation-store.d.ts +58 -0
  325. package/dist/src/utils/catalog-generation-store.js +452 -0
  326. package/dist/src/utils/catalog-generation-store.js.map +1 -0
  327. package/dist/src/utils/catalog-manifest-v7.d.ts +5 -0
  328. package/dist/src/utils/{catalog-manifest-v4.js → catalog-manifest-v7.js} +35 -43
  329. package/dist/src/utils/catalog-manifest-v7.js.map +1 -0
  330. package/dist/src/utils/catalog-operation-context.d.ts +20 -0
  331. package/dist/src/utils/catalog-operation-context.js +142 -0
  332. package/dist/src/utils/catalog-operation-context.js.map +1 -0
  333. package/dist/src/utils/catalog-public-error.d.ts +7 -3
  334. package/dist/src/utils/catalog-public-error.js +28 -8
  335. package/dist/src/utils/catalog-public-error.js.map +1 -1
  336. package/dist/src/utils/catalog-runtime-projection.d.ts +4 -7
  337. package/dist/src/utils/catalog-runtime-projection.js +7 -102
  338. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  339. package/dist/src/utils/catalog-snapshot.d.ts +5 -3
  340. package/dist/src/utils/catalog-snapshot.js +11 -3
  341. package/dist/src/utils/catalog-snapshot.js.map +1 -1
  342. package/dist/src/utils/catalog-source-identity.d.ts +1 -0
  343. package/dist/src/utils/catalog-source-identity.js +21 -2
  344. package/dist/src/utils/catalog-source-identity.js.map +1 -1
  345. package/dist/src/utils/catalog-source-impact.d.ts +21 -0
  346. package/dist/src/utils/catalog-source-impact.js +344 -0
  347. package/dist/src/utils/catalog-source-impact.js.map +1 -0
  348. package/dist/src/utils/catalog-source-references.d.ts +3 -2
  349. package/dist/src/utils/catalog-source-references.js +195 -347
  350. package/dist/src/utils/catalog-source-references.js.map +1 -1
  351. package/dist/src/utils/catalog-sources.d.ts +15 -1
  352. package/dist/src/utils/catalog-sources.js +206 -27
  353. package/dist/src/utils/catalog-sources.js.map +1 -1
  354. package/dist/src/utils/codex-config.d.ts +2 -0
  355. package/dist/src/utils/codex-config.js +26 -5
  356. package/dist/src/utils/codex-config.js.map +1 -1
  357. package/dist/src/utils/codex-manager.d.ts +79 -0
  358. package/dist/src/utils/codex-manager.js +745 -0
  359. package/dist/src/utils/codex-manager.js.map +1 -0
  360. package/dist/src/utils/codex-marketplace-path.d.ts +5 -0
  361. package/dist/src/utils/codex-marketplace-path.js +45 -0
  362. package/dist/src/utils/codex-marketplace-path.js.map +1 -0
  363. package/dist/src/utils/codex-native-observation.d.ts +49 -0
  364. package/dist/src/utils/codex-native-observation.js +154 -0
  365. package/dist/src/utils/codex-native-observation.js.map +1 -0
  366. package/dist/src/utils/codex-native-render-receipt.d.ts +40 -0
  367. package/dist/src/utils/codex-native-render-receipt.js +205 -0
  368. package/dist/src/utils/codex-native-render-receipt.js.map +1 -0
  369. package/dist/src/utils/codex-reconciler.d.ts +126 -0
  370. package/dist/src/utils/codex-reconciler.js +298 -0
  371. package/dist/src/utils/codex-reconciler.js.map +1 -0
  372. package/dist/src/utils/codex-shared-native.d.ts +43 -0
  373. package/dist/src/utils/codex-shared-native.js +81 -0
  374. package/dist/src/utils/codex-shared-native.js.map +1 -0
  375. package/dist/src/utils/codex-skill-staging.d.ts +2 -0
  376. package/dist/src/utils/codex-skill-staging.js.map +1 -1
  377. package/dist/src/utils/codex-surface-analysis.d.ts +46 -0
  378. package/dist/src/utils/codex-surface-analysis.js +247 -0
  379. package/dist/src/utils/codex-surface-analysis.js.map +1 -0
  380. package/dist/src/utils/dynamic-skill-tree.d.ts +4 -0
  381. package/dist/src/utils/dynamic-skill-tree.js +36 -6
  382. package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
  383. package/dist/src/utils/git-catalog-provider.d.ts +18 -0
  384. package/dist/src/utils/git-catalog-provider.js +170 -144
  385. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  386. package/dist/src/utils/local-marketplace.d.ts +15 -1
  387. package/dist/src/utils/local-marketplace.js +307 -84
  388. package/dist/src/utils/local-marketplace.js.map +1 -1
  389. package/dist/src/utils/manifest.d.ts +1 -4
  390. package/dist/src/utils/manifest.js +1 -4
  391. package/dist/src/utils/manifest.js.map +1 -1
  392. package/dist/src/utils/multi-source-catalog.d.ts +3 -9
  393. package/dist/src/utils/multi-source-catalog.js +54 -110
  394. package/dist/src/utils/multi-source-catalog.js.map +1 -1
  395. package/dist/src/utils/native-cli.d.ts +55 -7
  396. package/dist/src/utils/native-cli.js +386 -57
  397. package/dist/src/utils/native-cli.js.map +1 -1
  398. package/dist/src/utils/orphan-marketplace-cleanup.js +0 -4
  399. package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -1
  400. package/dist/src/utils/ownership.d.ts +84 -20
  401. package/dist/src/utils/ownership.js +179 -222
  402. package/dist/src/utils/ownership.js.map +1 -1
  403. package/dist/src/utils/path-catalog-provider.d.ts +1 -1
  404. package/dist/src/utils/path-catalog-provider.js +54 -65
  405. package/dist/src/utils/path-catalog-provider.js.map +1 -1
  406. package/dist/src/utils/paths.d.ts +0 -1
  407. package/dist/src/utils/paths.js +0 -1
  408. package/dist/src/utils/paths.js.map +1 -1
  409. package/dist/src/utils/plugin-config-impact.d.ts +33 -0
  410. package/dist/src/utils/plugin-config-impact.js +298 -0
  411. package/dist/src/utils/plugin-config-impact.js.map +1 -0
  412. package/dist/src/utils/plugin-config-write.d.ts +52 -27
  413. package/dist/src/utils/plugin-config-write.js +990 -298
  414. package/dist/src/utils/plugin-config-write.js.map +1 -1
  415. package/dist/src/utils/plugin-config.d.ts +140 -93
  416. package/dist/src/utils/plugin-config.js +992 -980
  417. package/dist/src/utils/plugin-config.js.map +1 -1
  418. package/dist/src/utils/plugin-intent-state.d.ts +49 -0
  419. package/dist/src/utils/plugin-intent-state.js +320 -0
  420. package/dist/src/utils/plugin-intent-state.js.map +1 -0
  421. package/dist/src/utils/plugin-scripts.d.ts +62 -125
  422. package/dist/src/utils/plugin-scripts.js +468 -525
  423. package/dist/src/utils/plugin-scripts.js.map +1 -1
  424. package/dist/src/utils/process-tree.d.ts +2 -2
  425. package/dist/src/utils/process-tree.js +1 -1
  426. package/dist/src/utils/process-tree.js.map +1 -1
  427. package/dist/src/utils/project-boundary.d.ts +11 -13
  428. package/dist/src/utils/project-boundary.js +28 -34
  429. package/dist/src/utils/project-boundary.js.map +1 -1
  430. package/dist/src/utils/safe-fs.d.ts +21 -0
  431. package/dist/src/utils/safe-fs.js +111 -0
  432. package/dist/src/utils/safe-fs.js.map +1 -0
  433. package/dist/src/utils/safe-operation-diagnostic.d.ts +15 -0
  434. package/dist/src/utils/safe-operation-diagnostic.js +33 -0
  435. package/dist/src/utils/safe-operation-diagnostic.js.map +1 -0
  436. package/dist/src/utils/sensitive-content.d.ts +4 -0
  437. package/dist/src/utils/sensitive-content.js +36 -0
  438. package/dist/src/utils/sensitive-content.js.map +1 -0
  439. package/dist/src/utils/skill-validation.d.ts +1 -1
  440. package/dist/src/utils/skill-validation.js +1 -1
  441. package/dist/src/utils/skill-validation.js.map +1 -1
  442. package/dist/src/utils/state-paths.d.ts +1 -0
  443. package/dist/src/utils/state-paths.js +12 -2
  444. package/dist/src/utils/state-paths.js.map +1 -1
  445. package/dist/src/utils/target-eligibility.d.ts +8 -2
  446. package/dist/src/utils/target-eligibility.js +17 -8
  447. package/dist/src/utils/target-eligibility.js.map +1 -1
  448. package/dist/src/utils/windows-claude-shim.d.ts +9 -0
  449. package/dist/src/utils/windows-claude-shim.js +141 -0
  450. package/dist/src/utils/windows-claude-shim.js.map +1 -0
  451. package/dist/vitest.config.js +91 -10
  452. package/dist/vitest.config.js.map +1 -1
  453. package/package.json +22 -19
  454. package/dist/authoring/scripts/check-plugin-versions.mjs +0 -5
  455. package/dist/authoring/scripts/check-plugin-versions.mjs.map +0 -1
  456. package/dist/scripts/aw-skill-eval-engine.d.ts +0 -13
  457. package/dist/scripts/aw-skill-eval-engine.js +0 -31
  458. package/dist/scripts/aw-skill-eval-engine.js.map +0 -1
  459. package/dist/scripts/codex-eval-app-server.d.ts +0 -89
  460. package/dist/scripts/codex-eval-app-server.js +0 -1228
  461. package/dist/scripts/codex-eval-app-server.js.map +0 -1
  462. package/dist/scripts/codex-eval-isolation.d.ts +0 -61
  463. package/dist/scripts/codex-eval-isolation.js +0 -318
  464. package/dist/scripts/codex-eval-isolation.js.map +0 -1
  465. package/dist/scripts/codex-eval-process-management.d.ts +0 -8
  466. package/dist/scripts/codex-eval-process-management.js +0 -69
  467. package/dist/scripts/codex-eval-process-management.js.map +0 -1
  468. package/dist/scripts/codex-eval-process-tree.d.ts +0 -38
  469. package/dist/scripts/codex-eval-process-tree.js +0 -803
  470. package/dist/scripts/codex-eval-process-tree.js.map +0 -1
  471. package/dist/scripts/codex-eval-runtime-config.d.ts +0 -62
  472. package/dist/scripts/codex-eval-runtime-config.js +0 -843
  473. package/dist/scripts/codex-eval-runtime-config.js.map +0 -1
  474. package/dist/scripts/codex-trigger-eval.d.ts +0 -84
  475. package/dist/scripts/codex-trigger-eval.js +0 -968
  476. package/dist/scripts/codex-trigger-eval.js.map +0 -1
  477. package/dist/scripts/eval-plugin-skills-audited.d.ts +0 -6
  478. package/dist/scripts/eval-plugin-skills-audited.js +0 -261
  479. package/dist/scripts/eval-plugin-skills-audited.js.map +0 -1
  480. package/dist/scripts/eval-plugin-skills.d.ts +0 -45
  481. package/dist/scripts/eval-plugin-skills.js +0 -1586
  482. package/dist/scripts/eval-plugin-skills.js.map +0 -1
  483. package/dist/scripts/eval-run-layout.d.ts +0 -17
  484. package/dist/scripts/eval-run-layout.js +0 -26
  485. package/dist/scripts/eval-run-layout.js.map +0 -1
  486. package/dist/scripts/plugin-eval-contract.d.ts +0 -185
  487. package/dist/scripts/plugin-eval-contract.js +0 -695
  488. package/dist/scripts/plugin-eval-contract.js.map +0 -1
  489. package/dist/scripts/plugin-eval-materializer.d.ts +0 -13
  490. package/dist/scripts/plugin-eval-materializer.js +0 -421
  491. package/dist/scripts/plugin-eval-materializer.js.map +0 -1
  492. package/dist/scripts/skill-reporting.d.ts +0 -212
  493. package/dist/scripts/skill-reporting.js +0 -922
  494. package/dist/scripts/skill-reporting.js.map +0 -1
  495. package/dist/src/commands/status-v4.d.ts +0 -102
  496. package/dist/src/commands/status-v4.js +0 -844
  497. package/dist/src/commands/status-v4.js.map +0 -1
  498. package/dist/src/commands/status.d.ts +0 -93
  499. package/dist/src/commands/status.js +0 -442
  500. package/dist/src/commands/status.js.map +0 -1
  501. package/dist/src/utils/active-marketplace-runtime-lock.d.ts +0 -12
  502. package/dist/src/utils/active-marketplace-runtime-lock.js +0 -133
  503. package/dist/src/utils/active-marketplace-runtime-lock.js.map +0 -1
  504. package/dist/src/utils/catalog-manifest-v3.d.ts +0 -2
  505. package/dist/src/utils/catalog-manifest-v3.js +0 -3
  506. package/dist/src/utils/catalog-manifest-v3.js.map +0 -1
  507. package/dist/src/utils/catalog-manifest-v4.d.ts +0 -5
  508. package/dist/src/utils/catalog-manifest-v4.js.map +0 -1
  509. package/dist/src/utils/catalog-source-cache.d.ts +0 -61
  510. package/dist/src/utils/catalog-source-cache.js +0 -276
  511. package/dist/src/utils/catalog-source-cache.js.map +0 -1
  512. package/dist/src/utils/codex-project-surface.d.ts +0 -3
  513. package/dist/src/utils/codex-project-surface.js +0 -49
  514. package/dist/src/utils/codex-project-surface.js.map +0 -1
  515. package/dist/src/utils/lifecycle-active-store.d.ts +0 -175
  516. package/dist/src/utils/lifecycle-active-store.js +0 -1276
  517. package/dist/src/utils/lifecycle-active-store.js.map +0 -1
  518. package/dist/src/utils/plugin-authoring-capabilities.d.ts +0 -23
  519. package/dist/src/utils/plugin-authoring-capabilities.js +0 -37
  520. package/dist/src/utils/plugin-authoring-capabilities.js.map +0 -1
  521. package/dist/src/utils/plugin-authoring-capabilities.json +0 -92
  522. package/dist/src/utils/plugin-release.d.ts +0 -2
  523. package/dist/src/utils/plugin-release.js +0 -2
  524. package/dist/src/utils/plugin-release.js.map +0 -1
  525. package/dist/src/utils/skill-frontmatter-capabilities.d.ts +0 -201
  526. package/dist/src/utils/skill-frontmatter-capabilities.js +0 -5
  527. package/dist/src/utils/skill-frontmatter-capabilities.js.map +0 -1
  528. package/dist/src/utils/skill-frontmatter-capabilities.json +0 -200
  529. /package/dist/authoring/scripts/{check-plugin-versions.d.mts → remove-plugin.d.mts} +0 -0
@@ -0,0 +1,452 @@
1
+ import crypto from 'node:crypto';
2
+ import path from 'node:path';
3
+ import fs from 'fs-extra';
4
+ import { CATALOG_STORE_DIRECTORY, CATALOG_STORE_METADATA_FILE } from '../constants.js';
5
+ import { withAwHomeMutationLock } from './aw-home-mutation-lock.js';
6
+ import { CatalogGenerationError } from './catalog-generation-error.js';
7
+ import { readCatalogGenerationState } from './catalog-generation-state.js';
8
+ import { validateCatalogSnapshotTransport } from './catalog-snapshot.js';
9
+ import { normalizeAwCapabilities, parseStrictSemVer } from './manifest.js';
10
+ import { canonicalizePathThroughExistingAncestorSync, ensureRegularDirectoryPath, resolveAwHome, } from './state-paths.js';
11
+ const DIGEST_PATTERN = /^sha256:([0-9a-f]{64})$/u;
12
+ function metadataError(message, cause) {
13
+ return new CatalogGenerationError({
14
+ code: 'catalogGenerationMetadataInvalid',
15
+ message: `${message} Remove the damaged store entry and run aw catalog source sync.`,
16
+ cause,
17
+ });
18
+ }
19
+ function digestHex(value, name) {
20
+ const match = DIGEST_PATTERN.exec(value);
21
+ if (!match)
22
+ throw metadataError(`Invalid ${name}: expected a SHA-256 digest.`);
23
+ return match[1];
24
+ }
25
+ function logicalIdentitySegment(value) {
26
+ if (typeof value !== 'string' || value.trim() === '' || value !== value.trim()) {
27
+ throw metadataError('Invalid Catalog logical identity.');
28
+ }
29
+ return crypto.createHash('sha256').update(value, 'utf8').digest('hex');
30
+ }
31
+ function resolveStrictStoreDescendant(storeRootDir, ...segments) {
32
+ const candidate = path.resolve(storeRootDir, ...segments);
33
+ const relative = path.relative(storeRootDir, candidate);
34
+ if (relative === ''
35
+ || path.isAbsolute(relative)
36
+ || relative === '..'
37
+ || relative.startsWith(`..${path.sep}`))
38
+ throw metadataError('Invalid Catalog store path.');
39
+ return candidate;
40
+ }
41
+ export function createCatalogStoreKey(logicalIdentity, snapshotDigest) {
42
+ return `${logicalIdentitySegment(logicalIdentity)}/${digestHex(snapshotDigest, 'snapshot digest')}`;
43
+ }
44
+ export function resolveCatalogStoreLocation(options) {
45
+ const awHomeDir = canonicalizePathThroughExistingAncestorSync(resolveAwHome(options.env ?? process.env));
46
+ const storeRootDir = path.join(awHomeDir, CATALOG_STORE_DIRECTORY);
47
+ const logicalIdentity = logicalIdentitySegment(options.logicalIdentity);
48
+ const digest = digestHex(options.snapshotDigest, 'snapshot digest');
49
+ const storeKey = `${logicalIdentity}/${digest}`;
50
+ const logicalIdentityDirectory = resolveStrictStoreDescendant(storeRootDir, logicalIdentity);
51
+ const entryDir = resolveStrictStoreDescendant(storeRootDir, logicalIdentity, digest);
52
+ return {
53
+ awHomeDir,
54
+ storeRootDir,
55
+ logicalIdentityDirectory,
56
+ entryDir,
57
+ metadataPath: path.join(entryDir, CATALOG_STORE_METADATA_FILE),
58
+ snapshotRoot: path.join(entryDir, 'snapshot'),
59
+ storeKey,
60
+ };
61
+ }
62
+ function strictRecord(value, keys) {
63
+ if (!value || typeof value !== 'object' || Array.isArray(value))
64
+ return false;
65
+ const actual = Object.keys(value).sort();
66
+ const expected = [...keys].sort();
67
+ return actual.length === expected.length
68
+ && actual.every((key, index) => key === expected[index]);
69
+ }
70
+ function parseMetadata(value) {
71
+ if (!strictRecord(value, [
72
+ 'schemaVersion', 'logicalIdentity', 'catalogVersion', 'channel', 'manifestDigest',
73
+ 'snapshotDigest', 'requiredAwCapabilities',
74
+ ]))
75
+ throw metadataError('Invalid Catalog store metadata.');
76
+ if (value.schemaVersion !== 1
77
+ || typeof value.logicalIdentity !== 'string'
78
+ || value.logicalIdentity.trim() === ''
79
+ || value.logicalIdentity !== value.logicalIdentity.trim()
80
+ || typeof value.catalogVersion !== 'string'
81
+ || (value.channel !== 'latest' && value.channel !== 'beta')
82
+ || typeof value.manifestDigest !== 'string'
83
+ || !DIGEST_PATTERN.test(value.manifestDigest)
84
+ || typeof value.snapshotDigest !== 'string'
85
+ || !DIGEST_PATTERN.test(value.snapshotDigest)
86
+ || !Array.isArray(value.requiredAwCapabilities)
87
+ || value.requiredAwCapabilities.some((entry) => typeof entry !== 'string'))
88
+ throw metadataError('Invalid Catalog store metadata.');
89
+ try {
90
+ parseStrictSemVer(value.catalogVersion, 'Catalog store catalogVersion');
91
+ if (JSON.stringify(normalizeAwCapabilities(value.requiredAwCapabilities))
92
+ !== JSON.stringify(value.requiredAwCapabilities)) {
93
+ throw new Error('Capabilities are not normalized.');
94
+ }
95
+ }
96
+ catch (error) {
97
+ throw metadataError('Invalid Catalog store metadata.', error);
98
+ }
99
+ return value;
100
+ }
101
+ async function readMetadataAtLocation(location) {
102
+ try {
103
+ const stat = await fs.lstat(location.entryDir).catch((error) => {
104
+ if (error.code === 'ENOENT')
105
+ return null;
106
+ throw error;
107
+ });
108
+ if (!stat?.isDirectory() || stat.isSymbolicLink()) {
109
+ throw metadataError('Catalog store entry is missing or unsafe.');
110
+ }
111
+ const metadataStat = await fs.lstat(location.metadataPath).catch((error) => error.code === 'ENOENT' ? null : Promise.reject(error));
112
+ if (!metadataStat?.isFile() || metadataStat.isSymbolicLink()) {
113
+ throw metadataError('Catalog store metadata is missing or unsafe.');
114
+ }
115
+ const metadata = parseMetadata(await fs.readJson(location.metadataPath));
116
+ if (createCatalogStoreKey(metadata.logicalIdentity, metadata.snapshotDigest) !== location.storeKey) {
117
+ throw metadataError('Catalog store metadata does not match its immutable identity.');
118
+ }
119
+ return metadata;
120
+ }
121
+ catch (error) {
122
+ if (error instanceof CatalogGenerationError)
123
+ throw error;
124
+ throw metadataError('Catalog store metadata is unreadable.', error);
125
+ }
126
+ }
127
+ export async function readCatalogStoreMetadata(options) {
128
+ return readMetadataAtLocation(resolveCatalogStoreLocation(options));
129
+ }
130
+ export async function readCatalogSnapshotLogicalIdentity(snapshotRoot) {
131
+ try {
132
+ const markerPath = path.join(snapshotRoot, '.aw-generated.json');
133
+ const stat = await fs.lstat(markerPath).catch((error) => {
134
+ if (error.code === 'ENOENT')
135
+ return null;
136
+ throw error;
137
+ });
138
+ if (!stat?.isFile() || stat.isSymbolicLink())
139
+ throw metadataError('Catalog marker is missing or unsafe.');
140
+ const marker = await fs.readJson(markerPath);
141
+ if (!strictRecord(marker, ['schemaVersion', 'kind', 'workspaceIdentity', 'sourceIdentity'])
142
+ || marker.schemaVersion !== 1
143
+ || marker.kind !== 'catalog'
144
+ || typeof marker.workspaceIdentity !== 'string'
145
+ || marker.workspaceIdentity.trim() === '') {
146
+ throw metadataError('Catalog marker is invalid.');
147
+ }
148
+ return marker.workspaceIdentity;
149
+ }
150
+ catch (error) {
151
+ if (error instanceof CatalogGenerationError)
152
+ throw error;
153
+ throw metadataError('Catalog marker is unreadable.', error);
154
+ }
155
+ }
156
+ async function validateEntry(options) {
157
+ try {
158
+ const metadata = await readMetadataAtLocation(options.location);
159
+ const validation = await validateCatalogSnapshotTransport(options.location.snapshotRoot)
160
+ .catch((error) => { throw metadataError('Catalog store snapshot is damaged.', error); });
161
+ if (validation.manifestDigest !== metadata.manifestDigest
162
+ || validation.snapshotDigest !== metadata.snapshotDigest
163
+ || validation.manifest.catalogVersion !== metadata.catalogVersion
164
+ || validation.manifest.channel !== metadata.channel
165
+ || JSON.stringify(normalizeAwCapabilities(validation.manifest.requires.aw.capabilities ?? []))
166
+ !== JSON.stringify(metadata.requiredAwCapabilities)
167
+ || await readCatalogSnapshotLogicalIdentity(options.location.snapshotRoot) !== metadata.logicalIdentity)
168
+ throw metadataError('Catalog store content does not match its immutable identity.');
169
+ return {
170
+ entryDir: options.location.entryDir,
171
+ snapshotRoot: options.location.snapshotRoot,
172
+ metadata,
173
+ manifest: validation.manifest,
174
+ reused: true,
175
+ };
176
+ }
177
+ catch (error) {
178
+ if (error instanceof CatalogGenerationError)
179
+ throw error;
180
+ throw metadataError('Catalog store entry is unreadable.', error);
181
+ }
182
+ }
183
+ export async function publishCatalogStoreEntry(options) {
184
+ options.signal?.throwIfAborted();
185
+ const logicalIdentity = await readCatalogSnapshotLogicalIdentity(options.resolution.rootDir);
186
+ const location = resolveCatalogStoreLocation({
187
+ logicalIdentity,
188
+ snapshotDigest: options.resolution.snapshotDigest,
189
+ env: options.env,
190
+ });
191
+ await ensureRegularDirectoryPath(location.storeRootDir, 'Catalog store');
192
+ await ensureRegularDirectoryPath(location.logicalIdentityDirectory, 'Catalog logical identity store');
193
+ if (await fs.pathExists(location.entryDir)) {
194
+ try {
195
+ return await validateEntry({ location });
196
+ }
197
+ catch {
198
+ return publishInactiveCatalogStoreEntryReplacement({
199
+ ...options,
200
+ logicalIdentity,
201
+ location,
202
+ });
203
+ }
204
+ }
205
+ const stagingDir = resolveStrictStoreDescendant(location.storeRootDir, path.basename(location.logicalIdentityDirectory), `.staging-${crypto.randomUUID()}.tmp`);
206
+ try {
207
+ await fs.mkdir(stagingDir);
208
+ const snapshotRoot = path.join(stagingDir, 'snapshot');
209
+ await fs.copy(options.resolution.rootDir, snapshotRoot, {
210
+ dereference: false,
211
+ preserveTimestamps: true,
212
+ filter: () => {
213
+ options.signal?.throwIfAborted();
214
+ return true;
215
+ },
216
+ });
217
+ const validation = await validateCatalogSnapshotTransport(snapshotRoot);
218
+ if (validation.manifestDigest !== options.resolution.manifestDigest
219
+ || validation.snapshotDigest !== options.resolution.snapshotDigest
220
+ || await readCatalogSnapshotLogicalIdentity(snapshotRoot) !== logicalIdentity)
221
+ throw new CatalogGenerationError({
222
+ code: 'catalogGenerationPublishFailed',
223
+ sourceId: options.resolution.sourceId,
224
+ message: `Catalog source "${options.resolution.sourceId}" changed before store publication. Run source sync again.`,
225
+ });
226
+ const metadata = {
227
+ schemaVersion: 1,
228
+ logicalIdentity,
229
+ catalogVersion: validation.manifest.catalogVersion,
230
+ channel: validation.manifest.channel,
231
+ manifestDigest: validation.manifestDigest,
232
+ snapshotDigest: validation.snapshotDigest,
233
+ requiredAwCapabilities: normalizeAwCapabilities(validation.manifest.requires.aw.capabilities ?? []),
234
+ };
235
+ await fs.writeFile(path.join(stagingDir, CATALOG_STORE_METADATA_FILE), `${JSON.stringify(metadata, null, 2)}\n`, { flag: 'wx', mode: 0o600 });
236
+ options.signal?.throwIfAborted();
237
+ try {
238
+ await fs.rename(stagingDir, location.entryDir);
239
+ }
240
+ catch (error) {
241
+ const code = error.code;
242
+ if (code !== 'EEXIST' && code !== 'ENOTEMPTY')
243
+ throw error;
244
+ try {
245
+ return await validateEntry({ location });
246
+ }
247
+ catch {
248
+ return publishInactiveCatalogStoreEntryReplacement({
249
+ ...options,
250
+ logicalIdentity,
251
+ location,
252
+ });
253
+ }
254
+ }
255
+ return { entryDir: location.entryDir, snapshotRoot: location.snapshotRoot, metadata, manifest: validation.manifest, reused: false };
256
+ }
257
+ catch (error) {
258
+ if (error instanceof CatalogGenerationError)
259
+ throw error;
260
+ throw new CatalogGenerationError({
261
+ code: 'catalogGenerationPublishFailed',
262
+ sourceId: options.resolution.sourceId,
263
+ message: `Cannot publish Catalog store entry for source "${options.resolution.sourceId}". The previous Active entry is unchanged.`,
264
+ cause: error,
265
+ });
266
+ }
267
+ finally {
268
+ await fs.remove(stagingDir).catch(() => undefined);
269
+ }
270
+ }
271
+ async function publishInactiveCatalogStoreEntryReplacement(options) {
272
+ const prepared = await prepareCatalogStoreEntryRepair({
273
+ resolution: options.resolution,
274
+ logicalIdentity: options.logicalIdentity,
275
+ snapshotDigest: options.resolution.snapshotDigest,
276
+ env: options.env,
277
+ signal: options.signal,
278
+ });
279
+ try {
280
+ await options.afterInactiveRepairPrepared?.();
281
+ return await withAwHomeMutationLock({
282
+ env: options.env,
283
+ signal: options.signal,
284
+ action: async () => {
285
+ let damagedEntryError;
286
+ try {
287
+ return await validateEntry({ location: options.location });
288
+ }
289
+ catch (error) {
290
+ damagedEntryError = error;
291
+ }
292
+ const state = await readCatalogGenerationState(options.env);
293
+ const activeReferencesTarget = Object.values(state.sources).some((source) => source.active !== undefined
294
+ && createCatalogStoreKey(source.active.logicalIdentity, source.active.snapshotDigest) === options.location.storeKey);
295
+ if (activeReferencesTarget)
296
+ throw damagedEntryError;
297
+ return prepared.commit();
298
+ },
299
+ });
300
+ }
301
+ finally {
302
+ await prepared.cleanup();
303
+ }
304
+ }
305
+ export async function readCatalogStoreEntry(options) {
306
+ return validateEntry({ location: resolveCatalogStoreLocation(options) });
307
+ }
308
+ export async function prepareCatalogStoreEntryRepair(options) {
309
+ const location = resolveCatalogStoreLocation(options);
310
+ const stagingDir = resolveStrictStoreDescendant(location.logicalIdentityDirectory, `.replacement-${crypto.randomUUID()}.tmp`);
311
+ const quarantineDir = resolveStrictStoreDescendant(location.logicalIdentityDirectory, `.quarantine-${crypto.randomUUID()}.tmp`);
312
+ let quarantined = false;
313
+ let committed = false;
314
+ try {
315
+ await ensureRegularDirectoryPath(location.storeRootDir, 'Catalog store');
316
+ await ensureRegularDirectoryPath(location.logicalIdentityDirectory, 'Catalog logical identity store');
317
+ await fs.mkdir(stagingDir);
318
+ const snapshotRoot = path.join(stagingDir, 'snapshot');
319
+ await fs.copy(options.resolution.rootDir, snapshotRoot, {
320
+ dereference: false,
321
+ preserveTimestamps: true,
322
+ filter: () => {
323
+ options.signal?.throwIfAborted();
324
+ return true;
325
+ },
326
+ });
327
+ const validation = await validateCatalogSnapshotTransport(snapshotRoot);
328
+ if (validation.manifestDigest !== options.resolution.manifestDigest
329
+ || validation.snapshotDigest !== options.snapshotDigest
330
+ || await readCatalogSnapshotLogicalIdentity(snapshotRoot) !== options.logicalIdentity)
331
+ throw new CatalogGenerationError({
332
+ code: 'catalogGenerationPublishFailed',
333
+ sourceId: options.resolution.sourceId,
334
+ message: `Catalog source "${options.resolution.sourceId}" changed before store repair. Run source sync again.`,
335
+ });
336
+ const metadata = {
337
+ schemaVersion: 1,
338
+ logicalIdentity: options.logicalIdentity,
339
+ catalogVersion: validation.manifest.catalogVersion,
340
+ channel: validation.manifest.channel,
341
+ manifestDigest: validation.manifestDigest,
342
+ snapshotDigest: validation.snapshotDigest,
343
+ requiredAwCapabilities: normalizeAwCapabilities(validation.manifest.requires.aw.capabilities ?? []),
344
+ };
345
+ await fs.writeFile(path.join(stagingDir, CATALOG_STORE_METADATA_FILE), `${JSON.stringify(metadata, null, 2)}\n`, { flag: 'wx', mode: 0o600 });
346
+ await validateEntry({ location: {
347
+ ...location,
348
+ entryDir: stagingDir,
349
+ metadataPath: path.join(stagingDir, CATALOG_STORE_METADATA_FILE),
350
+ snapshotRoot,
351
+ } });
352
+ options.signal?.throwIfAborted();
353
+ const cleanup = async () => {
354
+ await fs.remove(stagingDir).catch(() => undefined);
355
+ if (quarantined && !await fs.pathExists(location.entryDir)) {
356
+ await fs.rename(quarantineDir, location.entryDir).catch(() => undefined);
357
+ }
358
+ };
359
+ return {
360
+ async commit() {
361
+ if (committed)
362
+ throw new CatalogGenerationError({
363
+ code: 'catalogGenerationPublishFailed',
364
+ sourceId: options.resolution.sourceId,
365
+ message: `Catalog store repair for source "${options.resolution.sourceId}" was already committed.`,
366
+ });
367
+ let installedReplacement = false;
368
+ try {
369
+ const targetExists = await fs.lstat(location.entryDir)
370
+ .then(() => true)
371
+ .catch((error) => {
372
+ if (error.code === 'ENOENT')
373
+ return false;
374
+ throw error;
375
+ });
376
+ if (targetExists) {
377
+ await fs.rename(location.entryDir, quarantineDir);
378
+ quarantined = true;
379
+ }
380
+ try {
381
+ await fs.rename(stagingDir, location.entryDir);
382
+ installedReplacement = true;
383
+ }
384
+ catch (error) {
385
+ if (quarantined && !await fs.pathExists(location.entryDir)) {
386
+ await fs.rename(quarantineDir, location.entryDir);
387
+ quarantined = false;
388
+ }
389
+ throw error;
390
+ }
391
+ const entry = await validateEntry({ location });
392
+ committed = true;
393
+ if (quarantined)
394
+ await fs.remove(quarantineDir).catch(() => {
395
+ try {
396
+ process.emitWarning('Catalog store repair succeeded, but quarantine cleanup failed.', {
397
+ code: 'AW_CATALOG_STORE_QUARANTINE_CLEANUP_FAILED',
398
+ });
399
+ }
400
+ catch {
401
+ // Cleanup diagnostics cannot replace the repair result.
402
+ }
403
+ });
404
+ quarantined = false;
405
+ return { ...entry, reused: false };
406
+ }
407
+ catch (error) {
408
+ if (quarantined) {
409
+ if (installedReplacement) {
410
+ await fs.remove(location.entryDir).catch(() => undefined);
411
+ }
412
+ if (!await fs.pathExists(location.entryDir)) {
413
+ await fs.rename(quarantineDir, location.entryDir).then(() => {
414
+ quarantined = false;
415
+ }).catch(() => undefined);
416
+ }
417
+ }
418
+ if (error instanceof CatalogGenerationError)
419
+ throw error;
420
+ throw new CatalogGenerationError({
421
+ code: 'catalogGenerationPublishFailed',
422
+ sourceId: options.resolution.sourceId,
423
+ message: `Cannot repair the Catalog store entry for source "${options.resolution.sourceId}".`,
424
+ cause: error,
425
+ });
426
+ }
427
+ },
428
+ cleanup,
429
+ };
430
+ }
431
+ catch (error) {
432
+ await fs.remove(stagingDir).catch(() => undefined);
433
+ if (error instanceof CatalogGenerationError)
434
+ throw error;
435
+ throw new CatalogGenerationError({
436
+ code: 'catalogGenerationPublishFailed',
437
+ sourceId: options.resolution.sourceId,
438
+ message: `Cannot prepare the Catalog store repair for source "${options.resolution.sourceId}".`,
439
+ cause: error,
440
+ });
441
+ }
442
+ }
443
+ export async function replaceDamagedCatalogStoreEntry(options) {
444
+ const prepared = await prepareCatalogStoreEntryRepair(options);
445
+ try {
446
+ return await prepared.commit();
447
+ }
448
+ finally {
449
+ await prepared.cleanup();
450
+ }
451
+ }
452
+ //# sourceMappingURL=catalog-generation-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-generation-store.js","sourceRoot":"","sources":["../../../src/utils/catalog-generation-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CatalogManifestV7, CatalogManifestV7Entry, PluginMeta } from '../types.js';
2
+ export declare const CATALOG_SCHEMA_7_CAPABILITY = "aw.catalog-snapshot.v7";
3
+ export declare function validateCatalogManifestV7(rawManifest: unknown): CatalogManifestV7;
4
+ export declare function createCatalogManifestV7(manifest: Omit<CatalogManifestV7, 'schemaVersion'>): CatalogManifestV7;
5
+ export declare function createCatalogManifestV7Entry(plugin: PluginMeta, pluginRoot: string): Promise<CatalogManifestV7Entry>;
@@ -1,8 +1,10 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'node:path';
1
3
  import { calculateCatalogEntryArtifactDigest, calculateCatalogEntryContentDigest, calculateCatalogEntryManifestDigest, } from './catalog-digests.js';
2
- import { createMarketplaceManifestEntry, normalizeCatalogManifestBase, normalizeCatalogManifestEntries, normalizeCatalogMarketplaceIdentity, compareStrictSemVer, } from './manifest.js';
4
+ import { createMarketplaceManifestEntry, normalizeCatalogManifestBase, normalizeCatalogManifestEntries, normalizeCatalogMarketplaceIdentity, normalizeAwCapabilities, } from './manifest.js';
3
5
  const DIGEST_PATTERN = /^sha256:[0-9a-f]{64}$/;
4
6
  const SOURCE_HEAD_PATTERN = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/;
5
- export const CATALOG_SCHEMA_4_CLI_FLOOR = '0.0.0';
7
+ export const CATALOG_SCHEMA_7_CAPABILITY = 'aw.catalog-snapshot.v7';
6
8
  function assertObject(value, fieldName) {
7
9
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
8
10
  throw new Error(`Invalid ${fieldName}: expected an object.`);
@@ -22,85 +24,75 @@ function digest(value, fieldName) {
22
24
  return value;
23
25
  }
24
26
  function normalizeRelease(raw) {
25
- const release = assertObject(raw, 'catalog manifest v4.release');
27
+ const release = assertObject(raw, 'catalog manifest v7.release');
26
28
  if (release.state === 'development') {
27
- assertAllowedKeys(release, 'catalog manifest v4.release', ['state']);
29
+ assertAllowedKeys(release, 'catalog manifest v7.release', ['state']);
28
30
  return { state: 'development' };
29
31
  }
30
32
  if (release.state !== 'published') {
31
- throw new Error('Invalid catalog manifest v4.release.state.');
32
- }
33
- assertAllowedKeys(release, 'catalog manifest v4.release', [
34
- 'state', 'targetVersion', 'planId', 'sourceHead', 'contentDigest',
35
- ]);
36
- if (typeof release.targetVersion !== 'string' || !/^\d+\.\d+\.\d+$/u.test(release.targetVersion)) {
37
- throw new Error('Invalid catalog manifest v4.release.targetVersion: expected a stable version.');
33
+ throw new Error('Invalid catalog manifest v7.release.state.');
38
34
  }
35
+ assertAllowedKeys(release, 'catalog manifest v7.release', ['state', 'sourceHead']);
39
36
  if (typeof release.sourceHead !== 'string' || !SOURCE_HEAD_PATTERN.test(release.sourceHead)) {
40
- throw new Error('Invalid catalog manifest v4.release.sourceHead.');
37
+ throw new Error('Invalid catalog manifest v7.release.sourceHead.');
41
38
  }
42
39
  return {
43
40
  state: 'published',
44
- targetVersion: release.targetVersion,
45
- planId: digest(release.planId, 'catalog manifest v4.release.planId'),
46
41
  sourceHead: release.sourceHead,
47
- contentDigest: digest(release.contentDigest, 'catalog manifest v4.release.contentDigest'),
48
42
  };
49
43
  }
50
- export function validateCatalogManifestV4(rawManifest) {
51
- const input = assertObject(rawManifest, 'catalog manifest v4');
52
- assertAllowedKeys(input, 'catalog manifest v4', [
53
- 'schemaVersion', 'catalogVersion', 'channel', 'compatibility', 'marketplace', 'release', 'entries',
44
+ export function validateCatalogManifestV7(rawManifest) {
45
+ const input = assertObject(rawManifest, 'catalog manifest v7');
46
+ assertAllowedKeys(input, 'catalog manifest v7', [
47
+ 'schemaVersion', 'catalogVersion', 'channel', 'requires', 'marketplace', 'release', 'entries',
54
48
  ]);
55
- if (input.schemaVersion !== 4) {
56
- throw new Error('Invalid catalog manifest v4.schemaVersion: expected 4.');
49
+ if (input.schemaVersion !== 7) {
50
+ throw new Error('Invalid catalog manifest v7.schemaVersion: expected 7.');
57
51
  }
58
52
  if (!Array.isArray(input.entries)) {
59
- throw new Error('Invalid catalog manifest v4.entries: expected an array.');
53
+ throw new Error('Invalid catalog manifest v7.entries: expected an array.');
60
54
  }
61
55
  const contentDigests = [];
62
56
  const entryInputs = input.entries.map((rawEntry, index) => {
63
- const entry = assertObject(rawEntry, `catalog manifest v4.entries[${index}]`);
64
- contentDigests.push(digest(entry.contentDigest, `catalog manifest v4.entries[${index}].contentDigest`));
57
+ const entry = assertObject(rawEntry, `catalog manifest v7.entries[${index}]`);
58
+ contentDigests.push(digest(entry.contentDigest, `catalog manifest v7.entries[${index}].contentDigest`));
65
59
  const entryInput = { ...entry };
66
60
  delete entryInput.contentDigest;
67
61
  return entryInput;
68
62
  });
69
- const base = normalizeCatalogManifestBase(input, 'catalog manifest v4');
63
+ const base = normalizeCatalogManifestBase(input, 'catalog manifest v7');
70
64
  const marketplace = normalizeCatalogMarketplaceIdentity(input.marketplace);
71
- if (compareStrictSemVer(base.compatibility.aw.minVersion, CATALOG_SCHEMA_4_CLI_FLOOR) < 0) {
72
- throw new Error(`Invalid catalog manifest v4.compatibility.aw.minVersion: schema 4 requires ${CATALOG_SCHEMA_4_CLI_FLOOR} or newer.`);
65
+ if (!(base.requires.aw.capabilities ?? []).includes(CATALOG_SCHEMA_7_CAPABILITY)) {
66
+ throw new Error(`Invalid catalog manifest v7.requires.aw.capabilities: expected ${CATALOG_SCHEMA_7_CAPABILITY}.`);
73
67
  }
74
- const entries = normalizeCatalogManifestEntries(entryInputs, base, 'catalog manifest v4');
68
+ const entries = normalizeCatalogManifestEntries(entryInputs, base, 'catalog manifest v7');
75
69
  const release = normalizeRelease(input.release);
76
- if (release.state === 'published'
77
- && release.targetVersion !== base.catalogVersion.replace(/-beta\.[1-9]\d*$/u, '')) {
78
- throw new Error('Invalid catalog manifest v4.release.targetVersion: must equal the stable catalogVersion core.');
79
- }
80
70
  return {
81
- schemaVersion: 4,
71
+ schemaVersion: 7,
82
72
  catalogVersion: base.catalogVersion,
83
73
  channel: base.channel,
84
- compatibility: base.compatibility,
74
+ requires: base.requires,
85
75
  marketplace,
86
76
  release,
87
77
  entries: entries.map((entry, index) => ({ ...entry, contentDigest: contentDigests[index] })),
88
78
  };
89
79
  }
90
- export function createCatalogManifestV4(manifest) {
91
- return validateCatalogManifestV4({ schemaVersion: 4, ...manifest });
80
+ export function createCatalogManifestV7(manifest) {
81
+ return validateCatalogManifestV7({ schemaVersion: 7, ...manifest });
92
82
  }
93
- export async function createCatalogManifestV4Entry(plugin, pluginRoot) {
94
- if (!plugin.manifest.compatibility) {
95
- throw new Error(`Plugin "${plugin.manifest.name}" is missing compatibility metadata.`);
96
- }
83
+ export async function createCatalogManifestV7Entry(plugin, pluginRoot) {
97
84
  return {
98
85
  ...createMarketplaceManifestEntry(plugin),
99
86
  version: plugin.manifest.version,
100
- compatibility: plugin.manifest.compatibility,
87
+ dependencies: [...(plugin.manifest.dependencies ?? [])].sort(),
88
+ requires: {
89
+ aw: {
90
+ capabilities: normalizeAwCapabilities(plugin.manifest.requires?.aw.capabilities ?? []),
91
+ },
92
+ },
101
93
  artifactDigest: await calculateCatalogEntryArtifactDigest(pluginRoot),
102
- manifestDigest: calculateCatalogEntryManifestDigest(plugin.manifest),
94
+ manifestDigest: calculateCatalogEntryManifestDigest(await fs.readJson(path.join(pluginRoot, '.agents-plugin', 'plugin.json'))),
103
95
  contentDigest: await calculateCatalogEntryContentDigest(pluginRoot),
104
96
  };
105
97
  }
106
- //# sourceMappingURL=catalog-manifest-v4.js.map
98
+ //# sourceMappingURL=catalog-manifest-v7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-manifest-v7.js","sourceRoot":"","sources":["../../../src/utils/catalog-manifest-v7.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { CatalogGenerationSet, CatalogSourceId } from '../types.js';
2
+ import type { CatalogStoreEntry } from './catalog-generation-store.js';
3
+ import type { CatalogSourcesConfigSnapshot } from './catalog-sources.js';
4
+ import type { MultiSourceCatalogResolution } from './multi-source-catalog.js';
5
+ export interface CatalogOperationContext {
6
+ generationSet: CatalogGenerationSet;
7
+ generationSetDigest: string;
8
+ catalog: MultiSourceCatalogResolution;
9
+ }
10
+ export interface ResolveCatalogOperationContextOptions {
11
+ sourceIds?: CatalogSourceId[];
12
+ configSnapshot?: CatalogSourcesConfigSnapshot;
13
+ env?: NodeJS.ProcessEnv;
14
+ signal?: AbortSignal;
15
+ validatedStoreEntries?: Map<string, CatalogStoreEntry>;
16
+ validatingStoreEntries?: Map<string, Promise<CatalogStoreEntry>>;
17
+ }
18
+ export declare function selectCatalogOperationContext(context: CatalogOperationContext, sourceIds: CatalogSourceId[]): CatalogOperationContext;
19
+ export declare function resolveCatalogOperationContext(options?: ResolveCatalogOperationContextOptions): Promise<CatalogOperationContext>;
20
+ export declare function resolvePartialCatalogOperationContext(options?: ResolveCatalogOperationContextOptions): Promise<CatalogOperationContext>;