feat: robust TF file correction, move Start/Stop to Explorer, increase context
- Inject existing workspace files + plan/apply output into Terraform chat context so model corrects in-place instead of regenerating from scratch - Add "REGRA CRÍTICA: Correção de Arquivos Existentes" to system prompt requiring the model to preserve file structure and fix surgically - Increase Terraform Agent max_tokens from 16K to 32K - Remove "Nova conversa" button from Terraform toolbar - Move Start/Stop Instance and ADB buttons from Terraform Resources panel to OCI Account Explorer (instances and databases tabs) - Remove unused _ociResOid helper and old action functions
This commit is contained in:
@@ -2038,6 +2038,20 @@ Abaixo estão os nomes corretos de resource types do provider oracle/oci. O mode
|
||||
- **DRG Route Table**: `oci_core_drg_route_table`
|
||||
- **DRG Route Distribution**: `oci_core_drg_route_distribution`
|
||||
- **DRG Route Table Route Rule**: `oci_core_drg_route_table_route_rule`
|
||||
|
||||
### REGRA CRÍTICA: Correção de Arquivos Existentes
|
||||
Quando a mensagem do usuário incluir a seção "ARQUIVOS TERRAFORM ATUAIS NO WORKSPACE", significa que JÁ EXISTEM arquivos gerados anteriormente. Neste caso:
|
||||
|
||||
1. **NUNCA descarte os arquivos existentes**. Eles são o trabalho atual do usuário.
|
||||
2. **Gere TODOS os arquivos completos** — mesmo os que não precisaram de alteração. O sistema substitui todos os arquivos do workspace pelo que você gerar.
|
||||
3. **Corrija APENAS o que está errado**: se o erro é em `networking.tf`, mantenha `variables.tf`, `compute.tf`, `outputs.tf` etc. EXATAMENTE como estão e corrija apenas `networking.tf`.
|
||||
4. **Analise o output do terraform plan/apply** se incluído na mensagem — ele mostra exatamente qual recurso, atributo ou argumento causou o erro.
|
||||
5. **Mantenha a mesma estrutura de arquivos**: use os mesmos nomes de arquivo (`// filename: xxx.tf`) que já existem. NÃO renomeie, NÃO reorganize, NÃO mescle arquivos.
|
||||
6. **Preserve nomes de recursos**: NÃO renomeie recursos existentes (ex: `oci_core_vcn.hub` não deve virar `oci_core_vcn.main`), pois isso causaria destroy+recreate desnecessário.
|
||||
7. Se o erro for um resource type inválido, consulte a referência de recursos OCI neste prompt para encontrar o nome correto.
|
||||
8. Se o erro for um argumento inválido (Unsupported argument), remova-o ou substitua pela sintaxe correta.
|
||||
|
||||
**RESUMO**: Ao corrigir, regenere todos os arquivos mantendo conteúdo intacto nos que não têm erro, e corrija cirurgicamente os que têm problema. O resultado deve funcionar no `terraform plan` sem erros na primeira tentativa.
|
||||
"""
|
||||
|
||||
# ── Terraform OCI Resource Reference (generated at build time, updatable at runtime) ──
|
||||
@@ -3168,7 +3182,7 @@ async def _chat_background(mid: str, sid: str, msg: ChatMsg, user: dict, genai_c
|
||||
|
||||
# ── Terraform agent: boost max_tokens for complex infra code ──
|
||||
if agent_type == "terraform":
|
||||
cfg_dict["max_tokens"] = max(int(cfg_dict.get("max_tokens", 6000)), 16000)
|
||||
cfg_dict["max_tokens"] = max(int(cfg_dict.get("max_tokens", 6000)), 32000)
|
||||
|
||||
# ── Inject existing OCI resources for terraform agent ──
|
||||
if agent_type == "terraform" and active_oci_id:
|
||||
|
||||
Reference in New Issue
Block a user