@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.
- package/assets/capability-packs/registry.v1.json +1 -62
- package/assets/client-projection-metadata/copilot-cli-agent-tools.json +12 -0
- package/assets/client-projections/github-copilot-cli/.github/copilot/settings.json +13 -0
- package/assets/client-projections/github-copilot-cli/.github/instructions/apex-prompt-authoring.instructions.md +1 -1
- package/assets/client-projections/github-copilot-cli/.github/workflows/governance-policy-baseline.yml +101 -0
- package/assets/client-projections/github-copilot-cli/tools/schemas/governance-baseline.schema.json +118 -0
- package/assets/client-projections/github-copilot-cli/tools/scripts/collect-governance-baseline.ps1 +817 -0
- package/assets/config/capability-packs.v1.json +1 -32
- package/assets/config/governance-reference.v1.json +26379 -0
- package/assets/config/recipe-packs.v1.json +1 -26
- package/assets/config/runtime-bundle.v1.json +7 -7
- package/assets/config/toolchain.v1.json +35 -33
- package/assets/config/workflow.v1.json +103 -72
- package/assets/customizations/.github/agents/apex-codegen.agent.md +8 -22
- package/assets/customizations/.github/agents/apex-validator.agent.md +14 -20
- package/assets/customizations/.github/agents/apex.agent.md +108 -75
- package/assets/customizations/.github/copilot/settings.json +13 -0
- package/assets/customizations/.github/instructions/apex-prompt-authoring.instructions.md +1 -1
- package/assets/customizations/.github/skills/apex-architecture/SKILL.md +62 -18
- package/assets/customizations/.github/skills/apex-artifacts/SKILL.md +28 -6
- package/assets/customizations/.github/skills/apex-azure-adr/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-cloud-migrate/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-compliance/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-compute/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-cost-optimization/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-defaults/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-defaults/references/governance-effects.md +5 -3
- package/assets/customizations/.github/skills/apex-azure-deploy/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-diagnostics/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-governance/SKILL.md +19 -3
- package/assets/customizations/.github/skills/apex-azure-governance/references/evidence-interpretation.md +38 -3
- package/assets/customizations/.github/skills/apex-azure-kusto/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-prepare/SKILL.md +5 -3
- package/assets/customizations/.github/skills/apex-azure-quotas/SKILL.md +6 -2
- package/assets/customizations/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +4 -3
- package/assets/customizations/.github/skills/apex-azure-quotas/references/operational-checklist.md +3 -2
- package/assets/customizations/.github/skills/apex-azure-rbac/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-resources/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-storage/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-azure-validate/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-bicep-patterns/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-codegen/SKILL.md +6 -2
- package/assets/customizations/.github/skills/apex-entra-app-registration/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-mermaid/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-microsoft-docs/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-next/SKILL.md +99 -0
- package/assets/customizations/.github/skills/apex-operations/SKILL.md +46 -16
- package/assets/customizations/.github/skills/apex-planning/SKILL.md +48 -19
- package/assets/customizations/.github/skills/apex-requirements/SKILL.md +61 -26
- package/assets/customizations/.github/skills/apex-terraform-import/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-terraform-patterns/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-terraform-test/SKILL.md +3 -0
- package/assets/customizations/.github/skills/apex-unslop/LICENSE.txt +21 -0
- package/assets/customizations/.github/skills/apex-unslop/SKILL.md +94 -0
- package/assets/customizations/.github/skills/apex-workflow/SKILL.md +15 -5
- package/assets/customizations/.github/workflows/governance-policy-baseline.yml +101 -0
- package/assets/customizations/README.md +8 -9
- package/assets/customizations/manifest.json +167 -209
- package/assets/customizations/tools/schemas/governance-baseline.schema.json +118 -0
- package/assets/customizations/tools/scripts/collect-governance-baseline.ps1 +817 -0
- package/assets/manifest.json +423 -4241
- package/assets/schemas/governance-baseline.schema.json +118 -0
- package/dist/assets.d.ts +18 -2
- package/dist/assets.js +115 -35
- package/dist/bootstrap-wizard.d.ts +37 -0
- package/dist/bootstrap-wizard.js +259 -0
- package/dist/cli.d.ts +17 -2
- package/dist/cli.js +180 -63
- package/dist/dependency-revision.js +8 -0
- package/dist/errors.d.ts +6 -1
- package/dist/errors.js +55 -0
- package/dist/host-profile.d.ts +47 -0
- package/dist/host-profile.js +269 -0
- package/dist/mcp-output-schemas.d.ts +43 -0
- package/dist/mcp-output-schemas.js +279 -0
- package/dist/mcp-tool-effects.d.ts +101 -0
- package/dist/mcp-tool-effects.js +66 -0
- package/dist/mcp.d.ts +50 -3
- package/dist/mcp.js +800 -87
- package/dist/runtime-binding.d.ts +37 -0
- package/dist/runtime-binding.js +131 -0
- package/dist/service.d.ts +643 -38
- package/dist/service.js +4937 -662
- package/dist/state-transfer.js +21 -1
- package/dist/target-scope.d.ts +4 -0
- package/dist/target-scope.js +9 -0
- package/dist/version.d.ts +3 -1
- package/dist/version.js +19 -1
- package/dist/workflow-validators.d.ts +20 -3
- package/dist/workflow-validators.js +408 -67
- package/dist/workspace-root.d.ts +7 -0
- package/dist/workspace-root.js +67 -0
- package/package.json +11 -12
- package/assets/capability-packs/azure-governance-discovery/source/scripts/discover.py +0 -1189
- package/assets/capability-packs/azure-governance-discovery/source/scripts/render_governance.py +0 -676
- package/assets/client-projections/github-copilot-cli/.github/agents/apex-architect.agent.md +0 -91
- package/assets/client-projections/github-copilot-cli/.github/agents/apex-operator.agent.md +0 -75
- package/assets/client-projections/github-copilot-cli/.github/agents/apex-planner.agent.md +0 -88
- package/assets/client-projections/github-copilot-cli/.github/agents/apex-requirements.agent.md +0 -99
- package/assets/client-projections/github-copilot-cli/.github/agents/apex.agent.md +0 -88
- package/assets/client-projections/github-copilot-cli/.github/mcp.json +0 -65
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-architecture/SKILL.md +0 -36
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/SKILL.md +0 -65
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/references/presentation-conventions.md +0 -52
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/references/reference-only-outlines.md +0 -78
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/architecture-assessment.md +0 -35
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/cost-estimate.md +0 -47
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/deployment-summary.md +0 -35
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/governance-constraints.md +0 -35
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/implementation-plan.md +0 -43
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/operations-runbook.md +0 -35
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/requirements.md +0 -42
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-artifacts/templates/resource-inventory.md +0 -29
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/SKILL.md +0 -52
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-examples.md +0 -38
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-guardrails.md +0 -36
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-quality.md +0 -21
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-adr/references/decision-record-fields.md +0 -57
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/SKILL.md +0 -55
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/lambda-to-functions-assessment.md +0 -29
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/migration-readiness.md +0 -27
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/staged-validation-handoff.md +0 -26
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cloud-migrate/references/workload-mapping.md +0 -27
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/SKILL.md +0 -58
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/references/compliance-finding-criteria.md +0 -63
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compliance/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/SKILL.md +0 -36
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/compute-selection.md +0 -26
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/pricing-evidence.md +0 -11
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-compute/references/recommendation-and-scale-rules.md +0 -44
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/SKILL.md +0 -61
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/references/cost-assessment-criteria.md +0 -61
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-cost-optimization/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/SKILL.md +0 -59
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/avm-binding-guidance.md +0 -29
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/baseline-fallbacks.md +0 -53
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/cost-monitoring.md +0 -47
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/decision-boundaries.md +0 -19
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/governance-effects.md +0 -28
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/naming.md +0 -47
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/network-planning.md +0 -47
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/security-baseline.md +0 -40
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/service-selection.md +0 -51
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-defaults/references/tag-precedence.md +0 -31
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/SKILL.md +0 -50
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/references/operational-checklist.md +0 -26
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-deploy/references/preview-recovery-verification.md +0 -48
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/SKILL.md +0 -60
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/references/diagnostic-interpretation.md +0 -42
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-diagnostics/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/SKILL.md +0 -52
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/references/evidence-interpretation.md +0 -58
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-governance/references/operational-checklist.md +0 -25
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/SKILL.md +0 -58
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/references/kql-evidence-interpretation.md +0 -41
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-kusto/references/operational-checklist.md +0 -25
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/SKILL.md +0 -52
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-prepare/references/preparation-lineage.md +0 -36
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/SKILL.md +0 -53
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +0 -48
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-quotas/references/operational-checklist.md +0 -23
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/SKILL.md +0 -45
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/references/assignment-intent.md +0 -39
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-rbac/references/least-privilege-selection.md +0 -50
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/SKILL.md +0 -54
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/references/inventory-query-patterns.md +0 -49
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-resources/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/SKILL.md +0 -35
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/security-and-governance.md +0 -12
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/service-auth-and-sdk-boundary.md +0 -33
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-storage/references/storage-selection.md +0 -12
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/SKILL.md +0 -49
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-azure-validate/references/preflight-evidence.md +0 -43
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/SKILL.md +0 -41
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/avm-and-codegen-acceptance.md +0 -11
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/codegen-acceptance-checklist.md +0 -46
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/compiler-and-provider-gotchas.md +0 -74
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/module-interfaces-and-parameters.md +0 -56
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-bicep-patterns/references/network-and-observability.md +0 -52
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-codegen/SKILL.md +0 -32
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/SKILL.md +0 -53
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/capability-receipts.md +0 -21
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/design-and-diagnostics.md +0 -36
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/oauth-registration-model.md +0 -26
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-entra-app-registration/references/permissions-and-credentials.md +0 -27
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/SKILL.md +0 -44
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/references/styling.md +0 -33
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-mermaid/references/syntax.md +0 -99
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-microsoft-docs/SKILL.md +0 -53
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-microsoft-docs/references/research-method.md +0 -91
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-operations/SKILL.md +0 -34
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-planning/SKILL.md +0 -36
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-requirements/SKILL.md +0 -46
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/SKILL.md +0 -47
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/adoption-attestation.md +0 -10
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/import-assessment.md +0 -14
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/import-mapping.md +0 -27
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-import/references/mapping-and-adoption-attestation.md +0 -12
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/SKILL.md +0 -49
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-composition-and-refactor.md +0 -20
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-composition-and-state-boundaries.md +0 -11
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/module-locks-and-codegen-acceptance.md +0 -14
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/network-and-observability.md +0 -12
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-patterns/references/plan-and-change-assessment.md +0 -24
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/SKILL.md +0 -45
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/evidence-acceptance.md +0 -10
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/plan-mode-and-mock-design.md +0 -12
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/plan-mode-test-design.md +0 -23
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-terraform-test/references/test-design.md +0 -13
- package/assets/client-projections/github-copilot-cli/.github/skills/apex-workflow/SKILL.md +0 -37
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex-architect.agent.md +0 -100
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex-codegen.agent.md +0 -62
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex-operator.agent.md +0 -79
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex-planner.agent.md +0 -98
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex-requirements.agent.md +0 -108
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex-reviewer.agent.md +0 -63
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex-validator.agent.md +0 -61
- package/assets/client-projections/github-copilot-vscode/.github/agents/apex.agent.md +0 -107
- package/assets/client-projections/github-copilot-vscode/.github/copilot-instructions.md +0 -13
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-agent-authoring.instructions.md +0 -14
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-artifact-contracts.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-automation.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-azure-yaml.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-bicep.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-code-quality.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-context.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-documentation.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-governance.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-instruction-authoring.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-javascript.instructions.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-json.instructions.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-markdown.instructions.md +0 -13
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-powershell.instructions.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-prompt-authoring.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-python.instructions.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-safe-file-edits.instructions.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-safe-shell.instructions.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-shell.instructions.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-skill-authoring.instructions.md +0 -13
- package/assets/client-projections/github-copilot-vscode/.github/instructions/apex-terraform.instructions.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-architecture/SKILL.md +0 -36
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/SKILL.md +0 -65
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/references/presentation-conventions.md +0 -52
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/references/reference-only-outlines.md +0 -78
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/architecture-assessment.md +0 -35
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/cost-estimate.md +0 -47
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/deployment-summary.md +0 -35
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/governance-constraints.md +0 -35
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/implementation-plan.md +0 -43
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/operations-runbook.md +0 -35
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/requirements.md +0 -42
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-artifacts/templates/resource-inventory.md +0 -29
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/SKILL.md +0 -52
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-examples.md +0 -38
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-guardrails.md +0 -36
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-quality.md +0 -21
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-adr/references/decision-record-fields.md +0 -57
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/SKILL.md +0 -55
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/lambda-to-functions-assessment.md +0 -29
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/migration-readiness.md +0 -27
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/staged-validation-handoff.md +0 -26
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cloud-migrate/references/workload-mapping.md +0 -27
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/SKILL.md +0 -58
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/references/compliance-finding-criteria.md +0 -63
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compliance/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/SKILL.md +0 -36
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/compute-selection.md +0 -26
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/pricing-evidence.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-compute/references/recommendation-and-scale-rules.md +0 -44
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/SKILL.md +0 -61
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/references/cost-assessment-criteria.md +0 -61
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-cost-optimization/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/SKILL.md +0 -59
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/avm-binding-guidance.md +0 -29
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/baseline-fallbacks.md +0 -53
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/cost-monitoring.md +0 -47
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/decision-boundaries.md +0 -19
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/governance-effects.md +0 -28
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/naming.md +0 -47
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/network-planning.md +0 -47
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/security-baseline.md +0 -40
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/service-selection.md +0 -51
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-defaults/references/tag-precedence.md +0 -31
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/SKILL.md +0 -50
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/references/operational-checklist.md +0 -26
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-deploy/references/preview-recovery-verification.md +0 -48
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/SKILL.md +0 -60
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/references/diagnostic-interpretation.md +0 -42
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-diagnostics/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/SKILL.md +0 -52
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/references/evidence-interpretation.md +0 -58
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-governance/references/operational-checklist.md +0 -25
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/SKILL.md +0 -58
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/references/kql-evidence-interpretation.md +0 -41
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-kusto/references/operational-checklist.md +0 -25
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/SKILL.md +0 -52
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-prepare/references/preparation-lineage.md +0 -36
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/SKILL.md +0 -53
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/references/capacity-decision-rules.md +0 -48
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-quotas/references/operational-checklist.md +0 -23
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/SKILL.md +0 -45
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/references/assignment-intent.md +0 -39
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-rbac/references/least-privilege-selection.md +0 -50
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/SKILL.md +0 -54
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/references/inventory-query-patterns.md +0 -49
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-resources/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/SKILL.md +0 -35
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/security-and-governance.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/service-auth-and-sdk-boundary.md +0 -33
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-storage/references/storage-selection.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/SKILL.md +0 -49
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/references/operational-checklist.md +0 -24
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-azure-validate/references/preflight-evidence.md +0 -43
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/SKILL.md +0 -41
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/avm-and-codegen-acceptance.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/codegen-acceptance-checklist.md +0 -46
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/compiler-and-provider-gotchas.md +0 -74
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/module-interfaces-and-parameters.md +0 -56
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-bicep-patterns/references/network-and-observability.md +0 -52
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-codegen/SKILL.md +0 -32
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/SKILL.md +0 -53
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/capability-receipts.md +0 -21
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/design-and-diagnostics.md +0 -36
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/oauth-registration-model.md +0 -26
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-entra-app-registration/references/permissions-and-credentials.md +0 -27
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/SKILL.md +0 -44
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/references/styling.md +0 -33
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-mermaid/references/syntax.md +0 -99
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-microsoft-docs/SKILL.md +0 -53
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-microsoft-docs/references/research-method.md +0 -91
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-operations/SKILL.md +0 -34
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-planning/SKILL.md +0 -36
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-requirements/SKILL.md +0 -46
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/SKILL.md +0 -47
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/adoption-attestation.md +0 -10
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/import-assessment.md +0 -14
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/import-mapping.md +0 -27
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-import/references/mapping-and-adoption-attestation.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/SKILL.md +0 -49
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-composition-and-refactor.md +0 -20
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-composition-and-state-boundaries.md +0 -11
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/module-locks-and-codegen-acceptance.md +0 -14
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/network-and-observability.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-patterns/references/plan-and-change-assessment.md +0 -24
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/SKILL.md +0 -45
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/evidence-acceptance.md +0 -10
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/plan-mode-and-mock-design.md +0 -12
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/plan-mode-test-design.md +0 -23
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-terraform-test/references/test-design.md +0 -13
- package/assets/client-projections/github-copilot-vscode/.github/skills/apex-workflow/SKILL.md +0 -37
- package/assets/client-projections/github-copilot-vscode/.vscode/mcp.json +0 -29
- package/assets/customizations/.github/agents/apex-architect.agent.md +0 -93
- package/assets/customizations/.github/agents/apex-operator.agent.md +0 -72
- package/assets/customizations/.github/agents/apex-planner.agent.md +0 -91
- package/assets/customizations/.github/agents/apex-requirements.agent.md +0 -101
- package/assets/customizations/.github/agents/apex-reviewer.agent.md +0 -60
- package/assets/customizations/.github/mcp.json +0 -65
- package/assets/customizations/.github/skills/apex-azure-prepare/references/functions-recipe-pack.md +0 -27
- package/assets/customizations/.vscode/mcp.json +0 -29
- package/dist/azure-mcp-environment.d.ts +0 -2
- package/dist/azure-mcp-environment.js +0 -7
- package/dist/azure-mcp.d.ts +0 -2
- package/dist/azure-mcp.js +0 -21
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { readFile, stat } from "node:fs/promises";
|
|
2
|
+
import { homedir, release } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { meetsMinimumVersion } from "./version.js";
|
|
5
|
+
const MAX_COPILOT_CONFIG_BYTES = 1024 * 1024;
|
|
6
|
+
const RELEASE_VERSION = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/u;
|
|
7
|
+
export function currentHostEnvironment() {
|
|
8
|
+
return { platform: process.platform, release: release(), env: process.env, homedir: homedir() };
|
|
9
|
+
}
|
|
10
|
+
export function detectHostKind(host) {
|
|
11
|
+
if (host.platform === "win32")
|
|
12
|
+
return "windows";
|
|
13
|
+
if (host.platform === "darwin")
|
|
14
|
+
return "macos";
|
|
15
|
+
if (host.platform !== "linux")
|
|
16
|
+
return "unsupported";
|
|
17
|
+
// WSL2 kernels report `-microsoft-standard[-WSL2]`; WSL1 reports `-Microsoft` without `standard`.
|
|
18
|
+
if (/microsoft-standard|wsl2/iu.test(host.release))
|
|
19
|
+
return "wsl2";
|
|
20
|
+
if (/microsoft/iu.test(host.release))
|
|
21
|
+
return "wsl1";
|
|
22
|
+
return "linux";
|
|
23
|
+
}
|
|
24
|
+
/** Hosts whose supported client is Copilot CLI; VS Code there is not an APEX client. */
|
|
25
|
+
export function isCopilotCliHost(kind) {
|
|
26
|
+
return kind === "wsl2" || kind === "linux" || kind === "wsl1";
|
|
27
|
+
}
|
|
28
|
+
/** Extracts the first stable release version from tool output such as `GitHub Copilot CLI 1.0.93.`. */
|
|
29
|
+
export function firstReleaseVersion(output) {
|
|
30
|
+
for (const match of output.matchAll(/(?<![\d.])(\d+\.\d+\.\d+)(?![\d-])/gu))
|
|
31
|
+
if (RELEASE_VERSION.test(match[1]))
|
|
32
|
+
return match[1];
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
export function copilotHome(host) {
|
|
36
|
+
const configured = host.env.COPILOT_HOME?.trim();
|
|
37
|
+
if (configured !== undefined && configured.length > 0)
|
|
38
|
+
return configured;
|
|
39
|
+
return join(host.homedir, ".copilot");
|
|
40
|
+
}
|
|
41
|
+
function hostCheck(kind) {
|
|
42
|
+
const sandbox = "client local sandboxing is assumed on and not checked";
|
|
43
|
+
switch (kind) {
|
|
44
|
+
case "windows":
|
|
45
|
+
return {
|
|
46
|
+
id: "host",
|
|
47
|
+
ok: true,
|
|
48
|
+
value: `windows: VS Code Copilot harness or GitHub Copilot app; Copilot CLI manages the plugin store only; ${sandbox}`,
|
|
49
|
+
};
|
|
50
|
+
case "wsl2":
|
|
51
|
+
return { id: "host", ok: true, value: `wsl2: GitHub Copilot CLI; ${sandbox}` };
|
|
52
|
+
case "linux":
|
|
53
|
+
return { id: "host", ok: true, value: `linux: GitHub Copilot CLI; ${sandbox}` };
|
|
54
|
+
case "macos":
|
|
55
|
+
return {
|
|
56
|
+
id: "host",
|
|
57
|
+
ok: true,
|
|
58
|
+
severity: "warning",
|
|
59
|
+
value: "macos: VS Code or the GitHub Copilot app, best effort and not qualified",
|
|
60
|
+
remedy: "Use Windows 11 for VS Code or the GitHub Copilot app, or Linux or WSL2 for Copilot CLI",
|
|
61
|
+
};
|
|
62
|
+
case "wsl1":
|
|
63
|
+
return {
|
|
64
|
+
id: "host",
|
|
65
|
+
ok: false,
|
|
66
|
+
value: "wsl1: unsupported; the Copilot CLI sandbox needs WSL2",
|
|
67
|
+
remedy: "Use a WSL2 distribution: run wsl --set-version DISTRIBUTION 2 in PowerShell after a backup",
|
|
68
|
+
};
|
|
69
|
+
case "unsupported":
|
|
70
|
+
return {
|
|
71
|
+
id: "host",
|
|
72
|
+
ok: false,
|
|
73
|
+
value: "unsupported platform",
|
|
74
|
+
remedy: "Use Windows 11 for VS Code or the GitHub Copilot app, or Linux or WSL2 for Copilot CLI",
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function gitCheck(kind, inputs) {
|
|
79
|
+
const found = await inputs.executableExists("git");
|
|
80
|
+
return {
|
|
81
|
+
id: "git",
|
|
82
|
+
ok: found,
|
|
83
|
+
value: found ? "found on PATH" : "not found on PATH",
|
|
84
|
+
remedy: kind === "windows"
|
|
85
|
+
? "Install Git with winget install Git.Git, then open a new terminal"
|
|
86
|
+
: kind === "macos"
|
|
87
|
+
? "Install Git and add it to PATH"
|
|
88
|
+
: "Install Git with sudo apt install git",
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
async function vscodeCheck(kind, inputs) {
|
|
92
|
+
// On WSL2 `code` is usually the Windows VS Code shim, and running it can start a VS Code Server install. Copilot CLI
|
|
93
|
+
// hosts never use VS Code, so doctor does not run it there.
|
|
94
|
+
if (isCopilotCliHost(kind))
|
|
95
|
+
return {
|
|
96
|
+
id: "vscode",
|
|
97
|
+
ok: true,
|
|
98
|
+
value: (await inputs.executableExists("code"))
|
|
99
|
+
? "skipped: the Copilot CLI host does not use VS Code"
|
|
100
|
+
: "not needed: the Copilot CLI host does not use VS Code",
|
|
101
|
+
};
|
|
102
|
+
const minimum = inputs.minimums.vscode;
|
|
103
|
+
if (minimum === undefined)
|
|
104
|
+
return {
|
|
105
|
+
id: "vscode",
|
|
106
|
+
ok: false,
|
|
107
|
+
value: "bundled VS Code minimum unavailable",
|
|
108
|
+
remedy: "Reinstall the apex CLI package",
|
|
109
|
+
};
|
|
110
|
+
if (!(await inputs.executableExists("code")))
|
|
111
|
+
return { id: "vscode", ok: true, value: `not found; ${minimum} or newer needed only for the VS Code harness` };
|
|
112
|
+
const version = await inputs.toolVersion("code", ["--version"]);
|
|
113
|
+
return {
|
|
114
|
+
id: "vscode",
|
|
115
|
+
ok: version !== undefined && meetsMinimumVersion(version, minimum),
|
|
116
|
+
value: version ?? "version unavailable from code --version",
|
|
117
|
+
remedy: `Update VS Code to ${minimum} or newer to use the Copilot harness`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async function copilotCliCheck(kind, inputs) {
|
|
121
|
+
const minimum = inputs.minimums.copilotCli;
|
|
122
|
+
if (minimum === undefined)
|
|
123
|
+
return {
|
|
124
|
+
id: "copilot-cli",
|
|
125
|
+
ok: false,
|
|
126
|
+
value: "bundled Copilot CLI minimum unavailable",
|
|
127
|
+
remedy: "Reinstall the apex CLI package",
|
|
128
|
+
};
|
|
129
|
+
const sessionClient = isCopilotCliHost(kind);
|
|
130
|
+
const install = kind === "windows"
|
|
131
|
+
? `Install Copilot CLI ${minimum} or newer with winget install GitHub.Copilot`
|
|
132
|
+
: `Install Copilot CLI ${minimum} or newer with npm install -g @github/copilot, then run copilot login`;
|
|
133
|
+
const advisory = (value, remedy) => sessionClient
|
|
134
|
+
? { id: "copilot-cli", ok: false, value, remedy }
|
|
135
|
+
: { id: "copilot-cli", ok: true, severity: "warning", value: `${value}; needed to install the plugin`, remedy };
|
|
136
|
+
if (!(await inputs.executableExists("copilot")))
|
|
137
|
+
return advisory("not found on PATH", install);
|
|
138
|
+
const version = await inputs.toolVersion("copilot", ["--no-auto-update", "--version"]);
|
|
139
|
+
if (version === undefined)
|
|
140
|
+
return advisory("version unavailable from copilot --version", install);
|
|
141
|
+
if (!meetsMinimumVersion(version, minimum))
|
|
142
|
+
return advisory(version, `Update Copilot CLI to ${minimum} or newer with copilot update`);
|
|
143
|
+
return {
|
|
144
|
+
id: "copilot-cli",
|
|
145
|
+
ok: true,
|
|
146
|
+
value: sessionClient ? version : `${version}; manages the plugin store only, run APEX in VS Code or the app`,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
async function readInstalledPlugins(path) {
|
|
150
|
+
try {
|
|
151
|
+
const info = await stat(path);
|
|
152
|
+
if (!info.isFile() || info.size > MAX_COPILOT_CONFIG_BYTES)
|
|
153
|
+
return "invalid";
|
|
154
|
+
// Copilot CLI writes config.json with leading `//` comment lines.
|
|
155
|
+
const config = JSON.parse((await readFile(path, "utf8")).replace(/^\s*\/\/.*$/gmu, ""));
|
|
156
|
+
if (config === null || typeof config !== "object" || Array.isArray(config))
|
|
157
|
+
return "invalid";
|
|
158
|
+
if (config.installedPlugins === undefined)
|
|
159
|
+
return [];
|
|
160
|
+
if (!Array.isArray(config.installedPlugins))
|
|
161
|
+
return "invalid";
|
|
162
|
+
return config.installedPlugins.filter((entry) => entry !== null && typeof entry === "object");
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
return error.code === "ENOENT" ? "missing" : "invalid";
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async function copilotPluginCheck(kind, inputs) {
|
|
169
|
+
const { name, marketplace } = inputs.plugin;
|
|
170
|
+
const qualified = `${name}@${marketplace}`;
|
|
171
|
+
const home = copilotHome(inputs.host);
|
|
172
|
+
const configPath = join(home, "config.json");
|
|
173
|
+
const reinstall = kind === "windows"
|
|
174
|
+
? `Close every VS Code window, then run copilot plugin uninstall ${qualified} and copilot plugin install ${qualified}`
|
|
175
|
+
: `Run copilot plugin uninstall ${qualified}, then copilot plugin install ${qualified}`;
|
|
176
|
+
const installed = await readInstalledPlugins(configPath);
|
|
177
|
+
if (installed === "invalid")
|
|
178
|
+
return {
|
|
179
|
+
id: "copilot-plugin",
|
|
180
|
+
ok: false,
|
|
181
|
+
value: `unreadable Copilot CLI configuration ${configPath}`,
|
|
182
|
+
remedy: "Run copilot plugin list to check the Copilot CLI configuration, then run doctor again",
|
|
183
|
+
};
|
|
184
|
+
const entries = installed === "missing" ? [] : installed.filter((entry) => entry.name === name);
|
|
185
|
+
if (entries.length === 0) {
|
|
186
|
+
// Copilot CLI installs the plugin that the workspace settings enable on the first trusted session; VS Code and
|
|
187
|
+
// the app only read the store, so on those hosts the plugin must already be there.
|
|
188
|
+
const missing = `not installed in the Copilot CLI plugin store ${home}`;
|
|
189
|
+
return isCopilotCliHost(kind)
|
|
190
|
+
? {
|
|
191
|
+
id: "copilot-plugin",
|
|
192
|
+
ok: true,
|
|
193
|
+
severity: "warning",
|
|
194
|
+
value: missing,
|
|
195
|
+
remedy: `Run copilot plugin install ${qualified}, or start copilot in the initialized workspace and trust it`,
|
|
196
|
+
}
|
|
197
|
+
: {
|
|
198
|
+
id: "copilot-plugin",
|
|
199
|
+
ok: false,
|
|
200
|
+
value: missing,
|
|
201
|
+
remedy: `${kind === "windows" ? "Close every VS Code window, then run" : "Run"} copilot plugin marketplace add jonathan-vella/apex-plugins and copilot plugin install ${qualified}`,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
if (entries.length > 1)
|
|
205
|
+
return {
|
|
206
|
+
id: "copilot-plugin",
|
|
207
|
+
ok: false,
|
|
208
|
+
value: `${entries.length} ${name} plugins installed in ${home}`,
|
|
209
|
+
remedy: `Uninstall the extra copies so that only ${qualified} remains (copilot plugin list shows them)`,
|
|
210
|
+
};
|
|
211
|
+
const entry = entries[0];
|
|
212
|
+
const version = typeof entry.version === "string" ? entry.version : "unknown";
|
|
213
|
+
const source = typeof entry.marketplace === "string" && entry.marketplace.length > 0 ? entry.marketplace : "direct";
|
|
214
|
+
const label = `${name}@${source} ${version}`;
|
|
215
|
+
// Workspace settings enable only the declared marketplace; a direct install (no marketplace) is a local candidate.
|
|
216
|
+
if (source !== "direct" && source !== marketplace)
|
|
217
|
+
return {
|
|
218
|
+
id: "copilot-plugin",
|
|
219
|
+
ok: false,
|
|
220
|
+
value: `${label} from another marketplace`,
|
|
221
|
+
remedy: `Uninstall ${name}@${source}, then run copilot plugin install ${qualified}`,
|
|
222
|
+
};
|
|
223
|
+
if (entry.enabled !== true)
|
|
224
|
+
return { id: "copilot-plugin", ok: false, value: `${label} disabled`, remedy: reinstall };
|
|
225
|
+
if (version !== inputs.apexVersion)
|
|
226
|
+
return {
|
|
227
|
+
id: "copilot-plugin",
|
|
228
|
+
ok: false,
|
|
229
|
+
value: `${label}; this apex CLI is ${inputs.apexVersion}`,
|
|
230
|
+
remedy: `Keep the plugin and CLI at one version: run copilot plugin update ${qualified}, or install @apexops/cli@${version}`,
|
|
231
|
+
};
|
|
232
|
+
return {
|
|
233
|
+
id: "copilot-plugin",
|
|
234
|
+
ok: true,
|
|
235
|
+
value: kind === "windows"
|
|
236
|
+
? `${label} enabled in ${home}; VS Code must list one apex entry under @agentPlugins`
|
|
237
|
+
: `${label} enabled in ${home}`,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
async function sandboxToolsCheck(inputs) {
|
|
241
|
+
const missing = [];
|
|
242
|
+
for (const executable of ["bwrap", "slirp4netns"])
|
|
243
|
+
if (!(await inputs.executableExists(executable)))
|
|
244
|
+
missing.push(executable);
|
|
245
|
+
return missing.length === 0
|
|
246
|
+
? { id: "linux-sandbox-tools", ok: true, value: "bwrap and slirp4netns found; sandbox setting not checked" }
|
|
247
|
+
: {
|
|
248
|
+
id: "linux-sandbox-tools",
|
|
249
|
+
ok: true,
|
|
250
|
+
severity: "warning",
|
|
251
|
+
value: `missing ${missing.join(", ")}; the Copilot CLI sandbox needs them`,
|
|
252
|
+
remedy: "Install them with sudo apt install bubblewrap slirp4netns; copilot help sandbox lists the rest",
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
/** Read-only host checks for the supported client on this host. Each failing or advisory check carries a remedy. */
|
|
256
|
+
export async function hostDoctorChecks(inputs) {
|
|
257
|
+
const kind = detectHostKind(inputs.host);
|
|
258
|
+
const checks = [
|
|
259
|
+
hostCheck(kind),
|
|
260
|
+
await gitCheck(kind, inputs),
|
|
261
|
+
await vscodeCheck(kind, inputs),
|
|
262
|
+
await copilotCliCheck(kind, inputs),
|
|
263
|
+
await copilotPluginCheck(kind, inputs),
|
|
264
|
+
];
|
|
265
|
+
if (kind === "linux" || kind === "wsl2")
|
|
266
|
+
checks.push(await sandboxToolsCheck(inputs));
|
|
267
|
+
return checks;
|
|
268
|
+
}
|
|
269
|
+
//# sourceMappingURL=host-profile.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Maximum checks listed in a doctor MCP summary; the doctorChecks tool pages the complete list. */
|
|
3
|
+
export declare const MCP_DOCTOR_CHECK_LIMIT = 32;
|
|
4
|
+
export declare const MCP_OUTPUT_SCHEMAS: {
|
|
5
|
+
status: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
6
|
+
releaseWriter: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
7
|
+
capabilityList: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
8
|
+
capabilityStatus: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
9
|
+
nextTask: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
10
|
+
taskContext: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
11
|
+
readTaskInput: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
12
|
+
recordInput: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
13
|
+
governanceImport: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
14
|
+
governanceSelect: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
15
|
+
projectCreate: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
16
|
+
projectList: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
17
|
+
projectUse: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
18
|
+
projectDelete: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
19
|
+
gateDecide: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
20
|
+
reviewDecide: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
21
|
+
stageArtifact: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
22
|
+
stageFile: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
23
|
+
generateIac: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
24
|
+
validateTask: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
25
|
+
completeTask: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
26
|
+
requirementsComplete: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
27
|
+
architectureComplete: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
28
|
+
reviewComplete: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
29
|
+
planComplete: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
30
|
+
preview: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
31
|
+
inventory: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
32
|
+
reconcile: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
33
|
+
diagnose: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
34
|
+
improvementObserve: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
35
|
+
improvementObservations: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
36
|
+
improvementProposals: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
37
|
+
render: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
38
|
+
promote: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
39
|
+
doctor: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
40
|
+
doctorChecks: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
41
|
+
submitEvidence: z.ZodObject<z.core.$ZodLooseShape, z.core.$strip>;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=mcp-output-schemas.d.ts.map
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { ApprovalEvidenceV1Schema, EvidenceManifestV1Schema, ImprovementObservationV1Schema, ImprovementProposalV1Schema, InputRequestV1Schema, InputValueV1Schema, IsoDateTimeSchema, NonEmptyStringSchema, NativeValidationReceiptV1Schema, ResourceInventoryV1Schema, ReviewRequestV1Schema, RunConfigV1Schema, Sha256Schema, TaskEnvelopeV1Schema, registerContractFormats, } from "@apexops/contracts";
|
|
2
|
+
import { Type } from "@sinclair/typebox";
|
|
3
|
+
import { Value } from "@sinclair/typebox/value";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { SUPPORTED_ARTIFACT_KINDS } from "./service.js";
|
|
6
|
+
registerContractFormats();
|
|
7
|
+
const object = (properties) => Type.Object(properties, { additionalProperties: false });
|
|
8
|
+
const strings = Type.Array(Type.String());
|
|
9
|
+
const count = Type.Integer({ minimum: 0 });
|
|
10
|
+
const artifactKind = Type.Union(SUPPORTED_ARTIFACT_KINDS.map((kind) => Type.Literal(kind)));
|
|
11
|
+
const artifactHashes = object(Object.fromEntries(SUPPORTED_ARTIFACT_KINDS.map((kind) => [kind, Type.Optional(Sha256Schema)])));
|
|
12
|
+
function contract(schema, options = {}) {
|
|
13
|
+
const successBranches = schema.anyOf ?? [schema];
|
|
14
|
+
schema = Type.Union([
|
|
15
|
+
...(options.pageable
|
|
16
|
+
? successBranches.map((branch) => object({ ...branch.properties, nextCursor: Type.Optional(Type.String()) }))
|
|
17
|
+
: successBranches),
|
|
18
|
+
object({
|
|
19
|
+
error: object({
|
|
20
|
+
code: Type.Union([
|
|
21
|
+
"APEX_USAGE",
|
|
22
|
+
"APEX_NOT_FOUND",
|
|
23
|
+
"APEX_CONFLICT",
|
|
24
|
+
"APEX_WRITER_CONFLICT",
|
|
25
|
+
"APEX_WORKSPACE_UNSUPPORTED",
|
|
26
|
+
"APEX_RUNTIME_MISMATCH",
|
|
27
|
+
"APEX_VALIDATION",
|
|
28
|
+
"APEX_STALE",
|
|
29
|
+
"APEX_AUTHORIZATION",
|
|
30
|
+
"APEX_CURSOR_INVALID",
|
|
31
|
+
"APEX_RESULT_TOO_LARGE",
|
|
32
|
+
"APEX_REVIEW_PENDING",
|
|
33
|
+
"APEX_INTERNAL",
|
|
34
|
+
].map((code) => Type.Literal(code))),
|
|
35
|
+
message: Type.String(),
|
|
36
|
+
remediation: Type.String(),
|
|
37
|
+
}),
|
|
38
|
+
}),
|
|
39
|
+
]);
|
|
40
|
+
const branches = schema.anyOf;
|
|
41
|
+
const envelope = branches === undefined
|
|
42
|
+
? schema
|
|
43
|
+
: object(Object.fromEntries([
|
|
44
|
+
...new Set([
|
|
45
|
+
...branches.flatMap((branch) => Object.keys(branch.properties)),
|
|
46
|
+
...(options.pageable ? ["nextCursor"] : []),
|
|
47
|
+
]),
|
|
48
|
+
].map((key) => [
|
|
49
|
+
key,
|
|
50
|
+
Type.Optional(key === "nextCursor"
|
|
51
|
+
? Type.String()
|
|
52
|
+
: Type.Union(branches.flatMap((branch) => branch.properties[key] ?? []))),
|
|
53
|
+
])));
|
|
54
|
+
const json = (value) => JSON.parse(JSON.stringify(value, (key, entry) => (key === "$id" ? undefined : entry)));
|
|
55
|
+
const converted = z.fromJSONSchema(json(envelope));
|
|
56
|
+
if (!(converted instanceof z.ZodObject))
|
|
57
|
+
throw new Error("MCP result contract must be an object");
|
|
58
|
+
return converted
|
|
59
|
+
.superRefine((value, context) => {
|
|
60
|
+
if (!Value.Check(schema, value))
|
|
61
|
+
context.addIssue({ code: "custom", message: "Invalid domain contract" });
|
|
62
|
+
})
|
|
63
|
+
.meta({ ...json(envelope), ...json(schema) });
|
|
64
|
+
}
|
|
65
|
+
const selection = object({ projectId: NonEmptyStringSchema, runId: NonEmptyStringSchema });
|
|
66
|
+
const capability = object({
|
|
67
|
+
id: Type.String(),
|
|
68
|
+
state: Type.Union(["installed", "unavailable", "blocked", "invalid", "not-installed"].map((value) => Type.Literal(value))),
|
|
69
|
+
version: Type.Optional(Type.String()),
|
|
70
|
+
installedVersion: Type.Optional(Type.String()),
|
|
71
|
+
requiredWorkflows: strings,
|
|
72
|
+
reason: Type.Optional(Type.String()),
|
|
73
|
+
action: Type.String(),
|
|
74
|
+
});
|
|
75
|
+
const status = object({
|
|
76
|
+
run: RunConfigV1Schema,
|
|
77
|
+
head: Type.Union([Sha256Schema, Type.Null()]),
|
|
78
|
+
events: count,
|
|
79
|
+
task: Type.Union([NonEmptyStringSchema, Type.Null()]),
|
|
80
|
+
blockers: strings,
|
|
81
|
+
});
|
|
82
|
+
/** Maximum checks listed in a doctor MCP summary; the doctorChecks tool pages the complete list. */
|
|
83
|
+
export const MCP_DOCTOR_CHECK_LIMIT = 32;
|
|
84
|
+
const doctorCheck = object({
|
|
85
|
+
id: Type.String(),
|
|
86
|
+
ok: Type.Boolean(),
|
|
87
|
+
value: Type.String(),
|
|
88
|
+
remedy: Type.Optional(Type.String()),
|
|
89
|
+
severity: Type.Optional(Type.Literal("warning")),
|
|
90
|
+
});
|
|
91
|
+
const doctor = object({
|
|
92
|
+
healthy: Type.Boolean(),
|
|
93
|
+
nextAction: Type.String(),
|
|
94
|
+
remedies: strings,
|
|
95
|
+
counts: object({ total: count, passed: count, failed: count }),
|
|
96
|
+
checks: Type.Array(doctorCheck, { maxItems: MCP_DOCTOR_CHECK_LIMIT }),
|
|
97
|
+
omitted: object({ passed: count, failed: count }),
|
|
98
|
+
truncated: Type.Boolean(),
|
|
99
|
+
});
|
|
100
|
+
const review = object({
|
|
101
|
+
gate: Type.Integer({ minimum: 1, maximum: 4 }),
|
|
102
|
+
reviewHash: Sha256Schema,
|
|
103
|
+
findings: Type.Array(object({
|
|
104
|
+
id: NonEmptyStringSchema,
|
|
105
|
+
severity: Type.Union(["critical", "high", "medium", "low", "info"].map((value) => Type.Literal(value))),
|
|
106
|
+
title: NonEmptyStringSchema,
|
|
107
|
+
detail: NonEmptyStringSchema,
|
|
108
|
+
actions: Type.Array(Type.Union(["revise", "accept-risk", "acknowledge", "dismiss"].map((value) => Type.Literal(value)))),
|
|
109
|
+
})),
|
|
110
|
+
});
|
|
111
|
+
const reviewMetadata = object({
|
|
112
|
+
subjectKind: artifactKind,
|
|
113
|
+
subjectHash: Sha256Schema,
|
|
114
|
+
criteria: strings,
|
|
115
|
+
dispositions: Type.Array(object({
|
|
116
|
+
findingId: NonEmptyStringSchema,
|
|
117
|
+
reviewHash: Sha256Schema,
|
|
118
|
+
subjectHash: Sha256Schema,
|
|
119
|
+
disposition: Type.Union(["fixed", "accepted-risk", "acknowledged", "dismissed"].map((value) => Type.Literal(value))),
|
|
120
|
+
actor: Type.String(),
|
|
121
|
+
rationale: Type.String(),
|
|
122
|
+
evidenceRefs: Type.Array(Sha256Schema),
|
|
123
|
+
expiresAt: Type.Optional(IsoDateTimeSchema),
|
|
124
|
+
dependencyHash: Sha256Schema,
|
|
125
|
+
})),
|
|
126
|
+
evidenceRefs: Type.Array(Sha256Schema),
|
|
127
|
+
});
|
|
128
|
+
const stagedArtifact = object({
|
|
129
|
+
taskId: NonEmptyStringSchema,
|
|
130
|
+
kind: artifactKind,
|
|
131
|
+
path: NonEmptyStringSchema,
|
|
132
|
+
bytes: count,
|
|
133
|
+
hash: Sha256Schema,
|
|
134
|
+
});
|
|
135
|
+
const stagedFile = object({
|
|
136
|
+
taskId: NonEmptyStringSchema,
|
|
137
|
+
path: NonEmptyStringSchema,
|
|
138
|
+
bytes: count,
|
|
139
|
+
hash: Sha256Schema,
|
|
140
|
+
idempotent: Type.Boolean(),
|
|
141
|
+
});
|
|
142
|
+
const completion = object({ outputHashes: artifactHashes, summary: Type.String() });
|
|
143
|
+
const evidenceProperties = {
|
|
144
|
+
kind: Type.String(),
|
|
145
|
+
bytes: count,
|
|
146
|
+
retention: Type.Union(["immutable", "project", "optional"].map((value) => Type.Literal(value))),
|
|
147
|
+
redacted: Type.Boolean(),
|
|
148
|
+
reasons: strings,
|
|
149
|
+
};
|
|
150
|
+
export const MCP_OUTPUT_SCHEMAS = {
|
|
151
|
+
status: contract(Type.Union([
|
|
152
|
+
status,
|
|
153
|
+
object({
|
|
154
|
+
status: Type.Literal("needs_project"),
|
|
155
|
+
workspaceReady: Type.Literal(true),
|
|
156
|
+
projects: Type.Array(Type.String(), { maxItems: 0 }),
|
|
157
|
+
nextAction: NonEmptyStringSchema,
|
|
158
|
+
}),
|
|
159
|
+
object({
|
|
160
|
+
status: Type.Literal("runtime_mismatch"),
|
|
161
|
+
reason: Type.Union(["RUNTIME_WORKSPACE_OLDER", "RUNTIME_WORKSPACE_NEWER", "RUNTIME_LOCK_INVALID"].map((value) => Type.Literal(value))),
|
|
162
|
+
runtimeVersion: NonEmptyStringSchema,
|
|
163
|
+
workspaceRuntimeVersion: Type.Union([NonEmptyStringSchema, Type.Null()]),
|
|
164
|
+
nextAction: NonEmptyStringSchema,
|
|
165
|
+
}),
|
|
166
|
+
])),
|
|
167
|
+
releaseWriter: contract(object({
|
|
168
|
+
released: Type.Boolean(),
|
|
169
|
+
projectId: NonEmptyStringSchema,
|
|
170
|
+
runId: NonEmptyStringSchema,
|
|
171
|
+
})),
|
|
172
|
+
capabilityList: contract(object({ packs: Type.Array(capability) })),
|
|
173
|
+
capabilityStatus: contract(capability),
|
|
174
|
+
nextTask: contract(Type.Union([
|
|
175
|
+
object({ status: Type.Literal("needs_input"), request: InputRequestV1Schema }),
|
|
176
|
+
object({ status: Type.Literal("needs_review"), review }),
|
|
177
|
+
object({ status: Type.Literal("task"), task: TaskEnvelopeV1Schema }),
|
|
178
|
+
])),
|
|
179
|
+
taskContext: contract(object({
|
|
180
|
+
task: TaskEnvelopeV1Schema,
|
|
181
|
+
inputs: Type.Array(Type.Unknown()),
|
|
182
|
+
inputReferences: Type.Array(object({ hash: Sha256Schema, bytes: count, inlined: Type.Boolean() })),
|
|
183
|
+
artifactHashes: Type.Record(Type.String(), Sha256Schema),
|
|
184
|
+
recordedInput: Type.Union([Type.Record(Type.String(), InputValueV1Schema), Type.Null()]),
|
|
185
|
+
decisions: Type.Record(Type.String(), InputValueV1Schema),
|
|
186
|
+
governanceFindings: Type.Optional(Type.Union([
|
|
187
|
+
object({ count, untypedCount: count, resourceTypeCount: count, read: NonEmptyStringSchema }),
|
|
188
|
+
Type.Array(object({
|
|
189
|
+
policyAssignmentId: NonEmptyStringSchema,
|
|
190
|
+
policyDefinitionId: NonEmptyStringSchema,
|
|
191
|
+
policyDefinitionReferenceId: Type.Optional(NonEmptyStringSchema),
|
|
192
|
+
effect: Type.Union([Type.Literal("deny"), Type.Literal("modify"), Type.Literal("deployIfNotExists")]),
|
|
193
|
+
displayName: Type.String(),
|
|
194
|
+
resourceTypes: strings,
|
|
195
|
+
requiredValue: Type.Optional(Type.Unknown()),
|
|
196
|
+
})),
|
|
197
|
+
])),
|
|
198
|
+
outputTemplates: object(Object.fromEntries(SUPPORTED_ARTIFACT_KINDS.map((kind) => [kind, Type.Optional(Type.Unknown())]))),
|
|
199
|
+
reviewMetadata: Type.Optional(reviewMetadata),
|
|
200
|
+
reviewMetadataReference: Type.Optional(object({ selector: Type.Literal("review-metadata"), bytes: count, inlined: Type.Boolean() })),
|
|
201
|
+
reviewRequest: Type.Optional(ReviewRequestV1Schema),
|
|
202
|
+
outputRoot: NonEmptyStringSchema,
|
|
203
|
+
status: Type.Union([Type.Literal("completed"), Type.Literal("active")]),
|
|
204
|
+
blockers: strings,
|
|
205
|
+
}), { pageable: true }),
|
|
206
|
+
readTaskInput: contract(object({
|
|
207
|
+
subjectHash: Sha256Schema,
|
|
208
|
+
content: Type.String(),
|
|
209
|
+
offset: count,
|
|
210
|
+
nextOffset: Type.Optional(count),
|
|
211
|
+
}), { pageable: true }),
|
|
212
|
+
recordInput: contract(object({ recorded: Type.Literal(true), requestId: NonEmptyStringSchema })),
|
|
213
|
+
governanceImport: contract(object({ outputHash: Sha256Schema, summary: Type.String() })),
|
|
214
|
+
governanceSelect: contract(Type.Union([
|
|
215
|
+
object({ status: Type.Literal("needs_input"), request: InputRequestV1Schema }),
|
|
216
|
+
object({
|
|
217
|
+
status: Type.Literal("selected"),
|
|
218
|
+
choice: Type.Union([Type.Literal("reuse"), Type.Literal("refresh")]),
|
|
219
|
+
candidateHash: Sha256Schema,
|
|
220
|
+
observedAt: IsoDateTimeSchema,
|
|
221
|
+
refreshRequired: Type.Boolean(),
|
|
222
|
+
}),
|
|
223
|
+
])),
|
|
224
|
+
projectCreate: contract(selection),
|
|
225
|
+
projectList: contract(object({ projects: Type.Array(object({ projectId: NonEmptyStringSchema, displayName: Type.String() })) }), { pageable: true }),
|
|
226
|
+
projectUse: contract(selection),
|
|
227
|
+
projectDelete: contract(object({ deleted: NonEmptyStringSchema, selected: Type.Optional(selection) })),
|
|
228
|
+
gateDecide: contract(ApprovalEvidenceV1Schema),
|
|
229
|
+
reviewDecide: contract(object({ status: Type.Union([Type.Literal("revision_requested"), Type.Literal("resolved")]) })),
|
|
230
|
+
stageArtifact: contract(Type.Union([stagedArtifact, object({ artifacts: Type.Array(stagedArtifact) })])),
|
|
231
|
+
stageFile: contract(stagedFile),
|
|
232
|
+
generateIac: contract(object({ files: Type.Array(stagedFile), outputHashes: artifactHashes, treeHash: Sha256Schema })),
|
|
233
|
+
validateTask: contract(Type.Union([
|
|
234
|
+
object({
|
|
235
|
+
valid: Type.Literal(true),
|
|
236
|
+
taskId: NonEmptyStringSchema,
|
|
237
|
+
staged: Type.Optional(Type.Union([stagedArtifact, Type.Array(stagedArtifact)])),
|
|
238
|
+
}),
|
|
239
|
+
object({
|
|
240
|
+
valid: Type.Boolean(),
|
|
241
|
+
taskId: NonEmptyStringSchema,
|
|
242
|
+
execution: object({
|
|
243
|
+
mode: Type.Literal("native"),
|
|
244
|
+
executedValidatorIds: strings,
|
|
245
|
+
blockedValidatorIds: strings,
|
|
246
|
+
storageSecurity: NativeValidationReceiptV1Schema.properties.storageSecurity,
|
|
247
|
+
storageDiagnostics: NativeValidationReceiptV1Schema.properties.storageDiagnostics,
|
|
248
|
+
securityBaseline: NativeValidationReceiptV1Schema.properties.securityBaseline,
|
|
249
|
+
}),
|
|
250
|
+
outputs: Type.Array(object({ kind: Type.Literal("validation-evidence"), value: EvidenceManifestV1Schema }), {
|
|
251
|
+
minItems: 1,
|
|
252
|
+
maxItems: 1,
|
|
253
|
+
}),
|
|
254
|
+
}),
|
|
255
|
+
])),
|
|
256
|
+
completeTask: contract(completion),
|
|
257
|
+
requirementsComplete: contract(completion),
|
|
258
|
+
architectureComplete: contract(completion),
|
|
259
|
+
reviewComplete: contract(completion),
|
|
260
|
+
planComplete: contract(completion),
|
|
261
|
+
preview: contract(object({ markdown: Type.String() }), { pageable: true }),
|
|
262
|
+
inventory: contract(ResourceInventoryV1Schema, { pageable: true }),
|
|
263
|
+
reconcile: contract(ResourceInventoryV1Schema),
|
|
264
|
+
diagnose: contract(object({ status, doctor })),
|
|
265
|
+
improvementObserve: contract(object({ observation: ImprovementObservationV1Schema, deduplicated: Type.Boolean() })),
|
|
266
|
+
improvementObservations: contract(object({ observations: Type.Array(ImprovementObservationV1Schema) }), {
|
|
267
|
+
pageable: true,
|
|
268
|
+
}),
|
|
269
|
+
improvementProposals: contract(object({ proposals: Type.Array(ImprovementProposalV1Schema) }), { pageable: true }),
|
|
270
|
+
render: contract(object({ markdown: Type.String() }), { pageable: true }),
|
|
271
|
+
promote: contract(RunConfigV1Schema),
|
|
272
|
+
doctor: contract(doctor),
|
|
273
|
+
doctorChecks: contract(object({ checks: Type.Array(doctorCheck) }), { pageable: true }),
|
|
274
|
+
submitEvidence: contract(Type.Union([
|
|
275
|
+
object({ ...evidenceProperties, status: Type.Literal("accepted"), hash: Sha256Schema }),
|
|
276
|
+
object({ ...evidenceProperties, status: Type.Literal("quarantined"), quarantinePath: NonEmptyStringSchema }),
|
|
277
|
+
])),
|
|
278
|
+
};
|
|
279
|
+
//# sourceMappingURL=mcp-output-schemas.js.map
|