@apexops/cli 0.10.0-next.4 → 0.11.0-next.0

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 (365) hide show
  1. package/README.md +40 -0
  2. package/assets/capability-packs/registry.v1.json +1 -62
  3. package/assets/client-projection-metadata/copilot-cli-agent-tools.json +20 -0
  4. package/assets/client-projections/github-copilot-cli/.github/copilot/settings.json +13 -0
  5. package/assets/client-projections/github-copilot-cli/.github/instructions/apex-prompt-authoring.instructions.md +1 -1
  6. package/assets/client-projections/github-copilot-cli/.github/workflows/governance-policy-baseline.yml +101 -0
  7. package/assets/client-projections/github-copilot-cli/tools/schemas/governance-baseline.schema.json +118 -0
  8. package/assets/client-projections/github-copilot-cli/tools/scripts/collect-governance-baseline.ps1 +817 -0
  9. package/assets/config/capability-packs.v1.json +1 -32
  10. package/assets/config/governance-reference.v1.json +26379 -0
  11. package/assets/config/recipe-packs.v1.json +1 -26
  12. package/assets/config/runtime-bundle.v1.json +7 -7
  13. package/assets/config/toolchain.v1.json +35 -33
  14. package/assets/config/workflow.v1.json +103 -72
  15. package/assets/customizations/.github/agents/apex-codegen.agent.md +8 -21
  16. package/assets/customizations/.github/agents/apex-validator.agent.md +14 -20
  17. package/assets/customizations/.github/agents/apex.agent.md +108 -75
  18. package/assets/customizations/.github/copilot/settings.json +13 -0
  19. package/assets/customizations/.github/instructions/apex-prompt-authoring.instructions.md +1 -1
  20. package/assets/customizations/.github/skills/apex-architecture/SKILL.md +62 -18
  21. package/assets/customizations/.github/skills/apex-artifacts/SKILL.md +28 -6
  22. package/assets/customizations/.github/skills/apex-azure-adr/SKILL.md +3 -0
  23. package/assets/customizations/.github/skills/apex-azure-cloud-migrate/SKILL.md +3 -0
  24. package/assets/customizations/.github/skills/apex-azure-compliance/SKILL.md +3 -0
  25. package/assets/customizations/.github/skills/apex-azure-compute/SKILL.md +3 -0
  26. package/assets/customizations/.github/skills/apex-azure-cost-optimization/SKILL.md +3 -0
  27. package/assets/customizations/.github/skills/apex-azure-defaults/SKILL.md +3 -0
  28. package/assets/customizations/.github/skills/apex-azure-defaults/references/governance-effects.md +5 -3
  29. package/assets/customizations/.github/skills/apex-azure-deploy/SKILL.md +3 -0
  30. package/assets/customizations/.github/skills/apex-azure-diagnostics/SKILL.md +3 -0
  31. package/assets/customizations/.github/skills/apex-azure-governance/SKILL.md +19 -3
  32. package/assets/customizations/.github/skills/apex-azure-governance/references/evidence-interpretation.md +38 -3
  33. package/assets/customizations/.github/skills/apex-azure-kusto/SKILL.md +3 -0
  34. package/assets/customizations/.github/skills/apex-azure-prepare/SKILL.md +5 -3
  35. package/assets/customizations/.github/skills/apex-azure-quotas/SKILL.md +3 -0
  36. package/assets/customizations/.github/skills/apex-azure-rbac/SKILL.md +3 -0
  37. package/assets/customizations/.github/skills/apex-azure-resources/SKILL.md +3 -0
  38. package/assets/customizations/.github/skills/apex-azure-storage/SKILL.md +3 -0
  39. package/assets/customizations/.github/skills/apex-azure-validate/SKILL.md +3 -0
  40. package/assets/customizations/.github/skills/apex-bicep-patterns/SKILL.md +3 -0
  41. package/assets/customizations/.github/skills/apex-codegen/SKILL.md +6 -2
  42. package/assets/customizations/.github/skills/apex-entra-app-registration/SKILL.md +3 -0
  43. package/assets/customizations/.github/skills/apex-mermaid/SKILL.md +3 -0
  44. package/assets/customizations/.github/skills/apex-microsoft-docs/SKILL.md +3 -0
  45. package/assets/customizations/.github/skills/apex-next/SKILL.md +99 -0
  46. package/assets/customizations/.github/skills/apex-operations/SKILL.md +46 -16
  47. package/assets/customizations/.github/skills/apex-planning/SKILL.md +48 -19
  48. package/assets/customizations/.github/skills/apex-requirements/SKILL.md +61 -23
  49. package/assets/customizations/.github/skills/apex-terraform-import/SKILL.md +3 -0
  50. package/assets/customizations/.github/skills/apex-terraform-patterns/SKILL.md +3 -0
  51. package/assets/customizations/.github/skills/apex-terraform-test/SKILL.md +3 -0
  52. package/assets/customizations/.github/skills/apex-unslop/LICENSE.txt +21 -0
  53. package/assets/customizations/.github/skills/apex-unslop/SKILL.md +94 -0
  54. package/assets/customizations/.github/skills/apex-workflow/SKILL.md +15 -5
  55. package/assets/customizations/.github/workflows/governance-policy-baseline.yml +101 -0
  56. package/assets/customizations/README.md +8 -9
  57. package/assets/customizations/manifest.json +167 -209
  58. package/assets/customizations/tools/schemas/governance-baseline.schema.json +118 -0
  59. package/assets/customizations/tools/scripts/collect-governance-baseline.ps1 +817 -0
  60. package/assets/manifest.json +419 -4237
  61. package/assets/schemas/governance-baseline.schema.json +118 -0
  62. package/dist/assets.d.ts +18 -2
  63. package/dist/assets.js +115 -35
  64. package/dist/bootstrap-wizard.d.ts +37 -0
  65. package/dist/bootstrap-wizard.js +259 -0
  66. package/dist/cli.d.ts +18 -2
  67. package/dist/cli.js +222 -65
  68. package/dist/dependency-revision.js +8 -0
  69. package/dist/errors.d.ts +6 -1
  70. package/dist/errors.js +55 -0
  71. package/dist/host-profile.d.ts +47 -0
  72. package/dist/host-profile.js +269 -0
  73. package/dist/mcp-output-schemas.d.ts +43 -0
  74. package/dist/mcp-output-schemas.js +279 -0
  75. package/dist/mcp-tool-effects.d.ts +101 -0
  76. package/dist/mcp-tool-effects.js +66 -0
  77. package/dist/mcp.d.ts +50 -3
  78. package/dist/mcp.js +833 -78
  79. package/dist/runtime-binding.d.ts +37 -0
  80. package/dist/runtime-binding.js +131 -0
  81. package/dist/service.d.ts +676 -31
  82. package/dist/service.js +5270 -587
  83. package/dist/state-transfer.js +44 -7
  84. package/dist/target-scope.d.ts +4 -0
  85. package/dist/target-scope.js +9 -0
  86. package/dist/version.d.ts +3 -1
  87. package/dist/version.js +19 -1
  88. package/dist/workflow-validators.d.ts +20 -3
  89. package/dist/workflow-validators.js +408 -67
  90. package/dist/workspace-root.d.ts +7 -0
  91. package/dist/workspace-root.js +67 -0
  92. package/package.json +11 -12
  93. package/assets/capability-packs/azure-governance-discovery/source/scripts/discover.py +0 -1189
  94. package/assets/capability-packs/azure-governance-discovery/source/scripts/render_governance.py +0 -676
  95. package/assets/client-projections/github-copilot-cli/.github/agents/apex-architect.agent.md +0 -90
  96. package/assets/client-projections/github-copilot-cli/.github/agents/apex-operator.agent.md +0 -75
  97. package/assets/client-projections/github-copilot-cli/.github/agents/apex-planner.agent.md +0 -86
  98. package/assets/client-projections/github-copilot-cli/.github/agents/apex-requirements.agent.md +0 -92
  99. package/assets/client-projections/github-copilot-cli/.github/agents/apex.agent.md +0 -88
  100. package/assets/client-projections/github-copilot-cli/.github/mcp.json +0 -60
  101. package/assets/client-projections/github-copilot-cli/.github/skills/apex-architecture/SKILL.md +0 -36
  102. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/SKILL.md +0 -65
  103. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/references/presentation-conventions.md +0 -52
  104. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/references/reference-only-outlines.md +0 -78
  105. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/architecture-assessment.md +0 -35
  106. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/cost-estimate.md +0 -47
  107. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/deployment-summary.md +0 -35
  108. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/governance-constraints.md +0 -35
  109. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/implementation-plan.md +0 -43
  110. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/operations-runbook.md +0 -35
  111. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/requirements.md +0 -42
  112. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/resource-inventory.md +0 -29
  113. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/SKILL.md +0 -52
  114. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-examples.md +0 -38
  115. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-guardrails.md +0 -36
  116. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-quality.md +0 -21
  117. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-record-fields.md +0 -57
  118. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/SKILL.md +0 -55
  119. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/lambda-to-functions-assessment.md +0 -29
  120. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/migration-readiness.md +0 -27
  121. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/staged-validation-handoff.md +0 -26
  122. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/workload-mapping.md +0 -27
  123. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/SKILL.md +0 -58
  124. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/references/compliance-finding-criteria.md +0 -63
  125. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/references/operational-checklist.md +0 -24
  126. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/SKILL.md +0 -36
  127. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/compute-selection.md +0 -26
  128. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/pricing-evidence.md +0 -11
  129. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/recommendation-and-scale-rules.md +0 -44
  130. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/SKILL.md +0 -61
  131. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/references/cost-assessment-criteria.md +0 -61
  132. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/references/operational-checklist.md +0 -24
  133. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/SKILL.md +0 -59
  134. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/avm-binding-guidance.md +0 -29
  135. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/baseline-fallbacks.md +0 -53
  136. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/cost-monitoring.md +0 -47
  137. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/decision-boundaries.md +0 -19
  138. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/governance-effects.md +0 -28
  139. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/naming.md +0 -47
  140. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/network-planning.md +0 -47
  141. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/security-baseline.md +0 -40
  142. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/service-selection.md +0 -51
  143. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/tag-precedence.md +0 -31
  144. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/SKILL.md +0 -50
  145. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/references/operational-checklist.md +0 -26
  146. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/references/preview-recovery-verification.md +0 -48
  147. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/SKILL.md +0 -60
  148. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/references/diagnostic-interpretation.md +0 -42
  149. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/references/operational-checklist.md +0 -24
  150. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/SKILL.md +0 -52
  151. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/references/evidence-interpretation.md +0 -58
  152. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/references/operational-checklist.md +0 -25
  153. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/SKILL.md +0 -58
  154. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/references/kql-evidence-interpretation.md +0 -41
  155. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/references/operational-checklist.md +0 -25
  156. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/SKILL.md +0 -52
  157. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
  158. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/references/preparation-lineage.md +0 -36
  159. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/SKILL.md +0 -53
  160. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +0 -48
  161. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/references/operational-checklist.md +0 -23
  162. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/SKILL.md +0 -45
  163. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/references/assignment-intent.md +0 -39
  164. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/references/least-privilege-selection.md +0 -50
  165. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/SKILL.md +0 -54
  166. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/references/inventory-query-patterns.md +0 -49
  167. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/references/operational-checklist.md +0 -24
  168. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/SKILL.md +0 -35
  169. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/security-and-governance.md +0 -12
  170. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/service-auth-and-sdk-boundary.md +0 -33
  171. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/storage-selection.md +0 -12
  172. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/SKILL.md +0 -49
  173. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/references/operational-checklist.md +0 -24
  174. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/references/preflight-evidence.md +0 -43
  175. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/SKILL.md +0 -41
  176. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/avm-and-codegen-acceptance.md +0 -11
  177. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/codegen-acceptance-checklist.md +0 -46
  178. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/compiler-and-provider-gotchas.md +0 -74
  179. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/module-interfaces-and-parameters.md +0 -56
  180. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/network-and-observability.md +0 -52
  181. package/assets/client-projections/github-copilot-cli/.github/skills/apex-codegen/SKILL.md +0 -32
  182. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/SKILL.md +0 -53
  183. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/capability-receipts.md +0 -21
  184. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/design-and-diagnostics.md +0 -36
  185. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/oauth-registration-model.md +0 -26
  186. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/permissions-and-credentials.md +0 -27
  187. package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/SKILL.md +0 -44
  188. package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/references/styling.md +0 -33
  189. package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/references/syntax.md +0 -99
  190. package/assets/client-projections/github-copilot-cli/.github/skills/apex-microsoft-docs/SKILL.md +0 -53
  191. package/assets/client-projections/github-copilot-cli/.github/skills/apex-microsoft-docs/references/research-method.md +0 -91
  192. package/assets/client-projections/github-copilot-cli/.github/skills/apex-operations/SKILL.md +0 -34
  193. package/assets/client-projections/github-copilot-cli/.github/skills/apex-planning/SKILL.md +0 -36
  194. package/assets/client-projections/github-copilot-cli/.github/skills/apex-requirements/SKILL.md +0 -43
  195. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/SKILL.md +0 -47
  196. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/adoption-attestation.md +0 -10
  197. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/import-assessment.md +0 -14
  198. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/import-mapping.md +0 -27
  199. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/mapping-and-adoption-attestation.md +0 -12
  200. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/SKILL.md +0 -49
  201. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-composition-and-refactor.md +0 -20
  202. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-composition-and-state-boundaries.md +0 -11
  203. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-locks-and-codegen-acceptance.md +0 -14
  204. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/network-and-observability.md +0 -12
  205. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/plan-and-change-assessment.md +0 -24
  206. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/SKILL.md +0 -45
  207. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/evidence-acceptance.md +0 -10
  208. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/plan-mode-and-mock-design.md +0 -12
  209. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/plan-mode-test-design.md +0 -23
  210. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/test-design.md +0 -13
  211. package/assets/client-projections/github-copilot-cli/.github/skills/apex-workflow/SKILL.md +0 -37
  212. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-architect.agent.md +0 -99
  213. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-codegen.agent.md +0 -62
  214. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-operator.agent.md +0 -79
  215. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-planner.agent.md +0 -96
  216. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-requirements.agent.md +0 -101
  217. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-reviewer.agent.md +0 -59
  218. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-validator.agent.md +0 -61
  219. package/assets/client-projections/github-copilot-vscode/.github/agents/apex.agent.md +0 -107
  220. package/assets/client-projections/github-copilot-vscode/.github/copilot-instructions.md +0 -13
  221. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-agent-authoring.instructions.md +0 -14
  222. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-artifact-contracts.instructions.md +0 -12
  223. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-automation.instructions.md +0 -12
  224. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-azure-yaml.instructions.md +0 -12
  225. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-bicep.instructions.md +0 -12
  226. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-code-quality.instructions.md +0 -12
  227. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-context.instructions.md +0 -12
  228. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-documentation.instructions.md +0 -12
  229. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-governance.instructions.md +0 -12
  230. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-instruction-authoring.instructions.md +0 -12
  231. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-javascript.instructions.md +0 -11
  232. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-json.instructions.md +0 -11
  233. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-markdown.instructions.md +0 -13
  234. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-powershell.instructions.md +0 -11
  235. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-prompt-authoring.instructions.md +0 -12
  236. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-python.instructions.md +0 -11
  237. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-safe-file-edits.instructions.md +0 -11
  238. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-safe-shell.instructions.md +0 -11
  239. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-shell.instructions.md +0 -11
  240. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-skill-authoring.instructions.md +0 -13
  241. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-terraform.instructions.md +0 -12
  242. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-architecture/SKILL.md +0 -36
  243. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/SKILL.md +0 -65
  244. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/references/presentation-conventions.md +0 -52
  245. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/references/reference-only-outlines.md +0 -78
  246. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/architecture-assessment.md +0 -35
  247. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/cost-estimate.md +0 -47
  248. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/deployment-summary.md +0 -35
  249. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/governance-constraints.md +0 -35
  250. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/implementation-plan.md +0 -43
  251. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/operations-runbook.md +0 -35
  252. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/requirements.md +0 -42
  253. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/resource-inventory.md +0 -29
  254. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/SKILL.md +0 -52
  255. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-examples.md +0 -38
  256. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-guardrails.md +0 -36
  257. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-quality.md +0 -21
  258. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-record-fields.md +0 -57
  259. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/SKILL.md +0 -55
  260. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/lambda-to-functions-assessment.md +0 -29
  261. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/migration-readiness.md +0 -27
  262. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/staged-validation-handoff.md +0 -26
  263. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/workload-mapping.md +0 -27
  264. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/SKILL.md +0 -58
  265. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/references/compliance-finding-criteria.md +0 -63
  266. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/references/operational-checklist.md +0 -24
  267. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/SKILL.md +0 -36
  268. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/compute-selection.md +0 -26
  269. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/pricing-evidence.md +0 -11
  270. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/recommendation-and-scale-rules.md +0 -44
  271. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/SKILL.md +0 -61
  272. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/references/cost-assessment-criteria.md +0 -61
  273. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/references/operational-checklist.md +0 -24
  274. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/SKILL.md +0 -59
  275. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/avm-binding-guidance.md +0 -29
  276. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/baseline-fallbacks.md +0 -53
  277. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/cost-monitoring.md +0 -47
  278. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/decision-boundaries.md +0 -19
  279. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/governance-effects.md +0 -28
  280. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/naming.md +0 -47
  281. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/network-planning.md +0 -47
  282. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/security-baseline.md +0 -40
  283. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/service-selection.md +0 -51
  284. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/tag-precedence.md +0 -31
  285. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/SKILL.md +0 -50
  286. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/references/operational-checklist.md +0 -26
  287. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/references/preview-recovery-verification.md +0 -48
  288. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/SKILL.md +0 -60
  289. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/references/diagnostic-interpretation.md +0 -42
  290. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/references/operational-checklist.md +0 -24
  291. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/SKILL.md +0 -52
  292. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/references/evidence-interpretation.md +0 -58
  293. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/references/operational-checklist.md +0 -25
  294. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/SKILL.md +0 -58
  295. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/references/kql-evidence-interpretation.md +0 -41
  296. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/references/operational-checklist.md +0 -25
  297. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/SKILL.md +0 -52
  298. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
  299. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/references/preparation-lineage.md +0 -36
  300. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/SKILL.md +0 -53
  301. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +0 -48
  302. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/references/operational-checklist.md +0 -23
  303. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/SKILL.md +0 -45
  304. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/references/assignment-intent.md +0 -39
  305. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/references/least-privilege-selection.md +0 -50
  306. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/SKILL.md +0 -54
  307. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/references/inventory-query-patterns.md +0 -49
  308. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/references/operational-checklist.md +0 -24
  309. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/SKILL.md +0 -35
  310. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/security-and-governance.md +0 -12
  311. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/service-auth-and-sdk-boundary.md +0 -33
  312. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/storage-selection.md +0 -12
  313. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/SKILL.md +0 -49
  314. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/references/operational-checklist.md +0 -24
  315. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/references/preflight-evidence.md +0 -43
  316. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/SKILL.md +0 -41
  317. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/avm-and-codegen-acceptance.md +0 -11
  318. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/codegen-acceptance-checklist.md +0 -46
  319. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/compiler-and-provider-gotchas.md +0 -74
  320. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/module-interfaces-and-parameters.md +0 -56
  321. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/network-and-observability.md +0 -52
  322. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-codegen/SKILL.md +0 -32
  323. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/SKILL.md +0 -53
  324. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/capability-receipts.md +0 -21
  325. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/design-and-diagnostics.md +0 -36
  326. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/oauth-registration-model.md +0 -26
  327. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/permissions-and-credentials.md +0 -27
  328. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/SKILL.md +0 -44
  329. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/references/styling.md +0 -33
  330. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/references/syntax.md +0 -99
  331. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-microsoft-docs/SKILL.md +0 -53
  332. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-microsoft-docs/references/research-method.md +0 -91
  333. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-operations/SKILL.md +0 -34
  334. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-planning/SKILL.md +0 -36
  335. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-requirements/SKILL.md +0 -43
  336. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/SKILL.md +0 -47
  337. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/adoption-attestation.md +0 -10
  338. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/import-assessment.md +0 -14
  339. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/import-mapping.md +0 -27
  340. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/mapping-and-adoption-attestation.md +0 -12
  341. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/SKILL.md +0 -49
  342. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-composition-and-refactor.md +0 -20
  343. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-composition-and-state-boundaries.md +0 -11
  344. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-locks-and-codegen-acceptance.md +0 -14
  345. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/network-and-observability.md +0 -12
  346. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/plan-and-change-assessment.md +0 -24
  347. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/SKILL.md +0 -45
  348. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/evidence-acceptance.md +0 -10
  349. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/plan-mode-and-mock-design.md +0 -12
  350. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/plan-mode-test-design.md +0 -23
  351. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/test-design.md +0 -13
  352. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-workflow/SKILL.md +0 -37
  353. package/assets/client-projections/github-copilot-vscode/.vscode/mcp.json +0 -29
  354. package/assets/customizations/.github/agents/apex-architect.agent.md +0 -92
  355. package/assets/customizations/.github/agents/apex-operator.agent.md +0 -72
  356. package/assets/customizations/.github/agents/apex-planner.agent.md +0 -89
  357. package/assets/customizations/.github/agents/apex-requirements.agent.md +0 -94
  358. package/assets/customizations/.github/agents/apex-reviewer.agent.md +0 -56
  359. package/assets/customizations/.github/mcp.json +0 -60
  360. package/assets/customizations/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
  361. package/assets/customizations/.vscode/mcp.json +0 -29
  362. package/dist/azure-mcp-environment.d.ts +0 -2
  363. package/dist/azure-mcp-environment.js +0 -7
  364. package/dist/azure-mcp.d.ts +0 -2
  365. package/dist/azure-mcp.js +0 -21
package/dist/service.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { type ApprovalEvidenceV1, type ArchitectureAvailabilityV1, type DeploymentPreviewV1, type EnvironmentInputsV1, type IacBindingV1, type InputRequestV1, type InputValueV1, type InputSubmissionV1, type ImprovementCategory, type ImprovementDecisionV1, type ImprovementObservationV1, type ImprovementPolicyV1, type ImprovementProposalV1, type ImprovementSource, type ImplementationIntentV1, type Operation, type ProjectId, type ResourceInventoryV1, type RunConfigV1, type RunId, type TaskEnvelopeV1 } from "@apexops/contracts";
1
+ import { type ArchetypeBatchConfigV1, type ArchetypeBatchPlanV1, type ReviewRequestV1, type ApprovalEvidenceV1, type ArchitectureAvailabilityV1, type ArchitectureV1, type CostEstimateV1, type DeploymentPreviewV1, type EnvironmentInputsV1, type PolicyPropertyMapV1, type IacBindingV1, type NativeValidationReceiptV1, type InputRequestV1, type InputValueV1, type InputSubmissionV1, type ImprovementCategory, type ImprovementDecisionV1, type ImprovementObservationV1, type ImprovementPolicyV1, type ImprovementProposalV1, type ImprovementSource, type ImplementationIntentV1, type Operation, type OnboardingConfigV1, type BootstrapPlanV1, type GovernanceSetupConfigV1, type GovernanceProvisionPlanV1, type RepositoryPublishConfigV1, type RepositoryPublishPlanV1, type ProjectId, type RiskOwner, type ResourceInventoryV1, type RequirementsV1, type RequirementsAmendmentV1, type RunConfigV1, type RunId, type WorkloadDecisionManifestV1, type TaskEnvelopeV1 } from "@apexops/contracts";
2
2
  import { type CapabilityPackInstallOptions, type IacProvider, type ProcessRunnerLike } from "@apexops/capabilities";
3
3
  import { type JsonValue } from "@apexops/kernel";
4
4
  import { type BundledClientProjection } from "./assets.js";
5
+ import { type HostEnvironment } from "./host-profile.js";
5
6
  interface Selection {
6
7
  projectId: ProjectId;
7
8
  runId: RunId;
@@ -45,16 +46,26 @@ export interface ReviewResolution {
45
46
  findingId: string;
46
47
  reviewHash: string;
47
48
  subjectHash: string;
48
- disposition: "fixed" | "accepted-risk";
49
+ disposition: "fixed" | "accepted-risk" | "acknowledged" | "dismissed";
49
50
  actor: string;
50
51
  rationale: string;
52
+ owner?: RiskOwner;
51
53
  evidenceRefs: string[];
52
54
  expiresAt?: string;
53
55
  dependencyHash: string;
54
56
  }
57
+ export interface ReviewDecision {
58
+ findingId: string;
59
+ action: "revise" | "accept-risk" | "acknowledge" | "dismiss";
60
+ rationale?: string;
61
+ owner?: string;
62
+ expiresAt?: string;
63
+ }
55
64
  export interface ServiceOptions {
56
65
  clock?: () => Date;
57
66
  idSource?: () => string;
67
+ workspacePath?: string;
68
+ writerLeaseTtlMs?: number;
58
69
  providers?: Partial<Record<"fake" | "bicep" | "terraform", IacProvider>>;
59
70
  architectureAvailabilityAdapter?: (evidence: ArchitectureAvailabilityV1) => Promise<void>;
60
71
  executableChecker?: (executable: string) => Promise<boolean>;
@@ -64,14 +75,28 @@ export interface ServiceOptions {
64
75
  }>;
65
76
  customizationFailureInjector?: (index: number, destination: string) => void | Promise<void>;
66
77
  processRunner?: ProcessRunnerLike;
67
- profileRoot?: string;
68
78
  improvementPolicy?: ImprovementPolicyV1;
79
+ diagramRasterizer?: (svg: string) => Uint8Array;
80
+ repeatWindowMs?: number;
81
+ /** Folder shared with the managed rubber-duck capture hook; defaults to `$APEX_REVIEW_HOME` or `~/.apex/reviews`. */
82
+ reviewHome?: string;
83
+ /** Host that doctor inspects; defaults to the running process. */
84
+ hostEnvironment?: HostEnvironment;
85
+ }
86
+ /** Canonical description of one state-changing call submitted through {@link ApexService.repeatSafe}. */
87
+ export interface RepeatSafeCall {
88
+ operation: string;
89
+ arguments: Record<string, unknown>;
90
+ /** Argument names holding workspace-relative file paths; their current content hash joins the call identity. */
91
+ fileArguments?: readonly string[];
69
92
  }
70
93
  interface DoctorCheck {
71
94
  id: string;
72
95
  ok: boolean;
73
96
  value: string;
74
97
  remedy?: string;
98
+ /** Marks a passing advisory check; warnings never make doctor unhealthy. */
99
+ severity?: "warning";
75
100
  }
76
101
  declare const ARTIFACTS: {
77
102
  readonly requirements: readonly ["requirements", import("@sinclair/typebox").TObject<{
@@ -161,12 +186,50 @@ declare const ARTIFACTS: {
161
186
  components: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
162
187
  id: import("@sinclair/typebox").TString;
163
188
  service: import("@sinclair/typebox").TString;
189
+ resourceTypes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
164
190
  purpose: import("@sinclair/typebox").TString;
165
191
  requirementIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
166
192
  dependsOn: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
167
193
  }>>;
168
194
  decisions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
195
+ decisionRecords: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
196
+ id: import("@sinclair/typebox").TString;
197
+ title: import("@sinclair/typebox").TString;
198
+ context: import("@sinclair/typebox").TString;
199
+ decision: import("@sinclair/typebox").TString;
200
+ requirementIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
201
+ alternatives: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
202
+ option: import("@sinclair/typebox").TString;
203
+ benefits: import("@sinclair/typebox").TString;
204
+ drawbacks: import("@sinclair/typebox").TString;
205
+ rejectionReason: import("@sinclair/typebox").TString;
206
+ }>>;
207
+ positiveConsequences: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
208
+ negativeConsequences: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
209
+ wafImpacts: import("@sinclair/typebox").TObject<{
210
+ security: import("@sinclair/typebox").TString;
211
+ reliability: import("@sinclair/typebox").TString;
212
+ "performance-efficiency": import("@sinclair/typebox").TString;
213
+ "cost-optimization": import("@sinclair/typebox").TString;
214
+ "operational-excellence": import("@sinclair/typebox").TString;
215
+ }>;
216
+ complianceConsiderations: import("@sinclair/typebox").TString;
217
+ implementationNotes: import("@sinclair/typebox").TString;
218
+ }>>>;
169
219
  risks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
220
+ wellArchitectedAssessment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
221
+ framework: import("@sinclair/typebox").TLiteral<"azure-well-architected-framework">;
222
+ assessmentType: import("@sinclair/typebox").TLiteral<"qualitative">;
223
+ pillars: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
224
+ pillar: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"security">, import("@sinclair/typebox").TLiteral<"reliability">, import("@sinclair/typebox").TLiteral<"performance-efficiency">, import("@sinclair/typebox").TLiteral<"cost-optimization">, import("@sinclair/typebox").TLiteral<"operational-excellence">]>;
225
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"aligned">, import("@sinclair/typebox").TLiteral<"concern">, import("@sinclair/typebox").TLiteral<"blocker">, import("@sinclair/typebox").TLiteral<"not-applicable">]>;
226
+ assessment: import("@sinclair/typebox").TString;
227
+ requirementIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
228
+ evidenceRefs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
229
+ recommendations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
230
+ tradeoffs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
231
+ }>>;
232
+ }>>;
170
233
  }>];
171
234
  readonly "cost-estimate": readonly ["cost-estimate", import("@sinclair/typebox").TObject<{
172
235
  schemaVersion: import("@sinclair/typebox").TLiteral<"1.0.0">;
@@ -174,6 +237,7 @@ declare const ARTIFACTS: {
174
237
  runId: import("@sinclair/typebox").TString;
175
238
  currency: import("@sinclair/typebox").TString;
176
239
  pricingDate: import("@sinclair/typebox").TString;
240
+ pricingStatus: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"complete">, import("@sinclair/typebox").TLiteral<"partial">]>>;
177
241
  lineItems: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
178
242
  id: import("@sinclair/typebox").TString;
179
243
  service: import("@sinclair/typebox").TString;
@@ -195,6 +259,14 @@ declare const ARTIFACTS: {
195
259
  basis: import("@sinclair/typebox").TString;
196
260
  }>;
197
261
  }>>;
262
+ unpricedItems: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
263
+ id: import("@sinclair/typebox").TString;
264
+ service: import("@sinclair/typebox").TString;
265
+ sku: import("@sinclair/typebox").TString;
266
+ quantity: import("@sinclair/typebox").TNumber;
267
+ attemptedAt: import("@sinclair/typebox").TString;
268
+ reason: import("@sinclair/typebox").TString;
269
+ }>>>;
198
270
  totalMonthlyCost: import("@sinclair/typebox").TNumber;
199
271
  assumptions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
200
272
  }>];
@@ -205,6 +277,13 @@ declare const ARTIFACTS: {
205
277
  subjectKind: import("@sinclair/typebox").TString;
206
278
  subjectHash: import("@sinclair/typebox").TString;
207
279
  reviewedAt: import("@sinclair/typebox").TString;
280
+ capture: import("@sinclair/typebox").TObject<{
281
+ reviewer: import("@sinclair/typebox").TLiteral<"rubber-duck">;
282
+ nonce: import("@sinclair/typebox").TString;
283
+ captureHash: import("@sinclair/typebox").TString;
284
+ promptSha256: import("@sinclair/typebox").TString;
285
+ responseSha256: import("@sinclair/typebox").TString;
286
+ }>;
208
287
  findings: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
209
288
  id: import("@sinclair/typebox").TString;
210
289
  severity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"critical">, import("@sinclair/typebox").TLiteral<"high">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"info">]>;
@@ -214,12 +293,19 @@ declare const ARTIFACTS: {
214
293
  evidenceRefs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
215
294
  resolution: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
216
295
  }>>;
296
+ criteria: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
297
+ criterionId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"security">, import("@sinclair/typebox").TLiteral<"reliability">, import("@sinclair/typebox").TLiteral<"performance-efficiency">, import("@sinclair/typebox").TLiteral<"cost-optimization">, import("@sinclair/typebox").TLiteral<"operational-excellence">]>;
298
+ outcome: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pass">, import("@sinclair/typebox").TLiteral<"finding">, import("@sinclair/typebox").TLiteral<"not-applicable">]>;
299
+ rationale: import("@sinclair/typebox").TString;
300
+ findingIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
301
+ }>>>;
217
302
  }>];
218
303
  readonly "governance-constraints": readonly ["governance-constraints", import("@sinclair/typebox").TObject<{
219
304
  schemaVersion: import("@sinclair/typebox").TLiteral<"1.0.0">;
220
305
  projectId: import("@sinclair/typebox").TString;
221
306
  runId: import("@sinclair/typebox").TString;
222
307
  targetScope: import("@sinclair/typebox").TString;
308
+ source: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"collected">, import("@sinclair/typebox").TLiteral<"reference">]>;
223
309
  discoveredAt: import("@sinclair/typebox").TString;
224
310
  expiresAt: import("@sinclair/typebox").TString;
225
311
  summary: import("@sinclair/typebox").TObject<{
@@ -243,11 +329,14 @@ declare const ARTIFACTS: {
243
329
  governanceHash: import("@sinclair/typebox").TString;
244
330
  mappings: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
245
331
  policyAssignmentId: import("@sinclair/typebox").TString;
332
+ policyDefinitionId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
333
+ policyDefinitionReferenceId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
246
334
  effect: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"deny">, import("@sinclair/typebox").TLiteral<"modify">, import("@sinclair/typebox").TLiteral<"append">, import("@sinclair/typebox").TLiteral<"audit">, import("@sinclair/typebox").TLiteral<"deployIfNotExists">, import("@sinclair/typebox").TLiteral<"disabled">]>;
247
335
  logicalResourceId: import("@sinclair/typebox").TString;
248
336
  propertyPath: import("@sinclair/typebox").TString;
249
337
  expectedValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
250
- disposition: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"satisfied">, import("@sinclair/typebox").TLiteral<"planned">, import("@sinclair/typebox").TLiteral<"exempt">, import("@sinclair/typebox").TLiteral<"blocked">]>;
338
+ disposition: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"satisfied">, import("@sinclair/typebox").TLiteral<"planned">, import("@sinclair/typebox").TLiteral<"exempt">, import("@sinclair/typebox").TLiteral<"blocked">, import("@sinclair/typebox").TLiteral<"not-applicable">]>;
339
+ reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
251
340
  }>>;
252
341
  }>];
253
342
  readonly "implementation-intent": readonly ["implementation-intent", import("@sinclair/typebox").TObject<{
@@ -274,6 +363,13 @@ declare const ARTIFACTS: {
274
363
  implementation: import("@sinclair/typebox").TString;
275
364
  version: import("@sinclair/typebox").TString;
276
365
  parameters: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
366
+ scopeLogicalId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
367
+ physicalResources: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
368
+ resourceId: import("@sinclair/typebox").TString;
369
+ type: import("@sinclair/typebox").TString;
370
+ ownership: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"managed">, import("@sinclair/typebox").TLiteral<"existing">]>;
371
+ role: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"ancillary">]>;
372
+ }>>>;
277
373
  }>>;
278
374
  }>];
279
375
  readonly "environment-inputs": readonly ["environment-inputs", import("@sinclair/typebox").TObject<{
@@ -300,6 +396,7 @@ declare const ARTIFACTS: {
300
396
  logicalId: import("@sinclair/typebox").TString;
301
397
  type: import("@sinclair/typebox").TString;
302
398
  implementationAddress: import("@sinclair/typebox").TString;
399
+ executionAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
303
400
  implementationKind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resource">, import("@sinclair/typebox").TLiteral<"module">, import("@sinclair/typebox").TLiteral<"data">, import("@sinclair/typebox").TLiteral<"existing">]>;
304
401
  ownership: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"existing">, import("@sinclair/typebox").TLiteral<"managed">]>;
305
402
  dependsOn: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
@@ -432,6 +529,57 @@ declare const ARTIFACTS: {
432
529
  diagnosedAt: import("@sinclair/typebox").TString;
433
530
  status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"healthy">, import("@sinclair/typebox").TLiteral<"degraded">, import("@sinclair/typebox").TLiteral<"failed">, import("@sinclair/typebox").TLiteral<"unknown">]>;
434
531
  observations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
532
+ operationalHandoff: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
533
+ owner: import("@sinclair/typebox").TString;
534
+ escalation: import("@sinclair/typebox").TString;
535
+ maintenanceWindow: import("@sinclair/typebox").TString;
536
+ accessPrerequisites: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
537
+ configurationReferences: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
538
+ name: import("@sinclair/typebox").TString;
539
+ source: import("@sinclair/typebox").TString;
540
+ }>>;
541
+ healthChecks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
542
+ resourceId: import("@sinclair/typebox").TString;
543
+ check: import("@sinclair/typebox").TString;
544
+ expectedOutcome: import("@sinclair/typebox").TString;
545
+ evidenceRefs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
546
+ }>>;
547
+ monitoring: import("@sinclair/typebox").TString;
548
+ incidentResponse: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
549
+ applicability: import("@sinclair/typebox").TLiteral<"applicable">;
550
+ owner: import("@sinclair/typebox").TString;
551
+ prerequisites: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
552
+ steps: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
553
+ verification: import("@sinclair/typebox").TString;
554
+ executionStatus: import("@sinclair/typebox").TLiteral<"untested">;
555
+ }>, import("@sinclair/typebox").TObject<{
556
+ applicability: import("@sinclair/typebox").TLiteral<"not-applicable">;
557
+ rationale: import("@sinclair/typebox").TString;
558
+ }>]>;
559
+ rollback: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
560
+ applicability: import("@sinclair/typebox").TLiteral<"applicable">;
561
+ owner: import("@sinclair/typebox").TString;
562
+ prerequisites: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
563
+ steps: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
564
+ verification: import("@sinclair/typebox").TString;
565
+ executionStatus: import("@sinclair/typebox").TLiteral<"untested">;
566
+ }>, import("@sinclair/typebox").TObject<{
567
+ applicability: import("@sinclair/typebox").TLiteral<"not-applicable">;
568
+ rationale: import("@sinclair/typebox").TString;
569
+ }>]>;
570
+ recovery: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
571
+ applicability: import("@sinclair/typebox").TLiteral<"applicable">;
572
+ owner: import("@sinclair/typebox").TString;
573
+ prerequisites: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
574
+ steps: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
575
+ verification: import("@sinclair/typebox").TString;
576
+ executionStatus: import("@sinclair/typebox").TLiteral<"untested">;
577
+ }>, import("@sinclair/typebox").TObject<{
578
+ applicability: import("@sinclair/typebox").TLiteral<"not-applicable">;
579
+ rationale: import("@sinclair/typebox").TString;
580
+ }>]>;
581
+ limitations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
582
+ }>>;
435
583
  causes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
436
584
  id: import("@sinclair/typebox").TString;
437
585
  summary: import("@sinclair/typebox").TString;
@@ -464,7 +612,10 @@ export declare const SUPPORTED_ARTIFACT_KINDS: ArtifactKind[];
464
612
  export declare class ApexService {
465
613
  readonly root: string;
466
614
  private readonly clock;
615
+ private readonly diagramRasterizer;
467
616
  private readonly idSource;
617
+ private readonly writerLeaseTtlMs;
618
+ private readonly repeatWindowMs;
468
619
  private readonly projects;
469
620
  private readonly objects;
470
621
  private readonly cache;
@@ -475,11 +626,25 @@ export declare class ApexService {
475
626
  private readonly azureAuthStatus;
476
627
  private readonly customizationFailureInjector?;
477
628
  private readonly processRunner;
478
- private readonly profileRoot;
629
+ private readonly workspaceLockHold;
630
+ private readonly host;
631
+ /** Writes the running repeat-guarded call makes to the files its repeat record binds. */
632
+ private readonly repeatWrites;
633
+ /** Set while a read runs as a snapshot without the workspace lock; any write or recovery then needs the lock. */
634
+ private readonly snapshotRead;
479
635
  private readonly improvementPolicy;
480
636
  private improvementRuntime?;
481
637
  private requirementsDocumentTemplate?;
638
+ private workspacePath;
639
+ private readonly reviewHomeOverride;
640
+ private reviewGuardPeers;
482
641
  constructor(root: string, options?: ServiceOptions);
642
+ setWorkspacePath(workspacePath: string): void;
643
+ /**
644
+ * Other workspaces served by the same process (the MCP server resolves each caller-supplied workspace to its own
645
+ * service). The pending-review guard scans them too, so pointing an inherited tool at another workspace cannot evade it.
646
+ */
647
+ setReviewGuardPeers(peers: () => Iterable<ApexService>): void;
483
648
  improvementObserve(input: {
484
649
  taskId?: string;
485
650
  observedAt?: string;
@@ -522,40 +687,133 @@ export declare class ApexService {
522
687
  environment?: string;
523
688
  targetScope?: string;
524
689
  iacTool?: "bicep" | "terraform";
690
+ riskOwner: RiskOwner;
525
691
  customizationsSource?: string;
526
692
  clientId?: BundledClientProjection["id"];
527
693
  }): Promise<{
528
694
  projectId: ProjectId;
529
695
  runId: RunId;
530
696
  }>;
697
+ initializeWorkspace(input: {
698
+ customizationsSource?: string;
699
+ clientId?: BundledClientProjection["id"];
700
+ }): Promise<{
701
+ workspaceReady: true;
702
+ projectCreated: false;
703
+ }>;
704
+ planGovernanceSetup(config: GovernanceSetupConfigV1): Promise<{
705
+ schemaVersion: "1.0.0";
706
+ config: {
707
+ schemaVersion: "1.0.0";
708
+ repository: string;
709
+ tenantId: string;
710
+ subscriptionId: string;
711
+ managementGroupId?: string;
712
+ identity: {
713
+ mode: "reuse";
714
+ clientId: string;
715
+ principalId: string;
716
+ } | {
717
+ mode: "create";
718
+ displayName: string;
719
+ };
720
+ };
721
+ evidenceHash: string;
722
+ status: "blocked" | "pending";
723
+ federation?: {
724
+ issuer: "https://token.actions.githubusercontent.com";
725
+ audience: "api://AzureADTokenExchange";
726
+ subject: string;
727
+ };
728
+ environment: "governance";
729
+ proposedRole: {
730
+ id: "acdd72a7-3385-48ef-bd42-f606fba81ae7";
731
+ name: "Reader";
732
+ scope: string;
733
+ };
734
+ variables: {
735
+ [x: string]: string;
736
+ };
737
+ blockers: string[];
738
+ pendingActions: string[];
739
+ filesModified: false;
740
+ executionAuthorized: false;
741
+ deploymentAuthorized: false;
742
+ planHash: string;
743
+ }>;
744
+ private governanceSetupRead;
745
+ planGovernanceProvision(config: GovernanceSetupConfigV1): Promise<GovernanceProvisionPlanV1>;
746
+ provisionGovernance(config: GovernanceSetupConfigV1, expectedHash: string, confirm: boolean): Promise<{
747
+ schemaVersion: "1.0.0";
748
+ planHash: string;
749
+ repository: string;
750
+ clientId: string;
751
+ actions: {
752
+ action: string;
753
+ status: "started" | "verified" | "indeterminate";
754
+ }[];
755
+ deploymentAuthorized: boolean;
756
+ collectionEnabled: boolean;
757
+ status: string;
758
+ receiptPath: string;
759
+ nextAction: string;
760
+ }>;
761
+ private repositoryPublishEvidence;
762
+ /** Builds a reviewable GitHub repository creation and push plan. No remote state is modified. */
763
+ planRepositoryPublish(config: RepositoryPublishConfigV1): Promise<RepositoryPublishPlanV1>;
764
+ /** Executes exactly the confirmed repository creation, remote and non-forced push actions. */
765
+ publishRepository(config: RepositoryPublishConfigV1, expectedHash: string, confirm: boolean): Promise<{
766
+ schemaVersion: "1.0.0";
767
+ planHash: string;
768
+ repository: string;
769
+ visibility: "internal" | "private" | "public";
770
+ branch: string;
771
+ commit: string;
772
+ actions: {
773
+ action: string;
774
+ status: "started" | "verified" | "indeterminate";
775
+ }[];
776
+ forcePush: boolean;
777
+ deploymentAuthorized: boolean;
778
+ status: string;
779
+ receiptPath: string;
780
+ nextAction: string;
781
+ }>;
782
+ planBootstrap(config: OnboardingConfigV1): Promise<BootstrapPlanV1>;
783
+ private inspectBootstrapResume;
531
784
  bootstrap(input: {
532
785
  projectId: ProjectId;
533
786
  displayName?: string;
534
787
  environment?: string;
535
788
  targetScope?: string;
536
789
  iacTool?: "bicep" | "terraform";
790
+ riskOwner: RiskOwner;
537
791
  clientId?: BundledClientProjection["id"];
538
792
  createRepository?: boolean;
539
793
  }): Promise<{
540
794
  projectId: ProjectId;
541
795
  runId: RunId;
796
+ workspaceReady: true;
797
+ projectCreated: boolean;
542
798
  runtimeInstalled: boolean;
799
+ resumed: boolean;
543
800
  }>;
544
- profileStatus(): Promise<{
545
- installed: boolean;
546
- modified: boolean;
547
- version?: string;
548
- }>;
549
- profileInstall(): Promise<{
550
- installed: boolean;
551
- version: string;
552
- }>;
553
- profileUpdate(): Promise<{
554
- updated: boolean;
555
- version: string;
556
- }>;
557
- profileUninstall(): Promise<{
558
- removed: boolean;
801
+ bootstrap(input: {
802
+ projectId?: ProjectId;
803
+ displayName?: string;
804
+ environment?: string;
805
+ targetScope?: string;
806
+ iacTool?: "bicep" | "terraform";
807
+ riskOwner?: RiskOwner;
808
+ clientId?: BundledClientProjection["id"];
809
+ createRepository?: boolean;
810
+ }): Promise<{
811
+ projectId?: ProjectId;
812
+ runId?: RunId;
813
+ workspaceReady: true;
814
+ projectCreated: boolean;
815
+ runtimeInstalled: boolean;
816
+ resumed: boolean;
559
817
  }>;
560
818
  createProject(input: {
561
819
  projectId: ProjectId;
@@ -563,21 +821,32 @@ export declare class ApexService {
563
821
  environment?: string;
564
822
  targetScope?: string;
565
823
  iacTool?: "bicep" | "terraform";
824
+ riskOwner: RiskOwner;
566
825
  }): Promise<{
567
826
  projectId: ProjectId;
568
827
  runId: RunId;
569
828
  }>;
570
829
  update(customizationsSource?: string): Promise<{
571
830
  updated: string[];
831
+ retired: string[];
832
+ conflicts: string[];
572
833
  }>;
573
834
  rollbackCustomizations(): Promise<{
574
835
  restored: string[];
836
+ removed: string[];
575
837
  conflicts: string[];
576
838
  }>;
577
839
  uninstallCustomizations(): Promise<{
578
840
  removed: string[];
579
841
  conflicts: string[];
580
842
  }>;
843
+ retiredProjectionInstalled(): Promise<boolean>;
844
+ /** Explicit replacement of a retired VS Code projection; project state is untouched. */
845
+ replaceRetiredProjection(): Promise<{
846
+ removed: string[];
847
+ installed: string[];
848
+ clientId: BundledClientProjection["id"];
849
+ }>;
581
850
  reinstallCustomizations(customizationsSource?: string): Promise<{
582
851
  installed: string[];
583
852
  clientId: BundledClientProjection["id"];
@@ -586,6 +855,7 @@ export declare class ApexService {
586
855
  projectId: string;
587
856
  displayName: string;
588
857
  }>>;
858
+ private workspaceHasNoProjects;
589
859
  deleteProject(projectId: ProjectId, confirmed: boolean): Promise<{
590
860
  deleted: ProjectId;
591
861
  selected?: Selection;
@@ -608,6 +878,132 @@ export declare class ApexService {
608
878
  artifactKinds: string[];
609
879
  payload: JsonValue;
610
880
  }>>;
881
+ inspectArchetype(repositoryPath: string, revision: string, selectedPath: string): Promise<{
882
+ schemaVersion: "1.0.0";
883
+ repositoryPath: string;
884
+ revision: string;
885
+ selectedPath: string;
886
+ authorityImported: false;
887
+ requiresConsumerReview: true;
888
+ files: {
889
+ path: string;
890
+ hash: string;
891
+ bytes: number;
892
+ }[];
893
+ excluded: {
894
+ path: string;
895
+ reason: "source-authority" | "unsupported-material";
896
+ }[];
897
+ contentHash: string;
898
+ }>;
899
+ listArchetypes(repositoryPath: string, revision: string, catalogPath: string): Promise<{
900
+ repositoryPath: string;
901
+ revision: string;
902
+ catalogPath: string;
903
+ candidates: {
904
+ selectedPath: string;
905
+ treeObjectId: string;
906
+ requiresInspection: true;
907
+ }[];
908
+ }>;
909
+ private copiedArchetypeMatches;
910
+ planArchetypeBatch(config: ArchetypeBatchConfigV1): Promise<ArchetypeBatchPlanV1>;
911
+ importArchetypeBatch(config: ArchetypeBatchConfigV1, expectedHash: string, confirm: boolean): Promise<{
912
+ status: string;
913
+ planHash: string;
914
+ entries: {
915
+ destination: string;
916
+ status: "copied" | "already-copied" | "blocked" | "pending";
917
+ }[];
918
+ nextAction: string;
919
+ authorityImported: boolean;
920
+ requiresConsumerReview: boolean;
921
+ }>;
922
+ importArchetype(request: {
923
+ repositoryPath: string;
924
+ revision: string;
925
+ selectedPath: string;
926
+ destination: string;
927
+ expectedHash: string;
928
+ confirm: boolean;
929
+ }): Promise<{
930
+ destination: string;
931
+ contentHash: string;
932
+ files: number;
933
+ requiresConsumerReview: true;
934
+ }>;
935
+ private readArchetypeRemoteJson;
936
+ private readArchetypeSelection;
937
+ workspaceStatus(): Promise<{
938
+ status: "needs_project";
939
+ workspaceReady: true;
940
+ projects: string[];
941
+ nextAction: string;
942
+ } | {
943
+ run: RunConfigV1;
944
+ head: string | null;
945
+ events: number;
946
+ task: string | null;
947
+ blockers: string[];
948
+ }>;
949
+ /**
950
+ * Runs a state-changing operation that is not repeat-guarded, such as a CLI command, under the workspace repeat lock
951
+ * that guarded calls hold, so it cannot land between a guarded call's state reads, execution and record publication.
952
+ * A `suspendable` operation, such as a CLI command, may give the lock up while it waits for interactive input through
953
+ * {@link waitOutsideWorkspaceLock}; MCP calls never do.
954
+ */
955
+ withWorkspaceWriteLock<T>(operation: () => Promise<T>, signal?: AbortSignal, options?: {
956
+ suspendable?: boolean;
957
+ }): Promise<T>;
958
+ /**
959
+ * Runs a `read` operation, one that writes nothing except by finishing a pending run or customization recovery. It
960
+ * takes the workspace lock when it is free. While a CLI command holds the lock and waits for an external process
961
+ * through {@link whileExternalProcessRuns}, the read runs as a snapshot without the lock instead and is answered only
962
+ * if the command wrote nothing meanwhile; a read that would need to recover state waits for the lock.
963
+ */
964
+ withWorkspaceReadLock<T>(operation: () => Promise<T>, signal?: AbortSignal): Promise<T>;
965
+ /**
966
+ * Runs an external process, such as a provider preview, apply or destroy, or a Git, GitHub or Azure CLI call, that
967
+ * writes no workspace state itself. A CLI command keeps the workspace lock meanwhile, so writers still wait, but
968
+ * shares it with {@link withWorkspaceReadLock} snapshot readers. Elsewhere `operation` runs as is.
969
+ */
970
+ private whileExternalProcessRuns;
971
+ private runExternalProcess;
972
+ /** Refuses a write or recovery inside a snapshot read, which then waits for the workspace lock instead. */
973
+ private assertNotSnapshotRead;
974
+ /**
975
+ * Runs `wait`, such as an interactive prompt, without the workspace lock when the current operation holds it as
976
+ * suspendable, so MCP calls in the workspace are not blocked meanwhile. The lock is then taken again and the command
977
+ * fails with `APEX_STALE` unless the workspace state is unchanged, so a decision taken during the wait is applied
978
+ * only to the state it was taken against. Elsewhere `wait` runs as is.
979
+ */
980
+ waitOutsideWorkspaceLock<T>(wait: () => Promise<T>): Promise<T>;
981
+ /**
982
+ * Token over the selected run state that repeat-guarded calls are bound to and the workspace setup files, so any
983
+ * change by another writer of the workspace changes it.
984
+ */
985
+ private workspaceStateToken;
986
+ private repeatLockDirectory;
987
+ /**
988
+ * Runs one state-changing call through the kernel repeat guard. An identical call from the same worktree while the
989
+ * selected run is unchanged since the original succeeded returns the original result and is audited instead of
990
+ * executing again; anything else executes normally under the usual kernel checks.
991
+ */
992
+ repeatSafe<T extends Record<string, unknown>>(call: RepeatSafeCall, execute: () => Promise<T>, signal?: AbortSignal): Promise<T>;
993
+ private repeatScope;
994
+ /**
995
+ * Roots of the files guarded operations read outside the run journal: the run's staged work tree and the latest
996
+ * generated source tree. The repeat guard binds them by content, so an external edit makes an identical call new and
997
+ * an edit while a call runs keeps its result from being stored.
998
+ */
999
+ private repeatFileRoots;
1000
+ /** Content hash plus the inode, size and change times that any later modification of the file would alter. */
1001
+ private repeatFileBinding;
1002
+ releaseWriter(): Promise<{
1003
+ released: boolean;
1004
+ projectId: string;
1005
+ runId: string;
1006
+ }>;
611
1007
  status(): Promise<{
612
1008
  run: RunConfigV1;
613
1009
  head: string | null;
@@ -618,53 +1014,259 @@ export declare class ApexService {
618
1014
  nextTask(): Promise<{
619
1015
  status: "needs_input";
620
1016
  request: InputRequestV1;
1017
+ } | {
1018
+ status: "needs_review";
1019
+ review: Awaited<ReturnType<ApexService["pendingReview"]>>;
621
1020
  } | {
622
1021
  status: "task";
623
1022
  task: TaskEnvelopeV1;
624
1023
  }>;
1024
+ private currentIssuedTask;
625
1025
  recordInput(input: InputSubmissionV1): Promise<{
626
1026
  recorded: true;
627
1027
  requestId: string;
628
1028
  }>;
629
- recordRequirementsInput(value: unknown): Promise<void>;
1029
+ private taskReviewMetadata;
630
1030
  taskContext(taskId: string): Promise<{
631
1031
  task: TaskEnvelopeV1;
632
1032
  inputs: unknown[];
1033
+ inputReferences: Array<{
1034
+ hash: string;
1035
+ bytes: number;
1036
+ inlined: boolean;
1037
+ }>;
633
1038
  artifactHashes: Record<string, string>;
634
1039
  recordedInput: Record<string, InputValueV1> | null;
635
1040
  decisions: Record<string, InputValueV1>;
636
1041
  outputTemplates: Partial<Record<ArtifactKind, unknown>>;
1042
+ reviewMetadata?: Awaited<ReturnType<ApexService["taskReviewMetadata"]>>;
1043
+ reviewMetadataReference?: {
1044
+ selector: "review-metadata";
1045
+ bytes: number;
1046
+ inlined: boolean;
1047
+ };
1048
+ reviewRequest?: ReviewRequestV1;
637
1049
  outputRoot: string;
638
1050
  status: string;
639
1051
  blockers: string[];
640
1052
  }>;
1053
+ readTaskInput(taskId: string, offset?: number, limit?: number, inputHash?: string): Promise<{
1054
+ subjectHash: string;
1055
+ content: string;
1056
+ offset: number;
1057
+ nextOffset?: number;
1058
+ outputTemplate?: unknown;
1059
+ }>;
641
1060
  stageArtifact(taskId: string, output: TaskOutput): Promise<StagedArtifact>;
1061
+ private readGovernanceBaselineBytes;
1062
+ private governanceBaselineValidator;
1063
+ private governanceBaselineOptions;
1064
+ private governanceQuestions;
1065
+ private governanceInputRequest;
1066
+ private governanceInputState;
1067
+ private governanceInitialImportProof;
1068
+ private assertGovernanceInputBinding;
1069
+ private governanceRefreshRequired;
1070
+ private inspectBaseline;
1071
+ private assertGovernanceCandidate;
1072
+ inspectGovernanceBaselineReadiness(path: string): Promise<{
1073
+ status: string;
1074
+ candidateHash: string;
1075
+ targetScope: string;
1076
+ observedAt: string;
1077
+ refreshRequired: boolean;
1078
+ imported: boolean;
1079
+ deploymentAuthorized: boolean;
1080
+ nextAction: string;
1081
+ }>;
1082
+ selectGovernanceBaseline(path: string, options?: {
1083
+ reopen?: boolean;
1084
+ }): Promise<{
1085
+ status: "needs_input";
1086
+ request: InputRequestV1;
1087
+ } | {
1088
+ status: "selected";
1089
+ choice: "reuse" | "refresh";
1090
+ candidateHash: string;
1091
+ observedAt: string;
1092
+ refreshRequired: boolean;
1093
+ }>;
1094
+ private governanceRevision;
1095
+ private pendingGovernanceRevision;
1096
+ private governanceWorkflowEvents;
1097
+ reviseGovernanceBaseline(path: string, options: {
1098
+ confirm: boolean;
1099
+ reason: string;
1100
+ }): Promise<{
1101
+ invalidatedNodes: string[];
1102
+ previousGovernanceHash: string;
1103
+ candidateHash: string;
1104
+ }>;
1105
+ importGovernanceBaseline(path: string): Promise<{
1106
+ outputHash: string;
1107
+ summary: string;
1108
+ }>;
1109
+ importGovernanceReference(): Promise<{
1110
+ outputHash: string;
1111
+ summary: string;
1112
+ }>;
642
1113
  stageFile(taskId: string, relativePath: string, content: string | Uint8Array, expectedSha?: string): Promise<StagedFile>;
643
1114
  generateIac(taskId: string, options?: GenerateIacOptions): Promise<{
644
1115
  files: StagedFile[];
645
1116
  outputHashes: Partial<Record<ArtifactKind, string>>;
646
1117
  treeHash: string;
647
1118
  }>;
1119
+ private assertPreviousGeneratedSourceUnmodified;
648
1120
  validateTask(taskId: string, output?: TaskOutput | TaskOutput[]): Promise<{
649
- valid: true;
1121
+ valid: boolean;
650
1122
  taskId: string;
651
1123
  staged?: StagedArtifact | StagedArtifact[];
1124
+ execution?: {
1125
+ mode: "native";
1126
+ executedValidatorIds: string[];
1127
+ blockedValidatorIds: string[];
1128
+ storageSecurity?: NativeValidationReceiptV1["storageSecurity"];
1129
+ storageDiagnostics?: NativeValidationReceiptV1["storageDiagnostics"];
1130
+ securityBaseline?: NativeValidationReceiptV1["securityBaseline"];
1131
+ };
1132
+ outputs?: TaskOutput[];
652
1133
  }>;
653
- completeTask(taskId: string, output: TaskOutput): Promise<{
654
- outputHash: string;
1134
+ completeTaskOutputs(taskId: string, outputs: TaskOutput[]): Promise<{
1135
+ outputHashes: Partial<Record<ArtifactKind, string>>;
655
1136
  summary: string;
656
1137
  }>;
657
- completeTaskOutputs(taskId: string, outputs: TaskOutput[]): Promise<{
1138
+ private reopenArchitecture;
1139
+ completeRequirements(taskId: string, requirements: RequirementsV1): Promise<{
658
1140
  outputHashes: Partial<Record<ArtifactKind, string>>;
659
1141
  summary: string;
660
1142
  }>;
1143
+ private prepareRequirementsAmendment;
1144
+ previewRequirementsAmendment(amendment: RequirementsAmendmentV1, reason: string): Promise<{
1145
+ schemaVersion: "1.0.0";
1146
+ projectId: string;
1147
+ runId: string;
1148
+ expectedHead: string;
1149
+ ownerEpoch: number;
1150
+ sourceRequirementsHash: string | null;
1151
+ mode: "adopt" | "revise";
1152
+ candidateHash: string;
1153
+ reason: string;
1154
+ addedRequirementIds: string[];
1155
+ removedRequirementIds: string[];
1156
+ changedRequirementIds: string[];
1157
+ retainedRequirementIds: string[];
1158
+ changedFields: string[];
1159
+ invalidatedNodes: string[];
1160
+ invalidatedGates: number[];
1161
+ requiresReassessment: ["cost", "policy", "security", "dependencies", "code", "documents"];
1162
+ filesModified: false;
1163
+ deploymentAuthorized: false;
1164
+ proposalHash: string;
1165
+ }>;
1166
+ amendRequirements(amendment: RequirementsAmendmentV1, options: {
1167
+ reason: string;
1168
+ expectedHash: string;
1169
+ confirm: boolean;
1170
+ }): Promise<{
1171
+ candidateHash: string;
1172
+ proposalHash: string;
1173
+ invalidatedNodes: string[];
1174
+ deploymentAuthorized: false;
1175
+ }>;
1176
+ previewRequirementsChange(candidate: RequirementsV1, reason: string, mode?: "adopt" | "revise"): Promise<{
1177
+ schemaVersion: "1.0.0";
1178
+ projectId: string;
1179
+ runId: string;
1180
+ expectedHead: string;
1181
+ ownerEpoch: number;
1182
+ sourceRequirementsHash: string | null;
1183
+ mode: "adopt" | "revise";
1184
+ candidateHash: string;
1185
+ reason: string;
1186
+ addedRequirementIds: string[];
1187
+ removedRequirementIds: string[];
1188
+ changedRequirementIds: string[];
1189
+ retainedRequirementIds: string[];
1190
+ changedFields: string[];
1191
+ invalidatedNodes: string[];
1192
+ invalidatedGates: number[];
1193
+ requiresReassessment: ["cost", "policy", "security", "dependencies", "code", "documents"];
1194
+ filesModified: false;
1195
+ deploymentAuthorized: false;
1196
+ proposalHash: string;
1197
+ }>;
1198
+ reviseRequirements(candidate: RequirementsV1, options: {
1199
+ reason: string;
1200
+ expectedHash: string;
1201
+ confirm: boolean;
1202
+ mode?: "adopt" | "revise";
1203
+ }): Promise<{
1204
+ candidateHash: string;
1205
+ proposalHash: string;
1206
+ invalidatedNodes: string[];
1207
+ deploymentAuthorized: false;
1208
+ }>;
1209
+ private pendingRequirementsRevision;
1210
+ private previousRequirementsHash;
1211
+ completeArchitecture(taskId: string, architecture: ArchitectureV1, costEstimate: CostEstimateV1, decisionManifest: Omit<WorkloadDecisionManifestV1, "projectId" | "runId" | "environment" | "sourceRequirementsHash" | "architectureHash" | "costEstimateHash" | "requirementTraceability">, policyMappings: PolicyPropertyMapV1["mappings"]): Promise<{
1212
+ outputHashes: Partial<Record<ArtifactKind, string>>;
1213
+ summary: string;
1214
+ }>;
1215
+ /**
1216
+ * Completes a review task from rubber-duck's captured output (DECISION-031). The kernel locates the single capture
1217
+ * for the task's request nonce, verifies its signature, prompt and origin, checks that the reviewed artifact is
1218
+ * still current, and derives every finding from the captured answer. The caller supplies no findings.
1219
+ */
1220
+ completeReview(taskId: string): Promise<{
1221
+ outputHashes: Partial<Record<ArtifactKind, string>>;
1222
+ summary: string;
1223
+ }>;
1224
+ /**
1225
+ * Review requests in this workspace that still wait for their rubber-duck capture: in each run, the last issued task
1226
+ * is a review task with a request, it is neither completed nor cancelled, and it has not expired. A rejected capture
1227
+ * leaves the review pending until the next request or a cancellation. Unreadable task files count as pending.
1228
+ */
1229
+ private pendingReviews;
1230
+ /**
1231
+ * DECISION-031 amendment (2026-10-08): while a review waits for its capture, refuse operations that approve, delete
1232
+ * or publish (MCP_TOOL_REVIEW_GUARDS), so an inherited rubber-duck cannot use them even when hooks fail open.
1233
+ */
1234
+ private assertNoPendingReview;
1235
+ /**
1236
+ * Best effort: removes captures of this run's used review requests whose earlier removal failed, and captures of
1237
+ * long-expired requests. File times are wall-clock, so the sweep uses the wall clock rather than the service clock.
1238
+ */
1239
+ private sweepCaptures;
1240
+ private reviewNonceConsumed;
1241
+ private issuedReviewRequest;
1242
+ private rejectReviewCapture;
1243
+ /**
1244
+ * Moves captures that will never be ingested into the run's object store as typed JSON audit evidence, so the shared
1245
+ * review home stays bounded and state transfer can still carry (and secret-check) every journal-referenced object.
1246
+ * Captures that cannot be archived move to the review home's quarantine first, so the caller's event records only
1247
+ * moves that happened; the quarantine keeps them even if that event then loses the race to another writer. The
1248
+ * caller removes `archived` once its event is committed.
1249
+ */
1250
+ private archiveReviewCaptures;
1251
+ /**
1252
+ * Writes the review inputs as readable files and builds the rubber-duck prompt that binds their hashes, the gate and
1253
+ * a fresh single-use nonce. Returns the journal binding for `task.issued`.
1254
+ */
1255
+ private prepareReviewRequest;
661
1256
  completePlan(taskId: string, intent: ImplementationIntentV1, binding: Omit<IacBindingV1, "intentHash">, environmentInputs: EnvironmentInputsV1): Promise<{
662
1257
  outputHashes: Partial<Record<ArtifactKind, string>>;
663
1258
  summary: string;
664
1259
  }>;
1260
+ private assertTaskType;
665
1261
  private acceptTaskOutputs;
666
1262
  private renderRequirementsDocument;
667
1263
  private requirementsReviewDirectory;
1264
+ private generatedReviewBase;
1265
+ private assertGeneratedReviewUnmodified;
1266
+ private assertTaskReviewFilesUnmodified;
1267
+ private removeGeneratedReview;
1268
+ private writeGeneratedReview;
1269
+ private materializeOperationalIndex;
668
1270
  private reviewMarkdownText;
669
1271
  private materializeRequirementsReviewPackage;
670
1272
  private materializeRequirementsChallengeFindings;
@@ -680,6 +1282,12 @@ export declare class ApexService {
680
1282
  private requirementsDocumentTemplateContent;
681
1283
  cancelTask(taskId: string): Promise<void>;
682
1284
  resolveReview(resolution: ReviewResolution): Promise<void>;
1285
+ decideReview(reviewHash: string, decisions: ReviewDecision[]): Promise<{
1286
+ status: "revision_requested" | "resolved";
1287
+ }>;
1288
+ private reviewAcceptedRiskDefaults;
1289
+ private pendingReview;
1290
+ private reviseReview;
683
1291
  private assertReviewResolution;
684
1292
  decideGateNumber(gateNumber: number, decision: "approved" | "rejected", actor: string, options?: GateDecisionOptions): Promise<ApprovalEvidenceV1>;
685
1293
  decideInteractiveGate(gateNumber: 1 | 2 | 3, decision: "approved" | "rejected"): Promise<ApprovalEvidenceV1>;
@@ -741,7 +1349,9 @@ export declare class ApexService {
741
1349
  deleteTelemetry(): Promise<{
742
1350
  deleted: true;
743
1351
  }>;
744
- render(kind: "status" | "requirements" | "preview" | "approval" | "inventory"): Promise<string>;
1352
+ private renderAcceptedPlanGuide;
1353
+ render(kind: "status" | "requirements" | "preview" | "approval" | "inventory" | "deployment-summary" | "deployment-guide" | "implementation-plan" | "operations-runbook" | "architecture-decisions"): Promise<string>;
1354
+ private renderCompletedDeploymentSummary;
745
1355
  diagnose(): Promise<unknown>;
746
1356
  reconcile(): Promise<unknown>;
747
1357
  setup(live?: boolean): Promise<unknown>;
@@ -756,6 +1366,9 @@ export declare class ApexService {
756
1366
  private nextRequirementsIntakeRound;
757
1367
  private issueRequirementsInput;
758
1368
  private requirementsIntakeQuestions;
1369
+ private recommendedWorkloadPattern;
1370
+ private workloadScalePrompt;
1371
+ private recommendedServiceCandidates;
759
1372
  private append;
760
1373
  private journal;
761
1374
  private runPath;
@@ -763,18 +1376,27 @@ export declare class ApexService {
763
1376
  private run;
764
1377
  private assertRequirementsIntakeAdmitted;
765
1378
  private runRepository;
1379
+ private acquireRunWriterLease;
1380
+ private releaseRunWriterLeaseIfOwned;
1381
+ private refreshWorkspacePath;
1382
+ private writerLeaseOwner;
766
1383
  private selection;
767
1384
  private writeSelection;
768
1385
  private latestPayloadHash;
769
1386
  private artifactHash;
770
1387
  private acceptedArtifactHashes;
771
1388
  private inputRefs;
1389
+ private reviewSubjectArtifactKind;
1390
+ private assertImportedGovernanceCurrent;
1391
+ private latestGovernanceObservation;
1392
+ private selectedGovernanceSnapshot;
772
1393
  private recordedRequirementsInput;
773
1394
  private outputTemplate;
774
1395
  private requirementsTemplateFromIntake;
775
1396
  private renderInputValue;
776
1397
  private completedNodeIds;
777
1398
  private lockedWorkflowEngine;
1399
+ private taskLimits;
778
1400
  private route;
779
1401
  private gateApproved;
780
1402
  private reviewBlockers;
@@ -783,15 +1405,34 @@ export declare class ApexService {
783
1405
  private openReviewFindings;
784
1406
  private validateOutput;
785
1407
  private validateBundle;
1408
+ private hasRequiredNativePolicyEvidence;
1409
+ private policyResultsMatchMappings;
1410
+ private referenceGovernanceNeedsRefresh;
1411
+ private policyMapNeedsRefresh;
1412
+ private refreshedPolicyMap;
1413
+ private enforcingGovernanceFindings;
1414
+ private governanceFindingsSummary;
1415
+ private governanceFindingsFor;
1416
+ private policyMappingKey;
1417
+ private completePolicyMap;
1418
+ private assertPolicyMapCoverage;
1419
+ private policyMapCoverageIssues;
1420
+ private policyValidationInput;
1421
+ private hasBoundResourceParity;
1422
+ private storageDiagnosticsTargets;
1423
+ private hasBoundStorageRouting;
1424
+ private hasBoundStorageDiagnostics;
1425
+ private storageSecurityBindings;
786
1426
  private validateTaskValidators;
787
1427
  private qualityValidatorContext;
788
1428
  private validateGateValidators;
1429
+ private nativeBicepManagedResources;
1430
+ private managedPreviewResources;
789
1431
  private validatePreviewValidators;
790
1432
  private validateDeployValidators;
791
1433
  private deployValidatorIds;
792
1434
  private validateInventoryValidators;
793
1435
  private ensureTerminalCompletion;
794
- private legacyPlanOutputs;
795
1436
  private readTask;
796
1437
  private refreshTaskHead;
797
1438
  private assertNoSymlinkPath;
@@ -800,21 +1441,25 @@ export declare class ApexService {
800
1441
  private looksLikeBinding;
801
1442
  private looksLikeEnvironmentInputs;
802
1443
  private assertValid;
1444
+ private contractIssues;
803
1445
  private invalidDateTimes;
804
1446
  private improvements;
805
1447
  private latestRun;
806
1448
  private customizationSelection;
807
1449
  private assertCleanInitialization;
808
1450
  private createRuntimeLock;
1451
+ private installRuntimeGeneration;
1452
+ private bundledGovernanceReference;
1453
+ private bundledToolchainMinimums;
1454
+ private hostToolVersion;
1455
+ private hostChecks;
1456
+ private pluginSettingsCheck;
1457
+ private runtimeRootForRun;
809
1458
  private capabilityPacks;
810
1459
  private runtimeLockChecks;
811
1460
  private ensureLocalGitBoundary;
812
1461
  private ensureWorkspaceRuntime;
813
1462
  private ensureWorkspaceGitRepository;
814
- private profilePaths;
815
- private ensureProfileRoot;
816
- private readProfileReceipt;
817
- private readProfileOptional;
818
1463
  private localGitBoundaryCheck;
819
1464
  private managedFileChecks;
820
1465
  private evidenceStore;