@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,141 @@
1
+ import { CatalogGenerationError } from './catalog-generation-error.js';
2
+ import { calculateCatalogGenerationSetDigest, resolveCatalogGenerationSet, } from './catalog-generation-resolver.js';
3
+ import { readCatalogGenerationControlSnapshot, } from './catalog-generation-control-snapshot.js';
4
+ export function selectCatalogOperationContext(context, sourceIds) {
5
+ const requested = new Set(sourceIds);
6
+ const missing = sourceIds.find((sourceId) => !context.generationSet.sources.some((source) => source.sourceId === sourceId));
7
+ if (missing)
8
+ throw new CatalogGenerationError({
9
+ code: 'catalogGenerationUnavailable',
10
+ sourceId: missing,
11
+ message: `Catalog source "${missing}" was unavailable when this operation context was bound. Run aw catalog source sync ${missing}, then retry.`,
12
+ });
13
+ const sources = context.generationSet.sources.filter((source) => requested.has(source.sourceId));
14
+ const generationSetDigest = calculateCatalogGenerationSetDigest(context.generationSet.configDigest, context.generationSet.primarySourceId, sources);
15
+ return {
16
+ generationSet: { ...context.generationSet, sources, generationSetDigest },
17
+ generationSetDigest,
18
+ catalog: {
19
+ ...context.catalog,
20
+ sources: context.catalog.sources.filter((source) => requested.has(source.sourceId)),
21
+ compositeDigest: generationSetDigest,
22
+ },
23
+ };
24
+ }
25
+ function selectedSourceIds(snapshot, sourceIds) {
26
+ if (!sourceIds)
27
+ return snapshot.config.sources.map((source) => source.id);
28
+ const configured = new Set(snapshot.config.sources.map((source) => source.id));
29
+ const unknown = sourceIds.find((sourceId) => !configured.has(sourceId));
30
+ if (unknown)
31
+ throw new CatalogGenerationError({
32
+ code: 'catalogGenerationSourceMissing',
33
+ sourceId: unknown,
34
+ message: `Catalog source "${unknown}" is not configured.`,
35
+ });
36
+ const requested = new Set(sourceIds);
37
+ return snapshot.config.sources.filter((source) => requested.has(source.id)).map((source) => source.id);
38
+ }
39
+ async function createContext(options) {
40
+ const configured = new Map(options.control.configSnapshot.config.sources.map((source) => [source.id, source]));
41
+ const sources = options.generationSet.sources.map((generation) => {
42
+ options.signal?.throwIfAborted();
43
+ const source = configured.get(generation.sourceId);
44
+ const active = options.control.generationState.sources[generation.sourceId]?.active;
45
+ if (!source || !active
46
+ || active.snapshotDigest !== generation.snapshotDigest
47
+ || active.sourceIdentity !== generation.sourceIdentity) {
48
+ throw new CatalogGenerationError({
49
+ code: 'catalogGenerationIdentityMismatch',
50
+ sourceId: generation.sourceId,
51
+ message: `Active Catalog snapshot for source "${generation.sourceId}" changed while the operation context was being resolved. Retry the operation.`,
52
+ });
53
+ }
54
+ const resolution = {
55
+ sourceId: generation.sourceId,
56
+ sourceIdentity: generation.sourceIdentity,
57
+ requestedRef: active.requestedRef,
58
+ resolvedCommit: generation.resolvedCommit,
59
+ rootDir: generation.snapshotPath,
60
+ manifest: generation.manifest,
61
+ manifestDigest: generation.manifestDigest,
62
+ snapshotDigest: generation.snapshotDigest,
63
+ transport: source.type,
64
+ async cleanup() { },
65
+ };
66
+ return { sourceId: generation.sourceId, resolution };
67
+ });
68
+ return {
69
+ generationSet: options.generationSet,
70
+ generationSetDigest: options.generationSet.generationSetDigest,
71
+ catalog: {
72
+ sources,
73
+ primarySourceId: options.generationSet.primarySourceId,
74
+ configDigest: options.generationSet.configDigest,
75
+ compositeDigest: options.generationSet.generationSetDigest,
76
+ },
77
+ };
78
+ }
79
+ export async function resolveCatalogOperationContext(options = {}) {
80
+ const env = options.env ?? process.env;
81
+ options.signal?.throwIfAborted();
82
+ const control = await readCatalogGenerationControlSnapshot({
83
+ env,
84
+ configSnapshot: options.configSnapshot,
85
+ });
86
+ const generationSet = await resolveCatalogGenerationSet({
87
+ sourceIds: selectedSourceIds(control.configSnapshot, options.sourceIds),
88
+ env,
89
+ controlSnapshot: control,
90
+ validatedStoreEntries: options.validatedStoreEntries,
91
+ validatingStoreEntries: options.validatingStoreEntries,
92
+ });
93
+ return createContext({ generationSet, control, signal: options.signal });
94
+ }
95
+ export async function resolvePartialCatalogOperationContext(options = {}) {
96
+ const env = options.env ?? process.env;
97
+ const control = await readCatalogGenerationControlSnapshot({
98
+ env,
99
+ configSnapshot: options.configSnapshot,
100
+ });
101
+ const sourceIds = selectedSourceIds(control.configSnapshot, options.sourceIds);
102
+ const results = await Promise.all(sourceIds.map(async (sourceId) => {
103
+ try {
104
+ const generationSet = await resolveCatalogGenerationSet({
105
+ sourceIds: [sourceId],
106
+ env,
107
+ controlSnapshot: control,
108
+ validatedStoreEntries: options.validatedStoreEntries,
109
+ validatingStoreEntries: options.validatingStoreEntries,
110
+ });
111
+ return { sourceId, context: await createContext({ generationSet, control, signal: options.signal }) };
112
+ }
113
+ catch (error) {
114
+ if (options.signal?.aborted)
115
+ throw error;
116
+ return { sourceId, error: error };
117
+ }
118
+ }));
119
+ const sources = results.flatMap((result) => result.context?.generationSet.sources ?? [])
120
+ .sort((left, right) => left.sourceId.localeCompare(right.sourceId));
121
+ const primarySourceId = control.configSnapshot.config.sources.find((source) => source.primary).id;
122
+ const generationSetDigest = calculateCatalogGenerationSetDigest(control.configSnapshot.digest, primarySourceId, sources);
123
+ return {
124
+ generationSet: {
125
+ generationSetDigest,
126
+ configDigest: control.configSnapshot.digest,
127
+ primarySourceId,
128
+ sources,
129
+ },
130
+ generationSetDigest,
131
+ catalog: {
132
+ sources: results.map((result) => result.context
133
+ ? result.context.catalog.sources[0]
134
+ : { sourceId: result.sourceId, error: result.error }),
135
+ primarySourceId,
136
+ configDigest: control.configSnapshot.digest,
137
+ compositeDigest: generationSetDigest,
138
+ },
139
+ };
140
+ }
141
+ //# sourceMappingURL=catalog-operation-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-operation-context.js","sourceRoot":"","sources":["../../../src/utils/catalog-operation-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export type CatalogProviderCompatibilityErrorCode = 'awCapabilityUnsupported';
2
+ export declare class CatalogProviderCompatibilityError extends Error {
3
+ readonly sourceId: string;
4
+ readonly code: CatalogProviderCompatibilityErrorCode;
5
+ readonly requiredCapabilities: string[];
6
+ readonly missingCapabilities: string[];
7
+ readonly availableCapabilities: string[];
8
+ constructor(options: {
9
+ sourceId: string;
10
+ requiredCapabilities: readonly string[];
11
+ missingCapabilities: readonly string[];
12
+ availableCapabilities: readonly string[];
13
+ });
14
+ }
15
+ export declare function sanitizeCatalogSourceErrorMessage(message: string, env?: NodeJS.ProcessEnv, sensitiveRoots?: readonly string[]): string;
16
+ export declare function catalogSourceErrorCode(error: unknown): string;
17
+ export declare function sanitizeCatalogSourceError(error: unknown, env?: NodeJS.ProcessEnv, sensitiveRoots?: readonly string[]): Error & {
18
+ code: string;
19
+ };
@@ -0,0 +1,100 @@
1
+ import os from 'node:os';
2
+ import path from 'node:path';
3
+ import { resolveAwHome } from './state-paths.js';
4
+ const DEFAULT_ERROR_CODE = 'catalogSourceResolutionFailed';
5
+ export class CatalogProviderCompatibilityError extends Error {
6
+ sourceId;
7
+ code;
8
+ requiredCapabilities;
9
+ missingCapabilities;
10
+ availableCapabilities;
11
+ constructor(options) {
12
+ super(`Catalog source "${options.sourceId}" requires unsupported AW capabilities: ${options.missingCapabilities.join(', ')}.`);
13
+ this.name = 'CatalogProviderCompatibilityError';
14
+ this.sourceId = options.sourceId;
15
+ this.code = 'awCapabilityUnsupported';
16
+ this.requiredCapabilities = [...options.requiredCapabilities];
17
+ this.missingCapabilities = [...options.missingCapabilities];
18
+ this.availableCapabilities = [...options.availableCapabilities];
19
+ }
20
+ }
21
+ function escapeRegExp(value) {
22
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
23
+ }
24
+ function replaceRoot(message, root, replacement) {
25
+ const normalized = path.resolve(root);
26
+ const variants = new Set([
27
+ normalized,
28
+ normalized.replaceAll('\\', '/'),
29
+ ...(normalized.startsWith('/var/') ? [`/private${normalized}`] : []),
30
+ ...(normalized.startsWith('/private/var/') ? [normalized.slice('/private'.length)] : []),
31
+ ]);
32
+ let output = message;
33
+ for (const variant of variants) {
34
+ output = output.replace(new RegExp(escapeRegExp(variant), 'g'), replacement);
35
+ }
36
+ return output;
37
+ }
38
+ export function sanitizeCatalogSourceErrorMessage(message, env = process.env, sensitiveRoots = []) {
39
+ const awHome = path.resolve(resolveAwHome(env));
40
+ let output = message;
41
+ for (const root of sensitiveRoots) {
42
+ if (root.trim() !== '')
43
+ output = replaceRoot(output, root, '[catalog-source]');
44
+ }
45
+ for (const [root, replacement] of [
46
+ [path.join(path.dirname(awHome), '.aw-local-marketplace-staging'), '[catalog-staging]'],
47
+ [awHome, '[aw-state]'],
48
+ ]) {
49
+ output = replaceRoot(output, root, replacement);
50
+ }
51
+ for (const tempRoot of new Set([
52
+ env.TMPDIR,
53
+ env.TEMP,
54
+ env.TMP,
55
+ os.tmpdir(),
56
+ '/private/tmp',
57
+ '/tmp',
58
+ ].filter((value) => Boolean(value)))) {
59
+ output = replaceRoot(output, tempRoot, '[temporary]');
60
+ }
61
+ return output.replace(/\.(?:materialize|path)-[^/\\\s"']+\.tmp/gu, '[catalog-materialization]');
62
+ }
63
+ export function catalogSourceErrorCode(error) {
64
+ const code = error.code;
65
+ return typeof code === 'string' && code.length > 0 ? code : DEFAULT_ERROR_CODE;
66
+ }
67
+ export function sanitizeCatalogSourceError(error, env = process.env, sensitiveRoots = []) {
68
+ const original = error instanceof Error ? error : new Error(String(error));
69
+ const sanitized = new Error(sanitizeCatalogSourceErrorMessage(original.message, env, sensitiveRoots), {
70
+ ...(original.cause === undefined
71
+ ? {}
72
+ : { cause: sanitizeCatalogSourceError(original.cause, env, sensitiveRoots) }),
73
+ });
74
+ sanitized.name = original.name;
75
+ sanitized.code = catalogSourceErrorCode(original);
76
+ const sourceId = original.sourceId;
77
+ if (typeof sourceId === 'string') {
78
+ sanitized.sourceId = sourceId;
79
+ }
80
+ if ('inventory' in original) {
81
+ sanitized.inventory = original.inventory;
82
+ }
83
+ if ('impact' in original) {
84
+ sanitized.impact = original.impact;
85
+ }
86
+ const originalCapabilities = original;
87
+ const sanitizedCapabilities = sanitized;
88
+ for (const field of [
89
+ 'requiredCapabilities',
90
+ 'missingCapabilities',
91
+ 'availableCapabilities',
92
+ ]) {
93
+ const value = originalCapabilities[field];
94
+ if (Array.isArray(value) && value.every((entry) => typeof entry === 'string')) {
95
+ sanitizedCapabilities[field] = [...value];
96
+ }
97
+ }
98
+ return sanitized;
99
+ }
100
+ //# sourceMappingURL=catalog-public-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-public-error.js","sourceRoot":"","sources":["../../../src/utils/catalog-public-error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { type CanonicalRuntimeSourceIdentity } from '@lesliechan721/aw-plugin-core/manifest';
2
+ import type { BuildConfigImportReference, PlatformName, PluginMeta } from '../types.js';
3
+ export { resolveCanonicalRuntimeSourceIdentity, } from '@lesliechan721/aw-plugin-core/manifest';
4
+ export type { CanonicalRuntimeSourceIdentity } from '@lesliechan721/aw-plugin-core/manifest';
5
+ export type CatalogRuntimeImportPurpose = 'build' | 'skill-runtime-file' | 'artifact-runtime';
6
+ export interface CatalogRuntimeExportResolution {
7
+ provider: string;
8
+ providerVersion: string;
9
+ name: string;
10
+ source: string;
11
+ sourcePath: string;
12
+ sourceDigest: string;
13
+ requiredCapabilities: string[];
14
+ capabilitySetDigest: string;
15
+ canonicalSource: CanonicalRuntimeSourceIdentity;
16
+ supportedPlatforms: ReadonlySet<PlatformName>;
17
+ virtual: boolean;
18
+ }
19
+ export interface CatalogRuntimeImportResolver {
20
+ resolve(options: {
21
+ consumer: PluginMeta;
22
+ reference: BuildConfigImportReference;
23
+ purpose: CatalogRuntimeImportPurpose;
24
+ platform?: PlatformName;
25
+ }): Promise<CatalogRuntimeExportResolution>;
26
+ }
27
+ export declare function resolveRuntimeExportSource(options: {
28
+ plugin: PluginMeta;
29
+ name: string;
30
+ source: string;
31
+ requiredCapabilities: readonly unknown[];
32
+ }): Promise<CatalogRuntimeExportResolution>;
33
+ export declare function createCatalogRuntimeImportResolver(plugins: readonly PluginMeta[]): CatalogRuntimeImportResolver;
@@ -0,0 +1,77 @@
1
+ import { computeAwCapabilitySetDigest, normalizeAwCapabilities, validateRuntimeExportSource, } from '@lesliechan721/aw-plugin-core/manifest';
2
+ import { calculateFileDigest } from './bundle-integrity.js';
3
+ import { resolveSupportedPlatforms } from './platform-support.js';
4
+ export { resolveCanonicalRuntimeSourceIdentity, } from '@lesliechan721/aw-plugin-core/manifest';
5
+ export async function resolveRuntimeExportSource(options) {
6
+ const canonicalSource = await validateRuntimeExportSource({
7
+ pluginRoot: options.plugin.rootDir,
8
+ name: options.name,
9
+ source: options.source,
10
+ });
11
+ const requiredCapabilities = normalizeAwCapabilities(options.requiredCapabilities, `buildConfig.runtimeExports export "${options.name}" requires.aw.capabilities`);
12
+ return {
13
+ provider: options.plugin.manifest.name,
14
+ providerVersion: options.plugin.manifest.version,
15
+ name: options.name,
16
+ source: options.source,
17
+ sourcePath: canonicalSource.sourceRealPath,
18
+ sourceDigest: await calculateFileDigest(canonicalSource.sourceRealPath),
19
+ requiredCapabilities,
20
+ capabilitySetDigest: computeAwCapabilitySetDigest(requiredCapabilities),
21
+ canonicalSource,
22
+ supportedPlatforms: resolveSupportedPlatforms(options.plugin.manifest),
23
+ virtual: false,
24
+ };
25
+ }
26
+ export function createCatalogRuntimeImportResolver(plugins) {
27
+ const pluginsByName = new Map();
28
+ for (const plugin of plugins) {
29
+ const matches = pluginsByName.get(plugin.manifest.name) ?? [];
30
+ matches.push(plugin);
31
+ pluginsByName.set(plugin.manifest.name, matches);
32
+ }
33
+ return {
34
+ async resolve({ consumer, reference, purpose, platform }) {
35
+ if (reference.plugin.startsWith('@aw/')) {
36
+ throw new Error(`Invalid catalog runtime import: unknown reserved provider "${reference.plugin}".`);
37
+ }
38
+ if (reference.plugin === consumer.manifest.name) {
39
+ throw new Error(`Invalid catalog runtime import: plugin "${consumer.manifest.name}" cannot import itself.`);
40
+ }
41
+ const providers = pluginsByName.get(reference.plugin) ?? [];
42
+ if (providers.length === 0) {
43
+ throw new Error(`Invalid catalog runtime import: provider plugin "${reference.plugin}" is unavailable.`);
44
+ }
45
+ if (providers.length !== 1) {
46
+ throw new Error(`Invalid catalog runtime import: provider plugin "${reference.plugin}" is ambiguous.`);
47
+ }
48
+ const provider = providers[0];
49
+ const exports = (provider.manifest.buildConfig?.runtimeExports ?? [])
50
+ .filter((entry) => entry.name === reference.export);
51
+ if (exports.length === 0) {
52
+ throw new Error(`Invalid catalog runtime import: provider "${reference.plugin}" does not export "${reference.export}".`);
53
+ }
54
+ if (exports.length !== 1) {
55
+ throw new Error(`Invalid catalog runtime import: provider "${reference.plugin}" export "${reference.export}" is ambiguous.`);
56
+ }
57
+ const resolution = await resolveRuntimeExportSource({
58
+ plugin: provider,
59
+ name: exports[0].name,
60
+ source: exports[0].source,
61
+ requiredCapabilities: exports[0].requires.aw.capabilities,
62
+ });
63
+ if (platform && !resolution.supportedPlatforms.has(platform)) {
64
+ throw new Error(`Invalid catalog runtime import: provider "${reference.plugin}" is unavailable for platform "${platform}".`);
65
+ }
66
+ if (purpose === 'build') {
67
+ const unsupportedPlatform = [...resolveSupportedPlatforms(consumer.manifest)]
68
+ .find((consumerPlatform) => !resolution.supportedPlatforms.has(consumerPlatform));
69
+ if (unsupportedPlatform) {
70
+ throw new Error(`Invalid catalog runtime import: provider "${reference.plugin}" is unavailable for consumer platform "${unsupportedPlatform}".`);
71
+ }
72
+ }
73
+ return resolution;
74
+ },
75
+ };
76
+ }
77
+ //# sourceMappingURL=catalog-runtime-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-runtime-projection.js","sourceRoot":"","sources":["../../../src/utils/catalog-runtime-projection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { CatalogManifestV7 } from '../types.js';
2
+ export interface CatalogSnapshotValidation {
3
+ rootDir: string;
4
+ manifest: CatalogManifestV7;
5
+ manifestDigest: string;
6
+ snapshotDigest: string;
7
+ }
8
+ export declare function validateCatalogSnapshotTransport(rootDir: string): Promise<CatalogSnapshotValidation>;
9
+ export declare function validateCatalogSnapshotComplete(rootDir: string): Promise<CatalogSnapshotValidation>;
10
+ export declare function validateCatalogSnapshotPluginEntriesComplete(rootDir: string, pluginNames: readonly string[]): Promise<CatalogSnapshotValidation>;
@@ -0,0 +1,20 @@
1
+ import path from 'node:path';
2
+ import { validateCatalogSnapshotComplete as validateCoreCatalogSnapshotComplete, validateCatalogSnapshotPluginEntriesComplete as validateCoreCatalogSnapshotPluginEntriesComplete, validateCatalogSnapshotTransport as validateCoreCatalogSnapshotTransport, } from '@lesliechan721/aw-plugin-core';
3
+ import { CURRENT_CATALOG_MANIFEST_FILE } from '../constants.js';
4
+ import { calculateFileDigest } from './bundle-integrity.js';
5
+ async function withManifestDigest(validation) {
6
+ return {
7
+ ...validation,
8
+ manifestDigest: await calculateFileDigest(path.join(validation.rootDir, CURRENT_CATALOG_MANIFEST_FILE)),
9
+ };
10
+ }
11
+ export async function validateCatalogSnapshotTransport(rootDir) {
12
+ return withManifestDigest(await validateCoreCatalogSnapshotTransport(rootDir));
13
+ }
14
+ export async function validateCatalogSnapshotComplete(rootDir) {
15
+ return withManifestDigest(await validateCoreCatalogSnapshotComplete(rootDir));
16
+ }
17
+ export async function validateCatalogSnapshotPluginEntriesComplete(rootDir, pluginNames) {
18
+ return withManifestDigest(await validateCoreCatalogSnapshotPluginEntriesComplete(rootDir, pluginNames));
19
+ }
20
+ //# sourceMappingURL=catalog-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-snapshot.js","sourceRoot":"","sources":["../../../src/utils/catalog-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,+BAA+B,IAAI,mCAAmC,EACtE,4CAA4C,IAAI,gDAAgD,EAChG,gCAAgC,IAAI,oCAAoC,GACzE,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAS5D,KAAK,UAAU,kBAAkB,CAC/B,UAA6D;IAE7D,OAAO;QACL,GAAG,UAAU;QACb,cAAc,EAAE,MAAM,mBAAmB,CACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAC7D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,OAAe;IACpE,OAAO,kBAAkB,CAAC,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,OAAe;IACnE,OAAO,kBAAkB,CAAC,MAAM,mCAAmC,CAAC,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,OAAe,EACf,WAA8B;IAE9B,OAAO,kBAAkB,CAAC,MAAM,gDAAgD,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1G,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CatalogSource, SourceIdentity } from '../types.js';
2
+ export declare function canonicalizeCatalogGitUrl(value: string): string;
3
+ export declare function canonicalizeCatalogPath(value: string, cwd: string): Promise<string>;
4
+ export declare function calculateCatalogSourceIdentity(source: CatalogSource): Promise<SourceIdentity>;
5
+ export declare function calculateCatalogSourceConfigFingerprint(source: CatalogSource): string;
@@ -0,0 +1,137 @@
1
+ import crypto from 'node:crypto';
2
+ import path from 'node:path';
3
+ import { fileURLToPath, pathToFileURL } from 'node:url';
4
+ import fs from 'fs-extra';
5
+ import { CATALOG_SOURCE_IDENTITY_VERSION, OFFICIAL_CATALOG_SOURCE_SSH_URL, OFFICIAL_CATALOG_SOURCE_URL, } from '../constants.js';
6
+ const SCP_GIT_URL_PATTERN = /^([^@/:\s]+)@([^/:\s]+):(.+)$/;
7
+ const ALLOWED_GIT_URL_PROTOCOLS = new Set(['file:', 'https:', 'ssh:']);
8
+ function normalizeGitPath(pathname) {
9
+ const normalized = pathname.replace(/\/+$/, '');
10
+ if (normalized === '' || normalized === '.') {
11
+ throw new Error('Invalid catalog Git URL: expected a repository path.');
12
+ }
13
+ return normalized;
14
+ }
15
+ export function canonicalizeCatalogGitUrl(value) {
16
+ if (typeof value !== 'string' || value.trim() === '' || value !== value.trim()) {
17
+ throw new Error('Invalid catalog Git URL: expected a non-empty canonical URL.');
18
+ }
19
+ const scpMatch = SCP_GIT_URL_PATTERN.exec(value);
20
+ if (scpMatch) {
21
+ const [, username, hostname, pathname] = scpMatch;
22
+ const hostUrl = new URL(`ssh://${hostname}/`);
23
+ const pathKind = pathname.startsWith('/') ? 'absolute' : 'relative';
24
+ return `scp-${pathKind}:${username}@${hostUrl.hostname.toLowerCase()}:${normalizeGitPath(pathname)}`;
25
+ }
26
+ if (path.isAbsolute(value)) {
27
+ const normalized = path.normalize(value).replace(/[\\/]+$/, '');
28
+ if (!normalized)
29
+ throw new Error('Invalid catalog Git path: expected a repository path.');
30
+ return normalized;
31
+ }
32
+ let url;
33
+ try {
34
+ url = new URL(value);
35
+ }
36
+ catch {
37
+ throw new Error('Invalid catalog Git URL: expected an absolute URL.');
38
+ }
39
+ if (!ALLOWED_GIT_URL_PROTOCOLS.has(url.protocol)) {
40
+ throw new Error(`Invalid catalog Git URL protocol "${url.protocol}".`);
41
+ }
42
+ if ((url.protocol !== 'file:' && !url.hostname)
43
+ || (url.protocol === 'file:' && url.hostname !== '')
44
+ || url.password
45
+ || (url.username && url.protocol !== 'ssh:')) {
46
+ throw new Error('Invalid catalog Git URL: embedded credentials are not allowed.');
47
+ }
48
+ if (url.search || url.hash) {
49
+ throw new Error('Invalid catalog Git URL: query strings and fragments are not allowed.');
50
+ }
51
+ if (url.protocol === 'https:' && url.username) {
52
+ throw new Error('Invalid catalog Git URL: embedded credentials are not allowed.');
53
+ }
54
+ if (url.protocol === 'file:') {
55
+ const filePath = fileURLToPath(url);
56
+ if (!path.isAbsolute(filePath))
57
+ throw new Error('Invalid catalog Git file URL: expected an absolute path.');
58
+ return pathToFileURL(normalizeGitPath(filePath)).href;
59
+ }
60
+ const username = url.username ? `${url.username}@` : '';
61
+ const port = url.port ? `:${url.port}` : '';
62
+ return `${url.protocol}//${username}${url.hostname.toLowerCase()}${port}${normalizeGitPath(url.pathname)}`;
63
+ }
64
+ function logicalCatalogGitIdentityLocation(value) {
65
+ if (value === OFFICIAL_CATALOG_SOURCE_URL || value === OFFICIAL_CATALOG_SOURCE_SSH_URL) {
66
+ return canonicalizeCatalogGitUrl(OFFICIAL_CATALOG_SOURCE_URL);
67
+ }
68
+ return canonicalizeCatalogGitUrl(value);
69
+ }
70
+ function normalizeIdentitySubdir(subdir) {
71
+ if (subdir === undefined)
72
+ return null;
73
+ if (typeof subdir !== 'string' || subdir.trim() === '' || subdir.includes('\\')) {
74
+ throw new Error('Invalid catalog source subdir: expected a relative POSIX path.');
75
+ }
76
+ const normalized = path.posix.normalize(subdir);
77
+ if (path.posix.isAbsolute(subdir)
78
+ || normalized === '.'
79
+ || normalized === '..'
80
+ || normalized.startsWith('../')) {
81
+ throw new Error('Invalid catalog source subdir: path must stay inside the source.');
82
+ }
83
+ return normalized.replace(/^\.\//, '').replace(/\/$/, '');
84
+ }
85
+ async function realpathCatalogDirectory(value) {
86
+ const location = await fs.realpath(value);
87
+ const stat = await fs.stat(location);
88
+ if (!stat.isDirectory()) {
89
+ throw new Error('Invalid catalog path source: expected a directory.');
90
+ }
91
+ return location;
92
+ }
93
+ export async function canonicalizeCatalogPath(value, cwd) {
94
+ if (typeof value !== 'string' || value.trim() === '') {
95
+ throw new Error('Invalid catalog path source: expected a non-empty path.');
96
+ }
97
+ if (typeof cwd !== 'string' || cwd.trim() === '' || !path.isAbsolute(cwd)) {
98
+ throw new Error('Invalid catalog path source cwd: expected an absolute path.');
99
+ }
100
+ return realpathCatalogDirectory(path.resolve(cwd, value));
101
+ }
102
+ export async function calculateCatalogSourceIdentity(source) {
103
+ let location;
104
+ if (source.type === 'git') {
105
+ location = logicalCatalogGitIdentityLocation(source.url);
106
+ }
107
+ else if (source.type === 'path') {
108
+ if (!path.isAbsolute(source.path)) {
109
+ throw new Error('Invalid catalog path source: expected a canonical absolute path.');
110
+ }
111
+ location = path.normalize(source.path);
112
+ }
113
+ else {
114
+ throw new Error('Invalid catalog source type: expected "git" or "path".');
115
+ }
116
+ const input = JSON.stringify({
117
+ version: CATALOG_SOURCE_IDENTITY_VERSION,
118
+ type: source.type,
119
+ location,
120
+ subdir: normalizeIdentitySubdir(source.type === 'git' ? source.subdir : undefined),
121
+ });
122
+ return `sha256:${crypto.createHash('sha256').update(input).digest('hex')}`;
123
+ }
124
+ export function calculateCatalogSourceConfigFingerprint(source) {
125
+ const location = source.type === 'git'
126
+ ? canonicalizeCatalogGitUrl(source.url)
127
+ : path.normalize(source.path);
128
+ const input = JSON.stringify({
129
+ version: 1,
130
+ type: source.type,
131
+ location,
132
+ refPolicy: source.type === 'git' ? source.refPolicy : null,
133
+ subdir: normalizeIdentitySubdir(source.type === 'git' ? source.subdir : undefined),
134
+ });
135
+ return `sha256:${crypto.createHash('sha256').update(input).digest('hex')}`;
136
+ }
137
+ //# sourceMappingURL=catalog-source-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-source-identity.js","sourceRoot":"","sources":["../../../src/utils/catalog-source-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { CatalogManifestV7, CatalogSourceImpact, CatalogSourcePluginChanges } from '../types.js';
2
+ import { type CatalogSourceReferenceInventory } from './catalog-source-references.js';
3
+ export type { CatalogSourceImpact, CatalogSourceImpactCategory, CatalogSourceImpactError, CatalogSourceImpactReference, CatalogSourcePluginChanges, } from '../types.js';
4
+ export declare function compareCatalogSourcePluginChanges(options: {
5
+ sourceId: string;
6
+ currentManifest: CatalogManifestV7;
7
+ candidateManifest: CatalogManifestV7;
8
+ }): CatalogSourcePluginChanges;
9
+ export declare function inspectCatalogSourceImpact(options: {
10
+ sourceId: string;
11
+ cwd: string;
12
+ env?: NodeJS.ProcessEnv;
13
+ sourcePrimary?: boolean;
14
+ mode: 'none' | 'remove' | 'identityChange' | 'generation';
15
+ currentManifest?: CatalogManifestV7;
16
+ candidateManifest?: CatalogManifestV7;
17
+ inventory?: CatalogSourceReferenceInventory;
18
+ }): Promise<CatalogSourceImpact>;
19
+ export declare function catalogSourceImpactRequiresConfirmation(impact: CatalogSourceImpact): boolean;
20
+ export declare function calculateCatalogSourceImpactDigest(impact: CatalogSourceImpact): string;