@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/roadmap-reservas.js
CHANGED
|
@@ -195,11 +195,11 @@ function reservarFeat(raiz, opcoes = {}) {
|
|
|
195
195
|
for (let tentativa = 1; tentativa <= TENTATIVAS; tentativa++) {
|
|
196
196
|
const { ponta, atualizado } = buscar(raiz, remoto);
|
|
197
197
|
if (!atualizado)
|
|
198
|
-
throw new
|
|
198
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.semRemotoParaReservar(exports.BRANCH_DE_RESERVAS, remoto));
|
|
199
199
|
const feats = featsDaPonta(raiz, ponta);
|
|
200
200
|
const proximo = Math.max(maiorFeatConhecida(raiz, remoto), ...feats.map((r) => numeroDaFeat(r.feat))) + 1;
|
|
201
201
|
if (proximo > 999)
|
|
202
|
-
throw new
|
|
202
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.featsAcabaram);
|
|
203
203
|
const feat = `FEAT-${String(proximo).padStart(3, '0')}`;
|
|
204
204
|
const reserva = { contrato: exports.CONTRATO_FEAT, feat, por: eu.por, maquina: eu.maquina,
|
|
205
205
|
thread: opcoes.thread ?? null, nota: opcoes.nota ?? null, em: opcoes.agora ?? (0, util_1.agora)() };
|
|
@@ -210,7 +210,7 @@ function reservarFeat(raiz, opcoes = {}) {
|
|
|
210
210
|
if (commit)
|
|
211
211
|
return { feat, reserva, commit, tentativas: tentativa };
|
|
212
212
|
}
|
|
213
|
-
throw new
|
|
213
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.concorrencia(TENTATIVAS));
|
|
214
214
|
}
|
|
215
215
|
/** O `RESERVAS.md` da branch: a mesma lista, para quem abre o GitHub. */
|
|
216
216
|
function painelEmMarkdown(reservas, feats = []) {
|
|
@@ -243,14 +243,14 @@ function gravar(raiz, remoto, ponta, mudanca, todas, mensagem, rede = {}) {
|
|
|
243
243
|
function ehMinha(r, eu) {
|
|
244
244
|
return r.por === eu.por && r.maquina === eu.maquina;
|
|
245
245
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
246
|
+
/** RM-061 (F3b): a descricao no locale de quem a monta; o erro e o ledger a montam pelo catalogo. */
|
|
247
|
+
function descrever(r, m = (0, locale_1.msg)().reservas) {
|
|
248
|
+
return m.descricao(r.item, r.por, r.maquina, (0, horario_1.formatarDataHora)(r.desdeEm), r.thread ?? null);
|
|
249
249
|
}
|
|
250
250
|
function exigirMotivo(opcoes) {
|
|
251
251
|
const motivo = (opcoes.motivo ?? '').trim();
|
|
252
252
|
if (!motivo)
|
|
253
|
-
throw new
|
|
253
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.forcarSemMotivo);
|
|
254
254
|
return motivo;
|
|
255
255
|
}
|
|
256
256
|
/**
|
|
@@ -264,7 +264,7 @@ function pegarItem(raiz, item, opcoes = {}) {
|
|
|
264
264
|
for (let tentativa = 1; tentativa <= TENTATIVAS; tentativa++) {
|
|
265
265
|
const { ponta, atualizado } = buscar(raiz, remoto, opcoes.rede);
|
|
266
266
|
if (!atualizado)
|
|
267
|
-
throw new
|
|
267
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.semRemotoParaReservar(exports.BRANCH_DE_RESERVAS, remoto));
|
|
268
268
|
const todas = lerDaPonta(raiz, ponta);
|
|
269
269
|
const atual = todas.find((r) => r.item === id) ?? null;
|
|
270
270
|
if (opcoes.threadEsperada !== undefined && (atual?.thread ?? null) !== opcoes.threadEsperada) {
|
|
@@ -277,7 +277,7 @@ function pegarItem(raiz, item, opcoes = {}) {
|
|
|
277
277
|
acao = 'renovou';
|
|
278
278
|
else if (atual) {
|
|
279
279
|
if (!opcoes.forcar)
|
|
280
|
-
throw new
|
|
280
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.reservadoAoPegar(descrever(atual, m.reservas)));
|
|
281
281
|
tomadaDe = { por: atual.por, maquina: atual.maquina, motivo: exigirMotivo(opcoes) };
|
|
282
282
|
acao = 'tomou';
|
|
283
283
|
}
|
|
@@ -297,7 +297,7 @@ function pegarItem(raiz, item, opcoes = {}) {
|
|
|
297
297
|
if (commit)
|
|
298
298
|
return { acao, item: id, reserva, commit, tentativas: tentativa };
|
|
299
299
|
}
|
|
300
|
-
throw new
|
|
300
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.concorrencia(TENTATIVAS));
|
|
301
301
|
}
|
|
302
302
|
/** `ork roadmap soltar`: devolve o item. Soltar a reserva de outra maquina exige `--forcar --motivo`. */
|
|
303
303
|
function soltarItem(raiz, item, opcoes = {}) {
|
|
@@ -307,7 +307,7 @@ function soltarItem(raiz, item, opcoes = {}) {
|
|
|
307
307
|
for (let tentativa = 1; tentativa <= TENTATIVAS; tentativa++) {
|
|
308
308
|
const { ponta, atualizado } = buscar(raiz, remoto, opcoes.rede);
|
|
309
309
|
if (!atualizado)
|
|
310
|
-
throw new
|
|
310
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.semRemotoParaSoltar(exports.BRANCH_DE_RESERVAS, remoto));
|
|
311
311
|
const todas = lerDaPonta(raiz, ponta);
|
|
312
312
|
const atual = todas.find((r) => r.item === id);
|
|
313
313
|
if (!atual)
|
|
@@ -318,7 +318,7 @@ function soltarItem(raiz, item, opcoes = {}) {
|
|
|
318
318
|
let motivo = '';
|
|
319
319
|
if (!ehMinha(atual, eu)) {
|
|
320
320
|
if (!opcoes.forcar)
|
|
321
|
-
throw new
|
|
321
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.reservadoAoSoltar(descrever(atual, m.reservas)));
|
|
322
322
|
motivo = `: ${exigirMotivo(opcoes)}`;
|
|
323
323
|
}
|
|
324
324
|
const restantes = todas.filter((r) => r.item !== id);
|
|
@@ -327,7 +327,7 @@ function soltarItem(raiz, item, opcoes = {}) {
|
|
|
327
327
|
if (commit)
|
|
328
328
|
return { acao: 'soltou', item: id, reserva: atual, commit, tentativas: tentativa };
|
|
329
329
|
}
|
|
330
|
-
throw new
|
|
330
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.concorrencia(TENTATIVAS));
|
|
331
331
|
}
|
|
332
332
|
function threadsLocais(raiz) {
|
|
333
333
|
const threads = [];
|
|
@@ -367,10 +367,12 @@ function soltarOrfa(raiz, orfa, origem, opcoes) {
|
|
|
367
367
|
// A reserva mudou de dono no meio (ou ja tinha saido): nada foi gravado e nada vai ao ledger como soltura.
|
|
368
368
|
if (r.acao === 'nada') {
|
|
369
369
|
return { item, thread, acao: 'intocada', para: null, commit: null,
|
|
370
|
-
detalhe:
|
|
370
|
+
detalhe: (0, locale_1.textoDoCatalogo)((m) => m.reservas.mudouDeDono(item)) };
|
|
371
371
|
}
|
|
372
372
|
const acao = orfa.sucessora ? 'reapontada' : 'solta';
|
|
373
|
-
|
|
373
|
+
// RM-061 (F3b, G4): o detalhe vai ao ledger e ao --json em pt-BR; a impressao o remonta.
|
|
374
|
+
const sucessora = orfa.sucessora;
|
|
375
|
+
const detalhe = (0, locale_1.textoDoCatalogo)((m) => sucessora ? m.reservas.passouPara(item, sucessora) : m.reservas.devolvido(item));
|
|
374
376
|
// Sugestao 3 do CHECK 2: a soltura ja foi ao remoto; erro so no registro nao a transforma em pendencia.
|
|
375
377
|
try {
|
|
376
378
|
(0, ledger_1.registrarSeExiste)((0, thread_1.dirThread)(raiz, thread), thread, ledger_1.TIPOS_DE_EVENTO.reservaLiberada, { item, acao, para: orfa.sucessora, commit: r.commit, origem, detalhe });
|
|
@@ -418,7 +420,7 @@ function soltarReservaDaThread(raiz, threadId, opcoes = {}) {
|
|
|
418
420
|
return [pendenteDaThread(raiz, threadId, oItem, primeiraLinha(e))];
|
|
419
421
|
}
|
|
420
422
|
if (!painel.atualizado) {
|
|
421
|
-
return [pendenteDaThread(raiz, threadId, oItem,
|
|
423
|
+
return [pendenteDaThread(raiz, threadId, oItem, (0, locale_1.textoDoCatalogo)((m) => m.reservas.semLeituraPendente(exports.BRANCH_DE_RESERVAS, remoto)))];
|
|
422
424
|
}
|
|
423
425
|
const dela = painel.reservas.filter((r) => r.thread === threadId);
|
|
424
426
|
let orfas;
|
|
@@ -432,7 +434,7 @@ function soltarReservaDaThread(raiz, threadId, opcoes = {}) {
|
|
|
432
434
|
const saida = [];
|
|
433
435
|
// Sugestao 1 do CHECK 1: toda reserva da thread, nao so a primeira; a de outra maquina fica pendente.
|
|
434
436
|
for (const r of dela.filter((x) => !orfas.some((o) => o.reserva.item === x.item))) {
|
|
435
|
-
saida.push(pendenteDaThread(raiz, threadId, r.item,
|
|
437
|
+
saida.push(pendenteDaThread(raiz, threadId, r.item, (0, locale_1.textoDoCatalogo)((m) => m.reservas.soQuemPegou(descrever(r, m.reservas)))));
|
|
436
438
|
}
|
|
437
439
|
for (const orfa of orfas) {
|
|
438
440
|
try {
|
|
@@ -451,7 +453,7 @@ function soltarReservaDaThread(raiz, threadId, opcoes = {}) {
|
|
|
451
453
|
function soltarReservasOrfas(raiz, opcoes = {}) {
|
|
452
454
|
const painel = listarReservas(raiz, { remoto: opcoes.remoto, rede: opcoes.rede });
|
|
453
455
|
if (!painel.atualizado)
|
|
454
|
-
throw new
|
|
456
|
+
throw new locale_1.ErroDoCatalogo((m) => m.reservas.semRemotoParaOrfas(exports.BRANCH_DE_RESERVAS));
|
|
455
457
|
return reservasOrfas(raiz, painel.reservas, opcoes).map((orfa) => {
|
|
456
458
|
try {
|
|
457
459
|
return soltarOrfa(raiz, orfa, 'orfas', opcoes);
|
|
@@ -470,33 +472,31 @@ function leituraDasReservas(p, temRemoto) {
|
|
|
470
472
|
function textoDasReservas(p, orfas = [], lida = {}) {
|
|
471
473
|
const remoto = lida.remoto ?? exports.REMOTO_PADRAO;
|
|
472
474
|
const leitura = leituraDasReservas(p, lida.temRemoto !== false);
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
if (leitura === 'sem-copia')
|
|
478
|
-
return
|
|
479
|
-
}
|
|
475
|
+
// RM-061 (F3b): o painel no terminal pelo catalogo; item, pessoa, maquina, thread e nota sao dado.
|
|
476
|
+
const m = (0, locale_1.msg)().reservas;
|
|
477
|
+
if (leitura === 'sem-remoto')
|
|
478
|
+
return m.semRemoto(lida.projeto ?? null, remoto, exports.BRANCH_DE_RESERVAS);
|
|
479
|
+
if (leitura === 'sem-copia')
|
|
480
|
+
return m.semCopia(remoto, exports.BRANCH_DE_RESERVAS);
|
|
480
481
|
const linhas = [];
|
|
481
482
|
if (!p.atualizado)
|
|
482
|
-
linhas.push(
|
|
483
|
+
linhas.push(m.copiaLocal, '');
|
|
483
484
|
const feats = p.feats ?? [];
|
|
484
|
-
const numeros = feats.length === 0 ? [] : ['',
|
|
485
|
-
feats.slice(-5).map((f) => `${f.feat} (${f.thread ?? f.maquina})`).join(', ') + '. O próximo sai de: ork roadmap feat'];
|
|
485
|
+
const numeros = feats.length === 0 ? [] : ['', m.numerosDeFeat(feats.length, feats.slice(-5).map((f) => `${f.feat} (${f.thread ?? f.maquina})`).join(', '))];
|
|
486
486
|
if (p.reservas.length === 0) {
|
|
487
|
-
linhas.push(
|
|
487
|
+
linhas.push(m.nenhuma, ...numeros);
|
|
488
488
|
return linhas.join('\n');
|
|
489
489
|
}
|
|
490
|
-
linhas.push(
|
|
490
|
+
linhas.push(m.cabecalho);
|
|
491
491
|
const orfaDoItem = new Map(orfas.map((o) => [o.reserva.item, o]));
|
|
492
492
|
for (const r of p.reservas) {
|
|
493
493
|
const orfa = orfaDoItem.get(r.item);
|
|
494
|
-
const marca = orfa ?
|
|
494
|
+
const marca = orfa ? m.orfa(orfa.sucessora) : '';
|
|
495
495
|
linhas.push(`${r.item.padEnd(8)} ${r.por.slice(0, 19).padEnd(19)} ${r.maquina.slice(0, 15).padEnd(15)} ` +
|
|
496
496
|
`${(r.thread ?? '-').slice(0, 18).padEnd(18)} ${(0, horario_1.formatarDataHora)(r.desdeEm)}` + (r.nota ? ` ${r.nota}` : '') + marca);
|
|
497
497
|
}
|
|
498
498
|
if (orfas.length > 0)
|
|
499
|
-
linhas.push('',
|
|
499
|
+
linhas.push('', m.orfas(orfas.length));
|
|
500
500
|
linhas.push(...numeros, '', (0, horario_1.legendaDoFuso)());
|
|
501
501
|
return linhas.join('\n');
|
|
502
502
|
}
|
package/dist/runtime-ambiente.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ENV_THREAD_DO_DESPACHO = exports.ENV_IDENTIDADE_DE_DESPACHO = exports.ENVS_DE_PROVIDER_PAGO = void 0;
|
|
4
4
|
exports.nomesDeProviderAtivos = nomesDeProviderAtivos;
|
|
5
|
+
exports.sessaoDespachada = sessaoDespachada;
|
|
5
6
|
exports.ambienteDeAssinatura = ambienteDeAssinatura;
|
|
6
7
|
const hitl_public_receipt_1 = require("./hitl-public-receipt");
|
|
7
8
|
/**
|
|
@@ -27,6 +28,10 @@ function nomesDeProviderAtivos(base = process.env) {
|
|
|
27
28
|
*/
|
|
28
29
|
exports.ENV_IDENTIDADE_DE_DESPACHO = 'ORK_DISPATCH_ID';
|
|
29
30
|
exports.ENV_THREAD_DO_DESPACHO = 'ORK_DISPATCH_THREAD';
|
|
31
|
+
/** O processo roda numa sessao despachada pelo `ork`: a identidade ou a thread do despacho estao no ambiente. */
|
|
32
|
+
function sessaoDespachada(env = process.env) {
|
|
33
|
+
return (env[exports.ENV_IDENTIDADE_DE_DESPACHO] ?? '').trim() !== '' || (env[exports.ENV_THREAD_DO_DESPACHO] ?? '').trim() !== '';
|
|
34
|
+
}
|
|
30
35
|
/** Copia, sem alterar o ambiente em que as policies ainda precisam ser avaliadas. */
|
|
31
36
|
function ambienteDeAssinatura(base = process.env) {
|
|
32
37
|
const env = { ...base };
|