@lesliechan721/aw 0.1.0-beta.6 → 0.1.0-beta.60

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 (621) hide show
  1. package/dist/authoring/assets/aw-config.mjs +100 -501
  2. package/dist/authoring/assets/aw-config.mjs.map +1 -1
  3. package/dist/authoring/assets/aw-runtime-config.d.mts +13 -0
  4. package/dist/authoring/assets/aw-runtime-config.mjs +199 -0
  5. package/dist/authoring/assets/aw-runtime-config.mjs.map +1 -0
  6. package/dist/authoring/scripts/add-skill.mjs +4 -4
  7. package/dist/authoring/scripts/add-skill.mjs.map +1 -1
  8. package/dist/authoring/scripts/init-plugin.mjs +67 -97
  9. package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
  10. package/dist/authoring/scripts/lib/plugin-root.mjs +4 -4
  11. package/dist/authoring/scripts/lib/plugin-root.mjs.map +1 -1
  12. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +1 -0
  13. package/dist/authoring/scripts/lib/plugin-version-check.mjs +229 -8
  14. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
  15. package/dist/authoring/scripts/lib/skill-scaffold.d.mts +77 -92
  16. package/dist/authoring/scripts/lib/skill-scaffold.mjs +99 -124
  17. package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -1
  18. package/dist/authoring/scripts/plugin-status.mjs +8 -11
  19. package/dist/authoring/scripts/plugin-status.mjs.map +1 -1
  20. package/dist/authoring/scripts/remove-plugin.mjs +3 -2
  21. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -1
  22. package/dist/authoring/scripts/validate-plugin.mjs +552 -1142
  23. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  24. package/dist/native-runtime/reader-runtime.mjs +34 -0
  25. package/dist/native-runtime/reader.d.mts +6 -0
  26. package/dist/native-runtime/reader.mjs +11 -0
  27. package/dist/scripts/aw-skill-eval-materializer.d.ts +26 -0
  28. package/dist/scripts/aw-skill-eval-materializer.js +306 -0
  29. package/dist/scripts/aw-skill-eval-materializer.js.map +1 -0
  30. package/dist/scripts/bundle-plugins.d.ts +1 -0
  31. package/dist/scripts/bundle-plugins.js +19 -8
  32. package/dist/scripts/bundle-plugins.js.map +1 -1
  33. package/dist/scripts/plugin-staging.d.ts +7 -9
  34. package/dist/scripts/plugin-staging.js +18 -29
  35. package/dist/scripts/plugin-staging.js.map +1 -1
  36. package/dist/scripts/plugin-test-reporter.d.mts +2 -0
  37. package/dist/scripts/plugin-test-reporter.mjs +21 -0
  38. package/dist/scripts/plugin-test-reporter.mjs.map +1 -0
  39. package/dist/scripts/test-plugin-scripts.d.ts +5 -0
  40. package/dist/scripts/test-plugin-scripts.js +208 -89
  41. package/dist/scripts/test-plugin-scripts.js.map +1 -1
  42. package/dist/scripts/test-workers.d.mts +24 -0
  43. package/dist/scripts/test-workers.mjs +59 -0
  44. package/dist/scripts/test-workers.mjs.map +1 -0
  45. package/dist/src/adapters/helpers.d.ts +7 -0
  46. package/dist/src/adapters/helpers.js +2 -2
  47. package/dist/src/adapters/helpers.js.map +1 -1
  48. package/dist/src/authoring/workspace-commands.d.ts +19 -1
  49. package/dist/src/authoring/workspace-commands.js +24 -5
  50. package/dist/src/authoring/workspace-commands.js.map +1 -1
  51. package/dist/src/commands/aw-capabilities.d.ts +78 -0
  52. package/dist/src/commands/aw-capabilities.js +266 -0
  53. package/dist/src/commands/aw-capabilities.js.map +1 -0
  54. package/dist/src/commands/catalog-dev-source.d.ts +154 -0
  55. package/dist/src/commands/catalog-dev-source.js +655 -0
  56. package/dist/src/commands/catalog-dev-source.js.map +1 -0
  57. package/dist/src/commands/catalog-generation.d.ts +21 -0
  58. package/dist/src/commands/catalog-generation.js +9 -0
  59. package/dist/src/commands/catalog-generation.js.map +1 -0
  60. package/dist/src/commands/catalog-publication-inspection.d.ts +71 -30
  61. package/dist/src/commands/catalog-publication-inspection.js +475 -63
  62. package/dist/src/commands/catalog-publication-inspection.js.map +1 -1
  63. package/dist/src/commands/catalog-publication-journal.d.ts +68 -0
  64. package/dist/src/commands/catalog-publication-journal.js +292 -0
  65. package/dist/src/commands/catalog-publication-journal.js.map +1 -0
  66. package/dist/src/commands/catalog-publication-target.d.ts +18 -0
  67. package/dist/src/commands/catalog-publication-target.js +95 -0
  68. package/dist/src/commands/catalog-publication-target.js.map +1 -0
  69. package/dist/src/commands/catalog-publish.d.ts +73 -15
  70. package/dist/src/commands/catalog-publish.js +701 -212
  71. package/dist/src/commands/catalog-publish.js.map +1 -1
  72. package/dist/src/commands/catalog-source.d.ts +60 -22
  73. package/dist/src/commands/catalog-source.js +311 -91
  74. package/dist/src/commands/catalog-source.js.map +1 -1
  75. package/dist/src/commands/catalog-status.d.ts +18 -22
  76. package/dist/src/commands/catalog-status.js +81 -115
  77. package/dist/src/commands/catalog-status.js.map +1 -1
  78. package/dist/src/commands/catalog-store.d.ts +104 -0
  79. package/dist/src/commands/catalog-store.js +685 -0
  80. package/dist/src/commands/catalog-store.js.map +1 -0
  81. package/dist/src/commands/catalog-workspace-resolution.d.ts +13 -0
  82. package/dist/src/commands/catalog-workspace-resolution.js +42 -0
  83. package/dist/src/commands/catalog-workspace-resolution.js.map +1 -0
  84. package/dist/src/commands/console.js +28 -17
  85. package/dist/src/commands/console.js.map +1 -1
  86. package/dist/src/commands/dependency-operation-plan.d.ts +52 -15
  87. package/dist/src/commands/dependency-operation-plan.js +289 -7
  88. package/dist/src/commands/dependency-operation-plan.js.map +1 -1
  89. package/dist/src/commands/init.d.ts +5 -11
  90. package/dist/src/commands/init.js +30 -51
  91. package/dist/src/commands/init.js.map +1 -1
  92. package/dist/src/commands/managed-commands.d.ts +28 -0
  93. package/dist/src/commands/managed-commands.js +315 -0
  94. package/dist/src/commands/managed-commands.js.map +1 -0
  95. package/dist/src/commands/offline-cleanup-evidence.d.ts +67 -0
  96. package/dist/src/commands/offline-cleanup-evidence.js +181 -0
  97. package/dist/src/commands/offline-cleanup-evidence.js.map +1 -0
  98. package/dist/src/commands/operation-plan.d.ts +182 -0
  99. package/dist/src/commands/operation-plan.js +71 -0
  100. package/dist/src/commands/operation-plan.js.map +1 -0
  101. package/dist/src/commands/operation-planner.d.ts +47 -0
  102. package/dist/src/commands/operation-planner.js +142 -0
  103. package/dist/src/commands/operation-planner.js.map +1 -0
  104. package/dist/src/commands/options.d.ts +9 -7
  105. package/dist/src/commands/options.js +83 -21
  106. package/dist/src/commands/options.js.map +1 -1
  107. package/dist/src/commands/plugin-capabilities.js +65 -4
  108. package/dist/src/commands/plugin-capabilities.js.map +1 -1
  109. package/dist/src/commands/rebuild-command.d.ts +78 -31
  110. package/dist/src/commands/rebuild-command.js +5229 -942
  111. package/dist/src/commands/rebuild-command.js.map +1 -1
  112. package/dist/src/commands/rebuild-integration.d.ts +143 -21
  113. package/dist/src/commands/rebuild-integration.js +3384 -1342
  114. package/dist/src/commands/rebuild-integration.js.map +1 -1
  115. package/dist/src/commands/rebuild-operations.d.ts +60 -30
  116. package/dist/src/commands/rebuild-operations.js +267 -320
  117. package/dist/src/commands/rebuild-operations.js.map +1 -1
  118. package/dist/src/commands/reconcile-operation-plan.d.ts +28 -0
  119. package/dist/src/commands/reconcile-operation-plan.js +47 -0
  120. package/dist/src/commands/reconcile-operation-plan.js.map +1 -0
  121. package/dist/src/commands/review-inspection.d.ts +60 -0
  122. package/dist/src/commands/review-inspection.js +422 -0
  123. package/dist/src/commands/review-inspection.js.map +1 -0
  124. package/dist/src/commands/review-preparation.d.ts +49 -0
  125. package/dist/src/commands/review-preparation.js +427 -0
  126. package/dist/src/commands/review-preparation.js.map +1 -0
  127. package/dist/src/commands/runtime.d.ts +1 -5
  128. package/dist/src/commands/runtime.js +27 -53
  129. package/dist/src/commands/runtime.js.map +1 -1
  130. package/dist/src/commands/skill-eval.d.ts +39 -0
  131. package/dist/src/commands/skill-eval.js +400 -0
  132. package/dist/src/commands/skill-eval.js.map +1 -0
  133. package/dist/src/commands/status-v6.d.ts +279 -0
  134. package/dist/src/commands/status-v6.js +2785 -0
  135. package/dist/src/commands/status-v6.js.map +1 -0
  136. package/dist/src/commands/sync-command.d.ts +40 -0
  137. package/dist/src/commands/sync-command.js +254 -0
  138. package/dist/src/commands/sync-command.js.map +1 -0
  139. package/dist/src/commands/wizard.d.ts +8 -5
  140. package/dist/src/commands/wizard.js +6 -4
  141. package/dist/src/commands/wizard.js.map +1 -1
  142. package/dist/src/commands/write-commands.d.ts +9 -3
  143. package/dist/src/commands/write-commands.js +136 -31
  144. package/dist/src/commands/write-commands.js.map +1 -1
  145. package/dist/src/constants.d.ts +7 -2
  146. package/dist/src/constants.js +7 -2
  147. package/dist/src/constants.js.map +1 -1
  148. package/dist/src/eval/manifest-v1.d.ts +68 -0
  149. package/dist/src/eval/manifest-v1.js +353 -0
  150. package/dist/src/eval/manifest-v1.js.map +1 -0
  151. package/dist/src/generators/local-plugin.d.ts +5 -1
  152. package/dist/src/generators/local-plugin.js +261 -109
  153. package/dist/src/generators/local-plugin.js.map +1 -1
  154. package/dist/src/generators/permissions.d.ts +5 -2
  155. package/dist/src/generators/permissions.js +28 -15
  156. package/dist/src/generators/permissions.js.map +1 -1
  157. package/dist/src/index.d.ts +10 -4
  158. package/dist/src/index.js +1774 -609
  159. package/dist/src/index.js.map +1 -1
  160. package/dist/src/output/command-receipt.d.ts +47 -46
  161. package/dist/src/output/command-receipt.js +277 -79
  162. package/dist/src/output/command-receipt.js.map +1 -1
  163. package/dist/src/output/model.d.ts +3 -44
  164. package/dist/src/output/model.js +1 -144
  165. package/dist/src/output/model.js.map +1 -1
  166. package/dist/src/output/rebuild-progress.js +15 -13
  167. package/dist/src/output/rebuild-progress.js.map +1 -1
  168. package/dist/src/portable/commands.d.ts +46 -7
  169. package/dist/src/portable/commands.js +349 -37
  170. package/dist/src/portable/commands.js.map +1 -1
  171. package/dist/src/portable/materializer.d.ts +17 -4
  172. package/dist/src/portable/materializer.js +186 -41
  173. package/dist/src/portable/materializer.js.map +1 -1
  174. package/dist/src/portable/skills-cli.d.ts +15 -7
  175. package/dist/src/portable/skills-cli.js +74 -20
  176. package/dist/src/portable/skills-cli.js.map +1 -1
  177. package/dist/src/review/eval-source-input.d.ts +43 -0
  178. package/dist/src/review/eval-source-input.js +207 -0
  179. package/dist/src/review/eval-source-input.js.map +1 -0
  180. package/dist/src/review/review-profile.d.ts +17 -0
  181. package/dist/src/review/review-profile.js +234 -0
  182. package/dist/src/review/review-profile.js.map +1 -0
  183. package/dist/src/review/review-selection.d.ts +30 -0
  184. package/dist/src/review/review-selection.js +527 -0
  185. package/dist/src/review/review-selection.js.map +1 -0
  186. package/dist/src/review/review-types.d.ts +68 -0
  187. package/dist/src/review/review-types.js +16 -0
  188. package/dist/src/review/review-types.js.map +1 -0
  189. package/dist/src/review/skill-materialization.d.ts +26 -0
  190. package/dist/src/review/skill-materialization.js +217 -0
  191. package/dist/src/review/skill-materialization.js.map +1 -0
  192. package/dist/src/review/source-binding.d.ts +183 -0
  193. package/dist/src/review/source-binding.js +708 -0
  194. package/dist/src/review/source-binding.js.map +1 -0
  195. package/dist/src/tui/catalog-freshness.d.ts +1 -0
  196. package/dist/src/tui/catalog-freshness.js +2 -0
  197. package/dist/src/tui/catalog-freshness.js.map +1 -0
  198. package/dist/src/tui/catalog-generation.d.ts +21 -0
  199. package/dist/src/tui/catalog-generation.js +156 -0
  200. package/dist/src/tui/catalog-generation.js.map +1 -0
  201. package/dist/src/tui/catalog-sources/projection.d.ts +4 -0
  202. package/dist/src/tui/catalog-sources/projection.js +17 -0
  203. package/dist/src/tui/catalog-sources/projection.js.map +1 -0
  204. package/dist/src/tui/catalog-sources/review.d.ts +3 -0
  205. package/dist/src/tui/catalog-sources/review.js +13 -0
  206. package/dist/src/tui/catalog-sources/review.js.map +1 -0
  207. package/dist/src/tui/catalog-sources/screens.d.ts +12 -0
  208. package/dist/src/tui/catalog-sources/screens.js +40 -0
  209. package/dist/src/tui/catalog-sources/screens.js.map +1 -0
  210. package/dist/src/tui/catalog-sources/session.d.ts +32 -0
  211. package/dist/src/tui/catalog-sources/session.js +300 -0
  212. package/dist/src/tui/catalog-sources/session.js.map +1 -0
  213. package/dist/src/tui/catalog-sources/types.d.ts +54 -0
  214. package/dist/src/tui/catalog-sources/types.js +2 -0
  215. package/dist/src/tui/catalog-sources/types.js.map +1 -0
  216. package/dist/src/tui/catalog-store-task.d.ts +16 -0
  217. package/dist/src/tui/catalog-store-task.js +19 -0
  218. package/dist/src/tui/catalog-store-task.js.map +1 -0
  219. package/dist/src/tui/clipboard.d.ts +13 -0
  220. package/dist/src/tui/clipboard.js +95 -0
  221. package/dist/src/tui/clipboard.js.map +1 -0
  222. package/dist/src/tui/components.d.ts +110 -3
  223. package/dist/src/tui/components.js +183 -36
  224. package/dist/src/tui/components.js.map +1 -1
  225. package/dist/src/tui/config-array-draft.d.ts +29 -0
  226. package/dist/src/tui/config-array-draft.js +48 -0
  227. package/dist/src/tui/config-array-draft.js.map +1 -0
  228. package/dist/src/tui/config-leaf-editor.d.ts +19 -0
  229. package/dist/src/tui/config-leaf-editor.js +212 -0
  230. package/dist/src/tui/config-leaf-editor.js.map +1 -0
  231. package/dist/src/tui/config-references.d.ts +34 -0
  232. package/dist/src/tui/config-references.js +70 -0
  233. package/dist/src/tui/config-references.js.map +1 -0
  234. package/dist/src/tui/config-value-presentation.d.ts +20 -0
  235. package/dist/src/tui/config-value-presentation.js +104 -0
  236. package/dist/src/tui/config-value-presentation.js.map +1 -0
  237. package/dist/src/tui/console-app-v4.d.ts +14 -4
  238. package/dist/src/tui/console-app-v4.js +9205 -1951
  239. package/dist/src/tui/console-app-v4.js.map +1 -1
  240. package/dist/src/tui/content-item-card.d.ts +13 -0
  241. package/dist/src/tui/content-item-card.js +51 -0
  242. package/dist/src/tui/content-item-card.js.map +1 -0
  243. package/dist/src/tui/controller-runtime.d.ts +10 -2
  244. package/dist/src/tui/controller-runtime.js +3289 -388
  245. package/dist/src/tui/controller-runtime.js.map +1 -1
  246. package/dist/src/tui/controller.d.ts +622 -45
  247. package/dist/src/tui/controller.js +3589 -768
  248. package/dist/src/tui/controller.js.map +1 -1
  249. package/dist/src/tui/dependency-graph-view.d.ts +39 -0
  250. package/dist/src/tui/dependency-graph-view.js +121 -0
  251. package/dist/src/tui/dependency-graph-view.js.map +1 -0
  252. package/dist/src/tui/dependency-graph.d.ts +81 -0
  253. package/dist/src/tui/dependency-graph.js +452 -0
  254. package/dist/src/tui/dependency-graph.js.map +1 -0
  255. package/dist/src/tui/diagnostic-projection.d.ts +23 -0
  256. package/dist/src/tui/diagnostic-projection.js +595 -0
  257. package/dist/src/tui/diagnostic-projection.js.map +1 -0
  258. package/dist/src/tui/diagnostics.d.ts +3 -3
  259. package/dist/src/tui/diagnostics.js +14 -2
  260. package/dist/src/tui/diagnostics.js.map +1 -1
  261. package/dist/src/tui/entity-cards.d.ts +55 -0
  262. package/dist/src/tui/entity-cards.js +220 -0
  263. package/dist/src/tui/entity-cards.js.map +1 -0
  264. package/dist/src/tui/glossary.d.ts +23 -0
  265. package/dist/src/tui/glossary.js +42 -0
  266. package/dist/src/tui/glossary.js.map +1 -0
  267. package/dist/src/tui/index.d.ts +6 -1
  268. package/dist/src/tui/index.js +5 -1
  269. package/dist/src/tui/index.js.map +1 -1
  270. package/dist/src/tui/input-display.d.ts +9 -0
  271. package/dist/src/tui/input-display.js +58 -0
  272. package/dist/src/tui/input-display.js.map +1 -0
  273. package/dist/src/tui/keys.d.ts +44 -0
  274. package/dist/src/tui/keys.js +43 -15
  275. package/dist/src/tui/keys.js.map +1 -1
  276. package/dist/src/tui/lifecycle-action-view.d.ts +6 -0
  277. package/dist/src/tui/lifecycle-action-view.js +36 -0
  278. package/dist/src/tui/lifecycle-action-view.js.map +1 -0
  279. package/dist/src/tui/model.d.ts +224 -31
  280. package/dist/src/tui/model.js +1510 -397
  281. package/dist/src/tui/model.js.map +1 -1
  282. package/dist/src/tui/operation-diagnostic-screens.d.ts +8 -0
  283. package/dist/src/tui/operation-diagnostic-screens.js +71 -0
  284. package/dist/src/tui/operation-diagnostic-screens.js.map +1 -0
  285. package/dist/src/tui/operation-history.d.ts +81 -0
  286. package/dist/src/tui/operation-history.js +136 -0
  287. package/dist/src/tui/operation-history.js.map +1 -0
  288. package/dist/src/tui/operation-review-planner.d.ts +21 -0
  289. package/dist/src/tui/operation-review-planner.js +1392 -0
  290. package/dist/src/tui/operation-review-planner.js.map +1 -0
  291. package/dist/src/tui/plugin-content.d.ts +31 -0
  292. package/dist/src/tui/plugin-content.js +680 -0
  293. package/dist/src/tui/plugin-content.js.map +1 -0
  294. package/dist/src/tui/plugin-detail.d.ts +52 -0
  295. package/dist/src/tui/plugin-detail.js +165 -0
  296. package/dist/src/tui/plugin-detail.js.map +1 -0
  297. package/dist/src/tui/plugin-write-task.d.ts +69 -0
  298. package/dist/src/tui/plugin-write-task.js +286 -0
  299. package/dist/src/tui/plugin-write-task.js.map +1 -0
  300. package/dist/src/tui/project-inventory.d.ts +68 -0
  301. package/dist/src/tui/project-inventory.js +203 -0
  302. package/dist/src/tui/project-inventory.js.map +1 -0
  303. package/dist/src/tui/prompt.js +4 -15
  304. package/dist/src/tui/prompt.js.map +1 -1
  305. package/dist/src/tui/query-header.d.ts +30 -0
  306. package/dist/src/tui/query-header.js +40 -0
  307. package/dist/src/tui/query-header.js.map +1 -0
  308. package/dist/src/tui/reader.d.ts +37 -0
  309. package/dist/src/tui/reader.js +47 -0
  310. package/dist/src/tui/reader.js.map +1 -0
  311. package/dist/src/tui/router.d.ts +197 -10
  312. package/dist/src/tui/router.js +338 -50
  313. package/dist/src/tui/router.js.map +1 -1
  314. package/dist/src/tui/screen-registry.d.ts +701 -0
  315. package/dist/src/tui/screen-registry.js +230 -0
  316. package/dist/src/tui/screen-registry.js.map +1 -0
  317. package/dist/src/tui/session-console-app.d.ts +6 -0
  318. package/dist/src/tui/session-console-app.js +13 -0
  319. package/dist/src/tui/session-console-app.js.map +1 -0
  320. package/dist/src/tui/session-host.d.ts +45 -0
  321. package/dist/src/tui/session-host.js +209 -0
  322. package/dist/src/tui/session-host.js.map +1 -0
  323. package/dist/src/tui/source-detail-card.d.ts +29 -0
  324. package/dist/src/tui/source-detail-card.js +45 -0
  325. package/dist/src/tui/source-detail-card.js.map +1 -0
  326. package/dist/src/tui/source-ref-presets.d.ts +3 -0
  327. package/dist/src/tui/source-ref-presets.js +11 -0
  328. package/dist/src/tui/source-ref-presets.js.map +1 -0
  329. package/dist/src/tui/theme.d.ts +12 -0
  330. package/dist/src/tui/theme.js +12 -0
  331. package/dist/src/tui/theme.js.map +1 -1
  332. package/dist/src/tui/viewport.d.ts +1 -0
  333. package/dist/src/tui/viewport.js +23 -0
  334. package/dist/src/tui/viewport.js.map +1 -1
  335. package/dist/src/tui/views.js +31 -3
  336. package/dist/src/tui/views.js.map +1 -1
  337. package/dist/src/tui/wizard.js +37 -13
  338. package/dist/src/tui/wizard.js.map +1 -1
  339. package/dist/src/types.d.ts +264 -21
  340. package/dist/src/types.js +1 -0
  341. package/dist/src/types.js.map +1 -1
  342. package/dist/src/utils/agent-version.d.ts +7 -1
  343. package/dist/src/utils/agent-version.js +36 -7
  344. package/dist/src/utils/agent-version.js.map +1 -1
  345. package/dist/src/utils/artifact-plan.d.ts +8 -6
  346. package/dist/src/utils/artifact-plan.js +67 -13
  347. package/dist/src/utils/artifact-plan.js.map +1 -1
  348. package/dist/src/utils/artifact-renderer.d.ts +24 -10
  349. package/dist/src/utils/artifact-renderer.js +230 -220
  350. package/dist/src/utils/artifact-renderer.js.map +1 -1
  351. package/dist/src/utils/artifact-request.d.ts +32 -0
  352. package/dist/src/utils/artifact-request.js +90 -0
  353. package/dist/src/utils/artifact-request.js.map +1 -0
  354. package/dist/src/utils/artifact-sources.d.ts +4 -0
  355. package/dist/src/utils/artifact-sources.js +17 -0
  356. package/dist/src/utils/artifact-sources.js.map +1 -1
  357. package/dist/src/utils/aw-home-mutation-lock.d.ts +1 -0
  358. package/dist/src/utils/aw-home-mutation-lock.js +32 -4
  359. package/dist/src/utils/aw-home-mutation-lock.js.map +1 -1
  360. package/dist/src/utils/bundle-integrity.d.ts +0 -1
  361. package/dist/src/utils/bundle-integrity.js +0 -25
  362. package/dist/src/utils/bundle-integrity.js.map +1 -1
  363. package/dist/src/utils/bundle-layout.js +29 -29
  364. package/dist/src/utils/bundle-layout.js.map +1 -1
  365. package/dist/src/utils/catalog-capability-projection.d.ts +8 -0
  366. package/dist/src/utils/catalog-capability-projection.js +14 -0
  367. package/dist/src/utils/catalog-capability-projection.js.map +1 -0
  368. package/dist/src/utils/catalog-digests.d.ts +10 -0
  369. package/dist/src/utils/catalog-digests.js +57 -20
  370. package/dist/src/utils/catalog-digests.js.map +1 -1
  371. package/dist/src/utils/catalog-generation-control-snapshot.d.ts +11 -0
  372. package/dist/src/utils/catalog-generation-control-snapshot.js +45 -0
  373. package/dist/src/utils/catalog-generation-control-snapshot.js.map +1 -0
  374. package/dist/src/utils/catalog-generation-error.d.ts +16 -0
  375. package/dist/src/utils/catalog-generation-error.js +30 -0
  376. package/dist/src/utils/catalog-generation-error.js.map +1 -0
  377. package/dist/src/utils/catalog-generation-resolver.d.ts +44 -0
  378. package/dist/src/utils/catalog-generation-resolver.js +273 -0
  379. package/dist/src/utils/catalog-generation-resolver.js.map +1 -0
  380. package/dist/src/utils/catalog-generation-service.d.ts +172 -0
  381. package/dist/src/utils/catalog-generation-service.js +1271 -0
  382. package/dist/src/utils/catalog-generation-service.js.map +1 -0
  383. package/dist/src/utils/catalog-generation-state.d.ts +22 -0
  384. package/dist/src/utils/catalog-generation-state.js +192 -0
  385. package/dist/src/utils/catalog-generation-state.js.map +1 -0
  386. package/dist/src/utils/catalog-generation-store.d.ts +58 -0
  387. package/dist/src/utils/catalog-generation-store.js +452 -0
  388. package/dist/src/utils/catalog-generation-store.js.map +1 -0
  389. package/dist/src/utils/catalog-manifest-v7.d.ts +5 -0
  390. package/dist/src/utils/{catalog-manifest-v4.js → catalog-manifest-v7.js} +35 -43
  391. package/dist/src/utils/catalog-manifest-v7.js.map +1 -0
  392. package/dist/src/utils/catalog-operation-context.d.ts +20 -0
  393. package/dist/src/utils/catalog-operation-context.js +142 -0
  394. package/dist/src/utils/catalog-operation-context.js.map +1 -0
  395. package/dist/src/utils/catalog-public-error.d.ts +7 -3
  396. package/dist/src/utils/catalog-public-error.js +28 -8
  397. package/dist/src/utils/catalog-public-error.js.map +1 -1
  398. package/dist/src/utils/catalog-runtime-projection.d.ts +3 -0
  399. package/dist/src/utils/catalog-runtime-projection.js +5 -40
  400. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  401. package/dist/src/utils/catalog-snapshot.d.ts +5 -3
  402. package/dist/src/utils/catalog-snapshot.js +11 -3
  403. package/dist/src/utils/catalog-snapshot.js.map +1 -1
  404. package/dist/src/utils/catalog-source-identity.d.ts +1 -0
  405. package/dist/src/utils/catalog-source-identity.js +21 -2
  406. package/dist/src/utils/catalog-source-identity.js.map +1 -1
  407. package/dist/src/utils/catalog-source-impact.d.ts +21 -0
  408. package/dist/src/utils/catalog-source-impact.js +344 -0
  409. package/dist/src/utils/catalog-source-impact.js.map +1 -0
  410. package/dist/src/utils/catalog-source-references.d.ts +3 -2
  411. package/dist/src/utils/catalog-source-references.js +195 -347
  412. package/dist/src/utils/catalog-source-references.js.map +1 -1
  413. package/dist/src/utils/catalog-sources.d.ts +15 -1
  414. package/dist/src/utils/catalog-sources.js +206 -27
  415. package/dist/src/utils/catalog-sources.js.map +1 -1
  416. package/dist/src/utils/claude-skills-root.d.ts +8 -0
  417. package/dist/src/utils/claude-skills-root.js +76 -0
  418. package/dist/src/utils/claude-skills-root.js.map +1 -0
  419. package/dist/src/utils/codex-config.d.ts +2 -0
  420. package/dist/src/utils/codex-config.js +26 -5
  421. package/dist/src/utils/codex-config.js.map +1 -1
  422. package/dist/src/utils/codex-manager.d.ts +79 -0
  423. package/dist/src/utils/codex-manager.js +735 -0
  424. package/dist/src/utils/codex-manager.js.map +1 -0
  425. package/dist/src/utils/codex-marketplace-path.d.ts +5 -0
  426. package/dist/src/utils/codex-marketplace-path.js +45 -0
  427. package/dist/src/utils/codex-marketplace-path.js.map +1 -0
  428. package/dist/src/utils/codex-native-observation.d.ts +49 -0
  429. package/dist/src/utils/codex-native-observation.js +154 -0
  430. package/dist/src/utils/codex-native-observation.js.map +1 -0
  431. package/dist/src/utils/codex-native-render-receipt.d.ts +40 -0
  432. package/dist/src/utils/codex-native-render-receipt.js +205 -0
  433. package/dist/src/utils/codex-native-render-receipt.js.map +1 -0
  434. package/dist/src/utils/codex-reconciler.d.ts +126 -0
  435. package/dist/src/utils/codex-reconciler.js +298 -0
  436. package/dist/src/utils/codex-reconciler.js.map +1 -0
  437. package/dist/src/utils/codex-shared-native.d.ts +43 -0
  438. package/dist/src/utils/codex-shared-native.js +81 -0
  439. package/dist/src/utils/codex-shared-native.js.map +1 -0
  440. package/dist/src/utils/codex-skill-staging.d.ts +2 -0
  441. package/dist/src/utils/codex-skill-staging.js.map +1 -1
  442. package/dist/src/utils/codex-skills-root.d.ts +4 -0
  443. package/dist/src/utils/codex-skills-root.js +25 -0
  444. package/dist/src/utils/codex-skills-root.js.map +1 -0
  445. package/dist/src/utils/codex-surface-analysis.d.ts +46 -0
  446. package/dist/src/utils/codex-surface-analysis.js +247 -0
  447. package/dist/src/utils/codex-surface-analysis.js.map +1 -0
  448. package/dist/src/utils/dynamic-skill-tree.d.ts +5 -0
  449. package/dist/src/utils/dynamic-skill-tree.js +56 -7
  450. package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
  451. package/dist/src/utils/git-catalog-provider.d.ts +16 -0
  452. package/dist/src/utils/git-catalog-provider.js +177 -145
  453. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  454. package/dist/src/utils/local-marketplace.d.ts +27 -1
  455. package/dist/src/utils/local-marketplace.js +434 -84
  456. package/dist/src/utils/local-marketplace.js.map +1 -1
  457. package/dist/src/utils/managed-command-closure.d.ts +3 -0
  458. package/dist/src/utils/managed-command-closure.js +35 -0
  459. package/dist/src/utils/managed-command-closure.js.map +1 -0
  460. package/dist/src/utils/managed-command-evidence.d.ts +7 -0
  461. package/dist/src/utils/managed-command-evidence.js +86 -0
  462. package/dist/src/utils/managed-command-evidence.js.map +1 -0
  463. package/dist/src/utils/managed-command-materialization.d.ts +115 -0
  464. package/dist/src/utils/managed-command-materialization.js +359 -0
  465. package/dist/src/utils/managed-command-materialization.js.map +1 -0
  466. package/dist/src/utils/managed-command-runtime.d.ts +33 -0
  467. package/dist/src/utils/managed-command-runtime.js +121 -0
  468. package/dist/src/utils/managed-command-runtime.js.map +1 -0
  469. package/dist/src/utils/managed-command-store.d.ts +128 -0
  470. package/dist/src/utils/managed-command-store.js +589 -0
  471. package/dist/src/utils/managed-command-store.js.map +1 -0
  472. package/dist/src/utils/manifest.d.ts +1 -3
  473. package/dist/src/utils/manifest.js +1 -3
  474. package/dist/src/utils/manifest.js.map +1 -1
  475. package/dist/src/utils/multi-source-catalog.d.ts +3 -9
  476. package/dist/src/utils/multi-source-catalog.js +54 -110
  477. package/dist/src/utils/multi-source-catalog.js.map +1 -1
  478. package/dist/src/utils/native-cli.d.ts +61 -7
  479. package/dist/src/utils/native-cli.js +426 -58
  480. package/dist/src/utils/native-cli.js.map +1 -1
  481. package/dist/src/utils/native-tool-context.d.ts +14 -0
  482. package/dist/src/utils/native-tool-context.js +38 -0
  483. package/dist/src/utils/native-tool-context.js.map +1 -0
  484. package/dist/src/utils/native-tool-review.d.ts +21 -0
  485. package/dist/src/utils/native-tool-review.js +102 -0
  486. package/dist/src/utils/native-tool-review.js.map +1 -0
  487. package/dist/src/utils/orphan-marketplace-cleanup.js +0 -4
  488. package/dist/src/utils/orphan-marketplace-cleanup.js.map +1 -1
  489. package/dist/src/utils/ownership.d.ts +88 -20
  490. package/dist/src/utils/ownership.js +185 -223
  491. package/dist/src/utils/ownership.js.map +1 -1
  492. package/dist/src/utils/path-catalog-provider.d.ts +1 -1
  493. package/dist/src/utils/path-catalog-provider.js +54 -65
  494. package/dist/src/utils/path-catalog-provider.js.map +1 -1
  495. package/dist/src/utils/paths.d.ts +0 -1
  496. package/dist/src/utils/paths.js +0 -1
  497. package/dist/src/utils/paths.js.map +1 -1
  498. package/dist/src/utils/plugin-config-impact.d.ts +40 -0
  499. package/dist/src/utils/plugin-config-impact.js +373 -0
  500. package/dist/src/utils/plugin-config-impact.js.map +1 -0
  501. package/dist/src/utils/plugin-config-write.d.ts +52 -27
  502. package/dist/src/utils/plugin-config-write.js +1112 -298
  503. package/dist/src/utils/plugin-config-write.js.map +1 -1
  504. package/dist/src/utils/plugin-config.d.ts +153 -93
  505. package/dist/src/utils/plugin-config.js +1116 -968
  506. package/dist/src/utils/plugin-config.js.map +1 -1
  507. package/dist/src/utils/plugin-intent-state.d.ts +49 -0
  508. package/dist/src/utils/plugin-intent-state.js +320 -0
  509. package/dist/src/utils/plugin-intent-state.js.map +1 -0
  510. package/dist/src/utils/plugin-scripts.d.ts +66 -125
  511. package/dist/src/utils/plugin-scripts.js +518 -526
  512. package/dist/src/utils/plugin-scripts.js.map +1 -1
  513. package/dist/src/utils/process-lock.js +14 -5
  514. package/dist/src/utils/process-lock.js.map +1 -1
  515. package/dist/src/utils/process-tree.d.ts +2 -2
  516. package/dist/src/utils/process-tree.js +1 -1
  517. package/dist/src/utils/process-tree.js.map +1 -1
  518. package/dist/src/utils/project-boundary.d.ts +11 -13
  519. package/dist/src/utils/project-boundary.js +28 -34
  520. package/dist/src/utils/project-boundary.js.map +1 -1
  521. package/dist/src/utils/rendered-contract.js +18 -1
  522. package/dist/src/utils/rendered-contract.js.map +1 -1
  523. package/dist/src/utils/runtime-config.d.ts +20 -0
  524. package/dist/src/utils/runtime-config.js +75 -0
  525. package/dist/src/utils/runtime-config.js.map +1 -0
  526. package/dist/src/utils/runtime-skill-closure.js +47 -6
  527. package/dist/src/utils/runtime-skill-closure.js.map +1 -1
  528. package/dist/src/utils/safe-fs.d.ts +21 -0
  529. package/dist/src/utils/safe-fs.js +111 -0
  530. package/dist/src/utils/safe-fs.js.map +1 -0
  531. package/dist/src/utils/safe-operation-diagnostic.d.ts +15 -0
  532. package/dist/src/utils/safe-operation-diagnostic.js +33 -0
  533. package/dist/src/utils/safe-operation-diagnostic.js.map +1 -0
  534. package/dist/src/utils/sensitive-content.d.ts +4 -0
  535. package/dist/src/utils/sensitive-content.js +36 -0
  536. package/dist/src/utils/sensitive-content.js.map +1 -0
  537. package/dist/src/utils/state-paths.js +7 -2
  538. package/dist/src/utils/state-paths.js.map +1 -1
  539. package/dist/src/utils/target-eligibility.d.ts +8 -2
  540. package/dist/src/utils/target-eligibility.js +17 -8
  541. package/dist/src/utils/target-eligibility.js.map +1 -1
  542. package/dist/src/utils/windows-claude-shim.d.ts +7 -0
  543. package/dist/src/utils/windows-claude-shim.js +10 -0
  544. package/dist/src/utils/windows-claude-shim.js.map +1 -0
  545. package/dist/src/utils/windows-npm-shim.d.ts +14 -0
  546. package/dist/src/utils/windows-npm-shim.js +140 -0
  547. package/dist/src/utils/windows-npm-shim.js.map +1 -0
  548. package/dist/vitest.config.js +100 -9
  549. package/dist/vitest.config.js.map +1 -1
  550. package/package.json +31 -21
  551. package/dist/authoring/scripts/check-plugin-versions.d.mts +0 -2
  552. package/dist/authoring/scripts/check-plugin-versions.mjs +0 -5
  553. package/dist/authoring/scripts/check-plugin-versions.mjs.map +0 -1
  554. package/dist/scripts/aw-skill-eval-engine.d.ts +0 -13
  555. package/dist/scripts/aw-skill-eval-engine.js +0 -31
  556. package/dist/scripts/aw-skill-eval-engine.js.map +0 -1
  557. package/dist/scripts/codex-eval-app-server.d.ts +0 -89
  558. package/dist/scripts/codex-eval-app-server.js +0 -1228
  559. package/dist/scripts/codex-eval-app-server.js.map +0 -1
  560. package/dist/scripts/codex-eval-isolation.d.ts +0 -61
  561. package/dist/scripts/codex-eval-isolation.js +0 -318
  562. package/dist/scripts/codex-eval-isolation.js.map +0 -1
  563. package/dist/scripts/codex-eval-process-management.d.ts +0 -8
  564. package/dist/scripts/codex-eval-process-management.js +0 -69
  565. package/dist/scripts/codex-eval-process-management.js.map +0 -1
  566. package/dist/scripts/codex-eval-process-tree.d.ts +0 -38
  567. package/dist/scripts/codex-eval-process-tree.js +0 -803
  568. package/dist/scripts/codex-eval-process-tree.js.map +0 -1
  569. package/dist/scripts/codex-eval-runtime-config.d.ts +0 -62
  570. package/dist/scripts/codex-eval-runtime-config.js +0 -843
  571. package/dist/scripts/codex-eval-runtime-config.js.map +0 -1
  572. package/dist/scripts/codex-trigger-eval.d.ts +0 -84
  573. package/dist/scripts/codex-trigger-eval.js +0 -968
  574. package/dist/scripts/codex-trigger-eval.js.map +0 -1
  575. package/dist/scripts/eval-plugin-skills-audited.d.ts +0 -6
  576. package/dist/scripts/eval-plugin-skills-audited.js +0 -261
  577. package/dist/scripts/eval-plugin-skills-audited.js.map +0 -1
  578. package/dist/scripts/eval-plugin-skills.d.ts +0 -45
  579. package/dist/scripts/eval-plugin-skills.js +0 -1586
  580. package/dist/scripts/eval-plugin-skills.js.map +0 -1
  581. package/dist/scripts/eval-run-layout.d.ts +0 -17
  582. package/dist/scripts/eval-run-layout.js +0 -26
  583. package/dist/scripts/eval-run-layout.js.map +0 -1
  584. package/dist/scripts/plugin-eval-contract.d.ts +0 -185
  585. package/dist/scripts/plugin-eval-contract.js +0 -695
  586. package/dist/scripts/plugin-eval-contract.js.map +0 -1
  587. package/dist/scripts/plugin-eval-materializer.d.ts +0 -13
  588. package/dist/scripts/plugin-eval-materializer.js +0 -421
  589. package/dist/scripts/plugin-eval-materializer.js.map +0 -1
  590. package/dist/scripts/skill-reporting.d.ts +0 -212
  591. package/dist/scripts/skill-reporting.js +0 -922
  592. package/dist/scripts/skill-reporting.js.map +0 -1
  593. package/dist/src/commands/review-publication.d.ts +0 -99
  594. package/dist/src/commands/review-publication.js +0 -904
  595. package/dist/src/commands/review-publication.js.map +0 -1
  596. package/dist/src/commands/status-v4.d.ts +0 -123
  597. package/dist/src/commands/status-v4.js +0 -905
  598. package/dist/src/commands/status-v4.js.map +0 -1
  599. package/dist/src/commands/status.d.ts +0 -93
  600. package/dist/src/commands/status.js +0 -442
  601. package/dist/src/commands/status.js.map +0 -1
  602. package/dist/src/utils/active-marketplace-runtime-lock.d.ts +0 -12
  603. package/dist/src/utils/active-marketplace-runtime-lock.js +0 -133
  604. package/dist/src/utils/active-marketplace-runtime-lock.js.map +0 -1
  605. package/dist/src/utils/catalog-manifest-v3.d.ts +0 -2
  606. package/dist/src/utils/catalog-manifest-v3.js +0 -3
  607. package/dist/src/utils/catalog-manifest-v3.js.map +0 -1
  608. package/dist/src/utils/catalog-manifest-v4.d.ts +0 -5
  609. package/dist/src/utils/catalog-manifest-v4.js.map +0 -1
  610. package/dist/src/utils/catalog-source-cache.d.ts +0 -62
  611. package/dist/src/utils/catalog-source-cache.js +0 -296
  612. package/dist/src/utils/catalog-source-cache.js.map +0 -1
  613. package/dist/src/utils/codex-project-surface.d.ts +0 -3
  614. package/dist/src/utils/codex-project-surface.js +0 -49
  615. package/dist/src/utils/codex-project-surface.js.map +0 -1
  616. package/dist/src/utils/lifecycle-active-store.d.ts +0 -175
  617. package/dist/src/utils/lifecycle-active-store.js +0 -1276
  618. package/dist/src/utils/lifecycle-active-store.js.map +0 -1
  619. package/dist/src/utils/plugin-release.d.ts +0 -2
  620. package/dist/src/utils/plugin-release.js +0 -2
  621. package/dist/src/utils/plugin-release.js.map +0 -1
@@ -1,31 +1,25 @@
1
- import { cleanupLegacyCatalogSourceCache } from '../utils/catalog-source-cache.js';
2
1
  export interface InitCatalogSourceResult {
3
2
  id: string;
4
3
  ok: boolean;
4
+ activeReady: boolean;
5
5
  requestedRef?: string;
6
6
  resolvedCommit?: string;
7
7
  catalogVersion?: string;
8
8
  channel?: string;
9
- freshness?: 'remote' | 'cache' | 'path';
10
9
  error?: string;
11
10
  errorCode?: string;
11
+ recovery?: string;
12
12
  }
13
13
  export interface InitCommandResult {
14
14
  ok: boolean;
15
- changed: boolean;
16
- warnings: string[];
17
15
  primarySourceId: string;
18
16
  configDigest: string;
19
17
  compositeDigest: string;
20
18
  sources: InitCatalogSourceResult[];
19
+ recovery: string[];
21
20
  }
22
- interface InitCommandV4Options {
23
- force?: boolean;
24
- cliVersion: string;
21
+ interface InitCommandOptions {
25
22
  env?: NodeJS.ProcessEnv;
26
- runtime?: {
27
- cleanupLegacyCache?: typeof cleanupLegacyCatalogSourceCache;
28
- };
29
23
  }
30
- export declare function initCommand(options: InitCommandV4Options): Promise<InitCommandResult>;
24
+ export declare function initCommand(options: InitCommandOptions): Promise<InitCommandResult>;
31
25
  export {};
@@ -1,63 +1,42 @@
1
1
  import { readCatalogSourcesConfigSnapshot } from '../utils/catalog-sources.js';
2
2
  import { catalogSourceErrorCode } from '../utils/catalog-public-error.js';
3
- import { cleanupLegacyCatalogSourceCache } from '../utils/catalog-source-cache.js';
4
- import { withAwHomeMutationLock } from '../utils/aw-home-mutation-lock.js';
5
- import { withResolvedMultiSourceCatalog } from '../utils/multi-source-catalog.js';
3
+ import { resolvePartialCatalogOperationContext } from '../utils/catalog-operation-context.js';
6
4
  export async function initCommand(options) {
7
5
  const env = options.env ?? process.env;
8
- if (options.force) {
9
- return withAwHomeMutationLock({
10
- env,
11
- action: async () => {
12
- const cleanupWarnings = await (options.runtime?.cleanupLegacyCache
13
- ?? cleanupLegacyCatalogSourceCache)(env);
14
- const result = await resolveInitCatalog({ ...options, env });
15
- return { ...result, warnings: [...cleanupWarnings, ...result.warnings] };
16
- },
17
- });
18
- }
19
- return resolveInitCatalog({ ...options, env });
20
- }
21
- async function resolveInitCatalog(options) {
22
- const env = options.env ?? process.env;
23
- const freshnessPolicy = options.force ? 'forceRemote' : 'requireRemote';
24
6
  const configSnapshot = await readCatalogSourcesConfigSnapshot(env);
25
- return withResolvedMultiSourceCatalog({
26
- cliVersion: options.cliVersion,
27
- freshnessPolicy,
7
+ const context = await resolvePartialCatalogOperationContext({
28
8
  configSnapshot,
29
9
  env,
30
- consume: (catalog) => {
31
- const sources = catalog.sources.map((item) => {
32
- if (item.error) {
33
- return {
34
- id: item.sourceId,
35
- ok: false,
36
- error: item.error.message,
37
- errorCode: catalogSourceErrorCode(item.error),
38
- };
39
- }
40
- const resolution = item.resolution;
41
- return {
42
- id: item.sourceId,
43
- ok: true,
44
- requestedRef: resolution.requestedRef,
45
- resolvedCommit: resolution.resolvedCommit,
46
- catalogVersion: resolution.manifest.catalogVersion,
47
- channel: resolution.manifest.channel,
48
- freshness: resolution.source,
49
- };
50
- });
10
+ });
11
+ const sources = context.catalog.sources.map((item) => {
12
+ if (item.error) {
51
13
  return {
52
- ok: sources.every((source) => source.ok),
53
- changed: sources.some((source) => source.ok && source.freshness !== 'cache'),
54
- warnings: [],
55
- primarySourceId: catalog.primarySourceId,
56
- configDigest: catalog.configDigest,
57
- compositeDigest: catalog.compositeDigest,
58
- sources,
14
+ id: item.sourceId,
15
+ ok: false,
16
+ activeReady: false,
17
+ error: item.error.message,
18
+ errorCode: catalogSourceErrorCode(item.error),
19
+ recovery: `Run aw catalog source sync ${item.sourceId}.`,
59
20
  };
60
- },
21
+ }
22
+ const resolution = item.resolution;
23
+ return {
24
+ id: item.sourceId,
25
+ ok: true,
26
+ activeReady: true,
27
+ requestedRef: resolution.requestedRef,
28
+ resolvedCommit: resolution.resolvedCommit,
29
+ catalogVersion: resolution.manifest.catalogVersion,
30
+ channel: resolution.manifest.channel,
31
+ };
61
32
  });
33
+ return {
34
+ ok: sources.every((source) => source.ok),
35
+ primarySourceId: context.catalog.primarySourceId,
36
+ configDigest: context.catalog.configDigest,
37
+ compositeDigest: context.catalog.compositeDigest,
38
+ sources,
39
+ recovery: sources.flatMap((source) => source.recovery ? [source.recovery] : []),
40
+ };
62
41
  }
63
42
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,qCAAqC,EAAE,MAAM,uCAAuC,CAAC;AA4B9F,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA2B;IAE3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,qCAAqC,CAAC;QAC1D,cAAc;QACd,GAAG;KACJ,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAA2B,EAAE;QAC5E,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,QAAQ;gBACjB,EAAE,EAAE,KAAK;gBACT,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gBACzB,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7C,QAAQ,EAAE,8BAA8B,IAAI,CAAC,QAAQ,GAAG;aACzD,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,QAAQ;YACjB,EAAE,EAAE,IAAI;YACR,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc;YAClD,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO;SACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;QAChD,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY;QAC1C,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;QAChD,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Command } from 'commander';
2
+ import type { CliExecutionContext } from './runtime.js';
3
+ import { type NativeToolChange } from '../utils/native-tool-review.js';
4
+ import { type ManagedCommandDiagnostic, type ManagedCommandPackageView, type ManagedCommandView } from '../utils/managed-command-store.js';
5
+ export interface CommandManagementResult {
6
+ schemaVersion: 1;
7
+ command: 'command.install' | 'command.update' | 'command.remove' | 'command.list' | 'command.show' | 'command.package.sync' | 'command.package.remove';
8
+ ok: boolean;
9
+ overallState: 'completed' | 'partial' | 'failed';
10
+ commands: ManagedCommandView[];
11
+ packages: ManagedCommandPackageView[];
12
+ changes: Array<{
13
+ kind: 'command' | 'package';
14
+ id: string;
15
+ action: 'created' | 'updated' | 'removed' | 'retained';
16
+ }>;
17
+ errors: ManagedCommandDiagnostic[];
18
+ recoveryActions: string[];
19
+ nativeToolChanges?: NativeToolChange[];
20
+ }
21
+ export declare function runManagedCommandCli(args: string[], context: CliExecutionContext, host: {
22
+ cliEntry: string;
23
+ cliVersion: string;
24
+ }): Promise<number>;
25
+ export declare function registerManagedCommandCli(program: Command, context: () => CliExecutionContext, host: {
26
+ cliEntry: string;
27
+ cliVersion: string;
28
+ }, setExitCode: (code: number) => void): void;
@@ -0,0 +1,315 @@
1
+ import path from 'node:path';
2
+ import * as fs from 'node:fs/promises';
3
+ import { getCommandPackageId, isManagedCommandId, materializeNativeToolClosureFiles } from '@lesliechan721/aw-plugin-core/manifest';
4
+ import { withAwHomeMutationLock } from '../utils/aw-home-mutation-lock.js';
5
+ import { withResolvedCatalogPlugin } from '../utils/multi-source-catalog.js';
6
+ import { resolveRepoRoot } from '../utils/state-paths.js';
7
+ import { sanitizeCatalogSourceError } from '../utils/catalog-public-error.js';
8
+ import { describeNativeToolClosure } from '../utils/native-tool-review.js';
9
+ import { managedCommandProducerIdentity, nativeToolsForCommandSets, syncPluginManagedCommandPackage } from '../utils/managed-command-materialization.js';
10
+ import { prepareWindowsJobHelper } from '../utils/process-tree.js';
11
+ import { runManagedCommand } from '../utils/managed-command-runtime.js';
12
+ import { ManagedCommandError, assertUserCommandId, inspectManagedCommand, installUserCommand, listManagedCommandPackages, listManagedCommands, managedCommandDiagnostic, parseManagedCommandLaunch, readManagedCommandPackageOwner, readInstalledCommandProducer, removeManagedCommandPackage, removeUserCommand, updateUserCommand, validateManagedCommandName, } from '../utils/managed-command-store.js';
13
+ const HELP = `Usage:
14
+ aw command install <directory> --name <name> --runner node|executable --entry <relative-file> [--args-json <json>] [--env-json <json>] [--env-from-json <json>] [--cwd caller|resource] [--yes] [--json]
15
+ aw command update <cmdu-id> --from <directory> [--name <name>] [--runner node|executable] [--entry <relative-file>] [--args-json <json>] [--env-json <json>] [--env-from-json <json>] [--cwd caller|resource] [--yes] [--json]
16
+ aw command remove <cmdu-id> [--force] [--yes] [--json]
17
+ aw command list [--json]
18
+ aw command show <command-id> [--json]
19
+ aw command run <command-id> -- <args...>
20
+ aw command package sync <source/plugin> <package-key> --scope user|project [--yes] [--json]
21
+ aw command package remove <source/plugin> <package-key> --scope user|project [--force] [--yes] [--json]
22
+ aw command package remove <pkg-id> [--force] [--yes] [--json]
23
+ `;
24
+ function invalid(message) { throw new ManagedCommandError('invalidArguments', message, true); }
25
+ function parseOptions(args, allowed) {
26
+ const options = {};
27
+ const positionals = [];
28
+ for (let index = 0; index < args.length; index += 1) {
29
+ const token = args[index];
30
+ if (!token.startsWith('-')) {
31
+ positionals.push(token);
32
+ continue;
33
+ }
34
+ const equals = token.indexOf('=');
35
+ const name = equals < 0 ? token : token.slice(0, equals);
36
+ if (!allowed.includes(name) || Object.hasOwn(options, name))
37
+ invalid(`Unknown or repeated option: ${name}.`);
38
+ if (['--yes', '--json', '--force'].includes(name)) {
39
+ if (equals >= 0)
40
+ invalid(`${name} does not take a value.`);
41
+ options[name] = true;
42
+ }
43
+ else {
44
+ const value = equals < 0 ? args[++index] : token.slice(equals + 1);
45
+ if (value === undefined || (equals < 0 && value.startsWith('--')))
46
+ invalid(`${name} requires a value.`);
47
+ options[name] = value;
48
+ }
49
+ }
50
+ return { positionals, options };
51
+ }
52
+ function textOption(options, name, required = false) {
53
+ const value = options[name];
54
+ if (typeof value === 'string')
55
+ return value;
56
+ if (required)
57
+ invalid(`${name} is required.`);
58
+ return undefined;
59
+ }
60
+ function launchOptions(options, required) {
61
+ const output = {};
62
+ for (const key of ['runner', 'entry', 'cwd']) {
63
+ const value = textOption(options, `--${key}`, required && key !== 'cwd');
64
+ if (value !== undefined)
65
+ output[key] = value;
66
+ }
67
+ for (const [option, key] of [['--args-json', 'args'], ['--env-json', 'env'], ['--env-from-json', 'envFrom']]) {
68
+ const value = textOption(options, option);
69
+ if (value !== undefined) {
70
+ try {
71
+ output[key] = JSON.parse(value);
72
+ }
73
+ catch {
74
+ invalid(`${option} must contain one complete JSON value.`);
75
+ }
76
+ }
77
+ }
78
+ try {
79
+ if (required)
80
+ return parseManagedCommandLaunch(output);
81
+ // Validate the supplied fields without replacing the stored values for omitted fields.
82
+ parseManagedCommandLaunch({ runner: 'node', entry: 'entry.js', ...output });
83
+ }
84
+ catch {
85
+ invalid('The supplied launch options are invalid.');
86
+ }
87
+ return output;
88
+ }
89
+ function result(command) {
90
+ return { schemaVersion: 1, command, ok: true, overallState: 'completed', commands: [], packages: [], changes: [], errors: [], recoveryActions: [] };
91
+ }
92
+ function finish(receipt) {
93
+ receipt.errors.push(...receipt.commands.flatMap((command) => command.errors), ...receipt.packages.flatMap((pkg) => pkg.errors));
94
+ receipt.recoveryActions = [...new Set([...receipt.recoveryActions, ...receipt.commands.flatMap((command) => command.recoveryActions), ...receipt.packages.flatMap((pkg) => pkg.recoveryActions)])];
95
+ if (receipt.errors.length > 0 && receipt.overallState === 'completed')
96
+ receipt.overallState = receipt.commands.length || receipt.packages.length || receipt.changes.length ? 'partial' : 'failed';
97
+ receipt.ok = receipt.overallState === 'completed';
98
+ return receipt;
99
+ }
100
+ function render(receipt) {
101
+ const lines = [`${receipt.command}: ${receipt.overallState}`];
102
+ for (const command of receipt.commands)
103
+ lines.push(`${command.id}\t${command.name}\t${command.availability}`, ...(receipt.command === 'command.show' ? [JSON.stringify({ owner: command.owner, resourceRoot: command.resourceRoot, launch: command.launch }, null, 2)] : []));
104
+ for (const change of receipt.nativeToolChanges ?? [])
105
+ for (const phase of ['before', 'after'])
106
+ if (change[phase])
107
+ lines.push(...describeNativeToolClosure(change[phase]).map((description) => `原生工具 ${change.producer.sourceId}/${change.producer.pluginName} ${phase}: ${description}`));
108
+ for (const pkg of receipt.packages)
109
+ lines.push(`${pkg.id}\t${pkg.producer.sourceId}/${pkg.producer.pluginName}/${pkg.producer.key}\t${pkg.availability}`);
110
+ for (const change of receipt.changes)
111
+ lines.push(`${change.action}\t${change.id}`);
112
+ for (const error of receipt.errors)
113
+ lines.push(`${error.code}: ${error.message}`);
114
+ for (const action of receipt.recoveryActions)
115
+ lines.push(`Recovery: ${action}`);
116
+ return `${lines.join('\n')}\n`;
117
+ }
118
+ async function confirm(context, options, message) {
119
+ if (options['--yes'])
120
+ return;
121
+ if (!context.interactive || !context.prompt.confirm)
122
+ invalid('This write requires --yes in non-interactive mode.');
123
+ const response = await context.prompt.confirm({ message, defaultValue: false });
124
+ if (response.cancelled || response.value !== true)
125
+ invalid('The managed command write was not confirmed.');
126
+ }
127
+ export async function runManagedCommandCli(args, context, host) {
128
+ if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
129
+ // Target arguments belong to the child, including --help.
130
+ const delimiter = args[0] === 'run' ? args.indexOf('--') : -1;
131
+ const helpBeforeDelimiter = delimiter < 0 || args.slice(0, delimiter).some((arg) => arg === '--help' || arg === '-h');
132
+ if (helpBeforeDelimiter) {
133
+ context.io.stdout(HELP);
134
+ return 0;
135
+ }
136
+ }
137
+ if (args[0] === 'run') {
138
+ try {
139
+ if (args[2] !== '--' || !args[1] || !isManagedCommandId(args[1]))
140
+ invalid('Usage: aw command run <command-id> -- <args...>');
141
+ return await runManagedCommand({ id: args[1], args: args.slice(3), cwd: context.cwd, env: context.env, cliEntry: host.cliEntry });
142
+ }
143
+ catch (error) {
144
+ const diagnostic = managedCommandDiagnostic(error);
145
+ context.io.stderr(`aw: ${diagnostic.code}: ${diagnostic.message}\n`);
146
+ return error instanceof ManagedCommandError && error.argumentError ? 2 : 1;
147
+ }
148
+ }
149
+ const action = args[0] === 'package' ? `package.${args[1] ?? ''}` : args[0] ?? '';
150
+ const known = ['install', 'update', 'remove', 'list', 'show', 'package.sync', 'package.remove'];
151
+ const command = (known.includes(action) ? `command.${action}` : 'command.list');
152
+ const receipt = result(command);
153
+ let exitCode = 0;
154
+ try {
155
+ if (!known.includes(action))
156
+ invalid('An install, update, remove, list, show, run, or package command is required.');
157
+ const launchFlags = ['--runner', '--entry', '--args-json', '--env-json', '--env-from-json', '--cwd'];
158
+ const allowed = action === 'install' ? ['--name', ...launchFlags, '--yes', '--json']
159
+ : action === 'update' ? ['--from', '--name', ...launchFlags, '--yes', '--json']
160
+ : action === 'remove' ? ['--force', '--yes', '--json']
161
+ : action.startsWith('package.') ? ['--scope', '--force', '--yes', '--json'].filter((flag) => action === 'package.remove' || flag !== '--force')
162
+ : ['--json'];
163
+ const { positionals, options } = parseOptions(args.slice(action.startsWith('package.') ? 2 : 1), allowed);
164
+ if (action === 'list') {
165
+ if (positionals.length)
166
+ invalid('list does not accept positional arguments.');
167
+ Object.assign(receipt, await listManagedCommands(context.env));
168
+ }
169
+ else if (action === 'show') {
170
+ if (positionals.length !== 1 || !isManagedCommandId(positionals[0]))
171
+ invalid('show requires one canonical command ID.');
172
+ const commandView = await inspectManagedCommand(positionals[0], context.env);
173
+ receipt.commands = [commandView];
174
+ if (commandView.owner.kind === 'plugin' && commandView.owner.producer.kind === 'package') {
175
+ const id = getCommandPackageId(commandView.owner.producer);
176
+ const packages = await listManagedCommandPackages(context.env);
177
+ receipt.packages = packages.packages.filter((pkg) => pkg.id === id);
178
+ receipt.errors.push(...packages.errors.filter((error) => error.subject === `commands/packages/${id}`));
179
+ }
180
+ }
181
+ else {
182
+ // Parse every argument before confirmation and before the mutation lock creates state.
183
+ const launch = action === 'install' || action === 'update' ? launchOptions(options, action === 'install') : undefined;
184
+ if (action === 'install' || action === 'update' || action === 'remove') {
185
+ if (positionals.length !== 1)
186
+ invalid(`${action} requires exactly one positional argument.`);
187
+ if (action !== 'install')
188
+ assertUserCommandId(positionals[0]);
189
+ if (action === 'install' || options['--name'] !== undefined)
190
+ validateManagedCommandName(textOption(options, '--name', action === 'install'));
191
+ if (action === 'update')
192
+ textOption(options, '--from', true);
193
+ }
194
+ const exactPackage = action === 'package.remove' && positionals.length === 1 && /^pkg_[0-9a-f]{64}$/u.test(positionals[0]);
195
+ if (action.startsWith('package.')) {
196
+ if (exactPackage && options['--scope'] !== undefined)
197
+ invalid('Exact package removal does not accept --scope.');
198
+ if (!exactPackage && (positionals.length !== 2 || positionals[0].split('/').length !== 2 || !['user', 'project'].includes(textOption(options, '--scope', true))))
199
+ invalid('Package selection requires source/plugin, package-key, and --scope user|project.');
200
+ }
201
+ let nativeReview;
202
+ const inspectPackageNative = async () => {
203
+ if (!action.startsWith('package.'))
204
+ return undefined;
205
+ if (exactPackage) {
206
+ const owner = await readManagedCommandPackageOwner(positionals[0], context.env);
207
+ const record = await readInstalledCommandProducer(owner.resourceRoot).catch(() => undefined);
208
+ return record?.nativeTools ? { producer: owner.producer, before: record.nativeTools, after: null } : undefined;
209
+ }
210
+ return withResolvedCatalogPlugin({ selector: positionals[0], cliVersion: host.cliVersion, env: context.env, consume: async ({ plugin }) => {
211
+ const scope = textOption(options, '--scope', true);
212
+ const producer = await managedCommandProducerIdentity({ plugin, producer: { kind: 'package', packageKey: positionals[1] }, scope, cwd: context.cwd });
213
+ const owner = await readManagedCommandPackageOwner(getCommandPackageId(producer), context.env).catch(() => undefined);
214
+ const previous = owner ? await readInstalledCommandProducer(owner.resourceRoot).catch(() => undefined) : undefined;
215
+ const sets = (plugin.manifest.managedCommands?.sets ?? []).filter((set) => set.producer.kind === 'package' && set.producer.packageKey === producer.key).map((set) => ({ set: set.set, state: 'present', entries: [] }));
216
+ const closure = action === 'package.sync' ? await nativeToolsForCommandSets(plugin, sets) : undefined;
217
+ const after = closure ? materializeNativeToolClosureFiles(closure).closure : null;
218
+ const before = previous?.nativeTools ?? null;
219
+ return JSON.stringify(before) === JSON.stringify(after) ? undefined : { producer, before, after };
220
+ } });
221
+ };
222
+ nativeReview = await inspectPackageNative();
223
+ const execute = async () => {
224
+ if (JSON.stringify(await inspectPackageNative()) !== JSON.stringify(nativeReview))
225
+ throw new ManagedCommandError('operationReviewStale', 'The native tool impact changed. Review the package operation again.');
226
+ if (nativeReview)
227
+ receipt.nativeToolChanges = [nativeReview];
228
+ if (action === 'install') {
229
+ const id = await installUserCommand({ sourceDirectory: path.resolve(context.cwd, positionals[0]), name: textOption(options, '--name', true), launch: launch, env: context.env });
230
+ receipt.commands = [await inspectManagedCommand(id, context.env)];
231
+ receipt.changes.push({ kind: 'command', id, action: 'created' });
232
+ }
233
+ else if (action === 'update') {
234
+ const id = positionals[0];
235
+ const updated = await updateUserCommand({ id, sourceDirectory: path.resolve(context.cwd, textOption(options, '--from', true)), name: textOption(options, '--name'), launch, env: context.env });
236
+ receipt.errors.push(...updated.errors);
237
+ receipt.recoveryActions.push(...updated.recoveryActions);
238
+ receipt.commands = [await inspectManagedCommand(id, context.env)];
239
+ receipt.changes.push({ kind: 'command', id, action: 'updated' });
240
+ }
241
+ else if (action === 'remove') {
242
+ const id = positionals[0];
243
+ await removeUserCommand(id, context.env);
244
+ receipt.changes.push({ kind: 'command', id, action: 'removed' });
245
+ }
246
+ else if (exactPackage) {
247
+ const id = positionals[0];
248
+ const removed = await removeManagedCommandPackage(id, context.env);
249
+ receipt.changes.push({ kind: 'package', id, action: 'removed' }, ...removed.removedCommandIds.map((commandId) => ({ kind: 'command', id: commandId, action: 'removed' })));
250
+ }
251
+ else {
252
+ await withResolvedCatalogPlugin({ selector: positionals[0], cliVersion: host.cliVersion, env: context.env, consume: async ({ plugin }) => {
253
+ const scope = textOption(options, '--scope', true);
254
+ if (action === 'package.sync') {
255
+ const synced = await syncPluginManagedCommandPackage({ plugin, packageKey: positionals[1], scope, cwd: context.cwd, env: context.env });
256
+ receipt.errors.push(...synced.errors);
257
+ receipt.recoveryActions.push(...synced.recoveryActions);
258
+ if (synced.state !== 'completed')
259
+ receipt.overallState = synced.state;
260
+ receipt.changes.push({ kind: 'package', id: getCommandPackageId(synced.producer), action: 'updated' }, ...synced.commandIds.map((id) => ({ kind: 'command', id, action: 'updated' })), ...synced.removedCommandIds.map((id) => ({ kind: 'command', id, action: 'removed' })));
261
+ for (const id of synced.commandIds)
262
+ receipt.commands.push(await inspectManagedCommand(id, context.env));
263
+ receipt.packages = (await listManagedCommandPackages(context.env)).packages.filter((pkg) => pkg.id === getCommandPackageId(synced.producer));
264
+ }
265
+ else {
266
+ let projectRoot = scope === 'project' ? path.normalize(await fs.realpath(await resolveRepoRoot(context.cwd))) : null;
267
+ if (projectRoot && process.platform === 'win32')
268
+ projectRoot = projectRoot.replace(/^[a-z]:/u, (drive) => drive.toUpperCase());
269
+ const inventory = await listManagedCommandPackages(context.env);
270
+ const candidates = inventory.packages.filter((pkg) => pkg.producer.sourceId === plugin.sourceId && pkg.producer.sourceIdentity === plugin.sourceIdentity && pkg.producer.pluginName === plugin.manifest.name && pkg.producer.key === positionals[1] && pkg.producer.scope === scope && pkg.producer.projectRoot === projectRoot);
271
+ if (candidates.length !== 1)
272
+ throw new ManagedCommandError('commandIdentityConflict', `Package selection did not match exactly one owned package. Candidate IDs: ${candidates.map((pkg) => pkg.id).join(', ') || 'none'}. Use exact package remove.`);
273
+ const id = candidates[0].id;
274
+ const removed = await removeManagedCommandPackage(id, context.env);
275
+ receipt.changes.push({ kind: 'package', id, action: 'removed' }, ...removed.removedCommandIds.map((commandId) => ({ kind: 'command', id: commandId, action: 'removed' })));
276
+ }
277
+ } });
278
+ }
279
+ };
280
+ let message = `Apply ${command}?`;
281
+ if (exactPackage) {
282
+ const owner = await readManagedCommandPackageOwner(positionals[0], context.env);
283
+ message += ` Producer: ${JSON.stringify(owner.producer)}. All commands in this package will become unavailable.`;
284
+ }
285
+ if (nativeReview)
286
+ for (const phase of ['before', 'after'])
287
+ if (nativeReview[phase])
288
+ message += ` Native ${nativeReview.producer.sourceId}/${nativeReview.producer.pluginName} ${phase}: ${describeNativeToolClosure(nativeReview[phase]).join('; ')}.`;
289
+ await confirm(context, options, message);
290
+ if (process.platform === 'win32' && action === 'package.sync')
291
+ await prepareWindowsJobHelper();
292
+ await withAwHomeMutationLock({ env: context.env, action: execute });
293
+ }
294
+ }
295
+ catch (error) {
296
+ const safeError = error instanceof ManagedCommandError ? error : sanitizeCatalogSourceError(error, context.env, [context.cwd]);
297
+ receipt.errors.push(error instanceof ManagedCommandError ? managedCommandDiagnostic(error) : { code: safeError.code, message: safeError.message });
298
+ if (!(error instanceof ManagedCommandError && error.argumentError) && receipt.recoveryActions.length === 0) {
299
+ receipt.recoveryActions.push(action === 'install' ? 'Correct the tool directory and retry command install.' : action.startsWith('package.') ? 'Use command list to inspect package IDs, then use package sync or exact package remove.' : 'Use command list to inspect ownership, then update or safely remove the affected user command.');
300
+ }
301
+ receipt.overallState = receipt.changes.length ? 'partial' : 'failed';
302
+ exitCode = error instanceof ManagedCommandError && error.argumentError ? 2 : 1;
303
+ }
304
+ finish(receipt);
305
+ context.io.stdout(args.includes('--json') ? `${JSON.stringify(receipt)}\n` : render(receipt));
306
+ return exitCode || (receipt.ok ? 0 : 1);
307
+ }
308
+ export function registerManagedCommandCli(program, context, host, setExitCode) {
309
+ program.enablePositionalOptions();
310
+ program.command('command [arguments...]').description('Install, inspect, and run managed commands')
311
+ .allowUnknownOption(true).allowExcessArguments(true).passThroughOptions()
312
+ .addHelpText('after', HELP)
313
+ .action(async (args) => { setExitCode(await runManagedCommandCli(args, context(), host)); });
314
+ }
315
+ //# sourceMappingURL=managed-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-commands.js","sourceRoot":"","sources":["../../../src/commands/managed-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { PlatformName, Scope } from '../types.js';
2
+ import type { CatalogSourceReferenceInventory } from '../utils/catalog-source-references.js';
3
+ import type { OwnedComponent, OwnerIdentity } from '../utils/ownership.js';
4
+ export interface OfflineCleanupTargetEvidence {
5
+ reason: 'sourceMissing' | 'bundleUnavailable';
6
+ pluginId: string;
7
+ pluginName: string;
8
+ sourceId: string;
9
+ sourceIdentity: string;
10
+ platform: PlatformName;
11
+ scope: Scope;
12
+ plan: OfflineCleanupPlan;
13
+ planDigest: string;
14
+ targetFingerprint: string;
15
+ forceExclusive?: true;
16
+ }
17
+ export interface OfflineCleanupPlanAction {
18
+ action: 'removeOwnedOutput' | 'removeNativeRegistration';
19
+ kind: 'namespacedOwner' | 'namespacedMarketplace' | 'skill-directory' | 'owned-text-file';
20
+ target: string;
21
+ allowedRoot?: string;
22
+ owner?: OwnerIdentity;
23
+ pathEvidence?: string;
24
+ marketplaceName?: string;
25
+ activationScope?: Scope;
26
+ projectKey?: string | null;
27
+ pluginVersion?: string;
28
+ }
29
+ export declare function forceOfflineCleanupEvidence(options: {
30
+ reason: OfflineCleanupTargetEvidence['reason'];
31
+ pluginId: string;
32
+ pluginName: string;
33
+ sourceId: string;
34
+ sourceIdentity: string;
35
+ platform: PlatformName;
36
+ scope: Scope;
37
+ components: ReadonlyArray<Extract<OwnedComponent, {
38
+ path: string;
39
+ }>>;
40
+ }): Promise<OfflineCleanupTargetEvidence>;
41
+ export interface OfflineCleanupPlan {
42
+ schemaVersion: 1;
43
+ pluginId: string;
44
+ sourceIdentity: string;
45
+ platform: PlatformName;
46
+ scope: Scope;
47
+ actions: OfflineCleanupPlanAction[];
48
+ }
49
+ export declare function intentOnlyOfflineCleanupEvidence(options: {
50
+ pluginId: string;
51
+ pluginName: string;
52
+ sourceId: string;
53
+ sourceIdentity: string;
54
+ platform: PlatformName;
55
+ scope: Scope;
56
+ }): OfflineCleanupTargetEvidence;
57
+ export declare function offlineCleanupEvidenceFromInventory(options: {
58
+ reason: OfflineCleanupTargetEvidence['reason'];
59
+ pluginId: string;
60
+ pluginName: string;
61
+ sourceId: string;
62
+ sourceIdentity: string;
63
+ platform: PlatformName;
64
+ scope: Scope;
65
+ inventory: CatalogSourceReferenceInventory;
66
+ }): OfflineCleanupTargetEvidence | null;
67
+ export declare function offlineCleanupEvidenceMatches(expected: OfflineCleanupTargetEvidence, actual: OfflineCleanupTargetEvidence): boolean;