@orkastery/cli 0.5.6 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +118 -4
- 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/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 +16 -8
- 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 +500 -0
- package/dist/check-modo.js +41 -0
- package/dist/check-paralelo.js +183 -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 +84 -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 +81 -74
- package/dist/doctor-forja.js +345 -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 +143 -43
- 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 +13 -10
- 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 +16 -0
- package/dist/hosts.js +104 -134
- package/dist/index.js +848 -548
- package/dist/indice-vetorial.js +14 -12
- package/dist/init.js +11 -2
- package/dist/integracoes-locais.js +2 -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 +220 -0
- package/dist/locale-adapter.js +291 -0
- package/dist/locale-ajuda.js +76 -4
- 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 +290 -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 +145 -6
- package/dist/locale-security-scan.js +69 -0
- package/dist/locale-setup.js +192 -0
- package/dist/locale-ship.js +169 -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 +287 -11
- 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 +73 -8
- package/dist/mcp-noctum.js +101 -0
- package/dist/mcp-server.js +82 -14
- 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/modos-migracao.js +8 -6
- package/dist/modos.js +17 -18
- package/dist/network-roadmap.js +85 -49
- package/dist/noctum-aceite.js +789 -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 +482 -0
- package/dist/noctum-coordenacao.js +1225 -0
- package/dist/noctum-entrega.js +1169 -0
- package/dist/noctum-envelope.js +252 -16
- package/dist/noctum-execucao.js +95 -23
- package/dist/noctum-fechamento.js +405 -0
- package/dist/noctum-fila.js +43 -9
- package/dist/noctum-guarda.js +256 -0
- package/dist/noctum-integracao.js +507 -0
- package/dist/noctum-maquinas.js +383 -0
- package/dist/noctum-medicao.js +450 -0
- package/dist/noctum-modo.js +362 -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 +591 -0
- package/dist/noctum-registro.js +215 -0
- package/dist/noctum-relatorio.js +827 -0
- package/dist/noctum-resposta.js +207 -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 +639 -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 +146 -124
- package/dist/phase.js +53 -27
- package/dist/policies.js +33 -0
- package/dist/postura-local.js +4 -3
- 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 +12 -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 +228 -73
- package/dist/roadmap-reservas.js +32 -32
- package/dist/runtime-ambiente.js +5 -0
- package/dist/runtime-context.js +117 -43
- package/dist/runtime-escada.js +423 -0
- package/dist/runtime-profiles.js +103 -46
- package/dist/saida-segura.js +3 -2
- package/dist/security-scan/agil.js +355 -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 +188 -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.js +156 -10
- package/dist/sessoes-contas.js +9 -0
- package/dist/sessoes-inventario.js +1 -1
- package/dist/sessoes.js +25 -23
- package/dist/setup.js +59 -58
- 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 +507 -0
- package/dist/verify.js +472 -29
- 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 +9 -4
- 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/mcp-server.js
CHANGED
|
@@ -62,10 +62,13 @@ const network_roadmap_1 = require("./network-roadmap");
|
|
|
62
62
|
const rede_status_1 = require("./rede-status");
|
|
63
63
|
const hitl_sessions_1 = require("./hitl-sessions");
|
|
64
64
|
const hitl_local_1 = require("./hitl-local");
|
|
65
|
+
const master_nota_local_1 = require("./master-nota-local");
|
|
66
|
+
const entrega_por_mod_1 = require("./entrega-por-mod");
|
|
65
67
|
const mcp_artifacts_1 = require("./mcp-artifacts");
|
|
66
68
|
const mcp_git_1 = require("./mcp-git");
|
|
67
69
|
const preflight_1 = require("./preflight");
|
|
68
70
|
const modos_1 = require("./modos");
|
|
71
|
+
const mcp_noctum_1 = require("./mcp-noctum");
|
|
69
72
|
const versao_1 = require("./versao");
|
|
70
73
|
const mcp_verify_1 = require("./mcp-verify");
|
|
71
74
|
const conducao_1 = require("./conducao");
|
|
@@ -81,6 +84,8 @@ const mcp_maestro_1 = require("./mcp-maestro");
|
|
|
81
84
|
const projeto_alvo_1 = require("./projeto-alvo");
|
|
82
85
|
const mcp_experiencia_1 = require("./mcp-experiencia");
|
|
83
86
|
const mcp_grafo_1 = require("./mcp-grafo");
|
|
87
|
+
const mcp_conhecimento_1 = require("./mcp-conhecimento");
|
|
88
|
+
const locale_1 = require("./locale");
|
|
84
89
|
const identidade = zod_1.z.string().min(1).max(80).regex(/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/);
|
|
85
90
|
const daThread = zod_1.z.object({ threadId: identidade }).strict();
|
|
86
91
|
const daDecisao = daThread.extend({ pedidoId: identidade }).strict();
|
|
@@ -327,7 +332,7 @@ function criarServidorMcp(opcoes) {
|
|
|
327
332
|
.describe('Nome ou abbrev do projeto pedido; este servidor atende somente o projeto fixado na instalacao');
|
|
328
333
|
const ferramentas = new Map();
|
|
329
334
|
function registrarTool(nome, config, executar) {
|
|
330
|
-
if (opcoes.threadId && ['ork_thread_new', 'ork_phase_run', 'ork_request_decision', 'ork_preflight'].includes(nome))
|
|
335
|
+
if (opcoes.threadId && ['ork_thread_new', 'ork_phase_run', 'ork_request_decision', 'ork_request_master_note', 'ork_preflight'].includes(nome))
|
|
331
336
|
return;
|
|
332
337
|
const entrada = config.inputSchema.extend({ projeto: campoProjeto.optional() });
|
|
333
338
|
const schema = converterSchema(entrada, { $refStrategy: 'none' });
|
|
@@ -354,7 +359,11 @@ function criarServidorMcp(opcoes) {
|
|
|
354
359
|
return { ...resposta({ erro: e.message }), isError: true };
|
|
355
360
|
}
|
|
356
361
|
});
|
|
357
|
-
const
|
|
362
|
+
const conexaoLocal = (0, node_crypto_1.randomUUID)();
|
|
363
|
+
// RM-059 (F9, G3): a caixa de saida do Mensageiro de Sessoes so existe no servidor do dono do Claude Code, na memoria:
|
|
364
|
+
// a resposta a uma sessao claude-bg que entra pelo dialogo deste servidor sai por ela, e o texto nunca vai a disco.
|
|
365
|
+
const caixa = opcoes.host === 'claude-code' && !opcoes.threadId ? (0, entrega_por_mod_1.novaCaixaDeSaida)() : null;
|
|
366
|
+
const ingresso = (0, hitl_local_1.criarIngressoLocal)(raiz, { host: opcoes.host, connectionId: conexaoLocal }, async (pedido, signal) => {
|
|
358
367
|
carregar();
|
|
359
368
|
thread(pedido.thread);
|
|
360
369
|
// D12: pergunta nativa que aceita texto NAO vira menu. Um menu sobre pergunta aberta
|
|
@@ -376,11 +385,33 @@ function criarServidorMcp(opcoes) {
|
|
|
376
385
|
return { action: r.action };
|
|
377
386
|
const parsed = zod_1.z.object({ opcao: zod_1.z.string().min(1).max(limite) }).strict().parse(r.content);
|
|
378
387
|
return { action: 'accept', content: parsed };
|
|
379
|
-
});
|
|
380
|
-
|
|
388
|
+
}, { caixa });
|
|
389
|
+
// RM-059 (fatia F8, T8.1): a nota do MASTER pelo mesmo ingresso local. O formulario e fixo (a nota de 0 a 5 e o
|
|
390
|
+
// porque); sem a capacidade de formulario no cliente, a recusa vem antes de qualquer escrita.
|
|
391
|
+
const ingressoDaNota = (0, master_nota_local_1.criarIngressoDaNota)(raiz, { host: opcoes.host, connectionId: conexaoLocal }, async (apresentacao, signal) => {
|
|
392
|
+
carregar();
|
|
393
|
+
thread(apresentacao.thread);
|
|
394
|
+
const r = await server.elicitInput({ mode: 'form', message: apresentacao.mensagem,
|
|
395
|
+
requestedSchema: apresentacao.esquema }, { signal, timeout: 300000 });
|
|
396
|
+
return r.action === 'accept' ? { action: 'accept', content: r.content } : { action: r.action };
|
|
397
|
+
}, () => Boolean(server.getClientCapabilities()?.elicitation?.form));
|
|
398
|
+
server.onclose = () => { ingresso.fechar(); ingressoDaNota.fechar(); };
|
|
381
399
|
(0, company_brain_mcp_1.registerBrainTools)(registrarTool, carregar, thread, opcoes.brainWrites ?? []);
|
|
382
400
|
(0, mcp_experiencia_1.registrarConsultasExperiencia)(registrarTool, { raiz, carregar, transporte: opcoes.transporteShip ?? 'github-ssh' });
|
|
401
|
+
// RM-026 K7 (fatia 2): o conhecimento escrito, só leitura, do projeto fixado; também na sessão filha vinculada.
|
|
402
|
+
(0, mcp_conhecimento_1.registrarConsultasDoConhecimento)(registrarTool, carregar);
|
|
383
403
|
(0, mcp_maestro_1.registerMaestro)(registrarTool, { root: raiz, threadId: opcoes.threadId, load: carregar, checkThread: thread, tools: () => [...ferramentas.keys()] });
|
|
404
|
+
// RM-058 N6 (D12): o arco #Noctum no host do dono, com o dialogo nativo deste servidor; nunca na sessao de fase.
|
|
405
|
+
if (!opcoes.threadId)
|
|
406
|
+
(0, mcp_noctum_1.registrarFerramentasDoNoctum)(registrarTool, { raiz, carregar, host: opcoes.host, conexao: conexaoLocal,
|
|
407
|
+
elicitar: async (a, signal) => {
|
|
408
|
+
// RM-057 (resposta curta, D7 da ork-rm057respost): a pergunta no contrato curto e o envelope inteiro abaixo dela.
|
|
409
|
+
const r = await server.elicitInput({ mode: 'form', message: a.mensagem,
|
|
410
|
+
requestedSchema: { type: 'object', properties: { opcao: { type: 'string', title: 'Sua decisão', oneOf: a.opcoes.map(x => ({ const: x, title: x })) } },
|
|
411
|
+
required: ['opcao'] } }, { signal, timeout: 300000 });
|
|
412
|
+
return r.action === 'accept' ? { action: 'accept', content: r.content } : { action: r.action };
|
|
413
|
+
},
|
|
414
|
+
temFormulario: () => Boolean(server.getClientCapabilities()?.elicitation?.form) });
|
|
384
415
|
registrarTool('ork_preflight', { description: 'Preflight contextual por modo e bloco, sem inventário global/modelos. Não autoriza despacho nem comprova entrega.',
|
|
385
416
|
inputSchema: zod_1.z.object({ modo: modoDeConducao }).strict(), annotations: { readOnlyHint: true } }, async ({ modo }) => {
|
|
386
417
|
carregar();
|
|
@@ -454,15 +485,18 @@ function criarServidorMcp(opcoes) {
|
|
|
454
485
|
annotations: { readOnlyHint: false, destructiveHint: false } }, async ({ threadId, ...e }) => {
|
|
455
486
|
thread(threadId);
|
|
456
487
|
livre(threadId);
|
|
457
|
-
|
|
458
|
-
if (/^\s*(?:o\s+|a\s+)?(?:dono|owner|builder|maestro)\b/i.test(e.quemDecidiu))
|
|
459
|
-
throw Error('mcp.decision.author: quemDecidiu e a sessao que decidiu, nunca o dono');
|
|
488
|
+
const locale = (0, locale_1.resolverLocale)(carregar().manifesto.owner?.language).locale;
|
|
460
489
|
let registro;
|
|
461
490
|
try {
|
|
462
|
-
registro = (0,
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
491
|
+
registro = (0, locale_1.comLocale)(locale, () => {
|
|
492
|
+
// A sessao decide por ela: o rastro nao pode nascer assinado em nome do dono.
|
|
493
|
+
if (/^\s*(?:o\s+|a\s+)?(?:dono|owner|builder|maestro)\b/i.test(e.quemDecidiu))
|
|
494
|
+
throw new locale_1.ErroDoCatalogo((m) => m.decisao.autorMcp);
|
|
495
|
+
return (0, decisao_autonoma_1.registrarDecisao)(raiz, threadId, { decidido: e.decidido, porque: e.porque, comoMudar: e.comoMudar,
|
|
496
|
+
custoDeReverter: { agora: e.custoAgora, depois: e.custoDepois }, criterio: e.criterio, quemDecidiu: e.quemDecidiu,
|
|
497
|
+
evidencia: e.evidencia, ...(e.razao ? { razao: e.razao } : {}), ...(e.reverte ? { reverte: e.reverte } : {}), origem: 'mcp', host: opcoes.host,
|
|
498
|
+
despacho: opcoes.dispatchId ?? null });
|
|
499
|
+
});
|
|
466
500
|
}
|
|
467
501
|
catch (erro) {
|
|
468
502
|
throw Error((0, hitl_contract_1.recusaNaSuperficie)(erro.message, hitl_contract_1.CAMPOS_DA_DECISAO_NO_MCP));
|
|
@@ -507,9 +541,11 @@ function criarServidorMcp(opcoes) {
|
|
|
507
541
|
*/
|
|
508
542
|
registrarTool('ork_network_roadmap', { description: 'Roadmap da rede do projeto servido, somente leitura: o status report do roadmap (RM-048) com as threads de TODAS as maquinas, as reservas, as threads por maquina com a idade da batida, a fonte e a hora de cada parte e as lacunas tipadas. E a fonte do status do roadmap: transporte o texto como vem, sem reescrever nem resumir. Lacuna e "Nao consultado" sao o que nao foi lido: nunca conclua "roadmap vazio" nem "nenhuma maquina publicou" a partir deles. Este servidor le so o projeto fixado; os outros projetos vem do CLI ork network roadmap.',
|
|
509
543
|
inputSchema: zod_1.z.object({}).strict(), annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true } }, async () => {
|
|
510
|
-
carregar();
|
|
511
|
-
|
|
512
|
-
|
|
544
|
+
const c = carregar();
|
|
545
|
+
// O panorama devolvido continua no contrato pt-BR; somente o texto humano segue o dono.
|
|
546
|
+
const panorama = (0, locale_1.comLocale)('pt-BR', () => (0, network_roadmap_1.montarPanoramaDaRede)({ fixado: raiz }));
|
|
547
|
+
const locale = (0, locale_1.resolverLocale)(c.manifesto.owner?.language).locale;
|
|
548
|
+
return resposta({ texto: (0, locale_1.comLocale)(locale, () => (0, network_roadmap_1.textoDoPanoramaDaRede)(panorama)), panorama });
|
|
513
549
|
});
|
|
514
550
|
/**
|
|
515
551
|
* RM-054 (fatia 3): as maquinas da pessoa (RM-053, `ork.rede-status/v1`), com a fonte, a batida e as
|
|
@@ -564,6 +600,38 @@ function criarServidorMcp(opcoes) {
|
|
|
564
600
|
thread(threadId);
|
|
565
601
|
return resposta(await ingresso.solicitar(threadId, pedidoId, extra.signal));
|
|
566
602
|
});
|
|
603
|
+
registrarTool('ork_request_master_note', { description: 'Pede ao dono, pelo dialogo nativo do host, a nota de 0 a 5 e o porque de uma entrega. Somente o threadId; nunca forneca nota nem porque nos argumentos.',
|
|
604
|
+
inputSchema: daThread, annotations: { readOnlyHint: false, destructiveHint: false } }, async ({ threadId }, extra) => {
|
|
605
|
+
thread(threadId);
|
|
606
|
+
return resposta(await ingressoDaNota.solicitar(threadId, extra.signal));
|
|
607
|
+
});
|
|
608
|
+
// RM-059 (F9, T9.1): o Mensageiro de Sessoes nas duas pontas. Nenhuma das duas entra no --allowedTools do modelo (D8):
|
|
609
|
+
// quem chama e o mod ork-mensageiro, e nenhuma responde, aprova ou abre pedido.
|
|
610
|
+
if (caixa)
|
|
611
|
+
registrarTool('ork_session_outbox', { description: 'Caixa de saida do Mensageiro de Sessoes nesta sessao do dono: lista as respostas do dono que esperam ir a uma sessao de fase claude-bg (listar marca o Mensageiro vivo) e anota o resultado do envio. Nao responde, nao aprova nem abre pedido.',
|
|
612
|
+
inputSchema: zod_1.z.object({ operacao: zod_1.z.enum(['listar', 'enviada']), threadId: identidade.optional(), envioId: zod_1.z.string().uuid().optional(),
|
|
613
|
+
entregue: zod_1.z.boolean().optional(), motivo: zod_1.z.string().max(1000).optional() }).strict(),
|
|
614
|
+
annotations: { readOnlyHint: false, destructiveHint: false } }, async (args) => {
|
|
615
|
+
if (args.operacao === 'listar') {
|
|
616
|
+
carregar();
|
|
617
|
+
return resposta({ contrato: entrega_por_mod_1.CONTRATO_DA_ENTREGA, entregas: caixa.listar(raiz) });
|
|
618
|
+
}
|
|
619
|
+
if (!args.threadId || !args.envioId || args.entregue === undefined)
|
|
620
|
+
throw Error('mcp.outbox.args: enviada exige threadId, envioId e entregue');
|
|
621
|
+
thread(args.threadId);
|
|
622
|
+
return resposta({ contrato: entrega_por_mod_1.CONTRATO_DA_ENTREGA, entrega: caixa.anotarEnvio(raiz, args.threadId, args.envioId, args.entregue, args.motivo) });
|
|
623
|
+
});
|
|
624
|
+
if (opcoes.threadId && opcoes.dispatchId) {
|
|
625
|
+
const despacho = opcoes.dispatchId;
|
|
626
|
+
registrarTool('ork_session_inbox', { description: 'Lado receptor do Mensageiro de Sessoes na sessao de fase deste despacho: confere e reserva uma vez a resposta do dono que chegou de outra sessao (conferir, com o prazo ate) e, depois de ela entrar na fila, grava o recibo (confirmar). A sessao sai do despacho deste servidor, nunca de argumento. Nao responde nem aprova pedido.',
|
|
627
|
+
inputSchema: daThread.extend({ operacao: zod_1.z.enum(['conferir', 'confirmar']), texto: zod_1.z.string().max(entrega_por_mod_1.LIMITE_DA_MENSAGEM),
|
|
628
|
+
envioId: zod_1.z.string().uuid().optional(), ate: zod_1.z.string().max(40).optional() }).strict(),
|
|
629
|
+
annotations: { readOnlyHint: false, destructiveHint: false } }, async ({ threadId, operacao, texto, envioId, ate }) => {
|
|
630
|
+
thread(threadId);
|
|
631
|
+
return resposta(operacao === 'conferir' ? (0, entrega_por_mod_1.conferirNoReceptor)(raiz, threadId, despacho, texto, ate)
|
|
632
|
+
: (0, entrega_por_mod_1.confirmarNoReceptor)(raiz, threadId, despacho, envioId, texto));
|
|
633
|
+
});
|
|
634
|
+
}
|
|
567
635
|
// RM-031 KG5 (D2): as tools do grafo so existem com a flag do manifesto da raiz no startup; sem ela, nada muda.
|
|
568
636
|
// CHECK rodada 1 (S8): o startup le so o manifesto, como antes; as conferencias de estado ficam na chamada.
|
|
569
637
|
if ((0, mcp_grafo_1.grafoLigado)((0, manifest_1.exigirManifesto)(raiz).manifesto))
|