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

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 +263 -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,14 +1,166 @@
1
- import type { CatalogSource, PlatformName, Scope } from '../types.js';
2
- import type { PortableReview } from '../portable/commands.js';
1
+ import type { ConfigReferenceContext, ConfigReferenceDraft } from './config-references.js';
2
+ import type { CatalogActivationMode, CatalogSource, CatalogGenerationActiveV1, CatalogGenerationCandidateEvidence, CatalogGenerationSyncResult, CatalogSourceImpact, CommandProducerResult, DependencyScopeOverride, PlatformName, Scope } from '../types.js';
3
+ import type { PortableReview, PortableInstallReceipt, PortableRetryReview } from '../portable/commands.js';
3
4
  import type { CatalogSourceUpdate } from '../utils/catalog-sources.js';
4
- import type { StatusV4Payload, StatusV4PluginSummary, StatusTargetRevision } from '../commands/status-v4.js';
5
- import type { ProjectConfigStoreLayer } from '../utils/plugin-config.js';
6
- import type { DependencyOperationPlan } from '../commands/dependency-operation-plan.js';
5
+ import type { CatalogGenerationFreshnessState, CatalogGenerationFreshnessResult } from '../utils/catalog-generation-service.js';
6
+ import type { StatusV8Payload, StatusV8PluginSummary, StatusScopedTarget, StatusTargetRevision } from '../commands/status-v6.js';
7
+ import type { ReconcileOperationPlan } from '../commands/reconcile-operation-plan.js';
8
+ import type { PreApplyAuthorizationTarget, RebuildCommandResult } from '../commands/rebuild-command.js';
9
+ import type { OfflineCleanupTargetEvidence } from '../commands/offline-cleanup-evidence.js';
10
+ import type { CodexReconcilePlan } from '../utils/codex-reconciler.js';
11
+ import type { PluginConfigMutationImpact } from '../utils/plugin-config-impact.js';
12
+ import type { OperationPlan } from '../commands/operation-plan.js';
7
13
  import type { RebuildProgressFeed, RebuildProgressSnapshot } from '../output/rebuild-progress.js';
8
- import { type ConfigPageViewModel, type ConfigGroupViewModel, type PluginListItemViewModel, type PluginDependencyOverviewViewModel, type PortableSkillSelectionViewModel, type SourceHealthViewModel, type SourceDetailViewModel, type TuiViewModel, type UserIssueCategory, type UserIssueViewModel } from './model.js';
9
- import { type PluginInstallFilter, type PortableBlockerCode, type TuiPageContext, type TuiRoute, type TuiRouterSnapshot } from './router.js';
10
- export type PluginWriteOperation = 'install' | 'upgrade' | 'reinstall' | 'uninstall' | 'cleanup';
14
+ import { type ConfigPageViewModel, type ConfigGroupViewModel, type InstallPlacementDraftViewModel, type PluginListItemViewModel, type PluginDependencyOverviewViewModel, type PortableSkillSelectionViewModel, type SourceHealthViewModel, type SourceDetailViewModel, type TuiViewModel, type UserIssueCategory, type UserIssueViewModel } from './model.js';
15
+ import type { PluginContentOverview } from './plugin-content.js';
16
+ import { type PluginDetailSubject } from './plugin-detail.js';
17
+ import { OperationHistoryStore, type OperationDiagnosticDetail, type OperationEffectFacts, type OperationHistorySummary, type OperationReportPreview, type SafeOperationDiagnostic, type SaveOperationReportResult } from './operation-history.js';
18
+ import { type ProjectInventoryRoot, type ProjectInventoryViewModel } from './project-inventory.js';
19
+ import { type ConfigInvalidStoreEvidence, type PluginInstallFilter, type PortableBlockerCode, type TuiPageContext, type TuiRoute, type TuiRouterSnapshot } from './router.js';
20
+ import { type CatalogSourceGenerationViewModel } from './catalog-generation.js';
21
+ import type { CatalogSourceFreshnessViewModel } from './catalog-freshness.js';
22
+ import type { CatalogSessionReusableCandidate } from './catalog-sources/types.js';
23
+ import type { CatalogStoreStatusResult } from '../commands/catalog-store.js';
24
+ import type { CatalogStoreTaskEvidence } from './catalog-store-task.js';
25
+ import { type PluginWriteTaskBlockedTarget, type PluginWriteTaskCandidate, type PluginWriteTaskCause, type PluginWriteTaskGoal, type PluginWriteTaskIntent, type PluginWriteTaskTarget } from './plugin-write-task.js';
26
+ export type { PluginWriteTaskBlockReason, PluginWriteTaskCandidate, PluginWriteTaskExpectedUpdate, PluginWriteTaskGoal, PluginWriteTaskIntent, PluginWriteTaskMethod, PluginWriteTaskTarget, } from './plugin-write-task.js';
27
+ type CatalogActivationBlockReason = 'configDraft' | 'sourceDraft' | 'batchDraft' | 'portableDraft' | 'activeReview' | 'reviewPreparation' | 'writeProgress';
28
+ export interface ExternalDraftState {
29
+ kind: 'configDraft' | 'sourceDraft' | 'batchDraft';
30
+ owner: string;
31
+ flowId?: string;
32
+ revision: number;
33
+ }
34
+ export type PluginWriteOperation = 'install' | 'refreshAndSync' | 'reinstall' | 'uninstall' | 'cleanup' | 'sync';
35
+ export declare const PLUGIN_WRITE_BATCH_ACTIONS: readonly ["install", "sync", "reinstall", "uninstall", "cleanup"];
36
+ export type BatchPluginWriteAction = typeof PLUGIN_WRITE_BATCH_ACTIONS[number];
37
+ export type PluginWriteBatchSelection = {
38
+ kind: 'selected';
39
+ pluginIds: string[];
40
+ } | {
41
+ kind: 'targets';
42
+ targets: PluginWriteBatchTarget[];
43
+ } | {
44
+ kind: 'currentProjectIntentTargets';
45
+ targets: PluginWriteBatchTarget[];
46
+ } | {
47
+ kind: 'currentProjectIntentRoots';
48
+ };
49
+ export interface PluginWriteBatchTarget {
50
+ pluginId: string;
51
+ platform: PlatformName;
52
+ scope: Scope;
53
+ }
54
+ export interface PluginInstallBatchTarget extends PluginWriteBatchTarget {
55
+ state: 'add' | 'existing' | 'blocked';
56
+ reason?: string;
57
+ }
58
+ export declare function pluginWriteBatchTargets(action: Exclude<BatchPluginWriteAction, 'install'>, pluginIds: readonly string[], statusTargets: readonly StatusScopedTarget[]): PluginWriteBatchTarget[];
59
+ export interface PluginWriteBatchIntent {
60
+ kind: 'pluginWriteBatch';
61
+ dependencyScopeOverrides?: DependencyScopeOverride[];
62
+ action: BatchPluginWriteAction;
63
+ selection: PluginWriteBatchSelection;
64
+ platform: PlatformName | 'both';
65
+ scope: Scope;
66
+ scriptTimeoutMs?: number;
67
+ }
68
+ export interface PluginWriteBatchGroupEvidence {
69
+ groupId: string;
70
+ sourceId: string;
71
+ platform: PlatformName | 'both';
72
+ scope: Scope;
73
+ requestedPluginIds: string[];
74
+ preview: RebuildCommandResult;
75
+ executable: boolean;
76
+ }
77
+ export interface PluginWriteBatchEvidence extends OperationEvidence {
78
+ requestedPluginIds: string[];
79
+ groups: PluginWriteBatchGroupEvidence[];
80
+ projectIntentDigest?: string;
81
+ targetVersions?: Array<PluginWriteBatchTarget & {
82
+ presence: 'new' | 'installed' | 'unknown';
83
+ installedVersion?: string;
84
+ availableVersion?: string;
85
+ }>;
86
+ }
87
+ export interface PluginWriteBatchGroupResult {
88
+ groupId: string;
89
+ sourceId: string;
90
+ platform: PlatformName | 'both';
91
+ scope: Scope;
92
+ requestedPluginIds: string[];
93
+ result: RebuildCommandResult;
94
+ }
95
+ export interface PluginWriteBatchExecutionResult extends RebuildCommandResult {
96
+ requestedPluginIds: string[];
97
+ groupResults: PluginWriteBatchGroupResult[];
98
+ }
99
+ export interface PluginWriteTaskSourceEvidence {
100
+ sourceId: string;
101
+ sourceIdentity: string;
102
+ requestedTargets: PluginWriteTaskTarget[];
103
+ causes: PluginWriteTaskCause[];
104
+ preview: RebuildCommandResult;
105
+ executable: boolean;
106
+ }
107
+ export interface PluginWriteTaskEvidence extends OperationEvidence {
108
+ taskPlan: {
109
+ goal: PluginWriteTaskGoal;
110
+ requestedTargets: PluginWriteTaskTarget[];
111
+ executableTargets: PluginWriteTaskTarget[];
112
+ causes: PluginWriteTaskCause[];
113
+ blockedTargets: PluginWriteTaskBlockedTarget[];
114
+ sources: PluginWriteTaskSourceEvidence[];
115
+ targetFingerprint: string;
116
+ planFingerprint: string;
117
+ };
118
+ }
119
+ export interface PluginWriteTaskSourceResult {
120
+ sourceId: string;
121
+ sourceIdentity: string;
122
+ requestedTargets: PluginWriteTaskTarget[];
123
+ result: RebuildCommandResult;
124
+ }
125
+ export interface PluginWriteTaskExecutionResult extends RebuildCommandResult {
126
+ taskPlan: PluginWriteTaskEvidence['taskPlan'];
127
+ sourceResults: PluginWriteTaskSourceResult[];
128
+ }
11
129
  export type OperationKind = OperationIntent['kind'];
130
+ export interface ConfigOperationChange {
131
+ key: string;
132
+ title: string;
133
+ before: string;
134
+ after: string;
135
+ children?: Array<{
136
+ property: string;
137
+ before: string;
138
+ after: string;
139
+ private?: boolean;
140
+ }>;
141
+ }
142
+ export interface ConfigSaveBatchGroup {
143
+ editEvidence?: Record<string, import('./model.js').ConfigEditEvidence>;
144
+ scope: Scope;
145
+ updates?: Record<string, unknown>;
146
+ removeKeys?: string[];
147
+ sensitiveKeys?: string[];
148
+ privateKeys?: string[];
149
+ changes?: ConfigOperationChange[];
150
+ }
151
+ export interface ConfigSaveBatchGroupResult {
152
+ scope: Scope;
153
+ status: 'succeeded' | 'failed';
154
+ configSaved: boolean;
155
+ applyRequested: boolean;
156
+ applyStatus: 'notRequested' | 'notNeeded' | 'succeeded' | 'failed';
157
+ errorCode?: string;
158
+ execution?: unknown;
159
+ }
160
+ export interface ConfigSaveBatchExecutionResult {
161
+ status: 'succeeded' | 'partial' | 'failed';
162
+ groups: ConfigSaveBatchGroupResult[];
163
+ }
12
164
  export interface IssueOrigin {
13
165
  issueId: string;
14
166
  issueKey: string;
@@ -29,34 +181,51 @@ export type OperationIntent = {
29
181
  pluginId: string;
30
182
  platform: PlatformName | 'both';
31
183
  scope: Scope;
184
+ dependencyScopeOverrides?: DependencyScopeOverride[];
185
+ expectedUpdate?: {
186
+ installedVersion: string;
187
+ activeVersion: string;
188
+ sourceIdentity: string;
189
+ generationKey: string;
190
+ };
191
+ recoveryDescription?: string;
32
192
  force?: boolean;
193
+ scriptTimeoutMs?: number;
33
194
  originIssue?: IssueOrigin;
34
- } | {
195
+ } | PluginWriteBatchIntent | PluginWriteTaskIntent | {
35
196
  kind: 'portableInstall';
36
197
  pluginId: string;
37
198
  scope: Scope;
38
199
  selectedSkills: string[];
39
200
  requestedAgents?: string[];
201
+ retry?: {
202
+ receipt: PortableInstallReceipt;
203
+ review?: PortableRetryReview;
204
+ };
40
205
  } | {
41
206
  kind: 'configSave';
42
207
  pluginId: string;
43
208
  scope: Scope;
44
- projectLayer: ProjectConfigStoreLayer;
209
+ apply: boolean;
210
+ scriptTimeoutMs?: number;
211
+ retryApply?: true;
45
212
  updates?: Record<string, unknown>;
46
213
  removeKeys?: string[];
47
214
  sensitiveKeys?: string[];
48
215
  privateKeys?: string[];
49
- changes?: Array<{
50
- key: string;
51
- title: string;
52
- before: string;
53
- after: string;
54
- }>;
216
+ changes?: ConfigOperationChange[];
217
+ } | {
218
+ kind: 'configSaveBatch';
219
+ pluginId: string;
220
+ apply: boolean;
221
+ scriptTimeoutMs?: number;
222
+ groups: ConfigSaveBatchGroup[];
55
223
  } | {
56
224
  kind: 'configReset';
57
225
  pluginId: string;
58
226
  scope: Scope;
59
- projectLayer: ProjectConfigStoreLayer;
227
+ expectedStoreState?: 'invalid';
228
+ changes?: ConfigOperationChange[];
60
229
  } | {
61
230
  kind: 'sourceMutation';
62
231
  action: 'add' | 'update' | 'setPrimary' | 'remove';
@@ -69,43 +238,134 @@ export type OperationIntent = {
69
238
  after?: string;
70
239
  private?: boolean;
71
240
  }>;
241
+ } | {
242
+ kind: 'catalogGeneration';
243
+ action: 'activate' | 'update' | 'repair' | 'replaceDamaged' | 'recoverState';
244
+ sourceId: string;
245
+ sourceMutation?: {
246
+ action: 'add';
247
+ source: CatalogSource;
248
+ } | {
249
+ action: 'update';
250
+ update: CatalogSourceUpdate;
251
+ };
252
+ setPrimaryAfterActivation?: boolean;
253
+ } | {
254
+ kind: 'catalogSourcesRecovery';
255
+ } | {
256
+ kind: 'catalogStorePrune';
72
257
  };
258
+ export interface ConfigOperationEvidence {
259
+ scope: Scope;
260
+ schemaIdentity?: string;
261
+ storeDigest: string;
262
+ impactState?: 'known' | 'unknown';
263
+ noEffectiveChange?: true;
264
+ affectedTargets: Array<{
265
+ platform: PlatformName;
266
+ scope: Scope;
267
+ }>;
268
+ commandPackages?: PluginConfigMutationImpact['affectedCommandPackages'];
269
+ preApplyAuthorization?: PreApplyAuthorizationTarget[];
270
+ sharedNativeRenderTargets?: Array<{
271
+ id: string;
272
+ skillKey: string;
273
+ refreshKeys: string[];
274
+ platform?: PlatformName;
275
+ }>;
276
+ shareability?: 'verified' | 'unverified';
277
+ }
73
278
  export interface OperationEvidence {
74
279
  catalog: {
75
280
  configDigest: string;
76
281
  compositeDigest: string;
282
+ generationSetDigest?: string;
77
283
  };
78
284
  source?: {
79
285
  sourceId: string;
80
286
  sourceIdentity: string;
287
+ logicalIdentity?: string;
81
288
  requestedRef?: string;
82
289
  resolvedCommit?: string;
83
290
  manifestDigest?: string;
84
291
  snapshotDigest?: string;
85
292
  contentDigest?: string;
293
+ pluginVersion?: string;
294
+ catalogVersion?: string;
295
+ channel?: 'latest' | 'beta';
86
296
  };
87
297
  targetFingerprint?: string;
88
- dependencyPlan?: DependencyOperationPlan;
89
- config?: {
298
+ offlineCleanup?: OfflineCleanupTargetEvidence;
299
+ offlineCleanupPlans?: OfflineCleanupTargetEvidence[];
300
+ removedPluginCleanupIds?: string[];
301
+ dependencyPlan?: ReconcileOperationPlan;
302
+ codexReconcilePlans?: CodexReconcilePlan[];
303
+ operationPlan?: OperationPlan;
304
+ preparationWarnings?: string[];
305
+ codexManager?: {
306
+ state: 'system' | 'cached' | 'requires-install';
307
+ packageName: '@openai/codex';
308
+ version: string;
309
+ };
310
+ config?: ConfigOperationEvidence;
311
+ configBatch?: {
312
+ groups: Array<{
313
+ scope: Scope;
314
+ config: ConfigOperationEvidence;
315
+ targetFingerprint: string;
316
+ }>;
317
+ };
318
+ resetTarget?: {
319
+ sourceId: string;
320
+ pluginName: string;
90
321
  scope: Scope;
91
- projectLayer: ProjectConfigStoreLayer;
92
- schemaIdentity?: string;
93
- storeDigest: string;
322
+ kind: 'absent' | 'regularFile' | 'symbolicLink' | 'directory';
323
+ fingerprint: string;
94
324
  };
95
325
  sourceWrite?: {
96
326
  configDigest: string;
97
- candidateDigest: string;
327
+ proposedConfigDigest: string;
98
328
  sourceIdentity?: string;
99
329
  inventoryDigest: string;
330
+ impactDigest?: string;
100
331
  referenceCount: number;
101
332
  inventoryComplete: boolean;
333
+ impact?: CatalogSourceImpact;
334
+ };
335
+ catalogGeneration?: {
336
+ action: Extract<OperationIntent, {
337
+ kind: 'catalogGeneration';
338
+ }>['action'];
339
+ previousActive?: CatalogGenerationActiveV1;
340
+ previousActiveVersion?: string;
341
+ candidate: CatalogGenerationCandidateEvidence;
342
+ candidateRelation?: CatalogGenerationFreshnessState;
343
+ explicitSourceChange?: boolean;
344
+ exactRepair?: boolean;
345
+ activationMode?: CatalogActivationMode;
346
+ impact?: CatalogSourceImpact;
347
+ impactDigest?: string;
348
+ impactMode?: 'generation' | 'identityChange';
349
+ primaryImpact?: CatalogSourceImpact;
350
+ primaryImpactDigest?: string;
351
+ primaryConfigDigest?: string;
352
+ configDigest: string;
353
+ proposedConfigDigest?: string;
354
+ proposedSource?: CatalogSource;
355
+ sourceMutation?: Extract<OperationIntent, {
356
+ kind: 'catalogGeneration';
357
+ }>['sourceMutation'];
358
+ setPrimaryAfterActivation?: boolean;
102
359
  };
103
360
  portable?: PortableReview;
361
+ catalogStore?: CatalogStoreTaskEvidence;
104
362
  }
105
363
  export interface OperationReviewChange {
106
364
  kind: 'add' | 'change' | 'remove' | 'keep' | 'warning';
107
- group?: 'requested' | 'dependencies' | 'portableTarget' | 'portableInputs' | 'portableWarnings' | 'preserved';
365
+ group?: 'requested' | 'dependencies' | 'projectIntent' | 'userIntent' | 'sharedCodexNative' | 'userActivation' | 'projectActivation' | 'awExtensions' | 'runtime' | 'portableTarget' | 'portableInputs' | 'portableWarnings' | 'configChanges' | 'configImpact' | 'preserved';
108
366
  pluginId?: string;
367
+ batchGroupId?: string;
368
+ sourceId?: string;
109
369
  relation?: 'requested' | 'direct' | 'transitive';
110
370
  title: string;
111
371
  description?: string;
@@ -119,6 +379,7 @@ export interface OperationReviewModel {
119
379
  kind: 'sourceMutation';
120
380
  }>['action'];
121
381
  pluginAction?: PluginWriteOperation;
382
+ taskGoal?: PluginWriteTaskGoal;
122
383
  originIssue?: IssueOrigin;
123
384
  title: string;
124
385
  description: string;
@@ -129,12 +390,47 @@ export interface OperationReviewModel {
129
390
  version?: string;
130
391
  };
131
392
  changes: OperationReviewChange[];
393
+ configImpact?: {
394
+ state: 'known' | 'unknown';
395
+ affectedTargetCount: number;
396
+ };
397
+ confirmationDetails?: string[];
132
398
  technicalDetails?: string[];
133
399
  equivalentCommand?: string;
134
400
  primaryLabel: string;
135
401
  destructive?: boolean;
402
+ requiresConfirmation: boolean;
403
+ sharedImpact: {
404
+ pluginIds: string[];
405
+ warning?: string;
406
+ };
407
+ catalogBinding?: {
408
+ sourceId: string;
409
+ catalogVersion: string;
410
+ generationDigestShort: string;
411
+ };
412
+ batch?: {
413
+ requestedPluginIds: string[];
414
+ groupCount: number;
415
+ executableGroupCount: number;
416
+ };
417
+ task?: {
418
+ goal: PluginWriteTaskGoal;
419
+ requestedTargetCount: number;
420
+ executableTargetCount: number;
421
+ blockedTargetCount: number;
422
+ causeCount: number;
423
+ };
424
+ rootSummary?: Array<{
425
+ pluginId: string;
426
+ version?: string;
427
+ targets: Array<{
428
+ platform: PlatformName | 'both';
429
+ scope: Scope;
430
+ }>;
431
+ }>;
136
432
  }
137
- export type ReviewPreparationStageId = 'validate' | 'status' | 'catalog' | 'inventory' | 'dependencyPlan' | 'config' | 'portable' | 'evidence';
433
+ export type ReviewPreparationStageId = 'refresh' | 'validate' | 'status' | 'catalog' | 'inventory' | 'dependencyPlan' | 'config' | 'portable' | 'evidence';
138
434
  export interface ReviewPreparationStage {
139
435
  id: ReviewPreparationStageId;
140
436
  label: string;
@@ -142,12 +438,14 @@ export interface ReviewPreparationStage {
142
438
  }
143
439
  export interface ReviewPreparationSnapshot {
144
440
  id: string;
145
- intent: OperationIntent;
441
+ operationKind: OperationIntent['kind'];
442
+ subject: string;
146
443
  state: 'running' | 'failed';
147
444
  stages: ReviewPreparationStage[];
148
- currentLabel: string;
445
+ currentStage?: ReviewPreparationStageId;
149
446
  code?: 'reviewPreparationFailed';
150
447
  message?: string;
448
+ operationRecordId?: string;
151
449
  }
152
450
  export type OperationExecuteResult = {
153
451
  state: 'succeeded';
@@ -159,7 +457,11 @@ export type OperationExecuteResult = {
159
457
  }>['action'];
160
458
  pluginId?: string;
161
459
  originIssue?: IssueOrigin;
460
+ portableIntent?: PortableResultIntentMetadata;
162
461
  returnRoute?: TuiRoute;
462
+ operationRecordId?: string;
463
+ diagnosticIds?: string[];
464
+ effects?: OperationEffectFacts;
163
465
  } | {
164
466
  state: 'partial';
165
467
  operationId: string;
@@ -170,7 +472,11 @@ export type OperationExecuteResult = {
170
472
  }>['action'];
171
473
  pluginId?: string;
172
474
  originIssue?: IssueOrigin;
475
+ portableIntent?: PortableResultIntentMetadata;
173
476
  returnRoute?: TuiRoute;
477
+ operationRecordId?: string;
478
+ diagnosticIds?: string[];
479
+ effects?: OperationEffectFacts;
174
480
  } | {
175
481
  state: 'stale';
176
482
  operationId: string;
@@ -180,6 +486,10 @@ export type OperationExecuteResult = {
180
486
  }>['action'];
181
487
  review: OperationReviewModel;
182
488
  originIssue?: IssueOrigin;
489
+ portableIntent?: PortableResultIntentMetadata;
490
+ operationRecordId?: string;
491
+ diagnosticIds?: string[];
492
+ effects?: OperationEffectFacts;
183
493
  } | {
184
494
  state: 'blocked';
185
495
  operationId: string;
@@ -192,28 +502,90 @@ export type OperationExecuteResult = {
192
502
  pluginId?: string;
193
503
  returnRoute?: TuiRoute;
194
504
  originIssue?: IssueOrigin;
505
+ portableIntent?: PortableResultIntentMetadata;
195
506
  writeMayHaveCompleted?: boolean;
196
507
  verification?: 'issueStillPresent' | 'verificationFailed';
197
508
  summary?: OperationResultSummary;
509
+ operationRecordId?: string;
510
+ diagnosticIds?: string[];
511
+ effects?: OperationEffectFacts;
198
512
  };
513
+ export interface PortableResultIntentMetadata {
514
+ scope: Scope;
515
+ agentMode: 'automatic' | 'explicit';
516
+ }
199
517
  export interface OperationResultSummary {
200
518
  code: 'operationSucceeded' | 'operationPartial' | 'operationFailed';
201
519
  message: string;
202
520
  pluginId?: string;
203
521
  action?: PluginWriteOperation;
522
+ catalogAction?: Extract<OperationIntent, {
523
+ kind: 'catalogGeneration';
524
+ }>['action'];
525
+ catalogGeneration?: Pick<CatalogGenerationSyncResult, 'activeChanged' | 'outcome'> & {
526
+ catalogVersion: string;
527
+ };
204
528
  elapsedMs?: number;
205
529
  messages?: string[];
530
+ configApplied?: boolean;
531
+ configApplySkippedReason?: 'invalidConfig';
532
+ configScope?: Scope;
533
+ configApplyRetryAvailable?: boolean;
534
+ configRetryApply?: boolean;
535
+ configGroups?: Array<{
536
+ scope: Scope;
537
+ configSaved: boolean;
538
+ applyRequested: boolean;
539
+ applyStatus: ConfigSaveBatchGroupResult['applyStatus'];
540
+ errorCode?: string;
541
+ }>;
542
+ resetDisposition?: 'absent' | 'deletedFile' | 'unlinkedSymlink' | 'quarantinedDirectory';
543
+ quarantineBasename?: string;
544
+ changes?: string[];
545
+ warnings?: string[];
546
+ recoveryActions?: string[];
547
+ commandResults?: CommandProducerResult[];
548
+ planFingerprint?: string;
549
+ diagnosticIds?: string[];
550
+ effects?: OperationEffectFacts;
551
+ batch?: {
552
+ requestedPluginIds: string[];
553
+ failedRequestedPluginIds: string[];
554
+ rootResults: PluginWriteBatchRootResult[];
555
+ retryTargets?: PluginWriteBatchTarget[];
556
+ groupCount: number;
557
+ };
558
+ task?: {
559
+ goal: PluginWriteTaskGoal;
560
+ requestedTargets: PluginWriteTaskTarget[];
561
+ rootResults: PluginWriteTaskRootResult[];
562
+ retryTargets?: PluginWriteTaskTarget[];
563
+ blockedTargets: PluginWriteTaskBlockedTarget[];
564
+ };
206
565
  portable?: {
207
566
  selectedSkills: string[];
208
567
  agentMode: 'automatic' | 'explicit';
209
568
  requestedAgents: string[];
569
+ attemptedTargets?: Array<{
570
+ skill: string;
571
+ agent?: string;
572
+ }>;
210
573
  scope: Scope;
211
574
  materializationDigest: string;
212
575
  skillsCliVersion: string;
576
+ verified: Array<{
577
+ name: string;
578
+ scope?: string;
579
+ agents: string[];
580
+ }>;
213
581
  missing: Array<{
214
582
  skill: string;
215
583
  agent?: string;
216
584
  }>;
585
+ unknown: Array<{
586
+ skill: string;
587
+ agent?: string;
588
+ }>;
217
589
  verificationUnknown: boolean;
218
590
  recovery?: string;
219
591
  failureCode?: string;
@@ -225,7 +597,34 @@ export interface OperationResultSummary {
225
597
  state: 'completed' | 'kept' | 'failed' | 'skipped';
226
598
  relation?: 'requested' | 'direct' | 'transitive';
227
599
  requiredBy?: string[];
228
- errorCode?: 'dependencyStillRequired';
600
+ errorCode?: string;
601
+ diagnosticIds?: string[];
602
+ effects?: OperationEffectFacts;
603
+ }>;
604
+ }
605
+ export interface PluginWriteTaskRootResult {
606
+ pluginId: string;
607
+ state: 'completed' | 'kept' | 'partial' | 'failed' | 'notStarted' | 'blocked';
608
+ causeKeys: string[];
609
+ targets: Array<{
610
+ pluginId?: string;
611
+ platform: PlatformName;
612
+ scope: Scope;
613
+ state: 'completed' | 'kept' | 'failed' | 'skipped';
614
+ relation?: 'requested' | 'direct' | 'transitive';
615
+ errorCode?: string;
616
+ }>;
617
+ }
618
+ export interface PluginWriteBatchRootResult {
619
+ pluginId: string;
620
+ state: 'completed' | 'kept' | 'partial' | 'failed' | 'notStarted';
621
+ targets: Array<{
622
+ pluginId: string;
623
+ platform: PlatformName;
624
+ scope: Scope;
625
+ state: 'completed' | 'kept' | 'failed' | 'skipped';
626
+ relation: 'requested';
627
+ errorCode?: string;
229
628
  }>;
230
629
  }
231
630
  export interface PluginOperationProgressLine {
@@ -237,13 +636,54 @@ export interface PluginOperationProgressLine {
237
636
  state: 'pending' | 'running' | 'completed' | 'kept' | 'failed' | 'skipped';
238
637
  }
239
638
  export interface TuiStatusLoadResult {
240
- payload: StatusV4Payload;
241
- pluginSummaries: StatusV4PluginSummary[];
639
+ projectRoot?: string;
640
+ projectIntent?: {
641
+ state: 'ready';
642
+ roots: Array<{
643
+ pluginId: string;
644
+ platforms: PlatformName[];
645
+ }>;
646
+ } | {
647
+ state: 'absent';
648
+ } | {
649
+ state: 'invalid' | 'unavailable';
650
+ code: string;
651
+ message: string;
652
+ };
653
+ /** Compatibility input for older injected status fixtures. Production uses projectIntent. */
654
+ projectIntentRoots?: Array<{
655
+ pluginId: string;
656
+ platforms: PlatformName[];
657
+ }>;
658
+ cliChannel?: 'latest' | 'beta';
659
+ payload: StatusV8Payload;
660
+ pluginSummaries: StatusV8PluginSummary[];
242
661
  targetRevisions?: StatusTargetRevision[];
243
662
  sourceDetails?: SourceDetailViewModel[];
663
+ configuredSources?: CatalogSource[];
244
664
  dependencyOverviews?: PluginDependencyOverviewViewModel[];
665
+ contentOverviews?: Record<string, PluginContentOverview>;
245
666
  portablePluginIds?: string[];
667
+ configStoreInventory?: Array<{
668
+ pluginId: string;
669
+ sourceId: string;
670
+ pluginName: string;
671
+ scope: Scope;
672
+ }>;
673
+ catalogGenerations?: CatalogSourceGenerationViewModel[];
674
+ sessionGenerationKeys?: Record<string, string>;
675
+ }
676
+ export interface ProjectIntentReminderTarget extends PluginWriteBatchTarget {
677
+ reasonCodes: string[];
678
+ }
679
+ export interface ProjectIntentReminder {
680
+ projectRoot: string;
681
+ signature: string;
682
+ actionableTargets: ProjectIntentReminderTarget[];
683
+ blockedTargets: ProjectIntentReminderTarget[];
684
+ unconfirmedTargets: ProjectIntentReminderTarget[];
246
685
  }
686
+ export declare function projectCurrentIntentReminder(status: TuiStatusLoadResult): ProjectIntentReminder | undefined;
247
687
  export interface InstallTargetOption {
248
688
  platform: PlatformName;
249
689
  compatible: boolean;
@@ -265,27 +705,33 @@ export interface SourceReferenceSummaryViewModel {
265
705
  }>;
266
706
  }
267
707
  export interface TuiControllerDependencies {
708
+ beginCatalogSession?: (options?: {
709
+ reuseValidatedGenerations?: boolean;
710
+ }) => void;
268
711
  loadStatus: (signal: AbortSignal) => Promise<TuiStatusLoadResult>;
269
- checkSource: (sourceId: string, signal: AbortSignal) => Promise<{
270
- sourceIdentity: string;
271
- requestedRef: string;
272
- }>;
712
+ loadPluginContent?: (pluginId: string, signal: AbortSignal) => Promise<PluginContentOverview>;
713
+ probeCatalogFreshness?: (sourceId: string, options: {
714
+ fullValidation: boolean;
715
+ }, signal: AbortSignal) => Promise<CatalogGenerationFreshnessResult>;
273
716
  inspectSourceRemoval?: (sourceId: string, signal: AbortSignal) => Promise<SourceReferenceSummaryViewModel>;
717
+ inspectCatalogStore?: (signal: AbortSignal) => Promise<CatalogStoreStatusResult>;
274
718
  captureEvidence: (intent: OperationIntent, signal?: AbortSignal) => Promise<OperationEvidence>;
719
+ recheckPortableInstall?: (receipt: PortableInstallReceipt, signal: AbortSignal) => Promise<PortableInstallReceipt>;
275
720
  validateIntent?: (intent: OperationIntent, signal: AbortSignal) => Promise<void>;
276
- prepareReviewEvidence?: (intent: OperationIntent, signal: AbortSignal, onStage: (stage: ReviewPreparationStageId) => void | Promise<void>) => Promise<OperationEvidence>;
277
- executeIntent: (intent: OperationIntent, expectedEvidence: OperationEvidence) => Promise<unknown>;
721
+ prepareReviewEvidence?: (intent: OperationIntent, signal: AbortSignal, onStage: (stage: ReviewPreparationStageId) => void | Promise<void>, reusableCandidate?: CatalogSessionReusableCandidate) => Promise<OperationEvidence>;
722
+ previewDependencyPlacement?: (intent: Extract<OperationIntent, {
723
+ kind: 'pluginWrite';
724
+ }>, signal: AbortSignal) => Promise<ReconcileOperationPlan | undefined>;
725
+ executeIntent: (intent: OperationIntent, expectedEvidence: OperationEvidence, signal?: AbortSignal) => Promise<unknown>;
278
726
  getConfigGroups?: (pluginId: string, layer: {
279
727
  scope: Scope;
280
- projectLayer: ProjectConfigStoreLayer;
281
728
  }, signal: AbortSignal) => Promise<ConfigGroupViewModel[]>;
282
729
  getConfigPage?: (pluginId: string, layer: {
283
730
  scope: Scope | 'effective';
284
- projectLayer: ProjectConfigStoreLayer;
285
731
  }, signal: AbortSignal) => Promise<ConfigPageViewModel>;
732
+ getConfigReferenceContext?: (pluginId: string, scope: Scope, draft: ConfigReferenceDraft, signal: AbortSignal) => Promise<ConfigReferenceContext>;
286
733
  getConfigResetAvailability?: (pluginId: string, layer: {
287
734
  scope: Scope;
288
- projectLayer: ProjectConfigStoreLayer;
289
735
  }, signal: AbortSignal) => Promise<ConfigResetAvailability>;
290
736
  logError?: (error: unknown, code: string, context?: {
291
737
  privateConfigOperation: boolean;
@@ -297,20 +743,38 @@ export interface TuiControllerDependencies {
297
743
  }
298
744
  export interface ConfigResetAvailability {
299
745
  exists: boolean;
746
+ state: 'missing' | 'ready' | 'invalid';
747
+ targetKind?: 'absent' | 'regularFile' | 'symbolicLink' | 'directory' | 'special';
748
+ resettable?: boolean;
749
+ invalidCode?: ConfigInvalidStoreEvidence['code'];
300
750
  sourceIdentityPresent: boolean;
301
751
  sourceIdentity?: string;
302
752
  storeDigest?: string;
303
753
  }
754
+ export interface ForceCleanupCandidate {
755
+ pluginId: string;
756
+ platform: PlatformName;
757
+ scope: Scope;
758
+ actionCount: number;
759
+ }
304
760
  export interface TuiControllerSnapshot {
305
761
  phase: 'idle' | 'loading' | 'ready' | 'error' | 'disposed';
762
+ statusReadAtMs?: number;
763
+ cliChannel?: 'latest' | 'beta';
306
764
  router: TuiRouterSnapshot;
307
765
  viewModel?: TuiViewModel;
308
766
  sourceHealth: SourceHealthViewModel[];
767
+ catalogGenerations: CatalogSourceGenerationViewModel[];
768
+ catalogFreshness: CatalogSourceFreshnessViewModel[];
769
+ reloadRequiredSourceIds: string[];
309
770
  progress: RebuildProgressSnapshot;
310
771
  progressTargets: PluginOperationProgressLine[];
311
772
  activeReview?: OperationReviewModel;
312
773
  reviewPreparation?: ReviewPreparationSnapshot;
313
774
  result?: OperationExecuteResult;
775
+ canResumeInstallDraft?: boolean;
776
+ operationHistorySummaries: OperationHistorySummary[];
777
+ portableResultSkills?: string[];
314
778
  loadError?: {
315
779
  code: string;
316
780
  message: string;
@@ -320,12 +784,42 @@ export interface TuiControllerSnapshot {
320
784
  requestedAgents: string[];
321
785
  scope: Scope;
322
786
  };
787
+ installPlacementDraft?: InstallPlacementDraftViewModel;
788
+ completionNotice?: {
789
+ pluginId: string;
790
+ title: string;
791
+ description: string;
792
+ operationRecordId?: string;
793
+ };
794
+ projectIntentReminder?: ProjectIntentReminder;
795
+ projectInventory?: ProjectInventoryViewModel;
796
+ projectInventoryRefresh: {
797
+ state: 'idle' | 'checking' | 'error';
798
+ checkedAtMs?: number;
799
+ errorCode?: string;
800
+ };
801
+ projectDeclarationAbsent?: boolean;
802
+ projectIntentIssue?: {
803
+ state: 'invalid' | 'unavailable';
804
+ code: string;
805
+ message: string;
806
+ };
323
807
  }
324
808
  export declare class TuiOperationBlockedError extends Error {
325
809
  readonly code: string;
326
- constructor(code: string, message: string);
810
+ readonly diagnostics?: SafeOperationDiagnostic[];
811
+ constructor(code: string, message: string, diagnostics?: readonly SafeOperationDiagnostic[]);
812
+ }
813
+ export declare class TuiConfigInvalidStoreError extends Error {
814
+ readonly code = "invalidConfigStores";
815
+ readonly evidence: ConfigInvalidStoreEvidence[];
816
+ constructor(evidence: ConfigInvalidStoreEvidence[]);
327
817
  }
818
+ export declare function pluginWriteBatchFailedRequestedTargets(execution: PluginWriteBatchExecutionResult): PluginWriteBatchTarget[];
819
+ export declare function pluginWriteBatchFailedRequestedPluginIds(execution: PluginWriteBatchExecutionResult): string[];
820
+ export declare function pluginWriteTaskFailedRequestedTargets(execution: PluginWriteTaskExecutionResult): PluginWriteTaskTarget[];
328
821
  export declare function operationEvidenceFingerprint(evidence: OperationEvidence): string;
822
+ export declare function operationEvidenceMatches(expected: OperationEvidence, current: OperationEvidence): boolean;
329
823
  export declare function userIssueKey(issue: Pick<UserIssueViewModel, 'category' | 'pluginId' | 'dependencyPluginId' | 'dependencyPlatform' | 'dependencyScope' | 'dependencyProject' | 'sourceId' | 'sourceIdentity' | 'platform' | 'scope'>): string;
330
824
  export declare function extractPortableError(error: unknown): {
331
825
  code: PortableBlockerCode;
@@ -337,29 +831,72 @@ export declare class TuiController {
337
831
  constructor(dependencies: TuiControllerDependencies, progressFeed?: RebuildProgressFeed);
338
832
  get snapshot(): TuiControllerSnapshot;
339
833
  subscribe(listener: (snapshot: TuiControllerSnapshot) => void): () => void;
834
+ get hasActiveWrite(): boolean;
835
+ get retiring(): boolean;
836
+ get hasSessionDraft(): boolean;
837
+ get externalDrafts(): ExternalDraftState[];
838
+ attachOperationHistory(history: OperationHistoryStore, epoch: number): void;
839
+ listOperationHistory(): OperationHistorySummary[];
840
+ getOperationDiagnostic(recordId: string): OperationDiagnosticDetail | undefined;
841
+ previewOperationReport(recordId: string): OperationReportPreview | undefined;
842
+ saveOperationReport(recordId: string, filePath?: string): Promise<SaveOperationReportResult>;
843
+ /** @internal Test-only observability for bounded private diagnostic ownership. */
844
+ operationDiagnosticRetentionCountForTests(): number;
845
+ recordUiFailure(error: unknown, context: {
846
+ code: string;
847
+ stage: string;
848
+ }): string;
849
+ beginRetirement(): void;
850
+ waitForWrites(): Promise<void>;
851
+ cancelAndWaitForReads(): Promise<boolean>;
852
+ goHome(options?: {
853
+ discardDrafts?: boolean;
854
+ }): boolean;
340
855
  load(): Promise<void>;
341
- refreshSource(sourceId: string): Promise<void>;
856
+ listProjectInventoryRoots(section?: 'declared' | 'extraInstalled'): ProjectInventoryRoot[];
857
+ getProjectInventoryRoot(pluginId: string): ProjectInventoryRoot | undefined;
858
+ refreshProjectInventory(): Promise<boolean>;
342
859
  push(route: TuiRoute, context?: TuiPageContext): void;
343
860
  hasPortableSkills(pluginId: string): boolean;
344
861
  preparePortableInstall(pluginId: string, navigation?: 'push' | 'replace'): Promise<PortableSkillSelectionViewModel>;
345
862
  refreshPortableInstallDraft(pluginId: string): Promise<PortableSkillSelectionViewModel>;
346
863
  togglePortableSkill(name: string): void;
347
864
  selectAllPortableSkills(): void;
865
+ clearPortableSkills(): void;
348
866
  setPortableAgentMode(mode: 'automatic' | 'explicit', requestedAgents?: string[]): void;
349
867
  setPortableScope(scope: Scope): void;
350
868
  buildPortableInstallReview(): Promise<OperationReviewModel>;
351
869
  startPortableInstallReviewPreparation(): ReviewPreparationSnapshot;
870
+ recheckPortableResult(): Promise<PortableInstallReceipt>;
871
+ startPortableRetryReviewPreparation(): ReviewPreparationSnapshot;
352
872
  discardPortableDraft(): void;
353
873
  replace(route: TuiRoute, context?: TuiPageContext): void;
354
874
  beginConfigFlow(pluginId: string): void;
875
+ beginSavedConfigRecovery(pluginId: string): void;
876
+ beginConfigSourceRecovery(sourceId: string): void;
877
+ getForceCleanupCandidate(pluginId: string, platform: PlatformName, scope: Scope): Promise<ForceCleanupCandidate | undefined>;
878
+ startForceCleanupReview(candidate: ForceCleanupCandidate): ReviewPreparationSnapshot;
355
879
  configOrigin(pluginId: string): TuiRoute | undefined;
356
880
  updatePageContext(context: Partial<TuiPageContext>): void;
881
+ returnToConfigOverview(flowId: string | undefined, overviewFrameId: string | undefined, pluginId: string, context?: TuiPageContext): boolean;
882
+ configOverviewFrameId(flowId: string | undefined, pluginId: string): string | undefined;
357
883
  back(): void;
358
884
  discardSourceDraft(owner: string, returnRoute: Extract<TuiRoute, {
359
885
  name: 'sourceList' | 'sourceDetail';
360
886
  }>): void;
361
887
  leaveResult(target?: TuiRoute): void;
888
+ resumeResultDraft(): void;
362
889
  resetPortableFlowToPreview(pluginId: string, target?: TuiRoute, preserveDraft?: boolean): void;
890
+ beginInstallFlow(pluginId: string, rootScope: Scope): void;
891
+ setInstallRootScope(rootScope: Scope): void;
892
+ setInstallPlatforms(platforms: PlatformName[]): void;
893
+ setInstallRootTargets(targets: PluginWriteBatchTarget[]): void;
894
+ prepareInstallDependencyPlacement(): Promise<boolean>;
895
+ setDependencyScope(pluginId: string, platform: PlatformName, scope: Scope): Promise<void>;
896
+ resetDependencyScopes(): Promise<void>;
897
+ installPlacementIntent(): Extract<OperationIntent, {
898
+ kind: 'pluginWrite' | 'pluginWriteBatch';
899
+ }>;
363
900
  listPlugins(options: {
364
901
  mode: 'browse' | 'installed';
365
902
  sourceId?: string;
@@ -367,31 +904,71 @@ export declare class TuiController {
367
904
  installFilter?: PluginInstallFilter;
368
905
  }): PluginListItemViewModel[];
369
906
  getPluginOverview(pluginId: string): PluginListItemViewModel | undefined;
907
+ getPluginDetailSubject(pluginId: string): PluginDetailSubject | undefined;
908
+ getPluginContentOverview(pluginId: string): PluginContentOverview | undefined;
909
+ getPluginContentState(pluginId: string): 'idle' | 'loading' | 'ready';
910
+ loadPluginContent(pluginId: string): Promise<void>;
911
+ getPluginSourceIdentity(pluginId: string): string | undefined;
912
+ listCurrentProjectIntentRoots(): string[];
913
+ listPluginWriteBatchTargets(action: Exclude<BatchPluginWriteAction, 'install'>, pluginIds: readonly string[]): PluginWriteBatchTarget[];
914
+ listPluginInstallBatchTargets(pluginIds: readonly string[], platform: PlatformName | 'both', scope: Scope): PluginInstallBatchTarget[];
915
+ pluginHasInstallableTarget(pluginId: string): boolean;
370
916
  getPluginDependencyOverview(pluginId: string): PluginDependencyOverviewViewModel | undefined;
917
+ listPluginDependencyOverviews(): PluginDependencyOverviewViewModel[];
371
918
  getBlockingDependents(pluginId: string, platform: PlatformName, scope: Scope): PluginDependencyOverviewViewModel['dependents'];
372
919
  getPlatformPlacement(pluginId: string, platform: PlatformName): PluginListItemViewModel['installedPlacements'][number] | undefined;
373
920
  listInstallTargets(pluginId: string, scope: Scope): InstallTargetOption[];
374
- getTargetState(pluginId: string, platform: PlatformName, scope: Scope): StatusV4Payload['targets'][number]['state'] | undefined;
921
+ getTargetState(pluginId: string, platform: PlatformName, scope: Scope): StatusV8Payload['targets'][number]['state'] | undefined;
375
922
  listSources(): TuiViewModel['sourceTabs'];
376
923
  getSourceOverview(sourceId: string): {
377
924
  source?: TuiViewModel['sourceTabs'][number];
378
925
  detail?: SourceDetailViewModel;
379
926
  health?: SourceHealthViewModel;
380
927
  };
928
+ getConfiguredSource(sourceId: string): CatalogSource | undefined;
929
+ getCatalogGeneration(sourceId: string): CatalogSourceGenerationViewModel | undefined;
930
+ getCatalogFreshness(sourceId: string): CatalogSourceFreshnessViewModel | undefined;
931
+ recheckCatalogSource(sourceId: string): Promise<void>;
932
+ recheckAllCatalogSources(): Promise<void>;
933
+ fullValidateCatalogSource(sourceId: string): Promise<void>;
934
+ setExternalDraftState(states?: ExternalDraftState[]): void;
935
+ beginPluginWriteBatch(): void;
936
+ startPluginWriteBatchReview(intent: PluginWriteBatchIntent): ReviewPreparationSnapshot;
937
+ startPluginWriteTaskReview(intent: PluginWriteTaskIntent, returnRoute?: TuiRoute): ReviewPreparationSnapshot;
938
+ beginNestedPluginWriteTask(route: Extract<TuiRoute, {
939
+ name: 'pluginWriteTask';
940
+ }>): void;
941
+ pluginWriteTaskReturnRoute(route: Extract<TuiRoute, {
942
+ name: 'pluginWriteTask';
943
+ }>): TuiRoute;
944
+ returnToPluginWriteTaskBatchSelection(flowId: string): boolean;
945
+ retryFailedPluginWriteBatch(): ReviewPreparationSnapshot | undefined;
946
+ retryFailedPluginWriteTask(): ReviewPreparationSnapshot | undefined;
947
+ catalogActivationBlockReason(): CatalogActivationBlockReason | undefined;
948
+ catalogSourceRecoveryBlockReason(intent?: Extract<OperationIntent, {
949
+ kind: 'catalogGeneration';
950
+ }>): CatalogActivationBlockReason | undefined;
951
+ getSessionCatalogVersion(sourceId: string): string | undefined;
952
+ reloadCatalog(options: {
953
+ sourceId: string;
954
+ }): Promise<boolean>;
381
955
  inspectSourceRemoval(sourceId: string): Promise<SourceReferenceSummaryViewModel>;
956
+ inspectCatalogStore(): Promise<CatalogStoreStatusResult>;
382
957
  getConfigGroups(pluginId: string, layer: {
383
958
  scope: Scope;
384
- projectLayer: ProjectConfigStoreLayer;
385
959
  }): Promise<ConfigGroupViewModel[]>;
386
960
  getConfigPage(pluginId: string, layer: {
387
961
  scope: Scope | 'effective';
388
- projectLayer: ProjectConfigStoreLayer;
389
962
  }, signal?: AbortSignal): Promise<ConfigPageViewModel>;
963
+ getConfigReferenceContext(pluginId: string, scope: Scope, draft: ConfigReferenceDraft, signal?: AbortSignal): Promise<ConfigReferenceContext>;
964
+ previewConfigSaveImpact(intent: Extract<OperationIntent, {
965
+ kind: 'configSave';
966
+ }>, signal?: AbortSignal): Promise<NonNullable<OperationEvidence['config']>>;
390
967
  getConfigResetAvailability(pluginId: string, layer: {
391
968
  scope: Scope;
392
- projectLayer: ProjectConfigStoreLayer;
393
969
  }): Promise<ConfigResetAvailability>;
394
970
  listUserIssues(): UserIssueViewModel[];
971
+ listPluginWriteTaskCandidates(goal: PluginWriteTaskGoal): PluginWriteTaskCandidate[];
395
972
  buildOperationReview(intent: OperationIntent, returnRoute?: TuiRoute): Promise<OperationReviewModel>;
396
973
  startReviewPreparation(intent: OperationIntent, returnRoute?: TuiRoute): ReviewPreparationSnapshot;
397
974
  retryReviewPreparation(): ReviewPreparationSnapshot | undefined;