@lesliechan721/aw 0.1.0-beta.10

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 (508) hide show
  1. package/dist/authoring/assets/aw-config.d.mts +51 -0
  2. package/dist/authoring/assets/aw-config.mjs +1025 -0
  3. package/dist/authoring/assets/aw-config.mjs.map +1 -0
  4. package/dist/authoring/scripts/add-skill.d.mts +2 -0
  5. package/dist/authoring/scripts/add-skill.mjs +355 -0
  6. package/dist/authoring/scripts/add-skill.mjs.map +1 -0
  7. package/dist/authoring/scripts/init-plugin.d.mts +2 -0
  8. package/dist/authoring/scripts/init-plugin.mjs +487 -0
  9. package/dist/authoring/scripts/init-plugin.mjs.map +1 -0
  10. package/dist/authoring/scripts/lib/javascript-import-scanner.d.mts +4 -0
  11. package/dist/authoring/scripts/lib/javascript-import-scanner.mjs +261 -0
  12. package/dist/authoring/scripts/lib/javascript-import-scanner.mjs.map +1 -0
  13. package/dist/authoring/scripts/lib/plugin-root.d.mts +26 -0
  14. package/dist/authoring/scripts/lib/plugin-root.mjs +125 -0
  15. package/dist/authoring/scripts/lib/plugin-root.mjs.map +1 -0
  16. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +69 -0
  17. package/dist/authoring/scripts/lib/plugin-version-check.mjs +563 -0
  18. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -0
  19. package/dist/authoring/scripts/lib/semver.d.mts +9 -0
  20. package/dist/authoring/scripts/lib/semver.mjs +63 -0
  21. package/dist/authoring/scripts/lib/semver.mjs.map +1 -0
  22. package/dist/authoring/scripts/lib/skill-scaffold.d.mts +111 -0
  23. package/dist/authoring/scripts/lib/skill-scaffold.mjs +353 -0
  24. package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -0
  25. package/dist/authoring/scripts/plugin-status.d.mts +2 -0
  26. package/dist/authoring/scripts/plugin-status.mjs +93 -0
  27. package/dist/authoring/scripts/plugin-status.mjs.map +1 -0
  28. package/dist/authoring/scripts/remove-plugin.d.mts +2 -0
  29. package/dist/authoring/scripts/remove-plugin.mjs +367 -0
  30. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -0
  31. package/dist/authoring/scripts/validate-plugin.d.mts +2 -0
  32. package/dist/authoring/scripts/validate-plugin.mjs +3465 -0
  33. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -0
  34. package/dist/authoring/scripts/validate-skill.d.mts +2 -0
  35. package/dist/authoring/scripts/validate-skill.mjs +126 -0
  36. package/dist/authoring/scripts/validate-skill.mjs.map +1 -0
  37. package/dist/authoring/templates/aw-config-runtime.d.mts +2 -0
  38. package/dist/authoring/templates/aw-config-runtime.mjs +407 -0
  39. package/dist/authoring/templates/aw-config-runtime.mjs.map +1 -0
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.js +8 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/scripts/aw-skill-eval-materializer.d.ts +24 -0
  44. package/dist/scripts/aw-skill-eval-materializer.js +309 -0
  45. package/dist/scripts/aw-skill-eval-materializer.js.map +1 -0
  46. package/dist/scripts/bundle-plugins.d.ts +17 -0
  47. package/dist/scripts/bundle-plugins.js +126 -0
  48. package/dist/scripts/bundle-plugins.js.map +1 -0
  49. package/dist/scripts/plugin-staging.d.ts +26 -0
  50. package/dist/scripts/plugin-staging.js +76 -0
  51. package/dist/scripts/plugin-staging.js.map +1 -0
  52. package/dist/scripts/test-plugin-scripts.d.ts +7 -0
  53. package/dist/scripts/test-plugin-scripts.js +610 -0
  54. package/dist/scripts/test-plugin-scripts.js.map +1 -0
  55. package/dist/src/adapters/helpers.d.ts +44 -0
  56. package/dist/src/adapters/helpers.js +95 -0
  57. package/dist/src/adapters/helpers.js.map +1 -0
  58. package/dist/src/authoring/workspace-commands.d.ts +70 -0
  59. package/dist/src/authoring/workspace-commands.js +158 -0
  60. package/dist/src/authoring/workspace-commands.js.map +1 -0
  61. package/dist/src/commands/aw-capabilities.d.ts +78 -0
  62. package/dist/src/commands/aw-capabilities.js +254 -0
  63. package/dist/src/commands/aw-capabilities.js.map +1 -0
  64. package/dist/src/commands/catalog-dev-source.d.ts +120 -0
  65. package/dist/src/commands/catalog-dev-source.js +434 -0
  66. package/dist/src/commands/catalog-dev-source.js.map +1 -0
  67. package/dist/src/commands/catalog-generation.d.ts +16 -0
  68. package/dist/src/commands/catalog-generation.js +9 -0
  69. package/dist/src/commands/catalog-generation.js.map +1 -0
  70. package/dist/src/commands/catalog-publication-inspection.d.ts +138 -0
  71. package/dist/src/commands/catalog-publication-inspection.js +711 -0
  72. package/dist/src/commands/catalog-publication-inspection.js.map +1 -0
  73. package/dist/src/commands/catalog-publication-journal.d.ts +56 -0
  74. package/dist/src/commands/catalog-publication-journal.js +215 -0
  75. package/dist/src/commands/catalog-publication-journal.js.map +1 -0
  76. package/dist/src/commands/catalog-publication-target.d.ts +18 -0
  77. package/dist/src/commands/catalog-publication-target.js +95 -0
  78. package/dist/src/commands/catalog-publication-target.js.map +1 -0
  79. package/dist/src/commands/catalog-publish.d.ts +103 -0
  80. package/dist/src/commands/catalog-publish.js +804 -0
  81. package/dist/src/commands/catalog-publish.js.map +1 -0
  82. package/dist/src/commands/catalog-source.d.ts +134 -0
  83. package/dist/src/commands/catalog-source.js +377 -0
  84. package/dist/src/commands/catalog-source.js.map +1 -0
  85. package/dist/src/commands/catalog-status.d.ts +56 -0
  86. package/dist/src/commands/catalog-status.js +217 -0
  87. package/dist/src/commands/catalog-status.js.map +1 -0
  88. package/dist/src/commands/catalog-store.d.ts +80 -0
  89. package/dist/src/commands/catalog-store.js +348 -0
  90. package/dist/src/commands/catalog-store.js.map +1 -0
  91. package/dist/src/commands/catalog-workspace-resolution.d.ts +13 -0
  92. package/dist/src/commands/catalog-workspace-resolution.js +42 -0
  93. package/dist/src/commands/catalog-workspace-resolution.js.map +1 -0
  94. package/dist/src/commands/console.d.ts +3 -0
  95. package/dist/src/commands/console.js +44 -0
  96. package/dist/src/commands/console.js.map +1 -0
  97. package/dist/src/commands/dependency-operation-plan.d.ts +58 -0
  98. package/dist/src/commands/dependency-operation-plan.js +261 -0
  99. package/dist/src/commands/dependency-operation-plan.js.map +1 -0
  100. package/dist/src/commands/init.d.ts +25 -0
  101. package/dist/src/commands/init.js +42 -0
  102. package/dist/src/commands/init.js.map +1 -0
  103. package/dist/src/commands/offline-cleanup-evidence.d.ts +59 -0
  104. package/dist/src/commands/offline-cleanup-evidence.js +163 -0
  105. package/dist/src/commands/offline-cleanup-evidence.js.map +1 -0
  106. package/dist/src/commands/operation-plan.d.ts +126 -0
  107. package/dist/src/commands/operation-plan.js +47 -0
  108. package/dist/src/commands/operation-plan.js.map +1 -0
  109. package/dist/src/commands/operation-planner.d.ts +46 -0
  110. package/dist/src/commands/operation-planner.js +139 -0
  111. package/dist/src/commands/operation-planner.js.map +1 -0
  112. package/dist/src/commands/options.d.ts +70 -0
  113. package/dist/src/commands/options.js +194 -0
  114. package/dist/src/commands/options.js.map +1 -0
  115. package/dist/src/commands/plugin-capabilities.d.ts +22 -0
  116. package/dist/src/commands/plugin-capabilities.js +159 -0
  117. package/dist/src/commands/plugin-capabilities.js.map +1 -0
  118. package/dist/src/commands/rebuild-command.d.ts +88 -0
  119. package/dist/src/commands/rebuild-command.js +3626 -0
  120. package/dist/src/commands/rebuild-command.js.map +1 -0
  121. package/dist/src/commands/rebuild-integration.d.ts +190 -0
  122. package/dist/src/commands/rebuild-integration.js +4439 -0
  123. package/dist/src/commands/rebuild-integration.js.map +1 -0
  124. package/dist/src/commands/rebuild-operations.d.ts +100 -0
  125. package/dist/src/commands/rebuild-operations.js +625 -0
  126. package/dist/src/commands/rebuild-operations.js.map +1 -0
  127. package/dist/src/commands/reconcile-operation-plan.d.ts +26 -0
  128. package/dist/src/commands/reconcile-operation-plan.js +28 -0
  129. package/dist/src/commands/reconcile-operation-plan.js.map +1 -0
  130. package/dist/src/commands/review-publication.d.ts +99 -0
  131. package/dist/src/commands/review-publication.js +904 -0
  132. package/dist/src/commands/review-publication.js.map +1 -0
  133. package/dist/src/commands/runtime.d.ts +172 -0
  134. package/dist/src/commands/runtime.js +720 -0
  135. package/dist/src/commands/runtime.js.map +1 -0
  136. package/dist/src/commands/skill-eval.d.ts +33 -0
  137. package/dist/src/commands/skill-eval.js +363 -0
  138. package/dist/src/commands/skill-eval.js.map +1 -0
  139. package/dist/src/commands/status-v6.d.ts +206 -0
  140. package/dist/src/commands/status-v6.js +2175 -0
  141. package/dist/src/commands/status-v6.js.map +1 -0
  142. package/dist/src/commands/sync-command.d.ts +23 -0
  143. package/dist/src/commands/sync-command.js +242 -0
  144. package/dist/src/commands/sync-command.js.map +1 -0
  145. package/dist/src/commands/wizard.d.ts +56 -0
  146. package/dist/src/commands/wizard.js +58 -0
  147. package/dist/src/commands/wizard.js.map +1 -0
  148. package/dist/src/commands/write-commands.d.ts +7 -0
  149. package/dist/src/commands/write-commands.js +190 -0
  150. package/dist/src/commands/write-commands.js.map +1 -0
  151. package/dist/src/constants.d.ts +31 -0
  152. package/dist/src/constants.js +32 -0
  153. package/dist/src/constants.js.map +1 -0
  154. package/dist/src/eval/manifest-v1.d.ts +67 -0
  155. package/dist/src/eval/manifest-v1.js +347 -0
  156. package/dist/src/eval/manifest-v1.js.map +1 -0
  157. package/dist/src/generators/agents.d.ts +3 -0
  158. package/dist/src/generators/agents.js +46 -0
  159. package/dist/src/generators/agents.js.map +1 -0
  160. package/dist/src/generators/hooks.d.ts +15 -0
  161. package/dist/src/generators/hooks.js +76 -0
  162. package/dist/src/generators/hooks.js.map +1 -0
  163. package/dist/src/generators/instructions.d.ts +13 -0
  164. package/dist/src/generators/instructions.js +66 -0
  165. package/dist/src/generators/instructions.js.map +1 -0
  166. package/dist/src/generators/local-plugin.d.ts +56 -0
  167. package/dist/src/generators/local-plugin.js +1373 -0
  168. package/dist/src/generators/local-plugin.js.map +1 -0
  169. package/dist/src/generators/permissions.d.ts +10 -0
  170. package/dist/src/generators/permissions.js +37 -0
  171. package/dist/src/generators/permissions.js.map +1 -0
  172. package/dist/src/generators/shared.d.ts +2 -0
  173. package/dist/src/generators/shared.js +15 -0
  174. package/dist/src/generators/shared.js.map +1 -0
  175. package/dist/src/index.d.ts +41 -0
  176. package/dist/src/index.js +3327 -0
  177. package/dist/src/index.js.map +1 -0
  178. package/dist/src/output/command-receipt.d.ts +87 -0
  179. package/dist/src/output/command-receipt.js +302 -0
  180. package/dist/src/output/command-receipt.js.map +1 -0
  181. package/dist/src/output/debug-log.d.ts +4 -0
  182. package/dist/src/output/debug-log.js +97 -0
  183. package/dist/src/output/debug-log.js.map +1 -0
  184. package/dist/src/output/equivalent-command.d.ts +9 -0
  185. package/dist/src/output/equivalent-command.js +39 -0
  186. package/dist/src/output/equivalent-command.js.map +1 -0
  187. package/dist/src/output/model.d.ts +76 -0
  188. package/dist/src/output/model.js +2 -0
  189. package/dist/src/output/model.js.map +1 -0
  190. package/dist/src/output/rebuild-progress.d.ts +21 -0
  191. package/dist/src/output/rebuild-progress.js +128 -0
  192. package/dist/src/output/rebuild-progress.js.map +1 -0
  193. package/dist/src/output/redact.d.ts +3 -0
  194. package/dist/src/output/redact.js +39 -0
  195. package/dist/src/output/redact.js.map +1 -0
  196. package/dist/src/output/reporter.d.ts +9 -0
  197. package/dist/src/output/reporter.js +133 -0
  198. package/dist/src/output/reporter.js.map +1 -0
  199. package/dist/src/portable/commands.d.ts +124 -0
  200. package/dist/src/portable/commands.js +557 -0
  201. package/dist/src/portable/commands.js.map +1 -0
  202. package/dist/src/portable/materializer.d.ts +50 -0
  203. package/dist/src/portable/materializer.js +462 -0
  204. package/dist/src/portable/materializer.js.map +1 -0
  205. package/dist/src/portable/skills-cli.d.ts +43 -0
  206. package/dist/src/portable/skills-cli.js +148 -0
  207. package/dist/src/portable/skills-cli.js.map +1 -0
  208. package/dist/src/tui/catalog-freshness.d.ts +1 -0
  209. package/dist/src/tui/catalog-freshness.js +2 -0
  210. package/dist/src/tui/catalog-freshness.js.map +1 -0
  211. package/dist/src/tui/catalog-generation.d.ts +21 -0
  212. package/dist/src/tui/catalog-generation.js +116 -0
  213. package/dist/src/tui/catalog-generation.js.map +1 -0
  214. package/dist/src/tui/catalog-sources/projection.d.ts +4 -0
  215. package/dist/src/tui/catalog-sources/projection.js +17 -0
  216. package/dist/src/tui/catalog-sources/projection.js.map +1 -0
  217. package/dist/src/tui/catalog-sources/review.d.ts +3 -0
  218. package/dist/src/tui/catalog-sources/review.js +13 -0
  219. package/dist/src/tui/catalog-sources/review.js.map +1 -0
  220. package/dist/src/tui/catalog-sources/screens.d.ts +12 -0
  221. package/dist/src/tui/catalog-sources/screens.js +33 -0
  222. package/dist/src/tui/catalog-sources/screens.js.map +1 -0
  223. package/dist/src/tui/catalog-sources/session.d.ts +22 -0
  224. package/dist/src/tui/catalog-sources/session.js +225 -0
  225. package/dist/src/tui/catalog-sources/session.js.map +1 -0
  226. package/dist/src/tui/catalog-sources/types.d.ts +41 -0
  227. package/dist/src/tui/catalog-sources/types.js +2 -0
  228. package/dist/src/tui/catalog-sources/types.js.map +1 -0
  229. package/dist/src/tui/components.d.ts +102 -0
  230. package/dist/src/tui/components.js +184 -0
  231. package/dist/src/tui/components.js.map +1 -0
  232. package/dist/src/tui/console-app-v4.d.ts +20 -0
  233. package/dist/src/tui/console-app-v4.js +5066 -0
  234. package/dist/src/tui/console-app-v4.js.map +1 -0
  235. package/dist/src/tui/controller-runtime.d.ts +23 -0
  236. package/dist/src/tui/controller-runtime.js +2011 -0
  237. package/dist/src/tui/controller-runtime.js.map +1 -0
  238. package/dist/src/tui/controller.d.ts +557 -0
  239. package/dist/src/tui/controller.js +2120 -0
  240. package/dist/src/tui/controller.js.map +1 -0
  241. package/dist/src/tui/diagnostics.d.ts +30 -0
  242. package/dist/src/tui/diagnostics.js +71 -0
  243. package/dist/src/tui/diagnostics.js.map +1 -0
  244. package/dist/src/tui/index.d.ts +17 -0
  245. package/dist/src/tui/index.js +17 -0
  246. package/dist/src/tui/index.js.map +1 -0
  247. package/dist/src/tui/input-display.d.ts +8 -0
  248. package/dist/src/tui/input-display.js +36 -0
  249. package/dist/src/tui/input-display.js.map +1 -0
  250. package/dist/src/tui/keys.d.ts +12 -0
  251. package/dist/src/tui/keys.js +22 -0
  252. package/dist/src/tui/keys.js.map +1 -0
  253. package/dist/src/tui/layout.d.ts +12 -0
  254. package/dist/src/tui/layout.js +19 -0
  255. package/dist/src/tui/layout.js.map +1 -0
  256. package/dist/src/tui/model.d.ts +424 -0
  257. package/dist/src/tui/model.js +1493 -0
  258. package/dist/src/tui/model.js.map +1 -0
  259. package/dist/src/tui/operation-review-planner.d.ts +21 -0
  260. package/dist/src/tui/operation-review-planner.js +622 -0
  261. package/dist/src/tui/operation-review-planner.js.map +1 -0
  262. package/dist/src/tui/prompt.d.ts +8 -0
  263. package/dist/src/tui/prompt.js +231 -0
  264. package/dist/src/tui/prompt.js.map +1 -0
  265. package/dist/src/tui/router.d.ts +206 -0
  266. package/dist/src/tui/router.js +137 -0
  267. package/dist/src/tui/router.js.map +1 -0
  268. package/dist/src/tui/runner.d.ts +11 -0
  269. package/dist/src/tui/runner.js +71 -0
  270. package/dist/src/tui/runner.js.map +1 -0
  271. package/dist/src/tui/source-ref-presets.d.ts +3 -0
  272. package/dist/src/tui/source-ref-presets.js +11 -0
  273. package/dist/src/tui/source-ref-presets.js.map +1 -0
  274. package/dist/src/tui/theme.d.ts +26 -0
  275. package/dist/src/tui/theme.js +28 -0
  276. package/dist/src/tui/theme.js.map +1 -0
  277. package/dist/src/tui/viewport.d.ts +20 -0
  278. package/dist/src/tui/viewport.js +29 -0
  279. package/dist/src/tui/viewport.js.map +1 -0
  280. package/dist/src/tui/views.d.ts +57 -0
  281. package/dist/src/tui/views.js +201 -0
  282. package/dist/src/tui/views.js.map +1 -0
  283. package/dist/src/tui/wizard.d.ts +11 -0
  284. package/dist/src/tui/wizard.js +323 -0
  285. package/dist/src/tui/wizard.js.map +1 -0
  286. package/dist/src/types.d.ts +474 -0
  287. package/dist/src/types.js +34 -0
  288. package/dist/src/types.js.map +1 -0
  289. package/dist/src/utils/agent-version.d.ts +19 -0
  290. package/dist/src/utils/agent-version.js +205 -0
  291. package/dist/src/utils/agent-version.js.map +1 -0
  292. package/dist/src/utils/artifact-plan.d.ts +27 -0
  293. package/dist/src/utils/artifact-plan.js +453 -0
  294. package/dist/src/utils/artifact-plan.js.map +1 -0
  295. package/dist/src/utils/artifact-renderer.d.ts +129 -0
  296. package/dist/src/utils/artifact-renderer.js +400 -0
  297. package/dist/src/utils/artifact-renderer.js.map +1 -0
  298. package/dist/src/utils/artifact-request.d.ts +16 -0
  299. package/dist/src/utils/artifact-request.js +42 -0
  300. package/dist/src/utils/artifact-request.js.map +1 -0
  301. package/dist/src/utils/artifact-sources.d.ts +8 -0
  302. package/dist/src/utils/artifact-sources.js +10 -0
  303. package/dist/src/utils/artifact-sources.js.map +1 -0
  304. package/dist/src/utils/aw-home-mutation-lock.d.ts +11 -0
  305. package/dist/src/utils/aw-home-mutation-lock.js +83 -0
  306. package/dist/src/utils/aw-home-mutation-lock.js.map +1 -0
  307. package/dist/src/utils/bundle-integrity.d.ts +2 -0
  308. package/dist/src/utils/bundle-integrity.js +63 -0
  309. package/dist/src/utils/bundle-integrity.js.map +1 -0
  310. package/dist/src/utils/bundle-layout.d.ts +4 -0
  311. package/dist/src/utils/bundle-layout.js +531 -0
  312. package/dist/src/utils/bundle-layout.js.map +1 -0
  313. package/dist/src/utils/catalog-digests.d.ts +18 -0
  314. package/dist/src/utils/catalog-digests.js +156 -0
  315. package/dist/src/utils/catalog-digests.js.map +1 -0
  316. package/dist/src/utils/catalog-generation-control-snapshot.d.ts +11 -0
  317. package/dist/src/utils/catalog-generation-control-snapshot.js +45 -0
  318. package/dist/src/utils/catalog-generation-control-snapshot.js.map +1 -0
  319. package/dist/src/utils/catalog-generation-error.d.ts +16 -0
  320. package/dist/src/utils/catalog-generation-error.js +30 -0
  321. package/dist/src/utils/catalog-generation-error.js.map +1 -0
  322. package/dist/src/utils/catalog-generation-resolver.d.ts +32 -0
  323. package/dist/src/utils/catalog-generation-resolver.js +251 -0
  324. package/dist/src/utils/catalog-generation-resolver.js.map +1 -0
  325. package/dist/src/utils/catalog-generation-service.d.ts +161 -0
  326. package/dist/src/utils/catalog-generation-service.js +1237 -0
  327. package/dist/src/utils/catalog-generation-service.js.map +1 -0
  328. package/dist/src/utils/catalog-generation-state.d.ts +22 -0
  329. package/dist/src/utils/catalog-generation-state.js +192 -0
  330. package/dist/src/utils/catalog-generation-state.js.map +1 -0
  331. package/dist/src/utils/catalog-generation-store.d.ts +57 -0
  332. package/dist/src/utils/catalog-generation-store.js +397 -0
  333. package/dist/src/utils/catalog-generation-store.js.map +1 -0
  334. package/dist/src/utils/catalog-manifest-v7.d.ts +5 -0
  335. package/dist/src/utils/catalog-manifest-v7.js +98 -0
  336. package/dist/src/utils/catalog-manifest-v7.js.map +1 -0
  337. package/dist/src/utils/catalog-operation-context.d.ts +20 -0
  338. package/dist/src/utils/catalog-operation-context.js +141 -0
  339. package/dist/src/utils/catalog-operation-context.js.map +1 -0
  340. package/dist/src/utils/catalog-public-error.d.ts +19 -0
  341. package/dist/src/utils/catalog-public-error.js +100 -0
  342. package/dist/src/utils/catalog-public-error.js.map +1 -0
  343. package/dist/src/utils/catalog-runtime-projection.d.ts +33 -0
  344. package/dist/src/utils/catalog-runtime-projection.js +77 -0
  345. package/dist/src/utils/catalog-runtime-projection.js.map +1 -0
  346. package/dist/src/utils/catalog-snapshot.d.ts +10 -0
  347. package/dist/src/utils/catalog-snapshot.js +20 -0
  348. package/dist/src/utils/catalog-snapshot.js.map +1 -0
  349. package/dist/src/utils/catalog-source-identity.d.ts +5 -0
  350. package/dist/src/utils/catalog-source-identity.js +137 -0
  351. package/dist/src/utils/catalog-source-identity.js.map +1 -0
  352. package/dist/src/utils/catalog-source-impact.d.ts +20 -0
  353. package/dist/src/utils/catalog-source-impact.js +222 -0
  354. package/dist/src/utils/catalog-source-impact.js.map +1 -0
  355. package/dist/src/utils/catalog-source-presentation.d.ts +1 -0
  356. package/dist/src/utils/catalog-source-presentation.js +32 -0
  357. package/dist/src/utils/catalog-source-presentation.js.map +1 -0
  358. package/dist/src/utils/catalog-source-references.d.ts +66 -0
  359. package/dist/src/utils/catalog-source-references.js +1180 -0
  360. package/dist/src/utils/catalog-source-references.js.map +1 -0
  361. package/dist/src/utils/catalog-sources.d.ts +53 -0
  362. package/dist/src/utils/catalog-sources.js +456 -0
  363. package/dist/src/utils/catalog-sources.js.map +1 -0
  364. package/dist/src/utils/codex-config.d.ts +126 -0
  365. package/dist/src/utils/codex-config.js +1032 -0
  366. package/dist/src/utils/codex-config.js.map +1 -0
  367. package/dist/src/utils/codex-manager.d.ts +81 -0
  368. package/dist/src/utils/codex-manager.js +810 -0
  369. package/dist/src/utils/codex-manager.js.map +1 -0
  370. package/dist/src/utils/codex-marketplace-path.d.ts +5 -0
  371. package/dist/src/utils/codex-marketplace-path.js +45 -0
  372. package/dist/src/utils/codex-marketplace-path.js.map +1 -0
  373. package/dist/src/utils/codex-native-observation.d.ts +16 -0
  374. package/dist/src/utils/codex-native-observation.js +22 -0
  375. package/dist/src/utils/codex-native-observation.js.map +1 -0
  376. package/dist/src/utils/codex-native-render-receipt.d.ts +40 -0
  377. package/dist/src/utils/codex-native-render-receipt.js +205 -0
  378. package/dist/src/utils/codex-native-render-receipt.js.map +1 -0
  379. package/dist/src/utils/codex-reconciler.d.ts +128 -0
  380. package/dist/src/utils/codex-reconciler.js +294 -0
  381. package/dist/src/utils/codex-reconciler.js.map +1 -0
  382. package/dist/src/utils/codex-roles.d.ts +71 -0
  383. package/dist/src/utils/codex-roles.js +257 -0
  384. package/dist/src/utils/codex-roles.js.map +1 -0
  385. package/dist/src/utils/codex-shared-native.d.ts +63 -0
  386. package/dist/src/utils/codex-shared-native.js +142 -0
  387. package/dist/src/utils/codex-shared-native.js.map +1 -0
  388. package/dist/src/utils/codex-skill-staging.d.ts +11 -0
  389. package/dist/src/utils/codex-skill-staging.js +8 -0
  390. package/dist/src/utils/codex-skill-staging.js.map +1 -0
  391. package/dist/src/utils/codex-surface-analysis.d.ts +45 -0
  392. package/dist/src/utils/codex-surface-analysis.js +245 -0
  393. package/dist/src/utils/codex-surface-analysis.js.map +1 -0
  394. package/dist/src/utils/config-value.d.ts +3 -0
  395. package/dist/src/utils/config-value.js +23 -0
  396. package/dist/src/utils/config-value.js.map +1 -0
  397. package/dist/src/utils/dynamic-skill-tree.d.ts +36 -0
  398. package/dist/src/utils/dynamic-skill-tree.js +466 -0
  399. package/dist/src/utils/dynamic-skill-tree.js.map +1 -0
  400. package/dist/src/utils/file-rules.d.ts +1 -0
  401. package/dist/src/utils/file-rules.js +2 -0
  402. package/dist/src/utils/file-rules.js.map +1 -0
  403. package/dist/src/utils/git-catalog-provider.d.ts +22 -0
  404. package/dist/src/utils/git-catalog-provider.js +497 -0
  405. package/dist/src/utils/git-catalog-provider.js.map +1 -0
  406. package/dist/src/utils/hooks-contract.d.ts +1 -0
  407. package/dist/src/utils/hooks-contract.js +2 -0
  408. package/dist/src/utils/hooks-contract.js.map +1 -0
  409. package/dist/src/utils/json.d.ts +4 -0
  410. package/dist/src/utils/json.js +29 -0
  411. package/dist/src/utils/json.js.map +1 -0
  412. package/dist/src/utils/local-marketplace.d.ts +41 -0
  413. package/dist/src/utils/local-marketplace.js +316 -0
  414. package/dist/src/utils/local-marketplace.js.map +1 -0
  415. package/dist/src/utils/manifest.d.ts +11 -0
  416. package/dist/src/utils/manifest.js +33 -0
  417. package/dist/src/utils/manifest.js.map +1 -0
  418. package/dist/src/utils/marketplace.d.ts +3 -0
  419. package/dist/src/utils/marketplace.js +76 -0
  420. package/dist/src/utils/marketplace.js.map +1 -0
  421. package/dist/src/utils/multi-source-catalog.d.ts +66 -0
  422. package/dist/src/utils/multi-source-catalog.js +345 -0
  423. package/dist/src/utils/multi-source-catalog.js.map +1 -0
  424. package/dist/src/utils/native-cli.d.ts +118 -0
  425. package/dist/src/utils/native-cli.js +518 -0
  426. package/dist/src/utils/native-cli.js.map +1 -0
  427. package/dist/src/utils/orphan-marketplace-cleanup.d.ts +18 -0
  428. package/dist/src/utils/orphan-marketplace-cleanup.js +198 -0
  429. package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -0
  430. package/dist/src/utils/ownership.d.ts +194 -0
  431. package/dist/src/utils/ownership.js +723 -0
  432. package/dist/src/utils/ownership.js.map +1 -0
  433. package/dist/src/utils/path-catalog-provider.d.ts +7 -0
  434. package/dist/src/utils/path-catalog-provider.js +74 -0
  435. package/dist/src/utils/path-catalog-provider.js.map +1 -0
  436. package/dist/src/utils/paths.d.ts +40 -0
  437. package/dist/src/utils/paths.js +137 -0
  438. package/dist/src/utils/paths.js.map +1 -0
  439. package/dist/src/utils/platform-entries.d.ts +1 -0
  440. package/dist/src/utils/platform-entries.js +2 -0
  441. package/dist/src/utils/platform-entries.js.map +1 -0
  442. package/dist/src/utils/platform-support.d.ts +1 -0
  443. package/dist/src/utils/platform-support.js +2 -0
  444. package/dist/src/utils/platform-support.js.map +1 -0
  445. package/dist/src/utils/plugin-config-write.d.ts +110 -0
  446. package/dist/src/utils/plugin-config-write.js +773 -0
  447. package/dist/src/utils/plugin-config-write.js.map +1 -0
  448. package/dist/src/utils/plugin-config.d.ts +389 -0
  449. package/dist/src/utils/plugin-config.js +1642 -0
  450. package/dist/src/utils/plugin-config.js.map +1 -0
  451. package/dist/src/utils/plugin-dependencies.d.ts +12 -0
  452. package/dist/src/utils/plugin-dependencies.js +162 -0
  453. package/dist/src/utils/plugin-dependencies.js.map +1 -0
  454. package/dist/src/utils/plugin-intent-state.d.ts +34 -0
  455. package/dist/src/utils/plugin-intent-state.js +289 -0
  456. package/dist/src/utils/plugin-intent-state.js.map +1 -0
  457. package/dist/src/utils/plugin-script-contract.d.ts +1 -0
  458. package/dist/src/utils/plugin-script-contract.js +2 -0
  459. package/dist/src/utils/plugin-script-contract.js.map +1 -0
  460. package/dist/src/utils/plugin-scripts.d.ts +101 -0
  461. package/dist/src/utils/plugin-scripts.js +253 -0
  462. package/dist/src/utils/plugin-scripts.js.map +1 -0
  463. package/dist/src/utils/process-lock.d.ts +47 -0
  464. package/dist/src/utils/process-lock.js +532 -0
  465. package/dist/src/utils/process-lock.js.map +1 -0
  466. package/dist/src/utils/process-tree.d.ts +2 -0
  467. package/dist/src/utils/process-tree.js +2 -0
  468. package/dist/src/utils/process-tree.js.map +1 -0
  469. package/dist/src/utils/project-boundary.d.ts +9 -0
  470. package/dist/src/utils/project-boundary.js +67 -0
  471. package/dist/src/utils/project-boundary.js.map +1 -0
  472. package/dist/src/utils/rendered-contract.d.ts +8 -0
  473. package/dist/src/utils/rendered-contract.js +134 -0
  474. package/dist/src/utils/rendered-contract.js.map +1 -0
  475. package/dist/src/utils/runtime-skill-closure.d.ts +13 -0
  476. package/dist/src/utils/runtime-skill-closure.js +863 -0
  477. package/dist/src/utils/runtime-skill-closure.js.map +1 -0
  478. package/dist/src/utils/safe-fs.d.ts +21 -0
  479. package/dist/src/utils/safe-fs.js +111 -0
  480. package/dist/src/utils/safe-fs.js.map +1 -0
  481. package/dist/src/utils/skill-authoring.d.ts +1 -0
  482. package/dist/src/utils/skill-authoring.js +2 -0
  483. package/dist/src/utils/skill-authoring.js.map +1 -0
  484. package/dist/src/utils/skill-validation.d.ts +37 -0
  485. package/dist/src/utils/skill-validation.js +326 -0
  486. package/dist/src/utils/skill-validation.js.map +1 -0
  487. package/dist/src/utils/slash-commands.d.ts +1 -0
  488. package/dist/src/utils/slash-commands.js +2 -0
  489. package/dist/src/utils/slash-commands.js.map +1 -0
  490. package/dist/src/utils/state-paths.d.ts +14 -0
  491. package/dist/src/utils/state-paths.js +139 -0
  492. package/dist/src/utils/state-paths.js.map +1 -0
  493. package/dist/src/utils/target-eligibility.d.ts +13 -0
  494. package/dist/src/utils/target-eligibility.js +35 -0
  495. package/dist/src/utils/target-eligibility.js.map +1 -0
  496. package/dist/src/utils/target-order.d.ts +7 -0
  497. package/dist/src/utils/target-order.js +10 -0
  498. package/dist/src/utils/target-order.js.map +1 -0
  499. package/dist/src/utils/template-engine.d.ts +1 -0
  500. package/dist/src/utils/template-engine.js +2 -0
  501. package/dist/src/utils/template-engine.js.map +1 -0
  502. package/dist/src/utils/test-path-fence.d.ts +12 -0
  503. package/dist/src/utils/test-path-fence.js +31 -0
  504. package/dist/src/utils/test-path-fence.js.map +1 -0
  505. package/dist/vitest.config.d.ts +2 -0
  506. package/dist/vitest.config.js +16 -0
  507. package/dist/vitest.config.js.map +1 -0
  508. package/package.json +64 -0
@@ -0,0 +1,316 @@
1
+ import path from 'node:path';
2
+ import fs from 'fs-extra';
3
+ import { SKILL_OWNER_MARKER, readSkillOwnerMarker } from './ownership.js';
4
+ import { readJsonFile } from './json.js';
5
+ import { assertStrictSemVer } from './manifest.js';
6
+ import { resolveCliPackageRoot } from './paths.js';
7
+ import { sanitizeCatalogSourceErrorMessage } from './catalog-public-error.js';
8
+ import { normalizeMarketplaceProductToken } from './platform-support.js';
9
+ const SOURCE_IDENTITY_PATTERN = /^sha256:[0-9a-f]{64}$/;
10
+ export function getNamespacedMarketplaceName(sourceId) {
11
+ return `aw-${sourceId}`;
12
+ }
13
+ function isRecord(value) {
14
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
15
+ }
16
+ export function projectMarketplaceManifestForPlatform(manifest, platform) {
17
+ const product = platform === 'codex' ? 'CODEX' : 'CLAUDE';
18
+ return {
19
+ ...manifest,
20
+ plugins: manifest.plugins.flatMap((plugin) => {
21
+ const products = plugin.policy.products;
22
+ const supported = products === undefined
23
+ || products.length === 0
24
+ || products.some((entry) => normalizeMarketplaceProductToken(entry) === product);
25
+ return supported ? [{
26
+ ...plugin,
27
+ policy: { ...plugin.policy, products: [product] },
28
+ }] : [];
29
+ }),
30
+ };
31
+ }
32
+ export function getLocalMarketplacePluginRoot(rootDir, pluginName) {
33
+ return path.join(rootDir, 'plugins', pluginName);
34
+ }
35
+ export function getLocalMarketplaceCodexSkillsRoot(rootDir, pluginName) {
36
+ return path.join(getLocalMarketplacePluginRoot(rootDir, pluginName), 'codex', 'skills');
37
+ }
38
+ export function getLocalMarketplaceCodexSkillRoot(rootDir, pluginName, skillKey) {
39
+ return path.join(getLocalMarketplaceCodexSkillsRoot(rootDir, pluginName), skillKey);
40
+ }
41
+ export async function readCliPackageInfo() {
42
+ const packageJson = await readJsonFile(path.join(resolveCliPackageRoot(), 'package.json'));
43
+ return {
44
+ name: packageJson.name,
45
+ version: assertStrictSemVer(packageJson.version, 'packages/cli/package.json version'),
46
+ };
47
+ }
48
+ export class MarketplaceRootValidationError extends Error {
49
+ location;
50
+ code = 'marketplaceRootInvalid';
51
+ constructor(location, message, cause) {
52
+ super(`marketplaceRootInvalid: ${message}`, cause === undefined ? undefined : { cause });
53
+ this.location = location;
54
+ this.name = 'MarketplaceRootValidationError';
55
+ }
56
+ }
57
+ function assertMarketplacePathBoundary(trustedRoot, candidatePath) {
58
+ const root = path.resolve(trustedRoot);
59
+ const candidate = path.resolve(candidatePath);
60
+ const relative = path.relative(root, candidate);
61
+ if (relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {
62
+ throw new MarketplaceRootValidationError(candidate, 'marketplace path escapes its trusted root.');
63
+ }
64
+ return { root, candidate };
65
+ }
66
+ async function lstatMarketplacePath(filePath) {
67
+ try {
68
+ return await fs.lstat(filePath);
69
+ }
70
+ catch (error) {
71
+ const code = error.code;
72
+ if (code === 'ENOENT')
73
+ return null;
74
+ throw error;
75
+ }
76
+ }
77
+ async function inspectMarketplacePath(trustedRoot, candidatePath, finalKind) {
78
+ const { root, candidate } = assertMarketplacePathBoundary(trustedRoot, candidatePath);
79
+ const paths = [root];
80
+ let current = root;
81
+ for (const segment of path.relative(root, candidate).split(path.sep).filter(Boolean)) {
82
+ current = path.join(current, segment);
83
+ paths.push(current);
84
+ }
85
+ let candidateStats = null;
86
+ for (const currentPath of paths) {
87
+ let stats;
88
+ try {
89
+ stats = await lstatMarketplacePath(currentPath);
90
+ }
91
+ catch (error) {
92
+ throw new MarketplaceRootValidationError(currentPath, 'marketplace path cannot be inspected.', error);
93
+ }
94
+ if (!stats)
95
+ return null;
96
+ const isFinal = currentPath === candidate;
97
+ const valid = isFinal && finalKind === 'file'
98
+ ? stats.isFile() && !stats.isSymbolicLink()
99
+ : stats.isDirectory() && !stats.isSymbolicLink();
100
+ if (!valid) {
101
+ throw new MarketplaceRootValidationError(currentPath, isFinal && finalKind === 'file'
102
+ ? 'marketplace JSON target must be a regular file.'
103
+ : 'marketplace path must be a regular directory.');
104
+ }
105
+ if (isFinal)
106
+ candidateStats = stats;
107
+ }
108
+ return candidateStats;
109
+ }
110
+ async function readStrictOptionalJsonObject(trustedRoot, filePath) {
111
+ if (!await inspectMarketplacePath(trustedRoot, filePath, 'file'))
112
+ return null;
113
+ try {
114
+ const value = await fs.readJson(filePath);
115
+ if (!isRecord(value)) {
116
+ throw new MarketplaceRootValidationError(filePath, 'marketplace JSON must contain an object.');
117
+ }
118
+ return value;
119
+ }
120
+ catch (error) {
121
+ if (error instanceof MarketplaceRootValidationError)
122
+ throw error;
123
+ throw new MarketplaceRootValidationError(filePath, 'marketplace JSON cannot be read.', error);
124
+ }
125
+ }
126
+ async function readOptionalJsonObject(filePath) {
127
+ try {
128
+ const value = await fs.readJson(filePath);
129
+ if (!isRecord(value))
130
+ throw new Error(`Expected a JSON object at ${filePath}.`);
131
+ return value;
132
+ }
133
+ catch (error) {
134
+ const code = error.code;
135
+ if (code === 'ENOENT' || code === 'ENOTDIR')
136
+ return null;
137
+ throw error;
138
+ }
139
+ }
140
+ export async function readStrictNamespacedMarketplaceRoot(options) {
141
+ const trustedMarketplaceRoot = options.trustedMarketplaceRoot ?? path.dirname(options.rootDir);
142
+ if (!await inspectMarketplacePath(trustedMarketplaceRoot, options.rootDir, 'directory'))
143
+ return null;
144
+ const configPath = path.join(options.rootDir, 'config.json');
145
+ const config = await readStrictOptionalJsonObject(trustedMarketplaceRoot, configPath);
146
+ if (!isRecord(config)
147
+ || config.schemaVersion !== 2
148
+ || typeof config.sourceId !== 'string'
149
+ || config.sourceId.length === 0
150
+ || typeof config.sourceIdentity !== 'string'
151
+ || !SOURCE_IDENTITY_PATTERN.test(config.sourceIdentity)
152
+ || typeof config.marketplaceName !== 'string'
153
+ || config.marketplaceName.length === 0
154
+ || config.sourceId !== path.basename(options.rootDir)) {
155
+ throw new MarketplaceRootValidationError(configPath, 'marketplace config must contain a canonical schema 2 identity.');
156
+ }
157
+ if ((options.sourceId !== undefined && config.sourceId !== options.sourceId)
158
+ || (options.sourceIdentity !== undefined && config.sourceIdentity !== options.sourceIdentity)
159
+ || (options.marketplaceName !== undefined && config.marketplaceName !== options.marketplaceName)) {
160
+ throw new Error(`sourceChanged: marketplace root for ${options.sourceId ?? config.sourceId} does not match its schema 2 source identity.`);
161
+ }
162
+ const agentsManifest = await readStrictOptionalJsonObject(trustedMarketplaceRoot, path.join(options.rootDir, '.agents', 'plugins', 'marketplace.json'));
163
+ if (!agentsManifest || agentsManifest.name !== config.marketplaceName) {
164
+ throw new MarketplaceRootValidationError(path.join(options.rootDir, '.agents', 'plugins', 'marketplace.json'), 'Codex marketplace manifest name does not match config.');
165
+ }
166
+ const claudeManifest = await readStrictOptionalJsonObject(trustedMarketplaceRoot, path.join(options.rootDir, '.claude-plugin', 'marketplace.json'));
167
+ if (claudeManifest && claudeManifest.name !== config.marketplaceName) {
168
+ throw new MarketplaceRootValidationError(path.join(options.rootDir, '.claude-plugin', 'marketplace.json'), 'Claude marketplace manifest name does not match config.');
169
+ }
170
+ return {
171
+ rootDir: options.rootDir,
172
+ config: config,
173
+ agentsManifest,
174
+ claudeManifest,
175
+ };
176
+ }
177
+ function normalizePluginRelativeDirectory(value, fallback) {
178
+ const raw = typeof value === 'string' ? value : fallback;
179
+ const normalized = path.posix.normalize(raw.replace(/^\.\//, ''));
180
+ if (!normalized || normalized === '.' || normalized === '..' || normalized.startsWith('../')) {
181
+ return null;
182
+ }
183
+ return normalized;
184
+ }
185
+ async function assertTreeHasNoSymlinks(root) {
186
+ for (const entry of await fs.readdir(root, { withFileTypes: true })) {
187
+ if (entry.isSymbolicLink())
188
+ throw new Error(`Codex Skill overlay cannot contain a symlink: ${entry.name}`);
189
+ if (entry.isDirectory())
190
+ await assertTreeHasNoSymlinks(path.join(root, entry.name));
191
+ }
192
+ }
193
+ async function pathExists(filePath) {
194
+ try {
195
+ await fs.lstat(filePath);
196
+ return true;
197
+ }
198
+ catch (error) {
199
+ const code = error.code;
200
+ if (code === 'ENOENT' || code === 'ENOTDIR')
201
+ return false;
202
+ throw error;
203
+ }
204
+ }
205
+ async function readOverlayDirectory(directoryPath, redactedRoots) {
206
+ try {
207
+ return await fs.readdir(directoryPath, { withFileTypes: true });
208
+ }
209
+ catch (error) {
210
+ const code = error.code;
211
+ if (code === 'ENOENT' || code === 'ENOTDIR')
212
+ return [];
213
+ throw new Error(`marketplaceOverlayReadFailed: ${sanitizeCatalogSourceErrorMessage(error instanceof Error ? error.message : String(error), process.env, redactedRoots)}`);
214
+ }
215
+ }
216
+ export async function replayNamespacedCodexSkillOverlays(options) {
217
+ let existing;
218
+ try {
219
+ existing = await readStrictNamespacedMarketplaceRoot({
220
+ trustedMarketplaceRoot: path.dirname(options.sourceRoot),
221
+ rootDir: options.sourceRoot,
222
+ sourceId: options.sourceId,
223
+ sourceIdentity: options.sourceIdentity,
224
+ marketplaceName: options.marketplaceName,
225
+ });
226
+ }
227
+ catch (error) {
228
+ if (error instanceof Error && error.message.startsWith('sourceChanged:'))
229
+ throw error;
230
+ throw new Error(`marketplaceOverlayReadFailed: ${sanitizeCatalogSourceErrorMessage(error instanceof Error ? error.message : String(error), process.env, [options.sourceRoot, options.stagingRoot])}`);
231
+ }
232
+ if (!existing)
233
+ return;
234
+ const pluginsRoot = path.join(options.sourceRoot, 'plugins');
235
+ const redactedRoots = [options.sourceRoot, options.stagingRoot];
236
+ for (const pluginEntry of await readOverlayDirectory(pluginsRoot, redactedRoots)) {
237
+ if (pluginEntry.isSymbolicLink()) {
238
+ throw new Error(`Codex Skill overlay plugin root cannot be a symlink: ${pluginEntry.name}`);
239
+ }
240
+ if (!pluginEntry.isDirectory())
241
+ continue;
242
+ const pluginName = pluginEntry.name;
243
+ const sourcePluginRoot = path.join(pluginsRoot, pluginName);
244
+ const sourcePlatformManifest = await readOptionalJsonObject(path.join(sourcePluginRoot, '.codex-plugin', 'plugin.json'));
245
+ const sourceSkillsRelative = normalizePluginRelativeDirectory(sourcePlatformManifest?.skills, 'codex/skills');
246
+ if (!sourceSkillsRelative)
247
+ continue;
248
+ const sourceSkillsRoot = path.join(sourcePluginRoot, ...sourceSkillsRelative.split('/'));
249
+ const overlays = [];
250
+ for (const entry of await readOverlayDirectory(sourceSkillsRoot, redactedRoots)) {
251
+ if (entry.isSymbolicLink()) {
252
+ throw new Error(`Codex Skill overlay cannot be a symlink: ${path.join(sourceSkillsRoot, entry.name)}`);
253
+ }
254
+ if (!entry.isDirectory())
255
+ continue;
256
+ const skillRoot = path.join(sourceSkillsRoot, entry.name);
257
+ if (!await pathExists(path.join(skillRoot, SKILL_OWNER_MARKER)))
258
+ continue;
259
+ await readSkillOwnerMarker({
260
+ skillRoot,
261
+ allowedRoot: sourceSkillsRoot,
262
+ expectedIdentity: {
263
+ owner: 'agent-workflows',
264
+ sourceId: options.sourceId,
265
+ pluginId: `${options.sourceId}/${pluginName}`,
266
+ plugin: pluginName,
267
+ artifactKey: entry.name,
268
+ platform: 'codex',
269
+ scope: 'user',
270
+ },
271
+ });
272
+ overlays.push({ key: entry.name, root: skillRoot });
273
+ }
274
+ if (overlays.length === 0)
275
+ continue;
276
+ const stagingPluginRoot = path.join(options.stagingRoot, 'plugins', pluginName);
277
+ if (!await pathExists(stagingPluginRoot)) {
278
+ await assertTreeHasNoSymlinks(sourcePluginRoot);
279
+ await fs.copy(sourcePluginRoot, stagingPluginRoot, {
280
+ overwrite: false, errorOnExist: true, dereference: false,
281
+ });
282
+ continue;
283
+ }
284
+ const stagingManifest = await readOptionalJsonObject(path.join(stagingPluginRoot, '.agents-plugin', 'plugin.json'));
285
+ const targets = stagingManifest?.artifacts?.targets ?? [];
286
+ const dynamicKeys = new Set(targets.flatMap((target) => {
287
+ if (!isRecord(target))
288
+ return [];
289
+ return target.platform === 'codex'
290
+ && target.target === 'codex.skill'
291
+ && Array.isArray(target.scopes)
292
+ && target.scopes.includes('user')
293
+ && typeof target.skillKey === 'string'
294
+ ? [target.skillKey]
295
+ : [];
296
+ }));
297
+ const stagingPlatformManifest = await readOptionalJsonObject(path.join(stagingPluginRoot, '.codex-plugin', 'plugin.json'));
298
+ const stagingSkillsRelative = normalizePluginRelativeDirectory(stagingPlatformManifest?.skills, 'codex/skills');
299
+ if (!stagingSkillsRelative)
300
+ continue;
301
+ const stagingSkillsRoot = path.join(stagingPluginRoot, ...stagingSkillsRelative.split('/'));
302
+ for (const overlay of overlays) {
303
+ const destination = path.join(stagingSkillsRoot, overlay.key);
304
+ if (dynamicKeys.has(overlay.key) || !await pathExists(destination)) {
305
+ await assertTreeHasNoSymlinks(overlay.root);
306
+ await fs.copy(overlay.root, destination, {
307
+ overwrite: true, errorOnExist: false, dereference: false,
308
+ });
309
+ }
310
+ else {
311
+ await fs.copyFile(path.join(overlay.root, SKILL_OWNER_MARKER), path.join(destination, SKILL_OWNER_MARKER));
312
+ }
313
+ }
314
+ }
315
+ }
316
+ //# sourceMappingURL=local-marketplace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-marketplace.js","sourceRoot":"","sources":["../../../src/utils/local-marketplace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type NormalizedPluginManifest, type PluginMeta, type ReadPluginManifestOptions, type ValidatePluginManifestOptions } from '@lesliechan721/aw-plugin-core/manifest';
2
+ export * from '@lesliechan721/aw-plugin-core/manifest';
3
+ export type * from '@lesliechan721/aw-plugin-core/manifest';
4
+ export declare const CLI_RESERVED_IMPORTS: {};
5
+ export declare function validatePluginManifest(pluginRoot: string, rawManifest: unknown, options?: ValidatePluginManifestOptions): NormalizedPluginManifest;
6
+ export declare function validateSourcePluginManifest(pluginRoot: string, rawManifest: unknown): Promise<NormalizedPluginManifest>;
7
+ export declare function readPluginManifest(pluginRoot: string, options?: ReadPluginManifestOptions): Promise<PluginMeta>;
8
+ export declare function discoverPluginsInDirectory(pluginsDir: string, options?: ReadPluginManifestOptions): Promise<PluginMeta[]>;
9
+ export declare function discoverPlugins(repoRoot: string, options?: ReadPluginManifestOptions): Promise<PluginMeta[]>;
10
+ export declare function resolvePlugins(repoRoot: string, pluginNames?: string[], options?: ReadPluginManifestOptions): Promise<PluginMeta[]>;
11
+ export declare function resolvePluginsFromCatalog(catalogRoot: string, pluginNames?: string[], options?: Omit<ReadPluginManifestOptions, 'mode'>): Promise<PluginMeta[]>;
@@ -0,0 +1,33 @@
1
+ import { discoverPlugins as discoverCorePlugins, discoverPluginsInDirectory as discoverCorePluginsInDirectory, readPluginManifest as readCorePluginManifest, resolvePlugins as resolveCorePlugins, resolvePluginsFromCatalog as resolveCorePluginsFromCatalog, validatePluginManifest as validateCorePluginManifest, validateSourcePluginManifest as validateCoreSourcePluginManifest, } from '@lesliechan721/aw-plugin-core/manifest';
2
+ export * from '@lesliechan721/aw-plugin-core/manifest';
3
+ export const CLI_RESERVED_IMPORTS = {};
4
+ function withCliReservedImports(options) {
5
+ return {
6
+ ...options,
7
+ reservedImports: CLI_RESERVED_IMPORTS,
8
+ };
9
+ }
10
+ export function validatePluginManifest(pluginRoot, rawManifest, options = {}) {
11
+ return validateCorePluginManifest(pluginRoot, rawManifest, withCliReservedImports(options));
12
+ }
13
+ export function validateSourcePluginManifest(pluginRoot, rawManifest) {
14
+ return validateCoreSourcePluginManifest(pluginRoot, rawManifest, {
15
+ reservedImports: CLI_RESERVED_IMPORTS,
16
+ });
17
+ }
18
+ export function readPluginManifest(pluginRoot, options = {}) {
19
+ return readCorePluginManifest(pluginRoot, withCliReservedImports(options));
20
+ }
21
+ export function discoverPluginsInDirectory(pluginsDir, options = {}) {
22
+ return discoverCorePluginsInDirectory(pluginsDir, withCliReservedImports(options));
23
+ }
24
+ export function discoverPlugins(repoRoot, options = {}) {
25
+ return discoverCorePlugins(repoRoot, withCliReservedImports(options));
26
+ }
27
+ export function resolvePlugins(repoRoot, pluginNames, options = {}) {
28
+ return resolveCorePlugins(repoRoot, pluginNames, withCliReservedImports(options));
29
+ }
30
+ export function resolvePluginsFromCatalog(catalogRoot, pluginNames, options = {}) {
31
+ return resolveCorePluginsFromCatalog(catalogRoot, pluginNames, withCliReservedImports(options));
32
+ }
33
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/utils/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,0BAA0B,IAAI,8BAA8B,EAC5D,kBAAkB,IAAI,sBAAsB,EAC5C,cAAc,IAAI,kBAAkB,EACpC,yBAAyB,IAAI,6BAA6B,EAC1D,sBAAsB,IAAI,0BAA0B,EACpD,4BAA4B,IAAI,gCAAgC,GAMjE,MAAM,wCAAwC,CAAC;AAEhD,cAAc,wCAAwC,CAAC;AAGvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAA4C,CAAC;AAEjF,SAAS,sBAAsB,CAC7B,OAAU;IAEV,OAAO;QACL,GAAG,OAAO;QACV,eAAe,EAAE,oBAAoB;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,WAAoB,EACpB,UAAyC,EAAE;IAE3C,OAAO,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAAkB,EAClB,WAAoB;IAEpB,OAAO,gCAAgC,CAAC,UAAU,EAAE,WAAW,EAAE;QAC/D,eAAe,EAAE,oBAAoB;KACtC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,UAAqC,EAAE;IAEvC,OAAO,sBAAsB,CAAC,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,UAAqC,EAAE;IAEvC,OAAO,8BAA8B,CAAC,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,UAAqC,EAAE;IAEvC,OAAO,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,WAAsB,EACtB,UAAqC,EAAE;IAEvC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,WAAsB,EACtB,UAAmD,EAAE;IAErD,OAAO,6BAA6B,CAClC,WAAW,EACX,WAAW,EACX,sBAAsB,CAAC,OAAO,CAAC,CAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { MarketplaceManifest } from '../types.js';
2
+ export declare function validateMarketplaceManifest(value: unknown, fieldName?: string): MarketplaceManifest;
3
+ export declare function readMarketplaceManifestAtPath(manifestPath: string, fieldName?: string): Promise<MarketplaceManifest>;
@@ -0,0 +1,76 @@
1
+ import { readJsonFile } from './json.js';
2
+ const MARKETPLACE_AUTHENTICATION_POLICIES = new Set([
3
+ 'ON_INSTALL',
4
+ 'ON_USE',
5
+ ]);
6
+ function assertObject(value, fieldName) {
7
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
8
+ throw new Error(`Invalid ${fieldName}: expected an object.`);
9
+ }
10
+ return value;
11
+ }
12
+ function assertString(value, fieldName) {
13
+ if (typeof value !== 'string' || value.trim() === '') {
14
+ throw new Error(`Invalid ${fieldName}: expected a non-empty string.`);
15
+ }
16
+ return value;
17
+ }
18
+ function assertStringArray(value, fieldName) {
19
+ if (!Array.isArray(value))
20
+ throw new Error(`Invalid ${fieldName}: expected an array.`);
21
+ return value.map((entry, index) => assertString(entry, `${fieldName}[${index}]`));
22
+ }
23
+ function validateMarketplaceManifestEntry(value, fieldName) {
24
+ const entry = assertObject(value, fieldName);
25
+ assertString(entry.name, `${fieldName}.name`);
26
+ assertString(entry.source, `${fieldName}.source`);
27
+ assertString(entry.description, `${fieldName}.description`);
28
+ assertString(entry.category, `${fieldName}.category`);
29
+ if (entry.tags !== undefined)
30
+ assertStringArray(entry.tags, `${fieldName}.tags`);
31
+ if (typeof entry.strict !== 'boolean') {
32
+ throw new Error(`Invalid ${fieldName}.strict: expected a boolean.`);
33
+ }
34
+ if (entry.interface !== undefined) {
35
+ const interfaceMeta = assertObject(entry.interface, `${fieldName}.interface`);
36
+ if (interfaceMeta.displayName !== undefined) {
37
+ assertString(interfaceMeta.displayName, `${fieldName}.interface.displayName`);
38
+ }
39
+ if (interfaceMeta.shortDescription !== undefined) {
40
+ assertString(interfaceMeta.shortDescription, `${fieldName}.interface.shortDescription`);
41
+ }
42
+ if (interfaceMeta.capabilities !== undefined) {
43
+ assertStringArray(interfaceMeta.capabilities, `${fieldName}.interface.capabilities`);
44
+ }
45
+ }
46
+ const policy = assertObject(entry.policy, `${fieldName}.policy`);
47
+ assertString(policy.installation, `${fieldName}.policy.installation`);
48
+ const authentication = assertString(policy.authentication, `${fieldName}.policy.authentication`);
49
+ if (!MARKETPLACE_AUTHENTICATION_POLICIES.has(authentication)) {
50
+ throw new Error(`Invalid ${fieldName}.policy.authentication: expected "ON_INSTALL" or "ON_USE".`);
51
+ }
52
+ if (policy.products !== undefined)
53
+ assertStringArray(policy.products, `${fieldName}.policy.products`);
54
+ }
55
+ export function validateMarketplaceManifest(value, fieldName = 'marketplace manifest') {
56
+ const manifest = assertObject(value, fieldName);
57
+ if (assertString(manifest.name, `${fieldName}.name`) !== 'aw') {
58
+ throw new Error(`Invalid ${fieldName}.name: expected "aw".`);
59
+ }
60
+ const owner = assertObject(manifest.owner, `${fieldName}.owner`);
61
+ assertString(owner.name, `${fieldName}.owner.name`);
62
+ assertString(owner.url, `${fieldName}.owner.url`);
63
+ const interfaceMeta = assertObject(manifest.interface, `${fieldName}.interface`);
64
+ assertString(interfaceMeta.displayName, `${fieldName}.interface.displayName`);
65
+ if (!Array.isArray(manifest.plugins)) {
66
+ throw new Error(`Invalid ${fieldName}.plugins: expected an array.`);
67
+ }
68
+ manifest.plugins.forEach((entry, index) => {
69
+ validateMarketplaceManifestEntry(entry, `${fieldName}.plugins[${index}]`);
70
+ });
71
+ return manifest;
72
+ }
73
+ export async function readMarketplaceManifestAtPath(manifestPath, fieldName = 'marketplace manifest') {
74
+ return validateMarketplaceManifest(await readJsonFile(manifestPath), fieldName);
75
+ }
76
+ //# sourceMappingURL=marketplace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../../src/utils/marketplace.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAkC;IACnF,YAAY;IACZ,QAAQ;CACT,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,KAAc,EAAE,SAAiB;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,SAAiB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,gCAAgC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,SAAiB;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,sBAAsB,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAc,EAAE,SAAiB;IACzE,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAC9C,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC;IAClD,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,cAAc,CAAC,CAAC;IAC5D,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,8BAA8B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;QAC9E,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5C,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,SAAS,wBAAwB,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,aAAa,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjD,YAAY,CAAC,aAAa,CAAC,gBAAgB,EAAE,GAAG,SAAS,6BAA6B,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,aAAa,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7C,iBAAiB,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,SAAS,yBAAyB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC;IACjE,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,sBAAsB,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,SAAS,wBAAwB,CAAC,CAAC;IACjG,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,cAAiD,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,4DAA4D,CACjF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,kBAAkB,CAAC,CAAC;AACxG,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAc,EACd,SAAS,GAAG,sBAAsB;IAElC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,uBAAuB,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;IACjE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC;IACpD,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;IACjF,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,SAAS,wBAAwB,CAAC,CAAC;IAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,8BAA8B,CAAC,CAAC;IACtE,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxC,gCAAgC,CAAC,KAAK,EAAE,GAAG,SAAS,YAAY,KAAK,GAAG,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,QAA0C,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,YAAoB,EACpB,SAAS,GAAG,sBAAsB;IAElC,OAAO,2BAA2B,CAAC,MAAM,YAAY,CAAU,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3F,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { CatalogSourceId, CatalogSourceResolution, PluginId, PluginMeta } from '../types.js';
2
+ import { type CatalogSourcesConfigSnapshot } from './catalog-sources.js';
3
+ import { type CatalogOperationContext } from './catalog-operation-context.js';
4
+ export interface ParsedPluginId {
5
+ sourceId?: CatalogSourceId;
6
+ pluginName: string;
7
+ }
8
+ export interface MultiSourceResolutionItem {
9
+ sourceId: CatalogSourceId;
10
+ resolution?: CatalogSourceResolution;
11
+ error?: Error;
12
+ }
13
+ export interface MultiSourceCatalogResolution {
14
+ sources: MultiSourceResolutionItem[];
15
+ primarySourceId: CatalogSourceId;
16
+ configDigest: string;
17
+ compositeDigest: string;
18
+ }
19
+ export interface ResolveMultiSourceCatalogOptions {
20
+ cliVersion: string;
21
+ sourceIds?: CatalogSourceId[];
22
+ configSnapshot?: CatalogSourcesConfigSnapshot;
23
+ env?: NodeJS.ProcessEnv;
24
+ signal?: AbortSignal;
25
+ operationContext?: CatalogOperationContext;
26
+ }
27
+ export type ResolveCatalogPluginOptions = Omit<ResolveMultiSourceCatalogOptions, 'sourceIds'> & {
28
+ selector: PluginId;
29
+ };
30
+ export type WithResolvedMultiSourceCatalogOptions<T> = ResolveMultiSourceCatalogOptions & {
31
+ consume: (resolution: MultiSourceCatalogResolution) => Promise<T> | T;
32
+ };
33
+ export type WithResolvedCatalogPluginOptions<T> = ResolveCatalogPluginOptions & {
34
+ consume: (resolution: ResolvedCatalogPlugin) => Promise<T> | T;
35
+ };
36
+ export interface ResolvedCatalogPlugin {
37
+ pluginId: PluginId;
38
+ source: CatalogSourceResolution;
39
+ plugin: PluginMeta;
40
+ }
41
+ export declare class CatalogLeaseEscapeError extends Error {
42
+ constructor(message?: string);
43
+ }
44
+ type ProtectedLeaseResultKey = 'rootDir' | 'bundleRoot' | 'manifestPath';
45
+ export type LeaseSafeResult<T> = T extends CatalogSourceResolution | PluginMeta ? never : T extends string | number | boolean | null | undefined ? T : T extends URL ? URL : T extends readonly unknown[] ? {
46
+ [K in keyof T]: LeaseSafeResult<T[K]>;
47
+ } : T extends object ? {
48
+ [K in keyof T]: K extends ProtectedLeaseResultKey ? never : LeaseSafeResult<T[K]>;
49
+ } : never;
50
+ export interface DesiredArtifactSelection {
51
+ pluginId: PluginId;
52
+ targetKey: string;
53
+ artifactKeys: string[];
54
+ }
55
+ export interface DesiredArtifactCollision {
56
+ targetKey: string;
57
+ artifactKey: string;
58
+ pluginIds: PluginId[];
59
+ }
60
+ export declare function parsePluginId(value: string): ParsedPluginId;
61
+ export declare function formatPluginId(value: ParsedPluginId): PluginId;
62
+ export declare function planPluginSelectorSourceIds(selectors: readonly ParsedPluginId[]): CatalogSourceId[] | undefined;
63
+ export declare function withResolvedMultiSourceCatalog<T>(options: WithResolvedMultiSourceCatalogOptions<T>): Promise<LeaseSafeResult<T>>;
64
+ export declare function withResolvedCatalogPlugin<T>(options: WithResolvedCatalogPluginOptions<T>): Promise<LeaseSafeResult<T>>;
65
+ export declare function preflightDesiredArtifactCollisions(selections: DesiredArtifactSelection[]): DesiredArtifactCollision[];
66
+ export {};