@neetru/cli 2.22.0 → 2.24.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/CHANGELOG.md +48 -1
- package/README.md +17 -0
- package/dist/commands/code.js +177 -35
- package/dist/commands/code.js.map +1 -1
- package/dist/commands/deploy.js +2 -0
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/deployments.d.ts +35 -0
- package/dist/commands/deployments.js +149 -1
- package/dist/commands/deployments.js.map +1 -1
- package/dist/commands/dev-context.d.ts +28 -0
- package/dist/commands/dev-context.js +211 -0
- package/dist/commands/dev-context.js.map +1 -0
- package/dist/commands/dev-up.d.ts +2 -0
- package/dist/commands/dev-up.js +122 -18
- package/dist/commands/dev-up.js.map +1 -1
- package/dist/commands/dev.d.ts +3 -0
- package/dist/commands/dev.js +101 -25
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/env.d.ts +1 -1
- package/dist/commands/env.js +17 -10
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/promote.js +14 -0
- package/dist/commands/promote.js.map +1 -1
- package/dist/index.js +76 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/code-agent-budget.d.ts +67 -0
- package/dist/lib/code-agent-budget.js +80 -0
- package/dist/lib/code-agent-budget.js.map +1 -0
- package/dist/lib/code-agent-files.js +16 -8
- package/dist/lib/code-agent-files.js.map +1 -1
- package/dist/lib/code-agent-neetru-tools.d.ts +15 -0
- package/dist/lib/code-agent-neetru-tools.js +571 -0
- package/dist/lib/code-agent-neetru-tools.js.map +1 -0
- package/dist/lib/code-agent-protocol.d.ts +1 -0
- package/dist/lib/code-agent-protocol.js +10 -5
- package/dist/lib/code-agent-protocol.js.map +1 -1
- package/dist/lib/code-agent-report.d.ts +22 -0
- package/dist/lib/code-agent-report.js +43 -0
- package/dist/lib/code-agent-report.js.map +1 -0
- package/dist/lib/code-agent-session.d.ts +1 -1
- package/dist/lib/code-agent-session.js +16 -1
- package/dist/lib/code-agent-session.js.map +1 -1
- package/dist/lib/code-agent-tools.js +9 -1
- package/dist/lib/code-agent-tools.js.map +1 -1
- package/dist/lib/code-agent-tui.d.ts +26 -5
- package/dist/lib/code-agent-tui.js +65 -7
- package/dist/lib/code-agent-tui.js.map +1 -1
- package/dist/lib/code-agent-types.d.ts +19 -1
- package/dist/lib/code-agent-web-tools.js +141 -35
- package/dist/lib/code-agent-web-tools.js.map +1 -1
- package/dist/lib/dev-local-context.d.ts +29 -0
- package/dist/lib/dev-local-context.js +114 -0
- package/dist/lib/dev-local-context.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,54 @@
|
|
|
2
2
|
|
|
3
3
|
Convenção: [Keep a Changelog](https://keepachangelog.com/) + [SemVer](https://semver.org/).
|
|
4
4
|
|
|
5
|
-
## [2.
|
|
5
|
+
## [2.24.0] — 2026-07-13 (contexto dev-local: `neetru dev use/status/sync`)
|
|
6
|
+
|
|
7
|
+
> Trabalho do Codex nesta sessão (mesmo repo, frente separada do `neetru code`).
|
|
8
|
+
|
|
9
|
+
### Adicionado
|
|
10
|
+
|
|
11
|
+
- **Contexto de projeto local** (`.neetru/dev.json`) com 2 modos: `core-product` (projeto ligado a produto/workspace do Core) e `prototype` (rascunho local ainda não cadastrado). Comandos novos: `neetru dev use --product <slug> [--sync]`, `neetru dev use --prototype <nome>`, `neetru dev status`, `neetru dev sync --write-db`.
|
|
12
|
+
- `dev up`/`dev exec` agora leem esse contexto automaticamente pra decidir `corePath`, emuladores padrão e mostrar em qual produto/protótipo a sessão está.
|
|
13
|
+
- `dev sync` busca workspace/tenant dev ativo e bancos dev-local do Core; `--write-db` mescla em `.neetru/db.json`.
|
|
14
|
+
|
|
15
|
+
### Docs
|
|
16
|
+
|
|
17
|
+
- README documenta os 4 comandos novos + o arquivo `.neetru/dev.json`.
|
|
18
|
+
|
|
19
|
+
49 testes novos passando, build limpo. Ver seção abaixo para o restante do que entrou nesta versão (Objective Runtime Controller + hardening de segurança do `neetru code`).
|
|
20
|
+
|
|
21
|
+
## [2.23.0] — 2026-07-13 (`neetru code` — multi-tool por turno, auto-extensao silenciosa em auto mode, HOTFIX render loop no autocomplete)
|
|
22
|
+
|
|
23
|
+
> Sessão com trabalho concorrente Claude+Codex sobre o mesmo turn-loop de `runAgentTask`. Codex: múltiplas `NEETRU_TOOL` por resposta (leitura/pesquisa em lote, mutação continua 1 por vez), auto mode estende o limite de turnos automaticamente sem perguntar `[y/N]` (respeitando o mesmo teto `MAX_TURN_LIMIT_EXTENSIONS`), e `NEETRU_DONE`/`NEETRU_BLOCKED` sem texto não vazam mais crus na UI. Eu: HOTFIX de um crash real reportado ao vivo no autocomplete (2.22.0, ver abaixo).
|
|
24
|
+
|
|
25
|
+
### Adicionado
|
|
26
|
+
|
|
27
|
+
- **Múltiplas ferramentas por resposta** — o modelo pode pedir até 5 `NEETRU_TOOL` na mesma resposta (`parseToolRequests`); leitura/pesquisa roda em lote, mas ferramentas que escrevem/executam/publicam (`write_file`, `git_*`, `shell_exec`, etc. — `SINGLE_ACTION_TOOLS`) continuam limitadas a uma por resposta, as demais voltam com erro claro pedindo pra tentar de novo no próximo turno.
|
|
28
|
+
- **Auto mode estende o limite de turnos sem perguntar** — dentro do mesmo teto `MAX_TURN_LIMIT_EXTENSIONS` (2) já existente; fora do auto mode continua perguntando `[y/N]` a um humano de verdade (ou falhando direto em subagente/não-interativo).
|
|
29
|
+
|
|
30
|
+
### Corrigido
|
|
31
|
+
|
|
32
|
+
- **HOTFIX (2.22.0 → 2.22.1, achado em uso real ao vivo): "Maximum update depth exceeded" ao digitar `/agents` ou `/skills`** — o dropdown do autocomplete usava `key={s.word}` no JSX, mas vários comandos compartilham a mesma 1ª palavra (`/agents start|list|stop|result|apply` todos têm `word="/agents"`; `/skills`/`/skills init`/`/skills show` idem). Key duplicada disparava o warning de dev do React; como `console.error` é redirecionado pro `LineBuffer` (que chama `setState`), o próprio warning disparava outro render, que warnava de novo — loop infinito, painel travava ao abrir. Corrigido pra `key={s.cmd}` (esse sim único em toda a lista) + teste de regressão garantindo que `cmd` nunca colide.
|
|
33
|
+
- `NEETRU_DONE`/`NEETRU_BLOCKED` sem nenhum texto depois do marcador não vazam mais crus pro usuário — caem em "Concluido."/"Bloqueado." como fallback.
|
|
34
|
+
- **Ainda não estava corrigido apesar da alegação**: a redação "NEETRU_DONE se concluiu o máximo possível" (última chamada, quando o limite de turnos se aproxima) misturava "fiz o que deu" com "objetivo realmente concluído" — o modelo podia marcar uma tarefa incompleta como terminada só por ter ficado sem turnos. `NEETRU_DONE` agora exige conclusão REAL; sem isso, cai em texto normal resumindo o progresso.
|
|
35
|
+
|
|
36
|
+
### Segurança (achados de revisão de segurança sobre os commits desta sessão)
|
|
37
|
+
|
|
38
|
+
- **HIGH — escrita através de symlink escapava do projeto**: `resolveInside` só revalidava o realpath quando o ALVO já existia; `write_file`/`append_file` para um arquivo NOVO dentro de uma pasta symlinkada apontando pra fora do cwd escapavam da checagem por completo (o arquivo-alvo em si nunca existe antes da escrita). Corrigido pra resolver o realpath do ancestral EXISTENTE mais próximo do alvo, não só do alvo.
|
|
39
|
+
- **HIGH — SSRF via redirecionamento em `web_fetch`**: validava só a URL inicial e seguia redirecionamento automaticamente (`redirect: 'follow'`); um domínio público podia redirecionar pra `169.254.169.254`/localhost/IP privado sem revalidar. Trocado pra `redirect: 'manual'` com revalidação a cada salto (máx. 5) + resolução de DNS também validada contra rede privada/link-local (best-effort — não é prova contra DNS rebinding sem um dispatcher fixando o IP).
|
|
40
|
+
- **Médio — `web_fetch` só checava o limite de tamanho DEPOIS de carregar o corpo inteiro**: `content-length` era validado, mas a resposta inteira já tinha sido lida antes da checagem de tamanho real disparar. Agora lê em chunks e aborta assim que passa do limite.
|
|
41
|
+
|
|
42
|
+
### Adicionado — Objective Runtime Controller (`code-agent-budget.ts`, novo módulo)
|
|
43
|
+
|
|
44
|
+
> Pedido direto do usuário após um transcript real de sessão travada: o modelo ficava repetindo "avanço parcial" em modo objetivo sem nunca chamar tool nem propor patch, e `settings.maxTurns` — um CONTADOR, não um sinal de progresso — não enxergava isso. Design pesquisado (arquitetura documentada do Claude Code: modos de permissão, loop context→ação→verificação, bloqueio-com-motivo em vez de `[y/N]`) e sintetizado via 3 propostas independentes + 3 rodadas de verificação adversarial antes de implementar — a 1ª síntese tinha 4 problemas reais (edge de estado faltando, promessa falsa de segurança do tsc + bug real de `pendingPlanTask`, colisão com o mecanismo de patch-repair já testado, import circular), todos corrigidos e reverificados antes do código ser escrito.
|
|
45
|
+
|
|
46
|
+
- **2 novas dimensões de orçamento, ortogonais a `maxTurns`**: `noProgress` (turnos consecutivos em modo objetivo sem tool call nem patch — o modelo só descreve avanço) e `repeatedErrors` (total CUMULATIVO de patches inválidos na sessão inteira — nunca reseta, ao contrário do `patchRepairStreak` local que já existia e continua intacto; pega o padrão que o mecanismo antigo não pega: erra 3x, muda de estratégia, reseta, erra 3x de novo, indefinidamente sem convergir).
|
|
47
|
+
- **Novo outcome `budget_exceeded`** em `AgentTaskOutcome` — nunca se estende (nem em auto mode, diferente do limite de turnos): as duas dimensões são sinal de que o modelo não está CONVERGINDO, não de que faltou tempo.
|
|
48
|
+
- **Checkpoint roda logo após `goto('thinking')`** no loop — só precisou de 1 edge nova na máquina de estados (`thinking -> budget_exceeded`) em vez de enumerar os 3 estados alcançáveis no topo do loop, porque todos já têm edge legal pra `thinking` hoje.
|
|
49
|
+
- `MAX_CONSECUTIVE_PATCH_REPAIRS`/`MAX_TOOLS_PER_TURN`/`SINGLE_ACTION_TOOLS` migraram de `commands/code.ts` pra `code-agent-budget.ts` (evita um import circular: o novo módulo não pode importar essas constantes DE VOLTA de `code.ts` já que `code.ts` importa `decideBudgetAction`/`BudgetTracker` de lá).
|
|
50
|
+
- Os dois pontos que comparavam `outcome.kind` com `if/else` (não pegos por `tsc` — nenhum é um `switch` exaustivo hoje) viraram `switch` com `const _exhaustive: never = outcome.kind` no `default`, fechando de vez um bug real e independente: em modo plano, um outcome `'aborted'` deixava `pendingPlanTask` num estado obsoleto (nem atualizado, nem limpo) — `/approve` executaria um plano errado depois. Corrigido preservando um plano anterior ainda válido quando o turno atual não produziu nem plano nem execução real.
|
|
51
|
+
|
|
52
|
+
1051 testes passando, tsc limpo (isolado das mudanças desta sessão — um arquivo novo e não relacionado de outra frente de trabalho em andamento no mesmo repo tem 2 erros de tipo pré-existentes, fora do escopo desta mudança).
|
|
6
53
|
|
|
7
54
|
> Feedback direto do uso real (transcript colado pelo usuário): um modelo preso reescrevendo o mesmo diff quebrado gastava o orçamento de turnos INTEIRO em correções de patch e a sessão inteira falhava com "Limite de turnos atingido" sem chance de continuar. Diagnóstico confirmado por revisão de código (Codex): o problema é arquitetural — o CLI depende só de `NEETRU_PATCH` (unified diff cru gerado pelo modelo) como único caminho de escrita.
|
|
8
55
|
|
package/README.md
CHANGED
|
@@ -111,8 +111,25 @@ neetru dev up --skip-core
|
|
|
111
111
|
neetru dev exec "npm run test:integration"
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
+
Contexto do projeto local:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Projeto ligado a um produto já existente no Core:
|
|
118
|
+
neetru dev use --product meu-produto --sync
|
|
119
|
+
|
|
120
|
+
# Protótipo local ainda não cadastrado no Core:
|
|
121
|
+
neetru dev use --prototype meu-rascunho
|
|
122
|
+
|
|
123
|
+
# Ver o contexto efetivo que dev up/dev exec vão usar:
|
|
124
|
+
neetru dev status
|
|
125
|
+
|
|
126
|
+
# Sincronizar bancos dev-local do Core para .neetru/db.json:
|
|
127
|
+
neetru dev sync --write-db
|
|
128
|
+
```
|
|
129
|
+
|
|
114
130
|
> `neetru dev` (sem subcomando) mantém o modo legado: banco Docker local + watch de schema.
|
|
115
131
|
> Flags: `--only firestore,auth,functions`, `--core-port 9003`, `--core-path <dir>`.
|
|
132
|
+
> O arquivo `.neetru/dev.json` guarda o contexto local: produto Core ou protótipo, Core path e emuladores padrão.
|
|
116
133
|
|
|
117
134
|
## Configuração
|
|
118
135
|
|
package/dist/commands/code.js
CHANGED
|
@@ -7,11 +7,12 @@ import { config } from '../lib/config.js';
|
|
|
7
7
|
import { getActiveTokenSync } from '../lib/token-resolver.js';
|
|
8
8
|
import { log } from '../utils/logger.js';
|
|
9
9
|
import { setSafeExitCode } from '../utils/safe-exit.js';
|
|
10
|
-
import {
|
|
10
|
+
import { parseToolRequests, extractPatch } from '../lib/code-agent-protocol.js';
|
|
11
11
|
import { applyUnifiedPatch, checkPatchApplies, getGitDiff, getProjectOverview, listFiles, readFileContext, renderColoredDiff, runCodeTool, truncateForGateway, } from '../lib/code-agent-files.js';
|
|
12
12
|
import { compactCodeHistory, compactHistoryToFit, MAX_HISTORY_TOTAL_CHARS, saveCodeSession, autoSaveCodeSession, listCodeSessions, loadCodeSession, logAppliedPatch, CodeAgentStateMachine, } from '../lib/code-agent-session.js';
|
|
13
13
|
import { DEFAULT_CODE_MAX_TOKENS, DEFAULT_CODE_MAX_TURNS, DEFAULT_CODE_TEMPERATURE, ULTRACODE_EFFORT, ULTRACODE_MAX_TOKENS, ULTRACODE_MAX_TURNS, parseBoundedNumber, resolveCodeEffort, resolveCodeModel, resolveCodeProvider, } from '../lib/code-agent-settings.js';
|
|
14
14
|
import { callGateway, streamGatewayChat, AI_GATEWAY_CHAT_PATH } from '../lib/code-agent-gateway.js';
|
|
15
|
+
import { createBudgetTracker, decideBudgetAction, MAX_CONSECUTIVE_PATCH_REPAIRS, MAX_TOOLS_PER_TURN, SINGLE_ACTION_TOOLS, } from '../lib/code-agent-budget.js';
|
|
15
16
|
import { CliApiError } from '../lib/api-client.js';
|
|
16
17
|
import { buildSystemPrompt } from '../lib/code-agent-tools.js';
|
|
17
18
|
import { CODE_SKILLS_ROOT, installAllBuiltinSkills, loadCodeSkills, normalizeSkillName } from '../lib/code-agent-skills.js';
|
|
@@ -214,7 +215,9 @@ export async function callGatewayWithProgressRetrying(settings, messages, spinne
|
|
|
214
215
|
// N tentativas seguidas, para de pedir "corrija o diff" (que nao esta
|
|
215
216
|
// funcionando) e forca o modelo a mudar de estrategia: explicar em texto em
|
|
216
217
|
// vez de insistir no mesmo formato.
|
|
217
|
-
|
|
218
|
+
// (MAX_CONSECUTIVE_PATCH_REPAIRS/MAX_TOOLS_PER_TURN/SINGLE_ACTION_TOOLS agora
|
|
219
|
+
// vivem em code-agent-budget.ts — evita um ciclo de import com o Objective
|
|
220
|
+
// Runtime Controller, que consome esse modulo; ver comentario la.)
|
|
218
221
|
// Limite de turnos "duro demais" era a outra metade da mesma reclamacao:
|
|
219
222
|
// ao esgotar `maxTurns` a sessao INTEIRA falhava com um erro opaco, sem
|
|
220
223
|
// chance do usuario (que esta ali, na sessao interativa) simplesmente pedir
|
|
@@ -244,6 +247,22 @@ function stripObjectiveMarker(content) {
|
|
|
244
247
|
.replace(/^\s*NEETRU_BLOCKED\b[:\s-]*/i, '')
|
|
245
248
|
.trim();
|
|
246
249
|
}
|
|
250
|
+
function objectiveDisplayText(state, content) {
|
|
251
|
+
if (state === 'done')
|
|
252
|
+
return stripObjectiveMarker(content) || 'Concluido.';
|
|
253
|
+
if (state === 'blocked')
|
|
254
|
+
return stripObjectiveMarker(content) || 'Bloqueado.';
|
|
255
|
+
return content;
|
|
256
|
+
}
|
|
257
|
+
function isAutoMode(settings) {
|
|
258
|
+
return settings.apply === true && settings.yes === true && settings.objectiveMode === true;
|
|
259
|
+
}
|
|
260
|
+
function canAutoExtendTurnLimit(settings, silent, usedExtensions) {
|
|
261
|
+
return !silent && isAutoMode(settings) && usedExtensions < MAX_TURN_LIMIT_EXTENSIONS;
|
|
262
|
+
}
|
|
263
|
+
function extendTurnLimit(settings) {
|
|
264
|
+
settings.maxTurns += TURN_LIMIT_EXTENSION;
|
|
265
|
+
}
|
|
247
266
|
function buildObjectiveContinuationPrompt(turn, maxTurns) {
|
|
248
267
|
return [
|
|
249
268
|
`Modo objetivo: sua resposta anterior parece um avanco parcial, nao uma conclusao marcada.`,
|
|
@@ -357,6 +376,7 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
357
376
|
let spinner = makeSpinner();
|
|
358
377
|
let patchRepairStreak = 0;
|
|
359
378
|
let turnLimitExtensionsUsed = 0;
|
|
379
|
+
const budgetTracker = createBudgetTracker();
|
|
360
380
|
try {
|
|
361
381
|
for (let turn = 1;; turn++) {
|
|
362
382
|
if (turn > settings.maxTurns) {
|
|
@@ -369,15 +389,16 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
369
389
|
// bloqueia) nao pode virar loop infinito so porque alguem/algo
|
|
370
390
|
// aprovou a extensao uma vez.
|
|
371
391
|
spinner.stop();
|
|
372
|
-
const
|
|
373
|
-
const
|
|
392
|
+
const autoExtend = canAutoExtendTurnLimit(settings, silent, turnLimitExtensionsUsed);
|
|
393
|
+
const canOfferExtension = !silent && !autoExtend && turnLimitExtensionsUsed < MAX_TURN_LIMIT_EXTENSIONS;
|
|
394
|
+
const shouldExtend = autoExtend || (canOfferExtension && (await confirm(`\nLimite de ${settings.maxTurns} turno(s) atingido sem concluir. Continuar mais ${TURN_LIMIT_EXTENSION} turno(s)? [y/N] `)));
|
|
374
395
|
if (!shouldExtend) {
|
|
375
396
|
goto('failed');
|
|
376
397
|
throw new Error(`Limite de turnos atingido (${settings.maxTurns}) sem resposta final.`);
|
|
377
398
|
}
|
|
378
399
|
turnLimitExtensionsUsed++;
|
|
379
|
-
settings
|
|
380
|
-
emit('ok', 'Limite de turnos estendido', `+${TURN_LIMIT_EXTENSION} (agora ${settings.maxTurns} no total)`);
|
|
400
|
+
extendTurnLimit(settings);
|
|
401
|
+
emit('ok', autoExtend ? 'Limite de turnos estendido automaticamente' : 'Limite de turnos estendido', `+${TURN_LIMIT_EXTENSION} (agora ${settings.maxTurns} no total)`);
|
|
381
402
|
spinner = makeSpinner();
|
|
382
403
|
}
|
|
383
404
|
// Cancelamento cooperativo: verificado na fronteira de cada turno. A
|
|
@@ -389,6 +410,24 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
389
410
|
return { kind: 'aborted' };
|
|
390
411
|
}
|
|
391
412
|
goto('thinking');
|
|
413
|
+
// Objective Runtime Controller (2026-07-13) — checkpoint de orcamento
|
|
414
|
+
// logo APOS goto('thinking') de proposito: os 3 estados alcancaveis no
|
|
415
|
+
// topo do loop (idle/thinking/tool_running, via os `continue` do loop)
|
|
416
|
+
// ja tem edge legal pra 'thinking' hoje, entao colocar o checkpoint
|
|
417
|
+
// AQUI exige so UMA edge nova na maquina de estados (thinking ->
|
|
418
|
+
// budget_exceeded), em vez de enumerar as 3. Nunca estende (nem em
|
|
419
|
+
// auto mode, diferente do limite de turnos acima): noProgress/
|
|
420
|
+
// repeatedErrors sao sinal de que o modelo nao esta CONVERGINDO, nao
|
|
421
|
+
// de que faltou tempo — estender so prolongaria a mesma falha.
|
|
422
|
+
const budgetDecision = decideBudgetAction(budgetTracker, options.budgetOverrides);
|
|
423
|
+
if (budgetDecision.exceeded) {
|
|
424
|
+
spinner.stop();
|
|
425
|
+
if (!silent) {
|
|
426
|
+
emit('warn', 'Orcamento do modo objetivo excedido', `${budgetDecision.dimension} — ${budgetDecision.reason}`);
|
|
427
|
+
}
|
|
428
|
+
goto('budget_exceeded');
|
|
429
|
+
return { kind: 'budget_exceeded', dimension: budgetDecision.dimension, reason: budgetDecision.reason };
|
|
430
|
+
}
|
|
392
431
|
// GAP-M1-15: auto-compact por TAMANHO antes de cada chamada — sem isso
|
|
393
432
|
// uma sessao com varias tool results grandes (cada uma ate
|
|
394
433
|
// MAX_GATEWAY_SAFE_CHARS) estoura o limite de payload TOTAL do
|
|
@@ -405,9 +444,16 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
405
444
|
// em producao: "oi" gastou os 8 turnos so chamando tools e falhou com
|
|
406
445
|
// "Limite de turnos atingido"). No ultimo turno permitido, forca o
|
|
407
446
|
// modelo a responder AGORA em vez de so descobrir isso ao falhar.
|
|
408
|
-
if (turn === settings.maxTurns) {
|
|
447
|
+
if (turn === settings.maxTurns && !canAutoExtendTurnLimit(settings, silent, turnLimitExtensionsUsed)) {
|
|
448
|
+
// 2026-07-13 (achado do Codex review): a redacao antiga ("NEETRU_DONE
|
|
449
|
+
// se concluiu o maximo possivel") misturava "fiz o que deu" com
|
|
450
|
+
// "objetivo realmente concluido" — o modelo podia marcar NEETRU_DONE
|
|
451
|
+
// so por estar sem turnos, reportando uma tarefa incompleta como
|
|
452
|
+
// terminada. NEETRU_DONE agora exige conclusao REAL; sem isso, texto
|
|
453
|
+
// normal resumindo o progresso (cai no classificador 'partial', que
|
|
454
|
+
// ja avisa "Limite do modo objetivo atingido" em vez de fingir feito).
|
|
409
455
|
const finalTurnInstruction = settings.objectiveMode
|
|
410
|
-
? 'Este e o ultimo turno disponivel.
|
|
456
|
+
? 'Este e o ultimo turno disponivel. Se o objetivo esta REALMENTE concluido, responda com NEETRU_DONE. Se ha um bloqueio real (falta de informacao/credencial/decisao externa), responda com NEETRU_BLOCKED. Caso contrario — se ainda falta trabalho mas o tempo acabou — responda em texto normal resumindo o progresso ate aqui, SEM usar NEETRU_DONE (nao esta concluido so porque o tempo acabou). Nao peca mais NEETRU_TOOL nem proponha patch.'
|
|
411
457
|
: 'Este e o ultimo turno disponivel. Responda AGORA com uma conclusao em texto usando o que voce ja sabe — nao peca mais NEETRU_TOOL nem proponha patch.';
|
|
412
458
|
messages.push({
|
|
413
459
|
role: 'user',
|
|
@@ -420,17 +466,40 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
420
466
|
spinner = gatewayResult.spinner;
|
|
421
467
|
const content = gatewayResult.content;
|
|
422
468
|
messages.push({ role: 'assistant', content });
|
|
423
|
-
const
|
|
424
|
-
if (
|
|
469
|
+
const tools = parseToolRequests(content);
|
|
470
|
+
if (tools.length > 0) {
|
|
425
471
|
patchRepairStreak = 0;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
472
|
+
budgetTracker.noProgressStreak = 0; // acao real (tool) — nao e "so texto"
|
|
473
|
+
const selectedTools = tools.slice(0, MAX_TOOLS_PER_TURN);
|
|
474
|
+
const results = [];
|
|
475
|
+
let singleActionSeen = false;
|
|
476
|
+
for (const [index, tool] of selectedTools.entries()) {
|
|
477
|
+
const isSingleAction = SINGLE_ACTION_TOOLS.has(tool.tool);
|
|
478
|
+
if (isSingleAction && singleActionSeen) {
|
|
479
|
+
results.push(`--- Resultado da tool ${index + 1}/${selectedTools.length}: ${tool.tool} ---\n` +
|
|
480
|
+
`ERRO: apenas uma ferramenta que escreve, executa codigo ou publica pode rodar por resposta. ` +
|
|
481
|
+
`Peca esta acao novamente no proximo turno se ainda for necessaria.`);
|
|
482
|
+
continue;
|
|
483
|
+
}
|
|
484
|
+
if (isSingleAction)
|
|
485
|
+
singleActionSeen = true;
|
|
486
|
+
if (index > 0)
|
|
487
|
+
goto('thinking');
|
|
488
|
+
goto('tool_requested');
|
|
489
|
+
spinner.update(`${baseDetail} · tool ${index + 1}/${selectedTools.length}: ${tool.tool}`);
|
|
490
|
+
goto('tool_running');
|
|
491
|
+
const result = await runCodeTool(settings.cwd, tool, { settings, confirm });
|
|
492
|
+
spinner.update(`${baseDetail} · tool ${index + 1}/${selectedTools.length}: ${summarizeToolResult(result)}`);
|
|
493
|
+
results.push(`--- Resultado da tool ${index + 1}/${selectedTools.length}: ${tool.tool} ---\n${result}`);
|
|
494
|
+
}
|
|
495
|
+
if (tools.length > selectedTools.length) {
|
|
496
|
+
results.push(`--- Ferramentas ignoradas ---\n` +
|
|
497
|
+
`A resposta pediu ${tools.length} ferramentas; o limite por turno e ${MAX_TOOLS_PER_TURN}. ` +
|
|
498
|
+
`Peca as restantes no proximo turno se ainda forem necessarias.`);
|
|
499
|
+
}
|
|
431
500
|
messages.push({
|
|
432
501
|
role: 'user',
|
|
433
|
-
content: truncateForGateway(`
|
|
502
|
+
content: truncateForGateway(`Resultados das tools:\n\n${results.join('\n\n')}`),
|
|
434
503
|
});
|
|
435
504
|
continue;
|
|
436
505
|
}
|
|
@@ -447,6 +516,12 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
447
516
|
const checkError = checkPatchApplies(settings.cwd, patch);
|
|
448
517
|
if (checkError) {
|
|
449
518
|
patchRepairStreak++;
|
|
519
|
+
// Cumulativo, NUNCA reseta (nem quando patchRepairStreak reseta
|
|
520
|
+
// 2 linhas abaixo) — pega o padrao que o streak local nao pega:
|
|
521
|
+
// erra 3x, muda de estrategia (streak reseta), volta a errar 3x,
|
|
522
|
+
// reseta de novo, indefinidamente sem convergir. Ver
|
|
523
|
+
// code-agent-budget.ts.
|
|
524
|
+
budgetTracker.repeatedErrorTotal++;
|
|
450
525
|
// 3+ tentativas seguidas de patch invalido: pedir "corrija o
|
|
451
526
|
// diff" de novo claramente nao esta funcionando (achado em uso
|
|
452
527
|
// real — o mesmo erro se repetia turno apos turno ate esgotar o
|
|
@@ -473,6 +548,7 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
473
548
|
continue;
|
|
474
549
|
}
|
|
475
550
|
}
|
|
551
|
+
budgetTracker.noProgressStreak = 0; // patch valido — acao real, nao "so texto"
|
|
476
552
|
spinner.stop();
|
|
477
553
|
goto('patch_ready');
|
|
478
554
|
if (!silent) {
|
|
@@ -503,9 +579,19 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
503
579
|
}
|
|
504
580
|
if (settings.objectiveMode) {
|
|
505
581
|
const objectiveState = classifyObjectiveText(content);
|
|
506
|
-
const
|
|
507
|
-
if (objectiveState === 'partial' &&
|
|
582
|
+
const displayContent = objectiveDisplayText(objectiveState, content);
|
|
583
|
+
if (objectiveState === 'partial' &&
|
|
584
|
+
(turn < settings.maxTurns || canAutoExtendTurnLimit(settings, silent, turnLimitExtensionsUsed))) {
|
|
585
|
+
if (turn >= settings.maxTurns) {
|
|
586
|
+
turnLimitExtensionsUsed++;
|
|
587
|
+
extendTurnLimit(settings);
|
|
588
|
+
emit('ok', 'Limite de turnos estendido automaticamente', `+${TURN_LIMIT_EXTENSION} (agora ${settings.maxTurns} no total)`);
|
|
589
|
+
}
|
|
508
590
|
patchRepairStreak = 0;
|
|
591
|
+
// Chegar aqui significa: sem tool call, sem patch (os dois ramos
|
|
592
|
+
// anteriores no loop ja fazem `continue`/`return` antes disto) —
|
|
593
|
+
// "sem progresso" e definicional pra este turno.
|
|
594
|
+
budgetTracker.noProgressStreak++;
|
|
509
595
|
spinner.stop();
|
|
510
596
|
if (!silent) {
|
|
511
597
|
emit('ok', 'Avanco parcial', 'modo objetivo continuara trabalhando');
|
|
@@ -524,10 +610,10 @@ export async function runAgentTask(task, settings, confirm, history = [], onStat
|
|
|
524
610
|
if (objectiveState === 'partial') {
|
|
525
611
|
emit('warn', 'Limite do modo objetivo atingido', `${settings.maxTurns} turno(s)`);
|
|
526
612
|
}
|
|
527
|
-
printAssistantText(
|
|
613
|
+
printAssistantText(displayContent);
|
|
528
614
|
}
|
|
529
615
|
goto('idle');
|
|
530
|
-
return { kind: 'text', text:
|
|
616
|
+
return { kind: 'text', text: displayContent };
|
|
531
617
|
}
|
|
532
618
|
spinner.stop();
|
|
533
619
|
if (!silent) {
|
|
@@ -644,17 +730,44 @@ async function runAgentsCommand(line, settings, confirm) {
|
|
|
644
730
|
return;
|
|
645
731
|
}
|
|
646
732
|
const outcome = record.outcome;
|
|
647
|
-
if (outcome
|
|
648
|
-
printEvent('ok', 'Patch proposto', `#${idArg} — /agents apply ${idArg} pra aplicar`);
|
|
649
|
-
printPatchPreview(outcome.patch);
|
|
650
|
-
}
|
|
651
|
-
else if (outcome?.kind === 'text') {
|
|
652
|
-
printAssistantText(outcome.text ?? '(sem texto)');
|
|
653
|
-
}
|
|
654
|
-
else {
|
|
733
|
+
if (!outcome) {
|
|
655
734
|
printEvent('warn', 'Sem resultado aplicavel', `#${idArg}`);
|
|
735
|
+
return;
|
|
736
|
+
}
|
|
737
|
+
// switch exaustivo (nao if/else) de proposito: um `outcome.kind` novo
|
|
738
|
+
// sem `case` aqui quebra `tsc --noEmit` de verdade (assign pro `never`
|
|
739
|
+
// no default), ao contrario do if/else que isto substitui — ver
|
|
740
|
+
// achado do Codex review 2026-07-13 (a promessa antiga de "o tsc pega"
|
|
741
|
+
// era falsa pra if/else). Todo `case` (inclusive `default`) termina em
|
|
742
|
+
// `return` — isto e o ULTIMO statement de `case 'result':` no switch
|
|
743
|
+
// externo (`switch (sub)` acima); sem `return` em todo ramo, cair do
|
|
744
|
+
// switch interno cairia direto no proximo `case` do switch externo.
|
|
745
|
+
switch (outcome.kind) {
|
|
746
|
+
case 'patch':
|
|
747
|
+
if (outcome.patch) {
|
|
748
|
+
printEvent('ok', 'Patch proposto', `#${idArg} — /agents apply ${idArg} pra aplicar`);
|
|
749
|
+
printPatchPreview(outcome.patch);
|
|
750
|
+
}
|
|
751
|
+
else {
|
|
752
|
+
printEvent('warn', 'Sem resultado aplicavel', `#${idArg}`);
|
|
753
|
+
}
|
|
754
|
+
return;
|
|
755
|
+
case 'text':
|
|
756
|
+
printAssistantText(outcome.text ?? '(sem texto)');
|
|
757
|
+
return;
|
|
758
|
+
case 'budget_exceeded':
|
|
759
|
+
printEvent('warn', 'Subagente parou por orcamento excedido', `${outcome.dimension ?? '?'} — ${outcome.reason ?? `#${idArg}`}`);
|
|
760
|
+
return;
|
|
761
|
+
case 'applied':
|
|
762
|
+
case 'aborted':
|
|
763
|
+
printEvent('warn', 'Sem resultado aplicavel', `#${idArg}`);
|
|
764
|
+
return;
|
|
765
|
+
default: {
|
|
766
|
+
const _exhaustive = outcome.kind;
|
|
767
|
+
printEvent('warn', 'Sem resultado aplicavel', `#${idArg}`);
|
|
768
|
+
return;
|
|
769
|
+
}
|
|
656
770
|
}
|
|
657
|
-
return;
|
|
658
771
|
}
|
|
659
772
|
case 'apply': {
|
|
660
773
|
if (!idArg) {
|
|
@@ -1049,12 +1162,41 @@ async function runInteractive(settings) {
|
|
|
1049
1162
|
const answer = await ctx.askLine(question);
|
|
1050
1163
|
return /^(y|yes|s|sim)$/i.test(answer.trim());
|
|
1051
1164
|
}, history);
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1165
|
+
// switch exaustivo (2026-07-13, Objective Runtime Controller): o
|
|
1166
|
+
// if/else antigo so cobria 'text'/'patch' explicitamente e
|
|
1167
|
+
// `!wasPlanMode`; um outcome 'aborted' EM modo plano nao caia em
|
|
1168
|
+
// nenhum ramo, deixando pendingPlanTask parado num valor antigo —
|
|
1169
|
+
// achado real do Codex review. `budget_exceeded` teria o mesmo gap.
|
|
1170
|
+
switch (outcome.kind) {
|
|
1171
|
+
case 'text':
|
|
1172
|
+
case 'patch':
|
|
1173
|
+
if (wasPlanMode) {
|
|
1174
|
+
pendingPlanTask = line;
|
|
1175
|
+
printEvent('ok', 'Plano aguardando aprovacao', 'use /approve para entrar em auto mode e executar');
|
|
1176
|
+
}
|
|
1177
|
+
else {
|
|
1178
|
+
pendingPlanTask = null;
|
|
1179
|
+
}
|
|
1180
|
+
break;
|
|
1181
|
+
case 'applied':
|
|
1182
|
+
case 'aborted':
|
|
1183
|
+
case 'budget_exceeded':
|
|
1184
|
+
// Nenhum destes produz um plano novo. So limpa pendingPlanTask
|
|
1185
|
+
// quando NAO estavamos em modo plano (a tarefa rodou de verdade).
|
|
1186
|
+
// Em modo plano, um turno que nao produziu plano (abortado,
|
|
1187
|
+
// orcamento excedido) NAO pode apagar um plano anterior ainda
|
|
1188
|
+
// valido esperando /approve — senao um Ctrl+C numa pergunta nao
|
|
1189
|
+
// relacionada destruiria um plano aprovavel (achado da 2a rodada
|
|
1190
|
+
// de revisao adversarial: a correcao ingenua deste mesmo bug
|
|
1191
|
+
// introduzia esta regressao especificamente pro caso 'aborted').
|
|
1192
|
+
if (!wasPlanMode)
|
|
1193
|
+
pendingPlanTask = null;
|
|
1194
|
+
break;
|
|
1195
|
+
default: {
|
|
1196
|
+
const _exhaustive = outcome.kind;
|
|
1197
|
+
if (!wasPlanMode)
|
|
1198
|
+
pendingPlanTask = null;
|
|
1199
|
+
}
|
|
1058
1200
|
}
|
|
1059
1201
|
}
|
|
1060
1202
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"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"}
|