@orkastery/cli 0.5.6 → 0.6.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/adapters/README.md +18 -0
- package/adapters/claude-code/.claude-plugin/plugin.json +1 -0
- package/adapters/claude-code/README.md +37 -5
- package/adapters/claude-code/agents/ork-check.md +1 -0
- package/adapters/claude-code/agents/ork-go.md +1 -0
- package/adapters/claude-code/agents/ork-goal.md +1 -0
- package/adapters/claude-code/agents/ork-master.md +1 -0
- package/adapters/claude-code/agents/ork-plan.md +1 -0
- package/adapters/claude-code/agents/ork-ship.md +1 -0
- package/adapters/claude-code/hooks/hooks.json +2 -1
- package/adapters/claude-code/hooks/ork-guard.js +15 -1
- package/adapters/claude-code/hooks/ork-resposta.js +91 -0
- package/adapters/claude-code/hooks/ork-sensor.js +18 -2
- package/adapters/claude-code/hooks/quota-signal.js +14 -0
- package/adapters/claude-code/mods/ork-mensageiro/.claude-plugin/plugin.json +14 -0
- package/adapters/claude-code/mods/ork-mensageiro/hooks/caixa.ts +215 -0
- package/adapters/claude-code/mods/ork-mensageiro/hooks/hooks.json +3 -0
- package/adapters/claude-code/mods/ork-mensageiro/hooks/painel.tsx +165 -0
- package/adapters/claude-code/mods/ork-mensageiro/hooks/recepcao.ts +256 -0
- package/adapters/claude-code/mods/ork-mensageiro/hooks/register.tsx +481 -0
- package/adapters/claude-code/mods/ork-mensageiro/orkastery-mod.json +5 -0
- package/adapters/claude-code/mods/ork-mensageiro/types/index.d.ts +85 -0
- package/adapters/claude-code/mods/ork-pista/hooks/ci.ts +9 -5
- package/adapters/claude-code/mods/ork-ritual/.claude-plugin/plugin.json +14 -0
- package/adapters/claude-code/mods/ork-ritual/hooks/hooks.json +3 -0
- package/adapters/claude-code/mods/ork-ritual/hooks/nota.ts +88 -0
- package/adapters/claude-code/mods/ork-ritual/hooks/register.tsx +494 -0
- package/adapters/claude-code/mods/ork-ritual/hooks/replay.tsx +271 -0
- package/adapters/claude-code/mods/ork-ritual/hooks/ritual.ts +218 -0
- package/adapters/claude-code/mods/ork-ritual/orkastery-mod.json +5 -0
- package/adapters/claude-code/mods/ork-ritual/types/index.d.ts +106 -0
- package/adapters/claude-code/mods/ork-sentinela/hooks/vigia.ts +1 -1
- package/adapters/codex/skills/ork/SKILL.md +2 -0
- package/adapters/hermes/README.md +64 -1
- package/adapters/hermes/bin/ork-conhecimento-colecoes.sh +14 -0
- package/adapters/hermes/bin/ork-conhecimento-listar.sh +15 -0
- package/adapters/hermes/bin/ork-conhecimento-mostrar.sh +16 -0
- package/adapters/hermes/bin/ork-conhecimento-verificar.sh +15 -0
- package/adapters/hermes/bin/ork-vigia-batida.py +127 -0
- package/adapters/hermes/hermes.plugin.json +4 -0
- package/adapters/hermes/hitl-ingress/__init__.py +101 -8
- package/adapters/hermes/skills/orkastery-devmaster/SKILL.md +2 -2
- package/adapters/openclaw/README.md +81 -9
- package/adapters/openclaw/bin/ork-vigia-batida.js +86 -0
- package/adapters/openclaw/dist/hitl-ingress.js +106 -9
- package/adapters/openclaw/dist/index.js +86 -0
- package/adapters/openclaw/openclaw.plugin.json +34 -4
- package/adapters/openclaw/package.json +2 -2
- package/adapters/openclaw/src/hitl-ingress.ts +103 -9
- package/adapters/openclaw/src/index.ts +94 -0
- package/assets/adapters-en/claude-code/README.md +403 -0
- package/assets/adapters-en/claude-code/agents/ork-check.md +33 -0
- package/assets/adapters-en/claude-code/agents/ork-go.md +33 -0
- package/assets/adapters-en/claude-code/agents/ork-goal.md +34 -0
- package/assets/adapters-en/claude-code/agents/ork-master.md +35 -0
- package/assets/adapters-en/claude-code/agents/ork-plan.md +33 -0
- package/assets/adapters-en/claude-code/agents/ork-ship.md +33 -0
- package/assets/adapters-en/claude-code/commands/check.md +46 -0
- package/assets/adapters-en/claude-code/commands/go.md +46 -0
- package/assets/adapters-en/claude-code/commands/goal.md +55 -0
- package/assets/adapters-en/claude-code/commands/master.md +54 -0
- package/assets/adapters-en/claude-code/commands/onboarding.md +22 -0
- package/assets/adapters-en/claude-code/commands/ork.md +126 -0
- package/assets/adapters-en/claude-code/commands/plan.md +47 -0
- package/assets/adapters-en/claude-code/commands/ship.md +45 -0
- package/assets/adapters-en/codex/skills/ork/SKILL.md +85 -0
- package/assets/adapters-en/hermes/README.md +273 -0
- package/assets/adapters-en/hermes/skills/orkastery-devmaster/SKILL.md +169 -0
- package/assets/references-en/README.md +25 -0
- package/assets/references-en/code-review-axes.md +82 -0
- package/assets/references-en/definition-of-done.md +74 -0
- package/assets/references-en/performance-checklist.md +53 -0
- package/assets/references-en/security-checklist.md +101 -0
- package/assets/references-en/testing-patterns.md +51 -0
- package/assets/security-scan/defaults/.golangci.yml +2 -0
- package/assets/security-scan/defaults/eslint.config.mjs +11 -0
- package/assets/security-scan/defaults/gitleaks.toml +3 -0
- package/assets/security-scan/defaults/ruff.toml +1 -0
- package/assets/security-scan/tools-agil.json +87 -0
- package/assets/security-scan/tools.json +625 -0
- package/assets/skills-en/core/onboarding/SKILL.md +58 -0
- package/assets/skills-en/core/orkastery-bootstrap/SKILL.md +119 -0
- package/assets/skills-en/core/thread-state/SKILL.md +88 -0
- package/assets/skills-en/governance/decision-triage/SKILL.md +65 -0
- package/assets/skills-en/governance/narrative-guardian/SKILL.md +66 -0
- package/assets/skills-en/governance/roadmap-keeper/SKILL.md +60 -0
- package/assets/skills-en/governance/scope-check-capability-map/SKILL.md +71 -0
- package/assets/skills-en/observability/thread-tracing/SKILL.md +63 -0
- package/assets/skills-en/phases/check-quality/SKILL.md +103 -0
- package/assets/skills-en/phases/go-implementation/SKILL.md +78 -0
- package/assets/skills-en/phases/goal-definition/SKILL.md +69 -0
- package/assets/skills-en/phases/master-metrics/SKILL.md +72 -0
- package/assets/skills-en/phases/plan-specification/SKILL.md +67 -0
- package/assets/skills-en/phases/security-remediation/SKILL.md +70 -0
- package/assets/skills-en/phases/ship-release/SKILL.md +71 -0
- package/assets/skills-en/reviewers/code-reviewer/SKILL.md +61 -0
- package/assets/skills-en/reviewers/security-auditor/SKILL.md +93 -0
- package/assets/skills-en/reviewers/test-engineer/SKILL.md +66 -0
- package/assets/skills-en/reviewers/web-performance-auditor/SKILL.md +63 -0
- package/dist/adapters/claude-bg.js +123 -9
- package/dist/adapters/codex-controller-worker.js +12 -5
- package/dist/adapters/codex-events.js +16 -4
- package/dist/adapters/codex.js +3 -1
- package/dist/adapters/grok-events.js +227 -0
- package/dist/adapters/grok-mcp-servidor.js +612 -0
- package/dist/adapters/grok-mcp.js +178 -0
- package/dist/adapters/grok.js +686 -0
- package/dist/agendador-cpu.js +92 -0
- package/dist/atualizar-branch.js +245 -0
- package/dist/auditoria.js +13 -11
- package/dist/auditrun.js +51 -46
- package/dist/autorizacao-duravel.js +327 -0
- package/dist/board.js +94 -40
- package/dist/branch-de-estado.js +23 -10
- package/dist/busca-semantica.js +7 -5
- package/dist/catalogo.js +2 -1
- package/dist/changelog-reconciliacao.js +290 -0
- package/dist/check-agil.js +528 -0
- package/dist/check-modo.js +41 -0
- package/dist/check-paralelo.js +238 -0
- package/dist/ci.js +248 -45
- package/dist/ciclos.js +8 -6
- package/dist/claim-lint.js +12 -8
- package/dist/claims-conferir.js +47 -39
- package/dist/claims.js +10 -9
- package/dist/company-brain-client.js +10 -3
- package/dist/company-brain-migration.js +11 -5
- package/dist/conducao-batida.js +759 -0
- package/dist/conducao-sentinela.js +25 -8
- package/dist/conducao.js +89 -29
- package/dist/conhecimento-consulta.js +270 -0
- package/dist/conhecimento.js +111 -87
- package/dist/conta-esgotada.js +127 -0
- package/dist/dado-privado.js +816 -0
- package/dist/decisao-autonoma.js +5 -4
- package/dist/demo.js +14 -12
- package/dist/dependencias-da-worktree.js +25 -0
- package/dist/divida.js +38 -36
- package/dist/docs.js +89 -89
- package/dist/doctor-forja.js +343 -0
- package/dist/doctor-pulse-cron.js +113 -1
- package/dist/doctor.js +164 -6
- package/dist/dsn-da-memoria.js +417 -0
- package/dist/entrega-por-mod.js +503 -0
- package/dist/entrega-pr.js +154 -54
- package/dist/esgotamentos.js +13 -11
- package/dist/estado-thread.js +21 -18
- package/dist/evalrunner.js +35 -32
- package/dist/fabrica-batida.js +34 -21
- package/dist/fabrica-estado.js +33 -21
- package/dist/fix.js +21 -19
- package/dist/forja/adaptador.js +6 -0
- package/dist/forja/ambiente-de-ci.js +27 -0
- package/dist/forja/api.js +256 -0
- package/dist/forja/cache.js +89 -0
- package/dist/forja/cli.js +60 -0
- package/dist/forja/contrato.js +9 -0
- package/dist/forja/endereco.js +43 -0
- package/dist/forja/estado.js +22 -0
- package/dist/forja/executor.js +73 -0
- package/dist/forja/github/ci.js +95 -0
- package/dist/forja/github/dono-da-rede.js +18 -0
- package/dist/forja/github/metadados.js +15 -0
- package/dist/forja/github/pedidos.js +200 -0
- package/dist/forja/gitlab/ci.js +141 -0
- package/dist/forja/gitlab/consultas.js +59 -0
- package/dist/forja/gitlab/dono-da-rede.js +43 -0
- package/dist/forja/gitlab/metadados.js +15 -0
- package/dist/forja/gitlab/pedidos-abertos.js +158 -0
- package/dist/forja/gitlab/pedidos.js +141 -0
- package/dist/forja/produtor.js +32 -0
- package/dist/forja/registro.js +31 -0
- package/dist/forja/resolver.js +121 -0
- package/dist/forja/texto.js +13 -0
- package/dist/forja/versao.js +71 -0
- package/dist/forja.js +123 -80
- package/dist/handoff.js +23 -13
- package/dist/hitl-contract.js +46 -43
- package/dist/hitl-curto.js +37 -25
- package/dist/hitl-gates.js +13 -11
- package/dist/hitl-local-receipt.js +51 -0
- package/dist/hitl-local.js +11 -2
- package/dist/hitl-lock.js +5 -11
- package/dist/hitl-public-receipt.js +11 -0
- package/dist/hitl-resumo.js +44 -1
- package/dist/hitl-sessions.js +62 -9
- package/dist/hitl-texto-livre.js +7 -4
- package/dist/hitl.js +34 -31
- package/dist/horario.js +20 -1
- package/dist/hosts.js +104 -134
- package/dist/index.js +864 -554
- package/dist/indice-vetorial.js +14 -12
- package/dist/init.js +11 -2
- package/dist/integracoes-locais.js +4 -0
- package/dist/intelligence-graph-cli.js +123 -69
- package/dist/intelligence-graph-query.js +37 -22
- package/dist/leases.js +19 -18
- package/dist/ledger-stats.js +17 -16
- package/dist/ledger.js +31 -1
- package/dist/licoes.js +12 -11
- package/dist/locale-accounts.js +228 -0
- package/dist/locale-adapter.js +291 -0
- package/dist/locale-ajuda.js +86 -10
- package/dist/locale-audit.js +199 -0
- package/dist/locale-claims.js +213 -0
- package/dist/locale-conducao.js +138 -0
- package/dist/locale-conhecimento.js +181 -0
- package/dist/locale-decisao.js +205 -0
- package/dist/locale-docs.js +230 -0
- package/dist/locale-estado.js +101 -0
- package/dist/locale-forja.js +288 -0
- package/dist/locale-gerados.js +5 -0
- package/dist/locale-grafo.js +129 -0
- package/dist/locale-master.js +83 -0
- package/dist/locale-network.js +524 -0
- package/dist/locale-operacao-restante.js +931 -0
- package/dist/locale-projetos.js +100 -0
- package/dist/locale-prompts.js +194 -0
- package/dist/locale-pulse.js +140 -2
- package/dist/locale-reservas.js +87 -0
- package/dist/locale-retry.js +183 -6
- package/dist/locale-security-scan.js +69 -0
- package/dist/locale-setup.js +192 -0
- package/dist/locale-ship.js +177 -66
- package/dist/locale-thread.js +149 -5
- package/dist/locale-verify.js +80 -4
- package/dist/locale-worktree.js +246 -0
- package/dist/locale.js +553 -9
- package/dist/maestro-runtime.js +22 -3
- package/dist/manifest.js +293 -12
- package/dist/maquina-ociosa.js +211 -0
- package/dist/maquina.js +10 -5
- package/dist/master-nota-local.js +200 -0
- package/dist/master-nota.js +10 -2
- package/dist/master.js +118 -41
- package/dist/mcp-conhecimento.js +52 -0
- package/dist/mcp-experiencia.js +26 -5
- package/dist/mcp-install.js +90 -15
- package/dist/mcp-noctum.js +101 -0
- package/dist/mcp-server.js +116 -22
- package/dist/mcp-ship-transporte.js +977 -0
- package/dist/mcp-ship.js +68 -24
- package/dist/mcp-transportes.js +17 -0
- package/dist/memoria.js +63 -58
- package/dist/merge-da-entrega.js +85 -0
- package/dist/modos-migracao.js +8 -6
- package/dist/modos.js +17 -18
- package/dist/network-roadmap.js +94 -54
- package/dist/noctum-aceite.js +929 -0
- package/dist/noctum-arco.js +540 -33
- package/dist/noctum-capacidade.js +3 -3
- package/dist/noctum-changelog.js +399 -0
- package/dist/noctum-cli.js +539 -0
- package/dist/noctum-coordenacao.js +1225 -0
- package/dist/noctum-entrega.js +1217 -0
- package/dist/noctum-envelope.js +253 -17
- package/dist/noctum-execucao.js +100 -24
- package/dist/noctum-fechamento.js +416 -0
- package/dist/noctum-fila.js +49 -10
- package/dist/noctum-guarda.js +333 -0
- package/dist/noctum-integracao.js +507 -0
- package/dist/noctum-maquinas.js +387 -0
- package/dist/noctum-medicao.js +450 -0
- package/dist/noctum-modo.js +390 -0
- package/dist/noctum-pergunta-canal.js +96 -0
- package/dist/noctum-pergunta.js +115 -0
- package/dist/noctum-provas.js +838 -0
- package/dist/noctum-reconciliacao.js +594 -0
- package/dist/noctum-rede.js +102 -0
- package/dist/noctum-registro.js +215 -0
- package/dist/noctum-relatorio.js +861 -0
- package/dist/noctum-resposta.js +207 -0
- package/dist/noctum-retomada-rede.js +71 -0
- package/dist/noctum-sessoes-em-voo.js +93 -0
- package/dist/noctum-supervisao.js +649 -0
- package/dist/noctum-terminal.js +459 -0
- package/dist/noctum-transporte.js +655 -0
- package/dist/noctum-vigia.js +679 -0
- package/dist/ocupacao.js +3 -1
- package/dist/onboarding.js +16 -5
- package/dist/orkmind.js +39 -23
- package/dist/orquestracao.js +31 -35
- package/dist/parado-no-condutor.js +160 -139
- package/dist/phase.js +96 -42
- package/dist/policies.js +33 -0
- package/dist/postura-local.js +11 -6
- package/dist/preflight.js +2 -1
- package/dist/procedencia.js +9 -14
- package/dist/projeto-alvo.js +59 -20
- package/dist/prompts.js +136 -42
- package/dist/prova-minima.js +5 -6
- package/dist/pulse-cadencia.js +5 -4
- package/dist/pulse-consentimento.js +53 -1
- package/dist/pulse-delivery.js +143 -27
- package/dist/pulse-resposta.js +368 -4
- package/dist/pulse.js +136 -3
- package/dist/ratelimit.js +13 -4
- package/dist/recall.js +14 -13
- package/dist/rede-adesao.js +13 -8
- package/dist/rede-forja.js +108 -24
- package/dist/rede-status.js +63 -45
- package/dist/rede.js +86 -46
- package/dist/retomada-checkpoint.js +101 -0
- package/dist/retry.js +326 -78
- package/dist/roadmap-reservas.js +32 -32
- package/dist/runtime-ambiente.js +5 -0
- package/dist/runtime-context.js +279 -85
- package/dist/runtime-escada.js +429 -0
- package/dist/runtime-profiles.js +130 -63
- package/dist/runtimes.js +42 -5
- package/dist/saida-segura.js +3 -2
- package/dist/security-scan/agil.js +366 -0
- package/dist/security-scan/cli.js +76 -0
- package/dist/security-scan/compare.js +149 -0
- package/dist/security-scan/config.js +93 -0
- package/dist/security-scan/detect.js +97 -0
- package/dist/security-scan/executor.js +196 -0
- package/dist/security-scan/guard.js +180 -0
- package/dist/security-scan/imagem-de-lint.js +96 -0
- package/dist/security-scan/normalize/actionlint.js +12 -0
- package/dist/security-scan/normalize/eslint.js +12 -0
- package/dist/security-scan/normalize/gitleaks.js +13 -0
- package/dist/security-scan/normalize/golangci-lint.js +13 -0
- package/dist/security-scan/normalize/govulncheck.js +36 -0
- package/dist/security-scan/normalize/index.js +25 -0
- package/dist/security-scan/normalize/npm-audit.js +30 -0
- package/dist/security-scan/normalize/osv-scanner.js +32 -0
- package/dist/security-scan/normalize/oxlint.js +51 -0
- package/dist/security-scan/normalize/pip-audit.js +16 -0
- package/dist/security-scan/normalize/ruff.js +12 -0
- package/dist/security-scan/normalize/semgrep.js +20 -0
- package/dist/security-scan/normalize/trivy.js +33 -0
- package/dist/security-scan/normalize/util.js +204 -0
- package/dist/security-scan/normalize/zizmor.js +19 -0
- package/dist/security-scan/report.js +156 -0
- package/dist/security-scan/run.js +448 -0
- package/dist/security-scan/tools.js +62 -0
- package/dist/security-scan/trabalhador.js +74 -0
- package/dist/security-scan/types.js +15 -0
- package/dist/session-events.js +19 -2
- package/dist/session-watcher-claude.js +74 -19
- package/dist/session-watcher-grok.js +425 -0
- package/dist/session-watcher.js +174 -13
- package/dist/sessoes-contas.js +42 -5
- package/dist/sessoes-inventario.js +1 -1
- package/dist/sessoes.js +25 -23
- package/dist/setup.js +67 -66
- package/dist/ship-publicar.js +263 -92
- package/dist/ship.js +160 -17
- package/dist/superficie.js +14 -11
- package/dist/thread-close.js +9 -9
- package/dist/thread.js +121 -18
- package/dist/tokens.js +15 -11
- package/dist/trabalho-thread.js +297 -0
- package/dist/transporte-do-canal.js +189 -0
- package/dist/types.js +12 -1
- package/dist/util.js +5 -2
- package/dist/varredura-acoes.js +500 -0
- package/dist/verify.js +491 -32
- package/dist/worktree-local.js +12 -10
- package/dist/worktree.js +81 -85
- package/eval/casos/check-quality.json +77 -0
- package/eval/casos/security-auditor.json +148 -0
- package/eval/casos/security-remediation.json +161 -0
- package/eval/fixtures/security-scan/README.md +8 -0
- package/eval/fixtures/security-scan/go/.github/workflows/ci.yml +12 -0
- package/eval/fixtures/security-scan/go/Dockerfile +4 -0
- package/eval/fixtures/security-scan/go/README.md +4 -0
- package/eval/fixtures/security-scan/go/config.go +4 -0
- package/eval/fixtures/security-scan/go/go.mod +5 -0
- package/eval/fixtures/security-scan/go/go.sum +2 -0
- package/eval/fixtures/security-scan/go/main.go +31 -0
- package/eval/fixtures/security-scan/js/.github/workflows/ci.yml +12 -0
- package/eval/fixtures/security-scan/js/Dockerfile +3 -0
- package/eval/fixtures/security-scan/js/README.md +4 -0
- package/eval/fixtures/security-scan/js/package-lock.json +844 -0
- package/eval/fixtures/security-scan/js/package.json +10 -0
- package/eval/fixtures/security-scan/js/src/config.js +4 -0
- package/eval/fixtures/security-scan/js/src/server.js +17 -0
- package/eval/fixtures/security-scan/js/src/util.ts +4 -0
- package/eval/fixtures/security-scan/js/tsconfig.json +4 -0
- package/eval/fixtures/security-scan/python/.github/workflows/ci.yml +12 -0
- package/eval/fixtures/security-scan/python/Dockerfile +3 -0
- package/eval/fixtures/security-scan/python/README.md +4 -0
- package/eval/fixtures/security-scan/python/app/__init__.py +0 -0
- package/eval/fixtures/security-scan/python/app/config.py +2 -0
- package/eval/fixtures/security-scan/python/app/main.py +19 -0
- package/eval/fixtures/security-scan/python/requirements.txt +1 -0
- package/package.json +10 -5
- package/references/security-checklist.md +3 -3
- package/skills/README.md +1 -0
- package/skills/core/orkastery-bootstrap/SKILL.md +2 -2
- package/skills/phases/check-quality/SKILL.md +16 -0
- package/skills/phases/go-implementation/SKILL.md +6 -0
- package/skills/phases/security-remediation/SKILL.md +70 -0
- package/skills/reviewers/security-auditor/SKILL.md +25 -0
package/dist/locale-retry.js
CHANGED
|
@@ -63,8 +63,9 @@ exports.RETRY_PT_BR = {
|
|
|
63
63
|
correcao: 'publique a candidata, aguarde o check obrigatório e repita o SHIP; se reprovou, corrija a causa registrada no runner',
|
|
64
64
|
},
|
|
65
65
|
'runtime.unavailable': {
|
|
66
|
-
porque: 'falha de infraestrutura no despacho nao e falha de conteudo: o MESMO prompt, com o mesmo sha256,
|
|
67
|
-
|
|
66
|
+
porque: 'falha de infraestrutura no despacho nao e falha de conteudo: o MESMO prompt, com o mesmo sha256, sobe a escada de recuperacao ' +
|
|
67
|
+
'(reerguer o daemon do runtime, o fallback do bloco, outro perfil) sem alterar uma virgula, e so depois dela o dono e chamado',
|
|
68
|
+
correcao: 'ork retry run <thread> sobe a escada com o prompt ja gravado em disco',
|
|
68
69
|
},
|
|
69
70
|
'runtime.silencio': {
|
|
70
71
|
porque: 'fase sem heartbeat: retomar o despacho original com hash conferido e limite de tentativas',
|
|
@@ -75,7 +76,7 @@ exports.RETRY_PT_BR = {
|
|
|
75
76
|
correcao: 'ork retry list mostra a fila; ork retry resume retoma o que ja liberou',
|
|
76
77
|
},
|
|
77
78
|
'runtime.quota-exhausted': {
|
|
78
|
-
porque: 'a cota ou os creditos da CONTA acabaram, nao a infraestrutura: o perfil sai do rodizio ate o prazo
|
|
79
|
+
porque: 'a cota ou os creditos da CONTA acabaram, nao a infraestrutura: o perfil sai do rodizio ate o prazo; o prompt original, se o intervalo ficou vazio, ou um checkpoint da producao parcial segue no proximo perfil, no runtime de fallback ou na fila ate o menor prazo',
|
|
79
80
|
correcao: 'ork accounts list mostra o perfil esgotado; ork retry run <thread> rotaciona o prompt ja gravado',
|
|
80
81
|
},
|
|
81
82
|
'runtime.auth-missing': {
|
|
@@ -144,6 +145,52 @@ exports.RETRY_PT_BR = {
|
|
|
144
145
|
coberturas: { completa: 'completa', parcial: 'parcial' },
|
|
145
146
|
fila: 'Fila de rate limit desta thread:',
|
|
146
147
|
pedidoNaFila: (id, fase, quando, estimada) => ` ${id} ${fase} libera em ${quando}${estimada ? ' (janela estimada)' : ''}`,
|
|
148
|
+
complementar: {
|
|
149
|
+
politicaTitulo: 'Politica de retry por motivo tipado de gate (bloco B3)',
|
|
150
|
+
colunasPolitica: ['MOTIVO TIPADO', 'ACAO DE RETRY', 'AUTOMATICA', 'POR QUE'],
|
|
151
|
+
sim: 'sim', nao: 'nao',
|
|
152
|
+
politicaFecho: [
|
|
153
|
+
'A politica e a MESMA em todos os modos: o modo afrouxa a pausa, nunca a',
|
|
154
|
+
'verificacao. cost.violation nunca recebe retry automatico, e o limite de',
|
|
155
|
+
'escalacao (retry.max_tentativas) pausa qualquer modo, inclusive #Auto.',
|
|
156
|
+
],
|
|
157
|
+
motivoDesconhecido: (motivo) => `motivo tipado desconhecido: ${motivo}`,
|
|
158
|
+
conhecidos: (lista) => ` conhecidos: ${lista}`,
|
|
159
|
+
motivo: (valor) => `motivo tipado: ${valor}`,
|
|
160
|
+
significado: (valor) => ` significado ${valor}`,
|
|
161
|
+
acao: (valor) => ` acao ${valor}`,
|
|
162
|
+
automatica: (valor) => ` automatica ${valor}`,
|
|
163
|
+
porque: (valor) => ` por que ${valor}`,
|
|
164
|
+
correcao: (valor) => ` correcao ${valor}`,
|
|
165
|
+
usoParse: 'uso: ork retry parse --stderr "<texto do stderr do adapter>"',
|
|
166
|
+
semSinal: 'Nenhum sinal de rate limit reconhecido neste texto.',
|
|
167
|
+
sinal: 'Sinal de rate limit reconhecido no stderr do runtime:',
|
|
168
|
+
fonte: (valor) => ` fonte da hora ${valor}`,
|
|
169
|
+
reset: (valor) => ` reset em ${valor}`,
|
|
170
|
+
semHora: '(o runtime nao disse a hora)',
|
|
171
|
+
trecho: (valor) => ` trecho ${valor}`,
|
|
172
|
+
estimada: [
|
|
173
|
+
' Sem hora no texto, a fila usa retry.janela_padrao_min do manifesto e marca',
|
|
174
|
+
' o pedido como janela ESTIMADA. O `ork` nao inventa horario de reset.',
|
|
175
|
+
],
|
|
176
|
+
proxima: (quando, falta) => `Proxima janela: ${quando} (${falta}).`,
|
|
177
|
+
retome: 'Retome com: ork retry resume',
|
|
178
|
+
usoCancel: 'uso: ork retry cancel <id> --motivo "<motivo>"',
|
|
179
|
+
cancelado: (id) => `Pedido ${id} cancelado na fila de rate limit.`,
|
|
180
|
+
thread: (valor) => ` thread ${valor}`, fase: (valor) => ` fase ${valor}`,
|
|
181
|
+
motivoLinha: (valor) => ` motivo ${valor}`,
|
|
182
|
+
desconhecido: (sub) => `subcomando desconhecido: retry ${sub}`,
|
|
183
|
+
filaVazia: 'Fila de rate limit vazia: nenhuma fase morreu por limite de uso neste projeto.',
|
|
184
|
+
colunasFila: ['ID', 'THREAD', 'FASE', 'ESTADO', 'LIBERA EM', 'ORIGEM DA HORA', 'FALTA', 'TENT'],
|
|
185
|
+
estados: { aguardando: 'aguardando', retomado: 'retomado', escalado: 'escalado', cancelado: 'cancelado' },
|
|
186
|
+
horaEstimada: (fonte) => `estimada (${fonte})`, horaRuntime: (fonte) => `dita pelo runtime (${fonte})`,
|
|
187
|
+
retomadaVazia: 'Nenhum pedido da fila de rate limit com a janela liberada agora.',
|
|
188
|
+
retomadaCabecalho: (id, thread, fase) => `${id} thread ${thread} fase ${fase}`,
|
|
189
|
+
playbook: (v) => ` playbook ${v}`, slug: (v) => ` slug ${v}`,
|
|
190
|
+
retomada: (sim, sessao) => ` retomada ${sim ? `sim (sessao ${sessao})` : 'nao'}`,
|
|
191
|
+
motivoRetomada: (v) => ` motivo ${v}`, detalhe: (v) => ` detalhe ${v}`,
|
|
192
|
+
estado: (v) => ` estado ${v}`,
|
|
193
|
+
},
|
|
147
194
|
// planejarRetry: a razao do plano (vai ao ledger)
|
|
148
195
|
semReprovacao: 'nenhum gate reprovado no ledger desta thread',
|
|
149
196
|
nadaARepetir: 'nao ha o que repetir: o ledger da thread nao tem reprovacao tipada pendente',
|
|
@@ -164,6 +211,24 @@ exports.RETRY_PT_BR = {
|
|
|
164
211
|
correcoesNaRodada: (n, rodada, veredito) => `${n} correcao(oes) na rodada ${rodada}` + (veredito !== null ? `; CHECK-REVERIFY: ${veredito}` : ''),
|
|
165
212
|
semDespachoFalho: (fase, thread) => `nao ha despacho falho registrado em ${fase} com prompt gravado: ` +
|
|
166
213
|
`rode a fase de novo com \`ork phase run ${thread} ${fase} --prompt "..."\``,
|
|
214
|
+
perfilPedidoRecusado: (id, runtime, motivo, detalhe) => `perfil pedido "${id}" (${runtime}) preservado, mas indisponivel por ${motivo}: ${detalhe}. ` +
|
|
215
|
+
'Nenhuma outra conta foi usada.',
|
|
216
|
+
correcaoDoPerfilPedido: (id, runtime, motivo, thread) => {
|
|
217
|
+
if (motivo === 'runtime.auth-missing')
|
|
218
|
+
return `refaca o login de assinatura do perfil "${id}" no ${runtime}, rode ` +
|
|
219
|
+
`\`ork accounts check ${id}\` e repita \`ork retry run ${thread}\``;
|
|
220
|
+
if (motivo === 'runtime.quota-exhausted')
|
|
221
|
+
return `aguarde o perfil "${id}" voltar a ativo em \`ork accounts list\` e ` +
|
|
222
|
+
`repita \`ork retry run ${thread}\`; para autorizar outra conta, rode a fase novamente sem \`--perfil\``;
|
|
223
|
+
if (motivo === 'runtime.profile-invalid')
|
|
224
|
+
return `rode \`ork accounts list\` e restaure o perfil "${id}" no runtime ${runtime}, ` +
|
|
225
|
+
'ou rode a fase novamente com um perfil valido ou sem `--perfil`';
|
|
226
|
+
if (motivo === 'cost.violation')
|
|
227
|
+
return `refaca o login de assinatura do perfil "${id}", rode ` +
|
|
228
|
+
`\`ork accounts check ${id}\` e repita \`ork retry run ${thread}\`; perfil de provider pago nunca despacha`;
|
|
229
|
+
return `confira o runtime ${runtime} e o perfil "${id}" com \`ork accounts check ${id}\`; depois repita ` +
|
|
230
|
+
`\`ork retry run ${thread}\``;
|
|
231
|
+
},
|
|
167
232
|
semConfianca: (motivo, cwd, thread) => `${motivo}: o runtime ainda nao confia em ${cwd}; nada foi despachado. ` +
|
|
168
233
|
`Rode \`cd ${cwd} && claude\`, aceite a confianca e repita \`ork retry run ${thread}\``,
|
|
169
234
|
/** RM-063 (F3): a sessao viva na thread; redespachar abriria a segunda na mesma worktree. */
|
|
@@ -200,6 +265,30 @@ exports.RETRY_PT_BR = {
|
|
|
200
265
|
ensaioDoRedespacho: 'ensaio (--dry-run): comando montado, nada despachado',
|
|
201
266
|
semSessionId: 'sem sessionId na saida do runtime',
|
|
202
267
|
redespachada: (sessao, sha, perfil, runtime) => `sessao ${sessao} despachada com o mesmo prompt sha256 ${sha}` + (perfil ? ` no perfil ${perfil} (${runtime})` : ''),
|
|
268
|
+
/** RM-063 (F4): a escada de recuperacao do runtime. Vai ao ledger em pt-BR; a impressao remonta no locale. */
|
|
269
|
+
escada: {
|
|
270
|
+
degraus: { 'reerguer-daemon': 'reerguer o daemon do runtime', 'fallback-do-bloco': 'o fallback do bloco',
|
|
271
|
+
'outro-perfil': 'outro perfil do runtime' },
|
|
272
|
+
pulos: { 'sem-fallback': 'o bloco nao tem fallback de runtime',
|
|
273
|
+
'adaptador-ausente': 'nenhum fallback tem adaptador instalado neste projeto',
|
|
274
|
+
'fallback-sem-destino': 'nenhum alvo do fallback do bloco tem perfil disponivel',
|
|
275
|
+
'sem-outro-perfil': 'o runtime nao tem outro perfil disponivel',
|
|
276
|
+
'cota-sem-sinal-tipado': 'o runtime ainda nao tipa a cota esgotada e fica fora da troca automatica de conta' },
|
|
277
|
+
resultados: { redespachada: 'redespachada', falhou: 'falhou', pulado: 'pulado', interrompido: 'interrompido' },
|
|
278
|
+
linhaDoDegrau: (n, tipo, resultado, motivo) => `degrau ${n} (${tipo}): ${resultado}${motivo ? ` (${motivo})` : ''}`,
|
|
279
|
+
noPlano: (n, tipo) => ` escada degrau ${n} de 3, ${tipo}`,
|
|
280
|
+
noPlanoEsgotada: ' escada os 3 degraus acabaram neste episodio',
|
|
281
|
+
esgotada: (resumo) => `a escada de recuperacao do runtime acabou sem sessao (${resumo}): ` +
|
|
282
|
+
'escalacao tipada pausa qualquer modo, inclusive #Auto',
|
|
283
|
+
correcao: (conferir, retomar) => `confira o runtime (${conferir}) e retome com o mesmo prompt: ${retomar}`,
|
|
284
|
+
proximo: (n, tipo) => `o mesmo prompt sobe a escada de recuperacao no degrau ${n}: ${tipo}`,
|
|
285
|
+
ensaio: (n, tipo, destino) => `ensaio: o degrau ${n} (${tipo}) mandaria o mesmo prompt a ${destino}`,
|
|
286
|
+
ensaioPulado: (n, tipo, pulo) => `ensaio: o degrau ${n} (${tipo}) seria pulado: ${pulo}`,
|
|
287
|
+
ensaioEsgotada: 'ensaio: nenhum degrau da escada tem destino agora; o dono seria chamado',
|
|
288
|
+
lancou: (erro) => `runtime.unavailable: o adaptador lancou no redespacho: ${erro}`,
|
|
289
|
+
semResposta: (vezes, detalhe) => `o runtime nao respondeu a prova de vida em ${vezes} tentativa(s) seguidas ` +
|
|
290
|
+
`(${detalhe}), mesmo depois de reerguer o daemon: sem a prova, nada foi redespachado`,
|
|
291
|
+
},
|
|
203
292
|
};
|
|
204
293
|
exports.RETRY_EN = {
|
|
205
294
|
politica: {
|
|
@@ -252,8 +341,10 @@ exports.RETRY_EN = {
|
|
|
252
341
|
correcao: 'publish the candidate, wait for the required check and run SHIP again; if it failed, fix the cause recorded on the runner',
|
|
253
342
|
},
|
|
254
343
|
'runtime.unavailable': {
|
|
255
|
-
porque: 'an infrastructure failure in the dispatch is not a content failure: the SAME prompt, with the same sha256,
|
|
256
|
-
|
|
344
|
+
porque: 'an infrastructure failure in the dispatch is not a content failure: the SAME prompt, with the same sha256, climbs the ' +
|
|
345
|
+
'recovery ladder (bring the runtime daemon back up, the block fallback, another profile) without changing a comma, and only ' +
|
|
346
|
+
'after it is the owner called',
|
|
347
|
+
correcao: '`ork retry run <thread>` climbs the ladder with the prompt already on disk',
|
|
257
348
|
},
|
|
258
349
|
'runtime.silencio': {
|
|
259
350
|
porque: 'phase with no heartbeat: resume the original dispatch with the hash checked and an attempt limit',
|
|
@@ -264,7 +355,7 @@ exports.RETRY_EN = {
|
|
|
264
355
|
correcao: '`ork retry list` shows the queue; `ork retry resume` resumes what is already released',
|
|
265
356
|
},
|
|
266
357
|
'runtime.quota-exhausted': {
|
|
267
|
-
porque: 'the ACCOUNT quota or credits ran out, not the infrastructure: the profile leaves the rotation until the deadline
|
|
358
|
+
porque: 'the ACCOUNT quota or credits ran out, not the infrastructure: the profile leaves the rotation until the deadline; the original prompt after an empty interval, or a checkpoint of partial production, goes on to the next profile, the fallback runtime or the queue until the earliest deadline',
|
|
268
359
|
correcao: '`ork accounts list` shows the exhausted profile; `ork retry run <thread>` rotates the prompt already written',
|
|
269
360
|
},
|
|
270
361
|
'runtime.auth-missing': {
|
|
@@ -330,6 +421,52 @@ exports.RETRY_EN = {
|
|
|
330
421
|
coberturas: { completa: 'full', parcial: 'partial' },
|
|
331
422
|
fila: 'Rate limit queue for this thread:',
|
|
332
423
|
pedidoNaFila: (id, fase, quando, estimada) => ` ${id} ${fase} released at ${quando}${estimada ? ' (estimated window)' : ''}`,
|
|
424
|
+
complementar: {
|
|
425
|
+
politicaTitulo: 'Retry policy by typed gate reason (block B3)',
|
|
426
|
+
colunasPolitica: ['TYPED REASON', 'RETRY ACTION', 'AUTOMATIC', 'WHY'],
|
|
427
|
+
sim: 'yes', nao: 'no',
|
|
428
|
+
politicaFecho: [
|
|
429
|
+
'The policy is the SAME in every mode: the mode loosens pauses, never',
|
|
430
|
+
'verification. cost.violation never gets an automatic retry, and the',
|
|
431
|
+
'escalation limit (retry.max_tentativas) pauses every mode, including #Auto.',
|
|
432
|
+
],
|
|
433
|
+
motivoDesconhecido: (reason) => `unknown typed reason: ${reason}`,
|
|
434
|
+
conhecidos: (list) => ` known: ${list}`,
|
|
435
|
+
motivo: (value) => `typed reason: ${value}`,
|
|
436
|
+
significado: (value) => ` meaning ${value}`,
|
|
437
|
+
acao: (value) => ` action ${value}`,
|
|
438
|
+
automatica: (value) => ` automatic ${value}`,
|
|
439
|
+
porque: (value) => ` why ${value}`,
|
|
440
|
+
correcao: (value) => ` fix ${value}`,
|
|
441
|
+
usoParse: 'usage: ork retry parse --stderr "<adapter stderr text>"',
|
|
442
|
+
semSinal: 'No rate-limit signal was recognized in this text.',
|
|
443
|
+
sinal: 'Rate-limit signal recognized in runtime stderr:',
|
|
444
|
+
fonte: (value) => ` time source ${value}`,
|
|
445
|
+
reset: (value) => ` reset at ${value}`,
|
|
446
|
+
semHora: '(the runtime did not provide a time)',
|
|
447
|
+
trecho: (value) => ` excerpt ${value}`,
|
|
448
|
+
estimada: [
|
|
449
|
+
' With no time in the text, the queue uses retry.janela_padrao_min from the manifest',
|
|
450
|
+
' and marks the request as an ESTIMATED window. `ork` does not invent a reset time.',
|
|
451
|
+
],
|
|
452
|
+
proxima: (when, remaining) => `Next window: ${when} (${remaining}).`,
|
|
453
|
+
retome: 'Resume with: ork retry resume',
|
|
454
|
+
usoCancel: 'usage: ork retry cancel <id> --motivo "<reason>"',
|
|
455
|
+
cancelado: (id) => `Request ${id} cancelled in the rate-limit queue.`,
|
|
456
|
+
thread: (value) => ` thread ${value}`, fase: (value) => ` phase ${value}`,
|
|
457
|
+
motivoLinha: (value) => ` reason ${value}`,
|
|
458
|
+
desconhecido: (sub) => `unknown subcommand: retry ${sub}`,
|
|
459
|
+
filaVazia: 'Rate-limit queue is empty: no phase died from a usage limit in this project.',
|
|
460
|
+
colunasFila: ['ID', 'THREAD', 'PHASE', 'STATE', 'RELEASES AT', 'TIME SOURCE', 'LEFT', 'TRY'],
|
|
461
|
+
estados: { aguardando: 'waiting', retomado: 'resumed', escalado: 'escalated', cancelado: 'cancelled' },
|
|
462
|
+
horaEstimada: (source) => `estimated (${source})`, horaRuntime: (source) => `reported by runtime (${source})`,
|
|
463
|
+
retomadaVazia: 'No rate-limit queue request has a released window now.',
|
|
464
|
+
retomadaCabecalho: (id, thread, phase) => `${id} thread ${thread} phase ${phase}`,
|
|
465
|
+
playbook: (v) => ` playbook ${v}`, slug: (v) => ` slug ${v}`,
|
|
466
|
+
retomada: (yes, session) => ` resumed ${yes ? `yes (session ${session})` : 'no'}`,
|
|
467
|
+
motivoRetomada: (v) => ` reason ${v}`, detalhe: (v) => ` detail ${v}`,
|
|
468
|
+
estado: (v) => ` state ${v}`,
|
|
469
|
+
},
|
|
333
470
|
semReprovacao: 'no failed gate in the ledger of this thread',
|
|
334
471
|
nadaARepetir: 'nothing to repeat: the thread ledger has no pending typed failure',
|
|
335
472
|
limiteDeEscalacao: (tentativas, motivo, fase, limite) => `${tentativas} automatic attempt(s) for ${motivo} in ${fase}, at the manifest limit of ${limite}: ` +
|
|
@@ -348,6 +485,24 @@ exports.RETRY_EN = {
|
|
|
348
485
|
correcoesNaRodada: (n, rodada, veredito) => `${n} fix(es) in round ${rodada}` + (veredito !== null ? `; CHECK-REVERIFY: ${veredito}` : ''),
|
|
349
486
|
semDespachoFalho: (fase, thread) => `no failed dispatch with a written prompt is recorded in ${fase}: ` +
|
|
350
487
|
`run the phase again with \`ork phase run ${thread} ${fase} --prompt "..."\``,
|
|
488
|
+
perfilPedidoRecusado: (id, runtime, motivo, detalhe) => `requested profile "${id}" (${runtime}) was preserved but is unavailable because of ${motivo}: ${detalhe}. ` +
|
|
489
|
+
'No other account was used.',
|
|
490
|
+
correcaoDoPerfilPedido: (id, runtime, motivo, thread) => {
|
|
491
|
+
if (motivo === 'runtime.auth-missing')
|
|
492
|
+
return `sign profile "${id}" back in to its ${runtime} subscription, run ` +
|
|
493
|
+
`\`ork accounts check ${id}\`, and repeat \`ork retry run ${thread}\``;
|
|
494
|
+
if (motivo === 'runtime.quota-exhausted')
|
|
495
|
+
return `wait until profile "${id}" is active again in \`ork accounts list\`, then ` +
|
|
496
|
+
`repeat \`ork retry run ${thread}\`; to authorize another account, run the phase again without \`--perfil\``;
|
|
497
|
+
if (motivo === 'runtime.profile-invalid')
|
|
498
|
+
return `run \`ork accounts list\` and restore profile "${id}" under runtime ${runtime}, ` +
|
|
499
|
+
'or run the phase again with a valid profile or without `--perfil`';
|
|
500
|
+
if (motivo === 'cost.violation')
|
|
501
|
+
return `sign profile "${id}" back in through the subscription, run ` +
|
|
502
|
+
`\`ork accounts check ${id}\`, and repeat \`ork retry run ${thread}\`; a paid-provider profile is never dispatched`;
|
|
503
|
+
return `check runtime ${runtime} and profile "${id}" with \`ork accounts check ${id}\`; then repeat ` +
|
|
504
|
+
`\`ork retry run ${thread}\``;
|
|
505
|
+
},
|
|
351
506
|
semConfianca: (motivo, cwd, thread) => `${motivo}: the runtime does not trust ${cwd} yet; nothing was dispatched. ` +
|
|
352
507
|
`Run \`cd ${cwd} && claude\`, accept the trust and repeat \`ork retry run ${thread}\``,
|
|
353
508
|
sessaoAindaViva: (sessao, thread) => `session ${sessao} is still working on the thread in the runtime; nothing was ` +
|
|
@@ -382,4 +537,26 @@ exports.RETRY_EN = {
|
|
|
382
537
|
ensaioDoRedespacho: 'dry run (--dry-run): command built, nothing dispatched',
|
|
383
538
|
semSessionId: 'no sessionId in the runtime output',
|
|
384
539
|
redespachada: (sessao, sha, perfil, runtime) => `session ${sessao} dispatched with the same prompt sha256 ${sha}` + (perfil ? ` on profile ${perfil} (${runtime})` : ''),
|
|
540
|
+
escada: {
|
|
541
|
+
degraus: { 'reerguer-daemon': 'bring the runtime daemon back up', 'fallback-do-bloco': 'the block fallback',
|
|
542
|
+
'outro-perfil': 'another runtime profile' },
|
|
543
|
+
pulos: { 'sem-fallback': 'the block has no runtime fallback', 'adaptador-ausente': 'no fallback has an adapter installed in this project',
|
|
544
|
+
'fallback-sem-destino': 'no target of the block fallback has an available profile',
|
|
545
|
+
'sem-outro-perfil': 'the runtime has no other available profile',
|
|
546
|
+
'cota-sem-sinal-tipado': 'the runtime does not type the exhausted quota yet and stays out of the automatic account switch' },
|
|
547
|
+
resultados: { redespachada: 'dispatched again', falhou: 'failed', pulado: 'skipped', interrompido: 'interrupted' },
|
|
548
|
+
linhaDoDegrau: (n, tipo, resultado, motivo) => `step ${n} (${tipo}): ${resultado}${motivo ? ` (${motivo})` : ''}`,
|
|
549
|
+
noPlano: (n, tipo) => ` ladder step ${n} of 3, ${tipo}`,
|
|
550
|
+
noPlanoEsgotada: ' ladder the 3 steps are spent in this episode',
|
|
551
|
+
esgotada: (resumo) => `the runtime recovery ladder ended with no session (${resumo}): ` +
|
|
552
|
+
'a typed escalation pauses any mode, #Auto included',
|
|
553
|
+
correcao: (conferir, retomar) => `check the runtime (${conferir}) and resume with the same prompt: ${retomar}`,
|
|
554
|
+
proximo: (n, tipo) => `the same prompt climbs the recovery ladder at step ${n}: ${tipo}`,
|
|
555
|
+
ensaio: (n, tipo, destino) => `dry run: step ${n} (${tipo}) would send the same prompt to ${destino}`,
|
|
556
|
+
ensaioPulado: (n, tipo, pulo) => `dry run: step ${n} (${tipo}) would be skipped: ${pulo}`,
|
|
557
|
+
ensaioEsgotada: 'dry run: no step of the ladder has a target now; the owner would be called',
|
|
558
|
+
lancou: (erro) => `runtime.unavailable: the adapter threw in the redispatch: ${erro}`,
|
|
559
|
+
semResposta: (vezes, detalhe) => `the runtime did not answer the liveness proof in ${vezes} attempt(s) in a row ` +
|
|
560
|
+
`(${detalhe}), even after bringing the daemon back up: without the proof, nothing was redispatched`,
|
|
561
|
+
},
|
|
385
562
|
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The `securityScan` family of the message catalog: `ork security-scan` output (stdout summary, `report.md`) and its
|
|
4
|
+
* usage error. pt-BR is the source; English is typed by it. No import from the core. Values that are data (tool names,
|
|
5
|
+
* states, reasons, rule ids, paths) are printed as recorded, in both languages.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.SECURITY_SCAN_EN = exports.SECURITY_SCAN_PT_BR = void 0;
|
|
9
|
+
exports.SECURITY_SCAN_PT_BR = {
|
|
10
|
+
usage: 'uso: ork security-scan [--base <ref>] [--json] [--check classic|agile]',
|
|
11
|
+
// RM-072 (D9): o modo da varredura aceita so os dois valores.
|
|
12
|
+
checkInvalido: (valor) => `--check inválido: ${valor === null ? '(sem valor)' : JSON.stringify(valor)} (aceitos: classic, agile)`,
|
|
13
|
+
unknownFlag: (flag) => `opção desconhecida: ${flag}`,
|
|
14
|
+
// report.md
|
|
15
|
+
title: 'Varredura de segurança',
|
|
16
|
+
headBase: (head, base) => `HEAD \`${head.slice(0, 12)}\`, base \`${base ? base.slice(0, 12) : '(não resolvida)'}\``,
|
|
17
|
+
generatedAt: (iso) => `Gerado em ${iso}`,
|
|
18
|
+
stacks: (list) => `Stacks: ${list}`,
|
|
19
|
+
noStacks: 'nenhuma detectada',
|
|
20
|
+
executionHeading: 'Execução',
|
|
21
|
+
tableTool: 'Ferramenta',
|
|
22
|
+
tableExecutor: 'Executado por',
|
|
23
|
+
tableState: 'Estado',
|
|
24
|
+
tableReason: 'Motivo',
|
|
25
|
+
noExecutor: 'nenhum',
|
|
26
|
+
states: { ran: 'executou', failed: 'falhou', unavailable: 'indisponível' },
|
|
27
|
+
noTools: 'Nenhuma ferramenta se aplica às stacks detectadas.',
|
|
28
|
+
countsHeading: 'Contagem',
|
|
29
|
+
counts: (n, existing, dismissed, loop) => `${n} novo(s), ${existing} existente(s), ${dismissed} dispensado(s); ${loop} no laço`,
|
|
30
|
+
newLoopHeading: 'Novos que entram no laço',
|
|
31
|
+
newWarnHeading: 'Novos em aviso',
|
|
32
|
+
none: 'nenhum',
|
|
33
|
+
existingTotal: (n) => `Existentes na base: ${n}`,
|
|
34
|
+
dismissedTotal: (n) => `Dispensados: ${n}`,
|
|
35
|
+
excludedHeading: 'Caminhos excluídos',
|
|
36
|
+
// stdout
|
|
37
|
+
summary: (n, existing, dismissed, loop) => `security-scan: ${n} novo(s), ${existing} existente(s), ${dismissed} dispensado(s); ${loop} no laço`,
|
|
38
|
+
notRun: (tool, state, reason) => ` ${tool}: ${state}${reason ? ` (${reason})` : ''}`,
|
|
39
|
+
notRunHeading: 'Ferramentas que não rodaram por completo:',
|
|
40
|
+
};
|
|
41
|
+
exports.SECURITY_SCAN_EN = {
|
|
42
|
+
usage: 'usage: ork security-scan [--base <ref>] [--json] [--check classic|agile]',
|
|
43
|
+
checkInvalido: (valor) => `invalid --check: ${valor === null ? '(no value)' : JSON.stringify(valor)} (accepted: classic, agile)`,
|
|
44
|
+
unknownFlag: (flag) => `unknown option: ${flag}`,
|
|
45
|
+
title: 'Security scan',
|
|
46
|
+
headBase: (head, base) => `HEAD \`${head.slice(0, 12)}\`, base \`${base ? base.slice(0, 12) : '(unresolved)'}\``,
|
|
47
|
+
generatedAt: (iso) => `Generated at ${iso}`,
|
|
48
|
+
stacks: (list) => `Stacks: ${list}`,
|
|
49
|
+
noStacks: 'none detected',
|
|
50
|
+
executionHeading: 'Execution',
|
|
51
|
+
tableTool: 'Tool',
|
|
52
|
+
tableExecutor: 'Executor',
|
|
53
|
+
tableState: 'State',
|
|
54
|
+
tableReason: 'Reason',
|
|
55
|
+
noExecutor: 'none',
|
|
56
|
+
states: { ran: 'ran', failed: 'failed', unavailable: 'unavailable' },
|
|
57
|
+
noTools: 'No tool applies to the detected stacks.',
|
|
58
|
+
countsHeading: 'Counts',
|
|
59
|
+
counts: (n, existing, dismissed, loop) => `${n} new, ${existing} existing, ${dismissed} dismissed; ${loop} in the loop`,
|
|
60
|
+
newLoopHeading: 'New findings that enter the loop',
|
|
61
|
+
newWarnHeading: 'New findings (warning)',
|
|
62
|
+
none: 'none',
|
|
63
|
+
existingTotal: (n) => `Existing on the base: ${n}`,
|
|
64
|
+
dismissedTotal: (n) => `Dismissed: ${n}`,
|
|
65
|
+
excludedHeading: 'Excluded paths',
|
|
66
|
+
summary: (n, existing, dismissed, loop) => `security-scan: ${n} new, ${existing} existing, ${dismissed} dismissed; ${loop} in the loop`,
|
|
67
|
+
notRun: (tool, state, reason) => ` ${tool}: ${state}${reason ? ` (${reason})` : ''}`,
|
|
68
|
+
notRunHeading: 'Tools that did not run to completion:',
|
|
69
|
+
};
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SETUP_EN = exports.SETUP_PT_BR = void 0;
|
|
4
|
+
/** RM-061 F3d: mensagens completas de `ork setup`, sem importar o núcleo. */
|
|
5
|
+
exports.SETUP_PT_BR = {
|
|
6
|
+
objeto: (campo) => `${campo} deve ser objeto`,
|
|
7
|
+
camposExatos: (campo, campos) => `${campo} deve conter somente ${campos}`,
|
|
8
|
+
fallbackInvalido: (item) => `fallback invalido: "${item}" (use runtime:modelo[:esforco], por exemplo codex:gpt-5.5)`,
|
|
9
|
+
fallbackDesconhecido: (runtime, homologados) => `fallback com runtime desconhecido: "${runtime}" (homologados: ${homologados})`,
|
|
10
|
+
fallbackRepetido: (runtime) => `fallback repete o runtime ${runtime} (o runtime do bloco e cada fallback aparecem uma vez)`,
|
|
11
|
+
limiteInvalido: (campo, positivo) => `limites.${campo} deve ser inteiro ${positivo ? 'positivo' : 'nao negativo'}, finito e representavel`,
|
|
12
|
+
blocoComLimites: 'bloco com limites exige runtime conhecido, model e effort explicitos validos',
|
|
13
|
+
contratoIncompativel: 'contrato de setup incompativel',
|
|
14
|
+
blocosArray: (modo) => `blocos de ${modo} devem ser array`,
|
|
15
|
+
limitesConhecidos: 'limites exigem contrato e bloco de modo conhecidos',
|
|
16
|
+
setupInvalido: (caminho, erro) => `setup invalido (${caminho}): ${erro}`,
|
|
17
|
+
versionadoExiste: (nome) => `setup.versionado: ${nome} ja existe neste checkout; edite com ork setup <modo> --bloco N`,
|
|
18
|
+
playbookModo: 'playbook ativo exige modo permitido valido',
|
|
19
|
+
playbookBlocos: (modo) => `playbook ativo exige todos os blocos de ${modo}`,
|
|
20
|
+
faseFora: (fase, modo) => `fase ${fase} fora do modo ${modo}`,
|
|
21
|
+
instante: (campo) => `${campo} deve ser instante inteiro nao negativo e representavel`,
|
|
22
|
+
identidadeTexto: (campo) => `identidade.${campo} deve ser texto nao vazio`,
|
|
23
|
+
identidadeModo: 'identidade de modo/bloco invalida',
|
|
24
|
+
identidadeFase: 'identidade do bloco diverge da fase selecionada',
|
|
25
|
+
herancaAmplia: (campo) => `heranca nao pode ampliar limites.${campo}`,
|
|
26
|
+
prazoVersao: 'versao de prazo incompativel',
|
|
27
|
+
identidadeDivergente: 'identidade da execucao divergente',
|
|
28
|
+
prazoInconsistente: 'origem/deadline do prazo inconsistente',
|
|
29
|
+
relogioRegressivo: 'relogio regressivo no prazo',
|
|
30
|
+
esperaComProcesso: 'espera exige ausencia comprovada de processos ativos',
|
|
31
|
+
atividadeDesconhecida: 'atividade de prazo desconhecida',
|
|
32
|
+
prazoExpirado: 'prazo expirado: heranca recusada',
|
|
33
|
+
prazoReduzido: 'prazo reduzido ja expirado',
|
|
34
|
+
blocoInexistente: (bloco, tag, total) => `bloco ${bloco} nao existe no modo ${tag}: ele tem ${total} bloco(s)`,
|
|
35
|
+
runtimeDesconhecido: (runtime, homologados) => `runtime desconhecido: "${runtime}" (homologados: ${homologados})`,
|
|
36
|
+
modeloComRuntime: 'setup.model.required: para mudar o runtime do bloco, informe --runtime e --model juntos; nenhuma configuracao foi gravada.',
|
|
37
|
+
modeloPendente: 'setup.model.required: modelo pendente neste bloco; informe --model antes de salvar.',
|
|
38
|
+
origem: {
|
|
39
|
+
versionado: (nome, local) => `Setup versionado em ${nome}: vale para todas as maquinas e muda por PR.` +
|
|
40
|
+
(local ? ' O .orkastery/setup.json local desta maquina fica ignorado.' : ''),
|
|
41
|
+
local: 'Setup local desta maquina (.orkastery/setup.json). Para valer em todas: ork setup versionar.',
|
|
42
|
+
padrao: 'Nenhum setup gravado: vale o default. Para valer em todas as maquinas: ork setup versionar.',
|
|
43
|
+
},
|
|
44
|
+
tabela: {
|
|
45
|
+
titulo: (tag, blocos, pausas) => `Setup do modo ${tag} (${blocos} bloco(s), ${pausas} pausa(s))`,
|
|
46
|
+
cabecalho: ['BLOCO', 'FASES', 'RUNTIME', 'MODEL', 'EFFORT', 'FALLBACK', 'ORIGEM'],
|
|
47
|
+
modeloPendente: '(modelo pendente)', default: 'default', customizado: 'customizado',
|
|
48
|
+
editar: (modo) => `Editar: ork setup ${modo} --bloco N --runtime R --model M --effort E`,
|
|
49
|
+
fallback: (modo) => `Fallback: ork setup ${modo} --bloco N --fallback runtime:modelo[:esforco],... (--fallback "" remove)`,
|
|
50
|
+
resetar: (modo, padrao) => `Resetar: ork setup ${modo} --reset (volta para ${padrao})`,
|
|
51
|
+
runtimes: (lista) => `Runtimes homologados: ${lista}`,
|
|
52
|
+
},
|
|
53
|
+
entrevista: {
|
|
54
|
+
titulo: 'Entrevista #setup: runtime + modelo + esforco por bloco de cada modo',
|
|
55
|
+
ordem: (tags) => `Ordem das perguntas: ${tags}.`,
|
|
56
|
+
termina1: 'A entrevista termina quando todos os modos forem cobertos OU quando o owner',
|
|
57
|
+
termina2: 'disser que concluiu: o que nao for respondido fica no default.',
|
|
58
|
+
default: (padrao, excecoes) => `Default pos-instalacao: ${padrao} em todos os blocos${excecoes}`,
|
|
59
|
+
excecoes: (itens) => `, menos ${itens}.`,
|
|
60
|
+
customizado: ' <- customizado',
|
|
61
|
+
modeloPendente: '(modelo pendente)',
|
|
62
|
+
bloco: (n, fases, config, marca) => ` bloco ${n}: ${fases} [${config}]${marca}`,
|
|
63
|
+
ver: 'Ver um modo: ork setup <modo>',
|
|
64
|
+
editar: 'Editar bloco: ork setup <modo> --bloco N --runtime R --model M --effort E',
|
|
65
|
+
resetar: 'Resetar tudo: ork setup --reset',
|
|
66
|
+
},
|
|
67
|
+
cli: {
|
|
68
|
+
versionado: (caminho) => `Setup versionado em ${caminho}.`,
|
|
69
|
+
levePorPr: ' Leve para o repositorio por PR: dali em diante ele vale em todas as maquinas, e ork setup <modo> --bloco N passa a editar este arquivo.',
|
|
70
|
+
worktreeConfirmada: (dir, raiz) => `Pasta das worktrees "${dir}" confirmada nesta maquina para ${raiz}.`,
|
|
71
|
+
worktreeGravada: (arquivo) => ` Gravada em .orkastery/private/${arquivo} (local, fora do git). Para desfazer: ork setup worktree revogar.`,
|
|
72
|
+
worktreeRevogada: 'Confirmacao local da pasta das worktrees revogada.',
|
|
73
|
+
worktreeNaoHavia: 'Nao havia confirmacao local da pasta das worktrees.',
|
|
74
|
+
worktreeSubcomando: (acao) => `subcomando desconhecido: setup worktree ${acao} (use confirmar [<dir>] ou revogar)`,
|
|
75
|
+
worktreeManifesto: (valor, dir, dentro) => `worktree.dir no orkastery.yaml: ${valor} (${dir}, ${dentro ? 'dentro' : 'fora'} da raiz)`,
|
|
76
|
+
confirmacaoLocal: (valor) => `confirmacao local desta maquina: ${valor}`,
|
|
77
|
+
nenhumaConfirmacao: (motivo) => `nenhuma (${motivo})`,
|
|
78
|
+
criacaoPermitida: 'criacao de worktree: permitida',
|
|
79
|
+
criacaoRecusada: (comando) => `criacao de worktree: recusada. ${comando}`,
|
|
80
|
+
sandboxUso: 'uso: ork setup sandbox confirmar <read-only|workspace-write|danger-full-access> [--por Q]',
|
|
81
|
+
sandboxConfirmada: (postura, raiz) => `Postura de sandbox "${postura}" confirmada nesta maquina para ${raiz}.`,
|
|
82
|
+
sandboxGravada: (caminho) => ` Gravada em ${caminho} (local, fora do git). Para desfazer: ork setup sandbox revogar.`,
|
|
83
|
+
sandboxRevogada: 'Confirmacao local da postura de sandbox revogada.',
|
|
84
|
+
sandboxNaoHavia: 'Nao havia confirmacao local de postura de sandbox.',
|
|
85
|
+
sandboxSubcomando: (acao) => `subcomando desconhecido: setup sandbox ${acao} (use confirmar <postura> ou revogar)`,
|
|
86
|
+
sandboxManifesto: (postura) => `runtime.sandbox no orkastery.yaml: ${postura}`,
|
|
87
|
+
despachoPermitido: 'despacho pelo codex: permitido',
|
|
88
|
+
despachoRecusado: (comando) => `despacho pelo codex: recusado. ${comando}`,
|
|
89
|
+
resetado: 'Setup resetado: todos os blocos de todos os modos voltaram ao default.',
|
|
90
|
+
modoDesconhecido: (modo, aceitos) => `modo de conducao desconhecido: "${modo}" (aceitos: ${aceitos})`,
|
|
91
|
+
modoResetado: (tag) => `Setup do modo ${tag} resetado para o default.`,
|
|
92
|
+
informeBloco: 'para editar, informe o bloco: ork setup <modo> --bloco N [--runtime R] [--model M] [--effort E] [--fallback R:M,...]',
|
|
93
|
+
nadaParaEditar: 'nada para editar: informe --runtime, --model, --effort e/ou --fallback junto de --bloco',
|
|
94
|
+
edicaoRecusada: (erro) => `edicao recusada: ${erro}`,
|
|
95
|
+
blocoAlterado: (bloco, tag, de, para) => `Bloco ${bloco} do modo ${tag}: ${de} -> ${para}`,
|
|
96
|
+
gravado: (caminho) => ` gravado em ${caminho}; evento setup_configured no ledger do projeto`,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
exports.SETUP_EN = {
|
|
100
|
+
objeto: (field) => `${field} must be an object`,
|
|
101
|
+
camposExatos: (field, fields) => `${field} must contain only ${fields}`,
|
|
102
|
+
fallbackInvalido: (item) => `invalid fallback: "${item}" (use runtime:model[:effort], for example codex:gpt-5.5)`,
|
|
103
|
+
fallbackDesconhecido: (runtime, allowed) => `fallback uses unknown runtime: "${runtime}" (supported: ${allowed})`,
|
|
104
|
+
fallbackRepetido: (runtime) => `fallback repeats runtime ${runtime} (the block runtime and each fallback may appear only once)`,
|
|
105
|
+
limiteInvalido: (field, positive) => `limites.${field} must be a ${positive ? 'positive' : 'non-negative'} finite representable integer`,
|
|
106
|
+
blocoComLimites: 'a block with limits requires a known runtime and explicit valid model and effort',
|
|
107
|
+
contratoIncompativel: 'incompatible setup contract',
|
|
108
|
+
blocosArray: (mode) => `${mode} blocks must be an array`,
|
|
109
|
+
limitesConhecidos: 'limits require a known contract, mode, and block',
|
|
110
|
+
setupInvalido: (path, error) => `invalid setup (${path}): ${error}`,
|
|
111
|
+
versionadoExiste: (name) => `setup.versionado: ${name} already exists in this checkout; edit it with ork setup <mode> --bloco N`,
|
|
112
|
+
playbookModo: 'an active playbook requires a valid allowed mode',
|
|
113
|
+
playbookBlocos: (mode) => `an active playbook requires every block of ${mode}`,
|
|
114
|
+
faseFora: (phase, mode) => `phase ${phase} is outside mode ${mode}`,
|
|
115
|
+
instante: (field) => `${field} must be a non-negative representable integer timestamp`,
|
|
116
|
+
identidadeTexto: (field) => `identidade.${field} must be non-empty text`,
|
|
117
|
+
identidadeModo: 'invalid mode/block identity',
|
|
118
|
+
identidadeFase: 'block identity does not match the selected phase',
|
|
119
|
+
herancaAmplia: (field) => `inheritance cannot increase limites.${field}`,
|
|
120
|
+
prazoVersao: 'incompatible deadline version',
|
|
121
|
+
identidadeDivergente: 'execution identity mismatch',
|
|
122
|
+
prazoInconsistente: 'inconsistent deadline origin or value',
|
|
123
|
+
relogioRegressivo: 'deadline clock moved backwards',
|
|
124
|
+
esperaComProcesso: 'waiting requires proven absence of active processes',
|
|
125
|
+
atividadeDesconhecida: 'unknown deadline activity',
|
|
126
|
+
prazoExpirado: 'deadline expired: inheritance refused',
|
|
127
|
+
prazoReduzido: 'shortened deadline has already expired',
|
|
128
|
+
blocoInexistente: (block, tag, total) => `block ${block} does not exist in mode ${tag}: it has ${total} block(s)`,
|
|
129
|
+
runtimeDesconhecido: (runtime, allowed) => `unknown runtime: "${runtime}" (supported: ${allowed})`,
|
|
130
|
+
modeloComRuntime: 'setup.model.required: to change the block runtime, provide --runtime and --model together; no configuration was written.',
|
|
131
|
+
modeloPendente: 'setup.model.required: this block has a pending model; provide --model before saving.',
|
|
132
|
+
origem: {
|
|
133
|
+
versionado: (name, local) => `Versioned setup in ${name}: it applies to every machine and changes through a PR.` +
|
|
134
|
+
(local ? ' This machine\'s local .orkastery/setup.json is ignored.' : ''),
|
|
135
|
+
local: 'Local setup for this machine (.orkastery/setup.json). To apply everywhere: ork setup versionar.',
|
|
136
|
+
padrao: 'No saved setup: the default applies. To apply everywhere: ork setup versionar.',
|
|
137
|
+
},
|
|
138
|
+
tabela: {
|
|
139
|
+
titulo: (tag, blocks, pauses) => `Setup for mode ${tag} (${blocks} block(s), ${pauses} pause(s))`,
|
|
140
|
+
cabecalho: ['BLOCK', 'PHASES', 'RUNTIME', 'MODEL', 'EFFORT', 'FALLBACK', 'ORIGIN'],
|
|
141
|
+
modeloPendente: '(model pending)', default: 'default', customizado: 'customized',
|
|
142
|
+
editar: (mode) => `Edit: ork setup ${mode} --bloco N --runtime R --model M --effort E`,
|
|
143
|
+
fallback: (mode) => `Fallback: ork setup ${mode} --bloco N --fallback runtime:model[:effort],... (--fallback "" removes it)`,
|
|
144
|
+
resetar: (mode, defaultValue) => `Reset: ork setup ${mode} --reset (returns to ${defaultValue})`,
|
|
145
|
+
runtimes: (list) => `Supported runtimes: ${list}`,
|
|
146
|
+
},
|
|
147
|
+
entrevista: {
|
|
148
|
+
titulo: '#setup interview: runtime + model + effort for each block of each mode',
|
|
149
|
+
ordem: (tags) => `Question order: ${tags}.`,
|
|
150
|
+
termina1: 'The interview ends after every mode is covered OR when the owner',
|
|
151
|
+
termina2: 'says it is complete: unanswered blocks keep their defaults.',
|
|
152
|
+
default: (defaultValue, exceptions) => `Post-install default: ${defaultValue} in every block${exceptions}`,
|
|
153
|
+
excecoes: (items) => `, except ${items}.`,
|
|
154
|
+
customizado: ' <- customized',
|
|
155
|
+
modeloPendente: '(model pending)',
|
|
156
|
+
bloco: (n, phases, config, mark) => ` block ${n}: ${phases} [${config}]${mark}`,
|
|
157
|
+
ver: 'View a mode: ork setup <mode>',
|
|
158
|
+
editar: 'Edit a block: ork setup <mode> --bloco N --runtime R --model M --effort E',
|
|
159
|
+
resetar: 'Reset all: ork setup --reset',
|
|
160
|
+
},
|
|
161
|
+
cli: {
|
|
162
|
+
versionado: (path) => `Setup versioned in ${path}.`,
|
|
163
|
+
levePorPr: ' Add it to the repository through a PR: from then on it applies to every machine, and ork setup <mode> --bloco N edits this file.',
|
|
164
|
+
worktreeConfirmada: (dir, root) => `Worktree folder "${dir}" confirmed on this machine for ${root}.`,
|
|
165
|
+
worktreeGravada: (file) => ` Saved in .orkastery/private/${file} (local, outside git). To undo: ork setup worktree revogar.`,
|
|
166
|
+
worktreeRevogada: 'Local worktree folder confirmation revoked.',
|
|
167
|
+
worktreeNaoHavia: 'There was no local worktree folder confirmation.',
|
|
168
|
+
worktreeSubcomando: (action) => `unknown subcommand: setup worktree ${action} (use confirmar [<dir>] or revogar)`,
|
|
169
|
+
worktreeManifesto: (value, dir, inside) => `worktree.dir in orkastery.yaml: ${value} (${dir}, ${inside ? 'inside' : 'outside'} the root)`,
|
|
170
|
+
confirmacaoLocal: (value) => `local confirmation on this machine: ${value}`,
|
|
171
|
+
nenhumaConfirmacao: (reason) => `none (${reason})`,
|
|
172
|
+
criacaoPermitida: 'worktree creation: allowed',
|
|
173
|
+
criacaoRecusada: (command) => `worktree creation: refused. ${command}`,
|
|
174
|
+
sandboxUso: 'usage: ork setup sandbox confirmar <read-only|workspace-write|danger-full-access> [--por Q]',
|
|
175
|
+
sandboxConfirmada: (posture, root) => `Sandbox posture "${posture}" confirmed on this machine for ${root}.`,
|
|
176
|
+
sandboxGravada: (path) => ` Saved in ${path} (local, outside git). To undo: ork setup sandbox revogar.`,
|
|
177
|
+
sandboxRevogada: 'Local sandbox posture confirmation revoked.',
|
|
178
|
+
sandboxNaoHavia: 'There was no local sandbox posture confirmation.',
|
|
179
|
+
sandboxSubcomando: (action) => `unknown subcommand: setup sandbox ${action} (use confirmar <posture> or revogar)`,
|
|
180
|
+
sandboxManifesto: (posture) => `runtime.sandbox in orkastery.yaml: ${posture}`,
|
|
181
|
+
despachoPermitido: 'codex dispatch: allowed',
|
|
182
|
+
despachoRecusado: (command) => `codex dispatch: refused. ${command}`,
|
|
183
|
+
resetado: 'Setup reset: every block in every mode returned to its default.',
|
|
184
|
+
modoDesconhecido: (mode, allowed) => `unknown conduction mode: "${mode}" (accepted: ${allowed})`,
|
|
185
|
+
modoResetado: (tag) => `Setup for mode ${tag} reset to its default.`,
|
|
186
|
+
informeBloco: 'to edit, provide the block: ork setup <mode> --bloco N [--runtime R] [--model M] [--effort E] [--fallback R:M,...]',
|
|
187
|
+
nadaParaEditar: 'nothing to edit: provide --runtime, --model, --effort, and/or --fallback together with --bloco',
|
|
188
|
+
edicaoRecusada: (error) => `edit refused: ${error}`,
|
|
189
|
+
blocoAlterado: (block, tag, from, to) => `Block ${block} of mode ${tag}: ${from} -> ${to}`,
|
|
190
|
+
gravado: (path) => ` saved in ${path}; setup_configured event recorded in the project ledger`,
|
|
191
|
+
},
|
|
192
|
+
};
|