@lesliechan721/aw 0.1.0-beta.63 → 0.1.0-beta.65

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 (302) hide show
  1. package/dist/authoring/assets/aw-runtime-config.mjs +3 -3
  2. package/dist/authoring/assets/aw-runtime-config.mjs.map +1 -1
  3. package/dist/authoring/scripts/add-skill.mjs +3 -17
  4. package/dist/authoring/scripts/add-skill.mjs.map +1 -1
  5. package/dist/authoring/scripts/init-plugin.mjs +1 -0
  6. package/dist/authoring/scripts/init-plugin.mjs.map +1 -1
  7. package/dist/authoring/scripts/lib/plugin-version-check.mjs +1 -1
  8. package/dist/authoring/scripts/lib/skill-scaffold.d.mts +2 -0
  9. package/dist/authoring/scripts/lib/skill-scaffold.mjs +2 -0
  10. package/dist/authoring/scripts/lib/skill-scaffold.mjs.map +1 -1
  11. package/dist/authoring/scripts/validate-plugin.mjs +95 -698
  12. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  13. package/dist/scripts/aw-skill-eval-materializer.d.ts +2 -0
  14. package/dist/scripts/aw-skill-eval-materializer.js +74 -44
  15. package/dist/scripts/aw-skill-eval-materializer.js.map +1 -1
  16. package/dist/scripts/bundle-plugins.js +10 -2
  17. package/dist/scripts/bundle-plugins.js.map +1 -1
  18. package/dist/scripts/plugin-staging.d.ts +1 -1
  19. package/dist/scripts/plugin-staging.js +1 -1
  20. package/dist/scripts/plugin-staging.js.map +1 -1
  21. package/dist/scripts/test-plugin-scripts.js +31 -31
  22. package/dist/scripts/test-plugin-scripts.js.map +1 -1
  23. package/dist/src/commands/aw-capabilities.d.ts +1 -1
  24. package/dist/src/commands/aw-capabilities.js +2 -0
  25. package/dist/src/commands/aw-capabilities.js.map +1 -1
  26. package/dist/src/commands/console.js +4 -3
  27. package/dist/src/commands/console.js.map +1 -1
  28. package/dist/src/commands/intent-command.d.ts +30 -0
  29. package/dist/src/commands/intent-command.js +164 -0
  30. package/dist/src/commands/intent-command.js.map +1 -0
  31. package/dist/src/commands/operation-plan.d.ts +2 -0
  32. package/dist/src/commands/operation-plan.js +2 -1
  33. package/dist/src/commands/operation-plan.js.map +1 -1
  34. package/dist/src/commands/options.d.ts +3 -11
  35. package/dist/src/commands/options.js +11 -17
  36. package/dist/src/commands/options.js.map +1 -1
  37. package/dist/src/commands/plugin-capabilities.js +27 -33
  38. package/dist/src/commands/plugin-capabilities.js.map +1 -1
  39. package/dist/src/commands/rebuild-command.d.ts +108 -6
  40. package/dist/src/commands/rebuild-command.js +617 -1549
  41. package/dist/src/commands/rebuild-command.js.map +1 -1
  42. package/dist/src/commands/rebuild-integration.d.ts +19 -3
  43. package/dist/src/commands/rebuild-integration.js +500 -459
  44. package/dist/src/commands/rebuild-integration.js.map +1 -1
  45. package/dist/src/commands/rebuild-operations.js +1 -2
  46. package/dist/src/commands/rebuild-operations.js.map +1 -1
  47. package/dist/src/commands/review-inspection.d.ts +2 -2
  48. package/dist/src/commands/review-inspection.js +30 -86
  49. package/dist/src/commands/review-inspection.js.map +1 -1
  50. package/dist/src/commands/review-preparation.js +16 -7
  51. package/dist/src/commands/review-preparation.js.map +1 -1
  52. package/dist/src/commands/skill-eval.d.ts +2 -0
  53. package/dist/src/commands/skill-eval.js +15 -9
  54. package/dist/src/commands/skill-eval.js.map +1 -1
  55. package/dist/src/commands/status-v6.d.ts +38 -5
  56. package/dist/src/commands/status-v6.js +269 -102
  57. package/dist/src/commands/status-v6.js.map +1 -1
  58. package/dist/src/commands/targets-command.d.ts +27 -0
  59. package/dist/src/commands/targets-command.js +77 -0
  60. package/dist/src/commands/targets-command.js.map +1 -0
  61. package/dist/src/commands/write-commands.js +5 -5
  62. package/dist/src/commands/write-commands.js.map +1 -1
  63. package/dist/src/eval/manifest-v1.d.ts +2 -0
  64. package/dist/src/eval/manifest-v1.js +7 -2
  65. package/dist/src/eval/manifest-v1.js.map +1 -1
  66. package/dist/src/generators/local-plugin.d.ts +2 -1
  67. package/dist/src/generators/local-plugin.js +111 -108
  68. package/dist/src/generators/local-plugin.js.map +1 -1
  69. package/dist/src/index.d.ts +10 -17
  70. package/dist/src/index.js +585 -1349
  71. package/dist/src/index.js.map +1 -1
  72. package/dist/src/intent/deployment-preferences.d.ts +63 -0
  73. package/dist/src/intent/deployment-preferences.js +170 -0
  74. package/dist/src/intent/deployment-preferences.js.map +1 -0
  75. package/dist/src/intent/diagnostics.d.ts +11 -0
  76. package/dist/src/intent/diagnostics.js +14 -0
  77. package/dist/src/intent/diagnostics.js.map +1 -0
  78. package/dist/src/intent/intent-codec.d.ts +19 -0
  79. package/dist/src/intent/intent-codec.js +117 -0
  80. package/dist/src/intent/intent-codec.js.map +1 -0
  81. package/dist/src/intent/intent-store.d.ts +43 -0
  82. package/dist/src/intent/intent-store.js +118 -0
  83. package/dist/src/intent/intent-store.js.map +1 -0
  84. package/dist/src/intent/scope-context.d.ts +33 -0
  85. package/dist/src/intent/scope-context.js +145 -0
  86. package/dist/src/intent/scope-context.js.map +1 -0
  87. package/dist/src/intent/work-context.d.ts +13 -0
  88. package/dist/src/intent/work-context.js +22 -0
  89. package/dist/src/intent/work-context.js.map +1 -0
  90. package/dist/src/output/command-receipt.js +16 -9
  91. package/dist/src/output/command-receipt.js.map +1 -1
  92. package/dist/src/portable/commands.d.ts +18 -8
  93. package/dist/src/portable/commands.js +46 -562
  94. package/dist/src/portable/commands.js.map +1 -1
  95. package/dist/src/portable/historical-materialization.d.ts +22 -0
  96. package/dist/src/portable/historical-materialization.js +124 -0
  97. package/dist/src/portable/historical-materialization.js.map +1 -0
  98. package/dist/src/portable/materializer.d.ts +8 -0
  99. package/dist/src/portable/materializer.js +75 -44
  100. package/dist/src/portable/materializer.js.map +1 -1
  101. package/dist/src/portable/recovery-layout.d.ts +17 -0
  102. package/dist/src/portable/recovery-layout.js +55 -0
  103. package/dist/src/portable/recovery-layout.js.map +1 -0
  104. package/dist/src/portable/recovery.d.ts +143 -0
  105. package/dist/src/portable/recovery.js +339 -0
  106. package/dist/src/portable/recovery.js.map +1 -0
  107. package/dist/src/portable/writer.d.ts +64 -0
  108. package/dist/src/portable/writer.js +316 -0
  109. package/dist/src/portable/writer.js.map +1 -0
  110. package/dist/src/recovery/coordinator.d.ts +137 -0
  111. package/dist/src/recovery/coordinator.js +1198 -0
  112. package/dist/src/recovery/coordinator.js.map +1 -0
  113. package/dist/src/recovery/demand.d.ts +44 -0
  114. package/dist/src/recovery/demand.js +178 -0
  115. package/dist/src/recovery/demand.js.map +1 -0
  116. package/dist/src/recovery/joint-coordinator.d.ts +24 -0
  117. package/dist/src/recovery/joint-coordinator.js +770 -0
  118. package/dist/src/recovery/joint-coordinator.js.map +1 -0
  119. package/dist/src/recovery/joint-demand.d.ts +68 -0
  120. package/dist/src/recovery/joint-demand.js +166 -0
  121. package/dist/src/recovery/joint-demand.js.map +1 -0
  122. package/dist/src/recovery/receipt.d.ts +81 -0
  123. package/dist/src/recovery/receipt.js +2 -0
  124. package/dist/src/recovery/receipt.js.map +1 -0
  125. package/dist/src/recovery/retirement.d.ts +45 -0
  126. package/dist/src/recovery/retirement.js +366 -0
  127. package/dist/src/recovery/retirement.js.map +1 -0
  128. package/dist/src/recovery/status.d.ts +108 -0
  129. package/dist/src/recovery/status.js +417 -0
  130. package/dist/src/recovery/status.js.map +1 -0
  131. package/dist/src/recovery/types.d.ts +86 -0
  132. package/dist/src/recovery/types.js +2 -0
  133. package/dist/src/recovery/types.js.map +1 -0
  134. package/dist/src/review/review-profile.d.ts +2 -1
  135. package/dist/src/review/review-profile.js +15 -15
  136. package/dist/src/review/review-profile.js.map +1 -1
  137. package/dist/src/review/review-selection.d.ts +1 -2
  138. package/dist/src/review/review-selection.js +40 -114
  139. package/dist/src/review/review-selection.js.map +1 -1
  140. package/dist/src/review/review-types.d.ts +4 -4
  141. package/dist/src/review/review-types.js.map +1 -1
  142. package/dist/src/review/skill-materialization.js +15 -6
  143. package/dist/src/review/skill-materialization.js.map +1 -1
  144. package/dist/src/review/source-binding.d.ts +14 -4
  145. package/dist/src/review/source-binding.js +62 -117
  146. package/dist/src/review/source-binding.js.map +1 -1
  147. package/dist/src/tui/agent-management.d.ts +23 -0
  148. package/dist/src/tui/agent-management.js +217 -0
  149. package/dist/src/tui/agent-management.js.map +1 -0
  150. package/dist/src/tui/agent-settings.d.ts +44 -0
  151. package/dist/src/tui/agent-settings.js +98 -0
  152. package/dist/src/tui/agent-settings.js.map +1 -0
  153. package/dist/src/tui/components.d.ts +3 -0
  154. package/dist/src/tui/components.js +10 -1
  155. package/dist/src/tui/components.js.map +1 -1
  156. package/dist/src/tui/config-references.d.ts +6 -3
  157. package/dist/src/tui/config-references.js +17 -12
  158. package/dist/src/tui/config-references.js.map +1 -1
  159. package/dist/src/tui/console-app-v4.d.ts +1 -2
  160. package/dist/src/tui/console-app-v4.js +1533 -1047
  161. package/dist/src/tui/console-app-v4.js.map +1 -1
  162. package/dist/src/tui/controller-runtime.d.ts +2 -1
  163. package/dist/src/tui/controller-runtime.js +457 -1634
  164. package/dist/src/tui/controller-runtime.js.map +1 -1
  165. package/dist/src/tui/controller.d.ts +131 -81
  166. package/dist/src/tui/controller.js +307 -227
  167. package/dist/src/tui/controller.js.map +1 -1
  168. package/dist/src/tui/entity-cards.d.ts +2 -2
  169. package/dist/src/tui/entity-cards.js +98 -20
  170. package/dist/src/tui/entity-cards.js.map +1 -1
  171. package/dist/src/tui/glossary.d.ts +2 -0
  172. package/dist/src/tui/glossary.js +20 -0
  173. package/dist/src/tui/glossary.js.map +1 -1
  174. package/dist/src/tui/model.d.ts +28 -10
  175. package/dist/src/tui/model.js +41 -41
  176. package/dist/src/tui/model.js.map +1 -1
  177. package/dist/src/tui/operation-review-planner.d.ts +2 -0
  178. package/dist/src/tui/operation-review-planner.js +58 -122
  179. package/dist/src/tui/operation-review-planner.js.map +1 -1
  180. package/dist/src/tui/plugin-content.js +7 -4
  181. package/dist/src/tui/plugin-content.js.map +1 -1
  182. package/dist/src/tui/plugin-detail.d.ts +22 -3
  183. package/dist/src/tui/plugin-detail.js +113 -26
  184. package/dist/src/tui/plugin-detail.js.map +1 -1
  185. package/dist/src/tui/reader.d.ts +1 -0
  186. package/dist/src/tui/reader.js +3 -1
  187. package/dist/src/tui/reader.js.map +1 -1
  188. package/dist/src/tui/router.d.ts +23 -33
  189. package/dist/src/tui/router.js.map +1 -1
  190. package/dist/src/tui/scoped-flow.d.ts +45 -0
  191. package/dist/src/tui/scoped-flow.js +96 -0
  192. package/dist/src/tui/scoped-flow.js.map +1 -0
  193. package/dist/src/tui/scoped-inventory.d.ts +122 -0
  194. package/dist/src/tui/scoped-inventory.js +225 -0
  195. package/dist/src/tui/scoped-inventory.js.map +1 -0
  196. package/dist/src/tui/screen-registry.d.ts +25 -25
  197. package/dist/src/tui/screen-registry.js +3 -7
  198. package/dist/src/tui/screen-registry.js.map +1 -1
  199. package/dist/src/tui/session-console-app.js +1 -1
  200. package/dist/src/tui/session-console-app.js.map +1 -1
  201. package/dist/src/tui/session-host.js +12 -2
  202. package/dist/src/tui/session-host.js.map +1 -1
  203. package/dist/src/types.d.ts +15 -12
  204. package/dist/src/types.js.map +1 -1
  205. package/dist/src/utils/agent-version.js +2 -0
  206. package/dist/src/utils/agent-version.js.map +1 -1
  207. package/dist/src/utils/artifact-plan.js +13 -6
  208. package/dist/src/utils/artifact-plan.js.map +1 -1
  209. package/dist/src/utils/artifact-renderer.d.ts +6 -3
  210. package/dist/src/utils/artifact-renderer.js +27 -32
  211. package/dist/src/utils/artifact-renderer.js.map +1 -1
  212. package/dist/src/utils/artifact-request.d.ts +1 -0
  213. package/dist/src/utils/artifact-request.js +22 -12
  214. package/dist/src/utils/artifact-request.js.map +1 -1
  215. package/dist/src/utils/artifact-sources.d.ts +2 -2
  216. package/dist/src/utils/bundle-layout.js +18 -16
  217. package/dist/src/utils/bundle-layout.js.map +1 -1
  218. package/dist/src/utils/catalog-digests.js +2 -0
  219. package/dist/src/utils/catalog-digests.js.map +1 -1
  220. package/dist/src/utils/catalog-runtime-projection.d.ts +4 -3
  221. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  222. package/dist/src/utils/catalog-source-references.d.ts +5 -0
  223. package/dist/src/utils/catalog-source-references.js +42 -57
  224. package/dist/src/utils/catalog-source-references.js.map +1 -1
  225. package/dist/src/utils/claude-native-render-receipt.d.ts +14 -0
  226. package/dist/src/utils/claude-native-render-receipt.js +26 -0
  227. package/dist/src/utils/claude-native-render-receipt.js.map +1 -0
  228. package/dist/src/utils/claude-skills-root.js +14 -3
  229. package/dist/src/utils/claude-skills-root.js.map +1 -1
  230. package/dist/src/utils/codex-manager.js +6 -12
  231. package/dist/src/utils/codex-manager.js.map +1 -1
  232. package/dist/src/utils/codex-native-observation.js +29 -13
  233. package/dist/src/utils/codex-native-observation.js.map +1 -1
  234. package/dist/src/utils/codex-reconciler.d.ts +2 -5
  235. package/dist/src/utils/codex-reconciler.js +25 -1
  236. package/dist/src/utils/codex-reconciler.js.map +1 -1
  237. package/dist/src/utils/codex-surface-analysis.js +5 -3
  238. package/dist/src/utils/codex-surface-analysis.js.map +1 -1
  239. package/dist/src/utils/local-marketplace.d.ts +14 -2
  240. package/dist/src/utils/local-marketplace.js +209 -42
  241. package/dist/src/utils/local-marketplace.js.map +1 -1
  242. package/dist/src/utils/managed-command-evidence.js +1 -1
  243. package/dist/src/utils/managed-command-evidence.js.map +1 -1
  244. package/dist/src/utils/managed-command-materialization.d.ts +4 -0
  245. package/dist/src/utils/managed-command-materialization.js +15 -6
  246. package/dist/src/utils/managed-command-materialization.js.map +1 -1
  247. package/dist/src/utils/managed-command-store.d.ts +15 -0
  248. package/dist/src/utils/managed-command-store.js +73 -8
  249. package/dist/src/utils/managed-command-store.js.map +1 -1
  250. package/dist/src/utils/native-cli.d.ts +2 -0
  251. package/dist/src/utils/native-cli.js +22 -0
  252. package/dist/src/utils/native-cli.js.map +1 -1
  253. package/dist/src/utils/native-demand.d.ts +10 -0
  254. package/dist/src/utils/native-demand.js +4 -0
  255. package/dist/src/utils/native-demand.js.map +1 -0
  256. package/dist/src/utils/ownership.js +2 -0
  257. package/dist/src/utils/ownership.js.map +1 -1
  258. package/dist/src/utils/paths.js +1 -1
  259. package/dist/src/utils/paths.js.map +1 -1
  260. package/dist/src/utils/platform-support.d.ts +1 -1
  261. package/dist/src/utils/platform-support.js +1 -1
  262. package/dist/src/utils/platform-support.js.map +1 -1
  263. package/dist/src/utils/plugin-config-impact.d.ts +3 -0
  264. package/dist/src/utils/plugin-config-impact.js +115 -273
  265. package/dist/src/utils/plugin-config-impact.js.map +1 -1
  266. package/dist/src/utils/plugin-config-references.d.ts +11 -2
  267. package/dist/src/utils/plugin-config-references.js +85 -90
  268. package/dist/src/utils/plugin-config-references.js.map +1 -1
  269. package/dist/src/utils/plugin-config-write.d.ts +58 -1
  270. package/dist/src/utils/plugin-config-write.js +756 -809
  271. package/dist/src/utils/plugin-config-write.js.map +1 -1
  272. package/dist/src/utils/plugin-config.d.ts +47 -46
  273. package/dist/src/utils/plugin-config.js +292 -833
  274. package/dist/src/utils/plugin-config.js.map +1 -1
  275. package/dist/src/utils/plugin-scripts.d.ts +11 -6
  276. package/dist/src/utils/plugin-scripts.js +52 -35
  277. package/dist/src/utils/plugin-scripts.js.map +1 -1
  278. package/dist/src/utils/runtime-config.js +5 -4
  279. package/dist/src/utils/runtime-config.js.map +1 -1
  280. package/dist/src/utils/runtime-skill-closure.d.ts +2 -2
  281. package/dist/src/utils/runtime-skill-closure.js.map +1 -1
  282. package/dist/src/utils/state-paths.d.ts +8 -3
  283. package/dist/src/utils/state-paths.js +53 -16
  284. package/dist/src/utils/state-paths.js.map +1 -1
  285. package/dist/src/utils/windows-npm-shim.d.ts +2 -0
  286. package/dist/src/utils/windows-npm-shim.js +5 -7
  287. package/dist/src/utils/windows-npm-shim.js.map +1 -1
  288. package/dist/vitest.config.js +1 -0
  289. package/dist/vitest.config.js.map +1 -1
  290. package/package.json +3 -3
  291. package/dist/src/commands/sync-command.d.ts +0 -40
  292. package/dist/src/commands/sync-command.js +0 -254
  293. package/dist/src/commands/sync-command.js.map +0 -1
  294. package/dist/src/portable/skills-cli.d.ts +0 -51
  295. package/dist/src/portable/skills-cli.js +0 -202
  296. package/dist/src/portable/skills-cli.js.map +0 -1
  297. package/dist/src/tui/project-inventory.d.ts +0 -68
  298. package/dist/src/tui/project-inventory.js +0 -203
  299. package/dist/src/tui/project-inventory.js.map +0 -1
  300. package/dist/src/utils/plugin-intent-state.d.ts +0 -49
  301. package/dist/src/utils/plugin-intent-state.js +0 -320
  302. package/dist/src/utils/plugin-intent-state.js.map +0 -1
@@ -1,5 +1,5 @@
1
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';
2
+ import type { CatalogActivationMode, CatalogSource, CatalogGenerationActiveV1, CatalogGenerationCandidateEvidence, CatalogGenerationSyncResult, CatalogSourceImpact, CommandProducerResult, DependencyScopeOverride, PlatformName, PlatformTarget, Scope } from '../types.js';
3
3
  import type { PortableReview, PortableInstallReceipt, PortableRetryReview } from '../portable/commands.js';
4
4
  import type { CatalogSourceUpdate } from '../utils/catalog-sources.js';
5
5
  import type { CatalogGenerationFreshnessState, CatalogGenerationFreshnessResult } from '../utils/catalog-generation-service.js';
@@ -11,11 +11,15 @@ import type { CodexReconcilePlan } from '../utils/codex-reconciler.js';
11
11
  import type { PluginConfigMutationImpact } from '../utils/plugin-config-impact.js';
12
12
  import type { OperationPlan } from '../commands/operation-plan.js';
13
13
  import type { RebuildProgressFeed, RebuildProgressSnapshot } from '../output/rebuild-progress.js';
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';
14
+ import { type ConfigPageViewModel, type ConfigProfileOptions, type ConfigReadOptions, type ConfigProfileKey, type ConfigGroupViewModel, type InstallPlacementDraftViewModel, type PluginListItemViewModel, type PluginDependencyOverviewViewModel, type PortableSkillSelectionViewModel, type SourceHealthViewModel, type SourceDetailViewModel, type TuiViewModel, type UserIssueCategory, type UserIssueViewModel } from './model.js';
15
15
  import type { PluginContentOverview } from './plugin-content.js';
16
16
  import { type PluginDetailSubject } from './plugin-detail.js';
17
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';
18
+ import { type RecoveryInventoryInput, type ScopedInventoryViewModel, type ScopedInventoryLoadResult, type InventoryRoot } from './scoped-inventory.js';
19
+ import type { ScopedTuiPlan } from './scoped-flow.js';
20
+ import type { RecoveryReceipt } from '../recovery/receipt.js';
21
+ import type { RecoveryCommand } from '../recovery/coordinator.js';
22
+ import type { AgentId } from '../intent/deployment-preferences.js';
19
23
  import { type ConfigInvalidStoreEvidence, type PluginInstallFilter, type PortableBlockerCode, type TuiPageContext, type TuiRoute, type TuiRouterSnapshot } from './router.js';
20
24
  import { type CatalogSourceGenerationViewModel } from './catalog-generation.js';
21
25
  import type { CatalogSourceFreshnessViewModel } from './catalog-freshness.js';
@@ -40,11 +44,6 @@ export type PluginWriteBatchSelection = {
40
44
  } | {
41
45
  kind: 'targets';
42
46
  targets: PluginWriteBatchTarget[];
43
- } | {
44
- kind: 'currentProjectIntentTargets';
45
- targets: PluginWriteBatchTarget[];
46
- } | {
47
- kind: 'currentProjectIntentRoots';
48
47
  };
49
48
  export interface PluginWriteBatchTarget {
50
49
  pluginId: string;
@@ -59,6 +58,7 @@ export declare function pluginWriteBatchTargets(action: Exclude<BatchPluginWrite
59
58
  export interface PluginWriteBatchIntent {
60
59
  kind: 'pluginWriteBatch';
61
60
  dependencyScopeOverrides?: DependencyScopeOverride[];
61
+ saveDependencyScopeOverrides?: boolean;
62
62
  action: BatchPluginWriteAction;
63
63
  selection: PluginWriteBatchSelection;
64
64
  platform: PlatformName | 'both';
@@ -141,7 +141,8 @@ export interface ConfigOperationChange {
141
141
  }
142
142
  export interface ConfigSaveBatchGroup {
143
143
  editEvidence?: Record<string, import('./model.js').ConfigEditEvidence>;
144
- scope: Scope;
144
+ scope?: 'user';
145
+ platform?: PlatformTarget;
145
146
  updates?: Record<string, unknown>;
146
147
  removeKeys?: string[];
147
148
  sensitiveKeys?: string[];
@@ -149,7 +150,8 @@ export interface ConfigSaveBatchGroup {
149
150
  changes?: ConfigOperationChange[];
150
151
  }
151
152
  export interface ConfigSaveBatchGroupResult {
152
- scope: Scope;
153
+ scope: 'user';
154
+ platform?: PlatformTarget;
153
155
  status: 'succeeded' | 'failed';
154
156
  configSaved: boolean;
155
157
  applyRequested: boolean;
@@ -161,6 +163,14 @@ export interface ConfigSaveBatchExecutionResult {
161
163
  status: 'succeeded' | 'partial' | 'failed';
162
164
  groups: ConfigSaveBatchGroupResult[];
163
165
  }
166
+ export interface ConfigDraftSaveResult {
167
+ status: 'succeeded' | 'partial' | 'failed';
168
+ savedProfiles: ConfigProfileKey[];
169
+ failedProfiles: Array<{
170
+ profile: ConfigProfileKey;
171
+ errorCode?: string;
172
+ }>;
173
+ }
164
174
  export interface IssueOrigin {
165
175
  issueId: string;
166
176
  issueKey: string;
@@ -182,6 +192,7 @@ export type OperationIntent = {
182
192
  platform: PlatformName | 'both';
183
193
  scope: Scope;
184
194
  dependencyScopeOverrides?: DependencyScopeOverride[];
195
+ saveDependencyScopeOverrides?: boolean;
185
196
  expectedUpdate?: {
186
197
  installedVersion: string;
187
198
  activeVersion: string;
@@ -205,10 +216,14 @@ export type OperationIntent = {
205
216
  } | {
206
217
  kind: 'configSave';
207
218
  pluginId: string;
208
- scope: Scope;
219
+ scope?: 'user';
220
+ platform?: PlatformTarget;
221
+ context?: Scope;
209
222
  apply: boolean;
223
+ targets?: PlatformTarget[];
210
224
  scriptTimeoutMs?: number;
211
225
  retryApply?: true;
226
+ editEvidence?: Record<string, import('./model.js').ConfigEditEvidence>;
212
227
  updates?: Record<string, unknown>;
213
228
  removeKeys?: string[];
214
229
  sensitiveKeys?: string[];
@@ -217,13 +232,16 @@ export type OperationIntent = {
217
232
  } | {
218
233
  kind: 'configSaveBatch';
219
234
  pluginId: string;
235
+ context?: Scope;
220
236
  apply: boolean;
221
237
  scriptTimeoutMs?: number;
222
238
  groups: ConfigSaveBatchGroup[];
223
239
  } | {
224
240
  kind: 'configReset';
225
241
  pluginId: string;
226
- scope: Scope;
242
+ scope?: 'user';
243
+ platform?: PlatformTarget;
244
+ context?: Scope;
227
245
  expectedStoreState?: 'invalid';
228
246
  changes?: ConfigOperationChange[];
229
247
  } | {
@@ -256,16 +274,25 @@ export type OperationIntent = {
256
274
  kind: 'catalogStorePrune';
257
275
  };
258
276
  export interface ConfigOperationEvidence {
259
- scope: Scope;
277
+ scope: 'user';
278
+ platform?: PlatformTarget;
279
+ context?: Scope;
260
280
  schemaIdentity?: string;
261
281
  storeDigest: string;
262
282
  impactState?: 'known' | 'unknown';
263
283
  noEffectiveChange?: true;
264
284
  affectedTargets: Array<{
265
285
  pluginName?: string;
266
- platform: PlatformName;
286
+ platform: PlatformTarget;
267
287
  scope: Scope;
268
288
  }>;
289
+ applyEvidence?: unknown;
290
+ applyChanges?: string[];
291
+ applyWarnings?: string[];
292
+ applyBlockers?: Array<{
293
+ code: string;
294
+ message: string;
295
+ }>;
269
296
  commandPackages?: PluginConfigMutationImpact['affectedCommandPackages'];
270
297
  preApplyAuthorization?: PreApplyAuthorizationTarget[];
271
298
  sharedNativeRenderTargets?: Array<{
@@ -312,7 +339,8 @@ export interface OperationEvidence {
312
339
  config?: ConfigOperationEvidence;
313
340
  configBatch?: {
314
341
  groups: Array<{
315
- scope: Scope;
342
+ scope: 'user';
343
+ platform?: PlatformTarget;
316
344
  config: ConfigOperationEvidence;
317
345
  targetFingerprint: string;
318
346
  }>;
@@ -320,7 +348,9 @@ export interface OperationEvidence {
320
348
  resetTarget?: {
321
349
  sourceId: string;
322
350
  pluginName: string;
323
- scope: Scope;
351
+ scope: 'user';
352
+ platform?: PlatformTarget;
353
+ context?: Scope;
324
354
  kind: 'absent' | 'regularFile' | 'symbolicLink' | 'directory';
325
355
  fingerprint: string;
326
356
  };
@@ -532,10 +562,20 @@ export interface OperationResultSummary {
532
562
  configApplied?: boolean;
533
563
  configApplySkippedReason?: 'invalidConfig';
534
564
  configScope?: Scope;
565
+ configPlatform?: PlatformTarget;
566
+ configContext?: Scope;
567
+ configTargets?: Array<{
568
+ pluginId?: string;
569
+ platform: PlatformTarget;
570
+ scope: Scope;
571
+ state: 'completed' | 'kept' | 'failed' | 'skipped';
572
+ errorCode?: string;
573
+ }>;
535
574
  configApplyRetryAvailable?: boolean;
536
575
  configRetryApply?: boolean;
537
576
  configGroups?: Array<{
538
577
  scope: Scope;
578
+ platform?: PlatformTarget;
539
579
  configSaved: boolean;
540
580
  applyRequested: boolean;
541
581
  applyStatus: ConfigSaveBatchGroupResult['applyStatus'];
@@ -638,25 +678,8 @@ export interface PluginOperationProgressLine {
638
678
  state: 'pending' | 'running' | 'completed' | 'kept' | 'failed' | 'skipped';
639
679
  }
640
680
  export interface TuiStatusLoadResult {
681
+ scopedRecovery?: Partial<Record<Scope, RecoveryInventoryInput & Partial<Pick<ScopedInventoryLoadResult, 'nativeSnapshot'>>>>;
641
682
  projectRoot?: string;
642
- projectIntent?: {
643
- state: 'ready';
644
- roots: Array<{
645
- pluginId: string;
646
- platforms: PlatformName[];
647
- }>;
648
- } | {
649
- state: 'absent';
650
- } | {
651
- state: 'invalid' | 'unavailable';
652
- code: string;
653
- message: string;
654
- };
655
- /** Compatibility input for older injected status fixtures. Production uses projectIntent. */
656
- projectIntentRoots?: Array<{
657
- pluginId: string;
658
- platforms: PlatformName[];
659
- }>;
660
683
  cliChannel?: 'latest' | 'beta';
661
684
  payload: StatusV8Payload;
662
685
  pluginSummaries: StatusV8PluginSummary[];
@@ -675,17 +698,6 @@ export interface TuiStatusLoadResult {
675
698
  catalogGenerations?: CatalogSourceGenerationViewModel[];
676
699
  sessionGenerationKeys?: Record<string, string>;
677
700
  }
678
- export interface ProjectIntentReminderTarget extends PluginWriteBatchTarget {
679
- reasonCodes: string[];
680
- }
681
- export interface ProjectIntentReminder {
682
- projectRoot: string;
683
- signature: string;
684
- actionableTargets: ProjectIntentReminderTarget[];
685
- blockedTargets: ProjectIntentReminderTarget[];
686
- unconfirmedTargets: ProjectIntentReminderTarget[];
687
- }
688
- export declare function projectCurrentIntentReminder(status: TuiStatusLoadResult): ProjectIntentReminder | undefined;
689
701
  export interface InstallTargetOption {
690
702
  platform: PlatformName;
691
703
  compatible: boolean;
@@ -707,10 +719,58 @@ export interface SourceReferenceSummaryViewModel {
707
719
  }>;
708
720
  }
709
721
  export interface TuiControllerDependencies {
722
+ readAgentSettings?: () => Promise<import('./agent-settings.js').AgentSettings>;
723
+ previewAgentSettings?: (preferences: import('../intent/deployment-preferences.js').DeploymentPreferences, pluginId?: string) => Promise<import('./agent-settings.js').AgentSettingsPreview>;
724
+ saveAgentSettings?: (request: Parameters<typeof import('./agent-settings.js').saveAgentSettings>[1]) => Promise<import('./agent-settings.js').AgentSettings>;
710
725
  beginCatalogSession?: (options?: {
711
726
  reuseValidatedGenerations?: boolean;
712
727
  }) => void;
713
728
  loadStatus: (signal: AbortSignal) => Promise<TuiStatusLoadResult>;
729
+ loadScopedStatus?: (scope: Scope, signal: AbortSignal) => Promise<ScopedInventoryLoadResult>;
730
+ prepareScopedTask?: (request: {
731
+ scope: Scope;
732
+ kind: 'recovery';
733
+ command?: RecoveryCommand;
734
+ selectors: string[];
735
+ exactTargets?: Array<{
736
+ pluginId: string;
737
+ agent: AgentId;
738
+ }>;
739
+ targets?: AgentId[];
740
+ force?: boolean;
741
+ refresh?: boolean;
742
+ retireUnselectedTargets?: boolean;
743
+ dependencyScopeOverrides?: DependencyScopeOverride[];
744
+ saveDependencyScopeOverrides?: boolean;
745
+ scriptTimeoutMs?: number;
746
+ } | {
747
+ scope: Scope;
748
+ kind: 'targets';
749
+ action: 'set' | 'reset';
750
+ agents: string[];
751
+ } | {
752
+ scope: Scope;
753
+ kind: 'retire';
754
+ selector: string;
755
+ targets?: AgentId[];
756
+ deleteConfig?: boolean;
757
+ } | {
758
+ scope: Scope;
759
+ kind: 'intent';
760
+ action: 'add' | 'remove';
761
+ selector: string;
762
+ }, signal: AbortSignal) => Promise<ScopedTuiPlan>;
763
+ executeScopedTask?: (plan: ScopedTuiPlan) => Promise<{
764
+ kind: 'recovery';
765
+ receipt: RecoveryReceipt;
766
+ } | {
767
+ kind: 'recoveryReview';
768
+ plan: ScopedTuiPlan;
769
+ } | {
770
+ kind: 'targets';
771
+ changed: boolean;
772
+ agents: AgentId[];
773
+ }>;
714
774
  loadPluginContent?: (pluginId: string, signal: AbortSignal) => Promise<PluginContentOverview>;
715
775
  probeCatalogFreshness?: (sourceId: string, options: {
716
776
  fullValidation: boolean;
@@ -725,16 +785,10 @@ export interface TuiControllerDependencies {
725
785
  kind: 'pluginWrite';
726
786
  }>, signal: AbortSignal) => Promise<ReconcileOperationPlan | undefined>;
727
787
  executeIntent: (intent: OperationIntent, expectedEvidence: OperationEvidence, signal?: AbortSignal) => Promise<unknown>;
728
- getConfigGroups?: (pluginId: string, layer: {
729
- scope: Scope;
730
- }, signal: AbortSignal) => Promise<ConfigGroupViewModel[]>;
731
- getConfigPage?: (pluginId: string, layer: {
732
- scope: Scope | 'effective';
733
- }, signal: AbortSignal) => Promise<ConfigPageViewModel>;
734
- getConfigReferenceContext?: (pluginId: string, scope: Scope, draft: ConfigReferenceDraft, signal: AbortSignal) => Promise<ConfigReferenceContext>;
735
- getConfigResetAvailability?: (pluginId: string, layer: {
736
- scope: Scope;
737
- }, signal: AbortSignal) => Promise<ConfigResetAvailability>;
788
+ getConfigGroups?: (pluginId: string, options: ConfigReadOptions, signal: AbortSignal) => Promise<ConfigGroupViewModel[]>;
789
+ getConfigPage?: (pluginId: string, options: ConfigReadOptions, signal: AbortSignal) => Promise<ConfigPageViewModel>;
790
+ getConfigReferenceContext?: (pluginId: string, options: ConfigProfileOptions, draft: ConfigReferenceDraft, signal: AbortSignal) => Promise<ConfigReferenceContext>;
791
+ getConfigResetAvailability?: (pluginId: string, options: ConfigProfileOptions, signal: AbortSignal) => Promise<ConfigResetAvailability>;
738
792
  logError?: (error: unknown, code: string, context?: {
739
793
  privateConfigOperation: boolean;
740
794
  }) => void | Promise<void>;
@@ -793,19 +847,12 @@ export interface TuiControllerSnapshot {
793
847
  description: string;
794
848
  operationRecordId?: string;
795
849
  };
796
- projectIntentReminder?: ProjectIntentReminder;
797
- projectInventory?: ProjectInventoryViewModel;
798
- projectInventoryRefresh: {
850
+ projectRoot?: string;
851
+ scopedInventories: Partial<Record<Scope, ScopedInventoryViewModel>>;
852
+ scopedInventoryRefresh: Partial<Record<Scope, {
799
853
  state: 'idle' | 'checking' | 'error';
800
- checkedAtMs?: number;
801
854
  errorCode?: string;
802
- };
803
- projectDeclarationAbsent?: boolean;
804
- projectIntentIssue?: {
805
- state: 'invalid' | 'unavailable';
806
- code: string;
807
- message: string;
808
- };
855
+ }>>;
809
856
  }
810
857
  export declare class TuiOperationBlockedError extends Error {
811
858
  readonly code: string;
@@ -855,9 +902,15 @@ export declare class TuiController {
855
902
  discardDrafts?: boolean;
856
903
  }): boolean;
857
904
  load(): Promise<void>;
858
- listProjectInventoryRoots(section?: 'declared' | 'extraInstalled'): ProjectInventoryRoot[];
859
- getProjectInventoryRoot(pluginId: string): ProjectInventoryRoot | undefined;
860
- refreshProjectInventory(): Promise<boolean>;
905
+ listScopedInventoryRoots(scope: Scope, section?: 'declared' | 'extraInstalled'): InventoryRoot[];
906
+ refreshScopedInventory(scope: Scope): Promise<boolean>;
907
+ prepareScopedTask(request: Parameters<NonNullable<TuiControllerDependencies['prepareScopedTask']>>[0]): Promise<ScopedTuiPlan>;
908
+ readAgentSettings(): Promise<import('./agent-settings.js').AgentSettings>;
909
+ previewAgentSettings(preferences: import('../intent/deployment-preferences.js').DeploymentPreferences, pluginId?: string): Promise<import('./agent-settings.js').AgentSettingsPreview>;
910
+ saveAgentSettings(request: Parameters<typeof import('./agent-settings.js').saveAgentSettings>[1]): Promise<import('./agent-settings.js').AgentSettings>;
911
+ cancelScopedPreparation(): void;
912
+ discardScopedPlan(plan: ScopedTuiPlan): Promise<void>;
913
+ executeScopedTask(plan: ScopedTuiPlan): ReturnType<NonNullable<TuiControllerDependencies['executeScopedTask']>>;
861
914
  push(route: TuiRoute, context?: TuiPageContext): void;
862
915
  hasPortableSkills(pluginId: string): boolean;
863
916
  preparePortableInstall(pluginId: string, navigation?: 'push' | 'replace'): Promise<PortableSkillSelectionViewModel>;
@@ -873,12 +926,12 @@ export declare class TuiController {
873
926
  startPortableRetryReviewPreparation(): ReviewPreparationSnapshot;
874
927
  discardPortableDraft(): void;
875
928
  replace(route: TuiRoute, context?: TuiPageContext): void;
876
- beginConfigFlow(pluginId: string): void;
929
+ beginConfigFlow(pluginId: string, options?: ConfigProfileOptions): void;
877
930
  beginConfigReferenceSource(pluginId: string, fieldKey: string): void;
878
931
  beginSavedConfigRecovery(pluginId: string): void;
879
932
  beginConfigSourceRecovery(sourceId: string): void;
880
933
  getForceCleanupCandidate(pluginId: string, platform: PlatformName, scope: Scope): Promise<ForceCleanupCandidate | undefined>;
881
- startForceCleanupReview(candidate: ForceCleanupCandidate): ReviewPreparationSnapshot;
934
+ startForceCleanupReview(candidate: ForceCleanupCandidate): Promise<ScopedTuiPlan>;
882
935
  configOrigin(pluginId: string): TuiRoute | undefined;
883
936
  updatePageContext(context: Partial<TuiPageContext>): void;
884
937
  returnToConfigOverview(flowId: string | undefined, overviewFrameId: string | undefined, pluginId: string, context?: TuiPageContext): boolean;
@@ -957,19 +1010,16 @@ export declare class TuiController {
957
1010
  }): Promise<boolean>;
958
1011
  inspectSourceRemoval(sourceId: string): Promise<SourceReferenceSummaryViewModel>;
959
1012
  inspectCatalogStore(): Promise<CatalogStoreStatusResult>;
960
- getConfigGroups(pluginId: string, layer: {
961
- scope: Scope;
962
- }): Promise<ConfigGroupViewModel[]>;
963
- getConfigPage(pluginId: string, layer: {
964
- scope: Scope | 'effective';
965
- }, signal?: AbortSignal): Promise<ConfigPageViewModel>;
966
- getConfigReferenceContext(pluginId: string, scope: Scope, draft: ConfigReferenceDraft, signal?: AbortSignal): Promise<ConfigReferenceContext>;
1013
+ getConfigGroups(pluginId: string, options: ConfigReadOptions): Promise<ConfigGroupViewModel[]>;
1014
+ getConfigPage(pluginId: string, options: ConfigReadOptions, signal?: AbortSignal): Promise<ConfigPageViewModel>;
1015
+ getConfigReferenceContext(pluginId: string, options: ConfigProfileOptions, draft: ConfigReferenceDraft, signal?: AbortSignal): Promise<ConfigReferenceContext>;
1016
+ saveConfigDraft(request: Extract<OperationIntent, {
1017
+ kind: 'configSave' | 'configSaveBatch';
1018
+ }>, signal?: AbortSignal): Promise<ConfigDraftSaveResult>;
967
1019
  previewConfigSaveImpact(intent: Extract<OperationIntent, {
968
1020
  kind: 'configSave';
969
1021
  }>, signal?: AbortSignal): Promise<NonNullable<OperationEvidence['config']>>;
970
- getConfigResetAvailability(pluginId: string, layer: {
971
- scope: Scope;
972
- }): Promise<ConfigResetAvailability>;
1022
+ getConfigResetAvailability(pluginId: string, options: ConfigProfileOptions): Promise<ConfigResetAvailability>;
973
1023
  listUserIssues(): UserIssueViewModel[];
974
1024
  listPluginWriteTaskCandidates(goal: PluginWriteTaskGoal): PluginWriteTaskCandidate[];
975
1025
  buildOperationReview(intent: OperationIntent, returnRoute?: TuiRoute): Promise<OperationReviewModel>;