@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,13 +1,21 @@
1
1
  import crypto from 'node:crypto';
2
+ import * as nodeFs from 'node:fs/promises';
2
3
  import path from 'node:path';
4
+ import { isDeepStrictEqual } from 'node:util';
3
5
  import fs from 'fs-extra';
4
6
  import { CATALOG_BETA_REF, CATALOG_LATEST_REF, CATALOG_SOURCES_FILE, CATALOG_SOURCES_SCHEMA_VERSION, OFFICIAL_CATALOG_SOURCE_URL, } from '../constants.js';
5
7
  import { canonicalizeCatalogGitUrl, canonicalizeCatalogPath, } from './catalog-source-identity.js';
6
8
  import { parseStrictSemVer } from './manifest.js';
7
- import { atomicReplaceConfigFile, withConfigFileLock, } from './plugin-config.js';
8
- import { withActiveMarketplaceRuntimeLease } from './active-marketplace-runtime-lock.js';
9
+ import { atomicReplaceConfigFile, withConfigFileMutation, } from './plugin-config.js';
10
+ import { CatalogGenerationError } from './catalog-generation-error.js';
11
+ import { withAwHomeMutationLock, } from './aw-home-mutation-lock.js';
12
+ import { assertRealFileParentWithinRoot, assertSafeFileMutationPath, } from './safe-fs.js';
9
13
  import { resolveAwHome } from './state-paths.js';
10
14
  export const CATALOG_SOURCE_ID_PATTERN = /^[a-z][a-z0-9-]{0,31}$/;
15
+ let catalogSourcesBackupBeforeOpenHookForTests;
16
+ export function setCatalogSourcesBackupBeforeOpenHookForTests(hook) {
17
+ catalogSourcesBackupBeforeOpenHookForTests = hook;
18
+ }
11
19
  export class CatalogSourcesConfigConflictError extends Error {
12
20
  expectedDigest;
13
21
  actualDigest;
@@ -52,6 +60,17 @@ function normalizeSubdir(value, fieldName) {
52
60
  }
53
61
  return normalized.replace(/^\.\//, '').replace(/\/$/, '');
54
62
  }
63
+ function normalizeAutoCheck(value, fieldName) {
64
+ if (value === undefined || value === true)
65
+ return undefined;
66
+ if (value !== false) {
67
+ throw new Error(`Invalid ${fieldName}: expected a boolean.`);
68
+ }
69
+ return false;
70
+ }
71
+ export function isCatalogSourceAutoCheckEnabled(source) {
72
+ return source.autoCheck !== false;
73
+ }
55
74
  function normalizeRefPolicy(value, fieldName) {
56
75
  const input = assertObject(value, fieldName);
57
76
  if (input.type === 'cliChannel') {
@@ -73,11 +92,12 @@ function normalizeRefPolicy(value, fieldName) {
73
92
  function normalizeSource(value, fieldName) {
74
93
  const input = assertObject(value, fieldName);
75
94
  const id = normalizeSourceId(input.id, `${fieldName}.id`);
95
+ const autoCheck = normalizeAutoCheck(input.autoCheck, `${fieldName}.autoCheck`);
76
96
  if (typeof input.primary !== 'boolean') {
77
97
  throw new Error(`Invalid ${fieldName}.primary: expected a boolean.`);
78
98
  }
79
99
  if (input.type === 'git') {
80
- assertAllowedKeys(input, fieldName, ['id', 'type', 'primary', 'url', 'refPolicy', 'subdir']);
100
+ assertAllowedKeys(input, fieldName, ['id', 'type', 'primary', 'autoCheck', 'url', 'refPolicy', 'subdir']);
81
101
  const subdir = normalizeSubdir(input.subdir, `${fieldName}.subdir`);
82
102
  if (typeof input.url !== 'string') {
83
103
  throw new Error(`Invalid ${fieldName}.url: expected a Git URL.`);
@@ -87,23 +107,40 @@ function normalizeSource(value, fieldName) {
87
107
  id,
88
108
  type: 'git',
89
109
  primary: input.primary,
110
+ ...(autoCheck === false ? { autoCheck } : {}),
90
111
  url: input.url,
91
112
  refPolicy: normalizeRefPolicy(input.refPolicy, `${fieldName}.refPolicy`),
92
113
  ...(subdir ? { subdir } : {}),
93
114
  };
94
115
  }
95
116
  if (input.type === 'path') {
96
- assertAllowedKeys(input, fieldName, ['id', 'type', 'primary', 'path']);
117
+ assertAllowedKeys(input, fieldName, ['id', 'type', 'primary', 'autoCheck', 'path', 'managedBy']);
97
118
  if (typeof input.path !== 'string'
98
119
  || input.path.trim() === ''
99
120
  || !path.isAbsolute(input.path)) {
100
121
  throw new Error(`Invalid ${fieldName}.path: expected a canonical absolute path.`);
101
122
  }
123
+ let managedBy;
124
+ if (input.managedBy !== undefined) {
125
+ const owner = assertObject(input.managedBy, `${fieldName}.managedBy`);
126
+ assertAllowedKeys(owner, `${fieldName}.managedBy`, ['kind', 'workspaceIdentity']);
127
+ if (owner.kind !== 'catalog-workspace') {
128
+ throw new Error(`Invalid ${fieldName}.managedBy.kind: expected "catalog-workspace".`);
129
+ }
130
+ if (typeof owner.workspaceIdentity !== 'string'
131
+ || owner.workspaceIdentity.trim() === ''
132
+ || owner.workspaceIdentity !== owner.workspaceIdentity.trim()) {
133
+ throw new Error(`Invalid ${fieldName}.managedBy.workspaceIdentity: expected a non-empty string.`);
134
+ }
135
+ managedBy = { kind: 'catalog-workspace', workspaceIdentity: owner.workspaceIdentity };
136
+ }
102
137
  return {
103
138
  id,
104
139
  type: 'path',
105
140
  primary: input.primary,
141
+ ...(autoCheck === false ? { autoCheck } : {}),
106
142
  path: input.path,
143
+ ...(managedBy ? { managedBy } : {}),
107
144
  };
108
145
  }
109
146
  throw new Error(`Invalid ${fieldName}.type: expected "git" or "path".`);
@@ -120,11 +157,16 @@ export function createDefaultCatalogSourcesConfig() {
120
157
  }],
121
158
  };
122
159
  }
160
+ export function isDefaultOfficialCatalogSource(source) {
161
+ const official = createDefaultCatalogSourcesConfig().sources[0];
162
+ const normalized = normalizeSource({ ...source, primary: official.primary }, 'catalog source');
163
+ return isDeepStrictEqual(normalized, official);
164
+ }
123
165
  export function validateCatalogSourcesConfig(rawConfig) {
124
166
  const input = assertObject(rawConfig, 'catalog sources config');
125
167
  assertAllowedKeys(input, 'catalog sources config', ['schemaVersion', 'sources']);
126
168
  if (input.schemaVersion !== CATALOG_SOURCES_SCHEMA_VERSION) {
127
- throw new Error('Invalid catalog sources config.schemaVersion: expected 1.');
169
+ throw new Error('Invalid catalog sources config.schemaVersion: expected 2.');
128
170
  }
129
171
  if (!Array.isArray(input.sources) || input.sources.length === 0) {
130
172
  throw new Error('Invalid catalog sources config.sources: expected at least one source.');
@@ -138,7 +180,7 @@ export function validateCatalogSourcesConfig(rawConfig) {
138
180
  if (sources.filter((source) => source.primary).length !== 1) {
139
181
  throw new Error('Invalid catalog sources config.sources: expected exactly one primary source.');
140
182
  }
141
- return { schemaVersion: 1, sources };
183
+ return { schemaVersion: 2, sources };
142
184
  }
143
185
  export function resolveCatalogSourceRef(policy, cliVersion) {
144
186
  const normalized = normalizeRefPolicy(policy, 'catalog source refPolicy');
@@ -156,7 +198,7 @@ export async function addCatalogSource(config, source, cwd) {
156
198
  throw new Error(`Catalog source "${candidate.id}" already exists.`);
157
199
  }
158
200
  return validateCatalogSourcesConfig({
159
- schemaVersion: 1,
201
+ schemaVersion: 2,
160
202
  sources: [
161
203
  ...current.sources.map((entry) => candidate.primary ? { ...entry, primary: false } : entry),
162
204
  candidate,
@@ -174,18 +216,24 @@ export async function updateCatalogSource(config, sourceId, update, cwd) {
174
216
  throw new Error('Catalog source type cannot be changed.');
175
217
  }
176
218
  assertAllowedKeys(updateInput, 'catalog source update', existing.type === 'git'
177
- ? ['type', 'url', 'refPolicy', 'subdir']
178
- : ['type', 'path']);
219
+ ? ['type', 'url', 'refPolicy', 'subdir', 'autoCheck']
220
+ : ['type', 'path', 'autoCheck']);
179
221
  const subdirUpdate = 'subdir' in update ? update.subdir : undefined;
180
222
  const subdir = existing.type === 'git'
181
223
  ? subdirUpdate === null ? undefined : subdirUpdate ?? existing.subdir
182
224
  : undefined;
183
225
  const updatedPath = existing.type === 'path'
184
- ? await canonicalizeCatalogPath('path' in update && update.path !== undefined ? update.path : existing.path, cwd)
226
+ && 'path' in update
227
+ && update.path !== undefined
228
+ ? await canonicalizeCatalogPath(update.path, cwd)
185
229
  : undefined;
230
+ const autoCheck = update.autoCheck === undefined
231
+ ? existing.autoCheck
232
+ : normalizeAutoCheck(update.autoCheck, 'catalog source update.autoCheck');
186
233
  const candidate = existing.type === 'git'
187
234
  ? {
188
235
  ...existing,
236
+ ...(autoCheck === false ? { autoCheck } : {}),
189
237
  ...('url' in update && update.url !== undefined ? { url: update.url } : {}),
190
238
  ...('refPolicy' in update && update.refPolicy !== undefined
191
239
  ? { refPolicy: update.refPolicy }
@@ -194,12 +242,15 @@ export async function updateCatalogSource(config, sourceId, update, cwd) {
194
242
  }
195
243
  : {
196
244
  ...existing,
245
+ ...(autoCheck === false ? { autoCheck } : {}),
197
246
  ...(updatedPath ? { path: updatedPath } : {}),
198
247
  };
248
+ if (autoCheck === undefined)
249
+ delete candidate.autoCheck;
199
250
  if (candidate.type === 'git' && !subdir)
200
251
  delete candidate.subdir;
201
252
  return validateCatalogSourcesConfig({
202
- schemaVersion: 1,
253
+ schemaVersion: 2,
203
254
  sources: current.sources.map((source, sourceIndex) => sourceIndex === index ? candidate : source),
204
255
  });
205
256
  }
@@ -209,25 +260,41 @@ export function setPrimaryCatalogSource(config, sourceId) {
209
260
  throw new Error(`Catalog source "${sourceId}" does not exist.`);
210
261
  }
211
262
  return validateCatalogSourcesConfig({
212
- schemaVersion: 1,
263
+ schemaVersion: 2,
213
264
  sources: current.sources.map((source) => ({
214
265
  ...source,
215
266
  primary: source.id === sourceId,
216
267
  })),
217
268
  });
218
269
  }
219
- export function removeCatalogSource(config, sourceId) {
270
+ export function removeCatalogSource(config, sourceId, replacementPrimarySourceId) {
220
271
  const current = validateCatalogSourcesConfig(config);
221
272
  const source = current.sources.find((entry) => entry.id === sourceId);
222
273
  if (!source)
223
274
  throw new Error(`Catalog source "${sourceId}" does not exist.`);
224
275
  if (current.sources.length === 1)
225
276
  throw new Error('The last catalog source cannot be removed.');
226
- if (source.primary)
277
+ if (!source.primary && replacementPrimarySourceId !== undefined) {
278
+ throw new Error('A replacement primary source is only valid when removing the primary source.');
279
+ }
280
+ if (source.primary && replacementPrimarySourceId === undefined) {
227
281
  throw new Error('The primary catalog source cannot be removed.');
282
+ }
283
+ if (replacementPrimarySourceId === sourceId) {
284
+ throw new Error('The replacement primary source must be another catalog source.');
285
+ }
286
+ if (replacementPrimarySourceId !== undefined
287
+ && !current.sources.some((entry) => entry.id === replacementPrimarySourceId)) {
288
+ throw new Error(`Catalog source "${replacementPrimarySourceId}" does not exist.`);
289
+ }
228
290
  return validateCatalogSourcesConfig({
229
- schemaVersion: 1,
230
- sources: current.sources.filter((entry) => entry.id !== sourceId),
291
+ schemaVersion: 2,
292
+ sources: current.sources
293
+ .filter((entry) => entry.id !== sourceId)
294
+ .map((entry) => replacementPrimarySourceId === undefined ? entry : {
295
+ ...entry,
296
+ primary: entry.id === replacementPrimarySourceId,
297
+ }),
231
298
  });
232
299
  }
233
300
  export function calculateCatalogSourcesConfigDigest(config) {
@@ -244,16 +311,31 @@ async function readConfigAt(filePath) {
244
311
  }
245
312
  catch (error) {
246
313
  const code = error.code;
247
- if (code !== 'ENOENT')
248
- throw error;
249
- const config = createDefaultCatalogSourcesConfig();
250
- return {
251
- config,
252
- digest: calculateCatalogSourcesConfigDigest(config),
253
- materialized: false,
254
- };
314
+ if (code === 'ENOENT') {
315
+ const config = createDefaultCatalogSourcesConfig();
316
+ return {
317
+ config,
318
+ digest: calculateCatalogSourcesConfigDigest(config),
319
+ materialized: false,
320
+ };
321
+ }
322
+ throw new CatalogGenerationError({
323
+ code: 'catalogSourcesConfigInvalid',
324
+ message: 'Catalog sources config is unreadable or invalid. Repair or remove catalog-sources.json, then run aw catalog source sync.',
325
+ cause: error,
326
+ });
327
+ }
328
+ let config;
329
+ try {
330
+ config = validateCatalogSourcesConfig(rawConfig);
331
+ }
332
+ catch (error) {
333
+ throw new CatalogGenerationError({
334
+ code: 'catalogSourcesConfigInvalid',
335
+ message: 'Catalog sources config is unreadable or invalid. Repair or remove catalog-sources.json, then run aw catalog source sync.',
336
+ cause: error,
337
+ });
255
338
  }
256
- const config = validateCatalogSourcesConfig(rawConfig);
257
339
  return {
258
340
  config,
259
341
  digest: calculateCatalogSourcesConfigDigest(config),
@@ -272,7 +354,7 @@ export async function replaceCatalogSourcesConfig(options) {
272
354
  const filePath = resolveCatalogSourcesConfigPath(env);
273
355
  const config = validateCatalogSourcesConfig(options.config);
274
356
  const digest = calculateCatalogSourcesConfigDigest(config);
275
- await withActiveMarketplaceRuntimeLease(env, () => withConfigFileLock({
357
+ await withConfigFileMutation({
276
358
  filePath,
277
359
  allowedRoot: awHome,
278
360
  action: async () => {
@@ -287,7 +369,104 @@ export async function replaceCatalogSourcesConfig(options) {
287
369
  content: `${JSON.stringify(config, null, 2)}\n`,
288
370
  });
289
371
  },
290
- }));
372
+ });
291
373
  return { config, digest, materialized: true };
292
374
  }
375
+ function catalogSourcesRecoveryStale() {
376
+ return new CatalogGenerationError({
377
+ code: 'catalogSourcesConfigRecoveryStale',
378
+ message: 'Catalog sources config recovery is stale because the config is missing or valid.',
379
+ });
380
+ }
381
+ function catalogSourcesRecoveryFailed(cause) {
382
+ return new CatalogGenerationError({
383
+ code: 'catalogSourcesConfigRecoveryFailed',
384
+ message: 'Catalog sources config recovery failed. The invalid config was not replaced.',
385
+ cause,
386
+ });
387
+ }
388
+ function createBrokenCatalogSourcesBackupName() {
389
+ const utc = new Date().toISOString().replace(/[-:.]/gu, '');
390
+ return `${CATALOG_SOURCES_FILE}.broken-${utc}-${crypto.randomUUID()}`;
391
+ }
392
+ export async function recoverInvalidCatalogSourcesConfig(options = {}) {
393
+ const env = options.env ?? process.env;
394
+ return withAwHomeMutationLock({
395
+ env,
396
+ token: options.awHomeMutationToken,
397
+ action: async () => {
398
+ const awHome = resolveAwHome(env);
399
+ const filePath = resolveCatalogSourcesConfigPath(env);
400
+ try {
401
+ return await withConfigFileMutation({
402
+ filePath,
403
+ allowedRoot: awHome,
404
+ action: async () => {
405
+ let target;
406
+ try {
407
+ target = await nodeFs.lstat(filePath);
408
+ }
409
+ catch (error) {
410
+ if (error.code === 'ENOENT') {
411
+ throw catalogSourcesRecoveryStale();
412
+ }
413
+ throw error;
414
+ }
415
+ if (target.isSymbolicLink() || !target.isFile()) {
416
+ throw new Error('Catalog sources config recovery target must be a regular file.');
417
+ }
418
+ const originalBytes = await nodeFs.readFile(filePath);
419
+ try {
420
+ validateCatalogSourcesConfig(JSON.parse(originalBytes.toString('utf8')));
421
+ throw catalogSourcesRecoveryStale();
422
+ }
423
+ catch (error) {
424
+ if (error instanceof CatalogGenerationError)
425
+ throw error;
426
+ }
427
+ const backupName = createBrokenCatalogSourcesBackupName();
428
+ const backupPath = path.join(awHome, backupName);
429
+ await assertSafeFileMutationPath({
430
+ filePath: backupPath,
431
+ allowedRoot: awHome,
432
+ label: 'Catalog sources config backup',
433
+ });
434
+ await assertRealFileParentWithinRoot({
435
+ filePath: backupPath,
436
+ allowedRoot: awHome,
437
+ label: 'Catalog sources config backup',
438
+ });
439
+ await catalogSourcesBackupBeforeOpenHookForTests?.(backupPath);
440
+ const backupHandle = await nodeFs.open(backupPath, 'wx', 0o600);
441
+ try {
442
+ await backupHandle.writeFile(originalBytes);
443
+ }
444
+ finally {
445
+ await backupHandle.close();
446
+ }
447
+ const config = createDefaultCatalogSourcesConfig();
448
+ await atomicReplaceConfigFile({
449
+ filePath,
450
+ allowedRoot: awHome,
451
+ content: `${JSON.stringify(config, null, 2)}\n`,
452
+ });
453
+ return {
454
+ snapshot: {
455
+ config,
456
+ digest: calculateCatalogSourcesConfigDigest(config),
457
+ materialized: true,
458
+ },
459
+ backupPath: backupName,
460
+ };
461
+ },
462
+ });
463
+ }
464
+ catch (error) {
465
+ if (error instanceof CatalogGenerationError)
466
+ throw error;
467
+ throw catalogSourcesRecoveryFailed(error);
468
+ }
469
+ },
470
+ });
471
+ }
293
472
  //# sourceMappingURL=catalog-sources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-sources.js","sourceRoot":"","sources":["../../../src/utils/catalog-sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-sources.js","sourceRoot":"","sources":["../../../src/utils/catalog-sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type ProducerIdentity } from '@lesliechan721/aw-plugin-core/manifest';
2
+ /** AW projects one explicit Skill collection into its Claude plugin manifest. */
3
+ export declare function resolveClaudeSkillsRelativeRoot(pluginRoot: string): Promise<string>;
4
+ /** Resolve only the relative-source payload emitted in AW's canonical namespaced mirror. */
5
+ export declare function resolveClaudeNativeSkillRoot(options: {
6
+ producer: ProducerIdentity;
7
+ env?: NodeJS.ProcessEnv;
8
+ }): Promise<string>;
@@ -0,0 +1,76 @@
1
+ import path from 'node:path';
2
+ import fs from 'fs-extra';
3
+ import { normalizeProducerIdentity } from '@lesliechan721/aw-plugin-core/manifest';
4
+ import { readStrictNamespacedMarketplaceRoot } from './local-marketplace.js';
5
+ import { resolveAwHomeCanonical } from './state-paths.js';
6
+ function invalid(message) {
7
+ throw new Error(`commandOwnerMismatch: ${message}`);
8
+ }
9
+ async function readManifest(filePath) {
10
+ const root = path.parse(filePath).root;
11
+ let current = root;
12
+ const segments = path.relative(root, filePath).split(path.sep);
13
+ for (const [index, segment] of segments.entries()) {
14
+ current = path.join(current, segment);
15
+ const stat = await fs.lstat(current);
16
+ if (stat.isSymbolicLink() || (index === segments.length - 1 ? !stat.isFile() : !stat.isDirectory())) {
17
+ invalid('Claude native evidence must use ordinary files and directories.');
18
+ }
19
+ }
20
+ const value = await fs.readJson(filePath);
21
+ if (!value || typeof value !== 'object' || Array.isArray(value))
22
+ invalid('The Claude native manifest must be an object.');
23
+ return value;
24
+ }
25
+ /** AW projects one explicit Skill collection into its Claude plugin manifest. */
26
+ export async function resolveClaudeSkillsRelativeRoot(pluginRoot) {
27
+ const manifest = await readManifest(path.join(pluginRoot, '.claude-plugin', 'plugin.json'));
28
+ const raw = manifest.skills;
29
+ if (typeof raw !== 'string' || !raw.startsWith('./') || raw.includes('\\') || raw.includes('\0'))
30
+ invalid('The Claude native plugin must declare one relative Skill root.');
31
+ const relative = path.posix.normalize(raw.slice(2));
32
+ if (relative === '.' || relative === '..' || relative.startsWith('../') || path.posix.isAbsolute(relative) || path.win32.isAbsolute(relative)) {
33
+ invalid('The Claude native Skill root escapes its plugin.');
34
+ }
35
+ return relative;
36
+ }
37
+ /** Resolve only the relative-source payload emitted in AW's canonical namespaced mirror. */
38
+ export async function resolveClaudeNativeSkillRoot(options) {
39
+ const producer = normalizeProducerIdentity(options.producer);
40
+ if (producer.kind !== 'static-skill' || producer.platform !== 'claude' || producer.scope !== 'user' || producer.projectRoot !== null) {
41
+ invalid('Claude native static commands require a shared user producer.');
42
+ }
43
+ const awHome = await resolveAwHomeCanonical(options.env);
44
+ const marketplacesRoot = path.join(awHome, 'marketplaces');
45
+ const marketplaceRoot = path.join(marketplacesRoot, producer.sourceId);
46
+ // Read the controlled path before interpreting metadata. No host registry or Catalog lookup is needed.
47
+ await readManifest(path.join(marketplaceRoot, 'config.json'));
48
+ const marketplace = await readStrictNamespacedMarketplaceRoot({ trustedMarketplaceRoot: marketplacesRoot, rootDir: marketplaceRoot, sourceId: producer.sourceId, sourceIdentity: producer.sourceIdentity });
49
+ if (!marketplace?.claudeManifest || !Array.isArray(marketplace.claudeManifest.plugins))
50
+ invalid('The namespaced mirror has no Claude marketplace entries.');
51
+ const entries = marketplace.claudeManifest.plugins.filter((value) => Boolean(value) && typeof value === 'object' && !Array.isArray(value) && value.name === producer.pluginName);
52
+ if (entries.length !== 1 || entries[0].source !== `./plugins/${producer.pluginName}`) {
53
+ invalid('The Claude marketplace entry does not identify AW\'s relative plugin payload.');
54
+ }
55
+ const pluginRoot = path.join(marketplaceRoot, 'plugins', producer.pluginName);
56
+ const sourceManifest = await readManifest(path.join(pluginRoot, '.agents-plugin', 'plugin.json'));
57
+ const platformManifest = await readManifest(path.join(pluginRoot, '.claude-plugin', 'plugin.json'));
58
+ if (sourceManifest.name !== producer.pluginName || platformManifest.name !== producer.pluginName)
59
+ invalid('The Claude native manifests identify another plugin.');
60
+ const relativeRoot = await resolveClaudeSkillsRelativeRoot(pluginRoot);
61
+ const skillRoot = path.join(pluginRoot, ...relativeRoot.split('/'), producer.key);
62
+ await assertSkillDirectory(skillRoot);
63
+ return skillRoot;
64
+ }
65
+ async function assertSkillDirectory(directory) {
66
+ const canonical = await fs.realpath(directory);
67
+ if (path.normalize(canonical) !== path.normalize(directory))
68
+ invalid('The Claude native Skill path contains a symbolic link.');
69
+ const stat = await fs.lstat(directory);
70
+ if (!stat.isDirectory() || stat.isSymbolicLink())
71
+ invalid('The Claude native Skill root is not a regular directory.');
72
+ const skill = await fs.lstat(path.join(directory, 'SKILL.md'));
73
+ if (!skill.isFile() || skill.isSymbolicLink())
74
+ invalid('The Claude native Skill must contain a regular SKILL.md file.');
75
+ }
76
+ //# sourceMappingURL=claude-skills-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-skills-root.js","sourceRoot":"","sources":["../../../src/utils/claude-skills-root.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,8 @@ export interface CodexConfigSnapshot {
70
70
  developerInstructions: CodexDeveloperInstructionsSnapshot;
71
71
  }
72
72
  export interface CodexConfigTransaction {
73
+ upsertPluginActivations?: Record<string, boolean>;
74
+ removePluginActivations?: string[];
73
75
  upsertManagedInstructionBlock?: CodexManagedInstructionBlock;
74
76
  removeManagedInstructionPluginName?: string;
75
77
  upsertAgentRegistrations?: Record<string, CodexAgentRegistrationConfig>;
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'fs-extra';
3
3
  import { ParseError, parseTOML } from 'toml-eslint-parser';
4
- import { atomicReplaceConfigFile, withConfigFileLock, } from './plugin-config.js';
4
+ import { atomicReplaceConfigFile, withConfigFileMutation, } from './plugin-config.js';
5
5
  const AW_MANAGED_PREFIX = '[[aw-managed:';
6
6
  const MANAGED_INSTRUCTIONS_KIND = 'developer_instructions';
7
7
  const MANAGED_BLOCK_START_RE = /^\[\[aw-managed:start plugin="([^"\n]+)" kind="developer_instructions"\]\]$/;
@@ -371,6 +371,21 @@ function removeSection(content, sectionType, sectionName) {
371
371
  const [start, end] = expandNodeRemovalRange(document.content, table.range[0], table.range[1]);
372
372
  return applyPatches(document.content, [{ start, end, text: '' }]);
373
373
  }
374
+ function removeSectionEntry(content, sectionType, sectionName, keyName) {
375
+ const document = parseTomlDocument(content);
376
+ const table = findTopLevelTable(document, sectionType, sectionName);
377
+ if (!table)
378
+ return ensureTerminalNewline(content);
379
+ const entry = findTableEntry(table, keyName);
380
+ if (!entry)
381
+ return ensureTerminalNewline(content);
382
+ if (table.body.length === 1) {
383
+ const [start, end] = expandNodeRemovalRange(document.content, table.range[0], table.range[1]);
384
+ return applyPatches(document.content, [{ start, end, text: '' }]);
385
+ }
386
+ const [start, end] = expandNodeRemovalRange(document.content, entry.range[0], entry.range[1]);
387
+ return applyPatches(document.content, [{ start, end, text: '' }]);
388
+ }
374
389
  function resolveTopLevelKeyInsertIndex(document) {
375
390
  const topLevelKeyValues = document.topLevel.body.filter((entry) => entry.type === 'TOMLKeyValue');
376
391
  const lastTopLevelKeyValue = topLevelKeyValues.at(-1);
@@ -682,7 +697,7 @@ export function upsertCodexPluginEnabled(content, name, config) {
682
697
  return upsertSectionEntries(content, 'plugins', name, [['enabled', config.enabled]]);
683
698
  }
684
699
  export function removeCodexPluginEnabled(content, name) {
685
- return removeSection(content, 'plugins', name);
700
+ return removeSectionEntry(content, 'plugins', name, 'enabled');
686
701
  }
687
702
  export function upsertCodexAgentRegistration(content, roleKey, config) {
688
703
  const entries = [];
@@ -883,6 +898,9 @@ export async function readRenderedCodexMcpServersFile(mcpPath) {
883
898
  }
884
899
  export function applyCodexConfigTransaction(content, transaction) {
885
900
  let next = content;
901
+ for (const pluginId of [...new Set(transaction.removePluginActivations ?? [])]) {
902
+ next = removeCodexPluginEnabled(next, pluginId);
903
+ }
886
904
  for (const serverName of [...new Set(transaction.removeMcpServers ?? [])]) {
887
905
  next = removeCodexMcpServer(next, serverName);
888
906
  }
@@ -892,6 +910,9 @@ export function applyCodexConfigTransaction(content, transaction) {
892
910
  for (const [serverName, serverConfig] of Object.entries(transaction.upsertMcpServers ?? {})) {
893
911
  next = upsertCodexMcpServer(next, serverName, serverConfig);
894
912
  }
913
+ for (const [pluginId, enabled] of Object.entries(transaction.upsertPluginActivations ?? {})) {
914
+ next = upsertCodexPluginEnabled(next, pluginId, { enabled });
915
+ }
895
916
  for (const [roleKey, registration] of Object.entries(transaction.upsertAgentRegistrations ?? {})) {
896
917
  next = upsertCodexAgentRegistration(next, roleKey, registration);
897
918
  }
@@ -911,7 +932,7 @@ async function replaceCodexConfigFile(configPath, content) {
911
932
  });
912
933
  }
913
934
  async function updateCodexConfigFile(configPath, update) {
914
- return withConfigFileLock({
935
+ return withConfigFileMutation({
915
936
  filePath: configPath,
916
937
  allowedRoot: path.dirname(configPath),
917
938
  action: async () => {
@@ -925,7 +946,7 @@ async function updateCodexConfigFile(configPath, update) {
925
946
  });
926
947
  }
927
948
  export async function applyCodexConfigTransactionFile(configPath, transaction) {
928
- return withConfigFileLock({
949
+ return withConfigFileMutation({
929
950
  filePath: configPath,
930
951
  allowedRoot: path.dirname(configPath),
931
952
  action: async () => {
@@ -950,7 +971,7 @@ export async function applyCodexConfigTransactionFile(configPath, transaction) {
950
971
  });
951
972
  }
952
973
  export async function applyConditionalCodexConfigTransactionFile(configPath, resolveTransaction) {
953
- return withConfigFileLock({
974
+ return withConfigFileMutation({
954
975
  filePath: configPath,
955
976
  allowedRoot: path.dirname(configPath),
956
977
  action: async () => {