@apexops/cli 0.10.0-next.5 → 0.11.0-next.1

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 (366) hide show
  1. package/assets/capability-packs/registry.v1.json +1 -62
  2. package/assets/client-projection-metadata/copilot-cli-agent-tools.json +12 -0
  3. package/assets/client-projections/github-copilot-cli/.github/copilot/settings.json +13 -0
  4. package/assets/client-projections/github-copilot-cli/.github/instructions/apex-prompt-authoring.instructions.md +1 -1
  5. package/assets/client-projections/github-copilot-cli/.github/workflows/governance-policy-baseline.yml +101 -0
  6. package/assets/client-projections/github-copilot-cli/tools/schemas/governance-baseline.schema.json +118 -0
  7. package/assets/client-projections/github-copilot-cli/tools/scripts/collect-governance-baseline.ps1 +817 -0
  8. package/assets/config/capability-packs.v1.json +1 -32
  9. package/assets/config/governance-reference.v1.json +26379 -0
  10. package/assets/config/recipe-packs.v1.json +1 -26
  11. package/assets/config/runtime-bundle.v1.json +7 -7
  12. package/assets/config/toolchain.v1.json +35 -33
  13. package/assets/config/workflow.v1.json +103 -72
  14. package/assets/customizations/.github/agents/apex-codegen.agent.md +8 -22
  15. package/assets/customizations/.github/agents/apex-validator.agent.md +14 -20
  16. package/assets/customizations/.github/agents/apex.agent.md +108 -75
  17. package/assets/customizations/.github/copilot/settings.json +13 -0
  18. package/assets/customizations/.github/instructions/apex-prompt-authoring.instructions.md +1 -1
  19. package/assets/customizations/.github/skills/apex-architecture/SKILL.md +62 -18
  20. package/assets/customizations/.github/skills/apex-artifacts/SKILL.md +28 -6
  21. package/assets/customizations/.github/skills/apex-azure-adr/SKILL.md +3 -0
  22. package/assets/customizations/.github/skills/apex-azure-cloud-migrate/SKILL.md +3 -0
  23. package/assets/customizations/.github/skills/apex-azure-compliance/SKILL.md +3 -0
  24. package/assets/customizations/.github/skills/apex-azure-compute/SKILL.md +3 -0
  25. package/assets/customizations/.github/skills/apex-azure-cost-optimization/SKILL.md +3 -0
  26. package/assets/customizations/.github/skills/apex-azure-defaults/SKILL.md +3 -0
  27. package/assets/customizations/.github/skills/apex-azure-defaults/references/governance-effects.md +5 -3
  28. package/assets/customizations/.github/skills/apex-azure-deploy/SKILL.md +3 -0
  29. package/assets/customizations/.github/skills/apex-azure-diagnostics/SKILL.md +3 -0
  30. package/assets/customizations/.github/skills/apex-azure-governance/SKILL.md +19 -3
  31. package/assets/customizations/.github/skills/apex-azure-governance/references/evidence-interpretation.md +38 -3
  32. package/assets/customizations/.github/skills/apex-azure-kusto/SKILL.md +3 -0
  33. package/assets/customizations/.github/skills/apex-azure-prepare/SKILL.md +5 -3
  34. package/assets/customizations/.github/skills/apex-azure-quotas/SKILL.md +6 -2
  35. package/assets/customizations/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +4 -3
  36. package/assets/customizations/.github/skills/apex-azure-quotas/references/operational-checklist.md +3 -2
  37. package/assets/customizations/.github/skills/apex-azure-rbac/SKILL.md +3 -0
  38. package/assets/customizations/.github/skills/apex-azure-resources/SKILL.md +3 -0
  39. package/assets/customizations/.github/skills/apex-azure-storage/SKILL.md +3 -0
  40. package/assets/customizations/.github/skills/apex-azure-validate/SKILL.md +3 -0
  41. package/assets/customizations/.github/skills/apex-bicep-patterns/SKILL.md +3 -0
  42. package/assets/customizations/.github/skills/apex-codegen/SKILL.md +6 -2
  43. package/assets/customizations/.github/skills/apex-entra-app-registration/SKILL.md +3 -0
  44. package/assets/customizations/.github/skills/apex-mermaid/SKILL.md +3 -0
  45. package/assets/customizations/.github/skills/apex-microsoft-docs/SKILL.md +3 -0
  46. package/assets/customizations/.github/skills/apex-next/SKILL.md +99 -0
  47. package/assets/customizations/.github/skills/apex-operations/SKILL.md +46 -16
  48. package/assets/customizations/.github/skills/apex-planning/SKILL.md +48 -19
  49. package/assets/customizations/.github/skills/apex-requirements/SKILL.md +61 -26
  50. package/assets/customizations/.github/skills/apex-terraform-import/SKILL.md +3 -0
  51. package/assets/customizations/.github/skills/apex-terraform-patterns/SKILL.md +3 -0
  52. package/assets/customizations/.github/skills/apex-terraform-test/SKILL.md +3 -0
  53. package/assets/customizations/.github/skills/apex-unslop/LICENSE.txt +21 -0
  54. package/assets/customizations/.github/skills/apex-unslop/SKILL.md +94 -0
  55. package/assets/customizations/.github/skills/apex-workflow/SKILL.md +15 -5
  56. package/assets/customizations/.github/workflows/governance-policy-baseline.yml +101 -0
  57. package/assets/customizations/README.md +8 -9
  58. package/assets/customizations/manifest.json +167 -209
  59. package/assets/customizations/tools/schemas/governance-baseline.schema.json +118 -0
  60. package/assets/customizations/tools/scripts/collect-governance-baseline.ps1 +817 -0
  61. package/assets/manifest.json +423 -4241
  62. package/assets/schemas/governance-baseline.schema.json +118 -0
  63. package/dist/assets.d.ts +18 -2
  64. package/dist/assets.js +115 -35
  65. package/dist/bootstrap-wizard.d.ts +37 -0
  66. package/dist/bootstrap-wizard.js +259 -0
  67. package/dist/cli.d.ts +17 -2
  68. package/dist/cli.js +180 -63
  69. package/dist/dependency-revision.js +8 -0
  70. package/dist/errors.d.ts +6 -1
  71. package/dist/errors.js +55 -0
  72. package/dist/host-profile.d.ts +47 -0
  73. package/dist/host-profile.js +269 -0
  74. package/dist/mcp-output-schemas.d.ts +43 -0
  75. package/dist/mcp-output-schemas.js +279 -0
  76. package/dist/mcp-tool-effects.d.ts +101 -0
  77. package/dist/mcp-tool-effects.js +66 -0
  78. package/dist/mcp.d.ts +50 -3
  79. package/dist/mcp.js +800 -87
  80. package/dist/runtime-binding.d.ts +37 -0
  81. package/dist/runtime-binding.js +131 -0
  82. package/dist/service.d.ts +643 -38
  83. package/dist/service.js +4937 -662
  84. package/dist/state-transfer.js +21 -1
  85. package/dist/target-scope.d.ts +4 -0
  86. package/dist/target-scope.js +9 -0
  87. package/dist/version.d.ts +3 -1
  88. package/dist/version.js +19 -1
  89. package/dist/workflow-validators.d.ts +20 -3
  90. package/dist/workflow-validators.js +408 -67
  91. package/dist/workspace-root.d.ts +7 -0
  92. package/dist/workspace-root.js +67 -0
  93. package/package.json +11 -12
  94. package/assets/capability-packs/azure-governance-discovery/source/scripts/discover.py +0 -1189
  95. package/assets/capability-packs/azure-governance-discovery/source/scripts/render_governance.py +0 -676
  96. package/assets/client-projections/github-copilot-cli/.github/agents/apex-architect.agent.md +0 -91
  97. package/assets/client-projections/github-copilot-cli/.github/agents/apex-operator.agent.md +0 -75
  98. package/assets/client-projections/github-copilot-cli/.github/agents/apex-planner.agent.md +0 -88
  99. package/assets/client-projections/github-copilot-cli/.github/agents/apex-requirements.agent.md +0 -99
  100. package/assets/client-projections/github-copilot-cli/.github/agents/apex.agent.md +0 -88
  101. package/assets/client-projections/github-copilot-cli/.github/mcp.json +0 -65
  102. package/assets/client-projections/github-copilot-cli/.github/skills/apex-architecture/SKILL.md +0 -36
  103. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/SKILL.md +0 -65
  104. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/references/presentation-conventions.md +0 -52
  105. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/references/reference-only-outlines.md +0 -78
  106. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/architecture-assessment.md +0 -35
  107. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/cost-estimate.md +0 -47
  108. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/deployment-summary.md +0 -35
  109. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/governance-constraints.md +0 -35
  110. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/implementation-plan.md +0 -43
  111. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/operations-runbook.md +0 -35
  112. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/requirements.md +0 -42
  113. package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/resource-inventory.md +0 -29
  114. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/SKILL.md +0 -52
  115. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-examples.md +0 -38
  116. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-guardrails.md +0 -36
  117. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-quality.md +0 -21
  118. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-record-fields.md +0 -57
  119. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/SKILL.md +0 -55
  120. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/lambda-to-functions-assessment.md +0 -29
  121. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/migration-readiness.md +0 -27
  122. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/staged-validation-handoff.md +0 -26
  123. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/workload-mapping.md +0 -27
  124. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/SKILL.md +0 -58
  125. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/references/compliance-finding-criteria.md +0 -63
  126. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/references/operational-checklist.md +0 -24
  127. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/SKILL.md +0 -36
  128. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/compute-selection.md +0 -26
  129. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/pricing-evidence.md +0 -11
  130. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/recommendation-and-scale-rules.md +0 -44
  131. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/SKILL.md +0 -61
  132. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/references/cost-assessment-criteria.md +0 -61
  133. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/references/operational-checklist.md +0 -24
  134. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/SKILL.md +0 -59
  135. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/avm-binding-guidance.md +0 -29
  136. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/baseline-fallbacks.md +0 -53
  137. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/cost-monitoring.md +0 -47
  138. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/decision-boundaries.md +0 -19
  139. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/governance-effects.md +0 -28
  140. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/naming.md +0 -47
  141. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/network-planning.md +0 -47
  142. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/security-baseline.md +0 -40
  143. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/service-selection.md +0 -51
  144. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/tag-precedence.md +0 -31
  145. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/SKILL.md +0 -50
  146. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/references/operational-checklist.md +0 -26
  147. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/references/preview-recovery-verification.md +0 -48
  148. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/SKILL.md +0 -60
  149. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/references/diagnostic-interpretation.md +0 -42
  150. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/references/operational-checklist.md +0 -24
  151. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/SKILL.md +0 -52
  152. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/references/evidence-interpretation.md +0 -58
  153. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/references/operational-checklist.md +0 -25
  154. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/SKILL.md +0 -58
  155. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/references/kql-evidence-interpretation.md +0 -41
  156. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/references/operational-checklist.md +0 -25
  157. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/SKILL.md +0 -52
  158. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
  159. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/references/preparation-lineage.md +0 -36
  160. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/SKILL.md +0 -53
  161. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +0 -48
  162. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/references/operational-checklist.md +0 -23
  163. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/SKILL.md +0 -45
  164. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/references/assignment-intent.md +0 -39
  165. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/references/least-privilege-selection.md +0 -50
  166. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/SKILL.md +0 -54
  167. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/references/inventory-query-patterns.md +0 -49
  168. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/references/operational-checklist.md +0 -24
  169. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/SKILL.md +0 -35
  170. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/security-and-governance.md +0 -12
  171. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/service-auth-and-sdk-boundary.md +0 -33
  172. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/storage-selection.md +0 -12
  173. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/SKILL.md +0 -49
  174. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/references/operational-checklist.md +0 -24
  175. package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/references/preflight-evidence.md +0 -43
  176. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/SKILL.md +0 -41
  177. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/avm-and-codegen-acceptance.md +0 -11
  178. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/codegen-acceptance-checklist.md +0 -46
  179. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/compiler-and-provider-gotchas.md +0 -74
  180. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/module-interfaces-and-parameters.md +0 -56
  181. package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/network-and-observability.md +0 -52
  182. package/assets/client-projections/github-copilot-cli/.github/skills/apex-codegen/SKILL.md +0 -32
  183. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/SKILL.md +0 -53
  184. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/capability-receipts.md +0 -21
  185. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/design-and-diagnostics.md +0 -36
  186. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/oauth-registration-model.md +0 -26
  187. package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/permissions-and-credentials.md +0 -27
  188. package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/SKILL.md +0 -44
  189. package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/references/styling.md +0 -33
  190. package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/references/syntax.md +0 -99
  191. package/assets/client-projections/github-copilot-cli/.github/skills/apex-microsoft-docs/SKILL.md +0 -53
  192. package/assets/client-projections/github-copilot-cli/.github/skills/apex-microsoft-docs/references/research-method.md +0 -91
  193. package/assets/client-projections/github-copilot-cli/.github/skills/apex-operations/SKILL.md +0 -34
  194. package/assets/client-projections/github-copilot-cli/.github/skills/apex-planning/SKILL.md +0 -36
  195. package/assets/client-projections/github-copilot-cli/.github/skills/apex-requirements/SKILL.md +0 -46
  196. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/SKILL.md +0 -47
  197. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/adoption-attestation.md +0 -10
  198. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/import-assessment.md +0 -14
  199. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/import-mapping.md +0 -27
  200. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/mapping-and-adoption-attestation.md +0 -12
  201. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/SKILL.md +0 -49
  202. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-composition-and-refactor.md +0 -20
  203. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-composition-and-state-boundaries.md +0 -11
  204. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-locks-and-codegen-acceptance.md +0 -14
  205. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/network-and-observability.md +0 -12
  206. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/plan-and-change-assessment.md +0 -24
  207. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/SKILL.md +0 -45
  208. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/evidence-acceptance.md +0 -10
  209. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/plan-mode-and-mock-design.md +0 -12
  210. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/plan-mode-test-design.md +0 -23
  211. package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/test-design.md +0 -13
  212. package/assets/client-projections/github-copilot-cli/.github/skills/apex-workflow/SKILL.md +0 -37
  213. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-architect.agent.md +0 -100
  214. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-codegen.agent.md +0 -62
  215. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-operator.agent.md +0 -79
  216. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-planner.agent.md +0 -98
  217. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-requirements.agent.md +0 -108
  218. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-reviewer.agent.md +0 -63
  219. package/assets/client-projections/github-copilot-vscode/.github/agents/apex-validator.agent.md +0 -61
  220. package/assets/client-projections/github-copilot-vscode/.github/agents/apex.agent.md +0 -107
  221. package/assets/client-projections/github-copilot-vscode/.github/copilot-instructions.md +0 -13
  222. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-agent-authoring.instructions.md +0 -14
  223. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-artifact-contracts.instructions.md +0 -12
  224. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-automation.instructions.md +0 -12
  225. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-azure-yaml.instructions.md +0 -12
  226. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-bicep.instructions.md +0 -12
  227. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-code-quality.instructions.md +0 -12
  228. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-context.instructions.md +0 -12
  229. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-documentation.instructions.md +0 -12
  230. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-governance.instructions.md +0 -12
  231. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-instruction-authoring.instructions.md +0 -12
  232. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-javascript.instructions.md +0 -11
  233. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-json.instructions.md +0 -11
  234. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-markdown.instructions.md +0 -13
  235. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-powershell.instructions.md +0 -11
  236. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-prompt-authoring.instructions.md +0 -12
  237. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-python.instructions.md +0 -11
  238. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-safe-file-edits.instructions.md +0 -11
  239. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-safe-shell.instructions.md +0 -11
  240. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-shell.instructions.md +0 -11
  241. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-skill-authoring.instructions.md +0 -13
  242. package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-terraform.instructions.md +0 -12
  243. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-architecture/SKILL.md +0 -36
  244. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/SKILL.md +0 -65
  245. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/references/presentation-conventions.md +0 -52
  246. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/references/reference-only-outlines.md +0 -78
  247. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/architecture-assessment.md +0 -35
  248. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/cost-estimate.md +0 -47
  249. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/deployment-summary.md +0 -35
  250. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/governance-constraints.md +0 -35
  251. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/implementation-plan.md +0 -43
  252. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/operations-runbook.md +0 -35
  253. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/requirements.md +0 -42
  254. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/resource-inventory.md +0 -29
  255. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/SKILL.md +0 -52
  256. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-examples.md +0 -38
  257. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-guardrails.md +0 -36
  258. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-quality.md +0 -21
  259. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-record-fields.md +0 -57
  260. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/SKILL.md +0 -55
  261. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/lambda-to-functions-assessment.md +0 -29
  262. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/migration-readiness.md +0 -27
  263. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/staged-validation-handoff.md +0 -26
  264. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/workload-mapping.md +0 -27
  265. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/SKILL.md +0 -58
  266. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/references/compliance-finding-criteria.md +0 -63
  267. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/references/operational-checklist.md +0 -24
  268. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/SKILL.md +0 -36
  269. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/compute-selection.md +0 -26
  270. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/pricing-evidence.md +0 -11
  271. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/recommendation-and-scale-rules.md +0 -44
  272. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/SKILL.md +0 -61
  273. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/references/cost-assessment-criteria.md +0 -61
  274. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/references/operational-checklist.md +0 -24
  275. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/SKILL.md +0 -59
  276. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/avm-binding-guidance.md +0 -29
  277. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/baseline-fallbacks.md +0 -53
  278. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/cost-monitoring.md +0 -47
  279. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/decision-boundaries.md +0 -19
  280. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/governance-effects.md +0 -28
  281. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/naming.md +0 -47
  282. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/network-planning.md +0 -47
  283. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/security-baseline.md +0 -40
  284. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/service-selection.md +0 -51
  285. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/tag-precedence.md +0 -31
  286. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/SKILL.md +0 -50
  287. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/references/operational-checklist.md +0 -26
  288. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/references/preview-recovery-verification.md +0 -48
  289. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/SKILL.md +0 -60
  290. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/references/diagnostic-interpretation.md +0 -42
  291. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/references/operational-checklist.md +0 -24
  292. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/SKILL.md +0 -52
  293. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/references/evidence-interpretation.md +0 -58
  294. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/references/operational-checklist.md +0 -25
  295. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/SKILL.md +0 -58
  296. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/references/kql-evidence-interpretation.md +0 -41
  297. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/references/operational-checklist.md +0 -25
  298. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/SKILL.md +0 -52
  299. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
  300. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/references/preparation-lineage.md +0 -36
  301. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/SKILL.md +0 -53
  302. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +0 -48
  303. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/references/operational-checklist.md +0 -23
  304. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/SKILL.md +0 -45
  305. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/references/assignment-intent.md +0 -39
  306. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/references/least-privilege-selection.md +0 -50
  307. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/SKILL.md +0 -54
  308. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/references/inventory-query-patterns.md +0 -49
  309. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/references/operational-checklist.md +0 -24
  310. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/SKILL.md +0 -35
  311. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/security-and-governance.md +0 -12
  312. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/service-auth-and-sdk-boundary.md +0 -33
  313. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/storage-selection.md +0 -12
  314. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/SKILL.md +0 -49
  315. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/references/operational-checklist.md +0 -24
  316. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/references/preflight-evidence.md +0 -43
  317. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/SKILL.md +0 -41
  318. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/avm-and-codegen-acceptance.md +0 -11
  319. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/codegen-acceptance-checklist.md +0 -46
  320. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/compiler-and-provider-gotchas.md +0 -74
  321. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/module-interfaces-and-parameters.md +0 -56
  322. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/network-and-observability.md +0 -52
  323. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-codegen/SKILL.md +0 -32
  324. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/SKILL.md +0 -53
  325. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/capability-receipts.md +0 -21
  326. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/design-and-diagnostics.md +0 -36
  327. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/oauth-registration-model.md +0 -26
  328. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/permissions-and-credentials.md +0 -27
  329. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/SKILL.md +0 -44
  330. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/references/styling.md +0 -33
  331. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/references/syntax.md +0 -99
  332. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-microsoft-docs/SKILL.md +0 -53
  333. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-microsoft-docs/references/research-method.md +0 -91
  334. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-operations/SKILL.md +0 -34
  335. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-planning/SKILL.md +0 -36
  336. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-requirements/SKILL.md +0 -46
  337. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/SKILL.md +0 -47
  338. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/adoption-attestation.md +0 -10
  339. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/import-assessment.md +0 -14
  340. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/import-mapping.md +0 -27
  341. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/mapping-and-adoption-attestation.md +0 -12
  342. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/SKILL.md +0 -49
  343. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-composition-and-refactor.md +0 -20
  344. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-composition-and-state-boundaries.md +0 -11
  345. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-locks-and-codegen-acceptance.md +0 -14
  346. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/network-and-observability.md +0 -12
  347. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/plan-and-change-assessment.md +0 -24
  348. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/SKILL.md +0 -45
  349. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/evidence-acceptance.md +0 -10
  350. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/plan-mode-and-mock-design.md +0 -12
  351. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/plan-mode-test-design.md +0 -23
  352. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/test-design.md +0 -13
  353. package/assets/client-projections/github-copilot-vscode/.github/skills/apex-workflow/SKILL.md +0 -37
  354. package/assets/client-projections/github-copilot-vscode/.vscode/mcp.json +0 -29
  355. package/assets/customizations/.github/agents/apex-architect.agent.md +0 -93
  356. package/assets/customizations/.github/agents/apex-operator.agent.md +0 -72
  357. package/assets/customizations/.github/agents/apex-planner.agent.md +0 -91
  358. package/assets/customizations/.github/agents/apex-requirements.agent.md +0 -101
  359. package/assets/customizations/.github/agents/apex-reviewer.agent.md +0 -60
  360. package/assets/customizations/.github/mcp.json +0 -65
  361. package/assets/customizations/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
  362. package/assets/customizations/.vscode/mcp.json +0 -29
  363. package/dist/azure-mcp-environment.d.ts +0 -2
  364. package/dist/azure-mcp-environment.js +0 -7
  365. package/dist/azure-mcp.d.ts +0 -2
  366. package/dist/azure-mcp.js +0 -21
package/dist/service.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { type ApprovalEvidenceV1, type ArchitectureAvailabilityV1, type ArchitectureV1, type CostEstimateV1, 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 ReviewFindingsV1, type RequirementsV1, type RunConfigV1, type RunId, type WorkloadDecisionManifestV1, 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,22 +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
  }
55
57
  export interface ReviewDecision {
56
58
  findingId: string;
57
- action: "revise" | "accept-risk";
58
- rationale: string;
59
+ action: "revise" | "accept-risk" | "acknowledge" | "dismiss";
60
+ rationale?: string;
61
+ owner?: string;
59
62
  expiresAt?: string;
60
63
  }
61
64
  export interface ServiceOptions {
62
65
  clock?: () => Date;
63
66
  idSource?: () => string;
67
+ workspacePath?: string;
68
+ writerLeaseTtlMs?: number;
64
69
  providers?: Partial<Record<"fake" | "bicep" | "terraform", IacProvider>>;
65
70
  architectureAvailabilityAdapter?: (evidence: ArchitectureAvailabilityV1) => Promise<void>;
66
71
  executableChecker?: (executable: string) => Promise<boolean>;
@@ -70,14 +75,28 @@ export interface ServiceOptions {
70
75
  }>;
71
76
  customizationFailureInjector?: (index: number, destination: string) => void | Promise<void>;
72
77
  processRunner?: ProcessRunnerLike;
73
- profileRoot?: string;
74
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[];
75
92
  }
76
93
  interface DoctorCheck {
77
94
  id: string;
78
95
  ok: boolean;
79
96
  value: string;
80
97
  remedy?: string;
98
+ /** Marks a passing advisory check; warnings never make doctor unhealthy. */
99
+ severity?: "warning";
81
100
  }
82
101
  declare const ARTIFACTS: {
83
102
  readonly requirements: readonly ["requirements", import("@sinclair/typebox").TObject<{
@@ -167,12 +186,50 @@ declare const ARTIFACTS: {
167
186
  components: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
168
187
  id: import("@sinclair/typebox").TString;
169
188
  service: import("@sinclair/typebox").TString;
189
+ resourceTypes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
170
190
  purpose: import("@sinclair/typebox").TString;
171
191
  requirementIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
172
192
  dependsOn: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
173
193
  }>>;
174
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
+ }>>>;
175
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
+ }>>;
176
233
  }>];
177
234
  readonly "cost-estimate": readonly ["cost-estimate", import("@sinclair/typebox").TObject<{
178
235
  schemaVersion: import("@sinclair/typebox").TLiteral<"1.0.0">;
@@ -180,6 +237,7 @@ declare const ARTIFACTS: {
180
237
  runId: import("@sinclair/typebox").TString;
181
238
  currency: import("@sinclair/typebox").TString;
182
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">]>>;
183
241
  lineItems: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
184
242
  id: import("@sinclair/typebox").TString;
185
243
  service: import("@sinclair/typebox").TString;
@@ -201,6 +259,14 @@ declare const ARTIFACTS: {
201
259
  basis: import("@sinclair/typebox").TString;
202
260
  }>;
203
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
+ }>>>;
204
270
  totalMonthlyCost: import("@sinclair/typebox").TNumber;
205
271
  assumptions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
206
272
  }>];
@@ -211,6 +277,13 @@ declare const ARTIFACTS: {
211
277
  subjectKind: import("@sinclair/typebox").TString;
212
278
  subjectHash: import("@sinclair/typebox").TString;
213
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
+ }>;
214
287
  findings: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
215
288
  id: import("@sinclair/typebox").TString;
216
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">]>;
@@ -220,12 +293,19 @@ declare const ARTIFACTS: {
220
293
  evidenceRefs: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
221
294
  resolution: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
222
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
+ }>>>;
223
302
  }>];
224
303
  readonly "governance-constraints": readonly ["governance-constraints", import("@sinclair/typebox").TObject<{
225
304
  schemaVersion: import("@sinclair/typebox").TLiteral<"1.0.0">;
226
305
  projectId: import("@sinclair/typebox").TString;
227
306
  runId: import("@sinclair/typebox").TString;
228
307
  targetScope: import("@sinclair/typebox").TString;
308
+ source: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"collected">, import("@sinclair/typebox").TLiteral<"reference">]>;
229
309
  discoveredAt: import("@sinclair/typebox").TString;
230
310
  expiresAt: import("@sinclair/typebox").TString;
231
311
  summary: import("@sinclair/typebox").TObject<{
@@ -249,11 +329,14 @@ declare const ARTIFACTS: {
249
329
  governanceHash: import("@sinclair/typebox").TString;
250
330
  mappings: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
251
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>;
252
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">]>;
253
335
  logicalResourceId: import("@sinclair/typebox").TString;
254
336
  propertyPath: import("@sinclair/typebox").TString;
255
337
  expectedValue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
256
- 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>;
257
340
  }>>;
258
341
  }>];
259
342
  readonly "implementation-intent": readonly ["implementation-intent", import("@sinclair/typebox").TObject<{
@@ -280,6 +363,13 @@ declare const ARTIFACTS: {
280
363
  implementation: import("@sinclair/typebox").TString;
281
364
  version: import("@sinclair/typebox").TString;
282
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
+ }>>>;
283
373
  }>>;
284
374
  }>];
285
375
  readonly "environment-inputs": readonly ["environment-inputs", import("@sinclair/typebox").TObject<{
@@ -306,6 +396,7 @@ declare const ARTIFACTS: {
306
396
  logicalId: import("@sinclair/typebox").TString;
307
397
  type: import("@sinclair/typebox").TString;
308
398
  implementationAddress: import("@sinclair/typebox").TString;
399
+ executionAddress: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
309
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">]>;
310
401
  ownership: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"existing">, import("@sinclair/typebox").TLiteral<"managed">]>;
311
402
  dependsOn: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
@@ -438,6 +529,57 @@ declare const ARTIFACTS: {
438
529
  diagnosedAt: import("@sinclair/typebox").TString;
439
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">]>;
440
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
+ }>>;
441
583
  causes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
442
584
  id: import("@sinclair/typebox").TString;
443
585
  summary: import("@sinclair/typebox").TString;
@@ -470,7 +612,10 @@ export declare const SUPPORTED_ARTIFACT_KINDS: ArtifactKind[];
470
612
  export declare class ApexService {
471
613
  readonly root: string;
472
614
  private readonly clock;
615
+ private readonly diagramRasterizer;
473
616
  private readonly idSource;
617
+ private readonly writerLeaseTtlMs;
618
+ private readonly repeatWindowMs;
474
619
  private readonly projects;
475
620
  private readonly objects;
476
621
  private readonly cache;
@@ -481,11 +626,25 @@ export declare class ApexService {
481
626
  private readonly azureAuthStatus;
482
627
  private readonly customizationFailureInjector?;
483
628
  private readonly processRunner;
484
- 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;
485
635
  private readonly improvementPolicy;
486
636
  private improvementRuntime?;
487
637
  private requirementsDocumentTemplate?;
638
+ private workspacePath;
639
+ private readonly reviewHomeOverride;
640
+ private reviewGuardPeers;
488
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;
489
648
  improvementObserve(input: {
490
649
  taskId?: string;
491
650
  observedAt?: string;
@@ -528,40 +687,133 @@ export declare class ApexService {
528
687
  environment?: string;
529
688
  targetScope?: string;
530
689
  iacTool?: "bicep" | "terraform";
690
+ riskOwner: RiskOwner;
531
691
  customizationsSource?: string;
532
692
  clientId?: BundledClientProjection["id"];
533
693
  }): Promise<{
534
694
  projectId: ProjectId;
535
695
  runId: RunId;
536
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;
537
784
  bootstrap(input: {
538
785
  projectId: ProjectId;
539
786
  displayName?: string;
540
787
  environment?: string;
541
788
  targetScope?: string;
542
789
  iacTool?: "bicep" | "terraform";
790
+ riskOwner: RiskOwner;
543
791
  clientId?: BundledClientProjection["id"];
544
792
  createRepository?: boolean;
545
793
  }): Promise<{
546
794
  projectId: ProjectId;
547
795
  runId: RunId;
796
+ workspaceReady: true;
797
+ projectCreated: boolean;
548
798
  runtimeInstalled: boolean;
799
+ resumed: boolean;
549
800
  }>;
550
- profileStatus(): Promise<{
551
- installed: boolean;
552
- modified: boolean;
553
- version?: string;
554
- }>;
555
- profileInstall(): Promise<{
556
- installed: boolean;
557
- version: string;
558
- }>;
559
- profileUpdate(): Promise<{
560
- updated: boolean;
561
- version: string;
562
- }>;
563
- profileUninstall(): Promise<{
564
- 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;
565
817
  }>;
566
818
  createProject(input: {
567
819
  projectId: ProjectId;
@@ -569,21 +821,32 @@ export declare class ApexService {
569
821
  environment?: string;
570
822
  targetScope?: string;
571
823
  iacTool?: "bicep" | "terraform";
824
+ riskOwner: RiskOwner;
572
825
  }): Promise<{
573
826
  projectId: ProjectId;
574
827
  runId: RunId;
575
828
  }>;
576
829
  update(customizationsSource?: string): Promise<{
577
830
  updated: string[];
831
+ retired: string[];
832
+ conflicts: string[];
578
833
  }>;
579
834
  rollbackCustomizations(): Promise<{
580
835
  restored: string[];
836
+ removed: string[];
581
837
  conflicts: string[];
582
838
  }>;
583
839
  uninstallCustomizations(): Promise<{
584
840
  removed: string[];
585
841
  conflicts: string[];
586
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
+ }>;
587
850
  reinstallCustomizations(customizationsSource?: string): Promise<{
588
851
  installed: string[];
589
852
  clientId: BundledClientProjection["id"];
@@ -592,6 +855,7 @@ export declare class ApexService {
592
855
  projectId: string;
593
856
  displayName: string;
594
857
  }>>;
858
+ private workspaceHasNoProjects;
595
859
  deleteProject(projectId: ProjectId, confirmed: boolean): Promise<{
596
860
  deleted: ProjectId;
597
861
  selected?: Selection;
@@ -614,6 +878,132 @@ export declare class ApexService {
614
878
  artifactKinds: string[];
615
879
  payload: JsonValue;
616
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
+ }>;
617
1007
  status(): Promise<{
618
1008
  run: RunConfigV1;
619
1009
  head: string | null;
@@ -631,23 +1021,36 @@ export declare class ApexService {
631
1021
  status: "task";
632
1022
  task: TaskEnvelopeV1;
633
1023
  }>;
1024
+ private currentIssuedTask;
634
1025
  recordInput(input: InputSubmissionV1): Promise<{
635
1026
  recorded: true;
636
1027
  requestId: string;
637
1028
  }>;
638
- recordRequirementsInput(value: unknown): Promise<void>;
1029
+ private taskReviewMetadata;
639
1030
  taskContext(taskId: string): Promise<{
640
1031
  task: TaskEnvelopeV1;
641
1032
  inputs: unknown[];
1033
+ inputReferences: Array<{
1034
+ hash: string;
1035
+ bytes: number;
1036
+ inlined: boolean;
1037
+ }>;
642
1038
  artifactHashes: Record<string, string>;
643
1039
  recordedInput: Record<string, InputValueV1> | null;
644
1040
  decisions: Record<string, InputValueV1>;
645
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;
646
1049
  outputRoot: string;
647
1050
  status: string;
648
1051
  blockers: string[];
649
1052
  }>;
650
- readTaskInput(taskId: string, offset?: number, limit?: number): Promise<{
1053
+ readTaskInput(taskId: string, offset?: number, limit?: number, inputHash?: string): Promise<{
651
1054
  subjectHash: string;
652
1055
  content: string;
653
1056
  offset: number;
@@ -655,37 +1058,201 @@ export declare class ApexService {
655
1058
  outputTemplate?: unknown;
656
1059
  }>;
657
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
+ }>;
658
1113
  stageFile(taskId: string, relativePath: string, content: string | Uint8Array, expectedSha?: string): Promise<StagedFile>;
659
1114
  generateIac(taskId: string, options?: GenerateIacOptions): Promise<{
660
1115
  files: StagedFile[];
661
1116
  outputHashes: Partial<Record<ArtifactKind, string>>;
662
1117
  treeHash: string;
663
1118
  }>;
1119
+ private assertPreviousGeneratedSourceUnmodified;
664
1120
  validateTask(taskId: string, output?: TaskOutput | TaskOutput[]): Promise<{
665
- valid: true;
1121
+ valid: boolean;
666
1122
  taskId: string;
667
1123
  staged?: StagedArtifact | StagedArtifact[];
668
- }>;
669
- completeTask(taskId: string, output: TaskOutput): Promise<{
670
- outputHash: string;
671
- summary: string;
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[];
672
1133
  }>;
673
1134
  completeTaskOutputs(taskId: string, outputs: TaskOutput[]): Promise<{
674
1135
  outputHashes: Partial<Record<ArtifactKind, string>>;
675
1136
  summary: string;
676
1137
  }>;
1138
+ private reopenArchitecture;
677
1139
  completeRequirements(taskId: string, requirements: RequirementsV1): Promise<{
678
1140
  outputHashes: Partial<Record<ArtifactKind, string>>;
679
1141
  summary: string;
680
1142
  }>;
681
- completeArchitecture(taskId: string, architecture: ArchitectureV1, costEstimate: CostEstimateV1, decisionManifest: WorkloadDecisionManifestV1): Promise<{
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<{
682
1212
  outputHashes: Partial<Record<ArtifactKind, string>>;
683
1213
  summary: string;
684
1214
  }>;
685
- completeReview(taskId: string, findings: Array<Pick<ReviewFindingsV1["findings"][number], "id" | "severity" | "title" | "detail">>): Promise<{
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<{
686
1221
  outputHashes: Partial<Record<ArtifactKind, string>>;
687
1222
  summary: string;
688
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;
689
1256
  completePlan(taskId: string, intent: ImplementationIntentV1, binding: Omit<IacBindingV1, "intentHash">, environmentInputs: EnvironmentInputsV1): Promise<{
690
1257
  outputHashes: Partial<Record<ArtifactKind, string>>;
691
1258
  summary: string;
@@ -694,6 +1261,12 @@ export declare class ApexService {
694
1261
  private acceptTaskOutputs;
695
1262
  private renderRequirementsDocument;
696
1263
  private requirementsReviewDirectory;
1264
+ private generatedReviewBase;
1265
+ private assertGeneratedReviewUnmodified;
1266
+ private assertTaskReviewFilesUnmodified;
1267
+ private removeGeneratedReview;
1268
+ private writeGeneratedReview;
1269
+ private materializeOperationalIndex;
697
1270
  private reviewMarkdownText;
698
1271
  private materializeRequirementsReviewPackage;
699
1272
  private materializeRequirementsChallengeFindings;
@@ -712,6 +1285,7 @@ export declare class ApexService {
712
1285
  decideReview(reviewHash: string, decisions: ReviewDecision[]): Promise<{
713
1286
  status: "revision_requested" | "resolved";
714
1287
  }>;
1288
+ private reviewAcceptedRiskDefaults;
715
1289
  private pendingReview;
716
1290
  private reviseReview;
717
1291
  private assertReviewResolution;
@@ -775,7 +1349,9 @@ export declare class ApexService {
775
1349
  deleteTelemetry(): Promise<{
776
1350
  deleted: true;
777
1351
  }>;
778
- 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;
779
1355
  diagnose(): Promise<unknown>;
780
1356
  reconcile(): Promise<unknown>;
781
1357
  setup(live?: boolean): Promise<unknown>;
@@ -788,7 +1364,6 @@ export declare class ApexService {
788
1364
  private architectureDecisionValues;
789
1365
  private issueArchitectureDecision;
790
1366
  private nextRequirementsIntakeRound;
791
- private requirementsIntakeCatalog;
792
1367
  private issueRequirementsInput;
793
1368
  private requirementsIntakeQuestions;
794
1369
  private recommendedWorkloadPattern;
@@ -801,18 +1376,27 @@ export declare class ApexService {
801
1376
  private run;
802
1377
  private assertRequirementsIntakeAdmitted;
803
1378
  private runRepository;
1379
+ private acquireRunWriterLease;
1380
+ private releaseRunWriterLeaseIfOwned;
1381
+ private refreshWorkspacePath;
1382
+ private writerLeaseOwner;
804
1383
  private selection;
805
1384
  private writeSelection;
806
1385
  private latestPayloadHash;
807
1386
  private artifactHash;
808
1387
  private acceptedArtifactHashes;
809
1388
  private inputRefs;
1389
+ private reviewSubjectArtifactKind;
1390
+ private assertImportedGovernanceCurrent;
1391
+ private latestGovernanceObservation;
1392
+ private selectedGovernanceSnapshot;
810
1393
  private recordedRequirementsInput;
811
1394
  private outputTemplate;
812
1395
  private requirementsTemplateFromIntake;
813
1396
  private renderInputValue;
814
1397
  private completedNodeIds;
815
1398
  private lockedWorkflowEngine;
1399
+ private taskLimits;
816
1400
  private route;
817
1401
  private gateApproved;
818
1402
  private reviewBlockers;
@@ -821,15 +1405,34 @@ export declare class ApexService {
821
1405
  private openReviewFindings;
822
1406
  private validateOutput;
823
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;
824
1426
  private validateTaskValidators;
825
1427
  private qualityValidatorContext;
826
1428
  private validateGateValidators;
1429
+ private nativeBicepManagedResources;
1430
+ private managedPreviewResources;
827
1431
  private validatePreviewValidators;
828
1432
  private validateDeployValidators;
829
1433
  private deployValidatorIds;
830
1434
  private validateInventoryValidators;
831
1435
  private ensureTerminalCompletion;
832
- private legacyPlanOutputs;
833
1436
  private readTask;
834
1437
  private refreshTaskHead;
835
1438
  private assertNoSymlinkPath;
@@ -838,6 +1441,7 @@ export declare class ApexService {
838
1441
  private looksLikeBinding;
839
1442
  private looksLikeEnvironmentInputs;
840
1443
  private assertValid;
1444
+ private contractIssues;
841
1445
  private invalidDateTimes;
842
1446
  private improvements;
843
1447
  private latestRun;
@@ -845,16 +1449,17 @@ export declare class ApexService {
845
1449
  private assertCleanInitialization;
846
1450
  private createRuntimeLock;
847
1451
  private installRuntimeGeneration;
1452
+ private bundledGovernanceReference;
1453
+ private bundledToolchainMinimums;
1454
+ private hostToolVersion;
1455
+ private hostChecks;
1456
+ private pluginSettingsCheck;
848
1457
  private runtimeRootForRun;
849
1458
  private capabilityPacks;
850
1459
  private runtimeLockChecks;
851
1460
  private ensureLocalGitBoundary;
852
1461
  private ensureWorkspaceRuntime;
853
1462
  private ensureWorkspaceGitRepository;
854
- private profilePaths;
855
- private ensureProfileRoot;
856
- private readProfileReceipt;
857
- private readProfileOptional;
858
1463
  private localGitBoundaryCheck;
859
1464
  private managedFileChecks;
860
1465
  private evidenceStore;