@neetru/cli 2.22.0 → 2.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +48 -1
  2. package/README.md +17 -0
  3. package/dist/commands/code.js +177 -35
  4. package/dist/commands/code.js.map +1 -1
  5. package/dist/commands/dev-context.d.ts +28 -0
  6. package/dist/commands/dev-context.js +211 -0
  7. package/dist/commands/dev-context.js.map +1 -0
  8. package/dist/commands/dev-up.d.ts +2 -0
  9. package/dist/commands/dev-up.js +122 -18
  10. package/dist/commands/dev-up.js.map +1 -1
  11. package/dist/commands/dev.d.ts +3 -0
  12. package/dist/commands/dev.js +101 -25
  13. package/dist/commands/dev.js.map +1 -1
  14. package/dist/commands/env.d.ts +1 -1
  15. package/dist/commands/env.js +17 -10
  16. package/dist/commands/env.js.map +1 -1
  17. package/dist/index.js +58 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/lib/code-agent-budget.d.ts +67 -0
  20. package/dist/lib/code-agent-budget.js +80 -0
  21. package/dist/lib/code-agent-budget.js.map +1 -0
  22. package/dist/lib/code-agent-files.js +16 -8
  23. package/dist/lib/code-agent-files.js.map +1 -1
  24. package/dist/lib/code-agent-protocol.d.ts +1 -0
  25. package/dist/lib/code-agent-protocol.js +10 -5
  26. package/dist/lib/code-agent-protocol.js.map +1 -1
  27. package/dist/lib/code-agent-session.d.ts +1 -1
  28. package/dist/lib/code-agent-session.js +16 -1
  29. package/dist/lib/code-agent-session.js.map +1 -1
  30. package/dist/lib/code-agent-tools.js +9 -1
  31. package/dist/lib/code-agent-tools.js.map +1 -1
  32. package/dist/lib/code-agent-tui.d.ts +26 -5
  33. package/dist/lib/code-agent-tui.js +65 -7
  34. package/dist/lib/code-agent-tui.js.map +1 -1
  35. package/dist/lib/code-agent-types.d.ts +19 -1
  36. package/dist/lib/code-agent-web-tools.js +141 -35
  37. package/dist/lib/code-agent-web-tools.js.map +1 -1
  38. package/dist/lib/dev-local-context.d.ts +29 -0
  39. package/dist/lib/dev-local-context.js +114 -0
  40. package/dist/lib/dev-local-context.js.map +1 -0
  41. 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.22.0] — 2026-07-13 (`neetru code` — autocomplete de slash commands, ferramentas deterministicas de escrita, limite de turnos inteligente)
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
 
@@ -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 { parseToolRequest, extractPatch } from '../lib/code-agent-protocol.js';
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
- const MAX_CONSECUTIVE_PATCH_REPAIRS = 3;
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 canOfferExtension = !silent && turnLimitExtensionsUsed < MAX_TURN_LIMIT_EXTENSIONS;
373
- const shouldExtend = canOfferExtension && (await confirm(`\nLimite de ${settings.maxTurns} turno(s) atingido sem concluir. Continuar mais ${TURN_LIMIT_EXTENSION} turno(s)? [y/N] `));
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.maxTurns += TURN_LIMIT_EXTENSION;
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. Responda AGORA com NEETRU_DONE se concluiu o maximo possivel, ou NEETRU_BLOCKED se ha bloqueio real. Nao peca mais NEETRU_TOOL nem proponha patch.'
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 tool = parseToolRequest(content);
424
- if (tool) {
469
+ const tools = parseToolRequests(content);
470
+ if (tools.length > 0) {
425
471
  patchRepairStreak = 0;
426
- goto('tool_requested');
427
- spinner.update(`${baseDetail} · ${tool.tool}`);
428
- goto('tool_running');
429
- const result = await runCodeTool(settings.cwd, tool, { settings, confirm });
430
- spinner.update(`${baseDetail} · ${summarizeToolResult(result)}`);
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(`Resultado da tool ${tool.tool}:\n\n${result}`),
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 cleanContent = objectiveState === 'partial' ? content : stripObjectiveMarker(content);
507
- if (objectiveState === 'partial' && turn < settings.maxTurns) {
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(cleanContent || content);
613
+ printAssistantText(displayContent);
528
614
  }
529
615
  goto('idle');
530
- return { kind: 'text', text: cleanContent || content };
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?.kind === 'patch' && outcome.patch) {
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
- if (wasPlanMode && (outcome.kind === 'text' || outcome.kind === 'patch')) {
1053
- pendingPlanTask = line;
1054
- printEvent('ok', 'Plano aguardando aprovacao', 'use /approve para entrar em auto mode e executar');
1055
- }
1056
- else if (!wasPlanMode) {
1057
- pendingPlanTask = null;
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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"}