@lesliechan721/aw 0.1.0-beta.3

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 (429) hide show
  1. package/dist/authoring/assets/aw-config.d.mts +2 -0
  2. package/dist/authoring/assets/aw-config.mjs +556 -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/check-plugin-versions.d.mts +2 -0
  8. package/dist/authoring/scripts/check-plugin-versions.mjs +5 -0
  9. package/dist/authoring/scripts/check-plugin-versions.mjs.map +1 -0
  10. package/dist/authoring/scripts/init-plugin.d.mts +2 -0
  11. package/dist/authoring/scripts/init-plugin.mjs +512 -0
  12. package/dist/authoring/scripts/init-plugin.mjs.map +1 -0
  13. package/dist/authoring/scripts/lib/javascript-import-scanner.d.mts +4 -0
  14. package/dist/authoring/scripts/lib/javascript-import-scanner.mjs +261 -0
  15. package/dist/authoring/scripts/lib/javascript-import-scanner.mjs.map +1 -0
  16. package/dist/authoring/scripts/lib/plugin-root.d.mts +26 -0
  17. package/dist/authoring/scripts/lib/plugin-root.mjs +125 -0
  18. package/dist/authoring/scripts/lib/plugin-root.mjs.map +1 -0
  19. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +55 -0
  20. package/dist/authoring/scripts/lib/plugin-version-check.mjs +777 -0
  21. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -0
  22. package/dist/authoring/scripts/lib/semver.d.mts +9 -0
  23. package/dist/authoring/scripts/lib/semver.mjs +63 -0
  24. package/dist/authoring/scripts/lib/semver.mjs.map +1 -0
  25. package/dist/authoring/scripts/lib/skill-scaffold.d.mts +124 -0
  26. package/dist/authoring/scripts/lib/skill-scaffold.mjs +374 -0
  27. package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -0
  28. package/dist/authoring/scripts/plugin-status.d.mts +2 -0
  29. package/dist/authoring/scripts/plugin-status.mjs +96 -0
  30. package/dist/authoring/scripts/plugin-status.mjs.map +1 -0
  31. package/dist/authoring/scripts/validate-plugin.d.mts +2 -0
  32. package/dist/authoring/scripts/validate-plugin.mjs +4442 -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/index.d.ts +2 -0
  38. package/dist/index.js +8 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/scripts/aw-skill-eval-engine.d.ts +13 -0
  41. package/dist/scripts/aw-skill-eval-engine.js +31 -0
  42. package/dist/scripts/aw-skill-eval-engine.js.map +1 -0
  43. package/dist/scripts/bundle-plugins.d.ts +18 -0
  44. package/dist/scripts/bundle-plugins.js +123 -0
  45. package/dist/scripts/bundle-plugins.js.map +1 -0
  46. package/dist/scripts/codex-eval-app-server.d.ts +89 -0
  47. package/dist/scripts/codex-eval-app-server.js +1228 -0
  48. package/dist/scripts/codex-eval-app-server.js.map +1 -0
  49. package/dist/scripts/codex-eval-isolation.d.ts +61 -0
  50. package/dist/scripts/codex-eval-isolation.js +318 -0
  51. package/dist/scripts/codex-eval-isolation.js.map +1 -0
  52. package/dist/scripts/codex-eval-process-management.d.ts +8 -0
  53. package/dist/scripts/codex-eval-process-management.js +69 -0
  54. package/dist/scripts/codex-eval-process-management.js.map +1 -0
  55. package/dist/scripts/codex-eval-process-tree.d.ts +38 -0
  56. package/dist/scripts/codex-eval-process-tree.js +803 -0
  57. package/dist/scripts/codex-eval-process-tree.js.map +1 -0
  58. package/dist/scripts/codex-eval-runtime-config.d.ts +62 -0
  59. package/dist/scripts/codex-eval-runtime-config.js +843 -0
  60. package/dist/scripts/codex-eval-runtime-config.js.map +1 -0
  61. package/dist/scripts/codex-trigger-eval.d.ts +84 -0
  62. package/dist/scripts/codex-trigger-eval.js +968 -0
  63. package/dist/scripts/codex-trigger-eval.js.map +1 -0
  64. package/dist/scripts/eval-plugin-skills-audited.d.ts +6 -0
  65. package/dist/scripts/eval-plugin-skills-audited.js +261 -0
  66. package/dist/scripts/eval-plugin-skills-audited.js.map +1 -0
  67. package/dist/scripts/eval-plugin-skills.d.ts +45 -0
  68. package/dist/scripts/eval-plugin-skills.js +1586 -0
  69. package/dist/scripts/eval-plugin-skills.js.map +1 -0
  70. package/dist/scripts/eval-run-layout.d.ts +17 -0
  71. package/dist/scripts/eval-run-layout.js +26 -0
  72. package/dist/scripts/eval-run-layout.js.map +1 -0
  73. package/dist/scripts/plugin-eval-contract.d.ts +185 -0
  74. package/dist/scripts/plugin-eval-contract.js +695 -0
  75. package/dist/scripts/plugin-eval-contract.js.map +1 -0
  76. package/dist/scripts/plugin-eval-materializer.d.ts +13 -0
  77. package/dist/scripts/plugin-eval-materializer.js +421 -0
  78. package/dist/scripts/plugin-eval-materializer.js.map +1 -0
  79. package/dist/scripts/plugin-staging.d.ts +43 -0
  80. package/dist/scripts/plugin-staging.js +196 -0
  81. package/dist/scripts/plugin-staging.js.map +1 -0
  82. package/dist/scripts/skill-reporting.d.ts +212 -0
  83. package/dist/scripts/skill-reporting.js +922 -0
  84. package/dist/scripts/skill-reporting.js.map +1 -0
  85. package/dist/scripts/test-plugin-scripts.d.ts +7 -0
  86. package/dist/scripts/test-plugin-scripts.js +674 -0
  87. package/dist/scripts/test-plugin-scripts.js.map +1 -0
  88. package/dist/src/adapters/helpers.d.ts +44 -0
  89. package/dist/src/adapters/helpers.js +95 -0
  90. package/dist/src/adapters/helpers.js.map +1 -0
  91. package/dist/src/authoring/workspace-commands.d.ts +46 -0
  92. package/dist/src/authoring/workspace-commands.js +133 -0
  93. package/dist/src/authoring/workspace-commands.js.map +1 -0
  94. package/dist/src/commands/catalog-publish.d.ts +33 -0
  95. package/dist/src/commands/catalog-publish.js +374 -0
  96. package/dist/src/commands/catalog-publish.js.map +1 -0
  97. package/dist/src/commands/catalog-source.d.ts +111 -0
  98. package/dist/src/commands/catalog-source.js +266 -0
  99. package/dist/src/commands/catalog-source.js.map +1 -0
  100. package/dist/src/commands/console.d.ts +3 -0
  101. package/dist/src/commands/console.js +44 -0
  102. package/dist/src/commands/console.js.map +1 -0
  103. package/dist/src/commands/dependency-operation-plan.d.ts +28 -0
  104. package/dist/src/commands/dependency-operation-plan.js +15 -0
  105. package/dist/src/commands/dependency-operation-plan.js.map +1 -0
  106. package/dist/src/commands/init.d.ts +31 -0
  107. package/dist/src/commands/init.js +63 -0
  108. package/dist/src/commands/init.js.map +1 -0
  109. package/dist/src/commands/options.d.ts +68 -0
  110. package/dist/src/commands/options.js +146 -0
  111. package/dist/src/commands/options.js.map +1 -0
  112. package/dist/src/commands/rebuild-command.d.ts +77 -0
  113. package/dist/src/commands/rebuild-command.js +1681 -0
  114. package/dist/src/commands/rebuild-command.js.map +1 -0
  115. package/dist/src/commands/rebuild-integration.d.ts +94 -0
  116. package/dist/src/commands/rebuild-integration.js +3289 -0
  117. package/dist/src/commands/rebuild-integration.js.map +1 -0
  118. package/dist/src/commands/rebuild-operations.d.ts +110 -0
  119. package/dist/src/commands/rebuild-operations.js +791 -0
  120. package/dist/src/commands/rebuild-operations.js.map +1 -0
  121. package/dist/src/commands/review-publication.d.ts +99 -0
  122. package/dist/src/commands/review-publication.js +904 -0
  123. package/dist/src/commands/review-publication.js.map +1 -0
  124. package/dist/src/commands/runtime.d.ts +176 -0
  125. package/dist/src/commands/runtime.js +746 -0
  126. package/dist/src/commands/runtime.js.map +1 -0
  127. package/dist/src/commands/status-v4.d.ts +102 -0
  128. package/dist/src/commands/status-v4.js +844 -0
  129. package/dist/src/commands/status-v4.js.map +1 -0
  130. package/dist/src/commands/status.d.ts +93 -0
  131. package/dist/src/commands/status.js +442 -0
  132. package/dist/src/commands/status.js.map +1 -0
  133. package/dist/src/commands/wizard.d.ts +57 -0
  134. package/dist/src/commands/wizard.js +58 -0
  135. package/dist/src/commands/wizard.js.map +1 -0
  136. package/dist/src/commands/write-commands.d.ts +7 -0
  137. package/dist/src/commands/write-commands.js +167 -0
  138. package/dist/src/commands/write-commands.js.map +1 -0
  139. package/dist/src/constants.d.ts +25 -0
  140. package/dist/src/constants.js +26 -0
  141. package/dist/src/constants.js.map +1 -0
  142. package/dist/src/generators/agents.d.ts +3 -0
  143. package/dist/src/generators/agents.js +46 -0
  144. package/dist/src/generators/agents.js.map +1 -0
  145. package/dist/src/generators/hooks.d.ts +15 -0
  146. package/dist/src/generators/hooks.js +76 -0
  147. package/dist/src/generators/hooks.js.map +1 -0
  148. package/dist/src/generators/instructions.d.ts +13 -0
  149. package/dist/src/generators/instructions.js +66 -0
  150. package/dist/src/generators/instructions.js.map +1 -0
  151. package/dist/src/generators/local-plugin.d.ts +53 -0
  152. package/dist/src/generators/local-plugin.js +1268 -0
  153. package/dist/src/generators/local-plugin.js.map +1 -0
  154. package/dist/src/generators/permissions.d.ts +10 -0
  155. package/dist/src/generators/permissions.js +37 -0
  156. package/dist/src/generators/permissions.js.map +1 -0
  157. package/dist/src/generators/shared.d.ts +2 -0
  158. package/dist/src/generators/shared.js +15 -0
  159. package/dist/src/generators/shared.js.map +1 -0
  160. package/dist/src/index.d.ts +35 -0
  161. package/dist/src/index.js +2344 -0
  162. package/dist/src/index.js.map +1 -0
  163. package/dist/src/output/command-receipt.d.ts +90 -0
  164. package/dist/src/output/command-receipt.js +129 -0
  165. package/dist/src/output/command-receipt.js.map +1 -0
  166. package/dist/src/output/debug-log.d.ts +4 -0
  167. package/dist/src/output/debug-log.js +97 -0
  168. package/dist/src/output/debug-log.js.map +1 -0
  169. package/dist/src/output/equivalent-command.d.ts +9 -0
  170. package/dist/src/output/equivalent-command.js +39 -0
  171. package/dist/src/output/equivalent-command.js.map +1 -0
  172. package/dist/src/output/model.d.ts +117 -0
  173. package/dist/src/output/model.js +145 -0
  174. package/dist/src/output/model.js.map +1 -0
  175. package/dist/src/output/rebuild-progress.d.ts +21 -0
  176. package/dist/src/output/rebuild-progress.js +138 -0
  177. package/dist/src/output/rebuild-progress.js.map +1 -0
  178. package/dist/src/output/redact.d.ts +3 -0
  179. package/dist/src/output/redact.js +39 -0
  180. package/dist/src/output/redact.js.map +1 -0
  181. package/dist/src/output/reporter.d.ts +9 -0
  182. package/dist/src/output/reporter.js +133 -0
  183. package/dist/src/output/reporter.js.map +1 -0
  184. package/dist/src/portable/commands.d.ts +120 -0
  185. package/dist/src/portable/commands.js +506 -0
  186. package/dist/src/portable/commands.js.map +1 -0
  187. package/dist/src/portable/materializer.d.ts +50 -0
  188. package/dist/src/portable/materializer.js +408 -0
  189. package/dist/src/portable/materializer.js.map +1 -0
  190. package/dist/src/portable/skills-cli.d.ts +43 -0
  191. package/dist/src/portable/skills-cli.js +148 -0
  192. package/dist/src/portable/skills-cli.js.map +1 -0
  193. package/dist/src/tui/components.d.ts +32 -0
  194. package/dist/src/tui/components.js +42 -0
  195. package/dist/src/tui/components.js.map +1 -0
  196. package/dist/src/tui/console-app-v4.d.ts +20 -0
  197. package/dist/src/tui/console-app-v4.js +2613 -0
  198. package/dist/src/tui/console-app-v4.js.map +1 -0
  199. package/dist/src/tui/controller-runtime.d.ts +11 -0
  200. package/dist/src/tui/controller-runtime.js +902 -0
  201. package/dist/src/tui/controller-runtime.js.map +1 -0
  202. package/dist/src/tui/controller.d.ts +367 -0
  203. package/dist/src/tui/controller.js +1724 -0
  204. package/dist/src/tui/controller.js.map +1 -0
  205. package/dist/src/tui/index.d.ts +13 -0
  206. package/dist/src/tui/index.js +14 -0
  207. package/dist/src/tui/index.js.map +1 -0
  208. package/dist/src/tui/keys.d.ts +12 -0
  209. package/dist/src/tui/keys.js +22 -0
  210. package/dist/src/tui/keys.js.map +1 -0
  211. package/dist/src/tui/layout.d.ts +12 -0
  212. package/dist/src/tui/layout.js +19 -0
  213. package/dist/src/tui/layout.js.map +1 -0
  214. package/dist/src/tui/model.d.ts +279 -0
  215. package/dist/src/tui/model.js +652 -0
  216. package/dist/src/tui/model.js.map +1 -0
  217. package/dist/src/tui/prompt.d.ts +8 -0
  218. package/dist/src/tui/prompt.js +242 -0
  219. package/dist/src/tui/prompt.js.map +1 -0
  220. package/dist/src/tui/router.d.ts +153 -0
  221. package/dist/src/tui/router.js +102 -0
  222. package/dist/src/tui/router.js.map +1 -0
  223. package/dist/src/tui/runner.d.ts +11 -0
  224. package/dist/src/tui/runner.js +71 -0
  225. package/dist/src/tui/runner.js.map +1 -0
  226. package/dist/src/tui/theme.d.ts +18 -0
  227. package/dist/src/tui/theme.js +20 -0
  228. package/dist/src/tui/theme.js.map +1 -0
  229. package/dist/src/tui/views.d.ts +57 -0
  230. package/dist/src/tui/views.js +173 -0
  231. package/dist/src/tui/views.js.map +1 -0
  232. package/dist/src/tui/wizard.d.ts +11 -0
  233. package/dist/src/tui/wizard.js +321 -0
  234. package/dist/src/tui/wizard.js.map +1 -0
  235. package/dist/src/types.d.ts +313 -0
  236. package/dist/src/types.js +33 -0
  237. package/dist/src/types.js.map +1 -0
  238. package/dist/src/utils/active-marketplace-runtime-lock.d.ts +12 -0
  239. package/dist/src/utils/active-marketplace-runtime-lock.js +133 -0
  240. package/dist/src/utils/active-marketplace-runtime-lock.js.map +1 -0
  241. package/dist/src/utils/agent-version.d.ts +13 -0
  242. package/dist/src/utils/agent-version.js +172 -0
  243. package/dist/src/utils/agent-version.js.map +1 -0
  244. package/dist/src/utils/artifact-plan.d.ts +26 -0
  245. package/dist/src/utils/artifact-plan.js +444 -0
  246. package/dist/src/utils/artifact-plan.js.map +1 -0
  247. package/dist/src/utils/artifact-renderer.d.ts +124 -0
  248. package/dist/src/utils/artifact-renderer.js +442 -0
  249. package/dist/src/utils/artifact-renderer.js.map +1 -0
  250. package/dist/src/utils/artifact-sources.d.ts +8 -0
  251. package/dist/src/utils/artifact-sources.js +10 -0
  252. package/dist/src/utils/artifact-sources.js.map +1 -0
  253. package/dist/src/utils/aw-home-mutation-lock.d.ts +10 -0
  254. package/dist/src/utils/aw-home-mutation-lock.js +55 -0
  255. package/dist/src/utils/aw-home-mutation-lock.js.map +1 -0
  256. package/dist/src/utils/bundle-integrity.d.ts +3 -0
  257. package/dist/src/utils/bundle-integrity.js +88 -0
  258. package/dist/src/utils/bundle-integrity.js.map +1 -0
  259. package/dist/src/utils/bundle-layout.d.ts +4 -0
  260. package/dist/src/utils/bundle-layout.js +546 -0
  261. package/dist/src/utils/bundle-layout.js.map +1 -0
  262. package/dist/src/utils/catalog-digests.d.ts +8 -0
  263. package/dist/src/utils/catalog-digests.js +108 -0
  264. package/dist/src/utils/catalog-digests.js.map +1 -0
  265. package/dist/src/utils/catalog-manifest-v3.d.ts +2 -0
  266. package/dist/src/utils/catalog-manifest-v3.js +3 -0
  267. package/dist/src/utils/catalog-manifest-v3.js.map +1 -0
  268. package/dist/src/utils/catalog-manifest-v4.d.ts +5 -0
  269. package/dist/src/utils/catalog-manifest-v4.js +106 -0
  270. package/dist/src/utils/catalog-manifest-v4.js.map +1 -0
  271. package/dist/src/utils/catalog-public-error.d.ts +15 -0
  272. package/dist/src/utils/catalog-public-error.js +84 -0
  273. package/dist/src/utils/catalog-public-error.js.map +1 -0
  274. package/dist/src/utils/catalog-runtime-projection.d.ts +36 -0
  275. package/dist/src/utils/catalog-runtime-projection.js +172 -0
  276. package/dist/src/utils/catalog-runtime-projection.js.map +1 -0
  277. package/dist/src/utils/catalog-snapshot.d.ts +8 -0
  278. package/dist/src/utils/catalog-snapshot.js +12 -0
  279. package/dist/src/utils/catalog-snapshot.js.map +1 -0
  280. package/dist/src/utils/catalog-source-cache.d.ts +61 -0
  281. package/dist/src/utils/catalog-source-cache.js +276 -0
  282. package/dist/src/utils/catalog-source-cache.js.map +1 -0
  283. package/dist/src/utils/catalog-source-identity.d.ts +4 -0
  284. package/dist/src/utils/catalog-source-identity.js +118 -0
  285. package/dist/src/utils/catalog-source-identity.js.map +1 -0
  286. package/dist/src/utils/catalog-source-presentation.d.ts +1 -0
  287. package/dist/src/utils/catalog-source-presentation.js +32 -0
  288. package/dist/src/utils/catalog-source-presentation.js.map +1 -0
  289. package/dist/src/utils/catalog-source-references.d.ts +65 -0
  290. package/dist/src/utils/catalog-source-references.js +1418 -0
  291. package/dist/src/utils/catalog-source-references.js.map +1 -0
  292. package/dist/src/utils/catalog-sources.d.ts +39 -0
  293. package/dist/src/utils/catalog-sources.js +293 -0
  294. package/dist/src/utils/catalog-sources.js.map +1 -0
  295. package/dist/src/utils/codex-config.d.ts +124 -0
  296. package/dist/src/utils/codex-config.js +1011 -0
  297. package/dist/src/utils/codex-config.js.map +1 -0
  298. package/dist/src/utils/codex-project-surface.d.ts +3 -0
  299. package/dist/src/utils/codex-project-surface.js +49 -0
  300. package/dist/src/utils/codex-project-surface.js.map +1 -0
  301. package/dist/src/utils/codex-roles.d.ts +71 -0
  302. package/dist/src/utils/codex-roles.js +257 -0
  303. package/dist/src/utils/codex-roles.js.map +1 -0
  304. package/dist/src/utils/codex-skill-staging.d.ts +9 -0
  305. package/dist/src/utils/codex-skill-staging.js +8 -0
  306. package/dist/src/utils/codex-skill-staging.js.map +1 -0
  307. package/dist/src/utils/config-value.d.ts +3 -0
  308. package/dist/src/utils/config-value.js +23 -0
  309. package/dist/src/utils/config-value.js.map +1 -0
  310. package/dist/src/utils/dynamic-skill-tree.d.ts +32 -0
  311. package/dist/src/utils/dynamic-skill-tree.js +436 -0
  312. package/dist/src/utils/dynamic-skill-tree.js.map +1 -0
  313. package/dist/src/utils/file-rules.d.ts +1 -0
  314. package/dist/src/utils/file-rules.js +2 -0
  315. package/dist/src/utils/file-rules.js.map +1 -0
  316. package/dist/src/utils/git-catalog-provider.d.ts +7 -0
  317. package/dist/src/utils/git-catalog-provider.js +510 -0
  318. package/dist/src/utils/git-catalog-provider.js.map +1 -0
  319. package/dist/src/utils/hooks-contract.d.ts +1 -0
  320. package/dist/src/utils/hooks-contract.js +2 -0
  321. package/dist/src/utils/hooks-contract.js.map +1 -0
  322. package/dist/src/utils/json.d.ts +4 -0
  323. package/dist/src/utils/json.js +29 -0
  324. package/dist/src/utils/json.js.map +1 -0
  325. package/dist/src/utils/lifecycle-active-store.d.ts +175 -0
  326. package/dist/src/utils/lifecycle-active-store.js +1276 -0
  327. package/dist/src/utils/lifecycle-active-store.js.map +1 -0
  328. package/dist/src/utils/local-marketplace.d.ts +41 -0
  329. package/dist/src/utils/local-marketplace.js +317 -0
  330. package/dist/src/utils/local-marketplace.js.map +1 -0
  331. package/dist/src/utils/manifest.d.ts +14 -0
  332. package/dist/src/utils/manifest.js +36 -0
  333. package/dist/src/utils/manifest.js.map +1 -0
  334. package/dist/src/utils/marketplace.d.ts +3 -0
  335. package/dist/src/utils/marketplace.js +76 -0
  336. package/dist/src/utils/marketplace.js.map +1 -0
  337. package/dist/src/utils/multi-source-catalog.d.ts +72 -0
  338. package/dist/src/utils/multi-source-catalog.js +402 -0
  339. package/dist/src/utils/multi-source-catalog.js.map +1 -0
  340. package/dist/src/utils/native-cli.d.ts +75 -0
  341. package/dist/src/utils/native-cli.js +435 -0
  342. package/dist/src/utils/native-cli.js.map +1 -0
  343. package/dist/src/utils/orphan-marketplace-cleanup.d.ts +18 -0
  344. package/dist/src/utils/orphan-marketplace-cleanup.js +202 -0
  345. package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -0
  346. package/dist/src/utils/ownership.d.ts +130 -0
  347. package/dist/src/utils/ownership.js +766 -0
  348. package/dist/src/utils/ownership.js.map +1 -0
  349. package/dist/src/utils/path-catalog-provider.d.ts +7 -0
  350. package/dist/src/utils/path-catalog-provider.js +87 -0
  351. package/dist/src/utils/path-catalog-provider.js.map +1 -0
  352. package/dist/src/utils/paths.d.ts +41 -0
  353. package/dist/src/utils/paths.js +138 -0
  354. package/dist/src/utils/paths.js.map +1 -0
  355. package/dist/src/utils/platform-entries.d.ts +1 -0
  356. package/dist/src/utils/platform-entries.js +2 -0
  357. package/dist/src/utils/platform-entries.js.map +1 -0
  358. package/dist/src/utils/platform-support.d.ts +1 -0
  359. package/dist/src/utils/platform-support.js +2 -0
  360. package/dist/src/utils/platform-support.js.map +1 -0
  361. package/dist/src/utils/plugin-authoring-capabilities.d.ts +23 -0
  362. package/dist/src/utils/plugin-authoring-capabilities.js +37 -0
  363. package/dist/src/utils/plugin-authoring-capabilities.js.map +1 -0
  364. package/dist/src/utils/plugin-authoring-capabilities.json +92 -0
  365. package/dist/src/utils/plugin-config-write.d.ts +107 -0
  366. package/dist/src/utils/plugin-config-write.js +565 -0
  367. package/dist/src/utils/plugin-config-write.js.map +1 -0
  368. package/dist/src/utils/plugin-config.d.ts +396 -0
  369. package/dist/src/utils/plugin-config.js +1898 -0
  370. package/dist/src/utils/plugin-config.js.map +1 -0
  371. package/dist/src/utils/plugin-dependencies.d.ts +12 -0
  372. package/dist/src/utils/plugin-dependencies.js +162 -0
  373. package/dist/src/utils/plugin-dependencies.js.map +1 -0
  374. package/dist/src/utils/plugin-release.d.ts +2 -0
  375. package/dist/src/utils/plugin-release.js +2 -0
  376. package/dist/src/utils/plugin-release.js.map +1 -0
  377. package/dist/src/utils/plugin-script-contract.d.ts +1 -0
  378. package/dist/src/utils/plugin-script-contract.js +2 -0
  379. package/dist/src/utils/plugin-script-contract.js.map +1 -0
  380. package/dist/src/utils/plugin-scripts.d.ts +172 -0
  381. package/dist/src/utils/plugin-scripts.js +585 -0
  382. package/dist/src/utils/plugin-scripts.js.map +1 -0
  383. package/dist/src/utils/process-lock.d.ts +47 -0
  384. package/dist/src/utils/process-lock.js +532 -0
  385. package/dist/src/utils/process-lock.js.map +1 -0
  386. package/dist/src/utils/process-tree.d.ts +2 -0
  387. package/dist/src/utils/process-tree.js +2 -0
  388. package/dist/src/utils/process-tree.js.map +1 -0
  389. package/dist/src/utils/project-boundary.d.ts +21 -0
  390. package/dist/src/utils/project-boundary.js +95 -0
  391. package/dist/src/utils/project-boundary.js.map +1 -0
  392. package/dist/src/utils/rendered-contract.d.ts +8 -0
  393. package/dist/src/utils/rendered-contract.js +134 -0
  394. package/dist/src/utils/rendered-contract.js.map +1 -0
  395. package/dist/src/utils/runtime-skill-closure.d.ts +13 -0
  396. package/dist/src/utils/runtime-skill-closure.js +863 -0
  397. package/dist/src/utils/runtime-skill-closure.js.map +1 -0
  398. package/dist/src/utils/skill-authoring.d.ts +1 -0
  399. package/dist/src/utils/skill-authoring.js +2 -0
  400. package/dist/src/utils/skill-authoring.js.map +1 -0
  401. package/dist/src/utils/skill-frontmatter-capabilities.d.ts +201 -0
  402. package/dist/src/utils/skill-frontmatter-capabilities.js +5 -0
  403. package/dist/src/utils/skill-frontmatter-capabilities.js.map +1 -0
  404. package/dist/src/utils/skill-frontmatter-capabilities.json +200 -0
  405. package/dist/src/utils/skill-validation.d.ts +37 -0
  406. package/dist/src/utils/skill-validation.js +326 -0
  407. package/dist/src/utils/skill-validation.js.map +1 -0
  408. package/dist/src/utils/slash-commands.d.ts +1 -0
  409. package/dist/src/utils/slash-commands.js +2 -0
  410. package/dist/src/utils/slash-commands.js.map +1 -0
  411. package/dist/src/utils/state-paths.d.ts +13 -0
  412. package/dist/src/utils/state-paths.js +129 -0
  413. package/dist/src/utils/state-paths.js.map +1 -0
  414. package/dist/src/utils/target-eligibility.d.ts +7 -0
  415. package/dist/src/utils/target-eligibility.js +26 -0
  416. package/dist/src/utils/target-eligibility.js.map +1 -0
  417. package/dist/src/utils/target-order.d.ts +7 -0
  418. package/dist/src/utils/target-order.js +10 -0
  419. package/dist/src/utils/target-order.js.map +1 -0
  420. package/dist/src/utils/template-engine.d.ts +1 -0
  421. package/dist/src/utils/template-engine.js +2 -0
  422. package/dist/src/utils/template-engine.js.map +1 -0
  423. package/dist/src/utils/test-path-fence.d.ts +12 -0
  424. package/dist/src/utils/test-path-fence.js +31 -0
  425. package/dist/src/utils/test-path-fence.js.map +1 -0
  426. package/dist/vitest.config.d.ts +2 -0
  427. package/dist/vitest.config.js +16 -0
  428. package/dist/vitest.config.js.map +1 -0
  429. package/package.json +61 -0
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,556 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ const CONFIG_DIR = 'plugin-config';
7
+ const LOCAL_CONFIG_DIR = 'plugin-config.local';
8
+ const CONFIG_FILE = 'config.json';
9
+ const SUPPORTED_TYPES = new Set(['string', 'number', 'boolean', 'enum', 'file', 'directory']);
10
+ const REDACTED = '[redacted]';
11
+ const SOURCE_IDENTITY_PATTERN = /^sha256:[0-9a-f]{64}$/;
12
+ function isRecord(value) {
13
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
14
+ }
15
+ function fail(message) {
16
+ throw new Error(message);
17
+ }
18
+ function readJsonFile(filePath, label) {
19
+ let content;
20
+ try {
21
+ content = fs.readFileSync(filePath, 'utf8');
22
+ }
23
+ catch {
24
+ fail(`Unable to read ${label}.`);
25
+ }
26
+ try {
27
+ return JSON.parse(content);
28
+ }
29
+ catch {
30
+ fail(`Unable to parse ${label} as JSON.`);
31
+ }
32
+ }
33
+ function safePluginSegment(pluginName) {
34
+ if (typeof pluginName !== 'string' || pluginName.trim() === '') {
35
+ fail('Invalid plugin config segment.');
36
+ }
37
+ if (pluginName !== pluginName.trim() ||
38
+ pluginName === '.' ||
39
+ pluginName === '..' ||
40
+ pluginName.includes('/') ||
41
+ pluginName.includes('\\') ||
42
+ path.posix.isAbsolute(pluginName) ||
43
+ path.win32.isAbsolute(pluginName) ||
44
+ /^[A-Za-z][A-Za-z0-9+.-]*:/.test(pluginName)) {
45
+ fail('Invalid plugin config segment.');
46
+ }
47
+ return pluginName;
48
+ }
49
+ function validateConfigSchema(rawSchema) {
50
+ if (!isRecord(rawSchema)) {
51
+ fail('Plugin manifest does not declare a valid AW config schema.');
52
+ }
53
+ const schema = {};
54
+ for (const [key, rawField] of Object.entries(rawSchema)) {
55
+ if (!/^[A-Za-z][A-Za-z0-9_]*$/.test(key)) {
56
+ fail('Plugin manifest declares an invalid config key.');
57
+ }
58
+ if (!isRecord(rawField)) {
59
+ fail(`Config schema field "${key}" must be an object.`);
60
+ }
61
+ const allowed = new Set([
62
+ 'type',
63
+ 'title',
64
+ 'description',
65
+ 'default',
66
+ 'required',
67
+ 'sensitive',
68
+ 'values',
69
+ 'min',
70
+ 'max',
71
+ ]);
72
+ for (const fieldKey of Object.keys(rawField)) {
73
+ if (!allowed.has(fieldKey)) {
74
+ fail(`Config schema field "${key}" contains an unsupported property.`);
75
+ }
76
+ }
77
+ if (typeof rawField.type !== 'string' || !SUPPORTED_TYPES.has(rawField.type)) {
78
+ fail(`Config schema field "${key}" has an unsupported type.`);
79
+ }
80
+ if (rawField.required !== undefined && typeof rawField.required !== 'boolean') {
81
+ fail(`Config schema field "${key}" has an invalid required flag.`);
82
+ }
83
+ if (rawField.sensitive !== undefined && typeof rawField.sensitive !== 'boolean') {
84
+ fail(`Config schema field "${key}" has an invalid sensitive flag.`);
85
+ }
86
+ if (rawField.values !== undefined) {
87
+ if (rawField.type !== 'enum' || !Array.isArray(rawField.values) || rawField.values.length === 0) {
88
+ fail(`Config schema field "${key}" has invalid enum values.`);
89
+ }
90
+ for (const value of rawField.values) {
91
+ if (typeof value !== 'string') {
92
+ fail(`Config schema field "${key}" has a non-string enum value.`);
93
+ }
94
+ }
95
+ }
96
+ if (rawField.type !== 'number' && (rawField.min !== undefined || rawField.max !== undefined)) {
97
+ fail(`Config schema field "${key}" uses min/max on a non-number field.`);
98
+ }
99
+ if (rawField.min !== undefined && (!Number.isFinite(rawField.min) || typeof rawField.min !== 'number')) {
100
+ fail(`Config schema field "${key}" has an invalid min.`);
101
+ }
102
+ if (rawField.max !== undefined && (!Number.isFinite(rawField.max) || typeof rawField.max !== 'number')) {
103
+ fail(`Config schema field "${key}" has an invalid max.`);
104
+ }
105
+ if (rawField.min !== undefined && rawField.max !== undefined && rawField.min > rawField.max) {
106
+ fail(`Config schema field "${key}" has min greater than max.`);
107
+ }
108
+ schema[key] = {
109
+ type: rawField.type,
110
+ title: rawField.title,
111
+ description: rawField.description,
112
+ default: rawField.default,
113
+ required: rawField.required,
114
+ sensitive: rawField.sensitive,
115
+ values: rawField.values,
116
+ min: rawField.min,
117
+ max: rawField.max,
118
+ };
119
+ }
120
+ return schema;
121
+ }
122
+ function validateManifest(rawManifest) {
123
+ if (!isRecord(rawManifest)) {
124
+ fail('Bundle manifest is not a JSON object.');
125
+ }
126
+ const pluginName = safePluginSegment(rawManifest.name);
127
+ if (!isRecord(rawManifest.config) || !isRecord(rawManifest.config.schema)) {
128
+ fail(`Plugin "${pluginName}" does not declare an AW config schema.`);
129
+ }
130
+ return {
131
+ pluginName,
132
+ schema: validateConfigSchema(rawManifest.config.schema),
133
+ };
134
+ }
135
+ function locateBundleManifest() {
136
+ let currentDir = path.dirname(fileURLToPath(import.meta.url));
137
+ while (true) {
138
+ const manifestPath = path.join(currentDir, '.agents-plugin', 'plugin.json');
139
+ if (fs.existsSync(manifestPath)) {
140
+ return {
141
+ bundleRoot: currentDir,
142
+ manifestPath,
143
+ };
144
+ }
145
+ const parentDir = path.dirname(currentDir);
146
+ if (parentDir === currentDir) {
147
+ fail('Unable to locate bundle .agents-plugin/plugin.json.');
148
+ }
149
+ currentDir = parentDir;
150
+ }
151
+ }
152
+ function resolveAwProjectRoot(cwd) {
153
+ let currentDir = path.resolve(cwd);
154
+ while (true) {
155
+ if (fs.existsSync(path.join(currentDir, '.git')) ||
156
+ fs.existsSync(path.join(currentDir, 'pnpm-workspace.yaml'))) {
157
+ return currentDir;
158
+ }
159
+ const parentDir = path.dirname(currentDir);
160
+ if (parentDir === currentDir) {
161
+ return path.resolve(cwd);
162
+ }
163
+ currentDir = parentDir;
164
+ }
165
+ }
166
+ function resolveAwHome() {
167
+ return process.env.AW_HOME || path.join(os.homedir(), '.aw');
168
+ }
169
+ function resolveConfigStorePath(sourceId, pluginName, scope, cwd) {
170
+ if (scope === 'user') {
171
+ return path.join(resolveAwHome(), CONFIG_DIR, sourceId, pluginName, CONFIG_FILE);
172
+ }
173
+ const projectRoot = resolveAwProjectRoot(cwd);
174
+ if (scope === 'projectLocal') {
175
+ return path.join(projectRoot, '.agent-workflows', LOCAL_CONFIG_DIR, sourceId, pluginName, CONFIG_FILE);
176
+ }
177
+ return path.join(projectRoot, '.agent-workflows', CONFIG_DIR, sourceId, pluginName, CONFIG_FILE);
178
+ }
179
+ function readStore(filePath, identity) {
180
+ if (!fs.existsSync(filePath)) {
181
+ return { path: filePath, exists: false, values: {} };
182
+ }
183
+ const envelope = readJsonFile(filePath, 'plugin config store');
184
+ if (!isRecord(envelope) ||
185
+ envelope.schemaVersion !== 2 ||
186
+ envelope.sourceId !== identity.sourceId ||
187
+ envelope.sourceIdentity !== identity.sourceIdentity ||
188
+ envelope.pluginName !== identity.pluginName ||
189
+ !isRecord(envelope.values)) {
190
+ fail('Plugin config store does not match its schema 2 source identity.');
191
+ }
192
+ return { path: filePath, exists: true, values: envelope.values };
193
+ }
194
+ function coerceValue(key, field, value, options = {}) {
195
+ if (field.type === 'string') {
196
+ if (typeof value !== 'string')
197
+ fail(`Config "${key}" must be a string.`);
198
+ return value;
199
+ }
200
+ if (field.type === 'number') {
201
+ const numberValue = typeof value === 'number'
202
+ ? value
203
+ : typeof value === 'string' && value.trim() !== ''
204
+ ? Number(value)
205
+ : Number.NaN;
206
+ if (!Number.isFinite(numberValue))
207
+ fail(`Config "${key}" must be a number.`);
208
+ if (field.min !== undefined && numberValue < field.min) {
209
+ fail(`Config "${key}" is smaller than the allowed minimum.`);
210
+ }
211
+ if (field.max !== undefined && numberValue > field.max) {
212
+ fail(`Config "${key}" is greater than the allowed maximum.`);
213
+ }
214
+ return numberValue;
215
+ }
216
+ if (field.type === 'boolean') {
217
+ if (typeof value === 'boolean')
218
+ return value;
219
+ if (typeof value === 'string') {
220
+ const normalized = value.trim().toLowerCase();
221
+ if (['true', '1', 'yes', 'y'].includes(normalized))
222
+ return true;
223
+ if (['false', '0', 'no', 'n'].includes(normalized))
224
+ return false;
225
+ }
226
+ fail(`Config "${key}" must be a boolean.`);
227
+ }
228
+ if (field.type === 'enum') {
229
+ if (typeof value !== 'string' || !field.values?.includes(value)) {
230
+ fail(`Config "${key}" must be one of the declared enum values.`);
231
+ }
232
+ return value;
233
+ }
234
+ if (field.type === 'file' || field.type === 'directory') {
235
+ if (typeof value !== 'string' || value.trim() === '') {
236
+ fail(`Config "${key}" must be a path string.`);
237
+ }
238
+ if (options.skipPathValidation) {
239
+ return value;
240
+ }
241
+ const resolvedPath = path.isAbsolute(value)
242
+ ? value
243
+ : path.resolve(options.projectRoot || process.cwd(), value);
244
+ let realPath;
245
+ let stats;
246
+ try {
247
+ realPath = fs.realpathSync(resolvedPath);
248
+ stats = fs.statSync(realPath);
249
+ }
250
+ catch {
251
+ fail(`Config "${key}" points to a missing path.`);
252
+ }
253
+ if (field.type === 'file' && !stats.isFile()) {
254
+ fail(`Config "${key}" must point to an existing file.`);
255
+ }
256
+ if (field.type === 'directory' && !stats.isDirectory()) {
257
+ fail(`Config "${key}" must point to an existing directory.`);
258
+ }
259
+ return realPath;
260
+ }
261
+ fail(`Config "${key}" has an unsupported type.`);
262
+ }
263
+ function applyLayer(state, schema, entries, source, projectRoot, options = {}) {
264
+ for (const [key, field] of Object.entries(schema)) {
265
+ if (!Object.hasOwn(entries, key))
266
+ continue;
267
+ const value = coerceValue(key, field, entries[key], {
268
+ projectRoot,
269
+ skipPathValidation: options.skipPathValidation,
270
+ });
271
+ state.values[key] = value;
272
+ state.redactedValues[key] = field.sensitive ? REDACTED : value;
273
+ state.sources[key] = source;
274
+ }
275
+ }
276
+ function buildState(schema) {
277
+ const sources = {};
278
+ for (const key of Object.keys(schema)) {
279
+ sources[key] = 'missing';
280
+ }
281
+ return {
282
+ values: {},
283
+ redactedValues: {},
284
+ sources,
285
+ ignoredUnknownKeys: [],
286
+ issues: [],
287
+ };
288
+ }
289
+ function collectUnknownKeys(state, schema, store, scope) {
290
+ const schemaKeys = new Set(Object.keys(schema));
291
+ for (const key of Object.keys(store.values)) {
292
+ if (!schemaKeys.has(key)) {
293
+ state.ignoredUnknownKeys.push({ scope, key });
294
+ }
295
+ }
296
+ }
297
+ function addMissingRequiredIssues(state, schema) {
298
+ for (const [key, field] of Object.entries(schema)) {
299
+ if (field.required && state.values[key] === undefined) {
300
+ state.issues.push({
301
+ type: 'missing-required',
302
+ key,
303
+ source: state.sources[key],
304
+ message: `Config "${key}" is required.`,
305
+ });
306
+ }
307
+ }
308
+ }
309
+ function resolveFromStores({ identity, schema, scope, stores, projectRoot }) {
310
+ const state = buildState(schema);
311
+ if (scope === 'effective') {
312
+ for (const [key, field] of Object.entries(schema)) {
313
+ if (field.default !== undefined) {
314
+ applyLayer(state, { [key]: field }, { [key]: field.default }, 'default', projectRoot);
315
+ }
316
+ }
317
+ for (const [storeKey, source] of [
318
+ ['user', 'user'],
319
+ ['project', 'projectShared'],
320
+ ['projectLocal', 'projectLocal'],
321
+ ]) {
322
+ collectUnknownKeys(state, schema, stores[storeKey], source);
323
+ applyLayer(state, schema, stores[storeKey].values, source, projectRoot);
324
+ }
325
+ addMissingRequiredIssues(state, schema);
326
+ }
327
+ else {
328
+ collectUnknownKeys(state, schema, stores[scope], scope);
329
+ applyLayer(state, schema, stores[scope].values, scope, projectRoot);
330
+ }
331
+ return {
332
+ pluginName: identity.pluginName,
333
+ sourceId: identity.sourceId,
334
+ sourceIdentity: identity.sourceIdentity,
335
+ pluginId: `${identity.sourceId}/${identity.pluginName}`,
336
+ scope,
337
+ values: state.values,
338
+ redactedValues: state.redactedValues,
339
+ sources: state.sources,
340
+ schema,
341
+ diagnostics: {
342
+ issues: state.issues,
343
+ ignoredUnknownKeys: state.ignoredUnknownKeys,
344
+ },
345
+ paths: {
346
+ configStores: {
347
+ user: stores.user.path,
348
+ project: stores.project.path,
349
+ projectLocal: stores.projectLocal.path,
350
+ },
351
+ },
352
+ };
353
+ }
354
+ function normalizeContextConfig(context) {
355
+ if (!isRecord(context) || !isRecord(context.config)) {
356
+ fail('AW_PLUGIN_CONTEXT does not contain config data.');
357
+ }
358
+ const schema = validateConfigSchema(context.config.schema);
359
+ const pluginName = safePluginSegment(context.plugin?.name || context.pluginName || context.config.pluginName || 'plugin');
360
+ const sourceId = context.plugin?.sourceId;
361
+ const sourceIdentity = context.plugin?.sourceIdentity;
362
+ if ((sourceId === undefined) !== (sourceIdentity === undefined)) {
363
+ fail('AW_PLUGIN_CONTEXT contains an incomplete source identity.');
364
+ }
365
+ const identity = sourceId === undefined
366
+ ? null
367
+ : {
368
+ pluginName,
369
+ sourceId: safePluginSegment(sourceId),
370
+ sourceIdentity,
371
+ };
372
+ if (identity && !SOURCE_IDENTITY_PATTERN.test(identity.sourceIdentity)) {
373
+ fail('AW_PLUGIN_CONTEXT contains an invalid source identity.');
374
+ }
375
+ return { pluginName, schema, identity };
376
+ }
377
+ function resolveFromContext(scope) {
378
+ const contextPath = process.env.AW_PLUGIN_CONTEXT;
379
+ if (!contextPath)
380
+ return null;
381
+ const context = readJsonFile(contextPath, 'AW_PLUGIN_CONTEXT');
382
+ const { pluginName, schema, identity } = normalizeContextConfig(context);
383
+ if (scope === 'effective') {
384
+ const state = buildState(schema);
385
+ const values = isRecord(context.config.values) ? context.config.values : {};
386
+ const sources = isRecord(context.config.sources) ? context.config.sources : {};
387
+ applyLayer(state, schema, values, 'context', process.cwd(), { skipPathValidation: true });
388
+ for (const key of Object.keys(schema)) {
389
+ if (typeof sources[key] === 'string') {
390
+ state.sources[key] = sources[key];
391
+ }
392
+ }
393
+ for (const key of Object.keys(values)) {
394
+ if (!Object.hasOwn(schema, key)) {
395
+ state.ignoredUnknownKeys.push({ scope: 'context', key });
396
+ }
397
+ }
398
+ return {
399
+ pluginName,
400
+ ...(identity ? {
401
+ sourceId: identity.sourceId,
402
+ sourceIdentity: identity.sourceIdentity,
403
+ pluginId: `${identity.sourceId}/${pluginName}`,
404
+ } : {}),
405
+ scope,
406
+ values: state.values,
407
+ redactedValues: state.redactedValues,
408
+ sources: state.sources,
409
+ schema,
410
+ diagnostics: {
411
+ issues: Array.isArray(context.config.issues) ? context.config.issues : [],
412
+ ignoredUnknownKeys: [
413
+ ...(Array.isArray(context.config.ignoredUnknownKeys) ? context.config.ignoredUnknownKeys : []),
414
+ ...state.ignoredUnknownKeys,
415
+ ],
416
+ },
417
+ paths: {
418
+ configStores: isRecord(context.paths?.configStores) ? context.paths.configStores : {},
419
+ },
420
+ };
421
+ }
422
+ const storePath = context.paths?.configStores?.[scope];
423
+ if (typeof storePath !== 'string' || storePath.trim() === '') {
424
+ fail(`AW_PLUGIN_CONTEXT does not provide a ${scope} config store path.`);
425
+ }
426
+ if (!identity) {
427
+ fail('AW_PLUGIN_CONTEXT must provide a source identity for scoped config reads.');
428
+ }
429
+ const store = readStore(storePath, identity);
430
+ return resolveFromStores({
431
+ identity,
432
+ schema,
433
+ scope,
434
+ stores: {
435
+ user: scope === 'user' ? store : { path: '', exists: false, values: {} },
436
+ project: scope === 'project' ? store : { path: '', exists: false, values: {} },
437
+ projectLocal: scope === 'projectLocal' ? store : { path: '', exists: false, values: {} },
438
+ },
439
+ projectRoot: context.cwd || process.cwd(),
440
+ });
441
+ }
442
+ function resolveFallback(scope) {
443
+ const { bundleRoot, manifestPath } = locateBundleManifest();
444
+ const { pluginName, schema } = validateManifest(readJsonFile(manifestPath, 'bundle manifest'));
445
+ const pluginsRoot = path.dirname(bundleRoot);
446
+ const marketplaceRoot = path.dirname(pluginsRoot);
447
+ if (path.basename(pluginsRoot) !== 'plugins' || path.basename(bundleRoot) !== pluginName) {
448
+ fail('Bundle manifest is not inside a namespaced local marketplace.');
449
+ }
450
+ const marketplace = readJsonFile(path.join(marketplaceRoot, 'config.json'), 'marketplace config');
451
+ const sourceId = safePluginSegment(marketplace.sourceId);
452
+ const sourceIdentity = marketplace.sourceIdentity;
453
+ if (marketplace.schemaVersion !== 2 ||
454
+ sourceId !== path.basename(marketplaceRoot) ||
455
+ typeof sourceIdentity !== 'string' ||
456
+ !SOURCE_IDENTITY_PATTERN.test(sourceIdentity) ||
457
+ !['aw', `aw-${sourceId}`].includes(marketplace.marketplaceName)) {
458
+ fail('Marketplace config does not contain a canonical schema 2 source identity.');
459
+ }
460
+ const identity = { sourceId, sourceIdentity, pluginName };
461
+ const cwd = process.cwd();
462
+ const projectRoot = resolveAwProjectRoot(cwd);
463
+ for (const legacyPath of [
464
+ path.join(resolveAwHome(), CONFIG_DIR, pluginName, CONFIG_FILE),
465
+ path.join(projectRoot, '.agent-workflows', CONFIG_DIR, pluginName, CONFIG_FILE),
466
+ path.join(projectRoot, '.agent-workflows', LOCAL_CONFIG_DIR, pluginName, CONFIG_FILE),
467
+ ]) {
468
+ if (fs.existsSync(legacyPath)) {
469
+ fail('Legacy non-namespaced plugin config is not supported.');
470
+ }
471
+ }
472
+ const stores = {
473
+ user: readStore(resolveConfigStorePath(sourceId, pluginName, 'user', cwd), identity),
474
+ project: readStore(resolveConfigStorePath(sourceId, pluginName, 'project', cwd), identity),
475
+ projectLocal: readStore(resolveConfigStorePath(sourceId, pluginName, 'projectLocal', cwd), identity),
476
+ };
477
+ return resolveFromStores({ identity, schema, scope, stores, projectRoot });
478
+ }
479
+ function printUsage() {
480
+ process.stdout.write(`Usage:
481
+ node aw-config.mjs get <key> [--scope effective|user|project|project-local]
482
+ node aw-config.mjs json [--scope effective|user|project|project-local]
483
+
484
+ Options:
485
+ --scope <scope> Read effective, user, project, or project-local config. Default: effective.
486
+ -h, --help Show this help message.
487
+ `);
488
+ }
489
+ function parseArgs(argv) {
490
+ const args = argv.slice(2);
491
+ const command = args.shift();
492
+ if (command === '-h' || command === '--help') {
493
+ printUsage();
494
+ process.exit(0);
495
+ }
496
+ let scope = 'effective';
497
+ const positional = [];
498
+ for (let index = 0; index < args.length; index += 1) {
499
+ const arg = args[index];
500
+ if (arg === '--scope') {
501
+ const value = args[index + 1];
502
+ if (!value || value.startsWith('--'))
503
+ fail('--scope requires a value.');
504
+ scope = value;
505
+ index += 1;
506
+ continue;
507
+ }
508
+ if (arg.startsWith('--scope=')) {
509
+ scope = arg.slice('--scope='.length);
510
+ continue;
511
+ }
512
+ positional.push(arg);
513
+ }
514
+ if (scope === 'project-local')
515
+ scope = 'projectLocal';
516
+ if (!['effective', 'user', 'project', 'projectLocal'].includes(scope)) {
517
+ fail('--scope must be effective, user, project, or project-local.');
518
+ }
519
+ if (command !== 'get' && command !== 'json') {
520
+ fail('Usage: node aw-config.mjs get <key> [--scope effective|user|project|project-local] | json [--scope effective|user|project|project-local]');
521
+ }
522
+ if (command === 'get' && positional.length !== 1) {
523
+ fail('Usage: node aw-config.mjs get <key> [--scope effective|user|project|project-local]');
524
+ }
525
+ if (command === 'json' && positional.length !== 0) {
526
+ fail('Usage: node aw-config.mjs json [--scope effective|user|project|project-local]');
527
+ }
528
+ return { command, key: positional[0], scope };
529
+ }
530
+ function renderGet(result, key) {
531
+ if (!Object.hasOwn(result.schema, key)) {
532
+ fail(`Unknown config key "${key}".`);
533
+ }
534
+ if (!Object.hasOwn(result.values, key)) {
535
+ fail(`Config key "${key}" is not set.`);
536
+ }
537
+ const value = result.values[key];
538
+ return typeof value === 'string' ? `${value}\n` : `${JSON.stringify(value)}\n`;
539
+ }
540
+ function main() {
541
+ const args = parseArgs(process.argv);
542
+ const result = resolveFromContext(args.scope) || resolveFallback(args.scope);
543
+ const output = args.command === 'get'
544
+ ? renderGet(result, args.key)
545
+ : `${JSON.stringify(result, null, 2)}\n`;
546
+ process.stdout.write(output);
547
+ }
548
+ try {
549
+ main();
550
+ }
551
+ catch (error) {
552
+ const message = error instanceof Error ? error.message : String(error);
553
+ process.stderr.write(`[aw-config] ${message}\n`);
554
+ process.exit(1);
555
+ }
556
+ //# sourceMappingURL=aw-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aw-config.mjs","sourceRoot":"","sources":["../../../authoring/assets/aw-config.mjs"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};