/** * Shared step helpers and prompt assembly for dev-loop prompts. * * Each helper returns a { heading, body } pair for one workflow step. * `assemblePrompt` numbers them dynamically and joins everything. */ export interface Step { heading: string; body: string; } /** * Pre-flight step: Azure tenant (directory) selection and validation. * * Many users have access to multiple Entra ID tenants. The active tenant * determines which subscriptions `az account list` returns and which identity * is used for AKS Azure RBAC checks. Pin the tenant **before** the * subscription so the rest of the loop operates on a deterministic identity. */ export declare function azureTenantStep(): Step; /** * Pre-flight step: Azure subscription selection and validation. * * Runs **after** `azureTenantStep()` so subscription enumeration is scoped to * the chosen tenant. */ export declare function azureSubscriptionStep(): Step; /** * Pre-flight step: AKS cluster selection, identity capture, and metadata recording. * * Lists clusters, picks one, fetches metadata, captures the caller's identity. * **No `kubectl` calls** here — kubeconfig fetch and all kubectl probes * (`auth can-i`, `get nodes`, `get namespace`) are deferred to * `aksRbacPreDeployCheck()` so missing-RBAC failures surface as actionable * role-assignment errors rather than opaque `Forbidden` responses. */ export declare function aksClusterValidationStep(): Step; /** * Pre-flight step: Effective-access check for AKS Automatic / Azure-RBAC clusters. * * Runs immediately after `aksClusterValidationStep()`. Strict order: * 1. Compute scopes * 2. Control-plane probe (`az aks get-credentials`) — must be first; without * a kubeconfig no kubectl works. * 3. Structured RBAC inspection (`az role assignment list` + write-capability * probe) — gives precise, actionable remediation when readable. * 4. Data-plane RBAC probes (`kubectl auth can-i`) — definitive truth source. * 5. Connectivity / inventory (`kubectl get nodes`, `kubectl get namespace`) * — only after RBAC is confirmed, so failures here are network/cluster * issues rather than authorization issues. * 6. Confirmation. * * Both control-plane and data-plane failure branches share a single * `rbacRemediationBlock` helper so Case A / Case B logic isn't duplicated. * * On AKS Standard *without* Azure RBAC, this step is a no-op. */ export declare function aksRbacPreDeployCheck(): Step; /** * Pre-flight step: ACR selection and validation. * * Lists registries in the subscription, presents a picker, validates * the registry exists and the AKS cluster can pull from it. */ export declare function acrValidationStep(): Step; export declare function kindContextValidationStep(): Step; export declare function analyzeStep(): Step; export declare function generateDockerfileStep(): Step; export declare function scanStep(): Step; export declare function deployStep(target: string): Step; export declare function verifyStep(extraLines?: string[]): Step; export declare function databaseCheckStep(): Step; export declare function envVarCheckStep(): Step; export declare function generateGithubWorkflowStep(registry: string, clusterName: string, resourceGroup: string): Step; export declare const sharedRules: string[]; /** * Assemble a complete loop prompt with dynamically numbered steps. */ export declare function assemblePrompt(title: string, contextLines: string[], steps: Step[], rules: string[]): string; //# sourceMappingURL=steps.d.ts.map